oauth2 state of mind
This commit is contained in:
@@ -37,7 +37,7 @@ class CatalogItemFactory implements AbstractFactory {
|
||||
if (special) { return; } // T
|
||||
var s = SearchConstants.get();
|
||||
AppRouter.catalog.go(context, {});
|
||||
Future.delayed(Duration(milliseconds: 10), () {
|
||||
Future.delayed(const Duration(milliseconds: 10), () {
|
||||
SearchConstants.set(s);
|
||||
CatalogFactory().search(context, false);
|
||||
});
|
||||
|
||||
@@ -12,12 +12,15 @@ import 'package:oc_front/models/resources/processing.dart';
|
||||
import 'package:oc_front/models/resources/resources.dart';
|
||||
import 'package:oc_front/models/resources/storage.dart';
|
||||
import 'package:oc_front/models/resources/workflow.dart';
|
||||
import 'package:oc_front/models/resources/workflow_event.dart';
|
||||
import 'package:oc_front/models/response.dart';
|
||||
import 'package:oc_front/models/workflow.dart';
|
||||
import 'package:oc_front/pages/abstract_page.dart';
|
||||
import 'package:oc_front/pages/shared.dart';
|
||||
import 'package:flutter_svg/flutter_svg.dart';
|
||||
import 'package:oc_front/widgets/dialog/shallow_creation.dart';
|
||||
import 'package:oc_front/widgets/forms/resource_forms.dart';
|
||||
import 'package:oc_front/widgets/forms/workflow_event_forms.dart';
|
||||
import 'package:oc_front/widgets/forms/scheduler_forms.dart';
|
||||
import 'package:oc_front/widgets/forms/storage_processing_link_forms.dart';
|
||||
import 'package:oc_front/widgets/items/item_row.dart';
|
||||
@@ -52,9 +55,15 @@ class WorkflowPageWidgetState extends State<WorkflowPageWidget> {
|
||||
final WorflowService _service = WorflowService();
|
||||
Widget itemBuild(Object item) {
|
||||
var e = item as AbstractItem;
|
||||
if (e is WorkflowEventItem) {
|
||||
return Tooltip(
|
||||
message: e.name ?? "Event",
|
||||
child: SvgPicture.asset('assets/images/workflow_event.svg', fit: BoxFit.contain),
|
||||
);
|
||||
}
|
||||
return Tooltip( message: item.name ?? "",
|
||||
child: e.logo != null ? Image.network(e.logo ?? "", fit: BoxFit.fill)
|
||||
: Image.network('https://get-picto.com/wp-content/uploads/2024/01/logo-instagram-png.webp',
|
||||
child: e.logo != null ? Image.network(e.logo ?? "", fit: BoxFit.fill)
|
||||
: Image.network('https://get-picto.com/wp-content/uploads/2024/01/logo-instagram-png.webp',
|
||||
fit: BoxFit.fill));
|
||||
}
|
||||
Widget itemTooltipBuild(Object item) {
|
||||
@@ -75,8 +84,13 @@ final WorflowService _service = WorflowService();
|
||||
List<Widget> getForms(FlowData? obj, String id) {
|
||||
var objAbs = obj as AbstractItem?;
|
||||
if (objAbs == null) { return []; }
|
||||
List<Widget> res = [ ResourceFormsWidget(item: objAbs, dash: dash, elementID: id) ];
|
||||
return [ Wrap(
|
||||
List<Widget> res;
|
||||
if (objAbs is WorkflowEventItem) {
|
||||
res = [ WorkflowEventFormsWidget(item: objAbs, dash: dash, elementID: id) ];
|
||||
} else {
|
||||
res = [ ResourceFormsWidget(item: objAbs, dash: dash, elementID: id) ];
|
||||
}
|
||||
return [ Wrap(
|
||||
alignment: WrapAlignment.center,
|
||||
children: [
|
||||
Container( padding: const EdgeInsets.all(10), width: 250, height: 60,
|
||||
@@ -84,7 +98,7 @@ final WorflowService _service = WorflowService();
|
||||
child: const Column( mainAxisAlignment: MainAxisAlignment.center, children: [
|
||||
Text("ELEMENT INFO", style: TextStyle(fontSize: 15, fontWeight: FontWeight.bold), textAlign: TextAlign.center),
|
||||
Text("<general>", style: TextStyle(fontSize: 12), textAlign: TextAlign.center),
|
||||
])),
|
||||
])),
|
||||
...res
|
||||
]) ];
|
||||
}
|
||||
@@ -124,6 +138,8 @@ final WorflowService _service = WorflowService();
|
||||
return const Icon(FontAwesomeIcons.microchip, size: 16);
|
||||
} else if (objAbs.topic == "workflows" ) {
|
||||
return const Icon(FontAwesomeIcons.diagramProject, size: 16);
|
||||
} else if (objAbs.topic == "event" ) {
|
||||
return const Icon(FontAwesomeIcons.bolt, size: 16);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
@@ -167,6 +183,7 @@ final WorflowService _service = WorflowService();
|
||||
var storage = dash.elements.where( (e) => e.element?.serialize()["type"] == "storage");
|
||||
var processing = dash.elements.where( (e) => e.element?.serialize()["type"] == "processing");
|
||||
var workflows = dash.elements.where( (e) => e.element?.serialize()["type"] == "workflow");
|
||||
var events = dash.elements.where( (e) => e.element?.serialize()["type"] == "event");
|
||||
var updateW = Workflow(
|
||||
name: dash.name,
|
||||
graph: Graph(),
|
||||
@@ -175,6 +192,7 @@ final WorflowService _service = WorflowService();
|
||||
storage: storage.map((e) => e.element?.getID()).toSet().toList(),
|
||||
processing: processing.map((e) => e.element?.getID()).toSet().toList(),
|
||||
workflows: workflows.map((e) => e.element?.getID()).toSet().toList(),
|
||||
events: events.map((e) => e.element?.getID()).toSet().toList(),
|
||||
);
|
||||
updateW.fromDashboard(dash.serialize());
|
||||
for (var item in (updateW.graph?.items.values ?? [] as List<GraphItem>)) {
|
||||
@@ -210,6 +228,7 @@ final WorflowService _service = WorflowService();
|
||||
if (data["type"] == "storage") { return StorageItem().deserialize(data); }
|
||||
if (data["type"] == "processing") { return ProcessingItem().deserialize(data); }
|
||||
if (data["type"] == "workflows") { return WorkflowItem().deserialize(data); }
|
||||
if (data["type"] == "event") { return WorkflowEventItem().deserialize(data); }
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -339,8 +358,13 @@ final WorflowService _service = WorflowService();
|
||||
current: widget.id,
|
||||
itemWidget: itemBuild,
|
||||
menuWidget: onDashboardMenu,
|
||||
categories: const ["processing", "data", "compute", "storage", "workflows"],
|
||||
draggableItemBuilder: (cat) => WorkspaceLocal.byTopic(cat, false),
|
||||
categories: const ["processing", "data", "compute", "storage", "workflows", "event"],
|
||||
draggableItemBuilder: (cat) {
|
||||
if (cat == "event") {
|
||||
return [ WorkflowEventItem()..name = "Event"..type = "event" ];
|
||||
}
|
||||
return WorkspaceLocal.byTopic(cat, false);
|
||||
},
|
||||
itemWidgetTooltip: itemTooltipBuild,
|
||||
innerMenuWidth: 350,
|
||||
width: getMainWidth(context),
|
||||
|
||||
Reference in New Issue
Block a user