@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.
- package/dist/client/4d75ef32f02d7285.js +10 -0
- package/dist/client/{4a2b78cd09ce676a.js → 56ce448358002e64.js} +1 -1
- package/dist/client/{70fbbe8694f73dd3.js → 58bb427e05b600de.js} +1 -1
- package/dist/client/WorkflowTasks.d.ts +4 -3
- package/dist/client/{settings/customizeSubmitToWorkflowActionSettings.d.ts → components/WorkflowTitle.d.ts} +1 -2
- package/dist/client/components/index.d.ts +1 -0
- package/dist/client/index.d.ts +17 -7
- package/dist/client/index.js +1 -1
- package/dist/client/settings/BindWorkflowConfig.d.ts +10 -0
- package/dist/externalVersion.js +13 -13
- package/dist/locale/it-IT.json +100 -0
- package/dist/locale/zh-CN.json +4 -1
- package/dist/node_modules/cron-parser/package.json +1 -1
- package/dist/node_modules/lru-cache/package.json +1 -1
- package/dist/server/Plugin.d.ts +5 -1
- package/dist/server/Plugin.js +41 -2
- package/dist/server/Processor.js +1 -1
- package/dist/server/actions/index.js +3 -1
- package/dist/server/actions/workflowTasks.d.ts +10 -0
- package/dist/server/actions/workflowTasks.js +45 -0
- package/dist/server/actions/workflows.d.ts +0 -1
- package/dist/server/actions/workflows.js +0 -5
- package/dist/server/collections/workflowTasks.d.ts +10 -0
- package/dist/server/collections/workflowTasks.js +64 -0
- package/dist/server/collections/workflows.js +7 -1
- package/dist/server/repositories/WorkflowTasksRepository.d.ts +12 -0
- package/dist/server/repositories/WorkflowTasksRepository.js +42 -0
- package/dist/server/triggers/CollectionTrigger.js +4 -1
- package/dist/server/types/WorkflowTask.d.ts +14 -0
- package/dist/server/types/WorkflowTask.js +24 -0
- package/dist/server/types/index.d.ts +1 -0
- package/dist/swagger/index.d.ts +3 -3
- package/dist/swagger/index.js +6 -6
- package/package.json +3 -3
- package/dist/client/4147131201cde30c.js +0 -10
package/dist/swagger/index.d.ts
CHANGED
|
@@ -402,7 +402,7 @@ declare const _default: {
|
|
|
402
402
|
};
|
|
403
403
|
};
|
|
404
404
|
};
|
|
405
|
-
'/
|
|
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
|
-
'/
|
|
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
|
-
'/
|
|
459
|
+
'/workflowManualTasks:submit': {
|
|
460
460
|
post: {
|
|
461
461
|
tags: string[];
|
|
462
462
|
description: string;
|
package/dist/swagger/index.js
CHANGED
|
@@ -446,9 +446,9 @@ var swagger_default = {
|
|
|
446
446
|
}
|
|
447
447
|
}
|
|
448
448
|
},
|
|
449
|
-
"/
|
|
449
|
+
"/workflowManualTasks:list": {
|
|
450
450
|
get: {
|
|
451
|
-
tags: ["
|
|
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
|
-
"/
|
|
472
|
+
"/workflowManualTasks:get": {
|
|
473
473
|
get: {
|
|
474
|
-
tags: ["
|
|
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
|
-
"/
|
|
503
|
+
"/workflowManualTasks:submit": {
|
|
504
504
|
post: {
|
|
505
|
-
tags: ["
|
|
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
|
|
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
|
|
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": "
|
|
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}}))}}}]);
|