@open-mercato/core 0.4.2-canary-d0a025141f → 0.4.2-canary-3efa759f5c
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/generated/entities.ids.generated.js +0 -1
- package/dist/generated/entities.ids.generated.js.map +2 -2
- package/dist/generated/entity-fields-registry.js +0 -2
- package/dist/generated/entity-fields-registry.js.map +2 -2
- package/dist/modules/business_rules/data/validators.js +0 -34
- package/dist/modules/business_rules/data/validators.js.map +2 -2
- package/dist/modules/business_rules/index.js +1 -21
- package/dist/modules/business_rules/index.js.map +2 -2
- package/dist/modules/business_rules/lib/rule-engine.js +1 -182
- package/dist/modules/business_rules/lib/rule-engine.js.map +2 -2
- package/dist/modules/sales/acl.js +0 -1
- package/dist/modules/sales/acl.js.map +2 -2
- package/dist/modules/sales/backend/sales/documents/[id]/page.js +0 -12
- package/dist/modules/sales/backend/sales/documents/[id]/page.js.map +2 -2
- package/dist/modules/sales/commands/documents.js +0 -62
- package/dist/modules/sales/commands/documents.js.map +2 -2
- package/dist/modules/sales/lib/dictionaries.js +0 -3
- package/dist/modules/sales/lib/dictionaries.js.map +2 -2
- package/dist/modules/workflows/acl.js +0 -2
- package/dist/modules/workflows/acl.js.map +2 -2
- package/dist/modules/workflows/api/instances/route.js +6 -18
- package/dist/modules/workflows/api/instances/route.js.map +2 -2
- package/dist/modules/workflows/api/tasks/route.js +1 -6
- package/dist/modules/workflows/api/tasks/route.js.map +2 -2
- package/dist/modules/workflows/backend/definitions/[id]/page.js +1 -9
- package/dist/modules/workflows/backend/definitions/[id]/page.js.map +2 -2
- package/dist/modules/workflows/backend/definitions/[id]/page.meta.js +1 -1
- package/dist/modules/workflows/backend/definitions/[id]/page.meta.js.map +2 -2
- package/dist/modules/workflows/backend/definitions/create/page.js +15 -24
- package/dist/modules/workflows/backend/definitions/create/page.js.map +2 -2
- package/dist/modules/workflows/backend/definitions/create/page.meta.js +1 -1
- package/dist/modules/workflows/backend/definitions/create/page.meta.js.map +2 -2
- package/dist/modules/workflows/backend/definitions/visual-editor/page.js +132 -150
- package/dist/modules/workflows/backend/definitions/visual-editor/page.js.map +2 -2
- package/dist/modules/workflows/backend/definitions/visual-editor/page.meta.js +1 -1
- package/dist/modules/workflows/backend/definitions/visual-editor/page.meta.js.map +2 -2
- package/dist/modules/workflows/backend/events/[id]/page.js +1 -1
- package/dist/modules/workflows/backend/events/[id]/page.js.map +2 -2
- package/dist/modules/workflows/backend/events/[id]/page.meta.js +2 -2
- package/dist/modules/workflows/backend/events/[id]/page.meta.js.map +2 -2
- package/dist/modules/workflows/backend/instances/[id]/page.meta.js +2 -2
- package/dist/modules/workflows/backend/instances/[id]/page.meta.js.map +2 -2
- package/dist/modules/workflows/backend/tasks/[id]/page.js +1 -1
- package/dist/modules/workflows/backend/tasks/[id]/page.js.map +2 -2
- package/dist/modules/workflows/backend/tasks/[id]/page.meta.js +2 -2
- package/dist/modules/workflows/backend/tasks/[id]/page.meta.js.map +2 -2
- package/dist/modules/workflows/backend/tasks/page.js +6 -5
- package/dist/modules/workflows/backend/tasks/page.js.map +2 -2
- package/dist/modules/workflows/cli.js +3 -81
- package/dist/modules/workflows/cli.js.map +3 -3
- package/dist/modules/workflows/data/entities.js +1 -64
- package/dist/modules/workflows/data/entities.js.map +2 -2
- package/dist/modules/workflows/data/validators.js +0 -115
- package/dist/modules/workflows/data/validators.js.map +2 -2
- package/dist/modules/workflows/examples/checkout-demo-definition.json +5 -1
- package/dist/modules/workflows/lib/activity-executor.js +13 -75
- package/dist/modules/workflows/lib/activity-executor.js.map +2 -2
- package/dist/modules/workflows/lib/graph-utils.js +2 -71
- package/dist/modules/workflows/lib/graph-utils.js.map +2 -2
- package/dist/modules/workflows/lib/seeds.js +5 -22
- package/dist/modules/workflows/lib/seeds.js.map +2 -2
- package/dist/modules/workflows/lib/start-validator.js +23 -33
- package/dist/modules/workflows/lib/start-validator.js.map +2 -2
- package/dist/modules/workflows/lib/transition-handler.js +45 -157
- package/dist/modules/workflows/lib/transition-handler.js.map +3 -3
- package/generated/entities.ids.generated.ts +0 -1
- package/generated/entity-fields-registry.ts +0 -2
- package/package.json +2 -2
- package/src/modules/business_rules/data/validators.ts +0 -40
- package/src/modules/business_rules/index.ts +0 -25
- package/src/modules/business_rules/lib/rule-engine.ts +1 -281
- package/src/modules/sales/acl.ts +0 -1
- package/src/modules/sales/backend/sales/documents/[id]/page.tsx +0 -16
- package/src/modules/sales/commands/documents.ts +1 -74
- package/src/modules/sales/lib/dictionaries.ts +0 -3
- package/src/modules/workflows/acl.ts +0 -2
- package/src/modules/workflows/api/__tests__/instances.route.test.ts +2 -5
- package/src/modules/workflows/api/instances/route.ts +7 -21
- package/src/modules/workflows/api/tasks/route.ts +1 -7
- package/src/modules/workflows/backend/definitions/[id]/page.meta.ts +1 -1
- package/src/modules/workflows/backend/definitions/[id]/page.tsx +0 -9
- package/src/modules/workflows/backend/definitions/create/page.meta.ts +1 -1
- package/src/modules/workflows/backend/definitions/create/page.tsx +0 -9
- package/src/modules/workflows/backend/definitions/visual-editor/page.meta.ts +1 -1
- package/src/modules/workflows/backend/definitions/visual-editor/page.tsx +3 -21
- package/src/modules/workflows/backend/events/[id]/page.meta.ts +2 -2
- package/src/modules/workflows/backend/events/[id]/page.tsx +1 -1
- package/src/modules/workflows/backend/instances/[id]/page.meta.ts +2 -2
- package/src/modules/workflows/backend/tasks/[id]/page.meta.ts +2 -2
- package/src/modules/workflows/backend/tasks/[id]/page.tsx +1 -1
- package/src/modules/workflows/backend/tasks/page.tsx +6 -5
- package/src/modules/workflows/cli.ts +0 -111
- package/src/modules/workflows/data/entities.ts +0 -124
- package/src/modules/workflows/data/validators.ts +0 -138
- package/src/modules/workflows/examples/checkout-demo-definition.json +5 -1
- package/src/modules/workflows/i18n/en.json +0 -71
- package/src/modules/workflows/lib/__tests__/activity-executor.test.ts +36 -43
- package/src/modules/workflows/lib/__tests__/transition-handler.test.ts +90 -170
- package/src/modules/workflows/lib/activity-executor.ts +16 -129
- package/src/modules/workflows/lib/graph-utils.ts +2 -117
- package/src/modules/workflows/lib/seeds.ts +8 -34
- package/src/modules/workflows/lib/start-validator.ts +28 -38
- package/src/modules/workflows/lib/transition-handler.ts +55 -208
- package/dist/generated/entities/workflow_event_trigger/index.js +0 -33
- package/dist/generated/entities/workflow_event_trigger/index.js.map +0 -7
- package/dist/modules/auth/events.js +0 -30
- package/dist/modules/auth/events.js.map +0 -7
- package/dist/modules/business_rules/api/execute/[ruleId]/route.js +0 -145
- package/dist/modules/business_rules/api/execute/[ruleId]/route.js.map +0 -7
- package/dist/modules/catalog/events.js +0 -34
- package/dist/modules/catalog/events.js.map +0 -7
- package/dist/modules/customers/events.js +0 -49
- package/dist/modules/customers/events.js.map +0 -7
- package/dist/modules/directory/events.js +0 -23
- package/dist/modules/directory/events.js.map +0 -7
- package/dist/modules/sales/events.js +0 -63
- package/dist/modules/sales/events.js.map +0 -7
- package/dist/modules/sales/lib/frontend/documentDataEvents.js +0 -25
- package/dist/modules/sales/lib/frontend/documentDataEvents.js.map +0 -7
- package/dist/modules/workflows/components/DefinitionTriggersEditor.js +0 -481
- package/dist/modules/workflows/components/DefinitionTriggersEditor.js.map +0 -7
- package/dist/modules/workflows/components/EventTriggersEditor.js +0 -553
- package/dist/modules/workflows/components/EventTriggersEditor.js.map +0 -7
- package/dist/modules/workflows/events.js +0 -38
- package/dist/modules/workflows/events.js.map +0 -7
- package/dist/modules/workflows/examples/order-approval-definition.json +0 -257
- package/dist/modules/workflows/examples/order-approval-guard-rules.json +0 -32
- package/dist/modules/workflows/lib/event-trigger-service.js +0 -308
- package/dist/modules/workflows/lib/event-trigger-service.js.map +0 -7
- package/dist/modules/workflows/migrations/Migration20260123143500.js +0 -36
- package/dist/modules/workflows/migrations/Migration20260123143500.js.map +0 -7
- package/dist/modules/workflows/subscribers/event-trigger.js +0 -78
- package/dist/modules/workflows/subscribers/event-trigger.js.map +0 -7
- package/dist/modules/workflows/widgets/injection/order-approval/widget.client.js +0 -323
- package/dist/modules/workflows/widgets/injection/order-approval/widget.client.js.map +0 -7
- package/dist/modules/workflows/widgets/injection/order-approval/widget.js +0 -17
- package/dist/modules/workflows/widgets/injection/order-approval/widget.js.map +0 -7
- package/dist/modules/workflows/widgets/injection-table.js +0 -19
- package/dist/modules/workflows/widgets/injection-table.js.map +0 -7
- package/generated/entities/workflow_event_trigger/index.ts +0 -15
- package/src/modules/auth/events.ts +0 -39
- package/src/modules/business_rules/api/execute/[ruleId]/route.ts +0 -163
- package/src/modules/catalog/events.ts +0 -45
- package/src/modules/customers/events.ts +0 -63
- package/src/modules/directory/events.ts +0 -31
- package/src/modules/sales/events.ts +0 -82
- package/src/modules/sales/lib/frontend/documentDataEvents.ts +0 -28
- package/src/modules/workflows/components/DefinitionTriggersEditor.tsx +0 -581
- package/src/modules/workflows/components/EventTriggersEditor.tsx +0 -664
- package/src/modules/workflows/events.ts +0 -49
- package/src/modules/workflows/examples/order-approval-definition.json +0 -257
- package/src/modules/workflows/examples/order-approval-guard-rules.json +0 -32
- package/src/modules/workflows/lib/event-trigger-service.ts +0 -557
- package/src/modules/workflows/migrations/Migration20260123143500.ts +0 -38
- package/src/modules/workflows/subscribers/event-trigger.ts +0 -109
- package/src/modules/workflows/widgets/injection/order-approval/widget.client.tsx +0 -446
- package/src/modules/workflows/widgets/injection/order-approval/widget.ts +0 -16
- package/src/modules/workflows/widgets/injection-table.ts +0 -21
|
@@ -33,7 +33,6 @@ import { apiCall } from "@open-mercato/ui/backend/utils/apiCall";
|
|
|
33
33
|
import { flash } from "@open-mercato/ui/backend/FlashMessages";
|
|
34
34
|
import { CircleQuestionMark, Info, PanelTopClose, PanelTopOpen, Play, Save, Trash2 } from "lucide-react";
|
|
35
35
|
import { NODE_TYPE_ICONS, NODE_TYPE_COLORS, NODE_TYPE_LABELS } from "../../../lib/node-type-icons.js";
|
|
36
|
-
import { DefinitionTriggersEditor } from "../../../components/DefinitionTriggersEditor.js";
|
|
37
36
|
function VisualEditorPage() {
|
|
38
37
|
const t = useT();
|
|
39
38
|
const router = useRouter();
|
|
@@ -59,7 +58,6 @@ function VisualEditorPage() {
|
|
|
59
58
|
const [icon, setIcon] = useState("");
|
|
60
59
|
const [effectiveFrom, setEffectiveFrom] = useState("");
|
|
61
60
|
const [effectiveTo, setEffectiveTo] = useState("");
|
|
62
|
-
const [triggers, setTriggers] = useState([]);
|
|
63
61
|
useEffect(() => {
|
|
64
62
|
const loadDefinition = async () => {
|
|
65
63
|
if (!definitionId) {
|
|
@@ -87,7 +85,6 @@ function VisualEditorPage() {
|
|
|
87
85
|
const graph = definitionToGraph(definition.definition);
|
|
88
86
|
setNodes(graph.nodes);
|
|
89
87
|
setEdges(graph.edges);
|
|
90
|
-
setTriggers(definition.definition?.triggers || []);
|
|
91
88
|
flash("Workflow loaded successfully", "success");
|
|
92
89
|
} catch (error) {
|
|
93
90
|
console.error("Error loading workflow definition:", error);
|
|
@@ -212,11 +209,7 @@ function VisualEditorPage() {
|
|
|
212
209
|
flash(`Cannot save: ${criticalErrors.length} validation error(s) found. Please fix them first.`, "error");
|
|
213
210
|
return;
|
|
214
211
|
}
|
|
215
|
-
const
|
|
216
|
-
const definitionData = {
|
|
217
|
-
...graphDefinition,
|
|
218
|
-
triggers: triggers.length > 0 ? triggers : void 0
|
|
219
|
-
};
|
|
212
|
+
const definitionData = graphToDefinition(nodes, edges, { includePositions: true });
|
|
220
213
|
const schemaResult = workflowDefinitionDataSchema.safeParse(definitionData);
|
|
221
214
|
if (!schemaResult.success) {
|
|
222
215
|
const firstIssue = schemaResult.error.issues[0];
|
|
@@ -272,7 +265,7 @@ function VisualEditorPage() {
|
|
|
272
265
|
} finally {
|
|
273
266
|
setIsSaving(false);
|
|
274
267
|
}
|
|
275
|
-
}, [nodes, edges, workflowId, workflowName, description, version, enabled, category, tags,
|
|
268
|
+
}, [nodes, edges, workflowId, workflowName, description, version, enabled, category, tags, definitionId, router]);
|
|
276
269
|
const handleTest = useCallback(() => {
|
|
277
270
|
const errors = validateWorkflowGraph(nodes, edges);
|
|
278
271
|
const criticalErrors = errors.filter((e) => e.type === "error");
|
|
@@ -375,7 +368,6 @@ function VisualEditorPage() {
|
|
|
375
368
|
setIcon("");
|
|
376
369
|
setEffectiveFrom("");
|
|
377
370
|
setEffectiveTo("");
|
|
378
|
-
setTriggers([]);
|
|
379
371
|
setShowClearConfirm(false);
|
|
380
372
|
flash("Canvas cleared", "success");
|
|
381
373
|
}, []);
|
|
@@ -474,152 +466,142 @@ function VisualEditorPage() {
|
|
|
474
466
|
)
|
|
475
467
|
] })
|
|
476
468
|
] }) }),
|
|
477
|
-
showMetadata && /* @__PURE__ */
|
|
478
|
-
/* @__PURE__ */
|
|
479
|
-
|
|
480
|
-
/* @__PURE__ */ jsxs("div", { className: "
|
|
481
|
-
/* @__PURE__ */
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
/* @__PURE__ */
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
/* @__PURE__ */
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
/* @__PURE__ */
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
/* @__PURE__ */
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
/* @__PURE__ */
|
|
548
|
-
|
|
549
|
-
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 mt-2", children: [
|
|
550
|
-
/* @__PURE__ */ jsx(
|
|
551
|
-
Switch,
|
|
552
|
-
{
|
|
553
|
-
id: "enabled",
|
|
554
|
-
checked: enabled,
|
|
555
|
-
onCheckedChange: setEnabled
|
|
556
|
-
}
|
|
557
|
-
),
|
|
558
|
-
/* @__PURE__ */ jsx(Label, { htmlFor: "enabled", className: "text-sm font-normal cursor-pointer", children: "Only enabled workflows can be started" })
|
|
559
|
-
] })
|
|
560
|
-
] }),
|
|
561
|
-
/* @__PURE__ */ jsxs("div", { className: "space-y-1", children: [
|
|
562
|
-
/* @__PURE__ */ jsx(Label, { className: "text-xs", children: "Tags" }),
|
|
563
|
-
/* @__PURE__ */ jsx(
|
|
564
|
-
TagsInput,
|
|
565
|
-
{
|
|
566
|
-
value: tags,
|
|
567
|
-
onChange: setTags,
|
|
568
|
-
placeholder: t("workflows.form.placeholders.tags")
|
|
569
|
-
}
|
|
570
|
-
),
|
|
571
|
-
/* @__PURE__ */ jsx("p", { className: "text-xs text-muted-foreground", children: t("workflows.form.descriptions.tags") })
|
|
572
|
-
] }),
|
|
573
|
-
/* @__PURE__ */ jsxs("div", { className: "space-y-1", children: [
|
|
574
|
-
/* @__PURE__ */ jsx(Label, { htmlFor: "icon", className: "text-xs", children: "Icon" }),
|
|
575
|
-
/* @__PURE__ */ jsx(
|
|
576
|
-
Input,
|
|
577
|
-
{
|
|
578
|
-
id: "icon",
|
|
579
|
-
value: icon,
|
|
580
|
-
onChange: (e) => setIcon(e.target.value),
|
|
581
|
-
placeholder: "ShoppingCart"
|
|
582
|
-
}
|
|
583
|
-
),
|
|
584
|
-
/* @__PURE__ */ jsx("p", { className: "text-xs text-muted-foreground", children: "Icon name for visual identification" })
|
|
585
|
-
] }),
|
|
586
|
-
/* @__PURE__ */ jsxs("div", { className: "space-y-1", children: [
|
|
587
|
-
/* @__PURE__ */ jsx(Label, { htmlFor: "effectiveFrom", className: "text-xs", children: "Effective From" }),
|
|
588
|
-
/* @__PURE__ */ jsx(
|
|
589
|
-
Input,
|
|
590
|
-
{
|
|
591
|
-
id: "effectiveFrom",
|
|
592
|
-
type: "date",
|
|
593
|
-
value: effectiveFrom,
|
|
594
|
-
onChange: (e) => setEffectiveFrom(e.target.value)
|
|
595
|
-
}
|
|
596
|
-
),
|
|
597
|
-
/* @__PURE__ */ jsx("p", { className: "text-xs text-muted-foreground", children: "Workflow becomes active from this date" })
|
|
598
|
-
] }),
|
|
599
|
-
/* @__PURE__ */ jsxs("div", { className: "space-y-1", children: [
|
|
600
|
-
/* @__PURE__ */ jsx(Label, { htmlFor: "effectiveTo", className: "text-xs", children: "Effective To" }),
|
|
469
|
+
showMetadata && /* @__PURE__ */ jsx("div", { className: "bg-white border-b border-gray-200 px-6 py-4", children: /* @__PURE__ */ jsxs("div", { className: "rounded-lg border bg-card p-4", children: [
|
|
470
|
+
/* @__PURE__ */ jsx("h2", { className: "text-sm font-semibold uppercase text-muted-foreground mb-4", children: "Workflow Metadata" }),
|
|
471
|
+
/* @__PURE__ */ jsxs("div", { className: "grid grid-cols-3 gap-4", children: [
|
|
472
|
+
/* @__PURE__ */ jsxs("div", { className: "space-y-1", children: [
|
|
473
|
+
/* @__PURE__ */ jsx(Label, { htmlFor: "workflowId", className: "text-xs", children: "Workflow ID *" }),
|
|
474
|
+
/* @__PURE__ */ jsx(
|
|
475
|
+
Input,
|
|
476
|
+
{
|
|
477
|
+
id: "workflowId",
|
|
478
|
+
value: workflowId,
|
|
479
|
+
onChange: (e) => setWorkflowId(e.target.value),
|
|
480
|
+
placeholder: "checkout_workflow",
|
|
481
|
+
disabled: !!definitionId
|
|
482
|
+
}
|
|
483
|
+
),
|
|
484
|
+
/* @__PURE__ */ jsx("p", { className: "text-xs text-muted-foreground", children: definitionId ? "Cannot be changed when editing" : "Lowercase, numbers, hyphens, underscores" })
|
|
485
|
+
] }),
|
|
486
|
+
/* @__PURE__ */ jsxs("div", { className: "space-y-1", children: [
|
|
487
|
+
/* @__PURE__ */ jsx(Label, { htmlFor: "workflowName", className: "text-xs", children: "Workflow Name *" }),
|
|
488
|
+
/* @__PURE__ */ jsx(
|
|
489
|
+
Input,
|
|
490
|
+
{
|
|
491
|
+
id: "workflowName",
|
|
492
|
+
value: workflowName,
|
|
493
|
+
onChange: (e) => setWorkflowName(e.target.value),
|
|
494
|
+
placeholder: "Checkout Process"
|
|
495
|
+
}
|
|
496
|
+
)
|
|
497
|
+
] }),
|
|
498
|
+
/* @__PURE__ */ jsxs("div", { className: "space-y-1", children: [
|
|
499
|
+
/* @__PURE__ */ jsx(Label, { htmlFor: "category", className: "text-xs", children: "Category" }),
|
|
500
|
+
/* @__PURE__ */ jsx(
|
|
501
|
+
Input,
|
|
502
|
+
{
|
|
503
|
+
id: "category",
|
|
504
|
+
value: category,
|
|
505
|
+
onChange: (e) => setCategory(e.target.value),
|
|
506
|
+
placeholder: "E-Commerce"
|
|
507
|
+
}
|
|
508
|
+
)
|
|
509
|
+
] }),
|
|
510
|
+
/* @__PURE__ */ jsxs("div", { className: "col-span-3 space-y-1", children: [
|
|
511
|
+
/* @__PURE__ */ jsx(Label, { htmlFor: "description", className: "text-xs", children: "Description" }),
|
|
512
|
+
/* @__PURE__ */ jsx(
|
|
513
|
+
Textarea,
|
|
514
|
+
{
|
|
515
|
+
id: "description",
|
|
516
|
+
value: description,
|
|
517
|
+
onChange: (e) => setDescription(e.target.value),
|
|
518
|
+
placeholder: "Describe the purpose of this workflow...",
|
|
519
|
+
rows: 2
|
|
520
|
+
}
|
|
521
|
+
)
|
|
522
|
+
] }),
|
|
523
|
+
/* @__PURE__ */ jsxs("div", { className: "space-y-1", children: [
|
|
524
|
+
/* @__PURE__ */ jsx(Label, { htmlFor: "version", className: "text-xs", children: "Version *" }),
|
|
525
|
+
/* @__PURE__ */ jsx(
|
|
526
|
+
Input,
|
|
527
|
+
{
|
|
528
|
+
id: "version",
|
|
529
|
+
type: "number",
|
|
530
|
+
value: version,
|
|
531
|
+
onChange: (e) => setVersion(parseInt(e.target.value) || 1),
|
|
532
|
+
min: 1,
|
|
533
|
+
disabled: !!definitionId
|
|
534
|
+
}
|
|
535
|
+
),
|
|
536
|
+
/* @__PURE__ */ jsx("p", { className: "text-xs text-muted-foreground", children: "Version number (increment for major changes)" })
|
|
537
|
+
] }),
|
|
538
|
+
/* @__PURE__ */ jsxs("div", { className: "space-y-1", children: [
|
|
539
|
+
/* @__PURE__ */ jsx(Label, { className: "text-xs", children: "Enabled" }),
|
|
540
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 mt-2", children: [
|
|
601
541
|
/* @__PURE__ */ jsx(
|
|
602
|
-
|
|
542
|
+
Switch,
|
|
603
543
|
{
|
|
604
|
-
id: "
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
onChange: (e) => setEffectiveTo(e.target.value)
|
|
544
|
+
id: "enabled",
|
|
545
|
+
checked: enabled,
|
|
546
|
+
onCheckedChange: setEnabled
|
|
608
547
|
}
|
|
609
548
|
),
|
|
610
|
-
/* @__PURE__ */ jsx("
|
|
549
|
+
/* @__PURE__ */ jsx(Label, { htmlFor: "enabled", className: "text-sm font-normal cursor-pointer", children: "Only enabled workflows can be started" })
|
|
611
550
|
] })
|
|
551
|
+
] }),
|
|
552
|
+
/* @__PURE__ */ jsxs("div", { className: "space-y-1", children: [
|
|
553
|
+
/* @__PURE__ */ jsx(Label, { className: "text-xs", children: "Tags" }),
|
|
554
|
+
/* @__PURE__ */ jsx(
|
|
555
|
+
TagsInput,
|
|
556
|
+
{
|
|
557
|
+
value: tags,
|
|
558
|
+
onChange: setTags,
|
|
559
|
+
placeholder: t("workflows.form.placeholders.tags")
|
|
560
|
+
}
|
|
561
|
+
),
|
|
562
|
+
/* @__PURE__ */ jsx("p", { className: "text-xs text-muted-foreground", children: t("workflows.form.descriptions.tags") })
|
|
563
|
+
] }),
|
|
564
|
+
/* @__PURE__ */ jsxs("div", { className: "space-y-1", children: [
|
|
565
|
+
/* @__PURE__ */ jsx(Label, { htmlFor: "icon", className: "text-xs", children: "Icon" }),
|
|
566
|
+
/* @__PURE__ */ jsx(
|
|
567
|
+
Input,
|
|
568
|
+
{
|
|
569
|
+
id: "icon",
|
|
570
|
+
value: icon,
|
|
571
|
+
onChange: (e) => setIcon(e.target.value),
|
|
572
|
+
placeholder: "ShoppingCart"
|
|
573
|
+
}
|
|
574
|
+
),
|
|
575
|
+
/* @__PURE__ */ jsx("p", { className: "text-xs text-muted-foreground", children: "Icon name for visual identification" })
|
|
576
|
+
] }),
|
|
577
|
+
/* @__PURE__ */ jsxs("div", { className: "space-y-1", children: [
|
|
578
|
+
/* @__PURE__ */ jsx(Label, { htmlFor: "effectiveFrom", className: "text-xs", children: "Effective From" }),
|
|
579
|
+
/* @__PURE__ */ jsx(
|
|
580
|
+
Input,
|
|
581
|
+
{
|
|
582
|
+
id: "effectiveFrom",
|
|
583
|
+
type: "date",
|
|
584
|
+
value: effectiveFrom,
|
|
585
|
+
onChange: (e) => setEffectiveFrom(e.target.value)
|
|
586
|
+
}
|
|
587
|
+
),
|
|
588
|
+
/* @__PURE__ */ jsx("p", { className: "text-xs text-muted-foreground", children: "Workflow becomes active from this date" })
|
|
589
|
+
] }),
|
|
590
|
+
/* @__PURE__ */ jsxs("div", { className: "space-y-1", children: [
|
|
591
|
+
/* @__PURE__ */ jsx(Label, { htmlFor: "effectiveTo", className: "text-xs", children: "Effective To" }),
|
|
592
|
+
/* @__PURE__ */ jsx(
|
|
593
|
+
Input,
|
|
594
|
+
{
|
|
595
|
+
id: "effectiveTo",
|
|
596
|
+
type: "date",
|
|
597
|
+
value: effectiveTo,
|
|
598
|
+
onChange: (e) => setEffectiveTo(e.target.value)
|
|
599
|
+
}
|
|
600
|
+
),
|
|
601
|
+
/* @__PURE__ */ jsx("p", { className: "text-xs text-muted-foreground", children: "Workflow deactivates after this date" })
|
|
612
602
|
] })
|
|
613
|
-
] })
|
|
614
|
-
|
|
615
|
-
DefinitionTriggersEditor,
|
|
616
|
-
{
|
|
617
|
-
value: triggers,
|
|
618
|
-
onChange: setTriggers,
|
|
619
|
-
className: "mt-4"
|
|
620
|
-
}
|
|
621
|
-
)
|
|
622
|
-
] }),
|
|
603
|
+
] })
|
|
604
|
+
] }) }),
|
|
623
605
|
/* @__PURE__ */ jsxs(PageBody, { className: "flex-1 flex overflow-hidden", children: [
|
|
624
606
|
/* @__PURE__ */ jsx("div", { className: "w-88 bg-white border-r border-gray-200 p-6 overflow-y-auto", children: /* @__PURE__ */ jsxs("div", { className: "rounded-lg border bg-card p-4", children: [
|
|
625
607
|
/* @__PURE__ */ jsx("h2", { className: "text-sm font-semibold uppercase text-muted-foreground mb-2", children: "Step Palette" }),
|