@nocobase/plugin-workflow 2.2.0-beta.9 → 2.3.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (252) hide show
  1. package/client-v2.d.ts +2 -0
  2. package/client-v2.js +1 -0
  3. package/dist/client/119.e7dbd037d52d1286.js +10 -0
  4. package/dist/client/142.fb4936d78fc80007.js +10 -0
  5. package/dist/client/159.cc9a0f2d92cab2c1.js +10 -0
  6. package/dist/client/276.69fb2aea13bc7c37.js +10 -0
  7. package/dist/client/346.66d060d37843d3d1.js +10 -0
  8. package/dist/client/382.d37fba14a6b91b0b.js +10 -0
  9. package/dist/client/394.a37310b78419ad7a.js +10 -0
  10. package/dist/client/438.6c6409d821d8c353.js +10 -0
  11. package/dist/client/509.88792f5bd054b2af.js +10 -0
  12. package/dist/client/54.d81b710f7b4c1cd5.js +10 -0
  13. package/dist/client/618.1aa6c21d0f2840cb.js +10 -0
  14. package/dist/client/635.ff6085589e23d39b.js +10 -0
  15. package/dist/client/67.56a3d15a55ab7d5c.js +10 -0
  16. package/dist/client/719.f011fde3ad54571e.js +10 -0
  17. package/dist/client/728.711fd4f1ed7d4e6a.js +10 -0
  18. package/dist/client/739.49407722fca8d236.js +10 -0
  19. package/dist/client/759.13aab01e6912ed8d.js +10 -0
  20. package/dist/client/772.1ebaef11a0ac8688.js +10 -0
  21. package/dist/client/782.47792ce10fc0d5fb.js +10 -0
  22. package/dist/client/828.6880ab21513b1968.js +10 -0
  23. package/dist/client/87.083467b89aaf3e53.js +10 -0
  24. package/dist/client/938.26493fc09ba1ccbc.js +10 -0
  25. package/dist/client/964.5ab736effd480a42.js +10 -0
  26. package/dist/client/972.dd7f074d5f12e171.js +10 -0
  27. package/dist/client/AddNodeContext.d.ts +1 -9
  28. package/dist/client/BranchContext.d.ts +2 -10
  29. package/dist/client/FlowContext.d.ts +10 -5
  30. package/dist/client/NodeClipboardContext.d.ts +12 -2
  31. package/dist/client/NodeDragContext.d.ts +14 -2
  32. package/dist/client/RemoveNodeContext.d.ts +16 -2
  33. package/dist/client/index.d.ts +1 -1
  34. package/dist/client/index.js +1 -1
  35. package/dist/client/nodeVariableUtils.d.ts +7 -6
  36. package/dist/client/nodes/calculation.d.ts +3 -75
  37. package/dist/client/nodes/condition.d.ts +7 -111
  38. package/dist/client/nodes/create.d.ts +3 -124
  39. package/dist/client/nodes/destroy.d.ts +2 -57
  40. package/dist/client/nodes/end.d.ts +2 -23
  41. package/dist/client/nodes/index.d.ts +2 -91
  42. package/dist/client/nodes/multi-conditions.d.ts +10 -48
  43. package/dist/client/nodes/output.d.ts +2 -44
  44. package/dist/client/nodes/query.d.ts +3 -255
  45. package/dist/client/nodes/update.d.ts +2 -117
  46. package/dist/client/style.d.ts +7 -27
  47. package/dist/client/triggers/collection.d.ts +3 -181
  48. package/dist/client/triggers/index.d.ts +2 -36
  49. package/dist/client/triggers/schedule/index.d.ts +8 -65
  50. package/dist/client/utils.d.ts +4 -5
  51. package/dist/client/variable.d.ts +7 -53
  52. package/dist/client-v2/119.81195bcd0d451279.js +10 -0
  53. package/dist/client-v2/142.a8c8df2a9abb43c5.js +10 -0
  54. package/dist/client-v2/159.cb221540c286cd32.js +10 -0
  55. package/dist/client-v2/276.7f746d899e221e2f.js +10 -0
  56. package/dist/client-v2/326.bdc99ad8e7590970.js +10 -0
  57. package/dist/client-v2/346.8c038b3c99d4fdc9.js +10 -0
  58. package/dist/client-v2/382.05f5482bb512b179.js +10 -0
  59. package/dist/client-v2/387.5e61d648d16dbf1b.js +10 -0
  60. package/dist/client-v2/394.515ed058e7f72797.js +10 -0
  61. package/dist/client-v2/438.b7df0416b66f8f64.js +10 -0
  62. package/dist/client-v2/513.617697f74783a611.js +10 -0
  63. package/dist/client-v2/54.d3daf06e53092726.js +10 -0
  64. package/dist/client-v2/635.14a6f21cf4f16345.js +10 -0
  65. package/dist/client-v2/677.7382807126d9621a.js +10 -0
  66. package/dist/client-v2/719.05cf070ef89a78f4.js +10 -0
  67. package/dist/client-v2/728.4e8322ff8fce87b9.js +10 -0
  68. package/dist/client-v2/739.5b60845103064f8d.js +10 -0
  69. package/dist/client-v2/759.7b162ad3adf450f1.js +10 -0
  70. package/dist/client-v2/772.8e5148d8c1518449.js +10 -0
  71. package/dist/client-v2/938.717e47af39485b29.js +10 -0
  72. package/dist/client-v2/ExecutionCanvas.d.ts +15 -0
  73. package/dist/client-v2/canvas/AddNodeContext.d.ts +35 -0
  74. package/dist/client-v2/canvas/AddNodeContext.shared.d.ts +33 -0
  75. package/dist/client-v2/canvas/AddNodeSlot.d.ts +20 -0
  76. package/dist/client-v2/canvas/Branch.d.ts +32 -0
  77. package/dist/client-v2/canvas/BranchContext.d.ts +29 -0
  78. package/dist/client-v2/canvas/BranchRenderContext.d.ts +14 -0
  79. package/dist/client-v2/canvas/CanvasContent.d.ts +20 -0
  80. package/dist/client-v2/canvas/DownstreamBranchIndex.d.ts +20 -0
  81. package/dist/client-v2/canvas/Instruction.d.ts +139 -0
  82. package/dist/{client/triggers/schedule/EndsByField.d.ts → client-v2/canvas/JobButton.d.ts} +3 -3
  83. package/dist/client-v2/canvas/Node.d.ts +38 -0
  84. package/dist/client-v2/canvas/NodeClipboardContext.d.ts +64 -0
  85. package/dist/client-v2/canvas/NodeConfigDrawer.d.ts +27 -0
  86. package/dist/client-v2/canvas/NodeDragContext.d.ts +83 -0
  87. package/dist/client-v2/canvas/RemoveNodeContext.d.ts +45 -0
  88. package/dist/client-v2/canvas/WorkflowTypedVariableInput.d.ts +16 -0
  89. package/dist/client-v2/canvas/WorkflowVariableInput.d.ts +40 -0
  90. package/dist/client-v2/canvas/WorkflowVariableJsonTextArea.d.ts +15 -0
  91. package/dist/client-v2/canvas/WorkflowVariableTag.d.ts +22 -0
  92. package/dist/client-v2/canvas/WorkflowVariableTextArea.d.ts +18 -0
  93. package/dist/client-v2/canvas/adaptVariableOptionToMetaTree.d.ts +48 -0
  94. package/dist/client-v2/canvas/addNodeController.d.ts +70 -0
  95. package/dist/client-v2/canvas/collectionFieldOptions.d.ts +57 -0
  96. package/dist/client-v2/canvas/contexts.d.ts +86 -0
  97. package/dist/client-v2/canvas/dropImpact.d.ts +28 -0
  98. package/dist/client-v2/canvas/instructionAvailability.d.ts +26 -0
  99. package/dist/client-v2/canvas/nodeRenderDispatch.d.ts +79 -0
  100. package/dist/client-v2/canvas/nodeTree.d.ts +21 -0
  101. package/dist/client-v2/canvas/nodeVariableUtils.d.ts +14 -0
  102. package/dist/client-v2/canvas/removeNodeUtils.d.ts +31 -0
  103. package/dist/client-v2/canvas/style.d.ts +35 -0
  104. package/dist/client-v2/canvas/textAreaInsertion.d.ts +14 -0
  105. package/dist/client-v2/canvas/useWorkflowInstruction.d.ts +23 -0
  106. package/dist/client-v2/canvas/useWorkflowVariableOptions.d.ts +40 -0
  107. package/dist/client-v2/canvas/workflowVariableConverters.d.ts +13 -0
  108. package/dist/client-v2/components/Calculation.d.ts +18 -0
  109. package/dist/client-v2/components/ExecutionStatusIcon.d.ts +18 -0
  110. package/dist/{client/triggers/schedule/RepeatField.d.ts → client-v2/components/ExecutionStatusTag.d.ts} +3 -4
  111. package/dist/client-v2/components/ExecutionViewHeader.d.ts +29 -0
  112. package/dist/client-v2/components/ExecutionsDropdown.d.ts +25 -0
  113. package/dist/client-v2/components/FilterDynamicComponent.d.ts +28 -0
  114. package/dist/client-v2/components/HideVariableContext.d.ts +11 -0
  115. package/dist/client-v2/components/JobResultModal.d.ts +11 -0
  116. package/dist/client-v2/components/RadioWithTooltip.d.ts +23 -0
  117. package/dist/client-v2/components/SyncModeSelect.d.ts +16 -0
  118. package/dist/{client/triggers/schedule/OnField.d.ts → client-v2/components/SyncModeTag.d.ts} +3 -3
  119. package/dist/client-v2/components/TestRunButton.d.ts +36 -0
  120. package/dist/client-v2/components/TimeoutInput.d.ts +15 -0
  121. package/dist/client-v2/components/WorkflowCanvasHeader.d.ts +17 -0
  122. package/dist/client-v2/components/WorkflowDetailsModal.d.ts +25 -0
  123. package/dist/client-v2/components/WorkflowEnabledSwitch.d.ts +16 -0
  124. package/dist/client-v2/components/WorkflowMenu.d.ts +17 -0
  125. package/dist/client-v2/components/WorkflowRevisionsDropdown.d.ts +15 -0
  126. package/dist/client-v2/components/WorkflowVariableWrapper.d.ts +25 -0
  127. package/dist/client-v2/components/collection/AppendsSelect.d.ts +15 -0
  128. package/dist/client-v2/components/collection/AssignedFieldsEditor.d.ts +24 -0
  129. package/dist/client-v2/components/collection/CollectionCascader.d.ts +15 -0
  130. package/dist/client-v2/components/collection/FieldsSelect.d.ts +16 -0
  131. package/dist/client-v2/components/collection/PaginationFields.d.ts +14 -0
  132. package/dist/client-v2/components/collection/SortFieldsInput.d.ts +19 -0
  133. package/dist/client-v2/components/collection/TriggerCollectionRecordSelect.d.ts +15 -0
  134. package/dist/client-v2/components/collection/index.d.ts +16 -0
  135. package/dist/client-v2/components/collection/utils.d.ts +42 -0
  136. package/dist/client-v2/components/formatResultForDisplay.d.ts +17 -0
  137. package/dist/client-v2/components/jobStatus.d.ts +27 -0
  138. package/dist/client-v2/components/renderEngineReference.d.ts +10 -0
  139. package/dist/client-v2/components/workflowCanvas.d.ts +41 -0
  140. package/dist/client-v2/constants.d.ts +19 -0
  141. package/dist/client-v2/hooks/useWorkflowRuntimePaths.d.ts +16 -0
  142. package/dist/client-v2/index.d.ts +48 -0
  143. package/dist/client-v2/index.js +10 -0
  144. package/dist/client-v2/locale.d.ts +41 -0
  145. package/dist/{client → client-v2}/models/NodeDetailsGridModel.d.ts +1 -1
  146. package/dist/{client → client-v2}/models/NodeDetailsModel.d.ts +1 -1
  147. package/dist/{client → client-v2}/models/NodeValueModel.d.ts +1 -1
  148. package/dist/{client → client-v2}/models/TaskCardCommonItemModel.d.ts +1 -1
  149. package/dist/client-v2/models/WorkflowTasksTopbarActionModel.d.ts +18 -0
  150. package/dist/{client → client-v2}/models/index.d.ts +2 -0
  151. package/dist/client-v2/models/triggerWorkflows.d.ts +43 -0
  152. package/dist/client-v2/nodes/calculation.d.ts +38 -0
  153. package/dist/client-v2/nodes/collectionNode.d.ts +29 -0
  154. package/dist/client-v2/nodes/components/calculation.d.ts +11 -0
  155. package/dist/client-v2/nodes/components/collection.d.ts +15 -0
  156. package/dist/client-v2/nodes/components/condition.d.ts +25 -0
  157. package/dist/client-v2/nodes/components/conditionShared.d.ts +20 -0
  158. package/dist/client-v2/nodes/components/create.d.ts +12 -0
  159. package/dist/client-v2/nodes/components/destroy.d.ts +12 -0
  160. package/dist/{client/triggers/schedule/ScheduleConfig.d.ts → client-v2/nodes/components/end.d.ts} +1 -1
  161. package/dist/client-v2/nodes/components/filter.d.ts +17 -0
  162. package/dist/client-v2/nodes/components/multi-conditions.d.ts +13 -0
  163. package/dist/client-v2/nodes/components/multiConditionsShared.d.ts +20 -0
  164. package/dist/client-v2/nodes/components/output.d.ts +10 -0
  165. package/dist/client-v2/nodes/components/query.d.ts +12 -0
  166. package/dist/client-v2/nodes/components/update.d.ts +12 -0
  167. package/dist/client-v2/nodes/condition.d.ts +46 -0
  168. package/dist/client-v2/nodes/create.d.ts +30 -0
  169. package/dist/client-v2/nodes/destroy.d.ts +24 -0
  170. package/dist/client-v2/nodes/end.d.ts +21 -0
  171. package/dist/client-v2/nodes/multi-conditions.d.ts +34 -0
  172. package/dist/client-v2/nodes/output.d.ts +29 -0
  173. package/dist/client-v2/nodes/query.d.ts +32 -0
  174. package/dist/client-v2/nodes/update.d.ts +25 -0
  175. package/dist/client-v2/pages/ExecutionHistoryDrawer.d.ts +13 -0
  176. package/dist/client-v2/pages/ExecutionViewPage.d.ts +10 -0
  177. package/dist/client-v2/pages/WorkflowCanvasPage.d.ts +10 -0
  178. package/dist/client-v2/pages/WorkflowCategoryTabs.d.ts +25 -0
  179. package/dist/client-v2/pages/WorkflowFormDrawer.d.ts +40 -0
  180. package/dist/client-v2/pages/WorkflowPane.d.ts +10 -0
  181. package/dist/client-v2/pages/WorkflowTasksPage.d.ts +10 -0
  182. package/dist/client-v2/plugin.d.ts +119 -0
  183. package/dist/client-v2/taskCenter.d.ts +105 -0
  184. package/dist/client-v2/triggers/ExecuteWorkflowButton.d.ts +35 -0
  185. package/dist/client-v2/triggers/TriggerConfig.d.ts +22 -0
  186. package/dist/client-v2/triggers/TriggerExecutionButton.d.ts +13 -0
  187. package/dist/client-v2/triggers/collection/CollectionConfig.d.ts +14 -0
  188. package/dist/client-v2/triggers/collection/TriggerCollectionConfig.d.ts +11 -0
  189. package/dist/client-v2/triggers/collection/constants.d.ts +28 -0
  190. package/dist/client-v2/triggers/collection/index.d.ts +40 -0
  191. package/dist/client-v2/triggers/index.d.ts +63 -0
  192. package/dist/client-v2/triggers/schedule/EndsByField.d.ts +17 -0
  193. package/dist/client-v2/triggers/schedule/OnField.d.ts +20 -0
  194. package/dist/client-v2/triggers/schedule/RepeatField.d.ts +23 -0
  195. package/dist/client-v2/triggers/schedule/ScheduleConfig.d.ts +17 -0
  196. package/dist/client-v2/triggers/schedule/ScheduleModes.d.ts +41 -0
  197. package/dist/{client → client-v2}/triggers/schedule/TriggerScheduleConfig.d.ts +1 -0
  198. package/dist/{client → client-v2}/triggers/schedule/constants.d.ts +8 -5
  199. package/dist/client-v2/triggers/schedule/index.d.ts +40 -0
  200. package/dist/client-v2/triggers/schedule/locale/Cron.zh-CN.d.ts +11 -0
  201. package/dist/client-v2/utils/contextSingleton.d.ts +9 -0
  202. package/dist/common/collections/workflows.d.ts +16 -0
  203. package/dist/common/collections/workflows.js +5 -0
  204. package/dist/common/defaultWorkflowFilter.d.ts +21 -0
  205. package/dist/common/defaultWorkflowFilter.js +38 -0
  206. package/dist/common/executionStatus.d.ts +44 -0
  207. package/dist/common/executionStatus.js +133 -0
  208. package/dist/externalVersion.js +16 -13
  209. package/dist/locale/de-DE.json +15 -1
  210. package/dist/locale/en-US.json +26 -1
  211. package/dist/locale/es-ES.json +15 -1
  212. package/dist/locale/fr-FR.json +15 -1
  213. package/dist/locale/hu-HU.json +15 -1
  214. package/dist/locale/id-ID.json +15 -1
  215. package/dist/locale/it-IT.json +15 -1
  216. package/dist/locale/ja-JP.json +15 -1
  217. package/dist/locale/ko-KR.json +15 -1
  218. package/dist/locale/nl-NL.json +15 -1
  219. package/dist/locale/pt-BR.json +15 -1
  220. package/dist/locale/ru-RU.json +15 -1
  221. package/dist/locale/tr-TR.json +15 -1
  222. package/dist/locale/uk-UA.json +15 -1
  223. package/dist/locale/vi-VN.json +15 -1
  224. package/dist/locale/zh-CN.json +25 -1
  225. package/dist/locale/zh-TW.json +21 -1
  226. package/dist/node_modules/cron-parser/package.json +1 -1
  227. package/dist/node_modules/joi/package.json +1 -1
  228. package/dist/node_modules/lru-cache/package.json +1 -1
  229. package/dist/node_modules/nodejs-snowflake/package.json +1 -1
  230. package/dist/server/Dispatcher.d.ts +3 -2
  231. package/dist/server/Dispatcher.js +39 -18
  232. package/dist/server/ExecutionTimeoutManager.js +2 -1
  233. package/dist/server/Plugin.d.ts +1 -1
  234. package/dist/server/actions/workflows.d.ts +1 -0
  235. package/dist/server/actions/workflows.js +17 -2
  236. package/dist/server/migrations/20260713000000-remove-workflow-validation.d.ts +13 -0
  237. package/dist/server/migrations/20260713000000-remove-workflow-validation.js +56 -0
  238. package/dist/server/triggers/CollectionTrigger.d.ts +1 -1
  239. package/dist/server/triggers/CollectionTrigger.js +3 -0
  240. package/dist/server/triggers/ScheduleTrigger/StaticScheduleTrigger.d.ts +1 -1
  241. package/dist/server/triggers/index.d.ts +1 -1
  242. package/dist/server/types/Workflow.d.ts +1 -0
  243. package/dist/server/utils.d.ts +1 -1
  244. package/dist/server/utils.js +14 -1
  245. package/dist/swagger/index.d.ts +1 -0
  246. package/dist/swagger/index.js +4 -2
  247. package/package.json +4 -2
  248. package/dist/client/618.c91be3f6e4d73501.js +0 -10
  249. package/dist/client/67.61e70b8b777f8638.js +0 -10
  250. package/dist/client/964.5e11e1820fece37b.js +0 -10
  251. package/dist/client/triggers/schedule/ScheduleModes.d.ts +0 -170
  252. package/dist/client/triggers/schedule/locale/Cron.zh-CN.d.ts +0 -42
