@nocobase/plugin-workflow 0.10.1-alpha.1 → 0.11.1-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.
Files changed (289) hide show
  1. package/client.d.ts +2 -3
  2. package/client.js +1 -30
  3. package/lib/client/AddButton.js +13 -11
  4. package/lib/client/Branch.js +10 -8
  5. package/lib/client/CanvasContent.js +12 -10
  6. package/lib/client/ExecutionCanvas.js +37 -33
  7. package/lib/client/ExecutionPage.js +4 -9
  8. package/lib/client/WorkflowCanvas.js +18 -15
  9. package/lib/client/WorkflowPage.js +4 -9
  10. package/lib/client/WorkflowProvider.js +1 -40
  11. package/lib/client/components/CollectionBlockInitializer.js +3 -3
  12. package/lib/client/components/CollectionFieldset.d.ts +1 -1
  13. package/lib/client/components/CollectionFieldset.js +15 -16
  14. package/lib/client/components/Duration.js +5 -5
  15. package/lib/client/components/DynamicExpression.d.ts +3 -3
  16. package/lib/client/components/FieldsSelect.d.ts +1 -1
  17. package/lib/client/components/FieldsSelect.js +10 -7
  18. package/lib/client/components/NodeDescription.js +45 -31
  19. package/lib/client/components/RadioWithTooltip.js +13 -20
  20. package/lib/client/components/ValueBlock.js +14 -21
  21. package/lib/client/components/renderEngineReference.js +1 -8
  22. package/lib/client/index.d.ts +12 -4
  23. package/lib/client/index.js +78 -15
  24. package/lib/client/locale/zh-CN.d.ts +5 -1
  25. package/lib/client/locale/zh-CN.js +6 -2
  26. package/lib/client/nodes/aggregate.d.ts +8 -3
  27. package/lib/client/nodes/aggregate.js +5 -4
  28. package/lib/client/nodes/calculation.d.ts +6 -4
  29. package/lib/client/nodes/calculation.js +22 -28
  30. package/lib/client/nodes/condition.d.ts +2 -10
  31. package/lib/client/nodes/condition.js +19 -37
  32. package/lib/client/nodes/create.d.ts +5 -6
  33. package/lib/client/nodes/create.js +1 -3
  34. package/lib/client/nodes/destroy.d.ts +1 -1
  35. package/lib/client/nodes/index.d.ts +2 -3
  36. package/lib/client/nodes/index.js +95 -102
  37. package/lib/client/nodes/loop.d.ts +1 -1
  38. package/lib/client/nodes/loop.js +46 -54
  39. package/lib/client/nodes/manual/FormBlockInitializer.js +6 -5
  40. package/lib/client/nodes/manual/ModeConfig.js +23 -30
  41. package/lib/client/nodes/manual/SchemaConfig.d.ts +4 -5
  42. package/lib/client/nodes/manual/SchemaConfig.js +180 -25
  43. package/lib/client/nodes/manual/WorkflowTodo.js +95 -110
  44. package/lib/client/nodes/manual/WorkflowTodoBlockInitializer.d.ts +2 -5
  45. package/lib/client/nodes/manual/WorkflowTodoBlockInitializer.js +6 -5
  46. package/lib/client/nodes/manual/forms/create.js +8 -1
  47. package/lib/client/nodes/manual/forms/custom.js +22 -22
  48. package/lib/client/nodes/manual/forms/update.js +8 -1
  49. package/lib/client/nodes/manual/index.d.ts +6 -1
  50. package/lib/client/nodes/manual/index.js +5 -4
  51. package/lib/client/nodes/parallel.js +23 -20
  52. package/lib/client/nodes/query.d.ts +3 -5
  53. package/lib/client/nodes/query.js +1 -3
  54. package/lib/client/nodes/request.d.ts +2 -2
  55. package/lib/client/nodes/request.js +7 -7
  56. package/lib/client/nodes/sql.d.ts +26 -0
  57. package/lib/client/{triggers/schedule/DateFieldsSelect.js → nodes/sql.js} +37 -46
  58. package/lib/client/nodes/update.d.ts +2 -2
  59. package/lib/client/nodes/update.js +1 -1
  60. package/lib/client/schemas/collection.d.ts +3 -4
  61. package/lib/client/schemas/collection.js +11 -17
  62. package/lib/client/style.d.ts +18 -13
  63. package/lib/client/style.js +315 -292
  64. package/lib/client/triggers/collection.d.ts +13 -13
  65. package/lib/client/triggers/collection.js +5 -1
  66. package/lib/client/triggers/index.d.ts +3 -4
  67. package/lib/client/triggers/index.js +51 -53
  68. package/lib/client/triggers/schedule/EndsByField.js +11 -11
  69. package/lib/client/triggers/schedule/OnField.js +45 -33
  70. package/lib/client/triggers/schedule/RepeatField.js +4 -4
  71. package/lib/client/triggers/schedule/ScheduleConfig.js +24 -31
  72. package/lib/client/triggers/schedule/index.d.ts +1 -1
  73. package/lib/client/triggers/schedule/index.js +32 -20
  74. package/lib/client/variable.d.ts +31 -13
  75. package/lib/client/variable.js +44 -29
  76. package/lib/server/Plugin.d.ts +3 -6
  77. package/lib/server/Plugin.js +15 -12
  78. package/lib/server/Processor.d.ts +3 -5
  79. package/lib/server/Processor.js +2 -2
  80. package/lib/server/actions/nodes.js +7 -7
  81. package/lib/server/fields/expression-field.d.ts +1 -2
  82. package/lib/server/fields/expression-field.js +1 -8
  83. package/lib/server/functions/index.d.ts +2 -3
  84. package/lib/server/index.d.ts +1 -0
  85. package/lib/server/index.js +12 -0
  86. package/lib/server/instructions/aggregate.d.ts +1 -1
  87. package/lib/server/instructions/aggregate.js +5 -5
  88. package/lib/server/instructions/condition.d.ts +2 -1
  89. package/lib/server/instructions/create.d.ts +2 -2
  90. package/lib/server/instructions/create.js +13 -13
  91. package/lib/server/instructions/delay.d.ts +3 -3
  92. package/lib/server/instructions/delay.js +66 -64
  93. package/lib/server/instructions/destroy.d.ts +1 -1
  94. package/lib/server/instructions/index.d.ts +5 -5
  95. package/lib/server/instructions/index.js +1 -1
  96. package/lib/server/instructions/loop.d.ts +1 -2
  97. package/lib/server/instructions/manual/actions.js +19 -7
  98. package/lib/server/instructions/manual/forms/create.js +7 -1
  99. package/lib/server/instructions/manual/forms/index.d.ts +1 -1
  100. package/lib/server/instructions/manual/forms/update.js +7 -1
  101. package/lib/server/instructions/manual/index.d.ts +1 -1
  102. package/lib/server/instructions/parallel.d.ts +1 -2
  103. package/lib/server/instructions/query.d.ts +1 -1
  104. package/lib/server/instructions/query.js +8 -1
  105. package/lib/server/instructions/request.d.ts +3 -3
  106. package/lib/server/instructions/request.js +5 -2
  107. package/lib/server/instructions/sql.d.ts +12 -0
  108. package/lib/server/instructions/sql.js +34 -0
  109. package/lib/server/instructions/update.d.ts +1 -1
  110. package/lib/server/migrations/20230221071831-calculation-expression.js +1 -1
  111. package/lib/server/migrations/20230221121203-condition-calculation.js +1 -1
  112. package/lib/server/migrations/20230221162902-jsonb-to-json.js +7 -7
  113. package/lib/server/migrations/20230411034722-manual-multi-form.js +1 -8
  114. package/lib/server/migrations/20230710115902-manual-action-values.d.ts +4 -0
  115. package/lib/server/migrations/20230710115902-manual-action-values.js +97 -0
  116. package/lib/server/triggers/collection.d.ts +1 -1
  117. package/lib/server/triggers/collection.js +15 -13
  118. package/lib/server/triggers/index.d.ts +1 -1
  119. package/lib/server/triggers/schedule.d.ts +1 -1
  120. package/lib/server/triggers/schedule.js +18 -18
  121. package/lib/server/{models → types}/Execution.d.ts +2 -3
  122. package/lib/server/{models → types}/FlowNode.d.ts +1 -2
  123. package/lib/server/{models → types}/Job.d.ts +1 -2
  124. package/lib/server/{models → types}/Workflow.d.ts +1 -2
  125. package/lib/server/types/index.d.ts +4 -0
  126. package/lib/server/types/index.js +5 -0
  127. package/lib/server/utils.d.ts +2 -0
  128. package/lib/server/utils.js +21 -0
  129. package/package.json +39 -18
  130. package/server.d.ts +2 -3
  131. package/server.js +1 -30
  132. package/src/client/AddButton.tsx +111 -0
  133. package/src/client/Branch.tsx +37 -0
  134. package/src/client/CanvasContent.tsx +25 -0
  135. package/src/client/ExecutionCanvas.tsx +166 -0
  136. package/src/client/ExecutionLink.tsx +16 -0
  137. package/src/client/ExecutionPage.tsx +45 -0
  138. package/src/client/ExecutionResourceProvider.tsx +21 -0
  139. package/src/client/FlowContext.ts +7 -0
  140. package/src/client/WorkflowCanvas.tsx +221 -0
  141. package/src/client/WorkflowLink.tsx +16 -0
  142. package/src/client/WorkflowPage.tsx +52 -0
  143. package/src/client/WorkflowProvider.tsx +84 -0
  144. package/src/client/components/CollectionBlockInitializer.tsx +71 -0
  145. package/src/client/components/CollectionFieldset.tsx +160 -0
  146. package/src/client/components/Duration.tsx +45 -0
  147. package/src/client/components/DynamicExpression.tsx +53 -0
  148. package/src/client/components/FieldsSelect.tsx +32 -0
  149. package/src/client/components/FilterDynamicComponent.tsx +15 -0
  150. package/src/client/components/NodeDescription.tsx +51 -0
  151. package/src/client/components/NullRender.tsx +3 -0
  152. package/src/client/components/OpenDrawer.tsx +24 -0
  153. package/src/client/components/RadioWithTooltip.tsx +38 -0
  154. package/src/client/components/ValueBlock.tsx +67 -0
  155. package/src/client/components/renderEngineReference.tsx +30 -0
  156. package/src/client/constants.tsx +91 -0
  157. package/src/client/index.tsx +51 -0
  158. package/src/client/interfaces/expression.tsx +25 -0
  159. package/src/client/locale/en-US.ts +136 -0
  160. package/src/client/locale/es-ES.ts +129 -0
  161. package/src/client/locale/index.ts +18 -0
  162. package/src/client/locale/ja-JP.ts +90 -0
  163. package/src/client/locale/pt-BR.ts +136 -0
  164. package/src/client/locale/ru-RU.ts +90 -0
  165. package/src/client/locale/tr-TR.ts +90 -0
  166. package/src/client/locale/zh-CN.ts +248 -0
  167. package/src/client/nodes/aggregate.tsx +327 -0
  168. package/src/client/nodes/calculation.tsx +216 -0
  169. package/src/client/nodes/condition.tsx +463 -0
  170. package/src/client/nodes/create.tsx +85 -0
  171. package/src/client/nodes/delay.tsx +37 -0
  172. package/src/client/nodes/destroy.tsx +34 -0
  173. package/src/client/nodes/index.tsx +485 -0
  174. package/src/client/nodes/loop.tsx +144 -0
  175. package/src/client/nodes/manual/AssigneesSelect.tsx +33 -0
  176. package/src/client/nodes/manual/DetailsBlockProvider.tsx +80 -0
  177. package/src/client/nodes/manual/FormBlockInitializer.tsx +69 -0
  178. package/src/client/nodes/manual/FormBlockProvider.tsx +75 -0
  179. package/src/client/nodes/manual/ModeConfig.tsx +84 -0
  180. package/src/client/nodes/manual/SchemaConfig.tsx +509 -0
  181. package/src/client/nodes/manual/WorkflowTodo.tsx +607 -0
  182. package/src/client/nodes/manual/WorkflowTodoBlockInitializer.tsx +28 -0
  183. package/src/client/nodes/manual/forms/create.tsx +92 -0
  184. package/src/client/nodes/manual/forms/custom.tsx +392 -0
  185. package/src/client/nodes/manual/forms/update.tsx +134 -0
  186. package/src/client/nodes/manual/index.tsx +162 -0
  187. package/src/client/nodes/manual/utils.ts +28 -0
  188. package/src/client/nodes/parallel.tsx +138 -0
  189. package/src/client/nodes/query.tsx +88 -0
  190. package/src/client/nodes/request.tsx +185 -0
  191. package/src/client/nodes/sql.tsx +37 -0
  192. package/src/client/nodes/update.tsx +99 -0
  193. package/src/client/schemas/collection.ts +75 -0
  194. package/src/client/schemas/executions.tsx +169 -0
  195. package/src/client/schemas/workflows.ts +364 -0
  196. package/src/client/style.tsx +347 -0
  197. package/src/client/triggers/collection.tsx +190 -0
  198. package/src/client/triggers/index.tsx +311 -0
  199. package/src/client/triggers/schedule/EndsByField.tsx +40 -0
  200. package/src/client/triggers/schedule/OnField.tsx +64 -0
  201. package/src/client/triggers/schedule/RepeatField.tsx +116 -0
  202. package/src/client/triggers/schedule/ScheduleConfig.tsx +227 -0
  203. package/src/client/triggers/schedule/constants.ts +4 -0
  204. package/src/client/triggers/schedule/index.tsx +78 -0
  205. package/src/client/triggers/schedule/locale/Cron.zh-CN.ts +79 -0
  206. package/src/client/utils.ts +36 -0
  207. package/src/client/variable.tsx +318 -0
  208. package/src/index.ts +1 -0
  209. package/src/server/Plugin.ts +355 -0
  210. package/src/server/Processor.ts +354 -0
  211. package/src/server/__tests__/Plugin.test.ts +398 -0
  212. package/src/server/__tests__/Processor.test.ts +474 -0
  213. package/src/server/__tests__/actions/workflows.test.ts +419 -0
  214. package/src/server/__tests__/collections/categories.ts +27 -0
  215. package/src/server/__tests__/collections/comments.ts +24 -0
  216. package/src/server/__tests__/collections/posts.ts +42 -0
  217. package/src/server/__tests__/collections/replies.ts +9 -0
  218. package/src/server/__tests__/collections/tags.ts +15 -0
  219. package/src/server/__tests__/index.ts +89 -0
  220. package/src/server/__tests__/instructions/aggregate.test.ts +294 -0
  221. package/src/server/__tests__/instructions/calculation.test.ts +265 -0
  222. package/src/server/__tests__/instructions/condition.test.ts +335 -0
  223. package/src/server/__tests__/instructions/create.test.ts +129 -0
  224. package/src/server/__tests__/instructions/delay.test.ts +182 -0
  225. package/src/server/__tests__/instructions/destroy.test.ts +58 -0
  226. package/src/server/__tests__/instructions/loop.test.ts +331 -0
  227. package/src/server/__tests__/instructions/manual.test.ts +1173 -0
  228. package/src/server/__tests__/instructions/parallel.test.ts +445 -0
  229. package/src/server/__tests__/instructions/query.test.ts +359 -0
  230. package/src/server/__tests__/instructions/request.test.ts +247 -0
  231. package/src/server/__tests__/instructions/sql.test.ts +162 -0
  232. package/src/server/__tests__/instructions/update.test.ts +189 -0
  233. package/src/server/__tests__/triggers/collection.test.ts +333 -0
  234. package/src/server/__tests__/triggers/schedule.test.ts +369 -0
  235. package/src/server/actions/index.ts +25 -0
  236. package/src/server/actions/nodes.ts +214 -0
  237. package/src/server/actions/workflows.ts +178 -0
  238. package/src/server/collections/executions.ts +35 -0
  239. package/src/server/collections/flow_nodes.ts +54 -0
  240. package/src/server/collections/jobs.ts +31 -0
  241. package/src/server/collections/workflows.ts +88 -0
  242. package/src/server/constants.ts +26 -0
  243. package/src/server/fields/expression-field.ts +11 -0
  244. package/src/server/fields/index.ts +7 -0
  245. package/src/server/functions/index.ts +16 -0
  246. package/src/server/index.ts +6 -0
  247. package/src/server/instructions/aggregate.ts +42 -0
  248. package/src/server/instructions/calculation.ts +41 -0
  249. package/src/server/instructions/condition.ts +172 -0
  250. package/src/server/instructions/create.ts +39 -0
  251. package/src/server/instructions/delay.ts +105 -0
  252. package/src/server/instructions/destroy.ts +23 -0
  253. package/src/server/instructions/index.ts +64 -0
  254. package/src/server/instructions/loop.ts +99 -0
  255. package/src/server/instructions/manual/actions.ts +91 -0
  256. package/src/server/instructions/manual/collecions/jobs.ts +17 -0
  257. package/src/server/instructions/manual/collecions/users.ts +15 -0
  258. package/src/server/instructions/manual/collecions/users_jobs.ts +50 -0
  259. package/src/server/instructions/manual/forms/create.ts +23 -0
  260. package/src/server/instructions/manual/forms/index.ts +12 -0
  261. package/src/server/instructions/manual/forms/update.ts +23 -0
  262. package/src/server/instructions/manual/index.ts +184 -0
  263. package/src/server/instructions/parallel.ts +121 -0
  264. package/src/server/instructions/query.ts +42 -0
  265. package/src/server/instructions/request.ts +88 -0
  266. package/src/server/instructions/sql.ts +25 -0
  267. package/src/server/instructions/update.ts +24 -0
  268. package/src/server/migrations/20221129153547-calculation-variables.ts +64 -0
  269. package/src/server/migrations/20230221032941-change-request-body-type.ts +76 -0
  270. package/src/server/migrations/20230221071831-calculation-expression.ts +102 -0
  271. package/src/server/migrations/20230221121203-condition-calculation.ts +82 -0
  272. package/src/server/migrations/20230221162902-jsonb-to-json.ts +51 -0
  273. package/src/server/migrations/20230411034722-manual-multi-form.ts +282 -0
  274. package/src/server/migrations/20230612021134-manual-collection-block.ts +138 -0
  275. package/src/server/migrations/20230710115902-manual-action-values.ts +78 -0
  276. package/src/server/triggers/collection.ts +146 -0
  277. package/src/server/triggers/index.ts +22 -0
  278. package/src/server/triggers/schedule.ts +567 -0
  279. package/src/server/types/Execution.ts +26 -0
  280. package/src/server/types/FlowNode.ts +21 -0
  281. package/src/server/types/Job.ts +18 -0
  282. package/src/server/types/Workflow.ts +36 -0
  283. package/src/server/types/index.ts +4 -0
  284. package/src/server/utils.ts +17 -0
  285. package/lib/client/triggers/schedule/DateFieldsSelect.d.ts +0 -2
  286. /package/lib/server/{models → types}/Execution.js +0 -0
  287. /package/lib/server/{models → types}/FlowNode.js +0 -0
  288. /package/lib/server/{models → types}/Job.js +0 -0
  289. /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,67 @@ function _icons() {
26
19
  };
