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

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 (100) hide show
  1. package/dist/client/142.99ee85375434b414.js +10 -0
  2. package/dist/client/276.0cd7d4f4b21299f2.js +10 -0
  3. package/dist/client/{382.d37fba14a6b91b0b.js → 382.163a5272789260ab.js} +1 -1
  4. package/dist/client/{394.a37310b78419ad7a.js → 394.2b986ad5ec8d2cd0.js} +1 -1
  5. package/dist/client/438.255c1f798203a3fc.js +10 -0
  6. package/dist/client/509.280de53e5e3e8874.js +10 -0
  7. package/dist/client/{54.d81b710f7b4c1cd5.js → 54.6a0f9054f5aeb5cf.js} +1 -1
  8. package/dist/client/{618.1aa6c21d0f2840cb.js → 618.3a1c7678cb08cbe0.js} +1 -1
  9. package/dist/client/635.639988ea0ebdd8f3.js +10 -0
  10. package/dist/client/{67.56a3d15a55ab7d5c.js → 67.fc770d56b2c34497.js} +1 -1
  11. package/dist/client/719.27165958caf83d8e.js +10 -0
  12. package/dist/client/728.f57b6314d6786870.js +10 -0
  13. package/dist/client/828.eda52a8918f0a56c.js +10 -0
  14. package/dist/client/{938.26493fc09ba1ccbc.js → 938.68d591853136f00d.js} +1 -1
  15. package/dist/client/{964.5ab736effd480a42.js → 964.618e49037c20a31b.js} +1 -1
  16. package/dist/client/WorkflowTasks.d.ts +5 -4
  17. package/dist/client/components/UsersSelect.d.ts +2 -9
  18. package/dist/client/index.d.ts +1 -1
  19. package/dist/client/index.js +1 -1
  20. package/dist/client/workflowTasksResponsive.d.ts +14 -0
  21. package/dist/client-v2/32.3aff0d3127924f37.js +10 -0
  22. package/dist/client-v2/438.76337ed02ad35e77.js +10 -0
  23. package/dist/client-v2/513.028d9992cc415e73.js +10 -0
  24. package/dist/client-v2/677.687ffa76229d7e48.js +10 -0
  25. package/dist/client-v2/canvas/WorkflowVariableInput.d.ts +9 -2
  26. package/dist/client-v2/canvas/WorkflowVariableTextArea.d.ts +6 -1
  27. package/dist/client-v2/components/FilterDynamicComponent.d.ts +4 -1
  28. package/dist/client-v2/components/UsersSelect.d.ts +39 -0
  29. package/dist/client-v2/constants.d.ts +4 -0
  30. package/dist/client-v2/index.d.ts +2 -0
  31. package/dist/client-v2/index.js +1 -1
  32. package/dist/client-v2/taskCenter.d.ts +3 -1
  33. package/dist/common/collections/jobs.d.ts +3 -0
  34. package/dist/common/collections/jobs.js +4 -3
  35. package/dist/common/collections/userWorkflowTaskStats.d.ts +54 -0
  36. package/dist/common/collections/userWorkflowTaskStats.js +87 -0
  37. package/dist/externalVersion.js +14 -14
  38. package/dist/locale/de-DE.json +2 -0
  39. package/dist/locale/en-US.json +6 -0
  40. package/dist/locale/es-ES.json +2 -0
  41. package/dist/locale/fr-FR.json +2 -0
  42. package/dist/locale/hu-HU.json +2 -0
  43. package/dist/locale/id-ID.json +2 -0
  44. package/dist/locale/it-IT.json +2 -0
  45. package/dist/locale/ja-JP.json +2 -0
  46. package/dist/locale/ko-KR.json +2 -0
  47. package/dist/locale/nl-NL.json +2 -0
  48. package/dist/locale/pt-BR.json +2 -0
  49. package/dist/locale/ru-RU.json +2 -0
  50. package/dist/locale/tr-TR.json +2 -0
  51. package/dist/locale/uk-UA.json +2 -0
  52. package/dist/locale/vi-VN.json +2 -0
  53. package/dist/locale/zh-CN.json +6 -0
  54. package/dist/locale/zh-TW.json +2 -0
  55. package/dist/node_modules/cron-parser/package.json +1 -1
  56. package/dist/node_modules/joi/package.json +1 -1
  57. package/dist/node_modules/lru-cache/package.json +1 -1
  58. package/dist/node_modules/nodejs-snowflake/package.json +1 -1
  59. package/dist/server/Dispatcher.d.ts +24 -13
  60. package/dist/server/Dispatcher.js +160 -143
  61. package/dist/server/Plugin.d.ts +58 -12
  62. package/dist/server/Plugin.js +356 -16
  63. package/dist/server/Processor.d.ts +2 -7
  64. package/dist/server/Processor.js +37 -18
  65. package/dist/server/RunningExecutionRegistry.d.ts +2 -2
  66. package/dist/server/RunningExecutionRegistry.js +21 -6
  67. package/dist/server/actions/executions.js +3 -6
  68. package/dist/server/actions/index.js +3 -1
  69. package/dist/server/actions/jobs.js +1 -2
  70. package/dist/server/{migrations/20260713000000-remove-workflow-validation.d.ts → actions/userWorkflowTaskStats.d.ts} +2 -5
  71. package/dist/server/actions/userWorkflowTaskStats.js +112 -0
  72. package/dist/server/actions/workflows.js +18 -1
  73. package/dist/server/collections/userWorkflowTaskStats.d.ts +11 -0
  74. package/dist/server/collections/userWorkflowTaskStats.js +43 -0
  75. package/dist/server/index.d.ts +1 -0
  76. package/dist/server/triggers/CollectionTrigger.js +2 -2
  77. package/dist/server/triggers/ScheduleTrigger/StaticScheduleTrigger.js +8 -7
  78. package/dist/server/types/Execution.d.ts +2 -0
  79. package/dist/server/types/Job.d.ts +6 -0
  80. package/dist/server/utils.d.ts +1 -0
  81. package/dist/server/utils.js +5 -0
  82. package/dist/shared/WorkflowTaskNavigation.d.ts +56 -0
  83. package/dist/shared/WorkflowTaskNavigation.js +750 -0
  84. package/dist/swagger/index.d.ts +68 -1
  85. package/dist/swagger/index.js +61 -1
  86. package/package.json +2 -2
  87. package/dist/client/142.fb4936d78fc80007.js +0 -10
  88. package/dist/client/276.69fb2aea13bc7c37.js +0 -10
  89. package/dist/client/438.6c6409d821d8c353.js +0 -10
  90. package/dist/client/509.88792f5bd054b2af.js +0 -10
  91. package/dist/client/635.ff6085589e23d39b.js +0 -10
  92. package/dist/client/719.f011fde3ad54571e.js +0 -10
  93. package/dist/client/728.711fd4f1ed7d4e6a.js +0 -10
  94. package/dist/client/828.6880ab21513b1968.js +0 -10
  95. package/dist/client/972.dd7f074d5f12e171.js +0 -10
  96. package/dist/client-v2/438.b7df0416b66f8f64.js +0 -10
  97. package/dist/client-v2/513.617697f74783a611.js +0 -10
  98. package/dist/client-v2/677.7382807126d9621a.js +0 -10
  99. package/dist/client-v2/728.4e8322ff8fce87b9.js +0 -10
  100. package/dist/server/migrations/20260713000000-remove-workflow-validation.js +0 -56
@@ -15,7 +15,8 @@
15
15
  * flow_nodes — Update / delete / move / duplicate / test nodes
16
16
  * executions — Execution record queries, cancellation and deletion
17
17
  * jobs — Node job queries and resuming paused executions
18
- * userWorkflowTasks — Current-user's pending workflow tasks
18
+ * userWorkflowTasks — Current-user's pending workflow tasks grouped by type
19
+ * userWorkflowTaskStats — Current-user's pending workflow tasks grouped by workflow
19
20
  *
20
21
  * API conventions:
21
22
  * Base URL : /api
@@ -1176,6 +1177,72 @@ declare const _default: {
1176
1177
  };
1177
1178
  };
1178
1179
  };
