@nocobase/plugin-workflow 2.2.0-alpha.1 → 2.2.0-alpha.3
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/client-v2.d.ts +2 -0
- package/client-v2.js +1 -0
- package/dist/client/119.e7dbd037d52d1286.js +10 -0
- package/dist/client/142.d84a976875799df4.js +10 -0
- package/dist/client/159.3d5abee06b818db3.js +10 -0
- package/dist/client/276.69fb2aea13bc7c37.js +10 -0
- package/dist/client/346.66d060d37843d3d1.js +10 -0
- package/dist/client/382.80ebd002a9971b65.js +10 -0
- package/dist/client/394.d7eacf666590a6ae.js +10 -0
- package/dist/client/438.c4de8f085e490158.js +10 -0
- package/dist/client/509.2f72dd97808f12d1.js +10 -0
- package/dist/client/54.c452a382e9b3953d.js +10 -0
- package/dist/client/618.a97bc812678ab2a7.js +10 -0
- package/dist/client/635.3f165e9ed7e940b2.js +10 -0
- package/dist/client/67.4117e04bd42f9d42.js +10 -0
- package/dist/client/719.5801e3f1cf81b97b.js +10 -0
- package/dist/client/739.955f18b3dc31ae3a.js +10 -0
- package/dist/client/759.13aab01e6912ed8d.js +10 -0
- package/dist/client/772.1ebaef11a0ac8688.js +10 -0
- package/dist/client/782.332fd345a98b82c2.js +10 -0
- package/dist/client/828.77de843c49fb307a.js +10 -0
- package/dist/client/87.d2c2b5b1cae08bfc.js +10 -0
- package/dist/client/938.77649c32dae1c225.js +10 -0
- package/dist/client/964.cb1ecff7a46687b7.js +10 -0
- package/dist/client/972.4da2796f3f2df874.js +10 -0
- package/dist/client/AddNodeContext.d.ts +1 -9
- package/dist/client/Branch.d.ts +1 -1
- package/dist/client/BranchContext.d.ts +2 -10
- package/dist/client/FlowContext.d.ts +10 -5
- package/dist/client/NodeClipboardContext.d.ts +12 -2
- package/dist/client/NodeDragContext.d.ts +14 -2
- package/dist/client/RemoveNodeContext.d.ts +16 -2
- package/dist/client/index.d.ts +1 -1
- package/dist/client/index.js +1 -1
- package/dist/client/nodeVariableUtils.d.ts +7 -6
- package/dist/client/nodes/calculation.d.ts +3 -75
- package/dist/client/nodes/condition.d.ts +7 -111
- package/dist/client/nodes/create.d.ts +3 -124
- package/dist/client/nodes/destroy.d.ts +2 -57
- package/dist/client/nodes/end.d.ts +2 -23
- package/dist/client/nodes/index.d.ts +2 -91
- package/dist/client/nodes/multi-conditions.d.ts +10 -48
- package/dist/client/nodes/output.d.ts +2 -44
- package/dist/client/nodes/query.d.ts +3 -255
- package/dist/client/nodes/update.d.ts +2 -117
- package/dist/client/style.d.ts +7 -26
- package/dist/client/triggers/collection.d.ts +3 -154
- package/dist/client/triggers/index.d.ts +2 -36
- package/dist/client/triggers/schedule/index.d.ts +8 -65
- package/dist/client/utils.d.ts +4 -5
- package/dist/client/variable.d.ts +4 -44
- package/dist/client-v2/119.81195bcd0d451279.js +10 -0
- package/dist/client-v2/142.3d386748090ff6d3.js +10 -0
- package/dist/client-v2/159.cb221540c286cd32.js +10 -0
- package/dist/client-v2/224.44a5e1227bee33fb.js +10 -0
- package/dist/client-v2/276.43297f402f31970e.js +10 -0
- package/dist/client-v2/326.bdc99ad8e7590970.js +10 -0
- package/dist/client-v2/346.8c038b3c99d4fdc9.js +10 -0
- package/dist/client-v2/382.05f5482bb512b179.js +10 -0
- package/dist/client-v2/387.ab3eac2eb447f36f.js +10 -0
- package/dist/client-v2/394.515ed058e7f72797.js +10 -0
- package/dist/client-v2/438.b7df0416b66f8f64.js +10 -0
- package/dist/client-v2/513.ab2bdd96ad9ece4d.js +10 -0
- package/dist/client-v2/54.287764bc467d65da.js +10 -0
- package/dist/client-v2/635.37de4abe241b30e8.js +10 -0
- package/dist/client-v2/719.05cf070ef89a78f4.js +10 -0
- package/dist/client-v2/739.906e94bbe6d52a3d.js +10 -0
- package/dist/client-v2/759.7b162ad3adf450f1.js +10 -0
- package/dist/client-v2/772.8e5148d8c1518449.js +10 -0
- package/dist/client-v2/938.717e47af39485b29.js +10 -0
- package/dist/client-v2/ExecutionCanvas.d.ts +15 -0
- package/dist/client-v2/canvas/AddNodeContext.d.ts +35 -0
- package/dist/client-v2/canvas/AddNodeContext.shared.d.ts +33 -0
- package/dist/client-v2/canvas/AddNodeSlot.d.ts +20 -0
- package/dist/client-v2/canvas/Branch.d.ts +32 -0
- package/dist/client-v2/canvas/BranchContext.d.ts +20 -0
- package/dist/client-v2/canvas/BranchRenderContext.d.ts +14 -0
- package/dist/client-v2/canvas/CanvasContent.d.ts +20 -0
- package/dist/client-v2/canvas/DownstreamBranchIndex.d.ts +20 -0
- package/dist/client-v2/canvas/Instruction.d.ts +139 -0
- package/dist/{client/triggers/schedule/EndsByField.d.ts → client-v2/canvas/JobButton.d.ts} +3 -3
- package/dist/client-v2/canvas/Node.d.ts +36 -0
- package/dist/client-v2/canvas/NodeClipboardContext.d.ts +64 -0
- package/dist/client-v2/canvas/NodeConfigDrawer.d.ts +27 -0
- package/dist/client-v2/canvas/NodeDragContext.d.ts +83 -0
- package/dist/client-v2/canvas/RemoveNodeContext.d.ts +45 -0
- package/dist/client-v2/canvas/WorkflowTypedVariableInput.d.ts +16 -0
- package/dist/client-v2/canvas/WorkflowVariableInput.d.ts +39 -0
- package/dist/client-v2/canvas/WorkflowVariableJsonTextArea.d.ts +15 -0
- package/dist/client-v2/canvas/WorkflowVariableSelect.d.ts +29 -0
- package/dist/client-v2/canvas/WorkflowVariableTag.d.ts +22 -0
- package/dist/client-v2/canvas/WorkflowVariableTextArea.d.ts +18 -0
- package/dist/client-v2/canvas/adaptVariableOptionToMetaTree.d.ts +48 -0
- package/dist/client-v2/canvas/addNodeController.d.ts +70 -0
- package/dist/client-v2/canvas/collectionFieldOptions.d.ts +57 -0
- package/dist/client-v2/canvas/contexts.d.ts +84 -0
- package/dist/client-v2/canvas/dropImpact.d.ts +28 -0
- package/dist/client-v2/canvas/instructionAvailability.d.ts +26 -0
- package/dist/client-v2/canvas/nodeRenderDispatch.d.ts +79 -0
- package/dist/client-v2/canvas/nodeTree.d.ts +21 -0
- package/dist/client-v2/canvas/nodeVariableUtils.d.ts +14 -0
- package/dist/client-v2/canvas/removeNodeUtils.d.ts +31 -0
- package/dist/client-v2/canvas/style.d.ts +35 -0
- package/dist/client-v2/canvas/textAreaInsertion.d.ts +14 -0
- package/dist/client-v2/canvas/useWorkflowInstruction.d.ts +23 -0
- package/dist/client-v2/canvas/useWorkflowVariableOptions.d.ts +40 -0
- package/dist/client-v2/canvas/workflowVariableConverters.d.ts +13 -0
- package/dist/client-v2/components/Calculation.d.ts +18 -0
- package/dist/client-v2/components/ExecutionStatusIcon.d.ts +18 -0
- package/dist/{client/triggers/schedule/RepeatField.d.ts → client-v2/components/ExecutionStatusTag.d.ts} +3 -4
- package/dist/client-v2/components/ExecutionViewHeader.d.ts +29 -0
- package/dist/client-v2/components/ExecutionsDropdown.d.ts +25 -0
- package/dist/client-v2/components/FilterDynamicComponent.d.ts +22 -0
- package/dist/client-v2/components/HideVariableContext.d.ts +11 -0
- package/dist/client-v2/components/JobResultModal.d.ts +11 -0
- package/dist/client-v2/components/RadioWithTooltip.d.ts +23 -0
- package/dist/client-v2/components/SyncModeSelect.d.ts +16 -0
- package/dist/{client/triggers/schedule/OnField.d.ts → client-v2/components/SyncModeTag.d.ts} +3 -3
- package/dist/client-v2/components/TestRunButton.d.ts +36 -0
- package/dist/client-v2/components/TimeoutInput.d.ts +15 -0
- package/dist/client-v2/components/WorkflowCanvasHeader.d.ts +17 -0
- package/dist/client-v2/components/WorkflowDetailsModal.d.ts +25 -0
- package/dist/client-v2/components/WorkflowEnabledSwitch.d.ts +16 -0
- package/dist/client-v2/components/WorkflowMenu.d.ts +17 -0
- package/dist/client-v2/components/WorkflowRevisionsDropdown.d.ts +15 -0
- package/dist/client-v2/components/WorkflowVariableWrapper.d.ts +25 -0
- package/dist/client-v2/components/collection/AppendsSelect.d.ts +15 -0
- package/dist/client-v2/components/collection/AssignedFieldsEditor.d.ts +16 -0
- package/dist/client-v2/components/collection/CollectionCascader.d.ts +15 -0
- package/dist/client-v2/components/collection/FieldsSelect.d.ts +16 -0
- package/dist/client-v2/components/collection/PaginationFields.d.ts +14 -0
- package/dist/client-v2/components/collection/SortFieldsInput.d.ts +19 -0
- package/dist/client-v2/components/collection/TriggerCollectionRecordSelect.d.ts +15 -0
- package/dist/client-v2/components/collection/index.d.ts +16 -0
- package/dist/client-v2/components/collection/utils.d.ts +42 -0
- package/dist/client-v2/components/formatResultForDisplay.d.ts +17 -0
- package/dist/client-v2/components/jobStatus.d.ts +27 -0
- package/dist/client-v2/components/renderEngineReference.d.ts +10 -0
- package/dist/client-v2/components/workflowCanvas.d.ts +41 -0
- package/dist/client-v2/constants.d.ts +14 -0
- package/dist/client-v2/hooks/useWorkflowRuntimePaths.d.ts +37 -0
- package/dist/client-v2/index.d.ts +47 -0
- package/dist/client-v2/index.js +10 -0
- package/dist/client-v2/locale.d.ts +41 -0
- package/dist/{client → client-v2}/models/NodeDetailsGridModel.d.ts +1 -1
- package/dist/{client → client-v2}/models/NodeDetailsModel.d.ts +1 -1
- package/dist/{client → client-v2}/models/NodeValueModel.d.ts +1 -1
- package/dist/{client → client-v2}/models/TaskCardCommonItemModel.d.ts +1 -1
- package/dist/{client → client-v2}/models/index.d.ts +1 -0
- package/dist/client-v2/models/triggerWorkflows.d.ts +43 -0
- package/dist/client-v2/nodes/calculation.d.ts +38 -0
- package/dist/client-v2/nodes/collectionNode.d.ts +29 -0
- package/dist/client-v2/nodes/components/calculation.d.ts +11 -0
- package/dist/client-v2/nodes/components/collection.d.ts +15 -0
- package/dist/client-v2/nodes/components/condition.d.ts +25 -0
- package/dist/client-v2/nodes/components/conditionShared.d.ts +20 -0
- package/dist/client-v2/nodes/components/create.d.ts +12 -0
- package/dist/client-v2/nodes/components/destroy.d.ts +12 -0
- package/dist/{client/triggers/schedule/ScheduleConfig.d.ts → client-v2/nodes/components/end.d.ts} +1 -1
- package/dist/client-v2/nodes/components/filter.d.ts +16 -0
- package/dist/client-v2/nodes/components/multi-conditions.d.ts +13 -0
- package/dist/client-v2/nodes/components/multiConditionsShared.d.ts +20 -0
- package/dist/client-v2/nodes/components/output.d.ts +10 -0
- package/dist/client-v2/nodes/components/query.d.ts +12 -0
- package/dist/client-v2/nodes/components/update.d.ts +12 -0
- package/dist/client-v2/nodes/condition.d.ts +46 -0
- package/dist/client-v2/nodes/create.d.ts +30 -0
- package/dist/client-v2/nodes/destroy.d.ts +24 -0
- package/dist/client-v2/nodes/end.d.ts +21 -0
- package/dist/client-v2/nodes/multi-conditions.d.ts +34 -0
- package/dist/client-v2/nodes/output.d.ts +29 -0
- package/dist/client-v2/nodes/query.d.ts +32 -0
- package/dist/client-v2/nodes/update.d.ts +25 -0
- package/dist/client-v2/pages/ExecutionHistoryDrawer.d.ts +13 -0
- package/dist/client-v2/pages/ExecutionViewPage.d.ts +10 -0
- package/dist/client-v2/pages/WorkflowCanvasPage.d.ts +10 -0
- package/dist/client-v2/pages/WorkflowCategoryTabs.d.ts +25 -0
- package/dist/client-v2/pages/WorkflowFormDrawer.d.ts +39 -0
- package/dist/client-v2/pages/WorkflowPane.d.ts +10 -0
- package/dist/client-v2/plugin.d.ts +67 -0
- package/dist/client-v2/triggers/ExecuteWorkflowButton.d.ts +35 -0
- package/dist/client-v2/triggers/TriggerConfig.d.ts +22 -0
- package/dist/client-v2/triggers/TriggerExecutionButton.d.ts +13 -0
- package/dist/client-v2/triggers/collection/CollectionConfig.d.ts +14 -0
- package/dist/client-v2/triggers/collection/TriggerCollectionConfig.d.ts +11 -0
- package/dist/client-v2/triggers/collection/constants.d.ts +28 -0
- package/dist/client-v2/triggers/collection/index.d.ts +40 -0
- package/dist/client-v2/triggers/index.d.ts +61 -0
- package/dist/client-v2/triggers/schedule/EndsByField.d.ts +17 -0
- package/dist/client-v2/triggers/schedule/OnField.d.ts +20 -0
- package/dist/client-v2/triggers/schedule/RepeatField.d.ts +23 -0
- package/dist/client-v2/triggers/schedule/ScheduleConfig.d.ts +17 -0
- package/dist/client-v2/triggers/schedule/ScheduleModes.d.ts +41 -0
- package/dist/{client → client-v2}/triggers/schedule/TriggerScheduleConfig.d.ts +1 -0
- package/dist/{client → client-v2}/triggers/schedule/constants.d.ts +8 -5
- package/dist/client-v2/triggers/schedule/index.d.ts +40 -0
- package/dist/client-v2/triggers/schedule/locale/Cron.zh-CN.d.ts +11 -0
- package/dist/common/executionStatus.d.ts +44 -0
- package/dist/common/executionStatus.js +133 -0
- package/dist/externalVersion.js +16 -12
- package/dist/locale/de-DE.json +14 -1
- package/dist/locale/en-US.json +22 -2
- package/dist/locale/es-ES.json +14 -1
- package/dist/locale/fr-FR.json +14 -1
- package/dist/locale/hu-HU.json +14 -1
- package/dist/locale/id-ID.json +14 -1
- package/dist/locale/it-IT.json +14 -1
- package/dist/locale/ja-JP.json +14 -1
- package/dist/locale/ko-KR.json +14 -1
- package/dist/locale/nl-NL.json +14 -1
- package/dist/locale/pt-BR.json +14 -1
- package/dist/locale/ru-RU.json +14 -1
- package/dist/locale/tr-TR.json +14 -1
- package/dist/locale/uk-UA.json +14 -1
- package/dist/locale/vi-VN.json +14 -1
- package/dist/locale/zh-CN.json +21 -2
- package/dist/locale/zh-TW.json +14 -1
- package/dist/node_modules/cron-parser/package.json +1 -1
- package/dist/node_modules/joi/package.json +1 -1
- package/dist/node_modules/lru-cache/package.json +1 -1
- package/dist/node_modules/nodejs-snowflake/package.json +1 -1
- package/dist/server/Dispatcher.d.ts +1 -0
- package/dist/server/Dispatcher.js +46 -28
- package/dist/server/ExecutionTimeoutManager.js +2 -2
- package/dist/server/Processor.d.ts +16 -0
- package/dist/server/Processor.js +112 -0
- package/dist/server/actions/nodes.js +36 -1
- package/dist/server/index.d.ts +1 -1
- package/dist/server/instructions/CreateInstruction.js +6 -2
- package/dist/server/instructions/DestroyInstruction.js +2 -1
- package/dist/server/instructions/QueryInstruction.js +2 -1
- package/dist/server/instructions/UpdateInstruction.js +2 -1
- package/dist/server/triggers/CollectionTrigger.d.ts +5 -0
- package/dist/server/triggers/CollectionTrigger.js +26 -1
- package/dist/server/utils.js +27 -27
- package/package.json +3 -2
- package/dist/client/618.19af7f84261c815d.js +0 -10
- package/dist/client/67.452743ce8ec30617.js +0 -10
- package/dist/client/964.ffbf5b47ed12bbdc.js +0 -10
- package/dist/client/triggers/schedule/ScheduleModes.d.ts +0 -170
- package/dist/client/triggers/schedule/locale/Cron.zh-CN.d.ts +0 -42
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is part of the NocoBase (R) project.
|
|
3
|
+
* Copyright (c) 2020-2024 NocoBase Co., Ltd.
|
|
4
|
+
* Authors: NocoBase Team.
|
|
5
|
+
*
|
|
6
|
+
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
|
|
7
|
+
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
|
+
*/
|
|
9
|
+
import type { Instruction } from './Instruction';
|
|
10
|
+
import type { SharedAddNodeAnchor } from './AddNodeContext.shared';
|
|
11
|
+
export type AddNodeControllerRuntime = {
|
|
12
|
+
workflow: any;
|
|
13
|
+
nodes: any[];
|
|
14
|
+
getInstruction: (type: string) => Instruction | undefined;
|
|
15
|
+
getInstructionAvailable?: (instruction: Instruction, context: Record<string, any>) => string | null;
|
|
16
|
+
translateTitle: (title: string) => string;
|
|
17
|
+
api: any;
|
|
18
|
+
refresh?: () => void;
|
|
19
|
+
};
|
|
20
|
+
export type AddNodeDraft = {
|
|
21
|
+
key: string;
|
|
22
|
+
type: string;
|
|
23
|
+
upstreamId: any;
|
|
24
|
+
branchIndex: number | null | undefined;
|
|
25
|
+
title: string;
|
|
26
|
+
config: Record<string, any>;
|
|
27
|
+
};
|
|
28
|
+
export type AddNodeDecision = {
|
|
29
|
+
kind: 'missing';
|
|
30
|
+
type: string;
|
|
31
|
+
} | {
|
|
32
|
+
kind: 'blocked';
|
|
33
|
+
message: string;
|
|
34
|
+
instruction: Instruction;
|
|
35
|
+
} | {
|
|
36
|
+
kind: 'legacy-preset';
|
|
37
|
+
instruction: Instruction;
|
|
38
|
+
draft: AddNodeDraft;
|
|
39
|
+
} | {
|
|
40
|
+
kind: 'modern-preset';
|
|
41
|
+
instruction: Instruction;
|
|
42
|
+
anchor: SharedAddNodeAnchor;
|
|
43
|
+
hasDownstream: boolean;
|
|
44
|
+
} | {
|
|
45
|
+
kind: 'branch-fallback';
|
|
46
|
+
instruction: Instruction;
|
|
47
|
+
draft: AddNodeDraft;
|
|
48
|
+
} | {
|
|
49
|
+
kind: 'direct';
|
|
50
|
+
instruction: Instruction;
|
|
51
|
+
draft: AddNodeDraft;
|
|
52
|
+
};
|
|
53
|
+
export declare function findDownstream(nodes?: any[], upstream?: any, branchIndex?: number | null): any;
|
|
54
|
+
export declare function createNodeDraft({ instruction, anchor, translateTitle, }: {
|
|
55
|
+
instruction: Instruction;
|
|
56
|
+
anchor: SharedAddNodeAnchor;
|
|
57
|
+
translateTitle: (title: string) => string;
|
|
58
|
+
}): AddNodeDraft;
|
|
59
|
+
export declare function resolveAddNodeDecision({ type, anchor, runtime, }: {
|
|
60
|
+
type: string;
|
|
61
|
+
anchor: SharedAddNodeAnchor;
|
|
62
|
+
runtime: Pick<AddNodeControllerRuntime, 'workflow' | 'nodes' | 'getInstruction' | 'getInstructionAvailable' | 'translateTitle'>;
|
|
63
|
+
}): AddNodeDecision;
|
|
64
|
+
export declare function createNodeAndMaybeReparent({ workflowId, api, refresh, values, downstreamBranchIndex, }: {
|
|
65
|
+
workflowId: any;
|
|
66
|
+
api: any;
|
|
67
|
+
refresh?: () => void;
|
|
68
|
+
values: Record<string, any>;
|
|
69
|
+
downstreamBranchIndex?: number | null;
|
|
70
|
+
}): Promise<any>;
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is part of the NocoBase (R) project.
|
|
3
|
+
* Copyright (c) 2020-2024 NocoBase Co., Ltd.
|
|
4
|
+
* Authors: NocoBase Team.
|
|
5
|
+
*
|
|
6
|
+
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
|
|
7
|
+
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
|
+
*/
|
|
9
|
+
import type React from 'react';
|
|
10
|
+
export type FieldTreeCollectionManager = {
|
|
11
|
+
getCollectionAllFields(collection: string): any[];
|
|
12
|
+
getCollection?(collection: string): {
|
|
13
|
+
template?: string;
|
|
14
|
+
} | undefined;
|
|
15
|
+
};
|
|
16
|
+
export type VariableOption = {
|
|
17
|
+
key?: string;
|
|
18
|
+
value?: string;
|
|
19
|
+
label?: string | React.ReactNode;
|
|
20
|
+
children?: VariableOption[] | null;
|
|
21
|
+
[key: string]: any;
|
|
22
|
+
};
|
|
23
|
+
export type VariableDataType = 'boolean' | 'number' | 'string' | 'date' | {
|
|
24
|
+
type: 'reference';
|
|
25
|
+
options: {
|
|
26
|
+
collection: string;
|
|
27
|
+
multiple?: boolean;
|
|
28
|
+
entity?: boolean;
|
|
29
|
+
};
|
|
30
|
+
} | ((field: any, options: {
|
|
31
|
+
collectionManager?: FieldTreeCollectionManager;
|
|
32
|
+
}) => boolean);
|
|
33
|
+
export type UseVariableOptions = {
|
|
34
|
+
types?: VariableDataType[];
|
|
35
|
+
fieldNames?: {
|
|
36
|
+
label?: string;
|
|
37
|
+
value?: string;
|
|
38
|
+
children?: string;
|
|
39
|
+
};
|
|
40
|
+
appends?: string[] | null;
|
|
41
|
+
depth?: number;
|
|
42
|
+
};
|
|
43
|
+
export declare const defaultFieldNames: {
|
|
44
|
+
readonly label: "label";
|
|
45
|
+
readonly value: "value";
|
|
46
|
+
readonly children: "children";
|
|
47
|
+
};
|
|
48
|
+
/**
|
|
49
|
+
* @deprecated
|
|
50
|
+
*/
|
|
51
|
+
export declare const BaseTypeSets: {
|
|
52
|
+
boolean: Set<string>;
|
|
53
|
+
number: Set<string>;
|
|
54
|
+
string: Set<string>;
|
|
55
|
+
date: Set<string>;
|
|
56
|
+
};
|
|
57
|
+
export declare function getCollectionFieldOptions(options: any): VariableOption[];
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is part of the NocoBase (R) project.
|
|
3
|
+
* Copyright (c) 2020-2024 NocoBase Co., Ltd.
|
|
4
|
+
* Authors: NocoBase Team.
|
|
5
|
+
*
|
|
6
|
+
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
|
|
7
|
+
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* The two canvas React contexts, shared by both canvases (ADR-0003, doc §9.4).
|
|
11
|
+
*
|
|
12
|
+
* Aligns with v1's two-context split:
|
|
13
|
+
* - FlowContext (canvas root) = `{ workflow, nodes, refresh }`
|
|
14
|
+
* - NodeContext (per node) = the node object itself (with live
|
|
15
|
+
* `upstream`/`downstream` linked-list refs)
|
|
16
|
+
*
|
|
17
|
+
* Zero dependencies (bare `React.createContext`), so both v1 and v2 share this
|
|
18
|
+
* one definition. v1 re-exports `NodeContext`/`useNodeContext` from here via the
|
|
19
|
+
* allowed `v1 → v2` import direction.
|
|
20
|
+
*
|
|
21
|
+
* `workflow`/`upstreams` are derived via hooks (`useAvailableUpstreams`), never
|
|
22
|
+
* bundled into the node-context value.
|
|
23
|
+
*/
|
|
24
|
+
import React from 'react';
|
|
25
|
+
import type { WorkflowCanvasRecord, WorkflowRevision } from '../components/workflowCanvas';
|
|
26
|
+
/**
|
|
27
|
+
* A canvas node — the live linked-list element produced by `linkNodes`: the flat
|
|
28
|
+
* `flow_nodes` row plus the wired `upstream`/`downstream` object refs. Kept loose
|
|
29
|
+
* (index signature) because node `config` shapes are per-instruction; the named
|
|
30
|
+
* fields are the ones the canvas itself reads.
|
|
31
|
+
*/
|
|
32
|
+
export type CanvasNode = {
|
|
33
|
+
id: number;
|
|
34
|
+
key?: string;
|
|
35
|
+
type?: string;
|
|
36
|
+
title?: string;
|
|
37
|
+
config?: Record<string, any>;
|
|
38
|
+
upstreamId?: number | null;
|
|
39
|
+
downstreamId?: number | null;
|
|
40
|
+
branchIndex?: number | null;
|
|
41
|
+
upstream?: CanvasNode | null;
|
|
42
|
+
downstream?: CanvasNode | null;
|
|
43
|
+
[key: string]: any;
|
|
44
|
+
};
|
|
45
|
+
/**
|
|
46
|
+
* The canvas-root context value, shared by both canvases and matching v1's
|
|
47
|
+
* `FlowContext.Provider` shapes:
|
|
48
|
+
* - editor canvas → `{ workflow, nodes, refresh }`
|
|
49
|
+
* - execution canvas → `{ workflow, nodes, execution, viewJob, setViewJob }`
|
|
50
|
+
* - manual-todo canvas → `{ workflow, nodes, execution, userJob }`
|
|
51
|
+
* All fields optional so a consumer reading e.g. only `nodes` is typed against
|
|
52
|
+
* any canvas, and the bare-`{}` default (no provider) still satisfies it.
|
|
53
|
+
*/
|
|
54
|
+
export type WorkflowCanvasFlowContextValue = {
|
|
55
|
+
workflow?: WorkflowCanvasRecord | null;
|
|
56
|
+
nodes?: CanvasNode[];
|
|
57
|
+
refresh?: () => void;
|
|
58
|
+
/** Editor canvas: sibling versions of the workflow (the version dropdown). */
|
|
59
|
+
revisions?: WorkflowRevision[];
|
|
60
|
+
/** Execution canvas only: the execution being viewed (read-only nodes). */
|
|
61
|
+
execution?: Record<string, any> | null;
|
|
62
|
+
/** Execution canvas only: the job whose result modal is open. */
|
|
63
|
+
viewJob?: Record<string, any> | null;
|
|
64
|
+
/** Execution canvas only: open/close the job result modal. */
|
|
65
|
+
setViewJob?: (job: Record<string, any> | null) => void;
|
|
66
|
+
/** Manual-todo canvas only (plugin-workflow-manual): the current user job
|
|
67
|
+
* record whose form/status the todo card renders. */
|
|
68
|
+
userJob?: Record<string, any> | null;
|
|
69
|
+
};
|
|
70
|
+
export declare const FlowContext: React.Context<WorkflowCanvasFlowContextValue>;
|
|
71
|
+
export declare function useFlowContext(): WorkflowCanvasFlowContextValue;
|
|
72
|
+
export declare const CurrentWorkflowContext: React.Context<Partial<WorkflowCanvasRecord>>;
|
|
73
|
+
export declare function useCurrentWorkflowContext(): Partial<WorkflowCanvasRecord>;
|
|
74
|
+
export declare const NodeContext: React.Context<CanvasNode>;
|
|
75
|
+
export declare function useNodeContext(): CanvasNode;
|
|
76
|
+
/**
|
|
77
|
+
* The executed-version count of the workflow shown on the canvas — `> 0n` means
|
|
78
|
+
* its nodes are read-only. A BigInt mirroring v1's `useWorkflowExecuted`, reading
|
|
79
|
+
* the same `versionStats.executed` field (the workflow record has NO top-level
|
|
80
|
+
* `executed` — the previous `workflow?.executed` read was always undefined, so
|
|
81
|
+
* the canvas never went read-only after an execution). Callers needing a boolean
|
|
82
|
+
* coerce with `Boolean(...)`.
|
|
83
|
+
*/
|
|
84
|
+
export declare function useWorkflowCanvasExecuted(): bigint;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is part of the NocoBase (R) project.
|
|
3
|
+
* Copyright (c) 2020-2024 NocoBase Co., Ltd.
|
|
4
|
+
* Authors: NocoBase Team.
|
|
5
|
+
*
|
|
6
|
+
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
|
|
7
|
+
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Pure graph walks for drag/clipboard impact analysis (ADR-0003, doc §9.6).
|
|
11
|
+
*
|
|
12
|
+
* Relocated verbatim from `src/client/NodeDragContext.tsx` — Formily-free,
|
|
13
|
+
* hook-free — so both canvases' drag/clipboard Providers share one copy of the
|
|
14
|
+
* tricky topology math while each keeps its own hook-ful Provider shell. v1
|
|
15
|
+
* re-exports these; the v1 golden-baseline tests re-run unchanged against this
|
|
16
|
+
* copy.
|
|
17
|
+
*/
|
|
18
|
+
/**
|
|
19
|
+
* Walk the full downstream reachable set from `start`: the main chain plus
|
|
20
|
+
* every branch subtree (via `branchChildrenMap: upstreamId → branch-head nodes`).
|
|
21
|
+
*/
|
|
22
|
+
export declare function collectDownstreams(start: any, branchChildrenMap: Map<number, any[]>, visited?: Set<number>): Set<number>;
|
|
23
|
+
/**
|
|
24
|
+
* Collect a branching node's own subtree: the node itself plus all of its
|
|
25
|
+
* branch subtrees (but NOT its main-chain downstream). Used to know which nodes
|
|
26
|
+
* move together when a branch node is dragged.
|
|
27
|
+
*/
|
|
28
|
+
export declare function collectBranchSubtree(root: any, branchChildrenMap: Map<number, any[]>): Set<number>;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is part of the NocoBase (R) project.
|
|
3
|
+
* Copyright (c) 2020-2024 NocoBase Co., Ltd.
|
|
4
|
+
* Authors: NocoBase Team.
|
|
5
|
+
*
|
|
6
|
+
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
|
|
7
|
+
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
|
+
*/
|
|
9
|
+
import type { SharedAddNodeAnchor } from './AddNodeContext.shared';
|
|
10
|
+
type WorkflowCapabilityContext = SharedAddNodeAnchor & {
|
|
11
|
+
engine: {
|
|
12
|
+
isWorkflowSync(workflow: unknown): boolean;
|
|
13
|
+
};
|
|
14
|
+
workflow?: unknown;
|
|
15
|
+
syncOnly?: boolean;
|
|
16
|
+
};
|
|
17
|
+
type Translate = (key: string, options?: Record<string, unknown>) => string;
|
|
18
|
+
type AvailableInstruction = {
|
|
19
|
+
async?: boolean;
|
|
20
|
+
isAvailable?(ctx: Omit<WorkflowCapabilityContext, 'branchContext'>): boolean;
|
|
21
|
+
};
|
|
22
|
+
export declare function getInstructionUnavailableMessage(instruction: AvailableInstruction, ctx: WorkflowCapabilityContext, t: Translate): string;
|
|
23
|
+
export declare function getInstructionAvailable(instruction: AvailableInstruction, ctx: WorkflowCapabilityContext & {
|
|
24
|
+
t: Translate;
|
|
25
|
+
}): string;
|
|
26
|
+
export {};
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is part of the NocoBase (R) project.
|
|
3
|
+
* Copyright (c) 2020-2024 NocoBase Co., Ltd.
|
|
4
|
+
* Authors: NocoBase Team.
|
|
5
|
+
*
|
|
6
|
+
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
|
|
7
|
+
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Which renderer a node uses on the LEGACY canvas, across all three migratable
|
|
11
|
+
* surfaces — the in-canvas card, the config drawer, and the add-time preset
|
|
12
|
+
* (ADR-0003).
|
|
13
|
+
*
|
|
14
|
+
* The dispatch rule is the same for all three and is the key to progressive,
|
|
15
|
+
* surface-by-surface migration: **a v1 artifact always wins.** During migration a
|
|
16
|
+
* node's instruction carries both generations — its own legacy artifact and the
|
|
17
|
+
* modern loader it inherits when the v1 instruction `extends` its v2 counterpart.
|
|
18
|
+
* Keeping the legacy artifact is the opt-out signal ("this surface is not switched
|
|
19
|
+
* to v2 yet"), so the legacy canvas keeps rendering it; only when a node DROPS its
|
|
20
|
+
* legacy artifact (but still inherits the loader) does that one surface render via
|
|
21
|
+
* v2. The three surfaces switch independently — a node can move its card to v2
|
|
22
|
+
* while its drawer stays on Formily, or vice-versa.
|
|
23
|
+
*
|
|
24
|
+
* card: `Component` ⟶ falls back to `ComponentLoader` (this card)
|
|
25
|
+
* drawer: `fieldset` ⟶ falls back to `FieldsetLoader` (this drawer)
|
|
26
|
+
* preset: `presetFieldset` ⟶ falls back to `PresetFieldsetLoader` (this preset)
|
|
27
|
+
*
|
|
28
|
+
* A legacy *schema* artifact (`fieldset` / `presetFieldset`) counts only when it
|
|
29
|
+
* actually has entries — an inherited-but-empty `{}` is treated as absent, so it
|
|
30
|
+
* does not pin a node that meant to drop it.
|
|
31
|
+
*
|
|
32
|
+
* Pure decisions (no JSX, no hooks) so they are unit-testable and shared; the
|
|
33
|
+
* legacy callers read the verdict and render accordingly. The modern canvas does
|
|
34
|
+
* NOT use these — it always renders via the loaders (it never had the legacy
|
|
35
|
+
* artifacts).
|
|
36
|
+
*/
|
|
37
|
+
type RenderableInstruction = {
|
|
38
|
+
Component?: unknown;
|
|
39
|
+
ComponentLoader?: unknown;
|
|
40
|
+
};
|
|
41
|
+
type ConfigurableInstruction = {
|
|
42
|
+
fieldset?: unknown;
|
|
43
|
+
FieldsetLoader?: unknown;
|
|
44
|
+
};
|
|
45
|
+
type PresettableInstruction = {
|
|
46
|
+
presetFieldset?: unknown;
|
|
47
|
+
PresetFieldsetLoader?: unknown;
|
|
48
|
+
};
|
|
49
|
+
export type LegacyNodeRenderMode =
|
|
50
|
+
/** Render the legacy Formily `Component` (still on v1, or no v2 loader). */
|
|
51
|
+
'legacy-component'
|
|
52
|
+
/** Render fully via the modern `ComponentLoader` (v1 dropped its `Component`). */
|
|
53
|
+
| 'modern-loader'
|
|
54
|
+
/** Neither renderer — the legacy canvas falls back to its default card. */
|
|
55
|
+
| 'default-card';
|
|
56
|
+
export type LegacyFieldsetRenderMode =
|
|
57
|
+
/** Render the legacy Formily schema (`fieldset` / `presetFieldset` has entries). */
|
|
58
|
+
'legacy-fieldset'
|
|
59
|
+
/** Render via the modern loader (the legacy schema was dropped). */
|
|
60
|
+
| 'modern-loader'
|
|
61
|
+
/** Neither — caller applies its own no-config fallback. */
|
|
62
|
+
| 'none';
|
|
63
|
+
export declare function resolveLegacyNodeRenderMode(instruction: RenderableInstruction | undefined): LegacyNodeRenderMode;
|
|
64
|
+
/** Config-drawer dispatch: legacy `fieldset` (with entries) wins, else the modern
|
|
65
|
+
* `FieldsetLoader`, else neither (caller opens its empty Formily drawer). */
|
|
66
|
+
export declare function resolveLegacyConfigRenderMode(instruction: ConfigurableInstruction | undefined): LegacyFieldsetRenderMode;
|
|
67
|
+
/** Add-time preset dispatch: legacy `presetFieldset` (with entries) wins, else the
|
|
68
|
+
* modern `PresetFieldsetLoader`, else neither (caller applies its preset/branch
|
|
69
|
+
* fallback). */
|
|
70
|
+
export declare function resolveLegacyPresetRenderMode(instruction: PresettableInstruction | undefined): LegacyFieldsetRenderMode;
|
|
71
|
+
/**
|
|
72
|
+
* The stable `workflow-node-type-<type>` hook applied to a node's inner card
|
|
73
|
+
* (`nodeClass`), matching the live `next` DOM. It carries no CSS of its own — it
|
|
74
|
+
* lets external code, tests, and debugging target a node by type. Shared so every
|
|
75
|
+
* card stamps it identically regardless of which renderer (Formily `Component`,
|
|
76
|
+
* the v2 default card, or a v2 `ComponentLoader`) draws the node.
|
|
77
|
+
*/
|
|
78
|
+
export declare function nodeTypeClassName(type: string | undefined): string;
|
|
79
|
+
export {};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is part of the NocoBase (R) project.
|
|
3
|
+
* Copyright (c) 2020-2024 NocoBase Co., Ltd.
|
|
4
|
+
* Authors: NocoBase Team.
|
|
5
|
+
*
|
|
6
|
+
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
|
|
7
|
+
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Pure node-tree helpers shared by the legacy and modern canvases (ADR-0003).
|
|
11
|
+
*
|
|
12
|
+
* Relocated verbatim from `src/client/utils.ts` — Formily-free, hook-free,
|
|
13
|
+
* no `ctx` reads — so both canvases share one copy. v1 re-exports these from
|
|
14
|
+
* here via the allowed `v1 → v2` import direction; the v1 golden-baseline tests
|
|
15
|
+
* re-run unchanged against this copy.
|
|
16
|
+
*/
|
|
17
|
+
/**
|
|
18
|
+
* Wire live `upstream`/`downstream` object refs onto each node from the flat
|
|
19
|
+
* `flow_nodes` list (by `upstreamId`/`downstreamId`). Mutates in place.
|
|
20
|
+
*/
|
|
21
|
+
export declare function linkNodes(nodes: any): void;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is part of the NocoBase (R) project.
|
|
3
|
+
* Copyright (c) 2020-2024 NocoBase Co., Ltd.
|
|
4
|
+
* Authors: NocoBase Team.
|
|
5
|
+
*
|
|
6
|
+
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
|
|
7
|
+
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
|
+
*/
|
|
9
|
+
export declare function extractDependencyKeys(config: Record<string, any>): Set<string>;
|
|
10
|
+
export declare function stripVariableReferences(value: any, keysToRemove: Set<string>): {
|
|
11
|
+
value: any;
|
|
12
|
+
changed: boolean;
|
|
13
|
+
};
|
|
14
|
+
export declare function collectUpstreams(node: any): Set<number>;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is part of the NocoBase (R) project.
|
|
3
|
+
* Copyright (c) 2020-2024 NocoBase Co., Ltd.
|
|
4
|
+
* Authors: NocoBase Team.
|
|
5
|
+
*
|
|
6
|
+
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
|
|
7
|
+
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Collect a branch subtree: every node reachable from `branchHead` following the
|
|
11
|
+
* `downstream` chain, descending into each node's nested branches (children whose
|
|
12
|
+
* `upstream` is that node and which carry a `branchIndex`). Keyed by node id.
|
|
13
|
+
*
|
|
14
|
+
* Verbatim port of v1's `findBranchNodes` (`client/RemoveNodeContext.tsx`). The
|
|
15
|
+
* linked-list fields (`upstream`/`downstream`) are assumed already wired by
|
|
16
|
+
* `linkNodes`.
|
|
17
|
+
*/
|
|
18
|
+
export declare function collectBranchNodes(nodes: any[], branchHead: any): Map<any, any>;
|
|
19
|
+
/**
|
|
20
|
+
* Find the nodes (excluding the target itself) that reference `target`'s output —
|
|
21
|
+
* the set v1 blocks deletion on ("The result of this node has been referenced by
|
|
22
|
+
* other nodes …"). `candidates` is the pool to scan: for a **leaf** node delete
|
|
23
|
+
* it's all other nodes (`$jobsMapByNodeKey` only, `includeScopes: false`); for a
|
|
24
|
+
* **branching** node delete it's the related/downstream subtree
|
|
25
|
+
* (`includeScopes: true`).
|
|
26
|
+
*/
|
|
27
|
+
export declare function findNodesReferencing(candidates: any[], target: {
|
|
28
|
+
key: string;
|
|
29
|
+
}, { includeScopes }?: {
|
|
30
|
+
includeScopes?: boolean;
|
|
31
|
+
}): any[];
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is part of the NocoBase (R) project.
|
|
3
|
+
* Copyright (c) 2020-2024 NocoBase Co., Ltd.
|
|
4
|
+
* Authors: NocoBase Team.
|
|
5
|
+
*
|
|
6
|
+
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
|
|
7
|
+
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
|
+
*/
|
|
9
|
+
declare const useStyles: (props?: unknown) => import("antd-style").ReturnStyles<{
|
|
10
|
+
workflowPageClass: import("antd-style").SerializedStyles;
|
|
11
|
+
dropdownClass: import("antd-style").SerializedStyles;
|
|
12
|
+
workflowVersionDropdownClass: import("antd-style").SerializedStyles;
|
|
13
|
+
executionsDropdownRowClass: import("antd-style").SerializedStyles;
|
|
14
|
+
workflowDetailsDescriptionClass: import("antd-style").SerializedStyles;
|
|
15
|
+
branchBlockClass: import("antd-style").SerializedStyles;
|
|
16
|
+
branchClass: import("antd-style").SerializedStyles;
|
|
17
|
+
nodeBlockClass: import("antd-style").SerializedStyles;
|
|
18
|
+
nodeClass: import("antd-style").SerializedStyles;
|
|
19
|
+
nodeCardClass: import("antd-style").SerializedStyles;
|
|
20
|
+
nodeJobButtonClass: import("antd-style").SerializedStyles;
|
|
21
|
+
nodeHeaderClass: import("antd-style").SerializedStyles;
|
|
22
|
+
nodeMetaClass: import("antd-style").SerializedStyles;
|
|
23
|
+
nodeTitleClass: import("antd-style").SerializedStyles;
|
|
24
|
+
nodeSubtreeClass: import("antd-style").SerializedStyles;
|
|
25
|
+
nodeJobResultClass: import("antd-style").SerializedStyles;
|
|
26
|
+
addButtonClass: import("antd-style").SerializedStyles;
|
|
27
|
+
dropZoneClass: import("antd-style").SerializedStyles;
|
|
28
|
+
pasteButtonClass: import("antd-style").SerializedStyles;
|
|
29
|
+
dragPreviewClass: import("antd-style").SerializedStyles;
|
|
30
|
+
clipboardPreviewClass: import("antd-style").SerializedStyles;
|
|
31
|
+
conditionClass: import("antd-style").SerializedStyles;
|
|
32
|
+
loopLineClass: import("antd-style").SerializedStyles;
|
|
33
|
+
terminalClass: import("antd-style").SerializedStyles;
|
|
34
|
+
}>;
|
|
35
|
+
export default useStyles;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is part of the NocoBase (R) project.
|
|
3
|
+
* Copyright (c) 2020-2024 NocoBase Co., Ltd.
|
|
4
|
+
* Authors: NocoBase Team.
|
|
5
|
+
*
|
|
6
|
+
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
|
|
7
|
+
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
|
+
*/
|
|
9
|
+
export declare function insertTextAtSelection(value: string, insertText: string, start: number, end: number): {
|
|
10
|
+
nextValue: string;
|
|
11
|
+
nextSelectionStart: number;
|
|
12
|
+
nextSelectionEnd: number;
|
|
13
|
+
};
|
|
14
|
+
export declare function setNativeTextAreaValue(input: HTMLTextAreaElement, value: string): void;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is part of the NocoBase (R) project.
|
|
3
|
+
* Copyright (c) 2020-2024 NocoBase Co., Ltd.
|
|
4
|
+
* Authors: NocoBase Team.
|
|
5
|
+
*
|
|
6
|
+
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
|
|
7
|
+
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
|
+
*/
|
|
9
|
+
import type { Instruction } from './Instruction';
|
|
10
|
+
/** The slice of the workflow client plugin the canvas card needs — the
|
|
11
|
+
* `instructions` registry shared by v1 `PluginWorkflowClient` and v2
|
|
12
|
+
* `PluginWorkflowClientV2`. */
|
|
13
|
+
export type WorkflowInstructionPlugin = {
|
|
14
|
+
instructions: {
|
|
15
|
+
get(type: string): Instruction | undefined;
|
|
16
|
+
};
|
|
17
|
+
};
|
|
18
|
+
/** Resolve the current runtime's workflow client plugin via the neutral
|
|
19
|
+
* `'workflow'` alias — v1's or v2's, whichever this runtime loaded. */
|
|
20
|
+
export declare function useWorkflowPlugin(): WorkflowInstructionPlugin | undefined;
|
|
21
|
+
/** Resolve a node type's instruction in a runtime-neutral way. Uses the shared
|
|
22
|
+
* `instructions` registry (present on both plugins), not v2-only `getInstruction`. */
|
|
23
|
+
export declare function useInstruction(type?: string): Instruction | undefined;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is part of the NocoBase (R) project.
|
|
3
|
+
* Copyright (c) 2020-2024 NocoBase Co., Ltd.
|
|
4
|
+
* Authors: NocoBase Team.
|
|
5
|
+
*
|
|
6
|
+
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
|
|
7
|
+
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
|
+
*/
|
|
9
|
+
import type { MetaTreeNode } from '@nocobase/flow-engine';
|
|
10
|
+
export type UseWorkflowVariableOptions = {
|
|
11
|
+
types?: any[];
|
|
12
|
+
fieldNames?: {
|
|
13
|
+
label?: string;
|
|
14
|
+
value?: string;
|
|
15
|
+
children?: string;
|
|
16
|
+
};
|
|
17
|
+
appends?: string[] | null;
|
|
18
|
+
depth?: number;
|
|
19
|
+
/**
|
|
20
|
+
* Include the `$scopes` root. Scope providers (loop / parallel) building
|
|
21
|
+
* their own local variables must disable this when they call back into the
|
|
22
|
+
* workflow aggregator, otherwise the scope chain recursively nests itself.
|
|
23
|
+
*/
|
|
24
|
+
includeScopes?: boolean;
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* Build the workflow variable MetaTree for the current node's config form.
|
|
28
|
+
* Aggregates every scope in v1's display order, dropping the ones that
|
|
29
|
+
* contribute nothing.
|
|
30
|
+
*
|
|
31
|
+
* The result is **referentially stable** across re-renders for the same inputs
|
|
32
|
+
* (memoized on the current node + upstream/scope node keys + workflow id). This
|
|
33
|
+
* is load-bearing for lazy relation expansion: `TypedVariableInput.loadData`
|
|
34
|
+
* resolves a node's children and mutates them onto the meta node in place, then
|
|
35
|
+
* forces a re-render — if this hook returned a brand-new tree each render, that
|
|
36
|
+
* mutated (resolved) child list would be discarded and the cascader column would
|
|
37
|
+
* spin forever. Memoizing keeps the same tree objects alive so the resolved
|
|
38
|
+
* children survive the re-render.
|
|
39
|
+
*/
|
|
40
|
+
export declare function useWorkflowVariableOptions(options?: UseWorkflowVariableOptions): MetaTreeNode[];
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is part of the NocoBase (R) project.
|
|
3
|
+
* Copyright (c) 2020-2024 NocoBase Co., Ltd.
|
|
4
|
+
* Authors: NocoBase Team.
|
|
5
|
+
*
|
|
6
|
+
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
|
|
7
|
+
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
|
+
*/
|
|
9
|
+
import type { MetaTreeNode, VariableHybridInputConverters } from '@nocobase/flow-engine';
|
|
10
|
+
export declare const WORKFLOW_VARIABLE_REGEXP: RegExp;
|
|
11
|
+
export declare function formatWorkflowPathToValue(item?: MetaTreeNode): string;
|
|
12
|
+
export declare function parseWorkflowValueToPath(value?: string): string[];
|
|
13
|
+
export declare const workflowVariableConverters: VariableHybridInputConverters;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is part of the NocoBase (R) project.
|
|
3
|
+
* Copyright (c) 2020-2024 NocoBase Co., Ltd.
|
|
4
|
+
* Authors: NocoBase Team.
|
|
5
|
+
*
|
|
6
|
+
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
|
|
7
|
+
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
|
+
*/
|
|
9
|
+
import type { MetaTreeNode } from '@nocobase/flow-engine';
|
|
10
|
+
import React from 'react';
|
|
11
|
+
export declare const calculators: any;
|
|
12
|
+
export interface CalculationConfigProps {
|
|
13
|
+
value?: any;
|
|
14
|
+
onChange?: (value: any) => void;
|
|
15
|
+
useVariableHook?: () => MetaTreeNode[];
|
|
16
|
+
}
|
|
17
|
+
export declare function CalculationConfig({ value, onChange, useVariableHook, }: CalculationConfigProps): React.JSX.Element;
|
|
18
|
+
export default CalculationConfig;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is part of the NocoBase (R) project.
|
|
3
|
+
* Copyright (c) 2020-2024 NocoBase Co., Ltd.
|
|
4
|
+
* Authors: NocoBase Team.
|
|
5
|
+
*
|
|
6
|
+
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
|
|
7
|
+
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
|
+
*/
|
|
9
|
+
import React from 'react';
|
|
10
|
+
/**
|
|
11
|
+
* Compact, circular status indicator (icon-only Tag) used where a full status
|
|
12
|
+
* label would be too wide — e.g. the execution-switcher dropdown rows. Mirrors
|
|
13
|
+
* v1's `StatusButton`.
|
|
14
|
+
*/
|
|
15
|
+
export declare function ExecutionStatusIcon({ value }: {
|
|
16
|
+
value: number | null;
|
|
17
|
+
}): React.JSX.Element;
|
|
18
|
+
export default ExecutionStatusIcon;
|
|
@@ -7,8 +7,7 @@
|
|
|
7
7
|
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
8
|
*/
|
|
9
9
|
import React from 'react';
|
|
10
|
-
export declare function
|
|
11
|
-
value
|
|
12
|
-
onChange: any;
|
|
13
|
-
disabled: any;
|
|
10
|
+
export declare function ExecutionStatusTag({ value }: {
|
|
11
|
+
value: number | null;
|
|
14
12
|
}): React.JSX.Element;
|
|
13
|
+
export default ExecutionStatusTag;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is part of the NocoBase (R) project.
|
|
3
|
+
* Copyright (c) 2020-2024 NocoBase Co., Ltd.
|
|
4
|
+
* Authors: NocoBase Team.
|
|
5
|
+
*
|
|
6
|
+
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
|
|
7
|
+
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
|
+
*/
|
|
9
|
+
import React from 'react';
|
|
10
|
+
type ExecutionWorkflow = {
|
|
11
|
+
id?: number | string;
|
|
12
|
+
key?: string;
|
|
13
|
+
title?: string;
|
|
14
|
+
};
|
|
15
|
+
type ExecutionViewRecord = {
|
|
16
|
+
id?: number | string;
|
|
17
|
+
key?: string;
|
|
18
|
+
status?: number | null;
|
|
19
|
+
reason?: string;
|
|
20
|
+
createdAt?: string;
|
|
21
|
+
updatedAt?: string;
|
|
22
|
+
workflow?: ExecutionWorkflow;
|
|
23
|
+
};
|
|
24
|
+
export declare function ExecutionViewHeader({ execution, resource, refresh, }: {
|
|
25
|
+
execution: ExecutionViewRecord;
|
|
26
|
+
resource: any;
|
|
27
|
+
refresh: () => void;
|
|
28
|
+
}): React.JSX.Element;
|
|
29
|
+
export default ExecutionViewHeader;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is part of the NocoBase (R) project.
|
|
3
|
+
* Copyright (c) 2020-2024 NocoBase Co., Ltd.
|
|
4
|
+
* Authors: NocoBase Team.
|
|
5
|
+
*
|
|
6
|
+
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
|
|
7
|
+
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
|
+
*/
|
|
9
|
+
import React from 'react';
|
|
10
|
+
export type ExecutionRecord = {
|
|
11
|
+
id?: number | string;
|
|
12
|
+
key?: string;
|
|
13
|
+
status?: number | null;
|
|
14
|
+
createdAt?: string;
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Switch between executions of the same workflow. Loads a window of the
|
|
18
|
+
* executions immediately before and after the current one (by id), mirroring
|
|
19
|
+
* v1's prev/next loading.
|
|
20
|
+
*/
|
|
21
|
+
export declare function ExecutionsDropdown({ execution, refresh }: {
|
|
22
|
+
execution: ExecutionRecord;
|
|
23
|
+
refresh?: () => void;
|
|
24
|
+
}): React.JSX.Element;
|
|
25
|
+
export default ExecutionsDropdown;
|