@nocobase/plugin-workflow 2.3.0-alpha.1 → 3.0.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/dist/client/438.8bd46a04ca080a4e.js +10 -0
  2. package/dist/client/{509.88792f5bd054b2af.js → 509.3a4ac27f10833c75.js} +1 -1
  3. package/dist/client/{67.56a3d15a55ab7d5c.js → 67.5eb8767a709f27d9.js} +1 -1
  4. package/dist/client/828.d03ecfc4ac66e0f8.js +10 -0
  5. package/dist/client/87.b62b1123d4d560fb.js +10 -0
  6. package/dist/client/WorkflowTasks.d.ts +26 -3
  7. package/dist/client/index.d.ts +1 -1
  8. package/dist/client/index.js +1 -1
  9. package/dist/client-v2/{387.5e61d648d16dbf1b.js → 387.e002f8eb34aa77e3.js} +1 -1
  10. package/dist/client-v2/438.1459f1a7cd19ea4f.js +10 -0
  11. package/dist/client-v2/513.18e257b3025d7692.js +10 -0
  12. package/dist/client-v2/{677.7382807126d9621a.js → 677.7007f4a6a4640165.js} +1 -1
  13. package/dist/client-v2/canvas/WorkflowVariableInput.d.ts +8 -1
  14. package/dist/client-v2/canvas/WorkflowVariableTextArea.d.ts +5 -0
  15. package/dist/client-v2/constants.d.ts +4 -4
  16. package/dist/client-v2/index.js +1 -1
  17. package/dist/client-v2/legacySettingsRedirect.d.ts +15 -0
  18. package/dist/client-v2/plugin.d.ts +1 -1
  19. package/dist/common/collections/userWorkflowTaskStats.d.ts +54 -0
  20. package/dist/common/collections/userWorkflowTaskStats.js +87 -0
  21. package/dist/externalVersion.js +13 -13
  22. package/dist/locale/en-US.json +4 -0
  23. package/dist/locale/zh-CN.json +4 -0
  24. package/dist/node_modules/cron-parser/package.json +1 -1
  25. package/dist/node_modules/joi/package.json +1 -1
  26. package/dist/node_modules/lru-cache/package.json +1 -1
  27. package/dist/node_modules/nodejs-snowflake/package.json +1 -1
  28. package/dist/server/Dispatcher.d.ts +24 -13
  29. package/dist/server/Dispatcher.js +160 -143
  30. package/dist/server/Plugin.d.ts +57 -11
  31. package/dist/server/Plugin.js +355 -15
  32. package/dist/server/Processor.d.ts +1 -7
  33. package/dist/server/Processor.js +11 -7
  34. package/dist/server/actions/executions.js +3 -6
  35. package/dist/server/actions/index.js +3 -1
  36. package/dist/server/actions/jobs.js +1 -2
  37. package/dist/server/{migrations/20260713000000-remove-workflow-validation.d.ts → actions/userWorkflowTaskStats.d.ts} +2 -5
  38. package/dist/server/actions/userWorkflowTaskStats.js +112 -0
  39. package/dist/server/actions/workflows.js +17 -0
  40. package/dist/server/collections/userWorkflowTaskStats.d.ts +11 -0
  41. package/dist/server/collections/userWorkflowTaskStats.js +43 -0
  42. package/dist/server/index.d.ts +1 -0
  43. package/dist/server/types/Execution.d.ts +2 -0
  44. package/dist/server/types/Job.d.ts +5 -0
  45. package/dist/server/utils.d.ts +1 -0
  46. package/dist/server/utils.js +5 -0
  47. package/dist/swagger/index.d.ts +68 -1
  48. package/dist/swagger/index.js +61 -1
  49. package/package.json +2 -2
  50. package/dist/client/438.6c6409d821d8c353.js +0 -10
  51. package/dist/client/828.6880ab21513b1968.js +0 -10
  52. package/dist/client/87.083467b89aaf3e53.js +0 -10
  53. package/dist/client-v2/438.b7df0416b66f8f64.js +0 -10
  54. package/dist/client-v2/513.617697f74783a611.js +0 -10
  55. package/dist/server/migrations/20260713000000-remove-workflow-validation.js +0 -56
@@ -106,6 +106,7 @@ async function update(context, next) {
106
106
  return import_actions.default.update(context, next);
107
107
  }
