@nocobase/plugin-workflow 2.0.0-alpha.9 → 2.0.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/dist/client/{f68fbc145c3ddec3.js → 80d4cd8911e03c27.js} +1 -1
  2. package/dist/client/Branch.d.ts +2 -0
  3. package/dist/client/WorkflowTasks.d.ts +3 -1
  4. package/dist/client/bfc2a351589613e1.js +10 -0
  5. package/dist/client/e078314a62391f36.js +10 -0
  6. package/dist/client/flows/triggerWorkflows.d.ts +15 -42
  7. package/dist/client/index.js +1 -1
  8. package/dist/client/nodes/multi-conditions.d.ts +57 -0
  9. package/dist/client/schemas/executions.d.ts +1 -1
  10. package/dist/client/variable.d.ts +1 -1
  11. package/dist/common/collections/executions.d.ts +1 -1
  12. package/dist/common/collections/executions.js +13 -1
  13. package/dist/common/collections/jobs.js +4 -0
  14. package/dist/externalVersion.js +12 -11
  15. package/dist/locale/de-DE.json +230 -188
  16. package/dist/locale/en-US.json +233 -188
  17. package/dist/locale/es-ES.json +238 -78
  18. package/dist/locale/fr-FR.json +238 -78
  19. package/dist/locale/hu-HU.json +258 -0
  20. package/dist/locale/id-ID.json +258 -0
  21. package/dist/locale/it-IT.json +229 -176
  22. package/dist/locale/ja-JP.json +236 -164
  23. package/dist/locale/ko-KR.json +260 -150
  24. package/dist/locale/nl-NL.json +257 -99
  25. package/dist/locale/pt-BR.json +238 -78
  26. package/dist/locale/ru-RU.json +243 -67
  27. package/dist/locale/tr-TR.json +239 -63
  28. package/dist/locale/uk-UA.json +258 -0
  29. package/dist/locale/vi-VN.json +258 -0
  30. package/dist/locale/zh-CN.json +236 -237
  31. package/dist/locale/zh-TW.json +258 -0
  32. package/dist/node_modules/cron-parser/package.json +1 -1
  33. package/dist/node_modules/lru-cache/package.json +1 -1
  34. package/dist/node_modules/nodejs-snowflake/package.json +1 -1
  35. package/dist/server/Dispatcher.d.ts +1 -3
  36. package/dist/server/Dispatcher.js +30 -30
  37. package/dist/server/Plugin.d.ts +3 -0
  38. package/dist/server/Plugin.js +55 -20
  39. package/dist/server/Processor.js +37 -12
  40. package/dist/server/actions/index.js +3 -0
  41. package/dist/server/actions/jobs.d.ts +9 -0
  42. package/dist/server/actions/jobs.js +64 -0
  43. package/dist/server/actions/nodes.d.ts +1 -0
  44. package/dist/server/actions/nodes.js +78 -1
  45. package/dist/server/instructions/MultiConditionsInstruction.d.ts +18 -0
  46. package/dist/server/instructions/MultiConditionsInstruction.js +118 -0
  47. package/dist/server/instructions/index.d.ts +3 -1
  48. package/dist/server/repositories/WorkflowRepository.js +9 -2
  49. package/dist/server/triggers/CollectionTrigger.d.ts +3 -0
  50. package/dist/server/triggers/CollectionTrigger.js +31 -3
  51. package/dist/server/triggers/ScheduleTrigger/DateFieldScheduleTrigger.js +8 -0
  52. package/dist/server/triggers/index.d.ts +3 -1
  53. package/dist/server/types/Job.d.ts +1 -0
  54. package/package.json +5 -2
  55. package/dist/client/248e211bb2d99aee.js +0 -10
  56. package/dist/client/e7c028a099537ab1.js +0 -10
