@nocobase/plugin-workflow 2.2.0-alpha.5 → 2.2.0-alpha.7
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/{509.0504f44820a39d45.js → 509.e8d543f308a5823c.js} +1 -1
- package/dist/client/54.d81b710f7b4c1cd5.js +10 -0
- package/dist/client/635.ff6085589e23d39b.js +10 -0
- package/dist/client/728.711fd4f1ed7d4e6a.js +10 -0
- package/dist/client/782.e058403fcb6b1750.js +10 -0
- package/dist/client/index.js +1 -1
- package/dist/client-v2/387.fd0a379e808b069f.js +10 -0
- package/dist/client-v2/54.d3daf06e53092726.js +10 -0
- package/dist/client-v2/635.20680bb5710698d0.js +10 -0
- package/dist/client-v2/677.a8c841cd3c3a6f7d.js +10 -0
- package/dist/client-v2/728.4e8322ff8fce87b9.js +10 -0
- package/dist/client-v2/canvas/Instruction.d.ts +5 -5
- package/dist/client-v2/canvas/Node.d.ts +6 -4
- package/dist/client-v2/components/TestRunButton.d.ts +1 -1
- package/dist/client-v2/components/collection/AssignedFieldsEditor.d.ts +2 -1
- package/dist/client-v2/constants.d.ts +5 -0
- package/dist/client-v2/index.d.ts +3 -0
- package/dist/client-v2/index.js +1 -1
- package/dist/client-v2/models/WorkflowTasksTopbarActionModel.d.ts +18 -0
- package/dist/client-v2/models/index.d.ts +1 -0
- package/dist/client-v2/pages/WorkflowTasksPage.d.ts +10 -0
- package/dist/client-v2/plugin.d.ts +52 -0
- package/dist/client-v2/taskCenter.d.ts +105 -0
- package/dist/client-v2/triggers/index.d.ts +3 -1
- package/dist/common/collections/workflows.d.ts +18 -0
- package/dist/common/collections/workflows.js +5 -0
- package/dist/externalVersion.js +13 -13
- 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.js +2 -1
- package/dist/server/ExecutionTimeoutManager.js +2 -1
- package/dist/server/actions/workflows.d.ts +1 -0
- package/dist/server/actions/workflows.js +5 -0
- package/dist/server/types/Workflow.d.ts +1 -0
- package/package.json +2 -2
- package/dist/client/54.d3d5d9f2f2115201.js +0 -10
- package/dist/client/635.42814cddec653cdd.js +0 -10
- package/dist/client/782.e0f0d84dd5cfac2a.js +0 -10
- package/dist/client-v2/387.eae325172ba209e5.js +0 -10
- package/dist/client-v2/54.287764bc467d65da.js +0 -10
- package/dist/client-v2/635.d14f99a9520d336b.js +0 -10
- package/dist/client-v2/677.d3294a45cd038c72.js +0 -10
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is part of the NocoBase (R) project.
|
|
3
|
+
* Copyright (c) 2020-2024 NocoBase Co., Ltd.
|
|
4
|
+
* Authors: NocoBase Team.
|
|
5
|
+
*
|
|
6
|
+
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
|
|
7
|
+
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
"use strict";(self.webpackChunk_nocobase_plugin_workflow_client_v2=self.webpackChunk_nocobase_plugin_workflow_client_v2||[]).push([["387"],{2034:function(e,t,n){n.d(t,{i:function(){return M}});var r=n(9155),o=n.n(r),l=n(2059),a=n(7375),i=n(5477),c=n(7694),u=n(5980),s=n(9651),f=n(2235),m=n(3052),d=n(9488),p=n(4759),g=n(2625),v=n(3485),y=n(2404);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){var t,n,r,i=e.triggerTitle,c=(0,d.kj)(),s=null!=(n=(0,f.$K)())?n:{},m=s.execution,p=s.workflow,g=function(e){if(Array.isArray(e))return e}(t=o().useState(!1))||function(e){var t,n,r=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var o=[],l=!0,a=!1;try{for(r=r.call(e);!(l=(t=r.next()).done)&&(o.push(t.value),2!==o.length);l=!0);}catch(e){a=!0,n=e}finally{try{l||null==r.return||r.return()}finally{if(a)throw n}}return o}}(t)||function(e){if(e){if("string"==typeof e)return b(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 b(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.")}(),v=g[0],w=g[1],E=(0,u.A)().styles;return m?o().createElement(o().Fragment,null,o().createElement(l.Tooltip,{title:c("View result")},o().createElement(l.Button,{type:"primary",shape:"circle",size:"small",icon:o().createElement(a.InfoOutlined,null),className:E.nodeJobButtonClass,onClick:function(e){e.stopPropagation(),w(!0)},onMouseDown:function(e){return e.stopPropagation()}})),o().createElement(l.Modal,{open:v,onCancel:function(){return w(!1)},width:980,footer:null,title:o().createElement("div",{className:E.nodeTitleClass},o().createElement(l.Tag,null,i),o().createElement("strong",null,null==p?void 0:p.title)),destroyOnClose:!0,modalRender:function(e){return o().createElement("div",{onClick:function(e){return e.stopPropagation()},onMouseDown:function(e){return e.stopPropagation()}},e)}},o().createElement("div",{style:{marginBottom:16}},o().createElement("div",{style:{fontWeight:500,marginBottom:8}},c("Triggered at"),":"),o().createElement("div",null,(0,y.fU)(null==m?void 0:m.createdAt))),o().createElement("div",{style:{fontWeight:500,marginBottom:8}},c("Trigger variables"),":"),o().createElement(l.Input.TextArea,{value:JSON.stringify(null!=(r=null==m?void 0:m.context)?r:null,null,2),disabled:!0,autoSize:{minRows:4,maxRows:20},className:E.nodeJobResultClass,style:{whiteSpace:"pre",fontFamily:"monospace",fontSize:"80%"}}))):null}function E(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 h(e,t,n,r,o,l,a){try{var i=e[l](a),c=i.value}catch(e){n(e);return}i.done?t(c):Promise.resolve(c).then(r,o)}function C(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var l=e.apply(t,n);function a(e){h(l,r,o,a,i,"next",e)}function i(e){h(l,r,o,a,i,"throw",e)}a(void 0)})}}function k(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){var r;r=n[t],t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r})}return e}function S(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 n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t})(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}function T(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,o=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var l=[],a=!0,i=!1;try{for(o=o.call(e);!(a=(n=o.next()).done)&&(l.push(n.value),!t||l.length!==t);a=!0);}catch(e){i=!0,r=e}finally{try{a||null==o.return||o.return()}finally{if(i)throw r}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return E(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 E(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 O(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function A(e,t){var n,r,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(n)throw TypeError("Generator is already executing.");for(;a&&(a=0,u[0]&&(l=0)),l;)try{if(n=1,r&&(o=2&u[0]?r.return:u[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,u[1])).done)return o;switch(r=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++,r=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],r=0}finally{n=o=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}}function x(){var e=O(["\n margin-bottom: ","px;\n padding: ","px;\n background-color: ",";\n\n > *:last-child {\n margin-bottom: 0;\n }\n\n dl {\n display: flex;\n align-items: baseline;\n margin: 0;\n }\n\n dt {\n color: ",";\n }\n\n dt::after {\n content: ':';\n margin-right: ","px;\n }\n\n dd {\n margin: 0;\n }\n\n p {\n margin-top: ","px;\n color: ",";\n }\n "]);return x=function(){return e},e}function j(){var e=O(["\n .ant-form-item {\n margin-bottom: ","px;\n }\n\n .ant-form-item-extra {\n margin-top: ","px;\n }\n "]);return j=function(){return e},e}function N(e){var t=e.trigger,n=e.t,r=l.theme.useToken().token;if(!t.description)return null;var a=(0,i.css)(x(),r.marginLG,r.padding,r.colorFillAlter,r.colorText,r.marginXS,r.marginSM,r.colorTextDescription);return o().createElement("div",{className:a},o().createElement("dl",null,o().createElement("dt",null,n("Trigger type")),o().createElement("dd",null,o().createElement(l.Tag,null,n(t.title)))),o().createElement("p",null,n(t.description)))}function R(e){var t,n=e.trigger,a=e.workflow,u=e.onSubmitted,s=(0,c.useFlowContext)(),m=(0,d.kj)(),p=l.theme.useToken().token,y=l.App.useApp().message,b=!!(null==a||null==(t=a.versionStats)?void 0:t.executed),w=T(l.Form.useForm(),1)[0],E=T((0,r.useState)(!1),2),h=E[0],k=E[1],S=(0,r.useMemo)(function(){return(null==n?void 0:n.FieldsetLoader)?(0,r.lazy)(n.FieldsetLoader):null},[n]),O=(0,r.useMemo)(function(){var e;return{config:null!=(e=a.config)?e:{}}},[a.config]);(0,r.useEffect)(function(){w.setFieldsValue(O)},[w,O]);var x=(0,g.useMemoizedFn)(function(){return C(function(){var e,t,n;return A(this,function(r){switch(r.label){case 0:return[4,w.validateFields()];case 1:e=r.sent(),k(!0),r.label=2;case 2:return r.trys.push([2,4,5,6]),[4,s.api.resource("workflows").update({filterByTk:a.id,values:{config:null!=(t=e.config)?t:{}}})];case 3:return r.sent(),null==u||u(),[3,6];case 4:throw n=r.sent(),y.error(m("Failed to save trigger")),console.error(n),n;case 5:return k(!1),[7];case 6:return[2]}})})()}),R=(0,i.css)(j(),p.margin,p.marginXXS);return o().createElement(f.AA.Provider,{value:a},o().createElement(v.DrawerFormLayout,{title:m("Trigger"),onSubmit:x,submitting:h,submitText:m("Submit"),cancelText:m("Cancel"),footer:b?o().createElement("span",null):void 0},o().createElement("div",{style:{paddingBottom:48}},o().createElement(l.Form,{className:R,form:w,layout:"vertical",disabled:b,requiredMark:function(e,t){return t.required?o().createElement(o().Fragment,null,o().createElement("span",{style:{color:p.colorError}},"*"),e):e}},n?o().createElement(N,{trigger:n,t:m}):null,S?o().createElement(r.Suspense,{fallback:o().createElement(l.Skeleton,{active:!0,paragraph:{rows:4}})},o().createElement(S,null)):o().createElement(l.Typography.Paragraph,{type:"secondary"},n?m("This trigger's configuration has not been migrated to the new canvas yet."):m("This trigger type is not available in the new canvas yet."))))))}function I(e){var t=e.message,n=e.token;return o().createElement("span",{style:{fontSize:n.fontSize,fontWeight:"normal",lineHeight:n.lineHeight}},t)}function F(){var e,t,n=(0,c.useFlowContext)(),i=(0,d.kj)(),s=l.theme.useToken().token,m=(0,u.A)(),v=m.styles,y=m.cx,b=null!=(e=(0,f.$K)())?e:{},E=b.workflow,h=b.refresh,O=!!(0,f.S8)(),x=n.app.pm.get(p.q),j=(null==E?void 0:E.type)?x.getTriggerOptions(E.type):void 0,N=j?i(j.title):null!=(t=null==E?void 0:E.type)?t:i("Unknown trigger"),F=O?[]:x.getWorkflowNotices({surface:"trigger-node-card",workflow:E}),P=T((0,r.useState)(""),2),D=P[0],M=P[1];(0,r.useEffect)(function(){var e,t;M(null!=(e=null!=(t=null==E?void 0:E.triggerTitle)?t:null==E?void 0:E.title)?e:N)},[N,null==E?void 0:E.title,null==E?void 0:E.triggerTitle]);var z=(0,g.useMemoizedFn)(function(e){return C(function(){var t;return A(this,function(r){switch(r.label){case 0:if(!(null==E?void 0:E.id)||(M(t=e||N),t===E.triggerTitle))return[2];return[4,n.api.resource("workflows").update({filterByTk:E.id,values:{triggerTitle:t}})];case 1:return r.sent(),null==h||h(),[2]}})})()}),B=(0,g.useMemoizedFn)(function(){if(null==E?void 0:E.id){var e;(e={ctx:n,trigger:j,workflow:E,refresh:h}).ctx.viewer.drawer({width:"50%",closable:!0,content:function(){return o().createElement(R,{trigger:e.trigger,workflow:e.workflow,onSubmitted:e.refresh})}})}});if(!E)return null;var _=i("Trigger");return o().createElement("div",{className:v.nodeClass,role:"button","aria-label":"".concat(_,"-").concat(D),onClick:function(e){if(e.currentTarget.contains(e.target)){var t,n,r;n=t=e.target,(null!=(r=HTMLElement)&&"u">typeof Symbol&&r[Symbol.hasInstance]?!!r[Symbol.hasInstance](n):n instanceof r)&&t.closest("textarea, input, button, a, .ant-dropdown, .workflow-node-actions, .ant-modal")||B()}}},o().createElement("div",{className:y(v.nodeCardClass,{invalid:!j})},o().createElement("div",{className:v.nodeHeaderClass},o().createElement("div",{className:y(v.nodeMetaClass,"workflow-node-meta")},o().createElement(l.Tooltip,{title:(null==j?void 0:j.description)?i(j.description):void 0},o().createElement(l.Tag,{color:j?"gold":"error",icon:o().createElement(a.ThunderboltOutlined,null)},o().createElement("span",{className:"type"},N)))),o().createElement("div",{className:"workflow-node-actions"},o().createElement(w,{triggerTitle:N}))),o().createElement("div",{className:"workflow-node-title"},o().createElement(l.Input.TextArea,{value:D,onChange:function(e){return M(e.target.value)},onBlur:function(e){return C(function(){return A(this,function(t){switch(t.label){case 0:return[4,z(e.target.value)];case 1:return t.sent(),[2]}})})()},autoSize:!0,disabled:O,"aria-label":i("Trigger title")})),F.map(function(e){return o().createElement(l.Alert,{key:e.key,type:e.type||"warning",showIcon:!0,icon:function(e,t){var n={fontSize:t.fontSize,marginTop:t.marginXXS};switch(e){case"error":return o().createElement(a.CloseCircleFilled,{style:S(k({},n),{color:t.colorError})});case"info":return o().createElement(a.InfoCircleFilled,{style:S(k({},n),{color:t.colorInfo})});case"success":return o().createElement(a.CheckCircleFilled,{style:S(k({},n),{color:t.colorSuccess})});default:return o().createElement(a.ExclamationCircleFilled,{style:S(k({},n),{color:t.colorWarning})})}}(e.type||"warning",s),message:o().createElement(I,{message:e.message,token:s}),style:{marginTop:s.marginSM,alignItems:"flex-start"}})})))}function P(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 D(){var e,t=(0,u.A)().styles,n=(0,d.kj)(),r=(0,c.useFlowEngine)(),i=(0,m.x)(),s=null==i?void 0:i.clipboard;if(!s)return null;var f=r.context.app.pm.get(p.q),g=null==f?void 0:f.getInstruction(s.type),v=g?n(g.title):s.type;return o().createElement("div",{className:t.clipboardPreviewClass},o().createElement("div",{className:"workflow-clipboard-header"},o().createElement("span",null,n("Copied node")),o().createElement(l.Button,{type:"text",size:"small",icon:o().createElement(a.CloseOutlined,null),onClick:function(){return null==i?void 0:i.clearClipboard()}})),o().createElement("div",{className:"workflow-clipboard-card"},o().createElement("div",{className:"workflow-clipboard-type"},v),o().createElement("div",{className:"workflow-clipboard-title"},null!=(e=s.title)?e:s.type)))}function M(e){var t,n,a=e.entry,c=(0,u.A)(),m=c.styles,p=c.cx,g=(0,d.kj)(),v=(0,f.S8)();(null!=(n=(0,f.$K)())?n:{}).workflow;var y=function(e){if(Array.isArray(e))return e}(t=(0,r.useState)(100))||function(e){var t,n,r=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var o=[],l=!0,a=!1;try{for(r=r.call(e);!(l=(t=r.next()).done)&&(o.push(t.value),2!==o.length);l=!0);}catch(e){a=!0,n=e}finally{try{l||null==r.return||r.return()}finally{if(a)throw n}}return o}}(t)||function(e){if(e){if("string"==typeof e)return P(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 P(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.")}(),b=y[0],w=y[1];return o().createElement("div",{className:p(m.workflowPageClass,(0,i.css)({height:"100%"}))},o().createElement("div",{className:"workflow-canvas-wrapper"},o().createElement("div",{className:"workflow-canvas",style:{zoom:b/100}},o().createElement("div",{className:p(m.branchBlockClass,(0,i.css)({marginTop:"0 !important"}))},o().createElement("div",{className:m.branchClass},v?o().createElement(l.Alert,{type:"warning",showIcon:!0,message:g("Executed workflow cannot be modified. Could be copied to a new version to modify."),style:{marginBottom:"1em"}}):null,o().createElement(F,null),o().createElement("div",{className:p(m.branchBlockClass,(0,i.css)({marginTop:"0 !important"}))},o().createElement(s.l,{entry:a})),o().createElement("div",{className:m.terminalClass},g("End"))))),o().createElement(D,null),o().createElement("div",{className:"workflow-canvas-zoomer"},o().createElement(l.Slider,{vertical:!0,reverse:!0,defaultValue:100,step:10,min:10,value:b,onChange:w}))))}},8761:function(e,t,n){n.d(t,{K:function(){return r}});function r(e){var t=new Map;e.forEach(function(e){return t.set(e.id,e)});var n=!0,r=!1,o=void 0;try{for(var l,a=t.values()[Symbol.iterator]();!(n=(l=a.next()).done);n=!0){var i=l.value;i.upstreamId&&(i.upstream=t.get(i.upstreamId)),i.downstreamId&&(i.downstream=t.get(i.downstreamId))}}catch(e){r=!0,o=e}finally{try{n||null==a.return||a.return()}finally{if(r)throw o}}}},7001:function(e,t,n){n.d(t,{TD:function(){return i}});var r=n(2625),o=n(3485),l=n(8401);function a(){return"modern"===(0,o.getRouteRuntimeVersion)()}function i(){var e=(0,r.useMemoizedFn)(function(e){return a()?(0,l.JG)(e):"/admin/settings/workflow/workflows/".concat(e)}),t=(0,r.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,n){n.d(t,{GO:function(){return l},QQ:function(){return c},hi:function(){return a},m2:function(){return i}});var r=n(358);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,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(r.C,'" })}}'),color:"blue",description:'{{t("Triggered but still waiting in queue to execute.", { ns: "'.concat(r.C,'" })}}')},{value:l.STARTED,label:'{{t("On going", { ns: "'.concat(r.C,'" })}}'),color:"gold",description:'{{t("Started and executing, maybe waiting for an async callback (manual, delay etc.).", { ns: "'.concat(r.C,'" })}}')},{value:l.RESOLVED,label:'{{t("Resolved", { ns: "'.concat(r.C,'" })}}'),color:"green",description:'{{t("Successfully finished.", { ns: "'.concat(r.C,'" })}}')},{value:l.FAILED,label:'{{t("Failed", { ns: "'.concat(r.C,'" })}}'),color:"red",description:'{{t("Failed to satisfy node configurations.", { ns: "'.concat(r.C,'" })}}')},{value:l.ERROR,label:'{{t("Error", { ns: "'.concat(r.C,'" })}}'),color:"red",description:'{{t("Some node meets error.", { ns: "'.concat(r.C,'" })}}')},{value:l.ABORTED,label:'{{t("Aborted", { ns: "'.concat(r.C,'" })}}'),color:"red",description:'{{t("Running of some node was aborted by program flow.", { ns: "'.concat(r.C,'" })}}')},{value:l.CANCELED,label:'{{t("Canceled", { ns: "'.concat(r.C,'" })}}'),color:"volcano",description:'{{t("Manually canceled whole execution when waiting.", { ns: "'.concat(r.C,'" })}}')},{value:l.REJECTED,label:'{{t("Rejected", { ns: "'.concat(r.C,'" })}}'),color:"volcano",description:'{{t("Rejected from a manual node.", { ns: "'.concat(r.C,'" })}}')},{value:l.RETRY_NEEDED,label:'{{t("Retry needed", { ns: "'.concat(r.C,'" })}}'),color:"volcano",description:'{{t("General failed but should do another try.", { ns: "'.concat(r.C,'" })}}')}],i=a.reduce(function(e,t){return Object.assign(e,o({},t.value,t))},{}),c=[{value:r.K.TIMEOUT,label:'{{t("Timed out", { ns: "'.concat(r.C,'" })}}')},{value:r.K.MANUAL_CANCEL,label:'{{t("Canceled manually", { ns: "'.concat(r.C,'" })}}')},{value:r.K.PARENT_ABORTED,label:'{{t("Aborted with parent execution", { ns: "'.concat(r.C,'" })}}')}].reduce(function(e,t){return Object.assign(e,o({},t.value,t))},{})}}]);
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is part of the NocoBase (R) project.
|
|
3
|
+
* Copyright (c) 2020-2024 NocoBase Co., Ltd.
|
|
4
|
+
* Authors: NocoBase Team.
|
|
5
|
+
*
|
|
6
|
+
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
|
|
7
|
+
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
"use strict";(self.webpackChunk_nocobase_plugin_workflow_client_v2=self.webpackChunk_nocobase_plugin_workflow_client_v2||[]).push([["54"],{5329:function(e,n,l){l.d(n,{F:function(){return r}});var t=l(9155),a=l.n(t),o=l(2059),i=l(7806),s=l(9488);function c(e){var n=e.value,l=e.onChange,o=e.disabled,s=e.onCollectionChanged,c=(0,t.useRef)();return a().createElement(i.XJ,{value:n,disabled:o,onChange:function(e){var t,a=null!=(t=c.current)?t:n;null==l||l(e),a&&a!==e&&(null==s||s(a,e)),c.current=e}})}function r(e){var n=e.disabled,l=e.onCollectionChanged,t=(0,s.kj)();return a().createElement(o.Form.Item,{name:["config","collection"],label:t("Collection"),rules:[{required:!0}]},a().createElement(c,{disabled:n,onCollectionChanged:l}))}},6381:function(e,n,l){l.d(n,{CreateFieldset:function(){return d},CreatePresetFieldset:function(){return m}});var t=l(9155),a=l.n(t),o=l(2059),i=l(2235),s=l(7806),c=l(9488),r=l(5329);function u(){var e,n=(0,c.kj)(),l=o.Form.useFormInstance(),r=(0,i.Zt)(),u=o.Form.useWatch(["config","collection"]),d=!!(null==r||null==(e=r.versionStats)?void 0:e.executed);return(0,t.useEffect)(function(){u&&(l.setFieldValue(["config","usingAssignFormSchema"],void 0),l.setFieldValue(["config","assignFormSchema"],void 0))},[u,l]),a().createElement(a().Fragment,null,a().createElement(o.Form.Item,{name:["config","params","values"],label:n("Fields values"),extra:n("Unassigned fields will be set to default values, and those without default values will be set to null.")},a().createElement(s.XH,{collection:u,disabled:d})),u?a().createElement(o.Form.Item,{name:["config","params","appends"],label:n("Preload associations"),extra:n("Please select the associated fields that need to be accessed in subsequent nodes. With more than two levels of to-many associations may cause performance issue, please use with caution.")},a().createElement(s.Kr,{collection:u})):null)}function d(){var e,n=(0,i.TA)(),l=o.Form.useFormInstance();return a().createElement(a().Fragment,null,a().createElement(r.F,{disabled:!!(null==n||null==(e=n.config)?void 0:e.collection),onCollectionChanged:function(){l.setFieldValue(["config","params"],{}),l.setFieldValue(["config","usingAssignFormSchema"],void 0),l.setFieldValue(["config","assignFormSchema"],void 0)}}),a().createElement(u,null))}function m(){return a().createElement(r.F,null)}}}]);
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is part of the NocoBase (R) project.
|
|
3
|
+
* Copyright (c) 2020-2024 NocoBase Co., Ltd.
|
|
4
|
+
* Authors: NocoBase Team.
|
|
5
|
+
*
|
|
6
|
+
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
|
|
7
|
+
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
"use strict";(self.webpackChunk_nocobase_plugin_workflow_client_v2=self.webpackChunk_nocobase_plugin_workflow_client_v2||[]).push([["635"],{5329:function(e,n,t){t.d(n,{F:function(){return c}});var o=t(9155),l=t.n(o),a=t(2059),r=t(7806),i=t(9488);function u(e){var n=e.value,t=e.onChange,a=e.disabled,i=e.onCollectionChanged,u=(0,o.useRef)();return l().createElement(r.XJ,{value:n,disabled:a,onChange:function(e){var o,l=null!=(o=u.current)?o:n;null==t||t(e),l&&l!==e&&(null==i||i(l,e)),u.current=e}})}function c(e){var n=e.disabled,t=e.onCollectionChanged,o=(0,i.kj)();return l().createElement(a.Form.Item,{name:["config","collection"],label:o("Collection"),rules:[{required:!0}]},l().createElement(u,{disabled:n,onCollectionChanged:t}))}},6855:function(e,n,t){t.d(n,{F:function(){return s}});var o=t(9155),l=t.n(o),a=t(2059),r=t(7768),i=t(1801),u=t(9488);function c(e,n,t,o,l,a,r){try{var i=e[a](r),u=i.value}catch(e){t(e);return}i.done?n(u):Promise.resolve(u).then(o,l)}function s(e){var n=e.collection,t=e.label,o=e.name,s=e.required,d=e.maxAssociationFieldDepth,f=(0,u.kj)();return l().createElement(a.Form.Item,{name:void 0===o?["config","params","filter"]:o,label:null!=t?t:f("Filter"),validateTrigger:["onChange","onBlur"],rules:void 0===s||s?[{validator:function(e,n){var t;return(t=function(){return function(e,n){var t,o,l,a={label:0,sent:function(){if(1&l[0])throw l[1];return l[1]},trys:[],ops:[]},r=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),i=Object.defineProperty;return i(r,"next",{value:u(0)}),i(r,"throw",{value:u(1)}),i(r,"return",{value:u(2)}),"function"==typeof Symbol&&i(r,Symbol.iterator,{value:function(){return this}}),r;function u(i){return function(u){var c=[i,u];if(t)throw TypeError("Generator is already executing.");for(;r&&(r=0,c[0]&&(a=0)),a;)try{if(t=1,o&&(l=2&c[0]?o.return:c[0]?o.throw||((l=o.return)&&l.call(o),0):o.next)&&!(l=l.call(o,c[1])).done)return l;switch(o=0,l&&(c=[2&c[0],l.value]),c[0]){case 0:case 1:l=c;break;case 4:return a.label++,{value:c[1],done:!1};case 5:a.label++,o=c[1],c=[0];continue;case 7:c=a.ops.pop(),a.trys.pop();continue;default:if(!(l=(l=a.trys).length>0&&l[l.length-1])&&(6===c[0]||2===c[0])){a=0;continue}if(3===c[0]&&(!l||c[1]>l[0]&&c[1]<l[3])){a.label=c[1];break}if(6===c[0]&&a.label<l[1]){a.label=l[1],l=c;break}if(l&&a.label<l[2]){a.label=l[2],a.ops.push(c);break}l[2]&&a.ops.pop(),a.trys.pop();continue}c=n.call(e,a)}catch(e){c=[6,e],o=0}finally{t=l=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}(this,function(e){if(!(0,r.isValidFilter)(n))throw Error(f("Please add at least one condition"));return[2]})},function(){var e=this,n=arguments;return new Promise(function(o,l){var a=t.apply(e,n);function r(e){c(a,o,l,r,i,"next",e)}function i(e){c(a,o,l,r,i,"throw",e)}r(void 0)})})()}}]:void 0},l().createElement(i.N$,{collection:n,maxAssociationFieldDepth:void 0===d?2:d}))}},8950:function(e,n,t){t.d(n,{UpdateFieldset:function(){return p},UpdatePresetFieldset:function(){return v}});var o=t(9155),l=t.n(o),a=t(2059),r=t(2235),i=t(7806),u=t(9785),c=t(9488),s=t(5329),d=t(6855),f=function(e){return!(0,i.Cg)(e)||"belongsTo"===e.type};function m(){var e,n,t=(0,c.kj)(),s=a.Form.useFormInstance(),m=(0,r.Zt)(),p=a.Form.useWatch(["config","collection"]),v=a.Form.useWatch(["config","params","individualHooks"],s),g=[{label:(e=(0,c.kj)())("Update in a batch"),value:!1,tooltip:e("Update all eligible data at one time, which has better performance when the amount of data is large. But association fields are not supported (unless foreign key in current collection), and the updated data will not trigger other workflows.")},{label:e("Update one by one"),value:!0,tooltip:e("The updated data can trigger other workflows, and the audit log will also be recorded. But it is usually only applicable to several or dozens of pieces of data, otherwise there will be performance problems.")}],h=!0!==v,b=!!(null==m||null==(n=m.versionStats)?void 0:n.executed);return((0,o.useEffect)(function(){p&&(s.setFieldValue(["config","usingAssignFormSchema"],void 0),s.setFieldValue(["config","assignFormSchema"],void 0),void 0===s.getFieldValue(["config","params","individualHooks"])&&s.setFieldValue(["config","params","individualHooks"],!1))},[p,s]),p)?l().createElement(l().Fragment,null,l().createElement(a.Form.Item,{name:["config","params","individualHooks"],label:t("Update mode")},l().createElement(u.$,{options:g})),l().createElement(d.F,{collection:p,label:t("Only update records matching conditions")}),l().createElement(a.Form.Item,{name:["config","params","values"],label:t("Fields values")},l().createElement(i.XH,{collection:p,fieldFilter:h?f:void 0,pruneFilteredValues:h,disabled:b}))):null}function p(){var e,n=(0,r.TA)(),t=a.Form.useFormInstance();return l().createElement(l().Fragment,null,l().createElement(s.F,{disabled:!!(null==n||null==(e=n.config)?void 0:e.collection),onCollectionChanged:function(){t.setFieldValue(["config","params","filter"],{}),t.setFieldValue(["config","params","values"],{}),t.setFieldValue(["config","usingAssignFormSchema"],void 0),t.setFieldValue(["config","assignFormSchema"],void 0)}}),l().createElement(m,null))}function v(){return l().createElement(s.F,null)}}}]);
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is part of the NocoBase (R) project.
|
|
3
|
+
* Copyright (c) 2020-2024 NocoBase Co., Ltd.
|
|
4
|
+
* Authors: NocoBase Team.
|
|
5
|
+
*
|
|
6
|
+
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
|
|
7
|
+
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
"use strict";(self.webpackChunk_nocobase_plugin_workflow_client_v2=self.webpackChunk_nocobase_plugin_workflow_client_v2||[]).push([["677"],{3420:function(e,t,n){n.r(t),n.d(t,{default:function(){return ea}});var r=n(7375),o=n(3485),a=n(5477),l=n(7694),i=n(2625),u=n(2059),c=n(9155),s=n.n(c),d=n(358),f={dumpRules:"required",migrationRules:["overwrite","schema-only"],name:"workflows",dataCategory:"system",shared:!0,repository:"WorkflowRepository",createdBy:!0,updatedBy:!0,createdAt:!0,updatedAt:!0,fields:[{name:"id",type:"snowflakeId",primaryKey:!0,allowNull:!1,interface:"id",uiSchema:{type:"number",title:'{{t("ID")}}',"x-component":"InputNumber","x-component-props":{},"x-read-pretty":!0}},{name:"key",type:"uid"},{type:"string",name:"title",interface:"input",uiSchema:{title:'{{t("Name")}}',type:"string","x-component":"Input",required:!0}},{type:"boolean",name:"enabled",defaultValue:!1,interface:"radioGroup",uiSchema:{title:'{{t("Status", { ns: "'.concat(d.C,'" })}}'),type:"string",enum:[{label:'{{t("On", { ns: "'.concat(d.C,'" })}}'),value:!0,color:"#52c41a"},{label:'{{t("Off", { ns: "'.concat(d.C,'" })}}'),value:!1}],"x-component":"Radio.Group",default:!1}},{type:"text",name:"description",interface:"textarea",uiSchema:{title:'{{t("Description")}}',type:"string","x-component":"Input.TextArea"}},{type:"string",name:"type",required:!0,interface:"select",uiSchema:{title:'{{t("Trigger type", { ns: "'.concat(d.C,'" })}}'),type:"string","x-component":"Select",enum:"{{useTriggersOptions()}}",required:!0}},{type:"string",name:"triggerTitle"},{type:"jsonb",name:"config",required:!0,defaultValue:{}},{type:"jsonb",name:"validation",defaultValue:{}},{type:"hasMany",name:"nodes",target:"flow_nodes",onDelete:"CASCADE"},{type:"hasMany",name:"executions"},{type:"integer",name:"executed",defaultValue:0},{type:"integer",name:"allExecuted",defaultValue:0},{type:"boolean",name:"current"},{type:"boolean",name:"sync",defaultValue:!1,interface:"radioGroup",uiSchema:{title:'{{t("Mode", { ns: "'.concat(d.C,'" })}}'),type:"boolean","x-component":"Radio.Group",enum:[{label:'{{ t("Asynchronously", { ns: "'.concat(d.C,'" }) }}'),value:!1,color:"cyan"},{label:'{{ t("Synchronously", { ns: "'.concat(d.C,'" }) }}'),value:!0,color:"orange"}],required:!0}},{type:"hasMany",name:"revisions",target:"workflows",foreignKey:"key",sourceKey:"key",constraints:!1,onDelete:"NO ACTION"},{type:"jsonb",name:"options",defaultValue:{timeout:0}},{type:"hasOne",name:"stats",target:"workflowStats",foreignKey:"key",sourceKey:"key",constraints:!1},{type:"hasOne",name:"versionStats",target:"workflowVersionStats",foreignKey:"id",sourceKey:"id",constraints:!1,onDelete:"CASCADE"},{type:"belongsToMany",name:"categories",target:"workflowCategories",through:"workflowCategoryRelations",foreignKey:"workflowId",otherKey:"categoryId",sourceKey:"id",constraints:!1,interface:"m2m",uiSchema:{type:"array",title:'{{t("Category", { ns: "'.concat(d.C,'" })}}'),"x-component":"AssociationField","x-component-props":{multiple:!0,fieldNames:{label:"title",value:"id",color:"color"},mode:"Tag"},"x-read-pretty":!0}},{type:"belongsTo",name:"createdBy",target:"users",foreignKey:"createdById",interface:"m2o",uiSchema:{type:"number",title:'{{t("Created by")}}',"x-component":"AssociationField","x-component-props":{fieldNames:{label:"nickname",value:"id"}}}}],indexes:[{unique:!0,fields:["key","current"]}]},m={$and:[{title:{$includes:""}},{type:{$eq:void 0}}]},p=n(5927),y=n(7001),b=n(9488),v=n(4759),g=n(4315),h=n(5953);function w(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function E(e,t,n,r,o,a,l){try{var i=e[a](l),u=i.value}catch(e){n(e);return}i.done?t(u):Promise.resolve(u).then(r,o)}function S(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var a=e.apply(t,n);function l(e){E(a,r,o,l,i,"next",e)}function i(e){E(a,r,o,l,i,"throw",e)}l(void 0)})}}function C(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,o=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var a=[],l=!0,i=!1;try{for(o=o.call(e);!(l=(n=o.next()).done)&&(a.push(n.value),!t||a.length!==t);l=!0);}catch(e){i=!0,r=e}finally{try{l||null==o.return||o.return()}finally{if(i)throw r}}return a}}(e,t)||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 k(e,t){if(e){if("string"==typeof e)return w(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return w(e,t)}}function x(e,t){var n,r,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},l=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),i=Object.defineProperty;return i(l,"next",{value:u(0)}),i(l,"throw",{value:u(1)}),i(l,"return",{value:u(2)}),"function"==typeof Symbol&&i(l,Symbol.iterator,{value:function(){return this}}),l;function u(i){return function(u){var c=[i,u];if(n)throw TypeError("Generator is already executing.");for(;l&&(l=0,c[0]&&(a=0)),a;)try{if(n=1,r&&(o=2&c[0]?r.return:c[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,c[1])).done)return o;switch(r=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return a.label++,{value:c[1],done:!1};case 5:a.label++,r=c[1],c=[0];continue;case 7:c=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===c[0]||2===c[0])){a=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){a.label=c[1];break}if(6===c[0]&&a.label<o[1]){a.label=o[1],o=c;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(c);break}o[2]&&a.ops.pop(),a.trys.pop();continue}c=t.call(e,a)}catch(e){c=[6,e],r=0}finally{n=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}var A=["red","magenta","volcano","orange","gold","lime","green","cyan","blue","geekblue","purple","default"];function O(e){var t=(0,h.useTranslation)().t,n=A.map(function(e){return{value:e,label:s().createElement(u.Tag,{color:"default"===e?void 0:e},t(e.charAt(0).toUpperCase()+e.slice(1)))}});return s().createElement(u.Select,{allowClear:!0,value:e.value,options:n,onChange:e.onChange})}function T(e){var t=e.activeKey,n=e.onChange,r=e.categories,a=e.refreshCategories,d=e.className,f=(0,b.ec)().t,m=(0,b.kj)(),p=(0,l.useFlowContext)(),y=u.App.useApp().modal,v=p.api.resource("workflowCategories"),g=C((0,c.useState)(null),2),h=g[0],E=g[1],A=C((0,c.useState)(!1),2),T=A[0],F=A[1],I=C((0,c.useState)(!1),2),j=I[0],M=I[1],R=C(u.Form.useForm(),1)[0],D=(0,c.useMemo)(function(){return((function(e){if(Array.isArray(e))return w(e)})(r)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(r)||k(r)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()).sort(function(e,t){var n,r;return(null!=(n=e.sort)?n:0)-(null!=(r=t.sort)?r:0)}).map(function(e){return{id:e.id,label:m(e.title),color:e.color}})},[r,m]),P=(0,i.useMemoizedFn)(function(e){return r.find(function(t){return String(t.id)===String(e)})}),z=(0,i.useMemoizedFn)(function(){E(null),R.resetFields(),F(!0)}),N=(0,i.useMemoizedFn)(function(e){var t=P(e);t&&(E(t),R.setFieldsValue({title:t.title,color:t.color}),F(!0))}),L=(0,i.useMemoizedFn)(function(e){var r=P(e);r&&y.confirm({title:f("Delete category"),content:f("Are you sure you want to delete it?"),onOk:function(){return S(function(){return x(this,function(e){switch(e.label){case 0:return[4,v.destroy({filterByTk:r.id})];case 1:return e.sent(),String(r.id)===t&&n("all"),a(),[2]}})})()}})}),B=(0,i.useMemoizedFn)(function(e,t){return S(function(){return x(this,function(n){switch(n.label){case 0:return[4,v.move({sourceId:e,targetId:t})];case 1:return n.sent(),a(),[2]}})})()}),G=(0,i.useMemoizedFn)(function(){return S(function(){var e;return x(this,function(t){switch(t.label){case 0:return[4,R.validateFields()];case 1:e=t.sent(),M(!0),t.label=2;case 2:if(t.trys.push([2,,7,8]),!h)return[3,4];return[4,v.update({filterByTk:h.id,values:e})];case 3:return t.sent(),[3,6];case 4:return[4,v.create({values:e})];case 5:t.sent(),t.label=6;case 6:return F(!1),a(),[3,8];case 7:return M(!1),[7];case 8:return[2]}})})()});return s().createElement(s().Fragment,null,s().createElement(o.SortableCategoryTabs,{className:d,activeKey:t,onChange:n,allTab:{key:"all",label:f("All")},categories:D,onAdd:z,onEdit:N,onDelete:L,onSort:B,menuLabels:{edit:f("Edit category"),delete:f("Delete category")}}),s().createElement(u.Modal,{title:h?f("Edit category"):f("Add category"),open:T,confirmLoading:j,onOk:G,onCancel:function(){return F(!1)},okText:f("Submit"),cancelText:f("Cancel"),destroyOnClose:!0},s().createElement(u.Form,{form:R,layout:"vertical"},s().createElement(u.Form.Item,{name:"title",label:f("Title"),rules:[{required:!0}]},s().createElement(u.Input,null)),s().createElement(u.Form.Item,{name:"color",label:f("Color")},s().createElement(O,null)))))}var F=n(9239);function I(e){var t=e.value,n=e.onChange,o=e.disabled,a=(0,b.ec)().t,l=[{value:!1,label:a("Asynchronously"),tooltip:a("Will be executed in the background as a queued task.")},{value:!0,label:a("Synchronously"),tooltip:a("For user actions that require immediate feedback. Can not use asynchronous nodes in such mode, and it is not recommended to perform time-consuming operations under synchronous mode.")}];return s().createElement(u.Radio.Group,{value:t,disabled:o,onChange:function(e){return null==n?void 0:n(e.target.value)}},l.map(function(e){return s().createElement(u.Radio,{key:String(e.value),value:e.value},s().createElement(u.Space,{size:"small"},e.label,s().createElement(u.Tooltip,{title:e.tooltip},s().createElement(r.QuestionCircleOutlined,null))))}))}function j(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}var M=[{value:1e3,label:"Seconds"},{value:6e4,label:"Minutes"},{value:36e5,label:"Hours"},{value:864e5,label:"Days"}];function R(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:15552e6;return Math.min(Math.max(e,0),t)}function D(e){var t,n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:6e4;return e&&null!=(t=null==(n=M.findLast(function(t){return e%t.value==0}))?void 0:n.value)?t:r}function P(e){var t,n=e.value,r=e.onChange,o=(0,b.ec)().t,a=R(Number(null!=n?n:0)),l=function(e){if(Array.isArray(e))return e}(t=(0,c.useState)(function(){return D(a)}))||function(e){var t,n,r=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var o=[],a=!0,l=!1;try{for(r=r.call(e);!(a=(t=r.next()).done)&&(o.push(t.value),2!==o.length);a=!0);}catch(e){l=!0,n=e}finally{try{a||null==r.return||r.return()}finally{if(l)throw n}}return o}}(t)||function(e){if(e){if("string"==typeof e)return j(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 j(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.")}(),i=l[0],d=l[1];(0,c.useEffect)(function(){0!==a&&d(function(e){return D(a,e)})},[a]);var f=0===a?0:a/i,m=15552e6/i;return s().createElement(u.Space.Compact,{style:{width:"50%"}},s().createElement(u.InputNumber,{min:0,max:m,precision:0,value:f,onChange:function(e){return null==r?void 0:r(R(Number(e)||0,m)*i)},style:{width:"70%"}}),s().createElement(u.Select,{value:i,style:{width:"30%"},options:M.map(function(e){return{value:e.value,label:o(e.label)}}),onChange:function(e){var t=R(Number(null!=n?n:0)),o=0===t?0:t/i;d(e),null==r||r(R(o*e))}}))}function z(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 N(e,t,n,r,o,a,l){try{var i=e[a](l),u=i.value}catch(e){n(e);return}i.done?t(u):Promise.resolve(u).then(r,o)}function L(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,o=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var a=[],l=!0,i=!1;try{for(o=o.call(e);!(l=(n=o.next()).done)&&(a.push(n.value),!t||a.length!==t);l=!0);}catch(e){i=!0,r=e}finally{try{l||null==o.return||o.return()}finally{if(i)throw r}}return a}}(e,t)||function(e,t){if(e){if("string"==typeof e)return z(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 z(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 B(e){var t,n=e.mode,r=e.plugin,a=e.record,d=e.categoryOptions,f=e.onSubmitted,m=(0,b.ec)().t,p=(0,b.kj)(),y=(0,l.useFlowContext)(),v=u.theme.useToken().token,g=y.api.resource("workflows"),h=L(u.Form.useForm(),1)[0],w=L((0,c.useState)(!1),2),E=w[0],S=w[1],C=(0,c.useMemo)(function(){var e=Array.from(r.triggers.getEntities()).map(function(e){var t=L(e,2),n=t[0],r=t[1];return{value:n,label:(null==r?void 0:r.title)?p(r.title):String(n),description:(null==r?void 0:r.description)?p(r.description):void 0}});return"edit"===n&&(null==a?void 0:a.type)&&!e.some(function(e){return e.value===a.type})&&e.push({value:a.type,label:a.type,description:void 0}),e.sort(function(e,t){return String(e.label).localeCompare(String(t.label))})},[r,p,n,a]),k=(0,c.useMemo)(function(){return F.hi.filter(function(e){return!!e.value}).map(function(e){return{value:e.value,label:p(e.label),color:e.color,description:e.description?p(e.description):void 0}})},[p]),x=(0,c.useMemo)(function(){if("edit"===n){var t,r,o;return{title:null==a?void 0:a.title,type:null==a?void 0:a.type,sync:null!=(t=null==a?void 0:a.sync)&&t,description:null==a?void 0:a.description,categories:(null!=(r=null==a?void 0:a.categories)?r:[]).map(function(e){return e.id}),options:null!=(o=null==a?void 0:a.options)?o:{}}}return{type:e.type,sync:!1,options:{},config:{}}},[n,a,e.type]);(0,c.useEffect)(function(){h.setFieldsValue(x)},[h,x]);var A=null!=(t=u.Form.useWatch("type",h))?t:e.type,O=(0,c.useMemo)(function(){return r.getTriggerOptions(A)},[r,A]),T=(null==O?void 0:O.sync)!=null;(0,c.useEffect)(function(){T&&h.setFieldValue("sync",O.sync)},[T,O,h]);var j=(0,c.useMemo)(function(){if("create"!==n)return null;var e=null==O?void 0:O.PresetFieldsetLoader;return e?(0,c.lazy)(e):null},[n,O]),M=(0,i.useMemoizedFn)(function(){h.setFieldValue("config",{})}),R=(0,i.useMemoizedFn)(function(){var e;return(e=function(){var e,t,r,o,l,i;return function(e,t){var n,r,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},l=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),i=Object.defineProperty;return i(l,"next",{value:u(0)}),i(l,"throw",{value:u(1)}),i(l,"return",{value:u(2)}),"function"==typeof Symbol&&i(l,Symbol.iterator,{value:function(){return this}}),l;function u(i){return function(u){var c=[i,u];if(n)throw TypeError("Generator is already executing.");for(;l&&(l=0,c[0]&&(a=0)),a;)try{if(n=1,r&&(o=2&c[0]?r.return:c[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,c[1])).done)return o;switch(r=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return a.label++,{value:c[1],done:!1};case 5:a.label++,r=c[1],c=[0];continue;case 7:c=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===c[0]||2===c[0])){a=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){a.label=c[1];break}if(6===c[0]&&a.label<o[1]){a.label=o[1],o=c;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(c);break}o[2]&&a.ops.pop(),a.trys.pop();continue}c=t.call(e,a)}catch(e){c=[6,e],r=0}finally{n=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}(this,function(u){switch(u.label){case 0:return[4,h.validateFields()];case 1:e=u.sent(),S(!0),u.label=2;case 2:if(u.trys.push([2,,7,8]),"create"!==n)return[3,4];return[4,g.create({values:{title:e.title,type:e.type,sync:!!e.sync,current:!0,config:null!=(t=e.config)?t:{},description:e.description,categories:null!=(r=e.categories)?r:[],options:null!=(o=e.options)?o:{}}})];case 3:return u.sent(),[3,6];case 4:return[4,g.update({filterByTk:a.id,values:{title:e.title,sync:!!e.sync,description:e.description,categories:null!=(l=e.categories)?l:[],options:null!=(i=e.options)?i:{}}})];case 5:u.sent(),u.label=6;case 6:return f(),[3,8];case 7:return S(!1),[7];case 8:return[2]}})},function(){var t=this,n=arguments;return new Promise(function(r,o){var a=e.apply(t,n);function l(e){N(a,r,o,l,i,"next",e)}function i(e){N(a,r,o,l,i,"throw",e)}l(void 0)})})()});return s().createElement(o.DrawerFormLayout,{title:m("create"===n?"Add new":"Edit"),onSubmit:R,submitting:E,submitText:m("Submit"),cancelText:m("Cancel")},s().createElement(u.Form,{form:h,layout:"vertical",initialValues:x},s().createElement(u.Form.Item,{name:"title",label:m("Title"),rules:[{required:!0}]},s().createElement(u.Input,null)),s().createElement(u.Form.Item,{name:"type",label:m("Trigger type"),rules:[{required:!0}]},s().createElement(u.Select,{options:C,disabled:"edit"===n,onChange:M,showSearch:!0,optionFilterProp:"label",popupMatchSelectWidth:!0,optionRender:function(e){var t,n;return s().createElement(u.Space,{direction:"vertical"},s().createElement(u.Tag,{color:"gold"},null==(t=e.data)?void 0:t.label),(null==(n=e.data)?void 0:n.description)?s().createElement(u.Typography.Text,{type:"secondary",style:{whiteSpace:"normal"}},e.data.description):null)}})),j?s().createElement("div",{style:{marginBottom:v.marginLG}},s().createElement("div",{style:{marginBottom:v.marginXS,fontWeight:600}},"".concat(m("Trigger configuration"),":")),s().createElement("div",{style:{padding:v.padding,border:"".concat(v.lineWidth,"px solid ").concat(v.colorBorderSecondary),borderRadius:v.borderRadiusLG}},s().createElement(c.Suspense,{fallback:s().createElement(u.Spin,null)},s().createElement(j,null)))):null,s().createElement(u.Form.Item,{name:"sync",label:m("Execute mode"),extra:m("Execute workflow asynchronously or synchronously based on trigger type, and could not be changed after created.")},s().createElement(I,{disabled:T||"edit"===n})),s().createElement(u.Form.Item,{name:"categories",label:m("Category")},s().createElement(u.Select,{mode:"multiple",allowClear:!0,options:d,optionFilterProp:"label"})),s().createElement(u.Form.Item,{name:"description",label:m("Description")},s().createElement(u.Input.TextArea,{autoSize:{minRows:2}})),s().createElement(u.Form.Item,{label:m("Advance options")},s().createElement(u.Card,{size:"small"},s().createElement(u.Form.Item,{name:["options","timeout"],label:m("Timeout settings"),extra:m("0 means unlimited. If you set any other value and the execution is still not completed when the timeout is reached, the execution plan will be terminated and the remaining nodes will not be executed. Time spent in queue is not counted; timing starts only after it first enters a processor."),initialValue:0},s().createElement(P,null)),s().createElement(u.Form.Item,{name:["options","stackLimit"],label:m("Maximum number of cycling triggers"),extra:m("The triggers of same workflow by some node (create, update and sub-flow etc.) more than this number will be ignored. Large number may cause performance issues. Please use with caution."),initialValue:1},s().createElement(u.InputNumber,{min:1,precision:0,style:{width:"50%"}})),s().createElement(u.Form.Item,{name:["options","deleteExecutionOnStatus"],label:m("Auto delete history when execution is on end status")},s().createElement(u.Select,{mode:"multiple",allowClear:!0,options:k,optionFilterProp:"label",optionRender:function(e){var t,n,r;return s().createElement(u.Space,null,s().createElement(u.Tag,{color:null==(t=e.data)?void 0:t.color},null==(n=e.data)?void 0:n.label),(null==(r=e.data)?void 0:r.description)?s().createElement("span",null,e.data.description):null)},tagRender:function(e){var t,n=e.value,r=e.label,o=e.closable,a=e.onClose;return s().createElement(u.Tag,{color:null==(t=F.m2[String(n)])?void 0:t.color,closable:o,onClose:a,onMouseDown:function(e){e.preventDefault(),e.stopPropagation()}},r)}}))))))}function G(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function K(e,t,n,r,o,a,l){try{var i=e[a](l),u=i.value}catch(e){n(e);return}i.done?t(u):Promise.resolve(u).then(r,o)}function V(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var a=e.apply(t,n);function l(e){K(a,r,o,l,i,"next",e)}function i(e){K(a,r,o,l,i,"throw",e)}l(void 0)})}}function q(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){var r;r=n[t],t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r})}return e}function _(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 n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t})(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}function W(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,o=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var a=[],l=!0,i=!1;try{for(o=o.call(e);!(l=(n=o.next()).done)&&(a.push(n.value),!t||a.length!==t);l=!0);}catch(e){i=!0,r=e}finally{try{l||null==o.return||o.return()}finally{if(i)throw r}}return a}}(e,t)||Q(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 U(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function $(e){return function(e){if(Array.isArray(e))return G(e)}(e)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||Q(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 Q(e,t){if(e){if("string"==typeof e)return G(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 G(e,t)}}function J(e,t){var n,r,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},l=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),i=Object.defineProperty;return i(l,"next",{value:u(0)}),i(l,"throw",{value:u(1)}),i(l,"return",{value:u(2)}),"function"==typeof Symbol&&i(l,Symbol.iterator,{value:function(){return this}}),l;function u(i){return function(u){var c=[i,u];if(n)throw TypeError("Generator is already executing.");for(;l&&(l=0,c[0]&&(a=0)),a;)try{if(n=1,r&&(o=2&c[0]?r.return:c[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,c[1])).done)return o;switch(r=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return a.label++,{value:c[1],done:!1};case 5:a.label++,r=c[1],c=[0];continue;case 7:c=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===c[0]||2===c[0])){a=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){a.label=c[1];break}if(6===c[0]&&a.label<o[1]){a.label=o[1],o=c;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(c);break}o[2]&&a.ops.pop(),a.trys.pop();continue}c=t.call(e,a)}catch(e){c=[6,e],r=0}finally{n=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}function Y(){var e=U(["\n background: ",";\n padding: 0;\n "]);return Y=function(){return e},e}function H(){var e=U(["\n margin-left: -1px;\n background: ",";\n\n .ant-tabs {\n margin-bottom: 0;\n }\n\n .ant-tabs-nav {\n margin-bottom: 0;\n }\n\n .ant-tabs-content-holder {\n display: none;\n }\n "]);return H=function(){return e},e}function X(){var e=U(["\n margin: 0;\n padding: ","px;\n background: ",";\n border-radius: 0 ","px ","px ","px;\n "]);return X=function(){return e},e}var Z=["id","description","categories"];function ee(e){var t=e.notices;if(!t.length)return null;var n=function(e){switch(e){case"error":return s().createElement(r.CloseCircleOutlined,null);case"info":return s().createElement(r.InfoCircleOutlined,null);case"success":return s().createElement(r.CheckCircleOutlined,null);default:return s().createElement(r.ExclamationCircleOutlined,null)}},o=function(e){switch(e){case"error":case"success":case"warning":return e;case"info":return"blue";default:return"warning"}};return s().createElement(s().Fragment,null,t.map(function(e,t){return s().createElement(u.Tooltip,{key:"".concat(e.key,"-").concat(t),title:e.description},s().createElement(u.Tag,{color:o(e.type),icon:n(e.type||"warning")},e.message))}))}function et(e){var t=e.notices,n=e.title;return s().createElement("span",{style:{overflowWrap:"anywhere",whiteSpace:"normal",wordBreak:"break-word"}},n,t.length?s().createElement("span",{style:{display:"inline-flex",flexWrap:"wrap",gap:"4px 8px",marginInlineStart:8}},s().createElement(ee,{notices:t})):null)}function en(e){var t=e.record,n=e.resource,r=e.onChanged,o=(0,b.ec)().t,a=u.App.useApp().message,l=W((0,c.useState)(!1),2),d=l[0],f=l[1],m=(0,i.useMemoizedFn)(function(e){return V(function(){return J(this,function(l){switch(l.label){case 0:if((null==t?void 0:t.id)==null)return[2];f(!0),l.label=1;case 1:return l.trys.push([1,3,4,5]),[4,n.update({filterByTk:t.id,values:{enabled:e}})];case 2:return l.sent(),setTimeout(function(){return r()},0),[3,5];case 3:return l.sent(),a.error(o("Operation failed")),[3,5];case 4:return f(!1),[7];case 5:return[2]}})})()});return s().createElement(u.Switch,{checked:!!(null==t?void 0:t.enabled),size:"small",disabled:d,loading:d,onClick:function(e,t){var n;return null==t||null==(n=t.stopPropagation)?void 0:n.call(t)},onChange:m})}function er(e){var t=e.record,n=e.resource,r=e.onSubmitted,a=(0,b.ec)().t,l=W(u.Form.useForm(),1)[0],d=W((0,c.useState)(!1),2),f=d[0],m=d[1],p=(0,i.useMemoizedFn)(function(){return V(function(){var e;return J(this,function(o){switch(o.label){case 0:return[4,l.validateFields()];case 1:e=o.sent(),m(!0),o.label=2;case 2:return o.trys.push([2,,4,5]),[4,n.revision({filterByTk:t.id,values:e})];case 3:return o.sent(),r(),[3,5];case 4:return m(!1),[7];case 5:return[2]}})})()});return s().createElement(o.DialogFormLayout,{title:a("Duplicate to new workflow"),onSubmit:p,submitting:f,submitText:a("Submit"),cancelText:a("Cancel")},s().createElement(u.Form,{form:l,layout:"vertical"},s().createElement(u.Form.Item,{name:"title",label:a("Title")},s().createElement(u.Input,null))))}function eo(){var e,t=(0,b.ec)().t,n=(0,b.kj)(),d=(0,l.useFlowContext)(),f=(0,y.TD)().getWorkflowCanvasPath,h=u.theme.useToken().token,w=u.App.useApp(),E=w.modal,S=w.message,C=d.api.resource("workflows"),k=d.app.pm.get(v.A),x=(0,a.css)(Y(),h.colorBgLayout),A=(0,a.css)(H(),h.colorBgLayout),O=(0,a.css)(X(),h.paddingLG,h.colorBgContainer,h.borderRadiusLG,h.borderRadiusLG,h.borderRadiusLG),F=(0,c.useMemo)(function(){var e,t,n,r;return null==(r=d.dataSourceManager)||null==(n=r.getDataSource)||null==(t=n.call(r,"main"))||null==(e=t.getCollection)?void 0:e.call(t,"workflows")},[d]),I=W((0,c.useState)("all"),2),j=I[0],M=I[1],R=W((0,c.useState)(1),2),D=R[0],P=R[1],z=W((0,c.useState)(o.DEFAULT_PAGE_SIZE),2),N=z[0],L=z[1],G=W((0,c.useState)([]),2),K=G[0],q=G[1],_=W((0,c.useState)(void 0),2),U=_[0],Q=_[1],ee=W((0,c.useState)({}),2),eo=ee[0],ea=ee[1],el=(0,i.useMemoizedFn)(function(e){Q(e),P(1)}),ei=(0,i.useRequest)(function(){return V(function(){var e,t,n;return J(this,function(r){switch(r.label){case 0:return[4,d.api.resource("workflowCategories").list({paginate:!1,sort:["sort"]})];case 1:return[2,null!=(e=null==(n=r.sent())||null==(t=n.data)?void 0:t.data)?e:[]]}})})()}),eu=ei.data,ec=ei.refresh,es=(0,c.useMemo)(function(){return eu||[]},[eu]),ed=(0,c.useMemo)(function(){return es.map(function(e){var t;return{value:e.id,label:n(null!=(t=e.title)?t:"")}})},[es,n]),ef=(0,i.useRequest)(function(){return V(function(){var e,t;return J(this,function(n){switch(n.label){case 0:return e={current:!0},"all"!==j&&(e["categories.id"]=j),t=U?{$and:[e,U]}:e,[4,C.list({page:D,pageSize:N,sort:["-createdAt"],appends:["categories","stats"],except:["config"],filter:t})];case 1:var r,o,a,l,i;return[2,{records:l=Array.isArray(a=null==(o=null==(r=n.sent())?void 0:r.data)?void 0:o.data)?a:Array.isArray(null==a?void 0:a.data)?a.data:[],total:(i=(null==o?void 0:o.meta)||(null==a?void 0:a.meta)||{}).count||i.total||l.length}]}})})()},{refreshDeps:[D,N,j,U]}),em=ef.data,ep=ef.loading,ey=ef.refresh,eb=(0,c.useMemo)(function(){return(null==em?void 0:em.records)||[]},[null==em?void 0:em.records]);(0,c.useEffect)(function(){var e=!1;return V(function(){var t;return J(this,function(n){switch(n.label){case 0:if(!eb.length)return ea({}),[2];return ea({}),[4,k.loadWorkflowListNotices({api:d.api,surface:"workflow-list-row",workflows:eb})];case 1:return t=n.sent(),e||ea(t),[2]}})})().catch(function(){e||ea({})}),function(){e=!0}},[d.api,k,eb]);var ev=(0,i.useMemoizedFn)(function(e,t){if(t!==N){L(t),P(1);return}P(e)}),eg=(0,i.useMemoizedFn)(function(e){var t=e?k.getTriggerOptions(e):void 0;return(null==t?void 0:t.title)?n(t.title):e}),eh=(0,i.useMemoizedFn)(function(e,t){d.viewer.drawer({width:"50%",closable:!0,content:function(){return s().createElement(B,{mode:e,plugin:k,record:t,categoryOptions:ed,onSubmitted:function(){return ey()}})}})}),ew=(0,i.useMemoizedFn)(function(e){d.viewer.dialog({width:520,closable:!0,content:function(){return s().createElement(er,{record:e,resource:C,onSubmitted:function(){return ey()}})}})}),eE=(0,i.useMemoizedFn)(function(e){d.router.navigate(f(e.id))}),eS=(0,i.useMemoizedFn)(function(e){d.viewer.drawer({width:"60%",closable:!0,title:t("Execution history"),content:function(){return s().createElement(g.S,{workflowKey:e.key})}})}),eC=(0,i.useMemoizedFn)(function(e){E.confirm({title:t("Delete record"),content:t("Are you sure you want to delete it?"),onOk:function(){return V(function(){return J(this,function(t){switch(t.label){case 0:return[4,C.destroy({filterByTk:e})];case 1:return t.sent(),q([]),ey(),[2]}})})()}})}),ek=(0,i.useMemoizedFn)(function(){return V(function(){return J(this,function(e){switch(e.label){case 0:return[4,C.sync()];case 1:return e.sent(),S.success(t("Operation succeeded")),ey(),[2]}})})()}),ex=!!((null==(e=d.app)?void 0:e.name)&&"main"!==d.app.name||d.app.pm.get("multi-app-share-collection")),eA=(0,c.useMemo)(function(){return[{title:t("Title"),dataIndex:"title",width:520,onCell:function(){return{style:{overflowWrap:"anywhere",whiteSpace:"normal",wordBreak:"break-word"}}},render:function(e,t){var n=k.getWorkflowNotices({surface:"workflow-list-row",workflow:t}),r=eo[String(t.id)]||[],o=$(n).concat($(r));return s().createElement(et,{title:e,notices:o})}},{title:t("Category"),dataIndex:"categories",render:function(e){return s().createElement(u.Space,{size:[0,4],wrap:!0},(null!=e?e:[]).map(function(e){return s().createElement(u.Tag,{key:e.id,color:"default"===e.color?void 0:e.color},n(e.title))}))}},{title:t("Trigger type"),dataIndex:"type",render:function(e){return e?s().createElement(u.Tag,{color:"gold"},eg(e)):null}},{title:t("Execute mode"),dataIndex:"sync",width:140,render:function(e){return s().createElement(p.t,{value:e})}},{title:t("Enabled"),dataIndex:"enabled",width:100,render:function(e,t){return s().createElement(en,{record:t,resource:C,onChanged:ey})}},{title:t("Executed"),dataIndex:["stats","executed"],width:100,render:function(e,t){var n,r;return s().createElement("a",{"aria-label":"executed-".concat(t.title),onClick:function(){return eS(t)}},null!=(n=null==(r=t.stats)?void 0:r.executed)?n:0)}},{title:t("Actions"),width:260,render:function(e,n){return s().createElement(u.Space,{size:"middle",wrap:!1,style:{whiteSpace:"nowrap"}},s().createElement("a",{onClick:function(){return eE(n)}},t("Configure")),s().createElement("a",{onClick:function(){return eh("edit",n)}},t("Edit")),s().createElement("a",{onClick:function(){return ew(n)}},t("Duplicate")),s().createElement("a",{onClick:function(){return eC(n.id)}},t("Delete")))}}]},[eC,eE,ew,eS,eh,k,ey,C,t,eg,eo]);return s().createElement("div",{className:x},s().createElement(T,{className:A,activeKey:j,onChange:function(e){M(e),P(1)},categories:es,refreshCategories:ec}),s().createElement("div",{className:O},s().createElement(u.Flex,{justify:"space-between",align:"center",style:{marginBottom:h.margin}},s().createElement(o.CollectionFilter,{collection:F,defaultValue:m,nonfilterableFieldNames:Z,onChange:el,t:n}),s().createElement(u.Space,null,s().createElement(u.Button,{icon:s().createElement(r.ReloadOutlined,null),onClick:function(){return ey()}},t("Refresh")),ex?s().createElement(u.Tooltip,{title:t("Sync enabled status of all workflows from database")},s().createElement(u.Button,{icon:s().createElement(r.SyncOutlined,null),onClick:ek},t("Sync"))):null,s().createElement(u.Button,{icon:s().createElement(r.DeleteOutlined,null),disabled:!K.length,onClick:function(){return eC(K)}},t("Delete")),s().createElement(u.Button,{type:"primary",icon:s().createElement(r.PlusOutlined,null),onClick:function(){return eh("create")}},t("Add new")))),s().createElement(o.Table,{rowKey:"id",loading:ep,columns:eA,dataSource:(null==em?void 0:em.records)||[],rowSelection:{selectedRowKeys:K,onChange:q},pagination:{current:D,pageSize:N,total:(null==em?void 0:em.total)||0,onChange:ev},tableLayout:"fixed"})))}function ea(){var e=(0,b.kj)(),t=(0,l.useFlowContext)().app.pm.get(v.A),n=(0,c.useMemo)(function(){var n=Array.from(t.triggers.getEntities()).map(function(t){var n=W(t,2),r=n[0],o=n[1];return{value:r,label:(null==o?void 0:o.title)?e(o.title):String(r)}}).sort(function(e,t){return String(e.label).localeCompare(String(t.label))});return[_(q({},f),{hidden:!0,fields:f.fields.map(function(e){return(null==e?void 0:e.name)==="type"&&e.uiSchema?_(q({},e),{uiSchema:_(q({},e.uiSchema),{enum:n})}):e})})]},[t,e]);return s().createElement(o.ExtendCollectionsProvider,{collections:n},s().createElement(eo,null))}},7001:function(e,t,n){n.d(t,{TD:function(){return i}});var r=n(2625),o=n(3485),a=n(8401);function l(){return"modern"===(0,o.getRouteRuntimeVersion)()}function i(){var e=(0,r.useMemoizedFn)(function(e){return l()?(0,a.JG)(e):"/admin/settings/workflow/workflows/".concat(e)}),t=(0,r.useMemoizedFn)(function(e){return l()?(0,a.Pq)(e):"/admin/settings/workflow/executions/".concat(e)});return{isV2Runtime:l(),getWorkflowCanvasPath:e,getWorkflowExecutionPath:t}}},9239:function(e,t,n){n.d(t,{GO:function(){return a},QQ:function(){return u},hi:function(){return l},m2:function(){return i}});var r=n(358);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var a={QUEUEING:null,STARTED:0,RESOLVED:1,FAILED:-1,ERROR:-2,ABORTED:-3,CANCELED:-4,REJECTED:-5,RETRY_NEEDED:-6},l=[{value:a.QUEUEING,label:'{{t("Queueing", { ns: "'.concat(r.C,'" })}}'),color:"blue",description:'{{t("Triggered but still waiting in queue to execute.", { ns: "'.concat(r.C,'" })}}')},{value:a.STARTED,label:'{{t("On going", { ns: "'.concat(r.C,'" })}}'),color:"gold",description:'{{t("Started and executing, maybe waiting for an async callback (manual, delay etc.).", { ns: "'.concat(r.C,'" })}}')},{value:a.RESOLVED,label:'{{t("Resolved", { ns: "'.concat(r.C,'" })}}'),color:"green",description:'{{t("Successfully finished.", { ns: "'.concat(r.C,'" })}}')},{value:a.FAILED,label:'{{t("Failed", { ns: "'.concat(r.C,'" })}}'),color:"red",description:'{{t("Failed to satisfy node configurations.", { ns: "'.concat(r.C,'" })}}')},{value:a.ERROR,label:'{{t("Error", { ns: "'.concat(r.C,'" })}}'),color:"red",description:'{{t("Some node meets error.", { ns: "'.concat(r.C,'" })}}')},{value:a.ABORTED,label:'{{t("Aborted", { ns: "'.concat(r.C,'" })}}'),color:"red",description:'{{t("Running of some node was aborted by program flow.", { ns: "'.concat(r.C,'" })}}')},{value:a.CANCELED,label:'{{t("Canceled", { ns: "'.concat(r.C,'" })}}'),color:"volcano",description:'{{t("Manually canceled whole execution when waiting.", { ns: "'.concat(r.C,'" })}}')},{value:a.REJECTED,label:'{{t("Rejected", { ns: "'.concat(r.C,'" })}}'),color:"volcano",description:'{{t("Rejected from a manual node.", { ns: "'.concat(r.C,'" })}}')},{value:a.RETRY_NEEDED,label:'{{t("Retry needed", { ns: "'.concat(r.C,'" })}}'),color:"volcano",description:'{{t("General failed but should do another try.", { ns: "'.concat(r.C,'" })}}')}],i=l.reduce(function(e,t){return Object.assign(e,o({},t.value,t))},{}),u=[{value:r.K.TIMEOUT,label:'{{t("Timed out", { ns: "'.concat(r.C,'" })}}')},{value:r.K.MANUAL_CANCEL,label:'{{t("Canceled manually", { ns: "'.concat(r.C,'" })}}')},{value:r.K.PARENT_ABORTED,label:'{{t("Aborted with parent execution", { ns: "'.concat(r.C,'" })}}')}].reduce(function(e,t){return Object.assign(e,o({},t.value,t))},{})}}]);
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is part of the NocoBase (R) project.
|
|
3
|
+
* Copyright (c) 2020-2024 NocoBase Co., Ltd.
|
|
4
|
+
* Authors: NocoBase Team.
|
|
5
|
+
*
|
|
6
|
+
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
|
|
7
|
+
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
"use strict";(self.webpackChunk_nocobase_plugin_workflow_client_v2=self.webpackChunk_nocobase_plugin_workflow_client_v2||[]).push([["728"],{2891:function(e,t,n){n.r(t),n.d(t,{default:function(){return z}});var r=n(7694),o=n(3485),a=n(7375),l=n(5477),i=n(2625),u=n(2059),c=n(9155),s=n.n(c),d=n(4442),p=n(8401),f=n(250),m=n(9488);function g(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 y(e,t,n,r,o,a,l){try{var i=e[a](l),u=i.value}catch(e){n(e);return}i.done?t(u):Promise.resolve(u).then(r,o)}function h(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var a=e.apply(t,n);function l(e){y(a,r,o,l,i,"next",e)}function i(e){y(a,r,o,l,i,"throw",e)}l(void 0)})}}function b(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,o=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var a=[],l=!0,i=!1;try{for(o=o.call(e);!(l=(n=o.next()).done)&&(a.push(n.value),!t||a.length!==t);l=!0);}catch(e){i=!0,r=e}finally{try{l||null==o.return||o.return()}finally{if(i)throw r}}return a}}(e,t)||function(e,t){if(e){if("string"==typeof e)return g(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 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 k(e,t){var n,r,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},l=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),i=Object.defineProperty;return i(l,"next",{value:u(0)}),i(l,"throw",{value:u(1)}),i(l,"return",{value:u(2)}),"function"==typeof Symbol&&i(l,Symbol.iterator,{value:function(){return this}}),l;function u(i){return function(u){var c=[i,u];if(n)throw TypeError("Generator is already executing.");for(;l&&(l=0,c[0]&&(a=0)),a;)try{if(n=1,r&&(o=2&c[0]?r.return:c[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,c[1])).done)return o;switch(r=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return a.label++,{value:c[1],done:!1};case 5:a.label++,r=c[1],c=[0];continue;case 7:c=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===c[0]||2===c[0])){a=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){a.label=c[1];break}if(6===c[0]&&a.label<o[1]){a.label=o[1],o=c;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(c);break}o[2]&&a.ops.pop(),a.trys.pop();continue}c=t.call(e,a)}catch(e){c=[6,e],r=0}finally{n=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}function v(){var e,t,n=(e=["\n > div > .ant-tabs > .ant-tabs-nav {\n background: ",";\n margin: 0;\n padding-inline: ","px ","px;\n padding-left: ","px;\n }\n\n > div > .ant-tabs > .ant-tabs-content-holder {\n padding: ","px;\n }\n "],t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}})));return v=function(){return n},n}var w=null;function E(e,t){e&&t&&((null==w?void 0:w.taskTypeKey)!==e||w.popupId!==t)||(w=null)}function T(){var e=(0,d.useParams)(),t=(0,d.useLocation)(),n=(0,f.e3)(e.status),r=/(^|\/)(mobile\/page|page)\/workflow-tasks(\/|$)/.test(t.pathname);return{taskType:e.taskType,status:n,popupId:e.popupId,isMobileRoute:r,search:t.search,hash:t.hash}}function x(e,t){return"".concat(e).concat(t.search||"").concat(t.hash||"")}function S(e){var t=e.taskTypes,n=e.counts,r=e.selectedKey,o=(e.status,e.mobile),a=(0,d.useNavigate)(),l=(0,m.kj)(),g=u.theme.useToken().token,y=T(),h=(0,c.useMemo)(function(){return(0,f.EC)(t,n)},[n,t]),b=(0,c.useMemo)(function(){return h.map(function(e){var r,o=null==t?void 0:t.get(e);return{key:e,label:s().createElement(u.Flex,{align:"center",justify:"space-between",gap:g.marginSM},s().createElement("span",null,(null==o?void 0:o.title)?l(o.title):e),s().createElement(u.Badge,{count:(null==(r=n[e])?void 0:r.pending)||0,size:"small"}))}})},[n,l,h,t,g.marginSM]),k=(0,i.useMemoizedFn)(function(e){var t=e.key;a(x((0,p.T0)(t,f.Rr.PENDING,void 0,y.isMobileRoute),y))});return(null==b?void 0:b.length)?o?s().createElement(u.Menu,{"data-testid":"workflow-task-type-menu",mode:"horizontal",selectedKeys:r?[r]:[],items:b,onClick:k,style:{background:g.colorBgContainer,borderBottomColor:g.colorBorderSecondary,height:42,lineHeight:"".concat(42,"px"),minHeight:42,minWidth:0}}):s().createElement(u.Layout.Sider,{theme:"light",breakpoint:"md",collapsedWidth:0,style:{background:g.colorBgContainer,borderRight:"".concat(g.lineWidth,"px ").concat(g.lineType," ").concat(g.colorBorderSecondary)}},s().createElement(u.Menu,{mode:"inline",selectedKeys:r?[r]:[],items:b,onClick:k,style:{height:"100%",borderInlineEnd:0}})):null}function M(e){var t=e.type,n=e.status,r=e.mobile,o=e.reload,a=(0,d.useNavigate)(),l=(0,m.kj)(),g=u.theme.useToken().token,y=t.Actions,h=T(),b=(0,c.useMemo)(function(){return f._l.map(function(e){return{key:e,value:e,label:l(e===f.Rr.PENDING?"Pending":e===f.Rr.COMPLETED?"Completed":"All")}})},[l]),k=(0,i.useMemoizedFn)(function(e){a(x((0,p.T0)(t.key,String(e),void 0,h.isMobileRoute),h))});return r?s().createElement(u.Flex,{"data-testid":"workflow-task-status-controls",align:"center",justify:"space-between",gap:g.marginSM,wrap:"wrap"},s().createElement(u.Segmented,{value:n,options:b.map(function(e){return{value:e.value,label:e.label}}),onChange:k,style:{minWidth:0}}),y?s().createElement(y,{onlyIcon:!0,reload:o}):null):s().createElement(u.Tabs,{activeKey:n,onChange:k,items:b.map(function(e){return{key:e.key,label:e.label}}),tabBarStyle:{marginBottom:0},tabBarExtraContent:y?{right:s().createElement(y,{reload:o})}:void 0})}function I(e){var t=e.mobile,n=e.onPageChange,r=e.page,o=e.total,l=u.theme.useToken().token,c=(0,m.kj)(),d=Math.max(1,Math.ceil(Math.max(o,1)/f.JJ)),p=r>1,g=r<d,y=(0,i.useMemoizedFn)(function(){p&&n(r-1)}),h=(0,i.useMemoizedFn)(function(){g&&n(r+1)});return s().createElement(u.Flex,{align:"center",className:"ant-pagination","data-testid":"workflow-task-pagination",gap:t?l.marginXXS:l.marginSM,justify:"end",style:{width:"100%"}},s().createElement(u.Flex,{align:"center",gap:l.marginXXS},s().createElement(u.Button,{"aria-label":c("Previous page"),className:"ant-pagination-prev".concat(p?"":" ant-pagination-disabled"),disabled:!p,icon:s().createElement(a.LeftOutlined,null),onClick:y,size:"small",style:{height:l.controlHeightSM,width:l.controlHeightSM},type:"text"}),s().createElement(u.Typography.Text,{"data-testid":"workflow-task-current-page",style:{lineHeight:"".concat(l.controlHeightSM,"px"),minWidth:l.sizeSM,textAlign:"center"}},r),s().createElement(u.Button,{"aria-label":c("Next page"),className:"ant-pagination-next".concat(g?"":" ant-pagination-disabled"),disabled:!g,icon:s().createElement(a.RightOutlined,null),onClick:h,size:"small",style:{height:l.controlHeightSM,width:l.controlHeightSM},type:"text"})),t?null:s().createElement(u.Select,{"aria-label":c("Page size"),className:"ant-pagination-options",options:[{label:"".concat(f.JJ," / page"),value:f.JJ}],popupMatchSelectWidth:!1,size:"middle",style:{width:112},value:f.JJ}))}function C(e){var t=e.records,n=e.loading,r=e.mobile,o=e.total,a=e.page,l=e.onPageChange,c=e.onOpenRecord,d=e.refresh,p=e.Item,g=u.theme.useToken().token,y=(0,m.kj)(),h=o>0||t.length>0,b=(0,i.useMemoizedFn)(function(e,t){("Enter"===e.key||" "===e.key)&&(e.preventDefault(),c(t))});return s().createElement(s().Fragment,null,s().createElement(u.List,{dataSource:t,loading:n,rowKey:function(e){var t;return String(null!=(t=(0,f.Zu)(e))?t:"")},locale:{emptyText:y("No data yet")},split:!1,style:{background:g.colorBgLayout,flex:"1 1 0%",minHeight:0,overflow:"auto"},renderItem:function(e,t){return s().createElement(f.xT.Provider,{value:{record:e,openRecord:c,refresh:d}},s().createElement(u.List.Item,{role:"button",tabIndex:0,onClick:function(){return c(e)},onKeyDown:function(t){return b(t,e)},style:{cursor:"pointer",padding:r?"0.5em 0.5em ".concat(g.lineWidth,"px"):"".concat(0===t?g.paddingLG:g.paddingXS,"px ").concat(g.paddingLG,"px ").concat(g.paddingXXS,"px"),background:g.colorBgLayout}},s().createElement("div",{"data-testid":"workflow-task-list-item-content",style:{width:"100%"}},s().createElement(p,null))))}}),h?s().createElement(u.Flex,{justify:"end",style:{background:g.colorBgLayout,flexShrink:0,padding:r?"0.5em":"".concat(g.padding,"px ").concat(g.paddingLG,"px")}},s().createElement(I,{mobile:r,onPageChange:l,page:a,total:o})):null)}function B(e,t){if(e)return t.split(".").reduce(function(e,t){if(e&&(void 0===e?"undefined":e&&"u">typeof Symbol&&e.constructor===Symbol?"symbol":typeof e)=="object")return e[t]},e)}function L(e){var t=e.children,n=e.record,r=e.mobile,o=e.onClose,a=e.title,l=u.theme.useToken().token;return s().createElement(u.Modal,{open:!!n,title:a,footer:null,width:"80vw",onCancel:o,destroyOnClose:!0,styles:{body:{maxHeight:r?"calc(100dvh - ".concat(2*l.sizeXXL,"px)"):void 0,overflow:"auto"}}},t)}function P(e){var t=e.children,n=e.onClose,r=u.theme.useToken().token,o=(0,m.kj)(),i=(0,l.css)(v(),r.colorBgContainer,r.padding,r.padding,r.controlHeight+r.paddingSM,r.padding);return s().createElement("div",{"data-testid":"workflow-task-mobile-detail-page",style:{background:r.colorBgLayout,flex:"1 1 0%",minHeight:0,overflow:"auto",position:"relative"}},s().createElement(u.Button,{"aria-label":o("Back"),icon:s().createElement(a.LeftOutlined,null),onClick:n,style:{left:r.paddingXS,position:"absolute",top:r.paddingSM,zIndex:1},type:"text"}),s().createElement("div",{"data-testid":"workflow-task-mobile-detail-content",className:i,style:{minWidth:0}},t))}function j(){var e,t,n,a,l,g,y,v,I,j,z=(0,r.useFlowContext)(),R=(0,f.e0)(z),F=(0,f.yg)(z,R),O=F.counts,K=F.reload,H=(t=T().taskType,n=(0,c.useMemo)(function(){return(0,f.Bf)(R)},[R]),a=(0,c.useMemo)(function(){return(0,f.EC)(R,O)},[O,R]),l=null!=(e=null!=t?t:a[0])?e:n[0],{taskTypeKeys:n,availableTaskTypeKeys:a,currentTaskType:l?null==R?void 0:R.get(l):void 0,currentTaskTypeKey:l}),N=H.currentTaskType,J=H.currentTaskTypeKey,A=H.availableTaskTypeKeys,X=T(),W=(0,o.useMobileLayout)().isMobileLayout,_=X.isMobileRoute||W,D=(0,d.useNavigate)(),G=u.App.useApp().message,Z=(0,m.kj)(),$=u.theme.useToken().token,U=b((0,c.useState)([]),2),q=U[0],Q=U[1],V=b((0,c.useState)(function(){var e=X.popupId;if(w&&w.taskTypeKey===J&&w.popupId===e){var t=w.record;return w=null,t}return(J||e)&&(w=null),null}),2),Y=V[0],ee=V[1],et=b((0,c.useState)(0),2),en=et[0],er=et[1],eo="".concat(null!=J?J:"","\n").concat(X.status,"\n").concat(X.search),ea=b((0,c.useState)({signature:"",page:1}),2),el=ea[0],ei=ea[1],eu=el.signature===eo?el.page:1,ec=b((0,c.useState)(!1),2),es=ec[0],ed=ec[1],ep=(0,c.useRef)(0),ef=(0,c.useRef)(0),em=(0,c.useRef)(Y&&X.popupId&&J?{popupId:X.popupId,taskTypeKey:J}:null),eg=(0,c.useRef)(em.current),ey=(0,i.useMemoizedFn)(function(){G.error(Z("Load failed"))});(0,c.useEffect)(function(){var e=document.title;return(null==N?void 0:N.title)&&(document.title="".concat(Z("Workflow todos"),": ").concat(Z(N.title)," - NocoBase")),function(){document.title=e}},[null==N?void 0:N.title,Z]),(0,c.useEffect)(function(){!X.taskType&&A.length&&D(x((0,p.T0)(A[0],X.status,void 0,X.isMobileRoute),X),{replace:!0})},[A,D,X,X.isMobileRoute,X.status,X.taskType]),(0,c.useEffect)(function(){el.signature!==eo&&ei({signature:eo,page:1})},[eo,el.signature]);var eh=(0,i.useMemoizedFn)(function(){return h(function(){var e,t,n,r,o,a,l,i,u;return k(this,function(c){switch(c.label){case 0:if(t=++ep.current,!(null==z?void 0:z.api)||!N||!(n=z.api.resource(N.collection)[null!=(e=N.action)?e:"list"]))return Q([]),er(0),ed(!1),[2];ed(!0),c.label=1;case 1:return c.trys.push([1,3,4,5]),a=null!=(r=null==(o=N.useActionParams)?void 0:o.call(N,X.status))?r:{},[4,n(function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){var r;r=n[t],t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r})}return e}({page:eu,pageSize:f.JJ,sort:["-createdAt"]},a))];case 2:if(l=c.sent(),i=(0,f.z1)(l),t!==ep.current)return[2];return Q(i.data),er("number"==typeof i.meta.count?i.meta.count:!0===i.meta.hasNext?eu*f.JJ+1:(eu-1)*f.JJ+i.data.length),[3,5];case 3:if(u=c.sent(),t!==ep.current)return[2];throw Q([]),er(0),u;case 4:return t===ep.current&&ed(!1),[7];case 5:return[2]}})})()}),eb=(0,i.useMemoizedFn)(function(){return h(function(){return k(this,function(e){switch(e.label){case 0:return[4,Promise.all([eh(),K()])];case 1:return e.sent(),[2]}})})()});(0,c.useEffect)(function(){return eh().catch(function(e){console.error("Failed to load workflow tasks",e),ey()}),function(){ep.current+=1}},[J,eh,eu,X.search,X.status,ey]);var ek=(0,i.useMemoizedFn)(function(){return h(function(){var e,t,n,r,o,a;return k(this,function(l){switch(l.label){case 0:if(e=++ef.current,!(null==z?void 0:z.api)||!N||!X.popupId)return em.current=null,eg.current=null,E(),ee(null),[2];l.label=1;case 1:if(l.trys.push([1,6,,7]),!N.getPopupRecord)return[3,3];return[4,N.getPopupRecord(z.api,{params:{filterByTk:X.popupId}})];case 2:return o=l.sent(),[3,5];case 3:return[4,null==(n=(r=z.api.resource(N.collection)).get)?void 0:n.call(r,{filterByTk:X.popupId})];case 4:o=l.sent(),l.label=5;case 5:return t=o,[3,7];case 6:if(a=l.sent(),e!==ef.current)return[2];throw a;case 7:if(e!==ef.current)return[2];return em.current={taskTypeKey:N.key,popupId:X.popupId},E(N.key,X.popupId),ee((0,f.y$)(t)),[2]}})})()});(0,c.useEffect)(function(){if(!X.popupId){eg.current||(ef.current+=1,em.current=null,E(),ee(null));return}eg.current=null;var e=X.popupId;return ee(function(t){var n=em.current,r=t?(0,f.Zu)(t):void 0;return t&&(null==n?void 0:n.taskTypeKey)===J&&String(r)===e?t:(em.current=null,E(),null)}),ek().catch(function(e){console.error("Failed to load workflow task detail",e),em.current=null,eg.current=null,E(J,X.popupId),ee(null),ey()}),function(){ef.current+=1}},[J,ek,X.popupId,X.status,ey]);var ev=(0,i.useMemoizedFn)(function(e){if(N){var t=(0,f.Zu)(e);ef.current+=1,em.current=null==t?null:{taskTypeKey:N.key,popupId:String(t)},eg.current=em.current,w=em.current?{popupId:em.current.popupId,record:e,taskTypeKey:N.key}:null,ee(e),null!=t&&D(x((0,p.T0)(N.key,X.status,String(t),X.isMobileRoute),X))}}),ew=(0,i.useMemoizedFn)(function(){ef.current+=1,em.current=null,eg.current=null,E(),ee(null),N&&D(x((0,p.T0)(N.key,X.status,void 0,X.isMobileRoute),X),{replace:!0})}),eE=(0,i.useMemoizedFn)(function(e){ei({signature:eo,page:e})});if(!N||!J)return s().createElement(u.Result,{status:X.taskType?"error":"info",title:X.taskType?Z("Task type {{type}} is invalid",{type:X.taskType}):Z("No workflow tasks available. Please contact the administrator.")});var eT=s().createElement(u.Flex,{vertical:!0,gap:_?$.marginXS:$.marginXXS},_?null:s().createElement(u.Typography.Title,{level:4,style:{lineHeight:"".concat($.controlHeight,"px"),margin:0}},Z(N.title)),s().createElement(M,{type:N,status:X.status,mobile:_,reload:eb})),ex=null!=(j=N.DetailModal)?j:L,eS=N.Detail,eM=Z("string"==typeof(I=null!=(g=null!=(y=null!=(v=B(Y,"node.title"))?v:B(Y,"title"))?y:B(Y,"workflow.title"))?g:N.title)&&I?I:N.title),eI=Y?s().createElement(f.xT.Provider,{value:{record:Y,refresh:eb,openRecord:ee}},s().createElement(eS,null)):null,eC=_&&!!Y;return s().createElement(u.Layout,{"data-testid":_?"workflow-tasks-mobile":"workflow-tasks-desktop",style:{minHeight:_?0:"100%",height:"100%",background:$.colorBgLayout}},_&&!eC?s().createElement(u.Layout.Header,{style:{height:"auto",lineHeight:"normal",padding:0,background:$.colorBgContainer,borderBottom:"".concat($.lineWidth,"px ").concat($.lineType," ").concat($.colorBorderSecondary)}},s().createElement(u.Flex,{vertical:!0,gap:0},s().createElement(S,{taskTypes:R,counts:O,selectedKey:J,status:X.status,mobile:!0}),s().createElement("div",{style:{padding:$.paddingSM}},eT))):_?null:s().createElement(S,{taskTypes:R,counts:O,selectedKey:J,status:X.status,mobile:!1}),s().createElement(u.Layout,{style:{background:$.colorBgLayout}},s().createElement(u.Layout.Content,{style:{display:"flex",flex:"1 1 0%",flexDirection:"column",minHeight:0,padding:0,overflow:"hidden"}},_||eC?null:s().createElement("div",{style:{padding:"".concat($.padding,"px ").concat($.paddingLG,"px 0"),background:$.colorBgContainer,borderBottom:"".concat($.lineWidth,"px ").concat($.lineType," ").concat($.colorBorderSecondary)}},eT),eC?s().createElement(P,{onClose:ew},eI):s().createElement("div",{"data-testid":"workflow-task-list-region",style:{background:$.colorBgLayout,display:"flex",flex:"1 1 0%",flexDirection:"column",minHeight:0}},s().createElement(C,{records:q,loading:es,mobile:_,total:en,page:eu,onPageChange:eE,onOpenRecord:ev,refresh:eb,Item:N.Item})))),eC?null:s().createElement(ex,{type:N,record:Y,mobile:_,title:eM,onClose:ew},eI))}function z(){return s().createElement(j,null)}}}]);
|
|
@@ -11,28 +11,28 @@
|
|
|
11
11
|
* pure logic hooks, relocated to client-v2 so a single definition serves both
|
|
12
12
|
* canvases (ADR-0002 as amended by ADR-0003, doc §2).
|
|
13
13
|
*
|
|
14
|
-
* Only the data/type parts move here. The legacy
|
|
15
|
-
* (`Node`, `NodeDefaultView`, the
|
|
14
|
+
* Only the data/type parts move here. The legacy schema-rendering surface
|
|
15
|
+
* (`Node`, `NodeDefaultView`, the legacy config drawer) stays in
|
|
16
16
|
* `src/client/nodes/index.tsx`. v1 re-exports this class + the pure hooks from
|
|
17
17
|
* here via the allowed `v1 → v2` import direction, so the ~16 node files that
|
|
18
18
|
* `extends Instruction` from the `./nodes` barrel are unchanged.
|
|
19
19
|
*
|
|
20
20
|
* Iron-rule notes:
|
|
21
|
-
* -
|
|
22
|
-
* zero runtime
|
|
21
|
+
* - Legacy schema types are referenced through type queries only (erased at build,
|
|
22
|
+
* zero runtime).
|
|
23
23
|
* - `SchemaInitializerItemType` (the legacy `useInitializers` return type) is
|
|
24
24
|
* NOT imported from `@nocobase/client` (forbidden). It is typed structurally
|
|
25
25
|
* as `unknown` here — the modern canvas never calls `useInitializers` (it
|
|
26
26
|
* uses `getCreateModelMenuItem`), and v1 callers cast as needed.
|
|
27
27
|
*/
|
|
28
28
|
import type { ComponentType } from 'react';
|
|
29
|
-
import type { ISchema } from '@formily/react';
|
|
30
29
|
import type { MetaTreeNode, SubModelItem } from '@nocobase/flow-engine';
|
|
31
30
|
import type { UseVariableOptions, VariableOption } from './collectionFieldOptions';
|
|
32
31
|
/** `() => Promise<{ default: Component }>` loader, matching the trigger `*Loader` convention (doc §9.5). */
|
|
33
32
|
export type LoaderOf<P = {}> = () => Promise<{
|
|
34
33
|
default: ComponentType<P>;
|
|
35
34
|
}>;
|
|
35
|
+
type ISchema = import('@formily/react').ISchema;
|
|
36
36
|
export type NodeAvailableContext = {
|
|
37
37
|
/** The workflow client plugin instance (v1 `WorkflowPlugin` / v2 `PluginWorkflowClientV2`). */
|
|
38
38
|
engine: any;
|
|
@@ -23,11 +23,13 @@ import React from 'react';
|
|
|
23
23
|
* the canvas `nodeClass`/`nodeCardClass` chrome (drag mousedown, click-to-open
|
|
24
24
|
* config, copy/drag highlight). Exported and given a `children` slot so a node's
|
|
25
25
|
* `ComponentLoader` can reuse the exact card and append its own subtree after it
|
|
26
|
-
* (e.g. the condition node's Yes/No branches)
|
|
27
|
-
*
|
|
28
|
-
*
|
|
26
|
+
* (e.g. the condition node's Yes/No branches). `cardExtra` is an internal slot
|
|
27
|
+
* for node-specific notices inside the card, directly after the title — the v2
|
|
28
|
+
* mirror of v1's `NodeDefaultView` (doc §9.5, ADR-0003). Assumes the type is
|
|
29
|
+
* registered; the unregistered placeholder is handled by `NodeCard`.
|
|
29
30
|
*/
|
|
30
|
-
export declare function NodeDefaultView({ data, children }: {
|
|
31
|
+
export declare function NodeDefaultView({ cardExtra, data, children, }: {
|
|
32
|
+
cardExtra?: React.ReactNode;
|
|
31
33
|
data: any;
|
|
32
34
|
children?: React.ReactNode;
|
|
33
35
|
}): React.JSX.Element;
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
/**
|
|
10
10
|
* "Test run" action — native-antd rewrite of v1's Formily `TestButton`
|
|
11
11
|
* (`client/nodes/index.tsx`). v1 is deeply Formily-coupled (createForm /
|
|
12
|
-
*
|
|
12
|
+
* legacy modal/action wrappers / observer), so per ADR-0003 it is rebuilt
|
|
13
13
|
* here rather than ported.
|
|
14
14
|
*
|
|
15
15
|
* Click opens a centered `ctx.viewer.dialog` (X-to-close only, no footer) that:
|
|
@@ -13,11 +13,12 @@ type AssignedField = ReturnType<typeof getCollectionFields>[number] & {
|
|
|
13
13
|
name: string;
|
|
14
14
|
};
|
|
15
15
|
export type AssignedFieldFilter = (field: AssignedField) => boolean;
|
|
16
|
-
export declare function AssignedFieldsEditor({ collection, value, onChange, fieldFilter, pruneFilteredValues, }: {
|
|
16
|
+
export declare function AssignedFieldsEditor({ collection, value, onChange, fieldFilter, pruneFilteredValues, disabled, }: {
|
|
17
17
|
collection?: string;
|
|
18
18
|
value?: AssignedValues;
|
|
19
19
|
onChange?: (value: AssignedValues) => void;
|
|
20
20
|
fieldFilter?: AssignedFieldFilter;
|
|
21
21
|
pruneFilteredValues?: boolean;
|
|
22
|
+
disabled?: boolean;
|
|
22
23
|
}): React.JSX.Element;
|
|
23
24
|
export default AssignedFieldsEditor;
|
|
@@ -12,3 +12,8 @@ export declare function getWorkflowCanvasPath(id: string | number): string;
|
|
|
12
12
|
export declare const WORKFLOW_EXECUTION_ROUTE_NAME = "admin.workflow.executions.id";
|
|
13
13
|
export declare const WORKFLOW_EXECUTION_ROUTE_PATH = "/admin/workflow/executions/:id";
|
|
14
14
|
export declare function getWorkflowExecutionPath(id: string | number): string;
|
|
15
|
+
export declare const WORKFLOW_TASKS_ROUTE_NAME = "admin.workflow.tasks";
|
|
16
|
+
export declare const WORKFLOW_TASKS_ROUTE_PATH = "/admin/workflow/tasks/:taskType?/:status?/:popupId?";
|
|
17
|
+
export declare const WORKFLOW_TASKS_MOBILE_ROUTE_NAME = "mobile.page.workflow.tasks.list";
|
|
18
|
+
export declare const WORKFLOW_TASKS_MOBILE_ROUTE_PATH = "page/workflow-tasks/:taskType?/:status?/:popupId?";
|
|
19
|
+
export declare function getWorkflowTasksPath(taskType?: string, status?: string, popupId?: string | number, mobile?: boolean): string;
|
|
@@ -7,6 +7,9 @@
|
|
|
7
7
|
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
8
|
*/
|
|
9
9
|
export { default, PluginWorkflowClientV2 } from './plugin';
|
|
10
|
+
export type { WorkflowNotice, WorkflowListNoticeMap, WorkflowListNoticeProviderContext, WorkflowNoticeProvider, WorkflowNoticeProviderContext, WorkflowNoticeProviderFunction, WorkflowNoticeProviderObject, WorkflowNoticeResult, WorkflowNoticeSurface, } from './plugin';
|
|
11
|
+
export * from './constants';
|
|
12
|
+
export * from './taskCenter';
|
|
10
13
|
export * from './models';
|
|
11
14
|
export { Instruction, useAvailableUpstreams, useNodeContext } from './canvas/Instruction';
|
|
12
15
|
export type { LoaderOf, NodeAvailableContext, TempAssociationSource } from './canvas/Instruction';
|