@nocobase/plugin-workflow 2.2.0-alpha.6 → 2.2.0-alpha.8

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 (78) hide show
  1. package/dist/client/{509.0504f44820a39d45.js → 509.8a85abc526e8cfe0.js} +1 -1
  2. package/dist/client/54.d81b710f7b4c1cd5.js +10 -0
  3. package/dist/client/635.ff6085589e23d39b.js +10 -0
  4. package/dist/client/{67.ea0c78153b4842ef.js → 67.c206df2fb7e32468.js} +1 -1
  5. package/dist/client/719.79871d3000b54948.js +10 -0
  6. package/dist/client/728.711fd4f1ed7d4e6a.js +10 -0
  7. package/dist/client/782.e058403fcb6b1750.js +10 -0
  8. package/dist/client/972.5df5193573fe04e5.js +10 -0
  9. package/dist/client/index.js +1 -1
  10. package/dist/client-v2/142.a8c8df2a9abb43c5.js +10 -0
  11. package/dist/client-v2/276.7f746d899e221e2f.js +10 -0
  12. package/dist/client-v2/387.20ffad90130780e6.js +10 -0
  13. package/dist/client-v2/54.d3daf06e53092726.js +10 -0
  14. package/dist/client-v2/635.14a6f21cf4f16345.js +10 -0
  15. package/dist/client-v2/677.36a6fe395279deeb.js +10 -0
  16. package/dist/client-v2/728.4e8322ff8fce87b9.js +10 -0
  17. package/dist/client-v2/canvas/Instruction.d.ts +5 -5
  18. package/dist/client-v2/canvas/Node.d.ts +6 -4
  19. package/dist/client-v2/components/FilterDynamicComponent.d.ts +2 -1
  20. package/dist/client-v2/components/TestRunButton.d.ts +1 -1
  21. package/dist/client-v2/components/collection/AssignedFieldsEditor.d.ts +2 -1
  22. package/dist/client-v2/constants.d.ts +5 -0
  23. package/dist/client-v2/index.d.ts +3 -0
  24. package/dist/client-v2/index.js +1 -1
  25. package/dist/client-v2/models/WorkflowTasksTopbarActionModel.d.ts +18 -0
  26. package/dist/client-v2/models/index.d.ts +1 -0
  27. package/dist/client-v2/pages/WorkflowTasksPage.d.ts +10 -0
  28. package/dist/client-v2/plugin.d.ts +52 -0
  29. package/dist/client-v2/taskCenter.d.ts +105 -0
  30. package/dist/client-v2/triggers/index.d.ts +3 -1
  31. package/dist/common/collections/workflows.d.ts +18 -0
  32. package/dist/common/collections/workflows.js +5 -0
  33. package/dist/externalVersion.js +13 -13
  34. package/dist/locale/de-DE.json +1 -0
  35. package/dist/locale/en-US.json +1 -0
  36. package/dist/locale/es-ES.json +1 -0
  37. package/dist/locale/fr-FR.json +1 -0
  38. package/dist/locale/hu-HU.json +1 -0
  39. package/dist/locale/id-ID.json +1 -0
  40. package/dist/locale/it-IT.json +1 -0
  41. package/dist/locale/ja-JP.json +1 -0
  42. package/dist/locale/ko-KR.json +1 -0
  43. package/dist/locale/nl-NL.json +1 -0
  44. package/dist/locale/pt-BR.json +1 -0
  45. package/dist/locale/ru-RU.json +1 -0
  46. package/dist/locale/tr-TR.json +1 -0
  47. package/dist/locale/uk-UA.json +1 -0
  48. package/dist/locale/vi-VN.json +1 -0
  49. package/dist/locale/zh-CN.json +1 -0
  50. package/dist/locale/zh-TW.json +1 -0
  51. package/dist/node_modules/cron-parser/package.json +1 -1
  52. package/dist/node_modules/joi/package.json +1 -1
  53. package/dist/node_modules/lru-cache/package.json +1 -1
  54. package/dist/node_modules/nodejs-snowflake/package.json +1 -1
  55. package/dist/server/Dispatcher.d.ts +3 -2
  56. package/dist/server/Dispatcher.js +39 -18
  57. package/dist/server/ExecutionTimeoutManager.js +2 -1
  58. package/dist/server/Plugin.d.ts +1 -1
  59. package/dist/server/actions/workflows.d.ts +1 -0
  60. package/dist/server/actions/workflows.js +11 -0
  61. package/dist/server/triggers/CollectionTrigger.js +3 -0
  62. package/dist/server/triggers/ScheduleTrigger/StaticScheduleTrigger.d.ts +1 -1
  63. package/dist/server/triggers/index.d.ts +1 -1
  64. package/dist/server/types/Workflow.d.ts +1 -0
  65. package/dist/swagger/index.d.ts +1 -0
  66. package/dist/swagger/index.js +4 -2
  67. package/package.json +2 -2
  68. package/dist/client/54.d3d5d9f2f2115201.js +0 -10
  69. package/dist/client/635.42814cddec653cdd.js +0 -10
  70. package/dist/client/719.cd8ca7c9f00584be.js +0 -10
  71. package/dist/client/782.e0f0d84dd5cfac2a.js +0 -10
  72. package/dist/client/972.600a190e71978122.js +0 -10
  73. package/dist/client-v2/142.fe4f9b7869876ff1.js +0 -10
  74. package/dist/client-v2/276.8ca10542a0424df3.js +0 -10
  75. package/dist/client-v2/387.eae325172ba209e5.js +0 -10
  76. package/dist/client-v2/54.287764bc467d65da.js +0 -10
  77. package/dist/client-v2/635.d14f99a9520d336b.js +0 -10
  78. package/dist/client-v2/677.d3294a45cd038c72.js +0 -10
