@nocobase/plugin-workflow 1.6.0-beta.8 → 1.6.0

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 (35) hide show
  1. package/dist/client/4d75ef32f02d7285.js +10 -0
  2. package/dist/client/{4a2b78cd09ce676a.js → 56ce448358002e64.js} +1 -1
  3. package/dist/client/{70fbbe8694f73dd3.js → 58bb427e05b600de.js} +1 -1
  4. package/dist/client/WorkflowTasks.d.ts +4 -3
  5. package/dist/client/{settings/customizeSubmitToWorkflowActionSettings.d.ts → components/WorkflowTitle.d.ts} +1 -2
  6. package/dist/client/components/index.d.ts +1 -0
  7. package/dist/client/index.d.ts +17 -7
  8. package/dist/client/index.js +1 -1
  9. package/dist/client/settings/BindWorkflowConfig.d.ts +10 -0
  10. package/dist/externalVersion.js +13 -13
  11. package/dist/locale/it-IT.json +100 -0
  12. package/dist/locale/zh-CN.json +4 -1
  13. package/dist/node_modules/cron-parser/package.json +1 -1
  14. package/dist/node_modules/lru-cache/package.json +1 -1
  15. package/dist/server/Plugin.d.ts +5 -1
  16. package/dist/server/Plugin.js +41 -2
  17. package/dist/server/Processor.js +1 -1
  18. package/dist/server/actions/index.js +3 -1
  19. package/dist/server/actions/workflowTasks.d.ts +10 -0
  20. package/dist/server/actions/workflowTasks.js +45 -0
  21. package/dist/server/actions/workflows.d.ts +0 -1
  22. package/dist/server/actions/workflows.js +0 -5
  23. package/dist/server/collections/workflowTasks.d.ts +10 -0
  24. package/dist/server/collections/workflowTasks.js +64 -0
  25. package/dist/server/collections/workflows.js +7 -1
  26. package/dist/server/repositories/WorkflowTasksRepository.d.ts +12 -0
  27. package/dist/server/repositories/WorkflowTasksRepository.js +42 -0
  28. package/dist/server/triggers/CollectionTrigger.js +4 -1
  29. package/dist/server/types/WorkflowTask.d.ts +14 -0
  30. package/dist/server/types/WorkflowTask.js +24 -0
  31. package/dist/server/types/index.d.ts +1 -0
  32. package/dist/swagger/index.d.ts +3 -3
  33. package/dist/swagger/index.js +6 -6
  34. package/package.json +3 -3
  35. package/dist/client/4147131201cde30c.js +0 -10
@@ -402,7 +402,7 @@ declare const _default: {
402
402
  };
403
403
  };
404
404
  };
