@nocobase/plugin-workflow 0.11.0-alpha.1 → 0.11.1-alpha.2

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.
Files changed (133) hide show
  1. package/lib/client/AddButton.js +13 -4
  2. package/lib/client/Branch.js +4 -2
  3. package/lib/client/CanvasContent.js +6 -4
  4. package/lib/client/ExecutionCanvas.js +18 -7
  5. package/lib/client/ExecutionPage.js +4 -2
  6. package/lib/client/WorkflowCanvas.js +16 -6
  7. package/lib/client/WorkflowPage.js +4 -2
  8. package/lib/client/WorkflowProvider.js +2 -2
  9. package/lib/client/components/CollectionBlockInitializer.js +3 -3
  10. package/lib/client/components/CollectionFieldset.js +7 -1
  11. package/lib/client/components/FieldsSelect.js +4 -1
  12. package/lib/client/components/NodeDescription.js +36 -22
  13. package/lib/client/index.js +3 -3
  14. package/lib/client/locale/zh-CN.d.ts +5 -1
  15. package/lib/client/locale/zh-CN.js +6 -2
  16. package/lib/client/nodes/aggregate.d.ts +6 -1
  17. package/lib/client/nodes/aggregate.js +4 -3
  18. package/lib/client/nodes/calculation.d.ts +5 -3
  19. package/lib/client/nodes/calculation.js +6 -5
  20. package/lib/client/nodes/condition.d.ts +1 -7
  21. package/lib/client/nodes/condition.js +12 -23
  22. package/lib/client/nodes/create.d.ts +2 -4
  23. package/lib/client/nodes/create.js +1 -3
  24. package/lib/client/nodes/index.d.ts +1 -2
  25. package/lib/client/nodes/index.js +24 -24
  26. package/lib/client/nodes/loop.js +19 -28
  27. package/lib/client/nodes/manual/FormBlockInitializer.js +6 -5
  28. package/lib/client/nodes/manual/SchemaConfig.d.ts +1 -2
  29. package/lib/client/nodes/manual/SchemaConfig.js +175 -21
  30. package/lib/client/nodes/manual/WorkflowTodo.js +39 -46
  31. package/lib/client/nodes/manual/forms/create.js +8 -1
  32. package/lib/client/nodes/manual/forms/custom.js +11 -4
  33. package/lib/client/nodes/manual/forms/update.js +8 -1
  34. package/lib/client/nodes/manual/index.d.ts +6 -1
  35. package/lib/client/nodes/manual/index.js +5 -4
  36. package/lib/client/nodes/parallel.js +7 -4
  37. package/lib/client/nodes/query.d.ts +2 -5
  38. package/lib/client/nodes/query.js +1 -3
  39. package/lib/client/nodes/sql.d.ts +26 -0
  40. package/lib/client/{triggers/schedule/DateFieldsSelect.js → nodes/sql.js} +37 -46
  41. package/lib/client/schemas/collection.d.ts +2 -3
  42. package/lib/client/schemas/collection.js +8 -7
  43. package/lib/client/style.d.ts +18 -13
  44. package/lib/client/style.js +312 -289
  45. package/lib/client/triggers/collection.d.ts +9 -10
  46. package/lib/client/triggers/collection.js +4 -0
  47. package/lib/client/triggers/index.d.ts +2 -3
  48. package/lib/client/triggers/index.js +10 -5
  49. package/lib/client/triggers/schedule/OnField.js +35 -23
  50. package/lib/client/triggers/schedule/ScheduleConfig.js +7 -7
  51. package/lib/client/triggers/schedule/index.d.ts +0 -1
  52. package/lib/client/triggers/schedule/index.js +31 -19
  53. package/lib/client/variable.d.ts +29 -11
  54. package/lib/client/variable.js +39 -24
  55. package/lib/server/Plugin.d.ts +1 -3
  56. package/lib/server/Plugin.js +10 -6
  57. package/lib/server/Processor.d.ts +1 -1
  58. package/lib/server/Processor.js +2 -2
  59. package/lib/server/instructions/create.d.ts +1 -1
  60. package/lib/server/instructions/create.js +13 -13
  61. package/lib/server/instructions/index.js +1 -1
  62. package/lib/server/instructions/manual/actions.js +19 -7
  63. package/lib/server/instructions/manual/forms/create.js +7 -1
  64. package/lib/server/instructions/manual/forms/update.js +7 -1
  65. package/lib/server/instructions/query.js +8 -1
  66. package/lib/server/instructions/request.d.ts +1 -1
  67. package/lib/server/instructions/request.js +4 -2
  68. package/lib/server/instructions/sql.d.ts +12 -0
  69. package/lib/server/instructions/sql.js +34 -0
  70. package/lib/server/migrations/20230710115902-manual-action-values.d.ts +4 -0
  71. package/lib/server/migrations/20230710115902-manual-action-values.js +97 -0
  72. package/lib/server/triggers/collection.js +13 -11
  73. package/lib/server/utils.d.ts +2 -0
  74. package/lib/server/utils.js +21 -0
  75. package/package.json +12 -11
  76. package/src/client/AddButton.tsx +17 -5
  77. package/src/client/Branch.tsx +4 -2
  78. package/src/client/CanvasContent.tsx +6 -4
  79. package/src/client/ExecutionCanvas.tsx +11 -13
  80. package/src/client/ExecutionPage.tsx +3 -2
  81. package/src/client/WorkflowCanvas.tsx +14 -13
  82. package/src/client/WorkflowPage.tsx +3 -2
  83. package/src/client/WorkflowProvider.tsx +2 -2
  84. package/src/client/components/CollectionBlockInitializer.tsx +3 -3
  85. package/src/client/components/CollectionFieldset.tsx +5 -3
  86. package/src/client/components/FieldsSelect.tsx +5 -1
  87. package/src/client/components/NodeDescription.tsx +30 -23
  88. package/src/client/index.tsx +3 -3
  89. package/src/client/locale/zh-CN.ts +8 -2
  90. package/src/client/nodes/aggregate.tsx +4 -4
  91. package/src/client/nodes/calculation.tsx +4 -5
  92. package/src/client/nodes/condition.tsx +7 -34
  93. package/src/client/nodes/create.tsx +0 -1
  94. package/src/client/nodes/index.tsx +21 -25
  95. package/src/client/nodes/loop.tsx +16 -31
  96. package/src/client/nodes/manual/FormBlockInitializer.tsx +6 -5
  97. package/src/client/nodes/manual/SchemaConfig.tsx +162 -18
  98. package/src/client/nodes/manual/WorkflowTodo.tsx +43 -47
  99. package/src/client/nodes/manual/forms/create.tsx +5 -1
  100. package/src/client/nodes/manual/forms/custom.tsx +7 -3
  101. package/src/client/nodes/manual/forms/update.tsx +5 -1
  102. package/src/client/nodes/manual/index.tsx +5 -5
  103. package/src/client/nodes/parallel.tsx +6 -5
  104. package/src/client/nodes/query.tsx +0 -1
  105. package/src/client/nodes/sql.tsx +37 -0
  106. package/src/client/schemas/collection.ts +6 -6
  107. package/src/client/style.tsx +324 -289
  108. package/src/client/triggers/collection.tsx +4 -0
  109. package/src/client/triggers/index.tsx +14 -10
  110. package/src/client/triggers/schedule/OnField.tsx +29 -15
  111. package/src/client/triggers/schedule/ScheduleConfig.tsx +21 -19
  112. package/src/client/triggers/schedule/index.tsx +25 -19
  113. package/src/client/variable.tsx +48 -26
  114. package/src/server/Plugin.ts +13 -9
  115. package/src/server/Processor.ts +2 -2
  116. package/src/server/__tests__/collections/categories.ts +4 -0
  117. package/src/server/__tests__/instructions/manual.test.ts +391 -72
  118. package/src/server/__tests__/instructions/request.test.ts +30 -0
  119. package/src/server/__tests__/instructions/sql.test.ts +162 -0
  120. package/src/server/__tests__/triggers/collection.test.ts +35 -0
  121. package/src/server/instructions/create.ts +13 -11
  122. package/src/server/instructions/index.ts +1 -0
  123. package/src/server/instructions/manual/actions.ts +16 -4
  124. package/src/server/instructions/manual/forms/create.ts +2 -1
  125. package/src/server/instructions/manual/forms/update.ts +3 -2
  126. package/src/server/instructions/query.ts +12 -1
  127. package/src/server/instructions/request.ts +2 -1
  128. package/src/server/instructions/sql.ts +25 -0
  129. package/src/server/migrations/20230710115902-manual-action-values.ts +78 -0
  130. package/src/server/triggers/collection.ts +15 -11
  131. package/src/server/utils.ts +17 -0
  132. package/lib/client/triggers/schedule/DateFieldsSelect.d.ts +0 -2
  133. package/src/client/triggers/schedule/DateFieldsSelect.tsx +0 -28