1180
+ '/userWorkflowTaskStats:listMine': {
1181
+ get: {
1182
+ tags: string[];
1183
+ summary: string;
1184
+ description: string;
1185
+ parameters: ({
1186
+ name: string;
1187
+ in: string;
1188
+ schema: {
1189
+ type: string;
1190
+ default?: undefined;
1191
+ maximum?: undefined;
1192
+ };
1193
+ } | {
1194
+ name: string;
1195
+ in: string;
1196
+ schema: {
1197
+ type: string;
1198
+ default: number;
1199
+ maximum?: undefined;
1200
+ };
1201
+ } | {
1202
+ name: string;
1203
+ in: string;
1204
+ schema: {
1205
+ type: string;
1206
+ default: number;
1207
+ maximum: number;
1208
+ };
1209
+ })[];
1210
+ responses: {
1211
+ 200: {
1212
+ description: string;
1213
+ content: {
1214
+ 'application/json': {
1215
+ schema: {
1216
+ type: string;
1217
+ items: {
1218
+ type: string;
1219
+ properties: {
1220
+ workflowKey: {
1221
+ type: string;
1222
+ };
1223
+ title: {
1224
+ type: string;
1225
+ };
1226
+ stats: {
1227
+ type: string;
1228
+ properties: {
1229
+ pending: {
1230
+ type: string;
1231
+ };
1232
+ all: {
1233
+ type: string;
1234
+ };
1235
+ };
1236
+ };
1237
+ };
1238
+ };
1239
+ };
1240
+ };
1241
+ };
1242
+ };
1243
+ };
1244
+ };
1245
+ };
1179
1246
  };
1180
1247
  components: {
1181
1248
  schemas: {
@@ -40,7 +40,8 @@ var swagger_default = {
40
40
  { name: "flow_nodes", description: "Flow node management: update, delete, move, duplicate, test" },
41
41
  { name: "executions", description: "Execution record management: list, get, cancel, delete" },
42
42
  { name: "jobs", description: "Node job management: list, get, resume" },
43
- { name: "userWorkflowTasks", description: "Current-user workflow task queries" }
43
+ { name: "userWorkflowTasks", description: "Current-user workflow task queries" },
44
+ { name: "userWorkflowTaskStats", description: "Current-user workflow task stats grouped by workflow" }
44
45
  ],
45
46
  paths: {
46
47
  // ─────────────────────────────────────────────────────────────────────────
@@ -1220,6 +1221,65 @@ var swagger_default = {
1220
1221
  }
1221
1222
  }
1222
1223
  }
1224
+ },
1225
+ "/userWorkflowTaskStats:listMine": {
1226
+ get: {
1227
+ tags: ["userWorkflowTaskStats"],
1228
+ summary: "List my workflow task stats by workflow",
1229
+ description: [
1230
+ "Get current-user task statistics grouped by `workflowKey`, with the title of the current workflow version.",
1231
+ "",
1232
+ "Pass `type` to limit the result to one task type. Without it, the response sums all task types."
1233
+ ].join("\n"),
1234
+ parameters: [
1235
+ {
1236
+ name: "type",
1237
+ in: "query",
1238
+ schema: { type: "string" }
1239
+ },
1240
+ {
1241
+ name: "search",
1242
+ in: "query",
1243
+ schema: { type: "string" }
1244
+ },
1245
+ {
1246
+ name: "page",
1247
+ in: "query",
1248
+ schema: { type: "integer", default: 1 }
1249
+ },
1250
+ {
1251
+ name: "pageSize",
1252
+ in: "query",
1253
+ schema: { type: "integer", default: 200, maximum: 200 }
1254
+ }
1255
+ ],
1256
+ responses: {
1257
+ 200: {
1258
+ description: "OK",
1259
+ content: {
1260
+ "application/json": {
1261
+ schema: {
1262
+ type: "array",
1263
+ items: {
1264
+ type: "object",
1265
+ properties: {
1266
+ workflowKey: { type: "string" },
1267
+ title: { type: "string" },
1268
+ stats: {
1269
+ type: "object",
1270
+ properties: {
1271
+ pending: { type: "integer" },
1272
+ all: { type: "integer" }
1273
+ }
1274
+ }
1275
+ }
1276
+ }
1277
+ }
1278
+ }
1279
+ }
1280
+ }
1281
+ }
1282
+ }
1223
1283
  }
1224
1284
  },
1225
1285
  // ───────────────────────────────────────────────────────────────────────────
package/package.json CHANGED
@@ -6,7 +6,7 @@
6
6
  "description": "A powerful BPM tool that provides foundational support for business automation, with the capability to extend unlimited triggers and nodes.",
7
7
  "description.zh-CN": "一个强大的 BPM 工具,为业务自动化提供基础支持,并且可任意扩展更多的触发器和节点。",
8
8
  "description.ru-RU": "Мощный инструмент BPM, обеспечивающий базовую поддержку автоматизации бизнес-процессов с возможностью неограниченного расширения триггеров и узлов.",
9
- "version": "2.3.0-alpha.1",
9
+ "version": "2.3.0-beta.10",
10
10
  "license": "Apache-2.0",
11
11
  "main": "./dist/server/index.js",
12
12
  "homepage": "https://docs.nocobase.com/handbook/workflow",
@@ -51,7 +51,7 @@
51
51
  "@nocobase/test": "2.x",
52
52
  "@nocobase/utils": "2.x"
53
53
  },
54
- "gitHead": "2377df8ceb12549149017f7f14a61207bf6e49a2",
54
+ "gitHead": "7aa3dce6cf3201752882f7012c72997898015d89",
55
55
  "keywords": [
56
56
  "Workflow"
57
57
  ]
