@nocobase/plugin-workflow 3.0.0-alpha.11 → 3.0.0-alpha.13

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 (38) hide show
  1. package/dist/client/142.99ee85375434b414.js +10 -0
  2. package/dist/client/276.0cd7d4f4b21299f2.js +10 -0
  3. package/dist/client/{382.d37fba14a6b91b0b.js → 382.163a5272789260ab.js} +1 -1
  4. package/dist/client/{394.a37310b78419ad7a.js → 394.2b986ad5ec8d2cd0.js} +1 -1
  5. package/dist/client/{54.d81b710f7b4c1cd5.js → 54.6a0f9054f5aeb5cf.js} +1 -1
  6. package/dist/client/{618.1aa6c21d0f2840cb.js → 618.3a1c7678cb08cbe0.js} +1 -1
  7. package/dist/client/635.639988ea0ebdd8f3.js +10 -0
  8. package/dist/client/{67.5eb8767a709f27d9.js → 67.d69365d72db04f02.js} +1 -1
  9. package/dist/client/719.27165958caf83d8e.js +10 -0
  10. package/dist/client/728.f57b6314d6786870.js +10 -0
  11. package/dist/client/{938.26493fc09ba1ccbc.js → 938.68d591853136f00d.js} +1 -1
  12. package/dist/client/{964.5ab736effd480a42.js → 964.618e49037c20a31b.js} +1 -1
  13. package/dist/client/components/UsersSelect.d.ts +2 -9
  14. package/dist/client/index.js +1 -1
  15. package/dist/client/workflowTasksResponsive.d.ts +14 -0
  16. package/dist/client-v2/32.3aff0d3127924f37.js +10 -0
  17. package/dist/client-v2/components/FilterDynamicComponent.d.ts +4 -1
  18. package/dist/client-v2/components/UsersSelect.d.ts +39 -0
  19. package/dist/client-v2/index.d.ts +2 -0
  20. package/dist/client-v2/index.js +1 -1
  21. package/dist/common/collections/jobs.d.ts +3 -0
  22. package/dist/common/collections/jobs.js +2 -1
  23. package/dist/externalVersion.js +13 -13
  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/triggers/CollectionTrigger.js +1 -1
  29. package/dist/server/triggers/ScheduleTrigger/StaticScheduleTrigger.js +8 -7
  30. package/dist/shared/WorkflowTaskNavigation.js +14 -6
  31. package/package.json +2 -2
  32. package/dist/client/142.fb4936d78fc80007.js +0 -10
  33. package/dist/client/276.69fb2aea13bc7c37.js +0 -10
  34. package/dist/client/635.ff6085589e23d39b.js +0 -10
  35. package/dist/client/719.f011fde3ad54571e.js +0 -10
  36. package/dist/client/728.e54be200a2eaac45.js +0 -10
  37. package/dist/client/972.dd7f074d5f12e171.js +0 -10
  38. package/dist/client-v2/32.f7a2f5b51aac18b6.js +0 -10
@@ -34,5 +34,8 @@ declare const _default: {
34
34
  primaryKey?: undefined;
35
35
  autoIncrement?: undefined;
36
36
  })[];
37
+ indexes: {
38
+ fields: string[];
39
+ }[];
37
40
  };
38
41
  export default _default;
@@ -86,5 +86,6 @@ var jobs_default = {
86
86
  type: "text",
87
87
  name: "log"
88
88
  }
89
- ]
89
+ ],
90
+ indexes: [{ fields: ["status", "id"] }]
90
91
  };
@@ -11,33 +11,33 @@ module.exports = {
11
11
  "react": "18.2.0",
12
12
  "@formily/core": "2.3.7",
13
13
  "@formily/react": "2.3.7",
14
- "@nocobase/client": "3.0.0-alpha.11",
15
- "@nocobase/utils": "3.0.0-alpha.11",
14
+ "@nocobase/client": "3.0.0-alpha.13",
15
+ "@nocobase/utils": "3.0.0-alpha.13",
16
16
  "antd": "5.24.2",
17
17
  "@ant-design/icons": "5.6.1",
18
- "@nocobase/flow-engine": "3.0.0-alpha.11",
18
+ "@nocobase/flow-engine": "3.0.0-alpha.13",
19
19
  "ahooks": "3.7.8",
20
20
  "react-router-dom": "6.30.1",
21
21
  "react-i18next": "11.18.6",
22
22
  "lodash": "4.18.1",
23
23
  "@dnd-kit/core": "6.1.0",
24
24
  "@formily/shared": "2.3.7",
25
- "@nocobase/plugin-mobile": "3.0.0-alpha.11",
26
- "@nocobase/client-v2": "3.0.0-alpha.11",
25
+ "@nocobase/plugin-mobile": "3.0.0-alpha.13",
26
+ "@nocobase/client-v2": "3.0.0-alpha.13",
27
27
  "sequelize": "6.35.2",
28
- "@nocobase/server": "3.0.0-alpha.11",
29
- "@nocobase/database": "3.0.0-alpha.11",
30
- "@nocobase/data-source-manager": "3.0.0-alpha.11",
31
- "@nocobase/logger": "3.0.0-alpha.11",
32
- "@nocobase/evaluators": "3.0.0-alpha.11",
28
+ "@nocobase/server": "3.0.0-alpha.13",
29
+ "@nocobase/database": "3.0.0-alpha.13",
30
+ "@nocobase/data-source-manager": "3.0.0-alpha.13",
31
+ "@nocobase/logger": "3.0.0-alpha.13",
32
+ "@nocobase/evaluators": "3.0.0-alpha.13",
33
33
  "@emotion/css": "11.13.0",
34
34
  "@formily/antd-v5": "1.2.3",
35
35
  "@formily/reactive": "2.3.7",
36
36
  "@formily/json-schema": "2.3.7",
37
37
  "antd-style": "3.7.1",
38
38
  "dayjs": "1.11.13",
39
- "@nocobase/actions": "3.0.0-alpha.11",
40
- "@nocobase/plugin-workflow-test": "3.0.0-alpha.11",
41
- "@nocobase/test": "3.0.0-alpha.11",
39
+ "@nocobase/actions": "3.0.0-alpha.13",
40
+ "@nocobase/plugin-workflow-test": "3.0.0-alpha.13",
41
+ "@nocobase/test": "3.0.0-alpha.13",
42
42
  "@dnd-kit/sortable": "7.0.2"
43
43
  };
@@ -1 +1 @@
1
- {"name":"cron-parser","version":"4.4.0","description":"Node.js library for parsing crontab instructions","main":"lib/parser.js","types":"index.d.ts","typesVersions":{"<4.1":{"*":["types/ts3/*"]}},"directories":{"test":"test"},"scripts":{"test:tsd":"tsd","test:unit":"TZ=UTC tap ./test/*.js","test:cover":"TZ=UTC tap --coverage-report=html ./test/*.js","lint":"eslint .","lint:fix":"eslint --fix .","test":"npm run lint && npm run test:unit && npm run test:tsd"},"repository":{"type":"git","url":"https://github.com/harrisiirak/cron-parser.git"},"keywords":["cron","crontab","parser"],"author":"Harri Siirak","contributors":["Nicholas Clawson","Daniel Prentis <daniel@salsitasoft.com>","Renault John Lecoultre","Richard Astbury <richard.astbury@gmail.com>","Meaglin Wasabi <Meaglin.wasabi@gmail.com>","Mike Kusold <hello@mikekusold.com>","Alex Kit <alex.kit@atmajs.com>","Santiago Gimeno <santiago.gimeno@gmail.com>","Daniel <darc.tec@gmail.com>","Christian Steininger <christian.steininger.cs@gmail.com>","Mykola Piskovyi <m.piskovyi@gmail.com>","Brian Vaughn <brian.david.vaughn@gmail.com>","Nicholas Clawson <nickclaw@gmail.com>","Yasuhiroki <yasuhiroki.duck@gmail.com>","Nicholas Clawson <nickclaw@gmail.com>","Brendan Warkentin <faazshift@gmail.com>","Charlie Fish <fishcharlie.code@gmail.com>","Ian Graves <ian+diskimage@iangrav.es>","Andy Thompson <me@andytson.com>","Regev Brody <regevbr@gmail.com>"],"license":"MIT","dependencies":{"luxon":"^1.28.0"},"devDependencies":{"eslint":"^8.2.0","sinon":"^10.0.0","tap":"^16.0.1","tsd":"^0.19.0"},"engines":{"node":">=0.8"},"browser":{"fs":false},"tap":{"check-coverage":false},"tsd":{"directory":"test","compilerOptions":{"lib":["es2017","dom"]}},"_lastModified":"2026-08-23T06:24:13.194Z"}
1
+ {"name":"cron-parser","version":"4.4.0","description":"Node.js library for parsing crontab instructions","main":"lib/parser.js","types":"index.d.ts","typesVersions":{"<4.1":{"*":["types/ts3/*"]}},"directories":{"test":"test"},"scripts":{"test:tsd":"tsd","test:unit":"TZ=UTC tap ./test/*.js","test:cover":"TZ=UTC tap --coverage-report=html ./test/*.js","lint":"eslint .","lint:fix":"eslint --fix .","test":"npm run lint && npm run test:unit && npm run test:tsd"},"repository":{"type":"git","url":"https://github.com/harrisiirak/cron-parser.git"},"keywords":["cron","crontab","parser"],"author":"Harri Siirak","contributors":["Nicholas Clawson","Daniel Prentis <daniel@salsitasoft.com>","Renault John Lecoultre","Richard Astbury <richard.astbury@gmail.com>","Meaglin Wasabi <Meaglin.wasabi@gmail.com>","Mike Kusold <hello@mikekusold.com>","Alex Kit <alex.kit@atmajs.com>","Santiago Gimeno <santiago.gimeno@gmail.com>","Daniel <darc.tec@gmail.com>","Christian Steininger <christian.steininger.cs@gmail.com>","Mykola Piskovyi <m.piskovyi@gmail.com>","Brian Vaughn <brian.david.vaughn@gmail.com>","Nicholas Clawson <nickclaw@gmail.com>","Yasuhiroki <yasuhiroki.duck@gmail.com>","Nicholas Clawson <nickclaw@gmail.com>","Brendan Warkentin <faazshift@gmail.com>","Charlie Fish <fishcharlie.code@gmail.com>","Ian Graves <ian+diskimage@iangrav.es>","Andy Thompson <me@andytson.com>","Regev Brody <regevbr@gmail.com>"],"license":"MIT","dependencies":{"luxon":"^1.28.0"},"devDependencies":{"eslint":"^8.2.0","sinon":"^10.0.0","tap":"^16.0.1","tsd":"^0.19.0"},"engines":{"node":">=0.8"},"browser":{"fs":false},"tap":{"check-coverage":false},"tsd":{"directory":"test","compilerOptions":{"lib":["es2017","dom"]}},"_lastModified":"2026-08-31T06:59:40.651Z"}
@@ -1 +1 @@
1
- {"name":"joi","description":"Object schema validation","version":"17.13.3","repository":"git://github.com/hapijs/joi","main":"lib/index.js","types":"lib/index.d.ts","browser":"dist/joi-browser.min.js","files":["lib/**/*","dist/*"],"keywords":["schema","validation"],"dependencies":{"@hapi/hoek":"^9.3.0","@hapi/topo":"^5.1.0","@sideway/address":"^4.1.5","@sideway/formula":"^3.0.1","@sideway/pinpoint":"^2.0.0"},"devDependencies":{"@hapi/bourne":"2.x.x","@hapi/code":"8.x.x","@hapi/joi-legacy-test":"npm:@hapi/joi@15.x.x","@hapi/lab":"^25.1.3","@types/node":"^14.18.63","typescript":"4.3.x"},"scripts":{"prepublishOnly":"cd browser && npm install && npm run build","test":"lab -t 100 -a @hapi/code -L -Y","test-cov-html":"lab -r html -o coverage.html -a @hapi/code"},"license":"BSD-3-Clause","_lastModified":"2026-08-23T06:24:12.920Z"}
1
+ {"name":"joi","description":"Object schema validation","version":"17.13.3","repository":"git://github.com/hapijs/joi","main":"lib/index.js","types":"lib/index.d.ts","browser":"dist/joi-browser.min.js","files":["lib/**/*","dist/*"],"keywords":["schema","validation"],"dependencies":{"@hapi/hoek":"^9.3.0","@hapi/topo":"^5.1.0","@sideway/address":"^4.1.5","@sideway/formula":"^3.0.1","@sideway/pinpoint":"^2.0.0"},"devDependencies":{"@hapi/bourne":"2.x.x","@hapi/code":"8.x.x","@hapi/joi-legacy-test":"npm:@hapi/joi@15.x.x","@hapi/lab":"^25.1.3","@types/node":"^14.18.63","typescript":"4.3.x"},"scripts":{"prepublishOnly":"cd browser && npm install && npm run build","test":"lab -t 100 -a @hapi/code -L -Y","test-cov-html":"lab -r html -o coverage.html -a @hapi/code"},"license":"BSD-3-Clause","_lastModified":"2026-08-31T06:59:40.359Z"}
@@ -1 +1 @@
1
- {"name":"lru-cache","description":"A cache object that deletes the least-recently-used items.","version":"11.3.5","author":"Isaac Z. Schlueter <i@izs.me>","keywords":["mru","lru","cache"],"sideEffects":false,"scripts":{"build":"npm run prepare","prepare":"tshy && bash scripts/build.sh","pretest":"npm run prepare","presnap":"npm run prepare","test":"tap","snap":"tap","preversion":"npm test","postversion":"npm publish","prepublishOnly":"git push origin --follow-tags","format":"prettier --write .","typedoc":"typedoc --tsconfig ./.tshy/esm.json ./src/*.ts","benchmark-results-typedoc":"bash scripts/benchmark-results-typedoc.sh","prebenchmark":"npm run prepare","benchmark":"make -C benchmark","preprofile":"npm run prepare","profile":"make -C benchmark profile","lint":"oxlint --fix src test","postsnap":"npm run lint","postlint":"npm run format"},"main":"./dist/commonjs/index.min.js","types":"./dist/commonjs/index.d.ts","tshy":{"esmDialects":["node","browser"],"exports":{"./raw":"./src/index.ts",".":{"import":{"node":{"types":"./dist/esm/node/index.d.ts","default":"./dist/esm/node/index.min.js"},"browser":{"types":"./dist/esm/browser/index.d.ts","default":"./dist/esm/browser/index.min.js"},"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.min.js"},"require":{"types":"./dist/commonjs/index.d.ts","default":"./dist/commonjs/index.min.js"}}},"selfLink":false},"repository":{"type":"git","url":"git+ssh://git@github.com/isaacs/node-lru-cache.git"},"devDependencies":{"benchmark":"^2.1.4","esbuild":"^0.25.9","marked":"^4.2.12","mkdirp":"^3.0.1","oxlint":"^1.58.0","oxlint-tsgolint":"^0.19.0","prettier":"^3.8.1","tap":"^21.6.3","tshy":"^4.1.1","typedoc":"^0.28.18"},"license":"BlueOak-1.0.0","files":["dist"],"engines":{"node":"20 || >=22"},"exports":{"./raw":{"import":{"node":{"types":"./dist/esm/node/index.d.ts","default":"./dist/esm/node/index.js"},"browser":{"types":"./dist/esm/browser/index.d.ts","default":"./dist/esm/browser/index.js"},"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/commonjs/index.d.ts","default":"./dist/commonjs/index.js"}},".":{"import":{"node":{"types":"./dist/esm/node/index.d.ts","default":"./dist/esm/node/index.min.js"},"browser":{"types":"./dist/esm/browser/index.d.ts","default":"./dist/esm/browser/index.min.js"},"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.min.js"},"require":{"types":"./dist/commonjs/index.d.ts","default":"./dist/commonjs/index.min.js"}}},"type":"module","module":"./dist/esm/index.min.js","_lastModified":"2026-08-23T06:24:12.196Z"}
1
+ {"name":"lru-cache","description":"A cache object that deletes the least-recently-used items.","version":"11.3.5","author":"Isaac Z. Schlueter <i@izs.me>","keywords":["mru","lru","cache"],"sideEffects":false,"scripts":{"build":"npm run prepare","prepare":"tshy && bash scripts/build.sh","pretest":"npm run prepare","presnap":"npm run prepare","test":"tap","snap":"tap","preversion":"npm test","postversion":"npm publish","prepublishOnly":"git push origin --follow-tags","format":"prettier --write .","typedoc":"typedoc --tsconfig ./.tshy/esm.json ./src/*.ts","benchmark-results-typedoc":"bash scripts/benchmark-results-typedoc.sh","prebenchmark":"npm run prepare","benchmark":"make -C benchmark","preprofile":"npm run prepare","profile":"make -C benchmark profile","lint":"oxlint --fix src test","postsnap":"npm run lint","postlint":"npm run format"},"main":"./dist/commonjs/index.min.js","types":"./dist/commonjs/index.d.ts","tshy":{"esmDialects":["node","browser"],"exports":{"./raw":"./src/index.ts",".":{"import":{"node":{"types":"./dist/esm/node/index.d.ts","default":"./dist/esm/node/index.min.js"},"browser":{"types":"./dist/esm/browser/index.d.ts","default":"./dist/esm/browser/index.min.js"},"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.min.js"},"require":{"types":"./dist/commonjs/index.d.ts","default":"./dist/commonjs/index.min.js"}}},"selfLink":false},"repository":{"type":"git","url":"git+ssh://git@github.com/isaacs/node-lru-cache.git"},"devDependencies":{"benchmark":"^2.1.4","esbuild":"^0.25.9","marked":"^4.2.12","mkdirp":"^3.0.1","oxlint":"^1.58.0","oxlint-tsgolint":"^0.19.0","prettier":"^3.8.1","tap":"^21.6.3","tshy":"^4.1.1","typedoc":"^0.28.18"},"license":"BlueOak-1.0.0","files":["dist"],"engines":{"node":"20 || >=22"},"exports":{"./raw":{"import":{"node":{"types":"./dist/esm/node/index.d.ts","default":"./dist/esm/node/index.js"},"browser":{"types":"./dist/esm/browser/index.d.ts","default":"./dist/esm/browser/index.js"},"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/commonjs/index.d.ts","default":"./dist/commonjs/index.js"}},".":{"import":{"node":{"types":"./dist/esm/node/index.d.ts","default":"./dist/esm/node/index.min.js"},"browser":{"types":"./dist/esm/browser/index.d.ts","default":"./dist/esm/browser/index.min.js"},"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.min.js"},"require":{"types":"./dist/commonjs/index.d.ts","default":"./dist/commonjs/index.min.js"}}},"type":"module","module":"./dist/esm/index.min.js","_lastModified":"2026-08-31T06:59:39.597Z"}
@@ -1 +1 @@
1
- {"name":"nodejs-snowflake","collaborators":["Utkarsh Srivastava <utkarsh@sagacious.dev>"],"description":"Generate time sortable 64 bits unique ids for distributed systems (inspired from twitter snowflake)","version":"2.0.1","license":"Apache 2.0","repository":{"type":"git","url":"https://github.com/utkarsh-pro/nodejs-snowflake.git"},"files":["nodejs_snowflake_bg.wasm","nodejs_snowflake.js","nodejs_snowflake.d.ts"],"main":"nodejs_snowflake.js","types":"nodejs_snowflake.d.ts","_lastModified":"2026-08-23T06:24:12.035Z"}
1
+ {"name":"nodejs-snowflake","collaborators":["Utkarsh Srivastava <utkarsh@sagacious.dev>"],"description":"Generate time sortable 64 bits unique ids for distributed systems (inspired from twitter snowflake)","version":"2.0.1","license":"Apache 2.0","repository":{"type":"git","url":"https://github.com/utkarsh-pro/nodejs-snowflake.git"},"files":["nodejs_snowflake_bg.wasm","nodejs_snowflake.js","nodejs_snowflake.d.ts"],"main":"nodejs_snowflake.js","types":"nodejs_snowflake.d.ts","_lastModified":"2026-08-31T06:59:39.427Z"}
@@ -170,7 +170,7 @@ class CollectionTrigger extends import__.default {
170
170
  return error;
171
171
  }