108
108
  async function destroy(context, next) {
109
+ const plugin = context.app.pm.get(import_Plugin.default);
109
110
  const repository = import_actions.utils.getRepositoryFromParams(context);
110
111
  const { filterByTk, filter } = context.action.params;
111
112
  await context.db.sequelize.transaction(async (transaction) => {
@@ -116,6 +117,15 @@ async function destroy(context, next) {
116
117
  transaction
117
118
  });
118
119
  const ids = new Set(items.map((item) => item.id));
120
+ const affectedKeys = Array.from(new Set(items.map((item) => item.get("key"))));
121
+ const affectedTaskStats = affectedKeys.length ? await context.db.getRepository("userWorkflowTaskStats").find({
122
+ filter: {
123
+ workflowKey: affectedKeys
124
+ },
125
+ fields: ["userId"],
126
+ transaction
127
+ }) : [];
128
+ const affectedUserIds = Array.from(new Set(affectedTaskStats.map((item) => item.get("userId"))));
119
129
  const keysSet = new Set(items.filter((item) => item.current).map((item) => item.key));
120
130
  const revisions = await repository.find({
121
131
  filter: {
@@ -138,6 +148,13 @@ async function destroy(context, next) {
138
148
  },
139
149
  transaction
140
150
  });
151
+ if (affectedKeys.length) {
152
+ await plugin.repairTaskStats({
153
+ workflowKeys: affectedKeys,
154
+ ...affectedUserIds.length ? { userIds: affectedUserIds } : {},
155
+ transaction
156
+ });
157
+ }
141
158
  context.body = deleted;
142
159
  });
143
160
  next();
@@ -0,0 +1,11 @@
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
+ import { CollectionOptions } from '@nocobase/database';
10
+ declare const _default: CollectionOptions;
11
+ export default _default;
@@ -0,0 +1,43 @@
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
+ var __create = Object.create;
11
+ var __defProp = Object.defineProperty;
12
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
13
+ var __getOwnPropNames = Object.getOwnPropertyNames;
14
+ var __getProtoOf = Object.getPrototypeOf;
15
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
16
+ var __export = (target, all) => {
17
+ for (var name in all)
18
+ __defProp(target, name, { get: all[name], enumerable: true });
19
+ };
20
+ var __copyProps = (to, from, except, desc) => {
21
+ if (from && typeof from === "object" || typeof from === "function") {
22
+ for (let key of __getOwnPropNames(from))
23
+ if (!__hasOwnProp.call(to, key) && key !== except)
24
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
25
+ }
26
+ return to;
27
+ };
28
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
29
+ // If the importer is in node compatibility mode or this is not an ESM
30
+ // file that has been converted to a CommonJS file using a Babel-
31
+ // compatible transform (i.e. "__esModule" has not been set), then set
32
+ // "default" to the CommonJS "module.exports" for node compatibility.
33
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
34
+ mod
35
+ ));
36
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
37
+ var userWorkflowTaskStats_exports = {};
38
+ __export(userWorkflowTaskStats_exports, {
39
+ default: () => userWorkflowTaskStats_default
40
+ });
41
+ module.exports = __toCommonJS(userWorkflowTaskStats_exports);
42
+ var import_userWorkflowTaskStats = __toESM(require("../../common/collections/userWorkflowTaskStats"));
43
+ var userWorkflowTaskStats_default = import_userWorkflowTaskStats.default;
@@ -17,4 +17,5 @@ export type { EventOptions } from './Dispatcher';
17
17
  export { default as Processor } from './Processor';
18
18
  export type { BackgroundAbortHandle, ProcessorOptions, ScopeTransaction } from './Processor';
19
19
  export { default } from './Plugin';
20
+ export type { RepairTaskStatsOptions, TaskStatsProvider, TaskStatsRow } from './Plugin';
20
21
  export * from './types';