@@ -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([["830"],{7482:function(e,t,o){o.r(t),o.d(t,{WorkflowPane:function(){return es}});var r=o(8156),n=o.n(r),i=o(2721),c=o(8563),a=o(3505),l=o(3772),s=o(1113);function u(e){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{},r=Object.keys(o);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(o).filter(function(e){return Object.getOwnPropertyDescriptor(o,e).enumerable}))),r.forEach(function(t){var r;r=o[t],t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r})}return e}function p(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);o.push.apply(o,r)}return o})(Object(t)).forEach(function(o){Object.defineProperty(e,o,Object.getOwnPropertyDescriptor(t,o))}),e}var m=function(e){var t,o=e.request,r=(e.filter,function(e,t){if(null==e)return{};var o,r,n=function(e,t){if(null==e)return{};var o,r,n={},i=Object.keys(e);for(r=0;r<i.length;r++)o=i[r],t.indexOf(o)>=0||(n[o]=e[o]);return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)o=i[r],!(t.indexOf(o)>=0)&&Object.prototype.propertyIsEnumerable.call(e,o)&&(n[o]=e[o])}return n}(e,["request","filter"])),i=(0,l.useRecord)(),c=p(u({},r),{request:p(u({},o),{params:p(u({},null==o?void 0:o.params),{filter:p(u({},null==o||null==(t=o.params)?void 0:t.filter),{key:i.key})})})});return n().createElement(l.ResourceActionProvider,c)},d=o(3238),f=o(6128),y=o(9315),b=function(){var e=(0,d.useTranslation)().t,t=(0,l.useRecord)().id,o=(0,l.useActionContext)().setVisible,r=(0,l.useGetAriaLabelOfAction)("Configure").getAriaLabel;return n().createElement(f.Link,{"aria-label":r(),to:(0,y.SI)(t),onClick:function(){return o(!1)}},e("Configure"))};function v(e,t){(null==t||t>e.length)&&(t=e.length);for(var o=0,r=Array(t);o<t;o++)r[o]=e[o];return r}function x(e){var t,o,i,c=e.component,s=e.children,u=function(e,t){if(null==e)return{};var o,r,n=function(e,t){if(null==e)return{};var o,r,n={},i=Object.keys(e);for(r=0;r<i.length;r++)o=i[r],t.indexOf(o)>=0||(n[o]=e[o]);return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)o=i[r],!(t.indexOf(o)>=0)&&Object.prototype.propertyIsEnumerable.call(e,o)&&(n[o]=e[o])}return n}(e,["component","children"]),p=(t=(0,r.useState)(!1),function(e){if(Array.isArray(e))return e}(t)||function(e,t){var o,r,n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var i=[],c=!0,a=!1;try{for(n=n.call(e);!(c=(o=n.next()).done)&&(i.push(o.value),i.length!==t);c=!0);}catch(e){a=!0,r=e}finally{try{c||null==n.return||n.return()}finally{if(a)throw r}}return i}}(t,2)||function(e,t){if(e){if("string"==typeof e)return v(e,2);var o=Object.prototype.toString.call(e).slice(8,-1);if("Object"===o&&e.constructor&&(o=e.constructor.name),"Map"===o||"Set"===o)return Array.from(o);if("Arguments"===o||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o))return v(e,t)}}(t,2)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),m=p[0],d=p[1],f=(0,a.useFieldSchema)();return n().createElement(l.ActionContextProvider,{value:{visible:m,setVisible:d,fieldSchema:f}},n().createElement(void 0===c?"div":c,(o=function(e){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{},r=Object.keys(o);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(o).filter(function(e){return Object.getOwnPropertyDescriptor(o,e).enumerable}))),r.forEach(function(t){var r;r=o[t],t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r})}return e}({},u),i=i={onClick:function(){d(!0)}},Object.getOwnPropertyDescriptors?Object.defineProperties(o,Object.getOwnPropertyDescriptors(i)):(function(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);o.push.apply(o,r)}return o})(Object(i)).forEach(function(e){Object.defineProperty(o,e,Object.getOwnPropertyDescriptor(i,e))}),o),s),n().createElement(l.SchemaComponent,{schema:f,onlyRenderProperties:!0}))}var g=o(8551),h=o(1685),O=o(1682),A=o(8833),w=o(4665),C={title:{"x-component":"CollectionField","x-decorator":"FormItem"},type:{"x-decorator":"FormItem",title:'{{t("Trigger type", { ns: "'.concat(g.A7,'" })}}'),"x-component":"Select","x-component-props":{optionRender:"{{TriggerOptionRender}}",popupMatchSelectWidth:!0,listHeight:300},enum:"{{useTriggersOptions()}}",required:!0},sync:{type:"boolean",title:'{{ t("Execute mode", { ns: "'.concat(g.A7,'" }) }}'),description:'{{ t("Execute workflow asynchronously or synchronously based on trigger type, and could not be changed after created.", { ns: "'.concat(g.A7,'" }) }}'),"x-decorator":"FormItem","x-component":"SyncOptionSelect","x-component-props":{options:[{label:'{{ t("Asynchronously", { ns: "'.concat(g.A7,'" }) }}'),value:!1,tooltip:'{{ t("Will be executed in the background as a queued task.", { ns: "'.concat(g.A7,'" }) }}')},{label:'{{ t("Synchronously", { ns: "'.concat(g.A7,'" }) }}'),value:!0,tooltip:'{{ t("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.", { ns: "'.concat(g.A7,'" }) }}')}]}},enabled:{"x-component":"CollectionField","x-decorator":"FormItem"},description:{"x-component":"CollectionField","x-decorator":"FormItem"},categories:{type:"array",title:'{{ t("Category", { ns: "'.concat(g.A7,'" }) }}'),"x-decorator":"FormItem","x-component":"CollectionField","x-collection-field":"workflows.categories"},options:{type:"object","x-component":"fieldset",properties:{deleteExecutionOnStatus:{type:"array",title:'{{ t("Auto delete history when execution is on end status", { ns: "'.concat(g.A7,'" }) }}'),"x-decorator":"FormItem","x-component":"Select","x-component-props":{multiple:!0,optionRender:w.uL,tagRender:w.qo},enum:O.C6.filter(function(e){return!!e.value})},stackLimit:{type:"number",title:'{{ t("Maximum number of cycling triggers", { ns: "'.concat(g.A7,'" }) }}'),description:'{{ t("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.", { ns: "'.concat(g.A7,'" }) }}'),"x-decorator":"FormItem",default:1,"x-component":"InputNumber","x-component-props":{min:1,precision:0,className:"auto-width"}}}}},S={name:"workflow",type:"void",properties:{provider:{type:"void","x-decorator":"ResourceActionProvider","x-decorator-props":{collection:A.Z,resourceName:"workflows",request:{resource:"workflows",action:"list",params:{filter:{current:!0},sort:["-createdAt"],except:["config"]}}},"x-component":"CategoryTabs",properties:{main:{type:"void","x-component":"CardItem",properties:{actions:{type:"void","x-component":"ActionBar","x-component-props":{style:{marginBottom:16}},properties:{filter:{type:"void",title:'{{ t("Filter") }}',default:{$and:[{title:{$includes:""}}]},"x-action":"filter","x-component":"Filter.Action","x-use-component-props":"useWorkflowFilterActionProps","x-component-props":{icon:"FilterOutlined",nonfilterable:["description","categories"]},"x-align":"left"},refresher:{type:"void",title:'{{ t("Refresh") }}',"x-component":"Action","x-use-component-props":"useRefreshActionProps","x-component-props":{icon:"ReloadOutlined"}},sync:{type:"void",title:'{{t("Sync", { ns: "'.concat(g.A7,'" })}}'),"x-decorator":"Tooltip","x-decorator-props":{title:'{{ t("Sync enabled status of all workflows from database", { ns: "'.concat(g.A7,'" }) }}')},"x-component":"Action","x-component-props":{icon:"SyncOutlined",useAction:"{{ useSyncAction }}"},"x-reactions":["{{useWorkflowSyncReaction}}"]},delete:{type:"void",title:'{{t("Delete")}}',"x-component":"Action","x-component-props":{icon:"DeleteOutlined",useAction:"{{ cm.useBulkDestroyAction }}",confirm:{title:"{{t('Delete record')}}",content:"{{t('Are you sure you want to delete it?')}}"}}},create:{type:"void",title:'{{t("Add new")}}',"x-component":"Action","x-component-props":{type:"primary",icon:"PlusOutlined"},properties:{drawer:{type:"void","x-component":"Action.Drawer","x-decorator":"Form","x-decorator-props":{initialValue:{current:!0}},title:'{{t("Add new")}}',properties:{title:C.title,type:C.type,sync:C.sync,categories:C.categories,description:C.description,options:C.options,footer:{type:"void","x-component":"Action.Drawer.Footer",properties:{cancel:{title:'{{ t("Cancel") }}',"x-component":"Action","x-component-props":{useAction:"{{ cm.useCancelAction }}"}},submit:{title:'{{ t("Submit") }}',"x-component":"Action","x-component-props":{type:"primary",useAction:"{{ cm.useCreateAction }}"}}}}}}}}}},table:{type:"array","x-component":"Table.Void","x-component-props":{rowKey:"id",rowSelection:{type:"checkbox"},useDataSource:"{{cm.useDataSourceFromRAC }}"},properties:{title:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",title:'{{ t("Title") }}',properties:{title:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}},categories:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",title:'{{ t("Category", { ns: "'.concat(g.A7,'" }) }}'),properties:{categories:{type:"array","x-component":"EnumerationField","x-component-props":{multiple:!0,fieldNames:{label:"title",value:"id",color:"color"}}}}},type:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",title:'{{ t("Trigger type", { ns: "'.concat(g.A7,'" }) }}'),properties:{type:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}},sync:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",title:'{{ t("Execute mode", { ns: "'.concat(g.A7,'" }) }}'),properties:{sync:{type:"boolean","x-component":"CollectionField","x-read-pretty":!0}}},enabled:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",title:'{{ t("Status", { ns: "'.concat(g.A7,'" }) }}'),properties:{enabled:{type:"boolean","x-component":"CollectionField","x-read-pretty":!0,default:!1}}},"stats.executed":{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",title:'{{ t("Executed", { ns: "'.concat(g.A7,'" }) }}'),properties:{"stats.executed":{type:"number","x-decorator":"OpenDrawer","x-decorator-props":{component:function(e){var t=(0,l.useCollectionRecordData)();return n().createElement("a",function(e){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{},r=Object.keys(o);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(o).filter(function(e){return Object.getOwnPropertyDescriptor(o,e).enumerable}))),r.forEach(function(t){var r;r=o[t],t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r})}return e}({"aria-label":"executed-".concat(t.title)},e))}},"x-component":"InputNumber","x-read-pretty":!0,properties:{drawer:h.V}}}},actions:{type:"void",title:'{{ t("Actions") }}',"x-decorator":"Table.Column.Decorator","x-component":"Table.Column",properties:{actions:{type:"void","x-component":"Space","x-component-props":{split:"|"},properties:{configure:{type:"void","x-component":"WorkflowLink"},update:{type:"void",title:'{{ t("Edit") }}',"x-component":"Action.Link","x-component-props":{type:"primary"},properties:{drawer:{type:"void","x-component":"Action.Drawer","x-decorator":"Form","x-decorator-props":{useValues:"{{ cm.useValuesFromRecord }}"},title:'{{ t("Edit") }}',properties:{title:C.title,enabled:C.enabled,sync:C.sync,categories:C.categories,description:C.description,options:C.options,footer:{type:"void","x-component":"Action.Drawer.Footer",properties:{cancel:{title:'{{ t("Cancel") }}',"x-component":"Action","x-component-props":{useAction:"{{ cm.useCancelAction }}"}},submit:{title:'{{ t("Submit") }}',"x-component":"Action","x-component-props":{type:"primary",useAction:"{{ cm.useUpdateAction }}"}}}}}}}},revision:{type:"void",title:'{{t("Duplicate", { ns: "'.concat(g.A7,'" })}}'),"x-component":"Action.Link","x-component-props":{openSize:"small"},properties:{modal:{type:"void",title:'{{t("Duplicate to new workflow", { ns: "'.concat(g.A7,'" })}}'),"x-decorator":"FormV2","x-component":"Action.Modal",properties:{title:{type:"string",title:'{{t("Title")}}',"x-decorator":"FormItem","x-component":"Input"},footer:{type:"void","x-component":"Action.Modal.Footer",properties:{submit:{type:"void",title:'{{t("Submit")}}',"x-component":"Action","x-component-props":{type:"primary",useAction:"{{ useRevisionAction }}"}},cancel:{type:"void",title:'{{t("Cancel")}}',"x-component":"Action","x-component-props":{useAction:"{{ cm.useCancelAction }}"}}}}}}}},delete:{type:"void",title:'{{ t("Delete") }}',"x-component":"Action.Link","x-component-props":{confirm:{title:"{{t('Delete record')}}",content:"{{t('Are you sure you want to delete it?')}}"},useAction:"{{ cm.useDestroyActionAndRefreshCM }}"}}}}}}}}}}}}}},P=o(9130),E=o(5588),j=o(1600);function k(e){var t=e.data,o=t.label,r=t.color,c=t.options,a=(0,l.useCompile)();return n().createElement(i.Space,{direction:"vertical"},n().createElement(i.Tag,{color:r},a(o)),n().createElement(i.Typography.Text,{type:"secondary",style:{whiteSpace:"normal"}},a(c.description)))}var F=o(482),D=o(2948),T=o(8875),R=o(467);function I(e,t){(null==t||t>e.length)&&(t=e.length);for(var o=0,r=Array(t);o<t;o++)r[o]=e[o];return r}function V(e,t,o,r,n,i,c){try{var a=e[i](c),l=a.value}catch(e){o(e);return}a.done?t(l):Promise.resolve(l).then(r,n)}function M(e){return function(){var t=this,o=arguments;return new Promise(function(r,n){var i=e.apply(t,o);function c(e){V(i,r,n,c,a,"next",e)}function a(e){V(i,r,n,c,a,"throw",e)}c(void 0)})}}function q(e){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{},r=Object.keys(o);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(o).filter(function(e){return Object.getOwnPropertyDescriptor(o,e).enumerable}))),r.forEach(function(t){var r;r=o[t],t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r})}return e}function L(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);o.push.apply(o,r)}return o})(Object(t)).forEach(function(o){Object.defineProperty(e,o,Object.getOwnPropertyDescriptor(t,o))}),e}function N(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var o,r,n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var i=[],c=!0,a=!1;try{for(n=n.call(e);!(c=(o=n.next()).done)&&(i.push(o.value),!t||i.length!==t);c=!0);}catch(e){a=!0,r=e}finally{try{c||null==n.return||n.return()}finally{if(a)throw r}}return i}}(e,t)||function(e,t){if(e){if("string"==typeof e)return I(e,t);var o=Object.prototype.toString.call(e).slice(8,-1);if("Object"===o&&e.constructor&&(o=e.constructor.name),"Map"===o||"Set"===o)return Array.from(o);if("Arguments"===o||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o))return I(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 W(e,t){var o,r,n,i,c={label:0,sent:function(){if(1&n[0])throw n[1];return n[1]},trys:[],ops:[]};return i={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function a(i){return function(a){var l=[i,a];if(o)throw TypeError("Generator is already executing.");for(;c;)try{if(o=1,r&&(n=2&l[0]?r.return:l[0]?r.throw||((n=r.return)&&n.call(r),0):r.next)&&!(n=n.call(r,l[1])).done)return n;switch(r=0,n&&(l=[2&l[0],n.value]),l[0]){case 0:case 1:n=l;break;case 4:return c.label++,{value:l[1],done:!1};case 5:c.label++,r=l[1],l=[0];continue;case 7:l=c.ops.pop(),c.trys.pop();continue;default:if(!(n=(n=c.trys).length>0&&n[n.length-1])&&(6===l[0]||2===l[0])){c=0;continue}if(3===l[0]&&(!n||l[1]>n[0]&&l[1]<n[3])){c.label=l[1];break}if(6===l[0]&&c.label<n[1]){c.label=n[1],n=l;break}if(n&&c.label<n[2]){c.label=n[2],c.ops.push(l);break}n[2]&&c.ops.pop(),c.trys.pop();continue}l=t.call(e,c)}catch(e){l=[6,e],r=0}finally{o=n=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}}}function B(){var e,t,o=(e=["\n .ant-tabs-nav-list > :first-child {\n border: none;\n }\n "],t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}})));return B=function(){return o},o}function _(e){var t=(0,D.useDraggable)({id:e.id,data:e.data}),o=t.attributes,r=t.listeners,i=t.setNodeRef;return n().createElement("div",q({ref:i},r,o),n().createElement("div",null,e.children))}function z(e){var t=(0,D.useDroppable)({id:e.id,data:e.data}),o=t.isOver,r=t.setNodeRef;return n().createElement("div",{ref:r,style:o?{color:"green"}:void 0},e.children)}var K=(0,a.observer)(function(e){var t=e.item;return n().createElement(z,{id:t.id.toString(),data:t},n().createElement("div",null,n().createElement(_,{id:t.id.toString(),data:t},n().createElement($,{item:t}))))},{displayName:"TabTitle"}),$=function(e){var t=e.item,o=(0,d.useTranslation)().t,r=(0,l.useCompile)();return n().createElement(i.Space,null,n().createElement(i.Badge,{color:t.color}),o(r(t.title)))},G=(0,a.observer)(function(e){var t,o=N((0,r.useState)(null),2),i=o[0],c=o[1],a=(0,r.useContext)(U).refresh,s=(0,l.useAPIClient)(),u=(t=M(function(e){var t,o;return W(this,function(r){switch(r.label){case 0:if(t=e.active,o=e.over,setTimeout(function(){c(null)}),!(o&&o.id!==t.id))return[3,2];return[4,s.resource("workflowCategories").move({sourceId:t.id,targetId:o.id})];case 1:r.sent(),a(),r.label=2;case 2:return[2]}})}),function(e){return t.apply(this,arguments)}),p=(0,D.useSensor)(D.MouseSensor,{activationConstraint:{distance:10}}),m=(0,D.useSensors)(p);return n().createElement(D.DndContext,{sensors:m,onDragEnd:u,onDragStart:function(e){var t;c(null==(t=e.active)?void 0:t.data.current)}},e.children,n().createElement(D.DragOverlay,null,i?n().createElement("span",{style:{whiteSpace:"nowrap"}},n().createElement($,{item:i})):null))},{displayName:"DndProvider"}),U=(0,r.createContext)({});function Q(e){var t=e.values,o=e.onEdit,c=e.onRemove,a=(0,l.useCompile)(),s=(0,r.useCallback)(function(e){switch(e.key){case"edit":o(t);break;case"delete":c(t.id)}},[o,c,t]);return n().createElement(i.Dropdown,{menu:{items:[{key:"edit",label:(0,g.KQ)("Edit category")},{key:"delete",label:(0,g.KQ)("Delete category")}],onClick:s}},n().createElement(F.MenuOutlined,{role:"button","aria-label":a(t.title),style:{padding:8,margin:"-8px"}}))}function H(){var e,t=(0,l.useResourceActionContext)(),o=t.run,s=t.setState,u=t.defaultRequest,p=N((0,r.useState)({tab:"all"}),2),m=p[0],d=p[1],f=N((0,r.useState)(m.tab),2),y=f[0],b=f[1],v=(0,l.useCompile)(),x=(0,l.useAPIClient)(),h=(0,a.useFieldSchema)(),O=i.App.useApp().modal,A=(0,l.useRequest)({resource:"workflowCategories",action:"list",params:{paginate:!1,sort:["sort"]}}),w=A.data,C=A.refresh,S=N((0,r.useState)(!1),2),P=S[0],E=S[1],j=(0,r.useMemo)(function(){return(0,c.createForm)()},[]),k=(0,r.useCallback)(function(e){E(!0);var t=(0,R.cloneDeep)(e);j.setValues(t)},[j]),F=(0,r.useCallback)(function(){E(!1),j.reset()},[j]),D=(0,r.useCallback)(function(e){O.confirm({title:v("{{t('Delete category')}}"),content:v("{{t('Are you sure you want to delete it?')}}"),onOk:M(function(){return W(this,function(t){switch(t.label){case 0:return[4,x.resource("workflowCategories").destroy({filter:{id:e}})];case 1:return t.sent(),e===+m.tab&&d({tab:"all"}),C(),o(),[2]}})})})},[m.tab]),I=(0,r.useMemo)(function(){if(!(null==w?void 0:w.data))return[];var e=w.data.sort(function(e,t){return e.sort-t.sort}).concat().map(function(e){return L(q({},e),{schema:h.properties.main})});return e.find(function(e){return"all"===e.id})||e.unshift({title:'{{t("All", { ns: "'.concat(g.A7,'" })}}'),id:"all",sort:0,closable:!1,schema:h.properties.main}),e.map(function(e){return{label:"all"!==e.id?n().createElement("div",{"data-no-dnd":"true"},n().createElement(K,{item:e})):v(e.title),key:String(e.id),closable:e.closable,closeIcon:n().createElement(Q,{values:e,onEdit:k,onRemove:D}),children:n().createElement(i.Card,{variant:"borderless",style:{borderRadius:"0 0.5em 0.5em 0.5em"}},n().createElement(a.RecursionField,{name:y,schema:e.schema,onlyRenderProperties:!0}))}})},[v,null==w?void 0:w.data,y,k,D,h.properties.main]),V=(0,r.useCallback)(function(e){if(d({tab:e}),b((0,T.uid)()),"all"!==e){var t,r={$and:[null==u||null==(t=u.params)?void 0:t.filter,{"categories.id":e}]};o({filter:r}),null==s||s({categories:[+e],params:[{filter:r}]})}else o(),null==s||s({categories:[],params:[]})},[null==u||null==(e=u.params)?void 0:e.filter,o,s]);return((0,r.useEffect)(function(){"all"!==m.tab&&V(m.tab)},[m.tab,V]),w)?n().createElement(U.Provider,{value:{refresh:C}},n().createElement(G,null,n().createElement(i.Tabs,{addIcon:n().createElement(l.SchemaComponent,{components:{AddCategory:Y},schema:{type:"void",properties:{addCategories:{type:"void",title:'{{ t("Add category", { ns: "'.concat(g.A7,'" }) }}'),"x-component":"AddCategory","x-component-props":{type:"primary"}}}}}),onChange:V,defaultActiveKey:m.tab||"all",type:"editable-card",destroyInactiveTabPane:!0,tabBarStyle:{marginBottom:"0px"},className:(0,l.css)(B()),items:I})),n().createElement(l.ActionContextProvider,{value:{visible:P,setVisible:F,openSize:"small"}},n().createElement(l.SchemaComponent,{scope:{useFormProviderProps:Z,useCancelAction:l.useCancelAction,useEditSubmit:X},schema:{name:(0,T.uid)(),type:"void","x-decorator":"FormV2","x-decorator-props":{form:j},title:'{{ t("Edit category", { ns: "'.concat(g.A7,'" }) }}'),"x-component":"Action.Modal","x-component-props":{delay:0},properties:{title:{type:"string",title:'{{t("Title")}}',required:!0,"x-decorator":"FormItem","x-component":"Input"},color:{type:"string",title:'{{t("Color")}}',required:!1,"x-decorator":"FormItem","x-component":"ColorSelect"},footer:{type:"void","x-component":"Action.Modal.Footer",properties:{cancel:{title:'{{ t("Cancel") }}',"x-component":"Action","x-component-props":{useAction:"{{ useCancelAction }}"}},submit:{title:'{{ t("Submit") }}',"x-component":"Action","x-component-props":{type:"primary",useAction:"{{ useEditSubmit }}",style:{marginLeft:"8px"}}}}}}}}))):null}function X(){var e=(0,a.useForm)(),t=(0,l.useActionContext)(),o=(0,l.useResourceActionContext)(),n=(0,r.useContext)(U).refresh,i=(0,l.useAPIClient)();return{run:function(){return M(function(){var r;return W(this,function(c){switch(c.label){case 0:return[4,e.submit()];case 1:return c.sent(),[4,i.resource("workflowCategories").update({filterByTk:null==(r=e.values)?void 0:r.id,values:e.values})];case 2:return c.sent(),t.setVisible(!1),[4,e.reset()];case 3:return c.sent(),null==n||n(),null==o||o.refresh(),[2]}})})()}}}function Z(){return{form:(0,a.useForm)()}}function J(){var e=(0,a.useForm)(),t=(0,l.useActionContext)().setVisible,o=(0,r.useContext)(U).refresh,n=(0,l.useAPIClient)();return{run:function(){return M(function(){var r;return W(this,function(i){switch(i.label){case 0:return[4,e.submit()];case 1:return i.sent(),r=(0,R.cloneDeep)(e.values),[4,n.resource("workflowCategories").create({values:r})];case 2:return i.sent(),t(!1),e.reset(),o(),[2]}})})()}}}function Y(e){var t=N((0,r.useState)(!1),2),o=t[0],i=t[1],a=(0,d.useTranslation)().t,s=(0,r.useMemo)(function(){return(0,c.createForm)()},[]);return n().createElement(l.ActionContextProvider,{value:{visible:o,setVisible:i,openSize:"small"}},n().createElement("div",{onClick:function(){return i(!0)},title:a("Add category")},n().createElement(F.PlusOutlined,null)),n().createElement(l.SchemaComponent,{schema:{name:"modal",type:"void","x-decorator":"FormV2","x-decorator-props":{form:s},title:'{{ t("Add category") }}',"x-component":"Action.Modal","x-component-props":L(q({},e),{delay:0}),properties:{title:{type:"string",title:'{{t("Title")}}',required:!0,"x-decorator":"FormItem","x-component":"Input"},color:{type:"string",title:'{{t("Color")}}',required:!1,"x-decorator":"FormItem","x-component":"ColorSelect"},footer:{type:"void","x-component":"Action.Modal.Footer",properties:{cancel:{title:'{{ t("Cancel") }}',"x-component":"Action","x-component-props":{useAction:"{{ useCancelAction }}"}},submit:{title:'{{ t("Submit") }}',"x-component":"Action","x-component-props":{type:"primary",useAction:"{{ useCreateSubmit }}",style:{marginLeft:"8px"}}}}}}},scope:{useCancelAction:l.useCancelAction,useCreateSubmit:J}}))}function ee(e){var t=e.value,o=e.multiple,r=e.fieldNames,c=void 0===r?l.defaultFieldNames:r,a=(0,l.useCompile)();return(o?null!=t?t:[]:t?[t]:[]).map(function(e){return n().createElement(i.Tag,{key:e[c.value],color:e[c.color]},a(e[c.label]))})}var et=function(){var e,t,o=(0,l.useResourceContext)().collection,r=(0,l.useFilterFieldOptions)(o.fields),n=(0,l.useResourceActionContext)();return(0,l.useFilterFieldProps)({options:r,params:(null==(t=n.state)||null==(e=t.params)?void 0:e[0])||n.params,service:n})};function eo(e,t,o,r,n,i,c){try{var a=e[i](c),l=a.value}catch(e){o(e);return}a.done?t(l):Promise.resolve(l).then(r,n)}function er(e){return function(){var t=this,o=arguments;return new Promise(function(r,n){var i=e.apply(t,o);function c(e){eo(i,r,n,c,a,"next",e)}function a(e){eo(i,r,n,c,a,"throw",e)}c(void 0)})}}function en(e,t){var o,r,n,i,c={label:0,sent:function(){if(1&n[0])throw n[1];return n[1]},trys:[],ops:[]};return i={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function a(i){return function(a){var l=[i,a];if(o)throw TypeError("Generator is already executing.");for(;c;)try{if(o=1,r&&(n=2&l[0]?r.return:l[0]?r.throw||((n=r.return)&&n.call(r),0):r.next)&&!(n=n.call(r,l[1])).done)return n;switch(r=0,n&&(l=[2&l[0],n.value]),l[0]){case 0:case 1:n=l;break;case 4:return c.label++,{value:l[1],done:!1};case 5:c.label++,r=l[1],l=[0];continue;case 7:l=c.ops.pop(),c.trys.pop();continue;default:if(!(n=(n=c.trys).length>0&&n[n.length-1])&&(6===l[0]||2===l[0])){c=0;continue}if(3===l[0]&&(!n||l[1]>n[0]&&l[1]<n[3])){c.label=l[1];break}if(6===l[0]&&c.label<n[1]){c.label=n[1],n=l;break}if(n&&c.label<n[2]){c.label=n[2],c.ops.push(l);break}n[2]&&c.ops.pop(),c.trys.pop();continue}l=t.call(e,c)}catch(e){l=[6,e],r=0}finally{o=n=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}}}function ei(e){var t=(0,a.useField)(),o=(0,l.useRecord)(),i=(0,l.usePlugin)(P.default);return(0,a.useFormEffects)(function(e){(0,c.onFieldChange)("type",function(e){var r=o.id||!e.value;if(e.value){var n=i.triggers.get(e.value);null!=n.sync?(r=!0,t.setValue(n.sync)):t.setInitialValue(!1)}t.setPattern(r?"disabled":"editable")})}),(0,r.useEffect)(function(){if(o.id){t.setPattern("disabled");var r,n=i.triggers.get(o.type);null!=n.sync?t.setValue(n.sync):t.setInitialValue(null!=(r=e.value)&&r)}},[o.id,t,i.triggers,o.type,e.value]),n().createElement(E.W5,e)}function ec(e){var t=(0,l.useApp)();e.visible=!!((0,l.usePlugin)("multi-app-share-collection")||"main"!==t.name)}function ea(){var e=i.App.useApp().message,t=(0,d.useTranslation)().t,o=(0,l.useResourceContext)().resource;return{run:function(){return er(function(){return en(this,function(r){switch(r.label){case 0:return[4,o.sync()];case 1:return r.sent(),e.success(t("Operation succeeded")),[2]}})})()}}}function el(){var e=i.App.useApp().message,t=(0,d.useTranslation)().t,o=(0,l.useResourceActionContext)().refresh,r=(0,l.useResourceContext)(),n=r.resource,c=r.targetKey,s=(0,l.useActionContext)().setVisible,u=(0,l.useRecord)()[c],p=(0,a.useForm)(),m=(0,a.useField)();return{run:function(){return er(function(){return en(this,function(r){switch(r.label){case 0:return r.trys.push([0,3,4,5]),[4,p.submit()];case 1:return r.sent(),m.data=m.data||{},m.data.loading=!0,[4,n.revision({filterByTk:u,values:p.values})];case 2:return r.sent(),e.success(t("Operation succeeded")),o(),s(!1),[3,5];case 3:return console.error(r.sent()),[3,5];case 4:return m.data&&(m.data.loading=!1),[7];case 5:return[2]}})})()}}}function es(){var e,t,o=(0,r.useContext)(l.SchemaComponentContext),c=(0,l.usePlugin)(P.default).useTriggersOptions;return n().createElement(l.SchemaComponentContext.Provider,{value:(e=function(e){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{},r=Object.keys(o);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(o).filter(function(e){return Object.getOwnPropertyDescriptor(o,e).enumerable}))),r.forEach(function(t){var r;r=o[t],t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r})}return e}({},o),t=t={designable:!1},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);o.push.apply(o,r)}return o})(Object(t)).forEach(function(o){Object.defineProperty(e,o,Object.getOwnPropertyDescriptor(t,o))}),e)},n().createElement(l.SchemaComponent,{schema:S,components:{CollectionProvider:l.CollectionProvider,WorkflowLink:b,ExecutionResourceProvider:m,ExecutionLink:s.a,OpenDrawer:x,SyncOptionSelect:ei,ExecutionStatusColumn:w.rV,Tooltip:i.Tooltip,CategoryTabs:H,EnumerationField:ee},scope:{useTriggersOptions:c,useWorkflowSyncReaction:ec,useSyncAction:ea,useWorkflowFilterActionProps:et,useRefreshActionProps:j.X,useRevisionAction:el,TriggerOptionRender:k,ExecutionStatusOptions:O.C6}}))}}}]);
10
+ "use strict";(self.webpackChunk_nocobase_plugin_workflow=self.webpackChunk_nocobase_plugin_workflow||[]).push([["830"],{7482:function(e,t,o){o.r(t),o.d(t,{WorkflowPane:function(){return es}});var r=o(8156),n=o.n(r),i=o(2721),c=o(8563),a=o(3505),l=o(3772),s=o(1113);function u(e){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{},r=Object.keys(o);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(o).filter(function(e){return Object.getOwnPropertyDescriptor(o,e).enumerable}))),r.forEach(function(t){var r;r=o[t],t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r})}return e}function p(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);o.push.apply(o,r)}return o})(Object(t)).forEach(function(o){Object.defineProperty(e,o,Object.getOwnPropertyDescriptor(t,o))}),e}var m=function(e){var t,o=e.request,r=(e.filter,function(e,t){if(null==e)return{};var o,r,n=function(e,t){if(null==e)return{};var o,r,n={},i=Object.keys(e);for(r=0;r<i.length;r++)o=i[r],t.indexOf(o)>=0||(n[o]=e[o]);return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)o=i[r],!(t.indexOf(o)>=0)&&Object.prototype.propertyIsEnumerable.call(e,o)&&(n[o]=e[o])}return n}(e,["request","filter"])),i=(0,l.useRecord)(),c=p(u({},r),{request:p(u({},o),{params:p(u({},null==o?void 0:o.params),{filter:p(u({},null==o||null==(t=o.params)?void 0:t.filter),{key:i.key})})})});return n().createElement(l.ResourceActionProvider,c)},d=o(3238),f=o(6128),y=o(9315),b=function(){var e=(0,d.useTranslation)().t,t=(0,l.useRecord)().id,o=(0,l.useActionContext)().setVisible,r=(0,l.useGetAriaLabelOfAction)("Configure").getAriaLabel;return n().createElement(f.Link,{"aria-label":r(),to:(0,y.SI)(t),onClick:function(){return o(!1)}},e("Configure"))};function v(e,t){(null==t||t>e.length)&&(t=e.length);for(var o=0,r=Array(t);o<t;o++)r[o]=e[o];return r}function x(e){var t,o,i,c=e.component,s=e.children,u=function(e,t){if(null==e)return{};var o,r,n=function(e,t){if(null==e)return{};var o,r,n={},i=Object.keys(e);for(r=0;r<i.length;r++)o=i[r],t.indexOf(o)>=0||(n[o]=e[o]);return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)o=i[r],!(t.indexOf(o)>=0)&&Object.prototype.propertyIsEnumerable.call(e,o)&&(n[o]=e[o])}return n}(e,["component","children"]),p=(t=(0,r.useState)(!1),function(e){if(Array.isArray(e))return e}(t)||function(e,t){var o,r,n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var i=[],c=!0,a=!1;try{for(n=n.call(e);!(c=(o=n.next()).done)&&(i.push(o.value),i.length!==t);c=!0);}catch(e){a=!0,r=e}finally{try{c||null==n.return||n.return()}finally{if(a)throw r}}return i}}(t,2)||function(e,t){if(e){if("string"==typeof e)return v(e,2);var o=Object.prototype.toString.call(e).slice(8,-1);if("Object"===o&&e.constructor&&(o=e.constructor.name),"Map"===o||"Set"===o)return Array.from(o);if("Arguments"===o||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o))return v(e,t)}}(t,2)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),m=p[0],d=p[1],f=(0,a.useFieldSchema)();return n().createElement(l.ActionContextProvider,{value:{visible:m,setVisible:d,fieldSchema:f}},n().createElement(void 0===c?"div":c,(o=function(e){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{},r=Object.keys(o);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(o).filter(function(e){return Object.getOwnPropertyDescriptor(o,e).enumerable}))),r.forEach(function(t){var r;r=o[t],t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r})}return e}({},u),i=i={onClick:function(){d(!0)}},Object.getOwnPropertyDescriptors?Object.defineProperties(o,Object.getOwnPropertyDescriptors(i)):(function(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);o.push.apply(o,r)}return o})(Object(i)).forEach(function(e){Object.defineProperty(o,e,Object.getOwnPropertyDescriptor(i,e))}),o),s),n().createElement(l.SchemaComponent,{schema:f,onlyRenderProperties:!0}))}var g=o(8551),h=o(1685),O=o(1682),A=o(8833),w=o(4665),C={title:{"x-component":"CollectionField","x-decorator":"FormItem"},type:{"x-decorator":"FormItem",title:'{{t("Trigger type", { ns: "'.concat(g.A7,'" })}}'),"x-component":"Select","x-component-props":{optionRender:"{{TriggerOptionRender}}",popupMatchSelectWidth:!0,listHeight:300},enum:"{{useTriggersOptions()}}",required:!0},sync:{type:"boolean",title:'{{ t("Execute mode", { ns: "'.concat(g.A7,'" }) }}'),description:'{{ t("Execute workflow asynchronously or synchronously based on trigger type, and could not be changed after created.", { ns: "'.concat(g.A7,'" }) }}'),"x-decorator":"FormItem","x-component":"SyncOptionSelect","x-component-props":{options:[{label:'{{ t("Asynchronously", { ns: "'.concat(g.A7,'" }) }}'),value:!1,tooltip:'{{ t("Will be executed in the background as a queued task.", { ns: "'.concat(g.A7,'" }) }}')},{label:'{{ t("Synchronously", { ns: "'.concat(g.A7,'" }) }}'),value:!0,tooltip:'{{ t("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.", { ns: "'.concat(g.A7,'" }) }}')}]}},enabled:{"x-component":"CollectionField","x-decorator":"FormItem"},description:{"x-component":"CollectionField","x-decorator":"FormItem"},categories:{type:"array",title:'{{ t("Category", { ns: "'.concat(g.A7,'" }) }}'),"x-decorator":"FormItem","x-component":"CollectionField","x-collection-field":"workflows.categories"},options:{type:"object","x-component":"fieldset",properties:{deleteExecutionOnStatus:{type:"array",title:'{{ t("Auto delete history when execution is on end status", { ns: "'.concat(g.A7,'" }) }}'),"x-decorator":"FormItem","x-component":"Select","x-component-props":{multiple:!0,optionRender:w.uL,tagRender:w.qo},enum:O.C6.filter(function(e){return!!e.value})},stackLimit:{type:"number",title:'{{ t("Maximum number of cycling triggers", { ns: "'.concat(g.A7,'" }) }}'),description:'{{ t("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.", { ns: "'.concat(g.A7,'" }) }}'),"x-decorator":"FormItem",default:1,"x-component":"InputNumber","x-component-props":{min:1,precision:0,className:"auto-width"}}}}},S={name:"workflow",type:"void",properties:{provider:{type:"void","x-decorator":"ResourceActionProvider","x-decorator-props":{collection:A.Z,resourceName:"workflows",request:{resource:"workflows",action:"list",params:{filter:{current:!0},sort:["-createdAt"],except:["config"]}}},"x-component":"CategoryTabs",properties:{main:{type:"void","x-component":"CardItem",properties:{actions:{type:"void","x-component":"ActionBar","x-component-props":{style:{marginBottom:16}},properties:{filter:{type:"void",title:'{{ t("Filter") }}',default:{$and:[{title:{$includes:""}}]},"x-action":"filter","x-component":"Filter.Action","x-use-component-props":"useWorkflowFilterActionProps","x-component-props":{icon:"FilterOutlined",nonfilterable:["description","categories"]},"x-align":"left"},refresher:{type:"void",title:'{{ t("Refresh") }}',"x-component":"Action","x-use-component-props":"useRefreshActionProps","x-component-props":{icon:"ReloadOutlined"}},sync:{type:"void",title:'{{t("Sync", { ns: "'.concat(g.A7,'" })}}'),"x-decorator":"Tooltip","x-decorator-props":{title:'{{ t("Sync enabled status of all workflows from database", { ns: "'.concat(g.A7,'" }) }}')},"x-component":"Action","x-component-props":{icon:"SyncOutlined",useAction:"{{ useSyncAction }}"},"x-reactions":["{{useWorkflowSyncReaction}}"]},delete:{type:"void",title:'{{t("Delete")}}',"x-component":"Action","x-component-props":{icon:"DeleteOutlined",useAction:"{{ cm.useBulkDestroyAction }}",confirm:{title:"{{t('Delete record')}}",content:"{{t('Are you sure you want to delete it?')}}"}}},create:{type:"void",title:'{{t("Add new")}}',"x-component":"Action","x-component-props":{type:"primary",icon:"PlusOutlined"},properties:{drawer:{type:"void","x-component":"Action.Drawer","x-decorator":"Form","x-decorator-props":{initialValue:{current:!0}},title:'{{t("Add new")}}',properties:{title:C.title,type:C.type,sync:C.sync,categories:C.categories,description:C.description,options:C.options,footer:{type:"void","x-component":"Action.Drawer.Footer",properties:{cancel:{title:'{{ t("Cancel") }}',"x-component":"Action","x-component-props":{useAction:"{{ cm.useCancelAction }}"}},submit:{title:'{{ t("Submit") }}',"x-component":"Action","x-component-props":{type:"primary",useAction:"{{ cm.useCreateAction }}"}}}}}}}}}},table:{type:"array","x-component":"Table.Void","x-component-props":{rowKey:"id",rowSelection:{type:"checkbox"},useDataSource:"{{cm.useDataSourceFromRAC }}"},properties:{title:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",title:'{{ t("Title") }}',properties:{title:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}},categories:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",title:'{{ t("Category", { ns: "'.concat(g.A7,'" }) }}'),properties:{categories:{type:"array","x-component":"EnumerationField","x-component-props":{multiple:!0,fieldNames:{label:"title",value:"id",color:"color"}}}}},type:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",title:'{{ t("Trigger type", { ns: "'.concat(g.A7,'" }) }}'),properties:{type:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}},sync:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",title:'{{ t("Execute mode", { ns: "'.concat(g.A7,'" }) }}'),properties:{sync:{type:"boolean","x-component":"CollectionField","x-read-pretty":!0}}},enabled:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",title:'{{ t("Status", { ns: "'.concat(g.A7,'" }) }}'),properties:{enabled:{type:"boolean","x-component":"CollectionField","x-read-pretty":!0,default:!1}}},"stats.executed":{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",title:'{{ t("Executed", { ns: "'.concat(g.A7,'" }) }}'),properties:{"stats.executed":{type:"number","x-decorator":"OpenDrawer","x-decorator-props":{component:function(e){var t=(0,l.useCollectionRecordData)();return n().createElement("a",function(e){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{},r=Object.keys(o);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(o).filter(function(e){return Object.getOwnPropertyDescriptor(o,e).enumerable}))),r.forEach(function(t){var r;r=o[t],t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r})}return e}({"aria-label":"executed-".concat(t.title)},e))}},"x-component":"InputNumber","x-read-pretty":!0,properties:{drawer:h.V}}}},actions:{type:"void",title:'{{ t("Actions") }}',"x-decorator":"Table.Column.Decorator","x-component":"Table.Column",properties:{actions:{type:"void","x-component":"Space","x-component-props":{split:"|"},properties:{configure:{type:"void","x-component":"WorkflowLink"},update:{type:"void",title:'{{ t("Edit") }}',"x-component":"Action.Link","x-component-props":{type:"primary"},properties:{drawer:{type:"void","x-component":"Action.Drawer","x-decorator":"Form","x-decorator-props":{useValues:"{{ cm.useValuesFromRecord }}"},title:'{{ t("Edit") }}',properties:{title:C.title,enabled:C.enabled,sync:C.sync,categories:C.categories,description:C.description,options:C.options,footer:{type:"void","x-component":"Action.Drawer.Footer",properties:{cancel:{title:'{{ t("Cancel") }}',"x-component":"Action","x-component-props":{useAction:"{{ cm.useCancelAction }}"}},submit:{title:'{{ t("Submit") }}',"x-component":"Action","x-component-props":{type:"primary",useAction:"{{ cm.useUpdateAction }}"}}}}}}}},revision:{type:"void",title:'{{t("Duplicate", { ns: "'.concat(g.A7,'" })}}'),"x-component":"Action.Link","x-component-props":{openSize:"small"},properties:{modal:{type:"void",title:'{{t("Duplicate to new workflow", { ns: "'.concat(g.A7,'" })}}'),"x-decorator":"FormV2","x-component":"Action.Modal",properties:{title:{type:"string",title:'{{t("Title")}}',"x-decorator":"FormItem","x-component":"Input"},footer:{type:"void","x-component":"Action.Modal.Footer",properties:{submit:{type:"void",title:'{{t("Submit")}}',"x-component":"Action","x-component-props":{type:"primary",useAction:"{{ useRevisionAction }}"}},cancel:{type:"void",title:'{{t("Cancel")}}',"x-component":"Action","x-component-props":{useAction:"{{ cm.useCancelAction }}"}}}}}}}},delete:{type:"void",title:'{{ t("Delete") }}',"x-component":"Action.Link","x-component-props":{confirm:{title:"{{t('Delete record')}}",content:"{{t('Are you sure you want to delete it?')}}"},useAction:"{{ cm.useDestroyActionAndRefreshCM }}"}}}}}}}}}}}}}},P=o(4199),E=o(5588),j=o(1600);function k(e){var t=e.data,o=t.label,r=t.color,c=t.options,a=(0,l.useCompile)();return n().createElement(i.Space,{direction:"vertical"},n().createElement(i.Tag,{color:r},a(o)),n().createElement(i.Typography.Text,{type:"secondary",style:{whiteSpace:"normal"}},a(c.description)))}var F=o(482),D=o(2948),T=o(8875),R=o(467);function I(e,t){(null==t||t>e.length)&&(t=e.length);for(var o=0,r=Array(t);o<t;o++)r[o]=e[o];return r}function V(e,t,o,r,n,i,c){try{var a=e[i](c),l=a.value}catch(e){o(e);return}a.done?t(l):Promise.resolve(l).then(r,n)}function M(e){return function(){var t=this,o=arguments;return new Promise(function(r,n){var i=e.apply(t,o);function c(e){V(i,r,n,c,a,"next",e)}function a(e){V(i,r,n,c,a,"throw",e)}c(void 0)})}}function q(e){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{},r=Object.keys(o);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(o).filter(function(e){return Object.getOwnPropertyDescriptor(o,e).enumerable}))),r.forEach(function(t){var r;r=o[t],t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r})}return e}function L(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);o.push.apply(o,r)}return o})(Object(t)).forEach(function(o){Object.defineProperty(e,o,Object.getOwnPropertyDescriptor(t,o))}),e}function N(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var o,r,n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var i=[],c=!0,a=!1;try{for(n=n.call(e);!(c=(o=n.next()).done)&&(i.push(o.value),!t||i.length!==t);c=!0);}catch(e){a=!0,r=e}finally{try{c||null==n.return||n.return()}finally{if(a)throw r}}return i}}(e,t)||function(e,t){if(e){if("string"==typeof e)return I(e,t);var o=Object.prototype.toString.call(e).slice(8,-1);if("Object"===o&&e.constructor&&(o=e.constructor.name),"Map"===o||"Set"===o)return Array.from(o);if("Arguments"===o||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o))return I(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 W(e,t){var o,r,n,i,c={label:0,sent:function(){if(1&n[0])throw n[1];return n[1]},trys:[],ops:[]};return i={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function a(i){return function(a){var l=[i,a];if(o)throw TypeError("Generator is already executing.");for(;c;)try{if(o=1,r&&(n=2&l[0]?r.return:l[0]?r.throw||((n=r.return)&&n.call(r),0):r.next)&&!(n=n.call(r,l[1])).done)return n;switch(r=0,n&&(l=[2&l[0],n.value]),l[0]){case 0:case 1:n=l;break;case 4:return c.label++,{value:l[1],done:!1};case 5:c.label++,r=l[1],l=[0];continue;case 7:l=c.ops.pop(),c.trys.pop();continue;default:if(!(n=(n=c.trys).length>0&&n[n.length-1])&&(6===l[0]||2===l[0])){c=0;continue}if(3===l[0]&&(!n||l[1]>n[0]&&l[1]<n[3])){c.label=l[1];break}if(6===l[0]&&c.label<n[1]){c.label=n[1],n=l;break}if(n&&c.label<n[2]){c.label=n[2],c.ops.push(l);break}n[2]&&c.ops.pop(),c.trys.pop();continue}l=t.call(e,c)}catch(e){l=[6,e],r=0}finally{o=n=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}}}function B(){var e,t,o=(e=["\n .ant-tabs-nav-list > :first-child {\n border: none;\n }\n "],t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}})));return B=function(){return o},o}function _(e){var t=(0,D.useDraggable)({id:e.id,data:e.data}),o=t.attributes,r=t.listeners,i=t.setNodeRef;return n().createElement("div",q({ref:i},r,o),n().createElement("div",null,e.children))}function z(e){var t=(0,D.useDroppable)({id:e.id,data:e.data}),o=t.isOver,r=t.setNodeRef;return n().createElement("div",{ref:r,style:o?{color:"green"}:void 0},e.children)}var K=(0,a.observer)(function(e){var t=e.item;return n().createElement(z,{id:t.id.toString(),data:t},n().createElement("div",null,n().createElement(_,{id:t.id.toString(),data:t},n().createElement($,{item:t}))))},{displayName:"TabTitle"}),$=function(e){var t=e.item,o=(0,d.useTranslation)().t,r=(0,l.useCompile)();return n().createElement(i.Space,null,n().createElement(i.Badge,{color:t.color}),o(r(t.title)))},G=(0,a.observer)(function(e){var t,o=N((0,r.useState)(null),2),i=o[0],c=o[1],a=(0,r.useContext)(U).refresh,s=(0,l.useAPIClient)(),u=(t=M(function(e){var t,o;return W(this,function(r){switch(r.label){case 0:if(t=e.active,o=e.over,setTimeout(function(){c(null)}),!(o&&o.id!==t.id))return[3,2];return[4,s.resource("workflowCategories").move({sourceId:t.id,targetId:o.id})];case 1:r.sent(),a(),r.label=2;case 2:return[2]}})}),function(e){return t.apply(this,arguments)}),p=(0,D.useSensor)(D.MouseSensor,{activationConstraint:{distance:10}}),m=(0,D.useSensors)(p);return n().createElement(D.DndContext,{sensors:m,onDragEnd:u,onDragStart:function(e){var t;c(null==(t=e.active)?void 0:t.data.current)}},e.children,n().createElement(D.DragOverlay,null,i?n().createElement("span",{style:{whiteSpace:"nowrap"}},n().createElement($,{item:i})):null))},{displayName:"DndProvider"}),U=(0,r.createContext)({});function Q(e){var t=e.values,o=e.onEdit,c=e.onRemove,a=(0,l.useCompile)(),s=(0,r.useCallback)(function(e){switch(e.key){case"edit":o(t);break;case"delete":c(t.id)}},[o,c,t]);return n().createElement(i.Dropdown,{menu:{items:[{key:"edit",label:(0,g.KQ)("Edit category")},{key:"delete",label:(0,g.KQ)("Delete category")}],onClick:s}},n().createElement(F.MenuOutlined,{role:"button","aria-label":a(t.title),style:{padding:8,margin:"-8px"}}))}function H(){var e,t=(0,l.useResourceActionContext)(),o=t.run,s=t.setState,u=t.defaultRequest,p=N((0,r.useState)({tab:"all"}),2),m=p[0],d=p[1],f=N((0,r.useState)(m.tab),2),y=f[0],b=f[1],v=(0,l.useCompile)(),x=(0,l.useAPIClient)(),h=(0,a.useFieldSchema)(),O=i.App.useApp().modal,A=(0,l.useRequest)({resource:"workflowCategories",action:"list",params:{paginate:!1,sort:["sort"]}}),w=A.data,C=A.refresh,S=N((0,r.useState)(!1),2),P=S[0],E=S[1],j=(0,r.useMemo)(function(){return(0,c.createForm)()},[]),k=(0,r.useCallback)(function(e){E(!0);var t=(0,R.cloneDeep)(e);j.setValues(t)},[j]),F=(0,r.useCallback)(function(){E(!1),j.reset()},[j]),D=(0,r.useCallback)(function(e){O.confirm({title:v("{{t('Delete category')}}"),content:v("{{t('Are you sure you want to delete it?')}}"),onOk:M(function(){return W(this,function(t){switch(t.label){case 0:return[4,x.resource("workflowCategories").destroy({filter:{id:e}})];case 1:return t.sent(),e===+m.tab&&d({tab:"all"}),C(),o(),[2]}})})})},[m.tab]),I=(0,r.useMemo)(function(){if(!(null==w?void 0:w.data))return[];var e=w.data.sort(function(e,t){return e.sort-t.sort}).concat().map(function(e){return L(q({},e),{schema:h.properties.main})});return e.find(function(e){return"all"===e.id})||e.unshift({title:'{{t("All", { ns: "'.concat(g.A7,'" })}}'),id:"all",sort:0,closable:!1,schema:h.properties.main}),e.map(function(e){return{label:"all"!==e.id?n().createElement("div",{"data-no-dnd":"true"},n().createElement(K,{item:e})):v(e.title),key:String(e.id),closable:e.closable,closeIcon:n().createElement(Q,{values:e,onEdit:k,onRemove:D}),children:n().createElement(i.Card,{variant:"borderless",style:{borderRadius:"0 0.5em 0.5em 0.5em"}},n().createElement(a.RecursionField,{name:y,schema:e.schema,onlyRenderProperties:!0}))}})},[v,null==w?void 0:w.data,y,k,D,h.properties.main]),V=(0,r.useCallback)(function(e){if(d({tab:e}),b((0,T.uid)()),"all"!==e){var t,r={$and:[null==u||null==(t=u.params)?void 0:t.filter,{"categories.id":e}]};o({filter:r}),null==s||s({categories:[+e],params:[{filter:r}]})}else o(),null==s||s({categories:[],params:[]})},[null==u||null==(e=u.params)?void 0:e.filter,o,s]);return((0,r.useEffect)(function(){"all"!==m.tab&&V(m.tab)},[m.tab,V]),w)?n().createElement(U.Provider,{value:{refresh:C}},n().createElement(G,null,n().createElement(i.Tabs,{addIcon:n().createElement(l.SchemaComponent,{components:{AddCategory:Y},schema:{type:"void",properties:{addCategories:{type:"void",title:'{{ t("Add category", { ns: "'.concat(g.A7,'" }) }}'),"x-component":"AddCategory","x-component-props":{type:"primary"}}}}}),onChange:V,defaultActiveKey:m.tab||"all",type:"editable-card",destroyInactiveTabPane:!0,tabBarStyle:{marginBottom:"0px"},className:(0,l.css)(B()),items:I})),n().createElement(l.ActionContextProvider,{value:{visible:P,setVisible:F,openSize:"small"}},n().createElement(l.SchemaComponent,{scope:{useFormProviderProps:Z,useCancelAction:l.useCancelAction,useEditSubmit:X},schema:{name:(0,T.uid)(),type:"void","x-decorator":"FormV2","x-decorator-props":{form:j},title:'{{ t("Edit category", { ns: "'.concat(g.A7,'" }) }}'),"x-component":"Action.Modal","x-component-props":{delay:0},properties:{title:{type:"string",title:'{{t("Title")}}',required:!0,"x-decorator":"FormItem","x-component":"Input"},color:{type:"string",title:'{{t("Color")}}',required:!1,"x-decorator":"FormItem","x-component":"ColorSelect"},footer:{type:"void","x-component":"Action.Modal.Footer",properties:{cancel:{title:'{{ t("Cancel") }}',"x-component":"Action","x-component-props":{useAction:"{{ useCancelAction }}"}},submit:{title:'{{ t("Submit") }}',"x-component":"Action","x-component-props":{type:"primary",useAction:"{{ useEditSubmit }}",style:{marginLeft:"8px"}}}}}}}}))):null}function X(){var e=(0,a.useForm)(),t=(0,l.useActionContext)(),o=(0,l.useResourceActionContext)(),n=(0,r.useContext)(U).refresh,i=(0,l.useAPIClient)();return{run:function(){return M(function(){var r;return W(this,function(c){switch(c.label){case 0:return[4,e.submit()];case 1:return c.sent(),[4,i.resource("workflowCategories").update({filterByTk:null==(r=e.values)?void 0:r.id,values:e.values})];case 2:return c.sent(),t.setVisible(!1),[4,e.reset()];case 3:return c.sent(),null==n||n(),null==o||o.refresh(),[2]}})})()}}}function Z(){return{form:(0,a.useForm)()}}function J(){var e=(0,a.useForm)(),t=(0,l.useActionContext)().setVisible,o=(0,r.useContext)(U).refresh,n=(0,l.useAPIClient)();return{run:function(){return M(function(){var r;return W(this,function(i){switch(i.label){case 0:return[4,e.submit()];case 1:return i.sent(),r=(0,R.cloneDeep)(e.values),[4,n.resource("workflowCategories").create({values:r})];case 2:return i.sent(),t(!1),e.reset(),o(),[2]}})})()}}}function Y(e){var t=N((0,r.useState)(!1),2),o=t[0],i=t[1],a=(0,d.useTranslation)().t,s=(0,r.useMemo)(function(){return(0,c.createForm)()},[]);return n().createElement(l.ActionContextProvider,{value:{visible:o,setVisible:i,openSize:"small"}},n().createElement("div",{onClick:function(){return i(!0)},title:a("Add category")},n().createElement(F.PlusOutlined,null)),n().createElement(l.SchemaComponent,{schema:{name:"modal",type:"void","x-decorator":"FormV2","x-decorator-props":{form:s},title:'{{ t("Add category") }}',"x-component":"Action.Modal","x-component-props":L(q({},e),{delay:0}),properties:{title:{type:"string",title:'{{t("Title")}}',required:!0,"x-decorator":"FormItem","x-component":"Input"},color:{type:"string",title:'{{t("Color")}}',required:!1,"x-decorator":"FormItem","x-component":"ColorSelect"},footer:{type:"void","x-component":"Action.Modal.Footer",properties:{cancel:{title:'{{ t("Cancel") }}',"x-component":"Action","x-component-props":{useAction:"{{ useCancelAction }}"}},submit:{title:'{{ t("Submit") }}',"x-component":"Action","x-component-props":{type:"primary",useAction:"{{ useCreateSubmit }}",style:{marginLeft:"8px"}}}}}}},scope:{useCancelAction:l.useCancelAction,useCreateSubmit:J}}))}function ee(e){var t=e.value,o=e.multiple,r=e.fieldNames,c=void 0===r?l.defaultFieldNames:r,a=(0,l.useCompile)();return(o?null!=t?t:[]:t?[t]:[]).map(function(e){return n().createElement(i.Tag,{key:e[c.value],color:e[c.color]},a(e[c.label]))})}var et=function(){var e,t,o=(0,l.useResourceContext)().collection,r=(0,l.useFilterFieldOptions)(o.fields),n=(0,l.useResourceActionContext)();return(0,l.useFilterFieldProps)({options:r,params:(null==(t=n.state)||null==(e=t.params)?void 0:e[0])||n.params,service:n})};function eo(e,t,o,r,n,i,c){try{var a=e[i](c),l=a.value}catch(e){o(e);return}a.done?t(l):Promise.resolve(l).then(r,n)}function er(e){return function(){var t=this,o=arguments;return new Promise(function(r,n){var i=e.apply(t,o);function c(e){eo(i,r,n,c,a,"next",e)}function a(e){eo(i,r,n,c,a,"throw",e)}c(void 0)})}}function en(e,t){var o,r,n,i,c={label:0,sent:function(){if(1&n[0])throw n[1];return n[1]},trys:[],ops:[]};return i={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function a(i){return function(a){var l=[i,a];if(o)throw TypeError("Generator is already executing.");for(;c;)try{if(o=1,r&&(n=2&l[0]?r.return:l[0]?r.throw||((n=r.return)&&n.call(r),0):r.next)&&!(n=n.call(r,l[1])).done)return n;switch(r=0,n&&(l=[2&l[0],n.value]),l[0]){case 0:case 1:n=l;break;case 4:return c.label++,{value:l[1],done:!1};case 5:c.label++,r=l[1],l=[0];continue;case 7:l=c.ops.pop(),c.trys.pop();continue;default:if(!(n=(n=c.trys).length>0&&n[n.length-1])&&(6===l[0]||2===l[0])){c=0;continue}if(3===l[0]&&(!n||l[1]>n[0]&&l[1]<n[3])){c.label=l[1];break}if(6===l[0]&&c.label<n[1]){c.label=n[1],n=l;break}if(n&&c.label<n[2]){c.label=n[2],c.ops.push(l);break}n[2]&&c.ops.pop(),c.trys.pop();continue}l=t.call(e,c)}catch(e){l=[6,e],r=0}finally{o=n=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}}}function ei(e){var t=(0,a.useField)(),o=(0,l.useRecord)(),i=(0,l.usePlugin)(P.default);return(0,a.useFormEffects)(function(e){(0,c.onFieldChange)("type",function(e){var r=o.id||!e.value;if(e.value){var n=i.triggers.get(e.value);null!=n.sync?(r=!0,t.setValue(n.sync)):t.setInitialValue(!1)}t.setPattern(r?"disabled":"editable")})}),(0,r.useEffect)(function(){if(o.id){t.setPattern("disabled");var r,n=i.triggers.get(o.type);null!=n.sync?t.setValue(n.sync):t.setInitialValue(null!=(r=e.value)&&r)}},[o.id,t,i.triggers,o.type,e.value]),n().createElement(E.W5,e)}function ec(e){var t=(0,l.useApp)();e.visible=!!((0,l.usePlugin)("multi-app-share-collection")||"main"!==t.name)}function ea(){var e=i.App.useApp().message,t=(0,d.useTranslation)().t,o=(0,l.useResourceContext)().resource;return{run:function(){return er(function(){return en(this,function(r){switch(r.label){case 0:return[4,o.sync()];case 1:return r.sent(),e.success(t("Operation succeeded")),[2]}})})()}}}function el(){var e=i.App.useApp().message,t=(0,d.useTranslation)().t,o=(0,l.useResourceActionContext)().refresh,r=(0,l.useResourceContext)(),n=r.resource,c=r.targetKey,s=(0,l.useActionContext)().setVisible,u=(0,l.useRecord)()[c],p=(0,a.useForm)(),m=(0,a.useField)();return{run:function(){return er(function(){return en(this,function(r){switch(r.label){case 0:return r.trys.push([0,3,4,5]),[4,p.submit()];case 1:return r.sent(),m.data=m.data||{},m.data.loading=!0,[4,n.revision({filterByTk:u,values:p.values})];case 2:return r.sent(),e.success(t("Operation succeeded")),o(),s(!1),[3,5];case 3:return console.error(r.sent()),[3,5];case 4:return m.data&&(m.data.loading=!1),[7];case 5:return[2]}})})()}}}function es(){var e,t,o=(0,r.useContext)(l.SchemaComponentContext),c=(0,l.usePlugin)(P.default).useTriggersOptions;return n().createElement(l.SchemaComponentContext.Provider,{value:(e=function(e){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{},r=Object.keys(o);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(o).filter(function(e){return Object.getOwnPropertyDescriptor(o,e).enumerable}))),r.forEach(function(t){var r;r=o[t],t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r})}return e}({},o),t=t={designable:!1},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);o.push.apply(o,r)}return o})(Object(t)).forEach(function(o){Object.defineProperty(e,o,Object.getOwnPropertyDescriptor(t,o))}),e)},n().createElement(l.SchemaComponent,{schema:S,components:{CollectionProvider:l.CollectionProvider,WorkflowLink:b,ExecutionResourceProvider:m,ExecutionLink:s.a,OpenDrawer:x,SyncOptionSelect:ei,ExecutionStatusColumn:w.rV,Tooltip:i.Tooltip,CategoryTabs:H,EnumerationField:ee},scope:{useTriggersOptions:c,useWorkflowSyncReaction:ec,useSyncAction:ea,useWorkflowFilterActionProps:et,useRefreshActionProps:j.X,useRevisionAction:el,TriggerOptionRender:k,ExecutionStatusOptions:O.C6}}))}}}]);
@@ -7,6 +7,8 @@
7
7
  * For more information, please refer to: https://www.nocobase.com/agreement.