172
172
  async prepare(workflow, data, options) {
173
- const { condition, changed, mode, appends } = workflow.config;
173
+ const { condition, changed, mode, appends = [] } = workflow.config;
174
174
  const [dataSourceName, collectionName] = (0, import_data_source_manager.parseCollectionName)(workflow.config.collection);
175
175
  const { collectionManager } = this.workflow.app.dataSourceManager.dataSources.get(dataSourceName);
176
176
  const collection = collectionManager.getCollection(collectionName);
@@ -82,21 +82,22 @@ class StaticScheduleTrigger {
82
82
  currentDate.setMilliseconds(nextSecond ? 1e3 : 0);
83
83
  const timestamp = currentDate.getTime();
84
84
  const startTime = (0, import_utils.parseDateWithoutMs)(config.startsOn);
85
- if (startTime > timestamp) {
86
- return startTime;
85
+ const endTime = config.endsOn ? (0, import_utils.parseDateWithoutMs)(config.endsOn) : null;
86
+ if (startTime > timestamp && typeof config.repeat !== "string") {
87
+ return endTime && endTime < startTime ? null : startTime;
87
88
  }
88
89
  if (config.repeat) {
89
- const endTime = config.endsOn ? (0, import_utils.parseDateWithoutMs)(config.endsOn) : null;
90
90
  if (endTime && endTime < timestamp) {
91
91
  return null;
92
92
  }
93
93
  if (typeof config.repeat === "string") {
94
- const interval = import_cron_parser.default.parseExpression(config.repeat, { currentDate });
95
- const next = interval.next();
96
- return next.getTime();
94
+ const base = startTime > timestamp ? new Date(startTime - 1e3) : currentDate;
95
+ const interval = import_cron_parser.default.parseExpression(config.repeat, { currentDate: base });
96
+ const next = interval.next().getTime();
97
+ return endTime && endTime < next ? null : next;
97
98
  } else if (typeof config.repeat === "number") {
98
99
  const next = timestamp + config.repeat - (timestamp - startTime) % config.repeat;
99
- return next;
100
+ return endTime && endTime < next ? null : next;
100
101
  } else {
101
102
  return null;
102
103
  }
@@ -464,9 +464,13 @@ function WorkflowTaskNavigationMenu(props) {
464
464
  } = useWorkflowTaskFilterContext();
465
465
  const [searchValue, setSearchValue] = (0, import_react.useState)(search);
466
466
  const typeMenuKey = currentTypeKey ? `type:${currentTypeKey}` : void 0;
467
+ const [openKeys, setOpenKeys] = (0, import_react.useState)(typeMenuKey ? [typeMenuKey] : []);
467
468
  (0, import_react.useEffect)(() => {
468
469
  setSearchValue(search);
469
470
  }, [search]);
471
+ (0, import_react.useEffect)(() => {
472
+ setOpenKeys(typeMenuKey ? [typeMenuKey] : []);
473
+ }, [typeMenuKey]);
470
474
  const handleWorkflowSelect = (0, import_react.useCallback)(
471
475
  (workflow) => {
472
476
  selectWorkflow(workflow);
@@ -500,18 +504,19 @@ function WorkflowTaskNavigationMenu(props) {
500
504
  [handleWorkflowSelect, loadMore, reload, workflows]
501
505
  );
502
506
  const handleOpenChange = (0, import_react.useCallback)(
503
- (openKeys) => {
504
- const nextTypeMenuKey = [...openKeys].reverse().find((key) => key.startsWith("type:") && key !== typeMenuKey);
507
+ (nextOpenKeys) => {
508
+ const nextTypeMenuKey = [...nextOpenKeys].reverse().find((key) => key.startsWith("type:"));
505
509
  if (!nextTypeMenuKey) {
506
- selectWorkflow(null);
510
+ setOpenKeys([]);
507
511
  return;
508
512
  }
513
+ setOpenKeys([nextTypeMenuKey]);
509
514
  const nextType = nextTypeMenuKey.slice("type:".length);
510
515
  if (nextType !== currentTypeKey) {
511
516
  onTaskTypeSelect(nextType);
512
517
  }
513
518
  },
514
- [currentTypeKey, onTaskTypeSelect, selectWorkflow, typeMenuKey]
519
+ [currentTypeKey, onTaskTypeSelect]
515
520
  );
516
521
  const workflowMenuItems = [
517
522
  {
@@ -556,8 +561,11 @@ function WorkflowTaskNavigationMenu(props) {
556
561
  mode: "inline",
557
562
  inlineIndent: token.padding,
558
563
  expandIcon: null,
559
- openKeys: typeMenuKey ? [typeMenuKey] : [],
560
- selectedKeys: [selectedWorkflow ? `workflow:${selectedWorkflow.workflowKey}` : "workflow:all"],
564
+ openKeys,
565
+ selectedKeys: [
566
+ ...typeMenuKey ? [typeMenuKey] : [],
567
+ selectedWorkflow ? `workflow:${selectedWorkflow.workflowKey}` : "workflow:all"
568
+ ],
561
569
  onClick: handleMenuClick,
562
570
  onOpenChange: handleOpenChange,
563
571
  items: taskTypes.map((type) => ({
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": "3.0.0-alpha.11",
9
+ "version": "3.0.0-alpha.13",
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": "03574f3a2d10b1ed8469dc7405aa0c4696d6d1d1",
54
+ "gitHead": "15ca2a363a093540a71bcd2233e6db6b01455e50",
55
55
  "keywords": [
56
56
  "Workflow"
57
57
  ]
@@ -1,10 +0,0 @@
1
- /**
2
- * This file is part of the NocoBase (R) project.
3
- * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
- * Authors: NocoBase Team.
5
- *
6
- * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
- * For more information, please refer to: https://www.nocobase.com/agreement.
8
- */
9
-
10
- "use strict";(self.webpackChunk_nocobase_plugin_workflow=self.webpackChunk_nocobase_plugin_workflow||[]).push([["142"],{693:function(e,n,t){t.d(n,{QueryFieldset:function(){return d},QueryPresetFieldset:function(){return p}});var l=t(9155),o=t.n(l),a=t(2059),r=t(2235),c=t(8198),i=t(9785),s=t(9488),u=t(5329),m=t(6855);function f(){var e=(0,s.kj)(),n=a.Form.useWatch(["config","collection"]);return n?o().createElement(o().Fragment,null,o().createElement(m.F,{collection:n,required:!1}),o().createElement(a.Form.Item,{name:["config","params","sort"],label:e("Sort")},o().createElement(c.o5,{collection:n})),o().createElement(c.uc,{pageName:["config","params","page"],pageSizeName:["config","params","pageSize"]}),o().createElement(a.Form.Item,{name:["config","params","appends"],label:e("Preload associations"),extra:e("Please select the associated fields that need to be accessed in subsequent nodes. With more than two levels of to-many associations may cause performance issue, please use with caution.")},o().createElement(c.Kr,{collection:n}))):null}function d(){var e,n,t=(0,s.kj)(),c=(0,r.TA)(),m=a.Form.useFormInstance(),d=[{label:(e=(0,s.kj)())("Single record"),value:!1,tooltip:e("The result will be an object of the first matching record only, or null if no matched record.")},{label:e("Multiple records"),value:!0,tooltip:e("The result will be an array containing matched records, or an empty one if no matching records. This can be used to be processed in a loop node.")}];return(0,l.useEffect)(function(){void 0===m.getFieldValue(["config","multiple"])&&m.setFieldValue(["config","multiple"],!1)},[m]),o().createElement(o().Fragment,null,o().createElement(u.F,{disabled:!!(null==c||null==(n=c.config)?void 0:n.collection),onCollectionChanged:function(){m.setFieldValue(["config","params"],{})}}),o().createElement(a.Form.Item,{name:["config","multiple"],label:t("Result type")},o().createElement(i.$,{options:d})),o().createElement(f,null),o().createElement(a.Form.Item,{name:["config","failOnEmpty"],valuePropName:"checked"},o().createElement(a.Checkbox,null,t("Exit when query result is null"))))}function p(){return o().createElement(u.F,null)}}}]);
@@ -1,10 +0,0 @@
1
- /**
2
- * This file is part of the NocoBase (R) project.
3
- * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
- * Authors: NocoBase Team.
5
- *
6
- * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
- * For more information, please refer to: https://www.nocobase.com/agreement.
8
- */
9
-
10
- "use strict";(self.webpackChunk_nocobase_plugin_workflow=self.webpackChunk_nocobase_plugin_workflow||[]).push([["276"],{9671:function(e,n,t){t.d(n,{DestroyFieldset:function(){return s},DestroyPresetFieldset:function(){return f}});var l=t(9155),o=t.n(l),r=t(2059),c=t(2235),u=t(5329),i=t(6855);function a(){var e=r.Form.useWatch(["config","collection"]);return e?o().createElement(i.F,{collection:e}):null}function s(){var e,n=(0,c.TA)(),t=r.Form.useFormInstance();return o().createElement(o().Fragment,null,o().createElement(u.F,{disabled:!!(null==n||null==(e=n.config)?void 0:e.collection),onCollectionChanged:function(){t.setFieldValue(["config","params","filter"],{})}}),o().createElement(a,null))}function f(){return o().createElement(u.F,null)}}}]);
@@ -1,10 +0,0 @@
1
- /**
2
- * This file is part of the NocoBase (R) project.
3
- * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
- * Authors: NocoBase Team.
5
- *
6
- * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
- * For more information, please refer to: https://www.nocobase.com/agreement.
8
- */
9
-
10
- "use strict";(self.webpackChunk_nocobase_plugin_workflow=self.webpackChunk_nocobase_plugin_workflow||[]).push([["635"],{8950:function(e,l,n){n.d(l,{UpdateFieldset:function(){return g},UpdatePresetFieldset:function(){return p}});var t=n(9155),o=n.n(t),a=n(2059),i=n(2235),r=n(8198),s=n(9785),c=n(9488),u=n(5329),d=n(6855),m=function(e){return!(0,r.Cg)(e)||"belongsTo"===e.type};function f(){var e,l,n=(0,c.kj)(),u=a.Form.useFormInstance(),f=(0,i.Zt)(),g=a.Form.useWatch(["config","collection"]),p=a.Form.useWatch(["config","params","individualHooks"],u),F=[{label:(e=(0,c.kj)())("Update in a batch"),value:!1,tooltip:e("Update all eligible data at one time, which has better performance when the amount of data is large. But association fields are not supported (unless foreign key in current collection), and the updated data will not trigger other workflows.")},{label:e("Update one by one"),value:!0,tooltip:e("The updated data can trigger other workflows, and the audit log will also be recorded. But it is usually only applicable to several or dozens of pieces of data, otherwise there will be performance problems.")}],h=!0!==p,v=!!(null==f||null==(l=f.versionStats)?void 0:l.executed);return((0,t.useEffect)(function(){g&&(u.setFieldValue(["config","usingAssignFormSchema"],void 0),u.setFieldValue(["config","assignFormSchema"],void 0),void 0===u.getFieldValue(["config","params","individualHooks"])&&u.setFieldValue(["config","params","individualHooks"],!1))},[g,u]),g)?o().createElement(o().Fragment,null,o().createElement(a.Form.Item,{name:["config","params","individualHooks"],label:n("Update mode")},o().createElement(s.$,{options:F})),o().createElement(d.F,{collection:g,label:n("Only update records matching conditions")}),o().createElement(a.Form.Item,{name:["config","params","values"],label:n("Fields values")},o().createElement(r.XH,{collection:g,fieldFilter:h?m:void 0,pruneFilteredValues:h,disabled:v}))):null}function g(){var e,l=(0,i.TA)(),n=a.Form.useFormInstance();return o().createElement(o().Fragment,null,o().createElement(u.F,{disabled:!!(null==l||null==(e=l.config)?void 0:e.collection),onCollectionChanged:function(){n.setFieldValue(["config","params","filter"],{}),n.setFieldValue(["config","params","values"],{}),n.setFieldValue(["config","usingAssignFormSchema"],void 0),n.setFieldValue(["config","assignFormSchema"],void 0)}}),o().createElement(f,null))}function p(){return o().createElement(u.F,null)}}}]);
@@ -1,10 +0,0 @@
1
- /**
2
- * This file is part of the NocoBase (R) project.
3
- * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
- * Authors: NocoBase Team.
5
- *
6
- * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
- * For more information, please refer to: https://www.nocobase.com/agreement.
8
- */
9
-
10
- "use strict";(self.webpackChunk_nocobase_plugin_workflow=self.webpackChunk_nocobase_plugin_workflow||[]).push([["719"],{1801:function(e,t,r){r.d(t,{N$:function(){return S},yr:function(){return F}});var n=r(3485),a=r(7694),o=r(2625),i=r(2059),l=r(9155),u=r.n(l),c=r(7768),s=r(4563),f=r(5737),d=r(9488),m=r(3943);function y(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function h(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function p(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r,n,a=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var o=[],i=!0,l=!1;try{for(a=a.call(e);!(i=(r=a.next()).done)&&(o.push(r.value),!t||o.length!==t);i=!0);}catch(e){l=!0,n=e}finally{try{i||null==a.return||a.return()}finally{if(l)throw n}}return o}}(e,t)||v(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function g(e){return function(e){if(Array.isArray(e))return y(e)}(e)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||v(e)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function b(e){return e&&"u">typeof Symbol&&e.constructor===Symbol?"symbol":typeof e}function v(e,t){if(e){if("string"==typeof e)return y(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if("Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r)return Array.from(r);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return y(e,t)}}var w=["yesterday","today","tomorrow","lastWeek","thisWeek","nextWeek","lastMonth","thisMonth","nextMonth","lastQuarter","thisQuarter","nextQuarter","lastYear","thisYear","nextYear","last7Days","next7Days","last30Days","next30Days","last90Days","next90Days"],x={yesterday:"Yesterday",today:"Today",tomorrow:"Tomorrow",lastWeek:"Last week",thisWeek:"This week",nextWeek:"Next week",lastMonth:"Last month",thisMonth:"This month",nextMonth:"Next month",lastQuarter:"Last quarter",thisQuarter:"This quarter",nextQuarter:"Next quarter",lastYear:"Last year",thisYear:"This year",nextYear:"Next year",last7Days:"Last 7 days",next7Days:"Next 7 days",last30Days:"Last 30 days",next30Days:"Next 30 days",last90Days:"Last 90 days",next90Days:"Next 90 days"},O={resolvePathFromValue:function(e){return"string"==typeof e?(0,f.IB)(e):void 0},resolveValueFromPath:function(e){return(0,f.oS)(e)}};function j(e){return!!(e&&(void 0===e?"undefined":b(e))==="object"&&"logic"in e&&"items"in e)}function k(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];if(!e||(void 0===e?"undefined":b(e))!=="object"||Array.isArray(e))return t.length?[{path:t.join("."),operator:"$eq",value:e}]:[];var r=Object.entries(e),n=r.filter(function(e){return p(e,1)[0].startsWith("$")});return n.length?t.length?n.map(function(e){var r=p(e,2),n=r[0],a=r[1];return{path:t.join("."),operator:n,value:a}}):[]:r.flatMap(function(e){var r=p(e,2),n=r[0];return k(r[1],g(t).concat([n]))})}function A(e){return Array.isArray(e.$or)?"$or":Array.isArray(e.$and)?"$and":void 0}function E(e){var t;return j(e)?e:null!=(t=function e(t){if(!(!t||(void 0===t?"undefined":b(t))!=="object"||Array.isArray(t))){var r=A(t);if(!r){var n=k(t);return n.length?{logic:"$and",items:n}:void 0}var a=t[r].flatMap(function(t){if(!t||(void 0===t?"undefined":b(t))!=="object"||Array.isArray(t))return[];if(A(t)){var r=e(t);return r?[r]:[]}return k(t)}).filter(function(e){return!!e});return a.length?{logic:r,items:a}:void 0}}(e))?t:{logic:"$and",items:[]}}function S(e){var t=e.collection,r=e.value,f=e.onChange,y=e.disabled,p=e.rightAsVariable,b=void 0===p||p,v=e.maxAssociationFieldDepth,k=void 0===v?2:v,A=(0,a.useFlowEngine)(),S=(0,d.kj)(),F=!!(i.ConfigProvider.useConfig().componentDisabled||y),M=(0,o.useMemoizedFn)(function(e,t){return S(e,t)}),I=(0,s.P)(),P=(0,l.useMemo)(function(){var e,t;return e={name:"dateRange",title:M("Date range"),type:"object",paths:["$system","dateRange"],children:w.map(function(e){return{name:e,title:M(x[e]),type:"string",paths:["$system","dateRange",e]}})},(t=I.findIndex(function(e){return"$system"===e.name}))<0?g(I).concat([{name:"$system",title:M("System variables"),type:"",paths:["$system"],children:[e]}]):I.map(function(r,n){if(n!==t||"function"==typeof r.children)return r;var a,o,i=Array.isArray(r.children)?r.children.filter(function(e){return"dateRange"!==e.name}):[];return a=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){h(e,t,r[t])})}return e}({},r),o=o={children:g(i).concat([e])},Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(o)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t})(Object(o)).forEach(function(e){Object.defineProperty(a,e,Object.getOwnPropertyDescriptor(o,e))}),a})},[M,I]),D=(0,l.useMemo)(function(){return(0,m.X_)(A.context.dataSourceManager,t)},[A,t]),C=(0,l.useMemo)(function(){if(!D)return null;var e=A.createModel({uid:(0,a.randomId)("workflowFilter_"),use:a.FlowModel}),t=A.context.app;return t&&e.context.defineProperty("app",{value:t}),e.context.defineProperty("collection",{get:function(){return D}}),e},[D,A]);(0,l.useEffect)(function(){return function(){var e;null==C||null==(e=C.remove)||e.call(C)}},[C]);var N=(0,l.useRef)();N.current||(N.current=(0,a.observable)(E(r)));var T=(0,l.useRef)(null);(0,l.useEffect)(function(){var e=JSON.stringify(null!=r?r:{});if(T.current!==e){var t=E(r);N.current&&(N.current.logic=t.logic,N.current.items=t.items,T.current=e)}},[r]),(0,l.useEffect)(function(){if(N.current)return(0,a.reaction)(function(){return JSON.stringify((0,a.toJS)(N.current))},function(e){var t,r=JSON.parse(e),n=Array.isArray(r.items)?r.items.length:0,a=(0,c.removeInvalidFilterItems)(r);if(!a.items.length){n||null==f||f({});return}var o=null!=(t=function e(t){if(null==t||null==(r=t.items)?void 0:r.length){var r,n=t.items.map(function(t){if(j(t))return e(t);if("string"==typeof t.path&&"string"==typeof t.operator&&t.path&&t.operator)return function(e,t){for(var r=e.split("."),n=t,a=r.length-1;a>=0;a--)n=h({},r[a],n);return n}(t.path,h({},t.operator,t.value))}).filter(function(e){return!!e});if(n.length)return h({},t.logic,n)}}(a))?t:{};T.current=JSON.stringify(o),null==f||f(o)},{fireImmediately:!1})},[f]);var W=(0,l.useMemo)(function(){if(!C)return null;var e=function(e){var t=e.value;return u().createElement(a.FlowModelProvider,{model:C},u().createElement(n.VariableFilterItem,{value:t,model:C,disabled:F,rightAsVariable:b,rightMetaTree:P,rightVariableConverters:O,maxAssociationFieldDepth:k}))};return e.displayName="WorkflowVariableFilterItem",e},[C,k,F,b,P]);return u().createElement(n.FilterGroup,{value:N.current,FilterItem:null!=W?W:void 0,disabled:F})}var F=S},6242:function(e,t,r){r.r(t),r.d(t,{TriggerModeField:function(){return p},default:function(){return v},CollectionPresetConfig:function(){return b},SyncTransactionNotice:function(){return h},CollectionTriggerConfig:function(){return g}});var n=r(5477),a=r(2059),o=r(9155),i=r.n(o),l=r(2235),u=r(1801),c=r(8198),s=r(9488),f=[{label:'{{t("After record added", { ns: "'.concat(s.CU,'" })}}'),value:1},{label:'{{t("After record updated", { ns: "'.concat(s.CU,'" })}}'),value:2},{label:'{{t("After record added or updated", { ns: "'.concat(s.CU,'" })}}'),value:3},{label:'{{t("After record deleted", { ns: "'.concat(s.CU,'" })}}'),value:4}];function d(e,t){return(Number(e)&t)===t}function m(){var e,t,r=(e=["\n .ant-select.auto-width {\n width: auto;\n min-width: 6em;\n }\n "],t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}})));return m=function(){return r},r}function y(e){return!e.hidden&&(!e.uiSchema||!e.uiSchema["x-read-pretty"])&&!["linkTo","hasOne","hasMany","belongsToMany"].includes(e.type)}function h(){var e=(0,s.kj)();return i().createElement(a.Alert,{type:"info",showIcon:!0,style:{marginBottom:"1em"},message:e("Synchronous collection event workflows run within the trigger transaction by default. Related data operations automatically use this transaction.")})}function p(){var e=(0,s.kj)(),t=a.Form.useWatch(["config","collection"]),r=(0,o.useMemo)(function(){return f.map(function(t){return{value:t.value,label:e(t.label)}})},[e]);return t?i().createElement(a.Form.Item,{name:["config","mode"],label:e("Trigger on"),rules:[{required:!0}]},i().createElement(a.Select,{popupMatchSelectWidth:!1,placeholder:e("Trigger on"),className:"auto-width",options:r})):null}function g(){var e=(0,s.kj)(),t=(0,l.Zt)(),r=a.Form.useWatch(["config","collection"]),o=Number(a.Form.useWatch(["config","mode"])||0),f=null==t?void 0:t.sync;return i().createElement("fieldset",{className:(0,n.css)(m())},i().createElement(a.Form.Item,{name:["config","collection"],label:e("Collection")},i().createElement(c.XJ,{disabled:!0})),i().createElement(p,null),r&&d(o,2)?i().createElement(a.Form.Item,{name:["config","changed"],label:e("Changed fields"),extra:e("Triggered only if one of the selected fields changes. If unselected, it means that it will be triggered when any field changes. When record is added, any field is considered to have been changed.")},i().createElement(c.WY,{mode:"multiple",placeholder:e("Select field"),filter:y})):null,r&&!d(o,4)?i().createElement(a.Form.Item,{name:["config","condition"],label:e("Only triggers when match conditions")},i().createElement(u.yr,{collection:r,rightAsVariable:!1})):null,r&&!d(o,4)?i().createElement(a.Form.Item,{name:["config","appends"],label:e("Preload associations"),extra:e("Please select the associated fields that need to be accessed in subsequent nodes. With more than two levels of to-many associations may cause performance issue, please use with caution.")},i().createElement(c.Kr,{collection:r})):null,f?i().createElement(h,null):null,f?i().createElement(a.Form.Item,{name:["config","rollbackOnFailure"],valuePropName:"checked",extra:e("Only available in synchronous mode. When enabled, if the workflow execution ends with a failed status, the data operation that triggered it will fail and be rolled back."),initialValue:!1},i().createElement(a.Checkbox,null,e("Rollback when workflow execution fails"))):null)}function b(){var e=(0,s.kj)();return i().createElement(a.Form.Item,{name:["config","collection"],label:e("Collection"),rules:[{required:!0}]},i().createElement(c.XJ,null))}var v=g}}]);
@@ -1,10 +0,0 @@
1
- /**
2
- * This file is part of the NocoBase (R) project.
3
- * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
- * Authors: NocoBase Team.
5
- *
6
- * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
- * For more information, please refer to: https://www.nocobase.com/agreement.
8
- */
9
-
10
- "use strict";(self.webpackChunk_nocobase_plugin_workflow=self.webpackChunk_nocobase_plugin_workflow||[]).push([["728"],{2891:function(e,t,n){n.r(t),n.d(t,{default:function(){return L}});var r=n(7694),o=n(3485),a=n(7375),l=n(5477),i=n(2625),u=n(2059),c=n(9155),s=n.n(c),p=n(4442),d=n(8401),f=n(250),y=n(9488),g=n(6767);function m(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function k(e,t,n,r,o,a,l){try{var i=e[a](l),u=i.value}catch(e){n(e);return}i.done?t(u):Promise.resolve(u).then(r,o)}function b(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var a=e.apply(t,n);function l(e){k(a,r,o,l,i,"next",e)}function i(e){k(a,r,o,l,i,"throw",e)}l(void 0)})}}function h(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){var r;r=n[t],t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r})}return e}function v(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,o=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var a=[],l=!0,i=!1;try{for(o=o.call(e);!(l=(n=o.next()).done)&&(a.push(n.value),!t||a.length!==t);l=!0);}catch(e){i=!0,r=e}finally{try{l||null==o.return||o.return()}finally{if(i)throw r}}return a}}(e,t)||function(e,t){if(e){if("string"==typeof e)return m(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 m(e,t)}}(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function w(e,t){var n,r,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},l=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),i=Object.defineProperty;return i(l,"next",{value:u(0)}),i(l,"throw",{value:u(1)}),i(l,"return",{value:u(2)}),"function"==typeof Symbol&&i(l,Symbol.iterator,{value:function(){return this}}),l;function u(i){return function(u){var c=[i,u];if(n)throw TypeError("Generator is already executing.");for(;l&&(l=0,c[0]&&(a=0)),a;)try{if(n=1,r&&(o=2&c[0]?r.return:c[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,c[1])).done)return o;switch(r=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return a.label++,{value:c[1],done:!1};case 5:a.label++,r=c[1],c=[0];continue;case 7:c=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===c[0]||2===c[0])){a=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){a.label=c[1];break}if(6===c[0]&&a.label<o[1]){a.label=o[1],o=c;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(c);break}o[2]&&a.ops.pop(),a.trys.pop();continue}c=t.call(e,a)}catch(e){c=[6,e],r=0}finally{n=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}function T(){var e,t,n=(e=["\n > div > .ant-tabs > .ant-tabs-nav {\n background: ",";\n margin: 0;\n padding-inline: ","px ","px;\n padding-left: ","px;\n }\n\n > div > .ant-tabs > .ant-tabs-content-holder {\n padding: ","px;\n }\n "],t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}})));return T=function(){return n},n}var E=null;function x(e,t){e&&t&&((null==E?void 0:E.taskTypeKey)!==e||E.popupId!==t)||(E=null)}function S(){var e=(0,p.useParams)(),t=(0,p.useLocation)(),n=(0,f.e3)(e.status),r=/(^|\/)(mobile\/page|page)\/workflow-tasks(\/|$)/.test(t.pathname);return{taskType:e.taskType,status:n,popupId:e.popupId,isMobileRoute:r,search:t.search,hash:t.hash}}function M(e,t){return"".concat(e).concat(t.search||"").concat(t.hash||"")}function I(e){var t=e.type,n=e.status,r=e.mobile,o=e.reload,a=e.workflowKey,l=e.workflowPendingCount,g=(0,p.useNavigate)(),m=(0,y.kj)(),k=u.theme.useToken().token,b=t.Actions,h=S(),v=(0,c.useMemo)(function(){return f._l.map(function(e){return{key:e,value:e,label:m(e===f.Rr.PENDING?"Pending":e===f.Rr.COMPLETED?"Completed":"All")}})},[m]),w=(0,i.useMemoizedFn)(function(e){g(M((0,d.T0)(t.key,String(e),void 0,h.isMobileRoute),h))});return r?s().createElement(u.Flex,{"data-testid":"workflow-task-status-controls",align:"center",justify:"space-between",gap:k.marginSM,wrap:"wrap"},s().createElement(u.Segmented,{value:n,options:v.map(function(e){return{value:e.value,label:e.label}}),onChange:w,style:{minWidth:0}}),b?s().createElement(b,{onlyIcon:!0,reload:o,workflowKey:a,workflowPendingCount:l}):null):s().createElement(u.Tabs,{activeKey:n,onChange:w,items:v.map(function(e){return{key:e.key,label:e.label}}),tabBarStyle:{marginBottom:0},tabBarExtraContent:b?{right:s().createElement(b,{reload:o,workflowKey:a,workflowPendingCount:l})}:void 0})}function O(e){var t=e.mobile,n=e.onPageChange,r=e.page,o=e.total,l=u.theme.useToken().token,c=(0,y.kj)(),p=Math.max(1,Math.ceil(Math.max(o,1)/f.JJ)),d=r>1,g=r<p,m=(0,i.useMemoizedFn)(function(){d&&n(r-1)}),k=(0,i.useMemoizedFn)(function(){g&&n(r+1)});return s().createElement(u.Flex,{align:"center",className:"ant-pagination","data-testid":"workflow-task-pagination",gap:t?l.marginXXS:l.marginSM,justify:"end",style:{width:"100%"}},s().createElement(u.Flex,{align:"center",gap:l.marginXXS},s().createElement(u.Button,{"aria-label":c("Previous page"),className:"ant-pagination-prev".concat(d?"":" ant-pagination-disabled"),disabled:!d,icon:s().createElement(a.LeftOutlined,null),onClick:m,size:"small",style:{height:l.controlHeightSM,width:l.controlHeightSM},type:"text"}),s().createElement(u.Typography.Text,{"data-testid":"workflow-task-current-page",style:{lineHeight:"".concat(l.controlHeightSM,"px"),minWidth:l.sizeSM,textAlign:"center"}},r),s().createElement(u.Button,{"aria-label":c("Next page"),className:"ant-pagination-next".concat(g?"":" ant-pagination-disabled"),disabled:!g,icon:s().createElement(a.RightOutlined,null),onClick:k,size:"small",style:{height:l.controlHeightSM,width:l.controlHeightSM},type:"text"})),t?null:s().createElement(u.Select,{"aria-label":c("Page size"),className:"ant-pagination-options",options:[{label:"".concat(f.JJ," / page"),value:f.JJ}],popupMatchSelectWidth:!1,size:"middle",style:{width:112},value:f.JJ}))}function P(e){var t=e.records,n=e.loading,r=e.mobile,o=e.total,a=e.page,l=e.onPageChange,c=e.onOpenRecord,p=e.refresh,d=e.Item,g=u.theme.useToken().token,m=(0,y.kj)(),k=o>0||t.length>0,b=(0,i.useMemoizedFn)(function(e,t){("Enter"===e.key||" "===e.key)&&(e.preventDefault(),c(t))});return s().createElement(s().Fragment,null,s().createElement(u.List,{dataSource:t,loading:n,rowKey:function(e){var t;return String(null!=(t=(0,f.Zu)(e))?t:"")},locale:{emptyText:m("No data yet")},split:!1,style:{background:g.colorBgLayout,flex:"1 1 0%",minHeight:0,overflow:"auto"},renderItem:function(e,t){return s().createElement(f.xT.Provider,{value:{record:e,openRecord:c,refresh:p}},s().createElement(u.List.Item,{role:"button",tabIndex:0,onClick:function(){return c(e)},onKeyDown:function(t){return b(t,e)},style:{cursor:"pointer",padding:r?"0.5em 0.5em ".concat(g.lineWidth,"px"):"".concat(0===t?g.paddingLG:g.paddingXS,"px ").concat(g.paddingLG,"px ").concat(g.paddingXXS,"px"),background:g.colorBgLayout}},s().createElement("div",{"data-testid":"workflow-task-list-item-content",style:{width:"100%"}},s().createElement(d,null))))}}),k?s().createElement(u.Flex,{justify:"end",style:{background:g.colorBgLayout,flexShrink:0,padding:r?"0.5em":"".concat(g.padding,"px ").concat(g.paddingLG,"px")}},s().createElement(O,{mobile:r,onPageChange:l,page:a,total:o})):null)}function j(e,t){if(e)return t.split(".").reduce(function(e,t){if(e&&(void 0===e?"undefined":e&&"u">typeof Symbol&&e.constructor===Symbol?"symbol":typeof e)=="object")return e[t]},e)}function C(e){var t=e.children,n=e.record,r=e.mobile,o=e.onClose,a=e.title,l=u.theme.useToken().token;return s().createElement(u.Modal,{open:!!n,title:a,footer:null,width:"80vw",onCancel:o,destroyOnClose:!0,styles:{body:{maxHeight:r?"calc(100dvh - ".concat(2*l.sizeXXL,"px)"):void 0,overflow:"auto"}}},t)}function B(e){var t=e.children,n=e.onClose,r=u.theme.useToken().token,o=(0,y.kj)(),i=(0,l.css)(T(),r.colorBgContainer,r.padding,r.padding,r.controlHeight+r.paddingSM,r.padding);return s().createElement("div",{"data-testid":"workflow-task-mobile-detail-page",style:{background:r.colorBgLayout,flex:"1 1 0%",minHeight:0,overflow:"auto",position:"relative"}},s().createElement(u.Button,{"aria-label":o("Back"),icon:s().createElement(a.LeftOutlined,null),onClick:n,style:{left:r.paddingXS,position:"absolute",top:r.paddingSM,zIndex:1},type:"text"}),s().createElement("div",{"data-testid":"workflow-task-mobile-detail-content",className:i,style:{minWidth:0}},t))}function K(e){var t,n,r,a,l,m,k=e.availableTaskTypeKeys,T=e.countsState,O=e.ctx,K=e.currentTaskType,L=e.currentTaskTypeKey,z=e.taskTypes,R=T.counts,F=T.reload,H=S(),N=(0,o.useMobileLayout)().isMobileLayout,J=H.isMobileRoute||N,X=(0,p.useNavigate)(),A=u.App.useApp().message,D=(0,y.kj)(),W=u.theme.useToken().token,G=(0,g.vR)().selectedWorkflow,_=v((0,c.useState)([]),2),Z=_[0],$=_[1],U=v((0,c.useState)(function(){var e=H.popupId;if(E&&E.taskTypeKey===L&&E.popupId===e){var t=E.record;return E=null,t}return(L||e)&&(E=null),null}),2),q=U[0],Q=U[1],V=v((0,c.useState)(0),2),Y=V[0],ee=V[1],et="".concat(null!=L?L:"","\n").concat(H.status,"\n").concat(null!=(l=null==G?void 0:G.workflowKey)?l:"","\n").concat(H.search),en=v((0,c.useState)({signature:"",page:1}),2),er=en[0],eo=en[1],ea=er.signature===et?er.page:1,el=v((0,c.useState)(!1),2),ei=el[0],eu=el[1],ec=(0,c.useRef)(0),es=(0,c.useRef)(0),ep=(0,c.useRef)(q&&H.popupId&&L?{popupId:H.popupId,taskTypeKey:L}:null),ed=(0,c.useRef)(ep.current),ef=(0,i.useMemoizedFn)(function(){A.error(D("Load failed"))});(0,c.useEffect)(function(){var e=document.title;return(null==K?void 0:K.title)&&(document.title="".concat(D("Workflow todos"),": ").concat(D(K.title)," - NocoBase")),function(){document.title=e}},[null==K?void 0:K.title,D]),(0,c.useEffect)(function(){!H.taskType&&k.length&&X(M((0,d.T0)(k[0],H.status,void 0,H.isMobileRoute),H),{replace:!0})},[k,X,H,H.isMobileRoute,H.status,H.taskType]),(0,c.useEffect)(function(){er.signature!==et&&eo({signature:et,page:1})},[et,er.signature]);var ey=(0,i.useMemoizedFn)(function(){return b(function(){var e,t,n,r,o,a,l,i,u;return w(this,function(c){switch(c.label){case 0:if(t=++ec.current,!(null==O?void 0:O.api)||!K||!(n=O.api.resource(K.collection)[null!=(e=K.action)?e:"list"]))return $([]),ee(0),eu(!1),[2];eu(!0),c.label=1;case 1:return c.trys.push([1,3,4,5]),a=null!=(r=null==(o=K.useActionParams)?void 0:o.call(K,H.status,null==G?void 0:G.workflowKey))?r:{},[4,n(h({page:ea,pageSize:f.JJ,sort:["-createdAt"]},a))];case 2:if(l=c.sent(),i=(0,f.z1)(l),t!==ec.current)return[2];return $(i.data),ee("number"==typeof i.meta.count?i.meta.count:!0===i.meta.hasNext?ea*f.JJ+1:(ea-1)*f.JJ+i.data.length),[3,5];case 3:if(u=c.sent(),t!==ec.current)return[2];throw $([]),ee(0),u;case 4:return t===ec.current&&eu(!1),[7];case 5:return[2]}})})()}),eg=(0,i.useMemoizedFn)(function(){return b(function(){return w(this,function(e){switch(e.label){case 0:return[4,Promise.all([ey(),F()])];case 1:return e.sent(),[2]}})})()});(0,c.useEffect)(function(){return ey().catch(function(e){console.error("Failed to load workflow tasks",e),ef()}),function(){ec.current+=1}},[L,ey,ea,H.search,H.status,null==G?void 0:G.workflowKey,ef]);var em=(0,i.useMemoizedFn)(function(){return b(function(){var e,t,n,r,o,a;return w(this,function(l){switch(l.label){case 0:if(e=++es.current,!(null==O?void 0:O.api)||!K||!H.popupId)return ep.current=null,ed.current=null,x(),Q(null),[2];l.label=1;case 1:if(l.trys.push([1,6,,7]),!K.getPopupRecord)return[3,3];return[4,K.getPopupRecord(O.api,{params:{filterByTk:H.popupId}})];case 2:return o=l.sent(),[3,5];case 3:return[4,null==(n=(r=O.api.resource(K.collection)).get)?void 0:n.call(r,{filterByTk:H.popupId})];case 4:o=l.sent(),l.label=5;case 5:return t=o,[3,7];case 6:if(a=l.sent(),e!==es.current)return[2];throw a;case 7:if(e!==es.current)return[2];return ep.current={taskTypeKey:K.key,popupId:H.popupId},x(K.key,H.popupId),Q((0,f.y$)(t)),[2]}})})()});(0,c.useEffect)(function(){if(!H.popupId){ed.current||(es.current+=1,ep.current=null,x(),Q(null));return}ed.current=null;var e=H.popupId;return Q(function(t){var n=ep.current,r=t?(0,f.Zu)(t):void 0;return t&&(null==n?void 0:n.taskTypeKey)===L&&String(r)===e?t:(ep.current=null,x(),null)}),em().catch(function(e){console.error("Failed to load workflow task detail",e),ep.current=null,ed.current=null,x(L,H.popupId),Q(null),ef()}),function(){es.current+=1}},[L,em,H.popupId,H.status,ef]);var ek=(0,i.useMemoizedFn)(function(e){if(K){var t=(0,f.Zu)(e);es.current+=1,ep.current=null==t?null:{taskTypeKey:K.key,popupId:String(t)},ed.current=ep.current,E=ep.current?{popupId:ep.current.popupId,record:e,taskTypeKey:K.key}:null,Q(e),null!=t&&X(M((0,d.T0)(K.key,H.status,String(t),H.isMobileRoute),H))}}),eb=(0,i.useMemoizedFn)(function(){es.current+=1,ep.current=null,ed.current=null,x(),Q(null),K&&X(M((0,d.T0)(K.key,H.status,void 0,H.isMobileRoute),H),{replace:!0})}),eh=(0,i.useMemoizedFn)(function(e){eo({signature:et,page:e})}),ev=(0,c.useMemo)(function(){return k.map(function(e){var t,n,r;return{key:e,title:(null==z||null==(t=z.get(e))?void 0:t.title)?D(null==(n=z.get(e))?void 0:n.title):e,count:(null==(r=R[e])?void 0:r.pending)||0}})},[k,R,D,z]),ew=(0,i.useMemoizedFn)(function(e){X(M((0,d.T0)(e,f.Rr.PENDING,void 0,H.isMobileRoute),H))});if(!K||!L)return s().createElement(u.Result,{status:H.taskType?"error":"info",title:H.taskType?D("Task type {{type}} is invalid",{type:H.taskType}):D("No workflow tasks available. Please contact the administrator.")});var eT=s().createElement(u.Flex,{vertical:!0,gap:J?W.marginXS:W.marginXXS},J?null:s().createElement(u.Typography.Title,{level:4,style:{lineHeight:"".concat(W.controlHeight,"px"),margin:0}},D(K.title)),s().createElement(I,{type:K,status:H.status,mobile:J,reload:eg,workflowKey:null==G?void 0:G.workflowKey,workflowPendingCount:null==G?void 0:G.stats.pending})),eE=null!=(m=K.DetailModal)?m:C,ex=K.Detail,eS=D("string"==typeof(a=null!=(t=null!=(n=null!=(r=j(q,"node.title"))?r:j(q,"title"))?n:j(q,"workflow.title"))?t:K.title)&&a?a:K.title),eM=q?s().createElement(f.xT.Provider,{value:{record:q,refresh:eg,openRecord:Q}},s().createElement(ex,null)):null,eI=J&&!!q;return s().createElement(u.Layout,{"data-testid":J?"workflow-tasks-mobile":"workflow-tasks-desktop",style:{minHeight:J?0:"100%",height:"100%",background:W.colorBgLayout}},eI?null:s().createElement(g.Xq,{currentTypeKey:L,mobile:J,onTaskTypeSelect:ew,taskTypes:ev,t:D}),J&&!eI?s().createElement(u.Layout.Header,{style:{height:"auto",lineHeight:"normal",padding:0,background:W.colorBgContainer,borderBottom:"".concat(W.lineWidth,"px ").concat(W.lineType," ").concat(W.colorBorderSecondary)}},s().createElement("div",{style:{padding:W.paddingSM}},eT)):null,s().createElement(u.Layout,{style:{background:W.colorBgLayout}},s().createElement(u.Layout.Content,{style:{display:"flex",flex:"1 1 0%",flexDirection:"column",minHeight:0,padding:0,overflow:"hidden"}},J||eI?null:s().createElement("div",{style:{padding:"".concat(W.padding,"px ").concat(W.paddingLG,"px 0"),background:W.colorBgContainer,borderBottom:"".concat(W.lineWidth,"px ").concat(W.lineType," ").concat(W.colorBorderSecondary)}},eT),eI?s().createElement(B,{onClose:eb},eM):s().createElement("div",{"data-testid":"workflow-task-list-region",style:{background:W.colorBgLayout,display:"flex",flex:"1 1 0%",flexDirection:"column",minHeight:0}},s().createElement(P,{records:Z,loading:ei,mobile:J,total:Y,page:ea,onPageChange:eh,onOpenRecord:ek,refresh:eg,Item:K.Item})))),eI?null:s().createElement(eE,{type:K,record:q,mobile:J,title:eS,onClose:eb},eM))}function L(){var e,t,n,o,a,l,u,p,d,y=(0,r.useFlowContext)(),m=(0,f.e0)(y),k=(0,f.yg)(y,m),v=(e=k.counts,n=S().taskType,o=(0,c.useMemo)(function(){return(0,f.Bf)(m)},[m]),a=(0,c.useMemo)(function(){return(0,f.EC)(m,e)},[e,m]),l=null!=(t=null!=n?n:a[0])?t:o[0],{taskTypeKeys:o,availableTaskTypeKeys:a,currentTaskType:l?null==m?void 0:m.get(l):void 0,currentTaskTypeKey:l}),T=(0,i.useMemoizedFn)(function(e){return b(function(){var t;return w(this,function(n){return[2,(t=null==y?void 0:y.api.resource("userWorkflowTaskStats").listMine)?t(e):{data:{data:[],meta:{}}}]})})()});return s().createElement(g.UI,{eventBus:null==y||null==(d=y.app)?void 0:d.eventBus,loadWorkflowTaskStats:T,typeKey:v.currentTaskTypeKey},s().createElement(K,(u=h({},v),p=p={countsState:k,ctx:y,taskTypes:m},Object.getOwnPropertyDescriptors?Object.defineProperties(u,Object.getOwnPropertyDescriptors(p)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t})(Object(p)).forEach(function(e){Object.defineProperty(u,e,Object.getOwnPropertyDescriptor(p,e))}),u)))}}}]);
@@ -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(2059),l=r(9155),u=r.n(l),c=r(7768),s=r(4563),f=r(5737),d=r(9488),y=r(3943);function v(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function m(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function p(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r,n,o=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var a=[],i=!0,l=!1;try{for(o=o.call(e);!(i=(r=o.next()).done)&&(a.push(r.value),!t||a.length!==t);i=!0);}catch(e){l=!0,n=e}finally{try{i||null==o.return||o.return()}finally{if(l)throw n}}return a}}(e,t)||g(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function h(e){return function(e){if(Array.isArray(e))return v(e)}(e)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||g(e)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function b(e){return e&&"u">typeof Symbol&&e.constructor===Symbol?"symbol":typeof e}function g(e,t){if(e){if("string"==typeof e)return v(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if("Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r)return Array.from(r);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return v(e,t)}}var w=["yesterday","today","tomorrow","lastWeek","thisWeek","nextWeek","lastMonth","thisMonth","nextMonth","lastQuarter","thisQuarter","nextQuarter","lastYear","thisYear","nextYear","last7Days","next7Days","last30Days","next30Days","last90Days","next90Days"],x={yesterday:"Yesterday",today:"Today",tomorrow:"Tomorrow",lastWeek:"Last week",thisWeek:"This week",nextWeek:"Next week",lastMonth:"Last month",thisMonth:"This month",nextMonth:"Next month",lastQuarter:"Last quarter",thisQuarter:"This quarter",nextQuarter:"Next quarter",lastYear:"Last year",thisYear:"This year",nextYear:"Next year",last7Days:"Last 7 days",next7Days:"Next 7 days",last30Days:"Last 30 days",next30Days:"Next 30 days",last90Days:"Last 90 days",next90Days:"Next 90 days"},j={resolvePathFromValue:function(e){return"string"==typeof e?(0,f.IB)(e):void 0},resolveValueFromPath:function(e){return(0,f.oS)(e)}};function O(e){return!!(e&&(void 0===e?"undefined":b(e))==="object"&&"logic"in e&&"items"in e)}function A(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];if(!e||(void 0===e?"undefined":b(e))!=="object"||Array.isArray(e))return t.length?[{path:t.join("."),operator:"$eq",value:e}]:[];var r=Object.entries(e),n=r.filter(function(e){return p(e,1)[0].startsWith("$")});return n.length?t.length?n.map(function(e){var r=p(e,2),n=r[0],o=r[1];return{path:t.join("."),operator:n,value:o}}):[]:r.flatMap(function(e){var r=p(e,2),n=r[0];return A(r[1],h(t).concat([n]))})}function k(e){return Array.isArray(e.$or)?"$or":Array.isArray(e.$and)?"$and":void 0}function S(e){var t;return O(e)?e:null!=(t=function e(t){if(!(!t||(void 0===t?"undefined":b(t))!=="object"||Array.isArray(t))){var r=k(t);if(!r){var n=A(t);return n.length?{logic:"$and",items:n}:void 0}var o=t[r].flatMap(function(t){if(!t||(void 0===t?"undefined":b(t))!=="object"||Array.isArray(t))return[];if(k(t)){var r=e(t);return r?[r]:[]}return A(t)}).filter(function(e){return!!e});return o.length?{logic:r,items:o}:void 0}}(e))?t:{logic:"$and",items:[]}}function D(e){var t=e.collection,r=e.value,f=e.onChange,v=e.disabled,p=e.rightAsVariable,b=void 0===p||p,g=e.maxAssociationFieldDepth,A=void 0===g?2:g,k=(0,o.useFlowEngine)(),D=(0,d.kj)(),F=!!(i.ConfigProvider.useConfig().componentDisabled||v),P=(0,a.useMemoizedFn)(function(e,t){return D(e,t)}),M=(0,s.P)(),E=(0,l.useMemo)(function(){var e,t;return e={name:"dateRange",title:P("Date range"),type:"object",paths:["$system","dateRange"],children:w.map(function(e){return{name:e,title:P(x[e]),type:"string",paths:["$system","dateRange",e]}})},(t=M.findIndex(function(e){return"$system"===e.name}))<0?h(M).concat([{name:"$system",title:P("System variables"),type:"",paths:["$system"],children:[e]}]):M.map(function(r,n){if(n!==t||"function"==typeof r.children)return r;var o,a,i=Array.isArray(r.children)?r.children.filter(function(e){return"dateRange"!==e.name}):[];return o=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){m(e,t,r[t])})}return e}({},r),a=a={children:h(i).concat([e])},Object.getOwnPropertyDescriptors?Object.defineProperties(o,Object.getOwnPropertyDescriptors(a)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t})(Object(a)).forEach(function(e){Object.defineProperty(o,e,Object.getOwnPropertyDescriptor(a,e))}),o})},[P,M]),I=(0,l.useMemo)(function(){return(0,y.X_)(k.context.dataSourceManager,t)},[k,t]),C=(0,l.useMemo)(function(){if(!I)return null;var e=k.createModel({uid:(0,o.randomId)("workflowFilter_"),use:o.FlowModel}),t=k.context.app;return t&&e.context.defineProperty("app",{value:t}),e.context.defineProperty("collection",{get:function(){return I}}),e},[I,k]);(0,l.useEffect)(function(){return function(){var e;null==C||null==(e=C.remove)||e.call(C)}},[C]);var $=(0,l.useRef)();$.current||($.current=(0,o.observable)(S(r)));var N=(0,l.useRef)(null);(0,l.useEffect)(function(){var e=JSON.stringify(null!=r?r:{});if(N.current!==e){var t=S(r);$.current&&($.current.logic=t.logic,$.current.items=t.items,N.current=e)}},[r]),(0,l.useEffect)(function(){if($.current)return(0,o.reaction)(function(){return JSON.stringify((0,o.toJS)($.current))},function(e){var t,r=JSON.parse(e),n=Array.isArray(r.items)?r.items.length:0,o=(0,c.removeInvalidFilterItems)(r);if(!o.items.length){n||null==f||f({});return}var a=null!=(t=function e(t){if(null==t||null==(r=t.items)?void 0:r.length){var r,n=t.items.map(function(t){if(O(t))return e(t);if("string"==typeof t.path&&"string"==typeof t.operator&&t.path&&t.operator)return function(e,t){for(var r=e.split("."),n=t,o=r.length-1;o>=0;o--)n=m({},r[o],n);return n}(t.path,m({},t.operator,t.value))}).filter(function(e){return!!e});if(n.length)return m({},t.logic,n)}}(o))?t:{};N.current=JSON.stringify(a),null==f||f(a)},{fireImmediately:!1})},[f]);var T=(0,l.useMemo)(function(){if(!C)return null;var e=function(e){var t=e.value;return u().createElement(o.FlowModelProvider,{model:C},u().createElement(n.VariableFilterItem,{value:t,model:C,disabled:F,rightAsVariable:b,rightMetaTree:E,rightVariableConverters:j,maxAssociationFieldDepth:A}))};return e.displayName="WorkflowVariableFilterItem",e},[C,A,F,b,E]);return u().createElement(n.FilterGroup,{value:$.current,FilterItem:null!=T?T:void 0,disabled:F})}var F=D},5329:function(e,t,r){r.d(t,{F:function(){return c}});var n=r(9155),o=r.n(n),a=r(2059),i=r(8198),l=r(9488);function u(e){var t=e.value,r=e.onChange,a=e.disabled,l=e.onCollectionChanged,u=(0,n.useRef)();return o().createElement(i.XJ,{value:t,disabled:a,onChange:function(e){var n,o=null!=(n=u.current)?n:t;null==r||r(e),o&&o!==e&&(null==l||l(o,e)),u.current=e}})}function c(e){var t=e.disabled,r=e.onCollectionChanged,n=(0,l.kj)();return o().createElement(a.Form.Item,{name:["config","collection"],label:n("Collection"),rules:[{required:!0}]},o().createElement(u,{disabled:t,onCollectionChanged:r}))}},6855:function(e,t,r){r.d(t,{F:function(){return f}});var n=r(9155),o=r.n(n),a=r(2059),i=r(7768),l=r(1801),u=r(2235),c=r(9488);function s(e,t,r,n,o,a,i){try{var l=e[a](i),u=l.value}catch(e){r(e);return}l.done?t(u):Promise.resolve(u).then(n,o)}function f(e){var t,r=e.collection,n=e.label,f=e.name,d=e.required,y=e.maxAssociationFieldDepth,v=(0,c.kj)(),m=(0,u.Zt)(),p=!!(null==m||null==(t=m.versionStats)?void 0:t.executed);return o().createElement(a.Form.Item,{name:void 0===f?["config","params","filter"]:f,label:null!=n?n:v("Filter"),validateTrigger:["onChange","onBlur"],rules:void 0===d||d?[{validator:function(e,t){var r;return(r=function(){return function(e,t){var r,n,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),l=Object.defineProperty;return l(i,"next",{value:u(0)}),l(i,"throw",{value:u(1)}),l(i,"return",{value:u(2)}),"function"==typeof Symbol&&l(i,Symbol.iterator,{value:function(){return this}}),i;function u(l){return function(u){var c=[l,u];if(r)throw TypeError("Generator is already executing.");for(;i&&(i=0,c[0]&&(a=0)),a;)try{if(r=1,n&&(o=2&c[0]?n.return:c[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,c[1])).done)return o;switch(n=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return a.label++,{value:c[1],done:!1};case 5:a.label++,n=c[1],c=[0];continue;case 7:c=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===c[0]||2===c[0])){a=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){a.label=c[1];break}if(6===c[0]&&a.label<o[1]){a.label=o[1],o=c;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(c);break}o[2]&&a.ops.pop(),a.trys.pop();continue}c=t.call(e,a)}catch(e){c=[6,e],n=0}finally{r=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}(this,function(e){if(!(0,i.isValidFilter)(t))throw Error(v("Please add at least one condition"));return[2]})},function(){var e=this,t=arguments;return new Promise(function(n,o){var a=r.apply(e,t);function i(e){s(a,n,o,i,l,"next",e)}function l(e){s(a,n,o,i,l,"throw",e)}i(void 0)})})()}}]:void 0},o().createElement(l.N$,{collection:r,disabled:p,maxAssociationFieldDepth:void 0===y?2:y}))}}}]);
@@ -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([["32"],{11:function(e,t,n){n.r(t),n.d(t,{default:function(){return eo}});var r=n(7694),o=n(3485),a=n(7375),l=n(5477),i=n(2625),u=n(2059),c=n(9155),s=n.n(c),f=n(4442),p=n(8401),d=n(250),y=n(9488);function m(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function g(e,t,n,r,o,a,l){try{var i=e[a](l),u=i.value}catch(e){n(e);return}i.done?t(u):Promise.resolve(u).then(r,o)}function h(e){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 b(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,o=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var a=[],l=!0,i=!1;try{for(o=o.call(e);!(l=(n=o.next()).done)&&(a.push(n.value),!t||a.length!==t);l=!0);}catch(e){i=!0,r=e}finally{try{l||null==o.return||o.return()}finally{if(i)throw r}}return a}}(e,t)||v(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function w(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function k(e){return function(e){if(Array.isArray(e))return m(e)}(e)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||v(e)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function v(e,t){if(e){if("string"==typeof e)return m(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 m(e,t)}}function x(){var e=w(["\n display: flex;\n gap: ","px;\n align-items: center;\n justify-content: space-between;\n width: 100%;\n min-width: 0;\n\n > span:first-child {\n flex: 1;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n > .ant-badge {\n flex: none;\n }\n "]);return x=function(){return e},e}function S(){var e=w(["\n display: flex;\n gap: ","px;\n align-items: center;\n justify-content: space-between;\n width: 100%;\n min-width: 0;\n\n > span:first-child {\n flex: 1;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n "]);return S=function(){return e},e}function E(){var e=w(["\n flex: none;\n color: ",";\n font-size: ","px;\n font-variant-numeric: tabular-nums;\n "]);return E=function(){return e},e}function T(){var e=w(["\n display: flex;\n align-items: center;\n width: 100%;\n height: ","px;\n "]);return T=function(){return e},e}function O(){var e=w(["\n width: 100%;\n "]);return O=function(){return e},e}function M(){var e=w(["\n flex: 1;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n "]);return M=function(){return e},e}function j(){var e=w(["\n display: inline-flex;\n flex: none;\n align-items: center;\n justify-content: flex-end;\n width: ","px;\n height: ","px;\n padding: 0;\n color: ",";\n cursor: pointer;\n background: transparent;\n border: 0;\n border-radius: ","px;\n\n &:hover,\n &:focus-visible {\n color: ",";\n }\n\n &:focus-visible {\n outline: ","px solid ",";\n outline-offset: -","px;\n }\n "]);return j=function(){return e},e}function P(){var e=w(["\n display: flex;\n flex-direction: column;\n height: 100%;\n min-height: 0;\n overflow: hidden;\n background: ",";\n border-inline-end: 0 !important;\n\n > .ant-menu-submenu {\n flex: none;\n min-height: 0;\n }\n\n > .ant-menu-submenu-open {\n display: flex;\n flex: 0 1 auto;\n flex-direction: column;\n min-height: ","px;\n overflow: hidden;\n }\n\n > .ant-menu-submenu-open > .ant-menu-submenu-title {\n flex: none;\n }\n\n > .ant-menu-submenu-open > .ant-menu-sub.ant-menu-inline {\n flex: 1;\n min-height: 0;\n overflow-x: hidden;\n overflow-y: auto;\n overscroll-behavior: contain;\n }\n\n .ant-menu-sub.ant-menu-inline {\n width: calc(100% - ","px);\n margin-inline: ","px;\n padding-block: ","px;\n background: "," !important;\n border-radius: ","px;\n }\n\n .ant-menu-submenu-title {\n padding-inline-end: ","px;\n }\n\n .ant-menu-sub.ant-menu-inline > .ant-menu-item {\n height: ","px;\n margin-block: 0;\n line-height: ","px;\n }\n\n .ant-menu-title-content {\n min-width: 0;\n }\n\n .workflow-task-menu-placeholder {\n display: none !important;\n }\n "]);return P=function(){return e},e}function C(){var e=w(["\n height: ","px;\n padding-inline: ","px;\n background: ",";\n border: 0;\n\n &:hover,\n &:focus-visible {\n background: "," !important;\n }\n "]);return C=function(){return e},e}var I=(0,c.createContext)({selectedWorkflow:null,selectWorkflow:function(){},workflows:[],loading:!1,loadingMore:!1,hasNext:!1,error:!1,search:"",setSearch:function(){},loadMore:function(){},reload:function(){}});function K(){return(0,c.useContext)(I)}function F(e){return!!e&&(void 0===e?"undefined":e&&"u">typeof Symbol&&e.constructor===Symbol?"symbol":typeof e)=="object"&&!Array.isArray(e)}function B(e){var t=e.children,n=e.eventBus,r=e.loadWorkflowTaskStats,o=e.typeKey,a=b((0,c.useState)(null),2),l=a[0],i=a[1],u=b((0,c.useState)([]),2),f=u[0],p=u[1],d=b((0,c.useState)(1),2),y=d[0],m=d[1],w=b((0,c.useState)(!1),2),k=w[0],v=w[1],x=b((0,c.useState)(!1),2),S=x[0],E=x[1],T=b((0,c.useState)(!1),2),O=T[0],M=T[1],j=b((0,c.useState)(!1),2),P=j[0],C=j[1],K=b((0,c.useState)(""),2),B=K[0],z=K[1],R=(0,c.useRef)(0),L=(0,c.useRef)(o),N=(null==l?void 0:l.typeKey)===o?l.workflow:null,A=(0,c.useCallback)(function(e){i(e&&o?{typeKey:o,workflow:e}:null)},[o]),W=(0,c.useCallback)(function(e,t){var n;return(n=function(){var n,a,l,u;return function(e,t){var n,r,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},l=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),i=Object.defineProperty;return i(l,"next",{value:u(0)}),i(l,"throw",{value:u(1)}),i(l,"return",{value:u(2)}),"function"==typeof Symbol&&i(l,Symbol.iterator,{value:function(){return this}}),l;function u(i){return function(u){var c=[i,u];if(n)throw TypeError("Generator is already executing.");for(;l&&(l=0,c[0]&&(a=0)),a;)try{if(n=1,r&&(o=2&c[0]?r.return:c[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,c[1])).done)return o;switch(r=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return a.label++,{value:c[1],done:!1};case 5:a.label++,r=c[1],c=[0];continue;case 7:c=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===c[0]||2===c[0])){a=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){a.label=c[1];break}if(6===c[0]&&a.label<o[1]){a.label=o[1],o=c;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(c);break}o[2]&&a.ops.pop(),a.trys.pop();continue}c=t.call(e,a)}catch(e){c=[6,e],r=0}finally{n=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}(this,function(c){switch(c.label){case 0:if(!o)return p([]),v(!1),[2];n=++R.current,t?M(!0):(E(!0),v(!1)),C(!1),c.label=1;case 1:return c.trys.push([1,3,4,5]),[4,r(h({type:o,page:e,pageSize:200},B?{search:B}:{}))];case 2:var s,f,d,y;if(a=c.sent(),n!==R.current)return[2];return s=F(a)?a.data:void 0,f=F(s)?s:void 0,d=Array.isArray(s)?s:null==f?void 0:f.data,y=F(null==f?void 0:f.meta)?f.meta:void 0,l={rows:Array.isArray(d)?d.filter(function(e){return F(e)&&"string"==typeof e.workflowKey&&"string"==typeof e.title&&F(e.stats)}):[],hasNext:(null==y?void 0:y.hasNext)===!0},i(function(e){if(!e||e.typeKey!==o)return e;var t,n,r=l.rows.find(function(t){return t.workflowKey===e.workflow.workflowKey});return r?(t=h({},e),n=n={workflow:r},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t})(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}),t):e}),p(function(e){if(!t)return l.rows;var n=new Map(e.map(function(e){return[e.workflowKey,e]}));return l.rows.forEach(function(e){return n.set(e.workflowKey,e)}),Array.from(n.values())}),m(e),v(l.hasNext),[3,5];case 3:return u=c.sent(),n===R.current&&(C(!0),console.error("Failed to load workflow task stats",u)),[3,5];case 4:return n===R.current&&(E(!1),M(!1)),[7];case 5:return[2]}})},function(){var e=this,t=arguments;return new Promise(function(r,o){var a=n.apply(e,t);function l(e){g(a,r,o,l,i,"next",e)}function i(e){g(a,r,o,l,i,"throw",e)}l(void 0)})})()},[r,B,o]),X=(0,c.useCallback)(function(){W(1,!1)},[W]),H=(0,c.useCallback)(function(){!k||S||O||W(y+1,!0)},[k,W,S,O,y]);(0,c.useEffect)(function(){L.current!==o&&(L.current=o,R.current+=1,i(null),p([]),m(1),v(!1),z(""))},[o]),(0,c.useEffect)(function(){X()},[X]),(0,c.useEffect)(function(){if(n){var e,t=function(t){"detail"in t&&F(t.detail)&&t.detail.type===o&&(e&&clearTimeout(e),e=setTimeout(X,300))};return n.addEventListener("ws:message:workflow:tasks:updated",t),function(){e&&clearTimeout(e),n.removeEventListener("ws:message:workflow:tasks:updated",t)}}},[n,X,o]);var D=(0,c.useMemo)(function(){return{selectedWorkflow:N,selectWorkflow:A,workflows:f,loading:S,loadingMore:O,hasNext:k,error:P,search:B,setSearch:z,loadMore:H,reload:X}},[P,k,H,S,O,X,B,A,N,f]);return s().createElement(I.Provider,{value:D},t)}function z(e){var t=e.count,n=e.title,r=u.theme.useToken().token;return s().createElement("span",{className:(0,l.css)(x(),r.marginXS)},s().createElement("span",null,n),s().createElement(u.Badge,{count:t,size:"small"}))}function R(e){var t=e.title,n=e.count,r=u.theme.useToken().token;return s().createElement("span",{className:(0,l.css)(S(),r.marginXS)},s().createElement("span",null,t),s().createElement("span",{className:(0,l.css)(E(),r.colorTextTertiary,r.fontSizeSM)},n))}function L(e){var t=e.search,n=e.searchValue,r=e.setSearchValue,o=e.setSearch,i=e.t,f=u.theme.useToken().token,p=b((0,c.useState)(!!t),2),d=p[0],y=p[1],m=b((0,c.useState)(!1),2),g=m[0],h=m[1],w=(0,c.useRef)(null),k=(0,c.useRef)(!1),v=(0,c.useRef)(!1),x=(0,c.useRef)(!1);(0,c.useEffect)(function(){t&&y(!0)},[t]),(0,c.useEffect)(function(){if(d&&k.current){var e;k.current=!1,null==(e=w.current)||e.focus()}},[d]);var S=(0,c.useCallback)(function(){k.current=!0,y(!0)},[]),E=(0,c.useCallback)(function(){g||n||y(!1)},[g,n]);return s().createElement("div",{onMouseLeave:E,className:(0,l.css)(T(),f.controlHeight)},d?s().createElement("form",{onMouseDown:function(e){return e.stopPropagation()},onClick:function(e){return e.stopPropagation()},onSubmit:function(e){if(e.preventDefault(),e.stopPropagation(),v.current||x.current){x.current=!1;return}o(n.trim())},className:(0,l.css)(O())},s().createElement(u.Input,{ref:w,allowClear:!0,size:"small",value:n,placeholder:i("Search workflows"),"aria-label":i("Search workflows"),onCompositionStart:function(){v.current=!0},onCompositionEnd:function(){v.current=!1},onFocus:function(){return h(!0)},onBlur:function(){h(!1),n||y(!1)},onChange:function(e){var n=e.target.value;r(n),!n&&t&&o("")},onKeyDown:function(e){e.stopPropagation(),"Enter"===e.key&&(x.current=e.nativeEvent.isComposing||v.current),"Escape"===e.key&&(r(""),o(""),y(!1))}})):s().createElement(s().Fragment,null,s().createElement("span",{className:(0,l.css)(M())},i("All workflows")),s().createElement("button",{type:"button","aria-label":i("Search workflows"),onMouseDown:function(e){return e.stopPropagation()},onClick:function(e){e.stopPropagation(),S()},onMouseEnter:function(){return y(!0)},onFocus:S,className:(0,l.css)(j(),f.controlHeightSM,f.controlHeightSM,f.colorTextSecondary,f.borderRadiusSM,f.colorPrimary,f.lineWidthFocus,f.colorPrimaryBorder,f.lineWidthFocus)},s().createElement(a.SearchOutlined,null))))}function N(e){var t=e.currentTypeKey,n=e.onTaskTypeSelect,r=e.onWorkflowSelect,o=e.taskTypes,a=e.t,i=u.theme.useToken().token,f=K(),p=f.selectedWorkflow,d=f.selectWorkflow,y=f.workflows,m=f.loading,g=f.loadingMore,h=f.hasNext,w=f.error,v=f.search,x=f.setSearch,S=f.loadMore,E=f.reload,T=b((0,c.useState)(v),2),O=T[0],M=T[1],j=t?"type:".concat(t):void 0;(0,c.useEffect)(function(){M(v)},[v]);var C=(0,c.useCallback)(function(e){d(e),null==r||r()},[r,d]),I=(0,c.useCallback)(function(e){var t=e.key;if("workflow:all"===t)return void C(null);if("action:retry"===t)return void E();if("action:loadMore"===t)return void S();if(t.startsWith("workflow:")){var n=t.slice(9),r=y.find(function(e){return e.workflowKey===n});r&&C(r)}},[C,S,E,y]),F=(0,c.useCallback)(function(e){var r=k(e).reverse().find(function(e){return e.startsWith("type:")&&e!==j});if(!r)return void d(null);var o=r.slice(5);o!==t&&n(o)},[t,n,d,j]),B=[{key:"workflow:all",label:s().createElement(L,{search:v,searchValue:O,setSearchValue:M,setSearch:x,t:a})}].concat(k(y.map(function(e){return{key:"workflow:".concat(e.workflowKey),label:s().createElement(R,{title:e.title,count:e.stats.pending})}})));return m&&B.push({key:"status:loading",disabled:!0,label:s().createElement(u.Flex,{justify:"center"},s().createElement(u.Spin,{size:"small"}))}),w&&B.push({key:"action:retry",label:s().createElement(u.Flex,{justify:"center"},a("Retry"))}),h&&!w&&B.push({key:"action:loadMore",disabled:g,label:s().createElement(u.Flex,{justify:"center"},g?s().createElement(u.Spin,{size:"small"}):a("Load more"))}),s().createElement(u.Menu,{"data-testid":"workflow-task-navigation-menu",mode:"inline",inlineIndent:i.padding,expandIcon:null,openKeys:j?[j]:[],selectedKeys:[p?"workflow:".concat(p.workflowKey):"workflow:all"],onClick:I,onOpenChange:F,items:o.map(function(e){return{key:"type:".concat(e.key),label:s().createElement(z,{title:e.title,count:e.count}),children:e.key===t?B:[{key:"placeholder:".concat(e.key),disabled:!0,className:"workflow-task-menu-placeholder",label:null}]}}),className:(0,l.css)(P(),i.colorBgContainer,i.controlHeightLG+2*i.marginXXS,2*i.marginXXS,i.marginXXS,i.paddingXXS,i.colorFillTertiary,i.borderRadius,i.padding,i.controlHeight,i.controlHeight)})}function A(e){var t=e.currentTypeKey,n=e.mobile,r=e.onTaskTypeSelect,o=e.taskTypes,i=e.t,f=K().selectedWorkflow,p=u.theme.useToken().token,d=b((0,c.useState)(!1),2),y=d[0],m=d[1],g=o.find(function(e){return e.key===t});return n?s().createElement(u.Layout.Header,{style:{background:p.colorBgContainer,height:"auto",lineHeight:"normal",padding:"".concat(p.paddingXXS,"px ").concat(p.padding,"px")}},s().createElement(u.Button,{block:!0,type:"text","aria-expanded":y,"aria-label":i("Select workflow"),onClick:function(){return m(!0)},className:(0,l.css)(C(),p.controlHeight,p.paddingSM,p.colorFillAlter,p.colorFillSecondary)},s().createElement(u.Flex,{align:"center",justify:"space-between",gap:p.marginXS,style:{minWidth:0,width:"100%"}},s().createElement(u.Flex,{align:"center",gap:p.marginXXS,style:{minWidth:0}},s().createElement("span",null,null==g?void 0:g.title),f?s().createElement(s().Fragment,null,s().createElement(a.RightOutlined,{"aria-hidden":!0,style:{color:p.colorTextTertiary,flex:"none"}}),s().createElement("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}},f.title)):null),s().createElement(a.DownOutlined,{"aria-hidden":!0,style:{color:p.colorTextSecondary,flex:"none",marginInlineStart:"auto"}}))),s().createElement(u.Drawer,{title:i("Workflow tasks"),placement:"left",open:y,onClose:function(){return m(!1)},styles:{body:{padding:0}}},s().createElement(N,{currentTypeKey:t,onTaskTypeSelect:r,onWorkflowSelect:function(){return m(!1)},taskTypes:o,t:i}))):s().createElement(u.Layout.Sider,{theme:"light",breakpoint:"md",collapsedWidth:0,style:{background:p.colorBgContainer,borderInlineEnd:"".concat(p.lineWidth,"px ").concat(p.lineType," ").concat(p.colorBorderSecondary)}},s().createElement(N,{currentTypeKey:t,onTaskTypeSelect:r,taskTypes:o,t:i}))}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 X(e,t,n,r,o,a,l){try{var i=e[a](l),u=i.value}catch(e){n(e);return}i.done?t(u):Promise.resolve(u).then(r,o)}function H(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var a=e.apply(t,n);function l(e){X(a,r,o,l,i,"next",e)}function i(e){X(a,r,o,l,i,"throw",e)}l(void 0)})}}function D(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 J(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,o=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var a=[],l=!0,i=!1;try{for(o=o.call(e);!(l=(n=o.next()).done)&&(a.push(n.value),!t||a.length!==t);l=!0);}catch(e){i=!0,r=e}finally{try{l||null==o.return||o.return()}finally{if(i)throw r}}return a}}(e,t)||function(e,t){if(e){if("string"==typeof e)return 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 _(e,t){var n,r,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},l=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),i=Object.defineProperty;return i(l,"next",{value:u(0)}),i(l,"throw",{value:u(1)}),i(l,"return",{value:u(2)}),"function"==typeof Symbol&&i(l,Symbol.iterator,{value:function(){return this}}),l;function u(i){return function(u){var c=[i,u];if(n)throw TypeError("Generator is already executing.");for(;l&&(l=0,c[0]&&(a=0)),a;)try{if(n=1,r&&(o=2&c[0]?r.return:c[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,c[1])).done)return o;switch(r=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return a.label++,{value:c[1],done:!1};case 5:a.label++,r=c[1],c=[0];continue;case 7:c=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===c[0]||2===c[0])){a=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){a.label=c[1];break}if(6===c[0]&&a.label<o[1]){a.label=o[1],o=c;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(c);break}o[2]&&a.ops.pop(),a.trys.pop();continue}c=t.call(e,a)}catch(e){c=[6,e],r=0}finally{n=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}function G(){var e,t,n=(e=["\n > div > .ant-tabs > .ant-tabs-nav {\n background: ",";\n margin: 0;\n padding-inline: ","px ","px;\n padding-left: ","px;\n }\n\n > div > .ant-tabs > .ant-tabs-content-holder {\n padding: ","px;\n }\n "],t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}})));return G=function(){return n},n}var V=null;function $(e,t){e&&t&&((null==V?void 0:V.taskTypeKey)!==e||V.popupId!==t)||(V=null)}function Z(){var e=(0,f.useParams)(),t=(0,f.useLocation)(),n=(0,d.e3)(e.status),r=/(^|\/)(mobile\/page|page)\/workflow-tasks(\/|$)/.test(t.pathname);return{taskType:e.taskType,status:n,popupId:e.popupId,isMobileRoute:r,search:t.search,hash:t.hash}}function U(e,t){return"".concat(e).concat(t.search||"").concat(t.hash||"")}function q(e){var t=e.type,n=e.status,r=e.mobile,o=e.reload,a=e.workflowKey,l=e.workflowPendingCount,m=(0,f.useNavigate)(),g=(0,y.kj)(),h=u.theme.useToken().token,b=t.Actions,w=Z(),k=(0,c.useMemo)(function(){return d._l.map(function(e){return{key:e,value:e,label:g(e===d.Rr.PENDING?"Pending":e===d.Rr.COMPLETED?"Completed":"All")}})},[g]),v=(0,i.useMemoizedFn)(function(e){m(U((0,p.T0)(t.key,String(e),void 0,w.isMobileRoute),w))});return r?s().createElement(u.Flex,{"data-testid":"workflow-task-status-controls",align:"center",justify:"space-between",gap:h.marginSM,wrap:"wrap"},s().createElement(u.Segmented,{value:n,options:k.map(function(e){return{value:e.value,label:e.label}}),onChange:v,style:{minWidth:0}}),b?s().createElement(b,{onlyIcon:!0,reload:o,workflowKey:a,workflowPendingCount:l}):null):s().createElement(u.Tabs,{activeKey:n,onChange:v,items:k.map(function(e){return{key:e.key,label:e.label}}),tabBarStyle:{marginBottom:0},tabBarExtraContent:b?{right:s().createElement(b,{reload:o,workflowKey:a,workflowPendingCount:l})}:void 0})}function Q(e){var t=e.mobile,n=e.onPageChange,r=e.page,o=e.total,l=u.theme.useToken().token,c=(0,y.kj)(),f=Math.max(1,Math.ceil(Math.max(o,1)/d.JJ)),p=r>1,m=r<f,g=(0,i.useMemoizedFn)(function(){p&&n(r-1)}),h=(0,i.useMemoizedFn)(function(){m&&n(r+1)});return s().createElement(u.Flex,{align:"center",className:"ant-pagination","data-testid":"workflow-task-pagination",gap:t?l.marginXXS:l.marginSM,justify:"end",style:{width:"100%"}},s().createElement(u.Flex,{align:"center",gap:l.marginXXS},s().createElement(u.Button,{"aria-label":c("Previous page"),className:"ant-pagination-prev".concat(p?"":" ant-pagination-disabled"),disabled:!p,icon:s().createElement(a.LeftOutlined,null),onClick:g,size:"small",style:{height:l.controlHeightSM,width:l.controlHeightSM},type:"text"}),s().createElement(u.Typography.Text,{"data-testid":"workflow-task-current-page",style:{lineHeight:"".concat(l.controlHeightSM,"px"),minWidth:l.sizeSM,textAlign:"center"}},r),s().createElement(u.Button,{"aria-label":c("Next page"),className:"ant-pagination-next".concat(m?"":" ant-pagination-disabled"),disabled:!m,icon:s().createElement(a.RightOutlined,null),onClick:h,size:"small",style:{height:l.controlHeightSM,width:l.controlHeightSM},type:"text"})),t?null:s().createElement(u.Select,{"aria-label":c("Page size"),className:"ant-pagination-options",options:[{label:"".concat(d.JJ," / page"),value:d.JJ}],popupMatchSelectWidth:!1,size:"middle",style:{width:112},value:d.JJ}))}function Y(e){var t=e.records,n=e.loading,r=e.mobile,o=e.total,a=e.page,l=e.onPageChange,c=e.onOpenRecord,f=e.refresh,p=e.Item,m=u.theme.useToken().token,g=(0,y.kj)(),h=o>0||t.length>0,b=(0,i.useMemoizedFn)(function(e,t){("Enter"===e.key||" "===e.key)&&(e.preventDefault(),c(t))});return s().createElement(s().Fragment,null,s().createElement(u.List,{dataSource:t,loading:n,rowKey:function(e){var t;return String(null!=(t=(0,d.Zu)(e))?t:"")},locale:{emptyText:g("No data yet")},split:!1,style:{background:m.colorBgLayout,flex:"1 1 0%",minHeight:0,overflow:"auto"},renderItem:function(e,t){return s().createElement(d.xT.Provider,{value:{record:e,openRecord:c,refresh:f}},s().createElement(u.List.Item,{role:"button",tabIndex:0,onClick:function(){return c(e)},onKeyDown:function(t){return b(t,e)},style:{cursor:"pointer",padding:r?"0.5em 0.5em ".concat(m.lineWidth,"px"):"".concat(0===t?m.paddingLG:m.paddingXS,"px ").concat(m.paddingLG,"px ").concat(m.paddingXXS,"px"),background:m.colorBgLayout}},s().createElement("div",{"data-testid":"workflow-task-list-item-content",style:{width:"100%"}},s().createElement(p,null))))}}),h?s().createElement(u.Flex,{justify:"end",style:{background:m.colorBgLayout,flexShrink:0,padding:r?"0.5em":"".concat(m.padding,"px ").concat(m.paddingLG,"px")}},s().createElement(Q,{mobile:r,onPageChange:l,page:a,total:o})):null)}function ee(e,t){if(e)return t.split(".").reduce(function(e,t){if(e&&(void 0===e?"undefined":e&&"u">typeof Symbol&&e.constructor===Symbol?"symbol":typeof e)=="object")return e[t]},e)}function et(e){var t=e.children,n=e.record,r=e.mobile,o=e.onClose,a=e.title,l=u.theme.useToken().token;return s().createElement(u.Modal,{open:!!n,title:a,footer:null,width:"80vw",onCancel:o,destroyOnClose:!0,styles:{body:{maxHeight:r?"calc(100dvh - ".concat(2*l.sizeXXL,"px)"):void 0,overflow:"auto"}}},t)}function en(e){var t=e.children,n=e.onClose,r=u.theme.useToken().token,o=(0,y.kj)(),i=(0,l.css)(G(),r.colorBgContainer,r.padding,r.padding,r.controlHeight+r.paddingSM,r.padding);return s().createElement("div",{"data-testid":"workflow-task-mobile-detail-page",style:{background:r.colorBgLayout,flex:"1 1 0%",minHeight:0,overflow:"auto",position:"relative"}},s().createElement(u.Button,{"aria-label":o("Back"),icon:s().createElement(a.LeftOutlined,null),onClick:n,style:{left:r.paddingXS,position:"absolute",top:r.paddingSM,zIndex:1},type:"text"}),s().createElement("div",{"data-testid":"workflow-task-mobile-detail-content",className:i,style:{minWidth:0}},t))}function er(e){var t,n,r,a,l,m,g=e.availableTaskTypeKeys,h=e.countsState,b=e.ctx,w=e.currentTaskType,k=e.currentTaskTypeKey,v=e.taskTypes,x=h.counts,S=h.reload,E=Z(),T=(0,o.useMobileLayout)().isMobileLayout,O=E.isMobileRoute||T,M=(0,f.useNavigate)(),j=u.App.useApp().message,P=(0,y.kj)(),C=u.theme.useToken().token,I=K().selectedWorkflow,F=J((0,c.useState)([]),2),B=F[0],z=F[1],R=J((0,c.useState)(function(){var e=E.popupId;if(V&&V.taskTypeKey===k&&V.popupId===e){var t=V.record;return V=null,t}return(k||e)&&(V=null),null}),2),L=R[0],N=R[1],W=J((0,c.useState)(0),2),X=W[0],G=W[1],Q="".concat(null!=k?k:"","\n").concat(E.status,"\n").concat(null!=(l=null==I?void 0:I.workflowKey)?l:"","\n").concat(E.search),er=J((0,c.useState)({signature:"",page:1}),2),eo=er[0],ea=er[1],el=eo.signature===Q?eo.page:1,ei=J((0,c.useState)(!1),2),eu=ei[0],ec=ei[1],es=(0,c.useRef)(0),ef=(0,c.useRef)(0),ep=(0,c.useRef)(L&&E.popupId&&k?{popupId:E.popupId,taskTypeKey:k}:null),ed=(0,c.useRef)(ep.current),ey=(0,i.useMemoizedFn)(function(){j.error(P("Load failed"))});(0,c.useEffect)(function(){var e=document.title;return(null==w?void 0:w.title)&&(document.title="".concat(P("Workflow todos"),": ").concat(P(w.title)," - NocoBase")),function(){document.title=e}},[null==w?void 0:w.title,P]),(0,c.useEffect)(function(){!E.taskType&&g.length&&M(U((0,p.T0)(g[0],E.status,void 0,E.isMobileRoute),E),{replace:!0})},[g,M,E,E.isMobileRoute,E.status,E.taskType]),(0,c.useEffect)(function(){eo.signature!==Q&&ea({signature:Q,page:1})},[Q,eo.signature]);var em=(0,i.useMemoizedFn)(function(){return H(function(){var e,t,n,r,o,a,l,i,u;return _(this,function(c){switch(c.label){case 0:if(t=++es.current,!(null==b?void 0:b.api)||!w||!(n=b.api.resource(w.collection)[null!=(e=w.action)?e:"list"]))return z([]),G(0),ec(!1),[2];ec(!0),c.label=1;case 1:return c.trys.push([1,3,4,5]),a=null!=(r=null==(o=w.useActionParams)?void 0:o.call(w,E.status,null==I?void 0:I.workflowKey))?r:{},[4,n(D({page:el,pageSize:d.JJ,sort:["-createdAt"]},a))];case 2:if(l=c.sent(),i=(0,d.z1)(l),t!==es.current)return[2];return z(i.data),G("number"==typeof i.meta.count?i.meta.count:!0===i.meta.hasNext?el*d.JJ+1:(el-1)*d.JJ+i.data.length),[3,5];case 3:if(u=c.sent(),t!==es.current)return[2];throw z([]),G(0),u;case 4:return t===es.current&&ec(!1),[7];case 5:return[2]}})})()}),eg=(0,i.useMemoizedFn)(function(){return H(function(){return _(this,function(e){switch(e.label){case 0:return[4,Promise.all([em(),S()])];case 1:return e.sent(),[2]}})})()});(0,c.useEffect)(function(){return em().catch(function(e){console.error("Failed to load workflow tasks",e),ey()}),function(){es.current+=1}},[k,em,el,E.search,E.status,null==I?void 0:I.workflowKey,ey]);var eh=(0,i.useMemoizedFn)(function(){return H(function(){var e,t,n,r,o,a;return _(this,function(l){switch(l.label){case 0:if(e=++ef.current,!(null==b?void 0:b.api)||!w||!E.popupId)return ep.current=null,ed.current=null,$(),N(null),[2];l.label=1;case 1:if(l.trys.push([1,6,,7]),!w.getPopupRecord)return[3,3];return[4,w.getPopupRecord(b.api,{params:{filterByTk:E.popupId}})];case 2:return o=l.sent(),[3,5];case 3:return[4,null==(n=(r=b.api.resource(w.collection)).get)?void 0:n.call(r,{filterByTk:E.popupId})];case 4:o=l.sent(),l.label=5;case 5:return t=o,[3,7];case 6:if(a=l.sent(),e!==ef.current)return[2];throw a;case 7:if(e!==ef.current)return[2];return ep.current={taskTypeKey:w.key,popupId:E.popupId},$(w.key,E.popupId),N((0,d.y$)(t)),[2]}})})()});(0,c.useEffect)(function(){if(!E.popupId){ed.current||(ef.current+=1,ep.current=null,$(),N(null));return}ed.current=null;var e=E.popupId;return N(function(t){var n=ep.current,r=t?(0,d.Zu)(t):void 0;return t&&(null==n?void 0:n.taskTypeKey)===k&&String(r)===e?t:(ep.current=null,$(),null)}),eh().catch(function(e){console.error("Failed to load workflow task detail",e),ep.current=null,ed.current=null,$(k,E.popupId),N(null),ey()}),function(){ef.current+=1}},[k,eh,E.popupId,E.status,ey]);var eb=(0,i.useMemoizedFn)(function(e){if(w){var t=(0,d.Zu)(e);ef.current+=1,ep.current=null==t?null:{taskTypeKey:w.key,popupId:String(t)},ed.current=ep.current,V=ep.current?{popupId:ep.current.popupId,record:e,taskTypeKey:w.key}:null,N(e),null!=t&&M(U((0,p.T0)(w.key,E.status,String(t),E.isMobileRoute),E))}}),ew=(0,i.useMemoizedFn)(function(){ef.current+=1,ep.current=null,ed.current=null,$(),N(null),w&&M(U((0,p.T0)(w.key,E.status,void 0,E.isMobileRoute),E),{replace:!0})}),ek=(0,i.useMemoizedFn)(function(e){ea({signature:Q,page:e})}),ev=(0,c.useMemo)(function(){return g.map(function(e){var t,n,r;return{key:e,title:(null==v||null==(t=v.get(e))?void 0:t.title)?P(null==(n=v.get(e))?void 0:n.title):e,count:(null==(r=x[e])?void 0:r.pending)||0}})},[g,x,P,v]),ex=(0,i.useMemoizedFn)(function(e){M(U((0,p.T0)(e,d.Rr.PENDING,void 0,E.isMobileRoute),E))});if(!w||!k)return s().createElement(u.Result,{status:E.taskType?"error":"info",title:E.taskType?P("Task type {{type}} is invalid",{type:E.taskType}):P("No workflow tasks available. Please contact the administrator.")});var eS=s().createElement(u.Flex,{vertical:!0,gap:O?C.marginXS:C.marginXXS},O?null:s().createElement(u.Typography.Title,{level:4,style:{lineHeight:"".concat(C.controlHeight,"px"),margin:0}},P(w.title)),s().createElement(q,{type:w,status:E.status,mobile:O,reload:eg,workflowKey:null==I?void 0:I.workflowKey,workflowPendingCount:null==I?void 0:I.stats.pending})),eE=null!=(m=w.DetailModal)?m:et,eT=w.Detail,eO=P("string"==typeof(a=null!=(t=null!=(n=null!=(r=ee(L,"node.title"))?r:ee(L,"title"))?n:ee(L,"workflow.title"))?t:w.title)&&a?a:w.title),eM=L?s().createElement(d.xT.Provider,{value:{record:L,refresh:eg,openRecord:N}},s().createElement(eT,null)):null,ej=O&&!!L;return s().createElement(u.Layout,{"data-testid":O?"workflow-tasks-mobile":"workflow-tasks-desktop",style:{minHeight:O?0:"100%",height:"100%",background:C.colorBgLayout}},ej?null:s().createElement(A,{currentTypeKey:k,mobile:O,onTaskTypeSelect:ex,taskTypes:ev,t:P}),O&&!ej?s().createElement(u.Layout.Header,{style:{height:"auto",lineHeight:"normal",padding:0,background:C.colorBgContainer,borderBottom:"".concat(C.lineWidth,"px ").concat(C.lineType," ").concat(C.colorBorderSecondary)}},s().createElement("div",{style:{padding:C.paddingSM}},eS)):null,s().createElement(u.Layout,{style:{background:C.colorBgLayout}},s().createElement(u.Layout.Content,{style:{display:"flex",flex:"1 1 0%",flexDirection:"column",minHeight:0,padding:0,overflow:"hidden"}},O||ej?null:s().createElement("div",{style:{padding:"".concat(C.padding,"px ").concat(C.paddingLG,"px 0"),background:C.colorBgContainer,borderBottom:"".concat(C.lineWidth,"px ").concat(C.lineType," ").concat(C.colorBorderSecondary)}},eS),ej?s().createElement(en,{onClose:ew},eM):s().createElement("div",{"data-testid":"workflow-task-list-region",style:{background:C.colorBgLayout,display:"flex",flex:"1 1 0%",flexDirection:"column",minHeight:0}},s().createElement(Y,{records:B,loading:eu,mobile:O,total:X,page:el,onPageChange:ek,onOpenRecord:eb,refresh:eg,Item:w.Item})))),ej?null:s().createElement(eE,{type:w,record:L,mobile:O,title:eO,onClose:ew},eM))}function eo(){var e,t,n,o,a,l,u,f,p,y=(0,r.useFlowContext)(),m=(0,d.e0)(y),g=(0,d.yg)(y,m),h=(e=g.counts,n=Z().taskType,o=(0,c.useMemo)(function(){return(0,d.Bf)(m)},[m]),a=(0,c.useMemo)(function(){return(0,d.EC)(m,e)},[e,m]),l=null!=(t=null!=n?n:a[0])?t:o[0],{taskTypeKeys:o,availableTaskTypeKeys:a,currentTaskType:l?null==m?void 0:m.get(l):void 0,currentTaskTypeKey:l}),b=(0,i.useMemoizedFn)(function(e){return H(function(){var t;return _(this,function(n){return[2,(t=null==y?void 0:y.api.resource("userWorkflowTaskStats").listMine)?t(e):{data:{data:[],meta:{}}}]})})()});return s().createElement(B,{eventBus:null==y||null==(p=y.app)?void 0:p.eventBus,loadWorkflowTaskStats:b,typeKey:h.currentTaskTypeKey},s().createElement(er,(u=D({},h),f=f={countsState:g,ctx:y,taskTypes:m},Object.getOwnPropertyDescriptors?Object.defineProperties(u,Object.getOwnPropertyDescriptors(f)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t})(Object(f)).forEach(function(e){Object.defineProperty(u,e,Object.getOwnPropertyDescriptor(f,e))}),u)))}}}]);