@nocobase/plugin-workflow 0.10.0-alpha.5 → 0.11.0-alpha.1
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.d.ts +2 -3
- package/client.js +1 -30
- package/lib/client/AddButton.js +1 -8
- package/lib/client/Branch.js +8 -8
- package/lib/client/CanvasContent.js +8 -8
- package/lib/client/ExecutionCanvas.js +20 -27
- package/lib/client/ExecutionPage.js +1 -8
- package/lib/client/WorkflowCanvas.js +3 -10
- package/lib/client/WorkflowPage.js +1 -8
- package/lib/client/WorkflowProvider.js +3 -42
- package/lib/client/components/CollectionFieldset.d.ts +1 -1
- package/lib/client/components/CollectionFieldset.js +8 -15
- package/lib/client/components/Duration.js +5 -5
- package/lib/client/components/DynamicExpression.d.ts +3 -3
- package/lib/client/components/DynamicExpression.js +14 -4
- package/lib/client/components/FieldsSelect.d.ts +1 -1
- package/lib/client/components/FieldsSelect.js +6 -6
- package/lib/client/components/NodeDescription.js +11 -11
- package/lib/client/components/RadioWithTooltip.js +13 -20
- package/lib/client/components/ValueBlock.js +14 -21
- package/lib/client/components/renderEngineReference.js +1 -8
- package/lib/client/index.d.ts +12 -4
- package/lib/client/index.js +78 -15
- package/lib/client/nodes/aggregate.d.ts +10 -4
- package/lib/client/nodes/aggregate.js +12 -9
- package/lib/client/nodes/calculation.d.ts +11 -16
- package/lib/client/nodes/calculation.js +72 -52
- package/lib/client/nodes/condition.d.ts +2 -6
- package/lib/client/nodes/condition.js +20 -24
- package/lib/client/nodes/create.d.ts +8 -5
- package/lib/client/nodes/create.js +34 -7
- package/lib/client/nodes/destroy.d.ts +1 -1
- package/lib/client/nodes/index.d.ts +4 -4
- package/lib/client/nodes/index.js +79 -86
- package/lib/client/nodes/loop.d.ts +3 -1
- package/lib/client/nodes/loop.js +48 -35
- package/lib/client/nodes/manual/ModeConfig.js +23 -30
- package/lib/client/nodes/manual/SchemaConfig.d.ts +3 -3
- package/lib/client/nodes/manual/SchemaConfig.js +18 -17
- package/lib/client/nodes/manual/WorkflowTodo.js +66 -72
- package/lib/client/nodes/manual/WorkflowTodoBlockInitializer.d.ts +2 -5
- package/lib/client/nodes/manual/WorkflowTodoBlockInitializer.js +6 -5
- package/lib/client/nodes/manual/forms/custom.js +11 -18
- package/lib/client/nodes/manual/index.d.ts +11 -5
- package/lib/client/nodes/manual/index.js +21 -10
- package/lib/client/nodes/parallel.js +20 -20
- package/lib/client/nodes/query.d.ts +7 -4
- package/lib/client/nodes/query.js +34 -7
- package/lib/client/nodes/request.d.ts +10 -6
- package/lib/client/nodes/request.js +37 -9
- package/lib/client/nodes/update.d.ts +2 -2
- package/lib/client/nodes/update.js +1 -1
- package/lib/client/schemas/collection.d.ts +1 -1
- package/lib/client/schemas/collection.js +3 -10
- package/lib/client/style.js +18 -18
- package/lib/client/triggers/collection.d.ts +4 -3
- package/lib/client/triggers/collection.js +21 -7
- package/lib/client/triggers/index.d.ts +2 -2
- package/lib/client/triggers/index.js +46 -52
- package/lib/client/triggers/schedule/DateFieldsSelect.js +1 -1
- package/lib/client/triggers/schedule/EndsByField.js +11 -11
- package/lib/client/triggers/schedule/OnField.js +11 -11
- package/lib/client/triggers/schedule/RepeatField.js +4 -4
- package/lib/client/triggers/schedule/ScheduleConfig.js +17 -24
- package/lib/client/triggers/schedule/index.d.ts +3 -4
- package/lib/client/triggers/schedule/index.js +21 -11
- package/lib/client/variable.d.ts +3 -4
- package/lib/client/variable.js +110 -45
- package/lib/server/Plugin.d.ts +2 -3
- package/lib/server/Plugin.js +8 -9
- package/lib/server/Processor.d.ts +2 -4
- package/lib/server/actions/nodes.js +7 -7
- package/lib/server/fields/expression-field.d.ts +1 -2
- package/lib/server/fields/expression-field.js +1 -8
- package/lib/server/functions/index.d.ts +2 -3
- package/lib/server/index.d.ts +1 -0
- package/lib/server/index.js +12 -0
- package/lib/server/instructions/aggregate.d.ts +1 -1
- package/lib/server/instructions/aggregate.js +5 -5
- package/lib/server/instructions/condition.d.ts +2 -1
- package/lib/server/instructions/create.d.ts +1 -1
- package/lib/server/instructions/delay.d.ts +3 -3
- package/lib/server/instructions/delay.js +66 -64
- package/lib/server/instructions/destroy.d.ts +1 -1
- package/lib/server/instructions/index.d.ts +5 -5
- package/lib/server/instructions/loop.d.ts +1 -2
- package/lib/server/instructions/manual/actions.js +1 -1
- package/lib/server/instructions/manual/forms/index.d.ts +1 -1
- package/lib/server/instructions/manual/index.d.ts +1 -1
- package/lib/server/instructions/parallel.d.ts +1 -2
- package/lib/server/instructions/query.d.ts +1 -1
- package/lib/server/instructions/request.d.ts +2 -2
- package/lib/server/instructions/request.js +1 -0
- package/lib/server/instructions/update.d.ts +1 -1
- package/lib/server/migrations/20230221071831-calculation-expression.js +1 -1
- package/lib/server/migrations/20230221121203-condition-calculation.js +1 -1
- package/lib/server/migrations/20230221162902-jsonb-to-json.js +7 -7
- package/lib/server/migrations/20230411034722-manual-multi-form.js +1 -8
- package/lib/server/triggers/collection.d.ts +1 -1
- package/lib/server/triggers/collection.js +2 -2
- package/lib/server/triggers/index.d.ts +1 -1
- package/lib/server/triggers/schedule.d.ts +1 -1
- package/lib/server/triggers/schedule.js +18 -18
- package/lib/server/{models → types}/Execution.d.ts +2 -3
- package/lib/server/{models → types}/FlowNode.d.ts +1 -2
- package/lib/server/{models → types}/Job.d.ts +1 -2
- package/lib/server/{models → types}/Workflow.d.ts +1 -2
- package/lib/server/types/index.d.ts +4 -0
- package/lib/server/types/index.js +5 -0
- package/package.json +40 -20
- package/server.d.ts +2 -3
- package/server.js +1 -30
- package/src/client/AddButton.tsx +99 -0
- package/src/client/Branch.tsx +35 -0
- package/src/client/CanvasContent.tsx +23 -0
- package/src/client/ExecutionCanvas.tsx +168 -0
- package/src/client/ExecutionLink.tsx +16 -0
- package/src/client/ExecutionPage.tsx +44 -0
- package/src/client/ExecutionResourceProvider.tsx +21 -0
- package/src/client/FlowContext.ts +7 -0
- package/src/client/WorkflowCanvas.tsx +220 -0
- package/src/client/WorkflowLink.tsx +16 -0
- package/src/client/WorkflowPage.tsx +51 -0
- package/src/client/WorkflowProvider.tsx +84 -0
- package/src/client/components/CollectionBlockInitializer.tsx +71 -0
- package/src/client/components/CollectionFieldset.tsx +158 -0
- package/src/client/components/Duration.tsx +45 -0
- package/src/client/components/DynamicExpression.tsx +53 -0
- package/src/client/components/FieldsSelect.tsx +28 -0
- package/src/client/components/FilterDynamicComponent.tsx +15 -0
- package/src/client/components/NodeDescription.tsx +44 -0
- package/src/client/components/NullRender.tsx +3 -0
- package/src/client/components/OpenDrawer.tsx +24 -0
- package/src/client/components/RadioWithTooltip.tsx +38 -0
- package/src/client/components/ValueBlock.tsx +67 -0
- package/src/client/components/renderEngineReference.tsx +30 -0
- package/src/client/constants.tsx +91 -0
- package/src/client/index.tsx +51 -0
- package/src/client/interfaces/expression.tsx +25 -0
- package/src/client/locale/en-US.ts +136 -0
- package/src/client/locale/es-ES.ts +129 -0
- package/src/client/locale/index.ts +18 -0
- package/src/client/locale/ja-JP.ts +90 -0
- package/src/client/locale/pt-BR.ts +136 -0
- package/src/client/locale/ru-RU.ts +90 -0
- package/src/client/locale/tr-TR.ts +90 -0
- package/src/client/locale/zh-CN.ts +242 -0
- package/src/client/nodes/aggregate.tsx +327 -0
- package/src/client/nodes/calculation.tsx +217 -0
- package/src/client/nodes/condition.tsx +490 -0
- package/src/client/nodes/create.tsx +86 -0
- package/src/client/nodes/delay.tsx +37 -0
- package/src/client/nodes/destroy.tsx +34 -0
- package/src/client/nodes/index.tsx +489 -0
- package/src/client/nodes/loop.tsx +159 -0
- package/src/client/nodes/manual/AssigneesSelect.tsx +33 -0
- package/src/client/nodes/manual/DetailsBlockProvider.tsx +80 -0
- package/src/client/nodes/manual/FormBlockInitializer.tsx +68 -0
- package/src/client/nodes/manual/FormBlockProvider.tsx +75 -0
- package/src/client/nodes/manual/ModeConfig.tsx +84 -0
- package/src/client/nodes/manual/SchemaConfig.tsx +365 -0
- package/src/client/nodes/manual/WorkflowTodo.tsx +611 -0
- package/src/client/nodes/manual/WorkflowTodoBlockInitializer.tsx +28 -0
- package/src/client/nodes/manual/forms/create.tsx +88 -0
- package/src/client/nodes/manual/forms/custom.tsx +388 -0
- package/src/client/nodes/manual/forms/update.tsx +130 -0
- package/src/client/nodes/manual/index.tsx +162 -0
- package/src/client/nodes/manual/utils.ts +28 -0
- package/src/client/nodes/parallel.tsx +137 -0
- package/src/client/nodes/query.tsx +89 -0
- package/src/client/nodes/request.tsx +185 -0
- package/src/client/nodes/update.tsx +99 -0
- package/src/client/schemas/collection.ts +75 -0
- package/src/client/schemas/executions.tsx +169 -0
- package/src/client/schemas/workflows.ts +364 -0
- package/src/client/style.tsx +312 -0
- package/src/client/triggers/collection.tsx +186 -0
- package/src/client/triggers/index.tsx +307 -0
- package/src/client/triggers/schedule/DateFieldsSelect.tsx +28 -0
- package/src/client/triggers/schedule/EndsByField.tsx +40 -0
- package/src/client/triggers/schedule/OnField.tsx +50 -0
- package/src/client/triggers/schedule/RepeatField.tsx +116 -0
- package/src/client/triggers/schedule/ScheduleConfig.tsx +225 -0
- package/src/client/triggers/schedule/constants.ts +4 -0
- package/src/client/triggers/schedule/index.tsx +72 -0
- package/src/client/triggers/schedule/locale/Cron.zh-CN.ts +79 -0
- package/src/client/utils.ts +36 -0
- package/src/client/variable.tsx +296 -0
- package/src/index.ts +1 -0
- package/src/server/Plugin.ts +351 -0
- package/src/server/Processor.ts +354 -0
- package/src/server/__tests__/Plugin.test.ts +398 -0
- package/src/server/__tests__/Processor.test.ts +474 -0
- package/src/server/__tests__/actions/workflows.test.ts +419 -0
- package/src/server/__tests__/collections/categories.ts +23 -0
- package/src/server/__tests__/collections/comments.ts +24 -0
- package/src/server/__tests__/collections/posts.ts +42 -0
- package/src/server/__tests__/collections/replies.ts +9 -0
- package/src/server/__tests__/collections/tags.ts +15 -0
- package/src/server/__tests__/index.ts +89 -0
- package/src/server/__tests__/instructions/aggregate.test.ts +294 -0
- package/src/server/__tests__/instructions/calculation.test.ts +265 -0
- package/src/server/__tests__/instructions/condition.test.ts +335 -0
- package/src/server/__tests__/instructions/create.test.ts +129 -0
- package/src/server/__tests__/instructions/delay.test.ts +182 -0
- package/src/server/__tests__/instructions/destroy.test.ts +58 -0
- package/src/server/__tests__/instructions/loop.test.ts +331 -0
- package/src/server/__tests__/instructions/manual.test.ts +854 -0
- package/src/server/__tests__/instructions/parallel.test.ts +445 -0
- package/src/server/__tests__/instructions/query.test.ts +359 -0
- package/src/server/__tests__/instructions/request.test.ts +217 -0
- package/src/server/__tests__/instructions/update.test.ts +189 -0
- package/src/server/__tests__/triggers/collection.test.ts +298 -0
- package/src/server/__tests__/triggers/schedule.test.ts +369 -0
- package/src/server/actions/index.ts +25 -0
- package/src/server/actions/nodes.ts +214 -0
- package/src/server/actions/workflows.ts +178 -0
- package/src/server/collections/executions.ts +35 -0
- package/src/server/collections/flow_nodes.ts +54 -0
- package/src/server/collections/jobs.ts +31 -0
- package/src/server/collections/workflows.ts +88 -0
- package/src/server/constants.ts +26 -0
- package/src/server/fields/expression-field.ts +11 -0
- package/src/server/fields/index.ts +7 -0
- package/src/server/functions/index.ts +16 -0
- package/src/server/index.ts +6 -0
- package/src/server/instructions/aggregate.ts +42 -0
- package/src/server/instructions/calculation.ts +41 -0
- package/src/server/instructions/condition.ts +172 -0
- package/src/server/instructions/create.ts +37 -0
- package/src/server/instructions/delay.ts +105 -0
- package/src/server/instructions/destroy.ts +23 -0
- package/src/server/instructions/index.ts +63 -0
- package/src/server/instructions/loop.ts +99 -0
- package/src/server/instructions/manual/actions.ts +79 -0
- package/src/server/instructions/manual/collecions/jobs.ts +17 -0
- package/src/server/instructions/manual/collecions/users.ts +15 -0
- package/src/server/instructions/manual/collecions/users_jobs.ts +50 -0
- package/src/server/instructions/manual/forms/create.ts +22 -0
- package/src/server/instructions/manual/forms/index.ts +12 -0
- package/src/server/instructions/manual/forms/update.ts +22 -0
- package/src/server/instructions/manual/index.ts +184 -0
- package/src/server/instructions/parallel.ts +121 -0
- package/src/server/instructions/query.ts +31 -0
- package/src/server/instructions/request.ts +87 -0
- package/src/server/instructions/update.ts +24 -0
- package/src/server/migrations/20221129153547-calculation-variables.ts +64 -0
- package/src/server/migrations/20230221032941-change-request-body-type.ts +76 -0
- package/src/server/migrations/20230221071831-calculation-expression.ts +102 -0
- package/src/server/migrations/20230221121203-condition-calculation.ts +82 -0
- package/src/server/migrations/20230221162902-jsonb-to-json.ts +51 -0
- package/src/server/migrations/20230411034722-manual-multi-form.ts +282 -0
- package/src/server/migrations/20230612021134-manual-collection-block.ts +138 -0
- package/src/server/triggers/collection.ts +142 -0
- package/src/server/triggers/index.ts +22 -0
- package/src/server/triggers/schedule.ts +567 -0
- package/src/server/types/Execution.ts +26 -0
- package/src/server/types/FlowNode.ts +21 -0
- package/src/server/types/Job.ts +18 -0
- package/src/server/types/Workflow.ts +36 -0
- package/src/server/types/index.ts +4 -0
- /package/lib/server/{models → types}/Execution.js +0 -0
- /package/lib/server/{models → types}/FlowNode.js +0 -0
- /package/lib/server/{models → types}/Job.js +0 -0
- /package/lib/server/{models → types}/Workflow.js +0 -0
|
@@ -12,13 +12,6 @@ exports.instructions = void 0;
|
|
|
12
12
|
exports.useAvailableUpstreams = useAvailableUpstreams;
|
|
13
13
|
exports.useNodeContext = useNodeContext;
|
|
14
14
|
exports.useUpstreamScopes = useUpstreamScopes;
|
|
15
|
-
function _react() {
|
|
16
|
-
const data = _interopRequireWildcard(require("react"));
|
|
17
|
-
_react = function _react() {
|
|
18
|
-
return data;
|
|
19
|
-
};
|
|
20
|
-
return data;
|
|
21
|
-
}
|
|
22
15
|
function _icons() {
|
|
23
16
|
const data = require("@ant-design/icons");
|
|
24
17
|
_icons = function _icons() {
|
|
@@ -26,66 +19,66 @@ function _icons() {
|
|
|
26
19
|
};
|
|
27
20
|
return data;
|
|
28
21
|
}
|
|
29
|
-
function
|
|
30
|
-
const data = require("@
|
|
31
|
-
|
|
22
|
+
function _react() {
|
|
23
|
+
const data = require("@formily/react");
|
|
24
|
+
_react = function _react() {
|
|
32
25
|
return data;
|
|
33
26
|
};
|
|
34
27
|
return data;
|
|
35
28
|
}
|
|
36
|
-
function
|
|
37
|
-
const data = require("@
|
|
38
|
-
|
|
29
|
+
function _client() {
|
|
30
|
+
const data = require("@nocobase/client");
|
|
31
|
+
_client = function _client() {
|
|
39
32
|
return data;
|
|
40
33
|
};
|
|
41
34
|
return data;
|
|
42
35
|
}
|
|
43
|
-
function
|
|
44
|
-
const data = require("
|
|
45
|
-
|
|
36
|
+
function _client2() {
|
|
37
|
+
const data = require("@nocobase/utils/client");
|
|
38
|
+
_client2 = function _client2() {
|
|
46
39
|
return data;
|
|
47
40
|
};
|
|
48
41
|
return data;
|
|
49
42
|
}
|
|
50
|
-
function
|
|
51
|
-
const data = require("
|
|
52
|
-
|
|
43
|
+
function _antd() {
|
|
44
|
+
const data = require("antd");
|
|
45
|
+
_antd = function _antd() {
|
|
53
46
|
return data;
|
|
54
47
|
};
|
|
55
48
|
return data;
|
|
56
49
|
}
|
|
57
|
-
function
|
|
58
|
-
const data = require("
|
|
59
|
-
|
|
50
|
+
function _react2() {
|
|
51
|
+
const data = _interopRequireWildcard(require("react"));
|
|
52
|
+
_react2 = function _react2() {
|
|
60
53
|
return data;
|
|
61
54
|
};
|
|
62
55
|
return data;
|
|
63
56
|
}
|
|
64
|
-
function
|
|
65
|
-
const data = require("
|
|
66
|
-
|
|
57
|
+
function _reactI18next() {
|
|
58
|
+
const data = require("react-i18next");
|
|
59
|
+
_reactI18next = function _reactI18next() {
|
|
67
60
|
return data;
|
|
68
61
|
};
|
|
69
62
|
return data;
|
|
70
63
|
}
|
|
71
|
-
var _style = require("../style");
|
|
72
64
|
var _AddButton = require("../AddButton");
|
|
73
65
|
var _FlowContext = require("../FlowContext");
|
|
66
|
+
var _NodeDescription = require("../components/NodeDescription");
|
|
67
|
+
var _constants = require("../constants");
|
|
68
|
+
var _locale = require("../locale");
|
|
69
|
+
var _style = require("../style");
|
|
70
|
+
var _aggregate = _interopRequireDefault(require("./aggregate"));
|
|
74
71
|
var _calculation = _interopRequireDefault(require("./calculation"));
|
|
75
72
|
var _condition = _interopRequireDefault(require("./condition"));
|
|
76
|
-
var
|
|
77
|
-
var _loop = _interopRequireDefault(require("./loop"));
|
|
73
|
+
var _create = _interopRequireDefault(require("./create"));
|
|
78
74
|
var _delay = _interopRequireDefault(require("./delay"));
|
|
75
|
+
var _destroy = _interopRequireDefault(require("./destroy"));
|
|
76
|
+
var _loop = _interopRequireDefault(require("./loop"));
|
|
79
77
|
var _manual = _interopRequireDefault(require("./manual"));
|
|
78
|
+
var _parallel = _interopRequireDefault(require("./parallel"));
|
|
80
79
|
var _query = _interopRequireDefault(require("./query"));
|
|
81
|
-
var _create = _interopRequireDefault(require("./create"));
|
|
82
|
-
var _update = _interopRequireDefault(require("./update"));
|
|
83
|
-
var _destroy = _interopRequireDefault(require("./destroy"));
|
|
84
|
-
var _aggregate = _interopRequireDefault(require("./aggregate"));
|
|
85
|
-
var _constants = require("../constants");
|
|
86
|
-
var _locale = require("../locale");
|
|
87
80
|
var _request = _interopRequireDefault(require("./request"));
|
|
88
|
-
var
|
|
81
|
+
var _update = _interopRequireDefault(require("./update"));
|
|
89
82
|
const _excluded = ["job"];
|
|
90
83
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
91
84
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
@@ -105,7 +98,7 @@ function _objectWithoutProperties(source, excluded) { if (source == null) return
|
|
|
105
98
|
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
106
99
|
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
|
|
107
100
|
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
|
108
|
-
const instructions = new (
|
|
101
|
+
const instructions = new (_client2().Registry)();
|
|
109
102
|
exports.instructions = instructions;
|
|
110
103
|
instructions.register('calculation', _calculation.default);
|
|
111
104
|
instructions.register('condition', _condition.default);
|
|
@@ -120,10 +113,10 @@ instructions.register('destroy', _destroy.default);
|
|
|
120
113
|
instructions.register('aggregate', _aggregate.default);
|
|
121
114
|
instructions.register('request', _request.default);
|
|
122
115
|
function useUpdateAction() {
|
|
123
|
-
const form = (0,
|
|
124
|
-
const api = (0,
|
|
125
|
-
const ctx = (0,
|
|
126
|
-
const _useResourceActionCon = (0,
|
|
116
|
+
const form = (0, _react().useForm)();
|
|
117
|
+
const api = (0, _client().useAPIClient)();
|
|
118
|
+
const ctx = (0, _client().useActionContext)();
|
|
119
|
+
const _useResourceActionCon = (0, _client().useResourceActionContext)(),
|
|
127
120
|
refresh = _useResourceActionCon.refresh;
|
|
128
121
|
const data = useNodeContext();
|
|
129
122
|
const _useFlowContext = (0, _FlowContext.useFlowContext)(),
|
|
@@ -149,10 +142,10 @@ function useUpdateAction() {
|
|
|
149
142
|
}
|
|
150
143
|
};
|
|
151
144
|
}
|
|
152
|
-
const NodeContext =
|
|
145
|
+
const NodeContext = _react2().default.createContext({});
|
|
153
146
|
exports.NodeContext = NodeContext;
|
|
154
147
|
function useNodeContext() {
|
|
155
|
-
return (0,
|
|
148
|
+
return (0, _react2().useContext)(NodeContext);
|
|
156
149
|
}
|
|
157
150
|
function useAvailableUpstreams(node) {
|
|
158
151
|
const stack = [];
|
|
@@ -183,16 +176,16 @@ function Node({
|
|
|
183
176
|
_instructions$get$com = _instructions$get.component,
|
|
184
177
|
Component = _instructions$get$com === void 0 ? NodeDefaultView : _instructions$get$com,
|
|
185
178
|
endding = _instructions$get.endding;
|
|
186
|
-
return
|
|
179
|
+
return _react2().default.createElement(NodeContext.Provider, {
|
|
187
180
|
value: data
|
|
188
|
-
},
|
|
189
|
-
className: (0,
|
|
190
|
-
},
|
|
181
|
+
}, _react2().default.createElement("div", {
|
|
182
|
+
className: (0, _client().cx)(_style.nodeBlockClass)
|
|
183
|
+
}, _react2().default.createElement(Component, {
|
|
191
184
|
data: data
|
|
192
|
-
}), !endding ?
|
|
185
|
+
}), !endding ? _react2().default.createElement(_AddButton.AddButton, {
|
|
193
186
|
upstream: data
|
|
194
|
-
}) :
|
|
195
|
-
className: (0,
|
|
187
|
+
}) : _react2().default.createElement("div", {
|
|
188
|
+
className: (0, _client().css)`
|
|
196
189
|
flex-grow: 1;
|
|
197
190
|
display: flex;
|
|
198
191
|
flex-direction: column;
|
|
@@ -201,20 +194,20 @@ function Node({
|
|
|
201
194
|
width: 1px;
|
|
202
195
|
height: 6em;
|
|
203
196
|
padding: 2em 0;
|
|
204
|
-
background-color:
|
|
197
|
+
background-color: var(--nb-box-bg);
|
|
205
198
|
|
|
206
199
|
.anticon {
|
|
207
200
|
font-size: 1.5em;
|
|
208
201
|
line-height: 100%;
|
|
209
202
|
}
|
|
210
203
|
`
|
|
211
|
-
},
|
|
204
|
+
}, _react2().default.createElement(_icons().CloseOutlined, null))));
|
|
212
205
|
}
|
|
213
206
|
function RemoveButton() {
|
|
214
207
|
var _useFlowContext2;
|
|
215
208
|
const _useTranslation = (0, _reactI18next().useTranslation)(),
|
|
216
209
|
t = _useTranslation.t;
|
|
217
|
-
const api = (0,
|
|
210
|
+
const api = (0, _client().useAPIClient)();
|
|
218
211
|
const _ref = (_useFlowContext2 = (0, _FlowContext.useFlowContext)()) !== null && _useFlowContext2 !== void 0 ? _useFlowContext2 : {},
|
|
219
212
|
workflow = _ref.workflow,
|
|
220
213
|
nodes = _ref.nodes,
|
|
@@ -246,7 +239,7 @@ function RemoveButton() {
|
|
|
246
239
|
if (node === current) {
|
|
247
240
|
return false;
|
|
248
241
|
}
|
|
249
|
-
const template = (0,
|
|
242
|
+
const template = (0, _client2().parse)(node.config);
|
|
250
243
|
const refs = template.parameters.filter(({
|
|
251
244
|
key
|
|
252
245
|
}) => key.startsWith(`$jobsMapByNodeId.${current.id}.`) || key === `$jobsMapByNodeId.${current.id}`);
|
|
@@ -271,10 +264,10 @@ function RemoveButton() {
|
|
|
271
264
|
});
|
|
272
265
|
return _onRemove.apply(this, arguments);
|
|
273
266
|
}
|
|
274
|
-
return workflow.executed ? null :
|
|
267
|
+
return workflow.executed ? null : _react2().default.createElement(_antd().Button, {
|
|
275
268
|
type: "text",
|
|
276
269
|
shape: "circle",
|
|
277
|
-
icon:
|
|
270
|
+
icon: _react2().default.createElement(_icons().DeleteOutlined, null),
|
|
278
271
|
onClick: onRemove,
|
|
279
272
|
className: "workflow-node-remove-button"
|
|
280
273
|
});
|
|
@@ -285,10 +278,10 @@ function InnerJobButton(_ref2) {
|
|
|
285
278
|
const _JobStatusOptionsMap$ = _constants.JobStatusOptionsMap[job.status],
|
|
286
279
|
icon = _JobStatusOptionsMap$.icon,
|
|
287
280
|
color = _JobStatusOptionsMap$.color;
|
|
288
|
-
return
|
|
281
|
+
return _react2().default.createElement(_antd().Button, _objectSpread(_objectSpread({}, props), {}, {
|
|
289
282
|
shape: "circle",
|
|
290
|
-
className: (0,
|
|
291
|
-
}),
|
|
283
|
+
className: (0, _client().cx)(_style.nodeJobButtonClass, props.className)
|
|
284
|
+
}), _react2().default.createElement(_antd().Tag, {
|
|
292
285
|
color: color
|
|
293
286
|
}, icon));
|
|
294
287
|
}
|
|
@@ -303,8 +296,8 @@ function JobButton() {
|
|
|
303
296
|
return null;
|
|
304
297
|
}
|
|
305
298
|
if (!jobs.length) {
|
|
306
|
-
return
|
|
307
|
-
className: (0,
|
|
299
|
+
return _react2().default.createElement("span", {
|
|
300
|
+
className: (0, _client().cx)(_style.nodeJobButtonClass, (0, _client().css)`
|
|
308
301
|
border: 2px solid #d9d9d9;
|
|
309
302
|
border-radius: 50%;
|
|
310
303
|
cursor: not-allowed;
|
|
@@ -317,7 +310,7 @@ function JobButton() {
|
|
|
317
310
|
const job = jobs.find(item => item.id == key);
|
|
318
311
|
setViewJob(job);
|
|
319
312
|
}
|
|
320
|
-
return jobs.length > 1 ?
|
|
313
|
+
return jobs.length > 1 ? _react2().default.createElement(_antd().Dropdown, {
|
|
321
314
|
menu: {
|
|
322
315
|
items: jobs.map(job => {
|
|
323
316
|
const _JobStatusOptionsMap$2 = _constants.JobStatusOptionsMap[job.status],
|
|
@@ -325,8 +318,8 @@ function JobButton() {
|
|
|
325
318
|
color = _JobStatusOptionsMap$2.color;
|
|
326
319
|
return {
|
|
327
320
|
key: job.id,
|
|
328
|
-
label:
|
|
329
|
-
className: (0,
|
|
321
|
+
label: _react2().default.createElement("div", {
|
|
322
|
+
className: (0, _client().css)`
|
|
330
323
|
display: flex;
|
|
331
324
|
gap: 0.5em;
|
|
332
325
|
|
|
@@ -335,18 +328,18 @@ function JobButton() {
|
|
|
335
328
|
font-size: 0.8em;
|
|
336
329
|
}
|
|
337
330
|
`
|
|
338
|
-
},
|
|
339
|
-
className: (0,
|
|
340
|
-
},
|
|
331
|
+
}, _react2().default.createElement("span", {
|
|
332
|
+
className: (0, _client().cx)(_style.nodeJobButtonClass, 'inner')
|
|
333
|
+
}, _react2().default.createElement(_antd().Tag, {
|
|
341
334
|
color: color
|
|
342
|
-
}, icon)),
|
|
335
|
+
}, icon)), _react2().default.createElement("time", null, (0, _client2().str2moment)(job.updatedAt).format('YYYY-MM-DD HH:mm:ss')))
|
|
343
336
|
};
|
|
344
337
|
}),
|
|
345
338
|
onClick: onOpenJob
|
|
346
339
|
}
|
|
347
|
-
},
|
|
340
|
+
}, _react2().default.createElement(InnerJobButton, {
|
|
348
341
|
job: jobs[jobs.length - 1]
|
|
349
|
-
})) :
|
|
342
|
+
})) : _react2().default.createElement(InnerJobButton, {
|
|
350
343
|
job: jobs[0],
|
|
351
344
|
onClick: () => setViewJob(jobs[0])
|
|
352
345
|
});
|
|
@@ -355,19 +348,19 @@ function NodeDefaultView(props) {
|
|
|
355
348
|
var _useFlowContext4, _data$title;
|
|
356
349
|
const data = props.data,
|
|
357
350
|
children = props.children;
|
|
358
|
-
const compile = (0,
|
|
359
|
-
const api = (0,
|
|
351
|
+
const compile = (0, _client().useCompile)();
|
|
352
|
+
const api = (0, _client().useAPIClient)();
|
|
360
353
|
const _ref4 = (_useFlowContext4 = (0, _FlowContext.useFlowContext)()) !== null && _useFlowContext4 !== void 0 ? _useFlowContext4 : {},
|
|
361
354
|
workflow = _ref4.workflow,
|
|
362
355
|
refresh = _ref4.refresh;
|
|
363
356
|
const instruction = instructions.get(data.type);
|
|
364
357
|
const detailText = workflow.executed ? '{{t("View")}}' : '{{t("Configure")}}';
|
|
365
358
|
const typeTitle = compile(instruction.title);
|
|
366
|
-
const _useState = (0,
|
|
359
|
+
const _useState = (0, _react2().useState)((_data$title = data.title) !== null && _data$title !== void 0 ? _data$title : typeTitle),
|
|
367
360
|
_useState2 = _slicedToArray(_useState, 2),
|
|
368
361
|
editingTitle = _useState2[0],
|
|
369
362
|
setEditingTitle = _useState2[1];
|
|
370
|
-
const _useState3 = (0,
|
|
363
|
+
const _useState3 = (0, _react2().useState)(false),
|
|
371
364
|
_useState4 = _slicedToArray(_useState3, 2),
|
|
372
365
|
editingConfig = _useState4[0],
|
|
373
366
|
setEditingConfig = _useState4[1];
|
|
@@ -406,29 +399,29 @@ function NodeDefaultView(props) {
|
|
|
406
399
|
}
|
|
407
400
|
}
|
|
408
401
|
}
|
|
409
|
-
return
|
|
410
|
-
className: (0,
|
|
411
|
-
},
|
|
412
|
-
className: (0,
|
|
402
|
+
return _react2().default.createElement("div", {
|
|
403
|
+
className: (0, _client().cx)(_style.nodeClass, `workflow-node-type-${data.type}`)
|
|
404
|
+
}, _react2().default.createElement("div", {
|
|
405
|
+
className: (0, _client().cx)(_style.nodeCardClass, {
|
|
413
406
|
configuring: editingConfig
|
|
414
407
|
}),
|
|
415
408
|
onClick: onOpenDrawer
|
|
416
|
-
},
|
|
417
|
-
className: (0,
|
|
418
|
-
},
|
|
409
|
+
}, _react2().default.createElement("div", {
|
|
410
|
+
className: (0, _client().cx)(_style.nodeMetaClass, 'workflow-node-meta')
|
|
411
|
+
}, _react2().default.createElement(_antd().Tag, null, typeTitle), _react2().default.createElement("span", {
|
|
419
412
|
className: "workflow-node-id"
|
|
420
|
-
}, data.id)),
|
|
413
|
+
}, data.id)), _react2().default.createElement("div", null, _react2().default.createElement(_antd().Input.TextArea, {
|
|
421
414
|
disabled: workflow.executed,
|
|
422
415
|
value: editingTitle,
|
|
423
416
|
onChange: ev => setEditingTitle(ev.target.value),
|
|
424
417
|
onBlur: ev => onChangeTitle(ev.target.value),
|
|
425
418
|
autoSize: true
|
|
426
|
-
})),
|
|
419
|
+
})), _react2().default.createElement(RemoveButton, null), _react2().default.createElement(JobButton, null), _react2().default.createElement(_client().ActionContextProvider, {
|
|
427
420
|
value: {
|
|
428
421
|
visible: editingConfig,
|
|
429
422
|
setVisible: setEditingConfig
|
|
430
423
|
}
|
|
431
|
-
},
|
|
424
|
+
}, _react2().default.createElement(_client().SchemaComponent, {
|
|
432
425
|
scope: instruction.scope,
|
|
433
426
|
components: instruction.components,
|
|
434
427
|
schema: {
|
|
@@ -455,7 +448,7 @@ function NodeDefaultView(props) {
|
|
|
455
448
|
useValues(options) {
|
|
456
449
|
const _useNodeContext2 = useNodeContext(),
|
|
457
450
|
config = _useNodeContext2.config;
|
|
458
|
-
return (0,
|
|
451
|
+
return (0, _client().useRequest)(() => {
|
|
459
452
|
return Promise.resolve({
|
|
460
453
|
data: config
|
|
461
454
|
});
|
|
@@ -470,7 +463,7 @@ function NodeDefaultView(props) {
|
|
|
470
463
|
type: 'warning',
|
|
471
464
|
showIcon: true,
|
|
472
465
|
message: `{{t("Node in executed workflow cannot be modified", { ns: "${_locale.NAMESPACE}" })}}`,
|
|
473
|
-
className: (0,
|
|
466
|
+
className: (0, _client().css)`
|
|
474
467
|
width: 100%;
|
|
475
468
|
font-size: 85%;
|
|
476
469
|
margin-bottom: 2em;
|
|
@@ -490,7 +483,7 @@ function NodeDefaultView(props) {
|
|
|
490
483
|
type: 'void',
|
|
491
484
|
'x-component': 'fieldset',
|
|
492
485
|
'x-component-props': {
|
|
493
|
-
className: (0,
|
|
486
|
+
className: (0, _client().css)`
|
|
494
487
|
.ant-select,
|
|
495
488
|
.ant-cascader-picker,
|
|
496
489
|
.ant-picker,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { VariableOption, useWorkflowVariableOptions } from '../variable';
|
|
3
3
|
declare const _default: {
|
|
4
4
|
title: string;
|
|
5
5
|
type: string;
|
|
@@ -14,7 +14,9 @@ declare const _default: {
|
|
|
14
14
|
'x-component': string;
|
|
15
15
|
'x-component-props': {
|
|
16
16
|
scope: string;
|
|
17
|
+
changeOnSelect: boolean;
|
|
17
18
|
useTypedConstant: string[];
|
|
19
|
+
className: string;
|
|
18
20
|
};
|
|
19
21
|
required: boolean;
|
|
20
22
|
};
|
package/lib/client/nodes/loop.js
CHANGED
|
@@ -4,13 +4,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
function _react() {
|
|
8
|
-
const data = _interopRequireDefault(require("react"));
|
|
9
|
-
_react = function _react() {
|
|
10
|
-
return data;
|
|
11
|
-
};
|
|
12
|
-
return data;
|
|
13
|
-
}
|
|
14
7
|
function _icons() {
|
|
15
8
|
const data = require("@ant-design/icons");
|
|
16
9
|
_icons = function _icons() {
|
|
@@ -18,40 +11,47 @@ function _icons() {
|
|
|
18
11
|
};
|
|
19
12
|
return data;
|
|
20
13
|
}
|
|
21
|
-
function
|
|
22
|
-
const data = require("@
|
|
23
|
-
|
|
14
|
+
function _client() {
|
|
15
|
+
const data = require("@nocobase/client");
|
|
16
|
+
_client = function _client() {
|
|
24
17
|
return data;
|
|
25
18
|
};
|
|
26
19
|
return data;
|
|
27
20
|
}
|
|
28
|
-
function
|
|
29
|
-
const data = require("
|
|
30
|
-
|
|
21
|
+
function _react() {
|
|
22
|
+
const data = _interopRequireDefault(require("react"));
|
|
23
|
+
_react = function _react() {
|
|
31
24
|
return data;
|
|
32
25
|
};
|
|
33
26
|
return data;
|
|
34
27
|
}
|
|
35
28
|
var _ = require(".");
|
|
29
|
+
var _Branch = require("../Branch");
|
|
36
30
|
var _FlowContext = require("../FlowContext");
|
|
37
31
|
var _locale = require("../locale");
|
|
38
|
-
var _variable = require("../variable");
|
|
39
32
|
var _style = require("../style");
|
|
40
|
-
var
|
|
33
|
+
var _variable = require("../variable");
|
|
41
34
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
35
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
36
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
37
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
38
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
|
39
|
+
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
42
40
|
function findOption(options, paths) {
|
|
43
|
-
let
|
|
41
|
+
let opts = options;
|
|
42
|
+
let option = null;
|
|
44
43
|
for (let i = 0; i < paths.length; i++) {
|
|
45
44
|
const path = paths[i];
|
|
46
|
-
const
|
|
47
|
-
if (!
|
|
48
|
-
|
|
45
|
+
const current = opts.find(item => item.value === path);
|
|
46
|
+
if (!current) {
|
|
47
|
+
break;
|
|
49
48
|
}
|
|
50
|
-
|
|
51
|
-
|
|
49
|
+
option = current;
|
|
50
|
+
if (current.children) {
|
|
51
|
+
opts = current.children;
|
|
52
52
|
}
|
|
53
53
|
}
|
|
54
|
-
return
|
|
54
|
+
return option;
|
|
55
55
|
}
|
|
56
56
|
var _default = {
|
|
57
57
|
title: `{{t("Loop", { ns: "${_locale.NAMESPACE}" })}}`,
|
|
@@ -66,8 +66,20 @@ var _default = {
|
|
|
66
66
|
'x-decorator': 'FormItem',
|
|
67
67
|
'x-component': 'Variable.Input',
|
|
68
68
|
'x-component-props': {
|
|
69
|
-
scope: '{{useWorkflowVariableOptions}}',
|
|
70
|
-
|
|
69
|
+
scope: '{{useWorkflowVariableOptions()}}',
|
|
70
|
+
changeOnSelect: true,
|
|
71
|
+
useTypedConstant: ['string', 'number', 'null'],
|
|
72
|
+
className: (0, _client().css)`
|
|
73
|
+
width: 100%;
|
|
74
|
+
|
|
75
|
+
.variable {
|
|
76
|
+
flex: 1;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
.ant-input.null-value {
|
|
80
|
+
width: 100%;
|
|
81
|
+
}
|
|
82
|
+
`
|
|
71
83
|
},
|
|
72
84
|
required: true
|
|
73
85
|
}
|
|
@@ -83,9 +95,9 @@ var _default = {
|
|
|
83
95
|
return _react().default.createElement(_.NodeDefaultView, {
|
|
84
96
|
data: data
|
|
85
97
|
}, _react().default.createElement("div", {
|
|
86
|
-
className: (0,
|
|
98
|
+
className: (0, _client().cx)(_style.nodeSubtreeClass)
|
|
87
99
|
}, _react().default.createElement("div", {
|
|
88
|
-
className: (0,
|
|
100
|
+
className: (0, _client().cx)(_style.branchBlockClass, (0, _client().css)`
|
|
89
101
|
padding-left: 20em;
|
|
90
102
|
`)
|
|
91
103
|
}, _react().default.createElement(_Branch.Branch, {
|
|
@@ -93,11 +105,11 @@ var _default = {
|
|
|
93
105
|
entry: entry,
|
|
94
106
|
branchIndex: (_entry$branchIndex = entry === null || entry === void 0 ? void 0 : entry.branchIndex) !== null && _entry$branchIndex !== void 0 ? _entry$branchIndex : 0
|
|
95
107
|
}), _react().default.createElement("div", {
|
|
96
|
-
className: (0,
|
|
108
|
+
className: (0, _client().cx)(_style.branchClass)
|
|
97
109
|
}, _react().default.createElement("div", {
|
|
98
110
|
className: "workflow-branch-lines"
|
|
99
111
|
}), _react().default.createElement("div", {
|
|
100
|
-
className: (0,
|
|
112
|
+
className: (0, _client().cx)(_style.addButtonClass, (0, _client().css)`
|
|
101
113
|
display: flex;
|
|
102
114
|
justify-content: center;
|
|
103
115
|
align-items: center;
|
|
@@ -108,11 +120,11 @@ var _default = {
|
|
|
108
120
|
height: 6em;
|
|
109
121
|
`)
|
|
110
122
|
}, _react().default.createElement(_icons().ArrowUpOutlined, {
|
|
111
|
-
className: (0,
|
|
112
|
-
background-color:
|
|
123
|
+
className: (0, _client().css)`
|
|
124
|
+
background-color: var(--nb-box-bg);
|
|
113
125
|
`
|
|
114
126
|
})))), _react().default.createElement("div", {
|
|
115
|
-
className: (0,
|
|
127
|
+
className: (0, _client().css)`
|
|
116
128
|
position: relative;
|
|
117
129
|
height: 2em;
|
|
118
130
|
`
|
|
@@ -134,7 +146,7 @@ var _default = {
|
|
|
134
146
|
// find target data model by path described in `config.target`
|
|
135
147
|
// 1. get options from $context/$jobsMapByNodeId
|
|
136
148
|
// 2. route to sub-options and use as loop target options
|
|
137
|
-
|
|
149
|
+
let targetOption = {
|
|
138
150
|
key: 'item',
|
|
139
151
|
value: 'item',
|
|
140
152
|
label: (0, _locale.lang)('Loop target')
|
|
@@ -142,16 +154,17 @@ var _default = {
|
|
|
142
154
|
if (typeof target === 'string' && target.startsWith('{{') && target.endsWith('}}')) {
|
|
143
155
|
const paths = target.slice(2, -2).split('.').map(path => path.trim());
|
|
144
156
|
const targetOptions = [_variable.nodesOptions, _variable.triggerOptions].map(item => {
|
|
145
|
-
const opts =
|
|
157
|
+
const opts = item.useOptions(options).filter(Boolean);
|
|
146
158
|
return {
|
|
147
159
|
label: compile(item.title),
|
|
148
160
|
value: item.value,
|
|
149
161
|
key: item.value,
|
|
150
|
-
children:
|
|
162
|
+
children: opts,
|
|
151
163
|
disabled: opts && !opts.length
|
|
152
164
|
};
|
|
153
165
|
});
|
|
154
|
-
|
|
166
|
+
const found = findOption(targetOptions, paths);
|
|
167
|
+
targetOption = Object.assign(_objectSpread({}, targetOption), found, targetOption);
|
|
155
168
|
}
|
|
156
169
|
return [targetOption, {
|
|
157
170
|
key: 'index',
|