8
8
  */
9
9
  import React from 'react';
10
+ export declare const BranchIndexContext: React.Context<any>;
11
+ export declare function useBranchIndex(): any;
10
12
  export declare function Branch({ from, entry, branchIndex, controller, className, end, }: {
11
13
  from?: any;
12
14
  entry?: any;
@@ -1,6 +1,7 @@
1
1
  import React from 'react';
2
2
  import { APIClient, SchemaInitializerItemType } from '@nocobase/client';
3
3
  export interface TaskTypeOptions {
4
+ key: string;
4
5
  title: string;
5
6
  collection: string;
6
7
  action?: string;
@@ -24,8 +25,9 @@ export declare function useTasksCountsContext(): {
24
25
  };
25
26
  export declare function usePopupRecordContext(): any;
26
27
  export declare function WorkflowTasks(): React.JSX.Element;
28
+ export declare function TasksCountsProvider(props: any): React.JSX.Element;
27
29
  export declare function TasksProvider(props: any): React.JSX.Element;
28
30
  export declare const tasksSchemaInitializerItem: SchemaInitializerItemType;
29
- export declare const MobileTabBarWorkflowTasksItem: React.MemoExoticComponent<import("@formily/react").ReactFC<Omit<any, "ref">>>;
31
+ export declare const MobileTabBarWorkflowTasksItem: React.MemoExoticComponent<import("@formily/reactive-react").ReactFC<Omit<any, "ref">>>;
30
32
  export declare function WorkflowTasksMobile(): React.JSX.Element;
31
33
  export {};
@@ -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=self.webpackChunk_nocobase_plugin_workflow||[]).push([["771"],{144:function(e,t,n){n.d(t,{g:function(){return w}});var r=n(2721),o=n(8156),a=n.n(o);let l=(0,o.createContext)(null),i={didCatch:!1,error:null};class c extends o.Component{constructor(e){super(e),this.resetErrorBoundary=this.resetErrorBoundary.bind(this),this.state=i}static getDerivedStateFromError(e){return{didCatch:!0,error:e}}resetErrorBoundary(){let{error:e}=this.state;if(null!==e){for(var t,n,r=arguments.length,o=Array(r),a=0;a<r;a++)o[a]=arguments[a];null==(t=(n=this.props).onReset)||t.call(n,{args:o,reason:"imperative-api"}),this.setState(i)}}componentDidCatch(e,t){var n,r;null==(n=(r=this.props).onError)||n.call(r,e,t)}componentDidUpdate(e,t){let{didCatch:n}=this.state,{resetKeys:r}=this.props;if(n&&null!==t.error&&function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return e.length!==t.length||e.some((e,n)=>!Object.is(e,t[n]))}(e.resetKeys,r)){var o,a;null==(o=(a=this.props).onReset)||o.call(a,{next:r,prev:e.resetKeys,reason:"keys"}),this.setState(i)}}render(){let{children:e,fallbackRender:t,FallbackComponent:n,fallback:r}=this.props,{didCatch:a,error:i}=this.state,c=e;if(a){let e={error:i,resetErrorBoundary:this.resetErrorBoundary};if((0,o.isValidElement)(r))c=r;else if("function"==typeof t)c=t(e);else if(n)c=(0,o.createElement)(n,e);else throw i}return(0,o.createElement)(l.Provider,{value:{didCatch:a,error:i,resetErrorBoundary:this.resetErrorBoundary}},c)}}var s=n(3772),u=n(2415),d=n(8551),m=n(5329),f=n(4477),p=n(8562);function y(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function v(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function b(){var e=v(["\n margin-top: 0 !important;\n "]);return b=function(){return e},e}function h(){var e=v(["\n margin-bottom: 1em;\n "]);return h=function(){return e},e}function E(){var e=v(["\n margin-top: 0 !important;\n "]);return E=function(){return e},e}function w(e){var t,n=e.entry,o=(0,m.Z)().styles,l=(0,p.RY)(),i=(t=a().useState(100),function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n,r,o=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var a=[],l=!0,i=!1;try{for(o=o.call(e);!(l=(n=o.next()).done)&&(a.push(n.value),a.length!==t);l=!0);}catch(e){i=!0,r=e}finally{try{l||null==o.return||o.return()}finally{if(i)throw r}}return a}}(t,2)||function(e,t){if(e){if("string"==typeof e)return y(e,2);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return y(e,t)}}(t,2)||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=i[0],w=i[1];return a().createElement("div",{className:"workflow-canvas-wrapper"},a().createElement(c,{FallbackComponent:s.ErrorFallback,onError:console.error},a().createElement("div",{className:"workflow-canvas",style:{zoom:v/100}},a().createElement("div",{className:(0,s.cx)(o.branchBlockClass,(0,s.css)(b()))},a().createElement("div",{className:o.branchClass},l?a().createElement(r.Alert,{type:"warning",message:(0,d.KQ)("Executed workflow cannot be modified. Could be copied to a new version to modify."),showIcon:!0,className:(0,s.css)(h())}):null,a().createElement(f.Gk,null),a().createElement("div",{className:(0,s.cx)(o.branchBlockClass,(0,s.css)(E()))},a().createElement(u.I0,{entry:n})),a().createElement("div",{className:o.terminalClass},(0,d.KQ)("End")))))),a().createElement("div",{className:"workflow-canvas-zoomer"},a().createElement(r.Slider,{vertical:!0,reverse:!0,defaultValue:100,step:10,min:10,value:v,onChange:w})))}},2378:function(e,t,n){n.r(t),n.d(t,{ExecutionPage:function(){return N}});var r=n(3772),o=n(8156),a=n.n(o),l=n(6128),i=n(2721),c=n(7584),s=n(482),u=n(3238),d=n(4199),m=n(144),f=n(118),p=n(1682),y=n(8398),v=n(8551),b=n(5329),h=n(9315),E=n(467);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 g(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function k(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function x(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,o=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var a=[],l=!0,i=!1;try{for(o=o.call(e);!(l=(n=o.next()).done)&&(a.push(n.value),!t||a.length!==t);l=!0);}catch(e){i=!0,r=e}finally{try{l||null==o.return||o.return()}finally{if(i)throw r}}return a}}(e,t)||O(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 S(e){return function(e){if(Array.isArray(e))return w(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||O(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 O(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 C(e){var t,n,o=(0,y.G2)().viewJob,l=(0,r.useRequest)({resource:"jobs",action:"get",params:{filterByTk:o.id}}),c=l.data;if(l.loading)return a().createElement(i.Spin,null);var s=(0,E.get)(c,"data.result");return a().createElement(r.Input.JSON,(t=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){g(e,t,n[t])})}return e}({},e),n=n={value:s,disabled:!0},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):(function(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n.push.apply(n,r)}return n})(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}),t))}function j(){var e=(0,r.usePlugin)(d.default).instructions,t=(0,r.useCompile)(),n=(0,y.G2)(),o=n.viewJob,l=n.setViewJob,c=(0,b.Z)().styles,s=(null!=o?o:{}).node,u=void 0===s?{}:s,m=e.get(u.type);return a().createElement(r.ActionContextProvider,{value:{visible:!!o,setVisible:l}},a().createElement(r.SchemaComponent,{components:{JobResult:C},schema:{type:"void",properties:g({},"".concat(null==o?void 0:o.id,"-").concat(null==o?void 0:o.updatedAt,"-modal"),{type:"void","x-decorator":"Form","x-decorator-props":{initialValue:o},"x-component":"Action.Modal",title:a().createElement("div",{className:c.nodeTitleClass},a().createElement(i.Tag,null,t(null==m?void 0:m.title)),a().createElement("strong",null,u.title),a().createElement("span",{className:"workflow-node-id"},"#",u.id)),properties:{status:{type:"number",title:'{{t("Status", { ns: "'.concat(v.A7,'" })}}'),"x-decorator":"FormItem","x-component":"Select",enum:p.Vh,"x-read-pretty":!0},updatedAt:{type:"string",title:'{{t("Executed at", { ns: "'.concat(v.A7,'" })}}'),"x-decorator":"FormItem","x-component":"DatePicker","x-component-props":{showTime:!0},"x-read-pretty":!0},result:{type:"object",title:'{{t("Node result", { ns: "'.concat(v.A7,'" })}}'),"x-decorator":"FormItem","x-component":"JobResult","x-component-props":{className:c.nodeJobResultClass,autoSize:{minRows:4,maxRows:32}}}}})}}))}function A(e){var t=(0,y.G2)().execution,n=(0,r.useAPIClient)(),u=(0,l.useNavigate)(),d=(0,b.Z)().styles,m=(0,r.useResourceActionContext)().refresh,v=x((0,o.useState)([]),2),E=v[0],w=v[1],g=x((0,o.useState)([]),2),k=g[0],O=g[1],C=x((0,o.useState)(null),2),j=C[0],A=C[1],P=x((0,o.useState)(null),2),N=P[0],I=P[1],D=x((0,o.useState)(null),2),R=D[0],T=D[1],B=(0,o.useCallback)(function(e){t&&e&&(j!==t.id&&n.resource("executions").list({filter:{key:t.key,id:{$lt:t.id}},sort:"-id",pageSize:10,fields:["id","status","createdAt"]}).then(function(e){var n=e.data;A(t.id),w(n.data)}).catch(function(){}),(N!==t.id||R&&Date.now()-Number(R)>6e4&&k.length<10)&&n.resource("executions").list({filter:{key:t.key,id:{$gt:t.id}},sort:"id",pageSize:10,fields:["id","status","createdAt"]}).then(function(e){var n=e.data;I(t.id),T(Date.now()),O(n.data.reverse())}).catch(function(){}))},[t,j,N,R,k.length,n]),K=(0,o.useCallback)(function(e){var n=e.key;n!=t.id&&u((0,h.s_)(n))},[t.id,u]);return t?a().createElement(i.Space,null,a().createElement(i.Dropdown,{onOpenChange:B,menu:{onClick:K,defaultSelectedKeys:["".concat(t.id)],className:(0,r.cx)(d.dropdownClass,d.executionsDropdownRowClass),items:S(k).concat([t],S(E)).map(function(e){return{key:e.id,label:a().createElement(a().Fragment,null,a().createElement("span",{className:"id"},"#".concat(e.id)),a().createElement("time",null,(0,c.str2moment)(e.createdAt).format("YYYY-MM-DD HH:mm:ss"))),icon:a().createElement("span",null,a().createElement(f.Y,{statusMap:p.uy,status:e.status}))}})}},a().createElement(i.Space,null,a().createElement("strong",null,"#".concat(t.id)),a().createElement(s.DownOutlined,null))),a().createElement(i.Button,{type:"link",size:"small",icon:a().createElement(s.ReloadOutlined,null),onClick:m})):null}function P(){var e,t=(0,u.useTranslation)().t,n=(0,r.useCompile)(),d=(0,r.useResourceActionContext)(),f=d.data,b=d.loading,E=d.refresh,w=(0,r.useDocumentTitle)().setTitle,g=x((0,o.useState)(null),2),S=g[0],O=g[1],C=(0,r.useApp)(),P=(0,r.useAPIClient)();(0,o.useEffect)(function(){var e,t=(null!=(e=null==f?void 0:f.data)?e:{}).workflow;null==w||w("".concat((null==t?void 0:t.title)?"".concat(t.title," - "):"").concat((0,v.KQ)("Execution history")))},[null==f?void 0:f.data,w]);var N=(0,o.useCallback)(function(){i.Modal.confirm({title:(0,v.KQ)("Cancel the execution"),icon:a().createElement(s.ExclamationCircleFilled,null),content:(0,v.KQ)("Are you sure you want to cancel the execution?"),onOk:function(){P.resource("executions").cancel({filterByTk:null==f?void 0:f.data.id}).then(function(){i.message.success(t("Operation succeeded")),E()}).catch(function(e){console.error(e.data.error)})}})},[null==f?void 0:f.data]);if(!(null==f?void 0:f.data))return b?a().createElement(i.Spin,null):a().createElement(i.Result,{status:"404",title:"Not found"});var I=null!=(e=null==f?void 0:f.data)?e:{},D=I.jobs,R=I.workflow,T=void 0===R?{}:R,B=T.nodes,K=void 0===B?[]:B,M=(T.revisions,k(I.workflow,["nodes","revisions"])),Y=k(I,["jobs","workflow"]);(0,h.Yc)(K),function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=new Map;e.forEach(function(e){e.jobs=[],n.set(e.id,e)}),t.forEach(function(e){var t=n.get(e.nodeId);t&&(t.jobs.push(e),e.node={id:t.id,key:t.key,title:t.title,type:t.type})}),e.forEach(function(e){e.jobs=e.jobs.sort(function(e,t){return e.id-t.id})})}(K,void 0===D?[]:D);var z=K.find(function(e){return!e.upstream}),F=p.uy[Y.status];return a().createElement(y.iT.Provider,{value:{workflow:M.type?M:null,nodes:K,execution:Y,viewJob:S,setViewJob:O}},a().createElement("div",{className:"workflow-toolbar"},a().createElement("header",null,a().createElement(i.Breadcrumb,{items:[{title:a().createElement(l.Link,{to:C.pluginSettingsManager.getRoutePath("workflow")},(0,v.KQ)("Workflow"))},{title:a().createElement(i.Tooltip,{title:"Key: ".concat(M.key)},a().createElement(l.Link,{to:(0,h.SI)(M.id)},M.title))},{title:a().createElement(A,null)}]})),a().createElement("aside",null,a().createElement(i.Tag,{color:F.color},n(F.label)),Y.status?null:a().createElement(i.Tooltip,{title:(0,v.KQ)("Cancel the execution")},a().createElement(i.Button,{type:"link",danger:!0,onClick:N,shape:"circle",size:"small",icon:a().createElement(s.StopOutlined,null)})),a().createElement("time",null,(0,c.str2moment)(Y.updatedAt).format("YYYY-MM-DD HH:mm:ss")))),a().createElement(m.g,{entry:z}),a().createElement(j,null))}var N=function(){var e,t,n,o=(0,l.useParams)(),i=(0,b.Z)().styles;return a().createElement("div",{className:(0,r.cx)(i.workflowPageClass)},a().createElement(r.SchemaComponent,{schema:{type:"void",properties:(e={},t="execution_".concat(o.id),n={type:"void","x-decorator":"ResourceActionProvider","x-decorator-props":{collection:{name:"executions",fields:[]},resourceName:"executions",request:{resource:"executions",action:"get",params:{filter:o,appends:["jobs","workflow","workflow.nodes","workflow.versionStats","workflow.stats"],except:["jobs.result","workflow.options"]}}},"x-component":"ExecutionCanvas"},t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e)},components:{ExecutionCanvas:P}}))}}}]);
@@ -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=self.webpackChunk_nocobase_plugin_workflow||[]).push([["626"],{144:function(e,t,r){r.d(t,{g:function(){return g}});var n=r(2721),o=r(8156),a=r.n(o);let l=(0,o.createContext)(null),i={didCatch:!1,error:null};class c extends o.Component{constructor(e){super(e),this.resetErrorBoundary=this.resetErrorBoundary.bind(this),this.state=i}static getDerivedStateFromError(e){return{didCatch:!0,error:e}}resetErrorBoundary(){let{error:e}=this.state;if(null!==e){for(var t,r,n=arguments.length,o=Array(n),a=0;a<n;a++)o[a]=arguments[a];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,a;null==(o=(a=this.props).onReset)||o.call(a,{next:n,prev:e.resetKeys,reason:"keys"}),this.setState(i)}}render(){let{children:e,fallbackRender:t,FallbackComponent:r,fallback:n}=this.props,{didCatch:a,error:i}=this.state,c=e;if(a){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)(l.Provider,{value:{didCatch:a,error:i,resetErrorBoundary:this.resetErrorBoundary}},c)}}var s=r(3772),u=r(2415),d=r(8551),f=r(5329),p=r(4477),m=r(8562);function y(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 v(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function b(){var e=v(["\n margin-top: 0 !important;\n "]);return b=function(){return e},e}function h(){var e=v(["\n margin-bottom: 1em;\n "]);return h=function(){return e},e}function w(){var e=v(["\n margin-top: 0 !important;\n "]);return w=function(){return e},e}function g(e){var t,r=e.entry,o=(0,f.Z)().styles,l=(0,m.RY)(),i=(t=a().useState(100),function(e){if(Array.isArray(e))return e}(t)||function(e,t){var r,n,o=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var a=[],l=!0,i=!1;try{for(o=o.call(e);!(l=(r=o.next()).done)&&(a.push(r.value),a.length!==t);l=!0);}catch(e){i=!0,n=e}finally{try{l||null==o.return||o.return()}finally{if(i)throw n}}return a}}(t,2)||function(e,t){if(e){if("string"==typeof e)return y(e,2);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 y(e,t)}}(t,2)||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=i[0],g=i[1];return a().createElement("div",{className:"workflow-canvas-wrapper"},a().createElement(c,{FallbackComponent:s.ErrorFallback,onError:console.error},a().createElement("div",{className:"workflow-canvas",style:{zoom:v/100}},a().createElement("div",{className:(0,s.cx)(o.branchBlockClass,(0,s.css)(b()))},a().createElement("div",{className:o.branchClass},l?a().createElement(n.Alert,{type:"warning",message:(0,d.KQ)("Executed workflow cannot be modified. Could be copied to a new version to modify."),showIcon:!0,className:(0,s.css)(h())}):null,a().createElement(p.Gk,null),a().createElement("div",{className:(0,s.cx)(o.branchBlockClass,(0,s.css)(w()))},a().createElement(u.I0,{entry:r})),a().createElement("div",{className:o.terminalClass},(0,d.KQ)("End")))))),a().createElement("div",{className:"workflow-canvas-zoomer"},a().createElement(n.Slider,{vertical:!0,reverse:!0,defaultValue:100,step:10,min:10,value:v,onChange:g})))}},6443:function(e,t,r){r.r(t),r.d(t,{WorkflowPage:function(){return q}});var n=r(3772),o=r(8156),a=r.n(o),l=r(6128),i=r(5329),c=r(3238),s=r(2721),u=r(482),d=r(3505),f=r(7584),p=r(144),m=r(4665),y=r(1113),v=r(8398),b=r(8551),h=r(1685),w=r(9315),g=r(8303),k=r(1600),E=r(4477),x=r(1682),C=r(7032),A=r(8562),O=r(2495),S=r(2743);function P(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 j(e,t,r,n,o,a,l){try{var i=e[a](l),c=i.value}catch(e){r(e);return}i.done?t(c):Promise.resolve(c).then(n,o)}function T(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var a=e.apply(t,r);function l(e){j(a,n,o,l,i,"next",e)}function i(e){j(a,n,o,l,i,"throw",e)}l(void 0)})}}function R(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 N(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r.push.apply(r,n)}return r})(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}),e}function K(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},a=Object.keys(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n<a.length;n++)r=a[n],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}function B(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r,n,o=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var a=[],l=!0,i=!1;try{for(o=o.call(e);!(l=(r=o.next()).done)&&(a.push(r.value),!t||a.length!==t);l=!0);}catch(e){i=!0,n=e}finally{try{l||null==o.return||o.return()}finally{if(i)throw n}}return a}}(e,t)||function(e,t){if(e){if("string"==typeof e)return P(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 P(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 F(e,t){var r,n,o,a,l={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return a={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function i(a){return function(i){var c=[a,i];if(r)throw TypeError("Generator is already executing.");for(;l;)try{if(r=1,n&&(o=2&c[0]?n.return:c[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,c[1])).done)return o;switch(n=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return l.label++,{value:c[1],done:!1};case 5:l.label++,n=c[1],c=[0];continue;case 7:c=l.ops.pop(),l.trys.pop();continue;default:if(!(o=(o=l.trys).length>0&&o[o.length-1])&&(6===c[0]||2===c[0])){l=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){l.label=c[1];break}if(6===c[0]&&l.label<o[1]){l.label=o[1],o=c;break}if(o&&l.label<o[2]){l.label=o[2],l.ops.push(c);break}o[2]&&l.ops.pop(),l.trys.pop();continue}c=t.call(e,l)}catch(e){c=[6,e],n=0}finally{r=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}function I(){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 I=function(){return r},r}function Q(e){var t,r=e.request,o=(e.filter,K(e,["request","filter"])),l=(0,v.G2)().workflow,i=N(R({},o),{request:N(R({},r),{params:N(R({},null==r?void 0:r.params),{filter:N(R({},null==r||null==(t=r.params)?void 0:t.filter),{key:l.key})})})});return a().createElement(n.ResourceActionProvider,i)}function D(e){var t=e.data,r=e.option,o=(0,n.useCompile)()(r.label);return a().createElement(c.Trans,{ns:b.A7,values:{statusText:o}},"Workflow executed, the result status is ",a().createElement(s.Tag,{color:r.color},"{{statusText}}"),a().createElement(l.Link,{to:"/admin/workflow/executions/".concat(t.id)},"View the execution"))}function V(){var e=(0,v.G2)().workflow,t=(0,d.useForm)(),r=(0,n.useResourceContext)().resource,o=(0,n.useActionContext)(),l=(0,n.useNavigateNoUpdate)(),i=s.App.useApp().message,c=(0,A.RY)();return{run:function(){return T(function(){var n,s,u,d;return F(this,function(f){switch(f.label){case 0:return s=(n=t.values).autoRevision,u=K(n,["autoRevision"]),[4,t.submit()];case 1:return f.sent(),[4,r.execute(R({filterByTk:e.id,values:u},!c&&s?{autoRevision:1}:{}))];case 2:var p,m,y,v;return d=f.sent().data.data,t.reset(),o.setFormValueChanged(!1),o.setVisible(!1),null==i||i.open((m=(p=d.execution).id,y=p.status,(v=x.uy[y])?{type:"info",content:a().createElement(D,{data:{id:m},option:v})}:null)),d.newVersionId&&l("/admin/workflow/workflows/".concat(d.newVersionId)),[2]}})})()}}}function z(e){var t=e.children,r=(0,d.useField)(),n=(0,v.G2)().workflow,o=(0,E.cC)(),l=o.validate(n.config),i="";switch(!0){case!l:i=(0,b.KQ)("The trigger is not configured correctly, please check the trigger configuration.");break;case!o.triggerFieldset:i=(0,b.KQ)("This type of trigger has not been supported to be executed manually.")}return r.setPattern(i?"disabled":"editable"),i?a().createElement(s.Tooltip,{title:i},t):t}function G(){var e,t=(0,v.G2)().workflow,r=(0,A.RY)(),o=(0,E.cC)();return a().createElement(v.zQ.Provider,{value:t},a().createElement(C.XA.Provider,{value:!0},a().createElement(n.SchemaComponent,{components:R({Alert:s.Alert,Fieldset:g.p,ActionDisabledProvider:z},o.components),scope:R({useCancelAction:n.useCancelAction,useExecuteConfirmAction:V},o.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(b.A7,'" })}}'),properties:{drawer:{type:"void","x-decorator":"FormV2","x-component":"Action.Modal",title:"{{t('Execute manually', { ns: \"".concat(b.A7,'" })}}'),properties:N(R(N(R({},Object.keys(null!=(e=o.triggerFieldset)?e:{}).length?{alert:{type:"void","x-component":"Alert","x-component-props":{message:"{{t('Trigger variables need to be filled for executing.', { ns: \"".concat(b.A7,'" })}}'),className:(0,n.css)(I())}}}:{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(b.A7,'" })}}')}}),{fieldset:{type:"void","x-decorator":"FormItem","x-component":"Fieldset",title:"{{t('Trigger variables', { ns: \"".concat(b.A7,'" })}}'),properties:o.triggerFieldset}}),r?{}:{autoRevision:{type:"boolean","x-decorator":"FormItem","x-component":"Checkbox","x-content":"{{t('Automatically create a new version after execution', { ns: \"".concat(b.A7,'" })}}'),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 M(){var e=(0,v.G2)(),t=e.workflow,r=e.revisions,i=void 0===r?[]:r,d=B((0,o.useState)(!1),2),f=d[0],p=d[1],g=(0,l.useNavigate)(),E=(0,c.useTranslation)().t,C=s.App.useApp().modal,O=(0,n.useApp)(),S=(0,n.useResourceContext)().resource,P=(0,n.useResourceActionContext)().refresh,j=s.App.useApp().message,R=(0,A.U3)(),N=(0,o.useCallback)(T(function(){var e;return F(this,function(r){switch(r.label){case 0:return[4,S.revision({filterByTk:t.id,filter:{key:t.key}})];case 1:return e=r.sent().data.data,j.success(E("Operation succeeded")),g("/admin/workflow/workflows/".concat(e.id)),[2]}})}),[S,t.id,t.key,j,E,g]),K=(0,o.useCallback)(T(function(){var e;return F(this,function(r){return e=t.current?(0,b.KQ)("This is a main version, delete it will cause the whole workflow to be deleted (including all other revisions)."):(0,b.KQ)("Current version will be deleted (without affecting other versions)."),C.confirm({title:E("Are you sure you want to delete it?"),content:e,onOk:function(){return T(function(){var e,r,n,o;return F(this,function(a){switch(a.label){case 0:return[4,S.destroy({filterByTk:t.id})];case 1:if(a.sent(),j.success(E("Operation succeeded")),e=O.pluginSettingsManager.getRoutePath("workflow"),t.current)return[2,g(e)];return i.length&&g((0,w.SI)(null==(r=i.find(function(e){return e.current}))?void 0:r.id)),[4,S.list({filter:{key:t.key,current:!0},fields:["id"],pageSize:1})];case 2:if(200!==(n=a.sent()).status)return[2];if(!(o=B(n.data.data,1)[0]))return[2,g(e)];return[2,g((0,w.SI)(o.id))]}})})()}}),[2]})}),[t,C,E,S,j,g,O.pluginSettingsManager,i]),I=(0,o.useCallback)(function(e){switch(e.key){case"refresh":P();return;case"history":p(!0);return;case"revision":return N();case"delete":return K()}},[K,N,P]);return a().createElement(a().Fragment,null,a().createElement(s.Dropdown,{menu:{items:[{key:"key",label:"Key: ".concat(t.key),disabled:!0},{type:"divider"},{role:"button","aria-label":"refresh",key:"refresh",label:E("Refresh")},{role:"button","aria-label":"history",key:"history",label:(0,b.KQ)("Execution history"),disabled:!R},{role:"button","aria-label":"revision",key:"revision",label:(0,b.KQ)("Copy to new version")},{type:"divider"},{role:"button","aria-label":"delete",danger:!0,key:"delete",label:E("Delete")}],onClick:I}},a().createElement(s.Button,{"aria-label":"more",type:"text",icon:a().createElement(u.EllipsisOutlined,null)})),a().createElement(n.ActionContextProvider,{value:{visible:f,setVisible:p}},a().createElement(n.SchemaComponent,{schema:h.V,components:{ExecutionResourceProvider:Q,ExecutionLink:y.a,ExecutionStatusColumn:m.rV},scope:{useRefreshActionProps:k.X,ExecutionStatusOptions:x.C6}})))}function _(){var e,t=(0,i.Z)().styles,r=(0,l.useNavigate)(),c=(0,v.G2)().workflow,d=(0,o.useCallback)(function(e){var t=e.key;t!=c.id&&r((0,w.SI)(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,y=p.run,h=(0,o.useCallback)(function(e){e&&y()},[y]),g=null!=(e=null==m?void 0:m.data)?e:[];return a().createElement(s.Dropdown,{className:"workflow-versions",trigger:["click"],onOpenChange:h,menu:{onClick:d,defaultSelectedKeys:["".concat(c.id)],className:(0,n.cx)(t.dropdownClass,t.workflowVersionDropdownClass),items:g.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?a().createElement(u.RightOutlined,null):null,className:(0,n.cx)({executed:e.versionStats.executed>0,unexecuted:0==e.versionStats.executed,enabled:e.enabled}),label:a().createElement(a().Fragment,null,a().createElement("strong",null,"#".concat(e.id)),a().createElement("time",null,(0,f.dayjs)(e.createdAt).fromNow()))}})}},a().createElement(s.Button,{type:"text","aria-label":"version"},a().createElement("label",null,(0,b.KQ)("Version")),a().createElement("span",null,(null==c?void 0:c.id)?"#".concat(c.id):null),a().createElement(u.DownOutlined,null)))}function W(){var e,t,r,i,c=(0,l.useNavigate)(),u=(0,n.useApp)(),d=(0,n.useResourceActionContext)(),f=d.data,m=d.refresh,y=d.loading,h=(0,n.useResourceContext)().resource,g=(0,n.useDocumentTitle)().setTitle,k=B((0,o.useState)(null!=(r=null==f||null==(t=f.data)?void 0:t.enabled)&&r),2),E=k[0],x=k[1],C=B((0,o.useState)(!1),2),A=C[0],P=C[1],j=null!=(i=null==f?void 0:f.data)?i:{},R=j.nodes,N=void 0===R?[]:R,I=K(j,["nodes"]);(0,w.Yc)(N),(0,o.useEffect)(function(){var e,t=null!=(e=null==f?void 0:f.data)?e:{},r=t.title,n=t.enabled;null==g||g("".concat((0,b.KQ)("Workflow")).concat(r?": ".concat(r):"")),x(n)},[null==f?void 0:f.data,g]);var Q=(0,o.useCallback)((e=T(function(e){return F(this,function(t){switch(t.label){case 0:return P(!0),[4,h.update({filterByTk:I.id,values:{enabled:e}})];case 1:return t.sent(),P(!1),x(e),[2]}})}),function(t){return e.apply(this,arguments)}),[h,I.id]);if(!(null==f?void 0:f.data))return y?a().createElement(s.Spin,null):a().createElement(s.Result,{status:"404",title:"Not found",extra:a().createElement(s.Button,{onClick:function(){return c(-1)}},(0,b.KQ)("Go back"))});var D=N.find(function(e){return!e.upstream});return a().createElement(v.iT.Provider,{value:{workflow:I,nodes:N,refresh:m}},a().createElement("div",{className:"workflow-toolbar"},a().createElement("header",null,a().createElement(s.Breadcrumb,{items:[{title:a().createElement(l.Link,{to:u.pluginSettingsManager.getRoutePath("workflow")},(0,b.KQ)("Workflow"))},{title:a().createElement(s.Tooltip,{title:"Key: ".concat(I.key)},a().createElement("strong",null,I.title))}]}),I.sync?a().createElement(s.Tag,{color:"orange"},(0,b.KQ)("Synchronously")):a().createElement(s.Tag,{color:"cyan"},(0,b.KQ)("Asynchronously"))),a().createElement("aside",null,a().createElement(G,null),a().createElement(_,null),a().createElement(s.Switch,{checked:E,onChange:Q,checkedChildren:(0,b.KQ)("On"),unCheckedChildren:(0,b.KQ)("Off"),loading:A}),a().createElement(M,null))),a().createElement(O.E1,null,a().createElement(S.I,null,a().createElement(p.g,{entry:D}))))}var q=function(){var e,t,r,o=(0,l.useParams)(),c=(0,i.Z)().styles;return a().createElement("div",{className:(0,n.cx)(c.workflowPageClass)},a().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"]}}},"x-component":"WorkflowCanvas"},t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e)},components:{WorkflowCanvas:W}}))}}}]);
@@ -25,6 +25,21 @@ export declare function createTriggerWorkflowsSchema({ WorkflowSelectComponent,
25
25
  items: {
26
26
  type: string;
27
27
  properties: {
28
+ sort: {
29
+ type: string;
30
+ 'x-component': string;
31
+ 'x-component-props': {
32
+ width: number;
33
+ title: string;
34
+ align: string;
35
+ };
36
+ properties: {
37
+ sort: {
38
+ type: string;
39
+ 'x-component': string;
40
+ };
41
+ };
42
+ };
28
43
  workflowKey: {
29
44
  type: string;
30
45
  'x-component': string;
@@ -64,48 +79,6 @@ export declare function createTriggerWorkflowsSchema({ WorkflowSelectComponent,
64
79
  };
65
80
  };
66
81
  };
67
- context?: {
68
- type: string;
69
- 'x-component': string;
70
- 'x-component-props': {
71
- title: string;
72
- width: number;
73
- };
74
- properties: {
75
- context: {
76
- type: string;
77
- 'x-decorator': string;
78
- 'x-component': import("react").FC<import("@nocobase/client").AppendsTreeSelectProps>;
79
- 'x-component-props': {
80
- placeholder: string;
81
- popupMatchSelectWidth: boolean;
82
- collection: string;
83
- filter(field: any): boolean;
84
- rootOption: {
85
- label: string;
86
- value: string;
87
- };
88
- allowClear: boolean;
89
- };
90
- default: string;
91
- };
92
- };
93
- };
94
- sort: {
95
- type: string;
96
- 'x-component': string;
97
- 'x-component-props': {
98
- width: number;
99
- title: string;
100
- align: string;
101
- };
102
- properties: {
103
- sort: {
104
- type: string;
105
- 'x-component': string;
106
- };
107
- };
108
- };
109
82
  };
110
83
  };
111
84
  properties: {