@nocobase/plugin-workflow 2.2.0-alpha.6 → 2.2.0-alpha.8

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 (78) hide show
  1. package/dist/client/{509.0504f44820a39d45.js → 509.8a85abc526e8cfe0.js} +1 -1
  2. package/dist/client/54.d81b710f7b4c1cd5.js +10 -0
  3. package/dist/client/635.ff6085589e23d39b.js +10 -0
  4. package/dist/client/{67.ea0c78153b4842ef.js → 67.c206df2fb7e32468.js} +1 -1
  5. package/dist/client/719.79871d3000b54948.js +10 -0
  6. package/dist/client/728.711fd4f1ed7d4e6a.js +10 -0
  7. package/dist/client/782.e058403fcb6b1750.js +10 -0
  8. package/dist/client/972.5df5193573fe04e5.js +10 -0
  9. package/dist/client/index.js +1 -1
  10. package/dist/client-v2/142.a8c8df2a9abb43c5.js +10 -0
  11. package/dist/client-v2/276.7f746d899e221e2f.js +10 -0
  12. package/dist/client-v2/387.20ffad90130780e6.js +10 -0
  13. package/dist/client-v2/54.d3daf06e53092726.js +10 -0
  14. package/dist/client-v2/635.14a6f21cf4f16345.js +10 -0
  15. package/dist/client-v2/677.36a6fe395279deeb.js +10 -0
  16. package/dist/client-v2/728.4e8322ff8fce87b9.js +10 -0
  17. package/dist/client-v2/canvas/Instruction.d.ts +5 -5
  18. package/dist/client-v2/canvas/Node.d.ts +6 -4
  19. package/dist/client-v2/components/FilterDynamicComponent.d.ts +2 -1
  20. package/dist/client-v2/components/TestRunButton.d.ts +1 -1
  21. package/dist/client-v2/components/collection/AssignedFieldsEditor.d.ts +2 -1
  22. package/dist/client-v2/constants.d.ts +5 -0
  23. package/dist/client-v2/index.d.ts +3 -0
  24. package/dist/client-v2/index.js +1 -1
  25. package/dist/client-v2/models/WorkflowTasksTopbarActionModel.d.ts +18 -0
  26. package/dist/client-v2/models/index.d.ts +1 -0
  27. package/dist/client-v2/pages/WorkflowTasksPage.d.ts +10 -0
  28. package/dist/client-v2/plugin.d.ts +52 -0
  29. package/dist/client-v2/taskCenter.d.ts +105 -0
  30. package/dist/client-v2/triggers/index.d.ts +3 -1
  31. package/dist/common/collections/workflows.d.ts +18 -0
  32. package/dist/common/collections/workflows.js +5 -0
  33. package/dist/externalVersion.js +13 -13
  34. package/dist/locale/de-DE.json +1 -0
  35. package/dist/locale/en-US.json +1 -0
  36. package/dist/locale/es-ES.json +1 -0
  37. package/dist/locale/fr-FR.json +1 -0
  38. package/dist/locale/hu-HU.json +1 -0
  39. package/dist/locale/id-ID.json +1 -0
  40. package/dist/locale/it-IT.json +1 -0
  41. package/dist/locale/ja-JP.json +1 -0
  42. package/dist/locale/ko-KR.json +1 -0
  43. package/dist/locale/nl-NL.json +1 -0
  44. package/dist/locale/pt-BR.json +1 -0
  45. package/dist/locale/ru-RU.json +1 -0
  46. package/dist/locale/tr-TR.json +1 -0
  47. package/dist/locale/uk-UA.json +1 -0
  48. package/dist/locale/vi-VN.json +1 -0
  49. package/dist/locale/zh-CN.json +1 -0
  50. package/dist/locale/zh-TW.json +1 -0
  51. package/dist/node_modules/cron-parser/package.json +1 -1
  52. package/dist/node_modules/joi/package.json +1 -1
  53. package/dist/node_modules/lru-cache/package.json +1 -1
  54. package/dist/node_modules/nodejs-snowflake/package.json +1 -1
  55. package/dist/server/Dispatcher.d.ts +3 -2
  56. package/dist/server/Dispatcher.js +39 -18
  57. package/dist/server/ExecutionTimeoutManager.js +2 -1
  58. package/dist/server/Plugin.d.ts +1 -1
  59. package/dist/server/actions/workflows.d.ts +1 -0
  60. package/dist/server/actions/workflows.js +11 -0
  61. package/dist/server/triggers/CollectionTrigger.js +3 -0
  62. package/dist/server/triggers/ScheduleTrigger/StaticScheduleTrigger.d.ts +1 -1
  63. package/dist/server/triggers/index.d.ts +1 -1
  64. package/dist/server/types/Workflow.d.ts +1 -0
  65. package/dist/swagger/index.d.ts +1 -0
  66. package/dist/swagger/index.js +4 -2
  67. package/package.json +2 -2
  68. package/dist/client/54.d3d5d9f2f2115201.js +0 -10
  69. package/dist/client/635.42814cddec653cdd.js +0 -10
  70. package/dist/client/719.cd8ca7c9f00584be.js +0 -10
  71. package/dist/client/782.e0f0d84dd5cfac2a.js +0 -10
  72. package/dist/client/972.600a190e71978122.js +0 -10
  73. package/dist/client-v2/142.fe4f9b7869876ff1.js +0 -10
  74. package/dist/client-v2/276.8ca10542a0424df3.js +0 -10
  75. package/dist/client-v2/387.eae325172ba209e5.js +0 -10
  76. package/dist/client-v2/54.287764bc467d65da.js +0 -10
  77. package/dist/client-v2/635.d14f99a9520d336b.js +0 -10
  78. package/dist/client-v2/677.d3294a45cd038c72.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([["509"],{5764:function(e,t,n){n.r(t),n.d(t,{default:function(){return ee}});var r=n(7375),o=n(3485),l=n(5477),a=n(7694),i=n(2625),u=n(2059),c=n(9155),s=n.n(c),d=n(5827),f=n(7541),m=n(5927),p=n(7001),y=n(9488),b=n(8743),v=n(1652),g=n(5953);function h(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function w(e,t,n,r,o,l,a){try{var i=e[l](a),u=i.value}catch(e){n(e);return}i.done?t(u):Promise.resolve(u).then(r,o)}function E(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var l=e.apply(t,n);function a(e){w(l,r,o,a,i,"next",e)}function i(e){w(l,r,o,a,i,"throw",e)}a(void 0)})}}function S(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,o=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var l=[],a=!0,i=!1;try{for(o=o.call(e);!(a=(n=o.next()).done)&&(l.push(n.value),!t||l.length!==t);a=!0);}catch(e){i=!0,r=e}finally{try{a||null==o.return||o.return()}finally{if(i)throw r}}return l}}(e,t)||k(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function k(e,t){if(e){if("string"==typeof e)return h(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 h(e,t)}}function C(e,t){var n,r,o,l={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),i=Object.defineProperty;return i(a,"next",{value:u(0)}),i(a,"throw",{value:u(1)}),i(a,"return",{value:u(2)}),"function"==typeof Symbol&&i(a,Symbol.iterator,{value:function(){return this}}),a;function u(i){return function(u){var c=[i,u];if(n)throw TypeError("Generator is already executing.");for(;a&&(a=0,c[0]&&(l=0)),l;)try{if(n=1,r&&(o=2&c[0]?r.return:c[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,c[1])).done)return o;switch(r=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return l.label++,{value:c[1],done:!1};case 5:l.label++,r=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],r=0}finally{n=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}var F=["red","magenta","volcano","orange","gold","lime","green","cyan","blue","geekblue","purple","default"];function x(e){var t=(0,g.useTranslation)().t,n=F.map(function(e){return{value:e,label:s().createElement(u.Tag,{color:"default"===e?void 0:e},t(e.charAt(0).toUpperCase()+e.slice(1)))}});return s().createElement(u.Select,{allowClear:!0,value:e.value,options:n,onChange:e.onChange})}function A(e){var t=e.activeKey,n=e.onChange,r=e.categories,l=e.refreshCategories,d=e.className,f=(0,y.ec)().t,m=(0,y.kj)(),p=(0,a.useFlowContext)(),b=u.App.useApp().modal,v=p.api.resource("workflowCategories"),g=S((0,c.useState)(null),2),w=g[0],F=g[1],A=S((0,c.useState)(!1),2),O=A[0],T=A[1],I=S((0,c.useState)(!1),2),j=I[0],M=I[1],P=S(u.Form.useForm(),1)[0],z=(0,c.useMemo)(function(){return((function(e){if(Array.isArray(e))return h(e)})(r)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(r)||k(r)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()).sort(function(e,t){var n,r;return(null!=(n=e.sort)?n:0)-(null!=(r=t.sort)?r:0)}).map(function(e){return{id:e.id,label:m(e.title),color:e.color}})},[r,m]),D=(0,i.useMemoizedFn)(function(e){return r.find(function(t){return String(t.id)===String(e)})}),B=(0,i.useMemoizedFn)(function(){F(null),P.resetFields(),T(!0)}),L=(0,i.useMemoizedFn)(function(e){var t=D(e);t&&(F(t),P.setFieldsValue({title:t.title,color:t.color}),T(!0))}),R=(0,i.useMemoizedFn)(function(e){var r=D(e);r&&b.confirm({title:f("Delete category"),content:f("Are you sure you want to delete it?"),onOk:function(){return E(function(){return C(this,function(e){switch(e.label){case 0:return[4,v.destroy({filterByTk:r.id})];case 1:return e.sent(),String(r.id)===t&&n("all"),l(),[2]}})})()}})}),G=(0,i.useMemoizedFn)(function(e,t){return E(function(){return C(this,function(n){switch(n.label){case 0:return[4,v.move({sourceId:e,targetId:t})];case 1:return n.sent(),l(),[2]}})})()}),N=(0,i.useMemoizedFn)(function(){return E(function(){var e;return C(this,function(t){switch(t.label){case 0:return[4,P.validateFields()];case 1:e=t.sent(),M(!0),t.label=2;case 2:if(t.trys.push([2,,7,8]),!w)return[3,4];return[4,v.update({filterByTk:w.id,values:e})];case 3:return t.sent(),[3,6];case 4:return[4,v.create({values:e})];case 5:t.sent(),t.label=6;case 6:return T(!1),l(),[3,8];case 7:return M(!1),[7];case 8:return[2]}})})()});return s().createElement(s().Fragment,null,s().createElement(o.SortableCategoryTabs,{className:d,activeKey:t,onChange:n,allTab:{key:"all",label:f("All")},categories:z,onAdd:B,onEdit:L,onDelete:R,onSort:G,menuLabels:{edit:f("Edit category"),delete:f("Delete category")}}),s().createElement(u.Modal,{title:w?f("Edit category"):f("Add category"),open:O,confirmLoading:j,onOk:N,onCancel:function(){return T(!1)},okText:f("Submit"),cancelText:f("Cancel"),destroyOnClose:!0},s().createElement(u.Form,{form:P,layout:"vertical"},s().createElement(u.Form.Item,{name:"title",label:f("Title"),rules:[{required:!0}]},s().createElement(u.Input,null)),s().createElement(u.Form.Item,{name:"color",label:f("Color")},s().createElement(x,null)))))}var O=n(9239);function T(e){var t=e.value,n=e.onChange,o=e.disabled,l=(0,y.ec)().t,a=[{value:!1,label:l("Asynchronously"),tooltip:l("Will be executed in the background as a queued task.")},{value:!0,label:l("Synchronously"),tooltip:l("For user actions that require immediate feedback. Can not use asynchronous nodes in such mode, and it is not recommended to perform time-consuming operations under synchronous mode.")}];return s().createElement(u.Radio.Group,{value:t,disabled:o,onChange:function(e){return null==n?void 0:n(e.target.value)}},a.map(function(e){return s().createElement(u.Radio,{key:String(e.value),value:e.value},s().createElement(u.Space,{size:"small"},e.label,s().createElement(u.Tooltip,{title:e.tooltip},s().createElement(r.QuestionCircleOutlined,null))))}))}function I(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var j=[{value:1e3,label:"Seconds"},{value:6e4,label:"Minutes"},{value:36e5,label:"Hours"},{value:864e5,label:"Days"}];function M(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:15552e6;return Math.min(Math.max(e,0),t)}function P(e){var t,n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:6e4;return e&&null!=(t=null==(n=j.findLast(function(t){return e%t.value==0}))?void 0:n.value)?t:r}function z(e){var t,n=e.value,r=e.onChange,o=(0,y.ec)().t,l=M(Number(null!=n?n:0)),a=function(e){if(Array.isArray(e))return e}(t=(0,c.useState)(function(){return P(l)}))||function(e){var t,n,r=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var o=[],l=!0,a=!1;try{for(r=r.call(e);!(l=(t=r.next()).done)&&(o.push(t.value),2!==o.length);l=!0);}catch(e){a=!0,n=e}finally{try{l||null==r.return||r.return()}finally{if(a)throw n}}return o}}(t)||function(e){if(e){if("string"==typeof e)return I(e,2);var t=Object.prototype.toString.call(e).slice(8,-1);if("Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t)return Array.from(t);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return I(e,2)}}(t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),i=a[0],d=a[1];(0,c.useEffect)(function(){0!==l&&d(function(e){return P(l,e)})},[l]);var f=0===l?0:l/i,m=15552e6/i;return s().createElement(u.Space.Compact,{style:{width:"50%"}},s().createElement(u.InputNumber,{min:0,max:m,precision:0,value:f,onChange:function(e){return null==r?void 0:r(M(Number(e)||0,m)*i)},style:{width:"70%"}}),s().createElement(u.Select,{value:i,style:{width:"30%"},options:j.map(function(e){return{value:e.value,label:o(e.label)}}),onChange:function(e){var t=M(Number(null!=n?n:0)),o=0===t?0:t/i;d(e),null==r||r(M(o*e))}}))}function D(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 B(e,t,n,r,o,l,a){try{var i=e[l](a),u=i.value}catch(e){n(e);return}i.done?t(u):Promise.resolve(u).then(r,o)}function L(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,o=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var l=[],a=!0,i=!1;try{for(o=o.call(e);!(a=(n=o.next()).done)&&(l.push(n.value),!t||l.length!==t);a=!0);}catch(e){i=!0,r=e}finally{try{a||null==o.return||o.return()}finally{if(i)throw r}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return D(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 D(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 R(e){var t,n=e.mode,r=e.plugin,l=e.record,d=e.categoryOptions,f=e.onSubmitted,m=(0,y.ec)().t,p=(0,y.kj)(),b=(0,a.useFlowContext)(),v=u.theme.useToken().token,g=b.api.resource("workflows"),h=L(u.Form.useForm(),1)[0],w=L((0,c.useState)(!1),2),E=w[0],S=w[1],k=(0,c.useMemo)(function(){var e=Array.from(r.triggers.getEntities()).map(function(e){var t=L(e,2),n=t[0],r=t[1];return{value:n,label:(null==r?void 0:r.title)?p(r.title):String(n),description:(null==r?void 0:r.description)?p(r.description):void 0}});return"edit"===n&&(null==l?void 0:l.type)&&!e.some(function(e){return e.value===l.type})&&e.push({value:l.type,label:l.type,description:void 0}),e.sort(function(e,t){return String(e.label).localeCompare(String(t.label))})},[r,p,n,l]),C=(0,c.useMemo)(function(){return O.hi.filter(function(e){return!!e.value}).map(function(e){return{value:e.value,label:p(e.label),color:e.color,description:e.description?p(e.description):void 0}})},[p]),F=(0,c.useMemo)(function(){if("edit"===n){var t,r,o;return{title:null==l?void 0:l.title,type:null==l?void 0:l.type,sync:null!=(t=null==l?void 0:l.sync)&&t,description:null==l?void 0:l.description,categories:(null!=(r=null==l?void 0:l.categories)?r:[]).map(function(e){return e.id}),options:null!=(o=null==l?void 0:l.options)?o:{}}}return{type:e.type,sync:!1,options:{},config:{}}},[n,l,e.type]);(0,c.useEffect)(function(){h.setFieldsValue(F)},[h,F]);var x=null!=(t=u.Form.useWatch("type",h))?t:e.type,A=(0,c.useMemo)(function(){return r.getTriggerOptions(x)},[r,x]),I=(null==A?void 0:A.sync)!=null;(0,c.useEffect)(function(){I&&h.setFieldValue("sync",A.sync)},[I,A,h]);var j=(0,c.useMemo)(function(){if("create"!==n)return null;var e=null==A?void 0:A.PresetFieldsetLoader;return e?(0,c.lazy)(e):null},[n,A]),M=(0,i.useMemoizedFn)(function(){h.setFieldValue("config",{})}),P=(0,i.useMemoizedFn)(function(){var e;return(e=function(){var e,t,r,o,a,i;return function(e,t){var n,r,o,l={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),i=Object.defineProperty;return i(a,"next",{value:u(0)}),i(a,"throw",{value:u(1)}),i(a,"return",{value:u(2)}),"function"==typeof Symbol&&i(a,Symbol.iterator,{value:function(){return this}}),a;function u(i){return function(u){var c=[i,u];if(n)throw TypeError("Generator is already executing.");for(;a&&(a=0,c[0]&&(l=0)),l;)try{if(n=1,r&&(o=2&c[0]?r.return:c[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,c[1])).done)return o;switch(r=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return l.label++,{value:c[1],done:!1};case 5:l.label++,r=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],r=0}finally{n=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}(this,function(u){switch(u.label){case 0:return[4,h.validateFields()];case 1:e=u.sent(),S(!0),u.label=2;case 2:if(u.trys.push([2,,7,8]),"create"!==n)return[3,4];return[4,g.create({values:{title:e.title,type:e.type,sync:!!e.sync,current:!0,config:null!=(t=e.config)?t:{},description:e.description,categories:null!=(r=e.categories)?r:[],options:null!=(o=e.options)?o:{}}})];case 3:return u.sent(),[3,6];case 4:return[4,g.update({filterByTk:l.id,values:{title:e.title,sync:!!e.sync,description:e.description,categories:null!=(a=e.categories)?a:[],options:null!=(i=e.options)?i:{}}})];case 5:u.sent(),u.label=6;case 6:return f(),[3,8];case 7:return S(!1),[7];case 8:return[2]}})},function(){var t=this,n=arguments;return new Promise(function(r,o){var l=e.apply(t,n);function a(e){B(l,r,o,a,i,"next",e)}function i(e){B(l,r,o,a,i,"throw",e)}a(void 0)})})()});return s().createElement(o.DrawerFormLayout,{title:m("create"===n?"Add new":"Edit"),onSubmit:P,submitting:E,submitText:m("Submit"),cancelText:m("Cancel")},s().createElement(u.Form,{form:h,layout:"vertical",initialValues:F},s().createElement(u.Form.Item,{name:"title",label:m("Title"),rules:[{required:!0}]},s().createElement(u.Input,null)),s().createElement(u.Form.Item,{name:"type",label:m("Trigger type"),rules:[{required:!0}]},s().createElement(u.Select,{options:k,disabled:"edit"===n,onChange:M,showSearch:!0,optionFilterProp:"label",popupMatchSelectWidth:!0,optionRender:function(e){var t,n;return s().createElement(u.Space,{direction:"vertical"},s().createElement(u.Tag,{color:"gold"},null==(t=e.data)?void 0:t.label),(null==(n=e.data)?void 0:n.description)?s().createElement(u.Typography.Text,{type:"secondary",style:{whiteSpace:"normal"}},e.data.description):null)}})),j?s().createElement("div",{style:{marginBottom:v.marginLG}},s().createElement("div",{style:{marginBottom:v.marginXS,fontWeight:600}},"".concat(m("Trigger configuration"),":")),s().createElement("div",{style:{padding:v.padding,border:"".concat(v.lineWidth,"px solid ").concat(v.colorBorderSecondary),borderRadius:v.borderRadiusLG}},s().createElement(c.Suspense,{fallback:s().createElement(u.Spin,null)},s().createElement(j,null)))):null,s().createElement(u.Form.Item,{name:"sync",label:m("Execute mode"),extra:m("Execute workflow asynchronously or synchronously based on trigger type, and could not be changed after created.")},s().createElement(T,{disabled:I||"edit"===n})),s().createElement(u.Form.Item,{name:"categories",label:m("Category")},s().createElement(u.Select,{mode:"multiple",allowClear:!0,options:d,optionFilterProp:"label"})),s().createElement(u.Form.Item,{name:"description",label:m("Description")},s().createElement(u.Input.TextArea,{autoSize:{minRows:2}})),s().createElement(u.Form.Item,{label:m("Advance options")},s().createElement(u.Card,{size:"small"},s().createElement(u.Form.Item,{name:["options","timeout"],label:m("Timeout settings"),extra:m("0 means unlimited. If you set any other value and the execution is still not completed when the timeout is reached, the execution plan will be terminated and the remaining nodes will not be executed. Time spent in queue is not counted; timing starts only after it first enters a processor."),initialValue:0},s().createElement(z,null)),s().createElement(u.Form.Item,{name:["options","stackLimit"],label:m("Maximum number of cycling triggers"),extra:m("The triggers of same workflow by some node (create, update and sub-flow etc.) more than this number will be ignored. Large number may cause performance issues. Please use with caution."),initialValue:1},s().createElement(u.InputNumber,{min:1,precision:0,style:{width:"50%"}})),s().createElement(u.Form.Item,{name:["options","deleteExecutionOnStatus"],label:m("Auto delete history when execution is on end status")},s().createElement(u.Select,{mode:"multiple",allowClear:!0,options:C,optionFilterProp:"label",optionRender:function(e){var t,n,r;return s().createElement(u.Space,null,s().createElement(u.Tag,{color:null==(t=e.data)?void 0:t.color},null==(n=e.data)?void 0:n.label),(null==(r=e.data)?void 0:r.description)?s().createElement("span",null,e.data.description):null)},tagRender:function(e){var t,n=e.value,r=e.label,o=e.closable,l=e.onClose;return s().createElement(u.Tag,{color:null==(t=O.m2[String(n)])?void 0:t.color,closable:o,onClose:l,onMouseDown:function(e){e.preventDefault(),e.stopPropagation()}},r)}}))))))}function G(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function N(e,t,n,r,o,l,a){try{var i=e[l](a),u=i.value}catch(e){n(e);return}i.done?t(u):Promise.resolve(u).then(r,o)}function q(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var l=e.apply(t,n);function a(e){N(l,r,o,a,i,"next",e)}function i(e){N(l,r,o,a,i,"throw",e)}a(void 0)})}}function V(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){var r;r=n[t],t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r})}return e}function $(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t})(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}function _(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,o=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var l=[],a=!0,i=!1;try{for(o=o.call(e);!(a=(n=o.next()).done)&&(l.push(n.value),!t||l.length!==t);a=!0);}catch(e){i=!0,r=e}finally{try{a||null==o.return||o.return()}finally{if(i)throw r}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return G(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return G(e,t)}}(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function K(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function U(e,t){var n,r,o,l={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),i=Object.defineProperty;return i(a,"next",{value:u(0)}),i(a,"throw",{value:u(1)}),i(a,"return",{value:u(2)}),"function"==typeof Symbol&&i(a,Symbol.iterator,{value:function(){return this}}),a;function u(i){return function(u){var c=[i,u];if(n)throw TypeError("Generator is already executing.");for(;a&&(a=0,c[0]&&(l=0)),l;)try{if(n=1,r&&(o=2&c[0]?r.return:c[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,c[1])).done)return o;switch(r=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return l.label++,{value:c[1],done:!1};case 5:l.label++,r=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],r=0}finally{n=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}function W(){var e=K(["\n background: ",";\n padding: 0;\n "]);return W=function(){return e},e}function H(){var e=K(["\n margin-left: -1px;\n background: ",";\n\n .ant-tabs {\n margin-bottom: 0;\n }\n\n .ant-tabs-nav {\n margin-bottom: 0;\n }\n\n .ant-tabs-content-holder {\n display: none;\n }\n "]);return H=function(){return e},e}function Q(){var e=K(["\n margin: 0;\n padding: ","px;\n background: ",";\n border-radius: 0 ","px ","px ","px;\n "]);return Q=function(){return e},e}var X=["id","description","categories"];function Z(e){var t=e.record,n=e.resource,r=e.onChanged,o=(0,y.ec)().t,l=u.App.useApp().message,a=_((0,c.useState)(!1),2),d=a[0],f=a[1],m=(0,i.useMemoizedFn)(function(e){return q(function(){return U(this,function(a){switch(a.label){case 0:if((null==t?void 0:t.id)==null)return[2];f(!0),a.label=1;case 1:return a.trys.push([1,3,4,5]),[4,n.update({filterByTk:t.id,values:{enabled:e}})];case 2:return a.sent(),setTimeout(function(){return r()},0),[3,5];case 3:return a.sent(),l.error(o("Operation failed")),[3,5];case 4:return f(!1),[7];case 5:return[2]}})})()});return s().createElement(u.Switch,{checked:!!(null==t?void 0:t.enabled),size:"small",disabled:d,loading:d,onClick:function(e,t){var n;return null==t||null==(n=t.stopPropagation)?void 0:n.call(t)},onChange:m})}function J(e){var t=e.record,n=e.resource,r=e.onSubmitted,l=(0,y.ec)().t,a=_(u.Form.useForm(),1)[0],d=_((0,c.useState)(!1),2),f=d[0],m=d[1],p=(0,i.useMemoizedFn)(function(){return q(function(){var e;return U(this,function(o){switch(o.label){case 0:return[4,a.validateFields()];case 1:e=o.sent(),m(!0),o.label=2;case 2:return o.trys.push([2,,4,5]),[4,n.revision({filterByTk:t.id,values:e})];case 3:return o.sent(),r(),[3,5];case 4:return m(!1),[7];case 5:return[2]}})})()});return s().createElement(o.DialogFormLayout,{title:l("Duplicate to new workflow"),onSubmit:p,submitting:f,submitText:l("Submit"),cancelText:l("Cancel")},s().createElement(u.Form,{form:a,layout:"vertical"},s().createElement(u.Form.Item,{name:"title",label:l("Title")},s().createElement(u.Input,null))))}function Y(){var e,t=(0,y.ec)().t,n=(0,y.kj)(),d=(0,a.useFlowContext)(),g=(0,p.TD)().getWorkflowCanvasPath,h=u.theme.useToken().token,w=u.App.useApp(),E=w.modal,S=w.message,k=d.api.resource("workflows"),C=d.app.pm.get(b.A),F=(0,l.css)(W(),h.colorBgLayout),x=(0,l.css)(H(),h.colorBgLayout),O=(0,l.css)(Q(),h.paddingLG,h.colorBgContainer,h.borderRadiusLG,h.borderRadiusLG,h.borderRadiusLG),T=(0,c.useMemo)(function(){var e,t,n,r;return null==(r=d.dataSourceManager)||null==(n=r.getDataSource)||null==(t=n.call(r,"main"))||null==(e=t.getCollection)?void 0:e.call(t,"workflows")},[d]),I=_((0,c.useState)("all"),2),j=I[0],M=I[1],P=_((0,c.useState)(1),2),z=P[0],D=P[1],B=_((0,c.useState)(o.DEFAULT_PAGE_SIZE),2),L=B[0],G=B[1],N=_((0,c.useState)([]),2),V=N[0],$=N[1],K=_((0,c.useState)(void 0),2),Y=K[0],ee=K[1],et=(0,i.useMemoizedFn)(function(e){ee(e),D(1)}),en=(0,i.useRequest)(function(){return q(function(){var e,t,n;return U(this,function(r){switch(r.label){case 0:return[4,d.api.resource("workflowCategories").list({paginate:!1,sort:["sort"]})];case 1:return[2,null!=(e=null==(n=r.sent())||null==(t=n.data)?void 0:t.data)?e:[]]}})})()}),er=en.data,eo=en.refresh,el=(0,c.useMemo)(function(){return er||[]},[er]),ea=(0,c.useMemo)(function(){return el.map(function(e){var t;return{value:e.id,label:n(null!=(t=e.title)?t:"")}})},[el,n]),ei=(0,i.useRequest)(function(){return q(function(){var e,t;return U(this,function(n){switch(n.label){case 0:return e={current:!0},"all"!==j&&(e["categories.id"]=j),t=Y?{$and:[e,Y]}:e,[4,k.list({page:z,pageSize:L,sort:["-createdAt"],except:["config"],appends:["categories","stats"],filter:t})];case 1:var r,o,l,a,i;return[2,{records:a=Array.isArray(l=null==(o=null==(r=n.sent())?void 0:r.data)?void 0:o.data)?l:Array.isArray(null==l?void 0:l.data)?l.data:[],total:(i=(null==o?void 0:o.meta)||(null==l?void 0:l.meta)||{}).count||i.total||a.length}]}})})()},{refreshDeps:[z,L,j,Y]}),eu=ei.data,ec=ei.loading,es=ei.refresh,ed=(0,i.useMemoizedFn)(function(e,t){if(t!==L){G(t),D(1);return}D(e)}),ef=(0,i.useMemoizedFn)(function(e){var t=e?C.getTriggerOptions(e):void 0;return(null==t?void 0:t.title)?n(t.title):e}),em=(0,i.useMemoizedFn)(function(e,t){d.viewer.drawer({width:"50%",closable:!0,content:function(){return s().createElement(R,{mode:e,plugin:C,record:t,categoryOptions:ea,onSubmitted:function(){return es()}})}})}),ep=(0,i.useMemoizedFn)(function(e){d.viewer.dialog({width:520,closable:!0,content:function(){return s().createElement(J,{record:e,resource:k,onSubmitted:function(){return es()}})}})}),ey=(0,i.useMemoizedFn)(function(e){d.router.navigate(g(e.id))}),eb=(0,i.useMemoizedFn)(function(e){d.viewer.drawer({width:"60%",closable:!0,title:t("Execution history"),content:function(){return s().createElement(v.S,{workflowKey:e.key})}})}),ev=(0,i.useMemoizedFn)(function(e){E.confirm({title:t("Delete record"),content:t("Are you sure you want to delete it?"),onOk:function(){return q(function(){return U(this,function(t){switch(t.label){case 0:return[4,k.destroy({filterByTk:e})];case 1:return t.sent(),$([]),es(),[2]}})})()}})}),eg=(0,i.useMemoizedFn)(function(){return q(function(){return U(this,function(e){switch(e.label){case 0:return[4,k.sync()];case 1:return e.sent(),S.success(t("Operation succeeded")),es(),[2]}})})()}),eh=!!((null==(e=d.app)?void 0:e.name)&&"main"!==d.app.name||d.app.pm.get("multi-app-share-collection")),ew=(0,c.useMemo)(function(){return[{title:t("Title"),dataIndex:"title"},{title:t("Category"),dataIndex:"categories",render:function(e){return s().createElement(u.Space,{size:[0,4],wrap:!0},(null!=e?e:[]).map(function(e){return s().createElement(u.Tag,{key:e.id,color:"default"===e.color?void 0:e.color},n(e.title))}))}},{title:t("Trigger type"),dataIndex:"type",render:function(e){return e?s().createElement(u.Tag,{color:"gold"},ef(e)):null}},{title:t("Execute mode"),dataIndex:"sync",width:140,render:function(e){return s().createElement(m.t,{value:e})}},{title:t("Enabled"),dataIndex:"enabled",width:100,render:function(e,t){return s().createElement(Z,{record:t,resource:k,onChanged:es})}},{title:t("Executed"),dataIndex:["stats","executed"],width:100,render:function(e,t){var n,r;return s().createElement("a",{"aria-label":"executed-".concat(t.title),onClick:function(){return eb(t)}},null!=(n=null==(r=t.stats)?void 0:r.executed)?n:0)}},{title:t("Actions"),width:260,render:function(e,n){return s().createElement(u.Space,{size:"middle",wrap:!1,style:{whiteSpace:"nowrap"}},s().createElement("a",{onClick:function(){return ey(n)}},t("Configure")),s().createElement("a",{onClick:function(){return em("edit",n)}},t("Edit")),s().createElement("a",{onClick:function(){return ep(n)}},t("Duplicate")),s().createElement("a",{onClick:function(){return ev(n.id)}},t("Delete")))}}]},[ev,ey,ep,eb,em,es,k,t,ef]);return s().createElement("div",{className:F},s().createElement(A,{className:x,activeKey:j,onChange:function(e){M(e),D(1)},categories:el,refreshCategories:eo}),s().createElement("div",{className:O},s().createElement(u.Flex,{justify:"space-between",align:"center",style:{marginBottom:h.margin}},s().createElement(o.CollectionFilter,{collection:T,defaultValue:f.d,nonfilterableFieldNames:X,onChange:et,t:n}),s().createElement(u.Space,null,s().createElement(u.Button,{icon:s().createElement(r.ReloadOutlined,null),onClick:function(){return es()}},t("Refresh")),eh?s().createElement(u.Tooltip,{title:t("Sync enabled status of all workflows from database")},s().createElement(u.Button,{icon:s().createElement(r.SyncOutlined,null),onClick:eg},t("Sync"))):null,s().createElement(u.Button,{icon:s().createElement(r.DeleteOutlined,null),disabled:!V.length,onClick:function(){return ev(V)}},t("Delete")),s().createElement(u.Button,{type:"primary",icon:s().createElement(r.PlusOutlined,null),onClick:function(){return em("create")}},t("Add new")))),s().createElement(o.Table,{rowKey:"id",loading:ec,columns:ew,dataSource:(null==eu?void 0:eu.records)||[],rowSelection:{selectedRowKeys:V,onChange:$},pagination:{current:z,pageSize:L,total:(null==eu?void 0:eu.total)||0,onChange:ed}})))}function ee(){var e=(0,y.kj)(),t=(0,a.useFlowContext)().app.pm.get(b.A),n=(0,c.useMemo)(function(){var n=Array.from(t.triggers.getEntities()).map(function(t){var n=_(t,2),r=n[0],o=n[1];return{value:r,label:(null==o?void 0:o.title)?e(o.title):String(r)}}).sort(function(e,t){return String(e.label).localeCompare(String(t.label))});return[$(V({},d.A),{hidden:!0,fields:d.A.fields.map(function(e){return(null==e?void 0:e.name)==="type"&&e.uiSchema?$(V({},e),{uiSchema:$(V({},e.uiSchema),{enum:n})}):e})})]},[t,e]);return s().createElement(o.ExtendCollectionsProvider,{collections:n},s().createElement(Y,null))}},7541:function(e,t,n){n.d(t,{d:function(){return r}});var r={$and:[{title:{$includes:""}},{type:{$eq:void 0}}]}}}]);
10
+ "use strict";(self.webpackChunk_nocobase_plugin_workflow=self.webpackChunk_nocobase_plugin_workflow||[]).push([["509"],{5764:function(e,t,n){n.r(t),n.d(t,{default:function(){return eo}});var r=n(7375),o=n(3485),l=n(5477),a=n(7694),i=n(2625),u=n(2059),c=n(9155),s=n.n(c),d=n(5827),f=n(7541),m=n(5927),p=n(7001),y=n(9488),b=n(8743),v=n(1652),g=n(5953);function h(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function w(e,t,n,r,o,l,a){try{var i=e[l](a),u=i.value}catch(e){n(e);return}i.done?t(u):Promise.resolve(u).then(r,o)}function E(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var l=e.apply(t,n);function a(e){w(l,r,o,a,i,"next",e)}function i(e){w(l,r,o,a,i,"throw",e)}a(void 0)})}}function S(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,o=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var l=[],a=!0,i=!1;try{for(o=o.call(e);!(a=(n=o.next()).done)&&(l.push(n.value),!t||l.length!==t);a=!0);}catch(e){i=!0,r=e}finally{try{a||null==o.return||o.return()}finally{if(i)throw r}}return l}}(e,t)||k(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function k(e,t){if(e){if("string"==typeof e)return h(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 h(e,t)}}function C(e,t){var n,r,o,l={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),i=Object.defineProperty;return i(a,"next",{value:u(0)}),i(a,"throw",{value:u(1)}),i(a,"return",{value:u(2)}),"function"==typeof Symbol&&i(a,Symbol.iterator,{value:function(){return this}}),a;function u(i){return function(u){var c=[i,u];if(n)throw TypeError("Generator is already executing.");for(;a&&(a=0,c[0]&&(l=0)),l;)try{if(n=1,r&&(o=2&c[0]?r.return:c[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,c[1])).done)return o;switch(r=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return l.label++,{value:c[1],done:!1};case 5:l.label++,r=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],r=0}finally{n=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}var x=["red","magenta","volcano","orange","gold","lime","green","cyan","blue","geekblue","purple","default"];function F(e){var t=(0,g.useTranslation)().t,n=x.map(function(e){return{value:e,label:s().createElement(u.Tag,{color:"default"===e?void 0:e},t(e.charAt(0).toUpperCase()+e.slice(1)))}});return s().createElement(u.Select,{allowClear:!0,value:e.value,options:n,onChange:e.onChange})}function A(e){var t=e.activeKey,n=e.onChange,r=e.categories,l=e.refreshCategories,d=e.className,f=(0,y.ec)().t,m=(0,y.kj)(),p=(0,a.useFlowContext)(),b=u.App.useApp().modal,v=p.api.resource("workflowCategories"),g=S((0,c.useState)(null),2),w=g[0],x=g[1],A=S((0,c.useState)(!1),2),O=A[0],T=A[1],I=S((0,c.useState)(!1),2),j=I[0],M=I[1],P=S(u.Form.useForm(),1)[0],z=(0,c.useMemo)(function(){return((function(e){if(Array.isArray(e))return h(e)})(r)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(r)||k(r)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()).sort(function(e,t){var n,r;return(null!=(n=e.sort)?n:0)-(null!=(r=t.sort)?r:0)}).map(function(e){return{id:e.id,label:m(e.title),color:e.color}})},[r,m]),D=(0,i.useMemoizedFn)(function(e){return r.find(function(t){return String(t.id)===String(e)})}),L=(0,i.useMemoizedFn)(function(){x(null),P.resetFields(),T(!0)}),B=(0,i.useMemoizedFn)(function(e){var t=D(e);t&&(x(t),P.setFieldsValue({title:t.title,color:t.color}),T(!0))}),R=(0,i.useMemoizedFn)(function(e){var r=D(e);r&&b.confirm({title:f("Delete category"),content:f("Are you sure you want to delete it?"),onOk:function(){return E(function(){return C(this,function(e){switch(e.label){case 0:return[4,v.destroy({filterByTk:r.id})];case 1:return e.sent(),String(r.id)===t&&n("all"),l(),[2]}})})()}})}),W=(0,i.useMemoizedFn)(function(e,t){return E(function(){return C(this,function(n){switch(n.label){case 0:return[4,v.move({sourceId:e,targetId:t})];case 1:return n.sent(),l(),[2]}})})()}),N=(0,i.useMemoizedFn)(function(){return E(function(){var e;return C(this,function(t){switch(t.label){case 0:return[4,P.validateFields()];case 1:e=t.sent(),M(!0),t.label=2;case 2:if(t.trys.push([2,,7,8]),!w)return[3,4];return[4,v.update({filterByTk:w.id,values:e})];case 3:return t.sent(),[3,6];case 4:return[4,v.create({values:e})];case 5:t.sent(),t.label=6;case 6:return T(!1),l(),[3,8];case 7:return M(!1),[7];case 8:return[2]}})})()});return s().createElement(s().Fragment,null,s().createElement(o.SortableCategoryTabs,{className:d,activeKey:t,onChange:n,allTab:{key:"all",label:f("All")},categories:z,onAdd:L,onEdit:B,onDelete:R,onSort:W,menuLabels:{edit:f("Edit category"),delete:f("Delete category")}}),s().createElement(u.Modal,{title:w?f("Edit category"):f("Add category"),open:O,confirmLoading:j,onOk:N,onCancel:function(){return T(!1)},okText:f("Submit"),cancelText:f("Cancel"),destroyOnClose:!0},s().createElement(u.Form,{form:P,layout:"vertical"},s().createElement(u.Form.Item,{name:"title",label:f("Title"),rules:[{required:!0}]},s().createElement(u.Input,null)),s().createElement(u.Form.Item,{name:"color",label:f("Color")},s().createElement(F,null)))))}var O=n(9239);function T(e){var t=e.value,n=e.onChange,o=e.disabled,l=(0,y.ec)().t,a=[{value:!1,label:l("Asynchronously"),tooltip:l("Will be executed in the background as a queued task.")},{value:!0,label:l("Synchronously"),tooltip:l("For user actions that require immediate feedback. Can not use asynchronous nodes in such mode, and it is not recommended to perform time-consuming operations under synchronous mode.")}];return s().createElement(u.Radio.Group,{value:t,disabled:o,onChange:function(e){return null==n?void 0:n(e.target.value)}},a.map(function(e){return s().createElement(u.Radio,{key:String(e.value),value:e.value},s().createElement(u.Space,{size:"small"},e.label,s().createElement(u.Tooltip,{title:e.tooltip},s().createElement(r.QuestionCircleOutlined,null))))}))}function I(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var j=[{value:1e3,label:"Seconds"},{value:6e4,label:"Minutes"},{value:36e5,label:"Hours"},{value:864e5,label:"Days"}];function M(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:15552e6;return Math.min(Math.max(e,0),t)}function P(e){var t,n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:6e4;return e&&null!=(t=null==(n=j.findLast(function(t){return e%t.value==0}))?void 0:n.value)?t:r}function z(e){var t,n=e.value,r=e.onChange,o=(0,y.ec)().t,l=M(Number(null!=n?n:0)),a=function(e){if(Array.isArray(e))return e}(t=(0,c.useState)(function(){return P(l)}))||function(e){var t,n,r=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var o=[],l=!0,a=!1;try{for(r=r.call(e);!(l=(t=r.next()).done)&&(o.push(t.value),2!==o.length);l=!0);}catch(e){a=!0,n=e}finally{try{l||null==r.return||r.return()}finally{if(a)throw n}}return o}}(t)||function(e){if(e){if("string"==typeof e)return I(e,2);var t=Object.prototype.toString.call(e).slice(8,-1);if("Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t)return Array.from(t);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return I(e,2)}}(t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),i=a[0],d=a[1];(0,c.useEffect)(function(){0!==l&&d(function(e){return P(l,e)})},[l]);var f=0===l?0:l/i,m=15552e6/i;return s().createElement(u.Space.Compact,{style:{width:"50%"}},s().createElement(u.InputNumber,{min:0,max:m,precision:0,value:f,onChange:function(e){return null==r?void 0:r(M(Number(e)||0,m)*i)},style:{width:"70%"}}),s().createElement(u.Select,{value:i,style:{width:"30%"},options:j.map(function(e){return{value:e.value,label:o(e.label)}}),onChange:function(e){var t=M(Number(null!=n?n:0)),o=0===t?0:t/i;d(e),null==r||r(M(o*e))}}))}function D(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 L(e,t,n,r,o,l,a){try{var i=e[l](a),u=i.value}catch(e){n(e);return}i.done?t(u):Promise.resolve(u).then(r,o)}function B(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,o=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var l=[],a=!0,i=!1;try{for(o=o.call(e);!(a=(n=o.next()).done)&&(l.push(n.value),!t||l.length!==t);a=!0);}catch(e){i=!0,r=e}finally{try{a||null==o.return||o.return()}finally{if(i)throw r}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return D(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 D(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 R(e){var t,n=e.mode,r=e.plugin,l=e.record,d=e.categoryOptions,f=e.onSubmitted,m=(0,y.ec)().t,p=(0,y.kj)(),b=(0,a.useFlowContext)(),v=u.theme.useToken().token,g=b.api.resource("workflows"),h=B(u.Form.useForm(),1)[0],w=B((0,c.useState)(!1),2),E=w[0],S=w[1],k=(0,c.useMemo)(function(){var e=Array.from(r.triggers.getEntities()).map(function(e){var t=B(e,2),n=t[0],r=t[1];return{value:n,label:(null==r?void 0:r.title)?p(r.title):String(n),description:(null==r?void 0:r.description)?p(r.description):void 0}});return"edit"===n&&(null==l?void 0:l.type)&&!e.some(function(e){return e.value===l.type})&&e.push({value:l.type,label:l.type,description:void 0}),e.sort(function(e,t){return String(e.label).localeCompare(String(t.label))})},[r,p,n,l]),C=(0,c.useMemo)(function(){return O.hi.filter(function(e){return!!e.value}).map(function(e){return{value:e.value,label:p(e.label),color:e.color,description:e.description?p(e.description):void 0}})},[p]),x=(0,c.useMemo)(function(){if("edit"===n){var t,r,o;return{title:null==l?void 0:l.title,type:null==l?void 0:l.type,sync:null!=(t=null==l?void 0:l.sync)&&t,description:null==l?void 0:l.description,categories:(null!=(r=null==l?void 0:l.categories)?r:[]).map(function(e){return e.id}),options:null!=(o=null==l?void 0:l.options)?o:{}}}return{type:e.type,sync:!1,options:{},config:{}}},[n,l,e.type]);(0,c.useEffect)(function(){h.setFieldsValue(x)},[h,x]);var F=null!=(t=u.Form.useWatch("type",h))?t:e.type,A=(0,c.useMemo)(function(){return r.getTriggerOptions(F)},[r,F]),I=(null==A?void 0:A.sync)!=null;(0,c.useEffect)(function(){I&&h.setFieldValue("sync",A.sync)},[I,A,h]);var j=(0,c.useMemo)(function(){if("create"!==n)return null;var e=null==A?void 0:A.PresetFieldsetLoader;return e?(0,c.lazy)(e):null},[n,A]),M=(0,i.useMemoizedFn)(function(){h.setFieldValue("config",{})}),P=(0,i.useMemoizedFn)(function(){var e;return(e=function(){var e,t,r,o,a,i;return function(e,t){var n,r,o,l={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),i=Object.defineProperty;return i(a,"next",{value:u(0)}),i(a,"throw",{value:u(1)}),i(a,"return",{value:u(2)}),"function"==typeof Symbol&&i(a,Symbol.iterator,{value:function(){return this}}),a;function u(i){return function(u){var c=[i,u];if(n)throw TypeError("Generator is already executing.");for(;a&&(a=0,c[0]&&(l=0)),l;)try{if(n=1,r&&(o=2&c[0]?r.return:c[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,c[1])).done)return o;switch(r=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return l.label++,{value:c[1],done:!1};case 5:l.label++,r=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],r=0}finally{n=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}(this,function(u){switch(u.label){case 0:return[4,h.validateFields()];case 1:e=u.sent(),S(!0),u.label=2;case 2:if(u.trys.push([2,,7,8]),"create"!==n)return[3,4];return[4,g.create({values:{title:e.title,type:e.type,sync:!!e.sync,current:!0,config:null!=(t=e.config)?t:{},description:e.description,categories:null!=(r=e.categories)?r:[],options:null!=(o=e.options)?o:{}}})];case 3:return u.sent(),[3,6];case 4:return[4,g.update({filterByTk:l.id,values:{title:e.title,sync:!!e.sync,description:e.description,categories:null!=(a=e.categories)?a:[],options:null!=(i=e.options)?i:{}}})];case 5:u.sent(),u.label=6;case 6:return f(),[3,8];case 7:return S(!1),[7];case 8:return[2]}})},function(){var t=this,n=arguments;return new Promise(function(r,o){var l=e.apply(t,n);function a(e){L(l,r,o,a,i,"next",e)}function i(e){L(l,r,o,a,i,"throw",e)}a(void 0)})})()});return s().createElement(o.DrawerFormLayout,{title:m("create"===n?"Add new":"Edit"),onSubmit:P,submitting:E,submitText:m("Submit"),cancelText:m("Cancel")},s().createElement(u.Form,{form:h,layout:"vertical",initialValues:x},s().createElement(u.Form.Item,{name:"title",label:m("Title"),rules:[{required:!0}]},s().createElement(u.Input,null)),s().createElement(u.Form.Item,{name:"type",label:m("Trigger type"),rules:[{required:!0}]},s().createElement(u.Select,{options:k,disabled:"edit"===n,onChange:M,showSearch:!0,optionFilterProp:"label",popupMatchSelectWidth:!0,optionRender:function(e){var t,n;return s().createElement(u.Space,{direction:"vertical"},s().createElement(u.Tag,{color:"gold"},null==(t=e.data)?void 0:t.label),(null==(n=e.data)?void 0:n.description)?s().createElement(u.Typography.Text,{type:"secondary",style:{whiteSpace:"normal"}},e.data.description):null)}})),j?s().createElement("div",{style:{marginBottom:v.marginLG}},s().createElement("div",{style:{marginBottom:v.marginXS,fontWeight:600}},"".concat(m("Trigger configuration"),":")),s().createElement("div",{style:{padding:v.padding,border:"".concat(v.lineWidth,"px solid ").concat(v.colorBorderSecondary),borderRadius:v.borderRadiusLG}},s().createElement(c.Suspense,{fallback:s().createElement(u.Spin,null)},s().createElement(j,null)))):null,s().createElement(u.Form.Item,{name:"sync",label:m("Execute mode"),extra:m("Execute workflow asynchronously or synchronously based on trigger type, and could not be changed after created.")},s().createElement(T,{disabled:I||"edit"===n})),s().createElement(u.Form.Item,{name:"categories",label:m("Category")},s().createElement(u.Select,{mode:"multiple",allowClear:!0,options:d,optionFilterProp:"label"})),s().createElement(u.Form.Item,{name:"description",label:m("Description")},s().createElement(u.Input.TextArea,{autoSize:{minRows:2}})),s().createElement(u.Form.Item,{label:m("Advance options")},s().createElement(u.Card,{size:"small"},s().createElement(u.Form.Item,{name:["options","timeout"],label:m("Timeout settings"),extra:m("0 means unlimited. If you set any other value and the execution is still not completed when the timeout is reached, the execution plan will be terminated and the remaining nodes will not be executed. Time spent in queue is not counted; timing starts only after it first enters a processor."),initialValue:0},s().createElement(z,null)),s().createElement(u.Form.Item,{name:["options","stackLimit"],label:m("Maximum number of cycling triggers"),extra:m("The triggers of same workflow by some node (create, update and sub-flow etc.) more than this number will be ignored. Large number may cause performance issues. Please use with caution."),initialValue:1},s().createElement(u.InputNumber,{min:1,precision:0,style:{width:"50%"}})),s().createElement(u.Form.Item,{name:["options","deleteExecutionOnStatus"],label:m("Auto delete history when execution is on end status")},s().createElement(u.Select,{mode:"multiple",allowClear:!0,options:C,optionFilterProp:"label",optionRender:function(e){var t,n,r;return s().createElement(u.Space,null,s().createElement(u.Tag,{color:null==(t=e.data)?void 0:t.color},null==(n=e.data)?void 0:n.label),(null==(r=e.data)?void 0:r.description)?s().createElement("span",null,e.data.description):null)},tagRender:function(e){var t,n=e.value,r=e.label,o=e.closable,l=e.onClose;return s().createElement(u.Tag,{color:null==(t=O.m2[String(n)])?void 0:t.color,closable:o,onClose:l,onMouseDown:function(e){e.preventDefault(),e.stopPropagation()}},r)}}))))))}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 N(e,t,n,r,o,l,a){try{var i=e[l](a),u=i.value}catch(e){n(e);return}i.done?t(u):Promise.resolve(u).then(r,o)}function G(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var l=e.apply(t,n);function a(e){N(l,r,o,a,i,"next",e)}function i(e){N(l,r,o,a,i,"throw",e)}a(void 0)})}}function q(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){var r;r=n[t],t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r})}return e}function V(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t})(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}function $(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,o=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var l=[],a=!0,i=!1;try{for(o=o.call(e);!(a=(n=o.next()).done)&&(l.push(n.value),!t||l.length!==t);a=!0);}catch(e){i=!0,r=e}finally{try{a||null==o.return||o.return()}finally{if(i)throw r}}return l}}(e,t)||U(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function _(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function K(e){return function(e){if(Array.isArray(e))return W(e)}(e)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||U(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 U(e,t){if(e){if("string"==typeof e)return W(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return W(e,t)}}function X(e,t){var n,r,o,l={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),i=Object.defineProperty;return i(a,"next",{value:u(0)}),i(a,"throw",{value:u(1)}),i(a,"return",{value:u(2)}),"function"==typeof Symbol&&i(a,Symbol.iterator,{value:function(){return this}}),a;function u(i){return function(u){var c=[i,u];if(n)throw TypeError("Generator is already executing.");for(;a&&(a=0,c[0]&&(l=0)),l;)try{if(n=1,r&&(o=2&c[0]?r.return:c[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,c[1])).done)return o;switch(r=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return l.label++,{value:c[1],done:!1};case 5:l.label++,r=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],r=0}finally{n=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}function H(){var e=_(["\n background: ",";\n padding: 0;\n "]);return H=function(){return e},e}function Q(){var e=_(["\n margin-left: -1px;\n background: ",";\n\n .ant-tabs {\n margin-bottom: 0;\n }\n\n .ant-tabs-nav {\n margin-bottom: 0;\n }\n\n .ant-tabs-content-holder {\n display: none;\n }\n "]);return Q=function(){return e},e}function Z(){var e=_(["\n margin: 0;\n padding: ","px;\n background: ",";\n border-radius: 0 ","px ","px ","px;\n "]);return Z=function(){return e},e}var J=["id","description","categories"];function Y(e){var t=e.notices;if(!t.length)return null;var n=function(e){switch(e){case"error":return s().createElement(r.CloseCircleOutlined,null);case"info":return s().createElement(r.InfoCircleOutlined,null);case"success":return s().createElement(r.CheckCircleOutlined,null);default:return s().createElement(r.ExclamationCircleOutlined,null)}},o=function(e){switch(e){case"error":case"success":case"warning":return e;case"info":return"blue";default:return"warning"}};return s().createElement(s().Fragment,null,t.map(function(e,t){return s().createElement(u.Tooltip,{key:"".concat(e.key,"-").concat(t),title:e.description},s().createElement(u.Tag,{color:o(e.type),icon:n(e.type||"warning")},e.message))}))}function ee(e){var t=e.maxWidth,n=e.notices,r=e.title;return s().createElement("span",{style:{display:"inline-block",width:"max-content",maxWidth:t,overflowWrap:"anywhere",whiteSpace:"normal",wordBreak:"break-word"}},r,n.length?s().createElement("span",{style:{display:"inline-flex",flexWrap:"wrap",gap:"4px 8px",marginInlineStart:8}},s().createElement(Y,{notices:n})):null)}function et(e){var t=e.record,n=e.resource,r=e.onChanged,o=(0,y.ec)().t,l=u.App.useApp().message,a=$((0,c.useState)(!1),2),d=a[0],f=a[1],m=(0,i.useMemoizedFn)(function(e){return G(function(){return X(this,function(a){switch(a.label){case 0:if((null==t?void 0:t.id)==null)return[2];f(!0),a.label=1;case 1:return a.trys.push([1,3,4,5]),[4,n.update({filterByTk:t.id,values:{enabled:e}})];case 2:return a.sent(),setTimeout(function(){return r()},0),[3,5];case 3:return a.sent(),l.error(o("Operation failed")),[3,5];case 4:return f(!1),[7];case 5:return[2]}})})()});return s().createElement(u.Switch,{checked:!!(null==t?void 0:t.enabled),size:"small",disabled:d,loading:d,onClick:function(e,t){var n;return null==t||null==(n=t.stopPropagation)?void 0:n.call(t)},onChange:m})}function en(e){var t=e.record,n=e.resource,r=e.onSubmitted,l=(0,y.ec)().t,a=$(u.Form.useForm(),1)[0],d=$((0,c.useState)(!1),2),f=d[0],m=d[1],p=(0,i.useMemoizedFn)(function(){return G(function(){var e;return X(this,function(o){switch(o.label){case 0:return[4,a.validateFields()];case 1:e=o.sent(),m(!0),o.label=2;case 2:return o.trys.push([2,,4,5]),[4,n.revision({filterByTk:t.id,values:e})];case 3:return o.sent(),r(),[3,5];case 4:return m(!1),[7];case 5:return[2]}})})()});return s().createElement(o.DialogFormLayout,{title:l("Duplicate to new workflow"),onSubmit:p,submitting:f,submitText:l("Submit"),cancelText:l("Cancel")},s().createElement(u.Form,{form:a,layout:"vertical"},s().createElement(u.Form.Item,{name:"title",label:l("Title")},s().createElement(u.Input,null))))}function er(){var e,t=(0,y.ec)().t,n=(0,y.kj)(),d=(0,a.useFlowContext)(),g=(0,p.TD)().getWorkflowCanvasPath,h=u.theme.useToken().token,w=h.screenXS-3*h.paddingXL,E=w+2*h.padding,S=u.App.useApp(),k=S.modal,C=S.message,x=d.api.resource("workflows"),F=d.app.pm.get(b.A),O=(0,l.css)(H(),h.colorBgLayout),T=(0,l.css)(Q(),h.colorBgLayout),I=(0,l.css)(Z(),h.paddingLG,h.colorBgContainer,h.borderRadiusLG,h.borderRadiusLG,h.borderRadiusLG),j=(0,c.useMemo)(function(){var e,t,n,r;return null==(r=d.dataSourceManager)||null==(n=r.getDataSource)||null==(t=n.call(r,"main"))||null==(e=t.getCollection)?void 0:e.call(t,"workflows")},[d]),M=$((0,c.useState)("all"),2),P=M[0],z=M[1],D=$((0,c.useState)(1),2),L=D[0],B=D[1],W=$((0,c.useState)(o.DEFAULT_PAGE_SIZE),2),N=W[0],q=W[1],V=$((0,c.useState)([]),2),_=V[0],U=V[1],Y=$((0,c.useState)(void 0),2),er=Y[0],eo=Y[1],el=$((0,c.useState)({}),2),ea=el[0],ei=el[1],eu=(0,i.useMemoizedFn)(function(e){eo(e),B(1)}),ec=(0,i.useRequest)(function(){return G(function(){var e,t,n;return X(this,function(r){switch(r.label){case 0:return[4,d.api.resource("workflowCategories").list({paginate:!1,sort:["sort"]})];case 1:return[2,null!=(e=null==(n=r.sent())||null==(t=n.data)?void 0:t.data)?e:[]]}})})()}),es=ec.data,ed=ec.refresh,ef=(0,c.useMemo)(function(){return es||[]},[es]),em=(0,c.useMemo)(function(){return ef.map(function(e){var t;return{value:e.id,label:n(null!=(t=e.title)?t:"")}})},[ef,n]),ep=(0,i.useRequest)(function(){return G(function(){var e,t;return X(this,function(n){switch(n.label){case 0:return e={current:!0},"all"!==P&&(e["categories.id"]=P),t=er?{$and:[e,er]}:e,[4,x.list({page:L,pageSize:N,sort:["-createdAt"],appends:["categories","stats"],except:["config"],filter:t})];case 1:var r,o,l,a,i;return[2,{records:a=Array.isArray(l=null==(o=null==(r=n.sent())?void 0:r.data)?void 0:o.data)?l:Array.isArray(null==l?void 0:l.data)?l.data:[],total:(i=(null==o?void 0:o.meta)||(null==l?void 0:l.meta)||{}).count||i.total||a.length}]}})})()},{refreshDeps:[L,N,P,er]}),ey=ep.data,eb=ep.loading,ev=ep.refresh,eg=(0,c.useMemo)(function(){return(null==ey?void 0:ey.records)||[]},[null==ey?void 0:ey.records]);(0,c.useEffect)(function(){var e=!1;return G(function(){var t;return X(this,function(n){switch(n.label){case 0:if(!eg.length)return ei({}),[2];return ei({}),[4,F.loadWorkflowListNotices({api:d.api,surface:"workflow-list-row",workflows:eg})];case 1:return t=n.sent(),e||ei(t),[2]}})})().catch(function(){e||ei({})}),function(){e=!0}},[d.api,F,eg]);var eh=(0,i.useMemoizedFn)(function(e,t){if(t!==N){q(t),B(1);return}B(e)}),ew=(0,i.useMemoizedFn)(function(e){var t=e?F.getTriggerOptions(e):void 0;return(null==t?void 0:t.title)?n(t.title):e}),eE=(0,i.useMemoizedFn)(function(e,t){d.viewer.drawer({width:"50%",closable:!0,content:function(){return s().createElement(R,{mode:e,plugin:F,record:t,categoryOptions:em,onSubmitted:function(){return ev()}})}})}),eS=(0,i.useMemoizedFn)(function(e){d.viewer.dialog({width:520,closable:!0,content:function(){return s().createElement(en,{record:e,resource:x,onSubmitted:function(){return ev()}})}})}),ek=(0,i.useMemoizedFn)(function(e){d.router.navigate(g(e.id))}),eC=(0,i.useMemoizedFn)(function(e){d.viewer.drawer({width:"60%",closable:!0,title:t("Execution history"),content:function(){return s().createElement(v.S,{workflowKey:e.key})}})}),ex=(0,i.useMemoizedFn)(function(e){k.confirm({title:t("Delete record"),content:t("Are you sure you want to delete it?"),onOk:function(){return G(function(){return X(this,function(t){switch(t.label){case 0:return[4,x.destroy({filterByTk:e})];case 1:return t.sent(),U([]),ev(),[2]}})})()}})}),eF=(0,i.useMemoizedFn)(function(){return G(function(){return X(this,function(e){switch(e.label){case 0:return[4,x.sync()];case 1:return e.sent(),C.success(t("Operation succeeded")),ev(),[2]}})})()}),eA=!!((null==(e=d.app)?void 0:e.name)&&"main"!==d.app.name||d.app.pm.get("multi-app-share-collection")),eO=(0,c.useMemo)(function(){return[{title:t("Title"),dataIndex:"title",width:1,onHeaderCell:function(){return{style:{maxWidth:E,whiteSpace:"nowrap"}}},onCell:function(){return{style:{maxWidth:E,overflowWrap:"anywhere",whiteSpace:"normal",wordBreak:"break-word"}}},render:function(e,t){var n=F.getWorkflowNotices({surface:"workflow-list-row",workflow:t}),r=ea[String(t.id)]||[],o=K(n).concat(K(r));return s().createElement(ee,{title:e,notices:o,maxWidth:w})}},{title:t("Category"),dataIndex:"categories",render:function(e){return s().createElement(u.Space,{size:[0,4],wrap:!0},(null!=e?e:[]).map(function(e){return s().createElement(u.Tag,{key:e.id,color:"default"===e.color?void 0:e.color},n(e.title))}))}},{title:t("Trigger type"),dataIndex:"type",render:function(e){return e?s().createElement(u.Tag,{color:"gold"},ew(e)):null}},{title:t("Execute mode"),dataIndex:"sync",width:140,render:function(e){return s().createElement(m.t,{value:e})}},{title:t("Enabled"),dataIndex:"enabled",width:100,render:function(e,t){return s().createElement(et,{record:t,resource:x,onChanged:ev})}},{title:t("Executed"),dataIndex:["stats","executed"],width:100,render:function(e,t){var n,r;return s().createElement("a",{"aria-label":"executed-".concat(t.title),onClick:function(){return eC(t)}},null!=(n=null==(r=t.stats)?void 0:r.executed)?n:0)}},{title:t("Actions"),width:260,render:function(e,n){return s().createElement(u.Space,{size:"middle",wrap:!1,style:{whiteSpace:"nowrap"}},s().createElement("a",{onClick:function(){return ek(n)}},t("Configure")),s().createElement("a",{onClick:function(){return eE("edit",n)}},t("Edit")),s().createElement("a",{onClick:function(){return eS(n)}},t("Duplicate")),s().createElement("a",{onClick:function(){return ex(n.id)}},t("Delete")))}}]},[ex,ek,eS,eC,eE,F,ev,x,t,ew,E,w,ea]);return s().createElement("div",{className:O},s().createElement(A,{className:T,activeKey:P,onChange:function(e){z(e),B(1)},categories:ef,refreshCategories:ed}),s().createElement("div",{className:I},s().createElement(u.Flex,{justify:"space-between",align:"center",style:{marginBottom:h.margin}},s().createElement(o.CollectionFilter,{collection:j,defaultValue:f.d,nonfilterableFieldNames:J,onChange:eu,t:n}),s().createElement(u.Space,null,s().createElement(u.Button,{icon:s().createElement(r.ReloadOutlined,null),onClick:function(){return ev()}},t("Refresh")),eA?s().createElement(u.Tooltip,{title:t("Sync enabled status of all workflows from database")},s().createElement(u.Button,{icon:s().createElement(r.SyncOutlined,null),onClick:eF},t("Sync"))):null,s().createElement(u.Button,{icon:s().createElement(r.DeleteOutlined,null),disabled:!_.length,onClick:function(){return ex(_)}},t("Delete")),s().createElement(u.Button,{type:"primary",icon:s().createElement(r.PlusOutlined,null),onClick:function(){return eE("create")}},t("Add new")))),s().createElement(o.Table,{rowKey:"id",loading:eb,columns:eO,dataSource:(null==ey?void 0:ey.records)||[],rowSelection:{selectedRowKeys:_,onChange:U},pagination:{current:L,pageSize:N,total:(null==ey?void 0:ey.total)||0,onChange:eh},tableLayout:"auto"})))}function eo(){var e=(0,y.kj)(),t=(0,a.useFlowContext)().app.pm.get(b.A),n=(0,c.useMemo)(function(){var n=Array.from(t.triggers.getEntities()).map(function(t){var n=$(t,2),r=n[0],o=n[1];return{value:r,label:(null==o?void 0:o.title)?e(o.title):String(r)}}).sort(function(e,t){return String(e.label).localeCompare(String(t.label))});return[V(q({},d.A),{hidden:!0,fields:d.A.fields.map(function(e){return(null==e?void 0:e.name)==="type"&&e.uiSchema?V(q({},e),{uiSchema:V(q({},e.uiSchema),{enum:n})}):e})})]},[t,e]);return s().createElement(o.ExtendCollectionsProvider,{collections:n},s().createElement(er,null))}},7541:function(e,t,n){n.d(t,{d:function(){return r}});var r={$and:[{title:{$includes:""}},{type:{$eq:void 0}}]}}}]);
@@ -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([["54"],{5329:function(e,n,l){l.d(n,{F:function(){return r}});var t=l(9155),a=l.n(t),o=l(2059),i=l(8198),s=l(9488);function c(e){var n=e.value,l=e.onChange,o=e.disabled,s=e.onCollectionChanged,c=(0,t.useRef)();return a().createElement(i.XJ,{value:n,disabled:o,onChange:function(e){var t,a=null!=(t=c.current)?t:n;null==l||l(e),a&&a!==e&&(null==s||s(a,e)),c.current=e}})}function r(e){var n=e.disabled,l=e.onCollectionChanged,t=(0,s.kj)();return a().createElement(o.Form.Item,{name:["config","collection"],label:t("Collection"),rules:[{required:!0}]},a().createElement(c,{disabled:n,onCollectionChanged:l}))}},6381:function(e,n,l){l.d(n,{CreateFieldset:function(){return d},CreatePresetFieldset:function(){return m}});var t=l(9155),a=l.n(t),o=l(2059),i=l(2235),s=l(8198),c=l(9488),r=l(5329);function u(){var e,n=(0,c.kj)(),l=o.Form.useFormInstance(),r=(0,i.Zt)(),u=o.Form.useWatch(["config","collection"]),d=!!(null==r||null==(e=r.versionStats)?void 0:e.executed);return(0,t.useEffect)(function(){u&&(l.setFieldValue(["config","usingAssignFormSchema"],void 0),l.setFieldValue(["config","assignFormSchema"],void 0))},[u,l]),a().createElement(a().Fragment,null,a().createElement(o.Form.Item,{name:["config","params","values"],label:n("Fields values"),extra:n("Unassigned fields will be set to default values, and those without default values will be set to null.")},a().createElement(s.XH,{collection:u,disabled:d})),u?a().createElement(o.Form.Item,{name:["config","params","appends"],label:n("Preload associations"),extra:n("Please select the associated fields that need to be accessed in subsequent nodes. With more than two levels of to-many associations may cause performance issue, please use with caution.")},a().createElement(s.Kr,{collection:u})):null)}function d(){var e,n=(0,i.TA)(),l=o.Form.useFormInstance();return a().createElement(a().Fragment,null,a().createElement(r.F,{disabled:!!(null==n||null==(e=n.config)?void 0:e.collection),onCollectionChanged:function(){l.setFieldValue(["config","params"],{}),l.setFieldValue(["config","usingAssignFormSchema"],void 0),l.setFieldValue(["config","assignFormSchema"],void 0)}}),a().createElement(u,null))}function m(){return a().createElement(r.F,null)}}}]);
@@ -0,0 +1,10 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+
10
+ "use strict";(self.webpackChunk_nocobase_plugin_workflow=self.webpackChunk_nocobase_plugin_workflow||[]).push([["635"],{8950:function(e,l,n){n.d(l,{UpdateFieldset:function(){return g},UpdatePresetFieldset:function(){return p}});var t=n(9155),o=n.n(t),a=n(2059),i=n(2235),r=n(8198),s=n(9785),c=n(9488),u=n(5329),d=n(6855),m=function(e){return!(0,r.Cg)(e)||"belongsTo"===e.type};function f(){var e,l,n=(0,c.kj)(),u=a.Form.useFormInstance(),f=(0,i.Zt)(),g=a.Form.useWatch(["config","collection"]),p=a.Form.useWatch(["config","params","individualHooks"],u),F=[{label:(e=(0,c.kj)())("Update in a batch"),value:!1,tooltip:e("Update all eligible data at one time, which has better performance when the amount of data is large. But association fields are not supported (unless foreign key in current collection), and the updated data will not trigger other workflows.")},{label:e("Update one by one"),value:!0,tooltip:e("The updated data can trigger other workflows, and the audit log will also be recorded. But it is usually only applicable to several or dozens of pieces of data, otherwise there will be performance problems.")}],h=!0!==p,v=!!(null==f||null==(l=f.versionStats)?void 0:l.executed);return((0,t.useEffect)(function(){g&&(u.setFieldValue(["config","usingAssignFormSchema"],void 0),u.setFieldValue(["config","assignFormSchema"],void 0),void 0===u.getFieldValue(["config","params","individualHooks"])&&u.setFieldValue(["config","params","individualHooks"],!1))},[g,u]),g)?o().createElement(o().Fragment,null,o().createElement(a.Form.Item,{name:["config","params","individualHooks"],label:n("Update mode")},o().createElement(s.$,{options:F})),o().createElement(d.F,{collection:g,label:n("Only update records matching conditions")}),o().createElement(a.Form.Item,{name:["config","params","values"],label:n("Fields values")},o().createElement(r.XH,{collection:g,fieldFilter:h?m:void 0,pruneFilteredValues:h,disabled:v}))):null}function g(){var e,l=(0,i.TA)(),n=a.Form.useFormInstance();return o().createElement(o().Fragment,null,o().createElement(u.F,{disabled:!!(null==l||null==(e=l.config)?void 0:e.collection),onCollectionChanged:function(){n.setFieldValue(["config","params","filter"],{}),n.setFieldValue(["config","params","values"],{}),n.setFieldValue(["config","usingAssignFormSchema"],void 0),n.setFieldValue(["config","assignFormSchema"],void 0)}}),o().createElement(f,null))}function p(){return o().createElement(u.F,null)}}}]);
@@ -7,4 +7,4 @@
7
7
  * For more information, please refer to: https://www.nocobase.com/agreement.
8
8
  */
9
9
 
10
- "use strict";(self.webpackChunk_nocobase_plugin_workflow=self.webpackChunk_nocobase_plugin_workflow||[]).push([["67"],{2990:function(e,t,r){r.d(t,{LZ:function(){return x},jx:function(){return C}});var n=r(9155),o=r.n(n),l=r(2625),a=r(2059),i=r(3485),c=r(7694),u=r(9239),s=r(2235),d=r(7470),f=r(7001),p=r(9488),m=r(8743),v=r(4442),b=r(5953),y=r(358);function g(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function h(e,t,r,n,o,l,a){try{var i=e[l](a),c=i.value}catch(e){r(e);return}i.done?t(c):Promise.resolve(c).then(n,o)}function w(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r,n,o=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var l=[],a=!0,i=!1;try{for(o=o.call(e);!(a=(r=o.next()).done)&&(l.push(r.value),!t||l.length!==t);a=!0);}catch(e){i=!0,n=e}finally{try{a||null==o.return||o.return()}finally{if(i)throw n}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return g(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if("Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r)return Array.from(r);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return g(e,t)}}(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function E(e){var t,r=e.execution,n=(0,p.kj)(),l=(0,f.TD)().getWorkflowExecutionPath,i=r?u.m2[String(r.status)]:null;if(!i)return o().createElement("span",null,n("Workflow executed"));var c=n(i.label);return o().createElement(b.Trans,{ns:y.C,values:{statusText:c}},"Workflow executed, the result status is ",o().createElement(a.Tag,{color:i.color},"{{statusText}}"),o().createElement(v.Link,{to:l(null!=(t=r.id)?t:"")},"View the execution"))}function k(e){var t,r=e.workflow,u=(e.trigger,e.TriggerFieldsetLoader),m=e.valid,v=e.onSubmitted,b=(0,c.useFlowContext)(),y=(0,c.useFlowView)(),g=(0,p.kj)(),k=a.theme.useToken().token,C=a.App.useApp().message,x=(0,f.TD)().getWorkflowCanvasPath,O=w(a.Form.useForm(),1)[0],A=w((0,n.useState)(!1),2),S=A[0],T=A[1],j=!!(null==(t=r.versionStats)?void 0:t.executed),R=(0,n.useMemo)(function(){return(0,n.lazy)(u)},[u]),P=!m,D=(0,l.useMemoizedFn)(function(){var e;return(e=function(){var e,t,n,l,a,i;return function(e,t){var r,n,o,l={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),i=Object.defineProperty;return i(a,"next",{value:c(0)}),i(a,"throw",{value:c(1)}),i(a,"return",{value:c(2)}),"function"==typeof Symbol&&i(a,Symbol.iterator,{value:function(){return this}}),a;function c(i){return function(c){var u=[i,c];if(r)throw TypeError("Generator is already executing.");for(;a&&(a=0,u[0]&&(l=0)),l;)try{if(r=1,n&&(o=2&u[0]?n.return:u[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,u[1])).done)return o;switch(n=0,o&&(u=[2&u[0],o.value]),u[0]){case 0:case 1:o=u;break;case 4:return l.label++,{value:u[1],done:!1};case 5:l.label++,n=u[1],u=[0];continue;case 7:u=l.ops.pop(),l.trys.pop();continue;default:if(!(o=(o=l.trys).length>0&&o[o.length-1])&&(6===u[0]||2===u[0])){l=0;continue}if(3===u[0]&&(!o||u[1]>o[0]&&u[1]<o[3])){l.label=u[1];break}if(6===u[0]&&l.label<o[1]){l.label=o[1],o=u;break}if(o&&l.label<o[2]){l.label=o[2],l.ops.push(u);break}o[2]&&l.ops.pop(),l.trys.pop();continue}u=t.call(e,l)}catch(e){u=[6,e],n=0}finally{r=o=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}}(this,function(c){switch(c.label){case 0:if(!m)return[2];return[4,O.validateFields()];case 1:t=(e=c.sent()).autoRevision,n=function(e,t){if(null==e)return{};var r,n,o,l={};if("u">typeof Reflect&&Reflect.ownKeys){for(o=0,r=Reflect.ownKeys(Object(e));o<r.length;o++)n=r[o],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(l[n]=e[n]);return l}if(l=function(e,t){if(null==e)return{};var r,n,o={},l=Object.getOwnPropertyNames(e);for(n=0;n<l.length;n++)r=l[n],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r]);return o}(e,t),Object.getOwnPropertySymbols)for(o=0,r=Object.getOwnPropertySymbols(e);o<r.length;o++)n=r[o],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(l[n]=e[n]);return l}(e,["autoRevision"]),T(!0),c.label=2;case 2:return c.trys.push([2,,5,6]),[4,b.api.resource("workflows").execute(function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}({filterByTk:r.id,values:n},!j&&t?{autoRevision:1}:{}))];case 3:return i=null==(a=c.sent())||null==(l=a.data)?void 0:l.data,C.open({type:"info",content:o().createElement(E,{execution:null==i?void 0:i.execution})}),[4,y.close()];case 4:return c.sent(),(null==i?void 0:i.newVersionId)?b.router.navigate(x(i.newVersionId)):null==v||v(),[3,6];case 5:return T(!1),[7];case 6:return[2]}})},function(){var t=this,r=arguments;return new Promise(function(n,o){var l=e.apply(t,r);function a(e){h(l,n,o,a,i,"next",e)}function i(e){h(l,n,o,a,i,"throw",e)}a(void 0)})})()}),F=o().createElement(a.Space,null,o().createElement(a.Button,{disabled:P,onClick:function(){return y.close()}},g("Cancel")),o().createElement(a.Button,{type:"primary",loading:S,disabled:P,onClick:D},g("Confirm")));return o().createElement(s.AA.Provider,{value:r},o().createElement(d.W.Provider,{value:!0},o().createElement(i.DialogFormLayout,{title:g("Execute manually"),onSubmit:D,submitting:S,submitText:g("Confirm"),cancelText:g("Cancel"),footer:F},o().createElement(a.Form,{form:O,layout:"vertical",initialValues:{autoRevision:!0},disabled:P},o().createElement(a.Alert,{message:g("Trigger variables need to be filled for executing."),type:"info",style:{marginBottom:k.margin}}),o().createElement(a.Form.Item,{label:g("Trigger variables")},o().createElement("div",{style:{padding:k.padding,border:"".concat(k.lineWidth,"px solid ").concat(k.colorBorderSecondary),borderRadius:k.borderRadiusLG}},o().createElement(n.Suspense,{fallback:o().createElement(a.Skeleton,{active:!0,paragraph:{rows:2}})},o().createElement(R,null)))),j?null:o().createElement(a.Form.Item,{name:"autoRevision",valuePropName:"checked"},o().createElement(a.Checkbox,null,g("Automatically create a new version after execution")))))))}function C(e){var t,r,i=e.record,u=e.refresh,s=(0,c.useFlowContext)(),d=(0,p.kj)(),f=s.app.pm.get(m.q),v=i.type?f.getTriggerOptions(i.type):void 0,b=null!=(t=null==v?void 0:v.validate(null!=(r=i.config)?r:{}))&&t,y=(0,n.useMemo)(function(){return v?v.TriggerFieldsetLoader?"":d("This type of trigger has not been supported to be executed manually."):d("This trigger type is not available in the new canvas yet.")},[d,v]),g=(0,l.useMemoizedFn)(function(){v&&!y&&v.TriggerFieldsetLoader&&x({ctx:s,workflow:i,trigger:v,TriggerFieldsetLoader:v.TriggerFieldsetLoader,valid:b,refresh:u})});return o().createElement(a.Tooltip,{title:y||void 0},o().createElement("span",null,o().createElement(a.Button,{disabled:!!y,onClick:g},d("Execute manually"))))}function x(e){e.ctx.viewer.dialog({width:520,closable:!0,content:function(){return o().createElement(k,{workflow:e.workflow,trigger:e.trigger,TriggerFieldsetLoader:e.TriggerFieldsetLoader,valid:e.valid,onSubmitted:e.refresh})}})}},2596:function(e,t,r){r.d(t,{i:function(){return O}});var n=r(2059),o=r(9155),l=r.n(o);let a=(0,o.createContext)(null),i={didCatch:!1,error:null};class c extends o.Component{constructor(e){super(e),this.resetErrorBoundary=this.resetErrorBoundary.bind(this),this.state=i}static getDerivedStateFromError(e){return{didCatch:!0,error:e}}resetErrorBoundary(){let{error:e}=this.state;if(null!==e){for(var t,r,n=arguments.length,o=Array(n),l=0;l<n;l++)o[l]=arguments[l];null==(t=(r=this.props).onReset)||t.call(r,{args:o,reason:"imperative-api"}),this.setState(i)}}componentDidCatch(e,t){var r,n;null==(r=(n=this.props).onError)||r.call(n,e,t)}componentDidUpdate(e,t){let{didCatch:r}=this.state,{resetKeys:n}=this.props;if(r&&null!==t.error&&function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return e.length!==t.length||e.some((e,r)=>!Object.is(e,t[r]))}(e.resetKeys,n)){var o,l;null==(o=(l=this.props).onReset)||o.call(l,{next:n,prev:e.resetKeys,reason:"keys"}),this.setState(i)}}render(){let{children:e,fallbackRender:t,FallbackComponent:r,fallback:n}=this.props,{didCatch:l,error:i}=this.state,c=e;if(l){let e={error:i,resetErrorBoundary:this.resetErrorBoundary};if((0,o.isValidElement)(n))c=n;else if("function"==typeof t)c=t(e);else if(r)c=(0,o.createElement)(r,e);else throw i}return(0,o.createElement)(a.Provider,{value:{didCatch:l,error:i,resetErrorBoundary:this.resetErrorBoundary}},c)}}var u=r(7375),s=r(3342),d=r(1134),f=r(4652),p=r(404),m=r(3872),v=r(6660),b=r(8201),y=r(4562),g=r(6566),h=r(7065);function w(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function E(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function k(){var e=E(["\n margin-top: 0 !important;\n "]);return k=function(){return e},e}function C(){var e=E(["\n margin-bottom: 1em;\n "]);return C=function(){return e},e}function x(){var e=E(["\n margin-top: 0 !important;\n "]);return x=function(){return e},e}function O(e){var t,r,o=e.entry,a=(0,v.A)().styles,i=(0,y.sD)(),E=(0,p.x)(),O=(0,s.useCompile)(),A=(0,s.usePlugin)(d.default),S=function(e){if(Array.isArray(e))return e}(t=l().useState(100))||function(e){var t,r,n=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var o=[],l=!0,a=!1;try{for(n=n.call(e);!(l=(t=n.next()).done)&&(o.push(t.value),2!==o.length);l=!0);}catch(e){a=!0,r=e}finally{try{l||null==n.return||n.return()}finally{if(a)throw r}}return o}}(t)||function(e){if(e){if("string"==typeof e)return w(e,2);var t=Object.prototype.toString.call(e).slice(8,-1);if("Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t)return Array.from(t);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return w(e,2)}}(t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),T=S[0],j=S[1],R=null==E?void 0:E.clipboard,P=R?A.instructions.get(R.type):null,D=R?P?O(P.title):R.type:"";return l().createElement("div",{className:"workflow-canvas-wrapper"},l().createElement(c,{FallbackComponent:s.ErrorFallback,onError:console.error},l().createElement(g.C.Provider,{value:h.bP},l().createElement("div",{className:"workflow-canvas",style:{zoom:T/100}},l().createElement("div",{className:(0,s.cx)(a.branchBlockClass,(0,s.css)(k()))},l().createElement("div",{className:a.branchClass},i?l().createElement(n.Alert,{type:"warning",message:(0,m.vV)("Executed workflow cannot be modified. Could be copied to a new version to modify."),showIcon:!0,className:(0,s.css)(C())}):null,l().createElement(b.Vo,null),l().createElement("div",{className:(0,s.cx)(a.branchBlockClass,(0,s.css)(x()))},l().createElement(f.lg,{entry:o})),l().createElement("div",{className:a.terminalClass},(0,m.vV)("End"))))))),R?l().createElement("div",{className:a.clipboardPreviewClass},l().createElement("div",{className:"workflow-clipboard-header"},l().createElement("span",null,(0,m.vV)("Copied node")),l().createElement(n.Button,{type:"text",size:"small",icon:l().createElement(u.CloseOutlined,null),onClick:function(){var e;return null==E||null==(e=E.clearClipboard)?void 0:e.call(E)}})),l().createElement("div",{className:"workflow-clipboard-card"},l().createElement("div",{className:"workflow-clipboard-type"},D),l().createElement("div",{className:"workflow-clipboard-title"},null!=(r=R.title)?r:R.type))):null,l().createElement("div",{className:"workflow-canvas-zoomer"},l().createElement(n.Slider,{vertical:!0,reverse:!0,defaultValue:100,step:10,min:10,value:T,onChange:j})))}},1110:function(e,t,r){r.r(t),r.d(t,{WorkflowPage:function(){return H}});var n=r(3342),o=r(9155),l=r.n(o),a=r(4442),i=r(6660),c=r(5953),u=r(2059),s=r(7375),d=r(5230),f=r(7768),p=r(2596),m=r(2662),v=r(4421),b=r(7846),y=r(3872),g=r(6481),h=r(6072),w=r(6864),E=r(512),k=r(8201),C=r(7428),x=r(7107),O=r(4562),A=r(5433),S=r(3610),T=r(3312),j=r(404),R=r(2815),P=r(7694),D=r(2448),F=r(2990);function V(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function I(e,t,r,n,o,l,a){try{var i=e[l](a),c=i.value}catch(e){r(e);return}i.done?t(c):Promise.resolve(c).then(n,o)}function N(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var l=e.apply(t,r);function a(e){I(l,n,o,a,i,"next",e)}function i(e){I(l,n,o,a,i,"throw",e)}a(void 0)})}}function B(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}function L(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t})(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}),e}function z(e,t){if(null==e)return{};var r,n,o,l={};if("u">typeof Reflect&&Reflect.ownKeys){for(o=0,r=Reflect.ownKeys(Object(e));o<r.length;o++)n=r[o],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(l[n]=e[n]);return l}if(l=function(e,t){if(null==e)return{};var r,n,o={},l=Object.getOwnPropertyNames(e);for(n=0;n<l.length;n++)r=l[n],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r]);return o}(e,t),Object.getOwnPropertySymbols)for(o=0,r=Object.getOwnPropertySymbols(e);o<r.length;o++)n=r[o],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(l[n]=e[n]);return l}function M(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r,n,o=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var l=[],a=!0,i=!1;try{for(o=o.call(e);!(a=(r=o.next()).done)&&(l.push(r.value),!t||l.length!==t);a=!0);}catch(e){i=!0,n=e}finally{try{a||null==o.return||o.return()}finally{if(i)throw n}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return V(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if("Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r)return Array.from(r);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return V(e,t)}}(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function K(e,t){var r,n,o,l={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),i=Object.defineProperty;return i(a,"next",{value:c(0)}),i(a,"throw",{value:c(1)}),i(a,"return",{value:c(2)}),"function"==typeof Symbol&&i(a,Symbol.iterator,{value:function(){return this}}),a;function c(i){return function(c){var u=[i,c];if(r)throw TypeError("Generator is already executing.");for(;a&&(a=0,u[0]&&(l=0)),l;)try{if(r=1,n&&(o=2&u[0]?n.return:u[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,u[1])).done)return o;switch(n=0,o&&(u=[2&u[0],o.value]),u[0]){case 0:case 1:o=u;break;case 4:return l.label++,{value:u[1],done:!1};case 5:l.label++,n=u[1],u=[0];continue;case 7:u=l.ops.pop(),l.trys.pop();continue;default:if(!(o=(o=l.trys).length>0&&o[o.length-1])&&(6===u[0]||2===u[0])){l=0;continue}if(3===u[0]&&(!o||u[1]>o[0]&&u[1]<o[3])){l.label=u[1];break}if(6===u[0]&&l.label<o[1]){l.label=o[1],o=u;break}if(o&&l.label<o[2]){l.label=o[2],l.ops.push(u);break}o[2]&&l.ops.pop(),l.trys.pop();continue}u=t.call(e,l)}catch(e){u=[6,e],n=0}finally{r=o=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}}function U(){var e,t,r=(e=["\n margin-bottom: 1em;\n "],t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}})));return U=function(){return r},r}function W(e){var t,r=e.request,o=(e.filter,z(e,["request","filter"])),a=(0,b.$K)().workflow,i=L(B({},o),{request:L(B({},r),{params:L(B({},null==r?void 0:r.params),{filter:L(B({},null==r||null==(t=r.params)?void 0:t.filter),{key:a.key})})})});return l().createElement(n.ResourceActionProvider,i)}function Y(e){var t=e.data,r=e.option,o=(0,n.useCompile)()(r.label);return l().createElement(c.Trans,{ns:y.CU,values:{statusText:o}},"Workflow executed, the result status is ",l().createElement(u.Tag,{color:r.color},"{{statusText}}"),l().createElement(a.Link,{to:(0,h.mz)(t.id)},"View the execution"))}function _(){var e=(0,b.$K)().workflow,t=(0,d.useForm)(),r=(0,n.useResourceContext)().resource,a=(0,n.useActionContext)(),i=(0,n.useNavigateNoUpdate)(),c=u.App.useApp().message,s=(0,O.sD)(),f=M((0,o.useState)(!1),2),p=f[0],m=f[1];return{loading:p,run:function(){return N(function(){var n,o,u,d;return K(this,function(f){switch(f.label){case 0:m(!0),f.label=1;case 1:return f.trys.push([1,,4,5]),o=(n=t.values).autoRevision,u=z(n,["autoRevision"]),[4,t.submit()];case 2:return f.sent(),[4,r.execute(B({filterByTk:e.id,values:u},!s&&o?{autoRevision:1}:{}))];case 3:var p,v,b,y;return d=f.sent().data.data,t.reset(),a.setFormValueChanged(!1),a.setVisible(!1),null==c||c.open((v=(p=d.execution).id,b=p.status,(y=C.$Y[b])?{type:"info",content:l().createElement(Y,{data:{id:v},option:y})}:null)),d.newVersionId&&i((0,h.Yz)(d.newVersionId)),[3,5];case 4:return m(!1),[7];case 5:return[2]}})})()}}}function $(e){var t,r,n=e.children,o=(0,d.useField)(),a=(0,b.$K)().workflow,i=(0,k.s5)(),c=null!=(t=null==i||null==(r=i.validate)?void 0:r.call(i,a.config))&&t,s=i?(0,D.qY)(i):"none",f="";switch(!0){case!i:f=(0,y.vV)("This trigger type is not available in the new canvas yet.");break;case!c:f=(0,y.vV)("The trigger is not configured correctly, please check the trigger configuration.");break;case"none"===s:f=(0,y.vV)("This type of trigger has not been supported to be executed manually.")}return o.setPattern(f?"disabled":"editable"),f?l().createElement(u.Tooltip,{title:f},n):n}function q(){var e,t=(0,b.$K)().workflow,r=(0,P.useFlowEngine)(),o=(0,O.sD)(),a=(0,k.s5)(),i=(0,n.useResourceActionContext)().refresh,c=a?(0,D.qY)(a):"none";if(!a)return l().createElement(u.Tooltip,{title:(0,y.vV)("This trigger type is not available in the new canvas yet.")},l().createElement("span",null,l().createElement(u.Button,{disabled:!0},(0,y.vV)("Execute manually"))));if("modern-loader"===c&&(null==a?void 0:a.TriggerFieldsetLoader)){var s=a.validate(t.config);return l().createElement(u.Tooltip,{title:void 0},l().createElement("span",null,l().createElement(u.Button,{onClick:function(){return(0,F.LZ)({ctx:r.context,workflow:t,trigger:a,TriggerFieldsetLoader:a.TriggerFieldsetLoader,valid:s,refresh:i})}},(0,y.vV)("Execute manually"))))}return l().createElement(b.AA.Provider,{value:t},l().createElement(x.Ws.Provider,{value:!0},l().createElement(n.SchemaComponent,{components:B({Alert:u.Alert,Fieldset:w.L,ActionDisabledProvider:$},a.components),scope:B({useCancelAction:n.useCancelAction,useExecuteConfirmAction:_},a.scope),schema:{name:"trigger-modal-".concat(t.type,"-").concat(t.id),type:"void","x-decorator":"ActionDisabledProvider","x-component":"Action","x-component-props":{openSize:"small"},title:"{{t('Execute manually', { ns: \"".concat(y.CU,'" })}}'),properties:{drawer:{type:"void","x-decorator":"FormV2","x-component":"Action.Modal",title:"{{t('Execute manually', { ns: \"".concat(y.CU,'" })}}'),properties:L(B(L(B({},Object.keys(null!=(e=a.triggerFieldset)?e:{}).length?{alert:{type:"void","x-component":"Alert","x-component-props":{message:"{{t('Trigger variables need to be filled for executing.', { ns: \"".concat(y.CU,'" })}}'),className:(0,n.css)(U())}}}:{description:{type:"void","x-component":"p","x-content":"{{t('This will perform all the actions configured in the workflow. Are you sure you want to continue?', { ns: \"".concat(y.CU,'" })}}')}}),{fieldset:{type:"void","x-decorator":"FormItem","x-component":"Fieldset",title:"{{t('Trigger variables', { ns: \"".concat(y.CU,'" })}}'),properties:a.triggerFieldset}}),o?{}:{autoRevision:{type:"boolean","x-decorator":"FormItem","x-component":"Checkbox","x-content":"{{t('Automatically create a new version after execution', { ns: \"".concat(y.CU,'" })}}'),default:!0}}),{footer:{type:"void","x-component":"Action.Modal.Footer",properties:{cancel:{type:"void",title:"{{t('Cancel')}}","x-component":"Action","x-component-props":{useAction:"{{useCancelAction}}"}},submit:{type:"void",title:"{{t('Confirm')}}","x-component":"Action","x-component-props":{type:"primary",useAction:"{{useExecuteConfirmAction}}"}}}}})}}}})))}function G(){var e=(0,b.$K)(),t=e.workflow,r=e.revisions,d=void 0===r?[]:r,p=M((0,o.useState)(!1),2),w=p[0],k=p[1],x=M((0,o.useState)(!1),2),A=x[0],S=x[1],T=M((0,o.useState)(""),2),j=T[0],P=T[1],D=(0,a.useNavigate)(),F=(0,c.useTranslation)().t,V=u.App.useApp().modal,I=(0,n.useApp)(),B=(0,n.useResourceContext)().resource,L=(0,n.useResourceActionContext)().refresh,z=u.App.useApp().message,U=(0,i.A)().styles,Y=(0,O.Eh)(),_=(0,o.useCallback)(function(){return N(function(){var e;return K(this,function(r){switch(r.label){case 0:return[4,B.revision({filterByTk:t.id,filter:{key:t.key}})];case 1:return e=r.sent().data.data,z.success(F("Operation succeeded")),D((0,h.Yz)(e.id)),[2]}})})()},[B,t.id,t.key,z,F,D]),$=(0,o.useCallback)(function(){return N(function(){var e;return K(this,function(r){return e=t.current?(0,y.vV)("This is a main version, delete it will cause the whole workflow to be deleted (including all other revisions)."):(0,y.vV)("Current version will be deleted (without affecting other versions)."),V.confirm({title:F("Are you sure you want to delete it?"),content:e,onOk:function(){return N(function(){var e,r,n,o;return K(this,function(l){switch(l.label){case 0:return[4,B.destroy({filterByTk:t.id})];case 1:if(l.sent(),z.success(F("Operation succeeded")),e=I.pluginSettingsManager.getRoutePath("workflow"),t.current)return[2,D(e)];return d.length&&D((0,h.Yz)(null==(r=d.find(function(e){return e.current}))?void 0:r.id)),[4,B.list({filter:{key:t.key,current:!0},fields:["id"],pageSize:1})];case 2:if(200!==(n=l.sent()).status)return[2];if(!(o=M(n.data.data,1)[0]))return[2,D(e)];return[2,D((0,h.Yz)(o.id))]}})})()}}),[2]})})()},[t,V,F,B,z,D,I.pluginSettingsManager,d]),q=(0,o.useCallback)(function(e){switch(e.key){case"details":S(!0);return;case"refresh":L();return;case"history":k(!0);return;case"revision":return _();case"delete":return $()}},[$,_,L]),G=(0,o.useCallback)(function(e){return(null==e?void 0:e.nickname)||(null==e?void 0:e.username)||(null==e?void 0:e.email)||(null==e?void 0:e.id)||"-"},[]),Q=(0,o.useCallback)(function(e){return e?(0,f.dayjs)(e).format("YYYY-MM-DD HH:mm:ss"):"-"},[]);(0,o.useEffect)(function(){if(A){var e;P(null!=(e=t.description)?e:"")}},[A,t.description]);var J=(0,o.useCallback)(function(e){P(e.target.value)},[]),H=(0,o.useCallback)(function(e){return N(function(){var r,n;return K(this,function(o){switch(o.label){case 0:if((n=e.target.value)===(null!=(r=t.description)?r:""))return[2];return[4,B.update({filterByTk:t.id,values:{description:n}})];case 1:return o.sent(),L(),[2]}})})()},[L,B,t.description,t.id]);return l().createElement(l().Fragment,null,l().createElement(u.Dropdown,{menu:{items:[{role:"button","aria-label":"details",key:"details",label:F("Details")},{type:"divider"},{role:"button","aria-label":"refresh",key:"refresh",label:F("Refresh")},{role:"button","aria-label":"history",key:"history",label:(0,y.vV)("Execution history"),disabled:!Y},{role:"button","aria-label":"revision",key:"revision",label:(0,y.vV)("Copy to new version")},{type:"divider"},{role:"button","aria-label":"delete",danger:!0,key:"delete",label:F("Delete")}],onClick:q}},l().createElement(u.Button,{"aria-label":"more",type:"text",icon:l().createElement(s.EllipsisOutlined,null)})),l().createElement(u.Modal,{open:A,title:F("Details"),width:640,footer:null,onCancel:function(){return S(!1)}},l().createElement(u.Descriptions,{bordered:!0,column:2,size:"small"},l().createElement(u.Descriptions.Item,{label:"Key",span:2},t.key||"-"),l().createElement(u.Descriptions.Item,{label:F("Created by")},G(t.createdBy)),l().createElement(u.Descriptions.Item,{label:F("Created at")},Q(t.createdAt)),l().createElement(u.Descriptions.Item,{label:F("Last updated by")},G(t.updatedBy)),l().createElement(u.Descriptions.Item,{label:F("Last updated at")},Q(t.updatedAt)),l().createElement(u.Descriptions.Item,{label:F("Description"),span:2},l().createElement(u.Input.TextArea,{"aria-label":F("Description"),value:j,onChange:J,onBlur:H,placeholder:"-",className:U.workflowDetailsDescriptionClass,autoSize:{minRows:3,maxRows:8}})))),l().createElement(n.ActionContextProvider,{value:{visible:w,setVisible:k}},l().createElement(n.SchemaComponent,{schema:g.M,components:{ExecutionResourceProvider:W,ExecutionLink:v.d,ExecutionStatusColumn:m.t_},scope:{useRefreshActionProps:E.t,useResourceFilterActionProps:R.A,ExecutionStatusOptions:C.$A}})))}function Q(){var e,t=(0,i.A)().styles,r=(0,a.useNavigate)(),c=(0,b.$K)().workflow,d=(0,o.useCallback)(function(e){var t=e.key;t!=c.id&&r((0,h.Yz)(t))},[c.id,r]),p=(0,n.useRequest)({resource:"workflows",action:"list",params:{filter:{key:c.key},fields:["id","createdAt","current","enabled","versionStats.executed"],sort:"-id"}},{refreshDeps:[c.id],manual:!0}),m=p.data,v=p.run,g=(0,o.useCallback)(function(e){e&&v()},[v]),w=null!=(e=null==m?void 0:m.data)?e:[];return l().createElement(u.Dropdown,{className:"workflow-versions",trigger:["click"],onOpenChange:g,menu:{onClick:d,defaultSelectedKeys:["".concat(c.id)],className:(0,n.cx)(t.dropdownClass,t.workflowVersionDropdownClass),items:w.sort(function(e,t){return t.id-e.id}).map(function(e,t){return{role:"button","aria-label":"version-".concat(t),key:"".concat(e.id),icon:e.current?l().createElement(s.RightOutlined,null):null,className:(0,n.cx)({executed:e.versionStats.executed>0,unexecuted:0==e.versionStats.executed,enabled:e.enabled}),label:l().createElement(l().Fragment,null,l().createElement("strong",null,"#".concat(e.id)),l().createElement("time",null,(0,f.dayjs)(e.createdAt).fromNow()))}})}},l().createElement(u.Button,{type:"text","aria-label":"version"},l().createElement("label",null,(0,y.vV)("Version")),l().createElement("span",null,(null==c?void 0:c.id)?"#".concat(c.id):null),l().createElement(s.DownOutlined,null)))}function J(){var e,t,r,i=(0,a.useNavigate)(),c=(0,n.useApp)(),s=(0,n.useResourceActionContext)(),d=s.data,f=s.refresh,m=s.loading,v=(0,n.useResourceContext)().resource,g=(0,n.useDocumentTitle)().setTitle,w=M((0,o.useState)(null!=(e=null==d||null==(r=d.data)?void 0:r.enabled)&&e),2),E=w[0],k=w[1],C=M((0,o.useState)(!1),2),x=C[0],O=C[1],R=null!=(t=null==d?void 0:d.data)?t:{},P=R.nodes,D=void 0===P?[]:P,F=z(R,["nodes"]);(0,h.KD)(D),(0,o.useEffect)(function(){var e,t=null!=(e=null==d?void 0:d.data)?e:{},r=t.title,n=t.enabled;null==g||g("".concat((0,y.vV)("Workflow")).concat(r?": ".concat(r):"")),k(n)},[null==d?void 0:d.data,g]);var V=(0,o.useCallback)(function(e){return N(function(){return K(this,function(t){switch(t.label){case 0:return O(!0),[4,v.update({filterByTk:F.id,values:{enabled:e}})];case 1:return t.sent(),O(!1),k(e),[2]}})})()},[v,F.id]);if(!(null==d?void 0:d.data))return m?l().createElement(u.Spin,null):l().createElement(u.Result,{status:"404",title:"Not found",extra:l().createElement(u.Button,{onClick:function(){return i(-1)}},(0,y.vV)("Go back"))});var I=D.find(function(e){return!e.upstream});return l().createElement(b.cB.Provider,{value:{workflow:F,nodes:D,refresh:f}},l().createElement("div",{className:"workflow-toolbar"},l().createElement("header",null,l().createElement(u.Breadcrumb,{items:[{title:l().createElement(a.Link,{to:c.pluginSettingsManager.getRoutePath("workflow")},(0,y.vV)("Workflow"))},{title:l().createElement(u.Tooltip,{title:"Key: ".concat(F.key)},l().createElement("strong",null,F.title))}]}),F.sync?l().createElement(u.Tag,{color:"orange"},(0,y.vV)("Synchronously")):l().createElement(u.Tag,{color:"cyan"},(0,y.vV)("Asynchronously"))),l().createElement("aside",null,l().createElement(q,null),l().createElement(Q,null),l().createElement(u.Switch,{checked:E,onChange:V,checkedChildren:(0,y.vV)("On"),unCheckedChildren:(0,y.vV)("Off"),loading:x}),l().createElement(G,null))),l().createElement(A.y,null,l().createElement(S.J,null,l().createElement(T.bI,null,l().createElement(j.L,null,l().createElement(p.i,{entry:I}))))))}var H=function(){var e,t,r,o=(0,a.useParams)(),c=(0,i.A)().styles;return l().createElement("div",{className:(0,n.cx)(c.workflowPageClass)},l().createElement(n.SchemaComponent,{schema:{type:"void",properties:(e={},t="provider_".concat(o.id),r={type:"void","x-decorator":"ResourceActionProvider","x-decorator-props":{collection:{name:"workflows",fields:[]},resourceName:"workflows",request:{resource:"workflows",action:"get",params:{filter:{id:o.id},appends:["nodes","stats.executed","versionStats.executed","createdBy","updatedBy"]}}},"x-component":"WorkflowCanvas"},t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e)},components:{WorkflowCanvas:J}}))}},7001:function(e,t,r){r.d(t,{TD:function(){return i}});var n=r(2625),o=r(3485),l=r(8401);function a(){return"modern"===(0,o.getRouteRuntimeVersion)()}function i(){var e=(0,n.useMemoizedFn)(function(e){return a()?(0,l.JG)(e):"/admin/settings/workflow/workflows/".concat(e)}),t=(0,n.useMemoizedFn)(function(e){return a()?(0,l.Pq)(e):"/admin/settings/workflow/executions/".concat(e)});return{isV2Runtime:a(),getWorkflowCanvasPath:e,getWorkflowExecutionPath:t}}},9239:function(e,t,r){r.d(t,{GO:function(){return l},QQ:function(){return c},hi:function(){return a},m2:function(){return i}});var n=r(358);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var l={QUEUEING:null,STARTED:0,RESOLVED:1,FAILED:-1,ERROR:-2,ABORTED:-3,CANCELED:-4,REJECTED:-5,RETRY_NEEDED:-6},a=[{value:l.QUEUEING,label:'{{t("Queueing", { ns: "'.concat(n.C,'" })}}'),color:"blue",description:'{{t("Triggered but still waiting in queue to execute.", { ns: "'.concat(n.C,'" })}}')},{value:l.STARTED,label:'{{t("On going", { ns: "'.concat(n.C,'" })}}'),color:"gold",description:'{{t("Started and executing, maybe waiting for an async callback (manual, delay etc.).", { ns: "'.concat(n.C,'" })}}')},{value:l.RESOLVED,label:'{{t("Resolved", { ns: "'.concat(n.C,'" })}}'),color:"green",description:'{{t("Successfully finished.", { ns: "'.concat(n.C,'" })}}')},{value:l.FAILED,label:'{{t("Failed", { ns: "'.concat(n.C,'" })}}'),color:"red",description:'{{t("Failed to satisfy node configurations.", { ns: "'.concat(n.C,'" })}}')},{value:l.ERROR,label:'{{t("Error", { ns: "'.concat(n.C,'" })}}'),color:"red",description:'{{t("Some node meets error.", { ns: "'.concat(n.C,'" })}}')},{value:l.ABORTED,label:'{{t("Aborted", { ns: "'.concat(n.C,'" })}}'),color:"red",description:'{{t("Running of some node was aborted by program flow.", { ns: "'.concat(n.C,'" })}}')},{value:l.CANCELED,label:'{{t("Canceled", { ns: "'.concat(n.C,'" })}}'),color:"volcano",description:'{{t("Manually canceled whole execution when waiting.", { ns: "'.concat(n.C,'" })}}')},{value:l.REJECTED,label:'{{t("Rejected", { ns: "'.concat(n.C,'" })}}'),color:"volcano",description:'{{t("Rejected from a manual node.", { ns: "'.concat(n.C,'" })}}')},{value:l.RETRY_NEEDED,label:'{{t("Retry needed", { ns: "'.concat(n.C,'" })}}'),color:"volcano",description:'{{t("General failed but should do another try.", { ns: "'.concat(n.C,'" })}}')}],i=a.reduce(function(e,t){return Object.assign(e,o({},t.value,t))},{}),c=[{value:n.K.TIMEOUT,label:'{{t("Timed out", { ns: "'.concat(n.C,'" })}}')},{value:n.K.MANUAL_CANCEL,label:'{{t("Canceled manually", { ns: "'.concat(n.C,'" })}}')},{value:n.K.PARENT_ABORTED,label:'{{t("Aborted with parent execution", { ns: "'.concat(n.C,'" })}}')}].reduce(function(e,t){return Object.assign(e,o({},t.value,t))},{})}}]);
10
+ "use strict";(self.webpackChunk_nocobase_plugin_workflow=self.webpackChunk_nocobase_plugin_workflow||[]).push([["67"],{2990:function(e,t,r){r.d(t,{LZ:function(){return x},jx:function(){return C}});var n=r(9155),o=r.n(n),l=r(2625),a=r(2059),i=r(3485),c=r(7694),u=r(9239),s=r(2235),d=r(7470),f=r(7001),p=r(9488),m=r(8743),v=r(4442),b=r(5953),y=r(358);function g(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function h(e,t,r,n,o,l,a){try{var i=e[l](a),c=i.value}catch(e){r(e);return}i.done?t(c):Promise.resolve(c).then(n,o)}function w(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r,n,o=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var l=[],a=!0,i=!1;try{for(o=o.call(e);!(a=(r=o.next()).done)&&(l.push(r.value),!t||l.length!==t);a=!0);}catch(e){i=!0,n=e}finally{try{a||null==o.return||o.return()}finally{if(i)throw n}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return g(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if("Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r)return Array.from(r);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return g(e,t)}}(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function E(e){var t,r=e.execution,n=(0,p.kj)(),l=(0,f.TD)().getWorkflowExecutionPath,i=r?u.m2[String(r.status)]:null;if(!i)return o().createElement("span",null,n("Workflow executed"));var c=n(i.label);return o().createElement(b.Trans,{ns:y.C,values:{statusText:c}},"Workflow executed, the result status is ",o().createElement(a.Tag,{color:i.color},"{{statusText}}"),o().createElement(v.Link,{to:l(null!=(t=r.id)?t:"")},"View the execution"))}function k(e){var t,r=e.workflow,u=(e.trigger,e.TriggerFieldsetLoader),m=e.valid,v=e.onSubmitted,b=(0,c.useFlowContext)(),y=(0,c.useFlowView)(),g=(0,p.kj)(),k=a.theme.useToken().token,C=a.App.useApp().message,x=(0,f.TD)().getWorkflowCanvasPath,O=w(a.Form.useForm(),1)[0],A=w((0,n.useState)(!1),2),S=A[0],T=A[1],j=!!(null==(t=r.versionStats)?void 0:t.executed),R=(0,n.useMemo)(function(){return(0,n.lazy)(u)},[u]),P=!m,D=(0,l.useMemoizedFn)(function(){var e;return(e=function(){var e,t,n,l,a,i;return function(e,t){var r,n,o,l={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),i=Object.defineProperty;return i(a,"next",{value:c(0)}),i(a,"throw",{value:c(1)}),i(a,"return",{value:c(2)}),"function"==typeof Symbol&&i(a,Symbol.iterator,{value:function(){return this}}),a;function c(i){return function(c){var u=[i,c];if(r)throw TypeError("Generator is already executing.");for(;a&&(a=0,u[0]&&(l=0)),l;)try{if(r=1,n&&(o=2&u[0]?n.return:u[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,u[1])).done)return o;switch(n=0,o&&(u=[2&u[0],o.value]),u[0]){case 0:case 1:o=u;break;case 4:return l.label++,{value:u[1],done:!1};case 5:l.label++,n=u[1],u=[0];continue;case 7:u=l.ops.pop(),l.trys.pop();continue;default:if(!(o=(o=l.trys).length>0&&o[o.length-1])&&(6===u[0]||2===u[0])){l=0;continue}if(3===u[0]&&(!o||u[1]>o[0]&&u[1]<o[3])){l.label=u[1];break}if(6===u[0]&&l.label<o[1]){l.label=o[1],o=u;break}if(o&&l.label<o[2]){l.label=o[2],l.ops.push(u);break}o[2]&&l.ops.pop(),l.trys.pop();continue}u=t.call(e,l)}catch(e){u=[6,e],n=0}finally{r=o=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}}(this,function(c){switch(c.label){case 0:if(!m)return[2];return[4,O.validateFields()];case 1:t=(e=c.sent()).autoRevision,n=function(e,t){if(null==e)return{};var r,n,o,l={};if("u">typeof Reflect&&Reflect.ownKeys){for(o=0,r=Reflect.ownKeys(Object(e));o<r.length;o++)n=r[o],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(l[n]=e[n]);return l}if(l=function(e,t){if(null==e)return{};var r,n,o={},l=Object.getOwnPropertyNames(e);for(n=0;n<l.length;n++)r=l[n],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r]);return o}(e,t),Object.getOwnPropertySymbols)for(o=0,r=Object.getOwnPropertySymbols(e);o<r.length;o++)n=r[o],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(l[n]=e[n]);return l}(e,["autoRevision"]),T(!0),c.label=2;case 2:return c.trys.push([2,,5,6]),[4,b.api.resource("workflows").execute(function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}({filterByTk:r.id,values:n},!j&&t?{autoRevision:1}:{}))];case 3:return i=null==(a=c.sent())||null==(l=a.data)?void 0:l.data,C.open({type:"info",content:o().createElement(E,{execution:null==i?void 0:i.execution})}),[4,y.close()];case 4:return c.sent(),(null==i?void 0:i.newVersionId)?b.router.navigate(x(i.newVersionId)):null==v||v(),[3,6];case 5:return T(!1),[7];case 6:return[2]}})},function(){var t=this,r=arguments;return new Promise(function(n,o){var l=e.apply(t,r);function a(e){h(l,n,o,a,i,"next",e)}function i(e){h(l,n,o,a,i,"throw",e)}a(void 0)})})()}),F=o().createElement(a.Space,null,o().createElement(a.Button,{disabled:P,onClick:function(){return y.close()}},g("Cancel")),o().createElement(a.Button,{type:"primary",loading:S,disabled:P,onClick:D},g("Confirm")));return o().createElement(s.AA.Provider,{value:r},o().createElement(d.W.Provider,{value:!0},o().createElement(i.DialogFormLayout,{title:g("Execute manually"),onSubmit:D,submitting:S,submitText:g("Confirm"),cancelText:g("Cancel"),footer:F},o().createElement(a.Form,{form:O,layout:"vertical",initialValues:{autoRevision:!0},disabled:P},o().createElement(a.Alert,{message:g("Trigger variables need to be filled for executing."),type:"info",style:{marginBottom:k.margin}}),o().createElement(a.Form.Item,{label:g("Trigger variables")},o().createElement("div",{style:{padding:k.padding,border:"".concat(k.lineWidth,"px solid ").concat(k.colorBorderSecondary),borderRadius:k.borderRadiusLG}},o().createElement(n.Suspense,{fallback:o().createElement(a.Skeleton,{active:!0,paragraph:{rows:2}})},o().createElement(R,null)))),j?null:o().createElement(a.Form.Item,{name:"autoRevision",valuePropName:"checked"},o().createElement(a.Checkbox,null,g("Automatically create a new version after execution")))))))}function C(e){var t,r,i=e.record,u=e.refresh,s=(0,c.useFlowContext)(),d=(0,p.kj)(),f=s.app.pm.get(m.q),v=i.type?f.getTriggerOptions(i.type):void 0,b=null!=(t=null==v?void 0:v.validate(null!=(r=i.config)?r:{}))&&t,y=(0,n.useMemo)(function(){return v?v.TriggerFieldsetLoader?"":d("This type of trigger has not been supported to be executed manually."):d("This trigger type is not available in the new canvas yet.")},[d,v]),g=(0,l.useMemoizedFn)(function(){v&&!y&&v.TriggerFieldsetLoader&&x({ctx:s,workflow:i,trigger:v,TriggerFieldsetLoader:v.TriggerFieldsetLoader,valid:b,refresh:u})});return o().createElement(a.Tooltip,{title:y||void 0},o().createElement("span",null,o().createElement(a.Button,{disabled:!!y,onClick:g},d("Execute manually"))))}function x(e){e.ctx.viewer.dialog({width:520,closable:!0,content:function(){return o().createElement(k,{workflow:e.workflow,trigger:e.trigger,TriggerFieldsetLoader:e.TriggerFieldsetLoader,valid:e.valid,onSubmitted:e.refresh})}})}},2596:function(e,t,r){r.d(t,{i:function(){return O}});var n=r(2059),o=r(9155),l=r.n(o);let a=(0,o.createContext)(null),i={didCatch:!1,error:null};class c extends o.Component{constructor(e){super(e),this.resetErrorBoundary=this.resetErrorBoundary.bind(this),this.state=i}static getDerivedStateFromError(e){return{didCatch:!0,error:e}}resetErrorBoundary(){let{error:e}=this.state;if(null!==e){for(var t,r,n=arguments.length,o=Array(n),l=0;l<n;l++)o[l]=arguments[l];null==(t=(r=this.props).onReset)||t.call(r,{args:o,reason:"imperative-api"}),this.setState(i)}}componentDidCatch(e,t){var r,n;null==(r=(n=this.props).onError)||r.call(n,e,t)}componentDidUpdate(e,t){let{didCatch:r}=this.state,{resetKeys:n}=this.props;if(r&&null!==t.error&&function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return e.length!==t.length||e.some((e,r)=>!Object.is(e,t[r]))}(e.resetKeys,n)){var o,l;null==(o=(l=this.props).onReset)||o.call(l,{next:n,prev:e.resetKeys,reason:"keys"}),this.setState(i)}}render(){let{children:e,fallbackRender:t,FallbackComponent:r,fallback:n}=this.props,{didCatch:l,error:i}=this.state,c=e;if(l){let e={error:i,resetErrorBoundary:this.resetErrorBoundary};if((0,o.isValidElement)(n))c=n;else if("function"==typeof t)c=t(e);else if(r)c=(0,o.createElement)(r,e);else throw i}return(0,o.createElement)(a.Provider,{value:{didCatch:l,error:i,resetErrorBoundary:this.resetErrorBoundary}},c)}}var u=r(7375),s=r(3342),d=r(1134),f=r(4652),p=r(404),m=r(3872),v=r(6660),b=r(8201),y=r(4562),g=r(6566),h=r(7065);function w(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function E(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function k(){var e=E(["\n margin-top: 0 !important;\n "]);return k=function(){return e},e}function C(){var e=E(["\n margin-bottom: 1em;\n "]);return C=function(){return e},e}function x(){var e=E(["\n margin-top: 0 !important;\n "]);return x=function(){return e},e}function O(e){var t,r,o=e.entry,a=(0,v.A)().styles,i=(0,y.sD)(),E=(0,p.x)(),O=(0,s.useCompile)(),A=(0,s.usePlugin)(d.default),S=function(e){if(Array.isArray(e))return e}(t=l().useState(100))||function(e){var t,r,n=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var o=[],l=!0,a=!1;try{for(n=n.call(e);!(l=(t=n.next()).done)&&(o.push(t.value),2!==o.length);l=!0);}catch(e){a=!0,r=e}finally{try{l||null==n.return||n.return()}finally{if(a)throw r}}return o}}(t)||function(e){if(e){if("string"==typeof e)return w(e,2);var t=Object.prototype.toString.call(e).slice(8,-1);if("Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t)return Array.from(t);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return w(e,2)}}(t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),T=S[0],j=S[1],R=null==E?void 0:E.clipboard,P=R?A.instructions.get(R.type):null,D=R?P?O(P.title):R.type:"";return l().createElement("div",{className:"workflow-canvas-wrapper"},l().createElement(c,{FallbackComponent:s.ErrorFallback,onError:console.error},l().createElement(g.C.Provider,{value:h.bP},l().createElement("div",{className:"workflow-canvas",style:{zoom:T/100}},l().createElement("div",{className:(0,s.cx)(a.branchBlockClass,(0,s.css)(k()))},l().createElement("div",{className:a.branchClass},i?l().createElement(n.Alert,{type:"warning",message:(0,m.vV)("Executed workflow cannot be modified. Could be copied to a new version to modify."),showIcon:!0,className:(0,s.css)(C())}):null,l().createElement(b.Vo,null),l().createElement("div",{className:(0,s.cx)(a.branchBlockClass,(0,s.css)(x()))},l().createElement(f.lg,{entry:o})),l().createElement("div",{className:a.terminalClass},(0,m.vV)("End"))))))),R?l().createElement("div",{className:a.clipboardPreviewClass},l().createElement("div",{className:"workflow-clipboard-header"},l().createElement("span",null,(0,m.vV)("Copied node")),l().createElement(n.Button,{type:"text",size:"small",icon:l().createElement(u.CloseOutlined,null),onClick:function(){var e;return null==E||null==(e=E.clearClipboard)?void 0:e.call(E)}})),l().createElement("div",{className:"workflow-clipboard-card"},l().createElement("div",{className:"workflow-clipboard-type"},D),l().createElement("div",{className:"workflow-clipboard-title"},null!=(r=R.title)?r:R.type))):null,l().createElement("div",{className:"workflow-canvas-zoomer"},l().createElement(n.Slider,{vertical:!0,reverse:!0,defaultValue:100,step:10,min:10,value:T,onChange:j})))}},1110:function(e,t,r){r.r(t),r.d(t,{WorkflowPage:function(){return H}});var n=r(3342),o=r(9155),l=r.n(o),a=r(4442),i=r(6660),c=r(5953),u=r(2059),s=r(7375),d=r(5230),f=r(7768),p=r(2596),m=r(2662),v=r(4421),b=r(7846),y=r(3872),g=r(6481),h=r(6072),w=r(6864),E=r(512),k=r(8201),C=r(7428),x=r(7107),O=r(4562),A=r(5433),S=r(3610),T=r(3312),j=r(404),R=r(2815),P=r(7694),D=r(2448),F=r(2990);function V(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function I(e,t,r,n,o,l,a){try{var i=e[l](a),c=i.value}catch(e){r(e);return}i.done?t(c):Promise.resolve(c).then(n,o)}function N(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var l=e.apply(t,r);function a(e){I(l,n,o,a,i,"next",e)}function i(e){I(l,n,o,a,i,"throw",e)}a(void 0)})}}function B(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}function L(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t})(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}),e}function z(e,t){if(null==e)return{};var r,n,o,l={};if("u">typeof Reflect&&Reflect.ownKeys){for(o=0,r=Reflect.ownKeys(Object(e));o<r.length;o++)n=r[o],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(l[n]=e[n]);return l}if(l=function(e,t){if(null==e)return{};var r,n,o={},l=Object.getOwnPropertyNames(e);for(n=0;n<l.length;n++)r=l[n],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r]);return o}(e,t),Object.getOwnPropertySymbols)for(o=0,r=Object.getOwnPropertySymbols(e);o<r.length;o++)n=r[o],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(l[n]=e[n]);return l}function M(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r,n,o=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var l=[],a=!0,i=!1;try{for(o=o.call(e);!(a=(r=o.next()).done)&&(l.push(r.value),!t||l.length!==t);a=!0);}catch(e){i=!0,n=e}finally{try{a||null==o.return||o.return()}finally{if(i)throw n}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return V(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if("Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r)return Array.from(r);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return V(e,t)}}(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function K(e,t){var r,n,o,l={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),i=Object.defineProperty;return i(a,"next",{value:c(0)}),i(a,"throw",{value:c(1)}),i(a,"return",{value:c(2)}),"function"==typeof Symbol&&i(a,Symbol.iterator,{value:function(){return this}}),a;function c(i){return function(c){var u=[i,c];if(r)throw TypeError("Generator is already executing.");for(;a&&(a=0,u[0]&&(l=0)),l;)try{if(r=1,n&&(o=2&u[0]?n.return:u[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,u[1])).done)return o;switch(n=0,o&&(u=[2&u[0],o.value]),u[0]){case 0:case 1:o=u;break;case 4:return l.label++,{value:u[1],done:!1};case 5:l.label++,n=u[1],u=[0];continue;case 7:u=l.ops.pop(),l.trys.pop();continue;default:if(!(o=(o=l.trys).length>0&&o[o.length-1])&&(6===u[0]||2===u[0])){l=0;continue}if(3===u[0]&&(!o||u[1]>o[0]&&u[1]<o[3])){l.label=u[1];break}if(6===u[0]&&l.label<o[1]){l.label=o[1],o=u;break}if(o&&l.label<o[2]){l.label=o[2],l.ops.push(u);break}o[2]&&l.ops.pop(),l.trys.pop();continue}u=t.call(e,l)}catch(e){u=[6,e],n=0}finally{r=o=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}}function U(){var e,t,r=(e=["\n margin-bottom: 1em;\n "],t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}})));return U=function(){return r},r}function W(e){var t,r=e.request,o=(e.filter,z(e,["request","filter"])),a=(0,b.$K)().workflow,i=L(B({},o),{request:L(B({},r),{params:L(B({},null==r?void 0:r.params),{filter:L(B({},null==r||null==(t=r.params)?void 0:t.filter),{key:a.key})})})});return l().createElement(n.ResourceActionProvider,i)}function Y(e){var t=e.data,r=e.option,o=(0,n.useCompile)()(r.label);return l().createElement(c.Trans,{ns:y.CU,values:{statusText:o}},"Workflow executed, the result status is ",l().createElement(u.Tag,{color:r.color},"{{statusText}}"),l().createElement(a.Link,{to:(0,h.mz)(t.id)},"View the execution"))}function q(){var e=(0,b.$K)().workflow,t=(0,d.useForm)(),r=(0,n.useResourceContext)().resource,a=(0,n.useActionContext)(),i=(0,n.useNavigateNoUpdate)(),c=u.App.useApp().message,s=(0,O.sD)(),f=M((0,o.useState)(!1),2),p=f[0],m=f[1];return{loading:p,run:function(){return N(function(){var n,o,u,d;return K(this,function(f){switch(f.label){case 0:m(!0),f.label=1;case 1:return f.trys.push([1,,4,5]),o=(n=t.values).autoRevision,u=z(n,["autoRevision"]),[4,t.submit()];case 2:return f.sent(),[4,r.execute(B({filterByTk:e.id,values:u},!s&&o?{autoRevision:1}:{}))];case 3:return d=f.sent().data.data,t.reset(),a.setFormValueChanged(!1),a.setVisible(!1),null==c||c.open(function(e){if(!e)return{type:"info",content:(0,y.vV)("Workflow was not triggered because the current request did not meet the trigger requirements.")};var t=e.id,r=e.status,n=C.$Y[r];return n?{type:"info",content:l().createElement(Y,{data:{id:t},option:n})}:null}(d.execution)),d.newVersionId&&i((0,h.Yz)(d.newVersionId)),[3,5];case 4:return m(!1),[7];case 5:return[2]}})})()}}}function _(e){var t,r,n=e.children,o=(0,d.useField)(),a=(0,b.$K)().workflow,i=(0,k.s5)(),c=null!=(t=null==i||null==(r=i.validate)?void 0:r.call(i,a.config))&&t,s=i?(0,D.qY)(i):"none",f="";switch(!0){case!i:f=(0,y.vV)("This trigger type is not available in the new canvas yet.");break;case!c:f=(0,y.vV)("The trigger is not configured correctly, please check the trigger configuration.");break;case"none"===s:f=(0,y.vV)("This type of trigger has not been supported to be executed manually.")}return o.setPattern(f?"disabled":"editable"),f?l().createElement(u.Tooltip,{title:f},n):n}function $(){var e,t=(0,b.$K)().workflow,r=(0,P.useFlowEngine)(),o=(0,O.sD)(),a=(0,k.s5)(),i=(0,n.useResourceActionContext)().refresh,c=a?(0,D.qY)(a):"none";if(!a)return l().createElement(u.Tooltip,{title:(0,y.vV)("This trigger type is not available in the new canvas yet.")},l().createElement("span",null,l().createElement(u.Button,{disabled:!0},(0,y.vV)("Execute manually"))));if("modern-loader"===c&&(null==a?void 0:a.TriggerFieldsetLoader)){var s=a.validate(t.config);return l().createElement(u.Tooltip,{title:void 0},l().createElement("span",null,l().createElement(u.Button,{onClick:function(){return(0,F.LZ)({ctx:r.context,workflow:t,trigger:a,TriggerFieldsetLoader:a.TriggerFieldsetLoader,valid:s,refresh:i})}},(0,y.vV)("Execute manually"))))}return l().createElement(b.AA.Provider,{value:t},l().createElement(x.Ws.Provider,{value:!0},l().createElement(n.SchemaComponent,{components:B({Alert:u.Alert,Fieldset:w.L,ActionDisabledProvider:_},a.components),scope:B({useCancelAction:n.useCancelAction,useExecuteConfirmAction:q},a.scope),schema:{name:"trigger-modal-".concat(t.type,"-").concat(t.id),type:"void","x-decorator":"ActionDisabledProvider","x-component":"Action","x-component-props":{openSize:"small"},title:"{{t('Execute manually', { ns: \"".concat(y.CU,'" })}}'),properties:{drawer:{type:"void","x-decorator":"FormV2","x-component":"Action.Modal",title:"{{t('Execute manually', { ns: \"".concat(y.CU,'" })}}'),properties:L(B(L(B({},Object.keys(null!=(e=a.triggerFieldset)?e:{}).length?{alert:{type:"void","x-component":"Alert","x-component-props":{message:"{{t('Trigger variables need to be filled for executing.', { ns: \"".concat(y.CU,'" })}}'),className:(0,n.css)(U())}}}:{description:{type:"void","x-component":"p","x-content":"{{t('This will perform all the actions configured in the workflow. Are you sure you want to continue?', { ns: \"".concat(y.CU,'" })}}')}}),{fieldset:{type:"void","x-decorator":"FormItem","x-component":"Fieldset",title:"{{t('Trigger variables', { ns: \"".concat(y.CU,'" })}}'),properties:a.triggerFieldset}}),o?{}:{autoRevision:{type:"boolean","x-decorator":"FormItem","x-component":"Checkbox","x-content":"{{t('Automatically create a new version after execution', { ns: \"".concat(y.CU,'" })}}'),default:!0}}),{footer:{type:"void","x-component":"Action.Modal.Footer",properties:{cancel:{type:"void",title:"{{t('Cancel')}}","x-component":"Action","x-component-props":{useAction:"{{useCancelAction}}"}},submit:{type:"void",title:"{{t('Confirm')}}","x-component":"Action","x-component-props":{type:"primary",useAction:"{{useExecuteConfirmAction}}"}}}}})}}}})))}function G(){var e=(0,b.$K)(),t=e.workflow,r=e.revisions,d=void 0===r?[]:r,p=M((0,o.useState)(!1),2),w=p[0],k=p[1],x=M((0,o.useState)(!1),2),A=x[0],S=x[1],T=M((0,o.useState)(""),2),j=T[0],P=T[1],D=(0,a.useNavigate)(),F=(0,c.useTranslation)().t,V=u.App.useApp().modal,I=(0,n.useApp)(),B=(0,n.useResourceContext)().resource,L=(0,n.useResourceActionContext)().refresh,z=u.App.useApp().message,U=(0,i.A)().styles,Y=(0,O.Eh)(),q=(0,o.useCallback)(function(){return N(function(){var e;return K(this,function(r){switch(r.label){case 0:return[4,B.revision({filterByTk:t.id,filter:{key:t.key}})];case 1:return e=r.sent().data.data,z.success(F("Operation succeeded")),D((0,h.Yz)(e.id)),[2]}})})()},[B,t.id,t.key,z,F,D]),_=(0,o.useCallback)(function(){return N(function(){var e;return K(this,function(r){return e=t.current?(0,y.vV)("This is a main version, delete it will cause the whole workflow to be deleted (including all other revisions)."):(0,y.vV)("Current version will be deleted (without affecting other versions)."),V.confirm({title:F("Are you sure you want to delete it?"),content:e,onOk:function(){return N(function(){var e,r,n,o;return K(this,function(l){switch(l.label){case 0:return[4,B.destroy({filterByTk:t.id})];case 1:if(l.sent(),z.success(F("Operation succeeded")),e=I.pluginSettingsManager.getRoutePath("workflow"),t.current)return[2,D(e)];return d.length&&D((0,h.Yz)(null==(r=d.find(function(e){return e.current}))?void 0:r.id)),[4,B.list({filter:{key:t.key,current:!0},fields:["id"],pageSize:1})];case 2:if(200!==(n=l.sent()).status)return[2];if(!(o=M(n.data.data,1)[0]))return[2,D(e)];return[2,D((0,h.Yz)(o.id))]}})})()}}),[2]})})()},[t,V,F,B,z,D,I.pluginSettingsManager,d]),$=(0,o.useCallback)(function(e){switch(e.key){case"details":S(!0);return;case"refresh":L();return;case"history":k(!0);return;case"revision":return q();case"delete":return _()}},[_,q,L]),G=(0,o.useCallback)(function(e){return(null==e?void 0:e.nickname)||(null==e?void 0:e.username)||(null==e?void 0:e.email)||(null==e?void 0:e.id)||"-"},[]),Q=(0,o.useCallback)(function(e){return e?(0,f.dayjs)(e).format("YYYY-MM-DD HH:mm:ss"):"-"},[]);(0,o.useEffect)(function(){if(A){var e;P(null!=(e=t.description)?e:"")}},[A,t.description]);var J=(0,o.useCallback)(function(e){P(e.target.value)},[]),H=(0,o.useCallback)(function(e){return N(function(){var r,n;return K(this,function(o){switch(o.label){case 0:if((n=e.target.value)===(null!=(r=t.description)?r:""))return[2];return[4,B.update({filterByTk:t.id,values:{description:n}})];case 1:return o.sent(),L(),[2]}})})()},[L,B,t.description,t.id]);return l().createElement(l().Fragment,null,l().createElement(u.Dropdown,{menu:{items:[{role:"button","aria-label":"details",key:"details",label:F("Details")},{type:"divider"},{role:"button","aria-label":"refresh",key:"refresh",label:F("Refresh")},{role:"button","aria-label":"history",key:"history",label:(0,y.vV)("Execution history"),disabled:!Y},{role:"button","aria-label":"revision",key:"revision",label:(0,y.vV)("Copy to new version")},{type:"divider"},{role:"button","aria-label":"delete",danger:!0,key:"delete",label:F("Delete")}],onClick:$}},l().createElement(u.Button,{"aria-label":"more",type:"text",icon:l().createElement(s.EllipsisOutlined,null)})),l().createElement(u.Modal,{open:A,title:F("Details"),width:640,footer:null,onCancel:function(){return S(!1)}},l().createElement(u.Descriptions,{bordered:!0,column:2,size:"small"},l().createElement(u.Descriptions.Item,{label:"Key",span:2},t.key||"-"),l().createElement(u.Descriptions.Item,{label:F("Created by")},G(t.createdBy)),l().createElement(u.Descriptions.Item,{label:F("Created at")},Q(t.createdAt)),l().createElement(u.Descriptions.Item,{label:F("Last updated by")},G(t.updatedBy)),l().createElement(u.Descriptions.Item,{label:F("Last updated at")},Q(t.updatedAt)),l().createElement(u.Descriptions.Item,{label:F("Description"),span:2},l().createElement(u.Input.TextArea,{"aria-label":F("Description"),value:j,onChange:J,onBlur:H,placeholder:"-",className:U.workflowDetailsDescriptionClass,autoSize:{minRows:3,maxRows:8}})))),l().createElement(n.ActionContextProvider,{value:{visible:w,setVisible:k}},l().createElement(n.SchemaComponent,{schema:g.M,components:{ExecutionResourceProvider:W,ExecutionLink:v.d,ExecutionStatusColumn:m.t_},scope:{useRefreshActionProps:E.t,useResourceFilterActionProps:R.A,ExecutionStatusOptions:C.$A}})))}function Q(){var e,t=(0,i.A)().styles,r=(0,a.useNavigate)(),c=(0,b.$K)().workflow,d=(0,o.useCallback)(function(e){var t=e.key;t!=c.id&&r((0,h.Yz)(t))},[c.id,r]),p=(0,n.useRequest)({resource:"workflows",action:"list",params:{filter:{key:c.key},fields:["id","createdAt","current","enabled","versionStats.executed"],sort:"-id"}},{refreshDeps:[c.id],manual:!0}),m=p.data,v=p.run,g=(0,o.useCallback)(function(e){e&&v()},[v]),w=null!=(e=null==m?void 0:m.data)?e:[];return l().createElement(u.Dropdown,{className:"workflow-versions",trigger:["click"],onOpenChange:g,menu:{onClick:d,defaultSelectedKeys:["".concat(c.id)],className:(0,n.cx)(t.dropdownClass,t.workflowVersionDropdownClass),items:w.sort(function(e,t){return t.id-e.id}).map(function(e,t){return{role:"button","aria-label":"version-".concat(t),key:"".concat(e.id),icon:e.current?l().createElement(s.RightOutlined,null):null,className:(0,n.cx)({executed:e.versionStats.executed>0,unexecuted:0==e.versionStats.executed,enabled:e.enabled}),label:l().createElement(l().Fragment,null,l().createElement("strong",null,"#".concat(e.id)),l().createElement("time",null,(0,f.dayjs)(e.createdAt).fromNow()))}})}},l().createElement(u.Button,{type:"text","aria-label":"version"},l().createElement("label",null,(0,y.vV)("Version")),l().createElement("span",null,(null==c?void 0:c.id)?"#".concat(c.id):null),l().createElement(s.DownOutlined,null)))}function J(){var e,t,r,i=(0,a.useNavigate)(),c=(0,n.useApp)(),s=(0,n.useResourceActionContext)(),d=s.data,f=s.refresh,m=s.loading,v=(0,n.useResourceContext)().resource,g=(0,n.useDocumentTitle)().setTitle,w=M((0,o.useState)(null!=(e=null==d||null==(r=d.data)?void 0:r.enabled)&&e),2),E=w[0],k=w[1],C=M((0,o.useState)(!1),2),x=C[0],O=C[1],R=null!=(t=null==d?void 0:d.data)?t:{},P=R.nodes,D=void 0===P?[]:P,F=z(R,["nodes"]);(0,h.KD)(D),(0,o.useEffect)(function(){var e,t=null!=(e=null==d?void 0:d.data)?e:{},r=t.title,n=t.enabled;null==g||g("".concat((0,y.vV)("Workflow")).concat(r?": ".concat(r):"")),k(n)},[null==d?void 0:d.data,g]);var V=(0,o.useCallback)(function(e){return N(function(){return K(this,function(t){switch(t.label){case 0:return O(!0),[4,v.update({filterByTk:F.id,values:{enabled:e}})];case 1:return t.sent(),O(!1),k(e),[2]}})})()},[v,F.id]);if(!(null==d?void 0:d.data))return m?l().createElement(u.Spin,null):l().createElement(u.Result,{status:"404",title:"Not found",extra:l().createElement(u.Button,{onClick:function(){return i(-1)}},(0,y.vV)("Go back"))});var I=D.find(function(e){return!e.upstream});return l().createElement(b.cB.Provider,{value:{workflow:F,nodes:D,refresh:f}},l().createElement("div",{className:"workflow-toolbar"},l().createElement("header",null,l().createElement(u.Breadcrumb,{items:[{title:l().createElement(a.Link,{to:c.pluginSettingsManager.getRoutePath("workflow")},(0,y.vV)("Workflow"))},{title:l().createElement(u.Tooltip,{title:"Key: ".concat(F.key)},l().createElement("strong",null,F.title))}]}),F.sync?l().createElement(u.Tag,{color:"orange"},(0,y.vV)("Synchronously")):l().createElement(u.Tag,{color:"cyan"},(0,y.vV)("Asynchronously"))),l().createElement("aside",null,l().createElement($,null),l().createElement(Q,null),l().createElement(u.Switch,{checked:E,onChange:V,checkedChildren:(0,y.vV)("On"),unCheckedChildren:(0,y.vV)("Off"),loading:x}),l().createElement(G,null))),l().createElement(A.y,null,l().createElement(S.J,null,l().createElement(T.bI,null,l().createElement(j.L,null,l().createElement(p.i,{entry:I}))))))}var H=function(){var e,t,r,o=(0,a.useParams)(),c=(0,i.A)().styles;return l().createElement("div",{className:(0,n.cx)(c.workflowPageClass)},l().createElement(n.SchemaComponent,{schema:{type:"void",properties:(e={},t="provider_".concat(o.id),r={type:"void","x-decorator":"ResourceActionProvider","x-decorator-props":{collection:{name:"workflows",fields:[]},resourceName:"workflows",request:{resource:"workflows",action:"get",params:{filter:{id:o.id},appends:["nodes","stats.executed","versionStats.executed","createdBy","updatedBy"]}}},"x-component":"WorkflowCanvas"},t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e)},components:{WorkflowCanvas:J}}))}},7001:function(e,t,r){r.d(t,{TD:function(){return i}});var n=r(2625),o=r(3485),l=r(8401);function a(){return"modern"===(0,o.getRouteRuntimeVersion)()}function i(){var e=(0,n.useMemoizedFn)(function(e){return a()?(0,l.JG)(e):"/admin/settings/workflow/workflows/".concat(e)}),t=(0,n.useMemoizedFn)(function(e){return a()?(0,l.Pq)(e):"/admin/settings/workflow/executions/".concat(e)});return{isV2Runtime:a(),getWorkflowCanvasPath:e,getWorkflowExecutionPath:t}}},9239:function(e,t,r){r.d(t,{GO:function(){return l},QQ:function(){return c},hi:function(){return a},m2:function(){return i}});var n=r(358);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var l={QUEUEING:null,STARTED:0,RESOLVED:1,FAILED:-1,ERROR:-2,ABORTED:-3,CANCELED:-4,REJECTED:-5,RETRY_NEEDED:-6},a=[{value:l.QUEUEING,label:'{{t("Queueing", { ns: "'.concat(n.C,'" })}}'),color:"blue",description:'{{t("Triggered but still waiting in queue to execute.", { ns: "'.concat(n.C,'" })}}')},{value:l.STARTED,label:'{{t("On going", { ns: "'.concat(n.C,'" })}}'),color:"gold",description:'{{t("Started and executing, maybe waiting for an async callback (manual, delay etc.).", { ns: "'.concat(n.C,'" })}}')},{value:l.RESOLVED,label:'{{t("Resolved", { ns: "'.concat(n.C,'" })}}'),color:"green",description:'{{t("Successfully finished.", { ns: "'.concat(n.C,'" })}}')},{value:l.FAILED,label:'{{t("Failed", { ns: "'.concat(n.C,'" })}}'),color:"red",description:'{{t("Failed to satisfy node configurations.", { ns: "'.concat(n.C,'" })}}')},{value:l.ERROR,label:'{{t("Error", { ns: "'.concat(n.C,'" })}}'),color:"red",description:'{{t("Some node meets error.", { ns: "'.concat(n.C,'" })}}')},{value:l.ABORTED,label:'{{t("Aborted", { ns: "'.concat(n.C,'" })}}'),color:"red",description:'{{t("Running of some node was aborted by program flow.", { ns: "'.concat(n.C,'" })}}')},{value:l.CANCELED,label:'{{t("Canceled", { ns: "'.concat(n.C,'" })}}'),color:"volcano",description:'{{t("Manually canceled whole execution when waiting.", { ns: "'.concat(n.C,'" })}}')},{value:l.REJECTED,label:'{{t("Rejected", { ns: "'.concat(n.C,'" })}}'),color:"volcano",description:'{{t("Rejected from a manual node.", { ns: "'.concat(n.C,'" })}}')},{value:l.RETRY_NEEDED,label:'{{t("Retry needed", { ns: "'.concat(n.C,'" })}}'),color:"volcano",description:'{{t("General failed but should do another try.", { ns: "'.concat(n.C,'" })}}')}],i=a.reduce(function(e,t){return Object.assign(e,o({},t.value,t))},{}),c=[{value:n.K.TIMEOUT,label:'{{t("Timed out", { ns: "'.concat(n.C,'" })}}')},{value:n.K.MANUAL_CANCEL,label:'{{t("Canceled manually", { ns: "'.concat(n.C,'" })}}')},{value:n.K.PARENT_ABORTED,label:'{{t("Aborted with parent execution", { ns: "'.concat(n.C,'" })}}')}].reduce(function(e,t){return Object.assign(e,o({},t.value,t))},{})}}]);
@@ -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([["719"],{1801:function(e,t,r){r.d(t,{N$:function(){return S},yr:function(){return F}});var n=r(3485),a=r(7694),o=r(2625),i=r(9155),l=r.n(i),c=r(7768),u=r(4563),s=r(9488),f=r(3943);function d(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 m(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function y(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r,n,a=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var o=[],i=!0,l=!1;try{for(a=a.call(e);!(i=(r=a.next()).done)&&(o.push(r.value),!t||o.length!==t);i=!0);}catch(e){l=!0,n=e}finally{try{i||null==a.return||a.return()}finally{if(l)throw n}}return o}}(e,t)||g(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 h(e){return function(e){if(Array.isArray(e))return d(e)}(e)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||g(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 p(e){return e&&"u">typeof Symbol&&e.constructor===Symbol?"symbol":typeof e}function g(e,t){if(e){if("string"==typeof e)return d(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 d(e,t)}}var b=/^\{\{\s*([^{}]+?)\s*\}\}$/,v=/^\{\{\s*ctx\.(\$[^{}]+?)\s*\}\}$/,w=["yesterday","today","tomorrow","lastWeek","thisWeek","nextWeek","lastMonth","thisMonth","nextMonth","lastQuarter","thisQuarter","nextQuarter","lastYear","thisYear","nextYear","last7Days","next7Days","last30Days","next30Days","last90Days","next90Days"],x={yesterday:"Yesterday",today:"Today",tomorrow:"Tomorrow",lastWeek:"Last week",thisWeek:"This week",nextWeek:"Next week",lastMonth:"Last month",thisMonth:"This month",nextMonth:"Next month",lastQuarter:"Last quarter",thisQuarter:"This quarter",nextQuarter:"Next quarter",lastYear:"Last year",thisYear:"This year",nextYear:"Next year",last7Days:"Last 7 days",next7Days:"Next 7 days",last30Days:"Last 30 days",next30Days:"Next 30 days",last90Days:"Last 90 days",next90Days:"Next 90 days"};function O(e){if("string"!=typeof e)return e;var t=e.trim().match(b);return!t||t[1].startsWith("ctx.")?e:"{{ ctx.".concat(t[1]," }}")}function j(e){return!!(e&&(void 0===e?"undefined":p(e))==="object"&&"logic"in e&&"items"in e)}function k(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];if(!e||(void 0===e?"undefined":p(e))!=="object"||Array.isArray(e))return t.length?[{path:t.join("."),operator:"$eq",value:O(e)}]:[];var r=Object.entries(e),n=r.filter(function(e){return y(e,1)[0].startsWith("$")});return n.length?t.length?n.map(function(e){var r=y(e,2),n=r[0],a=r[1];return{path:t.join("."),operator:n,value:O(a)}}):[]:r.flatMap(function(e){var r=y(e,2),n=r[0];return k(r[1],h(t).concat([n]))})}function A(e){return Array.isArray(e.$or)?"$or":Array.isArray(e.$and)?"$and":void 0}function E(e){var t;return j(e)?e:null!=(t=function e(t){if(!(!t||(void 0===t?"undefined":p(t))!=="object"||Array.isArray(t))){var r=A(t);if(!r){var n=k(t);return n.length?{logic:"$and",items:n}:void 0}var a=t[r].flatMap(function(t){if(!t||(void 0===t?"undefined":p(t))!=="object"||Array.isArray(t))return[];if(A(t)){var r=e(t);return r?[r]:[]}return k(t)}).filter(function(e){return!!e});return a.length?{logic:r,items:a}:void 0}}(e))?t:{logic:"$and",items:[]}}function S(e){var t=e.collection,r=e.value,d=e.onChange,y=e.disabled,p=void 0!==y&&y,g=e.rightAsVariable,b=void 0===g||g,O=e.maxAssociationFieldDepth,k=void 0===O?2:O,A=(0,a.useFlowEngine)(),S=(0,s.kj)(),F=(0,o.useMemoizedFn)(function(e,t){return S(e,t)}),M=(0,u.P)(),I=(0,i.useMemo)(function(){var e,t;return e={name:"dateRange",title:F("Date range"),type:"object",paths:["$system","dateRange"],children:w.map(function(e){return{name:e,title:F(x[e]),type:"string",paths:["$system","dateRange",e]}})},(t=M.findIndex(function(e){return"$system"===e.name}))<0?h(M).concat([{name:"$system",title:F("System variables"),type:"",paths:["$system"],children:[e]}]):M.map(function(r,n){if(n!==t||"function"==typeof r.children)return r;var a,o,i=Array.isArray(r.children)?r.children.filter(function(e){return"dateRange"!==e.name}):[];return a=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){m(e,t,r[t])})}return e}({},r),o=o={children:h(i).concat([e])},Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(o)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t})(Object(o)).forEach(function(e){Object.defineProperty(a,e,Object.getOwnPropertyDescriptor(o,e))}),a})},[F,M]),P=(0,i.useMemo)(function(){return(0,f.X_)(A.context.dataSourceManager,t)},[A,t]),D=(0,i.useMemo)(function(){if(!P)return null;var e=A.createModel({uid:(0,a.randomId)("workflowFilter_"),use:a.FlowModel}),t=A.context.app;return t&&e.context.defineProperty("app",{value:t}),e.context.defineProperty("collection",{get:function(){return P}}),e},[P,A]);(0,i.useEffect)(function(){return function(){var e;null==D||null==(e=D.remove)||e.call(D)}},[D]);var N=(0,i.useRef)();N.current||(N.current=(0,a.observable)(E(r)));var $=(0,i.useRef)(null);(0,i.useEffect)(function(){var e=JSON.stringify(null!=r?r:{});if($.current!==e){var t=E(r);N.current&&(N.current.logic=t.logic,N.current.items=t.items,$.current=e)}},[r]),(0,i.useEffect)(function(){if(N.current)return(0,a.reaction)(function(){return JSON.stringify((0,a.toJS)(N.current))},function(e){var t,r=JSON.parse(e),n=Array.isArray(r.items)?r.items.length:0,a=(0,c.removeInvalidFilterItems)(r);if(!a.items.length){n||null==d||d({});return}var o=null!=(t=function e(t){if(null==t||null==(r=t.items)?void 0:r.length){var r,n=t.items.map(function(t){if(j(t))return e(t);if("string"==typeof t.path&&"string"==typeof t.operator&&t.path&&t.operator)return function(e,t){for(var r=e.split("."),n=t,a=r.length-1;a>=0;a--)n=m({},r[a],n);return n}(t.path,m({},t.operator,function(e){if("string"!=typeof e)return e;var t=e.trim().match(v);return t?"{{".concat(t[1],"}}"):e}(t.value)))}).filter(function(e){return!!e});if(n.length)return m({},t.logic,n)}}(a))?t:{};$.current=JSON.stringify(o),null==d||d(o)},{fireImmediately:!1})},[d]);var T=(0,i.useMemo)(function(){if(!D)return null;var e=function(e){var t=e.value;return l().createElement(a.FlowModelProvider,{model:D},l().createElement(n.VariableFilterItem,{value:t,model:D,disabled:p,rightAsVariable:b,rightMetaTree:I,maxAssociationFieldDepth:k}))};return e.displayName="WorkflowVariableFilterItem",e},[p,D,k,b,I]);return l().createElement(n.FilterGroup,{value:N.current,FilterItem:null!=T?T:void 0,disabled:p})}var F=S},6242:function(e,t,r){r.r(t),r.d(t,{TriggerModeField:function(){return p},default:function(){return v},CollectionPresetConfig:function(){return b},SyncTransactionNotice:function(){return h},CollectionTriggerConfig:function(){return g}});var n=r(5477),a=r(2059),o=r(9155),i=r.n(o),l=r(2235),c=r(1801),u=r(8198),s=r(9488),f=[{label:'{{t("After record added", { ns: "'.concat(s.CU,'" })}}'),value:1},{label:'{{t("After record updated", { ns: "'.concat(s.CU,'" })}}'),value:2},{label:'{{t("After record added or updated", { ns: "'.concat(s.CU,'" })}}'),value:3},{label:'{{t("After record deleted", { ns: "'.concat(s.CU,'" })}}'),value:4}];function d(e,t){return(Number(e)&t)===t}function m(){var e,t,r=(e=["\n .ant-select.auto-width {\n width: auto;\n min-width: 6em;\n }\n "],t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}})));return m=function(){return r},r}function y(e){return!e.hidden&&(!e.uiSchema||!e.uiSchema["x-read-pretty"])&&!["linkTo","hasOne","hasMany","belongsToMany"].includes(e.type)}function h(){var e=(0,s.kj)();return i().createElement(a.Alert,{type:"info",showIcon:!0,style:{marginBottom:"1em"},message:e("Synchronous collection event workflows run within the trigger transaction by default. Related data operations automatically use this transaction.")})}function p(){var e=(0,s.kj)(),t=a.Form.useWatch(["config","collection"]),r=(0,o.useMemo)(function(){return f.map(function(t){return{value:t.value,label:e(t.label)}})},[e]);return t?i().createElement(a.Form.Item,{name:["config","mode"],label:e("Trigger on"),rules:[{required:!0}]},i().createElement(a.Select,{popupMatchSelectWidth:!1,placeholder:e("Trigger on"),className:"auto-width",options:r})):null}function g(){var e=(0,s.kj)(),t=(0,l.Zt)(),r=a.Form.useWatch(["config","collection"]),o=Number(a.Form.useWatch(["config","mode"])||0),f=null==t?void 0:t.sync;return i().createElement("fieldset",{className:(0,n.css)(m())},i().createElement(a.Form.Item,{name:["config","collection"],label:e("Collection")},i().createElement(u.XJ,{disabled:!0})),i().createElement(p,null),r&&d(o,2)?i().createElement(a.Form.Item,{name:["config","changed"],label:e("Changed fields"),extra:e("Triggered only if one of the selected fields changes. If unselected, it means that it will be triggered when any field changes. When record is added, any field is considered to have been changed.")},i().createElement(u.WY,{mode:"multiple",placeholder:e("Select field"),filter:y})):null,r&&!d(o,4)?i().createElement(a.Form.Item,{name:["config","condition"],label:e("Only triggers when match conditions")},i().createElement(c.yr,{collection:r,rightAsVariable:!1})):null,r&&!d(o,4)?i().createElement(a.Form.Item,{name:["config","appends"],label:e("Preload associations"),extra:e("Please select the associated fields that need to be accessed in subsequent nodes. With more than two levels of to-many associations may cause performance issue, please use with caution.")},i().createElement(u.Kr,{collection:r})):null,f?i().createElement(h,null):null,f?i().createElement(a.Form.Item,{name:["config","rollbackOnFailure"],valuePropName:"checked",extra:e("Only available in synchronous mode. When enabled, if the workflow execution ends with a failed status, the data operation that triggered it will fail and be rolled back."),initialValue:!1},i().createElement(a.Checkbox,null,e("Rollback when workflow execution fails"))):null)}function b(){var e=(0,s.kj)();return i().createElement(a.Form.Item,{name:["config","collection"],label:e("Collection"),rules:[{required:!0}]},i().createElement(u.XJ,null))}var v=g}}]);
@@ -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([["728"],{2891:function(e,t,n){n.r(t),n.d(t,{default:function(){return z}});var r=n(7694),o=n(3485),a=n(7375),l=n(5477),i=n(2625),u=n(2059),c=n(9155),s=n.n(c),d=n(4442),p=n(8401),f=n(250),m=n(9488);function g(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function y(e,t,n,r,o,a,l){try{var i=e[a](l),u=i.value}catch(e){n(e);return}i.done?t(u):Promise.resolve(u).then(r,o)}function h(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var a=e.apply(t,n);function l(e){y(a,r,o,l,i,"next",e)}function i(e){y(a,r,o,l,i,"throw",e)}l(void 0)})}}function b(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,o=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var a=[],l=!0,i=!1;try{for(o=o.call(e);!(l=(n=o.next()).done)&&(a.push(n.value),!t||a.length!==t);l=!0);}catch(e){i=!0,r=e}finally{try{l||null==o.return||o.return()}finally{if(i)throw r}}return a}}(e,t)||function(e,t){if(e){if("string"==typeof e)return g(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return g(e,t)}}(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function k(e,t){var n,r,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},l=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),i=Object.defineProperty;return i(l,"next",{value:u(0)}),i(l,"throw",{value:u(1)}),i(l,"return",{value:u(2)}),"function"==typeof Symbol&&i(l,Symbol.iterator,{value:function(){return this}}),l;function u(i){return function(u){var c=[i,u];if(n)throw TypeError("Generator is already executing.");for(;l&&(l=0,c[0]&&(a=0)),a;)try{if(n=1,r&&(o=2&c[0]?r.return:c[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,c[1])).done)return o;switch(r=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return a.label++,{value:c[1],done:!1};case 5:a.label++,r=c[1],c=[0];continue;case 7:c=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===c[0]||2===c[0])){a=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){a.label=c[1];break}if(6===c[0]&&a.label<o[1]){a.label=o[1],o=c;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(c);break}o[2]&&a.ops.pop(),a.trys.pop();continue}c=t.call(e,a)}catch(e){c=[6,e],r=0}finally{n=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}function v(){var e,t,n=(e=["\n > div > .ant-tabs > .ant-tabs-nav {\n background: ",";\n margin: 0;\n padding-inline: ","px ","px;\n padding-left: ","px;\n }\n\n > div > .ant-tabs > .ant-tabs-content-holder {\n padding: ","px;\n }\n "],t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}})));return v=function(){return n},n}var w=null;function E(e,t){e&&t&&((null==w?void 0:w.taskTypeKey)!==e||w.popupId!==t)||(w=null)}function T(){var e=(0,d.useParams)(),t=(0,d.useLocation)(),n=(0,f.e3)(e.status),r=/(^|\/)(mobile\/page|page)\/workflow-tasks(\/|$)/.test(t.pathname);return{taskType:e.taskType,status:n,popupId:e.popupId,isMobileRoute:r,search:t.search,hash:t.hash}}function x(e,t){return"".concat(e).concat(t.search||"").concat(t.hash||"")}function S(e){var t=e.taskTypes,n=e.counts,r=e.selectedKey,o=(e.status,e.mobile),a=(0,d.useNavigate)(),l=(0,m.kj)(),g=u.theme.useToken().token,y=T(),h=(0,c.useMemo)(function(){return(0,f.EC)(t,n)},[n,t]),b=(0,c.useMemo)(function(){return h.map(function(e){var r,o=null==t?void 0:t.get(e);return{key:e,label:s().createElement(u.Flex,{align:"center",justify:"space-between",gap:g.marginSM},s().createElement("span",null,(null==o?void 0:o.title)?l(o.title):e),s().createElement(u.Badge,{count:(null==(r=n[e])?void 0:r.pending)||0,size:"small"}))}})},[n,l,h,t,g.marginSM]),k=(0,i.useMemoizedFn)(function(e){var t=e.key;a(x((0,p.T0)(t,f.Rr.PENDING,void 0,y.isMobileRoute),y))});return(null==b?void 0:b.length)?o?s().createElement(u.Menu,{"data-testid":"workflow-task-type-menu",mode:"horizontal",selectedKeys:r?[r]:[],items:b,onClick:k,style:{background:g.colorBgContainer,borderBottomColor:g.colorBorderSecondary,height:42,lineHeight:"".concat(42,"px"),minHeight:42,minWidth:0}}):s().createElement(u.Layout.Sider,{theme:"light",breakpoint:"md",collapsedWidth:0,style:{background:g.colorBgContainer,borderRight:"".concat(g.lineWidth,"px ").concat(g.lineType," ").concat(g.colorBorderSecondary)}},s().createElement(u.Menu,{mode:"inline",selectedKeys:r?[r]:[],items:b,onClick:k,style:{height:"100%",borderInlineEnd:0}})):null}function M(e){var t=e.type,n=e.status,r=e.mobile,o=e.reload,a=(0,d.useNavigate)(),l=(0,m.kj)(),g=u.theme.useToken().token,y=t.Actions,h=T(),b=(0,c.useMemo)(function(){return f._l.map(function(e){return{key:e,value:e,label:l(e===f.Rr.PENDING?"Pending":e===f.Rr.COMPLETED?"Completed":"All")}})},[l]),k=(0,i.useMemoizedFn)(function(e){a(x((0,p.T0)(t.key,String(e),void 0,h.isMobileRoute),h))});return r?s().createElement(u.Flex,{"data-testid":"workflow-task-status-controls",align:"center",justify:"space-between",gap:g.marginSM,wrap:"wrap"},s().createElement(u.Segmented,{value:n,options:b.map(function(e){return{value:e.value,label:e.label}}),onChange:k,style:{minWidth:0}}),y?s().createElement(y,{onlyIcon:!0,reload:o}):null):s().createElement(u.Tabs,{activeKey:n,onChange:k,items:b.map(function(e){return{key:e.key,label:e.label}}),tabBarStyle:{marginBottom:0},tabBarExtraContent:y?{right:s().createElement(y,{reload:o})}:void 0})}function I(e){var t=e.mobile,n=e.onPageChange,r=e.page,o=e.total,l=u.theme.useToken().token,c=(0,m.kj)(),d=Math.max(1,Math.ceil(Math.max(o,1)/f.JJ)),p=r>1,g=r<d,y=(0,i.useMemoizedFn)(function(){p&&n(r-1)}),h=(0,i.useMemoizedFn)(function(){g&&n(r+1)});return s().createElement(u.Flex,{align:"center",className:"ant-pagination","data-testid":"workflow-task-pagination",gap:t?l.marginXXS:l.marginSM,justify:"end",style:{width:"100%"}},s().createElement(u.Flex,{align:"center",gap:l.marginXXS},s().createElement(u.Button,{"aria-label":c("Previous page"),className:"ant-pagination-prev".concat(p?"":" ant-pagination-disabled"),disabled:!p,icon:s().createElement(a.LeftOutlined,null),onClick:y,size:"small",style:{height:l.controlHeightSM,width:l.controlHeightSM},type:"text"}),s().createElement(u.Typography.Text,{"data-testid":"workflow-task-current-page",style:{lineHeight:"".concat(l.controlHeightSM,"px"),minWidth:l.sizeSM,textAlign:"center"}},r),s().createElement(u.Button,{"aria-label":c("Next page"),className:"ant-pagination-next".concat(g?"":" ant-pagination-disabled"),disabled:!g,icon:s().createElement(a.RightOutlined,null),onClick:h,size:"small",style:{height:l.controlHeightSM,width:l.controlHeightSM},type:"text"})),t?null:s().createElement(u.Select,{"aria-label":c("Page size"),className:"ant-pagination-options",options:[{label:"".concat(f.JJ," / page"),value:f.JJ}],popupMatchSelectWidth:!1,size:"middle",style:{width:112},value:f.JJ}))}function C(e){var t=e.records,n=e.loading,r=e.mobile,o=e.total,a=e.page,l=e.onPageChange,c=e.onOpenRecord,d=e.refresh,p=e.Item,g=u.theme.useToken().token,y=(0,m.kj)(),h=o>0||t.length>0,b=(0,i.useMemoizedFn)(function(e,t){("Enter"===e.key||" "===e.key)&&(e.preventDefault(),c(t))});return s().createElement(s().Fragment,null,s().createElement(u.List,{dataSource:t,loading:n,rowKey:function(e){var t;return String(null!=(t=(0,f.Zu)(e))?t:"")},locale:{emptyText:y("No data yet")},split:!1,style:{background:g.colorBgLayout,flex:"1 1 0%",minHeight:0,overflow:"auto"},renderItem:function(e,t){return s().createElement(f.xT.Provider,{value:{record:e,openRecord:c,refresh:d}},s().createElement(u.List.Item,{role:"button",tabIndex:0,onClick:function(){return c(e)},onKeyDown:function(t){return b(t,e)},style:{cursor:"pointer",padding:r?"0.5em 0.5em ".concat(g.lineWidth,"px"):"".concat(0===t?g.paddingLG:g.paddingXS,"px ").concat(g.paddingLG,"px ").concat(g.paddingXXS,"px"),background:g.colorBgLayout}},s().createElement("div",{"data-testid":"workflow-task-list-item-content",style:{width:"100%"}},s().createElement(p,null))))}}),h?s().createElement(u.Flex,{justify:"end",style:{background:g.colorBgLayout,flexShrink:0,padding:r?"0.5em":"".concat(g.padding,"px ").concat(g.paddingLG,"px")}},s().createElement(I,{mobile:r,onPageChange:l,page:a,total:o})):null)}function B(e,t){if(e)return t.split(".").reduce(function(e,t){if(e&&(void 0===e?"undefined":e&&"u">typeof Symbol&&e.constructor===Symbol?"symbol":typeof e)=="object")return e[t]},e)}function L(e){var t=e.children,n=e.record,r=e.mobile,o=e.onClose,a=e.title,l=u.theme.useToken().token;return s().createElement(u.Modal,{open:!!n,title:a,footer:null,width:"80vw",onCancel:o,destroyOnClose:!0,styles:{body:{maxHeight:r?"calc(100dvh - ".concat(2*l.sizeXXL,"px)"):void 0,overflow:"auto"}}},t)}function P(e){var t=e.children,n=e.onClose,r=u.theme.useToken().token,o=(0,m.kj)(),i=(0,l.css)(v(),r.colorBgContainer,r.padding,r.padding,r.controlHeight+r.paddingSM,r.padding);return s().createElement("div",{"data-testid":"workflow-task-mobile-detail-page",style:{background:r.colorBgLayout,flex:"1 1 0%",minHeight:0,overflow:"auto",position:"relative"}},s().createElement(u.Button,{"aria-label":o("Back"),icon:s().createElement(a.LeftOutlined,null),onClick:n,style:{left:r.paddingXS,position:"absolute",top:r.paddingSM,zIndex:1},type:"text"}),s().createElement("div",{"data-testid":"workflow-task-mobile-detail-content",className:i,style:{minWidth:0}},t))}function j(){var e,t,n,a,l,g,y,v,I,j,z=(0,r.useFlowContext)(),R=(0,f.e0)(z),F=(0,f.yg)(z,R),O=F.counts,K=F.reload,H=(t=T().taskType,n=(0,c.useMemo)(function(){return(0,f.Bf)(R)},[R]),a=(0,c.useMemo)(function(){return(0,f.EC)(R,O)},[O,R]),l=null!=(e=null!=t?t:a[0])?e:n[0],{taskTypeKeys:n,availableTaskTypeKeys:a,currentTaskType:l?null==R?void 0:R.get(l):void 0,currentTaskTypeKey:l}),N=H.currentTaskType,J=H.currentTaskTypeKey,A=H.availableTaskTypeKeys,X=T(),W=(0,o.useMobileLayout)().isMobileLayout,D=X.isMobileRoute||W,G=(0,d.useNavigate)(),_=u.App.useApp().message,Z=(0,m.kj)(),$=u.theme.useToken().token,U=b((0,c.useState)([]),2),q=U[0],Q=U[1],V=b((0,c.useState)(function(){var e=X.popupId;if(w&&w.taskTypeKey===J&&w.popupId===e){var t=w.record;return w=null,t}return(J||e)&&(w=null),null}),2),Y=V[0],ee=V[1],et=b((0,c.useState)(0),2),en=et[0],er=et[1],eo="".concat(null!=J?J:"","\n").concat(X.status,"\n").concat(X.search),ea=b((0,c.useState)({signature:"",page:1}),2),el=ea[0],ei=ea[1],eu=el.signature===eo?el.page:1,ec=b((0,c.useState)(!1),2),es=ec[0],ed=ec[1],ep=(0,c.useRef)(0),ef=(0,c.useRef)(0),em=(0,c.useRef)(Y&&X.popupId&&J?{popupId:X.popupId,taskTypeKey:J}:null),eg=(0,c.useRef)(em.current),ey=(0,i.useMemoizedFn)(function(){_.error(Z("Load failed"))});(0,c.useEffect)(function(){var e=document.title;return(null==N?void 0:N.title)&&(document.title="".concat(Z("Workflow todos"),": ").concat(Z(N.title)," - NocoBase")),function(){document.title=e}},[null==N?void 0:N.title,Z]),(0,c.useEffect)(function(){!X.taskType&&A.length&&G(x((0,p.T0)(A[0],X.status,void 0,X.isMobileRoute),X),{replace:!0})},[A,G,X,X.isMobileRoute,X.status,X.taskType]),(0,c.useEffect)(function(){el.signature!==eo&&ei({signature:eo,page:1})},[eo,el.signature]);var eh=(0,i.useMemoizedFn)(function(){return h(function(){var e,t,n,r,o,a,l,i,u;return k(this,function(c){switch(c.label){case 0:if(t=++ep.current,!(null==z?void 0:z.api)||!N||!(n=z.api.resource(N.collection)[null!=(e=N.action)?e:"list"]))return Q([]),er(0),ed(!1),[2];ed(!0),c.label=1;case 1:return c.trys.push([1,3,4,5]),a=null!=(r=null==(o=N.useActionParams)?void 0:o.call(N,X.status))?r:{},[4,n(function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){var r;r=n[t],t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r})}return e}({page:eu,pageSize:f.JJ,sort:["-createdAt"]},a))];case 2:if(l=c.sent(),i=(0,f.z1)(l),t!==ep.current)return[2];return Q(i.data),er("number"==typeof i.meta.count?i.meta.count:!0===i.meta.hasNext?eu*f.JJ+1:(eu-1)*f.JJ+i.data.length),[3,5];case 3:if(u=c.sent(),t!==ep.current)return[2];throw Q([]),er(0),u;case 4:return t===ep.current&&ed(!1),[7];case 5:return[2]}})})()}),eb=(0,i.useMemoizedFn)(function(){return h(function(){return k(this,function(e){switch(e.label){case 0:return[4,Promise.all([eh(),K()])];case 1:return e.sent(),[2]}})})()});(0,c.useEffect)(function(){return eh().catch(function(e){console.error("Failed to load workflow tasks",e),ey()}),function(){ep.current+=1}},[J,eh,eu,X.search,X.status,ey]);var ek=(0,i.useMemoizedFn)(function(){return h(function(){var e,t,n,r,o,a;return k(this,function(l){switch(l.label){case 0:if(e=++ef.current,!(null==z?void 0:z.api)||!N||!X.popupId)return em.current=null,eg.current=null,E(),ee(null),[2];l.label=1;case 1:if(l.trys.push([1,6,,7]),!N.getPopupRecord)return[3,3];return[4,N.getPopupRecord(z.api,{params:{filterByTk:X.popupId}})];case 2:return o=l.sent(),[3,5];case 3:return[4,null==(n=(r=z.api.resource(N.collection)).get)?void 0:n.call(r,{filterByTk:X.popupId})];case 4:o=l.sent(),l.label=5;case 5:return t=o,[3,7];case 6:if(a=l.sent(),e!==ef.current)return[2];throw a;case 7:if(e!==ef.current)return[2];return em.current={taskTypeKey:N.key,popupId:X.popupId},E(N.key,X.popupId),ee((0,f.y$)(t)),[2]}})})()});(0,c.useEffect)(function(){if(!X.popupId){eg.current||(ef.current+=1,em.current=null,E(),ee(null));return}eg.current=null;var e=X.popupId;return ee(function(t){var n=em.current,r=t?(0,f.Zu)(t):void 0;return t&&(null==n?void 0:n.taskTypeKey)===J&&String(r)===e?t:(em.current=null,E(),null)}),ek().catch(function(e){console.error("Failed to load workflow task detail",e),em.current=null,eg.current=null,E(J,X.popupId),ee(null),ey()}),function(){ef.current+=1}},[J,ek,X.popupId,X.status,ey]);var ev=(0,i.useMemoizedFn)(function(e){if(N){var t=(0,f.Zu)(e);ef.current+=1,em.current=null==t?null:{taskTypeKey:N.key,popupId:String(t)},eg.current=em.current,w=em.current?{popupId:em.current.popupId,record:e,taskTypeKey:N.key}:null,ee(e),null!=t&&G(x((0,p.T0)(N.key,X.status,String(t),X.isMobileRoute),X))}}),ew=(0,i.useMemoizedFn)(function(){ef.current+=1,em.current=null,eg.current=null,E(),ee(null),N&&G(x((0,p.T0)(N.key,X.status,void 0,X.isMobileRoute),X),{replace:!0})}),eE=(0,i.useMemoizedFn)(function(e){ei({signature:eo,page:e})});if(!N||!J)return s().createElement(u.Result,{status:X.taskType?"error":"info",title:X.taskType?Z("Task type {{type}} is invalid",{type:X.taskType}):Z("No workflow tasks available. Please contact the administrator.")});var eT=s().createElement(u.Flex,{vertical:!0,gap:D?$.marginXS:$.marginXXS},D?null:s().createElement(u.Typography.Title,{level:4,style:{lineHeight:"".concat($.controlHeight,"px"),margin:0}},Z(N.title)),s().createElement(M,{type:N,status:X.status,mobile:D,reload:eb})),ex=null!=(j=N.DetailModal)?j:L,eS=N.Detail,eM=Z("string"==typeof(I=null!=(g=null!=(y=null!=(v=B(Y,"node.title"))?v:B(Y,"title"))?y:B(Y,"workflow.title"))?g:N.title)&&I?I:N.title),eI=Y?s().createElement(f.xT.Provider,{value:{record:Y,refresh:eb,openRecord:ee}},s().createElement(eS,null)):null,eC=D&&!!Y;return s().createElement(u.Layout,{"data-testid":D?"workflow-tasks-mobile":"workflow-tasks-desktop",style:{minHeight:D?0:"100%",height:"100%",background:$.colorBgLayout}},D&&!eC?s().createElement(u.Layout.Header,{style:{height:"auto",lineHeight:"normal",padding:0,background:$.colorBgContainer,borderBottom:"".concat($.lineWidth,"px ").concat($.lineType," ").concat($.colorBorderSecondary)}},s().createElement(u.Flex,{vertical:!0,gap:0},s().createElement(S,{taskTypes:R,counts:O,selectedKey:J,status:X.status,mobile:!0}),s().createElement("div",{style:{padding:$.paddingSM}},eT))):D?null:s().createElement(S,{taskTypes:R,counts:O,selectedKey:J,status:X.status,mobile:!1}),s().createElement(u.Layout,{style:{background:$.colorBgLayout}},s().createElement(u.Layout.Content,{style:{display:"flex",flex:"1 1 0%",flexDirection:"column",minHeight:0,padding:0,overflow:"hidden"}},D||eC?null:s().createElement("div",{style:{padding:"".concat($.padding,"px ").concat($.paddingLG,"px 0"),background:$.colorBgContainer,borderBottom:"".concat($.lineWidth,"px ").concat($.lineType," ").concat($.colorBorderSecondary)}},eT),eC?s().createElement(P,{onClose:ew},eI):s().createElement("div",{"data-testid":"workflow-task-list-region",style:{background:$.colorBgLayout,display:"flex",flex:"1 1 0%",flexDirection:"column",minHeight:0}},s().createElement(C,{records:q,loading:es,mobile:D,total:en,page:eu,onPageChange:eE,onOpenRecord:ev,refresh:eb,Item:N.Item})))),eC?null:s().createElement(ex,{type:N,record:Y,mobile:D,title:eM,onClose:ew},eI))}function z(){return s().createElement(j,null)}}}]);
@@ -0,0 +1,10 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+
10
+ "use strict";(self.webpackChunk_nocobase_plugin_workflow=self.webpackChunk_nocobase_plugin_workflow||[]).push([["782"],{3210:function(e,t,n){n.d(t,{s:function(){return u}});var r=n(5477),a=n(8275),o=n(9155),l=n.n(o);function i(){var e,t,n=(e=["\n &:after {\n content: ':';\n }\n & + a {\n margin-left: 0.25em;\n }\n "],t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}})));return i=function(){return n},n}var u=function(e,t){var n=a.evaluators.get(e);return n&&n.link?l().createElement(l().Fragment,null,l().createElement("span",{className:(0,r.css)(i())},t("Syntax references")),l().createElement("a",{href:t(n.link),target:"_blank",rel:"noreferrer"},n.label)):null}},8101:function(e,t,n){n.d(t,{FW:function(){return Q}});var r=n(9155),a=n.n(r),o=n(8275),l=n(2059),i=n(5606),u=n(7375),c=n(5477),s=n(3485),f=n(7768),p=n(5953),m=n(9488),b=n(4563);function d(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function y(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){var r;r=n[t],t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r})}return e}function g(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t})(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}function v(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,a=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var o=[],l=!0,i=!1;try{for(a=a.call(e);!(l=(n=a.next()).done)&&(o.push(n.value),!t||o.length!==t);l=!0);}catch(e){i=!0,r=e}finally{try{l||null==a.return||a.return()}finally{if(i)throw r}}return o}}(e,t)||E(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 h(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function w(e){return function(e){if(Array.isArray(e))return d(e)}(e)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||E(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 E(e,t){if(e){if("string"==typeof e)return d(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 d(e,t)}}function O(){var e=h(["\n &.ant-select {\n width: auto;\n min-width: 6em;\n flex-shrink: 0;\n }\n"]);return O=function(){return e},e}function j(){var e=h(["\n flex: 0 1 auto;\n min-width: 12em;\n max-width: 100%;\n\n > div {\n width: auto !important;\n max-width: 100%;\n }\n\n > div > .ant-space-compact {\n display: inline-flex !important;\n width: auto !important;\n max-width: 100%;\n }\n"]);return j=function(){return e},e}function k(){var e=h(["\n display: flex;\n gap: 0.5em;\n align-items: center;\n flex-wrap: wrap;\n margin: 0;\n padding: 0;\n border: none;\n "]);return k=function(){return e},e}function C(){var e=h(["\n display: flex;\n position: relative;\n margin: 0.5em 0;\n "]);return C=function(){return e},e}function S(){var e=h(["\n position: relative;\n width: 100%;\n .node-type-condition-group {\n padding: 0.5em 1em;\n border: 1px dashed #ddd;\n }\n + button {\n position: absolute;\n right: 0;\n }\n "]);return S=function(){return e},e}function x(){var e=h(["\n display: flex;\n align-items: center;\n gap: 0.5em;\n .ant-select {\n width: auto;\n min-width: 6em;\n }\n "]);return x=function(){return e},e}function A(){var e=h(["\n button {\n padding: 0;\n &:not(:last-child) {\n margin-right: 1em;\n }\n }\n "]);return A=function(){return e},e}var P=n(1236).g,I=(0,c.css)(O()),T=(0,c.css)(j()),N=new f.Registry;N.register("equal",{name:"=",type:"boolean",group:"boolean"}),N.register("notEqual",{name:"≠",type:"boolean",group:"boolean"}),N.register("gt",{name:">",type:"boolean",group:"boolean"}),N.register("gte",{name:"≥",type:"boolean",group:"boolean"}),N.register("lt",{name:"<",type:"boolean",group:"boolean"}),N.register("lte",{name:"≤",type:"boolean",group:"boolean"}),N.register("includes",{name:'{{t("contains")}}',type:"boolean",group:"string"}),N.register("notIncludes",{name:'{{t("does not contain")}}',type:"boolean",group:"string"}),N.register("startsWith",{name:'{{t("starts with")}}',type:"boolean",group:"string"}),N.register("notStartsWith",{name:'{{t("not starts with")}}',type:"boolean",group:"string"}),N.register("endsWith",{name:'{{t("ends with")}}',type:"boolean",group:"string"}),N.register("notEndsWith",{name:'{{t("not ends with")}}',type:"boolean",group:"string"});var _=[{value:"boolean",title:'{{t("Comparision")}}'},{value:"number",title:'{{t("Arithmetic calculation", { ns: "'.concat(m.CU,'" })}}')},{value:"string",title:'{{t("String operation", { ns: "'.concat(m.CU,'" })}}')},{value:"date",title:'{{t("Date", { ns: "'.concat(m.CU,'" })}}')}];function F(e){return Array.from(N.getEntities()).filter(function(t){return v(t,2)[1].group===e})}var W=(0,r.createContext)(b.P);function q(){return(0,r.useContext)(W)()}function D(e){var t=e.calculator,n=e.operands,o=void 0===n?[]:n,i=e.onChange,u=(0,m.kj)(),f=q(),p=q(),b=(0,r.useCallback)(function(e){return i({calculator:t,operands:[e,o[1]]})},[t,i,o]),d=(0,r.useCallback)(function(e){return i({calculator:t,operands:[o[0],e]})},[t,i,o]),y=(0,r.useCallback)(function(e){return i({operands:o,calculator:e})},[i,o]);return a().createElement("fieldset",{className:(0,c.css)(k())},a().createElement("div",{className:T,"data-testid":"calculation-operand"},a().createElement(s.TypedVariableInput,{types:P,metaTree:f,value:o[0],onChange:b})),a().createElement(l.Select,{role:"button","aria-label":"select-operator-calc",value:t,onChange:y,placeholder:u("Operator"),popupMatchSelectWidth:!1,className:I},_.filter(function(e){return!!F(e.value).length}).map(function(e){return a().createElement(l.Select.OptGroup,{key:e.value,label:u(e.title)},F(e.value).map(function(e){var t=v(e,2),n=t[0],r=t[1].name;return a().createElement(l.Select.Option,{key:n,value:n},u(r))}))})),a().createElement("div",{className:T,"data-testid":"calculation-operand"},a().createElement(s.TypedVariableInput,{types:P,metaTree:p,value:o[1],onChange:d})))}function B(e){var t=e.value,n=e.onChange,r=e.onRemove;if(!t)return null;var o=t.calculator,i=t.operands;return a().createElement("div",{className:(0,c.css)(C())},t.group?a().createElement(M,{value:t.group,onChange:function(e){return n(g(y({},t),{group:e}))}}):a().createElement(D,{operands:void 0===i?[]:i,calculator:o,onChange:n}),a().createElement(l.Button,{"aria-label":"icon-close",onClick:r,type:"link",icon:a().createElement(u.CloseCircleOutlined,null)}))}function M(e){var t=e.value,n=e.onChange,o=(0,m.kj)(),i=(0,m.ec)().t,u=t.type,s=t.calculations,f=void 0===s?[]:s,b=(0,r.useCallback)(function(){n(g(y({},t),{calculations:w(f).concat([{not:!1,calculator:"equal"}])}))},[t,f,n]),d=(0,r.useCallback)(function(){n(g(y({},t),{calculations:w(f).concat([{not:!1,group:{type:"and",calculations:[]}}])}))},[t,f,n]),v=(0,r.useCallback)(function(e){f.splice(e,1),n(g(y({},t),{calculations:w(f)}))},[t,f,n]),h=(0,r.useCallback)(function(e,r){f.splice(e,1,r),n(g(y({},t),{calculations:w(f)}))},[t,f,n]);return a().createElement("div",{className:(0,c.cx)("node-type-condition-group",(0,c.css)(S()))},a().createElement("div",{className:(0,c.css)(x())},a().createElement(p.Trans,{t:i},"Meet ",a().createElement(l.Select,{role:"button","data-testid":"filter-select-all-or-any",value:void 0===u?"and":u,onChange:function(e){return n(g(y({},t),{type:e}))}},a().createElement(l.Select.Option,{value:"and"},"All"),a().createElement(l.Select.Option,{value:"or"},"Any"))," conditions in the group")),a().createElement("div",{className:"calculation-items"},f.map(function(e,t){return a().createElement(B,{key:"".concat(e.calculator,"_").concat(t),value:e,onChange:h.bind(null,t),onRemove:function(){return v(t)}})})),a().createElement("div",{className:(0,c.css)(A())},a().createElement(l.Button,{type:"link",onClick:b},o("Add condition")),a().createElement(l.Button,{type:"link",onClick:d},o("Add condition group"))))}function U(e){var t=e.value,n=e.onChange,r=e.useVariableHook,o=void 0===r?b.P:r,l=t&&Object.keys(t).length?t:{group:{type:"and",calculations:[]}};return a().createElement(W.Provider,{value:o},a().createElement(M,{value:l.group,onChange:function(e){return null==n?void 0:n(g(y({},l),{group:e}))}}))}var z=n(9785),V=n(3210);function R(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function $(e,t,n,r,a,o,l){try{var i=e[o](l),u=i.value}catch(e){n(e);return}i.done?t(u):Promise.resolve(u).then(r,a)}function G(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,a=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var o=[],l=!0,i=!1;try{for(a=a.call(e);!(l=(n=a.next()).done)&&(o.push(n.value),!t||o.length!==t);l=!0);}catch(e){i=!0,r=e}finally{try{l||null==a.return||a.return()}finally{if(i)throw r}}return o}}(e,t)||H(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 L(e){return function(e){if(Array.isArray(e))return R(e)}(e)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||H(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 H(e,t){if(e){if("string"==typeof e)return R(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 R(e,t)}}var J="basic";function K(e,t){return L(e).concat([t])}function Q(e){var t,n,r,u=e.prefix,c=e.calculationLabel,s=e.expressionLabel,f=e.expressionItemProps,p=(0,m.kj)(),b=(t=(0,m.kj)(),n=Array.from(o.evaluators.getEntities()).filter(function(e){return["math.js","formula.js"].includes(G(e,1)[0])}).map(function(e){var t=G(e,2),n=t[0],r=t[1];return{value:n,label:r.label,tooltip:r.tooltip}}),[{value:J,label:t("Basic")}].concat(L(n))),d=null!=(r=l.Form.useWatch(K(u,"engine")))?r:J;return a().createElement(a().Fragment,null,a().createElement(l.Form.Item,{name:K(u,"engine"),label:p("Calculation engine"),rules:[{required:!0}],initialValue:J},a().createElement(z.$,{options:b})),a().createElement(l.Form.Item,{name:K(u,"calculation"),label:null!=c?c:p("Condition"),hidden:d!==J,dependencies:[K(u,"engine")],rules:[{required:d===J}]},a().createElement(U,null)),a().createElement(l.Form.Item,function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){var r;r=n[t],t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r})}return e}({name:K(u,"expression"),label:null!=s?s:p("Condition expression"),hidden:d===J,dependencies:[K(u,"engine")],validateTrigger:["onChange","onBlur"],rules:[{required:d!==J},{validator:function(e,t){var n;return(n=function(){var e,n;return function(e,t){var n,r,a,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},l=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),i=Object.defineProperty;return i(l,"next",{value:u(0)}),i(l,"throw",{value:u(1)}),i(l,"return",{value:u(2)}),"function"==typeof Symbol&&i(l,Symbol.iterator,{value:function(){return this}}),l;function u(i){return function(u){var c=[i,u];if(n)throw TypeError("Generator is already executing.");for(;l&&(l=0,c[0]&&(o=0)),o;)try{if(n=1,r&&(a=2&c[0]?r.return:c[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,c[1])).done)return a;switch(r=0,a&&(c=[2&c[0],a.value]),c[0]){case 0:case 1:a=c;break;case 4:return o.label++,{value:c[1],done:!1};case 5:o.label++,r=c[1],c=[0];continue;case 7:c=o.ops.pop(),o.trys.pop();continue;default:if(!(a=(a=o.trys).length>0&&a[a.length-1])&&(6===c[0]||2===c[0])){o=0;continue}if(3===c[0]&&(!a||c[1]>a[0]&&c[1]<a[3])){o.label=c[1];break}if(6===c[0]&&o.label<a[1]){o.label=a[1],a=c;break}if(a&&o.label<a[2]){o.label=a[2],o.ops.push(c);break}a[2]&&o.ops.pop(),o.trys.pop();continue}c=t.call(e,o)}catch(e){c=[6,e],r=0}finally{n=a=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}(this,function(r){if(d===J||!t||!(e=o.evaluators.get(d)))return[2];n=String(t).trim().replace(/{{([^{}]+)}}/g,' "1" ');try{e.evaluate(n)}catch(e){throw Error(p("Expression syntax error"))}return[2]})},function(){var e=this,t=arguments;return new Promise(function(r,a){var o=n.apply(e,t);function l(e){$(o,r,a,l,i,"next",e)}function i(e){$(o,r,a,l,i,"throw",e)}l(void 0)})})()}}],extra:d===J?void 0:(0,V.s)(d,p)},f),a().createElement(i.M,null)))}}}]);
@@ -0,0 +1,10 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+
10
+ "use strict";(self.webpackChunk_nocobase_plugin_workflow=self.webpackChunk_nocobase_plugin_workflow||[]).push([["972"],{1801:function(e,t,r){r.d(t,{N$:function(){return D},yr:function(){return F}});var n=r(3485),o=r(7694),a=r(2625),i=r(9155),u=r.n(i),l=r(7768),c=r(4563),s=r(9488),f=r(3943);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 d(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function v(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r,n,o=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var a=[],i=!0,u=!1;try{for(o=o.call(e);!(i=(r=o.next()).done)&&(a.push(r.value),!t||a.length!==t);i=!0);}catch(e){u=!0,n=e}finally{try{i||null==o.return||o.return()}finally{if(u)throw n}}return a}}(e,t)||h(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 m(e){return function(e){if(Array.isArray(e))return y(e)}(e)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||h(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 p(e){return e&&"u">typeof Symbol&&e.constructor===Symbol?"symbol":typeof e}function h(e,t){if(e){if("string"==typeof e)return y(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 y(e,t)}}var b=/^\{\{\s*([^{}]+?)\s*\}\}$/,g=/^\{\{\s*ctx\.(\$[^{}]+?)\s*\}\}$/,w=["yesterday","today","tomorrow","lastWeek","thisWeek","nextWeek","lastMonth","thisMonth","nextMonth","lastQuarter","thisQuarter","nextQuarter","lastYear","thisYear","nextYear","last7Days","next7Days","last30Days","next30Days","last90Days","next90Days"],x={yesterday:"Yesterday",today:"Today",tomorrow:"Tomorrow",lastWeek:"Last week",thisWeek:"This week",nextWeek:"Next week",lastMonth:"Last month",thisMonth:"This month",nextMonth:"Next month",lastQuarter:"Last quarter",thisQuarter:"This quarter",nextQuarter:"Next quarter",lastYear:"Last year",thisYear:"This year",nextYear:"Next year",last7Days:"Last 7 days",next7Days:"Next 7 days",last30Days:"Last 30 days",next30Days:"Next 30 days",last90Days:"Last 90 days",next90Days:"Next 90 days"};function j(e){if("string"!=typeof e)return e;var t=e.trim().match(b);return!t||t[1].startsWith("ctx.")?e:"{{ ctx.".concat(t[1]," }}")}function O(e){return!!(e&&(void 0===e?"undefined":p(e))==="object"&&"logic"in e&&"items"in e)}function A(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];if(!e||(void 0===e?"undefined":p(e))!=="object"||Array.isArray(e))return t.length?[{path:t.join("."),operator:"$eq",value:j(e)}]:[];var r=Object.entries(e),n=r.filter(function(e){return v(e,1)[0].startsWith("$")});return n.length?t.length?n.map(function(e){var r=v(e,2),n=r[0],o=r[1];return{path:t.join("."),operator:n,value:j(o)}}):[]:r.flatMap(function(e){var r=v(e,2),n=r[0];return A(r[1],m(t).concat([n]))})}function k(e){return Array.isArray(e.$or)?"$or":Array.isArray(e.$and)?"$and":void 0}function S(e){var t;return O(e)?e:null!=(t=function e(t){if(!(!t||(void 0===t?"undefined":p(t))!=="object"||Array.isArray(t))){var r=k(t);if(!r){var n=A(t);return n.length?{logic:"$and",items:n}:void 0}var o=t[r].flatMap(function(t){if(!t||(void 0===t?"undefined":p(t))!=="object"||Array.isArray(t))return[];if(k(t)){var r=e(t);return r?[r]:[]}return A(t)}).filter(function(e){return!!e});return o.length?{logic:r,items:o}:void 0}}(e))?t:{logic:"$and",items:[]}}function D(e){var t=e.collection,r=e.value,y=e.onChange,v=e.disabled,p=void 0!==v&&v,h=e.rightAsVariable,b=void 0===h||h,j=e.maxAssociationFieldDepth,A=void 0===j?2:j,k=(0,o.useFlowEngine)(),D=(0,s.kj)(),F=(0,a.useMemoizedFn)(function(e,t){return D(e,t)}),M=(0,c.P)(),P=(0,i.useMemo)(function(){var e,t;return e={name:"dateRange",title:F("Date range"),type:"object",paths:["$system","dateRange"],children:w.map(function(e){return{name:e,title:F(x[e]),type:"string",paths:["$system","dateRange",e]}})},(t=M.findIndex(function(e){return"$system"===e.name}))<0?m(M).concat([{name:"$system",title:F("System variables"),type:"",paths:["$system"],children:[e]}]):M.map(function(r,n){if(n!==t||"function"==typeof r.children)return r;var o,a,i=Array.isArray(r.children)?r.children.filter(function(e){return"dateRange"!==e.name}):[];return o=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){d(e,t,r[t])})}return e}({},r),a=a={children:m(i).concat([e])},Object.getOwnPropertyDescriptors?Object.defineProperties(o,Object.getOwnPropertyDescriptors(a)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t})(Object(a)).forEach(function(e){Object.defineProperty(o,e,Object.getOwnPropertyDescriptor(a,e))}),o})},[F,M]),$=(0,i.useMemo)(function(){return(0,f.X_)(k.context.dataSourceManager,t)},[k,t]),E=(0,i.useMemo)(function(){if(!$)return null;var e=k.createModel({uid:(0,o.randomId)("workflowFilter_"),use:o.FlowModel}),t=k.context.app;return t&&e.context.defineProperty("app",{value:t}),e.context.defineProperty("collection",{get:function(){return $}}),e},[$,k]);(0,i.useEffect)(function(){return function(){var e;null==E||null==(e=E.remove)||e.call(E)}},[E]);var I=(0,i.useRef)();I.current||(I.current=(0,o.observable)(S(r)));var C=(0,i.useRef)(null);(0,i.useEffect)(function(){var e=JSON.stringify(null!=r?r:{});if(C.current!==e){var t=S(r);I.current&&(I.current.logic=t.logic,I.current.items=t.items,C.current=e)}},[r]),(0,i.useEffect)(function(){if(I.current)return(0,o.reaction)(function(){return JSON.stringify((0,o.toJS)(I.current))},function(e){var t,r=JSON.parse(e),n=Array.isArray(r.items)?r.items.length:0,o=(0,l.removeInvalidFilterItems)(r);if(!o.items.length){n||null==y||y({});return}var a=null!=(t=function e(t){if(null==t||null==(r=t.items)?void 0:r.length){var r,n=t.items.map(function(t){if(O(t))return e(t);if("string"==typeof t.path&&"string"==typeof t.operator&&t.path&&t.operator)return function(e,t){for(var r=e.split("."),n=t,o=r.length-1;o>=0;o--)n=d({},r[o],n);return n}(t.path,d({},t.operator,function(e){if("string"!=typeof e)return e;var t=e.trim().match(g);return t?"{{".concat(t[1],"}}"):e}(t.value)))}).filter(function(e){return!!e});if(n.length)return d({},t.logic,n)}}(o))?t:{};C.current=JSON.stringify(a),null==y||y(a)},{fireImmediately:!1})},[y]);var N=(0,i.useMemo)(function(){if(!E)return null;var e=function(e){var t=e.value;return u().createElement(o.FlowModelProvider,{model:E},u().createElement(n.VariableFilterItem,{value:t,model:E,disabled:p,rightAsVariable:b,rightMetaTree:P,maxAssociationFieldDepth:A}))};return e.displayName="WorkflowVariableFilterItem",e},[p,E,A,b,P]);return u().createElement(n.FilterGroup,{value:I.current,FilterItem:null!=N?N:void 0,disabled:p})}var F=D},5329:function(e,t,r){r.d(t,{F:function(){return c}});var n=r(9155),o=r.n(n),a=r(2059),i=r(8198),u=r(9488);function l(e){var t=e.value,r=e.onChange,a=e.disabled,u=e.onCollectionChanged,l=(0,n.useRef)();return o().createElement(i.XJ,{value:t,disabled:a,onChange:function(e){var n,o=null!=(n=l.current)?n:t;null==r||r(e),o&&o!==e&&(null==u||u(o,e)),l.current=e}})}function c(e){var t=e.disabled,r=e.onCollectionChanged,n=(0,u.kj)();return o().createElement(a.Form.Item,{name:["config","collection"],label:n("Collection"),rules:[{required:!0}]},o().createElement(l,{disabled:t,onCollectionChanged:r}))}},6855:function(e,t,r){r.d(t,{F:function(){return f}});var n=r(9155),o=r.n(n),a=r(2059),i=r(7768),u=r(1801),l=r(2235),c=r(9488);function s(e,t,r,n,o,a,i){try{var u=e[a](i),l=u.value}catch(e){r(e);return}u.done?t(l):Promise.resolve(l).then(n,o)}function f(e){var t,r=e.collection,n=e.label,f=e.name,y=e.required,d=e.maxAssociationFieldDepth,v=(0,c.kj)(),m=(0,l.Zt)(),p=!!(null==m||null==(t=m.versionStats)?void 0:t.executed);return o().createElement(a.Form.Item,{name:void 0===f?["config","params","filter"]:f,label:null!=n?n:v("Filter"),validateTrigger:["onChange","onBlur"],rules:void 0===y||y?[{validator:function(e,t){var r;return(r=function(){return function(e,t){var r,n,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),u=Object.defineProperty;return u(i,"next",{value:l(0)}),u(i,"throw",{value:l(1)}),u(i,"return",{value:l(2)}),"function"==typeof Symbol&&u(i,Symbol.iterator,{value:function(){return this}}),i;function l(u){return function(l){var c=[u,l];if(r)throw TypeError("Generator is already executing.");for(;i&&(i=0,c[0]&&(a=0)),a;)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 a.label++,{value:c[1],done:!1};case 5:a.label++,n=c[1],c=[0];continue;case 7:c=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===c[0]||2===c[0])){a=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){a.label=c[1];break}if(6===c[0]&&a.label<o[1]){a.label=o[1],o=c;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(c);break}o[2]&&a.ops.pop(),a.trys.pop();continue}c=t.call(e,a)}catch(e){c=[6,e],n=0}finally{r=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}(this,function(e){if(!(0,i.isValidFilter)(t))throw Error(v("Please add at least one condition"));return[2]})},function(){var e=this,t=arguments;return new Promise(function(n,o){var a=r.apply(e,t);function i(e){s(a,n,o,i,u,"next",e)}function u(e){s(a,n,o,i,u,"throw",e)}i(void 0)})})()}}]:void 0},o().createElement(u.N$,{collection:r,disabled:p,maxAssociationFieldDepth:void 0===d?2:d}))}}}]);