405
- '/users_jobs:list': {
405
+ '/workflowManualTasks:list': {
406
406
  get: {
407
407
  tags: string[];
408
408
  description: string;
@@ -425,7 +425,7 @@ declare const _default: {
425
425
  };
426
426
  };
427
427
  };
428
- '/users_jobs:get': {
428
+ '/workflowManualTasks:get': {
429
429
  get: {
430
430
  tags: string[];
431
431
  description: string;
@@ -456,7 +456,7 @@ declare const _default: {
456
456
  };
457
457
  };
458
458
  };
459
- '/users_jobs:submit': {
459
+ '/workflowManualTasks:submit': {
460
460
  post: {
461
461
  tags: string[];
462
462
  description: string;
@@ -446,9 +446,9 @@ var swagger_default = {
446
446
  }
447
447
  }
448
448
  },
449
- "/users_jobs:list": {
449
+ "/workflowManualTasks:list": {
450
450
  get: {
451
- tags: ["users_jobs"],
451
+ tags: ["workflowManualTasks"],
452
452
  description: "List manual jobs",
453
453
  parameters: [],
454
454
  responses: {
@@ -469,9 +469,9 @@ var swagger_default = {
469
469
  }
470
470
  }
471
471
  },
472
- "/users_jobs:get": {
472
+ "/workflowManualTasks:get": {
473
473
  get: {
474
- tags: ["users_jobs"],
474
+ tags: ["workflowManualTasks"],
475
475
  description: "Single user job",
476
476
  parameters: [],
477
477
  responses: {
@@ -500,9 +500,9 @@ var swagger_default = {
500
500
  }
501
501
  }
502
502
  },
503
- "/users_jobs:submit": {
503
+ "/workflowManualTasks:submit": {
504
504
  post: {
505
- tags: ["users_jobs"],
505
+ tags: ["workflowManualTasks"],
506
506
  description: "",
507
507
  parameters: [
508
508
  {
package/package.json CHANGED
@@ -4,13 +4,13 @@
4
4
  "displayName.zh-CN": "工作流",
5
5
  "description": "A powerful BPM tool that provides foundational support for business automation, with the capability to extend unlimited triggers and nodes.",
6
6
  "description.zh-CN": "一个强大的 BPM 工具,为业务自动化提供基础支持,并且可任意扩展更多的触发器和节点。",
7
- "version": "1.6.0-beta.8",
7
+ "version": "1.6.0",
8
8
  "license": "AGPL-3.0",
9
9
  "main": "./dist/server/index.js",
10
10
  "homepage": "https://docs.nocobase.com/handbook/workflow",
11
11
  "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/workflow",
12
12
  "dependencies": {
13
- "@nocobase/plugin-workflow-test": "1.6.0-beta.8"
13
+ "@nocobase/plugin-workflow-test": "1.6.0"
14
14
  },
15
15
  "devDependencies": {
16
16
  "@ant-design/icons": "5.x",
@@ -44,7 +44,7 @@
44
44
  "@nocobase/test": "1.x",
45
45
  "@nocobase/utils": "1.x"
46
46
  },
47
- "gitHead": "2257b50e1cf0b2a2873673a630e5ecc80ec2e01a",
47
+ "gitHead": "7422d72a4e515a11300860028a26030ed5732135",
48
48
  "keywords": [
49
49
  "Workflow"
50
50
  ]
@@ -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([["999"],{458:function(e,t,n){n.d(t,{g:function(){return g}});var r=n("2721"),o=n("8156"),a=n.n(o);let l=(0,o.createContext)(null),i={didCatch:!1,error:null};class c extends o.Component{constructor(e){super(e),this.resetErrorBoundary=this.resetErrorBoundary.bind(this),this.state=i}static getDerivedStateFromError(e){return{didCatch:!0,error:e}}resetErrorBoundary(){let{error:e}=this.state;if(null!==e){for(var t,n,r=arguments.length,o=Array(r),a=0;a<r;a++)o[a]=arguments[a];null===(t=(n=this.props).onReset)||void 0===t||t.call(n,{args:o,reason:"imperative-api"}),this.setState(i)}}componentDidCatch(e,t){var n,r;null===(n=(r=this.props).onError)||void 0===n||n.call(r,e,t)}componentDidUpdate(e,t){let{didCatch:n}=this.state,{resetKeys:r}=this.props;if(n&&null!==t.error&&function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return e.length!==t.length||e.some((e,n)=>!Object.is(e,t[n]))}(e.resetKeys,r)){var o,a;null===(o=(a=this.props).onReset)||void 0===o||o.call(a,{next:r,prev:e.resetKeys,reason:"keys"}),this.setState(i)}}render(){let{children:e,fallbackRender:t,FallbackComponent:n,fallback:r}=this.props,{didCatch:a,error:i}=this.state,c=e;if(a){let e={error:i,resetErrorBoundary:this.resetErrorBoundary};if((0,o.isValidElement)(r))c=r;else if("function"==typeof t)c=t(e);else if(n)c=(0,o.createElement)(n,e);else throw i}return(0,o.createElement)(l.Provider,{value:{didCatch:a,error:i,resetErrorBoundary:this.resetErrorBoundary}},c)}}var s=n("3772"),u=n("2708"),d=n("8018"),m=n("573"),f=n("8378"),p=n("336"),v=n("5071");function y(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function E(e,t){return!t&&(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function h(){var e=E(["\n margin-top: 0 !important;\n "]);return h=function(){return e},e}function b(){var e=E(["\n margin-bottom: 1em;\n "]);return b=function(){return e},e}function w(){var e=E(["\n margin-top: 0 !important;\n "]);return w=function(){return e},e}function g(e){var t,n,o=e.entry,l=(0,f.Z)().styles,i=(0,d.G2)().workflow;var E=(t=a().useState(100),n=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n,r,o=null==e?null:"undefined"!=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}}(t,2)||function(e,t){if(e){if("string"==typeof e)return y(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return y(e,t)}}(t,n)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),g=E[0],x=E[1];return a().createElement("div",{className:"workflow-canvas-wrapper"},a().createElement(c,{FallbackComponent:s.ErrorFallback,onError:console.error},a().createElement(v.E1,null,a().createElement("div",{className:"workflow-canvas",style:{zoom:g/100}},a().createElement("div",{className:(0,s.cx)(l.branchBlockClass,(0,s.css)(h()))},a().createElement("div",{className:l.branchClass},(null==i?void 0:i.executed)?a().createElement(r.Alert,{type:"warning",message:(0,m.KQ)("Executed workflow cannot be modified. Could be copied to a new version to modify."),showIcon:!0,className:(0,s.css)(b())}):null,a().createElement(p.Gk,null),a().createElement("div",{className:(0,s.cx)(l.branchBlockClass,(0,s.css)(w()))},a().createElement(u.I,{entry:o})),a().createElement("div",{className:l.terminalClass},(0,m.KQ)("End"))))))),a().createElement("div",{className:"workflow-canvas-zoomer"},a().createElement(r.Slider,{vertical:!0,reverse:!0,defaultValue:100,step:10,min:10,value:g,onChange:x})))}},5625:function(e,t,n){n.r(t),n.d(t,{ExecutionPage:function(){return j}});var r=n("3772"),o=n("8156"),a=n.n(o),l=n("6128"),i=n("2721"),c=n("7584"),s=n("482"),u=n("3238"),d=n("3552"),m=n("458"),f=n("6594"),p=n("9144"),v=n("8018"),y=n("573"),E=n("8378"),h=n("7893");function b(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function w(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],!(t.indexOf(n)>=0)&&(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++){if(n=a[r],!(t.indexOf(n)>=0))Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}}return o}function g(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,o=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var a=[],l=!0,i=!1;try{for(o=o.call(e);!(l=(n=o.next()).done)&&(a.push(n.value),!t||a.length!==t);l=!0);}catch(e){i=!0,r=e}finally{try{!l&&null!=o.return&&o.return()}finally{if(i)throw r}}return a}}(e,t)||k(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function x(e){return function(e){if(Array.isArray(e))return b(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||k(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 k(e,t){if(e){if("string"==typeof e)return b(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return b(e,t)}}function C(){var e,t,n,o=(0,r.usePlugin)(d.default).instructions,l=(0,r.useCompile)(),c=(0,v.G2)(),s=c.viewJob,u=c.setViewJob,m=(0,E.Z)().styles,f=(null!=s?s:{}).node,h=void 0===f?{}:f,b=o.get(h.type);return a().createElement(r.ActionContextProvider,{value:{visible:!!s,setVisible:u}},a().createElement(r.SchemaComponent,{schema:{type:"void",properties:(e={},t="".concat(null==s?void 0:s.id,"-").concat(null==s?void 0:s.updatedAt,"-modal"),n={type:"void","x-decorator":"Form","x-decorator-props":{initialValue:s},"x-component":"Action.Modal",title:a().createElement("div",{className:m.nodeTitleClass},a().createElement(i.Tag,null,l(null==b?void 0:b.title)),a().createElement("strong",null,h.title),a().createElement("span",{className:"workflow-node-id"},"#",h.id)),properties:{status:{type:"number",title:'{{t("Status", { ns: "'.concat(y.A7,'" })}}'),"x-decorator":"FormItem","x-component":"Select",enum:p.Vh,"x-read-pretty":!0},updatedAt:{type:"string",title:'{{t("Executed at", { ns: "'.concat(y.A7,'" })}}'),"x-decorator":"FormItem","x-component":"DatePicker","x-component-props":{showTime:!0},"x-read-pretty":!0},result:{type:"object",title:'{{t("Node result", { ns: "'.concat(y.A7,'" })}}'),"x-decorator":"FormItem","x-component":"Input.JSON","x-component-props":{className:m.nodeJobResultClass,autoSize:{minRows:4,maxRows:32}},"x-disabled":!0}}},t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e)}}))}function S(e){var t=(0,v.G2)().execution,n=(0,r.useAPIClient)(),u=(0,l.useNavigate)(),d=(0,E.Z)().styles,m=g((0,o.useState)([]),2),y=m[0],b=m[1],w=g((0,o.useState)([]),2),k=w[0],C=w[1];(0,o.useEffect)(function(){if(!!t)n.resource("executions").list({filter:{key:t.key,id:{$lt:t.id}},sort:"-createdAt",pageSize:10,fields:["id","status","createdAt"]}).then(function(e){b(e.data.data)}).catch(function(){})},[t.id]),(0,o.useEffect)(function(){if(!!t)n.resource("executions").list({filter:{key:t.key,id:{$gt:t.id}},sort:"createdAt",pageSize:10,fields:["id","status","createdAt"]}).then(function(e){C(e.data.data.reverse())}).catch(function(){})},[t.id]);var S=(0,o.useCallback)(function(e){var n=e.key;n!=t.id&&u((0,h.s_)(n))},[t.id]);return t?a().createElement(i.Dropdown,{menu:{onClick:S,defaultSelectedKeys:["".concat(t.id)],className:(0,r.cx)(d.dropdownClass,d.executionsDropdownRowClass),items:x(k).concat([t],x(y)).map(function(e){return{key:e.id,label:a().createElement(a().Fragment,null,a().createElement("span",{className:"id"},"#".concat(e.id)),a().createElement("time",null,(0,c.str2moment)(e.createdAt).format("YYYY-MM-DD HH:mm:ss"))),icon:a().createElement("span",null,a().createElement(f.Y,{statusMap:p.uy,status:e.status}))}})}},a().createElement(i.Space,null,a().createElement("strong",null,"#".concat(t.id)),a().createElement(s.DownOutlined,null))):null}function A(){var e,t=(0,u.useTranslation)().t,n=(0,r.useCompile)(),d=(0,r.useResourceActionContext)(),f=d.data,E=d.loading,b=d.refresh,x=(0,r.useDocumentTitle)().setTitle,k=g((0,o.useState)(null),2),A=k[0],j=k[1],O=(0,r.useApp)(),N=(0,r.useAPIClient)();(0,o.useEffect)(function(){var e,t=(null!==(e=null==f?void 0:f.data)&&void 0!==e?e:{}).workflow;null==x||x("".concat((null==t?void 0:t.title)?"".concat(t.title," - "):"").concat((0,y.KQ)("Execution history")))},[null==f?void 0:f.data,x]);var I=(0,o.useCallback)(function(){i.Modal.confirm({title:(0,y.KQ)("Cancel the execution"),icon:a().createElement(s.ExclamationCircleFilled,null),content:(0,y.KQ)("Are you sure you want to cancel the execution?"),onOk:function(){N.resource("executions").cancel({filterByTk:null==f?void 0:f.data.id}).then(function(){i.message.success(t("Operation succeeded")),b()}).catch(function(e){console.error(e.data.error)})}})},[null==f?void 0:f.data]);if(!(null==f?void 0:f.data))return E?a().createElement(i.Spin,null):a().createElement(i.Result,{status:"404",title:"Not found"});var P=null!==(e=null==f?void 0:f.data)&&void 0!==e?e:{},T=P.jobs,B=P.workflow,D=void 0===B?{}:B,K=D.nodes,M=void 0===K?[]:K,R=(D.revisions,w(P.workflow,["nodes","revisions"])),Y=w(P,["jobs","workflow"]);(0,h.Yc)(M),!function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=new Map;e.forEach(function(e){e.jobs=[],n.set(e.id,e)}),t.forEach(function(e){var t=n.get(e.nodeId);t.jobs.push(e),e.node={id:t.id,key:t.key,title:t.title,type:t.type}}),e.forEach(function(e){e.jobs=e.jobs.sort(function(e,t){return e.id-t.id})})}(M,void 0===T?[]:T);var F=M.find(function(e){return!e.upstream}),z=p.uy[Y.status];return a().createElement(v.iT.Provider,{value:{workflow:R.type?R:null,nodes:M,execution:Y,viewJob:A,setViewJob:j}},a().createElement("div",{className:"workflow-toolbar"},a().createElement("header",null,a().createElement(i.Breadcrumb,{items:[{title:a().createElement(l.Link,{to:O.pluginSettingsManager.getRoutePath("workflow")},(0,y.KQ)("Workflow"))},{title:a().createElement(i.Tooltip,{title:"Key: ".concat(R.key)},a().createElement(l.Link,{to:(0,h.SI)(R.id)},R.title))},{title:a().createElement(S,null)}]})),a().createElement("aside",null,a().createElement(i.Tag,{color:z.color},n(z.label)),Y.status?null:a().createElement(i.Tooltip,{title:(0,y.KQ)("Cancel the execution")},a().createElement(i.Button,{type:"link",danger:!0,onClick:I,shape:"circle",size:"small",icon:a().createElement(s.StopOutlined,null)})),a().createElement("time",null,(0,c.str2moment)(Y.updatedAt).format("YYYY-MM-DD HH:mm:ss")))),a().createElement(m.g,{entry:F}),a().createElement(C,null))}var j=function(){var e,t,n,o=(0,l.useParams)(),i=(0,E.Z)().styles;return a().createElement("div",{className:(0,r.cx)(i.workflowPageClass)},a().createElement(r.SchemaComponent,{schema:{type:"void",properties:(e={},t="execution_".concat(o.id),n={type:"void","x-decorator":"ResourceActionProvider","x-decorator-props":{collection:{name:"executions",fields:[]},resourceName:"executions",request:{resource:"executions",action:"get",params:{filter:o,appends:["jobs","workflow","workflow.nodes"]}}},"x-component":"ExecutionCanvas"},t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e)},components:{ExecutionCanvas:A}}))}}}]);