@@ -1,10 +0,0 @@
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([["142"],{693:function(e,n,t){t.d(n,{QueryFieldset:function(){return d},QueryPresetFieldset:function(){return p}});var l=t(9155),o=t.n(l),a=t(2059),r=t(2235),c=t(8198),i=t(9785),s=t(9488),u=t(5329),m=t(6855);function f(){var e=(0,s.kj)(),n=a.Form.useWatch(["config","collection"]);return n?o().createElement(o().Fragment,null,o().createElement(m.F,{collection:n,required:!1}),o().createElement(a.Form.Item,{name:["config","params","sort"],label:e("Sort")},o().createElement(c.o5,{collection:n})),o().createElement(c.uc,{pageName:["config","params","page"],pageSizeName:["config","params","pageSize"]}),o().createElement(a.Form.Item,{name:["config","params","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.")},o().createElement(c.Kr,{collection:n}))):null}function d(){var e,n,t=(0,s.kj)(),c=(0,r.TA)(),m=a.Form.useFormInstance(),d=[{label:(e=(0,s.kj)())("Single record"),value:!1,tooltip:e("The result will be an object of the first matching record only, or null if no matched record.")},{label:e("Multiple records"),value:!0,tooltip:e("The result will be an array containing matched records, or an empty one if no matching records. This can be used to be processed in a loop node.")}];return(0,l.useEffect)(function(){void 0===m.getFieldValue(["config","multiple"])&&m.setFieldValue(["config","multiple"],!1)},[m]),o().createElement(o().Fragment,null,o().createElement(u.F,{disabled:!!(null==c||null==(n=c.config)?void 0:n.collection),onCollectionChanged:function(){m.setFieldValue(["config","params"],{})}}),o().createElement(a.Form.Item,{name:["config","multiple"],label:t("Result type")},o().createElement(i.$,{options:d})),o().createElement(f,null),o().createElement(a.Form.Item,{name:["config","failOnEmpty"],valuePropName:"checked"},o().createElement(a.Checkbox,null,t("Exit when query result is null"))))}function p(){return o().createElement(u.F,null)}}}]);
@@ -1,10 +0,0 @@
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([["276"],{9671:function(e,n,t){t.d(n,{DestroyFieldset:function(){return s},DestroyPresetFieldset:function(){return f}});var l=t(9155),o=t.n(l),r=t(2059),c=t(2235),u=t(5329),i=t(6855);function a(){var e=r.Form.useWatch(["config","collection"]);return e?o().createElement(i.F,{collection:e}):null}function s(){var e,n=(0,c.TA)(),t=r.Form.useFormInstance();return o().createElement(o().Fragment,null,o().createElement(u.F,{disabled:!!(null==n||null==(e=n.config)?void 0:e.collection),onCollectionChanged:function(){t.setFieldValue(["config","params","filter"],{})}}),o().createElement(a,null))}function f(){return o().createElement(u.F,null)}}}]);
@@ -1,10 +0,0 @@
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([["438"],{1736:function(e,t,n){n.d(t,{i:function(){return E}});var r=n(9155),o=n.n(r),l=n(2059),a=n(7375),i=n(5477),u=n(7694),c=n(5980),s=n(1611),f=n(2235),d=n(3052),m=n(9488),p=n(8743),y=n(3284);function v(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 b(){var e,t=(0,c.A)().styles,n=(0,m.kj)(),r=(0,u.useFlowEngine)(),i=(0,d.x)(),s=null==i?void 0:i.clipboard;if(!s)return null;var f=r.context.app.pm.get(p.q),y=null==f?void 0:f.getInstruction(s.type),v=y?n(y.title):s.type;return o().createElement("div",{className:t.clipboardPreviewClass},o().createElement("div",{className:"workflow-clipboard-header"},o().createElement("span",null,n("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 E(e){var t,n,a=e.entry,u=(0,c.A)(),d=u.styles,p=u.cx,E=(0,m.kj)(),h=(0,f.S8)();(null!=(n=(0,f.$K)())?n:{}).workflow;var w=function(e){if(Array.isArray(e))return e}(t=(0,r.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 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.")}(),g=w[0],k=w[1];return o().createElement("div",{className:p(d.workflowPageClass,(0,i.css)({height:"100%"}))},o().createElement("div",{className:"workflow-canvas-wrapper"},o().createElement("div",{className:"workflow-canvas",style:{zoom:g/100}},o().createElement("div",{className:p(d.branchBlockClass,(0,i.css)({marginTop:"0 !important"}))},o().createElement("div",{className:d.branchClass},h?o().createElement(l.Alert,{type:"warning",showIcon:!0,message:E("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:p(d.branchBlockClass,(0,i.css)({marginTop:"0 !important"}))},o().createElement(s.l,{entry:a})),o().createElement("div",{className:d.terminalClass},E("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:g,onChange:k}))))}},7653:function(e,t,n){n.r(t),n.d(t,{default:function(){return _}});var r,o=n(7694),l=n(2625),a=n(2059),i=n(9155),u=n.n(i),c=n(4442),s=n(1736),f=n(2235),d=n(8761),m=n(7375),p=n(9239),y=n(7001),v=n(9488),b=n(8401);function E(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var h=(E(r={},p.GO.QUEUEING,u().createElement(m.HourglassOutlined,null)),E(r,p.GO.STARTED,u().createElement(m.LoadingOutlined,null)),E(r,p.GO.RESOLVED,u().createElement(m.CheckOutlined,null)),E(r,p.GO.FAILED,u().createElement(m.ExclamationOutlined,null)),E(r,p.GO.ERROR,u().createElement(m.CloseOutlined,null)),E(r,p.GO.ABORTED,u().createElement(m.MinusOutlined,{rotate:90})),E(r,p.GO.CANCELED,u().createElement(m.MinusOutlined,{rotate:45})),E(r,p.GO.REJECTED,u().createElement(m.MinusOutlined,null)),E(r,p.GO.RETRY_NEEDED,u().createElement(m.RedoOutlined,null)),r);function w(e){var t,n=e.value,r=(0,v.kj)(),o=a.theme.useToken().token,l=p.m2[n];if(!l)return null;var i=null!=(t=h[n])?t:u().createElement(m.ClockCircleOutlined,null),c=o.controlHeightSM;return u().createElement(a.Tooltip,{title:r(l.label)},u().createElement(a.Tag,{color:l.color,style:{marginInlineEnd:o.marginXS,borderRadius:"50%",padding:0,width:c,height:c,lineHeight:"".concat(c,"px"),textAlign:"center"}},i))}var g=n(2404);function k(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 i=e[l](a),u=i.value}catch(e){n(e);return}i.done?t(u):Promise.resolve(u).then(r,o)}function S(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)||x(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 C(e){return function(e){if(Array.isArray(e))return k(e)}(e)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||x(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 x(e,t){if(e){if("string"==typeof e)return k(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 k(e,t)}}function A(e){var t=e.execution,n=e.refresh,r=(0,o.useFlowContext)(),c=a.theme.useToken().token,s=r.api.resource("executions"),f=(0,l.useRequest)(function(){var e;return(e=function(){var e,n,r,o,l,a,i,u;return function(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),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(n)throw TypeError("Generator is already executing.");for(;a&&(a=0,c[0]&&(l=0)),l;)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 l.label++,{value:c[1],done:!1};case 5:l.label++,r=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],r=0}finally{n=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}(this,function(c){switch(c.label){case 0:return[4,Promise.all([s.list({filter:{key:t.key,id:{$lt:t.id}},sort:"-id",pageSize:10,fields:["id","status","createdAt"]}),s.list({filter:{key:t.key,id:{$gt:t.id}},sort:"id",pageSize:10,fields:["id","status","createdAt"]})])];case 1:return a=(l=S.apply(void 0,[c.sent(),2]))[0],i=l[1],u=null!=(e=null==a||null==(r=a.data)?void 0:r.data)?e:[],[2,C((null!=(n=null==i||null==(o=i.data)?void 0:o.data)?n:[]).slice().reverse()).concat([t],C(u))]}})},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,i,"next",e)}function i(e){O(l,r,o,a,i,"throw",e)}a(void 0)})})()},{manual:!0}),d=f.data,p=f.run,y=(0,l.useMemoizedFn)(function(e){var n=e.key;String(n)!==String(t.id)&&r.router.navigate((0,b.Pq)(n))}),v=(0,i.useMemo)(function(){return(null!=d?d:[t]).map(function(e){var t;return{key:"".concat(e.id),icon:u().createElement(w,{value:null!=(t=e.status)?t:null}),label:u().createElement("span",{style:{display:"flex",alignItems:"baseline",justifyContent:"space-between",gap:c.marginXL,minWidth:5*c.sizeXXL}},u().createElement("span",null,"#".concat(e.id)),u().createElement("time",{style:{fontSize:c.fontSizeSM,color:c.colorTextTertiary}},(0,g.fU)(e.createdAt)))}})},[d,t,c]);return u().createElement(a.Space,{size:c.marginXXS},u().createElement(a.Dropdown,{trigger:["click"],onOpenChange:function(e){return e&&p()},menu:{onClick:y,selectedKeys:["".concat(t.id)],items:v}},u().createElement(a.Space,{style:{cursor:"pointer"}},u().createElement("strong",null,"#".concat(t.id)),u().createElement(m.DownOutlined,null))),n?u().createElement(a.Button,{type:"link",size:"small",icon:u().createElement(m.ReloadOutlined,null),onClick:n}):null)}function T(e,t,n,r,o,l,a){try{var i=e[l](a),u=i.value}catch(e){n(e);return}i.done?t(u):Promise.resolve(u).then(r,o)}function j(e){var t,n=e.execution,r=(0,v.kj)(),o=p.m2[n.status];if(!o)return null;var l=n.reason?p.QQ[n.reason]:void 0;return u().createElement(a.Tag,{color:o.color},u().createElement(a.Space,{size:4},r(o.label),n.reason?u().createElement(a.Tooltip,{title:r(null!=(t=null==l?void 0:l.label)?t:n.reason),placement:"bottom"},u().createElement(m.QuestionCircleOutlined,null)):null))}function R(e){var t=e.execution,n=e.resource,r=e.refresh,o=(0,v.ec)().t,i=(0,v.kj)(),s=(0,y.TD)().getWorkflowCanvasPath,f=a.theme.useToken().token,d=a.App.useApp(),b=d.modal,E=d.message,h=t.workflow,w=t.status===p.GO.STARTED||t.status===p.GO.QUEUEING,k=(0,l.useMemoizedFn)(function(){b.confirm({title:o("Cancel the execution"),content:o("Are you sure you want to cancel the execution?"),onOk:function(){var e;return(e=function(){return function(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),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(n)throw TypeError("Generator is already executing.");for(;a&&(a=0,c[0]&&(l=0)),l;)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 l.label++,{value:c[1],done:!1};case 5:l.label++,r=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],r=0}finally{n=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}(this,function(e){switch(e.label){case 0:return[4,n.cancel({filterByTk:t.id})];case 1:return e.sent(),E.success(o("Operation succeeded")),r(),[2]}})},function(){var t=this,n=arguments;return new Promise(function(r,o){var l=e.apply(t,n);function a(e){T(l,r,o,a,i,"next",e)}function i(e){T(l,r,o,a,i,"throw",e)}a(void 0)})})()}})});return u().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)}},u().createElement(a.Breadcrumb,{items:[{title:u().createElement(c.Link,{to:"/admin/settings/workflow"},o("Workflow"))},{title:(null==h?void 0:h.id)!=null?u().createElement(a.Tooltip,{title:"Key: ".concat(h.key)},u().createElement(c.Link,{to:s(h.id)},i(h.title||""))):i((null==h?void 0:h.title)||"")},{title:u().createElement(A,{execution:{id:t.id,key:t.key,status:t.status,createdAt:t.createdAt},refresh:r})}]}),u().createElement("div",{style:{display:"flex",alignItems:"center",gap:f.marginXS}},u().createElement(j,{execution:t}),w?u().createElement(a.Tooltip,{title:o("Cancel the execution")},u().createElement(a.Button,{type:"link",danger:!0,shape:"circle",size:"small",icon:u().createElement(m.StopOutlined,null),onClick:k})):null,u().createElement("time",{style:{opacity:.65}},(0,g.fU)(t.updatedAt))))}var I=n(2723),D=n(7060),N=n(5980),P=n(8364);function B(e,t,n,r,o,l,a){try{var i=e[l](a),u=i.value}catch(e){n(e);return}i.done?t(u):Promise.resolve(u).then(r,o)}function G(e){var t,n=e.jobId,r=(0,o.useFlowContext)(),i=(0,v.kj)(),c=(0,N.A)().styles,s=(0,l.useRequest)(function(){var e;return(e=function(){var e,t,o;return function(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),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(n)throw TypeError("Generator is already executing.");for(;a&&(a=0,c[0]&&(l=0)),l;)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 l.label++,{value:c[1],done:!1};case 5:l.label++,r=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],r=0}finally{n=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.api.resource("jobs").get({filterByTk:n})];case 1:return[2,null!=(e=null==(o=l.sent())||null==(t=o.data)?void 0:t.data)?e:null]}})},function(){var t=this,n=arguments;return new Promise(function(r,o){var l=e.apply(t,n);function a(e){B(l,r,o,a,i,"next",e)}function i(e){B(l,r,o,a,i,"throw",e)}a(void 0)})})()}),f=s.data;return s.loading?u().createElement(a.Spin,null):u().createElement(u().Fragment,null,u().createElement("div",{style:{marginBottom:16}},u().createElement("div",{style:{fontWeight:500,marginBottom:8}},i("Status"),":"),u().createElement(D._T,{value:null!=(t=null==f?void 0:f.status)?t:null})),u().createElement("div",{style:{marginBottom:16}},u().createElement("div",{style:{fontWeight:500,marginBottom:8}},i("Executed at"),":"),u().createElement("div",null,(0,g.fU)(null==f?void 0:f.updatedAt))),u().createElement("div",{style:{fontWeight:500,marginBottom:8}},i("Node result"),":"),u().createElement(a.Input.TextArea,{value:(0,P.S)(null==f?void 0:f.result),disabled:!0,autoSize:{minRows:4,maxRows:20},className:c.nodeJobResultClass,style:{whiteSpace:"pre",fontFamily:"monospace",fontSize:"80%"}}),(null==f?void 0:f.log)?u().createElement(u().Fragment,null,u().createElement("div",{style:{marginTop:16,marginBottom:8,fontWeight:500}},i("Log")),u().createElement(a.Input.TextArea,{value:f.log,disabled:!0,autoSize:{minRows:4,maxRows:20},style:{whiteSpace:"pre",fontFamily:"monospace",fontSize:"80%"}})):null)}function M(){var e,t,n,r,o=null!=(e=(0,f.$K)())?e:{},l=o.viewJob,i=o.setViewJob,c=(0,v.kj)(),s=(0,I.Y)(null==l||null==(t=l.node)?void 0:t.type),d=(0,N.A)().styles;return u().createElement(a.Modal,{open:!!l,onCancel:function(){return null==i?void 0:i(null)},footer:null,width:980,title:u().createElement("div",{className:d.nodeTitleClass},u().createElement(a.Tag,null,s?c(s.title):null==l||null==(n=l.node)?void 0:n.type),u().createElement("strong",null,null==l||null==(r=l.node)?void 0:r.title)),destroyOnClose:!0,modalRender:function(e){return u().createElement("div",{onClick:function(e){return e.stopPropagation()},onMouseDown:function(e){return e.stopPropagation()}},e)}},(null==l?void 0:l.id)!=null?u().createElement(G,{jobId:l.id}):null)}function z(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 L(e,t){if(e){if("string"==typeof e)return z(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 z(e,t)}}var F=function(e){var t,n=e.record,r=e.resource,o=e.refresh,l=(0,v.ec)().t,m=(0,c.useNavigate)(),p=function(e){if(Array.isArray(e))return e}(t=(0,i.useState)(null))||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)||L(t,2)||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=p[0],b=p[1],E=null!=n?n:{},h=E.jobs,w=void 0===h?[]:h,g=E.workflow,k=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}(E,["jobs","workflow"]),O=(0,i.useMemo)(function(){var e,t,n=function(e){if(Array.isArray(e))return z(e)}(e=null!=(t=null==g?void 0:g.nodes)?t:[])||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||L(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.")}();return(0,d.K)(n),!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})})}(n,w),n},[w,null==g?void 0:g.nodes]),S=(0,i.useMemo)(function(){var e;return null!=(e=O.find(function(e){return!e.upstream}))?e:null},[O]);return((0,i.useEffect)(function(){if(null==y?void 0:y.id){var e=w.find(function(e){return String(e.id)===String(y.id)});e&&b(e)}},[w,null==y?void 0:y.id]),g)?u().createElement(f.cB.Provider,{value:{workflow:g.type?g:null,nodes:O,execution:k,viewJob:y,setViewJob:b}},u().createElement(R,{execution:n,resource:r,refresh:o}),u().createElement(s.i,{entry:S}),u().createElement(M,null)):u().createElement(a.Result,{status:"404",title:l("Not found"),subTitle:l("Workflow of execution is not existed"),extra:u().createElement(a.Button,{onClick:function(){m(-1)}},l("Go back"))})};function U(e,t,n,r,o,l,a){try{var i=e[l](a),u=i.value}catch(e){n(e);return}i.done?t(u):Promise.resolve(u).then(r,o)}function _(){(0,v.ec)();var e=(0,o.useFlowContext)(),t=a.theme.useToken().token,n=(0,c.useParams)().id,r=e.api.resource("executions"),i=(0,l.useRequest)(function(){var e;return(e=function(){var e;return function(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),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(n)throw TypeError("Generator is already executing.");for(;a&&(a=0,c[0]&&(l=0)),l;)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 l.label++,{value:c[1],done:!1};case 5:l.label++,r=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],r=0}finally{n=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:if(!n)return[2,null];return[4,r.get({filterByTk:n,appends:["jobs","workflow","workflow.nodes","workflow.versionStats","workflow.stats"],except:["jobs.result","workflow.options"]})];case 1:return e=t.sent(),[2,(0,g.iD)(e)]}})},function(){var t=this,n=arguments;return new Promise(function(r,o){var l=e.apply(t,n);function a(e){U(l,r,o,a,i,"next",e)}function i(e){U(l,r,o,a,i,"throw",e)}a(void 0)})})()},{refreshDeps:[n]}),s=i.data,f=i.refresh,d=(null==s?void 0:s.id)!=null&&String(s.id)===String(n)?s:null;return n?d?u().createElement("div",{style:{display:"flex",flexDirection:"column",height:"100dvh",minHeight:0,overflow:"hidden",width:"100%",boxSizing:"border-box",background:t.colorBgLayout}},u().createElement("div",{style:{flex:1,minHeight:0,overflow:"hidden",position:"relative",width:"100%"}},u().createElement(F,{record:d,resource:r,refresh:f}))):u().createElement(a.Spin,null):null}},7001:function(e,t,n){n.d(t,{TD:function(){return i}});var r=n(2625),o=n(3485),l=n(8401);function a(){return"modern"===(0,o.getRouteRuntimeVersion)()}function i(){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 i}});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,'" })}}')}],i=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))},{})}}]);
@@ -1,10 +0,0 @@
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([["509"],{5764:function(e,t,n){n.r(t),n.d(t,{default:function(){return el}});var r=n(7375),o=n(3485),a=n(5477),l=n(7694),i=n(2625),u=n(2059),c=n(9155),s=n.n(c),d=n(5827),f=n(7541),m=n(5927),p=n(7001),y=n(9488),b=n(8743),v=n(1652),h=n(5953);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 w(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 E(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var a=e.apply(t,n);function l(e){w(a,r,o,l,i,"next",e)}function i(e){w(a,r,o,l,i,"throw",e)}l(void 0)})}}function S(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)||k(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){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)}}function x(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}}}}var C=["red","magenta","volcano","orange","gold","lime","green","cyan","blue","geekblue","purple","default"];function A(e){var t=(0,h.useTranslation)().t,n=C.map(function(e){return{value:e,label:s().createElement(u.Tag,{color:"default"===e?void 0:e},t(e.charAt(0).toUpperCase()+e.slice(1)))}});return s().createElement(u.Select,{allowClear:!0,value:e.value,options:n,onChange:e.onChange})}function F(e){var t=e.activeKey,n=e.onChange,r=e.categories,a=e.refreshCategories,d=e.className,f=(0,y.ec)().t,m=(0,y.kj)(),p=(0,l.useFlowContext)(),b=u.App.useApp().modal,v=p.api.resource("workflowCategories"),h=S((0,c.useState)(null),2),w=h[0],C=h[1],F=S((0,c.useState)(!1),2),O=F[0],T=F[1],I=S((0,c.useState)(!1),2),j=I[0],M=I[1],z=S(u.Form.useForm(),1)[0],P=(0,c.useMemo)(function(){return((function(e){if(Array.isArray(e))return g(e)})(r)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(r)||k(r)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()).sort(function(e,t){var n,r;return(null!=(n=e.sort)?n:0)-(null!=(r=t.sort)?r:0)}).map(function(e){return{id:e.id,label:m(e.title),color:e.color}})},[r,m]),D=(0,i.useMemoizedFn)(function(e){return r.find(function(t){return String(t.id)===String(e)})}),L=(0,i.useMemoizedFn)(function(){C(null),z.resetFields(),T(!0)}),B=(0,i.useMemoizedFn)(function(e){var t=D(e);t&&(C(t),z.setFieldsValue({title:t.title,color:t.color}),T(!0))}),W=(0,i.useMemoizedFn)(function(e){var r=D(e);r&&b.confirm({title:f("Delete category"),content:f("Are you sure you want to delete it?"),onOk:function(){return E(function(){return x(this,function(e){switch(e.label){case 0:return[4,v.destroy({filterByTk:r.id})];case 1:return e.sent(),String(r.id)===t&&n("all"),a(),[2]}})})()}})}),R=(0,i.useMemoizedFn)(function(e,t){return E(function(){return x(this,function(n){switch(n.label){case 0:return[4,v.move({sourceId:e,targetId:t})];case 1:return n.sent(),a(),[2]}})})()}),N=(0,i.useMemoizedFn)(function(){return E(function(){var e;return x(this,function(t){switch(t.label){case 0:return[4,z.validateFields()];case 1:e=t.sent(),M(!0),t.label=2;case 2:if(t.trys.push([2,,7,8]),!w)return[3,4];return[4,v.update({filterByTk:w.id,values:e})];case 3:return t.sent(),[3,6];case 4:return[4,v.create({values:e})];case 5:t.sent(),t.label=6;case 6:return T(!1),a(),[3,8];case 7:return M(!1),[7];case 8:return[2]}})})()});return s().createElement(s().Fragment,null,s().createElement(o.SortableCategoryTabs,{className:d,activeKey:t,onChange:n,allTab:{key:"all",label:f("All")},categories:P,onAdd:L,onEdit:B,onDelete:W,onSort:R,menuLabels:{edit:f("Edit category"),delete:f("Delete category")}}),s().createElement(u.Modal,{title:w?f("Edit category"):f("Add category"),open:O,confirmLoading:j,onOk:N,onCancel:function(){return T(!1)},okText:f("Submit"),cancelText:f("Cancel"),destroyOnClose:!0},s().createElement(u.Form,{form:z,layout:"vertical"},s().createElement(u.Form.Item,{name:"title",label:f("Title"),rules:[{required:!0}]},s().createElement(u.Input,null)),s().createElement(u.Form.Item,{name:"color",label:f("Color")},s().createElement(A,null)))))}var O=n(9239);function T(e){var t=e.value,n=e.onChange,o=e.disabled,a=(0,y.ec)().t,l=[{value:!1,label:a("Asynchronously"),tooltip:a("Will be executed in the background as a queued task.")},{value:!0,label:a("Synchronously"),tooltip:a("For user actions that require immediate feedback. Can not use asynchronous nodes in such mode, and it is not recommended to perform time-consuming operations under synchronous mode.")}];return s().createElement(u.Radio.Group,{value:t,disabled:o,onChange:function(e){return null==n?void 0:n(e.target.value)}},l.map(function(e){return s().createElement(u.Radio,{key:String(e.value),value:e.value},s().createElement(u.Space,{size:"small"},e.label,s().createElement(u.Tooltip,{title:e.tooltip},s().createElement(r.QuestionCircleOutlined,null))))}))}function I(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}var j=[{value:1e3,label:"Seconds"},{value:6e4,label:"Minutes"},{value:36e5,label:"Hours"},{value:864e5,label:"Days"}];function M(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:15552e6;return Math.min(Math.max(e,0),t)}function z(e){var t,n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:6e4;return e&&null!=(t=null==(n=j.findLast(function(t){return e%t.value==0}))?void 0:n.value)?t:r}function P(e){var t,n=e.value,r=e.onChange,o=(0,y.ec)().t,a=M(Number(null!=n?n:0)),l=function(e){if(Array.isArray(e))return e}(t=(0,c.useState)(function(){return z(a)}))||function(e){var t,n,r=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var o=[],a=!0,l=!1;try{for(r=r.call(e);!(a=(t=r.next()).done)&&(o.push(t.value),2!==o.length);a=!0);}catch(e){l=!0,n=e}finally{try{a||null==r.return||r.return()}finally{if(l)throw n}}return o}}(t)||function(e){if(e){if("string"==typeof e)return I(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 I(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.")}(),i=l[0],d=l[1];(0,c.useEffect)(function(){0!==a&&d(function(e){return z(a,e)})},[a]);var f=0===a?0:a/i,m=15552e6/i;return s().createElement(u.Space.Compact,{style:{width:"50%"}},s().createElement(u.InputNumber,{min:0,max:m,precision:0,value:f,onChange:function(e){return null==r?void 0:r(M(Number(e)||0,m)*i)},style:{width:"70%"}}),s().createElement(u.Select,{value:i,style:{width:"30%"},options:j.map(function(e){return{value:e.value,label:o(e.label)}}),onChange:function(e){var t=M(Number(null!=n?n:0)),o=0===t?0:t/i;d(e),null==r||r(M(o*e))}}))}function D(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 L(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 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 D(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 D(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 W(e){var t,n=e.mode,r=e.plugin,a=e.record,d=e.categoryOptions,f=e.onSubmitted,m=(0,y.ec)().t,p=(0,y.kj)(),b=(0,l.useFlowContext)(),v=u.theme.useToken().token,h=b.api.resource("workflows"),g=B(u.Form.useForm(),1)[0],w=B((0,c.useState)(!1),2),E=w[0],S=w[1],k=(0,c.useMemo)(function(){var e=Array.from(r.triggers.getEntities()).map(function(e){var t=B(e,2),n=t[0],r=t[1];return{value:n,label:(null==r?void 0:r.title)?p(r.title):String(n),description:(null==r?void 0:r.description)?p(r.description):void 0}});return"edit"===n&&(null==a?void 0:a.type)&&!e.some(function(e){return e.value===a.type})&&e.push({value:a.type,label:a.type,description:void 0}),e.sort(function(e,t){return String(e.label).localeCompare(String(t.label))})},[r,p,n,a]),x=(0,c.useMemo)(function(){return O.hi.filter(function(e){return!!e.value}).map(function(e){return{value:e.value,label:p(e.label),color:e.color,description:e.description?p(e.description):void 0}})},[p]),C=(0,c.useMemo)(function(){if("edit"===n){var t,r,o;return{title:null==a?void 0:a.title,type:null==a?void 0:a.type,sync:null!=(t=null==a?void 0:a.sync)&&t,description:null==a?void 0:a.description,categories:(null!=(r=null==a?void 0:a.categories)?r:[]).map(function(e){return e.id}),options:null!=(o=null==a?void 0:a.options)?o:{}}}return{type:e.type,sync:!1,options:{},config:{}}},[n,a,e.type]);(0,c.useEffect)(function(){g.setFieldsValue(C)},[g,C]);var A=null!=(t=u.Form.useWatch("type",g))?t:e.type,F=(0,c.useMemo)(function(){return r.getTriggerOptions(A)},[r,A]),I=(null==F?void 0:F.sync)!=null;(0,c.useEffect)(function(){I&&g.setFieldValue("sync",F.sync)},[I,F,g]);var j=(0,c.useMemo)(function(){if("create"!==n)return null;var e=null==F?void 0:F.PresetFieldsetLoader;return e?(0,c.lazy)(e):null},[n,F]),M=(0,i.useMemoizedFn)(function(){g.setFieldValue("config",{})}),z=(0,i.useMemoizedFn)(function(){var e;return(e=function(){var e,t,r,o,l,i;return function(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}}}}(this,function(u){switch(u.label){case 0:return[4,g.validateFields()];case 1:e=u.sent(),S(!0),u.label=2;case 2:if(u.trys.push([2,,7,8]),"create"!==n)return[3,4];return[4,h.create({values:{title:e.title,type:e.type,sync:!!e.sync,current:!0,config:null!=(t=e.config)?t:{},description:e.description,categories:null!=(r=e.categories)?r:[],options:null!=(o=e.options)?o:{}}})];case 3:return u.sent(),[3,6];case 4:return[4,h.update({filterByTk:a.id,values:{title:e.title,sync:!!e.sync,description:e.description,categories:null!=(l=e.categories)?l:[],options:null!=(i=e.options)?i:{}}})];case 5:u.sent(),u.label=6;case 6:return f(),[3,8];case 7:return S(!1),[7];case 8:return[2]}})},function(){var t=this,n=arguments;return new Promise(function(r,o){var a=e.apply(t,n);function l(e){L(a,r,o,l,i,"next",e)}function i(e){L(a,r,o,l,i,"throw",e)}l(void 0)})})()});return s().createElement(o.DrawerFormLayout,{title:m("create"===n?"Add new":"Edit"),onSubmit:z,submitting:E,submitText:m("Submit"),cancelText:m("Cancel")},s().createElement(u.Form,{form:g,layout:"vertical",initialValues:C},s().createElement(u.Form.Item,{name:"title",label:m("Title"),rules:[{required:!0}]},s().createElement(u.Input,null)),s().createElement(u.Form.Item,{name:"type",label:m("Trigger type"),rules:[{required:!0}]},s().createElement(u.Select,{options:k,disabled:"edit"===n,onChange:M,showSearch:!0,optionFilterProp:"label",popupMatchSelectWidth:!0,optionRender:function(e){var t,n;return s().createElement(u.Space,{direction:"vertical"},s().createElement(u.Tag,{color:"gold"},null==(t=e.data)?void 0:t.label),(null==(n=e.data)?void 0:n.description)?s().createElement(u.Typography.Text,{type:"secondary",style:{whiteSpace:"normal"}},e.data.description):null)}})),j?s().createElement("div",{style:{marginBottom:v.marginLG}},s().createElement("div",{style:{marginBottom:v.marginXS,fontWeight:600}},"".concat(m("Trigger configuration"),":")),s().createElement("div",{style:{padding:v.padding,border:"".concat(v.lineWidth,"px solid ").concat(v.colorBorderSecondary),borderRadius:v.borderRadiusLG}},s().createElement(c.Suspense,{fallback:s().createElement(u.Spin,null)},s().createElement(j,null)))):null,s().createElement(u.Form.Item,{name:"sync",label:m("Execute mode"),extra:m("Execute workflow asynchronously or synchronously based on trigger type, and could not be changed after created.")},s().createElement(T,{disabled:I||"edit"===n})),s().createElement(u.Form.Item,{name:"categories",label:m("Category")},s().createElement(u.Select,{mode:"multiple",allowClear:!0,options:d,optionFilterProp:"label"})),s().createElement(u.Form.Item,{name:"description",label:m("Description")},s().createElement(u.Input.TextArea,{autoSize:{minRows:2}})),s().createElement(u.Form.Item,{label:m("Advance options")},s().createElement(u.Card,{size:"small"},s().createElement(u.Form.Item,{name:["options","timeout"],label:m("Timeout settings"),extra:m("0 means unlimited. If you set any other value and the execution is still not completed when the timeout is reached, the execution plan will be terminated and the remaining nodes will not be executed. Time spent in queue is not counted; timing starts only after it first enters a processor."),initialValue:0},s().createElement(P,null)),s().createElement(u.Form.Item,{name:["options","stackLimit"],label:m("Maximum number of cycling triggers"),extra:m("The triggers of same workflow by some node (create, update and sub-flow etc.) more than this number will be ignored. Large number may cause performance issues. Please use with caution."),initialValue:1},s().createElement(u.InputNumber,{min:1,precision:0,style:{width:"50%"}})),s().createElement(u.Form.Item,{name:["options","deleteExecutionOnStatus"],label:m("Auto delete history when execution is on end status")},s().createElement(u.Select,{mode:"multiple",allowClear:!0,options:x,optionFilterProp:"label",optionRender:function(e){var t,n,r;return s().createElement(u.Space,null,s().createElement(u.Tag,{color:null==(t=e.data)?void 0:t.color},null==(n=e.data)?void 0:n.label),(null==(r=e.data)?void 0:r.description)?s().createElement("span",null,e.data.description):null)},tagRender:function(e){var t,n=e.value,r=e.label,o=e.closable,a=e.onClose;return s().createElement(u.Tag,{color:null==(t=O.m2[String(n)])?void 0:t.color,closable:o,onClose:a,onMouseDown:function(e){e.preventDefault(),e.stopPropagation()}},r)}}))))))}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 N(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 G(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var a=e.apply(t,n);function l(e){N(a,r,o,l,i,"next",e)}function i(e){N(a,r,o,l,i,"throw",e)}l(void 0)})}}function q(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 V(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 $(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)||U(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 _(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function K(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)||U(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 U(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)}}function X(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 H(){var e=_(["\n background: ",";\n padding: 0;\n "]);return H=function(){return e},e}function Q(){var e=_(["\n margin-left: -1px;\n background: ",";\n\n .ant-tabs {\n margin-bottom: 0;\n }\n\n .ant-tabs-nav {\n margin-bottom: 0;\n }\n\n .ant-tabs-content-holder {\n display: none;\n }\n "]);return Q=function(){return e},e}function Z(){var e=_(["\n margin: 0;\n padding: ","px;\n background: ",";\n border-radius: 0 ","px ","px ","px;\n "]);return Z=function(){return e},e}var J=["id","description","categories"],Y={position:"absolute",width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",border:0};function ee(e){var t,n=e.notice,o=u.theme.useToken().token,a=s().useId();return s().createElement(u.Tooltip,{title:null!=(t=n.description)?t:n.message,trigger:["hover","focus"]},s().createElement("span",{"aria-labelledby":a,role:"img",tabIndex:0,style:{alignItems:"center",color:function(e){switch(e){case"error":return o.colorErrorTextActive;case"success":return o.colorSuccessTextActive;case"warning":default:return o.colorWarningTextActive;case"info":return o.colorInfoTextActive}}(n.type),cursor:"help",display:"inline-flex",fontSize:o.fontSize,justifyContent:"center",lineHeight:1}},function(e){switch(e){case"error":return s().createElement(r.CloseCircleOutlined,{"aria-hidden":!0});case"info":return s().createElement(r.InfoCircleOutlined,{"aria-hidden":!0});case"success":return s().createElement(r.CheckCircleOutlined,{"aria-hidden":!0});default:return s().createElement(r.ExclamationCircleOutlined,{"aria-hidden":!0})}}(n.type||"warning"),s().createElement("span",{id:a,style:Y},n.message)))}function et(e){var t=e.notices;return t.length?s().createElement(s().Fragment,null,t.map(function(e,t){return s().createElement(ee,{key:"".concat(e.key,"-").concat(t),notice:e})})):null}function en(e){var t=e.maxWidth,n=e.notices,r=e.title,o=u.theme.useToken().token;return s().createElement("span",{style:{display:"inline-block",width:"max-content",maxWidth:t,overflowWrap:"anywhere",whiteSpace:"normal",wordBreak:"break-word"}},r,n.length?s().createElement("span",{style:{display:"inline-flex",flexWrap:"wrap",gap:o.marginXS,marginInlineStart:o.marginXS}},s().createElement(et,{notices:n})):null)}function er(e){var t=e.record,n=e.resource,r=e.onChanged,o=(0,y.ec)().t,a=u.App.useApp().message,l=$((0,c.useState)(!1),2),d=l[0],f=l[1],m=(0,i.useMemoizedFn)(function(e){return G(function(){return X(this,function(l){switch(l.label){case 0:if((null==t?void 0:t.id)==null)return[2];f(!0),l.label=1;case 1:return l.trys.push([1,3,4,5]),[4,n.update({filterByTk:t.id,values:{enabled:e}})];case 2:return l.sent(),setTimeout(function(){return r()},0),[3,5];case 3:return l.sent(),a.error(o("Operation failed")),[3,5];case 4:return f(!1),[7];case 5:return[2]}})})()});return s().createElement(u.Switch,{checked:!!(null==t?void 0:t.enabled),size:"small",disabled:d,loading:d,onClick:function(e,t){var n;return null==t||null==(n=t.stopPropagation)?void 0:n.call(t)},onChange:m})}function eo(e){var t=e.record,n=e.resource,r=e.onSubmitted,a=(0,y.ec)().t,l=$(u.Form.useForm(),1)[0],d=$((0,c.useState)(!1),2),f=d[0],m=d[1],p=(0,i.useMemoizedFn)(function(){return G(function(){var e;return X(this,function(o){switch(o.label){case 0:return[4,l.validateFields()];case 1:e=o.sent(),m(!0),o.label=2;case 2:return o.trys.push([2,,4,5]),[4,n.revision({filterByTk:t.id,values:e})];case 3:return o.sent(),r(),[3,5];case 4:return m(!1),[7];case 5:return[2]}})})()});return s().createElement(o.DialogFormLayout,{title:a("Duplicate to new workflow"),onSubmit:p,submitting:f,submitText:a("Submit"),cancelText:a("Cancel")},s().createElement(u.Form,{form:l,layout:"vertical"},s().createElement(u.Form.Item,{name:"title",label:a("Title")},s().createElement(u.Input,null))))}function ea(){var e,t=(0,y.ec)().t,n=(0,y.kj)(),d=(0,l.useFlowContext)(),h=(0,p.TD)().getWorkflowCanvasPath,g=u.theme.useToken().token,w=g.screenXS-3*g.paddingXL,E=w+2*g.padding,S=u.App.useApp(),k=S.modal,x=S.message,C=d.api.resource("workflows"),A=d.app.pm.get(b.A),O=(0,a.css)(H(),g.colorBgLayout),T=(0,a.css)(Q(),g.colorBgLayout),I=(0,a.css)(Z(),g.paddingLG,g.colorBgContainer,g.borderRadiusLG,g.borderRadiusLG,g.borderRadiusLG),j=(0,c.useMemo)(function(){var e,t,n,r;return null==(r=d.dataSourceManager)||null==(n=r.getDataSource)||null==(t=n.call(r,"main"))||null==(e=t.getCollection)?void 0:e.call(t,"workflows")},[d]),M=$((0,c.useState)("all"),2),z=M[0],P=M[1],D=$((0,c.useState)(1),2),L=D[0],B=D[1],R=$((0,c.useState)(o.DEFAULT_PAGE_SIZE),2),N=R[0],q=R[1],V=$((0,c.useState)([]),2),_=V[0],U=V[1],Y=$((0,c.useState)(void 0),2),ee=Y[0],et=Y[1],ea=$((0,c.useState)({}),2),el=ea[0],ei=ea[1],eu=(0,i.useMemoizedFn)(function(e){et(e),B(1)}),ec=(0,i.useRequest)(function(){return G(function(){var e,t,n;return X(this,function(r){switch(r.label){case 0:return[4,d.api.resource("workflowCategories").list({paginate:!1,sort:["sort"]})];case 1:return[2,null!=(e=null==(n=r.sent())||null==(t=n.data)?void 0:t.data)?e:[]]}})})()}),es=ec.data,ed=ec.refresh,ef=(0,c.useMemo)(function(){return es||[]},[es]),em=(0,c.useMemo)(function(){return ef.map(function(e){var t;return{value:e.id,label:n(null!=(t=e.title)?t:"")}})},[ef,n]),ep=(0,i.useRequest)(function(){return G(function(){var e,t;return X(this,function(n){switch(n.label){case 0:return e={current:!0},"all"!==z&&(e["categories.id"]=z),t=ee?{$and:[e,ee]}:e,[4,C.list({page:L,pageSize:N,sort:["-createdAt"],appends:["categories","stats"],except:["config"],filter:t})];case 1:var r,o,a,l,i;return[2,{records:l=Array.isArray(a=null==(o=null==(r=n.sent())?void 0:r.data)?void 0:o.data)?a:Array.isArray(null==a?void 0:a.data)?a.data:[],total:(i=(null==o?void 0:o.meta)||(null==a?void 0:a.meta)||{}).count||i.total||l.length}]}})})()},{refreshDeps:[L,N,z,ee]}),ey=ep.data,eb=ep.loading,ev=ep.refresh,eh=(0,c.useMemo)(function(){return(null==ey?void 0:ey.records)||[]},[null==ey?void 0:ey.records]);(0,c.useEffect)(function(){var e=!1;return G(function(){var t;return X(this,function(n){switch(n.label){case 0:if(!eh.length)return ei({}),[2];return ei({}),[4,A.loadWorkflowListNotices({api:d.api,surface:"workflow-list-row",workflows:eh})];case 1:return t=n.sent(),e||ei(t),[2]}})})().catch(function(){e||ei({})}),function(){e=!0}},[d.api,A,eh]);var eg=(0,i.useMemoizedFn)(function(e,t){if(t!==N){q(t),B(1);return}B(e)}),ew=(0,i.useMemoizedFn)(function(e){var t=e?A.getTriggerOptions(e):void 0;return(null==t?void 0:t.title)?n(t.title):e}),eE=(0,i.useMemoizedFn)(function(e,t){d.viewer.drawer({width:"50%",closable:!0,content:function(){return s().createElement(W,{mode:e,plugin:A,record:t,categoryOptions:em,onSubmitted:function(){return ev()}})}})}),eS=(0,i.useMemoizedFn)(function(e){d.viewer.dialog({width:520,closable:!0,content:function(){return s().createElement(eo,{record:e,resource:C,onSubmitted:function(){return ev()}})}})}),ek=(0,i.useMemoizedFn)(function(e){d.router.navigate(h(e.id))}),ex=(0,i.useMemoizedFn)(function(e){d.viewer.drawer({width:"60%",closable:!0,title:t("Execution history"),content:function(){return s().createElement(v.S,{workflowKey:e.key})}})}),eC=(0,i.useMemoizedFn)(function(e){k.confirm({title:t("Delete record"),content:t("Are you sure you want to delete it?"),onOk:function(){return G(function(){return X(this,function(t){switch(t.label){case 0:return[4,C.destroy({filterByTk:e})];case 1:return t.sent(),U([]),ev(),[2]}})})()}})}),eA=(0,i.useMemoizedFn)(function(){return G(function(){return X(this,function(e){switch(e.label){case 0:return[4,C.sync()];case 1:return e.sent(),x.success(t("Operation succeeded")),ev(),[2]}})})()}),eF=!!((null==(e=d.app)?void 0:e.name)&&"main"!==d.app.name||d.app.pm.get("multi-app-share-collection")),eO=(0,c.useMemo)(function(){return[{title:t("Title"),dataIndex:"title",width:1,onHeaderCell:function(){return{style:{maxWidth:E,whiteSpace:"nowrap"}}},onCell:function(){return{style:{maxWidth:E,overflowWrap:"anywhere",whiteSpace:"normal",wordBreak:"break-word"}}},render:function(e,n){var r=!0===n.invalid?[{key:"workflow-invalid",message:t("This workflow has configuration issues and may not work properly."),type:"warning"}]:[],o=A.getWorkflowNotices({surface:"workflow-list-row",workflow:n}),a=el[String(n.id)]||[],l=K(r).concat(K(o),K(a));return s().createElement(en,{title:e,notices:l,maxWidth:w})}},{title:t("Category"),dataIndex:"categories",render:function(e){return s().createElement(u.Space,{size:[0,4],wrap:!0},(null!=e?e:[]).map(function(e){return s().createElement(u.Tag,{key:e.id,color:"default"===e.color?void 0:e.color},n(e.title))}))}},{title:t("Trigger type"),dataIndex:"type",render:function(e){return e?s().createElement(u.Tag,{color:"gold"},ew(e)):null}},{title:t("Execute mode"),dataIndex:"sync",width:140,render:function(e){return s().createElement(m.t,{value:e})}},{title:t("Enabled"),dataIndex:"enabled",width:100,render:function(e,t){return s().createElement(er,{record:t,resource:C,onChanged:ev})}},{title:t("Executed"),dataIndex:["stats","executed"],width:100,render:function(e,t){var n,r;return s().createElement("a",{"aria-label":"executed-".concat(t.title),onClick:function(){return ex(t)}},null!=(n=null==(r=t.stats)?void 0:r.executed)?n:0)}},{title:t("Actions"),width:260,render:function(e,n){return s().createElement(u.Space,{size:"middle",wrap:!1,style:{whiteSpace:"nowrap"}},s().createElement("a",{onClick:function(){return ek(n)}},t("Configure")),s().createElement("a",{onClick:function(){return eE("edit",n)}},t("Edit")),s().createElement("a",{onClick:function(){return eS(n)}},t("Duplicate")),s().createElement("a",{onClick:function(){return eC(n.id)}},t("Delete")))}}]},[eC,ek,eS,ex,eE,A,ev,C,t,ew,E,w,el]);return s().createElement("div",{className:O},s().createElement(F,{className:T,activeKey:z,onChange:function(e){P(e),B(1)},categories:ef,refreshCategories:ed}),s().createElement("div",{className:I},s().createElement(u.Flex,{justify:"space-between",align:"center",style:{marginBottom:g.margin}},s().createElement(o.CollectionFilter,{collection:j,defaultValue:f.d,nonfilterableFieldNames:J,onChange:eu,t:n}),s().createElement(u.Space,null,s().createElement(u.Button,{icon:s().createElement(r.ReloadOutlined,null),onClick:function(){return ev()}},t("Refresh")),eF?s().createElement(u.Tooltip,{title:t("Sync enabled status of all workflows from database")},s().createElement(u.Button,{icon:s().createElement(r.SyncOutlined,null),onClick:eA},t("Sync"))):null,s().createElement(u.Button,{icon:s().createElement(r.DeleteOutlined,null),disabled:!_.length,onClick:function(){return eC(_)}},t("Delete")),s().createElement(u.Button,{type:"primary",icon:s().createElement(r.PlusOutlined,null),onClick:function(){return eE("create")}},t("Add new")))),s().createElement(o.Table,{rowKey:"id",loading:eb,columns:eO,dataSource:(null==ey?void 0:ey.records)||[],rowSelection:{selectedRowKeys:_,onChange:U},pagination:{current:L,pageSize:N,total:(null==ey?void 0:ey.total)||0,onChange:eg},tableLayout:"auto"})))}function el(){var e=(0,y.kj)(),t=(0,l.useFlowContext)().app.pm.get(b.A),n=(0,c.useMemo)(function(){var n=Array.from(t.triggers.getEntities()).map(function(t){var n=$(t,2),r=n[0],o=n[1];return{value:r,label:(null==o?void 0:o.title)?e(o.title):String(r)}}).sort(function(e,t){return String(e.label).localeCompare(String(t.label))});return[V(q({},d.A),{hidden:!0,fields:d.A.fields.map(function(e){return(null==e?void 0:e.name)==="type"&&e.uiSchema?V(q({},e),{uiSchema:V(q({},e.uiSchema),{enum:n})}):e})})]},[t,e]);return s().createElement(o.ExtendCollectionsProvider,{collections:n},s().createElement(ea,null))}},7541:function(e,t,n){n.d(t,{d:function(){return r}});var r={$and:[{title:{$includes:""}},{type:{$eq:void 0}}]}}}]);
@@ -1,10 +0,0 @@
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([["635"],{8950:function(e,l,n){n.d(l,{UpdateFieldset:function(){return g},UpdatePresetFieldset:function(){return p}});var t=n(9155),o=n.n(t),a=n(2059),i=n(2235),r=n(8198),s=n(9785),c=n(9488),u=n(5329),d=n(6855),m=function(e){return!(0,r.Cg)(e)||"belongsTo"===e.type};function f(){var e,l,n=(0,c.kj)(),u=a.Form.useFormInstance(),f=(0,i.Zt)(),g=a.Form.useWatch(["config","collection"]),p=a.Form.useWatch(["config","params","individualHooks"],u),F=[{label:(e=(0,c.kj)())("Update in a batch"),value:!1,tooltip:e("Update all eligible data at one time, which has better performance when the amount of data is large. But association fields are not supported (unless foreign key in current collection), and the updated data will not trigger other workflows.")},{label:e("Update one by one"),value:!0,tooltip:e("The updated data can trigger other workflows, and the audit log will also be recorded. But it is usually only applicable to several or dozens of pieces of data, otherwise there will be performance problems.")}],h=!0!==p,v=!!(null==f||null==(l=f.versionStats)?void 0:l.executed);return((0,t.useEffect)(function(){g&&(u.setFieldValue(["config","usingAssignFormSchema"],void 0),u.setFieldValue(["config","assignFormSchema"],void 0),void 0===u.getFieldValue(["config","params","individualHooks"])&&u.setFieldValue(["config","params","individualHooks"],!1))},[g,u]),g)?o().createElement(o().Fragment,null,o().createElement(a.Form.Item,{name:["config","params","individualHooks"],label:n("Update mode")},o().createElement(s.$,{options:F})),o().createElement(d.F,{collection:g,label:n("Only update records matching conditions")}),o().createElement(a.Form.Item,{name:["config","params","values"],label:n("Fields values")},o().createElement(r.XH,{collection:g,fieldFilter:h?m:void 0,pruneFilteredValues:h,disabled:v}))):null}function g(){var e,l=(0,i.TA)(),n=a.Form.useFormInstance();return o().createElement(o().Fragment,null,o().createElement(u.F,{disabled:!!(null==l||null==(e=l.config)?void 0:e.collection),onCollectionChanged:function(){n.setFieldValue(["config","params","filter"],{}),n.setFieldValue(["config","params","values"],{}),n.setFieldValue(["config","usingAssignFormSchema"],void 0),n.setFieldValue(["config","assignFormSchema"],void 0)}}),o().createElement(f,null))}function p(){return o().createElement(u.F,null)}}}]);
@@ -1,10 +0,0 @@
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}}]);
@@ -1,10 +0,0 @@
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)}}}]);
@@ -1,10 +0,0 @@
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})}})}}}]);