@@ -71,7 +71,7 @@ class Dispatcher {
71
71
  if (!this.ready) {
72
72
  logger.warn(`app is not ready, event of workflow ${workflow.id} will be ignored`);
73
73
  logger.debug(`ignored event data:`, context);
74
- return;
74
+ return this.handleTriggerFail(workflow, context, options, new Error("app is not ready"));
75
75
  }
76
76
  if (!options.force && !options.manually && !workflow.enabled) {
77
77
  logger.warn(`workflow ${workflow.id} is not enabled, event will be ignored`);
@@ -88,7 +88,7 @@ class Dispatcher {
88
88
  }
89
89
  if (context == null) {
90
90
  logger.warn(`workflow ${workflow.id} event data context is null, event will be ignored`);
91
- return;
91
+ return this.handleTriggerFail(workflow, context, options, new Error("event context is null"));
92
92
  }
93
93
  if (options.manually || this.plugin.isWorkflowSync(workflow)) {
94
94
  return this.triggerSync(workflow, context, options);
@@ -303,8 +303,15 @@ class Dispatcher {
303
303
  }
304
304
  return valid;
305
305
  }
306
- async createExecution(workflow, context, options) {
306
+ async handleTriggerFail(workflow, context, options, error) {
307
307
  var _a;
308
+ try {
309
+ await ((_a = options.onTriggerFail) == null ? void 0 : _a.call(options, workflow, context, options, error));
310
+ } catch (triggerFailError) {
311
+ this.plugin.getLogger(workflow.id).error(`trigger failure callback failed`, { error: triggerFailError });
312
+ }
313
+ }
314
+ async createExecution(workflow, context, options) {
308
315
  const { deferred } = options;
309
316
  let stack = options.stack;
310
317
  if (options.parentExecutionId && !stack) {
@@ -313,21 +320,34 @@ class Dispatcher {
313
320
  });
314
321
  stack = parentExecution ? [...parentExecution.stack ?? [], parentExecution.id] : [];
315
322
  }
316
- const valid = await this.validateEvent(workflow, context, { ...options, stack });
323
+ let valid;
324
+ try {
325
+ valid = await this.validateEvent(workflow, context, { ...options, stack });
326
+ } catch (error) {
327
+ await this.handleTriggerFail(workflow, context, options, error);
328
+ throw error;
329
+ }
317
330
  if (!valid) {
318
- (_a = options.onTriggerFail) == null ? void 0 : _a.call(options, workflow, context, options);
319
- throw new Error("event is not valid");
320
- }
321
- const execution = await workflow.createExecution({
322
- context,
323
- key: workflow.key,
324
- eventKey: options.eventKey ?? (0, import_node_crypto.randomUUID)(),
325
- stack,
326
- parentExecutionId: options.parentExecutionId ?? null,
327
- dispatched: deferred ?? false,
328
- status: deferred ? import_constants.EXECUTION_STATUS.STARTED : import_constants.EXECUTION_STATUS.QUEUEING,
329
- manually: options.manually
330
- });
331
+ const error = new Error("event is not valid");
332
+ await this.handleTriggerFail(workflow, context, options, error);
333
+ throw error;
334
+ }
335
+ let execution;
336
+ try {
337
+ execution = await workflow.createExecution({
338
+ context,
339
+ key: workflow.key,
340
+ eventKey: options.eventKey ?? (0, import_node_crypto.randomUUID)(),
341
+ stack,
342
+ parentExecutionId: options.parentExecutionId ?? null,
343
+ dispatched: deferred ?? false,
344
+ status: deferred ? import_constants.EXECUTION_STATUS.STARTED : import_constants.EXECUTION_STATUS.QUEUEING,
345
+ manually: options.manually
346
+ });
347
+ } catch (error) {
348
+ await this.handleTriggerFail(workflow, context, options, error);
349
+ throw error;
350
+ }
331
351
  this.plugin.getLogger(workflow.id).info(`execution of workflow ${workflow.id} created as ${execution.id}`);
332
352
  if (!workflow.stats) {
333
353
  workflow.stats = await workflow.getStats();
@@ -527,7 +547,8 @@ class Dispatcher {
527
547
  }
528
548
  return processor;
529
549
  };
530
- const lock = await this.plugin.app.lockManager.tryAcquire((0, import_utils.getExecutionLockKey)(execution.id), 6e4);
550
+ const lockManager = this.plugin.app.lockManager;
551
+ const lock = await lockManager.tryAcquire((0, import_utils.getExecutionLockKey)(execution.id), 6e4);
531
552
  try {
532
553
  return await lock.runExclusive(run, 6e4);
533
554
  } catch (error) {
@@ -108,7 +108,8 @@ class ExecutionTimeoutManager {
108
108
  }
109
109
  async abortExecutionIfExpiredWithLock(executionOrId) {
110
110
  const executionId = typeof executionOrId === "object" ? executionOrId.id : executionOrId;
111
- const lock = await this.plugin.app.lockManager.tryAcquire((0, import_utils.getExecutionLockKey)(executionId), EXECUTION_LOCK_TIMEOUT);
111
+ const lockManager = this.plugin.app.lockManager;
112
+ const lock = await lockManager.tryAcquire((0, import_utils.getExecutionLockKey)(executionId), EXECUTION_LOCK_TIMEOUT);
112
113
  return lock.runExclusive(async () => {
113
114
  const execution = await this.plugin.db.getRepository("executions").findOne({
114
115
  filterByTk: executionId
@@ -74,7 +74,7 @@ export default class PluginWorkflowServer extends Plugin {
74
74
  */
75
75
  load(): Promise<void>;
76
76
  private toggle;
77
- trigger(workflow: WorkflowModel, context: object, options?: EventOptions): void | Promise<Processor | null>;
77
+ trigger(workflow: WorkflowModel, context: object, options?: EventOptions): void | Promise<Processor | null | void>;
78
78
  run(pending: Parameters<Dispatcher['run']>[0]): Promise<void>;
79
79
  dispatch(): void;
80
80
  resume(job: any): Promise<void>;
@@ -12,6 +12,7 @@ export declare class WorkflowValidationError extends Error {
12
12
  errors: Record<string, string>;
13
13
  constructor(errors: Record<string, string>);
14
14
  }
15
+ export declare function list(context: Context, next: any): Promise<void>;
15
16
  export declare function create(context: Context, next: any): Promise<void>;
16
17
  export declare function update(context: Context, next: any): Promise<void>;
17
18
  export declare function destroy(context: Context, next: any): Promise<void>;
@@ -40,6 +40,7 @@ __export(workflows_exports, {
40
40
  create: () => create,
41
41
  destroy: () => destroy,
42
42
  execute: () => execute,
43
+ list: () => list,
43
44
  revision: () => revision,
44
45
  sync: () => sync,
45
46
  update: () => update
@@ -72,6 +73,9 @@ function validateWorkflow(context, plugin, { type, config }) {
72
73
  }
73
74
  }
74
75
  }
76
+ async function list(context, next) {
77
+ return import_actions.default.list(context, next);
78
+ }
75
79
  async function create(context, next) {
76
80
  const plugin = context.app.pm.get(import_Plugin.default);
77
81
  const { values } = context.action.params;
@@ -184,6 +188,12 @@ async function execute(context, next) {
184
188
  let processor;
185
189
  try {
186
190
  processor = await plugin.execute(workflow, values, { manually: true });
191
+ if (processor === null) {
192
+ context.body = {
193
+ execution: null
194
+ };
195
+ return next();
196
+ }
187
197
  if (!processor) {
188
198
  return context.throw(400, "workflow not triggered");
189
199
  }
@@ -220,6 +230,7 @@ async function execute(context, next) {
220
230
  create,
221
231
  destroy,
222
232
  execute,
233
+ list,
223
234
  revision,
224
235
  sync,
225
236
  update
@@ -305,6 +305,9 @@ class CollectionTrigger extends import__.default {
305
305
  // }
306
306
  async execute(workflow, values, options) {
307
307
  const ctx = await this.prepare(workflow, values == null ? void 0 : values.data, options);
308
+ if (!ctx) {
309
+ return null;
310
+ }
308
311
  const [dataSourceName] = (0, import_data_source_manager.parseCollectionName)(workflow.config.collection);
309
312
  const { transaction } = options;
310
313
  return this.workflow.trigger(workflow, ctx, {
@@ -20,5 +20,5 @@ export default class StaticScheduleTrigger {
20
20
  trigger(workflow: WorkflowModel, time: number): Promise<void>;
21
21
  on(workflow: any): void;
22
22
  off(workflow: any): void;
23
- execute(workflow: any, values: any, options: any): void | Promise<import("../..").Processor>;
23
+ execute(workflow: any, values: any, options: any): void | Promise<void | import("../..").Processor>;
24
24
  }
@@ -26,6 +26,6 @@ export declare abstract class Trigger {
26
26
  [key: string]: string;
27
27
  };
28
28
  sync?: boolean;
29
- execute?(workflow: WorkflowModel, values: any, options: Transactionable): void | Processor | Promise<void | Processor>;
29
+ execute?(workflow: WorkflowModel, values: any, options: Transactionable): void | Processor | null | Promise<void | Processor | null>;
30
30
  }
31
31
  export default Trigger;
@@ -19,6 +19,7 @@ export default class WorkflowModel extends Model {
19
19
  description?: string;
20
20
  type: string;
21
21
  config: any;
22
+ validation?: Record<string, any>;
22
23
  options: {
23
24
  timeout?: number;
24
25
  stackLimit?: number;
@@ -428,6 +428,7 @@ declare const _default: {
428
428
  properties: {
429
429
  execution: {
430
430
  type: string;
431
+ nullable: boolean;
431
432
  properties: {
432
433
  id: {
433
434
  type: string;
@@ -394,7 +394,8 @@ var swagger_default = {
394
394
  "**autoRevision:** When set to `1`, if the workflow has never been executed",
395
395
  "(`executed === 0`), a new revision is created automatically after execution.",
396
396
  "",
397
- "**Returns:** `{ execution: { id, status }, newVersionId? }`"
397
+ "**Returns:** `{ execution: { id, status } | null, newVersionId? }`.",
398
+ "`execution` is `null` when the request is valid but no execution is started."
398
399
  ].join("\n"),
399
400
  parameters: [
400
401
  {
@@ -433,6 +434,7 @@ var swagger_default = {
433
434
  properties: {
434
435
  execution: {
435
436
  type: "object",
437
+ nullable: true,
436
438
  properties: {
437
439
  id: { type: "integer", description: "Execution ID" },
438
440
  status: { type: "integer", description: "Execution status code" }
@@ -449,7 +451,7 @@ var swagger_default = {
449
451
  }
450
452
  },
451
453
  400: {
452
- description: "Bad Request. Request body or `filterByTk` is missing/invalid, or workflow not triggered."
454
+ description: "Bad Request. Request body or `filterByTk` is missing/invalid."
453
455
  },
454
456
  404: { description: "Not Found. Workflow does not exist." }
455
457
  }
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.2.0-alpha.6",
9
+ "version": "2.2.0-alpha.8",
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": "f55b252811f6af01d08cd3814171867b70c8ef7a",
54
+ "gitHead": "810c81e5963966bda7ec03b6453a3a80fe60e027",
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([["54"],{5329:function(e,n,l){l.d(n,{F:function(){return r}});var t=l(9155),a=l.n(t),o=l(2059),i=l(8198),s=l(9488);function c(e){var n=e.value,l=e.onChange,o=e.disabled,s=e.onCollectionChanged,c=(0,t.useRef)();return a().createElement(i.XJ,{value:n,disabled:o,onChange:function(e){var t,a=null!=(t=c.current)?t:n;null==l||l(e),a&&a!==e&&(null==s||s(a,e)),c.current=e}})}function r(e){var n=e.disabled,l=e.onCollectionChanged,t=(0,s.kj)();return a().createElement(o.Form.Item,{name:["config","collection"],label:t("Collection"),rules:[{required:!0}]},a().createElement(c,{disabled:n,onCollectionChanged:l}))}},6381:function(e,n,l){l.d(n,{CreateFieldset:function(){return m},CreatePresetFieldset:function(){return d}});var t=l(9155),a=l.n(t),o=l(2059),i=l(2235),s=l(8198),c=l(9488),r=l(5329);function u(){var e=(0,c.kj)(),n=o.Form.useFormInstance(),l=o.Form.useWatch(["config","collection"]);return(0,t.useEffect)(function(){l&&(n.setFieldValue(["config","usingAssignFormSchema"],void 0),n.setFieldValue(["config","assignFormSchema"],void 0))},[l,n]),a().createElement(a().Fragment,null,a().createElement(o.Form.Item,{name:["config","params","values"],label:e("Fields values"),extra:e("Unassigned fields will be set to default values, and those without default values will be set to null.")},a().createElement(s.XH,{collection:l})),l?a().createElement(o.Form.Item,{name:["config","params","appends"],label:e("Preload associations"),extra:e("Please select the associated fields that need to be accessed in subsequent nodes. With more than two levels of to-many associations may cause performance issue, please use with caution.")},a().createElement(s.Kr,{collection:l})):null)}function m(){var e,n=(0,i.TA)(),l=o.Form.useFormInstance();return a().createElement(a().Fragment,null,a().createElement(r.F,{disabled:!!(null==n||null==(e=n.config)?void 0:e.collection),onCollectionChanged:function(){l.setFieldValue(["config","params"],{}),l.setFieldValue(["config","usingAssignFormSchema"],void 0),l.setFieldValue(["config","assignFormSchema"],void 0)}}),a().createElement(u,null))}function d(){return a().createElement(r.F,null)}}}]);
@@ -1,10 +0,0 @@
1
- /**
2
- * This file is part of the NocoBase (R) project.
3
- * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
- * Authors: NocoBase Team.
5
- *
6
- * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
- * For more information, please refer to: https://www.nocobase.com/agreement.
8
- */
9
-
10
- "use strict";(self.webpackChunk_nocobase_plugin_workflow=self.webpackChunk_nocobase_plugin_workflow||[]).push([["635"],{8950:function(e,l,n){n.d(l,{UpdateFieldset:function(){return g},UpdatePresetFieldset:function(){return p}});var t=n(9155),o=n.n(t),a=n(2059),i=n(2235),r=n(8198),s=n(9785),c=n(9488),u=n(5329),d=n(6855),m=function(e){return!(0,r.Cg)(e)||"belongsTo"===e.type};function f(){var e,l=(0,c.kj)(),n=a.Form.useFormInstance(),i=a.Form.useWatch(["config","collection"]),u=a.Form.useWatch(["config","params","individualHooks"],n),f=[{label:(e=(0,c.kj)())("Update in a batch"),value:!1,tooltip:e("Update all eligible data at one time, which has better performance when the amount of data is large. But association fields are not supported (unless foreign key in current collection), and the updated data will not trigger other workflows.")},{label:e("Update one by one"),value:!0,tooltip:e("The updated data can trigger other workflows, and the audit log will also be recorded. But it is usually only applicable to several or dozens of pieces of data, otherwise there will be performance problems.")}],g=!0!==u;return((0,t.useEffect)(function(){i&&(n.setFieldValue(["config","usingAssignFormSchema"],void 0),n.setFieldValue(["config","assignFormSchema"],void 0),void 0===n.getFieldValue(["config","params","individualHooks"])&&n.setFieldValue(["config","params","individualHooks"],!1))},[i,n]),i)?o().createElement(o().Fragment,null,o().createElement(a.Form.Item,{name:["config","params","individualHooks"],label:l("Update mode")},o().createElement(s.$,{options:f})),o().createElement(d.F,{collection:i,label:l("Only update records matching conditions")}),o().createElement(a.Form.Item,{name:["config","params","values"],label:l("Fields values")},o().createElement(r.XH,{collection:i,fieldFilter:g?m:void 0,pruneFilteredValues:g}))):null}function g(){var e,l=(0,i.TA)(),n=a.Form.useFormInstance();return o().createElement(o().Fragment,null,o().createElement(u.F,{disabled:!!(null==l||null==(e=l.config)?void 0:e.collection),onCollectionChanged:function(){n.setFieldValue(["config","params","filter"],{}),n.setFieldValue(["config","params","values"],{}),n.setFieldValue(["config","usingAssignFormSchema"],void 0),n.setFieldValue(["config","assignFormSchema"],void 0)}}),o().createElement(f,null))}function p(){return o().createElement(u.F,null)}}}]);
@@ -1,10 +0,0 @@
1
- /**
2
- * This file is part of the NocoBase (R) project.
3
- * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
- * Authors: NocoBase Team.
5
- *
6
- * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
- * For more information, please refer to: https://www.nocobase.com/agreement.
8
- */
9
-
10
- "use strict";(self.webpackChunk_nocobase_plugin_workflow=self.webpackChunk_nocobase_plugin_workflow||[]).push([["719"],{1801:function(e,t,r){r.d(t,{N$:function(){return S},yr:function(){return F}});var n=r(3485),a=r(7694),o=r(2625),i=r(9155),l=r.n(i),c=r(7768),u=r(4563),s=r(9488),f=r(3943);function d(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function m(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function y(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r,n,a=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var o=[],i=!0,l=!1;try{for(a=a.call(e);!(i=(r=a.next()).done)&&(o.push(r.value),!t||o.length!==t);i=!0);}catch(e){l=!0,n=e}finally{try{i||null==a.return||a.return()}finally{if(l)throw n}}return o}}(e,t)||g(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function h(e){return function(e){if(Array.isArray(e))return d(e)}(e)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||g(e)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function p(e){return e&&"u">typeof Symbol&&e.constructor===Symbol?"symbol":typeof e}function g(e,t){if(e){if("string"==typeof e)return d(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 d(e,t)}}var b=/^\{\{\s*([^{}]+?)\s*\}\}$/,v=/^\{\{\s*ctx\.(\$[^{}]+?)\s*\}\}$/,w=["yesterday","today","tomorrow","lastWeek","thisWeek","nextWeek","lastMonth","thisMonth","nextMonth","lastQuarter","thisQuarter","nextQuarter","lastYear","thisYear","nextYear","last7Days","next7Days","last30Days","next30Days","last90Days","next90Days"],x={yesterday:"Yesterday",today:"Today",tomorrow:"Tomorrow",lastWeek:"Last week",thisWeek:"This week",nextWeek:"Next week",lastMonth:"Last month",thisMonth:"This month",nextMonth:"Next month",lastQuarter:"Last quarter",thisQuarter:"This quarter",nextQuarter:"Next quarter",lastYear:"Last year",thisYear:"This year",nextYear:"Next year",last7Days:"Last 7 days",next7Days:"Next 7 days",last30Days:"Last 30 days",next30Days:"Next 30 days",last90Days:"Last 90 days",next90Days:"Next 90 days"};function O(e){if("string"!=typeof e)return e;var t=e.trim().match(b);return!t||t[1].startsWith("ctx.")?e:"{{ ctx.".concat(t[1]," }}")}function j(e){return!!(e&&(void 0===e?"undefined":p(e))==="object"&&"logic"in e&&"items"in e)}function k(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];if(!e||(void 0===e?"undefined":p(e))!=="object"||Array.isArray(e))return t.length?[{path:t.join("."),operator:"$eq",value:O(e)}]:[];var r=Object.entries(e),n=r.filter(function(e){return y(e,1)[0].startsWith("$")});return n.length?t.length?n.map(function(e){var r=y(e,2),n=r[0],a=r[1];return{path:t.join("."),operator:n,value:O(a)}}):[]:r.flatMap(function(e){var r=y(e,2),n=r[0];return k(r[1],h(t).concat([n]))})}function A(e){return Array.isArray(e.$or)?"$or":Array.isArray(e.$and)?"$and":void 0}function E(e){var t;return j(e)?e:null!=(t=function e(t){if(!(!t||(void 0===t?"undefined":p(t))!=="object"||Array.isArray(t))){var r=A(t);if(!r){var n=k(t);return n.length?{logic:"$and",items:n}:void 0}var a=t[r].flatMap(function(t){if(!t||(void 0===t?"undefined":p(t))!=="object"||Array.isArray(t))return[];if(A(t)){var r=e(t);return r?[r]:[]}return k(t)}).filter(function(e){return!!e});return a.length?{logic:r,items:a}:void 0}}(e))?t:{logic:"$and",items:[]}}function S(e){var t=e.collection,r=e.value,d=e.onChange,y=e.rightAsVariable,p=void 0===y||y,g=e.maxAssociationFieldDepth,b=void 0===g?2:g,O=(0,a.useFlowEngine)(),k=(0,s.kj)(),A=(0,o.useMemoizedFn)(function(e,t){return k(e,t)}),S=(0,u.P)(),F=(0,i.useMemo)(function(){var e,t;return e={name:"dateRange",title:A("Date range"),type:"object",paths:["$system","dateRange"],children:w.map(function(e){return{name:e,title:A(x[e]),type:"string",paths:["$system","dateRange",e]}})},(t=S.findIndex(function(e){return"$system"===e.name}))<0?h(S).concat([{name:"$system",title:A("System variables"),type:"",paths:["$system"],children:[e]}]):S.map(function(r,n){if(n!==t||"function"==typeof r.children)return r;var a,o,i=Array.isArray(r.children)?r.children.filter(function(e){return"dateRange"!==e.name}):[];return a=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){m(e,t,r[t])})}return e}({},r),o=o={children:h(i).concat([e])},Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(o)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t})(Object(o)).forEach(function(e){Object.defineProperty(a,e,Object.getOwnPropertyDescriptor(o,e))}),a})},[A,S]),M=(0,i.useMemo)(function(){return(0,f.X_)(O.context.dataSourceManager,t)},[O,t]),I=(0,i.useMemo)(function(){if(!M)return null;var e=O.createModel({uid:(0,a.randomId)("workflowFilter_"),use:a.FlowModel}),t=O.context.app;return t&&e.context.defineProperty("app",{value:t}),e.context.defineProperty("collection",{get:function(){return M}}),e},[M,O]);(0,i.useEffect)(function(){return function(){var e;null==I||null==(e=I.remove)||e.call(I)}},[I]);var P=(0,i.useRef)();P.current||(P.current=(0,a.observable)(E(r)));var D=(0,i.useRef)(null);(0,i.useEffect)(function(){var e=JSON.stringify(null!=r?r:{});if(D.current!==e){var t=E(r);P.current&&(P.current.logic=t.logic,P.current.items=t.items,D.current=e)}},[r]),(0,i.useEffect)(function(){if(P.current)return(0,a.reaction)(function(){return JSON.stringify((0,a.toJS)(P.current))},function(e){var t,r=JSON.parse(e),n=Array.isArray(r.items)?r.items.length:0,a=(0,c.removeInvalidFilterItems)(r);if(!a.items.length){n||null==d||d({});return}var o=null!=(t=function e(t){if(null==t||null==(r=t.items)?void 0:r.length){var r,n=t.items.map(function(t){if(j(t))return e(t);if("string"==typeof t.path&&"string"==typeof t.operator&&t.path&&t.operator)return function(e,t){for(var r=e.split("."),n=t,a=r.length-1;a>=0;a--)n=m({},r[a],n);return n}(t.path,m({},t.operator,function(e){if("string"!=typeof e)return e;var t=e.trim().match(v);return t?"{{".concat(t[1],"}}"):e}(t.value)))}).filter(function(e){return!!e});if(n.length)return m({},t.logic,n)}}(a))?t:{};D.current=JSON.stringify(o),null==d||d(o)},{fireImmediately:!1})},[d]);var N=(0,i.useMemo)(function(){if(!I)return null;var e=function(e){var t=e.value;return l().createElement(a.FlowModelProvider,{model:I},l().createElement(n.VariableFilterItem,{value:t,model:I,rightAsVariable:p,rightMetaTree:F,maxAssociationFieldDepth:b}))};return e.displayName="WorkflowVariableFilterItem",e},[I,b,p,F]);return l().createElement(n.FilterGroup,{value:P.current,FilterItem:null!=N?N:void 0})}var F=S},6242:function(e,t,r){r.r(t),r.d(t,{TriggerModeField:function(){return p},default:function(){return v},CollectionPresetConfig:function(){return b},SyncTransactionNotice:function(){return h},CollectionTriggerConfig:function(){return g}});var n=r(5477),a=r(2059),o=r(9155),i=r.n(o),l=r(2235),c=r(1801),u=r(8198),s=r(9488),f=[{label:'{{t("After record added", { ns: "'.concat(s.CU,'" })}}'),value:1},{label:'{{t("After record updated", { ns: "'.concat(s.CU,'" })}}'),value:2},{label:'{{t("After record added or updated", { ns: "'.concat(s.CU,'" })}}'),value:3},{label:'{{t("After record deleted", { ns: "'.concat(s.CU,'" })}}'),value:4}];function d(e,t){return(Number(e)&t)===t}function m(){var e,t,r=(e=["\n .ant-select.auto-width {\n width: auto;\n min-width: 6em;\n }\n "],t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}})));return m=function(){return r},r}function y(e){return!e.hidden&&(!e.uiSchema||!e.uiSchema["x-read-pretty"])&&!["linkTo","hasOne","hasMany","belongsToMany"].includes(e.type)}function h(){var e=(0,s.kj)();return i().createElement(a.Alert,{type:"info",showIcon:!0,style:{marginBottom:"1em"},message:e("Synchronous collection event workflows run within the trigger transaction by default. Related data operations automatically use this transaction.")})}function p(){var e=(0,s.kj)(),t=a.Form.useWatch(["config","collection"]),r=(0,o.useMemo)(function(){return f.map(function(t){return{value:t.value,label:e(t.label)}})},[e]);return t?i().createElement(a.Form.Item,{name:["config","mode"],label:e("Trigger on"),rules:[{required:!0}]},i().createElement(a.Select,{popupMatchSelectWidth:!1,placeholder:e("Trigger on"),className:"auto-width",options:r})):null}function g(){var e=(0,s.kj)(),t=(0,l.Zt)(),r=a.Form.useWatch(["config","collection"]),o=Number(a.Form.useWatch(["config","mode"])||0),f=null==t?void 0:t.sync;return i().createElement("fieldset",{className:(0,n.css)(m())},i().createElement(a.Form.Item,{name:["config","collection"],label:e("Collection")},i().createElement(u.XJ,{disabled:!0})),i().createElement(p,null),r&&d(o,2)?i().createElement(a.Form.Item,{name:["config","changed"],label:e("Changed fields"),extra:e("Triggered only if one of the selected fields changes. If unselected, it means that it will be triggered when any field changes. When record is added, any field is considered to have been changed.")},i().createElement(u.WY,{mode:"multiple",placeholder:e("Select field"),filter:y})):null,r&&!d(o,4)?i().createElement(a.Form.Item,{name:["config","condition"],label:e("Only triggers when match conditions")},i().createElement(c.yr,{collection:r,rightAsVariable:!1})):null,r&&!d(o,4)?i().createElement(a.Form.Item,{name:["config","appends"],label:e("Preload associations"),extra:e("Please select the associated fields that need to be accessed in subsequent nodes. With more than two levels of to-many associations may cause performance issue, please use with caution.")},i().createElement(u.Kr,{collection:r})):null,f?i().createElement(h,null):null,f?i().createElement(a.Form.Item,{name:["config","rollbackOnFailure"],valuePropName:"checked",extra:e("Only available in synchronous mode. When enabled, if the workflow execution ends with a failed status, the data operation that triggered it will fail and be rolled back."),initialValue:!1},i().createElement(a.Checkbox,null,e("Rollback when workflow execution fails"))):null)}function b(){var e=(0,s.kj)();return i().createElement(a.Form.Item,{name:["config","collection"],label:e("Collection"),rules:[{required:!0}]},i().createElement(u.XJ,null))}var v=g}}]);
@@ -1,10 +0,0 @@
1
- /**
2
- * This file is part of the NocoBase (R) project.
3
- * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
- * Authors: NocoBase Team.
5
- *
6
- * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
- * For more information, please refer to: https://www.nocobase.com/agreement.
8
- */
9
-
10
- "use strict";(self.webpackChunk_nocobase_plugin_workflow=self.webpackChunk_nocobase_plugin_workflow||[]).push([["782"],{3210:function(e,t,n){n.d(t,{s:function(){return u}});var r=n(5477),a=n(8275),o=n(9155),l=n.n(o);function i(){var e,t,n=(e=["\n &:after {\n content: ':';\n }\n & + a {\n margin-left: 0.25em;\n }\n "],t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}})));return i=function(){return n},n}var u=function(e,t){var n=a.evaluators.get(e);return n&&n.link?l().createElement(l().Fragment,null,l().createElement("span",{className:(0,r.css)(i())},t("Syntax references")),l().createElement("a",{href:t(n.link),target:"_blank",rel:"noreferrer"},n.label)):null}},8101:function(e,t,n){n.d(t,{FW:function(){return J}});var r=n(9155),a=n.n(r),o=n(8275),l=n(2059),i=n(5606),u=n(7375),c=n(5477),s=n(3485),p=n(7768),f=n(5953),m=n(9488),b=n(4563);function y(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function g(e){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 d(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t})(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}function v(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,a=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var o=[],l=!0,i=!1;try{for(a=a.call(e);!(l=(n=a.next()).done)&&(o.push(n.value),!t||o.length!==t);l=!0);}catch(e){i=!0,r=e}finally{try{l||null==a.return||a.return()}finally{if(i)throw r}}return o}}(e,t)||w(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function h(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function O(e){return function(e){if(Array.isArray(e))return y(e)}(e)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||w(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 w(e,t){if(e){if("string"==typeof e)return y(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 y(e,t)}}function E(){var e=h(["\n &.ant-select {\n width: auto;\n min-width: 6em;\n flex-shrink: 0;\n }\n"]);return E=function(){return e},e}function j(){var e=h(["\n display: flex;\n gap: 0.5em;\n align-items: center;\n flex-wrap: nowrap;\n margin: 0;\n padding: 0;\n border: none;\n min-width: 0;\n "]);return j=function(){return e},e}function C(){var e=h(["\n display: flex;\n position: relative;\n margin: 0.5em 0;\n "]);return C=function(){return e},e}function k(){var e=h(["\n position: relative;\n width: 100%;\n .node-type-condition-group {\n padding: 0.5em 1em;\n border: 1px dashed #ddd;\n }\n + button {\n position: absolute;\n right: 0;\n }\n "]);return k=function(){return e},e}function S(){var e=h(["\n display: flex;\n align-items: center;\n gap: 0.5em;\n .ant-select {\n width: auto;\n min-width: 6em;\n }\n "]);return S=function(){return e},e}function x(){var e=h(["\n button {\n padding: 0;\n &:not(:last-child) {\n margin-right: 1em;\n }\n }\n "]);return x=function(){return e},e}var A=n(1236).g,P=(0,c.css)(E()),I=new p.Registry;I.register("equal",{name:"=",type:"boolean",group:"boolean"}),I.register("notEqual",{name:"≠",type:"boolean",group:"boolean"}),I.register("gt",{name:">",type:"boolean",group:"boolean"}),I.register("gte",{name:"≥",type:"boolean",group:"boolean"}),I.register("lt",{name:"<",type:"boolean",group:"boolean"}),I.register("lte",{name:"≤",type:"boolean",group:"boolean"}),I.register("add",{name:"+",type:"number",group:"number"}),I.register("minus",{name:"-",type:"number",group:"number"}),I.register("multiple",{name:"*",type:"number",group:"number"}),I.register("divide",{name:"/",type:"number",group:"number"}),I.register("mod",{name:"%",type:"number",group:"number"}),I.register("includes",{name:'{{t("contains")}}',type:"boolean",group:"string"}),I.register("notIncludes",{name:'{{t("does not contain")}}',type:"boolean",group:"string"}),I.register("startsWith",{name:'{{t("starts with")}}',type:"boolean",group:"string"}),I.register("notStartsWith",{name:'{{t("not starts with")}}',type:"boolean",group:"string"}),I.register("endsWith",{name:'{{t("ends with")}}',type:"boolean",group:"string"}),I.register("notEndsWith",{name:'{{t("not ends with")}}',type:"boolean",group:"string"}),I.register("concat",{name:'{{t("Concatenate", { ns: "'.concat(m.CU,'" })}}'),type:"string",group:"string"});var T=[{value:"boolean",title:'{{t("Comparision")}}'},{value:"number",title:'{{t("Arithmetic calculation", { ns: "'.concat(m.CU,'" })}}')},{value:"string",title:'{{t("String operation", { ns: "'.concat(m.CU,'" })}}')},{value:"date",title:'{{t("Date", { ns: "'.concat(m.CU,'" })}}')}];function W(e){return Array.from(I.getEntities()).filter(function(t){return v(t,2)[1].group===e})}var N=(0,r.createContext)(b.P);function _(){return(0,r.useContext)(N)()}function F(e){var t=e.calculator,n=e.operands,o=void 0===n?[]:n,i=e.onChange,u=(0,m.kj)(),p=_(),f=_(),b=(0,r.useCallback)(function(e){return i({calculator:t,operands:[e,o[1]]})},[t,i,o]),y=(0,r.useCallback)(function(e){return i({calculator:t,operands:[o[0],e]})},[t,i,o]),g=(0,r.useCallback)(function(e){return i({operands:o,calculator:e})},[i,o]);return a().createElement("fieldset",{className:(0,c.css)(j())},a().createElement(s.TypedVariableInput,{types:A,metaTree:p,value:o[0],onChange:b,style:{flex:1,minWidth:0}}),a().createElement(l.Select,{role:"button","aria-label":"select-operator-calc",value:t,onChange:g,placeholder:u("Operator"),popupMatchSelectWidth:!1,className:P},T.filter(function(e){return!!W(e.value).length}).map(function(e){return a().createElement(l.Select.OptGroup,{key:e.value,label:u(e.title)},W(e.value).map(function(e){var t=v(e,2),n=t[0],r=t[1].name;return a().createElement(l.Select.Option,{key:n,value:n},u(r))}))})),a().createElement(s.TypedVariableInput,{types:A,metaTree:f,value:o[1],onChange:y,style:{flex:1,minWidth:0}}))}function q(e){var t=e.value,n=e.onChange,r=e.onRemove;if(!t)return null;var o=t.calculator,i=t.operands;return a().createElement("div",{className:(0,c.css)(C())},t.group?a().createElement(D,{value:t.group,onChange:function(e){return n(d(g({},t),{group:e}))}}):a().createElement(F,{operands:void 0===i?[]:i,calculator:o,onChange:n}),a().createElement(l.Button,{"aria-label":"icon-close",onClick:r,type:"link",icon:a().createElement(u.CloseCircleOutlined,null)}))}function D(e){var t=e.value,n=e.onChange,o=(0,m.kj)(),i=(0,m.ec)().t,u=t.type,s=t.calculations,p=void 0===s?[]:s,b=(0,r.useCallback)(function(){n(d(g({},t),{calculations:O(p).concat([{not:!1,calculator:"equal"}])}))},[t,p,n]),y=(0,r.useCallback)(function(){n(d(g({},t),{calculations:O(p).concat([{not:!1,group:{type:"and",calculations:[]}}])}))},[t,p,n]),v=(0,r.useCallback)(function(e){p.splice(e,1),n(d(g({},t),{calculations:O(p)}))},[t,p,n]),h=(0,r.useCallback)(function(e,r){p.splice(e,1,r),n(d(g({},t),{calculations:O(p)}))},[t,p,n]);return a().createElement("div",{className:(0,c.cx)("node-type-condition-group",(0,c.css)(k()))},a().createElement("div",{className:(0,c.css)(S())},a().createElement(f.Trans,{t:i},"Meet ",a().createElement(l.Select,{role:"button","data-testid":"filter-select-all-or-any",value:void 0===u?"and":u,onChange:function(e){return n(d(g({},t),{type:e}))}},a().createElement(l.Select.Option,{value:"and"},"All"),a().createElement(l.Select.Option,{value:"or"},"Any"))," conditions in the group")),a().createElement("div",{className:"calculation-items"},p.map(function(e,t){return a().createElement(q,{key:"".concat(e.calculator,"_").concat(t),value:e,onChange:h.bind(null,t),onRemove:function(){return v(t)}})})),a().createElement("div",{className:(0,c.css)(x())},a().createElement(l.Button,{type:"link",onClick:b},o("Add condition")),a().createElement(l.Button,{type:"link",onClick:y},o("Add condition group"))))}function U(e){var t=e.value,n=e.onChange,r=e.useVariableHook,o=void 0===r?b.P:r,l=t&&Object.keys(t).length?t:{group:{type:"and",calculations:[]}};return a().createElement(N.Provider,{value:o},a().createElement(D,{value:l.group,onChange:function(e){return null==n?void 0:n(d(g({},l),{group:e}))}}))}var B=n(9785),M=n(3210);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 V(e,t,n,r,a,o,l){try{var i=e[o](l),u=i.value}catch(e){n(e);return}i.done?t(u):Promise.resolve(u).then(r,a)}function R(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,a=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var o=[],l=!0,i=!1;try{for(a=a.call(e);!(l=(n=a.next()).done)&&(o.push(n.value),!t||o.length!==t);l=!0);}catch(e){i=!0,r=e}finally{try{l||null==a.return||a.return()}finally{if(i)throw r}}return o}}(e,t)||G(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function $(e){return function(e){if(Array.isArray(e))return z(e)}(e)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||G(e)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function G(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 L="basic";function H(e,t){return $(e).concat([t])}function J(e){var t,n,r,u=e.prefix,c=e.calculationLabel,s=e.expressionLabel,p=e.expressionItemProps,f=(0,m.kj)(),b=(t=(0,m.kj)(),n=Array.from(o.evaluators.getEntities()).filter(function(e){return["math.js","formula.js"].includes(R(e,1)[0])}).map(function(e){var t=R(e,2),n=t[0],r=t[1];return{value:n,label:r.label,tooltip:r.tooltip}}),[{value:L,label:t("Basic")}].concat($(n))),y=null!=(r=l.Form.useWatch(H(u,"engine")))?r:L;return a().createElement(a().Fragment,null,a().createElement(l.Form.Item,{name:H(u,"engine"),label:f("Calculation engine"),rules:[{required:!0}],initialValue:L},a().createElement(B.$,{options:b})),a().createElement(l.Form.Item,{name:H(u,"calculation"),label:null!=c?c:f("Condition"),hidden:y!==L,dependencies:[H(u,"engine")],rules:[{required:y===L}]},a().createElement(U,null)),a().createElement(l.Form.Item,function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){var r;r=n[t],t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r})}return e}({name:H(u,"expression"),label:null!=s?s:f("Condition expression"),hidden:y===L,dependencies:[H(u,"engine")],validateTrigger:["onChange","onBlur"],rules:[{required:y!==L},{validator:function(e,t){var n;return(n=function(){var e,n;return function(e,t){var n,r,a,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},l=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),i=Object.defineProperty;return i(l,"next",{value:u(0)}),i(l,"throw",{value:u(1)}),i(l,"return",{value:u(2)}),"function"==typeof Symbol&&i(l,Symbol.iterator,{value:function(){return this}}),l;function u(i){return function(u){var c=[i,u];if(n)throw TypeError("Generator is already executing.");for(;l&&(l=0,c[0]&&(o=0)),o;)try{if(n=1,r&&(a=2&c[0]?r.return:c[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,c[1])).done)return a;switch(r=0,a&&(c=[2&c[0],a.value]),c[0]){case 0:case 1:a=c;break;case 4:return o.label++,{value:c[1],done:!1};case 5:o.label++,r=c[1],c=[0];continue;case 7:c=o.ops.pop(),o.trys.pop();continue;default:if(!(a=(a=o.trys).length>0&&a[a.length-1])&&(6===c[0]||2===c[0])){o=0;continue}if(3===c[0]&&(!a||c[1]>a[0]&&c[1]<a[3])){o.label=c[1];break}if(6===c[0]&&o.label<a[1]){o.label=a[1],a=c;break}if(a&&o.label<a[2]){o.label=a[2],o.ops.push(c);break}a[2]&&o.ops.pop(),o.trys.pop();continue}c=t.call(e,o)}catch(e){c=[6,e],r=0}finally{n=a=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}(this,function(r){if(y===L||!t||!(e=o.evaluators.get(y)))return[2];n=String(t).trim().replace(/{{([^{}]+)}}/g,' "1" ');try{e.evaluate(n)}catch(e){throw Error(f("Expression syntax error"))}return[2]})},function(){var e=this,t=arguments;return new Promise(function(r,a){var o=n.apply(e,t);function l(e){V(o,r,a,l,i,"next",e)}function i(e){V(o,r,a,l,i,"throw",e)}l(void 0)})})()}}],extra:y===L?void 0:(0,M.s)(y,f)},p),a().createElement(i.M,null)))}}}]);
@@ -1,10 +0,0 @@
1
- /**
2
- * This file is part of the NocoBase (R) project.
3
- * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
- * Authors: NocoBase Team.
5
- *
6
- * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
- * For more information, please refer to: https://www.nocobase.com/agreement.
8
- */
9
-
10
- "use strict";(self.webpackChunk_nocobase_plugin_workflow=self.webpackChunk_nocobase_plugin_workflow||[]).push([["972"],{1801:function(e,t,r){r.d(t,{N$:function(){return D},yr:function(){return F}});var n=r(3485),o=r(7694),a=r(2625),i=r(9155),u=r.n(i),l=r(7768),c=r(4563),s=r(9488),f=r(3943);function y(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function d(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function m(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r,n,o=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var a=[],i=!0,u=!1;try{for(o=o.call(e);!(i=(r=o.next()).done)&&(a.push(r.value),!t||a.length!==t);i=!0);}catch(e){u=!0,n=e}finally{try{i||null==o.return||o.return()}finally{if(u)throw n}}return a}}(e,t)||h(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function p(e){return function(e){if(Array.isArray(e))return y(e)}(e)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||h(e)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function v(e){return e&&"u">typeof Symbol&&e.constructor===Symbol?"symbol":typeof e}function h(e,t){if(e){if("string"==typeof e)return y(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if("Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r)return Array.from(r);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return y(e,t)}}var b=/^\{\{\s*([^{}]+?)\s*\}\}$/,g=/^\{\{\s*ctx\.(\$[^{}]+?)\s*\}\}$/,w=["yesterday","today","tomorrow","lastWeek","thisWeek","nextWeek","lastMonth","thisMonth","nextMonth","lastQuarter","thisQuarter","nextQuarter","lastYear","thisYear","nextYear","last7Days","next7Days","last30Days","next30Days","last90Days","next90Days"],x={yesterday:"Yesterday",today:"Today",tomorrow:"Tomorrow",lastWeek:"Last week",thisWeek:"This week",nextWeek:"Next week",lastMonth:"Last month",thisMonth:"This month",nextMonth:"Next month",lastQuarter:"Last quarter",thisQuarter:"This quarter",nextQuarter:"Next quarter",lastYear:"Last year",thisYear:"This year",nextYear:"Next year",last7Days:"Last 7 days",next7Days:"Next 7 days",last30Days:"Last 30 days",next30Days:"Next 30 days",last90Days:"Last 90 days",next90Days:"Next 90 days"};function j(e){if("string"!=typeof e)return e;var t=e.trim().match(b);return!t||t[1].startsWith("ctx.")?e:"{{ ctx.".concat(t[1]," }}")}function O(e){return!!(e&&(void 0===e?"undefined":v(e))==="object"&&"logic"in e&&"items"in e)}function A(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];if(!e||(void 0===e?"undefined":v(e))!=="object"||Array.isArray(e))return t.length?[{path:t.join("."),operator:"$eq",value:j(e)}]:[];var r=Object.entries(e),n=r.filter(function(e){return m(e,1)[0].startsWith("$")});return n.length?t.length?n.map(function(e){var r=m(e,2),n=r[0],o=r[1];return{path:t.join("."),operator:n,value:j(o)}}):[]:r.flatMap(function(e){var r=m(e,2),n=r[0];return A(r[1],p(t).concat([n]))})}function k(e){return Array.isArray(e.$or)?"$or":Array.isArray(e.$and)?"$and":void 0}function S(e){var t;return O(e)?e:null!=(t=function e(t){if(!(!t||(void 0===t?"undefined":v(t))!=="object"||Array.isArray(t))){var r=k(t);if(!r){var n=A(t);return n.length?{logic:"$and",items:n}:void 0}var o=t[r].flatMap(function(t){if(!t||(void 0===t?"undefined":v(t))!=="object"||Array.isArray(t))return[];if(k(t)){var r=e(t);return r?[r]:[]}return A(t)}).filter(function(e){return!!e});return o.length?{logic:r,items:o}:void 0}}(e))?t:{logic:"$and",items:[]}}function D(e){var t=e.collection,r=e.value,y=e.onChange,m=e.rightAsVariable,v=void 0===m||m,h=e.maxAssociationFieldDepth,b=void 0===h?2:h,j=(0,o.useFlowEngine)(),A=(0,s.kj)(),k=(0,a.useMemoizedFn)(function(e,t){return A(e,t)}),D=(0,c.P)(),F=(0,i.useMemo)(function(){var e,t;return e={name:"dateRange",title:k("Date range"),type:"object",paths:["$system","dateRange"],children:w.map(function(e){return{name:e,title:k(x[e]),type:"string",paths:["$system","dateRange",e]}})},(t=D.findIndex(function(e){return"$system"===e.name}))<0?p(D).concat([{name:"$system",title:k("System variables"),type:"",paths:["$system"],children:[e]}]):D.map(function(r,n){if(n!==t||"function"==typeof r.children)return r;var o,a,i=Array.isArray(r.children)?r.children.filter(function(e){return"dateRange"!==e.name}):[];return o=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){d(e,t,r[t])})}return e}({},r),a=a={children:p(i).concat([e])},Object.getOwnPropertyDescriptors?Object.defineProperties(o,Object.getOwnPropertyDescriptors(a)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t})(Object(a)).forEach(function(e){Object.defineProperty(o,e,Object.getOwnPropertyDescriptor(a,e))}),o})},[k,D]),M=(0,i.useMemo)(function(){return(0,f.X_)(j.context.dataSourceManager,t)},[j,t]),P=(0,i.useMemo)(function(){if(!M)return null;var e=j.createModel({uid:(0,o.randomId)("workflowFilter_"),use:o.FlowModel}),t=j.context.app;return t&&e.context.defineProperty("app",{value:t}),e.context.defineProperty("collection",{get:function(){return M}}),e},[M,j]);(0,i.useEffect)(function(){return function(){var e;null==P||null==(e=P.remove)||e.call(P)}},[P]);var $=(0,i.useRef)();$.current||($.current=(0,o.observable)(S(r)));var E=(0,i.useRef)(null);(0,i.useEffect)(function(){var e=JSON.stringify(null!=r?r:{});if(E.current!==e){var t=S(r);$.current&&($.current.logic=t.logic,$.current.items=t.items,E.current=e)}},[r]),(0,i.useEffect)(function(){if($.current)return(0,o.reaction)(function(){return JSON.stringify((0,o.toJS)($.current))},function(e){var t,r=JSON.parse(e),n=Array.isArray(r.items)?r.items.length:0,o=(0,l.removeInvalidFilterItems)(r);if(!o.items.length){n||null==y||y({});return}var a=null!=(t=function e(t){if(null==t||null==(r=t.items)?void 0:r.length){var r,n=t.items.map(function(t){if(O(t))return e(t);if("string"==typeof t.path&&"string"==typeof t.operator&&t.path&&t.operator)return function(e,t){for(var r=e.split("."),n=t,o=r.length-1;o>=0;o--)n=d({},r[o],n);return n}(t.path,d({},t.operator,function(e){if("string"!=typeof e)return e;var t=e.trim().match(g);return t?"{{".concat(t[1],"}}"):e}(t.value)))}).filter(function(e){return!!e});if(n.length)return d({},t.logic,n)}}(o))?t:{};E.current=JSON.stringify(a),null==y||y(a)},{fireImmediately:!1})},[y]);var I=(0,i.useMemo)(function(){if(!P)return null;var e=function(e){var t=e.value;return u().createElement(o.FlowModelProvider,{model:P},u().createElement(n.VariableFilterItem,{value:t,model:P,rightAsVariable:v,rightMetaTree:F,maxAssociationFieldDepth:b}))};return e.displayName="WorkflowVariableFilterItem",e},[P,b,v,F]);return u().createElement(n.FilterGroup,{value:$.current,FilterItem:null!=I?I:void 0})}var F=D},5329:function(e,t,r){r.d(t,{F:function(){return c}});var n=r(9155),o=r.n(n),a=r(2059),i=r(8198),u=r(9488);function l(e){var t=e.value,r=e.onChange,a=e.disabled,u=e.onCollectionChanged,l=(0,n.useRef)();return o().createElement(i.XJ,{value:t,disabled:a,onChange:function(e){var n,o=null!=(n=l.current)?n:t;null==r||r(e),o&&o!==e&&(null==u||u(o,e)),l.current=e}})}function c(e){var t=e.disabled,r=e.onCollectionChanged,n=(0,u.kj)();return o().createElement(a.Form.Item,{name:["config","collection"],label:n("Collection"),rules:[{required:!0}]},o().createElement(l,{disabled:t,onCollectionChanged:r}))}},6855:function(e,t,r){r.d(t,{F:function(){return s}});var n=r(9155),o=r.n(n),a=r(2059),i=r(7768),u=r(1801),l=r(9488);function c(e,t,r,n,o,a,i){try{var u=e[a](i),l=u.value}catch(e){r(e);return}u.done?t(l):Promise.resolve(l).then(n,o)}function s(e){var t=e.collection,r=e.label,n=e.name,s=e.required,f=e.maxAssociationFieldDepth,y=(0,l.kj)();return o().createElement(a.Form.Item,{name:void 0===n?["config","params","filter"]:n,label:null!=r?r:y("Filter"),validateTrigger:["onChange","onBlur"],rules:void 0===s||s?[{validator:function(e,t){var r;return(r=function(){return function(e,t){var r,n,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),u=Object.defineProperty;return u(i,"next",{value:l(0)}),u(i,"throw",{value:l(1)}),u(i,"return",{value:l(2)}),"function"==typeof Symbol&&u(i,Symbol.iterator,{value:function(){return this}}),i;function l(u){return function(l){var c=[u,l];if(r)throw TypeError("Generator is already executing.");for(;i&&(i=0,c[0]&&(a=0)),a;)try{if(r=1,n&&(o=2&c[0]?n.return:c[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,c[1])).done)return o;switch(n=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return a.label++,{value:c[1],done:!1};case 5:a.label++,n=c[1],c=[0];continue;case 7:c=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===c[0]||2===c[0])){a=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){a.label=c[1];break}if(6===c[0]&&a.label<o[1]){a.label=o[1],o=c;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(c);break}o[2]&&a.ops.pop(),a.trys.pop();continue}c=t.call(e,a)}catch(e){c=[6,e],n=0}finally{r=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}(this,function(e){if(!(0,i.isValidFilter)(t))throw Error(y("Please add at least one condition"));return[2]})},function(){var e=this,t=arguments;return new Promise(function(n,o){var a=r.apply(e,t);function i(e){c(a,n,o,i,u,"next",e)}function u(e){c(a,n,o,i,u,"throw",e)}i(void 0)})})()}}]:void 0},o().createElement(u.N$,{collection:t,maxAssociationFieldDepth:void 0===f?2:f}))}}}]);
@@ -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([["142"],{5329:function(e,n,t){t.d(n,{F:function(){return u}});var r=t(9155),l=t.n(r),o=t(2059),a=t(7806),i=t(9488);function c(e){var n=e.value,t=e.onChange,o=e.disabled,i=e.onCollectionChanged,c=(0,r.useRef)();return l().createElement(a.XJ,{value:n,disabled:o,onChange:function(e){var r,l=null!=(r=c.current)?r:n;null==t||t(e),l&&l!==e&&(null==i||i(l,e)),c.current=e}})}function u(e){var n=e.disabled,t=e.onCollectionChanged,r=(0,i.kj)();return l().createElement(o.Form.Item,{name:["config","collection"],label:r("Collection"),rules:[{required:!0}]},l().createElement(c,{disabled:n,onCollectionChanged:t}))}},6855:function(e,n,t){t.d(n,{F:function(){return s}});var r=t(9155),l=t.n(r),o=t(2059),a=t(7768),i=t(1801),c=t(9488);function u(e,n,t,r,l,o,a){try{var i=e[o](a),c=i.value}catch(e){t(e);return}i.done?n(c):Promise.resolve(c).then(r,l)}function s(e){var n=e.collection,t=e.label,r=e.name,s=e.required,f=e.maxAssociationFieldDepth,m=(0,c.kj)();return l().createElement(o.Form.Item,{name:void 0===r?["config","params","filter"]:r,label:null!=t?t:m("Filter"),validateTrigger:["onChange","onBlur"],rules:void 0===s||s?[{validator:function(e,n){var t;return(t=function(){return function(e,n){var t,r,l,o={label:0,sent:function(){if(1&l[0])throw l[1];return l[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),i=Object.defineProperty;return i(a,"next",{value:c(0)}),i(a,"throw",{value:c(1)}),i(a,"return",{value:c(2)}),"function"==typeof Symbol&&i(a,Symbol.iterator,{value:function(){return this}}),a;function c(i){return function(c){var u=[i,c];if(t)throw TypeError("Generator is already executing.");for(;a&&(a=0,u[0]&&(o=0)),o;)try{if(t=1,r&&(l=2&u[0]?r.return:u[0]?r.throw||((l=r.return)&&l.call(r),0):r.next)&&!(l=l.call(r,u[1])).done)return l;switch(r=0,l&&(u=[2&u[0],l.value]),u[0]){case 0:case 1:l=u;break;case 4:return o.label++,{value:u[1],done:!1};case 5:o.label++,r=u[1],u=[0];continue;case 7:u=o.ops.pop(),o.trys.pop();continue;default:if(!(l=(l=o.trys).length>0&&l[l.length-1])&&(6===u[0]||2===u[0])){o=0;continue}if(3===u[0]&&(!l||u[1]>l[0]&&u[1]<l[3])){o.label=u[1];break}if(6===u[0]&&o.label<l[1]){o.label=l[1],l=u;break}if(l&&o.label<l[2]){o.label=l[2],o.ops.push(u);break}l[2]&&o.ops.pop(),o.trys.pop();continue}u=n.call(e,o)}catch(e){u=[6,e],r=0}finally{t=l=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}}(this,function(e){if(!(0,a.isValidFilter)(n))throw Error(m("Please add at least one condition"));return[2]})},function(){var e=this,n=arguments;return new Promise(function(r,l){var o=t.apply(e,n);function a(e){u(o,r,l,a,i,"next",e)}function i(e){u(o,r,l,a,i,"throw",e)}a(void 0)})})()}}]:void 0},l().createElement(i.N$,{collection:n,maxAssociationFieldDepth:void 0===f?2:f}))}},693:function(e,n,t){t.d(n,{QueryFieldset:function(){return d},QueryPresetFieldset:function(){return p}});var r=t(9155),l=t.n(r),o=t(2059),a=t(2235),i=t(7806),c=t(9785),u=t(9488),s=t(5329),f=t(6855);function m(){var e=(0,u.kj)(),n=o.Form.useWatch(["config","collection"]);return n?l().createElement(l().Fragment,null,l().createElement(f.F,{collection:n,required:!1}),l().createElement(o.Form.Item,{name:["config","params","sort"],label:e("Sort")},l().createElement(i.o5,{collection:n})),l().createElement(i.uc,{pageName:["config","params","page"],pageSizeName:["config","params","pageSize"]}),l().createElement(o.Form.Item,{name:["config","params","appends"],label:e("Preload associations"),extra:e("Please select the associated fields that need to be accessed in subsequent nodes. With more than two levels of to-many associations may cause performance issue, please use with caution.")},l().createElement(i.Kr,{collection:n}))):null}function d(){var e,n,t=(0,u.kj)(),i=(0,a.TA)(),f=o.Form.useFormInstance(),d=[{label:(e=(0,u.kj)())("Single record"),value:!1,tooltip:e("The result will be an object of the first matching record only, or null if no matched record.")},{label:e("Multiple records"),value:!0,tooltip:e("The result will be an array containing matched records, or an empty one if no matching records. This can be used to be processed in a loop node.")}];return(0,r.useEffect)(function(){void 0===f.getFieldValue(["config","multiple"])&&f.setFieldValue(["config","multiple"],!1)},[f]),l().createElement(l().Fragment,null,l().createElement(s.F,{disabled:!!(null==i||null==(n=i.config)?void 0:n.collection),onCollectionChanged:function(){f.setFieldValue(["config","params"],{})}}),l().createElement(o.Form.Item,{name:["config","multiple"],label:t("Result type")},l().createElement(c.$,{options:d})),l().createElement(m,null),l().createElement(o.Form.Item,{name:["config","failOnEmpty"],valuePropName:"checked"},l().createElement(o.Checkbox,null,t("Exit when query result is null"))))}function p(){return l().createElement(s.F,null)}}}]);
@@ -1,10 +0,0 @@
1
- /**
2
- * This file is part of the NocoBase (R) project.
3
- * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
- * Authors: NocoBase Team.
5
- *
6
- * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
- * For more information, please refer to: https://www.nocobase.com/agreement.
8
- */
9
-
10
- "use strict";(self.webpackChunk_nocobase_plugin_workflow_client_v2=self.webpackChunk_nocobase_plugin_workflow_client_v2||[]).push([["276"],{5329:function(e,n,t){t.d(n,{F:function(){return c}});var r=t(9155),o=t.n(r),l=t(2059),a=t(7806),i=t(9488);function u(e){var n=e.value,t=e.onChange,l=e.disabled,i=e.onCollectionChanged,u=(0,r.useRef)();return o().createElement(a.XJ,{value:n,disabled:l,onChange:function(e){var r,o=null!=(r=u.current)?r:n;null==t||t(e),o&&o!==e&&(null==i||i(o,e)),u.current=e}})}function c(e){var n=e.disabled,t=e.onCollectionChanged,r=(0,i.kj)();return o().createElement(l.Form.Item,{name:["config","collection"],label:r("Collection"),rules:[{required:!0}]},o().createElement(u,{disabled:n,onCollectionChanged:t}))}},9671:function(e,n,t){t.d(n,{DestroyFieldset:function(){return f},DestroyPresetFieldset:function(){return s}});var r=t(9155),o=t.n(r),l=t(2059),a=t(2235),i=t(5329),u=t(6855);function c(){var e=l.Form.useWatch(["config","collection"]);return e?o().createElement(u.F,{collection:e}):null}function f(){var e,n=(0,a.TA)(),t=l.Form.useFormInstance();return o().createElement(o().Fragment,null,o().createElement(i.F,{disabled:!!(null==n||null==(e=n.config)?void 0:e.collection),onCollectionChanged:function(){t.setFieldValue(["config","params","filter"],{})}}),o().createElement(c,null))}function s(){return o().createElement(i.F,null)}},6855:function(e,n,t){t.d(n,{F:function(){return f}});var r=t(9155),o=t.n(r),l=t(2059),a=t(7768),i=t(1801),u=t(9488);function c(e,n,t,r,o,l,a){try{var i=e[l](a),u=i.value}catch(e){t(e);return}i.done?n(u):Promise.resolve(u).then(r,o)}function f(e){var n=e.collection,t=e.label,r=e.name,f=e.required,s=e.maxAssociationFieldDepth,d=(0,u.kj)();return o().createElement(l.Form.Item,{name:void 0===r?["config","params","filter"]:r,label:null!=t?t:d("Filter"),validateTrigger:["onChange","onBlur"],rules:void 0===f||f?[{validator:function(e,n){var t;return(t=function(){return function(e,n){var t,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(t)throw TypeError("Generator is already executing.");for(;a&&(a=0,c[0]&&(l=0)),l;)try{if(t=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=n.call(e,l)}catch(e){c=[6,e],r=0}finally{t=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}(this,function(e){if(!(0,a.isValidFilter)(n))throw Error(d("Please add at least one condition"));return[2]})},function(){var e=this,n=arguments;return new Promise(function(r,o){var l=t.apply(e,n);function a(e){c(l,r,o,a,i,"next",e)}function i(e){c(l,r,o,a,i,"throw",e)}a(void 0)})})()}}]:void 0},o().createElement(i.N$,{collection:n,maxAssociationFieldDepth:void 0===s?2:s}))}}}]);
@@ -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([["387"],{2034:function(e,t,n){n.d(t,{i:function(){return F}});var r=n(9155),l=n.n(r),o=n(2059),a=n(7375),i=n(5477),c=n(7694),u=n(5980),s=n(9651),d=n(2235),f=n(3052),m=n(9488),p=n(4759),v=n(2625),g=n(3485),y=n(2404);function b(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function E(e){var t,n,r,i=e.triggerTitle,c=(0,m.kj)(),s=null!=(n=(0,d.$K)())?n:{},f=s.execution,p=s.workflow,v=function(e){if(Array.isArray(e))return e}(t=l().useState(!1))||function(e){var t,n,r=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var l=[],o=!0,a=!1;try{for(r=r.call(e);!(o=(t=r.next()).done)&&(l.push(t.value),2!==l.length);o=!0);}catch(e){a=!0,n=e}finally{try{o||null==r.return||r.return()}finally{if(a)throw n}}return l}}(t)||function(e){if(e){if("string"==typeof e)return b(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 b(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=v[0],E=v[1],w=(0,u.A)().styles;return f?l().createElement(l().Fragment,null,l().createElement(o.Tooltip,{title:c("View result")},l().createElement(o.Button,{type:"primary",shape:"circle",size:"small",icon:l().createElement(a.InfoOutlined,null),className:w.nodeJobButtonClass,onClick:function(e){e.stopPropagation(),E(!0)},onMouseDown:function(e){return e.stopPropagation()}})),l().createElement(o.Modal,{open:g,onCancel:function(){return E(!1)},width:980,footer:null,title:l().createElement("div",{className:w.nodeTitleClass},l().createElement(o.Tag,null,i),l().createElement("strong",null,null==p?void 0:p.title)),destroyOnClose:!0,modalRender:function(e){return l().createElement("div",{onClick:function(e){return e.stopPropagation()},onMouseDown:function(e){return e.stopPropagation()}},e)}},l().createElement("div",{style:{marginBottom:16}},l().createElement("div",{style:{fontWeight:500,marginBottom:8}},c("Triggered at"),":"),l().createElement("div",null,(0,y.fU)(null==f?void 0:f.createdAt))),l().createElement("div",{style:{fontWeight:500,marginBottom:8}},c("Trigger variables"),":"),l().createElement(o.Input.TextArea,{value:JSON.stringify(null!=(r=null==f?void 0:f.context)?r:null,null,2),disabled:!0,autoSize:{minRows:4,maxRows:20},className:w.nodeJobResultClass,style:{whiteSpace:"pre",fontFamily:"monospace",fontSize:"80%"}}))):null}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 h(e,t,n,r,l,o,a){try{var i=e[o](a),c=i.value}catch(e){n(e);return}i.done?t(c):Promise.resolve(c).then(r,l)}function C(e){return function(){var t=this,n=arguments;return new Promise(function(r,l){var o=e.apply(t,n);function a(e){h(o,r,l,a,i,"next",e)}function i(e){h(o,r,l,a,i,"throw",e)}a(void 0)})}}function k(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,l=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=l){var o=[],a=!0,i=!1;try{for(l=l.call(e);!(a=(n=l.next()).done)&&(o.push(n.value),!t||o.length!==t);a=!0);}catch(e){i=!0,r=e}finally{try{a||null==l.return||l.return()}finally{if(i)throw r}}return o}}(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 T(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function S(e,t){var n,r,l,o={label:0,sent:function(){if(1&l[0])throw l[1];return l[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),i=Object.defineProperty;return i(a,"next",{value:c(0)}),i(a,"throw",{value:c(1)}),i(a,"return",{value:c(2)}),"function"==typeof Symbol&&i(a,Symbol.iterator,{value:function(){return this}}),a;function c(i){return function(c){var u=[i,c];if(n)throw TypeError("Generator is already executing.");for(;a&&(a=0,u[0]&&(o=0)),o;)try{if(n=1,r&&(l=2&u[0]?r.return:u[0]?r.throw||((l=r.return)&&l.call(r),0):r.next)&&!(l=l.call(r,u[1])).done)return l;switch(r=0,l&&(u=[2&u[0],l.value]),u[0]){case 0:case 1:l=u;break;case 4:return o.label++,{value:u[1],done:!1};case 5:o.label++,r=u[1],u=[0];continue;case 7:u=o.ops.pop(),o.trys.pop();continue;default:if(!(l=(l=o.trys).length>0&&l[l.length-1])&&(6===u[0]||2===u[0])){o=0;continue}if(3===u[0]&&(!l||u[1]>l[0]&&u[1]<l[3])){o.label=u[1];break}if(6===u[0]&&o.label<l[1]){o.label=l[1],l=u;break}if(l&&o.label<l[2]){o.label=l[2],o.ops.push(u);break}l[2]&&o.ops.pop(),o.trys.pop();continue}u=t.call(e,o)}catch(e){u=[6,e],r=0}finally{n=l=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}}function A(){var e=T(["\n margin-bottom: ","px;\n padding: ","px;\n background-color: ",";\n\n > *:last-child {\n margin-bottom: 0;\n }\n\n dl {\n display: flex;\n align-items: baseline;\n margin: 0;\n }\n\n dt {\n color: ",";\n }\n\n dt::after {\n content: ':';\n margin-right: ","px;\n }\n\n dd {\n margin: 0;\n }\n\n p {\n margin-top: ","px;\n color: ",";\n }\n "]);return A=function(){return e},e}function x(){var e=T(["\n .ant-form-item {\n margin-bottom: ","px;\n }\n\n .ant-form-item-extra {\n margin-top: ","px;\n }\n "]);return x=function(){return e},e}function N(e){var t=e.trigger,n=e.t,r=o.theme.useToken().token;if(!t.description)return null;var a=(0,i.css)(A(),r.marginLG,r.padding,r.colorFillAlter,r.colorText,r.marginXS,r.marginSM,r.colorTextDescription);return l().createElement("div",{className:a},l().createElement("dl",null,l().createElement("dt",null,n("Trigger type")),l().createElement("dd",null,l().createElement(o.Tag,null,n(t.title)))),l().createElement("p",null,n(t.description)))}function R(e){var t,n=e.trigger,a=e.workflow,u=e.onSubmitted,s=(0,c.useFlowContext)(),f=(0,m.kj)(),p=o.theme.useToken().token,y=o.App.useApp().message,b=!!(null==a||null==(t=a.versionStats)?void 0:t.executed),E=k(o.Form.useForm(),1)[0],w=k((0,r.useState)(!1),2),h=w[0],T=w[1],A=(0,r.useMemo)(function(){return(null==n?void 0:n.FieldsetLoader)?(0,r.lazy)(n.FieldsetLoader):null},[n]),R=(0,r.useMemo)(function(){var e;return{config:null!=(e=a.config)?e:{}}},[a.config]);(0,r.useEffect)(function(){E.setFieldsValue(R)},[E,R]);var O=(0,v.useMemoizedFn)(function(){return C(function(){var e,t,n;return S(this,function(r){switch(r.label){case 0:return[4,E.validateFields()];case 1:e=r.sent(),T(!0),r.label=2;case 2:return r.trys.push([2,4,5,6]),[4,s.api.resource("workflows").update({filterByTk:a.id,values:{config:null!=(t=e.config)?t:{}}})];case 3:return r.sent(),null==u||u(),[3,6];case 4:throw n=r.sent(),y.error(f("Failed to save trigger")),console.error(n),n;case 5:return T(!1),[7];case 6:return[2]}})})()}),I=(0,i.css)(x(),p.margin,p.marginXXS);return l().createElement(d.AA.Provider,{value:a},l().createElement(g.DrawerFormLayout,{title:f("Trigger"),onSubmit:O,submitting:h,submitText:f("Submit"),cancelText:f("Cancel"),footer:b?l().createElement("span",null):void 0},l().createElement("div",{style:{paddingBottom:48}},l().createElement(o.Form,{className:I,form:E,layout:"vertical",disabled:b,requiredMark:function(e,t){return t.required?l().createElement(l().Fragment,null,l().createElement("span",{style:{color:p.colorError}},"*"),e):e}},n?l().createElement(N,{trigger:n,t:f}):null,A?l().createElement(r.Suspense,{fallback:l().createElement(o.Skeleton,{active:!0,paragraph:{rows:4}})},l().createElement(A,null)):l().createElement(o.Typography.Paragraph,{type:"secondary"},n?f("This trigger's configuration has not been migrated to the new canvas yet."):f("This trigger type is not available in the new canvas yet."))))))}function O(){var e,t,n=(0,c.useFlowContext)(),i=(0,m.kj)(),s=(0,u.A)(),f=s.styles,g=s.cx,y=null!=(e=(0,d.$K)())?e:{},b=y.workflow,w=y.refresh,h=!!(0,d.S8)(),T=n.app.pm.get(p.q),A=(null==b?void 0:b.type)?T.getTriggerOptions(b.type):void 0,x=A?i(A.title):null!=(t=null==b?void 0:b.type)?t:i("Unknown trigger"),N=k((0,r.useState)(""),2),O=N[0],I=N[1];(0,r.useEffect)(function(){var e,t;I(null!=(e=null!=(t=null==b?void 0:b.triggerTitle)?t:null==b?void 0:b.title)?e:x)},[x,null==b?void 0:b.title,null==b?void 0:b.triggerTitle]);var j=(0,v.useMemoizedFn)(function(e){return C(function(){var t;return S(this,function(r){switch(r.label){case 0:if(!(null==b?void 0:b.id)||(I(t=e||x),t===b.triggerTitle))return[2];return[4,n.api.resource("workflows").update({filterByTk:b.id,values:{triggerTitle:t}})];case 1:return r.sent(),null==w||w(),[2]}})})()}),F=(0,v.useMemoizedFn)(function(){if(null==b?void 0:b.id){var e;(e={ctx:n,trigger:A,workflow:b,refresh:w}).ctx.viewer.drawer({width:"50%",closable:!0,content:function(){return l().createElement(R,{trigger:e.trigger,workflow:e.workflow,onSubmitted:e.refresh})}})}});if(!b)return null;var D=i("Trigger");return l().createElement("div",{className:f.nodeClass,role:"button","aria-label":"".concat(D,"-").concat(O),onClick:function(e){if(e.currentTarget.contains(e.target)){var t,n,r;n=t=e.target,(null!=(r=HTMLElement)&&"u">typeof Symbol&&r[Symbol.hasInstance]?!!r[Symbol.hasInstance](n):n instanceof r)&&t.closest("textarea, input, button, a, .ant-dropdown, .workflow-node-actions, .ant-modal")||F()}}},l().createElement("div",{className:g(f.nodeCardClass,{invalid:!A})},l().createElement("div",{className:f.nodeHeaderClass},l().createElement("div",{className:g(f.nodeMetaClass,"workflow-node-meta")},l().createElement(o.Tooltip,{title:(null==A?void 0:A.description)?i(A.description):void 0},l().createElement(o.Tag,{color:A?"gold":"error",icon:l().createElement(a.ThunderboltOutlined,null)},l().createElement("span",{className:"type"},x)))),l().createElement("div",{className:"workflow-node-actions"},l().createElement(E,{triggerTitle:x}))),l().createElement("div",{className:"workflow-node-title"},l().createElement(o.Input.TextArea,{value:O,onChange:function(e){return I(e.target.value)},onBlur:function(e){return C(function(){return S(this,function(t){switch(t.label){case 0:return[4,j(e.target.value)];case 1:return t.sent(),[2]}})})()},autoSize:!0,disabled:h,"aria-label":i("Trigger title")}))))}function I(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function j(){var e,t=(0,u.A)().styles,n=(0,m.kj)(),r=(0,c.useFlowEngine)(),i=(0,f.x)(),s=null==i?void 0:i.clipboard;if(!s)return null;var d=r.context.app.pm.get(p.q),v=null==d?void 0:d.getInstruction(s.type),g=v?n(v.title):s.type;return l().createElement("div",{className:t.clipboardPreviewClass},l().createElement("div",{className:"workflow-clipboard-header"},l().createElement("span",null,n("Copied node")),l().createElement(o.Button,{type:"text",size:"small",icon:l().createElement(a.CloseOutlined,null),onClick:function(){return null==i?void 0:i.clearClipboard()}})),l().createElement("div",{className:"workflow-clipboard-card"},l().createElement("div",{className:"workflow-clipboard-type"},g),l().createElement("div",{className:"workflow-clipboard-title"},null!=(e=s.title)?e:s.type)))}function F(e){var t,n,a=e.entry,c=(0,u.A)(),f=c.styles,p=c.cx,v=(0,m.kj)(),g=(0,d.S8)();(null!=(n=(0,d.$K)())?n:{}).workflow;var y=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 l=[],o=!0,a=!1;try{for(r=r.call(e);!(o=(t=r.next()).done)&&(l.push(t.value),2!==l.length);o=!0);}catch(e){a=!0,n=e}finally{try{o||null==r.return||r.return()}finally{if(a)throw n}}return l}}(t)||function(e){if(e){if("string"==typeof e)return I(e,2);var t=Object.prototype.toString.call(e).slice(8,-1);if("Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t)return Array.from(t);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return I(e,2)}}(t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),b=y[0],E=y[1];return l().createElement("div",{className:p(f.workflowPageClass,(0,i.css)({height:"100%"}))},l().createElement("div",{className:"workflow-canvas-wrapper"},l().createElement("div",{className:"workflow-canvas",style:{zoom:b/100}},l().createElement("div",{className:p(f.branchBlockClass,(0,i.css)({marginTop:"0 !important"}))},l().createElement("div",{className:f.branchClass},g?l().createElement(o.Alert,{type:"warning",showIcon:!0,message:v("Executed workflow cannot be modified. Could be copied to a new version to modify."),style:{marginBottom:"1em"}}):null,l().createElement(O,null),l().createElement("div",{className:p(f.branchBlockClass,(0,i.css)({marginTop:"0 !important"}))},l().createElement(s.l,{entry:a})),l().createElement("div",{className:f.terminalClass},v("End"))))),l().createElement(j,null),l().createElement("div",{className:"workflow-canvas-zoomer"},l().createElement(o.Slider,{vertical:!0,reverse:!0,defaultValue:100,step:10,min:10,value:b,onChange:E}))))}},8761:function(e,t,n){n.d(t,{K:function(){return r}});function r(e){var t=new Map;e.forEach(function(e){return t.set(e.id,e)});var n=!0,r=!1,l=void 0;try{for(var o,a=t.values()[Symbol.iterator]();!(n=(o=a.next()).done);n=!0){var i=o.value;i.upstreamId&&(i.upstream=t.get(i.upstreamId)),i.downstreamId&&(i.downstream=t.get(i.downstreamId))}}catch(e){r=!0,l=e}finally{try{n||null==a.return||a.return()}finally{if(r)throw l}}}},7001:function(e,t,n){n.d(t,{TD:function(){return i}});var r=n(2625),l=n(3485),o=n(8401);function a(){return"modern"===(0,l.getRouteRuntimeVersion)()}function i(){var e=(0,r.useMemoizedFn)(function(e){return a()?(0,o.JG)(e):"/admin/settings/workflow/workflows/".concat(e)}),t=(0,r.useMemoizedFn)(function(e){return a()?(0,o.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 o},QQ:function(){return c},hi:function(){return a},m2:function(){return i}});var r=n(358);function l(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var o={QUEUEING:null,STARTED:0,RESOLVED:1,FAILED:-1,ERROR:-2,ABORTED:-3,CANCELED:-4,REJECTED:-5,RETRY_NEEDED:-6},a=[{value:o.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:o.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:o.RESOLVED,label:'{{t("Resolved", { ns: "'.concat(r.C,'" })}}'),color:"green",description:'{{t("Successfully finished.", { ns: "'.concat(r.C,'" })}}')},{value:o.FAILED,label:'{{t("Failed", { ns: "'.concat(r.C,'" })}}'),color:"red",description:'{{t("Failed to satisfy node configurations.", { ns: "'.concat(r.C,'" })}}')},{value:o.ERROR,label:'{{t("Error", { ns: "'.concat(r.C,'" })}}'),color:"red",description:'{{t("Some node meets error.", { ns: "'.concat(r.C,'" })}}')},{value:o.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:o.CANCELED,label:'{{t("Canceled", { ns: "'.concat(r.C,'" })}}'),color:"volcano",description:'{{t("Manually canceled whole execution when waiting.", { ns: "'.concat(r.C,'" })}}')},{value:o.REJECTED,label:'{{t("Rejected", { ns: "'.concat(r.C,'" })}}'),color:"volcano",description:'{{t("Rejected from a manual node.", { ns: "'.concat(r.C,'" })}}')},{value:o.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,l({},t.value,t))},{}),c=[{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,l({},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([["54"],{5329:function(e,n,l){l.d(n,{F:function(){return r}});var t=l(9155),a=l.n(t),o=l(2059),i=l(7806),c=l(9488);function s(e){var n=e.value,l=e.onChange,o=e.disabled,c=e.onCollectionChanged,s=(0,t.useRef)();return a().createElement(i.XJ,{value:n,disabled:o,onChange:function(e){var t,a=null!=(t=s.current)?t:n;null==l||l(e),a&&a!==e&&(null==c||c(a,e)),s.current=e}})}function r(e){var n=e.disabled,l=e.onCollectionChanged,t=(0,c.kj)();return a().createElement(o.Form.Item,{name:["config","collection"],label:t("Collection"),rules:[{required:!0}]},a().createElement(s,{disabled:n,onCollectionChanged:l}))}},6381:function(e,n,l){l.d(n,{CreateFieldset:function(){return m},CreatePresetFieldset:function(){return d}});var t=l(9155),a=l.n(t),o=l(2059),i=l(2235),c=l(7806),s=l(9488),r=l(5329);function u(){var e=(0,s.kj)(),n=o.Form.useFormInstance(),l=o.Form.useWatch(["config","collection"]);return(0,t.useEffect)(function(){l&&(n.setFieldValue(["config","usingAssignFormSchema"],void 0),n.setFieldValue(["config","assignFormSchema"],void 0))},[l,n]),a().createElement(a().Fragment,null,a().createElement(o.Form.Item,{name:["config","params","values"],label:e("Fields values"),extra:e("Unassigned fields will be set to default values, and those without default values will be set to null.")},a().createElement(c.XH,{collection:l})),l?a().createElement(o.Form.Item,{name:["config","params","appends"],label:e("Preload associations"),extra:e("Please select the associated fields that need to be accessed in subsequent nodes. With more than two levels of to-many associations may cause performance issue, please use with caution.")},a().createElement(c.Kr,{collection:l})):null)}function m(){var e,n=(0,i.TA)(),l=o.Form.useFormInstance();return a().createElement(a().Fragment,null,a().createElement(r.F,{disabled:!!(null==n||null==(e=n.config)?void 0:e.collection),onCollectionChanged:function(){l.setFieldValue(["config","params"],{}),l.setFieldValue(["config","usingAssignFormSchema"],void 0),l.setFieldValue(["config","assignFormSchema"],void 0)}}),a().createElement(u,null))}function d(){return a().createElement(r.F,null)}}}]);
@@ -1,10 +0,0 @@
1
- /**
2
- * This file is part of the NocoBase (R) project.
3
- * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
- * Authors: NocoBase Team.
5
- *
6
- * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
- * For more information, please refer to: https://www.nocobase.com/agreement.
8
- */
9
-
10
- "use strict";(self.webpackChunk_nocobase_plugin_workflow_client_v2=self.webpackChunk_nocobase_plugin_workflow_client_v2||[]).push([["635"],{5329:function(e,n,t){t.d(n,{F:function(){return u}});var o=t(9155),l=t.n(o),r=t(2059),a=t(7806),i=t(9488);function c(e){var n=e.value,t=e.onChange,r=e.disabled,i=e.onCollectionChanged,c=(0,o.useRef)();return l().createElement(a.XJ,{value:n,disabled:r,onChange:function(e){var o,l=null!=(o=c.current)?o:n;null==t||t(e),l&&l!==e&&(null==i||i(l,e)),c.current=e}})}function u(e){var n=e.disabled,t=e.onCollectionChanged,o=(0,i.kj)();return l().createElement(r.Form.Item,{name:["config","collection"],label:o("Collection"),rules:[{required:!0}]},l().createElement(c,{disabled:n,onCollectionChanged:t}))}},6855:function(e,n,t){t.d(n,{F:function(){return s}});var o=t(9155),l=t.n(o),r=t(2059),a=t(7768),i=t(1801),c=t(9488);function u(e,n,t,o,l,r,a){try{var i=e[r](a),c=i.value}catch(e){t(e);return}i.done?n(c):Promise.resolve(c).then(o,l)}function s(e){var n=e.collection,t=e.label,o=e.name,s=e.required,d=e.maxAssociationFieldDepth,f=(0,c.kj)();return l().createElement(r.Form.Item,{name:void 0===o?["config","params","filter"]:o,label:null!=t?t:f("Filter"),validateTrigger:["onChange","onBlur"],rules:void 0===s||s?[{validator:function(e,n){var t;return(t=function(){return function(e,n){var t,o,l,r={label:0,sent:function(){if(1&l[0])throw l[1];return l[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),i=Object.defineProperty;return i(a,"next",{value:c(0)}),i(a,"throw",{value:c(1)}),i(a,"return",{value:c(2)}),"function"==typeof Symbol&&i(a,Symbol.iterator,{value:function(){return this}}),a;function c(i){return function(c){var u=[i,c];if(t)throw TypeError("Generator is already executing.");for(;a&&(a=0,u[0]&&(r=0)),r;)try{if(t=1,o&&(l=2&u[0]?o.return:u[0]?o.throw||((l=o.return)&&l.call(o),0):o.next)&&!(l=l.call(o,u[1])).done)return l;switch(o=0,l&&(u=[2&u[0],l.value]),u[0]){case 0:case 1:l=u;break;case 4:return r.label++,{value:u[1],done:!1};case 5:r.label++,o=u[1],u=[0];continue;case 7:u=r.ops.pop(),r.trys.pop();continue;default:if(!(l=(l=r.trys).length>0&&l[l.length-1])&&(6===u[0]||2===u[0])){r=0;continue}if(3===u[0]&&(!l||u[1]>l[0]&&u[1]<l[3])){r.label=u[1];break}if(6===u[0]&&r.label<l[1]){r.label=l[1],l=u;break}if(l&&r.label<l[2]){r.label=l[2],r.ops.push(u);break}l[2]&&r.ops.pop(),r.trys.pop();continue}u=n.call(e,r)}catch(e){u=[6,e],o=0}finally{t=l=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}}(this,function(e){if(!(0,a.isValidFilter)(n))throw Error(f("Please add at least one condition"));return[2]})},function(){var e=this,n=arguments;return new Promise(function(o,l){var r=t.apply(e,n);function a(e){u(r,o,l,a,i,"next",e)}function i(e){u(r,o,l,a,i,"throw",e)}a(void 0)})})()}}]:void 0},l().createElement(i.N$,{collection:n,maxAssociationFieldDepth:void 0===d?2:d}))}},8950:function(e,n,t){t.d(n,{UpdateFieldset:function(){return p},UpdatePresetFieldset:function(){return v}});var o=t(9155),l=t.n(o),r=t(2059),a=t(2235),i=t(7806),c=t(9785),u=t(9488),s=t(5329),d=t(6855),f=function(e){return!(0,i.Cg)(e)||"belongsTo"===e.type};function m(){var e,n=(0,u.kj)(),t=r.Form.useFormInstance(),a=r.Form.useWatch(["config","collection"]),s=r.Form.useWatch(["config","params","individualHooks"],t),m=[{label:(e=(0,u.kj)())("Update in a batch"),value:!1,tooltip:e("Update all eligible data at one time, which has better performance when the amount of data is large. But association fields are not supported (unless foreign key in current collection), and the updated data will not trigger other workflows.")},{label:e("Update one by one"),value:!0,tooltip:e("The updated data can trigger other workflows, and the audit log will also be recorded. But it is usually only applicable to several or dozens of pieces of data, otherwise there will be performance problems.")}],p=!0!==s;return((0,o.useEffect)(function(){a&&(t.setFieldValue(["config","usingAssignFormSchema"],void 0),t.setFieldValue(["config","assignFormSchema"],void 0),void 0===t.getFieldValue(["config","params","individualHooks"])&&t.setFieldValue(["config","params","individualHooks"],!1))},[a,t]),a)?l().createElement(l().Fragment,null,l().createElement(r.Form.Item,{name:["config","params","individualHooks"],label:n("Update mode")},l().createElement(c.$,{options:m})),l().createElement(d.F,{collection:a,label:n("Only update records matching conditions")}),l().createElement(r.Form.Item,{name:["config","params","values"],label:n("Fields values")},l().createElement(i.XH,{collection:a,fieldFilter:p?f:void 0,pruneFilteredValues:p}))):null}function p(){var e,n=(0,a.TA)(),t=r.Form.useFormInstance();return l().createElement(l().Fragment,null,l().createElement(s.F,{disabled:!!(null==n||null==(e=n.config)?void 0:e.collection),onCollectionChanged:function(){t.setFieldValue(["config","params","filter"],{}),t.setFieldValue(["config","params","values"],{}),t.setFieldValue(["config","usingAssignFormSchema"],void 0),t.setFieldValue(["config","assignFormSchema"],void 0)}}),l().createElement(m,null))}function v(){return l().createElement(s.F,null)}}}]);