@@ -12,11 +12,13 @@ import WorkflowModel from './Workflow';
12
12
  export default class ExecutionModel extends Model {
13
13
  static readonly database: Database;
14
14
  id: number;
15
+ workflowId: number;
15
16
  title: string;
16
17
  context: any;
17
18
  status: number;
18
19
  reason?: string | null;
19
20
  dispatched: boolean;
21
+ manually?: boolean | null;
20
22
  parentExecutionId?: number | null;
21
23
  stack?: Array<number | string>;
22
24
  startedAt?: Date | null;
@@ -8,8 +8,11 @@
8
8
  */
9
9
  import { BelongsToGetAssociationMixin, Model } from '@nocobase/database';
10
10
  import FlowNodeModel from './FlowNode';
11
+ import ExecutionModel from './Execution';
11
12
  export default class JobModel extends Model {
12
13
  id: number;
14
+ executionId: number;
15
+ workflowId?: number;
13
16
  status: number;
14
17
  result?: any;
15
18
  meta?: any;
@@ -20,4 +23,6 @@ export default class JobModel extends Model {
20
23
  nodeId: number;
21
24
  node?: FlowNodeModel;
22
25
  getNode: BelongsToGetAssociationMixin<FlowNodeModel>;
26
+ execution?: ExecutionModel;
27
+ getExecution: BelongsToGetAssociationMixin<ExecutionModel>;
23
28
  }
@@ -16,6 +16,7 @@ type AbortOptions = Transactionable & {
16
16
  reason?: (typeof EXECUTION_REASON)[keyof typeof EXECUTION_REASON];
17
17
  };
18
18
  export declare function getExecutionLockKey(executionId: number | string): string;
19
+ export declare function getJobLockKey(jobId: number | string): string;
19
20
  export declare function isLockAcquireError(error: unknown): boolean;
20
21
  export declare function validateCollectionField(collection: string, dataSourceManager: DataSourceManager): Record<string, string> | null;
21
22
  export declare function getExecutionStatusName(status: number | null | undefined): string;
@@ -29,6 +29,7 @@ __export(utils_exports, {
29
29
  abortExecution: () => abortExecution,
30
30
  getExecutionLockKey: () => getExecutionLockKey,
31
31
  getExecutionStatusName: () => getExecutionStatusName,
32
+ getJobLockKey: () => getJobLockKey,
32
33
  getWorkflowExecutionLogMeta: () => getWorkflowExecutionLogMeta,
33
34
  isLockAcquireError: () => isLockAcquireError,
34
35
  toJSON: () => toJSON,
@@ -41,6 +42,9 @@ var import_constants = require("./constants");
41
42
  function getExecutionLockKey(executionId) {
42
43
  return `workflow:execution:${executionId}`;
43
44
  }
45
+ function getJobLockKey(jobId) {
46
+ return `workflow:job:${jobId}`;
47
+ }
44
48
  function isLockAcquireError(error) {
45
49
  return error instanceof Error && error.constructor.name === "LockAcquireError";
46
50
  }
@@ -197,6 +201,7 @@ function toJSON(data) {
197
201
  abortExecution,
198
202
  getExecutionLockKey,
199
203
  getExecutionStatusName,
204
+ getJobLockKey,
200
205
  getWorkflowExecutionLogMeta,
201
206
  isLockAcquireError,
202
207
  toJSON,
@@ -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": "3.0.0-alpha.1",
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": "22d8be8ece179cfa5c8a4ebb2c896c92bd418e03",
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([["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
- (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})}})}}}]);
@@ -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([["87"],{5927:function(e,t,n){n.d(t,{t:function(){return c}});var r=n(2059),o=n(9155),l=n.n(o),a=n(9488);function c(e){var t=e.value,n=(0,a.ec)().t;return t?l().createElement(r.Tag,{color:"orange"},n("Synchronously")):l().createElement(r.Tag,{color:"cyan"},n("Asynchronously"))}},1652:function(e,t,n){n.d(t,{S:function(){return T}});var r,o=n(7375),l=n(3485),a=n(7694),c=n(2625),u=n(2059),i=n(9185),s=n.n(i),d=n(9155),f=n.n(d),m=n(6358),E=n(9239),b=n(9488);function p(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var y=(p(r={},E.GO.QUEUEING,f().createElement(o.HourglassOutlined,null)),p(r,E.GO.STARTED,f().createElement(o.LoadingOutlined,null)),p(r,E.GO.RESOLVED,f().createElement(o.CheckOutlined,null)),p(r,E.GO.FAILED,f().createElement(o.ExclamationOutlined,null)),p(r,E.GO.ERROR,f().createElement(o.CloseOutlined,null)),p(r,E.GO.ABORTED,f().createElement(o.MinusOutlined,{rotate:90})),p(r,E.GO.CANCELED,f().createElement(o.MinusOutlined,{rotate:45})),p(r,E.GO.REJECTED,f().createElement(o.MinusOutlined,null)),p(r,E.GO.RETRY_NEEDED,f().createElement(o.RedoOutlined,null)),r);function v(e){var t=e.value,n=(0,b.kj)(),r=E.m2[t];if(!r)return null;var o=y[t];return f().createElement(u.Tag,{color:r.color,icon:o},n(r.label))}var g=n(7001);function w(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function O(e,t,n,r,o,l,a){try{var c=e[l](a),u=c.value}catch(e){n(e);return}c.done?t(u):Promise.resolve(u).then(r,o)}function h(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var l=e.apply(t,n);function a(e){O(l,r,o,a,c,"next",e)}function c(e){O(l,r,o,a,c,"throw",e)}a(void 0)})}}function C(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){var r;r=n[t],t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r})}return e}function k(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t})(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}function R(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,o=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var l=[],a=!0,c=!1;try{for(o=o.call(e);!(a=(n=o.next()).done)&&(l.push(n.value),!t||l.length!==t);a=!0);}catch(e){c=!0,r=e}finally{try{a||null==o.return||o.return()}finally{if(c)throw r}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return w(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return w(e,t)}}(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function S(e,t){var n,r,o,l={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),c=Object.defineProperty;return c(a,"next",{value:u(0)}),c(a,"throw",{value:u(1)}),c(a,"return",{value:u(2)}),"function"==typeof Symbol&&c(a,Symbol.iterator,{value:function(){return this}}),a;function u(c){return function(u){var i=[c,u];if(n)throw TypeError("Generator is already executing.");for(;a&&(a=0,i[0]&&(l=0)),l;)try{if(n=1,r&&(o=2&i[0]?r.return:i[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,i[1])).done)return o;switch(r=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return l.label++,{value:i[1],done:!1};case 5:l.label++,r=i[1],i=[0];continue;case 7:i=l.ops.pop(),l.trys.pop();continue;default:if(!(o=(o=l.trys).length>0&&o[o.length-1])&&(6===i[0]||2===i[0])){l=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){l.label=i[1];break}if(6===i[0]&&l.label<o[1]){l.label=o[1],o=i;break}if(o&&l.label<o[2]){l.label=o[2],l.ops.push(i);break}o[2]&&l.ops.pop(),l.trys.pop();continue}i=t.call(e,l)}catch(e){i=[6,e],r=0}finally{n=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}}}var D=["workflow"];function A(e){var t=e.workflowKey,n=(0,b.ec)().t,r=(0,b.kj)(),i=(0,a.useFlowContext)(),m=(0,a.useFlowEngine)(),p=(0,g.TD)().getWorkflowExecutionPath,y=u.theme.useToken().token,w=u.App.useApp(),O=w.modal,C=w.message,k=i.api.resource("executions"),A=(0,d.useMemo)(function(){var e,t,n,r;return null==(r=m.context.dataSourceManager)||null==(n=r.getDataSource)||null==(t=n.call(r,"main"))||null==(e=t.getCollection)?void 0:e.call(t,"executions")},[m]),T=R((0,d.useState)(1),2),x=T[0],j=T[1],P=R((0,d.useState)(20),2),M=P[0],G=P[1],F=R((0,d.useState)(void 0),2),I=F[0],N=F[1],z=R((0,d.useState)([]),2),L=z[0],B=z[1],U=(0,c.useMemoizedFn)(function(e){N(e),j(1)}),_=(0,c.useRequest)(function(){return h(function(){var e;return S(this,function(n){switch(n.label){case 0:return e=I?{$and:[{key:t},I]}:{key:t},[4,k.list({page:x,pageSize:M,sort:["-id"],except:["context","output","stack"],filter:e})];case 1:var r,o,l,a,c;return[2,{records:a=Array.isArray(l=null==(o=null==(r=n.sent())?void 0:r.data)?void 0:o.data)?l:Array.isArray(null==l?void 0:l.data)?l.data:[],total:(c=(null==o?void 0:o.meta)||(null==l?void 0:l.meta)||{}).count||c.total||a.length}]}})})()},{refreshDeps:[x,M,I,t]}),K=_.data,Q=_.loading,V=_.refresh,Y=(0,c.useMemoizedFn)(function(e,t){if(t!==M){G(t),j(1);return}j(e)}),J=(0,c.useMemoizedFn)(function(e){O.confirm({title:n("Delete record"),content:n("Are you sure you want to delete it?"),onOk:function(){return h(function(){return S(this,function(t){switch(t.label){case 0:return[4,k.destroy({filterByTk:e})];case 1:return t.sent(),B([]),V(),[2]}})})()}})}),q=(0,c.useMemoizedFn)(function(){O.confirm({title:n("Clear all executions"),content:n("Clear executions will not reset executed count, and started executions will not be deleted, are you sure you want to delete them all?"),onOk:function(){return h(function(){return S(this,function(e){switch(e.label){case 0:return[4,k.destroy({filter:{key:t}})];case 1:return e.sent(),C.success(n("Operation succeeded")),B([]),V(),[2]}})})()}})}),H=(0,c.useMemoizedFn)(function(e){O.confirm({title:n("Cancel the execution"),icon:f().createElement(o.ExclamationCircleFilled,null),content:n("Are you sure you want to cancel the execution?"),onOk:function(){return h(function(){return S(this,function(t){switch(t.label){case 0:return[4,k.cancel({filterByTk:e.id})];case 1:return t.sent(),C.success(n("Operation succeeded")),V(),[2]}})})()}})}),W=(0,c.useMemoizedFn)(function(e){var t,n;null==(n=i.view)||null==(t=n.close)||t.call(n),i.router.navigate(p(e.id))}),$=(0,d.useMemo)(function(){return[{title:n("ID"),dataIndex:"id"},{title:n("Triggered at"),dataIndex:"createdAt",render:function(e){return e?s()(e).format("YYYY-MM-DD HH:mm:ss"):null}},{title:n("Version"),dataIndex:"workflowId",render:function(e){return null!=e?"#".concat(e):null}},{title:n("Status"),dataIndex:"status",render:function(e,t){return f().createElement(u.Space,null,f().createElement(v,{value:e}),t.status===E.GO.STARTED||t.status===E.GO.QUEUEING?f().createElement(u.Tooltip,{title:n("Cancel the execution")},f().createElement(u.Button,{type:"link",danger:!0,onClick:function(){return H(t)},shape:"circle",size:"small",icon:f().createElement(o.StopOutlined,null)})):null)}},{title:n("Actions"),width:160,render:function(e,t){return f().createElement(u.Space,{size:"middle",wrap:!1,style:{whiteSpace:"nowrap"}},f().createElement("a",{onClick:function(){return W(t)}},n("View")),t.status!==E.GO.STARTED?f().createElement("a",{onClick:function(){return J(t.id)}},n("Delete")):null)}}]},[H,J,W,n]);return f().createElement("div",null,f().createElement(u.Flex,{justify:"space-between",align:"center",style:{marginBottom:y.margin}},f().createElement(l.CollectionFilter,{collection:A,nonfilterableFieldNames:D,onChange:U,t:r}),f().createElement(u.Space,null,f().createElement(u.Button,{icon:f().createElement(o.ReloadOutlined,null),onClick:function(){return V()}},n("Refresh")),f().createElement(u.Button,{icon:f().createElement(o.DeleteOutlined,null),disabled:!L.length,onClick:function(){return J(L)}},n("Delete")),f().createElement(u.Button,{danger:!0,onClick:q},n("Clear")))),f().createElement(l.Table,{rowKey:"id",loading:Q,columns:$,dataSource:(null==K?void 0:K.records)||[],rowSelection:{selectedRowKeys:L,onChange:B},pagination:{current:x,pageSize:M,total:(null==K?void 0:K.total)||0,onChange:Y}}))}function T(e){var t=e.workflowKey,n=(0,b.kj)(),r=(0,d.useMemo)(function(){var e=E.hi.map(function(e){return{value:e.value,label:n(e.label)}});return[k(C({},m.A),{fields:m.A.fields.map(function(t){return(null==t?void 0:t.name)==="status"&&t.uiSchema?k(C({},t),{uiSchema:k(C({},t.uiSchema),{enum:e})}):t})})]},[n]);return f().createElement(l.ExtendCollectionsProvider,{collections:r},f().createElement(A,{workflowKey:t}))}},7001:function(e,t,n){n.d(t,{TD:function(){return c}});var r=n(2625),o=n(3485),l=n(8401);function a(){return"modern"===(0,o.getRouteRuntimeVersion)()}function c(){var e=(0,r.useMemoizedFn)(function(e){return a()?(0,l.JG)(e):"/admin/settings/workflow/workflows/".concat(e)}),t=(0,r.useMemoizedFn)(function(e){return a()?(0,l.Pq)(e):"/admin/settings/workflow/executions/".concat(e)});return{isV2Runtime:a(),getWorkflowCanvasPath:e,getWorkflowExecutionPath:t}}},9239:function(e,t,n){n.d(t,{GO:function(){return l},QQ:function(){return u},hi:function(){return a},m2:function(){return c}});var r=n(358);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var l={QUEUEING:null,STARTED:0,RESOLVED:1,FAILED:-1,ERROR:-2,ABORTED:-3,CANCELED:-4,REJECTED:-5,RETRY_NEEDED:-6},a=[{value:l.QUEUEING,label:'{{t("Queueing", { ns: "'.concat(r.C,'" })}}'),color:"blue",description:'{{t("Triggered but still waiting in queue to execute.", { ns: "'.concat(r.C,'" })}}')},{value:l.STARTED,label:'{{t("On going", { ns: "'.concat(r.C,'" })}}'),color:"gold",description:'{{t("Started and executing, maybe waiting for an async callback (manual, delay etc.).", { ns: "'.concat(r.C,'" })}}')},{value:l.RESOLVED,label:'{{t("Resolved", { ns: "'.concat(r.C,'" })}}'),color:"green",description:'{{t("Successfully finished.", { ns: "'.concat(r.C,'" })}}')},{value:l.FAILED,label:'{{t("Failed", { ns: "'.concat(r.C,'" })}}'),color:"red",description:'{{t("Failed to satisfy node configurations.", { ns: "'.concat(r.C,'" })}}')},{value:l.ERROR,label:'{{t("Error", { ns: "'.concat(r.C,'" })}}'),color:"red",description:'{{t("Some node meets error.", { ns: "'.concat(r.C,'" })}}')},{value:l.ABORTED,label:'{{t("Aborted", { ns: "'.concat(r.C,'" })}}'),color:"red",description:'{{t("Running of some node was aborted by program flow.", { ns: "'.concat(r.C,'" })}}')},{value:l.CANCELED,label:'{{t("Canceled", { ns: "'.concat(r.C,'" })}}'),color:"volcano",description:'{{t("Manually canceled whole execution when waiting.", { ns: "'.concat(r.C,'" })}}')},{value:l.REJECTED,label:'{{t("Rejected", { ns: "'.concat(r.C,'" })}}'),color:"volcano",description:'{{t("Rejected from a manual node.", { ns: "'.concat(r.C,'" })}}')},{value:l.RETRY_NEEDED,label:'{{t("Retry needed", { ns: "'.concat(r.C,'" })}}'),color:"volcano",description:'{{t("General failed but should do another try.", { ns: "'.concat(r.C,'" })}}')}],c=a.reduce(function(e,t){return Object.assign(e,o({},t.value,t))},{}),u=[{value:r.K.TIMEOUT,label:'{{t("Timed out", { ns: "'.concat(r.C,'" })}}')},{value:r.K.MANUAL_CANCEL,label:'{{t("Canceled manually", { ns: "'.concat(r.C,'" })}}')},{value:r.K.PARENT_ABORTED,label:'{{t("Aborted with parent execution", { ns: "'.concat(r.C,'" })}}')}].reduce(function(e,t){return Object.assign(e,o({},t.value,t))},{})}}]);
@@ -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_client_v2=self.webpackChunk_nocobase_plugin_workflow_client_v2||[]).push([["438"],{7653:function(e,t,n){n.r(t),n.d(t,{default:function(){return U}});var r,o=n(7694),l=n(2625),a=n(2059),i=n(9155),u=n.n(i),c=n(4442),s=n(2034),f=n(2235),d=n(8761),p=n(7375),m=n(9239),y=n(7001),v=n(9488),b=n(8401);function h(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var g=(h(r={},m.GO.QUEUEING,u().createElement(p.HourglassOutlined,null)),h(r,m.GO.STARTED,u().createElement(p.LoadingOutlined,null)),h(r,m.GO.RESOLVED,u().createElement(p.CheckOutlined,null)),h(r,m.GO.FAILED,u().createElement(p.ExclamationOutlined,null)),h(r,m.GO.ERROR,u().createElement(p.CloseOutlined,null)),h(r,m.GO.ABORTED,u().createElement(p.MinusOutlined,{rotate:90})),h(r,m.GO.CANCELED,u().createElement(p.MinusOutlined,{rotate:45})),h(r,m.GO.REJECTED,u().createElement(p.MinusOutlined,null)),h(r,m.GO.RETRY_NEEDED,u().createElement(p.RedoOutlined,null)),r);function E(e){var t,n=e.value,r=(0,v.kj)(),o=a.theme.useToken().token,l=m.m2[n];if(!l)return null;var i=null!=(t=g[n])?t:u().createElement(p.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 w=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 S(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 O(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,o=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var l=[],a=!0,i=!1;try{for(o=o.call(e);!(a=(n=o.next()).done)&&(l.push(n.value),!t||l.length!==t);a=!0);}catch(e){i=!0,r=e}finally{try{a||null==o.return||o.return()}finally{if(i)throw r}}return l}}(e,t)||j(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 x(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)||j(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 j(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=O.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,x((null!=(n=null==i||null==(o=i.data)?void 0:o.data)?n:[]).slice().reverse()).concat([t],x(u))]}})},function(){var t=this,n=arguments;return new Promise(function(r,o){var l=e.apply(t,n);function a(e){S(l,r,o,a,i,"next",e)}function i(e){S(l,r,o,a,i,"throw",e)}a(void 0)})})()},{manual:!0}),d=f.data,m=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(E,{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,w.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&&m()},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(p.DownOutlined,null))),n?u().createElement(a.Button,{type:"link",size:"small",icon:u().createElement(p.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 I(e){var t,n=e.execution,r=(0,v.kj)(),o=m.m2[n.status];if(!o)return null;var l=n.reason?m.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(p.QuestionCircleOutlined,null)):null))}function C(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,h=d.message,g=t.workflow,E=t.status===m.GO.STARTED||t.status===m.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(),h.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==g?void 0:g.id)!=null?u().createElement(a.Tooltip,{title:"Key: ".concat(g.key)},u().createElement(c.Link,{to:s(g.id)},i(g.title||""))):i((null==g?void 0:g.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(I,{execution:t}),E?u().createElement(a.Tooltip,{title:o("Cancel the execution")},u().createElement(a.Button,{type:"link",danger:!0,shape:"circle",size:"small",icon:u().createElement(p.StopOutlined,null),onClick:k})):null,u().createElement("time",{style:{opacity:.65}},(0,w.fU)(t.updatedAt))))}var R=n(2723),P=n(7060),B=n(5980),G=n(8364);function z(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 D(e){var t,n=e.jobId,r=(0,o.useFlowContext)(),i=(0,v.kj)(),c=(0,B.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){z(l,r,o,a,i,"next",e)}function i(e){z(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(P._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,w.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,G.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,R.Y)(null==l||null==(t=l.node)?void 0:t.type),d=(0,B.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(D,{jobId:l.id}):null)}function _(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 F(e,t){if(e){if("string"==typeof e)return _(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 _(e,t)}}var L=function(e){var t,n=e.record,r=e.resource,o=e.refresh,l=(0,v.ec)().t,p=(0,c.useNavigate)(),m=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)||F(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=m[0],b=m[1],h=null!=n?n:{},g=h.jobs,E=void 0===g?[]:g,w=h.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}(h,["jobs","workflow"]),S=(0,i.useMemo)(function(){var e,t,n=function(e){if(Array.isArray(e))return _(e)}(e=null!=(t=null==w?void 0:w.nodes)?t:[])||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||F(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,E),n},[E,null==w?void 0:w.nodes]),O=(0,i.useMemo)(function(){var e;return null!=(e=S.find(function(e){return!e.upstream}))?e:null},[S]);return((0,i.useEffect)(function(){if(null==y?void 0:y.id){var e=E.find(function(e){return String(e.id)===String(y.id)});e&&b(e)}},[E,null==y?void 0:y.id]),w)?u().createElement(f.cB.Provider,{value:{workflow:w.type?w:null,nodes:S,execution:k,viewJob:y,setViewJob:b}},u().createElement(C,{execution:n,resource:r,refresh:o}),u().createElement(s.i,{entry:O}),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(){p(-1)}},l("Go back"))})};function N(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 U(){(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,w.iD)(e)]}})},function(){var t=this,n=arguments;return new Promise(function(r,o){var l=e.apply(t,n);function a(e){N(l,r,o,a,i,"next",e)}function i(e){N(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(L,{record:d,resource:r,refresh:f}))):u().createElement(a.Spin,null):null}}}]);