@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,16 +12,16 @@ function _icons() {
12
12
  };
13
13
  return data;
14
14
  }
15
- function _css() {
16
- const data = require("@emotion/css");
17
- _css = function _css() {
15
+ function _react() {
16
+ const data = require("@formily/react");
17
+ _react = function _react() {
18
18
  return data;
19
19
  };
20
20
  return data;
21
21
  }
22
- function _react() {
23
- const data = require("@formily/react");
24
- _react = function _react() {
22
+ function _client() {
23
+ const data = require("@nocobase/client");
24
+ _client = function _client() {
25
25
  return data;
26
26
  };
27
27
  return data;
@@ -47,13 +47,6 @@ function _reactI18next() {
47
47
  };
48
48
  return data;
49
49
  }
50
- function _client() {
51
- const data = require("@nocobase/client");
52
- _client = function _client() {
53
- return data;
54
- };
55
- return data;
56
- }
57
50
  var _locale = require("../locale");
58
51
  var _variable = require("../variable");
59
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); }
@@ -98,6 +91,8 @@ const CollectionFieldSet = (0, _react().observer)(({
98
91
  onChange: _onChange,
99
92
  filter
100
93
  }) => {
94
+ const _useToken = (0, _client().useToken)(),
95
+ token = _useToken.token;
101
96
  const _useTranslation = (0, _reactI18next().useTranslation)(),
102
97
  t = _useTranslation.t;
103
98
  const compile = (0, _client().useCompile)();
@@ -134,7 +129,7 @@ const CollectionFieldSet = (0, _react().observer)(({
134
129
  };
135
130
  }, [_onChange, unassignedFields, value]);
136
131
  return _react2().default.createElement("fieldset", {
137
- className: (0, _css().css)`
132
+ className: (0, _client().css)`
138
133
  margin-top: 0.5em;
139
134
 
140
135
  > .ant-formily-item {
@@ -157,7 +152,7 @@ const CollectionFieldSet = (0, _react().observer)(({
157
152
  key: field.name,
158
153
  label: compile((_field$uiSchema$title2 = (_field$uiSchema2 = field.uiSchema) === null || _field$uiSchema2 === void 0 ? void 0 : _field$uiSchema2.title) !== null && _field$uiSchema$title2 !== void 0 ? _field$uiSchema$title2 : field.name),
159
154
  labelAlign: "left",
160
- className: (0, _css().css)`
155
+ className: (0, _client().css)`
161
156
  .ant-form-item-control-input-content {
162
157
  display: flex;
163
158
  }
@@ -196,7 +191,11 @@ const CollectionFieldSet = (0, _react().observer)(({
196
191
  menu: menu
197
192
  }, _react2().default.createElement(_antd().Button, {
198
193
  icon: _react2().default.createElement(_icons().PlusOutlined, null)
199
- }, 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')));
200
199
  }, {
201
200
  displayName: 'CollectionFieldSet'
202
201
  });
@@ -4,9 +4,9 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = _default;
7
- function _css() {
8
- const data = require("@emotion/css");
9
- _css = function _css() {
7
+ function _client() {
8
+ const data = require("@nocobase/client");
9
+ _client = function _client() {
10
10
  return data;
11
11
  };
12
12
  return data;
@@ -53,7 +53,7 @@ function _default({
53
53
  const option = getNumberOption(value);
54
54
  const quantity = Math.round(value / option.value);
55
55
  return _react().default.createElement("fieldset", {
56
- className: (0, _css().css)`
56
+ className: (0, _client().css)`
57
57
  display: flex;
58
58
  gap: 0.5em;
59
59
  `
@@ -62,7 +62,7 @@ function _default({
62
62
  value: quantity,
63
63
  onChange: v => _onChange(Math.round(v * option.value))
64
64
  }), _react().default.createElement(_antd().Select, {
65
- dropdownMatchSelectWidth: false,
65
+ popupMatchSelectWidth: false,
66
66
  value: option.value,
67
67
  onChange: unit => _onChange(Math.round(quantity * unit))
68
68
  }, UnitOptions.map(item => _react().default.createElement(_antd().Select.Option, {
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
- export declare const DynamicExpression: React.ForwardRefExoticComponent<Pick<Partial<Omit<{
2
+ export declare const DynamicExpression: React.ForwardRefExoticComponent<Omit<Partial<Omit<{
3
3
  children?: React.ReactNode;
4
- }, string | number | symbol> & Pick<any, string | number | symbol> & {
4
+ }, string | number | symbol> & Omit<any, "ref"> & {
5
5
  children?: React.ReactNode;
6
- }>, string | number | symbol> & React.RefAttributes<unknown>>;
6
+ }>, "ref"> & React.RefAttributes<unknown>>;
@@ -1,2 +1,2 @@
1
1
  import React from 'react';
2
- export declare const FieldsSelect: React.MemoExoticComponent<import("@formily/react").ReactFC<Pick<any, string | number | symbol>>>;
2
+ export declare const FieldsSelect: React.MemoExoticComponent<import("@formily/react").ReactFC<Omit<any, "ref">>>;
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.FieldsSelect = void 0;
7
7
  function _react() {
8
- const data = _interopRequireDefault(require("react"));
8
+ const data = require("@formily/react");
9
9
  _react = function _react() {
10
10
  return data;
11
11
  };
@@ -19,7 +19,7 @@ function _antd() {
19
19
  return data;
20
20
  }
21
21
  function _react2() {
22
- const data = require("@formily/react");
22
+ const data = _interopRequireDefault(require("react"));
23
23
  _react2 = function _react2() {
24
24
  return data;
25
25
  };
@@ -41,19 +41,22 @@ 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
- const FieldsSelect = (0, _react2().observer)(props => {
44
+ function defaultFilter() {
45
+ return true;
46
+ }
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)(),
50
53
  getCollectionFields = _useCollectionManager.getCollectionFields;
51
- const _useForm = (0, _react2().useForm)(),
54
+ const _useForm = (0, _react().useForm)(),
52
55
  values = _useForm.values;
53
56
  const fields = getCollectionFields(values === null || values === void 0 ? void 0 : values.collection);
54
- return _react().default.createElement(_antd().Select, _objectSpread(_objectSpread({
57
+ return _react2().default.createElement(_antd().Select, _objectSpread(_objectSpread({
55
58
  className: "full-width",
56
- dropdownMatchSelectWidth: false
59
+ popupMatchSelectWidth: false
57
60
  }, others), {}, {
58
61
  options: fields.filter(filter).map(field => {
59
62
  var _field$uiSchema;
@@ -4,56 +4,70 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.NodeDescription = NodeDescription;
7
- function _react() {
8
- const data = _interopRequireDefault(require("react"));
9
- _react = function _react() {
7
+ function _client() {
8
+ const data = require("@nocobase/client");
9
+ _client = function _client() {
10
10
  return data;
11
11
  };
12
12
  return data;
13
13
  }
14
- function _css() {
15
- const data = require("@emotion/css");
16
- _css = function _css() {
14
+ function _antd() {
15
+ const data = require("antd");
16
+ _antd = function _antd() {
17
17
  return data;
18
18
  };
19
19
  return data;
20
20
  }
21
- function _antd() {
22
- const data = require("antd");
23
- _antd = function _antd() {
21
+ function _react() {
22
+ const data = _interopRequireDefault(require("react"));
23
+ _react = function _react() {
24
24
  return data;
25
25
  };
26
26
  return data;
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, _css().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, _css().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
  }
@@ -4,37 +4,30 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.RadioWithTooltip = RadioWithTooltip;
7
- function _react() {
8
- const data = _interopRequireDefault(require("react"));
9
- _react = function _react() {
10
- return data;
11
- };
12
- return data;
13
- }
14
- function _antd() {
15
- const data = require("antd");
16
- _antd = function _antd() {
7
+ function _icons() {
8
+ const data = require("@ant-design/icons");
9
+ _icons = function _icons() {
17
10
  return data;
18
11
  };
19
12
  return data;
20
13
  }
21
- function _icons() {
22
- const data = require("@ant-design/icons");
23
- _icons = function _icons() {
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 _css() {
29
- const data = require("@emotion/css");
30
- _css = function _css() {
21
+ function _antd() {
22
+ const data = require("antd");
23
+ _antd = function _antd() {
31
24
  return data;
32
25
  };
33
26
  return data;
34
27
  }
35
- function _client() {
36
- const data = require("@nocobase/client");
37
- _client = function _client() {
28
+ function _react() {
29
+ const data = _interopRequireDefault(require("react"));
30
+ _react = function _react() {
38
31
  return data;
39
32
  };
40
33
  return data;
@@ -57,7 +50,7 @@ function RadioWithTooltip(props) {
57
50
  key: option.value,
58
51
  value: option.value
59
52
  }, _react().default.createElement("span", {
60
- className: (0, _css().css)`
53
+ className: (0, _client().css)`
61
54
  & + .anticon {
62
55
  margin-left: 0.25em;
63
56
  }
@@ -5,36 +5,29 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.ValueBlock = void 0;
7
7
  function _react() {
8
- const data = _interopRequireDefault(require("react"));
9
- _react = function _react() {
10
- return data;
11
- };
12
- return data;
13
- }
14
- function _react2() {
15
8
  const data = require("@formily/react");
16
- _react2 = function _react2() {
9
+ _react = function _react() {
17
10
  return data;
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() {
21
+ function _client2() {
29
22
  const data = require("@nocobase/utils/client");
30
- _client = function _client() {
23
+ _client2 = function _client2() {
31
24
  return data;
32
25
  };
33
26
  return data;
34
27
  }
35
- function _client2() {
36
- const data = require("@nocobase/client");
37
- _client2 = function _client2() {
28
+ function _react2() {
29
+ const data = _interopRequireDefault(require("react"));
30
+ _react2 = function _react2() {
38
31
  return data;
39
32
  };
40
33
  return data;
@@ -58,7 +51,7 @@ function Initializer(_ref) {
58
51
  resultTitle = _ref.resultTitle,
59
52
  insert = _ref.insert,
60
53
  props = _objectWithoutProperties(_ref, _excluded);
61
- return _react().default.createElement(_client2().SchemaInitializer.Item, _objectSpread(_objectSpread({}, props), {}, {
54
+ return _react2().default.createElement(_client().SchemaInitializer.Item, _objectSpread(_objectSpread({}, props), {}, {
62
55
  onClick: () => {
63
56
  var _node$title;
64
57
  insert({
@@ -89,19 +82,19 @@ function Result({
89
82
  dataSource
90
83
  }) {
91
84
  var _execution$jobs;
92
- const field = (0, _react2().useFieldSchema)();
85
+ const field = (0, _react().useFieldSchema)();
93
86
  const _useFlowContext = (0, _FlowContext.useFlowContext)(),
94
87
  execution = _useFlowContext.execution;
95
88
  if (!execution) {
96
89
  return field.title;
97
90
  }
98
- const result = (0, _client().parse)(dataSource)({
91
+ const result = (0, _client2().parse)(dataSource)({
99
92
  $jobsMapByNodeId: ((_execution$jobs = execution.jobs) !== null && _execution$jobs !== void 0 ? _execution$jobs : []).reduce((map, job) => Object.assign(map, {
100
93
  [job.nodeId]: job.result
101
94
  }), {})
102
95
  });
103
- return _react().default.createElement("pre", {
104
- className: (0, _css().css)`
96
+ return _react2().default.createElement("pre", {
97
+ className: (0, _client().css)`
105
98
  margin: 0;
106
99
  `
107
100
  }, JSON.stringify(result, null, 2));
@@ -4,13 +4,6 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.renderEngineReference = void 0;
7
- function _css() {
8
- const data = require("@emotion/css");
9
- _css = function _css() {
10
- return data;
11
- };
12
- return data;
13
- }
14
7
  function _client() {
15
8
  const data = require("@nocobase/client");
16
9
  _client = function _client() {
@@ -39,7 +32,7 @@ const renderEngineReference = key => {
39
32
  return null;
40
33
  }
41
34
  return engine.link ? _react().default.createElement(_react().default.Fragment, null, _react().default.createElement("span", {
42
- className: (0, _css().css)`
35
+ className: (0, _client().css)`
43
36
  &:after {
44
37
  content: ':';
45
38
  }
@@ -1,5 +1,13 @@
1
- export { triggers } from './triggers';
2
- export * from './nodes';
3
- export * from './FlowContext';
4
1
  export * from './Branch';
5
- export { WorkflowProvider as default } from './WorkflowProvider';
2
+ export * from './FlowContext';
3
+ export * from './nodes';
4
+ export { triggers } from './triggers';
5
+ export { useWorkflowVariableOptions } from './variable';
6
+ import { Plugin } from '@nocobase/client';
7
+ export declare class WorkflowPlugin extends Plugin {
8
+ load(): Promise<void>;
9
+ addScopes(): void;
10
+ addComponents(): void;
11
+ addRoutes(): void;
12
+ }
13
+ export default WorkflowPlugin;
@@ -4,30 +4,32 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  var _exportNames = {
7
- triggers: true
7
+ WorkflowPlugin: true,
8
+ triggers: true,
9
+ useWorkflowVariableOptions: true
8
10
  };
9
- Object.defineProperty(exports, "default", {
11
+ exports.default = exports.WorkflowPlugin = void 0;
12
+ Object.defineProperty(exports, "triggers", {
10
13
  enumerable: true,
11
14
  get: function get() {
12
- return _WorkflowProvider.WorkflowProvider;
15
+ return _triggers.triggers;
13
16
  }
14
17
  });
15
- Object.defineProperty(exports, "triggers", {
18
+ Object.defineProperty(exports, "useWorkflowVariableOptions", {
16
19
  enumerable: true,
17
20
  get: function get() {
18
- return _triggers.triggers;
21
+ return _variable.useWorkflowVariableOptions;
19
22
  }
20
23
  });
21
- var _triggers = require("./triggers");
22
- var _nodes = require("./nodes");
23
- Object.keys(_nodes).forEach(function (key) {
24
+ var _Branch = require("./Branch");
25
+ Object.keys(_Branch).forEach(function (key) {
24
26
  if (key === "default" || key === "__esModule") return;
25
27
  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
26
- if (key in exports && exports[key] === _nodes[key]) return;
28
+ if (key in exports && exports[key] === _Branch[key]) return;
27
29
  Object.defineProperty(exports, key, {
28
30
  enumerable: true,
29
31
  get: function get() {
30
- return _nodes[key];
32
+ return _Branch[key];
31
33
  }
32
34
  });
33
35
  });
@@ -43,16 +45,77 @@ Object.keys(_FlowContext).forEach(function (key) {
43
45
  }
44
46
  });
45
47
  });
46
- var _Branch = require("./Branch");
47
- Object.keys(_Branch).forEach(function (key) {
48
+ var _nodes = require("./nodes");
49
+ Object.keys(_nodes).forEach(function (key) {
48
50
  if (key === "default" || key === "__esModule") return;
49
51
  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
50
- if (key in exports && exports[key] === _Branch[key]) return;
52
+ if (key in exports && exports[key] === _nodes[key]) return;
51
53
  Object.defineProperty(exports, key, {
52
54
  enumerable: true,
53
55
  get: function get() {
54
- return _Branch[key];
56
+ return _nodes[key];
55
57
  }
56
58
  });
57
59
  });
58
- var _WorkflowProvider = require("./WorkflowProvider");
60
+ var _triggers = require("./triggers");
61
+ var _variable = require("./variable");
62
+ function _client() {
63
+ const data = require("@nocobase/client");
64
+ _client = function _client() {
65
+ return data;
66
+ };
67
+ return data;
68
+ }
69
+ function _react() {
70
+ const data = _interopRequireDefault(require("react"));
71
+ _react = function _react() {
72
+ return data;
73
+ };
74
+ return data;
75
+ }
76
+ var _ExecutionPage = require("./ExecutionPage");
77
+ var _WorkflowPage = require("./WorkflowPage");
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
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
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
+ 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); }); }; }
85
+ class WorkflowPlugin extends _client().Plugin {
86
+ load() {
87
+ var _this = this;
88
+ return _asyncToGenerator(function* () {
89
+ _this.addRoutes();
90
+ _this.addComponents();
91
+ _this.app.use(_WorkflowProvider.WorkflowProvider);
92
+ })();
93
+ }
94
+ addScopes() {
95
+ this.app.addScopes({
96
+ useCollectionDataSource: _client().useCollectionDataSource
97
+ });
98
+ }
99
+ addComponents() {
100
+ this.app.addComponents({
101
+ WorkflowPage: _WorkflowPage.WorkflowPage,
102
+ ExecutionPage: _ExecutionPage.ExecutionPage,
103
+ WorkflowTodo: _WorkflowTodo.WorkflowTodo,
104
+ WorkflowTodoBlockInitializer: _WorkflowTodoBlockInitializer.WorkflowTodoBlockInitializer,
105
+ DynamicExpression: _DynamicExpression.DynamicExpression
106
+ });
107
+ }
108
+ addRoutes() {
109
+ this.app.router.add('admin.settings.workflow.workflows.id', {
110
+ path: '/admin/settings/workflow/workflows/:id',
111
+ element: _react().default.createElement(_WorkflowPage.WorkflowPage, null)
112
+ });
113
+ this.app.router.add('admin.settings.workflow.executions.id', {
114
+ path: '/admin/settings/workflow/executions/:id',
115
+ element: _react().default.createElement(_ExecutionPage.ExecutionPage, null)
116
+ });
117
+ }
118
+ }
119
+ exports.WorkflowPlugin = WorkflowPlugin;
120
+ var _default = WorkflowPlugin;
121
+ exports.default = _default;
@@ -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;