@nocobase/plugin-workflow 1.6.0-beta.9 → 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/{16cf024fbd110889.js → 56ce448358002e64.js} +1 -1
- package/dist/client/{519e616688c7e591.js → 58bb427e05b600de.js} +1 -1
- package/dist/client/WorkflowTasks.d.ts +4 -3
- package/dist/client/components/WorkflowTitle.d.ts +9 -0
- package/dist/client/components/index.d.ts +1 -0
- package/dist/client/index.d.ts +7 -8
- package/dist/client/index.js +1 -1
- package/dist/externalVersion.js +12 -12
- 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/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/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/ba10eeb1736d2d81.js +0 -10
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("3223"),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}}))}}}]);
|