@nocobase/plugin-workflow 2.2.0-beta.15 → 2.2.0-beta.16
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/{67.56a3d15a55ab7d5c.js → 67.92c849b5dbe07c33.js} +1 -1
- package/dist/client/WorkflowTasks.d.ts +26 -3
- package/dist/client/index.d.ts +1 -1
- package/dist/client/index.js +1 -1
- package/dist/common/collections/userWorkflowTaskStats.d.ts +54 -0
- package/dist/common/collections/userWorkflowTaskStats.js +87 -0
- package/dist/externalVersion.js +13 -13
- package/dist/locale/en-US.json +4 -0
- package/dist/locale/zh-CN.json +4 -0
- package/dist/node_modules/cron-parser/package.json +1 -1
- package/dist/node_modules/joi/package.json +1 -1
- package/dist/node_modules/lru-cache/package.json +1 -1
- package/dist/node_modules/nodejs-snowflake/package.json +1 -1
- package/dist/server/Dispatcher.d.ts +24 -13
- package/dist/server/Dispatcher.js +160 -143
- package/dist/server/Plugin.d.ts +57 -11
- package/dist/server/Plugin.js +355 -15
- package/dist/server/Processor.d.ts +1 -7
- package/dist/server/Processor.js +11 -7
- package/dist/server/actions/executions.js +3 -6
- package/dist/server/actions/index.js +3 -1
- package/dist/server/actions/jobs.js +1 -2
- package/dist/server/{migrations/20260713000000-remove-workflow-validation.d.ts → actions/userWorkflowTaskStats.d.ts} +2 -5
- package/dist/server/actions/userWorkflowTaskStats.js +112 -0
- package/dist/server/actions/workflows.js +17 -0
- package/dist/server/collections/userWorkflowTaskStats.d.ts +11 -0
- package/dist/server/collections/userWorkflowTaskStats.js +43 -0
- package/dist/server/index.d.ts +1 -0
- package/dist/server/types/Execution.d.ts +2 -0
- package/dist/server/types/Job.d.ts +5 -0
- package/dist/server/utils.d.ts +1 -0
- package/dist/server/utils.js +5 -0
- package/dist/swagger/index.d.ts +68 -1
- package/dist/swagger/index.js +61 -1
- package/package.json +2 -2
- package/dist/server/migrations/20260713000000-remove-workflow-validation.js +0 -56
|
@@ -7,4 +7,4 @@
|
|
|
7
7
|
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
|
-
"use strict";(self.webpackChunk_nocobase_plugin_workflow=self.webpackChunk_nocobase_plugin_workflow||[]).push([["67"],{2990:function(e,t,r){r.d(t,{LZ:function(){return x},jx:function(){return C}});var n=r(9155),o=r.n(n),l=r(2625),a=r(2059),i=r(3485),c=r(7694),u=r(9239),s=r(2235),d=r(7470),f=r(7001),p=r(9488),m=r(8743),v=r(4442),b=r(5953),y=r(358);function g(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,n,o,l,a){try{var i=e[l](a),c=i.value}catch(e){r(e);return}i.done?t(c):Promise.resolve(c).then(n,o)}function w(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 l=[],a=!0,i=!1;try{for(o=o.call(e);!(a=(r=o.next()).done)&&(l.push(r.value),!t||l.length!==t);a=!0);}catch(e){i=!0,n=e}finally{try{a||null==o.return||o.return()}finally{if(i)throw n}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return g(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 g(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(e){var t,r=e.execution,n=(0,p.kj)(),l=(0,f.TD)().getWorkflowExecutionPath,i=r?u.m2[String(r.status)]:null;if(!i)return o().createElement("span",null,n("Workflow not executed"));var c=n(i.label);return o().createElement(b.Trans,{ns:y.C,values:{statusText:c}},"Workflow executed, the result status is ",o().createElement(a.Tag,{color:i.color},"{{statusText}}"),o().createElement(v.Link,{to:l(null!=(t=r.id)?t:"")},"View the execution"))}function k(e){var t,r=e.workflow,u=(e.trigger,e.TriggerFieldsetLoader),m=e.valid,v=e.onSubmitted,b=(0,c.useFlowContext)(),y=(0,c.useFlowView)(),g=(0,p.kj)(),k=a.theme.useToken().token,C=a.App.useApp().message,x=(0,f.TD)().getWorkflowCanvasPath,O=w(a.Form.useForm(),1)[0],A=w((0,n.useState)(!1),2),S=A[0],T=A[1],j=!!(null==(t=r.versionStats)?void 0:t.executed),R=(0,n.useMemo)(function(){return(0,n.lazy)(u)},[u]),P=!m,D=(0,l.useMemoizedFn)(function(){var e;return(e=function(){var e,t,n,l,a,i;return function(e,t){var r,n,o,l={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),i=Object.defineProperty;return i(a,"next",{value:c(0)}),i(a,"throw",{value:c(1)}),i(a,"return",{value:c(2)}),"function"==typeof Symbol&&i(a,Symbol.iterator,{value:function(){return this}}),a;function c(i){return function(c){var u=[i,c];if(r)throw TypeError("Generator is already executing.");for(;a&&(a=0,u[0]&&(l=0)),l;)try{if(r=1,n&&(o=2&u[0]?n.return:u[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,u[1])).done)return o;switch(n=0,o&&(u=[2&u[0],o.value]),u[0]){case 0:case 1:o=u;break;case 4:return l.label++,{value:u[1],done:!1};case 5:l.label++,n=u[1],u=[0];continue;case 7:u=l.ops.pop(),l.trys.pop();continue;default:if(!(o=(o=l.trys).length>0&&o[o.length-1])&&(6===u[0]||2===u[0])){l=0;continue}if(3===u[0]&&(!o||u[1]>o[0]&&u[1]<o[3])){l.label=u[1];break}if(6===u[0]&&l.label<o[1]){l.label=o[1],o=u;break}if(o&&l.label<o[2]){l.label=o[2],l.ops.push(u);break}o[2]&&l.ops.pop(),l.trys.pop();continue}u=t.call(e,l)}catch(e){u=[6,e],n=0}finally{r=o=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}}(this,function(c){switch(c.label){case 0:if(!m)return[2];return[4,O.validateFields()];case 1:t=(e=c.sent()).autoRevision,n=function(e,t){if(null==e)return{};var r,n,o,l={};if("u">typeof Reflect&&Reflect.ownKeys){for(o=0,r=Reflect.ownKeys(Object(e));o<r.length;o++)n=r[o],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(l[n]=e[n]);return l}if(l=function(e,t){if(null==e)return{};var r,n,o={},l=Object.getOwnPropertyNames(e);for(n=0;n<l.length;n++)r=l[n],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r]);return o}(e,t),Object.getOwnPropertySymbols)for(o=0,r=Object.getOwnPropertySymbols(e);o<r.length;o++)n=r[o],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(l[n]=e[n]);return l}(e,["autoRevision"]),T(!0),c.label=2;case 2:return c.trys.push([2,,5,6]),[4,b.api.resource("workflows").execute(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){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}({filterByTk:r.id,values:n},!j&&t?{autoRevision:1}:{}))];case 3:return i=null==(a=c.sent())||null==(l=a.data)?void 0:l.data,C.open({type:(null==i?void 0:i.execution)?"info":"warning",content:o().createElement(E,{execution:null==i?void 0:i.execution}),duration:5}),[4,y.close()];case 4:return c.sent(),(null==i?void 0:i.newVersionId)?b.router.navigate(x(i.newVersionId)):null==v||v(),[3,6];case 5:return T(!1),[7];case 6:return[2]}})},function(){var t=this,r=arguments;return new Promise(function(n,o){var l=e.apply(t,r);function a(e){h(l,n,o,a,i,"next",e)}function i(e){h(l,n,o,a,i,"throw",e)}a(void 0)})})()}),F=o().createElement(a.Space,null,o().createElement(a.Button,{disabled:P,onClick:function(){return y.close()}},g("Cancel")),o().createElement(a.Button,{type:"primary",loading:S,disabled:P,onClick:D},g("Confirm")));return o().createElement(s.AA.Provider,{value:r},o().createElement(d.W.Provider,{value:!0},o().createElement(i.DialogFormLayout,{title:g("Execute manually"),onSubmit:D,submitting:S,submitText:g("Confirm"),cancelText:g("Cancel"),footer:F},o().createElement(a.Form,{form:O,layout:"vertical",initialValues:{autoRevision:!0},disabled:P},o().createElement(a.Alert,{message:g("Trigger variables need to be filled for executing."),type:"info",style:{marginBottom:k.margin}}),o().createElement(a.Form.Item,{label:g("Trigger variables")},o().createElement("div",{style:{padding:k.padding,border:"".concat(k.lineWidth,"px solid ").concat(k.colorBorderSecondary),borderRadius:k.borderRadiusLG}},o().createElement(n.Suspense,{fallback:o().createElement(a.Skeleton,{active:!0,paragraph:{rows:2}})},o().createElement(R,null)))),j?null:o().createElement(a.Form.Item,{name:"autoRevision",valuePropName:"checked"},o().createElement(a.Checkbox,null,g("Automatically create a new version after execution")))))))}function C(e){var t,r,i=e.record,u=e.refresh,s=(0,c.useFlowContext)(),d=(0,p.kj)(),f=s.app.pm.get(m.q),v=i.type?f.getTriggerOptions(i.type):void 0,b=null!=(t=null==v?void 0:v.validate(null!=(r=i.config)?r:{}))&&t,y=(0,n.useMemo)(function(){return v?v.TriggerFieldsetLoader?"":d("This type of trigger has not been supported to be executed manually."):d("This trigger type is not available in the new canvas yet.")},[d,v]),g=(0,l.useMemoizedFn)(function(){v&&!y&&v.TriggerFieldsetLoader&&x({ctx:s,workflow:i,trigger:v,TriggerFieldsetLoader:v.TriggerFieldsetLoader,valid:b,refresh:u})});return o().createElement(a.Tooltip,{title:y||void 0},o().createElement("span",null,o().createElement(a.Button,{disabled:!!y,onClick:g},d("Execute manually"))))}function x(e){e.ctx.viewer.dialog({width:520,closable:!0,content:function(){return o().createElement(k,{workflow:e.workflow,trigger:e.trigger,TriggerFieldsetLoader:e.TriggerFieldsetLoader,valid:e.valid,onSubmitted:e.refresh})}})}},2596:function(e,t,r){r.d(t,{i:function(){return O}});var n=r(2059),o=r(9155),l=r.n(o);let a=(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,r,n=arguments.length,o=Array(n),l=0;l<n;l++)o[l]=arguments[l];null==(t=(r=this.props).onReset)||t.call(r,{args:o,reason:"imperative-api"}),this.setState(i)}}componentDidCatch(e,t){var r,n;null==(r=(n=this.props).onError)||r.call(n,e,t)}componentDidUpdate(e,t){let{didCatch:r}=this.state,{resetKeys:n}=this.props;if(r&&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,r)=>!Object.is(e,t[r]))}(e.resetKeys,n)){var o,l;null==(o=(l=this.props).onReset)||o.call(l,{next:n,prev:e.resetKeys,reason:"keys"}),this.setState(i)}}render(){let{children:e,fallbackRender:t,FallbackComponent:r,fallback:n}=this.props,{didCatch:l,error:i}=this.state,c=e;if(l){let e={error:i,resetErrorBoundary:this.resetErrorBoundary};if((0,o.isValidElement)(n))c=n;else if("function"==typeof t)c=t(e);else if(r)c=(0,o.createElement)(r,e);else throw i}return(0,o.createElement)(a.Provider,{value:{didCatch:l,error:i,resetErrorBoundary:this.resetErrorBoundary}},c)}}var u=r(7375),s=r(3342),d=r(1134),f=r(4652),p=r(404),m=r(3872),v=r(6660),b=r(8201),y=r(4562),g=r(6566),h=r(7065);function w(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 E(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function k(){var e=E(["\n margin-top: 0 !important;\n "]);return k=function(){return e},e}function C(){var e=E(["\n margin-bottom: 1em;\n "]);return C=function(){return e},e}function x(){var e=E(["\n margin-top: 0 !important;\n "]);return x=function(){return e},e}function O(e){var t,r,o=e.entry,a=(0,v.A)().styles,i=(0,y.sD)(),E=(0,p.x)(),O=(0,s.useCompile)(),A=(0,s.usePlugin)(d.default),S=function(e){if(Array.isArray(e))return e}(t=l().useState(100))||function(e){var t,r,n=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var o=[],l=!0,a=!1;try{for(n=n.call(e);!(l=(t=n.next()).done)&&(o.push(t.value),2!==o.length);l=!0);}catch(e){a=!0,r=e}finally{try{l||null==n.return||n.return()}finally{if(a)throw r}}return o}}(t)||function(e){if(e){if("string"==typeof e)return w(e,2);var t=Object.prototype.toString.call(e).slice(8,-1);if("Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t)return Array.from(t);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return w(e,2)}}(t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),T=S[0],j=S[1],R=null==E?void 0:E.clipboard,P=R?A.instructions.get(R.type):null,D=R?P?O(P.title):R.type:"";return l().createElement("div",{className:"workflow-canvas-wrapper"},l().createElement(c,{FallbackComponent:s.ErrorFallback,onError:console.error},l().createElement(g.C.Provider,{value:h.bP},l().createElement("div",{className:"workflow-canvas",style:{zoom:T/100}},l().createElement("div",{className:(0,s.cx)(a.branchBlockClass,(0,s.css)(k()))},l().createElement("div",{className:a.branchClass},i?l().createElement(n.Alert,{type:"warning",message:(0,m.vV)("Executed workflow cannot be modified. Could be copied to a new version to modify."),showIcon:!0,className:(0,s.css)(C())}):null,l().createElement(b.Vo,null),l().createElement("div",{className:(0,s.cx)(a.branchBlockClass,(0,s.css)(x()))},l().createElement(f.lg,{entry:o})),l().createElement("div",{className:a.terminalClass},(0,m.vV)("End"))))))),R?l().createElement("div",{className:a.clipboardPreviewClass},l().createElement("div",{className:"workflow-clipboard-header"},l().createElement("span",null,(0,m.vV)("Copied node")),l().createElement(n.Button,{type:"text",size:"small",icon:l().createElement(u.CloseOutlined,null),onClick:function(){var e;return null==E||null==(e=E.clearClipboard)?void 0:e.call(E)}})),l().createElement("div",{className:"workflow-clipboard-card"},l().createElement("div",{className:"workflow-clipboard-type"},D),l().createElement("div",{className:"workflow-clipboard-title"},null!=(r=R.title)?r:R.type))):null,l().createElement("div",{className:"workflow-canvas-zoomer"},l().createElement(n.Slider,{vertical:!0,reverse:!0,defaultValue:100,step:10,min:10,value:T,onChange:j})))}},1110:function(e,t,r){r.r(t),r.d(t,{WorkflowPage:function(){return H}});var n=r(3342),o=r(9155),l=r.n(o),a=r(4442),i=r(6660),c=r(5953),u=r(2059),s=r(7375),d=r(5230),f=r(7768),p=r(2596),m=r(2662),v=r(4421),b=r(7846),y=r(3872),g=r(6481),h=r(6072),w=r(6864),E=r(512),k=r(8201),C=r(7428),x=r(7107),O=r(4562),A=r(5433),S=r(3610),T=r(3312),j=r(404),R=r(2815),P=r(7694),D=r(2448),F=r(2990);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 I(e,t,r,n,o,l,a){try{var i=e[l](a),c=i.value}catch(e){r(e);return}i.done?t(c):Promise.resolve(c).then(n,o)}function N(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var l=e.apply(t,r);function a(e){I(l,n,o,a,i,"next",e)}function i(e){I(l,n,o,a,i,"throw",e)}a(void 0)})}}function B(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){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}function L(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t})(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}),e}function z(e,t){if(null==e)return{};var r,n,o,l={};if("u">typeof Reflect&&Reflect.ownKeys){for(o=0,r=Reflect.ownKeys(Object(e));o<r.length;o++)n=r[o],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(l[n]=e[n]);return l}if(l=function(e,t){if(null==e)return{};var r,n,o={},l=Object.getOwnPropertyNames(e);for(n=0;n<l.length;n++)r=l[n],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r]);return o}(e,t),Object.getOwnPropertySymbols)for(o=0,r=Object.getOwnPropertySymbols(e);o<r.length;o++)n=r[o],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(l[n]=e[n]);return l}function M(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r,n,o=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var l=[],a=!0,i=!1;try{for(o=o.call(e);!(a=(r=o.next()).done)&&(l.push(r.value),!t||l.length!==t);a=!0);}catch(e){i=!0,n=e}finally{try{a||null==o.return||o.return()}finally{if(i)throw n}}return l}}(e,t)||function(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)}}(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 K(e,t){var r,n,o,l={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),i=Object.defineProperty;return i(a,"next",{value:c(0)}),i(a,"throw",{value:c(1)}),i(a,"return",{value:c(2)}),"function"==typeof Symbol&&i(a,Symbol.iterator,{value:function(){return this}}),a;function c(i){return function(c){var u=[i,c];if(r)throw TypeError("Generator is already executing.");for(;a&&(a=0,u[0]&&(l=0)),l;)try{if(r=1,n&&(o=2&u[0]?n.return:u[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,u[1])).done)return o;switch(n=0,o&&(u=[2&u[0],o.value]),u[0]){case 0:case 1:o=u;break;case 4:return l.label++,{value:u[1],done:!1};case 5:l.label++,n=u[1],u=[0];continue;case 7:u=l.ops.pop(),l.trys.pop();continue;default:if(!(o=(o=l.trys).length>0&&o[o.length-1])&&(6===u[0]||2===u[0])){l=0;continue}if(3===u[0]&&(!o||u[1]>o[0]&&u[1]<o[3])){l.label=u[1];break}if(6===u[0]&&l.label<o[1]){l.label=o[1],o=u;break}if(o&&l.label<o[2]){l.label=o[2],l.ops.push(u);break}o[2]&&l.ops.pop(),l.trys.pop();continue}u=t.call(e,l)}catch(e){u=[6,e],n=0}finally{r=o=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}}function U(){var e,t,r=(e=["\n margin-bottom: 1em;\n "],t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}})));return U=function(){return r},r}function W(e){var t,r=e.request,o=(e.filter,z(e,["request","filter"])),a=(0,b.$K)().workflow,i=L(B({},o),{request:L(B({},r),{params:L(B({},null==r?void 0:r.params),{filter:L(B({},null==r||null==(t=r.params)?void 0:t.filter),{key:a.key})})})});return l().createElement(n.ResourceActionProvider,i)}function Y(e){var t=e.data,r=e.option,o=(0,n.useCompile)()(r.label);return l().createElement(c.Trans,{ns:y.CU,values:{statusText:o}},"Workflow executed, the result status is ",l().createElement(u.Tag,{color:r.color},"{{statusText}}"),l().createElement(a.Link,{to:(0,h.mz)(t.id)},"View the execution"))}function q(){var e=(0,b.$K)().workflow,t=(0,d.useForm)(),r=(0,n.useResourceContext)().resource,a=(0,n.useActionContext)(),i=(0,n.useNavigateNoUpdate)(),c=u.App.useApp().message,s=(0,O.sD)(),f=M((0,o.useState)(!1),2),p=f[0],m=f[1];return{loading:p,run:function(){return N(function(){var n,o,u,d;return K(this,function(f){switch(f.label){case 0:m(!0),f.label=1;case 1:return f.trys.push([1,,4,5]),o=(n=t.values).autoRevision,u=z(n,["autoRevision"]),[4,t.submit()];case 2:return f.sent(),[4,r.execute(B({filterByTk:e.id,values:u},!s&&o?{autoRevision:1}:{}))];case 3:return d=f.sent().data.data,t.reset(),a.setFormValueChanged(!1),a.setVisible(!1),null==c||c.open(function(e){if(!e)return{type:"info",content:(0,y.vV)("Workflow was not triggered because the current request did not meet the trigger requirements.")};var t=e.id,r=e.status,n=C.$Y[r];return n?{type:"info",content:l().createElement(Y,{data:{id:t},option:n})}:null}(d.execution)),d.newVersionId&&i((0,h.Yz)(d.newVersionId)),[3,5];case 4:return m(!1),[7];case 5:return[2]}})})()}}}function _(e){var t,r,n=e.children,o=(0,d.useField)(),a=(0,b.$K)().workflow,i=(0,k.s5)(),c=null!=(t=null==i||null==(r=i.validate)?void 0:r.call(i,a.config))&&t,s=i?(0,D.qY)(i):"none",f="";switch(!0){case!i:f=(0,y.vV)("This trigger type is not available in the new canvas yet.");break;case!c:f=(0,y.vV)("The trigger is not configured correctly, please check the trigger configuration.");break;case"none"===s:f=(0,y.vV)("This type of trigger has not been supported to be executed manually.")}return o.setPattern(f?"disabled":"editable"),f?l().createElement(u.Tooltip,{title:f},n):n}function $(){var e,t=(0,b.$K)().workflow,r=(0,P.useFlowEngine)(),o=(0,O.sD)(),a=(0,k.s5)(),i=(0,n.useResourceActionContext)().refresh,c=a?(0,D.qY)(a):"none";if(!a)return l().createElement(u.Tooltip,{title:(0,y.vV)("This trigger type is not available in the new canvas yet.")},l().createElement("span",null,l().createElement(u.Button,{disabled:!0},(0,y.vV)("Execute manually"))));if("modern-loader"===c&&(null==a?void 0:a.TriggerFieldsetLoader)){var s=a.validate(t.config);return l().createElement(u.Tooltip,{title:void 0},l().createElement("span",null,l().createElement(u.Button,{onClick:function(){return(0,F.LZ)({ctx:r.context,workflow:t,trigger:a,TriggerFieldsetLoader:a.TriggerFieldsetLoader,valid:s,refresh:i})}},(0,y.vV)("Execute manually"))))}return l().createElement(b.AA.Provider,{value:t},l().createElement(x.Ws.Provider,{value:!0},l().createElement(n.SchemaComponent,{components:B({Alert:u.Alert,Fieldset:w.L,ActionDisabledProvider:_},a.components),scope:B({useCancelAction:n.useCancelAction,useExecuteConfirmAction:q},a.scope),schema:{name:"trigger-modal-".concat(t.type,"-").concat(t.id),type:"void","x-decorator":"ActionDisabledProvider","x-component":"Action","x-component-props":{openSize:"small"},title:"{{t('Execute manually', { ns: \"".concat(y.CU,'" })}}'),properties:{drawer:{type:"void","x-decorator":"FormV2","x-component":"Action.Modal",title:"{{t('Execute manually', { ns: \"".concat(y.CU,'" })}}'),properties:L(B(L(B({},Object.keys(null!=(e=a.triggerFieldset)?e:{}).length?{alert:{type:"void","x-component":"Alert","x-component-props":{message:"{{t('Trigger variables need to be filled for executing.', { ns: \"".concat(y.CU,'" })}}'),className:(0,n.css)(U())}}}:{description:{type:"void","x-component":"p","x-content":"{{t('This will perform all the actions configured in the workflow. Are you sure you want to continue?', { ns: \"".concat(y.CU,'" })}}')}}),{fieldset:{type:"void","x-decorator":"FormItem","x-component":"Fieldset",title:"{{t('Trigger variables', { ns: \"".concat(y.CU,'" })}}'),properties:a.triggerFieldset}}),o?{}:{autoRevision:{type:"boolean","x-decorator":"FormItem","x-component":"Checkbox","x-content":"{{t('Automatically create a new version after execution', { ns: \"".concat(y.CU,'" })}}'),default:!0}}),{footer:{type:"void","x-component":"Action.Modal.Footer",properties:{cancel:{type:"void",title:"{{t('Cancel')}}","x-component":"Action","x-component-props":{useAction:"{{useCancelAction}}"}},submit:{type:"void",title:"{{t('Confirm')}}","x-component":"Action","x-component-props":{type:"primary",useAction:"{{useExecuteConfirmAction}}"}}}}})}}}})))}function G(){var e=(0,b.$K)(),t=e.workflow,r=e.revisions,d=void 0===r?[]:r,p=M((0,o.useState)(!1),2),w=p[0],k=p[1],x=M((0,o.useState)(!1),2),A=x[0],S=x[1],T=M((0,o.useState)(""),2),j=T[0],P=T[1],D=(0,a.useNavigate)(),F=(0,c.useTranslation)().t,V=u.App.useApp().modal,I=(0,n.useApp)(),B=(0,n.useResourceContext)().resource,L=(0,n.useResourceActionContext)().refresh,z=u.App.useApp().message,U=(0,i.A)().styles,Y=(0,O.Eh)(),q=(0,o.useCallback)(function(){return N(function(){var e;return K(this,function(r){switch(r.label){case 0:return[4,B.revision({filterByTk:t.id,filter:{key:t.key}})];case 1:return e=r.sent().data.data,z.success(F("Operation succeeded")),D((0,h.Yz)(e.id)),[2]}})})()},[B,t.id,t.key,z,F,D]),_=(0,o.useCallback)(function(){return N(function(){var e;return K(this,function(r){return e=t.current?(0,y.vV)("This is a main version, delete it will cause the whole workflow to be deleted (including all other revisions)."):(0,y.vV)("Current version will be deleted (without affecting other versions)."),V.confirm({title:F("Are you sure you want to delete it?"),content:e,onOk:function(){return N(function(){var e,r,n,o;return K(this,function(l){switch(l.label){case 0:return[4,B.destroy({filterByTk:t.id})];case 1:if(l.sent(),z.success(F("Operation succeeded")),e=I.pluginSettingsManager.getRoutePath("workflow"),t.current)return[2,D(e)];return d.length&&D((0,h.Yz)(null==(r=d.find(function(e){return e.current}))?void 0:r.id)),[4,B.list({filter:{key:t.key,current:!0},fields:["id"],pageSize:1})];case 2:if(200!==(n=l.sent()).status)return[2];if(!(o=M(n.data.data,1)[0]))return[2,D(e)];return[2,D((0,h.Yz)(o.id))]}})})()}}),[2]})})()},[t,V,F,B,z,D,I.pluginSettingsManager,d]),$=(0,o.useCallback)(function(e){switch(e.key){case"details":S(!0);return;case"refresh":L();return;case"history":k(!0);return;case"revision":return q();case"delete":return _()}},[_,q,L]),G=(0,o.useCallback)(function(e){return(null==e?void 0:e.nickname)||(null==e?void 0:e.username)||(null==e?void 0:e.email)||(null==e?void 0:e.id)||"-"},[]),Q=(0,o.useCallback)(function(e){return e?(0,f.dayjs)(e).format("YYYY-MM-DD HH:mm:ss"):"-"},[]);(0,o.useEffect)(function(){if(A){var e;P(null!=(e=t.description)?e:"")}},[A,t.description]);var J=(0,o.useCallback)(function(e){P(e.target.value)},[]),H=(0,o.useCallback)(function(e){return N(function(){var r,n;return K(this,function(o){switch(o.label){case 0:if((n=e.target.value)===(null!=(r=t.description)?r:""))return[2];return[4,B.update({filterByTk:t.id,values:{description:n}})];case 1:return o.sent(),L(),[2]}})})()},[L,B,t.description,t.id]);return l().createElement(l().Fragment,null,l().createElement(u.Dropdown,{menu:{items:[{role:"button","aria-label":"details",key:"details",label:F("Details")},{type:"divider"},{role:"button","aria-label":"refresh",key:"refresh",label:F("Refresh")},{role:"button","aria-label":"history",key:"history",label:(0,y.vV)("Execution history"),disabled:!Y},{role:"button","aria-label":"revision",key:"revision",label:(0,y.vV)("Copy to new version")},{type:"divider"},{role:"button","aria-label":"delete",danger:!0,key:"delete",label:F("Delete")}],onClick:$}},l().createElement(u.Button,{"aria-label":"more",type:"text",icon:l().createElement(s.EllipsisOutlined,null)})),l().createElement(u.Modal,{open:A,title:F("Details"),width:640,footer:null,onCancel:function(){return S(!1)}},l().createElement(u.Descriptions,{bordered:!0,column:2,size:"small"},l().createElement(u.Descriptions.Item,{label:"Key",span:2},t.key||"-"),l().createElement(u.Descriptions.Item,{label:F("Created by")},G(t.createdBy)),l().createElement(u.Descriptions.Item,{label:F("Created at")},Q(t.createdAt)),l().createElement(u.Descriptions.Item,{label:F("Last updated by")},G(t.updatedBy)),l().createElement(u.Descriptions.Item,{label:F("Last updated at")},Q(t.updatedAt)),l().createElement(u.Descriptions.Item,{label:F("Description"),span:2},l().createElement(u.Input.TextArea,{"aria-label":F("Description"),value:j,onChange:J,onBlur:H,placeholder:"-",className:U.workflowDetailsDescriptionClass,autoSize:{minRows:3,maxRows:8}})))),l().createElement(n.ActionContextProvider,{value:{visible:w,setVisible:k}},l().createElement(n.SchemaComponent,{schema:g.M,components:{ExecutionResourceProvider:W,ExecutionLink:v.d,ExecutionStatusColumn:m.t_},scope:{useRefreshActionProps:E.t,useResourceFilterActionProps:R.A,ExecutionStatusOptions:C.$A}})))}function Q(){var e,t=(0,i.A)().styles,r=(0,a.useNavigate)(),c=(0,b.$K)().workflow,d=(0,o.useCallback)(function(e){var t=e.key;t!=c.id&&r((0,h.Yz)(t))},[c.id,r]),p=(0,n.useRequest)({resource:"workflows",action:"list",params:{filter:{key:c.key},fields:["id","createdAt","current","enabled","versionStats.executed"],sort:"-id"}},{refreshDeps:[c.id],manual:!0}),m=p.data,v=p.run,g=(0,o.useCallback)(function(e){e&&v()},[v]),w=null!=(e=null==m?void 0:m.data)?e:[];return l().createElement(u.Dropdown,{className:"workflow-versions",trigger:["click"],onOpenChange:g,menu:{onClick:d,defaultSelectedKeys:["".concat(c.id)],className:(0,n.cx)(t.dropdownClass,t.workflowVersionDropdownClass),items:w.sort(function(e,t){return t.id-e.id}).map(function(e,t){return{role:"button","aria-label":"version-".concat(t),key:"".concat(e.id),icon:e.current?l().createElement(s.RightOutlined,null):null,className:(0,n.cx)({executed:e.versionStats.executed>0,unexecuted:0==e.versionStats.executed,enabled:e.enabled}),label:l().createElement(l().Fragment,null,l().createElement("strong",null,"#".concat(e.id)),l().createElement("time",null,(0,f.dayjs)(e.createdAt).fromNow()))}})}},l().createElement(u.Button,{type:"text","aria-label":"version"},l().createElement("label",null,(0,y.vV)("Version")),l().createElement("span",null,(null==c?void 0:c.id)?"#".concat(c.id):null),l().createElement(s.DownOutlined,null)))}function J(){var e,t,r,i=(0,a.useNavigate)(),c=(0,n.useApp)(),s=(0,n.useResourceActionContext)(),d=s.data,f=s.refresh,m=s.loading,v=(0,n.useResourceContext)().resource,g=(0,n.useDocumentTitle)().setTitle,w=M((0,o.useState)(null!=(e=null==d||null==(r=d.data)?void 0:r.enabled)&&e),2),E=w[0],k=w[1],C=M((0,o.useState)(!1),2),x=C[0],O=C[1],R=null!=(t=null==d?void 0:d.data)?t:{},P=R.nodes,D=void 0===P?[]:P,F=z(R,["nodes"]);(0,h.KD)(D),(0,o.useEffect)(function(){var e,t=null!=(e=null==d?void 0:d.data)?e:{},r=t.title,n=t.enabled;null==g||g("".concat((0,y.vV)("Workflow")).concat(r?": ".concat(r):"")),k(n)},[null==d?void 0:d.data,g]);var V=(0,o.useCallback)(function(e){return N(function(){return K(this,function(t){switch(t.label){case 0:return O(!0),[4,v.update({filterByTk:F.id,values:{enabled:e}})];case 1:return t.sent(),O(!1),k(e),[2]}})})()},[v,F.id]);if(!(null==d?void 0:d.data))return m?l().createElement(u.Spin,null):l().createElement(u.Result,{status:"404",title:"Not found",extra:l().createElement(u.Button,{onClick:function(){return i(-1)}},(0,y.vV)("Go back"))});var I=D.find(function(e){return!e.upstream});return l().createElement(b.cB.Provider,{value:{workflow:F,nodes:D,refresh:f}},l().createElement("div",{className:"workflow-toolbar"},l().createElement("header",null,l().createElement(u.Breadcrumb,{items:[{title:l().createElement(a.Link,{to:c.pluginSettingsManager.getRoutePath("workflow")},(0,y.vV)("Workflow"))},{title:l().createElement(u.Tooltip,{title:"Key: ".concat(F.key)},l().createElement("strong",null,F.title))}]}),F.sync?l().createElement(u.Tag,{color:"orange"},(0,y.vV)("Synchronously")):l().createElement(u.Tag,{color:"cyan"},(0,y.vV)("Asynchronously"))),l().createElement("aside",null,l().createElement($,null),l().createElement(Q,null),l().createElement(u.Switch,{checked:E,onChange:V,checkedChildren:(0,y.vV)("On"),unCheckedChildren:(0,y.vV)("Off"),loading:x}),l().createElement(G,null))),l().createElement(A.y,null,l().createElement(S.J,null,l().createElement(T.bI,null,l().createElement(j.L,null,l().createElement(p.i,{entry:I}))))))}var H=function(){var e,t,r,o=(0,a.useParams)(),c=(0,i.A)().styles;return l().createElement("div",{className:(0,n.cx)(c.workflowPageClass)},l().createElement(n.SchemaComponent,{schema:{type:"void",properties:(e={},t="provider_".concat(o.id),r={type:"void","x-decorator":"ResourceActionProvider","x-decorator-props":{collection:{name:"workflows",fields:[]},resourceName:"workflows",request:{resource:"workflows",action:"get",params:{filter:{id:o.id},appends:["nodes","stats.executed","versionStats.executed","createdBy","updatedBy"]}}},"x-component":"WorkflowCanvas"},t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e)},components:{WorkflowCanvas:J}}))}},7001:function(e,t,r){r.d(t,{TD:function(){return i}});var n=r(2625),o=r(3485),l=r(8401);function a(){return"modern"===(0,o.getRouteRuntimeVersion)()}function i(){var e=(0,n.useMemoizedFn)(function(e){return a()?(0,l.JG)(e):"/admin/settings/workflow/workflows/".concat(e)}),t=(0,n.useMemoizedFn)(function(e){return a()?(0,l.Pq)(e):"/admin/settings/workflow/executions/".concat(e)});return{isV2Runtime:a(),getWorkflowCanvasPath:e,getWorkflowExecutionPath:t}}},9239:function(e,t,r){r.d(t,{GO:function(){return l},QQ:function(){return c},hi:function(){return a},m2:function(){return i}});var n=r(358);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var l={QUEUEING:null,STARTED:0,RESOLVED:1,FAILED:-1,ERROR:-2,ABORTED:-3,CANCELED:-4,REJECTED:-5,RETRY_NEEDED:-6},a=[{value:l.QUEUEING,label:'{{t("Queueing", { ns: "'.concat(n.C,'" })}}'),color:"blue",description:'{{t("Triggered but still waiting in queue to execute.", { ns: "'.concat(n.C,'" })}}')},{value:l.STARTED,label:'{{t("On going", { ns: "'.concat(n.C,'" })}}'),color:"gold",description:'{{t("Started and executing, maybe waiting for an async callback (manual, delay etc.).", { ns: "'.concat(n.C,'" })}}')},{value:l.RESOLVED,label:'{{t("Resolved", { ns: "'.concat(n.C,'" })}}'),color:"green",description:'{{t("Successfully finished.", { ns: "'.concat(n.C,'" })}}')},{value:l.FAILED,label:'{{t("Failed", { ns: "'.concat(n.C,'" })}}'),color:"red",description:'{{t("Failed to satisfy node configurations.", { ns: "'.concat(n.C,'" })}}')},{value:l.ERROR,label:'{{t("Error", { ns: "'.concat(n.C,'" })}}'),color:"red",description:'{{t("Some node meets error.", { ns: "'.concat(n.C,'" })}}')},{value:l.ABORTED,label:'{{t("Aborted", { ns: "'.concat(n.C,'" })}}'),color:"red",description:'{{t("Running of some node was aborted by program flow.", { ns: "'.concat(n.C,'" })}}')},{value:l.CANCELED,label:'{{t("Canceled", { ns: "'.concat(n.C,'" })}}'),color:"volcano",description:'{{t("Manually canceled whole execution when waiting.", { ns: "'.concat(n.C,'" })}}')},{value:l.REJECTED,label:'{{t("Rejected", { ns: "'.concat(n.C,'" })}}'),color:"volcano",description:'{{t("Rejected from a manual node.", { ns: "'.concat(n.C,'" })}}')},{value:l.RETRY_NEEDED,label:'{{t("Retry needed", { ns: "'.concat(n.C,'" })}}'),color:"volcano",description:'{{t("General failed but should do another try.", { ns: "'.concat(n.C,'" })}}')}],i=a.reduce(function(e,t){return Object.assign(e,o({},t.value,t))},{}),c=[{value:n.K.TIMEOUT,label:'{{t("Timed out", { ns: "'.concat(n.C,'" })}}')},{value:n.K.MANUAL_CANCEL,label:'{{t("Canceled manually", { ns: "'.concat(n.C,'" })}}')},{value:n.K.PARENT_ABORTED,label:'{{t("Aborted with parent execution", { ns: "'.concat(n.C,'" })}}')}].reduce(function(e,t){return Object.assign(e,o({},t.value,t))},{})}}]);
|
|
10
|
+
"use strict";(self.webpackChunk_nocobase_plugin_workflow=self.webpackChunk_nocobase_plugin_workflow||[]).push([["67"],{2990:function(e,t,r){r.d(t,{LZ:function(){return x},jx:function(){return C}});var n=r(9155),o=r.n(n),l=r(2625),a=r(2059),i=r(3485),c=r(7694),u=r(9239),s=r(2235),d=r(7470),f=r(7001),p=r(9488),m=r(8743),v=r(4442),b=r(5953),y=r(358);function g(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,n,o,l,a){try{var i=e[l](a),c=i.value}catch(e){r(e);return}i.done?t(c):Promise.resolve(c).then(n,o)}function w(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 l=[],a=!0,i=!1;try{for(o=o.call(e);!(a=(r=o.next()).done)&&(l.push(r.value),!t||l.length!==t);a=!0);}catch(e){i=!0,n=e}finally{try{a||null==o.return||o.return()}finally{if(i)throw n}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return g(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 g(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(e){var t,r=e.execution,n=(0,p.kj)(),l=(0,f.TD)().getWorkflowExecutionPath,i=r?u.m2[String(r.status)]:null;if(!i)return o().createElement("span",null,n("Workflow not executed"));var c=n(i.label);return o().createElement(b.Trans,{ns:y.C,values:{statusText:c}},"Workflow executed, the result status is ",o().createElement(a.Tag,{color:i.color},"{{statusText}}"),o().createElement(v.Link,{to:l(null!=(t=r.id)?t:"")},"View the execution"))}function k(e){var t,r=e.workflow,u=(e.trigger,e.TriggerFieldsetLoader),m=e.valid,v=e.onSubmitted,b=(0,c.useFlowContext)(),y=(0,c.useFlowView)(),g=(0,p.kj)(),k=a.theme.useToken().token,C=a.App.useApp().message,x=(0,f.TD)().getWorkflowCanvasPath,O=w(a.Form.useForm(),1)[0],A=w((0,n.useState)(!1),2),S=A[0],T=A[1],j=!!(null==(t=r.versionStats)?void 0:t.executed),R=(0,n.useMemo)(function(){return(0,n.lazy)(u)},[u]),P=!m,D=(0,l.useMemoizedFn)(function(){var e;return(e=function(){var e,t,n,l,a,i;return function(e,t){var r,n,o,l={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),i=Object.defineProperty;return i(a,"next",{value:c(0)}),i(a,"throw",{value:c(1)}),i(a,"return",{value:c(2)}),"function"==typeof Symbol&&i(a,Symbol.iterator,{value:function(){return this}}),a;function c(i){return function(c){var u=[i,c];if(r)throw TypeError("Generator is already executing.");for(;a&&(a=0,u[0]&&(l=0)),l;)try{if(r=1,n&&(o=2&u[0]?n.return:u[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,u[1])).done)return o;switch(n=0,o&&(u=[2&u[0],o.value]),u[0]){case 0:case 1:o=u;break;case 4:return l.label++,{value:u[1],done:!1};case 5:l.label++,n=u[1],u=[0];continue;case 7:u=l.ops.pop(),l.trys.pop();continue;default:if(!(o=(o=l.trys).length>0&&o[o.length-1])&&(6===u[0]||2===u[0])){l=0;continue}if(3===u[0]&&(!o||u[1]>o[0]&&u[1]<o[3])){l.label=u[1];break}if(6===u[0]&&l.label<o[1]){l.label=o[1],o=u;break}if(o&&l.label<o[2]){l.label=o[2],l.ops.push(u);break}o[2]&&l.ops.pop(),l.trys.pop();continue}u=t.call(e,l)}catch(e){u=[6,e],n=0}finally{r=o=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}}(this,function(c){switch(c.label){case 0:if(!m)return[2];return[4,O.validateFields()];case 1:t=(e=c.sent()).autoRevision,n=function(e,t){if(null==e)return{};var r,n,o,l={};if("u">typeof Reflect&&Reflect.ownKeys){for(o=0,r=Reflect.ownKeys(Object(e));o<r.length;o++)n=r[o],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(l[n]=e[n]);return l}if(l=function(e,t){if(null==e)return{};var r,n,o={},l=Object.getOwnPropertyNames(e);for(n=0;n<l.length;n++)r=l[n],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r]);return o}(e,t),Object.getOwnPropertySymbols)for(o=0,r=Object.getOwnPropertySymbols(e);o<r.length;o++)n=r[o],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(l[n]=e[n]);return l}(e,["autoRevision"]),T(!0),c.label=2;case 2:return c.trys.push([2,,5,6]),[4,b.api.resource("workflows").execute(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){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}({filterByTk:r.id,values:n},!j&&t?{autoRevision:1}:{}))];case 3:return i=null==(a=c.sent())||null==(l=a.data)?void 0:l.data,C.open({type:(null==i?void 0:i.execution)?"info":"warning",content:o().createElement(E,{execution:null==i?void 0:i.execution}),duration:5}),[4,y.close()];case 4:return c.sent(),(null==i?void 0:i.newVersionId)?b.router.navigate(x(i.newVersionId)):null==v||v(),[3,6];case 5:return T(!1),[7];case 6:return[2]}})},function(){var t=this,r=arguments;return new Promise(function(n,o){var l=e.apply(t,r);function a(e){h(l,n,o,a,i,"next",e)}function i(e){h(l,n,o,a,i,"throw",e)}a(void 0)})})()}),F=o().createElement(a.Space,null,o().createElement(a.Button,{disabled:P,onClick:function(){return y.close()}},g("Cancel")),o().createElement(a.Button,{type:"primary",loading:S,disabled:P,onClick:D},g("Confirm")));return o().createElement(s.AA.Provider,{value:r},o().createElement(d.W.Provider,{value:!0},o().createElement(i.DialogFormLayout,{title:g("Execute manually"),onSubmit:D,submitting:S,submitText:g("Confirm"),cancelText:g("Cancel"),footer:F},o().createElement(a.Form,{form:O,layout:"vertical",initialValues:{autoRevision:!0},disabled:P},o().createElement(a.Alert,{message:g("Trigger variables need to be filled for executing."),type:"info",style:{marginBottom:k.margin}}),o().createElement(a.Form.Item,{label:g("Trigger variables")},o().createElement("div",{style:{padding:k.padding,border:"".concat(k.lineWidth,"px solid ").concat(k.colorBorderSecondary),borderRadius:k.borderRadiusLG}},o().createElement(n.Suspense,{fallback:o().createElement(a.Skeleton,{active:!0,paragraph:{rows:2}})},o().createElement(R,null)))),j?null:o().createElement(a.Form.Item,{name:"autoRevision",valuePropName:"checked"},o().createElement(a.Checkbox,null,g("Automatically create a new version after execution")))))))}function C(e){var t,r,i=e.record,u=e.refresh,s=(0,c.useFlowContext)(),d=(0,p.kj)(),f=s.app.pm.get(m.q),v=i.type?f.getTriggerOptions(i.type):void 0,b=null!=(t=null==v?void 0:v.validate(null!=(r=i.config)?r:{}))&&t,y=(0,n.useMemo)(function(){return v?v.TriggerFieldsetLoader?"":d("This type of trigger has not been supported to be executed manually."):d("This trigger type is not available in the new canvas yet.")},[d,v]),g=(0,l.useMemoizedFn)(function(){v&&!y&&v.TriggerFieldsetLoader&&x({ctx:s,workflow:i,trigger:v,TriggerFieldsetLoader:v.TriggerFieldsetLoader,valid:b,refresh:u})});return o().createElement(a.Tooltip,{title:y||void 0},o().createElement("span",null,o().createElement(a.Button,{disabled:!!y,onClick:g},d("Execute manually"))))}function x(e){e.ctx.viewer.dialog({width:520,closable:!0,content:function(){return o().createElement(k,{workflow:e.workflow,trigger:e.trigger,TriggerFieldsetLoader:e.TriggerFieldsetLoader,valid:e.valid,onSubmitted:e.refresh})}})}},2596:function(e,t,r){r.d(t,{i:function(){return O}});var n=r(2059),o=r(9155),l=r.n(o);let a=(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,r,n=arguments.length,o=Array(n),l=0;l<n;l++)o[l]=arguments[l];null==(t=(r=this.props).onReset)||t.call(r,{args:o,reason:"imperative-api"}),this.setState(i)}}componentDidCatch(e,t){var r,n;null==(r=(n=this.props).onError)||r.call(n,e,t)}componentDidUpdate(e,t){let{didCatch:r}=this.state,{resetKeys:n}=this.props;if(r&&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,r)=>!Object.is(e,t[r]))}(e.resetKeys,n)){var o,l;null==(o=(l=this.props).onReset)||o.call(l,{next:n,prev:e.resetKeys,reason:"keys"}),this.setState(i)}}render(){let{children:e,fallbackRender:t,FallbackComponent:r,fallback:n}=this.props,{didCatch:l,error:i}=this.state,c=e;if(l){let e={error:i,resetErrorBoundary:this.resetErrorBoundary};if((0,o.isValidElement)(n))c=n;else if("function"==typeof t)c=t(e);else if(r)c=(0,o.createElement)(r,e);else throw i}return(0,o.createElement)(a.Provider,{value:{didCatch:l,error:i,resetErrorBoundary:this.resetErrorBoundary}},c)}}var u=r(7375),s=r(3342),d=r(1134),f=r(4652),p=r(404),m=r(3872),v=r(6660),b=r(8201),y=r(4562),g=r(6566),h=r(7065);function w(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 E(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function k(){var e=E(["\n margin-top: 0 !important;\n "]);return k=function(){return e},e}function C(){var e=E(["\n margin-bottom: 1em;\n "]);return C=function(){return e},e}function x(){var e=E(["\n margin-top: 0 !important;\n "]);return x=function(){return e},e}function O(e){var t,r,o=e.entry,a=(0,v.A)().styles,i=(0,y.sD)(),E=(0,p.x)(),O=(0,s.useCompile)(),A=(0,s.usePlugin)(d.default),S=function(e){if(Array.isArray(e))return e}(t=l().useState(100))||function(e){var t,r,n=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var o=[],l=!0,a=!1;try{for(n=n.call(e);!(l=(t=n.next()).done)&&(o.push(t.value),2!==o.length);l=!0);}catch(e){a=!0,r=e}finally{try{l||null==n.return||n.return()}finally{if(a)throw r}}return o}}(t)||function(e){if(e){if("string"==typeof e)return w(e,2);var t=Object.prototype.toString.call(e).slice(8,-1);if("Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t)return Array.from(t);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return w(e,2)}}(t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),T=S[0],j=S[1],R=null==E?void 0:E.clipboard,P=R?A.instructions.get(R.type):null,D=R?P?O(P.title):R.type:"";return l().createElement("div",{className:"workflow-canvas-wrapper"},l().createElement(c,{FallbackComponent:s.ErrorFallback,onError:console.error},l().createElement(g.C.Provider,{value:h.bP},l().createElement("div",{className:"workflow-canvas",style:{zoom:T/100}},l().createElement("div",{className:(0,s.cx)(a.branchBlockClass,(0,s.css)(k()))},l().createElement("div",{className:a.branchClass},i?l().createElement(n.Alert,{type:"warning",message:(0,m.vV)("Executed workflow cannot be modified. Could be copied to a new version to modify."),showIcon:!0,className:(0,s.css)(C())}):null,l().createElement(b.Vo,null),l().createElement("div",{className:(0,s.cx)(a.branchBlockClass,(0,s.css)(x()))},l().createElement(f.lg,{entry:o})),l().createElement("div",{className:a.terminalClass},(0,m.vV)("End"))))))),R?l().createElement("div",{className:a.clipboardPreviewClass},l().createElement("div",{className:"workflow-clipboard-header"},l().createElement("span",null,(0,m.vV)("Copied node")),l().createElement(n.Button,{type:"text",size:"small",icon:l().createElement(u.CloseOutlined,null),onClick:function(){var e;return null==E||null==(e=E.clearClipboard)?void 0:e.call(E)}})),l().createElement("div",{className:"workflow-clipboard-card"},l().createElement("div",{className:"workflow-clipboard-type"},D),l().createElement("div",{className:"workflow-clipboard-title"},null!=(r=R.title)?r:R.type))):null,l().createElement("div",{className:"workflow-canvas-zoomer"},l().createElement(n.Slider,{vertical:!0,reverse:!0,defaultValue:100,step:10,min:10,value:T,onChange:j})))}},1110:function(e,t,r){r.r(t),r.d(t,{WorkflowPage:function(){return H}});var n=r(3342),o=r(9155),l=r.n(o),a=r(4442),i=r(6660),c=r(5953),u=r(2059),s=r(7375),d=r(5230),f=r(7768),p=r(2596),m=r(2662),v=r(4421),b=r(7846),y=r(3872),g=r(6481),h=r(6072),w=r(6864),E=r(512),k=r(8201),C=r(7428),x=r(7107),O=r(4562),A=r(5433),S=r(3610),T=r(3312),j=r(404),R=r(2815),P=r(7694),D=r(2448),F=r(2990);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 I(e,t,r,n,o,l,a){try{var i=e[l](a),c=i.value}catch(e){r(e);return}i.done?t(c):Promise.resolve(c).then(n,o)}function N(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var l=e.apply(t,r);function a(e){I(l,n,o,a,i,"next",e)}function i(e){I(l,n,o,a,i,"throw",e)}a(void 0)})}}function B(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){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}function L(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t})(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}),e}function z(e,t){if(null==e)return{};var r,n,o,l={};if("u">typeof Reflect&&Reflect.ownKeys){for(o=0,r=Reflect.ownKeys(Object(e));o<r.length;o++)n=r[o],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(l[n]=e[n]);return l}if(l=function(e,t){if(null==e)return{};var r,n,o={},l=Object.getOwnPropertyNames(e);for(n=0;n<l.length;n++)r=l[n],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r]);return o}(e,t),Object.getOwnPropertySymbols)for(o=0,r=Object.getOwnPropertySymbols(e);o<r.length;o++)n=r[o],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(l[n]=e[n]);return l}function M(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r,n,o=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var l=[],a=!0,i=!1;try{for(o=o.call(e);!(a=(r=o.next()).done)&&(l.push(r.value),!t||l.length!==t);a=!0);}catch(e){i=!0,n=e}finally{try{a||null==o.return||o.return()}finally{if(i)throw n}}return l}}(e,t)||function(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)}}(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 K(e,t){var r,n,o,l={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),i=Object.defineProperty;return i(a,"next",{value:c(0)}),i(a,"throw",{value:c(1)}),i(a,"return",{value:c(2)}),"function"==typeof Symbol&&i(a,Symbol.iterator,{value:function(){return this}}),a;function c(i){return function(c){var u=[i,c];if(r)throw TypeError("Generator is already executing.");for(;a&&(a=0,u[0]&&(l=0)),l;)try{if(r=1,n&&(o=2&u[0]?n.return:u[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,u[1])).done)return o;switch(n=0,o&&(u=[2&u[0],o.value]),u[0]){case 0:case 1:o=u;break;case 4:return l.label++,{value:u[1],done:!1};case 5:l.label++,n=u[1],u=[0];continue;case 7:u=l.ops.pop(),l.trys.pop();continue;default:if(!(o=(o=l.trys).length>0&&o[o.length-1])&&(6===u[0]||2===u[0])){l=0;continue}if(3===u[0]&&(!o||u[1]>o[0]&&u[1]<o[3])){l.label=u[1];break}if(6===u[0]&&l.label<o[1]){l.label=o[1],o=u;break}if(o&&l.label<o[2]){l.label=o[2],l.ops.push(u);break}o[2]&&l.ops.pop(),l.trys.pop();continue}u=t.call(e,l)}catch(e){u=[6,e],n=0}finally{r=o=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}}function U(){var e,t,r=(e=["\n margin-bottom: 1em;\n "],t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}})));return U=function(){return r},r}function W(e){var t,r=e.request,o=(e.filter,z(e,["request","filter"])),a=(0,b.$K)().workflow,i=L(B({},o),{request:L(B({},r),{params:L(B({},null==r?void 0:r.params),{filter:L(B({},null==r||null==(t=r.params)?void 0:t.filter),{key:a.key})})})});return l().createElement(n.ResourceActionProvider,i)}function Y(e){var t=e.data,r=e.option,o=(0,n.useCompile)()(r.label);return l().createElement(c.Trans,{ns:y.CU,values:{statusText:o}},"Workflow executed, the result status is ",l().createElement(u.Tag,{color:r.color},"{{statusText}}"),l().createElement(a.Link,{to:(0,h.mz)(t.id)},"View the execution"))}function q(){var e=(0,b.$K)().workflow,t=(0,d.useForm)(),r=(0,n.useResourceContext)().resource,a=(0,n.useActionContext)(),i=(0,n.useNavigateNoUpdate)(),c=u.App.useApp().message,s=(0,O.sD)(),f=M((0,o.useState)(!1),2),p=f[0],m=f[1];return{loading:p,run:function(){return N(function(){var n,o,u,d;return K(this,function(f){switch(f.label){case 0:m(!0),f.label=1;case 1:return f.trys.push([1,,4,5]),o=(n=t.values).autoRevision,u=z(n,["autoRevision"]),[4,t.submit()];case 2:return f.sent(),[4,r.execute(B({filterByTk:e.id,values:u},!s&&o?{autoRevision:1}:{}))];case 3:return d=f.sent().data.data,t.reset(),a.setFormValueChanged(!1),a.setVisible(!1),null==c||c.open(function(e){if(!e)return{type:"info",content:(0,y.vV)("Workflow was not triggered because the current request did not meet the trigger requirements.")};var t=e.id,r=e.status,n=C.$Y[r];return n?{type:"info",content:l().createElement(Y,{data:{id:t},option:n})}:null}(d.execution)),d.newVersionId&&i((0,h.Yz)(d.newVersionId)),[3,5];case 4:return m(!1),[7];case 5:return[2]}})})()}}}function _(e){var t,r,n=e.children,o=(0,d.useField)(),a=(0,b.$K)().workflow,i=(0,k.s5)(),c=null!=(t=null==i||null==(r=i.validate)?void 0:r.call(i,a.config))&&t,s=i?(0,D.qY)(i):"none",f="";switch(!0){case!i:f=(0,y.vV)("This trigger type is not available in the new canvas yet.");break;case!c:f=(0,y.vV)("The trigger is not configured correctly, please check the trigger configuration.");break;case"none"===s:f=(0,y.vV)("This type of trigger has not been supported to be executed manually.")}return o.setPattern(f?"disabled":"editable"),f?l().createElement(u.Tooltip,{title:f},n):n}function $(){var e,t=(0,b.$K)().workflow,r=(0,P.useFlowEngine)(),o=(0,O.sD)(),a=(0,k.s5)(),i=(0,n.useResourceActionContext)().refresh,c=a?(0,D.qY)(a):"none";if(!a)return l().createElement(u.Tooltip,{title:(0,y.vV)("This trigger type is not available in the new canvas yet.")},l().createElement("span",null,l().createElement(u.Button,{disabled:!0},(0,y.vV)("Execute manually"))));if("modern-loader"===c&&(null==a?void 0:a.TriggerFieldsetLoader)){var s=a.validate(t.config);return l().createElement(u.Tooltip,{title:void 0},l().createElement("span",null,l().createElement(u.Button,{onClick:function(){return(0,F.LZ)({ctx:r.context,workflow:t,trigger:a,TriggerFieldsetLoader:a.TriggerFieldsetLoader,valid:s,refresh:i})}},(0,y.vV)("Execute manually"))))}return l().createElement(b.AA.Provider,{value:t},l().createElement(x.Ws.Provider,{value:!0},l().createElement(n.SchemaComponent,{components:B({Alert:u.Alert,Fieldset:w.L,ActionDisabledProvider:_},a.components),scope:B({useCancelAction:n.useCancelAction,useExecuteConfirmAction:q},a.scope),schema:{name:"trigger-modal-".concat(t.type,"-").concat(t.id),type:"void","x-decorator":"ActionDisabledProvider","x-component":"Action","x-component-props":{openSize:"small"},title:"{{t('Execute manually', { ns: \"".concat(y.CU,'" })}}'),properties:{drawer:{type:"void","x-decorator":"FormV2","x-component":"Action.Modal",title:"{{t('Execute manually', { ns: \"".concat(y.CU,'" })}}'),properties:L(B(L(B({},Object.keys(null!=(e=a.triggerFieldset)?e:{}).length?{alert:{type:"void","x-component":"Alert","x-component-props":{message:"{{t('Trigger variables need to be filled for executing.', { ns: \"".concat(y.CU,'" })}}'),className:(0,n.css)(U())}}}:{description:{type:"void","x-component":"p","x-content":"{{t('This will perform all the actions configured in the workflow. Are you sure you want to continue?', { ns: \"".concat(y.CU,'" })}}')}}),{fieldset:{type:"void","x-decorator":"FormItem","x-component":"Fieldset",title:"{{t('Trigger variables', { ns: \"".concat(y.CU,'" })}}'),properties:a.triggerFieldset}}),o?{}:{autoRevision:{type:"boolean","x-decorator":"FormItem","x-component":"Checkbox","x-content":"{{t('Automatically create a new version after execution', { ns: \"".concat(y.CU,'" })}}'),default:!0}}),{footer:{type:"void","x-component":"Action.Modal.Footer",properties:{cancel:{type:"void",title:"{{t('Cancel')}}","x-component":"Action","x-component-props":{useAction:"{{useCancelAction}}"}},submit:{type:"void",title:"{{t('Confirm')}}","x-component":"Action","x-component-props":{type:"primary",useAction:"{{useExecuteConfirmAction}}"}}}}})}}}})))}function G(){var e=(0,b.$K)(),t=e.workflow,r=e.revisions,d=void 0===r?[]:r,p=M((0,o.useState)(!1),2),w=p[0],k=p[1],x=M((0,o.useState)(!1),2),A=x[0],S=x[1],T=M((0,o.useState)(""),2),j=T[0],P=T[1],D=(0,a.useNavigate)(),F=(0,c.useTranslation)().t,V=u.App.useApp().modal,I=(0,n.useApp)(),B=(0,n.useResourceContext)().resource,L=(0,n.useResourceActionContext)().refresh,z=u.App.useApp().message,U=(0,i.A)().styles,Y=(0,O.Eh)(),q=(0,o.useCallback)(function(){return N(function(){var e;return K(this,function(r){switch(r.label){case 0:return[4,B.revision({filterByTk:t.id,filter:{key:t.key}})];case 1:return e=r.sent().data.data,z.success(F("Operation succeeded")),D((0,h.Yz)(e.id)),[2]}})})()},[B,t.id,t.key,z,F,D]),_=(0,o.useCallback)(function(){return N(function(){var e;return K(this,function(r){return e=t.current?(0,y.vV)("This is a main version, delete it will cause the whole workflow to be deleted (including all other revisions)."):(0,y.vV)("Current version will be deleted (without affecting other versions)."),V.confirm({title:F("Are you sure you want to delete it?"),content:e,onOk:function(){return N(function(){var e,r,n,o;return K(this,function(l){switch(l.label){case 0:return[4,B.destroy({filterByTk:t.id})];case 1:if(l.sent(),z.success(F("Operation succeeded")),e=I.pluginSettingsManager.getRoutePath("workflow"),t.current)return[2,D(e)];return d.length&&D((0,h.Yz)(null==(r=d.find(function(e){return e.current}))?void 0:r.id)),[4,B.list({filter:{key:t.key,current:!0},fields:["id"],pageSize:1})];case 2:if(200!==(n=l.sent()).status)return[2];if(!(o=M(n.data.data,1)[0]))return[2,D(e)];return[2,D((0,h.Yz)(o.id))]}})})()}}),[2]})})()},[t,V,F,B,z,D,I.pluginSettingsManager,d]),$=(0,o.useCallback)(function(e){switch(e.key){case"details":S(!0);return;case"refresh":L();return;case"history":k(!0);return;case"revision":return q();case"delete":return _()}},[_,q,L]),G=(0,o.useCallback)(function(e){return(null==e?void 0:e.nickname)||(null==e?void 0:e.username)||(null==e?void 0:e.email)||(null==e?void 0:e.id)||"-"},[]),Q=(0,o.useCallback)(function(e){return e?(0,f.dayjs)(e).format("YYYY-MM-DD HH:mm:ss"):"-"},[]);(0,o.useEffect)(function(){if(A){var e;P(null!=(e=t.description)?e:"")}},[A,t.description]);var J=(0,o.useCallback)(function(e){P(e.target.value)},[]),H=(0,o.useCallback)(function(e){return N(function(){var r,n;return K(this,function(o){switch(o.label){case 0:if((n=e.target.value)===(null!=(r=t.description)?r:""))return[2];return[4,B.update({filterByTk:t.id,values:{description:n}})];case 1:return o.sent(),L(),[2]}})})()},[L,B,t.description,t.id]);return l().createElement(l().Fragment,null,l().createElement(u.Dropdown,{menu:{items:[{role:"button","aria-label":"details",key:"details",label:F("Details")},{type:"divider"},{role:"button","aria-label":"refresh",key:"refresh",label:F("Refresh")},{role:"button","aria-label":"history",key:"history",label:(0,y.vV)("Execution history"),disabled:!Y},{role:"button","aria-label":"revision",key:"revision",label:(0,y.vV)("Copy to new version")},{type:"divider"},{role:"button","aria-label":"delete",danger:!0,key:"delete",label:F("Delete")}],onClick:$}},l().createElement(u.Button,{"aria-label":"more",type:"text",icon:l().createElement(s.EllipsisOutlined,null)})),l().createElement(u.Modal,{open:A,title:F("Details"),width:640,footer:null,onCancel:function(){return S(!1)}},l().createElement(u.Descriptions,{bordered:!0,column:2,size:"small"},l().createElement(u.Descriptions.Item,{label:"Key",span:2},t.key||"-"),l().createElement(u.Descriptions.Item,{label:F("Created by")},G(t.createdBy)),l().createElement(u.Descriptions.Item,{label:F("Created at")},Q(t.createdAt)),l().createElement(u.Descriptions.Item,{label:F("Last updated by")},G(t.updatedBy)),l().createElement(u.Descriptions.Item,{label:F("Last updated at")},Q(t.updatedAt)),l().createElement(u.Descriptions.Item,{label:F("Description"),span:2},l().createElement(u.Input.TextArea,{"aria-label":F("Description"),value:j,onChange:J,onBlur:H,placeholder:"-",className:U.workflowDetailsDescriptionClass,autoSize:{minRows:3,maxRows:8}})))),l().createElement(n.ActionContextProvider,{value:{visible:w,setVisible:k}},l().createElement(n.SchemaComponent,{schema:g.M,components:{ExecutionResourceProvider:W,ExecutionLink:v.d,ExecutionStatusColumn:m.t_},scope:{useRefreshActionProps:E.t,useResourceFilterActionProps:R.A,ExecutionStatusOptions:C.$A}})))}function Q(){var e,t=(0,i.A)().styles,r=(0,a.useNavigate)(),c=(0,b.$K)().workflow,d=(0,o.useCallback)(function(e){var t=e.key;t!=c.id&&r((0,h.Yz)(t))},[c.id,r]),p=(0,n.useRequest)({resource:"workflows",action:"list",params:{filter:{key:c.key},fields:["id","createdAt","current","enabled","versionStats.executed"],sort:"-id",paginate:!1}},{refreshDeps:[c.id],manual:!0}),m=p.data,v=p.run,g=(0,o.useCallback)(function(e){e&&v()},[v]),w=null!=(e=null==m?void 0:m.data)?e:[];return l().createElement(u.Dropdown,{className:"workflow-versions",trigger:["click"],onOpenChange:g,menu:{onClick:d,defaultSelectedKeys:["".concat(c.id)],className:(0,n.cx)(t.dropdownClass,t.workflowVersionDropdownClass),items:w.sort(function(e,t){return t.id-e.id}).map(function(e,t){return{role:"button","aria-label":"version-".concat(t),key:"".concat(e.id),icon:e.current?l().createElement(s.RightOutlined,null):null,className:(0,n.cx)({executed:e.versionStats.executed>0,unexecuted:0==e.versionStats.executed,enabled:e.enabled}),label:l().createElement(l().Fragment,null,l().createElement("strong",null,"#".concat(e.id)),l().createElement("time",null,(0,f.dayjs)(e.createdAt).fromNow()))}})}},l().createElement(u.Button,{type:"text","aria-label":"version"},l().createElement("label",null,(0,y.vV)("Version")),l().createElement("span",null,(null==c?void 0:c.id)?"#".concat(c.id):null),l().createElement(s.DownOutlined,null)))}function J(){var e,t,r,i=(0,a.useNavigate)(),c=(0,n.useApp)(),s=(0,n.useResourceActionContext)(),d=s.data,f=s.refresh,m=s.loading,v=(0,n.useResourceContext)().resource,g=(0,n.useDocumentTitle)().setTitle,w=M((0,o.useState)(null!=(e=null==d||null==(r=d.data)?void 0:r.enabled)&&e),2),E=w[0],k=w[1],C=M((0,o.useState)(!1),2),x=C[0],O=C[1],R=null!=(t=null==d?void 0:d.data)?t:{},P=R.nodes,D=void 0===P?[]:P,F=z(R,["nodes"]);(0,h.KD)(D),(0,o.useEffect)(function(){var e,t=null!=(e=null==d?void 0:d.data)?e:{},r=t.title,n=t.enabled;null==g||g("".concat((0,y.vV)("Workflow")).concat(r?": ".concat(r):"")),k(n)},[null==d?void 0:d.data,g]);var V=(0,o.useCallback)(function(e){return N(function(){return K(this,function(t){switch(t.label){case 0:return O(!0),[4,v.update({filterByTk:F.id,values:{enabled:e}})];case 1:return t.sent(),O(!1),k(e),[2]}})})()},[v,F.id]);if(!(null==d?void 0:d.data))return m?l().createElement(u.Spin,null):l().createElement(u.Result,{status:"404",title:"Not found",extra:l().createElement(u.Button,{onClick:function(){return i(-1)}},(0,y.vV)("Go back"))});var I=D.find(function(e){return!e.upstream});return l().createElement(b.cB.Provider,{value:{workflow:F,nodes:D,refresh:f}},l().createElement("div",{className:"workflow-toolbar"},l().createElement("header",null,l().createElement(u.Breadcrumb,{items:[{title:l().createElement(a.Link,{to:c.pluginSettingsManager.getRoutePath("workflow")},(0,y.vV)("Workflow"))},{title:l().createElement(u.Tooltip,{title:"Key: ".concat(F.key)},l().createElement("strong",null,F.title))}]}),F.sync?l().createElement(u.Tag,{color:"orange"},(0,y.vV)("Synchronously")):l().createElement(u.Tag,{color:"cyan"},(0,y.vV)("Asynchronously"))),l().createElement("aside",null,l().createElement($,null),l().createElement(Q,null),l().createElement(u.Switch,{checked:E,onChange:V,checkedChildren:(0,y.vV)("On"),unCheckedChildren:(0,y.vV)("Off"),loading:x}),l().createElement(G,null))),l().createElement(A.y,null,l().createElement(S.J,null,l().createElement(T.bI,null,l().createElement(j.L,null,l().createElement(p.i,{entry:I}))))))}var H=function(){var e,t,r,o=(0,a.useParams)(),c=(0,i.A)().styles;return l().createElement("div",{className:(0,n.cx)(c.workflowPageClass)},l().createElement(n.SchemaComponent,{schema:{type:"void",properties:(e={},t="provider_".concat(o.id),r={type:"void","x-decorator":"ResourceActionProvider","x-decorator-props":{collection:{name:"workflows",fields:[]},resourceName:"workflows",request:{resource:"workflows",action:"get",params:{filter:{id:o.id},appends:["nodes","stats.executed","versionStats.executed","createdBy","updatedBy"]}}},"x-component":"WorkflowCanvas"},t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e)},components:{WorkflowCanvas:J}}))}},7001:function(e,t,r){r.d(t,{TD:function(){return i}});var n=r(2625),o=r(3485),l=r(8401);function a(){return"modern"===(0,o.getRouteRuntimeVersion)()}function i(){var e=(0,n.useMemoizedFn)(function(e){return a()?(0,l.JG)(e):"/admin/settings/workflow/workflows/".concat(e)}),t=(0,n.useMemoizedFn)(function(e){return a()?(0,l.Pq)(e):"/admin/settings/workflow/executions/".concat(e)});return{isV2Runtime:a(),getWorkflowCanvasPath:e,getWorkflowExecutionPath:t}}},9239:function(e,t,r){r.d(t,{GO:function(){return l},QQ:function(){return c},hi:function(){return a},m2:function(){return i}});var n=r(358);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var l={QUEUEING:null,STARTED:0,RESOLVED:1,FAILED:-1,ERROR:-2,ABORTED:-3,CANCELED:-4,REJECTED:-5,RETRY_NEEDED:-6},a=[{value:l.QUEUEING,label:'{{t("Queueing", { ns: "'.concat(n.C,'" })}}'),color:"blue",description:'{{t("Triggered but still waiting in queue to execute.", { ns: "'.concat(n.C,'" })}}')},{value:l.STARTED,label:'{{t("On going", { ns: "'.concat(n.C,'" })}}'),color:"gold",description:'{{t("Started and executing, maybe waiting for an async callback (manual, delay etc.).", { ns: "'.concat(n.C,'" })}}')},{value:l.RESOLVED,label:'{{t("Resolved", { ns: "'.concat(n.C,'" })}}'),color:"green",description:'{{t("Successfully finished.", { ns: "'.concat(n.C,'" })}}')},{value:l.FAILED,label:'{{t("Failed", { ns: "'.concat(n.C,'" })}}'),color:"red",description:'{{t("Failed to satisfy node configurations.", { ns: "'.concat(n.C,'" })}}')},{value:l.ERROR,label:'{{t("Error", { ns: "'.concat(n.C,'" })}}'),color:"red",description:'{{t("Some node meets error.", { ns: "'.concat(n.C,'" })}}')},{value:l.ABORTED,label:'{{t("Aborted", { ns: "'.concat(n.C,'" })}}'),color:"red",description:'{{t("Running of some node was aborted by program flow.", { ns: "'.concat(n.C,'" })}}')},{value:l.CANCELED,label:'{{t("Canceled", { ns: "'.concat(n.C,'" })}}'),color:"volcano",description:'{{t("Manually canceled whole execution when waiting.", { ns: "'.concat(n.C,'" })}}')},{value:l.REJECTED,label:'{{t("Rejected", { ns: "'.concat(n.C,'" })}}'),color:"volcano",description:'{{t("Rejected from a manual node.", { ns: "'.concat(n.C,'" })}}')},{value:l.RETRY_NEEDED,label:'{{t("Retry needed", { ns: "'.concat(n.C,'" })}}'),color:"volcano",description:'{{t("General failed but should do another try.", { ns: "'.concat(n.C,'" })}}')}],i=a.reduce(function(e,t){return Object.assign(e,o({},t.value,t))},{}),c=[{value:n.K.TIMEOUT,label:'{{t("Timed out", { ns: "'.concat(n.C,'" })}}')},{value:n.K.MANUAL_CANCEL,label:'{{t("Canceled manually", { ns: "'.concat(n.C,'" })}}')},{value:n.K.PARENT_ABORTED,label:'{{t("Aborted with parent execution", { ns: "'.concat(n.C,'" })}}')}].reduce(function(e,t){return Object.assign(e,o({},t.value,t))},{})}}]);
|
|
@@ -5,7 +5,7 @@ export interface TaskTypeOptions {
|
|
|
5
5
|
title: string;
|
|
6
6
|
collection: string;
|
|
7
7
|
action?: string;
|
|
8
|
-
useActionParams:
|
|
8
|
+
useActionParams: (status: string, workflowKey?: string) => Record<string, unknown>;
|
|
9
9
|
Actions?: React.ComponentType;
|
|
10
10
|
Item: React.ComponentType;
|
|
11
11
|
Detail: React.ComponentType;
|
|
@@ -14,15 +14,38 @@ export interface TaskTypeOptions {
|
|
|
14
14
|
}) => Promise<any>;
|
|
15
15
|
alwaysShow?: boolean;
|
|
16
16
|
}
|
|
17
|
-
type
|
|
17
|
+
type TaskStats = {
|
|
18
18
|
pending: number;
|
|
19
19
|
all: number;
|
|
20
|
-
}
|
|
20
|
+
};
|
|
21
|
+
type Stats = Record<string, TaskStats>;
|
|
22
|
+
type WorkflowTaskStatsItem = {
|
|
23
|
+
workflowKey: string;
|
|
24
|
+
title: string;
|
|
25
|
+
stats: {
|
|
26
|
+
pending: number;
|
|
27
|
+
all: number;
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
type WorkflowTaskFilterContextValue = {
|
|
31
|
+
selectedWorkflow: WorkflowTaskStatsItem | null;
|
|
32
|
+
selectWorkflow: (workflow: WorkflowTaskStatsItem | null) => void;
|
|
33
|
+
workflows: WorkflowTaskStatsItem[];
|
|
34
|
+
loading: boolean;
|
|
35
|
+
loadingMore: boolean;
|
|
36
|
+
hasNext: boolean;
|
|
37
|
+
error: boolean;
|
|
38
|
+
search: string;
|
|
39
|
+
setSearch: (search: string) => void;
|
|
40
|
+
loadMore: () => void;
|
|
41
|
+
reload: () => void;
|
|
42
|
+
};
|
|
21
43
|
export declare function useTasksCountsContext(): {
|
|
22
44
|
reload: () => void;
|
|
23
45
|
counts: Stats;
|
|
24
46
|
total: number;
|
|
25
47
|
};
|
|
48
|
+
export declare function useWorkflowTaskFilterContext(): WorkflowTaskFilterContextValue;
|
|
26
49
|
export declare function usePopupRecordContext(): any;
|
|
27
50
|
export declare function WorkflowTasks(): React.JSX.Element;
|
|
28
51
|
export declare function TasksCountsProvider(props: any): React.JSX.Element;
|
package/dist/client/index.d.ts
CHANGED
|
@@ -59,6 +59,6 @@ export { default as useStyles } from './style';
|
|
|
59
59
|
export { Trigger, useTrigger } from './triggers';
|
|
60
60
|
export * from './utils';
|
|
61
61
|
export * from './variable';
|
|
62
|
-
export { usePopupRecordContext, useTasksCountsContext } from './WorkflowTasks';
|
|
62
|
+
export { usePopupRecordContext, useTasksCountsContext, useWorkflowTaskFilterContext } from './WorkflowTasks';
|
|
63
63
|
export { createTriggerWorkflowsSchema } from './flows/triggerWorkflows';
|
|
64
64
|
export { NodeDetailsModel, NodeValueModel };
|