@@ -35,7 +35,8 @@ function _react() {
35
35
  var _FlowContext = require("./FlowContext");
36
36
  var _locale = require("./locale");
37
37
  var _nodes = require("./nodes");
38
- var _style = require("./style");
38
+ var _style = _interopRequireDefault(require("./style"));
39
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
39
40
  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); }
40
41
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
41
42
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
@@ -62,6 +63,8 @@ function AddButton({
62
63
  workflow = _ref.workflow,
63
64
  refresh = _ref.refresh;
64
65
  const instructionList = Array.from(_nodes.instructions.getValues());
66
+ const _useStyles = (0, _style.default)(),
67
+ styles = _useStyles.styles;
65
68
  const groups = (0, _react().useMemo)(() => {
66
69
  return [{
67
70
  key: 'control',
@@ -132,7 +135,7 @@ function AddButton({
132
135
  }(), [branchIndex, resource === null || resource === void 0 ? void 0 : resource.create, upstream === null || upstream === void 0 ? void 0 : upstream.id]);
133
136
  const menu = (0, _react().useMemo)(() => {
134
137
  return {
135
- onClick: ev => onCreate(ev),
138
+ onClick: onCreate,
136
139
  items: compile(groups)
137
140
  };
138
141
  }, [groups, onCreate]);
@@ -140,11 +143,17 @@ function AddButton({
140
143
  return null;
141
144
  }
142
145
  return _react().default.createElement("div", {
143
- className: (0, _client().cx)(_style.addButtonClass)
146
+ className: styles.addButtonClass
144
147
  }, _react().default.createElement(_antd().Dropdown, {
145
148
  trigger: ['click'],
146
149
  menu: menu,
147
- disabled: workflow.executed
150
+ disabled: workflow.executed,
151
+ overlayClassName: (0, _client().css)`
152
+ .ant-dropdown-menu-root{
153
+ max-height: 30em;
154
+ overflow-y: auto;
155
+ }
156
+ `
148
157
  }, _react().default.createElement(_antd().Button, {
149
158
  shape: "circle",
150
159
  icon: _react().default.createElement(_icons().PlusOutlined, null)
@@ -20,7 +20,7 @@ function _react() {
20
20
  }
21
21
  var _AddButton = require("./AddButton");
22
22
  var _nodes = require("./nodes");
23
- var _style = require("./style");
23
+ var _style = _interopRequireDefault(require("./style"));
24
24
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
25
25
  function Branch({
26
26
  from = null,
@@ -28,12 +28,14 @@ function Branch({
28
28
  branchIndex = null,
29
29
  controller = null
30
30
  }) {
31
+ const _useStyles = (0, _style.default)(),
32
+ styles = _useStyles.styles;
31
33
  const list = [];
32
34
  for (let node = entry; node; node = node.downstream) {
33
35
  list.push(node);
34
36
  }
35
37
  return _react().default.createElement("div", {
36
- className: (0, _client().cx)(_style.branchClass)
38
+ className: (0, _client().cx)(styles.branchClass)
37
39
  }, _react().default.createElement("div", {
38
40
  className: "workflow-branch-lines"
39
41
  }), controller, _react().default.createElement(_AddButton.AddButton, {
@@ -27,22 +27,24 @@ function _react() {
27
27
  }
28
28
  var _Branch = require("./Branch");
29
29
  var _locale = require("./locale");
30
- var _style = require("./style");
30
+ var _style = _interopRequireDefault(require("./style"));
31
31
  var _triggers = require("./triggers");
32
32
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
33
33
  function CanvasContent({
34
34
  entry
35
35
  }) {
36
+ const _useStyles = (0, _style.default)(),
37
+ styles = _useStyles.styles;
36
38
  return _react().default.createElement("div", {
37
39
  className: "workflow-canvas"
38
40
  }, _react().default.createElement(_triggers.TriggerConfig, null), _react().default.createElement("div", {
39
- className: _style.branchBlockClass
41
+ className: styles.branchBlockClass
40
42
  }, _react().default.createElement(_Branch.Branch, {
41
43
  entry: entry
42
44
  })), _react().default.createElement("div", {
43
- className: (0, _client().cx)('end', _style.nodeCardClass)
45
+ className: (0, _client().cx)('end', styles.nodeCardClass)
44
46
  }, _react().default.createElement("div", {
45
- className: (0, _client().cx)(_style.nodeMetaClass)
47
+ className: (0, _client().cx)(styles.nodeMetaClass)
46
48
  }, _react().default.createElement(_antd().Tag, {
47
49
  color: "#333"
48
50
  }, (0, _locale.lang)('End')))));
@@ -44,10 +44,11 @@ var _constants = require("./constants");
44
44
  var _FlowContext = require("./FlowContext");
45
45
  var _locale = require("./locale");
46
46
  var _nodes = require("./nodes");
47
- var _style = require("./style");
47
+ var _style = _interopRequireDefault(require("./style"));
48
48
  var _utils = require("./utils");
49
49
  const _excluded = ["nodes", "revisions"],
50
50
  _excluded2 = ["jobs", "workflow"];
51
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
51
52
  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); }
52
53
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
53
54
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
@@ -82,6 +83,8 @@ function JobModal() {
82
83
  const _useFlowContext = (0, _FlowContext.useFlowContext)(),
83
84
  job = _useFlowContext.viewJob,
84
85
  setViewJob = _useFlowContext.setViewJob;
86
+ const _useStyles = (0, _style.default)(),
87
+ styles = _useStyles.styles;
85
88
  const _ref = job !== null && job !== void 0 ? job : {},
86
89
  _ref$node = _ref.node,
87
90
  node = _ref$node === void 0 ? {} : _ref$node;
@@ -103,7 +106,7 @@ function JobModal() {
103
106
  },
104
107
  'x-component': 'Action.Modal',
105
108
  title: _react().default.createElement("div", {
106
- className: _style.nodeTitleClass
109
+ className: styles.nodeTitleClass
107
110
  }, _react().default.createElement(_antd().Tag, null, compile(instruction === null || instruction === void 0 ? void 0 : instruction.title)), _react().default.createElement("strong", null, node.title), _react().default.createElement("span", {
108
111
  className: "workflow-node-id"
109
112
  }, "#", node.id)),
@@ -195,11 +198,19 @@ function ExecutionCanvas() {
195
198
  }
196
199
  }, _react().default.createElement("div", {
197
200
  className: "workflow-toolbar"
198
- }, _react().default.createElement("header", null, _react().default.createElement(_antd().Breadcrumb, null, _react().default.createElement(_antd().Breadcrumb.Item, null, _react().default.createElement(_reactRouterDom().Link, {
199
- to: `/admin/settings/workflow/workflows`
200
- }, (0, _locale.lang)('Workflow'))), _react().default.createElement(_antd().Breadcrumb.Item, null, _react().default.createElement(_reactRouterDom().Link, {
201
- to: `/admin/settings/workflow/workflows/${workflow.id}`
202
- }, workflow.title)), _react().default.createElement(_antd().Breadcrumb.Item, null, _react().default.createElement("strong", null, `#${execution.id}`)))), _react().default.createElement("aside", null, _react().default.createElement(_antd().Tag, {
201
+ }, _react().default.createElement("header", null, _react().default.createElement(_antd().Breadcrumb, {
202
+ items: [{
203
+ title: _react().default.createElement(_reactRouterDom().Link, {
204
+ to: `/admin/settings/workflow/workflows`
205
+ }, (0, _locale.lang)('Workflow'))
206
+ }, {
207
+ title: _react().default.createElement(_reactRouterDom().Link, {
208
+ to: `/admin/settings/workflow/workflows/${workflow.id}`
209
+ }, workflow.title)
210
+ }, {
211
+ title: _react().default.createElement("strong", null, `#${execution.id}`)
212
+ }]
213
+ })), _react().default.createElement("aside", null, _react().default.createElement(_antd().Tag, {
203
214
  color: statusOption.color
204
215
  }, compile(statusOption.label)), _react().default.createElement("time", null, (0, _client2().str2moment)(execution.updatedAt).format('YYYY-MM-DD HH:mm:ss')))), _react().default.createElement(_CanvasContent.CanvasContent, {
205
216
  entry: entry
@@ -26,12 +26,14 @@ function _reactRouterDom() {
26
26
  return data;
27
27
  }
28
28
  var _ExecutionCanvas = require("./ExecutionCanvas");
29
- var _style = require("./style");
29
+ var _style = _interopRequireDefault(require("./style"));
30
30
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
31
31
  const ExecutionPage = () => {
32
32
  const params = (0, _reactRouterDom().useParams)();
33
+ const _useStyles = (0, _style.default)(),
34
+ styles = _useStyles.styles;
33
35
  return _react().default.createElement("div", {
34
- className: (0, _client().cx)(_style.workflowPageClass)
36
+ className: (0, _client().cx)(styles.workflowPageClass)
35
37
  }, _react().default.createElement(_client().SchemaComponent, {
36
38
  schema: {
37
39
  type: 'void',
@@ -58,7 +58,7 @@ var _ExecutionLink = require("./ExecutionLink");
58
58
  var _FlowContext = require("./FlowContext");
59
59
  var _locale = require("./locale");
60
60
  var _executions = require("./schemas/executions");
61
- var _style = require("./style");
61
+ var _style = _interopRequireDefault(require("./style"));
62
62
  var _utils = require("./utils");
63
63
  const _excluded = ["request", "filter"],
64
64
  _excluded2 = ["nodes", "revisions"];
@@ -116,6 +116,10 @@ function WorkflowCanvas() {
116
116
  _useState2 = _slicedToArray(_useState, 2),
117
117
  visible = _useState2[0],
118
118
  setVisible = _useState2[1];
119
+ const _useStyles = (0, _style.default)(),
120
+ styles = _useStyles.styles;
121
+ const _App$useApp = _antd().App.useApp(),
122
+ modal = _App$useApp.modal;
119
123
  (0, _react().useEffect)(() => {
120
124
  var _data$data;
121
125
  const _ref2 = (_data$data = data === null || data === void 0 ? void 0 : data.data) !== null && _data$data !== void 0 ? _data$data : {},
@@ -178,7 +182,7 @@ function WorkflowCanvas() {
178
182
  function _onDelete() {
179
183
  _onDelete = _asyncToGenerator(function* () {
180
184
  const content = workflow.current ? (0, _locale.lang)('Delete a main version will cause all other revisions to be deleted too.') : '';
181
- _antd().Modal.confirm({
185
+ modal.confirm({
182
186
  title: t('Are you sure you want to delete it?'),
183
187
  content,
184
188
  onOk() {
@@ -225,16 +229,22 @@ function WorkflowCanvas() {
225
229
  }
226
230
  }, _react().default.createElement("div", {
227
231
  className: "workflow-toolbar"
228
- }, _react().default.createElement("header", null, _react().default.createElement(_antd().Breadcrumb, null, _react().default.createElement(_antd().Breadcrumb.Item, null, _react().default.createElement(_reactRouterDom().Link, {
229
- to: `/admin/settings/workflow/workflows`
230
- }, (0, _locale.lang)('Workflow'))), _react().default.createElement(_antd().Breadcrumb.Item, null, _react().default.createElement("strong", null, workflow.title)))), _react().default.createElement("aside", null, _react().default.createElement("div", {
232
+ }, _react().default.createElement("header", null, _react().default.createElement(_antd().Breadcrumb, {
233
+ items: [{
234
+ title: _react().default.createElement(_reactRouterDom().Link, {
235
+ to: `/admin/settings/workflow/workflows`
236
+ }, (0, _locale.lang)('Workflow'))
237
+ }, {
238
+ title: _react().default.createElement("strong", null, workflow.title)
239
+ }]
240
+ })), _react().default.createElement("aside", null, _react().default.createElement("div", {
231
241
  className: "workflow-versions"
232
242
  }, _react().default.createElement(_antd().Dropdown, {
233
243
  trigger: ['click'],
234
244
  menu: {
235
245
  onClick: onSwitchVersion,
236
246
  defaultSelectedKeys: [`${workflow.id}`],
237
- className: (0, _client().cx)(_style.workflowVersionDropdownClass),
247
+ className: (0, _client().cx)(styles.workflowVersionDropdownClass),
238
248
  items: revisions.sort((a, b) => b.id - a.id).map((item, index) => ({
239
249
  key: `${item.id}`,
240
250
  icon: item.current ? _react().default.createElement(_icons().RightOutlined, null) : null,
@@ -25,13 +25,15 @@ function _reactRouterDom() {
25
25
  };
26
26
  return data;
27
27
  }
28
- var _style = require("./style");
28
+ var _style = _interopRequireDefault(require("./style"));
29
29
  var _WorkflowCanvas = require("./WorkflowCanvas");
30
30
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
31
31
  const WorkflowPage = () => {
32
32
  const params = (0, _reactRouterDom().useParams)();
33
+ const _useStyles = (0, _style.default)(),
34
+ styles = _useStyles.styles;
33
35
  return _react().default.createElement("div", {
34
- className: (0, _client().cx)(_style.workflowPageClass)
36
+ className: (0, _client().cx)(styles.workflowPageClass)
35
37
  }, _react().default.createElement(_client().SchemaComponent, {
36
38
  schema: {
37
39
  type: 'void',
@@ -26,15 +26,15 @@ function _react() {
26
26
  };
27
27
  return data;
28
28
  }
29
- var _OpenDrawer = _interopRequireDefault(require("./components/OpenDrawer"));
30
29
  var _ExecutionLink = require("./ExecutionLink");
31
30
  var _ExecutionResourceProvider = require("./ExecutionResourceProvider");
31
+ var _WorkflowLink = require("./WorkflowLink");
32
+ var _OpenDrawer = _interopRequireDefault(require("./components/OpenDrawer"));
32
33
  var _expression = _interopRequireDefault(require("./interfaces/expression"));
33
34
  var _locale = require("./locale");
34
35
  var _nodes = require("./nodes");
35
36
  var _workflows = require("./schemas/workflows");
36
37
  var _triggers = require("./triggers");
37
- var _WorkflowLink = require("./WorkflowLink");
38
38
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
39
39
  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); }
40
40
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -40,7 +40,7 @@ function InnerCollectionBlockInitializer(_ref) {
40
40
  const _useCollectionManager = (0, _client().useCollectionManager)(),
41
41
  getCollection = _useCollectionManager.getCollection;
42
42
  const items = (0, _client().useRecordCollectionDataSourceItems)('FormItem');
43
- const resovledCollection = getCollection(collection);
43
+ const resolvedCollection = getCollection(collection);
44
44
  function onConfirm(_x) {
45
45
  return _onConfirm.apply(this, arguments);
46
46
  }
@@ -51,8 +51,8 @@ function InnerCollectionBlockInitializer(_ref) {
51
51
  const template = item.template ? yield getTemplateSchemaByMode(item) : null;
52
52
  const result = {
53
53
  type: 'void',
54
- name: resovledCollection.name,
55
- title: resovledCollection.title,
54
+ name: resolvedCollection.name,
55
+ title: resolvedCollection.title,
56
56
  'x-decorator': 'DetailsBlockProvider',
57
57
  'x-decorator-props': {
58
58
  collection,
@@ -91,6 +91,8 @@ const CollectionFieldSet = (0, _react().observer)(({
91
91
  onChange: _onChange,
92
92
  filter
93
93
  }) => {
94
+ const _useToken = (0, _client().useToken)(),
95
+ token = _useToken.token;
94
96
  const _useTranslation = (0, _reactI18next().useTranslation)(),
95
97
  t = _useTranslation.t;
96
98
  const compile = (0, _client().useCompile)();
@@ -189,7 +191,11 @@ const CollectionFieldSet = (0, _react().observer)(({
189
191
  menu: menu
190
192
  }, _react2().default.createElement(_antd().Button, {
191
193
  icon: _react2().default.createElement(_icons().PlusOutlined, null)
192
- }, t('Add field'))) : null) : _react2().default.createElement("p", null, (0, _locale.lang)('Please select collection first')));
194
+ }, t('Add field'))) : null) : _react2().default.createElement("p", {
195
+ style: {
196
+ color: token.colorText
197
+ }
198
+ }, (0, _locale.lang)('Please select collection first')));
193
199
  }, {
194
200
  displayName: 'CollectionFieldSet'
195
201
  });
@@ -41,9 +41,12 @@ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typ
41
41
  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
42
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
43
43
  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; }
44
+ function defaultFilter() {
45
+ return true;
46
+ }
44
47
  const FieldsSelect = (0, _react().observer)(props => {
45
48
  const _props$filter = props.filter,
46
- filter = _props$filter === void 0 ? () => true : _props$filter,
49
+ filter = _props$filter === void 0 ? defaultFilter : _props$filter,
47
50
  others = _objectWithoutProperties(props, _excluded);
48
51
  const compile = (0, _client().useCompile)();
49
52
  const _useCollectionManager = (0, _client().useCollectionManager)(),
@@ -27,33 +27,47 @@ function _react() {
27
27
  }
28
28
  var _locale = require("../locale");
29
29
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
30
- function NodeDescription(props) {
31
- const instruction = props.instruction;
32
- const className = (0, _client().css)`
33
- margin-bottom: 1.5em;
34
- padding: 1em;
35
- background: #f6f6f6;
30
+ const useStyles = (0, _client().createStyles)(({
31
+ css,
32
+ token
33
+ }) => {
34
+ return {
35
+ container: css`
36
+ margin-bottom: 1.5em;
37
+ padding: 1em;
38
+ background-color: ${token.colorFillAlter};
36
39
 
37
- > *:last-child {
38
- margin-bottom: 0;
39
- }
40
+ > *:last-child {
41
+ margin-bottom: 0;
42
+ }
40
43
 
41
- dl {
42
- display: flex;
44
+ dl {
45
+ display: flex;
43
46
 
44
- dt {
45
- &:after {
46
- content: ':';
47
- margin-right: 0.5em;
47
+ dt {
48
+ color: ${token.colorText};
49
+ &:after {
50
+ content: ':';
51
+ margin-right: 0.5em;
52
+ }
48
53
  }
49
54
  }
50
- }
51
55
 
52
- p {
53
- color: rgba(0, 0, 0, 0.45);
54
- }
55
- `;
56
+ p {
57
+ color: ${token.colorTextDescription};
58
+ }
59
+ `
60
+ };
61
+ });
62
+ function NodeDescription(props) {
63
+ const instruction = props.instruction;
64
+ const _useStyles = useStyles(),
65
+ styles = _useStyles.styles;
56
66
  return _react().default.createElement("div", {
57
- className: (0, _client().cx)(className, props.className)
58
- }, _react().default.createElement("dl", null, _react().default.createElement("dt", null, (0, _locale.lang)('Node type')), _react().default.createElement("dd", null, _react().default.createElement(_antd().Tag, null, instruction.title))), instruction.description ? _react().default.createElement("p", null, instruction.description) : null);
67
+ className: (0, _client().cx)(styles.container, props.className)
68
+ }, _react().default.createElement("dl", null, _react().default.createElement("dt", null, (0, _locale.lang)('Node type')), _react().default.createElement("dd", null, _react().default.createElement(_antd().Tag, {
69
+ style: {
70
+ background: 'none'
71
+ }
72
+ }, instruction.title))), instruction.description ? _react().default.createElement("p", null, instruction.description) : null);
59
73
  }
@@ -73,12 +73,12 @@ function _react() {
73
73
  };
74
74
  return data;
75
75
  }
76
- var _DynamicExpression = require("./components/DynamicExpression");
77
76
  var _ExecutionPage = require("./ExecutionPage");
78
- var _WorkflowTodo = require("./nodes/manual/WorkflowTodo");
79
- var _WorkflowTodoBlockInitializer = require("./nodes/manual/WorkflowTodoBlockInitializer");
80
77
  var _WorkflowPage = require("./WorkflowPage");
81
78
  var _WorkflowProvider = require("./WorkflowProvider");
79
+ var _DynamicExpression = require("./components/DynamicExpression");
80
+ var _WorkflowTodo = require("./nodes/manual/WorkflowTodo");
81
+ var _WorkflowTodoBlockInitializer = require("./nodes/manual/WorkflowTodoBlockInitializer");
82
82
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
83
83
  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); } }
84
84
  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); }); }; }
@@ -27,7 +27,7 @@ declare const _default: {
27
27
  'Triggered only if one of the selected fields changes. If unselected, it means that it will be triggered when any field changes. When record is added or deleted, any field is considered to have been changed.': string;
28
28
  'Only triggers when match conditions': string;
29
29
  'Preload associations': string;
30
- 'Please select the associated fields that need to be accessed in subsequent nodes': string;
30
+ 'Please select the associated fields that need to be accessed in subsequent nodes. With more than two levels of to-many associations may cause performance issue, please use with caution.': string;
31
31
  'Schedule event': string;
32
32
  'Trigger mode': string;
33
33
  'Based on certain date': string;
@@ -82,6 +82,7 @@ declare const _default: {
82
82
  'Collection operations': string;
83
83
  Manual: string;
84
84
  'Could be used for manually submitting data, and determine whether to continue or exit. Workflow will generate a todo item for assigned user when it reaches a manual node, and continue processing after user submits the form.': string;
85
+ 'Values preset in this form will override user submitted ones when continue or reject.': string;
85
86
  'Extended types': string;
86
87
  'Node type': string;
87
88
  Calculation: string;
@@ -205,5 +206,8 @@ declare const _default: {
205
206
  'Dynamic expression': string;
206
207
  'An expression for calculation in each rows': string;
207
208
  Unconfigured: string;
209
+ 'SQL action': string;
210
+ 'Execute a SQL statement in database': string;
211
+ 'Usage of SQL query result is not supported yet.': string;
208
212
  };
209
213
  export default _default;
@@ -33,7 +33,7 @@ var _default = {
33
33
  'Triggered only if one of the selected fields changes. If unselected, it means that it will be triggered when any field changes. When record is added or deleted, any field is considered to have been changed.': '只有被选中的某个字段发生变动时才会触发。如果不选择,则表示任何字段变动时都会触发。新增或删除数据时,任意字段都被认为发生变动。',
34
34
  'Only triggers when match conditions': '满足以下条件才触发',
35
35
  'Preload associations': '预加载关联数据',
36
- 'Please select the associated fields that need to be accessed in subsequent nodes': '请选中需要在后续节点中被访问的关系字段',
36
+ 'Please select the associated fields that need to be accessed in subsequent nodes. With more than two levels of to-many associations may cause performance issue, please use with caution.': '请选中需要在后续节点中被访问的关系字段。超过两层的对多关联可能会导致性能问题,请谨慎使用。',
37
37
  'Schedule event': '定时任务',
38
38
  'Trigger mode': '触发模式',
39
39
  'Based on certain date': '自定义时间',
@@ -88,6 +88,7 @@ var _default = {
88
88
  'Collection operations': '数据表操作',
89
89
  Manual: '人工处理',
90
90
  'Could be used for manually submitting data, and determine whether to continue or exit. Workflow will generate a todo item for assigned user when it reaches a manual node, and continue processing after user submits the form.': '可用于人工提交数据,并决定是否继续或退出流程。工作流在执行到人工节点时会为被指派的用户生成待办事项,直到用户提交对应表单后继续处理该流程。',
91
+ 'Values preset in this form will override user submitted ones when continue or reject.': '表单中预设的字段值会在用户提交继续或拒绝时覆盖相应字段的值。',
91
92
  'Extended types': '扩展类型',
92
93
  'Node type': '节点类型',
93
94
  Calculation: '运算',
@@ -210,6 +211,9 @@ var _default = {
210
211
  Task: '任务',
211
212
  'Dynamic expression': '动态表达式',
212
213
  'An expression for calculation in each rows': '每行数据计算规则不同时使用',
213
- Unconfigured: '未配置'
214
+ Unconfigured: '未配置',
215
+ 'SQL action': 'SQL 操作',
216
+ 'Execute a SQL statement in database': '在数据库中执行一个 SQL 语句',
217
+ 'Usage of SQL query result is not supported yet.': 'SQL 执行的结果暂不支持使用。'
214
218
  };
215
219
  exports.default = _default;
@@ -181,8 +181,13 @@ declare const _default: {
181
181
  useVariables({ id, title }: {
182
182
  id: any;
183
183
  title: any;
184
- }, { types }: {
184
+ }, { types, fieldNames }: {
185
185
  types: any;
186
+ fieldNames?: {
187
+ readonly label: "label";
188
+ readonly value: "value";
189
+ readonly children: "children";
190
+ };
186
191
  }): {
187
192
  value: string;
188
193
  label: any;
@@ -325,14 +325,15 @@ var _default = {
325
325
  id,
326
326
  title
327
327
  }, {
328
- types
328
+ types,
329
+ fieldNames = _variable.defaultFieldNames
329
330
  }) {
330
331
  if (types && !types.some(type => type in _variable.BaseTypeSets || Object.values(_variable.BaseTypeSets).some(set => set.has(type)))) {
331
332
  return null;
332
333
  }
333
334
  return {
334
- value: `${id}`,
335
- label: title
335
+ [fieldNames.value]: `${id}`,
336
+ [fieldNames.label]: title
336
337
  };
337
338
  },
338
339
  useInitializers(node) {
@@ -95,9 +95,11 @@ declare const _default: {
95
95
  useVariables({ id, title }: {
96
96
  id: any;
97
97
  title: any;
98
- }, options: any): {
99
- value: any;
100
- label: any;
98
+ }, { types, fieldNames }: {
99
+ types: any;
100
+ fieldNames?: import("@nocobase/client").FieldNames;
101
+ }): {
102
+ [x: string]: any;
101
103
  };
102
104
  useInitializers(node: any): SchemaInitializerItemOptions;
103
105
  };
@@ -266,15 +266,16 @@ var _default = {
266
266
  useVariables({
267
267
  id,
268
268
  title
269
- }, options) {
270
- const _ref = options !== null && options !== void 0 ? options : {},
271
- types = _ref.types;
269
+ }, {
270
+ types,
271
+ fieldNames = _client().defaultFieldNames
272
+ }) {
272
273
  if (types && !types.some(type => type in _variable.BaseTypeSets || Object.values(_variable.BaseTypeSets).some(set => set.has(type)))) {
273
274
  return null;
274
275
  }
275
276
  return {
276
- value: id,
277
- label: title
277
+ [fieldNames.value]: `${id}`,
278
+ [fieldNames.label]: title
278
279
  };
279
280
  },
280
281
  useInitializers(node) {
@@ -1,13 +1,7 @@
1
- import { Registry } from '@nocobase/utils/client';
2
1
  import React from 'react';
3
2
  import { RadioWithTooltip } from '../components/RadioWithTooltip';
4
3
  import { useWorkflowVariableOptions } from '../variable';
5
- interface Calculator {
6
- name: string;
7
- type: 'boolean' | 'number' | 'string' | 'date' | 'unknown' | 'null' | 'array';
8
- group: string;
9
- }
10
- export declare const calculators: Registry<Calculator>;
4
+ export declare const calculators: any;
11
5
  declare function CalculationConfig({ value, onChange }: {
12
6
  value: any;
13
7
  onChange: any;
@@ -59,7 +59,7 @@ var _RadioWithTooltip = require("../components/RadioWithTooltip");
59
59
  var _renderEngineReference = require("../components/renderEngineReference");
60
60
  var _FlowContext = require("../FlowContext");
61
61
  var _locale = require("../locale");
62
- var _style = require("../style");
62
+ var _style = _interopRequireDefault(require("../style"));
63
63
  var _variable = require("../variable");
64
64
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
65
65
  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; }
@@ -475,6 +475,8 @@ var _default = {
475
475
  t = _useTranslation2.t;
476
476
  const _useFlowContext = (0, _FlowContext.useFlowContext)(),
477
477
  nodes = _useFlowContext.nodes;
478
+ const _useStyles = (0, _style.default)(),
479
+ styles = _useStyles.styles;
478
480
  const id = data.id,
479
481
  rejectOnFalse = data.config.rejectOnFalse;
480
482
  const trueEntry = nodes.find(item => item.upstreamId === id && item.branchIndex === 1);
@@ -482,9 +484,9 @@ var _default = {
482
484
  return _react().default.createElement(_.NodeDefaultView, {
483
485
  data: data
484
486
  }, rejectOnFalse ? null : _react().default.createElement("div", {
485
- className: (0, _client().cx)(_style.nodeSubtreeClass)
487
+ className: (0, _client().cx)(styles.nodeSubtreeClass)
486
488
  }, _react().default.createElement("div", {
487
- className: (0, _client().cx)(_style.branchBlockClass, (0, _client().css)`
489
+ className: (0, _client().cx)(styles.branchBlockClass, (0, _client().css)`
488
490
  > * > .workflow-branch-lines {
489
491
  > button {
490
492
  display: none;
@@ -500,28 +502,15 @@ var _default = {
500
502
  entry: trueEntry,
501
503
  branchIndex: 1
502
504
  })), _react().default.createElement("div", {
503
- className: (0, _client().css)`
504
- position: relative;
505
- height: 2em;
506
- overflow: visible;
507
-
508
- > span {
509
- position: absolute;
510
- top: calc(1.5em - 1px);
511
- line-height: 1em;
512
- color: #999;
513
- background-color: var(--nb-box-bg);
514
- padding: 1px;
515
- }
516
- `
505
+ className: styles.conditionClass
517
506
  }, _react().default.createElement("span", {
518
- className: (0, _client().css)`
519
- right: 4em;
520
- `
507
+ style: {
508
+ right: '4em'
509
+ }
521
510
  }, t('No')), _react().default.createElement("span", {
522
- className: (0, _client().css)`
523
- left: 4em;
524
- `
511
+ style: {
512
+ left: '4em'
513
+ }
525
514
  }, t('Yes')))));
526
515
  },
527
516
  scope: {