@@ -0,0 +1,10 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+
10
+ "use strict";(self.webpackChunk_nocobase_plugin_workflow=self.webpackChunk_nocobase_plugin_workflow||[]).push([["719"],{1801:function(e,t,r){r.d(t,{N$:function(){return S},yr:function(){return F}});var n=r(3485),a=r(7694),o=r(2625),i=r(2059),l=r(9155),u=r.n(l),c=r(7768),s=r(4563),f=r(5737),d=r(9488),m=r(3943);function y(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function h(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function p(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r,n,a=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var o=[],i=!0,l=!1;try{for(a=a.call(e);!(i=(r=a.next()).done)&&(o.push(r.value),!t||o.length!==t);i=!0);}catch(e){l=!0,n=e}finally{try{i||null==a.return||a.return()}finally{if(l)throw n}}return o}}(e,t)||v(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function g(e){return function(e){if(Array.isArray(e))return y(e)}(e)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||v(e)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function b(e){return e&&"u">typeof Symbol&&e.constructor===Symbol?"symbol":typeof e}function v(e,t){if(e){if("string"==typeof e)return y(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if("Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r)return Array.from(r);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return y(e,t)}}var w=["yesterday","today","tomorrow","lastWeek","thisWeek","nextWeek","lastMonth","thisMonth","nextMonth","lastQuarter","thisQuarter","nextQuarter","lastYear","thisYear","nextYear","last7Days","next7Days","last30Days","next30Days","last90Days","next90Days"],x={yesterday:"Yesterday",today:"Today",tomorrow:"Tomorrow",lastWeek:"Last week",thisWeek:"This week",nextWeek:"Next week",lastMonth:"Last month",thisMonth:"This month",nextMonth:"Next month",lastQuarter:"Last quarter",thisQuarter:"This quarter",nextQuarter:"Next quarter",lastYear:"Last year",thisYear:"This year",nextYear:"Next year",last7Days:"Last 7 days",next7Days:"Next 7 days",last30Days:"Last 30 days",next30Days:"Next 30 days",last90Days:"Last 90 days",next90Days:"Next 90 days"},O={resolvePathFromValue:function(e){return"string"==typeof e?(0,f.IB)(e):void 0},resolveValueFromPath:function(e){return(0,f.oS)(e)}};function j(e){return!!(e&&(void 0===e?"undefined":b(e))==="object"&&"logic"in e&&"items"in e)}function k(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];if(!e||(void 0===e?"undefined":b(e))!=="object"||Array.isArray(e))return t.length?[{path:t.join("."),operator:"$eq",value:e}]:[];var r=Object.entries(e),n=r.filter(function(e){return p(e,1)[0].startsWith("$")});return n.length?t.length?n.map(function(e){var r=p(e,2),n=r[0],a=r[1];return{path:t.join("."),operator:n,value:a}}):[]:r.flatMap(function(e){var r=p(e,2),n=r[0];return k(r[1],g(t).concat([n]))})}function A(e){return Array.isArray(e.$or)?"$or":Array.isArray(e.$and)?"$and":void 0}function E(e){var t;return j(e)?e:null!=(t=function e(t){if(!(!t||(void 0===t?"undefined":b(t))!=="object"||Array.isArray(t))){var r=A(t);if(!r){var n=k(t);return n.length?{logic:"$and",items:n}:void 0}var a=t[r].flatMap(function(t){if(!t||(void 0===t?"undefined":b(t))!=="object"||Array.isArray(t))return[];if(A(t)){var r=e(t);return r?[r]:[]}return k(t)}).filter(function(e){return!!e});return a.length?{logic:r,items:a}:void 0}}(e))?t:{logic:"$and",items:[]}}function S(e){var t=e.collection,r=e.value,f=e.onChange,y=e.disabled,p=e.rightAsVariable,b=void 0===p||p,v=e.maxAssociationFieldDepth,k=void 0===v?2:v,A=(0,a.useFlowEngine)(),S=(0,d.kj)(),F=!!(i.ConfigProvider.useConfig().componentDisabled||y),M=(0,o.useMemoizedFn)(function(e,t){return S(e,t)}),I=(0,s.P)(),P=(0,l.useMemo)(function(){var e,t;return e={name:"dateRange",title:M("Date range"),type:"object",paths:["$system","dateRange"],children:w.map(function(e){return{name:e,title:M(x[e]),type:"string",paths:["$system","dateRange",e]}})},(t=I.findIndex(function(e){return"$system"===e.name}))<0?g(I).concat([{name:"$system",title:M("System variables"),type:"",paths:["$system"],children:[e]}]):I.map(function(r,n){if(n!==t||"function"==typeof r.children)return r;var a,o,i=Array.isArray(r.children)?r.children.filter(function(e){return"dateRange"!==e.name}):[];return a=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){h(e,t,r[t])})}return e}({},r),o=o={children:g(i).concat([e])},Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(o)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t})(Object(o)).forEach(function(e){Object.defineProperty(a,e,Object.getOwnPropertyDescriptor(o,e))}),a})},[M,I]),D=(0,l.useMemo)(function(){return(0,m.X_)(A.context.dataSourceManager,t)},[A,t]),C=(0,l.useMemo)(function(){if(!D)return null;var e=A.createModel({uid:(0,a.randomId)("workflowFilter_"),use:a.FlowModel}),t=A.context.app;return t&&e.context.defineProperty("app",{value:t}),e.context.defineProperty("collection",{get:function(){return D}}),e},[D,A]);(0,l.useEffect)(function(){return function(){var e;null==C||null==(e=C.remove)||e.call(C)}},[C]);var N=(0,l.useRef)();N.current||(N.current=(0,a.observable)(E(r)));var T=(0,l.useRef)(null);(0,l.useEffect)(function(){var e=JSON.stringify(null!=r?r:{});if(T.current!==e){var t=E(r);N.current&&(N.current.logic=t.logic,N.current.items=t.items,T.current=e)}},[r]),(0,l.useEffect)(function(){if(N.current)return(0,a.reaction)(function(){return JSON.stringify((0,a.toJS)(N.current))},function(e){var t,r=JSON.parse(e),n=Array.isArray(r.items)?r.items.length:0,a=(0,c.removeInvalidFilterItems)(r);if(!a.items.length){n||null==f||f({});return}var o=null!=(t=function e(t){if(null==t||null==(r=t.items)?void 0:r.length){var r,n=t.items.map(function(t){if(j(t))return e(t);if("string"==typeof t.path&&"string"==typeof t.operator&&t.path&&t.operator)return function(e,t){for(var r=e.split("."),n=t,a=r.length-1;a>=0;a--)n=h({},r[a],n);return n}(t.path,h({},t.operator,t.value))}).filter(function(e){return!!e});if(n.length)return h({},t.logic,n)}}(a))?t:{};T.current=JSON.stringify(o),null==f||f(o)},{fireImmediately:!1})},[f]);var W=(0,l.useMemo)(function(){if(!C)return null;var e=function(e){var t=e.value;return u().createElement(a.FlowModelProvider,{model:C},u().createElement(n.VariableFilterItem,{value:t,model:C,disabled:F,rightAsVariable:b,rightMetaTree:P,rightVariableConverters:O,maxAssociationFieldDepth:k}))};return e.displayName="WorkflowVariableFilterItem",e},[C,k,F,b,P]);return u().createElement(n.FilterGroup,{value:N.current,FilterItem:null!=W?W:void 0,disabled:F})}var F=S},6242:function(e,t,r){r.r(t),r.d(t,{TriggerModeField:function(){return p},default:function(){return v},CollectionPresetConfig:function(){return b},SyncTransactionNotice:function(){return h},CollectionTriggerConfig:function(){return g}});var n=r(5477),a=r(2059),o=r(9155),i=r.n(o),l=r(2235),u=r(1801),c=r(8198),s=r(9488),f=[{label:'{{t("After record added", { ns: "'.concat(s.CU,'" })}}'),value:1},{label:'{{t("After record updated", { ns: "'.concat(s.CU,'" })}}'),value:2},{label:'{{t("After record added or updated", { ns: "'.concat(s.CU,'" })}}'),value:3},{label:'{{t("After record deleted", { ns: "'.concat(s.CU,'" })}}'),value:4}];function d(e,t){return(Number(e)&t)===t}function m(){var e,t,r=(e=["\n .ant-select.auto-width {\n width: auto;\n min-width: 6em;\n }\n "],t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}})));return m=function(){return r},r}function y(e){return!e.hidden&&(!e.uiSchema||!e.uiSchema["x-read-pretty"])&&!["linkTo","hasOne","hasMany","belongsToMany"].includes(e.type)}function h(){var e=(0,s.kj)();return i().createElement(a.Alert,{type:"info",showIcon:!0,style:{marginBottom:"1em"},message:e("Synchronous collection event workflows run within the trigger transaction by default. Related data operations automatically use this transaction.")})}function p(){var e=(0,s.kj)(),t=a.Form.useWatch(["config","collection"]),r=(0,o.useMemo)(function(){return f.map(function(t){return{value:t.value,label:e(t.label)}})},[e]);return t?i().createElement(a.Form.Item,{name:["config","mode"],label:e("Trigger on"),rules:[{required:!0}]},i().createElement(a.Select,{popupMatchSelectWidth:!1,placeholder:e("Trigger on"),className:"auto-width",options:r})):null}function g(){var e=(0,s.kj)(),t=(0,l.Zt)(),r=a.Form.useWatch(["config","collection"]),o=Number(a.Form.useWatch(["config","mode"])||0),f=null==t?void 0:t.sync;return i().createElement("fieldset",{className:(0,n.css)(m())},i().createElement(a.Form.Item,{name:["config","collection"],label:e("Collection")},i().createElement(c.XJ,{disabled:!0})),i().createElement(p,null),r&&d(o,2)?i().createElement(a.Form.Item,{name:["config","changed"],label:e("Changed fields"),extra:e("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, any field is considered to have been changed.")},i().createElement(c.WY,{mode:"multiple",placeholder:e("Select field"),filter:y})):null,r&&!d(o,4)?i().createElement(a.Form.Item,{name:["config","condition"],label:e("Only triggers when match conditions")},i().createElement(u.yr,{collection:r,rightAsVariable:!1})):null,r&&!d(o,4)?i().createElement(a.Form.Item,{name:["config","appends"],label:e("Preload associations"),extra:e("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.")},i().createElement(c.Kr,{collection:r})):null,f?i().createElement(h,null):null,f?i().createElement(a.Form.Item,{name:["config","rollbackOnFailure"],valuePropName:"checked",extra:e("Only available in synchronous mode. When enabled, if the workflow execution ends with a failed status, the data operation that triggered it will fail and be rolled back."),initialValue:!1},i().createElement(a.Checkbox,null,e("Rollback when workflow execution fails"))):null)}function b(){var e=(0,s.kj)();return i().createElement(a.Form.Item,{name:["config","collection"],label:e("Collection"),rules:[{required:!0}]},i().createElement(c.XJ,null))}var v=g}}]);
@@ -0,0 +1,10 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+
10
+ "use strict";(self.webpackChunk_nocobase_plugin_workflow=self.webpackChunk_nocobase_plugin_workflow||[]).push([["728"],{2891:function(e,t,n){n.r(t),n.d(t,{default:function(){return z}});var r=n(7694),o=n(3485),a=n(7375),l=n(5477),i=n(2625),u=n(2059),c=n(9155),s=n.n(c),d=n(4442),p=n(8401),f=n(250),m=n(9488);function g(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function y(e,t,n,r,o,a,l){try{var i=e[a](l),u=i.value}catch(e){n(e);return}i.done?t(u):Promise.resolve(u).then(r,o)}function h(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var a=e.apply(t,n);function l(e){y(a,r,o,l,i,"next",e)}function i(e){y(a,r,o,l,i,"throw",e)}l(void 0)})}}function b(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,o=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var a=[],l=!0,i=!1;try{for(o=o.call(e);!(l=(n=o.next()).done)&&(a.push(n.value),!t||a.length!==t);l=!0);}catch(e){i=!0,r=e}finally{try{l||null==o.return||o.return()}finally{if(i)throw r}}return a}}(e,t)||function(e,t){if(e){if("string"==typeof e)return g(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return g(e,t)}}(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function k(e,t){var n,r,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},l=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),i=Object.defineProperty;return i(l,"next",{value:u(0)}),i(l,"throw",{value:u(1)}),i(l,"return",{value:u(2)}),"function"==typeof Symbol&&i(l,Symbol.iterator,{value:function(){return this}}),l;function u(i){return function(u){var c=[i,u];if(n)throw TypeError("Generator is already executing.");for(;l&&(l=0,c[0]&&(a=0)),a;)try{if(n=1,r&&(o=2&c[0]?r.return:c[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,c[1])).done)return o;switch(r=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return a.label++,{value:c[1],done:!1};case 5:a.label++,r=c[1],c=[0];continue;case 7:c=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===c[0]||2===c[0])){a=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){a.label=c[1];break}if(6===c[0]&&a.label<o[1]){a.label=o[1],o=c;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(c);break}o[2]&&a.ops.pop(),a.trys.pop();continue}c=t.call(e,a)}catch(e){c=[6,e],r=0}finally{n=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}function v(){var e,t,n=(e=["\n > div > .ant-tabs > .ant-tabs-nav {\n background: ",";\n margin: 0;\n padding-inline: ","px ","px;\n padding-left: ","px;\n }\n\n > div > .ant-tabs > .ant-tabs-content-holder {\n padding: ","px;\n }\n "],t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}})));return v=function(){return n},n}var w=null;function E(e,t){e&&t&&((null==w?void 0:w.taskTypeKey)!==e||w.popupId!==t)||(w=null)}function T(){var e=(0,d.useParams)(),t=(0,d.useLocation)(),n=(0,f.e3)(e.status),r=/(^|\/)(mobile\/page|page)\/workflow-tasks(\/|$)/.test(t.pathname);return{taskType:e.taskType,status:n,popupId:e.popupId,isMobileRoute:r,search:t.search,hash:t.hash}}function x(e,t){return"".concat(e).concat(t.search||"").concat(t.hash||"")}function S(e){var t=e.taskTypes,n=e.counts,r=e.selectedKey,o=(e.status,e.mobile),a=(0,d.useNavigate)(),l=(0,m.kj)(),g=u.theme.useToken().token,y=T(),h=(0,c.useMemo)(function(){return(0,f.EC)(t,n)},[n,t]),b=(0,c.useMemo)(function(){return h.map(function(e){var r,o=null==t?void 0:t.get(e);return{key:e,label:s().createElement(u.Flex,{align:"center",justify:"space-between",gap:g.marginSM},s().createElement("span",null,(null==o?void 0:o.title)?l(o.title):e),s().createElement(u.Badge,{count:(null==(r=n[e])?void 0:r.pending)||0,size:"small"}))}})},[n,l,h,t,g.marginSM]),k=(0,i.useMemoizedFn)(function(e){var t=e.key;a(x((0,p.T0)(t,f.Rr.PENDING,void 0,y.isMobileRoute),y))});return(null==b?void 0:b.length)?o?s().createElement(u.Menu,{"data-testid":"workflow-task-type-menu",mode:"horizontal",selectedKeys:r?[r]:[],items:b,onClick:k,style:{background:g.colorBgContainer,borderBottomColor:g.colorBorderSecondary,height:42,lineHeight:"".concat(42,"px"),minHeight:42,minWidth:0}}):s().createElement(u.Layout.Sider,{theme:"light",breakpoint:"md",collapsedWidth:0,style:{background:g.colorBgContainer,borderRight:"".concat(g.lineWidth,"px ").concat(g.lineType," ").concat(g.colorBorderSecondary)}},s().createElement(u.Menu,{mode:"inline",selectedKeys:r?[r]:[],items:b,onClick:k,style:{height:"100%",borderInlineEnd:0}})):null}function M(e){var t=e.type,n=e.status,r=e.mobile,o=e.reload,a=(0,d.useNavigate)(),l=(0,m.kj)(),g=u.theme.useToken().token,y=t.Actions,h=T(),b=(0,c.useMemo)(function(){return f._l.map(function(e){return{key:e,value:e,label:l(e===f.Rr.PENDING?"Pending":e===f.Rr.COMPLETED?"Completed":"All")}})},[l]),k=(0,i.useMemoizedFn)(function(e){a(x((0,p.T0)(t.key,String(e),void 0,h.isMobileRoute),h))});return r?s().createElement(u.Flex,{"data-testid":"workflow-task-status-controls",align:"center",justify:"space-between",gap:g.marginSM,wrap:"wrap"},s().createElement(u.Segmented,{value:n,options:b.map(function(e){return{value:e.value,label:e.label}}),onChange:k,style:{minWidth:0}}),y?s().createElement(y,{onlyIcon:!0,reload:o}):null):s().createElement(u.Tabs,{activeKey:n,onChange:k,items:b.map(function(e){return{key:e.key,label:e.label}}),tabBarStyle:{marginBottom:0},tabBarExtraContent:y?{right:s().createElement(y,{reload:o})}:void 0})}function I(e){var t=e.mobile,n=e.onPageChange,r=e.page,o=e.total,l=u.theme.useToken().token,c=(0,m.kj)(),d=Math.max(1,Math.ceil(Math.max(o,1)/f.JJ)),p=r>1,g=r<d,y=(0,i.useMemoizedFn)(function(){p&&n(r-1)}),h=(0,i.useMemoizedFn)(function(){g&&n(r+1)});return s().createElement(u.Flex,{align:"center",className:"ant-pagination","data-testid":"workflow-task-pagination",gap:t?l.marginXXS:l.marginSM,justify:"end",style:{width:"100%"}},s().createElement(u.Flex,{align:"center",gap:l.marginXXS},s().createElement(u.Button,{"aria-label":c("Previous page"),className:"ant-pagination-prev".concat(p?"":" ant-pagination-disabled"),disabled:!p,icon:s().createElement(a.LeftOutlined,null),onClick:y,size:"small",style:{height:l.controlHeightSM,width:l.controlHeightSM},type:"text"}),s().createElement(u.Typography.Text,{"data-testid":"workflow-task-current-page",style:{lineHeight:"".concat(l.controlHeightSM,"px"),minWidth:l.sizeSM,textAlign:"center"}},r),s().createElement(u.Button,{"aria-label":c("Next page"),className:"ant-pagination-next".concat(g?"":" ant-pagination-disabled"),disabled:!g,icon:s().createElement(a.RightOutlined,null),onClick:h,size:"small",style:{height:l.controlHeightSM,width:l.controlHeightSM},type:"text"})),t?null:s().createElement(u.Select,{"aria-label":c("Page size"),className:"ant-pagination-options",options:[{label:"".concat(f.JJ," / page"),value:f.JJ}],popupMatchSelectWidth:!1,size:"middle",style:{width:112},value:f.JJ}))}function C(e){var t=e.records,n=e.loading,r=e.mobile,o=e.total,a=e.page,l=e.onPageChange,c=e.onOpenRecord,d=e.refresh,p=e.Item,g=u.theme.useToken().token,y=(0,m.kj)(),h=o>0||t.length>0,b=(0,i.useMemoizedFn)(function(e,t){("Enter"===e.key||" "===e.key)&&(e.preventDefault(),c(t))});return s().createElement(s().Fragment,null,s().createElement(u.List,{dataSource:t,loading:n,rowKey:function(e){var t;return String(null!=(t=(0,f.Zu)(e))?t:"")},locale:{emptyText:y("No data yet")},split:!1,style:{background:g.colorBgLayout,flex:"1 1 0%",minHeight:0,overflow:"auto"},renderItem:function(e,t){return s().createElement(f.xT.Provider,{value:{record:e,openRecord:c,refresh:d}},s().createElement(u.List.Item,{role:"button",tabIndex:0,onClick:function(){return c(e)},onKeyDown:function(t){return b(t,e)},style:{cursor:"pointer",padding:r?"0.5em 0.5em ".concat(g.lineWidth,"px"):"".concat(0===t?g.paddingLG:g.paddingXS,"px ").concat(g.paddingLG,"px ").concat(g.paddingXXS,"px"),background:g.colorBgLayout}},s().createElement("div",{"data-testid":"workflow-task-list-item-content",style:{width:"100%"}},s().createElement(p,null))))}}),h?s().createElement(u.Flex,{justify:"end",style:{background:g.colorBgLayout,flexShrink:0,padding:r?"0.5em":"".concat(g.padding,"px ").concat(g.paddingLG,"px")}},s().createElement(I,{mobile:r,onPageChange:l,page:a,total:o})):null)}function B(e,t){if(e)return t.split(".").reduce(function(e,t){if(e&&(void 0===e?"undefined":e&&"u">typeof Symbol&&e.constructor===Symbol?"symbol":typeof e)=="object")return e[t]},e)}function L(e){var t=e.children,n=e.record,r=e.mobile,o=e.onClose,a=e.title,l=u.theme.useToken().token;return s().createElement(u.Modal,{open:!!n,title:a,footer:null,width:"80vw",onCancel:o,destroyOnClose:!0,styles:{body:{maxHeight:r?"calc(100dvh - ".concat(2*l.sizeXXL,"px)"):void 0,overflow:"auto"}}},t)}function P(e){var t=e.children,n=e.onClose,r=u.theme.useToken().token,o=(0,m.kj)(),i=(0,l.css)(v(),r.colorBgContainer,r.padding,r.padding,r.controlHeight+r.paddingSM,r.padding);return s().createElement("div",{"data-testid":"workflow-task-mobile-detail-page",style:{background:r.colorBgLayout,flex:"1 1 0%",minHeight:0,overflow:"auto",position:"relative"}},s().createElement(u.Button,{"aria-label":o("Back"),icon:s().createElement(a.LeftOutlined,null),onClick:n,style:{left:r.paddingXS,position:"absolute",top:r.paddingSM,zIndex:1},type:"text"}),s().createElement("div",{"data-testid":"workflow-task-mobile-detail-content",className:i,style:{minWidth:0}},t))}function j(){var e,t,n,a,l,g,y,v,I,j,z=(0,r.useFlowContext)(),R=(0,f.e0)(z),F=(0,f.yg)(z,R),O=F.counts,K=F.reload,H=(t=T().taskType,n=(0,c.useMemo)(function(){return(0,f.Bf)(R)},[R]),a=(0,c.useMemo)(function(){return(0,f.EC)(R,O)},[O,R]),l=null!=(e=null!=t?t:a[0])?e:n[0],{taskTypeKeys:n,availableTaskTypeKeys:a,currentTaskType:l?null==R?void 0:R.get(l):void 0,currentTaskTypeKey:l}),N=H.currentTaskType,J=H.currentTaskTypeKey,A=H.availableTaskTypeKeys,X=T(),W=(0,o.useMobileLayout)().isMobileLayout,D=X.isMobileRoute||W,G=(0,d.useNavigate)(),_=u.App.useApp().message,Z=(0,m.kj)(),$=u.theme.useToken().token,U=b((0,c.useState)([]),2),q=U[0],Q=U[1],V=b((0,c.useState)(function(){var e=X.popupId;if(w&&w.taskTypeKey===J&&w.popupId===e){var t=w.record;return w=null,t}return(J||e)&&(w=null),null}),2),Y=V[0],ee=V[1],et=b((0,c.useState)(0),2),en=et[0],er=et[1],eo="".concat(null!=J?J:"","\n").concat(X.status,"\n").concat(X.search),ea=b((0,c.useState)({signature:"",page:1}),2),el=ea[0],ei=ea[1],eu=el.signature===eo?el.page:1,ec=b((0,c.useState)(!1),2),es=ec[0],ed=ec[1],ep=(0,c.useRef)(0),ef=(0,c.useRef)(0),em=(0,c.useRef)(Y&&X.popupId&&J?{popupId:X.popupId,taskTypeKey:J}:null),eg=(0,c.useRef)(em.current),ey=(0,i.useMemoizedFn)(function(){_.error(Z("Load failed"))});(0,c.useEffect)(function(){var e=document.title;return(null==N?void 0:N.title)&&(document.title="".concat(Z("Workflow todos"),": ").concat(Z(N.title)," - NocoBase")),function(){document.title=e}},[null==N?void 0:N.title,Z]),(0,c.useEffect)(function(){!X.taskType&&A.length&&G(x((0,p.T0)(A[0],X.status,void 0,X.isMobileRoute),X),{replace:!0})},[A,G,X,X.isMobileRoute,X.status,X.taskType]),(0,c.useEffect)(function(){el.signature!==eo&&ei({signature:eo,page:1})},[eo,el.signature]);var eh=(0,i.useMemoizedFn)(function(){return h(function(){var e,t,n,r,o,a,l,i,u;return k(this,function(c){switch(c.label){case 0:if(t=++ep.current,!(null==z?void 0:z.api)||!N||!(n=z.api.resource(N.collection)[null!=(e=N.action)?e:"list"]))return Q([]),er(0),ed(!1),[2];ed(!0),c.label=1;case 1:return c.trys.push([1,3,4,5]),a=null!=(r=null==(o=N.useActionParams)?void 0:o.call(N,X.status))?r:{},[4,n(function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){var r;r=n[t],t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r})}return e}({page:eu,pageSize:f.JJ,sort:["-createdAt"]},a))];case 2:if(l=c.sent(),i=(0,f.z1)(l),t!==ep.current)return[2];return Q(i.data),er("number"==typeof i.meta.count?i.meta.count:!0===i.meta.hasNext?eu*f.JJ+1:(eu-1)*f.JJ+i.data.length),[3,5];case 3:if(u=c.sent(),t!==ep.current)return[2];throw Q([]),er(0),u;case 4:return t===ep.current&&ed(!1),[7];case 5:return[2]}})})()}),eb=(0,i.useMemoizedFn)(function(){return h(function(){return k(this,function(e){switch(e.label){case 0:return[4,Promise.all([eh(),K()])];case 1:return e.sent(),[2]}})})()});(0,c.useEffect)(function(){return eh().catch(function(e){console.error("Failed to load workflow tasks",e),ey()}),function(){ep.current+=1}},[J,eh,eu,X.search,X.status,ey]);var ek=(0,i.useMemoizedFn)(function(){return h(function(){var e,t,n,r,o,a;return k(this,function(l){switch(l.label){case 0:if(e=++ef.current,!(null==z?void 0:z.api)||!N||!X.popupId)return em.current=null,eg.current=null,E(),ee(null),[2];l.label=1;case 1:if(l.trys.push([1,6,,7]),!N.getPopupRecord)return[3,3];return[4,N.getPopupRecord(z.api,{params:{filterByTk:X.popupId}})];case 2:return o=l.sent(),[3,5];case 3:return[4,null==(n=(r=z.api.resource(N.collection)).get)?void 0:n.call(r,{filterByTk:X.popupId})];case 4:o=l.sent(),l.label=5;case 5:return t=o,[3,7];case 6:if(a=l.sent(),e!==ef.current)return[2];throw a;case 7:if(e!==ef.current)return[2];return em.current={taskTypeKey:N.key,popupId:X.popupId},E(N.key,X.popupId),ee((0,f.y$)(t)),[2]}})})()});(0,c.useEffect)(function(){if(!X.popupId){eg.current||(ef.current+=1,em.current=null,E(),ee(null));return}eg.current=null;var e=X.popupId;return ee(function(t){var n=em.current,r=t?(0,f.Zu)(t):void 0;return t&&(null==n?void 0:n.taskTypeKey)===J&&String(r)===e?t:(em.current=null,E(),null)}),ek().catch(function(e){console.error("Failed to load workflow task detail",e),em.current=null,eg.current=null,E(J,X.popupId),ee(null),ey()}),function(){ef.current+=1}},[J,ek,X.popupId,X.status,ey]);var ev=(0,i.useMemoizedFn)(function(e){if(N){var t=(0,f.Zu)(e);ef.current+=1,em.current=null==t?null:{taskTypeKey:N.key,popupId:String(t)},eg.current=em.current,w=em.current?{popupId:em.current.popupId,record:e,taskTypeKey:N.key}:null,ee(e),null!=t&&G(x((0,p.T0)(N.key,X.status,String(t),X.isMobileRoute),X))}}),ew=(0,i.useMemoizedFn)(function(){ef.current+=1,em.current=null,eg.current=null,E(),ee(null),N&&G(x((0,p.T0)(N.key,X.status,void 0,X.isMobileRoute),X),{replace:!0})}),eE=(0,i.useMemoizedFn)(function(e){ei({signature:eo,page:e})});if(!N||!J)return s().createElement(u.Result,{status:X.taskType?"error":"info",title:X.taskType?Z("Task type {{type}} is invalid",{type:X.taskType}):Z("No workflow tasks available. Please contact the administrator.")});var eT=s().createElement(u.Flex,{vertical:!0,gap:D?$.marginXS:$.marginXXS},D?null:s().createElement(u.Typography.Title,{level:4,style:{lineHeight:"".concat($.controlHeight,"px"),margin:0}},Z(N.title)),s().createElement(M,{type:N,status:X.status,mobile:D,reload:eb})),ex=null!=(j=N.DetailModal)?j:L,eS=N.Detail,eM=Z("string"==typeof(I=null!=(g=null!=(y=null!=(v=B(Y,"node.title"))?v:B(Y,"title"))?y:B(Y,"workflow.title"))?g:N.title)&&I?I:N.title),eI=Y?s().createElement(f.xT.Provider,{value:{record:Y,refresh:eb,openRecord:ee}},s().createElement(eS,null)):null,eC=D&&!!Y;return s().createElement(u.Layout,{"data-testid":D?"workflow-tasks-mobile":"workflow-tasks-desktop",style:{minHeight:D?0:"100%",height:"100%",background:$.colorBgLayout}},D&&!eC?s().createElement(u.Layout.Header,{style:{height:"auto",lineHeight:"normal",padding:0,background:$.colorBgContainer,borderBottom:"".concat($.lineWidth,"px ").concat($.lineType," ").concat($.colorBorderSecondary)}},s().createElement(u.Flex,{vertical:!0,gap:0},s().createElement(S,{taskTypes:R,counts:O,selectedKey:J,status:X.status,mobile:!0}),s().createElement("div",{style:{padding:$.paddingSM}},eT))):D?null:s().createElement(S,{taskTypes:R,counts:O,selectedKey:J,status:X.status,mobile:!1}),s().createElement(u.Layout,{style:{background:$.colorBgLayout}},s().createElement(u.Layout.Content,{style:{display:"flex",flex:"1 1 0%",flexDirection:"column",minHeight:0,padding:0,overflow:"hidden"}},D||eC?null:s().createElement("div",{style:{padding:"".concat($.padding,"px ").concat($.paddingLG,"px 0"),background:$.colorBgContainer,borderBottom:"".concat($.lineWidth,"px ").concat($.lineType," ").concat($.colorBorderSecondary)}},eT),eC?s().createElement(P,{onClose:ew},eI):s().createElement("div",{"data-testid":"workflow-task-list-region",style:{background:$.colorBgLayout,display:"flex",flex:"1 1 0%",flexDirection:"column",minHeight:0}},s().createElement(C,{records:q,loading:es,mobile:D,total:en,page:eu,onPageChange:eE,onOpenRecord:ev,refresh:eb,Item:N.Item})))),eC?null:s().createElement(ex,{type:N,record:Y,mobile:D,title:eM,onClose:ew},eI))}function z(){return s().createElement(j,null)}}}]);
@@ -0,0 +1,10 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+
10
+ "use strict";(self.webpackChunk_nocobase_plugin_workflow=self.webpackChunk_nocobase_plugin_workflow||[]).push([["739"],{5006:function(e,n,t){t.d(n,{OutputFieldset:function(){return c}});var u=t(9155),l=t.n(u),o=t(2059),r=t(9488),a=t(1236);function c(){var e=(0,r.kj)();return l().createElement(o.Form.Item,{name:["config","value"],label:e("Output value")},l().createElement(a.G,{types:a.g,defaultToFirstConstantTypeWhenUndefined:!0,placeholder:e("Input workflow result")}))}}}]);
@@ -0,0 +1,10 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+
10
+ "use strict";(self.webpackChunk_nocobase_plugin_workflow=self.webpackChunk_nocobase_plugin_workflow||[]).push([["759"],{9218:function(e,t,r){r.d(t,{EndFieldset:function(){return i}});var n=r(9155),o=r.n(n),c=r(2059),l=r(7060),a=r(9488),u=[{value:l.Pm.RESOLVED,label:"Succeeded"},{value:l.Pm.FAILED,label:"Failed"}];function i(){var e=(0,a.kj)();return o().createElement(c.Form.Item,{name:["config","endStatus"],label:e("End status"),rules:[{required:!0}],initialValue:l.Pm.RESOLVED},o().createElement(c.Radio.Group,{options:u.map(function(t){var r,n;return r=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}({},t),n=n={label:e(t.label)},Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(n)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t})(Object(n)).forEach(function(e){Object.defineProperty(r,e,Object.getOwnPropertyDescriptor(n,e))}),r})}))}}}]);
@@ -0,0 +1,10 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+
10
+ "use strict";(self.webpackChunk_nocobase_plugin_workflow=self.webpackChunk_nocobase_plugin_workflow||[]).push([["772"],{8959:function(e,n,t){t.d(n,{MultiConditionsCanvasComponent:function(){return _},MultiConditionsFieldset:function(){return N}});var r=t(9155),o=t.n(r),i=t(2625),l=t(7375),a=t(5477),c=t(2059),u=t(3485),s=t(7694),f=t(1611),d=t(2235),m=t(1541),p=t(5980),b=t(8101),y=t(9488),h=t(9785),v=t(8265);function w(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=Array(n);t<n;t++)r[t]=e[t];return r}function g(e,n,t,r,o,i,l){try{var a=e[i](l),c=a.value}catch(e){t(e);return}a.done?n(c):Promise.resolve(c).then(r,o)}function k(e){return function(){var n=this,t=arguments;return new Promise(function(r,o){var i=e.apply(n,t);function l(e){g(i,r,o,l,a,"next",e)}function a(e){g(i,r,o,l,a,"throw",e)}l(void 0)})}}function E(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{},r=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(t).filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.forEach(function(n){var r;r=t[n],n in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r})}return e}function O(e,n){return n=null!=n?n:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):(function(e){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);n.push.apply(n,t)}return n})(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}),e}function j(e,n){return function(e){if(Array.isArray(e))return e}(e)||function(e,n){var t,r,o=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var i=[],l=!0,a=!1;try{for(o=o.call(e);!(l=(t=o.next()).done)&&(i.push(t.value),!n||i.length!==n);l=!0);}catch(e){a=!0,r=e}finally{try{l||null==o.return||o.return()}finally{if(a)throw r}}return i}}(e,n)||I(e,n)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function x(e,n){return n||(n=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(n)}}))}function S(e){return function(e){if(Array.isArray(e))return w(e)}(e)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||I(e)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function I(e,n){if(e){if("string"==typeof e)return w(e,n);var t=Object.prototype.toString.call(e).slice(8,-1);if("Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t)return Array.from(t);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return w(e,n)}}function C(e,n){var t,r,o,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},l=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),a=Object.defineProperty;return a(l,"next",{value:c(0)}),a(l,"throw",{value:c(1)}),a(l,"return",{value:c(2)}),"function"==typeof Symbol&&a(l,Symbol.iterator,{value:function(){return this}}),l;function c(a){return function(c){var u=[a,c];if(t)throw TypeError("Generator is already executing.");for(;l&&(l=0,u[0]&&(i=0)),i;)try{if(t=1,r&&(o=2&u[0]?r.return:u[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,u[1])).done)return o;switch(r=0,o&&(u=[2&u[0],o.value]),u[0]){case 0:case 1:o=u;break;case 4:return i.label++,{value:u[1],done:!1};case 5:i.label++,r=u[1],u=[0];continue;case 7:u=i.ops.pop(),i.trys.pop();continue;default:if(!(o=(o=i.trys).length>0&&o[o.length-1])&&(6===u[0]||2===u[0])){i=0;continue}if(3===u[0]&&(!o||u[1]>o[0]&&u[1]<o[3])){i.label=u[1];break}if(6===u[0]&&i.label<o[1]){i.label=o[1],o=u;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(u);break}o[2]&&i.ops.pop(),i.trys.pop();continue}u=n.call(e,i)}catch(e){u=[6,e],r=0}finally{t=o=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}}function F(){var e=x(["\n position: relative;\n z-index: 1;\n padding-top: 1em;\n "]);return F=function(){return e},e}function A(){var e=x(["\n padding: 0.5em 1em;\n border-radius: 2em;\n background-color: ",";\n font-size: 0.8rem;\n position: relative;\n z-index: 1;\n ","\n\n .workflow-condition-action {\n display: inline-flex;\n align-items: center;\n text-wrap: nowrap;\n margin: -12px;\n padding: 12px;\n font-size: 0.8rem;\n line-height: 1;\n color: ",";\n font-weight: normal;\n text-decoration: none;\n background: transparent;\n border: 0;\n cursor: pointer;\n }\n "]);return A=function(){return e},e}function P(e){var n=e.children;return o().createElement("div",{className:(0,a.css)(F())},n)}function T(e){var n=e.children,t=e.color,r=e.tooltip,i=c.theme.useToken().token,l=o().createElement(c.Space,{className:(0,a.css)(A(),i.colorBgContainer,t?"outline: 1px solid ".concat(t,";"):"",t||"#1677ff")},n);return r?o().createElement(c.Tooltip,{title:r},l):l}function z(e){var n,t=e.condition,l=e.node,a=e.workflow,s=e.onSubmit,f=(0,y.kj)(),m=j(c.Form.useForm(),1)[0],p=j((0,r.useState)(!1),2),h=p[0],v=p[1],w=!!(null==a||null==(n=a.versionStats)?void 0:n.executed),g=(0,i.useMemoizedFn)(function(){return k(function(){var e;return C(this,function(n){switch(n.label){case 0:return[4,m.validateFields()];case 1:e=n.sent(),v(!0),n.label=2;case 2:return n.trys.push([2,,4,5]),[4,s(e)];case 3:return n.sent(),[3,5];case 4:return v(!1),[7];case 5:return[2]}})})()});return o().createElement(d.AA.Provider,{value:a},o().createElement(d.Si.Provider,{value:l},o().createElement(u.DialogFormLayout,{title:f("Configure condition"),onSubmit:g,submitting:h,footer:w?o().createElement("span",null):void 0},o().createElement(c.Form,{form:m,layout:"vertical",initialValues:t,disabled:w},o().createElement(c.Form.Item,{name:"title",label:f("Condition label")},o().createElement(c.Input,null)),o().createElement(b.FW,{prefix:[]})))))}function M(e){var n,t,r,u,f,m,p=e.condition,b=e.index,h=(0,y.kj)(),v=(0,s.useFlowContext)(),w=c.App.useApp().modal,g=c.theme.useToken().token,j=(0,d.TA)(),x=!!(0,d.S8)(),I=(null!=(t=(0,d.$K)())?t:{}).refresh,F=(null!=(r=(0,d.$K)())?r:{}).workflow,A=null==(u=j.jobs)?void 0:u[j.jobs.length-1],M=null==A||null==(m=A.meta)||null==(f=m.conditions)?void 0:f[b-1],B=function(e,n){switch(!0){case!1===e:return n.error;case!0===e:return n.success;case"string"==typeof e:return n.error;case"number"==typeof e:return n.success;default:return}}(M,{success:g.colorSuccess,error:g.colorError}),N=(n=(0,y.kj)(),p.title||n("Condition {{index}}",{index:b})),_=(0,i.useMemoizedFn)(function(e){return k(function(){return C(this,function(n){switch(n.label){case 0:return[4,v.api.resource("flow_nodes").update({filterByTk:j.id,values:{config:O(E({},j.config),{conditions:j.config.conditions.map(function(n,t){return t===b-1?E({},n,e):n})})}})];case 1:return n.sent(),null==I||I(),[2]}})})()}),D=(0,i.useMemoizedFn)(function(){v.viewer.dialog({width:720,closable:!0,content:function(){return o().createElement(z,{condition:p,node:j,workflow:F,onSubmit:_})}})}),$=(0,i.useMemoizedFn)(function(){return k(function(){var e,n;return C(this,function(t){switch(t.label){case 0:if((n=S(null!=(e=j.config.conditions)?e:[])).splice(b-1,1),!j.config.conditions.length)return[3,2];return[4,v.api.resource("flow_nodes").destroyBranch({filterByTk:j.id,branchIndex:b,shift:1})];case 1:t.sent(),t.label=2;case 2:return[4,v.api.resource("flow_nodes").update({filterByTk:j.id,values:{config:O(E({},j.config),{conditions:n})}})];case 3:return t.sent(),null==I||I(),[2]}})})()}),K=(0,i.useMemoizedFn)(function(){w.confirm({title:h("Delete"),content:h("Are you sure you want to delete it?"),onOk:$})});return o().createElement(P,null,!x&&j.config.conditions.length>1?o().createElement(c.Tooltip,{title:h("Delete branch")},o().createElement(c.Button,{type:"text",shape:"circle",icon:o().createElement(l.DeleteOutlined,null),onClick:K,className:["workflow-node-remove-button workflow-branch-remove-button",(0,a.css)({display:"none",position:"absolute",right:"-2em",top:"1.35em"})].join(" "),size:"small"})):null,o().createElement(T,{color:B,tooltip:"string"==typeof M?M:null},o().createElement("a",{role:"button",className:"workflow-condition-action",title:N,onClick:D},o().createElement("span",{style:{paddingRight:3}},N))))}function B(e){var n,t=e.condition,r=e.index,i=(0,d.TA)(),l=(null!=(n=(0,d.$K)())?n:{}).nodes,c=(null!=l?l:[]).find(function(e){return e.upstreamId===i.id&&e.branchIndex===r});return o().createElement(f.l,{from:i,entry:c,branchIndex:r,controller:o().createElement(M,{condition:t,index:r}),className:(0,a.css)({"&:hover > .workflow-branch-controller .workflow-node-remove-button":{display:"block"}})})}function N(){var e=(0,y.kj)();return o().createElement(o().Fragment,null,o().createElement(c.Form.Item,{name:["config","conditions"],hidden:!0},o().createElement(c.Input,null)),o().createElement(c.Form.Item,{name:["config","continueOnNoMatch"],label:e("When no condition matches"),initialValue:!1},o().createElement(h.$,{options:[{label:e("End as failed"),value:!1},{label:e("Continue the workflow"),value:!0}]})))}function _(e){var n,t=e.data,r=(0,y.kj)(),u=(0,s.useFlowContext)(),b=c.theme.useToken().token,h=!!(0,d.S8)(),w=null!=(n=(0,d.$K)())?n:{},g=w.refresh,j=w.nodes,x=(0,p.A)().styles,I=t.id,F=t.config,A=(void 0===F?{}:F).conditions,z=void 0===A?[]:A,M=(null!=j?j:[]).find(function(e){return e.upstreamId===I&&0===e.branchIndex}),N=(0,i.useMemoizedFn)(function(){return k(function(){return C(this,function(e){switch(e.label){case 0:return[4,u.api.resource("flow_nodes").update({filterByTk:I,values:{config:O(E({},t.config),{conditions:S(z).concat([(0,v.w)()])})}})];case 1:return e.sent(),null==g||g(),[2]}})})()});return o().createElement(m.z,{data:t},o().createElement("div",{className:x.nodeSubtreeClass},o().createElement("div",{className:x.branchBlockClass},z.map(function(e,n){return o().createElement(B,{key:e.uid,condition:e,index:n+1})}),o().createElement(f.l,{from:t,entry:M,branchIndex:v.O.OTHERWISE,controller:o().createElement(P,null,o().createElement(T,null,o().createElement("span",null,r("Otherwise")))),end:!t.config.continueOnNoMatch})),o().createElement(c.Tooltip,{title:r("Add branch")},o().createElement(c.Button,{"aria-label":["add-button",null==t?void 0:t.type,null==t?void 0:t.title,"add-branch"].filter(Boolean).join("-"),icon:o().createElement(l.PlusOutlined,null),className:(0,a.css)({"& .anticon":{transformOrigin:"center",transform:"rotate(-45deg)"}}),style:{position:"relative",top:b.padding,lineHeight:1,transformOrigin:"center",transform:"rotate(45deg)",visibility:h?"hidden":"visible"},size:"small",onClick:N,disabled:h}))))}}}]);
@@ -0,0 +1,10 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+
10
+ "use strict";(self.webpackChunk_nocobase_plugin_workflow=self.webpackChunk_nocobase_plugin_workflow||[]).push([["782"],{3210:function(e,t,n){n.d(t,{s:function(){return u}});var r=n(5477),a=n(8275),o=n(9155),l=n.n(o);function i(){var e,t,n=(e=["\n &:after {\n content: ':';\n }\n & + a {\n margin-left: 0.25em;\n }\n "],t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}})));return i=function(){return n},n}var u=function(e,t){var n=a.evaluators.get(e);return n&&n.link?l().createElement(l().Fragment,null,l().createElement("span",{className:(0,r.css)(i())},t("Syntax references")),l().createElement("a",{href:t(n.link),target:"_blank",rel:"noreferrer"},n.label)):null}},8101:function(e,t,n){n.d(t,{FW:function(){return Q}});var r=n(9155),a=n.n(r),o=n(8275),l=n(2059),i=n(5606),u=n(7375),c=n(5477),s=n(3485),f=n(7768),p=n(5953),m=n(9488),d=n(4563);function b(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function y(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){var r;r=n[t],t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r})}return e}function g(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t})(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}function v(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,a=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var o=[],l=!0,i=!1;try{for(a=a.call(e);!(l=(n=a.next()).done)&&(o.push(n.value),!t||o.length!==t);l=!0);}catch(e){i=!0,r=e}finally{try{l||null==a.return||a.return()}finally{if(i)throw r}}return o}}(e,t)||E(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function h(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function w(e){return function(e){if(Array.isArray(e))return b(e)}(e)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||E(e)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function E(e,t){if(e){if("string"==typeof e)return b(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return b(e,t)}}function O(){var e=h(["\n &.ant-select {\n width: auto;\n min-width: 6em;\n flex-shrink: 0;\n }\n"]);return O=function(){return e},e}function j(){var e=h(["\n flex: 0 1 auto;\n min-width: 12em;\n max-width: 100%;\n\n > div {\n width: auto !important;\n max-width: 100%;\n }\n\n > div > .ant-space-compact {\n display: inline-flex !important;\n width: auto !important;\n max-width: 100%;\n }\n"]);return j=function(){return e},e}function C(){var e=h(["\n display: flex;\n gap: 0.5em;\n align-items: center;\n flex-wrap: wrap;\n margin: 0;\n padding: 0;\n border: none;\n "]);return C=function(){return e},e}function k(){var e=h(["\n display: flex;\n position: relative;\n margin: 0.5em 0;\n "]);return k=function(){return e},e}function S(){var e=h(["\n position: relative;\n width: 100%;\n .node-type-condition-group {\n padding: 0.5em 1em;\n border: 1px dashed #ddd;\n }\n + button {\n position: absolute;\n right: 0;\n }\n "]);return S=function(){return e},e}function x(){var e=h(["\n display: flex;\n align-items: center;\n gap: 0.5em;\n .ant-select {\n width: auto;\n min-width: 6em;\n }\n "]);return x=function(){return e},e}function A(){var e=h(["\n button {\n padding: 0;\n &:not(:last-child) {\n margin-right: 1em;\n }\n }\n "]);return A=function(){return e},e}var P=n(1236).g,I=(0,c.css)(O()),T=(0,c.css)(j()),N=new f.Registry;N.register("equal",{name:"=",type:"boolean",group:"boolean"}),N.register("notEqual",{name:"≠",type:"boolean",group:"boolean"}),N.register("gt",{name:">",type:"boolean",group:"boolean"}),N.register("gte",{name:"≥",type:"boolean",group:"boolean"}),N.register("lt",{name:"<",type:"boolean",group:"boolean"}),N.register("lte",{name:"≤",type:"boolean",group:"boolean"}),N.register("includes",{name:'{{t("contains")}}',type:"boolean",group:"string"}),N.register("notIncludes",{name:'{{t("does not contain")}}',type:"boolean",group:"string"}),N.register("startsWith",{name:'{{t("starts with")}}',type:"boolean",group:"string"}),N.register("notStartsWith",{name:'{{t("not starts with")}}',type:"boolean",group:"string"}),N.register("endsWith",{name:'{{t("ends with")}}',type:"boolean",group:"string"}),N.register("notEndsWith",{name:'{{t("not ends with")}}',type:"boolean",group:"string"});var _=[{value:"boolean",title:'{{t("Comparision")}}'},{value:"number",title:'{{t("Arithmetic calculation", { ns: "'.concat(m.CU,'" })}}')},{value:"string",title:'{{t("String operation", { ns: "'.concat(m.CU,'" })}}')},{value:"date",title:'{{t("Date", { ns: "'.concat(m.CU,'" })}}')}];function D(e){return Array.from(N.getEntities()).filter(function(t){return v(t,2)[1].group===e})}var F=(0,r.createContext)(d.P);function W(){return(0,r.useContext)(F)()}function q(e){var t=e.calculator,n=e.operands,o=void 0===n?[]:n,i=e.onChange,u=(0,m.kj)(),f=!!l.ConfigProvider.useConfig().componentDisabled,p=W(),d=W(),b=(0,r.useCallback)(function(e){return i({calculator:t,operands:[e,o[1]]})},[t,i,o]),y=(0,r.useCallback)(function(e){return i({calculator:t,operands:[o[0],e]})},[t,i,o]),g=(0,r.useCallback)(function(e){return i({operands:o,calculator:e})},[i,o]);return a().createElement("fieldset",{className:(0,c.css)(C())},a().createElement("div",{className:T,"data-testid":"calculation-operand"},a().createElement(s.TypedVariableInput,{types:P,metaTree:p,value:o[0],onChange:b,disabled:f})),a().createElement(l.Select,{role:"button","aria-label":"select-operator-calc",value:t,onChange:g,placeholder:u("Operator"),popupMatchSelectWidth:!1,className:I},_.filter(function(e){return!!D(e.value).length}).map(function(e){return a().createElement(l.Select.OptGroup,{key:e.value,label:u(e.title)},D(e.value).map(function(e){var t=v(e,2),n=t[0],r=t[1].name;return a().createElement(l.Select.Option,{key:n,value:n},u(r))}))})),a().createElement("div",{className:T,"data-testid":"calculation-operand"},a().createElement(s.TypedVariableInput,{types:P,metaTree:d,value:o[1],onChange:y,disabled:f})))}function B(e){var t=e.value,n=e.onChange,r=e.onRemove;if(!t)return null;var o=t.calculator,i=t.operands;return a().createElement("div",{className:(0,c.css)(k())},t.group?a().createElement(M,{value:t.group,onChange:function(e){return n(g(y({},t),{group:e}))}}):a().createElement(q,{operands:void 0===i?[]:i,calculator:o,onChange:n}),a().createElement(l.Button,{"aria-label":"icon-close",onClick:r,type:"link",icon:a().createElement(u.CloseCircleOutlined,null)}))}function M(e){var t=e.value,n=e.onChange,o=(0,m.kj)(),i=(0,m.ec)().t,u=t.type,s=t.calculations,f=void 0===s?[]:s,d=(0,r.useCallback)(function(){n(g(y({},t),{calculations:w(f).concat([{not:!1,calculator:"equal"}])}))},[t,f,n]),b=(0,r.useCallback)(function(){n(g(y({},t),{calculations:w(f).concat([{not:!1,group:{type:"and",calculations:[]}}])}))},[t,f,n]),v=(0,r.useCallback)(function(e){f.splice(e,1),n(g(y({},t),{calculations:w(f)}))},[t,f,n]),h=(0,r.useCallback)(function(e,r){f.splice(e,1,r),n(g(y({},t),{calculations:w(f)}))},[t,f,n]);return a().createElement("div",{className:(0,c.cx)("node-type-condition-group",(0,c.css)(S()))},a().createElement("div",{className:(0,c.css)(x())},a().createElement(p.Trans,{t:i},"Meet ",a().createElement(l.Select,{role:"button","data-testid":"filter-select-all-or-any",value:void 0===u?"and":u,onChange:function(e){return n(g(y({},t),{type:e}))}},a().createElement(l.Select.Option,{value:"and"},"All"),a().createElement(l.Select.Option,{value:"or"},"Any"))," conditions in the group")),a().createElement("div",{className:"calculation-items"},f.map(function(e,t){return a().createElement(B,{key:"".concat(e.calculator,"_").concat(t),value:e,onChange:h.bind(null,t),onRemove:function(){return v(t)}})})),a().createElement("div",{className:(0,c.css)(A())},a().createElement(l.Button,{type:"link",onClick:d},o("Add condition")),a().createElement(l.Button,{type:"link",onClick:b},o("Add condition group"))))}function U(e){var t=e.value,n=e.onChange,r=e.useVariableHook,o=void 0===r?d.P:r,l=t&&Object.keys(t).length?t:{group:{type:"and",calculations:[]}};return a().createElement(F.Provider,{value:o},a().createElement(M,{value:l.group,onChange:function(e){return null==n?void 0:n(g(y({},l),{group:e}))}}))}var z=n(9785),V=n(3210);function R(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function $(e,t,n,r,a,o,l){try{var i=e[o](l),u=i.value}catch(e){n(e);return}i.done?t(u):Promise.resolve(u).then(r,a)}function G(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,a=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var o=[],l=!0,i=!1;try{for(a=a.call(e);!(l=(n=a.next()).done)&&(o.push(n.value),!t||o.length!==t);l=!0);}catch(e){i=!0,r=e}finally{try{l||null==a.return||a.return()}finally{if(i)throw r}}return o}}(e,t)||H(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function L(e){return function(e){if(Array.isArray(e))return R(e)}(e)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||H(e)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function H(e,t){if(e){if("string"==typeof e)return R(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return R(e,t)}}var J="basic";function K(e,t){return L(e).concat([t])}function Q(e){var t,n,r,u=e.prefix,c=e.calculationLabel,s=e.expressionLabel,f=e.expressionItemProps,p=(0,m.kj)(),d=(t=(0,m.kj)(),n=Array.from(o.evaluators.getEntities()).filter(function(e){return["math.js","formula.js"].includes(G(e,1)[0])}).map(function(e){var t=G(e,2),n=t[0],r=t[1];return{value:n,label:r.label,tooltip:r.tooltip}}),[{value:J,label:t("Basic")}].concat(L(n))),b=null!=(r=l.Form.useWatch(K(u,"engine")))?r:J;return a().createElement(a().Fragment,null,a().createElement(l.Form.Item,{name:K(u,"engine"),label:p("Calculation engine"),rules:[{required:!0}],initialValue:J},a().createElement(z.$,{options:d})),a().createElement(l.Form.Item,{name:K(u,"calculation"),label:null!=c?c:p("Condition"),hidden:b!==J,dependencies:[K(u,"engine")],rules:[{required:b===J}]},a().createElement(U,null)),a().createElement(l.Form.Item,function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){var r;r=n[t],t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r})}return e}({name:K(u,"expression"),label:null!=s?s:p("Condition expression"),hidden:b===J,dependencies:[K(u,"engine")],validateTrigger:["onChange","onBlur"],rules:[{required:b!==J},{validator:function(e,t){var n;return(n=function(){var e,n;return function(e,t){var n,r,a,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},l=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),i=Object.defineProperty;return i(l,"next",{value:u(0)}),i(l,"throw",{value:u(1)}),i(l,"return",{value:u(2)}),"function"==typeof Symbol&&i(l,Symbol.iterator,{value:function(){return this}}),l;function u(i){return function(u){var c=[i,u];if(n)throw TypeError("Generator is already executing.");for(;l&&(l=0,c[0]&&(o=0)),o;)try{if(n=1,r&&(a=2&c[0]?r.return:c[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,c[1])).done)return a;switch(r=0,a&&(c=[2&c[0],a.value]),c[0]){case 0:case 1:a=c;break;case 4:return o.label++,{value:c[1],done:!1};case 5:o.label++,r=c[1],c=[0];continue;case 7:c=o.ops.pop(),o.trys.pop();continue;default:if(!(a=(a=o.trys).length>0&&a[a.length-1])&&(6===c[0]||2===c[0])){o=0;continue}if(3===c[0]&&(!a||c[1]>a[0]&&c[1]<a[3])){o.label=c[1];break}if(6===c[0]&&o.label<a[1]){o.label=a[1],a=c;break}if(a&&o.label<a[2]){o.label=a[2],o.ops.push(c);break}a[2]&&o.ops.pop(),o.trys.pop();continue}c=t.call(e,o)}catch(e){c=[6,e],r=0}finally{n=a=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}(this,function(r){if(b===J||!t||!(e=o.evaluators.get(b)))return[2];n=String(t).trim().replace(/{{([^{}]+)}}/g,' "1" ');try{e.evaluate(n)}catch(e){throw Error(p("Expression syntax error"))}return[2]})},function(){var e=this,t=arguments;return new Promise(function(r,a){var o=n.apply(e,t);function l(e){$(o,r,a,l,i,"next",e)}function i(e){$(o,r,a,l,i,"throw",e)}l(void 0)})})()}}],extra:b===J?void 0:(0,V.s)(b,p)},f),a().createElement(i.M,null)))}}}]);
@@ -0,0 +1,10 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+
10
+ (self.webpackChunk_nocobase_plugin_workflow=self.webpackChunk_nocobase_plugin_workflow||[]).push([["828"],{7264:function(e){e.exports=function(e,t,r){e=e||{};var n=t.prototype,o={future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"};function l(e,t,r,o){return n.fromToBase(e,t,r,o)}r.en.relativeTime=o,n.fromToBase=function(t,n,l,a,i){for(var u,c,s,f=l.$locale().relativeTime||o,d=e.thresholds||[{l:"s",r:44,d:"second"},{l:"m",r:89},{l:"mm",r:44,d:"minute"},{l:"h",r:89},{l:"hh",r:21,d:"hour"},{l:"d",r:35},{l:"dd",r:25,d:"day"},{l:"M",r:45},{l:"MM",r:10,d:"month"},{l:"y",r:17},{l:"yy",d:"year"}],p=d.length,m=0;m<p;m+=1){var y=d[m];y.d&&(u=a?r(t).diff(l,y.d,!0):l.diff(t,y.d,!0));var v=(e.rounding||Math.round)(Math.abs(u));if(s=u>0,v<=y.r||!y.r){v<=1&&m>0&&(y=d[m-1]);var b=f[y.l];i&&(v=i(""+v)),c="string"==typeof b?b.replace("%d",v):b(v,n,y.l,s);break}}if(n)return c;var h=s?f.future:f.past;return"function"==typeof h?h(c):h.replace("%s",c)},n.to=function(e,t){return l(e,t,this,!0)},n.from=function(e,t){return l(e,t,this)};var a=function(e){return e.$u?r.utc():r()};n.toNow=function(e){return this.to(a(this),e)},n.fromNow=function(e){return this.from(a(this),e)}}},1736:function(e,t,r){"use strict";r.d(t,{i:function(){return h}});var n=r(9155),o=r.n(n),l=r(2059),a=r(7375),i=r(5477),u=r(7694),c=r(5980),s=r(1611),f=r(2235),d=r(3052),p=r(9488),m=r(8743),y=r(3284);function v(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function b(){var e,t=(0,c.A)().styles,r=(0,p.kj)(),n=(0,u.useFlowEngine)(),i=(0,d.x)(),s=null==i?void 0:i.clipboard;if(!s)return null;var f=n.context.app.pm.get(m.q),y=null==f?void 0:f.getInstruction(s.type),v=y?r(y.title):s.type;return o().createElement("div",{className:t.clipboardPreviewClass},o().createElement("div",{className:"workflow-clipboard-header"},o().createElement("span",null,r("Copied node")),o().createElement(l.Button,{type:"text",size:"small",icon:o().createElement(a.CloseOutlined,null),onClick:function(){return null==i?void 0:i.clearClipboard()}})),o().createElement("div",{className:"workflow-clipboard-card"},o().createElement("div",{className:"workflow-clipboard-type"},v),o().createElement("div",{className:"workflow-clipboard-title"},null!=(e=s.title)?e:s.type)))}function h(e){var t,r,a=e.entry,u=(0,c.A)(),d=u.styles,m=u.cx,h=(0,p.kj)(),w=(0,f.S8)();(null!=(r=(0,f.$K)())?r:{}).workflow;var g=function(e){if(Array.isArray(e))return e}(t=(0,n.useState)(100))||function(e){var t,r,n=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var o=[],l=!0,a=!1;try{for(n=n.call(e);!(l=(t=n.next()).done)&&(o.push(t.value),2!==o.length);l=!0);}catch(e){a=!0,r=e}finally{try{l||null==n.return||n.return()}finally{if(a)throw r}}return o}}(t)||function(e){if(e){if("string"==typeof e)return v(e,2);var t=Object.prototype.toString.call(e).slice(8,-1);if("Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t)return Array.from(t);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return v(e,2)}}(t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),k=g[0],E=g[1];return o().createElement("div",{className:m(d.workflowPageClass,(0,i.css)({height:"100%"}))},o().createElement("div",{className:"workflow-canvas-wrapper"},o().createElement("div",{className:"workflow-canvas",style:{zoom:k/100}},o().createElement("div",{className:m(d.branchBlockClass,(0,i.css)({marginTop:"0 !important"}))},o().createElement("div",{className:d.branchClass},w?o().createElement(l.Alert,{type:"warning",showIcon:!0,message:h("Executed workflow cannot be modified. Could be copied to a new version to modify."),style:{marginBottom:"1em"}}):null,o().createElement(y.Vo,null),o().createElement("div",{className:m(d.branchBlockClass,(0,i.css)({marginTop:"0 !important"}))},o().createElement(s.l,{entry:a})),o().createElement("div",{className:d.terminalClass},h("End"))))),o().createElement(b,null),o().createElement("div",{className:"workflow-canvas-zoomer"},o().createElement(l.Slider,{vertical:!0,reverse:!0,defaultValue:100,step:10,min:10,value:k,onChange:E}))))}},3359:function(e,t,r){"use strict";r.r(t),r.d(t,{default:function(){return _}});var n=r(7694),o=r(2625),l=r(2059),a=r(9155),i=r.n(a),u=r(4442),c=r(9488);function s(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function f(e,t,r,n,o,l,a){try{var i=e[l](a),u=i.value}catch(e){r(e);return}i.done?t(u):Promise.resolve(u).then(n,o)}function d(e){var t,r=e.record,n=e.resource,u=e.onChanged,d=(0,c.ec)().t,p=l.App.useApp().message,m=function(e){if(Array.isArray(e))return e}(t=(0,a.useState)(!1))||function(e){var t,r,n=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var o=[],l=!0,a=!1;try{for(n=n.call(e);!(l=(t=n.next()).done)&&(o.push(t.value),2!==o.length);l=!0);}catch(e){a=!0,r=e}finally{try{l||null==n.return||n.return()}finally{if(a)throw r}}return o}}(t)||function(e){if(e){if("string"==typeof e)return s(e,2);var t=Object.prototype.toString.call(e).slice(8,-1);if("Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t)return Array.from(t);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return s(e,2)}}(t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),y=m[0],v=m[1],b=(0,o.useMemoizedFn)(function(e){var t;return(t=function(){return function(e,t){var r,n,o,l={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),i=Object.defineProperty;return i(a,"next",{value:u(0)}),i(a,"throw",{value:u(1)}),i(a,"return",{value:u(2)}),"function"==typeof Symbol&&i(a,Symbol.iterator,{value:function(){return this}}),a;function u(i){return function(u){var c=[i,u];if(r)throw TypeError("Generator is already executing.");for(;a&&(a=0,c[0]&&(l=0)),l;)try{if(r=1,n&&(o=2&c[0]?n.return:c[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,c[1])).done)return o;switch(n=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return l.label++,{value:c[1],done:!1};case 5:l.label++,n=c[1],c=[0];continue;case 7:c=l.ops.pop(),l.trys.pop();continue;default:if(!(o=(o=l.trys).length>0&&o[o.length-1])&&(6===c[0]||2===c[0])){l=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){l.label=c[1];break}if(6===c[0]&&l.label<o[1]){l.label=o[1],o=c;break}if(o&&l.label<o[2]){l.label=o[2],l.ops.push(c);break}o[2]&&l.ops.pop(),l.trys.pop();continue}c=t.call(e,l)}catch(e){c=[6,e],n=0}finally{r=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}(this,function(t){switch(t.label){case 0:v(!0),t.label=1;case 1:return t.trys.push([1,3,4,5]),[4,n.update({filterByTk:r.id,values:{enabled:e}})];case 2:return t.sent(),u(e),[3,5];case 3:return t.sent(),p.error(d("Operation failed")),[3,5];case 4:return v(!1),[7];case 5:return[2]}})},function(){var e=this,r=arguments;return new Promise(function(n,o){var l=t.apply(e,r);function a(e){f(l,n,o,a,i,"next",e)}function i(e){f(l,n,o,a,i,"throw",e)}a(void 0)})})()});return i().createElement(l.Switch,{checked:!!r.enabled,loading:y,onChange:b,checkedChildren:d("On"),unCheckedChildren:d("Off")})}var p=r(7375),m=r(7001),y=r(1652),v=r(5980),b=r(2404);function h(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function w(e,t,r,n,o,l,a){try{var i=e[l](a),u=i.value}catch(e){r(e);return}i.done?t(u):Promise.resolve(u).then(n,o)}function g(e){var t,r,n=e.record,u=e.open,s=e.onClose,f=e.resource,d=e.refresh,p=(0,c.ec)().t,m=(0,v.A)().styles,y=function(e){if(Array.isArray(e))return e}(t=(0,a.useState)(null!=(r=n.description)?r:""))||function(e){var t,r,n=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var o=[],l=!0,a=!1;try{for(n=n.call(e);!(l=(t=n.next()).done)&&(o.push(t.value),2!==o.length);l=!0);}catch(e){a=!0,r=e}finally{try{l||null==n.return||n.return()}finally{if(a)throw r}}return o}}(t)||function(e){if(e){if("string"==typeof e)return h(e,2);var t=Object.prototype.toString.call(e).slice(8,-1);if("Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t)return Array.from(t);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return h(e,2)}}(t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),g=y[0],k=y[1];(0,a.useEffect)(function(){if(u){var e;k(null!=(e=n.description)?e:"")}},[u,n.description]);var E=(0,o.useMemoizedFn)(function(e){k(e.target.value)}),x=(0,o.useMemoizedFn)(function(e){var t;return(t=function(){var t,r;return function(e,t){var r,n,o,l={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),i=Object.defineProperty;return i(a,"next",{value:u(0)}),i(a,"throw",{value:u(1)}),i(a,"return",{value:u(2)}),"function"==typeof Symbol&&i(a,Symbol.iterator,{value:function(){return this}}),a;function u(i){return function(u){var c=[i,u];if(r)throw TypeError("Generator is already executing.");for(;a&&(a=0,c[0]&&(l=0)),l;)try{if(r=1,n&&(o=2&c[0]?n.return:c[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,c[1])).done)return o;switch(n=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return l.label++,{value:c[1],done:!1};case 5:l.label++,n=c[1],c=[0];continue;case 7:c=l.ops.pop(),l.trys.pop();continue;default:if(!(o=(o=l.trys).length>0&&o[o.length-1])&&(6===c[0]||2===c[0])){l=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){l.label=c[1];break}if(6===c[0]&&l.label<o[1]){l.label=o[1],o=c;break}if(o&&l.label<o[2]){l.label=o[2],l.ops.push(c);break}o[2]&&l.ops.pop(),l.trys.pop();continue}c=t.call(e,l)}catch(e){c=[6,e],n=0}finally{r=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}(this,function(o){switch(o.label){case 0:if((r=e.target.value)===(null!=(t=n.description)?t:""))return[2];return[4,f.update({filterByTk:n.id,values:{description:r}})];case 1:return o.sent(),d(),[2]}})},function(){var e=this,r=arguments;return new Promise(function(n,o){var l=t.apply(e,r);function a(e){w(l,n,o,a,i,"next",e)}function i(e){w(l,n,o,a,i,"throw",e)}a(void 0)})})()});return i().createElement(l.Modal,{open:u,title:p("Details"),width:640,footer:null,onCancel:s},i().createElement(l.Descriptions,{bordered:!0,column:2,size:"small"},i().createElement(l.Descriptions.Item,{label:"Key",span:2},n.key||"-"),i().createElement(l.Descriptions.Item,{label:p("Created by")},(0,b.ts)(n.createdBy)),i().createElement(l.Descriptions.Item,{label:p("Created at")},(0,b.fU)(n.createdAt)),i().createElement(l.Descriptions.Item,{label:p("Last updated by")},(0,b.ts)(n.updatedBy)),i().createElement(l.Descriptions.Item,{label:p("Last updated at")},(0,b.fU)(n.updatedAt)),i().createElement(l.Descriptions.Item,{label:p("Description"),span:2},i().createElement(l.Input.TextArea,{"aria-label":p("Description"),value:g,onChange:E,onBlur:x,placeholder:"-",className:m.workflowDetailsDescriptionClass,autoSize:{minRows:3,maxRows:8}}))))}function k(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function E(e,t,r,n,o,l,a){try{var i=e[l](a),u=i.value}catch(e){r(e);return}i.done?t(u):Promise.resolve(u).then(n,o)}function x(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var l=e.apply(t,r);function a(e){E(l,n,o,a,i,"next",e)}function i(e){E(l,n,o,a,i,"throw",e)}a(void 0)})}}function S(e,t){var r,n,o,l={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),i=Object.defineProperty;return i(a,"next",{value:u(0)}),i(a,"throw",{value:u(1)}),i(a,"return",{value:u(2)}),"function"==typeof Symbol&&i(a,Symbol.iterator,{value:function(){return this}}),a;function u(i){return function(u){var c=[i,u];if(r)throw TypeError("Generator is already executing.");for(;a&&(a=0,c[0]&&(l=0)),l;)try{if(r=1,n&&(o=2&c[0]?n.return:c[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,c[1])).done)return o;switch(n=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return l.label++,{value:c[1],done:!1};case 5:l.label++,n=c[1],c=[0];continue;case 7:c=l.ops.pop(),l.trys.pop();continue;default:if(!(o=(o=l.trys).length>0&&o[o.length-1])&&(6===c[0]||2===c[0])){l=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){l.label=c[1];break}if(6===c[0]&&l.label<o[1]){l.label=o[1],o=c;break}if(o&&l.label<o[2]){l.label=o[2],l.ops.push(c);break}o[2]&&l.ops.pop(),l.trys.pop();continue}c=t.call(e,l)}catch(e){c=[6,e],n=0}finally{r=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}var O="/admin/settings/workflow";function C(e){var t,r,u=e.record,s=e.revisions,f=e.resource,d=e.refresh,v=(0,c.ec)().t,h=(0,n.useFlowContext)(),w=(0,m.TD)().getWorkflowCanvasPath,E=l.App.useApp(),C=E.modal,j=E.message,A=function(e){if(Array.isArray(e))return e}(t=(0,a.useState)(!1))||function(e){var t,r,n=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var o=[],l=!0,a=!1;try{for(n=n.call(e);!(l=(t=n.next()).done)&&(o.push(t.value),2!==o.length);l=!0);}catch(e){a=!0,r=e}finally{try{l||null==n.return||n.return()}finally{if(a)throw r}}return o}}(t)||function(e){if(e){if("string"==typeof e)return k(e,2);var t=Object.prototype.toString.call(e).slice(8,-1);if("Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t)return Array.from(t);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return k(e,2)}}(t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),T=A[0],I=A[1],P=Number((null==(r=u.stats)?void 0:r.executed)||0)>0,F=(0,o.useMemoizedFn)(function(){h.viewer.drawer({width:"60%",closable:!0,title:v("Execution history"),content:function(){return i().createElement(y.S,{workflowKey:u.key})}})}),M=(0,o.useMemoizedFn)(function(){return x(function(){var e,t;return S(this,function(r){switch(r.label){case 0:return[4,f.revision({filterByTk:u.id,filter:{key:u.key}})];case 1:return e=r.sent(),t=(0,b.iD)(e),j.success(v("Operation succeeded")),(null==t?void 0:t.id)!=null&&h.router.navigate(w(t.id)),[2]}})})()}),B=(0,o.useMemoizedFn)(function(){var e=u.current?v("Delete a main version will cause all other revisions to be deleted too."):v("Current version will be deleted (without affecting other versions).");C.confirm({title:v("Are you sure you want to delete it?"),content:e,onOk:function(){return x(function(){var e;return S(this,function(t){switch(t.label){case 0:return[4,f.destroy({filterByTk:u.id})];case 1:if(t.sent(),j.success(v("Operation succeeded")),u.current)return h.router.navigate(O),[2];return e=s.find(function(e){return e.current}),h.router.navigate((null==e?void 0:e.id)!=null?w(e.id):O),[2]}})})()}})}),D=(0,o.useMemoizedFn)(function(e){switch(e.key){case"details":I(!0);return;case"refresh":d();return;case"history":F();return;case"revision":M();return;case"delete":B();return}});return i().createElement(i().Fragment,null,i().createElement(l.Dropdown,{menu:{onClick:D,items:[{key:"details",label:v("Details")},{type:"divider"},{key:"refresh",label:v("Refresh")},{key:"history",label:v("Execution history"),disabled:!P},{key:"revision",label:v("Copy to new version")},{type:"divider"},{key:"delete",label:v("Delete"),danger:!0}]}},i().createElement(l.Button,{"aria-label":"more",type:"text",icon:i().createElement(p.EllipsisOutlined,null)})),i().createElement(g,{record:u,open:T,onClose:function(){return I(!1)},resource:f,refresh:d}))}var j=r(9185),A=r.n(j),T=r(7264),I=r.n(T);function P(e,t,r,n,o,l,a){try{var i=e[l](a),u=i.value}catch(e){r(e);return}i.done?t(u):Promise.resolve(u).then(n,o)}function F(e){var t=e.record,r=e.resource,u=(0,c.ec)().t,s=(0,n.useFlowContext)(),f=(0,m.TD)().getWorkflowCanvasPath,d=(0,v.A)(),y=d.cx,b=d.styles,h=(0,o.useRequest)(function(){var e;return(e=function(){var e,n,o;return function(e,t){var r,n,o,l={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),i=Object.defineProperty;return i(a,"next",{value:u(0)}),i(a,"throw",{value:u(1)}),i(a,"return",{value:u(2)}),"function"==typeof Symbol&&i(a,Symbol.iterator,{value:function(){return this}}),a;function u(i){return function(u){var c=[i,u];if(r)throw TypeError("Generator is already executing.");for(;a&&(a=0,c[0]&&(l=0)),l;)try{if(r=1,n&&(o=2&c[0]?n.return:c[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,c[1])).done)return o;switch(n=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return l.label++,{value:c[1],done:!1};case 5:l.label++,n=c[1],c=[0];continue;case 7:c=l.ops.pop(),l.trys.pop();continue;default:if(!(o=(o=l.trys).length>0&&o[o.length-1])&&(6===c[0]||2===c[0])){l=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){l.label=c[1];break}if(6===c[0]&&l.label<o[1]){l.label=o[1],o=c;break}if(o&&l.label<o[2]){l.label=o[2],l.ops.push(c);break}o[2]&&l.ops.pop(),l.trys.pop();continue}c=t.call(e,l)}catch(e){c=[6,e],n=0}finally{r=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}(this,function(l){switch(l.label){case 0:return[4,r.list({filter:{key:t.key},fields:["id","createdAt","current","enabled","versionStats.executed"],sort:"-id"})];case 1:return[2,null!=(e=null==(o=l.sent())||null==(n=o.data)?void 0:n.data)?e:[]]}})},function(){var t=this,r=arguments;return new Promise(function(n,o){var l=e.apply(t,r);function a(e){P(l,n,o,a,i,"next",e)}function i(e){P(l,n,o,a,i,"throw",e)}a(void 0)})})()},{manual:!0}),w=h.data,g=h.run,k=(0,o.useMemoizedFn)(function(e){var r=e.key;String(r)!==String(t.id)&&s.router.navigate(f(r))}),E=(0,a.useMemo)(function(){return null!=w?w:[]},[w]);return i().createElement(l.Dropdown,{className:"workflow-versions",trigger:["click"],onOpenChange:function(e){return e&&g()},menu:{onClick:k,selectedKeys:["".concat(t.id)],className:y(b.dropdownClass,b.workflowVersionDropdownClass),items:E.slice().sort(function(e,t){return Number(t.id)-Number(e.id)}).map(function(e){var t,r;return{key:"".concat(e.id),icon:e.current?i().createElement(p.RightOutlined,null):null,className:y({executed:Number((null==(t=e.versionStats)?void 0:t.executed)||0)>0,unexecuted:0===Number((null==(r=e.versionStats)?void 0:r.executed)||0),enabled:e.enabled}),label:i().createElement(i().Fragment,null,i().createElement("strong",null,"#".concat(e.id)),i().createElement("time",null,e.createdAt?A()(e.createdAt).fromNow():""))}})}},i().createElement(l.Button,{type:"text","aria-label":"version"},i().createElement("span",{style:{opacity:.65,marginRight:4}},u("Version")),i().createElement("span",null,null!=t.id?"#".concat(t.id):null),i().createElement(p.DownOutlined,null)))}A().extend(I());var M=r(2990),B=r(5927);function D(e){var t=e.record,r=e.revisions,n=e.resource,o=e.refresh,a=(0,c.ec)().t,s=(0,c.kj)(),f=l.theme.useToken().token;return i().createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:f.margin,flexWrap:"wrap",padding:"".concat(f.paddingSM,"px ").concat(f.padding,"px"),background:f.colorBgContainer,borderBottom:"1px solid ".concat(f.colorBorderSecondary)}},i().createElement("div",{style:{display:"flex",alignItems:"center",gap:f.marginSM}},i().createElement(l.Breadcrumb,{items:[{title:i().createElement(u.Link,{to:"/admin/settings/workflow"},a("Workflow"))},{title:i().createElement(l.Tooltip,{title:"Key: ".concat(t.key)},i().createElement("strong",null,s(t.title||"")))}]}),i().createElement(B.t,{value:t.sync})),i().createElement("div",{style:{display:"flex",alignItems:"center",gap:f.marginXS}},i().createElement(M.jx,{record:t,refresh:o}),i().createElement(F,{record:t,resource:n}),i().createElement(d,{record:t,resource:n,onChanged:function(){return o()}}),i().createElement(C,{record:t,revisions:r,resource:n,refresh:o})))}var N=r(2235),R=r(1736),z=r(8761),L=r(8701),W=r(222),V=r(3052),K=r(379);function $(e,t,r,n,o,l,a){try{var i=e[l](a),u=i.value}catch(e){r(e);return}i.done?t(u):Promise.resolve(u).then(n,o)}function G(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var l=e.apply(t,r);function a(e){$(l,n,o,a,i,"next",e)}function i(e){$(l,n,o,a,i,"throw",e)}a(void 0)})}}function U(e,t){var r,n,o,l={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),i=Object.defineProperty;return i(a,"next",{value:u(0)}),i(a,"throw",{value:u(1)}),i(a,"return",{value:u(2)}),"function"==typeof Symbol&&i(a,Symbol.iterator,{value:function(){return this}}),a;function u(i){return function(u){var c=[i,u];if(r)throw TypeError("Generator is already executing.");for(;a&&(a=0,c[0]&&(l=0)),l;)try{if(r=1,n&&(o=2&c[0]?n.return:c[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,c[1])).done)return o;switch(n=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return l.label++,{value:c[1],done:!1};case 5:l.label++,n=c[1],c=[0];continue;case 7:c=l.ops.pop(),l.trys.pop();continue;default:if(!(o=(o=l.trys).length>0&&o[o.length-1])&&(6===c[0]||2===c[0])){l=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){l.label=c[1];break}if(6===c[0]&&l.label<o[1]){l.label=o[1],o=c;break}if(o&&l.label<o[2]){l.label=o[2],l.ops.push(c);break}o[2]&&l.ops.pop(),l.trys.pop();continue}c=t.call(e,l)}catch(e){c=[6,e],n=0}finally{r=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}function _(){var e=(0,n.useFlowContext)(),t=(0,c.kj)(),r=l.theme.useToken().token,s=(0,u.useParams)().id,f=e.api.resource("workflows"),d=(0,o.useRequest)(function(){return G(function(){var e;return U(this,function(t){switch(t.label){case 0:if(!s)return[2,null];return[4,f.get({filterByTk:s,appends:["nodes","stats","versionStats","createdBy","updatedBy"]})];case 1:return e=t.sent(),[2,(0,b.iD)(e)]}})})()},{refreshDeps:[s]}),p=d.data,m=d.refresh,y=(0,o.useRequest)(function(){return G(function(){var e,t,r;return U(this,function(n){switch(n.label){case 0:if(!(null==p?void 0:p.key))return[2,[]];return[4,f.list({filter:{key:p.key},fields:["id","current","enabled"],sort:"-id"})];case 1:return[2,null!=(e=null==(r=n.sent())||null==(t=r.data)?void 0:t.data)?e:[]]}})})()},{refreshDeps:[null==p?void 0:p.key]}).data,v=(null==p?void 0:p.id)!=null&&String(p.id)===String(s)?p:null,h=(0,a.useMemo)(function(){return null!=y?y:[]},[y]),w=(0,a.useMemo)(function(){var e,t,r=null!=(e=null==v?void 0:v.nodes)?e:[];return(0,z.K)(r),{nodes:r,entry:null!=(t=r.find(function(e){return!e.upstream}))?t:null}},[v]),g=w.nodes,k=w.entry,E=(0,a.useMemo)(function(){return{workflow:v,nodes:g,refresh:m}},[v,g,m]);return((0,a.useEffect)(function(){(null==v?void 0:v.title)&&(document.title="".concat(t("Workflow"),": ").concat(t(v.title)," - NocoBase"))},[null==v?void 0:v.title,t]),s)?v?i().createElement(N.cB.Provider,{value:E},i().createElement("div",{style:{display:"flex",flexDirection:"column",height:"100dvh",minHeight:0,overflow:"hidden",width:"100%",boxSizing:"border-box",background:r.colorBgLayout}},i().createElement(D,{record:v,revisions:h,resource:f,refresh:m}),i().createElement("div",{style:{flex:1,minHeight:0,overflow:"hidden",position:"relative",width:"100%"}},i().createElement(L.y,null,i().createElement(W.J,null,i().createElement(K.b,null,i().createElement(V.L,null,i().createElement(R.i,{entry:k})))))))):i().createElement(l.Spin,null):null}},2990:function(e,t,r){"use strict";r.d(t,{LZ:function(){return S},jx:function(){return x}});var n=r(9155),o=r.n(n),l=r(2625),a=r(2059),i=r(3485),u=r(7694),c=r(9239),s=r(2235),f=r(7470),d=r(7001),p=r(9488),m=r(8743),y=r(4442),v=r(5953),b=r(358);function h(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function w(e,t,r,n,o,l,a){try{var i=e[l](a),u=i.value}catch(e){r(e);return}i.done?t(u):Promise.resolve(u).then(n,o)}function g(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r,n,o=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var l=[],a=!0,i=!1;try{for(o=o.call(e);!(a=(r=o.next()).done)&&(l.push(r.value),!t||l.length!==t);a=!0);}catch(e){i=!0,n=e}finally{try{a||null==o.return||o.return()}finally{if(i)throw n}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return h(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if("Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r)return Array.from(r);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return h(e,t)}}(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function k(e){var t,r=e.execution,n=(0,p.kj)(),l=(0,d.TD)().getWorkflowExecutionPath,i=r?c.m2[String(r.status)]:null;if(!i)return o().createElement("span",null,n("Workflow not executed"));var u=n(i.label);return o().createElement(v.Trans,{ns:b.C,values:{statusText:u}},"Workflow executed, the result status is ",o().createElement(a.Tag,{color:i.color},"{{statusText}}"),o().createElement(y.Link,{to:l(null!=(t=r.id)?t:"")},"View the execution"))}function E(e){var t,r=e.workflow,c=(e.trigger,e.TriggerFieldsetLoader),m=e.valid,y=e.onSubmitted,v=(0,u.useFlowContext)(),b=(0,u.useFlowView)(),h=(0,p.kj)(),E=a.theme.useToken().token,x=a.App.useApp().message,S=(0,d.TD)().getWorkflowCanvasPath,O=g(a.Form.useForm(),1)[0],C=g((0,n.useState)(!1),2),j=C[0],A=C[1],T=!!(null==(t=r.versionStats)?void 0:t.executed),I=(0,n.useMemo)(function(){return(0,n.lazy)(c)},[c]),P=!m,F=(0,l.useMemoizedFn)(function(){var e;return(e=function(){var e,t,n,l,a,i;return function(e,t){var r,n,o,l={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),i=Object.defineProperty;return i(a,"next",{value:u(0)}),i(a,"throw",{value:u(1)}),i(a,"return",{value:u(2)}),"function"==typeof Symbol&&i(a,Symbol.iterator,{value:function(){return this}}),a;function u(i){return function(u){var c=[i,u];if(r)throw TypeError("Generator is already executing.");for(;a&&(a=0,c[0]&&(l=0)),l;)try{if(r=1,n&&(o=2&c[0]?n.return:c[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,c[1])).done)return o;switch(n=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return l.label++,{value:c[1],done:!1};case 5:l.label++,n=c[1],c=[0];continue;case 7:c=l.ops.pop(),l.trys.pop();continue;default:if(!(o=(o=l.trys).length>0&&o[o.length-1])&&(6===c[0]||2===c[0])){l=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){l.label=c[1];break}if(6===c[0]&&l.label<o[1]){l.label=o[1],o=c;break}if(o&&l.label<o[2]){l.label=o[2],l.ops.push(c);break}o[2]&&l.ops.pop(),l.trys.pop();continue}c=t.call(e,l)}catch(e){c=[6,e],n=0}finally{r=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}(this,function(u){switch(u.label){case 0:if(!m)return[2];return[4,O.validateFields()];case 1:t=(e=u.sent()).autoRevision,n=function(e,t){if(null==e)return{};var r,n,o,l={};if("u">typeof Reflect&&Reflect.ownKeys){for(o=0,r=Reflect.ownKeys(Object(e));o<r.length;o++)n=r[o],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(l[n]=e[n]);return l}if(l=function(e,t){if(null==e)return{};var r,n,o={},l=Object.getOwnPropertyNames(e);for(n=0;n<l.length;n++)r=l[n],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r]);return o}(e,t),Object.getOwnPropertySymbols)for(o=0,r=Object.getOwnPropertySymbols(e);o<r.length;o++)n=r[o],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(l[n]=e[n]);return l}(e,["autoRevision"]),A(!0),u.label=2;case 2:return u.trys.push([2,,5,6]),[4,v.api.resource("workflows").execute(function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}({filterByTk:r.id,values:n},!T&&t?{autoRevision:1}:{}))];case 3:return i=null==(a=u.sent())||null==(l=a.data)?void 0:l.data,x.open({type:(null==i?void 0:i.execution)?"info":"warning",content:o().createElement(k,{execution:null==i?void 0:i.execution}),duration:5}),[4,b.close()];case 4:return u.sent(),(null==i?void 0:i.newVersionId)?v.router.navigate(S(i.newVersionId)):null==y||y(),[3,6];case 5:return A(!1),[7];case 6:return[2]}})},function(){var t=this,r=arguments;return new Promise(function(n,o){var l=e.apply(t,r);function a(e){w(l,n,o,a,i,"next",e)}function i(e){w(l,n,o,a,i,"throw",e)}a(void 0)})})()}),M=o().createElement(a.Space,null,o().createElement(a.Button,{disabled:P,onClick:function(){return b.close()}},h("Cancel")),o().createElement(a.Button,{type:"primary",loading:j,disabled:P,onClick:F},h("Confirm")));return o().createElement(s.AA.Provider,{value:r},o().createElement(f.W.Provider,{value:!0},o().createElement(i.DialogFormLayout,{title:h("Execute manually"),onSubmit:F,submitting:j,submitText:h("Confirm"),cancelText:h("Cancel"),footer:M},o().createElement(a.Form,{form:O,layout:"vertical",initialValues:{autoRevision:!0},disabled:P},o().createElement(a.Alert,{message:h("Trigger variables need to be filled for executing."),type:"info",style:{marginBottom:E.margin}}),o().createElement(a.Form.Item,{label:h("Trigger variables")},o().createElement("div",{style:{padding:E.padding,border:"".concat(E.lineWidth,"px solid ").concat(E.colorBorderSecondary),borderRadius:E.borderRadiusLG}},o().createElement(n.Suspense,{fallback:o().createElement(a.Skeleton,{active:!0,paragraph:{rows:2}})},o().createElement(I,null)))),T?null:o().createElement(a.Form.Item,{name:"autoRevision",valuePropName:"checked"},o().createElement(a.Checkbox,null,h("Automatically create a new version after execution")))))))}function x(e){var t,r,i=e.record,c=e.refresh,s=(0,u.useFlowContext)(),f=(0,p.kj)(),d=s.app.pm.get(m.q),y=i.type?d.getTriggerOptions(i.type):void 0,v=null!=(t=null==y?void 0:y.validate(null!=(r=i.config)?r:{}))&&t,b=(0,n.useMemo)(function(){return y?y.TriggerFieldsetLoader?"":f("This type of trigger has not been supported to be executed manually."):f("This trigger type is not available in the new canvas yet.")},[f,y]),h=(0,l.useMemoizedFn)(function(){y&&!b&&y.TriggerFieldsetLoader&&S({ctx:s,workflow:i,trigger:y,TriggerFieldsetLoader:y.TriggerFieldsetLoader,valid:v,refresh:c})});return o().createElement(a.Tooltip,{title:b||void 0},o().createElement("span",null,o().createElement(a.Button,{disabled:!!b,onClick:h},f("Execute manually"))))}function S(e){e.ctx.viewer.dialog({width:520,closable:!0,content:function(){return o().createElement(E,{workflow:e.workflow,trigger:e.trigger,TriggerFieldsetLoader:e.TriggerFieldsetLoader,valid:e.valid,onSubmitted:e.refresh})}})}}}]);
@@ -0,0 +1,10 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+
10
+ "use strict";(self.webpackChunk_nocobase_plugin_workflow=self.webpackChunk_nocobase_plugin_workflow||[]).push([["87"],{5927:function(e,t,n){n.d(t,{t:function(){return c}});var r=n(2059),o=n(9155),l=n.n(o),a=n(9488);function c(e){var t=e.value,n=(0,a.ec)().t;return t?l().createElement(r.Tag,{color:"orange"},n("Synchronously")):l().createElement(r.Tag,{color:"cyan"},n("Asynchronously"))}},1652:function(e,t,n){n.d(t,{S:function(){return T}});var r,o=n(7375),l=n(3485),a=n(7694),c=n(2625),u=n(2059),i=n(9185),s=n.n(i),d=n(9155),f=n.n(d),m=n(6358),E=n(9239),b=n(9488);function p(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var y=(p(r={},E.GO.QUEUEING,f().createElement(o.HourglassOutlined,null)),p(r,E.GO.STARTED,f().createElement(o.LoadingOutlined,null)),p(r,E.GO.RESOLVED,f().createElement(o.CheckOutlined,null)),p(r,E.GO.FAILED,f().createElement(o.ExclamationOutlined,null)),p(r,E.GO.ERROR,f().createElement(o.CloseOutlined,null)),p(r,E.GO.ABORTED,f().createElement(o.MinusOutlined,{rotate:90})),p(r,E.GO.CANCELED,f().createElement(o.MinusOutlined,{rotate:45})),p(r,E.GO.REJECTED,f().createElement(o.MinusOutlined,null)),p(r,E.GO.RETRY_NEEDED,f().createElement(o.RedoOutlined,null)),r);function v(e){var t=e.value,n=(0,b.kj)(),r=E.m2[t];if(!r)return null;var o=y[t];return f().createElement(u.Tag,{color:r.color,icon:o},n(r.label))}var g=n(7001);function w(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function O(e,t,n,r,o,l,a){try{var c=e[l](a),u=c.value}catch(e){n(e);return}c.done?t(u):Promise.resolve(u).then(r,o)}function h(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var l=e.apply(t,n);function a(e){O(l,r,o,a,c,"next",e)}function c(e){O(l,r,o,a,c,"throw",e)}a(void 0)})}}function C(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){var r;r=n[t],t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r})}return e}function k(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t})(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}function R(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,o=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var l=[],a=!0,c=!1;try{for(o=o.call(e);!(a=(n=o.next()).done)&&(l.push(n.value),!t||l.length!==t);a=!0);}catch(e){c=!0,r=e}finally{try{a||null==o.return||o.return()}finally{if(c)throw r}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return w(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return w(e,t)}}(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function S(e,t){var n,r,o,l={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),c=Object.defineProperty;return c(a,"next",{value:u(0)}),c(a,"throw",{value:u(1)}),c(a,"return",{value:u(2)}),"function"==typeof Symbol&&c(a,Symbol.iterator,{value:function(){return this}}),a;function u(c){return function(u){var i=[c,u];if(n)throw TypeError("Generator is already executing.");for(;a&&(a=0,i[0]&&(l=0)),l;)try{if(n=1,r&&(o=2&i[0]?r.return:i[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,i[1])).done)return o;switch(r=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return l.label++,{value:i[1],done:!1};case 5:l.label++,r=i[1],i=[0];continue;case 7:i=l.ops.pop(),l.trys.pop();continue;default:if(!(o=(o=l.trys).length>0&&o[o.length-1])&&(6===i[0]||2===i[0])){l=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){l.label=i[1];break}if(6===i[0]&&l.label<o[1]){l.label=o[1],o=i;break}if(o&&l.label<o[2]){l.label=o[2],l.ops.push(i);break}o[2]&&l.ops.pop(),l.trys.pop();continue}i=t.call(e,l)}catch(e){i=[6,e],r=0}finally{n=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}}}var D=["workflow"];function A(e){var t=e.workflowKey,n=(0,b.ec)().t,r=(0,b.kj)(),i=(0,a.useFlowContext)(),m=(0,a.useFlowEngine)(),p=(0,g.TD)().getWorkflowExecutionPath,y=u.theme.useToken().token,w=u.App.useApp(),O=w.modal,C=w.message,k=i.api.resource("executions"),A=(0,d.useMemo)(function(){var e,t,n,r;return null==(r=m.context.dataSourceManager)||null==(n=r.getDataSource)||null==(t=n.call(r,"main"))||null==(e=t.getCollection)?void 0:e.call(t,"executions")},[m]),T=R((0,d.useState)(1),2),x=T[0],j=T[1],P=R((0,d.useState)(20),2),M=P[0],G=P[1],F=R((0,d.useState)(void 0),2),I=F[0],N=F[1],z=R((0,d.useState)([]),2),L=z[0],B=z[1],U=(0,c.useMemoizedFn)(function(e){N(e),j(1)}),_=(0,c.useRequest)(function(){return h(function(){var e;return S(this,function(n){switch(n.label){case 0:return e=I?{$and:[{key:t},I]}:{key:t},[4,k.list({page:x,pageSize:M,sort:["-id"],except:["context","output","stack"],filter:e})];case 1:var r,o,l,a,c;return[2,{records:a=Array.isArray(l=null==(o=null==(r=n.sent())?void 0:r.data)?void 0:o.data)?l:Array.isArray(null==l?void 0:l.data)?l.data:[],total:(c=(null==o?void 0:o.meta)||(null==l?void 0:l.meta)||{}).count||c.total||a.length}]}})})()},{refreshDeps:[x,M,I,t]}),K=_.data,Q=_.loading,V=_.refresh,Y=(0,c.useMemoizedFn)(function(e,t){if(t!==M){G(t),j(1);return}j(e)}),J=(0,c.useMemoizedFn)(function(e){O.confirm({title:n("Delete record"),content:n("Are you sure you want to delete it?"),onOk:function(){return h(function(){return S(this,function(t){switch(t.label){case 0:return[4,k.destroy({filterByTk:e})];case 1:return t.sent(),B([]),V(),[2]}})})()}})}),q=(0,c.useMemoizedFn)(function(){O.confirm({title:n("Clear all executions"),content:n("Clear executions will not reset executed count, and started executions will not be deleted, are you sure you want to delete them all?"),onOk:function(){return h(function(){return S(this,function(e){switch(e.label){case 0:return[4,k.destroy({filter:{key:t}})];case 1:return e.sent(),C.success(n("Operation succeeded")),B([]),V(),[2]}})})()}})}),H=(0,c.useMemoizedFn)(function(e){O.confirm({title:n("Cancel the execution"),icon:f().createElement(o.ExclamationCircleFilled,null),content:n("Are you sure you want to cancel the execution?"),onOk:function(){return h(function(){return S(this,function(t){switch(t.label){case 0:return[4,k.cancel({filterByTk:e.id})];case 1:return t.sent(),C.success(n("Operation succeeded")),V(),[2]}})})()}})}),W=(0,c.useMemoizedFn)(function(e){var t,n;null==(n=i.view)||null==(t=n.close)||t.call(n),i.router.navigate(p(e.id))}),$=(0,d.useMemo)(function(){return[{title:n("ID"),dataIndex:"id"},{title:n("Triggered at"),dataIndex:"createdAt",render:function(e){return e?s()(e).format("YYYY-MM-DD HH:mm:ss"):null}},{title:n("Version"),dataIndex:"workflowId",render:function(e){return null!=e?"#".concat(e):null}},{title:n("Status"),dataIndex:"status",render:function(e,t){return f().createElement(u.Space,null,f().createElement(v,{value:e}),t.status===E.GO.STARTED||t.status===E.GO.QUEUEING?f().createElement(u.Tooltip,{title:n("Cancel the execution")},f().createElement(u.Button,{type:"link",danger:!0,onClick:function(){return H(t)},shape:"circle",size:"small",icon:f().createElement(o.StopOutlined,null)})):null)}},{title:n("Actions"),width:160,render:function(e,t){return f().createElement(u.Space,{size:"middle",wrap:!1,style:{whiteSpace:"nowrap"}},f().createElement("a",{onClick:function(){return W(t)}},n("View")),t.status!==E.GO.STARTED?f().createElement("a",{onClick:function(){return J(t.id)}},n("Delete")):null)}}]},[H,J,W,n]);return f().createElement("div",null,f().createElement(u.Flex,{justify:"space-between",align:"center",style:{marginBottom:y.margin}},f().createElement(l.CollectionFilter,{collection:A,nonfilterableFieldNames:D,onChange:U,t:r}),f().createElement(u.Space,null,f().createElement(u.Button,{icon:f().createElement(o.ReloadOutlined,null),onClick:function(){return V()}},n("Refresh")),f().createElement(u.Button,{icon:f().createElement(o.DeleteOutlined,null),disabled:!L.length,onClick:function(){return J(L)}},n("Delete")),f().createElement(u.Button,{danger:!0,onClick:q},n("Clear")))),f().createElement(l.Table,{rowKey:"id",loading:Q,columns:$,dataSource:(null==K?void 0:K.records)||[],rowSelection:{selectedRowKeys:L,onChange:B},pagination:{current:x,pageSize:M,total:(null==K?void 0:K.total)||0,onChange:Y}}))}function T(e){var t=e.workflowKey,n=(0,b.kj)(),r=(0,d.useMemo)(function(){var e=E.hi.map(function(e){return{value:e.value,label:n(e.label)}});return[k(C({},m.A),{fields:m.A.fields.map(function(t){return(null==t?void 0:t.name)==="status"&&t.uiSchema?k(C({},t),{uiSchema:k(C({},t.uiSchema),{enum:e})}):t})})]},[n]);return f().createElement(l.ExtendCollectionsProvider,{collections:r},f().createElement(A,{workflowKey:t}))}},7001:function(e,t,n){n.d(t,{TD:function(){return c}});var r=n(2625),o=n(3485),l=n(8401);function a(){return"modern"===(0,o.getRouteRuntimeVersion)()}function c(){var e=(0,r.useMemoizedFn)(function(e){return a()?(0,l.JG)(e):"/admin/settings/workflow/workflows/".concat(e)}),t=(0,r.useMemoizedFn)(function(e){return a()?(0,l.Pq)(e):"/admin/settings/workflow/executions/".concat(e)});return{isV2Runtime:a(),getWorkflowCanvasPath:e,getWorkflowExecutionPath:t}}},9239:function(e,t,n){n.d(t,{GO:function(){return l},QQ:function(){return u},hi:function(){return a},m2:function(){return c}});var r=n(358);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var l={QUEUEING:null,STARTED:0,RESOLVED:1,FAILED:-1,ERROR:-2,ABORTED:-3,CANCELED:-4,REJECTED:-5,RETRY_NEEDED:-6},a=[{value:l.QUEUEING,label:'{{t("Queueing", { ns: "'.concat(r.C,'" })}}'),color:"blue",description:'{{t("Triggered but still waiting in queue to execute.", { ns: "'.concat(r.C,'" })}}')},{value:l.STARTED,label:'{{t("On going", { ns: "'.concat(r.C,'" })}}'),color:"gold",description:'{{t("Started and executing, maybe waiting for an async callback (manual, delay etc.).", { ns: "'.concat(r.C,'" })}}')},{value:l.RESOLVED,label:'{{t("Resolved", { ns: "'.concat(r.C,'" })}}'),color:"green",description:'{{t("Successfully finished.", { ns: "'.concat(r.C,'" })}}')},{value:l.FAILED,label:'{{t("Failed", { ns: "'.concat(r.C,'" })}}'),color:"red",description:'{{t("Failed to satisfy node configurations.", { ns: "'.concat(r.C,'" })}}')},{value:l.ERROR,label:'{{t("Error", { ns: "'.concat(r.C,'" })}}'),color:"red",description:'{{t("Some node meets error.", { ns: "'.concat(r.C,'" })}}')},{value:l.ABORTED,label:'{{t("Aborted", { ns: "'.concat(r.C,'" })}}'),color:"red",description:'{{t("Running of some node was aborted by program flow.", { ns: "'.concat(r.C,'" })}}')},{value:l.CANCELED,label:'{{t("Canceled", { ns: "'.concat(r.C,'" })}}'),color:"volcano",description:'{{t("Manually canceled whole execution when waiting.", { ns: "'.concat(r.C,'" })}}')},{value:l.REJECTED,label:'{{t("Rejected", { ns: "'.concat(r.C,'" })}}'),color:"volcano",description:'{{t("Rejected from a manual node.", { ns: "'.concat(r.C,'" })}}')},{value:l.RETRY_NEEDED,label:'{{t("Retry needed", { ns: "'.concat(r.C,'" })}}'),color:"volcano",description:'{{t("General failed but should do another try.", { ns: "'.concat(r.C,'" })}}')}],c=a.reduce(function(e,t){return Object.assign(e,o({},t.value,t))},{}),u=[{value:r.K.TIMEOUT,label:'{{t("Timed out", { ns: "'.concat(r.C,'" })}}')},{value:r.K.MANUAL_CANCEL,label:'{{t("Canceled manually", { ns: "'.concat(r.C,'" })}}')},{value:r.K.PARENT_ABORTED,label:'{{t("Aborted with parent execution", { ns: "'.concat(r.C,'" })}}')}].reduce(function(e,t){return Object.assign(e,o({},t.value,t))},{})}}]);
@@ -0,0 +1,10 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+
10
+ "use strict";(self.webpackChunk_nocobase_plugin_workflow=self.webpackChunk_nocobase_plugin_workflow||[]).push([["938"],{8945:function(e,n,t){t.r(n),t.d(n,{TriggerModeField:function(){return k},ScheduleConfig:function(){return D},default:function(){return A},SchedulePresetConfig:function(){return N}});var r=t(5477),l=t(2059),a=t(9185),o=t.n(a),i=t(9155),u=t.n(i),c=t(8198),s=t(9488);function m(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=Array(n);t<n;t++)r[t]=e[t];return r}function f(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{},r=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(t).filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.forEach(function(n){var r;r=t[n],n in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r})}return e}function d(e,n){return n=null!=n?n:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):(function(e){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);n.push.apply(n,t)}return n})(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}),e}function v(){var e,n,t=(e=["\n display: flex;\n gap: 0.5em;\n "],n||(n=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(n)}})));return v=function(){return t},t}function b(e){var n,t,a=e.collection,o=e.value,b=e.onChange,p=null!=o?o:{},g=(0,s.ec)().t,h=function(e){if(Array.isArray(e))return e}(n=(0,i.useState)(p.offset?p.offset/Math.abs(p.offset):0))||function(e){var n,t,r=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var l=[],a=!0,o=!1;try{for(r=r.call(e);!(a=(n=r.next()).done)&&(l.push(n.value),2!==l.length);a=!0);}catch(e){o=!0,t=e}finally{try{a||null==r.return||r.return()}finally{if(o)throw t}}return l}}(n)||function(e){if(e){if("string"==typeof e)return m(e,2);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return m(e,2)}}(n)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),y=h[0],E=h[1],O=function(e){return null==b?void 0:b(e)};return u().createElement("fieldset",{className:(0,r.css)(v())},u().createElement(c.WY,{collection:a,value:p.field,onChange:function(e){return O(d(f({},p),{field:e}))},filter:c.vE,placeholder:g("Select field"),className:"auto-width"}),p.field?u().createElement(l.Select,{value:y,onChange:function(e){var n;E(e),O(d(f({},p),{offset:Math.abs(null!=(n=p.offset)?n:0)*e}))},options:[{value:0,label:g("Exactly at")},{value:-1,label:g("Before")},{value:1,label:g("After")}],className:"auto-width"}):null,y?u().createElement(u().Fragment,null,u().createElement(l.InputNumber,{value:Math.abs(null!=(t=p.offset)?t:0),onChange:function(e){return O(d(f({},p),{offset:(null!=e?e:0)*y}))}}),u().createElement(l.Select,{value:p.unit||864e5,onChange:function(e){return O(d(f({},p),{unit:e}))},options:[{value:864e5,label:g("Days")},{value:36e5,label:g("Hours")},{value:6e4,label:g("Minutes")},{value:1e3,label:g("Seconds")}],className:"auto-width"})):null)}function p(){var e,n,t=(e=["\n display: flex;\n gap: 0.5em;\n "],n||(n=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(n)}})));return p=function(){return t},t}function g(e){var n,t=e.collection,a=e.value,i=e.onChange,c=(0,s.ec)().t,m=null!=a?(void 0===a?"undefined":a&&"u">typeof Symbol&&a.constructor===Symbol?"symbol":typeof a)!="object"||(null!=(n=Date)&&"u">typeof Symbol&&n[Symbol.hasInstance]?!!n[Symbol.hasInstance](a):a instanceof n)?"date":"field":null,f=function(e){return null==i?void 0:i(e)};return u().createElement("fieldset",{className:(0,r.css)(p())},u().createElement(l.Select,{value:m,onChange:function(e){f(e?"field"===e?{}:new Date:null)},className:"auto-width"},u().createElement(l.Select.Option,{value:null},c("No end")),u().createElement(l.Select.Option,{value:"field"},c("By field")),u().createElement(l.Select.Option,{value:"date"},c("By custom date"))),"field"===m?u().createElement(b,{collection:t,value:a,onChange:i}):null,"date"===m?u().createElement(l.DatePicker,{showTime:!0,value:o()(a),onChange:function(e){f(e?e.toDate():null)}}):null)}var h=t(2625),y=t(2837);function E(){var e,n,t=(e=["\n display: flex;\n flex-direction: ",";\n align-items: flex-start;\n gap: 0.5em;\n\n .react-js-cron {\n width: 100%;\n padding: 0.5em 0.5em 0 0.5em;\n border: 1px dashed #ccc;\n\n .react-js-cron-field {\n flex-shrink: 0;\n margin-bottom: 0.5em;\n\n > span {\n flex-shrink: 0;\n margin: 0 0.5em 0 0;\n }\n\n > .react-js-cron-select {\n margin: 0 0.5em 0 0;\n\n .ant-select-selection-overflow {\n align-items: center;\n flex: initial;\n }\n }\n }\n\n .react-js-cron-week-days {\n > span {\n min-width: 2em;\n }\n }\n }\n "],n||(n=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(n)}})));return E=function(){return t},t}t(4693);var O=[{value:"none",text:"No repeat"},{value:6e4,text:"By minute",unitText:"Minutes"},{value:36e5,text:"By hour",unitText:"Hours"},{value:864e5,text:"By day",unitText:"Days"},{value:6048e5,text:"By week",unitText:"Weeks"},{value:"cron",text:"Advanced"}];function w(e){return O.filter(function(e){return"number"==typeof e.value}).reverse().find(function(n){return"number"==typeof e&&!(e%n.value)})}function j(e){var n=e.value,t=e.onChange,r=e.disabled,a=(0,s.ec)().t,o=w(n);return u().createElement(l.InputNumber,{value:n/o.value,onChange:function(e){e&&(null==t||t(e*o.value))},min:1,addonBefore:a("Every"),addonAfter:a(o.unitText),className:"auto-width",disabled:r})}function F(e){var n=e.value,t=void 0===n?null:n,a=e.onChange,o=e.disabled,i=(0,s.ec)().t,c=function(e){var n;switch(void 0===e?"undefined":e&&"u">typeof Symbol&&e.constructor===Symbol?"symbol":typeof e){case"number":return(n=w(e))?n.value:"none";case"string":return"cron"}return"none"}(t),m=(0,h.useMemoizedFn)(function(e){if("none"===e){null==a||a(null);return}if("cron"===e){null==a||a("0 * * * * *");return}null==a||a("number"==typeof c?Math.round(t/c*e):e)});return u().createElement("fieldset",{className:(0,r.css)(E(),"cron"===c?"column":"row")},u().createElement(l.Select,{value:c,onChange:m,className:"auto-width",disabled:o},O.map(function(e){return u().createElement(l.Select.Option,{key:e.value,value:e.value},i(e.text))})),"number"==typeof c?u().createElement(j,{value:t,onChange:a,disabled:o}):null,"cron"===c?u().createElement(y.l4,{value:t.trim().split(/\s+/).slice(1).join(" "),setValue:function(e){return null==a?void 0:a("0 ".concat(e))},clearButton:!1,locale:window.cronLocale,disabled:o}):null)}var S=t(4869),I=t(1993);function C(){var e,n,t=(e=["\n .ant-input-number {\n width: auto;\n min-width: 6em;\n }\n\n .ant-picker {\n width: auto;\n }\n\n .ant-select.auto-width {\n width: auto;\n min-width: 6em;\n }\n "],n||(n=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(n)}})));return C=function(){return t},t}function x(e){var n=e.value,t=e.onChange,r=e.placeholder;return u().createElement(l.DatePicker,{showTime:!0,value:n?o()(n):null,placeholder:r,onChange:function(e){return null==t?void 0:t(e?e.toDate():null)}})}function k(e){var n=e.disabled,t=(0,s.kj)(),r=l.Form.useFormInstance(),a=(0,i.useMemo)(function(){return I.z.map(function(e){return{value:e.value,label:t(e.label)}})},[t]);return u().createElement(l.Form.Item,{name:["config","mode"],label:t("Trigger mode"),rules:[{required:!0}],initialValue:I.a.STATIC},u().createElement(l.Radio.Group,{disabled:n,options:a,onChange:function(e){r.setFieldValue(["config","mode"],e.target.value),r.setFieldValue(["config","collection"],void 0),r.setFieldValue(["config","startsOn"],void 0),r.setFieldValue(["config","repeat"],void 0),r.setFieldValue(["config","endsOn"],void 0),r.setFieldValue(["config","limit"],void 0)}}))}function P(){var e=(0,s.kj)(),n=l.Form.useWatch(["config","repeat"]),t=S.QK[I.a.STATIC];return u().createElement(u().Fragment,null,u().createElement(l.Form.Item,{name:["config","startsOn"],label:e(t.startsOn.title),rules:t.startsOn.required?[{required:!0}]:void 0},u().createElement(x,null)),u().createElement(l.Form.Item,{name:["config","repeat"],label:e(t.repeat.title)},u().createElement(F,null)),n?u().createElement(u().Fragment,null,u().createElement(l.Form.Item,{name:["config","endsOn"],label:e(t.endsOn.title)},u().createElement(x,null)),u().createElement(l.Form.Item,{name:["config","limit"],label:e(t.limit.title)},u().createElement(l.InputNumber,{min:t.limit.min,placeholder:e(t.limit.placeholder)}))):null)}function T(){var e=(0,s.kj)(),n=l.Form.useFormInstance(),t=l.Form.useWatch(["config","collection"]),r=l.Form.useWatch(["config","repeat"]),a=(0,i.useRef)(t),o=(0,i.useRef)(!1),m=(0,i.useRef)(!1),f=S.QK[I.a.DATE_FIELD];return(0,i.useEffect)(function(){if(!o.current){o.current=!0,a.current=t;return}if(!m.current){a.current=t,t&&(m.current=!0);return}a.current!==t&&t&&(n.setFieldValue(["config","startsOn"],void 0),n.validateFields([["config","startsOn"]]).catch(function(){})),a.current=t},[t,n]),u().createElement(u().Fragment,null,u().createElement(l.Form.Item,{name:["config","collection"],label:e(f.collection.title),rules:f.collection.required?[{required:!0}]:void 0},u().createElement(c.XJ,null)),u().createElement(l.Form.Item,{name:["config","startsOn"],label:e(f.startsOn.title),required:!!f.startsOn.required,rules:f.startsOn.required?[{validator:function(n,t){return t&&(void 0===t?"undefined":t&&"u">typeof Symbol&&t.constructor===Symbol?"symbol":typeof t)=="object"&&"field"in t&&t.field?Promise.resolve():Promise.reject(Error(e("This field is required")))}}]:void 0},u().createElement(b,{collection:t})),u().createElement(l.Form.Item,{name:["config","repeat"],label:e(f.repeat.title)},u().createElement(F,null)),r?u().createElement(u().Fragment,null,u().createElement(l.Form.Item,{name:["config","endsOn"],label:e(f.endsOn.title)},u().createElement(g,{collection:t})),u().createElement(l.Form.Item,{name:["config","limit"],label:e(f.limit.title)},u().createElement(l.InputNumber,{min:f.limit.min,placeholder:e(f.limit.placeholder)}))):null,u().createElement(l.Form.Item,{name:["config","appends"],label:e(f.appends.title),extra:e(f.appends.description)},u().createElement(c.Kr,{collection:t})))}function D(e){var n,t=e.modeDisabled,a=null!=(n=l.Form.useWatch(["config","mode"]))?n:I.a.STATIC;return u().createElement("fieldset",{className:(0,r.css)(C())},u().createElement(k,{disabled:void 0===t||t}),a===I.a.DATE_FIELD?u().createElement(T,null):u().createElement(P,null))}function N(){return u().createElement(k,null)}var A=D}}]);
@@ -0,0 +1,10 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+
10
+ "use strict";(self.webpackChunk_nocobase_plugin_workflow=self.webpackChunk_nocobase_plugin_workflow||[]).push([["964"],{2596:function(e,t,n){n.d(t,{i:function(){return O}});var r=n(2059),o=n(9155),l=n.n(o);let a=(0,o.createContext)(null),i={didCatch:!1,error:null};class c extends o.Component{constructor(e){super(e),this.resetErrorBoundary=this.resetErrorBoundary.bind(this),this.state=i}static getDerivedStateFromError(e){return{didCatch:!0,error:e}}resetErrorBoundary(){let{error:e}=this.state;if(null!==e){for(var t,n,r=arguments.length,o=Array(r),l=0;l<r;l++)o[l]=arguments[l];null==(t=(n=this.props).onReset)||t.call(n,{args:o,reason:"imperative-api"}),this.setState(i)}}componentDidCatch(e,t){var n,r;null==(n=(r=this.props).onError)||n.call(r,e,t)}componentDidUpdate(e,t){let{didCatch:n}=this.state,{resetKeys:r}=this.props;if(n&&null!==t.error&&function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return e.length!==t.length||e.some((e,n)=>!Object.is(e,t[n]))}(e.resetKeys,r)){var o,l;null==(o=(l=this.props).onReset)||o.call(l,{next:r,prev:e.resetKeys,reason:"keys"}),this.setState(i)}}render(){let{children:e,fallbackRender:t,FallbackComponent:n,fallback:r}=this.props,{didCatch:l,error:i}=this.state,c=e;if(l){let e={error:i,resetErrorBoundary:this.resetErrorBoundary};if((0,o.isValidElement)(r))c=r;else if("function"==typeof t)c=t(e);else if(n)c=(0,o.createElement)(n,e);else throw i}return(0,o.createElement)(a.Provider,{value:{didCatch:l,error:i,resetErrorBoundary:this.resetErrorBoundary}},c)}}var s=n(7375),u=n(3342),d=n(1134),m=n(4652),f=n(404),p=n(3872),y=n(6660),v=n(8201),b=n(4562),E=n(6566),w=n(7065);function h(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function g(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function k(){var e=g(["\n margin-top: 0 !important;\n "]);return k=function(){return e},e}function x(){var e=g(["\n margin-bottom: 1em;\n "]);return x=function(){return e},e}function C(){var e=g(["\n margin-top: 0 !important;\n "]);return C=function(){return e},e}function O(e){var t,n,o=e.entry,a=(0,y.A)().styles,i=(0,b.sD)(),g=(0,f.x)(),O=(0,u.useCompile)(),j=(0,u.usePlugin)(d.default),S=function(e){if(Array.isArray(e))return e}(t=l().useState(100))||function(e){var t,n,r=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var o=[],l=!0,a=!1;try{for(r=r.call(e);!(l=(t=r.next()).done)&&(o.push(t.value),2!==o.length);l=!0);}catch(e){a=!0,n=e}finally{try{l||null==r.return||r.return()}finally{if(a)throw n}}return o}}(t)||function(e){if(e){if("string"==typeof e)return h(e,2);var t=Object.prototype.toString.call(e).slice(8,-1);if("Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t)return Array.from(t);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return h(e,2)}}(t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),A=S[0],P=S[1],N=null==g?void 0:g.clipboard,D=N?j.instructions.get(N.type):null,V=N?D?O(D.title):N.type:"";return l().createElement("div",{className:"workflow-canvas-wrapper"},l().createElement(c,{FallbackComponent:u.ErrorFallback,onError:console.error},l().createElement(E.C.Provider,{value:w.bP},l().createElement("div",{className:"workflow-canvas",style:{zoom:A/100}},l().createElement("div",{className:(0,u.cx)(a.branchBlockClass,(0,u.css)(k()))},l().createElement("div",{className:a.branchClass},i?l().createElement(r.Alert,{type:"warning",message:(0,p.vV)("Executed workflow cannot be modified. Could be copied to a new version to modify."),showIcon:!0,className:(0,u.css)(x())}):null,l().createElement(v.Vo,null),l().createElement("div",{className:(0,u.cx)(a.branchBlockClass,(0,u.css)(C()))},l().createElement(m.lg,{entry:o})),l().createElement("div",{className:a.terminalClass},(0,p.vV)("End"))))))),N?l().createElement("div",{className:a.clipboardPreviewClass},l().createElement("div",{className:"workflow-clipboard-header"},l().createElement("span",null,(0,p.vV)("Copied node")),l().createElement(r.Button,{type:"text",size:"small",icon:l().createElement(s.CloseOutlined,null),onClick:function(){var e;return null==g||null==(e=g.clearClipboard)?void 0:e.call(g)}})),l().createElement("div",{className:"workflow-clipboard-card"},l().createElement("div",{className:"workflow-clipboard-type"},V),l().createElement("div",{className:"workflow-clipboard-title"},null!=(n=N.title)?n:N.type))):null,l().createElement("div",{className:"workflow-canvas-zoomer"},l().createElement(r.Slider,{vertical:!0,reverse:!0,defaultValue:100,step:10,min:10,value:A,onChange:P})))}},3639:function(e,t,n){n.r(t),n.d(t,{ExecutionPage:function(){return T}});var r=n(3342),o=n(9155),l=n.n(o),a=n(4442),i=n(2059),c=n(7768),s=n(7375),u=n(5953),d=n(1134),m=n(2596),f=n(1958),p=n(7428),y=n(7846),v=n(3872),b=n(7065),E=n(6660),w=n(6072),h=n(6773);function g(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function k(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function x(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){k(e,t,n[t])})}return e}function C(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t})(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}function O(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,o=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var l=[],a=!0,i=!1;try{for(o=o.call(e);!(a=(n=o.next()).done)&&(l.push(n.value),!t||l.length!==t);a=!0);}catch(e){i=!0,r=e}finally{try{a||null==o.return||o.return()}finally{if(i)throw r}}return l}}(e,t)||S(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function j(e){return function(e){if(Array.isArray(e))return g(e)}(e)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||S(e)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function S(e,t){if(e){if("string"==typeof e)return g(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return g(e,t)}}var A=(0,o.createContext)({jobData:{},loading:!1});function P(){return(0,o.useContext)(A)}function N(e){var t=P(),n=t.jobData;if(t.loading)return l().createElement(i.Spin,null);var o=(0,h.get)(n,"result");return l().createElement(r.Input.JSON,C(x({},e),{value:o,disabled:!0}))}function D(){var e=P(),t=e.jobData;if(e.loading)return null;var n=(0,h.get)(t,"log");return l().createElement(b.KV,{value:n})}function V(e){var t,n,a=e.job,c=e.setViewJob,s=(0,r.usePlugin)(d.default).instructions,u=(0,r.useCompile)(),m=(0,E.A)().styles,f=(t=a.id,(0,r.useRequest)({resource:"jobs",action:"get",params:{filterByTk:t}},{cacheKey:"job-".concat(t)})),y=f.data,b=f.loading,w=null!=(n=(0,h.get)(y,"data"))?n:a,g=(null!=a?a:{}).node,O=void 0===g?{}:g,j=s.get(O.type),S=(0,o.useMemo)(function(){return{jobData:w,loading:b}},[w,b]);return l().createElement(r.ActionContextProvider,{value:{visible:!!a,setVisible:c}},l().createElement(A.Provider,{value:S},l().createElement(r.SchemaComponent,{components:{JobResult:N,JobLog:D},schema:{type:"void",properties:k({},"".concat(w.id,"-").concat(w.updatedAt,"-modal"),{type:"void","x-decorator":"Form","x-decorator-props":{initialValue:C(x({},a,w),{node:O})},"x-component":"Action.Modal",title:l().createElement("div",{className:m.nodeTitleClass},l().createElement(i.Tag,null,u(null==j?void 0:j.title)),l().createElement("strong",null,O.title),l().createElement("span",{className:"workflow-node-id"},"#",O.id)),properties:{status:{type:"number",title:'{{t("Status", { ns: "'.concat(v.CU,'" })}}'),"x-decorator":"FormItem","x-component":"Select",enum:p.ox,"x-read-pretty":!0},updatedAt:{type:"string",title:'{{t("Executed at", { ns: "'.concat(v.CU,'" })}}'),"x-decorator":"FormItem","x-component":"DatePicker","x-component-props":{showTime:!0},"x-read-pretty":!0},result:{type:"object",title:'{{t("Node result", { ns: "'.concat(v.CU,'" })}}'),"x-decorator":"FormItem","x-component":"JobResult","x-component-props":{className:m.nodeJobResultClass,autoSize:{minRows:4,maxRows:32}}},log:{type:"string","x-component":"JobLog"}}})}})))}function I(){var e=(0,y.$K)(),t=e.viewJob,n=e.setViewJob;return t?l().createElement(V,{job:t,setViewJob:n}):null}function R(e){var t=(0,y.$K)().execution,n=(0,r.useAPIClient)(),u=(0,a.useNavigate)(),d=(0,E.A)().styles,m=(0,r.useResourceActionContext)().refresh,v=O((0,o.useState)([]),2),b=v[0],h=v[1],g=O((0,o.useState)([]),2),k=g[0],x=g[1],C=O((0,o.useState)(null),2),S=C[0],A=C[1],P=O((0,o.useState)(null),2),N=P[0],D=P[1],V=O((0,o.useState)(null),2),I=V[0],R=V[1],B=(0,o.useCallback)(function(e){t&&e&&(S!==t.id&&n.resource("executions").list({filter:{key:t.key,id:{$lt:t.id}},sort:"-id",pageSize:10,fields:["id","status","createdAt"]}).then(function(e){var n=e.data;A(t.id),h(n.data)}).catch(function(){}),(N!==t.id||I&&Date.now()-Number(I)>6e4&&k.length<10)&&n.resource("executions").list({filter:{key:t.key,id:{$gt:t.id}},sort:"id",pageSize:10,fields:["id","status","createdAt"]}).then(function(e){var n=e.data;D(t.id),R(Date.now()),x(n.data.reverse())}).catch(function(){}))},[t,S,N,I,k.length,n]),T=(0,o.useCallback)(function(e){var n=e.key;n!=t.id&&u((0,w.mz)(n))},[t.id,u]);return t?l().createElement(i.Space,null,l().createElement(i.Dropdown,{onOpenChange:B,menu:{onClick:T,defaultSelectedKeys:["".concat(t.id)],className:(0,r.cx)(d.dropdownClass,d.executionsDropdownRowClass),items:j(k).concat([t],j(b)).map(function(e){return{key:e.id,label:l().createElement(l().Fragment,null,l().createElement("span",{className:"id"},"#".concat(e.id)),l().createElement("time",null,(0,c.str2moment)(e.createdAt).format("YYYY-MM-DD HH:mm:ss"))),icon:l().createElement("span",null,l().createElement(f.p,{statusMap:p.$Y,status:e.status}))}})}},l().createElement(i.Space,null,l().createElement("strong",null,"#".concat(t.id)),l().createElement(s.DownOutlined,null))),l().createElement(i.Button,{type:"link",size:"small",icon:l().createElement(s.ReloadOutlined,null),onClick:m})):null}function B(){var e,t,n,d=(0,u.useTranslation)().t,f=(0,r.useCompile)(),b=(0,r.useResourceActionContext)(),E=b.data,h=b.loading,g=b.refresh,k=(0,r.useDocumentTitle)().setTitle,x=O((0,o.useState)(null),2),C=x[0],j=x[1],S=(0,r.useApp)(),A=(0,r.useAPIClient)();(0,o.useEffect)(function(){var e,t=(null!=(e=null==E?void 0:E.data)?e:{}).workflow;null==k||k("".concat((null==t?void 0:t.title)?"".concat(t.title," - "):"").concat((0,v.vV)("Execution history")))},[null==E?void 0:E.data,k]);var P=(0,o.useCallback)(function(){i.Modal.confirm({title:(0,v.vV)("Cancel the execution"),icon:l().createElement(s.ExclamationCircleFilled,null),content:(0,v.vV)("Are you sure you want to cancel the execution?"),onOk:function(){A.resource("executions").cancel({filterByTk:null==E?void 0:E.data.id}).then(function(){i.message.success(d("Operation succeeded")),g()}).catch(function(e){console.error(e.data.error)})}})},[A,null==E?void 0:E.data.id,g,d]),N=(0,o.useCallback)(function(){history.back()},[]);if(!(null==E?void 0:E.data))return h?l().createElement(i.Spin,null):l().createElement(i.Result,{status:"404",title:"Not found"});var D=null!=(e=null==E?void 0:E.data)?e:{},V=D.jobs,B=D.workflow,T=function(e,t){if(null==e)return{};var n,r,o,l={};if("u">typeof Reflect&&Reflect.ownKeys){for(o=0,n=Reflect.ownKeys(Object(e));o<n.length;o++)r=n[o],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(l[r]=e[r]);return l}if(l=function(e,t){if(null==e)return{};var n,r,o={},l=Object.getOwnPropertyNames(e);for(r=0;r<l.length;r++)n=l[r],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n]);return o}(e,t),Object.getOwnPropertySymbols)for(o=0,n=Object.getOwnPropertySymbols(e);o<n.length;o++)r=n[o],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(l[r]=e[r]);return l}(D,["jobs","workflow"]),z=(B||{}).nodes,J=void 0===z?[]:z;(0,w.KD)(J),function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=new Map;e.forEach(function(e){e.jobs=[],n.set(e.id,e)}),t.forEach(function(e){var t=n.get(e.nodeId);t&&(t.jobs.push(e),e.node={id:t.id,key:t.key,title:t.title,type:t.type})}),e.forEach(function(e){e.jobs=e.jobs.sort(function(e,t){return e.id-t.id})})}(J,void 0===V?[]:V);var M=J.find(function(e){return!e.upstream}),K=p.$Y[T.status];return B?l().createElement(y.cB.Provider,{value:{workflow:B.type?B:null,nodes:J,execution:T,viewJob:C,setViewJob:j}},l().createElement("div",{className:"workflow-toolbar"},l().createElement("header",null,l().createElement(i.Breadcrumb,{items:[{title:l().createElement(a.Link,{to:S.pluginSettingsManager.getRoutePath("workflow")},(0,v.vV)("Workflow"))},{title:l().createElement(i.Tooltip,{title:"Key: ".concat(B.key)},l().createElement(a.Link,{to:(0,w.Yz)(B.id)},B.title))},{title:l().createElement(R,null)}]})),l().createElement("aside",null,l().createElement(i.Tag,{color:K.color},l().createElement(i.Space,null,f(K.label),T.reason?l().createElement(i.Tooltip,{title:f(null!=(t=null==(n=p.BI[T.reason])?void 0:n.label)?t:T.reason),placement:"bottom"},l().createElement(s.QuestionCircleOutlined,null)):null)),T.status?null:l().createElement(i.Tooltip,{title:(0,v.vV)("Cancel the execution")},l().createElement(i.Button,{type:"link",danger:!0,onClick:P,shape:"circle",size:"small",icon:l().createElement(s.StopOutlined,null)})),l().createElement("time",null,(0,c.str2moment)(T.updatedAt).format("YYYY-MM-DD HH:mm:ss")))),l().createElement(m.i,{entry:M}),l().createElement(I,null)):l().createElement(i.Result,{status:"404",title:(0,v.vV)("Not found"),subTitle:(0,v.vV)("Workflow of execution is not existed"),extra:l().createElement(i.Button,{onClick:N},(0,v.vV)("Go back"))})}var T=function(){var e,t,n,o=(0,a.useParams)(),i=(0,E.A)().styles;return l().createElement("div",{className:(0,r.cx)(i.workflowPageClass)},l().createElement(r.SchemaComponent,{schema:{type:"void",properties:(e={},t="execution_".concat(o.id),n={type:"void","x-decorator":"ResourceActionProvider","x-decorator-props":{collection:{name:"executions",fields:[]},resourceName:"executions",request:{resource:"executions",action:"get",params:{filter:o,appends:["jobs","workflow","workflow.nodes","workflow.versionStats","workflow.stats"],except:["jobs.result","workflow.options"]}}},"x-component":"ExecutionCanvas"},t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e)},components:{ExecutionCanvas:B}}))}}}]);
@@ -0,0 +1,10 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+
10
+ "use strict";(self.webpackChunk_nocobase_plugin_workflow=self.webpackChunk_nocobase_plugin_workflow||[]).push([["972"],{1801:function(e,t,r){r.d(t,{N$:function(){return D},yr:function(){return F}});var n=r(3485),o=r(7694),a=r(2625),i=r(2059),l=r(9155),u=r.n(l),c=r(7768),s=r(4563),f=r(5737),d=r(9488),y=r(3943);function v(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function m(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function p(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r,n,o=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var a=[],i=!0,l=!1;try{for(o=o.call(e);!(i=(r=o.next()).done)&&(a.push(r.value),!t||a.length!==t);i=!0);}catch(e){l=!0,n=e}finally{try{i||null==o.return||o.return()}finally{if(l)throw n}}return a}}(e,t)||g(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function h(e){return function(e){if(Array.isArray(e))return v(e)}(e)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||g(e)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function b(e){return e&&"u">typeof Symbol&&e.constructor===Symbol?"symbol":typeof e}function g(e,t){if(e){if("string"==typeof e)return v(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if("Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r)return Array.from(r);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return v(e,t)}}var w=["yesterday","today","tomorrow","lastWeek","thisWeek","nextWeek","lastMonth","thisMonth","nextMonth","lastQuarter","thisQuarter","nextQuarter","lastYear","thisYear","nextYear","last7Days","next7Days","last30Days","next30Days","last90Days","next90Days"],x={yesterday:"Yesterday",today:"Today",tomorrow:"Tomorrow",lastWeek:"Last week",thisWeek:"This week",nextWeek:"Next week",lastMonth:"Last month",thisMonth:"This month",nextMonth:"Next month",lastQuarter:"Last quarter",thisQuarter:"This quarter",nextQuarter:"Next quarter",lastYear:"Last year",thisYear:"This year",nextYear:"Next year",last7Days:"Last 7 days",next7Days:"Next 7 days",last30Days:"Last 30 days",next30Days:"Next 30 days",last90Days:"Last 90 days",next90Days:"Next 90 days"},j={resolvePathFromValue:function(e){return"string"==typeof e?(0,f.IB)(e):void 0},resolveValueFromPath:function(e){return(0,f.oS)(e)}};function O(e){return!!(e&&(void 0===e?"undefined":b(e))==="object"&&"logic"in e&&"items"in e)}function A(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];if(!e||(void 0===e?"undefined":b(e))!=="object"||Array.isArray(e))return t.length?[{path:t.join("."),operator:"$eq",value:e}]:[];var r=Object.entries(e),n=r.filter(function(e){return p(e,1)[0].startsWith("$")});return n.length?t.length?n.map(function(e){var r=p(e,2),n=r[0],o=r[1];return{path:t.join("."),operator:n,value:o}}):[]:r.flatMap(function(e){var r=p(e,2),n=r[0];return A(r[1],h(t).concat([n]))})}function k(e){return Array.isArray(e.$or)?"$or":Array.isArray(e.$and)?"$and":void 0}function S(e){var t;return O(e)?e:null!=(t=function e(t){if(!(!t||(void 0===t?"undefined":b(t))!=="object"||Array.isArray(t))){var r=k(t);if(!r){var n=A(t);return n.length?{logic:"$and",items:n}:void 0}var o=t[r].flatMap(function(t){if(!t||(void 0===t?"undefined":b(t))!=="object"||Array.isArray(t))return[];if(k(t)){var r=e(t);return r?[r]:[]}return A(t)}).filter(function(e){return!!e});return o.length?{logic:r,items:o}:void 0}}(e))?t:{logic:"$and",items:[]}}function D(e){var t=e.collection,r=e.value,f=e.onChange,v=e.disabled,p=e.rightAsVariable,b=void 0===p||p,g=e.maxAssociationFieldDepth,A=void 0===g?2:g,k=(0,o.useFlowEngine)(),D=(0,d.kj)(),F=!!(i.ConfigProvider.useConfig().componentDisabled||v),P=(0,a.useMemoizedFn)(function(e,t){return D(e,t)}),M=(0,s.P)(),E=(0,l.useMemo)(function(){var e,t;return e={name:"dateRange",title:P("Date range"),type:"object",paths:["$system","dateRange"],children:w.map(function(e){return{name:e,title:P(x[e]),type:"string",paths:["$system","dateRange",e]}})},(t=M.findIndex(function(e){return"$system"===e.name}))<0?h(M).concat([{name:"$system",title:P("System variables"),type:"",paths:["$system"],children:[e]}]):M.map(function(r,n){if(n!==t||"function"==typeof r.children)return r;var o,a,i=Array.isArray(r.children)?r.children.filter(function(e){return"dateRange"!==e.name}):[];return o=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){m(e,t,r[t])})}return e}({},r),a=a={children:h(i).concat([e])},Object.getOwnPropertyDescriptors?Object.defineProperties(o,Object.getOwnPropertyDescriptors(a)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t})(Object(a)).forEach(function(e){Object.defineProperty(o,e,Object.getOwnPropertyDescriptor(a,e))}),o})},[P,M]),I=(0,l.useMemo)(function(){return(0,y.X_)(k.context.dataSourceManager,t)},[k,t]),C=(0,l.useMemo)(function(){if(!I)return null;var e=k.createModel({uid:(0,o.randomId)("workflowFilter_"),use:o.FlowModel}),t=k.context.app;return t&&e.context.defineProperty("app",{value:t}),e.context.defineProperty("collection",{get:function(){return I}}),e},[I,k]);(0,l.useEffect)(function(){return function(){var e;null==C||null==(e=C.remove)||e.call(C)}},[C]);var $=(0,l.useRef)();$.current||($.current=(0,o.observable)(S(r)));var N=(0,l.useRef)(null);(0,l.useEffect)(function(){var e=JSON.stringify(null!=r?r:{});if(N.current!==e){var t=S(r);$.current&&($.current.logic=t.logic,$.current.items=t.items,N.current=e)}},[r]),(0,l.useEffect)(function(){if($.current)return(0,o.reaction)(function(){return JSON.stringify((0,o.toJS)($.current))},function(e){var t,r=JSON.parse(e),n=Array.isArray(r.items)?r.items.length:0,o=(0,c.removeInvalidFilterItems)(r);if(!o.items.length){n||null==f||f({});return}var a=null!=(t=function e(t){if(null==t||null==(r=t.items)?void 0:r.length){var r,n=t.items.map(function(t){if(O(t))return e(t);if("string"==typeof t.path&&"string"==typeof t.operator&&t.path&&t.operator)return function(e,t){for(var r=e.split("."),n=t,o=r.length-1;o>=0;o--)n=m({},r[o],n);return n}(t.path,m({},t.operator,t.value))}).filter(function(e){return!!e});if(n.length)return m({},t.logic,n)}}(o))?t:{};N.current=JSON.stringify(a),null==f||f(a)},{fireImmediately:!1})},[f]);var T=(0,l.useMemo)(function(){if(!C)return null;var e=function(e){var t=e.value;return u().createElement(o.FlowModelProvider,{model:C},u().createElement(n.VariableFilterItem,{value:t,model:C,disabled:F,rightAsVariable:b,rightMetaTree:E,rightVariableConverters:j,maxAssociationFieldDepth:A}))};return e.displayName="WorkflowVariableFilterItem",e},[C,A,F,b,E]);return u().createElement(n.FilterGroup,{value:$.current,FilterItem:null!=T?T:void 0,disabled:F})}var F=D},5329:function(e,t,r){r.d(t,{F:function(){return c}});var n=r(9155),o=r.n(n),a=r(2059),i=r(8198),l=r(9488);function u(e){var t=e.value,r=e.onChange,a=e.disabled,l=e.onCollectionChanged,u=(0,n.useRef)();return o().createElement(i.XJ,{value:t,disabled:a,onChange:function(e){var n,o=null!=(n=u.current)?n:t;null==r||r(e),o&&o!==e&&(null==l||l(o,e)),u.current=e}})}function c(e){var t=e.disabled,r=e.onCollectionChanged,n=(0,l.kj)();return o().createElement(a.Form.Item,{name:["config","collection"],label:n("Collection"),rules:[{required:!0}]},o().createElement(u,{disabled:t,onCollectionChanged:r}))}},6855:function(e,t,r){r.d(t,{F:function(){return f}});var n=r(9155),o=r.n(n),a=r(2059),i=r(7768),l=r(1801),u=r(2235),c=r(9488);function s(e,t,r,n,o,a,i){try{var l=e[a](i),u=l.value}catch(e){r(e);return}l.done?t(u):Promise.resolve(u).then(n,o)}function f(e){var t,r=e.collection,n=e.label,f=e.name,d=e.required,y=e.maxAssociationFieldDepth,v=(0,c.kj)(),m=(0,u.Zt)(),p=!!(null==m||null==(t=m.versionStats)?void 0:t.executed);return o().createElement(a.Form.Item,{name:void 0===f?["config","params","filter"]:f,label:null!=n?n:v("Filter"),validateTrigger:["onChange","onBlur"],rules:void 0===d||d?[{validator:function(e,t){var r;return(r=function(){return function(e,t){var r,n,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),l=Object.defineProperty;return l(i,"next",{value:u(0)}),l(i,"throw",{value:u(1)}),l(i,"return",{value:u(2)}),"function"==typeof Symbol&&l(i,Symbol.iterator,{value:function(){return this}}),i;function u(l){return function(u){var c=[l,u];if(r)throw TypeError("Generator is already executing.");for(;i&&(i=0,c[0]&&(a=0)),a;)try{if(r=1,n&&(o=2&c[0]?n.return:c[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,c[1])).done)return o;switch(n=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return a.label++,{value:c[1],done:!1};case 5:a.label++,n=c[1],c=[0];continue;case 7:c=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===c[0]||2===c[0])){a=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){a.label=c[1];break}if(6===c[0]&&a.label<o[1]){a.label=o[1],o=c;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(c);break}o[2]&&a.ops.pop(),a.trys.pop();continue}c=t.call(e,a)}catch(e){c=[6,e],n=0}finally{r=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}(this,function(e){if(!(0,i.isValidFilter)(t))throw Error(v("Please add at least one condition"));return[2]})},function(){var e=this,t=arguments;return new Promise(function(n,o){var a=r.apply(e,t);function i(e){s(a,n,o,i,l,"next",e)}function l(e){s(a,n,o,i,l,"throw",e)}i(void 0)})})()}}]:void 0},o().createElement(l.N$,{collection:r,disabled:p,maxAssociationFieldDepth:void 0===y?2:y}))}}}]);
@@ -7,13 +7,5 @@
7
7
  * For more information, please refer to: https://www.nocobase.com/agreement.
8
8
  */
9
9
  import React from 'react';
10
- interface AddButtonProps {
11
- upstream: any;
12
- branchIndex?: number | null;
13
- [key: string]: any;
14
- }
15
- export declare function AddButton(props: AddButtonProps): React.JSX.Element;
16
- export declare function AddNodeSlot(props: AddButtonProps): React.JSX.Element;
17
- export declare function useAddNodeContext(): any;
10
+ export { AddNodeSlot } from '../client-v2/canvas/AddNodeSlot';
18
11
  export declare function AddNodeContextProvider(props: any): React.JSX.Element;
19
- export {};
@@ -6,13 +6,5 @@
6
6
  * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
7
  * For more information, please refer to: https://www.nocobase.com/agreement.
8
8
  */
9
- import React from 'react';
10
- export type BranchContextValue = {
11
- branchIndex: number | null;
12
- addable: boolean;
13
- syncOnly: boolean;
14
- };
15
- export declare const BranchContext: React.Context<BranchContextValue>;
16
- export declare function useBranchContext(): BranchContextValue;
17
- export declare function useBranchIndex(): number;
18
- export declare function useBranchSyncOnly(): boolean;
9
+ export { BranchContext, useBranchContext, useBranchIndex, useBranchSyncOnly } from '../client-v2/canvas/BranchContext';
10
+ export type { BranchContextValue } from '../client-v2/canvas/BranchContext';
@@ -6,8 +6,13 @@
6
6
  * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
7
  * For more information, please refer to: https://www.nocobase.com/agreement.
8
8
  */
9
- import React from 'react';
10
- export declare const FlowContext: React.Context<any>;
11
- export declare function useFlowContext(): any;
12
- export declare const CurrentWorkflowContext: React.Context<any>;
13
- export declare function useCurrentWorkflowContext(): any;
9
+ /**
10
+ * The two canvas React contexts now live in client-v2 and are shared by both
11
+ * canvases (ADR-0003). v1 re-exports them so existing import sites
12
+ * (`from './FlowContext'`) are unchanged. Both contexts are dependency-free
13
+ * (`React.createContext`), so this is a plain re-export — no runtime wrapper, no
14
+ * injected runtime — the v2 definition models v1's shape exactly (editor +
15
+ * execution canvas values). Delete on legacy-canvas retirement.
16
+ */
17
+ export { FlowContext, useFlowContext, CurrentWorkflowContext, useCurrentWorkflowContext, } from '../client-v2/canvas/contexts';
18
+ export type { WorkflowCanvasFlowContextValue, CanvasNode } from '../client-v2/canvas/contexts';
@@ -6,6 +6,16 @@
6
6
  * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
7
  * For more information, please refer to: https://www.nocobase.com/agreement.
8
8
  */
9
+ /**
10
+ * The clipboard context + provider now live in client-v2 and are shared by both
11
+ * canvases (ADR-0003). v1 keeps a thin wrapper that injects its own canvas
12
+ * runtime source (v1 `FlowContext` + `versionStats.executed`) into the shared
13
+ * provider, and re-exports the hook so existing v1 import sites
14
+ * (`from './NodeClipboardContext'`) are unchanged. Delete on legacy-canvas
15
+ * retirement.
16
+ */
9
17
  import React from 'react';
10
- export declare function useNodeClipboardContext(): any;
11
- export declare function NodeClipboardContextProvider(props: any): React.JSX.Element;
18
+ export { useNodeClipboardContext } from '../client-v2/canvas/NodeClipboardContext';
19
+ export declare function NodeClipboardContextProvider(props: {
20
+ children: React.ReactNode;
21
+ }): React.JSX.Element;
@@ -6,6 +6,18 @@
6
6
  * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
7
  * For more information, please refer to: https://www.nocobase.com/agreement.
8
8
  */
9
+ /**
10
+ * The node drag-to-reorder provider now lives in client-v2 and is shared by both
11
+ * canvases (ADR-0003). v1 keeps a thin wrapper that injects its own canvas runtime
12
+ * (v1 `useAPIClient` / `lang` / `useCompile` / instruction registry /
13
+ * `useWorkflowExecuted`) into the shared provider, and re-exports the hook so
14
+ * existing v1 import sites (`from './NodeDragContext'`) are unchanged. The pure
15
+ * drop-impact graph walks are likewise re-exported from their client-v2 home.
16
+ * Delete on legacy-canvas retirement.
17
+ */
9
18
  import React from 'react';
10
- export declare function useNodeDragContext(): any;
11
- export declare function NodeDragContextProvider(props: any): React.JSX.Element;
19
+ export { useNodeDragContext } from '../client-v2/canvas/NodeDragContext';
20
+ export { collectDownstreams, collectBranchSubtree } from '../client-v2/canvas/dropImpact';
21
+ export declare function NodeDragContextProvider(props: {
22
+ children: React.ReactNode;
23
+ }): React.JSX.Element;
@@ -6,6 +6,20 @@
6
6
  * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
7
  * For more information, please refer to: https://www.nocobase.com/agreement.
8
8
  */
9
+ /**
10
+ * The remove-node context + provider now live in client-v2 and are shared by both
11
+ * canvases (ADR-0003). v1 keeps a thin wrapper that injects its own canvas runtime
12
+ * (v1 `useAPIClient` / `FlowContext` / instruction registry) into the shared
13
+ * provider, and re-exports the hook so existing v1 import sites
14
+ * (`from './RemoveNodeContext'`) are unchanged. Delete on legacy-canvas retirement.
15
+ *
16
+ * This replaces v1's former Formily `Action.Modal` keep-branch dialog with the
17
+ * shared antd one; the variable-reference safety check (which the modern canvas
18
+ * previously lacked) is now the shared logic, so both canvases block deleting a
19
+ * node whose result is still referenced.
20
+ */
9
21
  import React from 'react';
10
- export declare function useRemoveNodeContext(): any;
11
- export declare function RemoveNodeContextProvider(props: any): React.JSX.Element;
22
+ export { useRemoveNodeContext } from '../client-v2/canvas/RemoveNodeContext';
23
+ export declare function RemoveNodeContextProvider(props: {
24
+ children: React.ReactNode;
25
+ }): React.JSX.Element;
@@ -11,7 +11,7 @@ import { Instruction } from './nodes';
11
11
  import { Trigger } from './triggers';
12
12
  import { VariableOption } from './variable';
13
13
  import { TaskTypeOptions } from './WorkflowTasks';
14
- import { NodeDetailsModel, NodeValueModel } from './models';
14
+ import { NodeDetailsModel, NodeValueModel } from '../client-v2/models';
15
15
  type InstructionGroup = {
16
16
  key?: string;
17
17
  label: string;