27
20
  return data;
28
21
  }
29
- function _css() {
30
- const data = require("@emotion/css");
31
- _css = function _css() {
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 _react2() {
37
- const data = require("@formily/react");
38
- _react2 = function _react2() {
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 _antd() {
44
- const data = require("antd");
45
- _antd = function _antd() {
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 _reactI18next() {
51
- const data = require("react-i18next");
52
- _reactI18next = function _reactI18next() {
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 _client() {
58
- const data = require("@nocobase/utils/client");
59
- _client = function _client() {
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 _client2() {
65
- const data = require("@nocobase/client");
66
- _client2 = function _client2() {
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 = _interopRequireDefault(require("../style"));
70
+ var _aggregate = _interopRequireDefault(require("./aggregate"));
74
71
  var _calculation = _interopRequireDefault(require("./calculation"));
75
72
  var _condition = _interopRequireDefault(require("./condition"));
76
- var _parallel = _interopRequireDefault(require("./parallel"));
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 _NodeDescription = require("../components/NodeDescription");
81
+ var _update = _interopRequireDefault(require("./update"));
82
+ var _sql = _interopRequireDefault(require("./sql"));
89
83
  const _excluded = ["job"];
90
84
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
91
85
  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 +99,7 @@ function _objectWithoutProperties(source, excluded) { if (source == null) return
105
99
  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
100
  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
101
  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 (_client().Registry)();
102
+ const instructions = new (_client2().Registry)();
109
103
  exports.instructions = instructions;
110
104
  instructions.register('calculation', _calculation.default);
111
105
  instructions.register('condition', _condition.default);
@@ -119,11 +113,12 @@ instructions.register('update', _update.default);
119
113
  instructions.register('destroy', _destroy.default);
120
114
  instructions.register('aggregate', _aggregate.default);
121
115
  instructions.register('request', _request.default);
116
+ instructions.register('sql', _sql.default);
122
117
  function useUpdateAction() {
123
- const form = (0, _react2().useForm)();
124
- const api = (0, _client2().useAPIClient)();
125
- const ctx = (0, _client2().useActionContext)();
126
- const _useResourceActionCon = (0, _client2().useResourceActionContext)(),
118
+ const form = (0, _react().useForm)();
119
+ const api = (0, _client().useAPIClient)();
120
+ const ctx = (0, _client().useActionContext)();
121
+ const _useResourceActionCon = (0, _client().useResourceActionContext)(),
127
122
  refresh = _useResourceActionCon.refresh;
128
123
  const data = useNodeContext();
129
124
  const _useFlowContext = (0, _FlowContext.useFlowContext)(),
@@ -149,10 +144,10 @@ function useUpdateAction() {
149
144
  }
150
145
  };
151
146
  }
152
- const NodeContext = _react().default.createContext({});
147
+ const NodeContext = _react2().default.createContext({});
153
148
  exports.NodeContext = NodeContext;
154
149
  function useNodeContext() {
155
- return (0, _react().useContext)(NodeContext);
150
+ return (0, _react2().useContext)(NodeContext);
156
151
  }
157
152
  function useAvailableUpstreams(node) {
158
153
  const stack = [];
@@ -179,20 +174,22 @@ function useUpstreamScopes(node) {
179
174
  function Node({
180
175
  data
181
176
  }) {
177
+ const _useStyles = (0, _style.default)(),
178
+ styles = _useStyles.styles;
182
179
  const _instructions$get = instructions.get(data.type),
183
180
  _instructions$get$com = _instructions$get.component,
184
181
  Component = _instructions$get$com === void 0 ? NodeDefaultView : _instructions$get$com,
185
182
  endding = _instructions$get.endding;
186
- return _react().default.createElement(NodeContext.Provider, {
183
+ return _react2().default.createElement(NodeContext.Provider, {
187
184
  value: data
188
- }, _react().default.createElement("div", {
189
- className: (0, _css().cx)(_style.nodeBlockClass)
190
- }, _react().default.createElement(Component, {
185
+ }, _react2().default.createElement("div", {
186
+ className: (0, _client().cx)(styles.nodeBlockClass)
187
+ }, _react2().default.createElement(Component, {
191
188
  data: data
192
- }), !endding ? _react().default.createElement(_AddButton.AddButton, {
189
+ }), !endding ? _react2().default.createElement(_AddButton.AddButton, {
193
190
  upstream: data
194
- }) : _react().default.createElement("div", {
195
- className: (0, _css().css)`
191
+ }) : _react2().default.createElement("div", {
192
+ className: (0, _client().css)`
196
193
  flex-grow: 1;
197
194
  display: flex;
198
195
  flex-direction: column;
@@ -201,25 +198,27 @@ function Node({
201
198
  width: 1px;
202
199
  height: 6em;
203
200
  padding: 2em 0;
204
- background-color: #f0f2f5;
201
+ background-color: var(--nb-box-bg);
205
202
 
206
203
  .anticon {
207
204
  font-size: 1.5em;
208
205
  line-height: 100%;
209
206
  }
210
207
  `
211
- }, _react().default.createElement(_icons().CloseOutlined, null))));
208
+ }, _react2().default.createElement(_icons().CloseOutlined, null))));
212
209
  }
213
210
  function RemoveButton() {
214
211
  var _useFlowContext2;
215
212
  const _useTranslation = (0, _reactI18next().useTranslation)(),
216
213
  t = _useTranslation.t;
217
- const api = (0, _client2().useAPIClient)();
214
+ const api = (0, _client().useAPIClient)();
218
215
  const _ref = (_useFlowContext2 = (0, _FlowContext.useFlowContext)()) !== null && _useFlowContext2 !== void 0 ? _useFlowContext2 : {},
219
216
  workflow = _ref.workflow,
220
217
  nodes = _ref.nodes,
221
218
  refresh = _ref.refresh;
222
219
  const current = useNodeContext();
220
+ const _App$useApp = _antd().App.useApp(),
221
+ modal = _App$useApp.modal;
223
222
  if (!workflow) {
224
223
  return null;
225
224
  }
@@ -246,14 +245,14 @@ function RemoveButton() {
246
245
  if (node === current) {
247
246
  return false;
248
247
  }
249
- const template = (0, _client().parse)(node.config);
248
+ const template = (0, _client2().parse)(node.config);
250
249
  const refs = template.parameters.filter(({
251
250
  key
252
251
  }) => key.startsWith(`$jobsMapByNodeId.${current.id}.`) || key === `$jobsMapByNodeId.${current.id}`);
253
252
  return refs.length;
254
253
  });
255
254
  if (usingNodes.length) {
256
- _antd().Modal.error({
255
+ modal.error({
257
256
  title: (0, _locale.lang)('Can not delete'),
258
257
  content: (0, _locale.lang)('The result of this node has been referenced by other nodes ({{nodes}}), please remove the usage before deleting.', {
259
258
  nodes: usingNodes.map(item => `#${item.id}`).join(', ')
@@ -263,7 +262,7 @@ function RemoveButton() {
263
262
  }
264
263
  const hasBranches = !nodes.find(item => item.upstream === current && item.branchIndex != null);
265
264
  const message = hasBranches ? t('Are you sure you want to delete it?') : (0, _locale.lang)('This node contains branches, deleting will also be preformed to them, are you sure?');
266
- _antd().Modal.confirm({
265
+ modal.confirm({
267
266
  title: t('Delete'),
268
267
  content: message,
269
268
  onOk
@@ -271,10 +270,10 @@ function RemoveButton() {
271
270
  });
272
271
  return _onRemove.apply(this, arguments);
273
272
  }
274
- return workflow.executed ? null : _react().default.createElement(_antd().Button, {
273
+ return workflow.executed ? null : _react2().default.createElement(_antd().Button, {
275
274
  type: "text",
276
275
  shape: "circle",
277
- icon: _react().default.createElement(_icons().DeleteOutlined, null),
276
+ icon: _react2().default.createElement(_icons().DeleteOutlined, null),
278
277
  onClick: onRemove,
279
278
  className: "workflow-node-remove-button"
280
279
  });
@@ -282,13 +281,16 @@ function RemoveButton() {
282
281
  function InnerJobButton(_ref2) {
283
282
  let job = _ref2.job,
284
283
  props = _objectWithoutProperties(_ref2, _excluded);
284
+ const _useStyles2 = (0, _style.default)(),
285
+ styles = _useStyles2.styles;
285
286
  const _JobStatusOptionsMap$ = _constants.JobStatusOptionsMap[job.status],
286
287
  icon = _JobStatusOptionsMap$.icon,
287
288
  color = _JobStatusOptionsMap$.color;
288
- return _react().default.createElement(_antd().Button, _objectSpread(_objectSpread({}, props), {}, {
289
+ return _react2().default.createElement(_antd().Button, _objectSpread(_objectSpread({}, props), {}, {
289
290
  shape: "circle",
290
- className: (0, _css().cx)(_style.nodeJobButtonClass, props.className)
291
- }), _react().default.createElement(_antd().Tag, {
291
+ size: "small",
292
+ className: (0, _client().cx)(styles.nodeJobButtonClass, props.className)
293
+ }), _react2().default.createElement(_antd().Tag, {
292
294
  color: color
293
295
  }, icon));
294
296
  }
@@ -299,12 +301,14 @@ function JobButton() {
299
301
  setViewJob = _useFlowContext3.setViewJob;
300
302
  const _ref3 = (_useNodeContext = useNodeContext()) !== null && _useNodeContext !== void 0 ? _useNodeContext : {},
301
303
  jobs = _ref3.jobs;
304
+ const _useStyles3 = (0, _style.default)(),
305
+ styles = _useStyles3.styles;
302
306
  if (!execution) {
303
307
  return null;
304
308
  }
305
309
  if (!jobs.length) {
306
- return _react().default.createElement("span", {
307
- className: (0, _css().cx)(_style.nodeJobButtonClass, (0, _css().css)`
310
+ return _react2().default.createElement("span", {
311
+ className: (0, _client().cx)(styles.nodeJobButtonClass, (0, _client().css)`
308
312
  border: 2px solid #d9d9d9;
309
313
  border-radius: 50%;
310
314
  cursor: not-allowed;
@@ -317,7 +321,7 @@ function JobButton() {
317
321
  const job = jobs.find(item => item.id == key);
318
322
  setViewJob(job);
319
323
  }
320
- return jobs.length > 1 ? _react().default.createElement(_antd().Dropdown, {
324
+ return jobs.length > 1 ? _react2().default.createElement(_antd().Dropdown, {
321
325
  menu: {
322
326
  items: jobs.map(job => {
323
327
  const _JobStatusOptionsMap$2 = _constants.JobStatusOptionsMap[job.status],
@@ -325,9 +329,10 @@ function JobButton() {
325
329
  color = _JobStatusOptionsMap$2.color;
326
330
  return {
327
331
  key: job.id,
328
- label: _react().default.createElement("div", {
329
- className: (0, _css().css)`
332
+ label: _react2().default.createElement("div", {
333
+ className: (0, _client().css)`
330
334
  display: flex;
335
+ align-items: center;
331
336
  gap: 0.5em;
332
337
 
333
338
  time {
@@ -335,18 +340,18 @@ function JobButton() {
335
340
  font-size: 0.8em;
336
341
  }
337
342
  `
338
- }, _react().default.createElement("span", {
339
- className: (0, _css().cx)(_style.nodeJobButtonClass, 'inner')
340
- }, _react().default.createElement(_antd().Tag, {
343
+ }, _react2().default.createElement("span", {
344
+ className: (0, _client().cx)(styles.nodeJobButtonClass, 'inner')
345
+ }, _react2().default.createElement(_antd().Tag, {
341
346
  color: color
342
- }, icon)), _react().default.createElement("time", null, (0, _client().str2moment)(job.updatedAt).format('YYYY-MM-DD HH:mm:ss')))
347
+ }, icon)), _react2().default.createElement("time", null, (0, _client2().str2moment)(job.updatedAt).format('YYYY-MM-DD HH:mm:ss')))
343
348
  };
344
349
  }),
345
350
  onClick: onOpenJob
346
351
  }
347
- }, _react().default.createElement(InnerJobButton, {
352
+ }, _react2().default.createElement(InnerJobButton, {
348
353
  job: jobs[jobs.length - 1]
349
- })) : _react().default.createElement(InnerJobButton, {
354
+ })) : _react2().default.createElement(InnerJobButton, {
350
355
  job: jobs[0],
351
356
  onClick: () => setViewJob(jobs[0])
352
357
  });
@@ -355,19 +360,21 @@ function NodeDefaultView(props) {
355
360
  var _useFlowContext4, _data$title;
356
361
  const data = props.data,
357
362
  children = props.children;
358
- const compile = (0, _client2().useCompile)();
359
- const api = (0, _client2().useAPIClient)();
363
+ const compile = (0, _client().useCompile)();
364
+ const api = (0, _client().useAPIClient)();
360
365
  const _ref4 = (_useFlowContext4 = (0, _FlowContext.useFlowContext)()) !== null && _useFlowContext4 !== void 0 ? _useFlowContext4 : {},
361
366
  workflow = _ref4.workflow,
362
367
  refresh = _ref4.refresh;
368
+ const _useStyles4 = (0, _style.default)(),
369
+ styles = _useStyles4.styles;
363
370
  const instruction = instructions.get(data.type);
364
371
  const detailText = workflow.executed ? '{{t("View")}}' : '{{t("Configure")}}';
365
372
  const typeTitle = compile(instruction.title);
366
- const _useState = (0, _react().useState)((_data$title = data.title) !== null && _data$title !== void 0 ? _data$title : typeTitle),
373
+ const _useState = (0, _react2().useState)((_data$title = data.title) !== null && _data$title !== void 0 ? _data$title : typeTitle),
367
374
  _useState2 = _slicedToArray(_useState, 2),
368
375
  editingTitle = _useState2[0],
369
376
  setEditingTitle = _useState2[1];
370
- const _useState3 = (0, _react().useState)(false),
377
+ const _useState3 = (0, _react2().useState)(false),
371
378
  _useState4 = _slicedToArray(_useState3, 2),
372
379
  editingConfig = _useState4[0],
373
380
  setEditingConfig = _useState4[1];
@@ -406,29 +413,29 @@ function NodeDefaultView(props) {
406
413
  }
407
414
  }
408
415
  }
409
- return _react().default.createElement("div", {
410
- className: (0, _css().cx)(_style.nodeClass, `workflow-node-type-${data.type}`)
411
- }, _react().default.createElement("div", {
412
- className: (0, _css().cx)(_style.nodeCardClass, {
416
+ return _react2().default.createElement("div", {
417
+ className: (0, _client().cx)(styles.nodeClass, `workflow-node-type-${data.type}`)
418
+ }, _react2().default.createElement("div", {
419
+ className: (0, _client().cx)(styles.nodeCardClass, {
413
420
  configuring: editingConfig
414
421
  }),
415
422
  onClick: onOpenDrawer
416
- }, _react().default.createElement("div", {
417
- className: (0, _css().cx)(_style.nodeMetaClass, 'workflow-node-meta')
418
- }, _react().default.createElement(_antd().Tag, null, typeTitle), _react().default.createElement("span", {
423
+ }, _react2().default.createElement("div", {
424
+ className: (0, _client().cx)(styles.nodeMetaClass, 'workflow-node-meta')
425
+ }, _react2().default.createElement(_antd().Tag, null, typeTitle), _react2().default.createElement("span", {
419
426
  className: "workflow-node-id"
420
- }, data.id)), _react().default.createElement("div", null, _react().default.createElement(_antd().Input.TextArea, {
427
+ }, data.id)), _react2().default.createElement("div", null, _react2().default.createElement(_antd().Input.TextArea, {
421
428
  disabled: workflow.executed,
422
429
  value: editingTitle,
423
430
  onChange: ev => setEditingTitle(ev.target.value),
424
431
  onBlur: ev => onChangeTitle(ev.target.value),
425
432
  autoSize: true
426
- })), _react().default.createElement(RemoveButton, null), _react().default.createElement(JobButton, null), _react().default.createElement(_client2().ActionContextProvider, {
433
+ })), _react2().default.createElement(RemoveButton, null), _react2().default.createElement(JobButton, null), _react2().default.createElement(_client().ActionContextProvider, {
427
434
  value: {
428
435
  visible: editingConfig,
429
436
  setVisible: setEditingConfig
430
437
  }
431
- }, _react().default.createElement(_client2().SchemaComponent, {
438
+ }, _react2().default.createElement(_client().SchemaComponent, {
432
439
  scope: instruction.scope,
433
440
  components: instruction.components,
434
441
  schema: {
@@ -455,7 +462,7 @@ function NodeDefaultView(props) {
455
462
  useValues(options) {
456
463
  const _useNodeContext2 = useNodeContext(),
457
464
  config = _useNodeContext2.config;
458
- return (0, _client2().useRequest)(() => {
465
+ return (0, _client().useRequest)(() => {
459
466
  return Promise.resolve({
460
467
  data: config
461
468
  });
@@ -470,7 +477,7 @@ function NodeDefaultView(props) {
470
477
  type: 'warning',
471
478
  showIcon: true,
472
479
  message: `{{t("Node in executed workflow cannot be modified", { ns: "${_locale.NAMESPACE}" })}}`,
473
- className: (0, _css().css)`
480
+ className: (0, _client().css)`
474
481
  width: 100%;
475
482
  font-size: 85%;
476
483
  margin-bottom: 2em;
@@ -490,25 +497,11 @@ function NodeDefaultView(props) {
490
497
  type: 'void',
491
498
  'x-component': 'fieldset',
492
499
  'x-component-props': {
493
- className: (0, _css().css)`
500
+ className: (0, _client().css)`
494
501
  .ant-select,
495
502
  .ant-cascader-picker,
496
503
  .ant-picker,
497
504
  .ant-input-number,
498
- .ant-input-affix-wrapper {
499
- &:not(.full-width) {
500
- width: auto;
501
- min-width: 6em;
502
- }
503
- }
504
- .ant-input-affix-wrapper {
505
- &:not(.full-width) {
506
- .ant-input {
507
- width: auto;
508
- min-width: 6em;
509
- }
510
- }
511
- }
512
505
  `
513
506
  },
514
507
  properties: instruction.fieldset
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { useWorkflowVariableOptions, VariableOption } from '../variable';
2
+ import { VariableOption, useWorkflowVariableOptions } from '../variable';
3
3
  declare const _default: {
4
4
  title: string;
5
5
  type: string;
@@ -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 _css() {
22
- const data = require("@emotion/css");
23
- _css = function _css() {
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 _client() {
29
- const data = require("@nocobase/client");
30
- _client = function _client() {
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");
32
+ var _style = _interopRequireDefault(require("../style"));
38
33
  var _variable = require("../variable");
39
- var _style = require("../style");
40
- var _Branch = require("../Branch");
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 current = options;
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 option = current.find(item => item.value === path);
47
- if (!option) {
48
- return null;
45
+ const current = opts.find(item => item.value === path);
46
+ if (!current) {
47
+ break;
49
48
  }
50
- if (option.children) {
51
- current = option.children;
49
+ option = current;
50
+ if (current.children) {
51
+ opts = current.children;
52
52
  }
53
53
  }
54
- return current;
54
+ return option;
55
55
  }
56
56
  var _default = {
57
57
  title: `{{t("Loop", { ns: "${_locale.NAMESPACE}" })}}`,
@@ -69,7 +69,7 @@ var _default = {
69
69
  scope: '{{useWorkflowVariableOptions()}}',
70
70
  changeOnSelect: true,
71
71
  useTypedConstant: ['string', 'number', 'null'],
72
- className: (0, _css().css)`
72
+ className: (0, _client().css)`
73
73
  width: 100%;
74
74
 
75
75
  .variable {
@@ -91,13 +91,15 @@ var _default = {
91
91
  var _entry$branchIndex;
92
92
  const _useFlowContext = (0, _FlowContext.useFlowContext)(),
93
93
  nodes = _useFlowContext.nodes;
94
+ const _useStyles = (0, _style.default)(),
95
+ styles = _useStyles.styles;
94
96
  const entry = nodes.find(node => node.upstreamId === data.id && node.branchIndex != null);
95
97
  return _react().default.createElement(_.NodeDefaultView, {
96
98
  data: data
97
99
  }, _react().default.createElement("div", {
98
- className: (0, _css().cx)(_style.nodeSubtreeClass)
100
+ className: styles.nodeSubtreeClass
99
101
  }, _react().default.createElement("div", {
100
- className: (0, _css().cx)(_style.branchBlockClass, (0, _css().css)`
102
+ className: (0, _client().cx)(styles.branchBlockClass, (0, _client().css)`
101
103
  padding-left: 20em;
102
104
  `)
103
105
  }, _react().default.createElement(_Branch.Branch, {
@@ -105,26 +107,13 @@ var _default = {
105
107
  entry: entry,
106
108
  branchIndex: (_entry$branchIndex = entry === null || entry === void 0 ? void 0 : entry.branchIndex) !== null && _entry$branchIndex !== void 0 ? _entry$branchIndex : 0
107
109
  }), _react().default.createElement("div", {
108
- className: (0, _css().cx)(_style.branchClass)
110
+ className: styles.branchClass
109
111
  }, _react().default.createElement("div", {
110
112
  className: "workflow-branch-lines"
111
113
  }), _react().default.createElement("div", {
112
- className: (0, _css().cx)(_style.addButtonClass, (0, _css().css)`
113
- display: flex;
114
- justify-content: center;
115
- align-items: center;
116
- position: absolute;
117
- top: 50%;
118
- transform: translateY(-50%);
119
- width: 2em;
120
- height: 6em;
121
- `)
122
- }, _react().default.createElement(_icons().ArrowUpOutlined, {
123
- className: (0, _css().css)`
124
- background-color: #f0f2f5;
125
- `
126
- })))), _react().default.createElement("div", {
127
- className: (0, _css().css)`
114
+ className: (0, _client().cx)(styles.addButtonClass, styles.loopLineClass)
115
+ }, _react().default.createElement(_icons().ArrowUpOutlined, null)))), _react().default.createElement("div", {
116
+ className: (0, _client().css)`
128
117
  position: relative;
129
118
  height: 2em;
130
119
  `
@@ -140,39 +129,42 @@ var _default = {
140
129
  if (!target) {
141
130
  return null;
142
131
  }
132
+ const _options$fieldNames = options.fieldNames,
133
+ fieldNames = _options$fieldNames === void 0 ? _variable.defaultFieldNames : _options$fieldNames;
143
134
  // const { workflow } = useFlowContext();
144
135
  // const current = useNodeContext();
145
136
  // const upstreams = useAvailableUpstreams(current);
146
137
  // find target data model by path described in `config.target`
147
138
  // 1. get options from $context/$jobsMapByNodeId
148
139
  // 2. route to sub-options and use as loop target options
149
- const targetOption = {
140
+ let targetOption = {
150
141
  key: 'item',
151
- value: 'item',
152
- label: (0, _locale.lang)('Loop target')
142
+ [fieldNames.value]: 'item',
143
+ [fieldNames.label]: (0, _locale.lang)('Loop target')
153
144
  };
154
145
  if (typeof target === 'string' && target.startsWith('{{') && target.endsWith('}}')) {
155
146
  const paths = target.slice(2, -2).split('.').map(path => path.trim());
156
147
  const targetOptions = [_variable.nodesOptions, _variable.triggerOptions].map(item => {
157
- const opts = typeof item.useOptions === 'function' ? item.useOptions(options).filter(Boolean) : null;
148
+ const opts = item.useOptions(options).filter(Boolean);
158
149
  return {
159
- label: compile(item.title),
160
- value: item.value,
150
+ [fieldNames.label]: compile(item.title),
151
+ [fieldNames.value]: item.value,
161
152
  key: item.value,
162
- children: compile(opts),
153
+ [fieldNames.children]: opts,
163
154
  disabled: opts && !opts.length
164
155
  };
165
156
  });
166
- targetOption.children = findOption(targetOptions, paths);
157
+ const found = findOption(targetOptions, paths);
158
+ targetOption = Object.assign(_objectSpread({}, targetOption), found, targetOption);
167
159
  }
168
160
  return [targetOption, {
169
161
  key: 'index',
170
- value: 'index',
171
- label: (0, _locale.lang)('Loop index')
162
+ [fieldNames.value]: 'index',
163
+ [fieldNames.label]: (0, _locale.lang)('Loop index')
172
164
  }, {
173
165
  key: 'length',
174
- value: 'length',
175
- label: (0, _locale.lang)('Loop length')
166
+ [fieldNames.value]: 'length',
167
+ [fieldNames.label]: (0, _locale.lang)('Loop length')
176
168
  }];
177
169
  }
178
170
  };
@@ -68,11 +68,8 @@ function InternalFormBlockInitializer(_ref) {
68
68
  type: 'primary',
69
69
  useAction: '{{ useSubmit }}'
70
70
  },
71
- 'x-designer': 'Action.Designer',
72
- 'x-designer-props': {
73
- type: 'record'
74
- },
75
- 'x-action': `${_constants.JOB_STATUS.RESOLVED}`
71
+ 'x-designer': 'ManualActionDesigner',
72
+ 'x-designer-props': {}
76
73
  }
77
74
  }
78
75
  }, schema), {}, {
@@ -84,6 +81,10 @@ function InternalFormBlockInitializer(_ref) {
84
81
  _Object$keys2 = _slicedToArray(_Object$keys, 1),
85
82
  formKey = _Object$keys2[0];
86
83
  result.properties[formKey].properties.actions['x-decorator'] = 'ActionBarProvider';
84
+ result.properties[formKey].properties.actions['x-component-props'].style = {
85
+ marginTop: '1.5em',
86
+ flexWrap: 'wrap'
87
+ };
87
88
  (0, _utils.traverseSchema)(result, node => {
88
89
  if (node['x-uid']) {
89
90
  delete node['x-uid'];