@nocobase/plugin-workflow-custom-action-trigger 2.1.0-beta.44 → 2.1.0-beta.45
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client/index.js +1 -1
- package/dist/client-v2/index.js +1 -1
- package/dist/client-v2/plugin.d.ts +2 -0
- package/dist/externalVersion.js +12 -12
- package/dist/node_modules/joi/package.json +1 -1
- package/dist/server/CustomActionTrigger.d.ts +1 -0
- package/dist/server/CustomActionTrigger.js +28 -2
- package/package.json +2 -2
package/dist/client/index.js
CHANGED
|
@@ -7,4 +7,4 @@
|
|
|
7
7
|
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
|
-
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("react-i18next"),require("@emotion/css"),require("@nocobase/client-v2"),require("react-router-dom"),require("@formily/antd-v5"),require("react"),require("antd"),require("@nocobase/client"),require("@formily/react"),require("@nocobase/flow-engine"),require("@nocobase/plugin-workflow/client"),require("@nocobase/utils/client")):"function"==typeof define&&define.amd?define("@nocobase/plugin-workflow-custom-action-trigger",["react-i18next","@emotion/css","@nocobase/client-v2","react-router-dom","@formily/antd-v5","react","antd","@nocobase/client","@formily/react","@nocobase/flow-engine","@nocobase/plugin-workflow/client","@nocobase/utils/client"],t):"object"==typeof exports?exports["@nocobase/plugin-workflow-custom-action-trigger"]=t(require("react-i18next"),require("@emotion/css"),require("@nocobase/client-v2"),require("react-router-dom"),require("@formily/antd-v5"),require("react"),require("antd"),require("@nocobase/client"),require("@formily/react"),require("@nocobase/flow-engine"),require("@nocobase/plugin-workflow/client"),require("@nocobase/utils/client")):e["@nocobase/plugin-workflow-custom-action-trigger"]=t(e["react-i18next"],e["@emotion/css"],e["@nocobase/client-v2"],e["react-router-dom"],e["@formily/antd-v5"],e.react,e.antd,e["@nocobase/client"],e["@formily/react"],e["@nocobase/flow-engine"],e["@nocobase/plugin-workflow/client"],e["@nocobase/utils/client"])}(self,function(e,t,r,o,n,i,c,a,l,s,u,p){return function(){"use strict";var f={477:function(e){e.exports=t},418:function(e){e.exports=n},230:function(e){e.exports=l},342:function(e){e.exports=a},485:function(e){e.exports=r},694:function(e){e.exports=s},990:function(e){e.exports=u},768:function(e){e.exports=p},59:function(e){e.exports=c},155:function(e){e.exports=i},953:function(t){t.exports=e},442:function(e){e.exports=o}},d={};function g(e){var t=d[e];if(void 0!==t)return t.exports;var r=d[e]={exports:{}};return f[e](r,r.exports,g),r.exports}g.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return g.d(t,{a:t}),t},g.d=function(e,t){for(var r in t)g.o(t,r)&&!g.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},g.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),g.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},g.r=function(e){"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},g.g.importScripts&&(m=g.g.location+"");var m,b=g.g.document;if(!m&&b&&(b.currentScript&&"SCRIPT"===b.currentScript.tagName.toUpperCase()&&(m=b.currentScript.src),!m)){var y=b.getElementsByTagName("script");if(y.length)for(var w=y.length-1;w>-1&&(!m||!/^http(s?):/.test(m));)m=y[w--].src}if(!m)throw Error("Automatic publicPath is not supported in this browser");g.p=m.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/");var h={};return!function(){var e="",t="u">typeof document?document.currentScript:null;if(t&&t.src&&(e=t.src.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/")),!e){var r=window.__webpack_public_path__||"";r&&("/"!==r.charAt(r.length-1)&&(r+="/"),e=r+"static/plugins/@nocobase/plugin-workflow-custom-action-trigger/dist/client/")}if(!e){if(!(e=window.__nocobase_public_path__||"")&&window.location&&window.location.pathname){var o=window.location.pathname||"/",n=o.indexOf("/v2/");e=n>=0?o.slice(0,n+1):"/"}e&&(e=e.replace(/\/v2\/?$/,"/")),e||(e="/"),"/"!==e.charAt(e.length-1)&&(e+="/"),e+="static/plugins/@nocobase/plugin-workflow-custom-action-trigger/dist/client/"}g.p=e}(),!function(){g.r(h),g.d(h,{default:function(){return eV}});var e=g(342),t=g(155),r=g.n(t),o=g(485),n=g(477),i=g(694),c=g(59),a="@nocobase/plugin-workflow-custom-action-trigger",l="custom-action",s=[{label:"{{t('Custom context', { ns: \"".concat(a,'" })}}'),value:0,tooltip:"{{t('Could be used on non-record related action buttons. You can provide custom JSON as trigger data.', { ns: \"".concat(a,'" })}}')},{label:"{{t('Single collection record', { ns: \"".concat(a,'" })}}'),value:1,tooltip:"{{t('Could only be used on single record related action buttons. Such as in form, detail block and table row of record.', { ns: \"".concat(a,'" })}}')},{label:"{{t('Multiple collection records', { ns: \"".concat(a,'" })}}'),value:2,tooltip:"{{t('Could only be used on multiple record related action buttons. Such as for batch action in table block. The data in trigger variable will be an array.', { ns: \"".concat(a,'" })}}')}],u="@nocobase/plugin-workflow-custom-action-trigger";function p(e,t){return(0,i.tExpr)(e,function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},o=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),o.forEach(function(t){var o;o=r[t],t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o})}return e}({ns:u},t))}function f(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,o=Array(t);r<t;r++)o[r]=e[r];return o}function d(e,t,r,o,n,i,c){try{var a=e[i](c),l=a.value}catch(e){r(e);return}a.done?t(l):Promise.resolve(l).then(o,n)}function m(e){return function(){var t=this,r=arguments;return new Promise(function(o,n){var i=e.apply(t,r);function c(e){d(i,o,n,c,a,"next",e)}function a(e){d(i,o,n,c,a,"throw",e)}c(void 0)})}}function b(e,t,r){return t=v(t),function(e,t){var r;if(t&&("object"==((r=t)&&"u">typeof Symbol&&r.constructor===Symbol?"symbol":typeof r)||"function"==typeof t))return t;if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e,P()?Reflect.construct(t,r||[],v(e).constructor):t.apply(e,r))}function y(e,t){if(!(e instanceof t))throw TypeError("Cannot call a class as a function")}function w(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){return(v=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function k(e,t){if("function"!=typeof t&&null!==t)throw TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&O(e,t)}function x(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},o=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),o.forEach(function(t){w(e,t,r[t])})}return e}function S(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var 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 O(e,t){return(O=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function C(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r,o,n=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var i=[],c=!0,a=!1;try{for(n=n.call(e);!(c=(r=n.next()).done)&&(i.push(r.value),!t||i.length!==t);c=!0);}catch(e){a=!0,o=e}finally{try{c||null==n.return||n.return()}finally{if(a)throw o}}return i}}(e,t)||function(e,t){if(e){if("string"==typeof e)return f(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 f(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 P(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(P=function(){return!!e})()}function T(e,t){var r,o,n,i={label:0,sent:function(){if(1&n[0])throw n[1];return n[1]},trys:[],ops:[]},c=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),a=Object.defineProperty;return a(c,"next",{value:l(0)}),a(c,"throw",{value:l(1)}),a(c,"return",{value:l(2)}),"function"==typeof Symbol&&a(c,Symbol.iterator,{value:function(){return this}}),c;function l(a){return function(l){var s=[a,l];if(r)throw TypeError("Generator is already executing.");for(;c&&(c=0,s[0]&&(i=0)),i;)try{if(r=1,o&&(n=2&s[0]?o.return:s[0]?o.throw||((n=o.return)&&n.call(o),0):o.next)&&!(n=n.call(o,s[1])).done)return n;switch(o=0,n&&(s=[2&s[0],n.value]),s[0]){case 0:case 1:n=s;break;case 4:return i.label++,{value:s[1],done:!1};case 5:i.label++,o=s[1],s=[0];continue;case 7:s=i.ops.pop(),i.trys.pop();continue;default:if(!(n=(n=i.trys).length>0&&n[n.length-1])&&(6===s[0]||2===s[0])){i=0;continue}if(3===s[0]&&(!n||s[1]>n[0]&&s[1]<n[3])){i.label=s[1];break}if(6===s[0]&&i.label<n[1]){i.label=n[1],n=s;break}if(n&&i.label<n[2]){i.label=n[2],i.ops.push(s);break}n[2]&&i.ops.pop(),i.trys.pop();continue}s=t.call(e,i)}catch(e){s=[6,e],o=0}finally{r=n=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}}}function j(){var e,t,r=(e=["\n & > .ant-space-item:first-child,\n & > .ant-space-item:last-child {\n flex: 0 0 auto;\n }\n & > .ant-space-item:nth-child(2) {\n flex: 1;\n min-width: 0;\n }\n & > .ant-space-item:nth-child(2) .ant-select {\n width: 100%;\n }\n "],t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}})));return j=function(){return r},r}function A(e){var t,r,o,n,i=function(e){var t,r=(null==e?void 0:e.dataSourceKey)||(null==e||null==(t=e.dataSource)?void 0:t.key),o=null==e?void 0:e.name;if(o)return r&&"main"!==r?"".concat(r,":").concat(o):o}((null==e||null==(t=e.blockModel)?void 0:t.collection)||(null==e||null==(n=e.model)||null==(o=n.context)||null==(r=o.blockModel)?void 0:r.collection));return i?{"config.collection":i}:void 0}var W=function(e){return(null==e?void 0:e.length)?e.map(function(e){return[e.workflowKey,e.context].filter(Boolean).join("!")}).join(","):void 0};function I(e){var t=e.filter,o=e.optionFilter,n=function(e,t){if(null==e)return{};var r,o,n,i={};if("u">typeof Reflect&&Reflect.ownKeys){for(n=0,r=Reflect.ownKeys(Object(e));n<r.length;n++)o=r[n],!(t.indexOf(o)>=0)&&Object.prototype.propertyIsEnumerable.call(e,o)&&(i[o]=e[o]);return i}if(i=function(e,t){if(null==e)return{};var r,o,n={},i=Object.getOwnPropertyNames(e);for(o=0;o<i.length;o++)r=i[o],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r]);return n}(e,t),Object.getOwnPropertySymbols)for(n=0,r=Object.getOwnPropertySymbols(e);n<r.length;n++)o=r[n],!(t.indexOf(o)>=0)&&Object.prototype.propertyIsEnumerable.call(e,o)&&(i[o]=e[o]);return i}(e,["filter","optionFilter"]),a=(0,i.useFlowContext)(),s=C(r().useState([]),2),u=s[0],p=s[1],f=C(r().useState(!1),2),d=f[0],g=f[1];return r().useEffect(function(){var e=!0;return m(function(){var r,n,i;return T(this,function(c){switch(c.label){case 0:g(!0),c.label=1;case 1:return c.trys.push([1,3,4,5]),[4,a.api.request({url:"workflows:list",method:"get",params:{paginate:!1,filter:x({type:l,enabled:!0},t)}})];case 2:if(n=c.sent(),!e)return[2];return i=(null==n||null==(r=n.data)?void 0:r.data)||[],p(("function"==typeof o?i.filter(o):i).map(function(e){return{label:e.title,value:e.key}})),[3,5];case 3:return console.error("Error loading workflows:",c.sent()),[3,5];case 4:return e&&g(!1),[7];case 5:return[2]}})})(),function(){e=!1}},[a.api,t,o]),r().createElement(c.Select,S(x({},n),{loading:d,options:u}))}function R(e){var t=e.description,r=e.filter,i=e.optionFilter,a=e.withContextData;return x({description:{type:"void","x-component":c.Alert,"x-component-props":{type:"info",showIcon:!0,message:t,style:{marginBottom:"1em"}}},group:{type:"array","x-component":"ArrayItems","x-decorator":"FormItem",items:{type:"object",properties:{space:{type:"void","x-component-props":{align:"center",style:{display:"flex",width:"100%"},className:(0,n.css)(j())},"x-component":c.Space,properties:{sort:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.SortHandle"},workflowKey:{type:"string","x-decorator":"FormItem","x-component":I,"x-component-props":{filter:r,optionFilter:i,placeholder:"{{t('Select workflow', { ns: 'workflow' })}}",style:{width:"100%"}},required:!0},remove:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.Remove"}}}}},properties:{add:{type:"void",title:"{{t('Add workflow', { ns: 'workflow' })}}","x-component":"ArrayItems.Addition"}}}},void 0!==a&&a?{contextData:{type:"string",title:p("Context data"),description:p("Input JSON as context data passed into the workflow. Frontend variables are supported."),"x-decorator":"FormItem","x-component":o.TextAreaWithContextSelector,"x-component-props":{rows:5}}}:{})}var M=p('Workflow will be triggered directly once the button clicked, without data saving. Only supports to be bound with "Custom action event".');function F(e,t){var r=null==e?void 0:e.type;return 0===t||null==t?0===r||null==r:r===t}var B=function(e){function t(){var e;return y(this,t),e=b(this,t,arguments),w(e,"defaultProps",{title:p("Trigger workflow")}),e}return k(t,e),t}(o.FormActionModel);B.define({label:p("Trigger workflow")}),B.registerFlow({key:"customFormTriggerWorkflowsActionSettings",on:"click",title:"{{t('Workflow', { ns: 'workflow' })}}",steps:{confirm:{use:"confirm"},triggerWorkflows:{title:"{{t('Bind workflows', { ns: 'workflow' })}}",uiSchema:function(e){return R({description:M,filter:A(e),optionFilter:function(e){var t;return(null==(t=e.config)?void 0:t.type)===1}})},handler:function(e,t){return m(function(){var r;return T(this,function(o){switch(o.label){case 0:if(!(null==(r=t.group)?void 0:r.length))return e.message.error(e.t("Button is not configured properly, please contact the administrator.",{ns:u})),e.exit(),[2];if(!e.blockModel)return e.exit(),[2];o.label=1;case 1:return o.trys.push([1,3,4,5]),e.model.setProps("loading",!0),[4,e.blockModel.submitHandler(e,{},function(r,o){return m(function(){return T(this,function(n){switch(n.label){case 0:return[4,e.blockModel.resource.runAction("trigger",{params:S(x({},null!=o?{filterByTk:o}:{}),{triggerWorkflows:W(t.group)}),data:r})];case 1:return[2,n.sent()]}})})()})];case 2:return o.sent(),[3,5];case 3:return console.error("Error triggering workflows:",o.sent()),e.exit(),[3,5];case 4:return e.model.setProps("loading",!1),[7];case 5:return[2]}})})()}},afterSuccess:{use:"afterSuccess",defaultParams:{successMessage:p("Operation succeeded")}}}});var D=function(e){function t(){var e;return y(this,t),e=b(this,t,arguments),w(e,"defaultProps",{title:p("Trigger workflow")}),e}return k(t,e),t}(o.ActionModel);w(D,"scene",o.ActionSceneEnum.record),D.define({label:p("Trigger workflow")}),D.registerFlow({key:"customRecordTriggerWorkflowsActionSettings",on:"click",title:"{{t('Workflow', { ns: 'workflow' })}}",steps:{confirm:{use:"confirm"},triggerWorkflows:{title:"{{t('Bind workflows', { ns: 'workflow' })}}",uiSchema:function(e){return R({description:M,filter:A(e),optionFilter:function(e){var t;return(null==(t=e.config)?void 0:t.type)===1}})},handler:function(e,t){return m(function(){var r,o,n,i;return T(this,function(c){switch(c.label){case 0:if(n=(o=e.blockModel).resource,i=o.collection,!n||!i)return e.exit(),[2];if(!(null==(r=t.group)?void 0:r.length))return e.message.error(e.t("Button is not configured properly, please contact the administrator.",{ns:u})),e.exit(),[2];c.label=1;case 1:return c.trys.push([1,3,,4]),[4,n.runAction("trigger",{params:{triggerWorkflows:W(t.group),filterByTk:function(e,t){if(!e||!t)return null;var r=t.filterTargetKey;return Array.isArray(r)?r.reduce(function(t,r){return t[r]=e[r],t},{}):e[r]}(e.record,i)}})];case 2:return c.sent(),[3,4];case 3:return console.error("Error triggering workflows:",c.sent()),e.exit(),[3,4];case 4:return[2]}})})()}},afterSuccess:{use:"afterSuccess",defaultParams:{successMessage:p("Operation succeeded"),actionAfterSuccess:"previous"}}}});var E=function(e){function t(){var e;return y(this,t),e=b(this,t,arguments),w(e,"defaultProps",{title:null}),e}return k(t,e),t}(o.CollectionActionModel);w(E,"scene",o.ActionSceneEnum.collection),E.define({label:p("Trigger workflow")}),E.registerFlow({key:"customCollectionTriggerWorkflowsActionSettings",title:"{{t('Workflow', { ns: 'workflow' })}}",steps:{setContextType:{hideInSettings:!0,preset:!0,title:p("Context type"),uiSchema:{type:{type:"number","x-decorator":"FormItem","x-component":"Radio.Group",enum:[{label:p("Custom context"),value:0},{label:p("Multiple collection records"),value:2}],required:!0}},handler:function(e,t){e.model.props.title||e.model.setProps("title",t.type?e.t("Trigger workflow",{ns:u}):e.t("Trigger global workflow",{ns:u}))}},triggerWorkflows:{title:"{{t('Bind workflows', { ns: 'workflow' })}}",uiSchema:function(e){var t,r,o=(null!=(t=null==(r=e.model.stepParams.customCollectionTriggerWorkflowsActionSettings)?void 0:r.setContextType)?t:{}).type;return R({withContextData:!o,filter:o?A(e):void 0,description:o?p('Only support custom action workflow with context type set to "Multiple records".'):p('Only support custom action workflow with context type set to "Custom context".'),optionFilter:function(e){return F(e.config,o)}})}}}}),E.registerFlow({key:"customCollectionTriggerWorkflowsActionEventSettings",on:"click",steps:{confirm:{use:"confirm"},trigger:{handler:function(e){return m(function(){var t,r,o,n,c,a,l,s,p;return T(this,function(f){switch(f.label){case 0:if(o=(r=e.model.stepParams.customCollectionTriggerWorkflowsActionSettings).setContextType.type,c=(n=null!=(t=r.triggerWorkflows)?t:{}).group,a=n.contextData,!(null==c?void 0:c.length))return e.message.error(e.t("Button is not configured properly, please contact the administrator.",{ns:u})),e.exit(),[2];if(2!==o)return[3,5];if(!(null==(l=e.blockModel)?void 0:l.resource))return e.message.error(e.t("No resource selected for deletion")),e.exit(),[2];if(0===(s=e.blockModel.resource).getSelectedRows().length)return e.message.warning(e.t("Please select at least one record.",{ns:u})),e.exit(),[2];f.label=1;case 1:return f.trys.push([1,3,,4]),[4,s.runAction("trigger",{params:{triggerWorkflows:W(c),filterByTk:e.blockModel.collection.getFilterByTK(s.getSelectedRows())}})];case 2:return f.sent(),s.setSelectedRows([]),[3,4];case 3:return console.error("Error triggering workflows:",f.sent()),e.exit(),[3,4];case 4:return[3,14];case 5:if(o)return[3,13];if(!a)return[3,9];f.label=6;case 6:return f.trys.push([6,8,,9]),[4,(0,i.resolveExpressions)(a,e)];case 7:return p=f.sent(),[3,9];case 8:return f.sent(),[3,9];case 9:return f.trys.push([9,11,,12]),[4,e.api.request({url:"workflows:trigger",method:"post",params:{triggerWorkflows:W(c)},data:{values:p}})];case 10:return f.sent(),[3,12];case 11:return console.error("Error triggering workflows:",f.sent()),e.exit(),[3,12];case 12:return[3,14];case 13:throw Error("Invalid context type");case 14:return[2]}})})()}},afterSuccess:{use:"afterSuccess",defaultParams:{successMessage:p("Operation succeeded"),actionAfterSuccess:"previous"}}}});var z=function(e){function t(){var e;return y(this,t),e=b(this,t,arguments),w(e,"defaultProps",{title:p("Trigger global workflow"),icon:"ThunderboltOutlined"}),e}return k(t,e),t}(o.ActionModel);z.define({label:p("Trigger global workflow")}),z.registerFlow({key:"workbenchTriggerWorkflowsActionSettings",on:"click",title:"{{t('Workflow', { ns: 'workflow' })}}",steps:{confirm:{use:"confirm"},triggerWorkflows:{title:"{{t('Bind workflows', { ns: 'workflow' })}}",uiSchema:function(){return R({withContextData:!0,description:p('Only support custom action workflow with context type set to "Custom context".'),optionFilter:function(e){return F(e.config,0)}})},handler:function(e,t){return m(function(){var r;return T(this,function(o){switch(o.label){case 0:if(!t.contextData)return[3,4];o.label=1;case 1:return o.trys.push([1,3,,4]),[4,(0,i.resolveExpressions)(t.contextData,e)];case 2:return r=o.sent(),[3,4];case 3:return o.sent(),[3,4];case 4:return o.trys.push([4,6,,7]),[4,e.api.request({url:"workflows:trigger",method:"post",params:{triggerWorkflows:W(t.group)},data:{values:r}})];case 5:return o.sent(),e.message.success(e.t("Operation succeeded")),[3,7];case 6:return console.error("Error triggering workflows:",o.sent()),[3,7];case 7:return[2]}})})()}},afterSuccess:{use:"afterSuccess",defaultParams:{successMessage:p("Operation succeeded"),actionAfterSuccess:"previous"}}}});var q=g(230),V=g(990);function _(t){var r,o,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.i18n.t(t,(r=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},o=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),o.forEach(function(t){var o;o=r[t],t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o})}return e}({},n),o=o={ns:a},Object.getOwnPropertyDescriptors?Object.defineProperties(r,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(r,e,Object.getOwnPropertyDescriptor(o,e))}),r))}var N=g(442),L=g(768);function U(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,o=Array(t);r<t;r++)o[r]=e[r];return o}function K(e,t,r,o,n,i,c){try{var a=e[i](c),l=a.value}catch(e){r(e);return}a.done?t(l):Promise.resolve(l).then(o,n)}function $(e){return function(){var t=this,r=arguments;return new Promise(function(o,n){var i=e.apply(t,r);function c(e){K(i,o,n,c,a,"next",e)}function a(e){K(i,o,n,c,a,"throw",e)}c(void 0)})}}function G(e,t){if(e){if("string"==typeof e)return U(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 U(e,t)}}function J(e,t){var r,o,n,i={label:0,sent:function(){if(1&n[0])throw n[1];return n[1]},trys:[],ops:[]},c=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),a=Object.defineProperty;return a(c,"next",{value:l(0)}),a(c,"throw",{value:l(1)}),a(c,"return",{value:l(2)}),"function"==typeof Symbol&&a(c,Symbol.iterator,{value:function(){return this}}),c;function l(a){return function(l){var s=[a,l];if(r)throw TypeError("Generator is already executing.");for(;c&&(c=0,s[0]&&(i=0)),i;)try{if(r=1,o&&(n=2&s[0]?o.return:s[0]?o.throw||((n=o.return)&&n.call(o),0):o.next)&&!(n=n.call(o,s[1])).done)return n;switch(o=0,n&&(s=[2&s[0],n.value]),s[0]){case 0:case 1:n=s;break;case 4:return i.label++,{value:s[1],done:!1};case 5:i.label++,o=s[1],s=[0];continue;case 7:s=i.ops.pop(),i.trys.pop();continue;default:if(!(n=(n=i.trys).length>0&&n[n.length-1])&&(6===s[0]||2===s[0])){i=0;continue}if(3===s[0]&&(!n||s[1]>n[0]&&s[1]<n[3])){i.label=s[1];break}if(6===s[0]&&i.label<n[1]){i.label=n[1],n=s;break}if(n&&i.label<n[2]){i.label=n[2],i.ops.push(s);break}n[2]&&i.ops.pop(),i.trys.pop();continue}s=t.call(e,i)}catch(e){s=[6,e],o=0}finally{r=n=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}}}var H=/\{\{.+?\}\}/;function Y(){var t=(0,e.useAPIClient)(),r=(0,e.useActionContext)().setVisible,o=(0,N.useNavigate)(),n=(0,q.useFieldSchema)(),i=(0,q.useField)(),a=(0,e.useCompile)(),l=c.App.useApp(),s=l.modal,u=l.message,p=(0,e.useLocalVariables)(),f=(0,e.useVariables)();return{onClick:function(c,l){return $(function(){var c,d,g,m,b,y,w,h,v,k,x,S,O,C,P;return J(this,function(T){switch(T.label){case 0:if(g=(d=null!=(c=null==n?void 0:n["x-action-settings"])?c:{}).onSuccess,m=d.triggerWorkflows,b=d.contextData,w=(y=g||{}).manualClose,h=y.redirecting,v=y.redirectTo,k=y.successMessage,x=y.actionAfterSuccess,!(null==m?void 0:m.length))return u.error(_("Button is not configured properly, please contact the administrator.")),[2];i.data=i.data||{},i.data.loading=!0,T.label=1;case 1:if(T.trys.push([1,8,9,10]),S={variables:f,localVariables:p},!b)return[3,5];T.label=2;case 2:return T.trys.push([2,4,,5]),[4,function t(r,o){return $(function(){var n,i,c,a,l,s,u,p,f;return J(this,function(d){var g;switch(d.label){case 0:if("string"==typeof r)return[2,H.test(r)?(0,e.getVariableValue)(r,o):r];if(Array.isArray(r))return[2,Promise.all(r.map(function(e){return t(e,o)}))];if(null===r||(void 0===r?"undefined":r&&"u">typeof Symbol&&r.constructor===Symbol?"symbol":typeof r)!="object")return[3,9];n={},i=!0,c=!1,a=void 0,d.label=1;case 1:d.trys.push([1,6,7,8]),l=Object.entries(r)[Symbol.iterator](),d.label=2;case 2:if(i=(s=l.next()).done)return[3,5];return p=(u=function(e){if(Array.isArray(e))return e}(g=s.value)||function(e){var t,r,o=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var n=[],i=!0,c=!1;try{for(o=o.call(e);!(i=(t=o.next()).done)&&(n.push(t.value),2!==n.length);i=!0);}catch(e){c=!0,r=e}finally{try{i||null==o.return||o.return()}finally{if(c)throw r}}return n}}(g)||G(g,2)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}())[0],[4,t(u[1],o)];case 3:n[p]=d.sent(),d.label=4;case 4:return i=!0,[3,2];case 5:return[3,8];case 6:return f=d.sent(),c=!0,a=f,[3,8];case 7:try{i||null==l.return||l.return()}finally{if(c)throw a}return[7];case 8:return[2,n];case 9:return[2,r]}})})()}("string"==typeof b?JSON.parse(b):b,S)];case 3:return O=T.sent(),[3,5];case 4:return T.sent(),[3,5];case 5:return[4,t.resource("workflows").trigger({values:O,triggerWorkflows:m.map(function(e){return[e.workflowKey,e.context].filter(Boolean).join("!")}).join(",")})];case 6:return C=T.sent(),i.data.data=C,null==l||l(),"previous"!==x&&(x||!0===h)||null==r||r(!1),[4,(0,e.getVariableValue)(v,{variables:f,localVariables:p})];case 7:if(P=T.sent(),!k)return(h&&!x||"redirect"===x)&&P&&((0,L.isURL)(P)?window.location.href=P:o(P)),[2];return w?s.success({title:a(k),onOk:function(){return $(function(){return J(this,function(e){return(h&&!x||"redirect"===x)&&P&&((0,L.isURL)(P)?window.location.href=P:o(P)),[2]})})()}}):(u.success(a(k)),(h&&!x||"redirect"===x)&&P&&((0,L.isURL)(g.redirectTo)?window.location.href=g.redirectTo:o(g.redirectTo))),[3,10];case 8:return console.error(T.sent()),[3,10];case 9:return i.data.loading=!1,[7];case 10:return[2]}})})()}}}function Q(){var t=(0,e.useAPIClient)(),r=(0,e.useActionContext)().setVisible,o=(0,N.useNavigate)(),n=(0,q.useFieldSchema)(),i=(0,q.useField)(),a=(0,e.useCompile)(),l=c.App.useApp(),s=l.modal,u=l.message,p=(0,e.useCollection)(),f=(0,e.useBlockRequestContext)().field,d=(0,e.useLocalVariables)(),g=(0,e.useVariables)();return{onClick:function(c,l){return $(function(){var c,m,b,y,w,h,v,k,x,S,O,C,P,T,j,A;return J(this,function(W){switch(W.label){case 0:if(w=(y=null!=(c=null==n?void 0:n["x-action-settings"])?c:{}).onSuccess,h=y.triggerWorkflows,k=(v=w||{}).manualClose,x=v.redirecting,S=v.redirectTo,O=v.successMessage,C=v.actionAfterSuccess,!(null==h?void 0:h.length))return u.error(_("Button is not configured properly, please contact the administrator.")),[2];if(!(null==(b=f.data)||null==(m=b.selectedRowKeys)?void 0:m.length))return u.error(_("Please select at least one record.")),[2];i.data=i.data||{},i.data.loading=!0,W.label=1;case 1:return W.trys.push([1,4,5,6]),[4,t.resource(p.name,void 0,{"x-data-source":p.dataSource}).trigger({filterByTk:null==(P=f.data)?void 0:P.selectedRowKeys,triggerWorkflows:(null==h?void 0:h.length)?h.map(function(e){return[e.workflowKey,e.context].filter(Boolean).join("!")}).join(","):void 0})];case 2:return j=W.sent(),(null==(T=f.data)?void 0:T.clearSelectedRowKeys)&&f.data.clearSelectedRowKeys(),i.data.data=j,null==l||l(),"previous"!==C&&(C||!0===x)||null==r||r(!1),[4,(0,e.getVariableValue)(S,{variables:g,localVariables:d})];case 3:if(A=W.sent(),!O)return(x&&!C||"redirect"===C)&&A&&((0,L.isURL)(A)?window.location.href=A:o(A)),[2];return k?s.success({title:a(O),onOk:function(){return $(function(){return J(this,function(e){return(x&&!C||"redirect"===C)&&A&&((0,L.isURL)(A)?window.location.href=A:o(A)),[2]})})()}}):(u.success(a(O)),(x&&!C||"redirect"===C)&&A&&((0,L.isURL)(w.redirectTo)?window.location.href=w.redirectTo:o(w.redirectTo))),[3,6];case 4:return console.error(W.sent()),[3,6];case 5:return i.data.loading=!1,[7];case 6:return[2]}})})()}}}function X(){var t=(0,q.useForm)(),r=(0,e.useBlockRequestContext)(),o=(r.field,r.resource),n=(0,e.useActionContext)().setVisible,i=(0,e.useFilterByTk)(),a=(0,N.useNavigate)(),l=(0,q.useFieldSchema)(),s=(0,q.useField)(),u=(0,e.useCompile)(),p=c.App.useApp(),f=p.modal,d=p.message,g=(0,e.useCollectValuesToSubmit)(),m=(0,e.useLocalVariables)(),b=(0,e.useVariables)();return{onClick:function(r,c){return $(function(){var r,p,y,w,h,v,k,x,S,O,C,P,T,j;return J(this,function(A){switch(A.label){case 0:if(y=(p=null!=(r=null==l?void 0:l["x-action-settings"])?r:{}).onSuccess,w=p.skipValidator,h=p.triggerWorkflows,k=(v=y||{}).manualClose,x=v.redirecting,S=v.redirectTo,O=v.successMessage,C=v.actionAfterSuccess,!(null==h?void 0:h.length))return d.error(_("Button is not configured properly, please contact the administrator.")),[2];if(w)return[3,2];return[4,t.submit()];case 1:A.sent(),A.label=2;case 2:return[4,g()];case 3:P=A.sent(),s.data=s.data||{},s.data.loading=!0,A.label=4;case 4:return A.trys.push([4,7,8,9]),[4,o.trigger({values:P,filterByTk:i,triggerWorkflows:(null==h?void 0:h.length)?h.map(function(e){return[e.workflowKey,e.context].filter(Boolean).join("!")}).join(","):void 0})];case 5:return T=A.sent(),s.data.data=T,null==c||c(),"previous"!==C&&(C||!0===x)||null==n||n(!1),[4,(0,e.getVariableValue)(S,{variables:b,localVariables:m})];case 6:if(j=A.sent(),!O)return(x&&!C||"redirect"===C)&&j&&((0,L.isURL)(j)?window.location.href=j:a(j)),[2];return k?f.success({title:u(O),onOk:function(){return $(function(){return J(this,function(e){switch(e.label){case 0:return[4,t.reset()];case 1:return e.sent(),(x&&!C||"redirect"===C)&&j&&((0,L.isURL)(j)?window.location.href=j:a(j)),[2]}})})()}}):(d.success(u(O)),(x&&!C||"redirect"===C)&&j&&((0,L.isURL)(y.redirectTo)?window.location.href=y.redirectTo:a(y.redirectTo))),[3,9];case 7:return console.error(A.sent()),[3,9];case 8:return s.data.loading=!1,[7];case 9:return[2]}})})()}}}function Z(){var t=(0,e.useCompile)(),r=(0,e.useFilterByTk)(),o=(0,e.useCollectionRecordData)(),n=(0,q.useField)(),i=(0,q.useFieldSchema)(),a=(0,e.useBlockRequestContext)(),l=(a.field,a.resource),s=(0,e.useActionContext)(),u=s.setVisible,p=s.setSubmitted,f=c.App.useApp(),d=f.modal,g=f.message,m=(0,N.useNavigate)(),b=(0,e.useLocalVariables)(),y=(0,e.useVariables)();return{onClick:function(c,a){return $(function(){var c,s,f,w,h,v,k,x,S,O,C;return J(this,function(P){switch(P.label){case 0:if(f=(s=null!=(c=null==i?void 0:i["x-action-settings"])?c:{}).onSuccess,w=s.triggerWorkflows,v=(h=f||{}).manualClose,k=h.redirecting,x=h.redirectTo,S=h.successMessage,O=h.actionAfterSuccess,!(null==w?void 0:w.length))return g.error(_("Button is not configured properly, please contact the administrator.")),[2];n.data=n.data||{},n.data.loading=!0,P.label=1;case 1:return P.trys.push([1,4,5,6]),[4,l.trigger({filterByTk:r,triggerWorkflows:(null==w?void 0:w.length)?w.map(function(e){return[e.workflowKey,e.context].filter(Boolean).join("!")}).join(","):void 0})];case 2:return P.sent(),a&&a(),"previous"!==O&&(O||!0===k)||null==u||u(!1),null==p||p(!0),[4,(0,e.getVariableValue)(x,{variables:y,localVariables:((function(e){if(Array.isArray(e))return U(e)})(b)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(b)||G(b)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()).concat([{name:"$record",ctx:new Proxy(o,{})}])})];case 3:if(C=P.sent(),!S)return(k&&!O||"redirect"===O)&&C&&((0,L.isURL)(C)?window.location.href=C:m(C)),[2];return v?d.success({title:t(S),onOk:function(){return $(function(){return J(this,function(e){return(k&&!O||"redirect"===O)&&C&&((0,L.isURL)(C)?window.location.href=C:m(C)),[2]})})()}}):(g.success(t(S)),(k&&!O||"redirect"===O)&&C&&((0,L.isURL)(f.redirectTo)?window.location.href=f.redirectTo:m(f.redirectTo))),[3,6];case 4:return console.error(P.sent()),[3,6];case 5:return n.data.loading=!1,[7];case 6:return[2]}})})()}}}function ee(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},o=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),o.forEach(function(t){var o;o=r[t],t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o})}return e}function et(e){var t=(0,V.useCurrentWorkflowContext)();return e.types.includes(t.config.type)||e.types.includes(0)&&!t.config.type?e.children:null}function er(e){return(0,V.useCurrentWorkflowContext)().config.type?r().createElement(V.TriggerCollectionRecordSelect,e):r().createElement(V.WorkflowVariableJSON,ee({changeOnSelect:!0,autoSize:{minRows:6}},e))}function eo(t){var o,n,i=Y().onClick;return r().createElement(e.Action,(o=ee({},t),n=n={onClick:i},Object.getOwnPropertyDescriptors?Object.defineProperties(o,Object.getOwnPropertyDescriptors(n)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t})(Object(n)).forEach(function(e){Object.defineProperty(o,e,Object.getOwnPropertyDescriptor(n,e))}),o))}function en(o){var n=(0,e.useCurrentUserVariable)({noDisabled:!0}).currentUserSettings,i=(0,e.useCurrentRoleVariable)({noDisabled:!0}).currentRoleSettings,c=(0,e.useAPITokenVariable)({noDisabled:!0}).apiTokenSettings,a=(0,t.useMemo)(function(){return[n,i,c].filter(Boolean)},[n,i,c]);return r().createElement(e.Variable.JSON,ee({changeOnSelect:!0,scope:a},o))}function ei(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,o=Array(t);r<t;r++)o[r]=e[r];return o}function ec(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function ea(e){return(ea=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function el(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},o=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),o.forEach(function(t){ec(e,t,r[t])})}return e}function es(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 eu(e,t){return(eu=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function ep(e){return function(e){if(Array.isArray(e))return ei(e)}(e)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||ef(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 ef(e,t){if(e){if("string"==typeof e)return ei(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 ei(e,t)}}function ed(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(ed=function(){return!!e})()}function eg(t,r){var o,n,i=(0,e.useCompile)(),c=(0,V.useGetDataSourceCollectionManager)(),a=(function(e){if(Array.isArray(e))return e}(o=t.collection?(0,e.parseCollectionName)(t.collection):[])||function(e){var t,r,o=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var n=[],i=!0,c=!1;try{for(o=o.call(e);!(i=(t=o.next()).done)&&(n.push(t.value),1!==n.length);i=!0);}catch(e){c=!0,r=e}finally{try{i||null==o.return||o.return()}finally{if(c)throw r}}return n}}(o)||ef(o,1)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}())[0],l=(0,V.useGetDataSourceCollectionManager)(a),s=(0,V.getCollectionFieldOptions)(es(el({appends:["user"]},r),{fields:[{collectionName:"users",name:"user",type:"hasOne",target:"users",uiSchema:{title:_("User acted")}}],compile:i,collectionManager:c}));return t.global||0===t.type||!t.collection?[{label:_("Trigger data"),value:"data"}].concat(ep(s),[{label:_("Role of user acted"),value:"roleName"}]):ep((0,V.getCollectionFieldOptions)(es(el({appends:["data"].concat(ep((null==(n=t.appends)?void 0:n.map(function(e){return"data.".concat(e)}))||[]))},r),{fields:[{collectionName:t.collection,name:"data",type:"hasOne",target:t.collection,uiSchema:{title:_("Trigger data")}}],compile:i,collectionManager:l}))).concat(ep(s),[{label:_("Role of user acted"),value:"roleName"}])}var em=function(t){var o;if("function"!=typeof t&&null!==t)throw TypeError("Super expression must either be null or a function");function n(){var t,o,i;if(!(this instanceof n))throw TypeError("Cannot call a class as a function");return o=n,i=arguments,o=ea(o),ec(t=function(e,t){var r;if(t&&("object"==((r=t)&&"u">typeof Symbol&&r.constructor===Symbol?"symbol":typeof r)||"function"==typeof t))return t;if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(this,ed()?Reflect.construct(o,i||[],ea(this).constructor):o.apply(this,i)),"title",'{{t("Custom action event", { ns: "'.concat(a,'" })}}')),ec(t,"description",'{{t(\'When the "Trigger Workflow" button is clicked, the event is triggered based on different context where the button is located. For complex data processing that cannot be handled simply by built-in operations (CRUD) of NocoBase, you can define a series of operations through a workflow and trigger it with the "Trigger Workflow" button.\', { ns: "'.concat(a,'" })}}')),ec(t,"presetFieldset",{type:{type:"number",title:'{{t("Context type", { ns: "'.concat(a,'" })}}'),description:'{{t("", { ns: "'.concat(a,'" })}}'),"x-decorator":"FormItem","x-component":"RadioWithTooltip","x-component-props":{direction:"vertical",options:s},required:!0,default:0},collection:ec({type:"string",title:'{{t("Collection")}}',required:!0,"x-decorator":"FormItem","x-component":"DataSourceCollectionCascader","x-component-props":{dataSourceFilter:function(e){return"main"===e.options.key||e.options.isDBInstance}}},"x-reactions",[{dependencies:[".type"],fulfill:{state:{visible:"{{Boolean($deps[0])}}"}}}])}),ec(t,"fieldset",{type:{type:"number",title:'{{t("Context type", { ns: "'.concat(a,'" })}}'),description:'{{t("", { ns: "'.concat(a,'" })}}'),"x-decorator":"FormItem","x-component":"RadioWithTooltip","x-component-props":{direction:"vertical",options:s},default:0,"x-disabled":!0},collection:ec({type:"string",title:'{{t("Collection")}}',required:!0,"x-decorator":"FormItem","x-component":"DataSourceCollectionCascader","x-disabled":!0},"x-reactions",[{target:"appends",effects:["onFieldValueChange"],fulfill:{state:{value:[]}}},{dependencies:["type"],fulfill:{state:{visible:"{{Boolean($deps[0])}}"}}}]),appends:{type:"array",title:'{{t("Associations to use", { ns: "'.concat(a,'" })}}'),description:'{{t("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.", { ns: "workflow" })}}',"x-decorator":"FormItem","x-component":"AppendsTreeSelect","x-component-props":{multiple:!0,useCollection:function(){var e=(0,q.useForm)().values;return null==e?void 0:e.collection}},"x-reactions":[{dependencies:["collection"],fulfill:{state:{visible:"{{!!$deps[0]}}"}}}]}}),ec(t,"triggerFieldset",{data:{type:"void","x-component":"TriggerScopeProvider","x-component-props":{types:[0,1]},properties:{data:{type:"object",title:'{{t("Trigger data", { ns: "'.concat(a,'" })}}'),description:'{{t("Use JSON as trigger data for custom data context, or choose a record in single record context.", { ns: "'.concat(a,'" })}}'),"x-decorator":"FormItem","x-component":"TriggerDataInput",default:null}}},filterByTk:{type:"void","x-component":"TriggerScopeProvider","x-component-props":{types:[2]},properties:{filterByTk:{type:"array",title:'{{t("Trigger data", { ns: "'.concat(a,'" })}}'),description:'{{t("Choose a record or primary key of a record in the collection to trigger.", { ns: "workflow" })}}',"x-decorator":"FormItem","x-component":"TriggerCollectionRecordSelect","x-component-props":{multiple:!0,objectValue:!1},default:[],required:!0}}},userId:{type:"number",title:'{{t("User acted", { ns: "'.concat(a,'" })}}'),"x-decorator":"FormItem","x-component":"WorkflowVariableWrapper","x-component-props":{nullable:!1,changeOnSelect:!0,variableOptions:{types:[function(e){return e.isForeignKey||"context"===e.type?"users"===e.target:"users"===e.collectionName&&"id"===e.name}]},render:function(t){return r().createElement(e.RemoteSelect,el({fieldNames:{label:"nickname",value:"id"},service:{resource:"users"},manual:!1},t))}},default:null,required:!0},roleName:{type:"string",title:'{{t("Role of user acted", { ns: "'.concat(a,'" })}}'),"x-decorator":"FormItem","x-component":"WorkflowVariableWrapper","x-component-props":{nullable:!1,changeOnSelect:!0,variableOptions:{types:[function(e){return e.isForeignKey?"roles"===e.target:"roles"===e.collectionName&&"name"===e.name}]},render:function(t){return r().createElement(e.RemoteSelect,el({fieldNames:{label:"title",value:"name"},service:{resource:"roles"},manual:!1},t))}},default:null}}),ec(t,"scope",{useWorkflowAnyExecuted:V.useWorkflowAnyExecuted,useCollectionDataSource:e.useCollectionDataSource}),ec(t,"components",{TriggerScopeProvider:et,TriggerDataInput:er,TriggerCollectionRecordSelect:V.TriggerCollectionRecordSelect,WorkflowVariableWrapper:V.WorkflowVariableWrapper,WorkflowVariableJSON:V.WorkflowVariableJSON,RadioWithTooltip:V.RadioWithTooltip}),ec(t,"isActionTriggerable_deprecated",function(e,t){return"customize:triggerWorkflows"===t.buttonAction&&1===e.type}),ec(t,"useVariables",eg),t}return n.prototype=Object.create(t&&t.prototype,{constructor:{value:n,writable:!0,configurable:!0}}),t&&eu(n,t),o=[{key:"validate",value:function(e){return!e.type||0===e.type||[1,2].includes(e.type)&&e.collection}},{key:"useInitializers",value:function(e){return e.global||!e.collection?null:{name:"triggerData",type:"item",key:"triggerData",title:'{{t("Trigger data", { ns: "workflow" })}}',Component:V.CollectionBlockInitializer,collection:e.collection,dataPath:"$context.data"}}},{key:"getCreateModelMenuItem",value:function(e){var t=e.config;return t.collection?{key:"triggerData",label:'{{t("Trigger data", { ns: "workflow" })}}',useModel:"NodeDetailsModel",createModelOptions:{use:"NodeDetailsModel",stepParams:{resourceSettings:{init:{dataSourceKey:"main",collectionName:t.collection,dataPath:"$context.data"}},cardSettings:{titleDescription:{title:'{{t("Trigger data", { ns: "workflow" })}}'}}},subModels:{grid:{use:"NodeDetailsGridModel",subType:"object"}}}}:null}}],function(e,t){for(var r=0;r<t.length;r++){var o=t[r];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}(n.prototype,o),n}(V.Trigger),eb=g(418),ey=g(953);function ew(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function eh(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},o=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),o.forEach(function(t){ew(e,t,r[t])})}return e}function ev(){var t,o,n=(0,e.useDesignable)().dn,i=(0,ey.useTranslation)().t,l=(0,q.useFieldSchema)(),s=(0,e.useCollection)(),u="customize:collectionTriggerWorkflows"===l["x-action"];return r().createElement(e.SchemaSettingsActionModalItem,{title:i("Bind workflows",{ns:"workflow"}),width:"30%",components:{Alert:c.Alert,ArrayTable:eb.ArrayTable,RemoteSelect:e.RemoteSelect,GlobalContextDataInput:en},scope:{t:i},schema:{type:"void",title:i("Bind workflows",{ns:"workflow"}),properties:eh({description:{type:"void","x-component":"Alert","x-component-props":{message:u?'{{t(\'Only support custom action workflow with context type set to "Multiple records".\', { ns: "'.concat(a,'" })}}'):'{{t(\'Only support custom action workflow with context type set to "Custom context".\', { ns: "'.concat(a,'" })}}'),style:{marginBottom:"1em"}}},group:{type:"array","x-component":"ArrayTable","x-decorator":"FormItem",items:{type:"object",properties:{sort:{type:"void","x-component":"ArrayTable.Column","x-component-props":{width:50,title:"",align:"center"},properties:{sort:{type:"void","x-component":"ArrayTable.SortHandle"}}},workflowKey:{type:"void","x-component":"ArrayTable.Column","x-component-props":{title:"{{t('Workflow', { ns: 'workflow' })}}"},properties:{workflowKey:{type:"string","x-decorator":"FormItem","x-component":"RemoteSelect","x-component-props":{manual:!1,placeholder:i("Select workflow",{ns:"workflow"}),fieldNames:{label:"title",value:"key"},dataSource:"main",service:{resource:"workflows",action:"list",params:{filter:eh({type:"custom-action",enabled:!0},u?{"config.type":2,"config.collection":(0,e.joinCollectionName)(s.dataSource,s.name)}:{$or:[{"config.type":0},{"config.type":null}]})}}},required:!0}}},operations:{type:"void","x-component":"ArrayTable.Column","x-component-props":{width:32},properties:{remove:{type:"void","x-component":"ArrayTable.Remove"}}}}},properties:{add:{type:"void",title:i("Add workflow",{ns:"workflow"}),"x-component":"ArrayTable.Addition"}}}},u?{}:{contextData:{type:"string",title:"{{t('Context data', { ns: \"".concat(a,'" })}}'),description:"{{t('Input JSON as context data passed into the workflow. Frontend variables are supported.', { ns: \"".concat(a,'" })}}'),"x-decorator":"FormItem","x-component":"GlobalContextDataInput","x-component-props":{autoSize:{minRows:5}}}})},initialValues:{group:null==l||null==(t=l["x-action-settings"])?void 0:t.triggerWorkflows,contextData:null==l||null==(o=l["x-action-settings"])?void 0:o.contextData},onSubmit:function(e){var t,r=e.group,o=e.contextData;l["x-action-settings"]||(l["x-action-settings"]={}),l["x-action-settings"].triggerWorkflows=r,l["x-action-settings"].contextData=o,n.emit("patch",{schema:(ew(t={},"x-uid",l["x-uid"]),ew(t,"x-action-settings",l["x-action-settings"]),t)})}})}var ek=new e.SchemaSettings({name:"actionSettings:submitToWorkflow",items:[{name:"editButton",Component:e.ButtonEditor,useComponentProps:function(){return(0,e.useSchemaToolbar)().buttonEditorProps}},{name:"linkageRules",Component:e.SchemaSettingsLinkageRules,useComponentProps:function(){var t,r,o=(0,e.useCollection_deprecated)().name;return t=eh({},(0,e.useSchemaToolbar)().linkageRulesProps),r=r={collectionName:o},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t})(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}),t}},{name:"secondConfirmation",Component:e.SecondConFirm},{name:"assignFieldValues",Component:e.AssignedFieldValues},{name:"skipRequiredValidation",Component:e.SkipValidation},{name:"afterSuccessfulSubmission",Component:e.AfterSuccess},{name:"refreshDataBlockRequest",Component:e.RefreshDataBlockRequest,useComponentProps:function(){return{isPopupAction:!1}}},{name:"bindWorkflow",Component:V.BindWorkflowConfig},e.SchemaSettingAccessControl,{name:"delete",sort:100,Component:e.RemoveButton,useComponentProps:function(){return(0,e.useSchemaToolbar)().removeButtonProps}}]}),ex=new e.SchemaSettings({name:"actionSettings:collectionTriggerWorkflow",items:[{name:"editButton",Component:e.ButtonEditor,useComponentProps:function(){return(0,e.useSchemaToolbar)().buttonEditorProps}},{name:"linkageRules",Component:e.SchemaSettingsLinkageRules,useComponentProps:function(){return eh({},(0,e.useSchemaToolbar)().linkageRulesProps)}},{name:"secondConfirmation",Component:e.SecondConFirm},{name:"afterSuccessfulSubmission",Component:e.AfterSuccess},{name:"refreshDataBlockRequest",Component:e.RefreshDataBlockRequest,useComponentProps:function(){return{isPopupAction:!1}}},{name:"bindWorkflow",Component:ev},e.SchemaSettingAccessControl,{name:"delete",sort:100,Component:e.RemoveButton,useComponentProps:function(){return(0,e.useSchemaToolbar)().removeButtonProps}}]}),eS=new e.SchemaSettings({name:"actionSettings:globalTriggerWorkflow",items:[{name:"editButton",Component:e.ButtonEditor,useComponentProps:function(){return(0,e.useSchemaToolbar)().buttonEditorProps}},{name:"linkageRules",Component:e.SchemaSettingsLinkageRules,useComponentProps:function(){return eh({},(0,e.useSchemaToolbar)().linkageRulesProps)}},{name:"secondConfirmation",Component:e.SecondConFirm},{name:"afterSuccessfulSubmission",Component:e.AfterSuccess},{name:"bindWorkflow",Component:ev},{name:"refreshDataBlockRequest",Component:e.RefreshDataBlockRequest,useComponentProps:function(){return{isPopupAction:!1}},useVisible:function(){return!!(0,(0,e.useDataBlockRequestGetter)().getDataBlockRequest)()}},e.SchemaSettingAccessControl,{name:"delete",sort:100,Component:e.RemoveButton,useComponentProps:function(){return(0,e.useSchemaToolbar)().removeButtonProps}}]});function eO(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},o=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),o.forEach(function(t){var o;o=r[t],t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o})}return e}function eC(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}var eP={name:"triggerWorkflow",title:'{{t("Trigger workflow", { ns: "'.concat(a,'" })}}'),Component:"CustomizeActionInitializer",schema:{title:'{{t("Trigger workflow", { ns: "'.concat(a,'" })}}'),"x-component":"Action","x-use-component-props":"useFormWorkflowCustomActionProps","x-settings":"actionSettings:submitToWorkflow","x-decorator":"ACLActionProvider","x-action-settings":{skipValidator:!1,onSuccess:{manualClose:!0,redirecting:!1,successMessage:'{{t("Submitted successfully")}}'},refreshDataBlockRequest:!0,triggerWorkflows:[]},"x-toolbar-props":{initializer:!1,showBorder:!1},"x-action":"customize:triggerWorkflows"},useVisible:function(){return"publicForm"!==((0,e.useDataBlockProps)()||{}).type}},eT={name:"triggerWorkflow",title:'{{t("Trigger workflow", { ns: "'.concat(a,'" })}}'),Component:"CustomizeActionInitializer",schema:{title:'{{t("Trigger workflow", { ns: "'.concat(a,'" })}}'),"x-component":"Action","x-use-component-props":"useRecordWorkflowCustomTriggerActionProps","x-settings":"actionSettings:submitToWorkflow","x-decorator":"ACLActionProvider","x-action-settings":{onSuccess:{manualClose:!0,redirecting:!1,successMessage:'{{t("Submitted successfully")}}'},refreshDataBlockRequest:!0,triggerWorkflows:[]},"x-toolbar-props":{initializer:!1,showBorder:!1},"x-action":"customize:triggerWorkflows"}},ej=eC(eO({},eT),{schema:eC(eO({},eT.schema),{"x-component":"Action.Link"})}),eA={name:"triggerWorkflow",title:'{{t("Trigger workflow", { ns: "'.concat(a,'" })}}'),Component:"CustomizeActionInitializer",schema:{title:'{{t("Trigger workflow", { ns: "'.concat(a,'" })}}'),"x-component":"Action","x-use-component-props":"useGlobalTriggerWorkflowCustomActionProps","x-settings":"actionSettings:globalTriggerWorkflow","x-decorator":"ACLActionProvider","x-action-settings":{onSuccess:{manualClose:!0,redirecting:!1,successMessage:'{{t("Submitted successfully")}}'},refreshDataBlockRequest:!0,triggerWorkflows:[]},"x-toolbar-props":{initializer:!1,showBorder:!1},"x-action":"customize:globalTriggerWorkflows"}};function eW(t){var o=(0,e.useSchemaInitializer)().insert,n=(0,ey.useTranslation)().t;return r().createElement(e.ModalActionSchemaInitializerItem,{title:n("Trigger workflow",{ns:a}),components:{RadioWithTooltip:V.RadioWithTooltip},modalSchema:{title:'{{t("Trigger workflow", { ns: "'.concat(a,'" })}}'),properties:{type:{title:"{{t('Context type', { ns: \"".concat(a,'" })}}'),"x-decorator":"FormItem","x-component":"RadioWithTooltip","x-component-props":{options:s.filter(function(e){return[0,2].includes(e.value)})},required:!0}}},onSubmit:function(e){o(eO({type:"void",title:"{{t('".concat(e.type?"Trigger workflow":"Trigger global workflow","', { ns: \"").concat(a,'" })}}'),"x-component":"Action","x-component-props":{},"x-action":e.type?"customize:collectionTriggerWorkflows":"customize:globalTriggerWorkflows","x-toolbar":"ActionSchemaToolbar","x-decorator":"ACLActionProvider","x-action-settings":{onSuccess:{manualClose:!1,redirecting:!1,successMessage:'{{t("Operation succeeded")}}'}}},e.type?{"x-use-component-props":"useCollectionTriggerWorkflowCustomActionProps","x-settings":"actionSettings:collectionTriggerWorkflow"}:{"x-use-component-props":"useGlobalTriggerWorkflowCustomActionProps","x-settings":"actionSettings:globalTriggerWorkflow"}))}})}function eI(t){var o=(0,e.useSchemaInitializer)().insert,n=(0,ey.useTranslation)().t;return r().createElement(e.ModalActionSchemaInitializerItem,{title:n("Trigger workflow",{ns:a}),modalSchema:{title:'{{t("Trigger workflow", { ns: "'.concat(a,'" })}}'),properties:{title:{title:"{{t('Title')}}","x-component":"Input","x-decorator":"FormItem",required:!0,default:'{{t("Trigger workflow", { ns: "'.concat(a,'" })}}')},icon:{title:"{{t('Icon')}}","x-component":"IconPicker","x-decorator":"FormItem",required:!0,default:"thunderboltoutlined"},iconColor:{title:"{{t('Color')}}","x-component":"ColorPicker","x-decorator":"FormItem",required:!0,default:"#1677FF"}}},onSubmit:function(e){o({type:"void",title:e.title,"x-component":"WorkbenchAction","x-decorator":"ACLActionProvider","x-component-props":{icon:e.icon,iconColor:e.iconColor,targetComponent:"GlobalTriggerWorkflowAction"},"x-action":"customize:globalTriggerWorkflows","x-toolbar":"ActionSchemaToolbar","x-settings":"actionSettings:globalTriggerWorkflow","x-action-settings":{onSuccess:{manualClose:!1,redirecting:!1,successMessage:'{{t("Operation succeeded")}}'}}})}})}function eR(e,t,r,o,n,i,c){try{var a=e[i](c),l=a.value}catch(e){r(e);return}a.done?t(l):Promise.resolve(l).then(o,n)}function eM(e){return function(){var t=this,r=arguments;return new Promise(function(o,n){var i=e.apply(t,r);function c(e){eR(i,o,n,c,a,"next",e)}function a(e){eR(i,o,n,c,a,"throw",e)}c(void 0)})}}function eF(e,t,r){return(eF=ez()?Reflect.construct:function(e,t,r){var o=[null];o.push.apply(o,t);var n=new(Function.bind.apply(e,o));return r&&eD(n,r.prototype),n}).apply(null,arguments)}function eB(e){return(eB=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function eD(e,t){return(eD=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function eE(e){var t="function"==typeof Map?new Map:void 0;return(eE=function(e){if(null===e||-1===Function.toString.call(e).indexOf("[native code]"))return e;if("function"!=typeof e)throw TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,r)}function r(){return eF(e,arguments,eB(this).constructor)}return r.prototype=Object.create(e.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),eD(r,e)})(e)}function ez(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(ez=function(){return!!e})()}function eq(e,t){var r,o,n,i={label:0,sent:function(){if(1&n[0])throw n[1];return n[1]},trys:[],ops:[]},c=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),a=Object.defineProperty;return a(c,"next",{value:l(0)}),a(c,"throw",{value:l(1)}),a(c,"return",{value:l(2)}),"function"==typeof Symbol&&a(c,Symbol.iterator,{value:function(){return this}}),c;function l(a){return function(l){var s=[a,l];if(r)throw TypeError("Generator is already executing.");for(;c&&(c=0,s[0]&&(i=0)),i;)try{if(r=1,o&&(n=2&s[0]?o.return:s[0]?o.throw||((n=o.return)&&n.call(o),0):o.next)&&!(n=n.call(o,s[1])).done)return n;switch(o=0,n&&(s=[2&s[0],n.value]),s[0]){case 0:case 1:n=s;break;case 4:return i.label++,{value:s[1],done:!1};case 5:i.label++,o=s[1],s=[0];continue;case 7:s=i.ops.pop(),i.trys.pop();continue;default:if(!(n=(n=i.trys).length>0&&n[n.length-1])&&(6===s[0]||2===s[0])){i=0;continue}if(3===s[0]&&(!n||s[1]>n[0]&&s[1]<n[3])){i.label=s[1];break}if(6===s[0]&&i.label<n[1]){i.label=n[1],n=s;break}if(n&&i.label<n[2]){i.label=n[2],i.ops.push(s);break}n[2]&&i.ops.pop(),i.trys.pop();continue}s=t.call(e,i)}catch(e){s=[6,e],o=0}finally{r=n=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}}}var eV=function(e){var t;if("function"!=typeof e&&null!==e)throw TypeError("Super expression must either be null or a function");function r(){var e,t;if(!(this instanceof r))throw TypeError("Cannot call a class as a function");return e=r,t=arguments,e=eB(e),function(e,t){var r;if(t&&("object"==((r=t)&&"u">typeof Symbol&&r.constructor===Symbol?"symbol":typeof r)||"function"==typeof t))return t;if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(this,ez()?Reflect.construct(e,t||[],eB(this).constructor):e.apply(this,t))}return r.prototype=Object.create(e&&e.prototype,{constructor:{value:r,writable:!0,configurable:!0}}),e&&eD(r,e),t=[{key:"beforeLoad",value:function(){return eM(function(){var e;return eq(this,function(t){return e=this,this.app.eventBus.addEventListener("plugin:kanban:loaded",function(){e.app.schemaInitializerManager.get("kanban:configureActions").add("customize.triggerWorkflow",eA)}),this.app.eventBus.addEventListener("plugin:calendar:loaded",function(){e.app.schemaInitializerManager.get("calendar:configureActions").add("customize.triggerWorkflow",eA)}),this.app.eventBus.addEventListener("plugin:gantt:loaded",function(){e.app.schemaInitializerManager.get("gantt:configureActions").add("customize.triggerWorkflow",eA),e.app.schemaInitializerManager.addItem("gantt:configureActions","customize.triggerWorkflow",{Component:eW})}),this.app.eventBus.addEventListener("plugin:block-workbench:loaded",function(){e.app.schemaInitializerManager.addItem("workbench:configureActions","customize.triggerWorkflow",{Component:eI});var t=e.flowEngine.getModelClass("ActionPanelGroupActionModel");t&&t.registerActionModels({WorkbenchTriggerWorkflowActionModel:z})}),[2]})}).call(this)}},{key:"load",value:function(){return eM(function(){return eq(this,function(e){return this.app.pm.get("workflow").registerTrigger(l,em),this.app.addScopes({useFormWorkflowCustomActionProps:X,useRecordWorkflowCustomTriggerActionProps:Z,useCollectionTriggerWorkflowCustomActionProps:Q,useGlobalTriggerWorkflowCustomActionProps:Y}),this.app.addComponents({GlobalTriggerWorkflowAction:eo}),this.app.schemaSettingsManager.add(ek),this.app.schemaSettingsManager.add(ex),this.app.schemaSettingsManager.add(eS),this.app.schemaInitializerManager.get("FormActionInitializers").add("customize.triggerWorkflow",eP),this.app.schemaInitializerManager.get("createForm:configureActions").add("customize.triggerWorkflow",eP),this.app.schemaInitializerManager.get("editForm:configureActions").add("customize.triggerWorkflow",eP),this.app.schemaInitializerManager.get("detailsWithPaging:configureActions").add("customize.triggerWorkflow",eT),this.app.schemaInitializerManager.get("details:configureActions").add("customize.triggerWorkflow",eT),this.app.schemaInitializerManager.get("table:configureItemActions").add("customize.triggerWorkflow",ej),this.app.schemaInitializerManager.get("gridCard:configureItemActions").add("customize.triggerWorkflow",ej),this.app.schemaInitializerManager.get("list:configureItemActions").add("customize.triggerWorkflow",ej),this.app.schemaInitializerManager.get("list:configureActions").add("customize.triggerWorkflow",eA),this.app.schemaInitializerManager.get("gridCard:configureActions").add("customize.triggerWorkflow",eA),this.app.schemaInitializerManager.addItem("table:configureActions","customize.triggerWorkflow",{Component:eW}),this.flowEngine.registerModels({FormTriggerWorkflowActionModel:B,RecordTriggerWorkflowActionModel:D,CollectionTriggerWorkflowActionModel:E,WorkbenchTriggerWorkflowActionModel:z}),[2]})}).call(this)}}],function(e,t){for(var r=0;r<t.length;r++){var o=t[r];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}(r.prototype,t),r}(eE(e.Plugin))}(),h}()});
|
|
10
|
+
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("react-i18next"),require("@emotion/css"),require("@nocobase/client-v2"),require("react-router-dom"),require("@formily/antd-v5"),require("react"),require("antd"),require("@nocobase/client"),require("@formily/react"),require("@nocobase/flow-engine"),require("@nocobase/plugin-workflow/client"),require("@nocobase/utils/client")):"function"==typeof define&&define.amd?define("@nocobase/plugin-workflow-custom-action-trigger",["react-i18next","@emotion/css","@nocobase/client-v2","react-router-dom","@formily/antd-v5","react","antd","@nocobase/client","@formily/react","@nocobase/flow-engine","@nocobase/plugin-workflow/client","@nocobase/utils/client"],t):"object"==typeof exports?exports["@nocobase/plugin-workflow-custom-action-trigger"]=t(require("react-i18next"),require("@emotion/css"),require("@nocobase/client-v2"),require("react-router-dom"),require("@formily/antd-v5"),require("react"),require("antd"),require("@nocobase/client"),require("@formily/react"),require("@nocobase/flow-engine"),require("@nocobase/plugin-workflow/client"),require("@nocobase/utils/client")):e["@nocobase/plugin-workflow-custom-action-trigger"]=t(e["react-i18next"],e["@emotion/css"],e["@nocobase/client-v2"],e["react-router-dom"],e["@formily/antd-v5"],e.react,e.antd,e["@nocobase/client"],e["@formily/react"],e["@nocobase/flow-engine"],e["@nocobase/plugin-workflow/client"],e["@nocobase/utils/client"])}(self,function(e,t,r,o,n,i,c,a,l,s,u,p){return function(){"use strict";var f={477:function(e){e.exports=t},418:function(e){e.exports=n},230:function(e){e.exports=l},342:function(e){e.exports=a},485:function(e){e.exports=r},694:function(e){e.exports=s},990:function(e){e.exports=u},768:function(e){e.exports=p},59:function(e){e.exports=c},155:function(e){e.exports=i},953:function(t){t.exports=e},442:function(e){e.exports=o}},d={};function g(e){var t=d[e];if(void 0!==t)return t.exports;var r=d[e]={exports:{}};return f[e](r,r.exports,g),r.exports}g.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return g.d(t,{a:t}),t},g.d=function(e,t){for(var r in t)g.o(t,r)&&!g.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},g.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),g.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},g.r=function(e){"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},g.g.importScripts&&(m=g.g.location+"");var m,b=g.g.document;if(!m&&b&&(b.currentScript&&"SCRIPT"===b.currentScript.tagName.toUpperCase()&&(m=b.currentScript.src),!m)){var y=b.getElementsByTagName("script");if(y.length)for(var w=y.length-1;w>-1&&(!m||!/^http(s?):/.test(m));)m=y[w--].src}if(!m)throw Error("Automatic publicPath is not supported in this browser");g.p=m.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/");var h={};return!function(){var e="",t="u">typeof document?document.currentScript:null;if(t&&t.src&&(e=t.src.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/")),!e){var r=window.__webpack_public_path__||"";r&&("/"!==r.charAt(r.length-1)&&(r+="/"),e=r+"static/plugins/@nocobase/plugin-workflow-custom-action-trigger/dist/client/")}if(!e){var o=window.__nocobase_modern_client_prefix__||"v",n="/"+(o=String(o).replace(/^\/+|\/+$/g,"")||"v")+"/";if(!(e=window.__nocobase_public_path__||"")&&window.location&&window.location.pathname){var i=window.location.pathname||"/",c=i.indexOf(n);e=c>=0?i.slice(0,c+1):"/"}e&&(e=e.replace(RegExp("/"+o+"/?$"),"/")),e||(e="/"),"/"!==e.charAt(e.length-1)&&(e+="/"),e+="static/plugins/@nocobase/plugin-workflow-custom-action-trigger/dist/client/"}g.p=e}(),!function(){g.r(h),g.d(h,{default:function(){return e_}});var e=g(342),t=g(155),r=g.n(t),o=g(485),n=g(477),i=g(694),c=g(59),a="@nocobase/plugin-workflow-custom-action-trigger",l="custom-action",s=[{label:"{{t('Custom context', { ns: \"".concat(a,'" })}}'),value:0,tooltip:"{{t('Could be used on non-record related action buttons. You can provide custom JSON as trigger data.', { ns: \"".concat(a,'" })}}')},{label:"{{t('Single collection record', { ns: \"".concat(a,'" })}}'),value:1,tooltip:"{{t('Could only be used on single record related action buttons. Such as in form, detail block and table row of record.', { ns: \"".concat(a,'" })}}')},{label:"{{t('Multiple collection records', { ns: \"".concat(a,'" })}}'),value:2,tooltip:"{{t('Could only be used on multiple record related action buttons. Such as for batch action in table block. The data in trigger variable will be an array.', { ns: \"".concat(a,'" })}}')}],u="@nocobase/plugin-workflow-custom-action-trigger";function p(e,t){return(0,i.tExpr)(e,function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},o=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),o.forEach(function(t){var o;o=r[t],t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o})}return e}({ns:u},t))}function f(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,o=Array(t);r<t;r++)o[r]=e[r];return o}function d(e,t,r,o,n,i,c){try{var a=e[i](c),l=a.value}catch(e){r(e);return}a.done?t(l):Promise.resolve(l).then(o,n)}function m(e){return function(){var t=this,r=arguments;return new Promise(function(o,n){var i=e.apply(t,r);function c(e){d(i,o,n,c,a,"next",e)}function a(e){d(i,o,n,c,a,"throw",e)}c(void 0)})}}function b(e,t,r){return t=v(t),function(e,t){var r;if(t&&("object"==((r=t)&&"u">typeof Symbol&&r.constructor===Symbol?"symbol":typeof r)||"function"==typeof t))return t;if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e,P()?Reflect.construct(t,r||[],v(e).constructor):t.apply(e,r))}function y(e,t){if(!(e instanceof t))throw TypeError("Cannot call a class as a function")}function w(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){return(v=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function k(e,t){if("function"!=typeof t&&null!==t)throw TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&O(e,t)}function x(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},o=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),o.forEach(function(t){w(e,t,r[t])})}return e}function S(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var 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 O(e,t){return(O=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function C(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r,o,n=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var i=[],c=!0,a=!1;try{for(n=n.call(e);!(c=(r=n.next()).done)&&(i.push(r.value),!t||i.length!==t);c=!0);}catch(e){a=!0,o=e}finally{try{c||null==n.return||n.return()}finally{if(a)throw o}}return i}}(e,t)||function(e,t){if(e){if("string"==typeof e)return f(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 f(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 P(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(P=function(){return!!e})()}function T(e,t){var r,o,n,i={label:0,sent:function(){if(1&n[0])throw n[1];return n[1]},trys:[],ops:[]},c=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),a=Object.defineProperty;return a(c,"next",{value:l(0)}),a(c,"throw",{value:l(1)}),a(c,"return",{value:l(2)}),"function"==typeof Symbol&&a(c,Symbol.iterator,{value:function(){return this}}),c;function l(a){return function(l){var s=[a,l];if(r)throw TypeError("Generator is already executing.");for(;c&&(c=0,s[0]&&(i=0)),i;)try{if(r=1,o&&(n=2&s[0]?o.return:s[0]?o.throw||((n=o.return)&&n.call(o),0):o.next)&&!(n=n.call(o,s[1])).done)return n;switch(o=0,n&&(s=[2&s[0],n.value]),s[0]){case 0:case 1:n=s;break;case 4:return i.label++,{value:s[1],done:!1};case 5:i.label++,o=s[1],s=[0];continue;case 7:s=i.ops.pop(),i.trys.pop();continue;default:if(!(n=(n=i.trys).length>0&&n[n.length-1])&&(6===s[0]||2===s[0])){i=0;continue}if(3===s[0]&&(!n||s[1]>n[0]&&s[1]<n[3])){i.label=s[1];break}if(6===s[0]&&i.label<n[1]){i.label=n[1],n=s;break}if(n&&i.label<n[2]){i.label=n[2],i.ops.push(s);break}n[2]&&i.ops.pop(),i.trys.pop();continue}s=t.call(e,i)}catch(e){s=[6,e],o=0}finally{r=n=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}}}function j(){var e,t,r=(e=["\n & > .ant-space-item:first-child,\n & > .ant-space-item:last-child {\n flex: 0 0 auto;\n }\n & > .ant-space-item:nth-child(2) {\n flex: 1;\n min-width: 0;\n }\n & > .ant-space-item:nth-child(2) .ant-select {\n width: 100%;\n }\n "],t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}})));return j=function(){return r},r}function A(e){var t,r,o,n,i=function(e){var t,r=(null==e?void 0:e.dataSourceKey)||(null==e||null==(t=e.dataSource)?void 0:t.key),o=null==e?void 0:e.name;if(o)return r&&"main"!==r?"".concat(r,":").concat(o):o}((null==e||null==(t=e.blockModel)?void 0:t.collection)||(null==e||null==(n=e.model)||null==(o=n.context)||null==(r=o.blockModel)?void 0:r.collection));return i?{"config.collection":i}:void 0}var W=function(e){return(null==e?void 0:e.length)?e.map(function(e){return[e.workflowKey,e.context].filter(Boolean).join("!")}).join(","):void 0};function I(e){var t=e.filter,o=e.optionFilter,n=function(e,t){if(null==e)return{};var r,o,n,i={};if("u">typeof Reflect&&Reflect.ownKeys){for(n=0,r=Reflect.ownKeys(Object(e));n<r.length;n++)o=r[n],!(t.indexOf(o)>=0)&&Object.prototype.propertyIsEnumerable.call(e,o)&&(i[o]=e[o]);return i}if(i=function(e,t){if(null==e)return{};var r,o,n={},i=Object.getOwnPropertyNames(e);for(o=0;o<i.length;o++)r=i[o],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r]);return n}(e,t),Object.getOwnPropertySymbols)for(n=0,r=Object.getOwnPropertySymbols(e);n<r.length;n++)o=r[n],!(t.indexOf(o)>=0)&&Object.prototype.propertyIsEnumerable.call(e,o)&&(i[o]=e[o]);return i}(e,["filter","optionFilter"]),a=(0,i.useFlowContext)(),s=C(r().useState([]),2),u=s[0],p=s[1],f=C(r().useState(!1),2),d=f[0],g=f[1];return r().useEffect(function(){var e=!0;return m(function(){var r,n,i;return T(this,function(c){switch(c.label){case 0:g(!0),c.label=1;case 1:return c.trys.push([1,3,4,5]),[4,a.api.request({url:"workflows:list",method:"get",params:{paginate:!1,filter:x({type:l,enabled:!0},t)}})];case 2:if(n=c.sent(),!e)return[2];return i=(null==n||null==(r=n.data)?void 0:r.data)||[],p(("function"==typeof o?i.filter(o):i).map(function(e){return{label:e.title,value:e.key}})),[3,5];case 3:return console.error("Error loading workflows:",c.sent()),[3,5];case 4:return e&&g(!1),[7];case 5:return[2]}})})(),function(){e=!1}},[a.api,t,o]),r().createElement(c.Select,S(x({},n),{loading:d,options:u}))}function R(e){var t=e.description,r=e.filter,i=e.optionFilter,a=e.withContextData;return x({description:{type:"void","x-component":c.Alert,"x-component-props":{type:"info",showIcon:!0,message:t,style:{marginBottom:"1em"}}},group:{type:"array","x-component":"ArrayItems","x-decorator":"FormItem",items:{type:"object",properties:{space:{type:"void","x-component-props":{align:"center",style:{display:"flex",width:"100%"},className:(0,n.css)(j())},"x-component":c.Space,properties:{sort:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.SortHandle"},workflowKey:{type:"string","x-decorator":"FormItem","x-component":I,"x-component-props":{filter:r,optionFilter:i,placeholder:"{{t('Select workflow', { ns: 'workflow' })}}",style:{width:"100%"}},required:!0},remove:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.Remove"}}}}},properties:{add:{type:"void",title:"{{t('Add workflow', { ns: 'workflow' })}}","x-component":"ArrayItems.Addition"}}}},void 0!==a&&a?{contextData:{type:"string",title:p("Context data"),description:p("Input JSON as context data passed into the workflow. Frontend variables are supported."),"x-decorator":"FormItem","x-component":o.TextAreaWithContextSelector,"x-component-props":{rows:5}}}:{})}var M=p('Workflow will be triggered directly once the button clicked, without data saving. Only supports to be bound with "Custom action event".');function F(e,t){var r=null==e?void 0:e.type;return 0===t||null==t?0===r||null==r:r===t}var B=function(e){function t(){var e;return y(this,t),e=b(this,t,arguments),w(e,"defaultProps",{title:p("Trigger workflow")}),e}return k(t,e),t}(o.FormActionModel);B.define({label:p("Trigger workflow")}),B.registerFlow({key:"customFormTriggerWorkflowsActionSettings",on:"click",title:"{{t('Workflow', { ns: 'workflow' })}}",steps:{confirm:{use:"confirm"},triggerWorkflows:{title:"{{t('Bind workflows', { ns: 'workflow' })}}",uiSchema:function(e){return R({description:M,filter:A(e),optionFilter:function(e){var t;return(null==(t=e.config)?void 0:t.type)===1}})},handler:function(e,t){return m(function(){var r;return T(this,function(o){switch(o.label){case 0:if(!(null==(r=t.group)?void 0:r.length))return e.message.error(e.t("Button is not configured properly, please contact the administrator.",{ns:u})),e.exit(),[2];if(!e.blockModel)return e.exit(),[2];o.label=1;case 1:return o.trys.push([1,3,4,5]),e.model.setProps("loading",!0),[4,e.blockModel.submitHandler(e,{},function(r,o){return m(function(){return T(this,function(n){switch(n.label){case 0:return[4,e.blockModel.resource.runAction("trigger",{params:S(x({},null!=o?{filterByTk:o}:{}),{triggerWorkflows:W(t.group)}),data:r})];case 1:return[2,n.sent()]}})})()})];case 2:return o.sent(),[3,5];case 3:return console.error("Error triggering workflows:",o.sent()),e.exit(),[3,5];case 4:return e.model.setProps("loading",!1),[7];case 5:return[2]}})})()}},afterSuccess:{use:"afterSuccess",defaultParams:{successMessage:p("Operation succeeded")}}}});var E=function(e){function t(){var e;return y(this,t),e=b(this,t,arguments),w(e,"defaultProps",{title:p("Trigger workflow")}),e}return k(t,e),t}(o.ActionModel);w(E,"scene",o.ActionSceneEnum.record),E.define({label:p("Trigger workflow")}),E.registerFlow({key:"customRecordTriggerWorkflowsActionSettings",on:"click",title:"{{t('Workflow', { ns: 'workflow' })}}",steps:{confirm:{use:"confirm"},triggerWorkflows:{title:"{{t('Bind workflows', { ns: 'workflow' })}}",uiSchema:function(e){return R({description:M,filter:A(e),optionFilter:function(e){var t;return(null==(t=e.config)?void 0:t.type)===1}})},handler:function(e,t){return m(function(){var r,o,n,i;return T(this,function(c){switch(c.label){case 0:if(n=(o=e.blockModel).resource,i=o.collection,!n||!i)return e.exit(),[2];if(!(null==(r=t.group)?void 0:r.length))return e.message.error(e.t("Button is not configured properly, please contact the administrator.",{ns:u})),e.exit(),[2];c.label=1;case 1:return c.trys.push([1,3,,4]),[4,n.runAction("trigger",{params:{triggerWorkflows:W(t.group),filterByTk:function(e,t){if(!e||!t)return null;var r=t.filterTargetKey;return Array.isArray(r)?r.reduce(function(t,r){return t[r]=e[r],t},{}):e[r]}(e.record,i)}})];case 2:return c.sent(),[3,4];case 3:return console.error("Error triggering workflows:",c.sent()),e.exit(),[3,4];case 4:return[2]}})})()}},afterSuccess:{use:"afterSuccess",defaultParams:{successMessage:p("Operation succeeded"),actionAfterSuccess:"previous"}}}});var D=function(e){function t(){var e;return y(this,t),e=b(this,t,arguments),w(e,"defaultProps",{title:null}),e}return k(t,e),t}(o.CollectionActionModel);w(D,"scene",o.ActionSceneEnum.collection),D.define({label:p("Trigger workflow")}),D.registerFlow({key:"customCollectionTriggerWorkflowsActionSettings",title:"{{t('Workflow', { ns: 'workflow' })}}",steps:{setContextType:{hideInSettings:!0,preset:!0,title:p("Context type"),uiSchema:{type:{type:"number","x-decorator":"FormItem","x-component":"Radio.Group",enum:[{label:p("Custom context"),value:0},{label:p("Multiple collection records"),value:2}],required:!0}},handler:function(e,t){e.model.props.title||e.model.setProps("title",t.type?e.t("Trigger workflow",{ns:u}):e.t("Trigger global workflow",{ns:u}))}},triggerWorkflows:{title:"{{t('Bind workflows', { ns: 'workflow' })}}",uiSchema:function(e){var t,r,o=(null!=(t=null==(r=e.model.stepParams.customCollectionTriggerWorkflowsActionSettings)?void 0:r.setContextType)?t:{}).type;return R({withContextData:!o,filter:o?A(e):void 0,description:o?p('Only support custom action workflow with context type set to "Multiple records".'):p('Only support custom action workflow with context type set to "Custom context".'),optionFilter:function(e){return F(e.config,o)}})}}}}),D.registerFlow({key:"customCollectionTriggerWorkflowsActionEventSettings",on:"click",steps:{confirm:{use:"confirm"},trigger:{handler:function(e){return m(function(){var t,r,o,n,c,a,l,s,p;return T(this,function(f){switch(f.label){case 0:if(o=(r=e.model.stepParams.customCollectionTriggerWorkflowsActionSettings).setContextType.type,c=(n=null!=(t=r.triggerWorkflows)?t:{}).group,a=n.contextData,!(null==c?void 0:c.length))return e.message.error(e.t("Button is not configured properly, please contact the administrator.",{ns:u})),e.exit(),[2];if(2!==o)return[3,5];if(!(null==(l=e.blockModel)?void 0:l.resource))return e.message.error(e.t("No resource selected for deletion")),e.exit(),[2];if(0===(s=e.blockModel.resource).getSelectedRows().length)return e.message.warning(e.t("Please select at least one record.",{ns:u})),e.exit(),[2];f.label=1;case 1:return f.trys.push([1,3,,4]),[4,s.runAction("trigger",{params:{triggerWorkflows:W(c),filterByTk:e.blockModel.collection.getFilterByTK(s.getSelectedRows())}})];case 2:return f.sent(),s.setSelectedRows([]),[3,4];case 3:return console.error("Error triggering workflows:",f.sent()),e.exit(),[3,4];case 4:return[3,14];case 5:if(o)return[3,13];if(!a)return[3,9];f.label=6;case 6:return f.trys.push([6,8,,9]),[4,(0,i.resolveExpressions)(a,e)];case 7:return p=f.sent(),[3,9];case 8:return f.sent(),[3,9];case 9:return f.trys.push([9,11,,12]),[4,e.api.request({url:"workflows:trigger",method:"post",params:{triggerWorkflows:W(c)},data:{values:p}})];case 10:return f.sent(),[3,12];case 11:return console.error("Error triggering workflows:",f.sent()),e.exit(),[3,12];case 12:return[3,14];case 13:throw Error("Invalid context type");case 14:return[2]}})})()}},afterSuccess:{use:"afterSuccess",defaultParams:{successMessage:p("Operation succeeded"),actionAfterSuccess:"previous"}}}});var z=function(e){function t(){var e;return y(this,t),e=b(this,t,arguments),w(e,"defaultProps",{title:p("Trigger global workflow"),icon:"ThunderboltOutlined"}),e}return k(t,e),t}(o.ActionModel);z.define({label:p("Trigger global workflow")}),z.registerFlow({key:"workbenchTriggerWorkflowsActionSettings",on:"click",title:"{{t('Workflow', { ns: 'workflow' })}}",steps:{confirm:{use:"confirm"},triggerWorkflows:{title:"{{t('Bind workflows', { ns: 'workflow' })}}",uiSchema:function(){return R({withContextData:!0,description:p('Only support custom action workflow with context type set to "Custom context".'),optionFilter:function(e){return F(e.config,0)}})},handler:function(e,t){return m(function(){var r;return T(this,function(o){switch(o.label){case 0:if(!t.contextData)return[3,4];o.label=1;case 1:return o.trys.push([1,3,,4]),[4,(0,i.resolveExpressions)(t.contextData,e)];case 2:return r=o.sent(),[3,4];case 3:return o.sent(),[3,4];case 4:return o.trys.push([4,6,,7]),[4,e.api.request({url:"workflows:trigger",method:"post",params:{triggerWorkflows:W(t.group)},data:{values:r}})];case 5:return o.sent(),e.message.success(e.t("Operation succeeded")),[3,7];case 6:return console.error("Error triggering workflows:",o.sent()),[3,7];case 7:return[2]}})})()}},afterSuccess:{use:"afterSuccess",defaultParams:{successMessage:p("Operation succeeded"),actionAfterSuccess:"previous"}}}});var q=g(230),_=g(990);function V(t){var r,o,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.i18n.t(t,(r=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},o=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),o.forEach(function(t){var o;o=r[t],t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o})}return e}({},n),o=o={ns:a},Object.getOwnPropertyDescriptors?Object.defineProperties(r,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(r,e,Object.getOwnPropertyDescriptor(o,e))}),r))}var N=g(442),L=g(768);function U(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,o=Array(t);r<t;r++)o[r]=e[r];return o}function K(e,t,r,o,n,i,c){try{var a=e[i](c),l=a.value}catch(e){r(e);return}a.done?t(l):Promise.resolve(l).then(o,n)}function $(e){return function(){var t=this,r=arguments;return new Promise(function(o,n){var i=e.apply(t,r);function c(e){K(i,o,n,c,a,"next",e)}function a(e){K(i,o,n,c,a,"throw",e)}c(void 0)})}}function G(e,t){if(e){if("string"==typeof e)return U(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 U(e,t)}}function J(e,t){var r,o,n,i={label:0,sent:function(){if(1&n[0])throw n[1];return n[1]},trys:[],ops:[]},c=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),a=Object.defineProperty;return a(c,"next",{value:l(0)}),a(c,"throw",{value:l(1)}),a(c,"return",{value:l(2)}),"function"==typeof Symbol&&a(c,Symbol.iterator,{value:function(){return this}}),c;function l(a){return function(l){var s=[a,l];if(r)throw TypeError("Generator is already executing.");for(;c&&(c=0,s[0]&&(i=0)),i;)try{if(r=1,o&&(n=2&s[0]?o.return:s[0]?o.throw||((n=o.return)&&n.call(o),0):o.next)&&!(n=n.call(o,s[1])).done)return n;switch(o=0,n&&(s=[2&s[0],n.value]),s[0]){case 0:case 1:n=s;break;case 4:return i.label++,{value:s[1],done:!1};case 5:i.label++,o=s[1],s=[0];continue;case 7:s=i.ops.pop(),i.trys.pop();continue;default:if(!(n=(n=i.trys).length>0&&n[n.length-1])&&(6===s[0]||2===s[0])){i=0;continue}if(3===s[0]&&(!n||s[1]>n[0]&&s[1]<n[3])){i.label=s[1];break}if(6===s[0]&&i.label<n[1]){i.label=n[1],n=s;break}if(n&&i.label<n[2]){i.label=n[2],i.ops.push(s);break}n[2]&&i.ops.pop(),i.trys.pop();continue}s=t.call(e,i)}catch(e){s=[6,e],o=0}finally{r=n=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}}}var H=/\{\{.+?\}\}/;function Y(){var t=(0,e.useAPIClient)(),r=(0,e.useActionContext)().setVisible,o=(0,N.useNavigate)(),n=(0,q.useFieldSchema)(),i=(0,q.useField)(),a=(0,e.useCompile)(),l=c.App.useApp(),s=l.modal,u=l.message,p=(0,e.useLocalVariables)(),f=(0,e.useVariables)();return{onClick:function(c,l){return $(function(){var c,d,g,m,b,y,w,h,v,k,x,S,O,C,P;return J(this,function(T){switch(T.label){case 0:if(g=(d=null!=(c=null==n?void 0:n["x-action-settings"])?c:{}).onSuccess,m=d.triggerWorkflows,b=d.contextData,w=(y=g||{}).manualClose,h=y.redirecting,v=y.redirectTo,k=y.successMessage,x=y.actionAfterSuccess,!(null==m?void 0:m.length))return u.error(V("Button is not configured properly, please contact the administrator.")),[2];i.data=i.data||{},i.data.loading=!0,T.label=1;case 1:if(T.trys.push([1,8,9,10]),S={variables:f,localVariables:p},!b)return[3,5];T.label=2;case 2:return T.trys.push([2,4,,5]),[4,function t(r,o){return $(function(){var n,i,c,a,l,s,u,p,f;return J(this,function(d){var g;switch(d.label){case 0:if("string"==typeof r)return[2,H.test(r)?(0,e.getVariableValue)(r,o):r];if(Array.isArray(r))return[2,Promise.all(r.map(function(e){return t(e,o)}))];if(null===r||(void 0===r?"undefined":r&&"u">typeof Symbol&&r.constructor===Symbol?"symbol":typeof r)!="object")return[3,9];n={},i=!0,c=!1,a=void 0,d.label=1;case 1:d.trys.push([1,6,7,8]),l=Object.entries(r)[Symbol.iterator](),d.label=2;case 2:if(i=(s=l.next()).done)return[3,5];return p=(u=function(e){if(Array.isArray(e))return e}(g=s.value)||function(e){var t,r,o=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var n=[],i=!0,c=!1;try{for(o=o.call(e);!(i=(t=o.next()).done)&&(n.push(t.value),2!==n.length);i=!0);}catch(e){c=!0,r=e}finally{try{i||null==o.return||o.return()}finally{if(c)throw r}}return n}}(g)||G(g,2)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}())[0],[4,t(u[1],o)];case 3:n[p]=d.sent(),d.label=4;case 4:return i=!0,[3,2];case 5:return[3,8];case 6:return f=d.sent(),c=!0,a=f,[3,8];case 7:try{i||null==l.return||l.return()}finally{if(c)throw a}return[7];case 8:return[2,n];case 9:return[2,r]}})})()}("string"==typeof b?JSON.parse(b):b,S)];case 3:return O=T.sent(),[3,5];case 4:return T.sent(),[3,5];case 5:return[4,t.resource("workflows").trigger({values:O,triggerWorkflows:m.map(function(e){return[e.workflowKey,e.context].filter(Boolean).join("!")}).join(",")})];case 6:return C=T.sent(),i.data.data=C,null==l||l(),"previous"!==x&&(x||!0===h)||null==r||r(!1),[4,(0,e.getVariableValue)(v,{variables:f,localVariables:p})];case 7:if(P=T.sent(),!k)return(h&&!x||"redirect"===x)&&P&&((0,L.isURL)(P)?window.location.href=P:o(P)),[2];return w?s.success({title:a(k),onOk:function(){return $(function(){return J(this,function(e){return(h&&!x||"redirect"===x)&&P&&((0,L.isURL)(P)?window.location.href=P:o(P)),[2]})})()}}):(u.success(a(k)),(h&&!x||"redirect"===x)&&P&&((0,L.isURL)(g.redirectTo)?window.location.href=g.redirectTo:o(g.redirectTo))),[3,10];case 8:return console.error(T.sent()),[3,10];case 9:return i.data.loading=!1,[7];case 10:return[2]}})})()}}}function Q(){var t=(0,e.useAPIClient)(),r=(0,e.useActionContext)().setVisible,o=(0,N.useNavigate)(),n=(0,q.useFieldSchema)(),i=(0,q.useField)(),a=(0,e.useCompile)(),l=c.App.useApp(),s=l.modal,u=l.message,p=(0,e.useCollection)(),f=(0,e.useBlockRequestContext)().field,d=(0,e.useLocalVariables)(),g=(0,e.useVariables)();return{onClick:function(c,l){return $(function(){var c,m,b,y,w,h,v,k,x,S,O,C,P,T,j,A;return J(this,function(W){switch(W.label){case 0:if(w=(y=null!=(c=null==n?void 0:n["x-action-settings"])?c:{}).onSuccess,h=y.triggerWorkflows,k=(v=w||{}).manualClose,x=v.redirecting,S=v.redirectTo,O=v.successMessage,C=v.actionAfterSuccess,!(null==h?void 0:h.length))return u.error(V("Button is not configured properly, please contact the administrator.")),[2];if(!(null==(b=f.data)||null==(m=b.selectedRowKeys)?void 0:m.length))return u.error(V("Please select at least one record.")),[2];i.data=i.data||{},i.data.loading=!0,W.label=1;case 1:return W.trys.push([1,4,5,6]),[4,t.resource(p.name,void 0,{"x-data-source":p.dataSource}).trigger({filterByTk:null==(P=f.data)?void 0:P.selectedRowKeys,triggerWorkflows:(null==h?void 0:h.length)?h.map(function(e){return[e.workflowKey,e.context].filter(Boolean).join("!")}).join(","):void 0})];case 2:return j=W.sent(),(null==(T=f.data)?void 0:T.clearSelectedRowKeys)&&f.data.clearSelectedRowKeys(),i.data.data=j,null==l||l(),"previous"!==C&&(C||!0===x)||null==r||r(!1),[4,(0,e.getVariableValue)(S,{variables:g,localVariables:d})];case 3:if(A=W.sent(),!O)return(x&&!C||"redirect"===C)&&A&&((0,L.isURL)(A)?window.location.href=A:o(A)),[2];return k?s.success({title:a(O),onOk:function(){return $(function(){return J(this,function(e){return(x&&!C||"redirect"===C)&&A&&((0,L.isURL)(A)?window.location.href=A:o(A)),[2]})})()}}):(u.success(a(O)),(x&&!C||"redirect"===C)&&A&&((0,L.isURL)(w.redirectTo)?window.location.href=w.redirectTo:o(w.redirectTo))),[3,6];case 4:return console.error(W.sent()),[3,6];case 5:return i.data.loading=!1,[7];case 6:return[2]}})})()}}}function X(){var t=(0,q.useForm)(),r=(0,e.useBlockRequestContext)(),o=(r.field,r.resource),n=(0,e.useActionContext)().setVisible,i=(0,e.useFilterByTk)(),a=(0,N.useNavigate)(),l=(0,q.useFieldSchema)(),s=(0,q.useField)(),u=(0,e.useCompile)(),p=c.App.useApp(),f=p.modal,d=p.message,g=(0,e.useCollectValuesToSubmit)(),m=(0,e.useLocalVariables)(),b=(0,e.useVariables)();return{onClick:function(r,c){return $(function(){var r,p,y,w,h,v,k,x,S,O,C,P,T,j;return J(this,function(A){switch(A.label){case 0:if(y=(p=null!=(r=null==l?void 0:l["x-action-settings"])?r:{}).onSuccess,w=p.skipValidator,h=p.triggerWorkflows,k=(v=y||{}).manualClose,x=v.redirecting,S=v.redirectTo,O=v.successMessage,C=v.actionAfterSuccess,!(null==h?void 0:h.length))return d.error(V("Button is not configured properly, please contact the administrator.")),[2];if(w)return[3,2];return[4,t.submit()];case 1:A.sent(),A.label=2;case 2:return[4,g()];case 3:P=A.sent(),s.data=s.data||{},s.data.loading=!0,A.label=4;case 4:return A.trys.push([4,7,8,9]),[4,o.trigger({values:P,filterByTk:i,triggerWorkflows:(null==h?void 0:h.length)?h.map(function(e){return[e.workflowKey,e.context].filter(Boolean).join("!")}).join(","):void 0})];case 5:return T=A.sent(),s.data.data=T,null==c||c(),"previous"!==C&&(C||!0===x)||null==n||n(!1),[4,(0,e.getVariableValue)(S,{variables:b,localVariables:m})];case 6:if(j=A.sent(),!O)return(x&&!C||"redirect"===C)&&j&&((0,L.isURL)(j)?window.location.href=j:a(j)),[2];return k?f.success({title:u(O),onOk:function(){return $(function(){return J(this,function(e){switch(e.label){case 0:return[4,t.reset()];case 1:return e.sent(),(x&&!C||"redirect"===C)&&j&&((0,L.isURL)(j)?window.location.href=j:a(j)),[2]}})})()}}):(d.success(u(O)),(x&&!C||"redirect"===C)&&j&&((0,L.isURL)(y.redirectTo)?window.location.href=y.redirectTo:a(y.redirectTo))),[3,9];case 7:return console.error(A.sent()),[3,9];case 8:return s.data.loading=!1,[7];case 9:return[2]}})})()}}}function Z(){var t=(0,e.useCompile)(),r=(0,e.useFilterByTk)(),o=(0,e.useCollectionRecordData)(),n=(0,q.useField)(),i=(0,q.useFieldSchema)(),a=(0,e.useBlockRequestContext)(),l=(a.field,a.resource),s=(0,e.useActionContext)(),u=s.setVisible,p=s.setSubmitted,f=c.App.useApp(),d=f.modal,g=f.message,m=(0,N.useNavigate)(),b=(0,e.useLocalVariables)(),y=(0,e.useVariables)();return{onClick:function(c,a){return $(function(){var c,s,f,w,h,v,k,x,S,O,C;return J(this,function(P){switch(P.label){case 0:if(f=(s=null!=(c=null==i?void 0:i["x-action-settings"])?c:{}).onSuccess,w=s.triggerWorkflows,v=(h=f||{}).manualClose,k=h.redirecting,x=h.redirectTo,S=h.successMessage,O=h.actionAfterSuccess,!(null==w?void 0:w.length))return g.error(V("Button is not configured properly, please contact the administrator.")),[2];n.data=n.data||{},n.data.loading=!0,P.label=1;case 1:return P.trys.push([1,4,5,6]),[4,l.trigger({filterByTk:r,triggerWorkflows:(null==w?void 0:w.length)?w.map(function(e){return[e.workflowKey,e.context].filter(Boolean).join("!")}).join(","):void 0})];case 2:return P.sent(),a&&a(),"previous"!==O&&(O||!0===k)||null==u||u(!1),null==p||p(!0),[4,(0,e.getVariableValue)(x,{variables:y,localVariables:((function(e){if(Array.isArray(e))return U(e)})(b)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(b)||G(b)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()).concat([{name:"$record",ctx:new Proxy(o,{})}])})];case 3:if(C=P.sent(),!S)return(k&&!O||"redirect"===O)&&C&&((0,L.isURL)(C)?window.location.href=C:m(C)),[2];return v?d.success({title:t(S),onOk:function(){return $(function(){return J(this,function(e){return(k&&!O||"redirect"===O)&&C&&((0,L.isURL)(C)?window.location.href=C:m(C)),[2]})})()}}):(g.success(t(S)),(k&&!O||"redirect"===O)&&C&&((0,L.isURL)(f.redirectTo)?window.location.href=f.redirectTo:m(f.redirectTo))),[3,6];case 4:return console.error(P.sent()),[3,6];case 5:return n.data.loading=!1,[7];case 6:return[2]}})})()}}}function ee(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},o=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),o.forEach(function(t){var o;o=r[t],t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o})}return e}function et(e){var t=(0,_.useCurrentWorkflowContext)();return e.types.includes(t.config.type)||e.types.includes(0)&&!t.config.type?e.children:null}function er(e){return(0,_.useCurrentWorkflowContext)().config.type?r().createElement(_.TriggerCollectionRecordSelect,e):r().createElement(_.WorkflowVariableJSON,ee({changeOnSelect:!0,autoSize:{minRows:6}},e))}function eo(t){var o,n,i=Y().onClick;return r().createElement(e.Action,(o=ee({},t),n=n={onClick:i},Object.getOwnPropertyDescriptors?Object.defineProperties(o,Object.getOwnPropertyDescriptors(n)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t})(Object(n)).forEach(function(e){Object.defineProperty(o,e,Object.getOwnPropertyDescriptor(n,e))}),o))}function en(o){var n=(0,e.useCurrentUserVariable)({noDisabled:!0}).currentUserSettings,i=(0,e.useCurrentRoleVariable)({noDisabled:!0}).currentRoleSettings,c=(0,e.useAPITokenVariable)({noDisabled:!0}).apiTokenSettings,a=(0,t.useMemo)(function(){return[n,i,c].filter(Boolean)},[n,i,c]);return r().createElement(e.Variable.JSON,ee({changeOnSelect:!0,scope:a},o))}function ei(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,o=Array(t);r<t;r++)o[r]=e[r];return o}function ec(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function ea(e){return(ea=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function el(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},o=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),o.forEach(function(t){ec(e,t,r[t])})}return e}function es(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 eu(e,t){return(eu=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function ep(e){return function(e){if(Array.isArray(e))return ei(e)}(e)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||ef(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 ef(e,t){if(e){if("string"==typeof e)return ei(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 ei(e,t)}}function ed(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(ed=function(){return!!e})()}function eg(t,r){var o,n,i=(0,e.useCompile)(),c=(0,_.useGetDataSourceCollectionManager)(),a=(function(e){if(Array.isArray(e))return e}(o=t.collection?(0,e.parseCollectionName)(t.collection):[])||function(e){var t,r,o=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var n=[],i=!0,c=!1;try{for(o=o.call(e);!(i=(t=o.next()).done)&&(n.push(t.value),1!==n.length);i=!0);}catch(e){c=!0,r=e}finally{try{i||null==o.return||o.return()}finally{if(c)throw r}}return n}}(o)||ef(o,1)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}())[0],l=(0,_.useGetDataSourceCollectionManager)(a),s=(0,_.getCollectionFieldOptions)(es(el({appends:["user"]},r),{fields:[{collectionName:"users",name:"user",type:"hasOne",target:"users",uiSchema:{title:V("User acted")}}],compile:i,collectionManager:c}));return t.global||0===t.type||!t.collection?[{label:V("Trigger data"),value:"data"}].concat(ep(s),[{label:V("Role of user acted"),value:"roleName"}]):ep((0,_.getCollectionFieldOptions)(es(el({appends:["data"].concat(ep((null==(n=t.appends)?void 0:n.map(function(e){return"data.".concat(e)}))||[]))},r),{fields:[{collectionName:t.collection,name:"data",type:"hasOne",target:t.collection,uiSchema:{title:V("Trigger data")}}],compile:i,collectionManager:l}))).concat(ep(s),[{label:V("Role of user acted"),value:"roleName"}])}var em=function(t){var o;if("function"!=typeof t&&null!==t)throw TypeError("Super expression must either be null or a function");function n(){var t,o,i;if(!(this instanceof n))throw TypeError("Cannot call a class as a function");return o=n,i=arguments,o=ea(o),ec(t=function(e,t){var r;if(t&&("object"==((r=t)&&"u">typeof Symbol&&r.constructor===Symbol?"symbol":typeof r)||"function"==typeof t))return t;if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(this,ed()?Reflect.construct(o,i||[],ea(this).constructor):o.apply(this,i)),"title",'{{t("Custom action event", { ns: "'.concat(a,'" })}}')),ec(t,"description",'{{t(\'When the "Trigger Workflow" button is clicked, the event is triggered based on different context where the button is located. For complex data processing that cannot be handled simply by built-in operations (CRUD) of NocoBase, you can define a series of operations through a workflow and trigger it with the "Trigger Workflow" button.\', { ns: "'.concat(a,'" })}}')),ec(t,"presetFieldset",{type:{type:"number",title:'{{t("Context type", { ns: "'.concat(a,'" })}}'),description:'{{t("", { ns: "'.concat(a,'" })}}'),"x-decorator":"FormItem","x-component":"RadioWithTooltip","x-component-props":{direction:"vertical",options:s},required:!0,default:0},collection:ec({type:"string",title:'{{t("Collection")}}',required:!0,"x-decorator":"FormItem","x-component":"DataSourceCollectionCascader","x-component-props":{dataSourceFilter:function(e){return"main"===e.options.key||e.options.isDBInstance}}},"x-reactions",[{dependencies:[".type"],fulfill:{state:{visible:"{{Boolean($deps[0])}}"}}}])}),ec(t,"fieldset",{type:{type:"number",title:'{{t("Context type", { ns: "'.concat(a,'" })}}'),description:'{{t("", { ns: "'.concat(a,'" })}}'),"x-decorator":"FormItem","x-component":"RadioWithTooltip","x-component-props":{direction:"vertical",options:s},default:0,"x-disabled":!0},collection:ec({type:"string",title:'{{t("Collection")}}',required:!0,"x-decorator":"FormItem","x-component":"DataSourceCollectionCascader","x-disabled":!0},"x-reactions",[{target:"appends",effects:["onFieldValueChange"],fulfill:{state:{value:[]}}},{dependencies:["type"],fulfill:{state:{visible:"{{Boolean($deps[0])}}"}}}]),appends:{type:"array",title:'{{t("Associations to use", { ns: "'.concat(a,'" })}}'),description:'{{t("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.", { ns: "workflow" })}}',"x-decorator":"FormItem","x-component":"AppendsTreeSelect","x-component-props":{multiple:!0,useCollection:function(){var e=(0,q.useForm)().values;return null==e?void 0:e.collection}},"x-reactions":[{dependencies:["collection"],fulfill:{state:{visible:"{{!!$deps[0]}}"}}}]}}),ec(t,"triggerFieldset",{data:{type:"void","x-component":"TriggerScopeProvider","x-component-props":{types:[0,1]},properties:{data:{type:"object",title:'{{t("Trigger data", { ns: "'.concat(a,'" })}}'),description:'{{t("Use JSON as trigger data for custom data context, or choose a record in single record context.", { ns: "'.concat(a,'" })}}'),"x-decorator":"FormItem","x-component":"TriggerDataInput",default:null}}},filterByTk:{type:"void","x-component":"TriggerScopeProvider","x-component-props":{types:[2]},properties:{filterByTk:{type:"array",title:'{{t("Trigger data", { ns: "'.concat(a,'" })}}'),description:'{{t("Choose a record or primary key of a record in the collection to trigger.", { ns: "workflow" })}}',"x-decorator":"FormItem","x-component":"TriggerCollectionRecordSelect","x-component-props":{multiple:!0,objectValue:!1},default:[],required:!0}}},userId:{type:"number",title:'{{t("User acted", { ns: "'.concat(a,'" })}}'),"x-decorator":"FormItem","x-component":"WorkflowVariableWrapper","x-component-props":{nullable:!1,changeOnSelect:!0,variableOptions:{types:[function(e){return e.isForeignKey||"context"===e.type?"users"===e.target:"users"===e.collectionName&&"id"===e.name}]},render:function(t){return r().createElement(e.RemoteSelect,el({fieldNames:{label:"nickname",value:"id"},service:{resource:"users"},manual:!1},t))}},default:null,required:!0},roleName:{type:"string",title:'{{t("Role of user acted", { ns: "'.concat(a,'" })}}'),"x-decorator":"FormItem","x-component":"WorkflowVariableWrapper","x-component-props":{nullable:!1,changeOnSelect:!0,variableOptions:{types:[function(e){return e.isForeignKey?"roles"===e.target:"roles"===e.collectionName&&"name"===e.name}]},render:function(t){return r().createElement(e.RemoteSelect,el({fieldNames:{label:"title",value:"name"},service:{resource:"roles"},manual:!1},t))}},default:null}}),ec(t,"scope",{useWorkflowAnyExecuted:_.useWorkflowAnyExecuted,useCollectionDataSource:e.useCollectionDataSource}),ec(t,"components",{TriggerScopeProvider:et,TriggerDataInput:er,TriggerCollectionRecordSelect:_.TriggerCollectionRecordSelect,WorkflowVariableWrapper:_.WorkflowVariableWrapper,WorkflowVariableJSON:_.WorkflowVariableJSON,RadioWithTooltip:_.RadioWithTooltip}),ec(t,"isActionTriggerable_deprecated",function(e,t){return"customize:triggerWorkflows"===t.buttonAction&&1===e.type}),ec(t,"useVariables",eg),t}return n.prototype=Object.create(t&&t.prototype,{constructor:{value:n,writable:!0,configurable:!0}}),t&&eu(n,t),o=[{key:"validate",value:function(e){return!e.type||0===e.type||[1,2].includes(e.type)&&e.collection}},{key:"useInitializers",value:function(e){return e.global||!e.collection?null:{name:"triggerData",type:"item",key:"triggerData",title:'{{t("Trigger data", { ns: "workflow" })}}',Component:_.CollectionBlockInitializer,collection:e.collection,dataPath:"$context.data"}}},{key:"getCreateModelMenuItem",value:function(e){var t=e.config;return t.collection?{key:"triggerData",label:'{{t("Trigger data", { ns: "workflow" })}}',useModel:"NodeDetailsModel",createModelOptions:{use:"NodeDetailsModel",stepParams:{resourceSettings:{init:{dataSourceKey:"main",collectionName:t.collection,dataPath:"$context.data"}},cardSettings:{titleDescription:{title:'{{t("Trigger data", { ns: "workflow" })}}'}}},subModels:{grid:{use:"NodeDetailsGridModel",subType:"object"}}}}:null}}],function(e,t){for(var r=0;r<t.length;r++){var o=t[r];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}(n.prototype,o),n}(_.Trigger),eb=g(418),ey=g(953);function ew(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function eh(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},o=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),o.forEach(function(t){ew(e,t,r[t])})}return e}function ev(){var t,o,n=(0,e.useDesignable)().dn,i=(0,ey.useTranslation)().t,l=(0,q.useFieldSchema)(),s=(0,e.useCollection)(),u="customize:collectionTriggerWorkflows"===l["x-action"];return r().createElement(e.SchemaSettingsActionModalItem,{title:i("Bind workflows",{ns:"workflow"}),width:"30%",components:{Alert:c.Alert,ArrayTable:eb.ArrayTable,RemoteSelect:e.RemoteSelect,GlobalContextDataInput:en},scope:{t:i},schema:{type:"void",title:i("Bind workflows",{ns:"workflow"}),properties:eh({description:{type:"void","x-component":"Alert","x-component-props":{message:u?'{{t(\'Only support custom action workflow with context type set to "Multiple records".\', { ns: "'.concat(a,'" })}}'):'{{t(\'Only support custom action workflow with context type set to "Custom context".\', { ns: "'.concat(a,'" })}}'),style:{marginBottom:"1em"}}},group:{type:"array","x-component":"ArrayTable","x-decorator":"FormItem",items:{type:"object",properties:{sort:{type:"void","x-component":"ArrayTable.Column","x-component-props":{width:50,title:"",align:"center"},properties:{sort:{type:"void","x-component":"ArrayTable.SortHandle"}}},workflowKey:{type:"void","x-component":"ArrayTable.Column","x-component-props":{title:"{{t('Workflow', { ns: 'workflow' })}}"},properties:{workflowKey:{type:"string","x-decorator":"FormItem","x-component":"RemoteSelect","x-component-props":{manual:!1,placeholder:i("Select workflow",{ns:"workflow"}),fieldNames:{label:"title",value:"key"},dataSource:"main",service:{resource:"workflows",action:"list",params:{filter:eh({type:"custom-action",enabled:!0},u?{"config.type":2,"config.collection":(0,e.joinCollectionName)(s.dataSource,s.name)}:{$or:[{"config.type":0},{"config.type":null}]})}}},required:!0}}},operations:{type:"void","x-component":"ArrayTable.Column","x-component-props":{width:32},properties:{remove:{type:"void","x-component":"ArrayTable.Remove"}}}}},properties:{add:{type:"void",title:i("Add workflow",{ns:"workflow"}),"x-component":"ArrayTable.Addition"}}}},u?{}:{contextData:{type:"string",title:"{{t('Context data', { ns: \"".concat(a,'" })}}'),description:"{{t('Input JSON as context data passed into the workflow. Frontend variables are supported.', { ns: \"".concat(a,'" })}}'),"x-decorator":"FormItem","x-component":"GlobalContextDataInput","x-component-props":{autoSize:{minRows:5}}}})},initialValues:{group:null==l||null==(t=l["x-action-settings"])?void 0:t.triggerWorkflows,contextData:null==l||null==(o=l["x-action-settings"])?void 0:o.contextData},onSubmit:function(e){var t,r=e.group,o=e.contextData;l["x-action-settings"]||(l["x-action-settings"]={}),l["x-action-settings"].triggerWorkflows=r,l["x-action-settings"].contextData=o,n.emit("patch",{schema:(ew(t={},"x-uid",l["x-uid"]),ew(t,"x-action-settings",l["x-action-settings"]),t)})}})}var ek=new e.SchemaSettings({name:"actionSettings:submitToWorkflow",items:[{name:"editButton",Component:e.ButtonEditor,useComponentProps:function(){return(0,e.useSchemaToolbar)().buttonEditorProps}},{name:"linkageRules",Component:e.SchemaSettingsLinkageRules,useComponentProps:function(){var t,r,o=(0,e.useCollection_deprecated)().name;return t=eh({},(0,e.useSchemaToolbar)().linkageRulesProps),r=r={collectionName:o},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t})(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}),t}},{name:"secondConfirmation",Component:e.SecondConFirm},{name:"assignFieldValues",Component:e.AssignedFieldValues},{name:"skipRequiredValidation",Component:e.SkipValidation},{name:"afterSuccessfulSubmission",Component:e.AfterSuccess},{name:"refreshDataBlockRequest",Component:e.RefreshDataBlockRequest,useComponentProps:function(){return{isPopupAction:!1}}},{name:"bindWorkflow",Component:_.BindWorkflowConfig},e.SchemaSettingAccessControl,{name:"delete",sort:100,Component:e.RemoveButton,useComponentProps:function(){return(0,e.useSchemaToolbar)().removeButtonProps}}]}),ex=new e.SchemaSettings({name:"actionSettings:collectionTriggerWorkflow",items:[{name:"editButton",Component:e.ButtonEditor,useComponentProps:function(){return(0,e.useSchemaToolbar)().buttonEditorProps}},{name:"linkageRules",Component:e.SchemaSettingsLinkageRules,useComponentProps:function(){return eh({},(0,e.useSchemaToolbar)().linkageRulesProps)}},{name:"secondConfirmation",Component:e.SecondConFirm},{name:"afterSuccessfulSubmission",Component:e.AfterSuccess},{name:"refreshDataBlockRequest",Component:e.RefreshDataBlockRequest,useComponentProps:function(){return{isPopupAction:!1}}},{name:"bindWorkflow",Component:ev},e.SchemaSettingAccessControl,{name:"delete",sort:100,Component:e.RemoveButton,useComponentProps:function(){return(0,e.useSchemaToolbar)().removeButtonProps}}]}),eS=new e.SchemaSettings({name:"actionSettings:globalTriggerWorkflow",items:[{name:"editButton",Component:e.ButtonEditor,useComponentProps:function(){return(0,e.useSchemaToolbar)().buttonEditorProps}},{name:"linkageRules",Component:e.SchemaSettingsLinkageRules,useComponentProps:function(){return eh({},(0,e.useSchemaToolbar)().linkageRulesProps)}},{name:"secondConfirmation",Component:e.SecondConFirm},{name:"afterSuccessfulSubmission",Component:e.AfterSuccess},{name:"bindWorkflow",Component:ev},{name:"refreshDataBlockRequest",Component:e.RefreshDataBlockRequest,useComponentProps:function(){return{isPopupAction:!1}},useVisible:function(){return!!(0,(0,e.useDataBlockRequestGetter)().getDataBlockRequest)()}},e.SchemaSettingAccessControl,{name:"delete",sort:100,Component:e.RemoveButton,useComponentProps:function(){return(0,e.useSchemaToolbar)().removeButtonProps}}]});function eO(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},o=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),o.forEach(function(t){var o;o=r[t],t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o})}return e}function eC(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}var eP={name:"triggerWorkflow",title:'{{t("Trigger workflow", { ns: "'.concat(a,'" })}}'),Component:"CustomizeActionInitializer",schema:{title:'{{t("Trigger workflow", { ns: "'.concat(a,'" })}}'),"x-component":"Action","x-use-component-props":"useFormWorkflowCustomActionProps","x-settings":"actionSettings:submitToWorkflow","x-decorator":"ACLActionProvider","x-action-settings":{skipValidator:!1,onSuccess:{manualClose:!0,redirecting:!1,successMessage:'{{t("Submitted successfully")}}'},refreshDataBlockRequest:!0,triggerWorkflows:[]},"x-toolbar-props":{initializer:!1,showBorder:!1},"x-action":"customize:triggerWorkflows"},useVisible:function(){return"publicForm"!==((0,e.useDataBlockProps)()||{}).type}},eT={name:"triggerWorkflow",title:'{{t("Trigger workflow", { ns: "'.concat(a,'" })}}'),Component:"CustomizeActionInitializer",schema:{title:'{{t("Trigger workflow", { ns: "'.concat(a,'" })}}'),"x-component":"Action","x-use-component-props":"useRecordWorkflowCustomTriggerActionProps","x-settings":"actionSettings:submitToWorkflow","x-decorator":"ACLActionProvider","x-action-settings":{onSuccess:{manualClose:!0,redirecting:!1,successMessage:'{{t("Submitted successfully")}}'},refreshDataBlockRequest:!0,triggerWorkflows:[]},"x-toolbar-props":{initializer:!1,showBorder:!1},"x-action":"customize:triggerWorkflows"}},ej=eC(eO({},eT),{schema:eC(eO({},eT.schema),{"x-component":"Action.Link"})}),eA={name:"triggerWorkflow",title:'{{t("Trigger workflow", { ns: "'.concat(a,'" })}}'),Component:"CustomizeActionInitializer",schema:{title:'{{t("Trigger workflow", { ns: "'.concat(a,'" })}}'),"x-component":"Action","x-use-component-props":"useGlobalTriggerWorkflowCustomActionProps","x-settings":"actionSettings:globalTriggerWorkflow","x-decorator":"ACLActionProvider","x-action-settings":{onSuccess:{manualClose:!0,redirecting:!1,successMessage:'{{t("Submitted successfully")}}'},refreshDataBlockRequest:!0,triggerWorkflows:[]},"x-toolbar-props":{initializer:!1,showBorder:!1},"x-action":"customize:globalTriggerWorkflows"}};function eW(t){var o=(0,e.useSchemaInitializer)().insert,n=(0,ey.useTranslation)().t;return r().createElement(e.ModalActionSchemaInitializerItem,{title:n("Trigger workflow",{ns:a}),components:{RadioWithTooltip:_.RadioWithTooltip},modalSchema:{title:'{{t("Trigger workflow", { ns: "'.concat(a,'" })}}'),properties:{type:{title:"{{t('Context type', { ns: \"".concat(a,'" })}}'),"x-decorator":"FormItem","x-component":"RadioWithTooltip","x-component-props":{options:s.filter(function(e){return[0,2].includes(e.value)})},required:!0}}},onSubmit:function(e){o(eO({type:"void",title:"{{t('".concat(e.type?"Trigger workflow":"Trigger global workflow","', { ns: \"").concat(a,'" })}}'),"x-component":"Action","x-component-props":{},"x-action":e.type?"customize:collectionTriggerWorkflows":"customize:globalTriggerWorkflows","x-toolbar":"ActionSchemaToolbar","x-decorator":"ACLActionProvider","x-action-settings":{onSuccess:{manualClose:!1,redirecting:!1,successMessage:'{{t("Operation succeeded")}}'}}},e.type?{"x-use-component-props":"useCollectionTriggerWorkflowCustomActionProps","x-settings":"actionSettings:collectionTriggerWorkflow"}:{"x-use-component-props":"useGlobalTriggerWorkflowCustomActionProps","x-settings":"actionSettings:globalTriggerWorkflow"}))}})}function eI(t){var o=(0,e.useSchemaInitializer)().insert,n=(0,ey.useTranslation)().t;return r().createElement(e.ModalActionSchemaInitializerItem,{title:n("Trigger workflow",{ns:a}),modalSchema:{title:'{{t("Trigger workflow", { ns: "'.concat(a,'" })}}'),properties:{title:{title:"{{t('Title')}}","x-component":"Input","x-decorator":"FormItem",required:!0,default:'{{t("Trigger workflow", { ns: "'.concat(a,'" })}}')},icon:{title:"{{t('Icon')}}","x-component":"IconPicker","x-decorator":"FormItem",required:!0,default:"thunderboltoutlined"},iconColor:{title:"{{t('Color')}}","x-component":"ColorPicker","x-decorator":"FormItem",required:!0,default:"#1677FF"}}},onSubmit:function(e){o({type:"void",title:e.title,"x-component":"WorkbenchAction","x-decorator":"ACLActionProvider","x-component-props":{icon:e.icon,iconColor:e.iconColor,targetComponent:"GlobalTriggerWorkflowAction"},"x-action":"customize:globalTriggerWorkflows","x-toolbar":"ActionSchemaToolbar","x-settings":"actionSettings:globalTriggerWorkflow","x-action-settings":{onSuccess:{manualClose:!1,redirecting:!1,successMessage:'{{t("Operation succeeded")}}'}}})}})}function eR(e,t,r,o,n,i,c){try{var a=e[i](c),l=a.value}catch(e){r(e);return}a.done?t(l):Promise.resolve(l).then(o,n)}function eM(e){return function(){var t=this,r=arguments;return new Promise(function(o,n){var i=e.apply(t,r);function c(e){eR(i,o,n,c,a,"next",e)}function a(e){eR(i,o,n,c,a,"throw",e)}c(void 0)})}}function eF(e,t,r){return(eF=ez()?Reflect.construct:function(e,t,r){var o=[null];o.push.apply(o,t);var n=new(Function.bind.apply(e,o));return r&&eE(n,r.prototype),n}).apply(null,arguments)}function eB(e){return(eB=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function eE(e,t){return(eE=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function eD(e){var t="function"==typeof Map?new Map:void 0;return(eD=function(e){if(null===e||-1===Function.toString.call(e).indexOf("[native code]"))return e;if("function"!=typeof e)throw TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,r)}function r(){return eF(e,arguments,eB(this).constructor)}return r.prototype=Object.create(e.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),eE(r,e)})(e)}function ez(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(ez=function(){return!!e})()}function eq(e,t){var r,o,n,i={label:0,sent:function(){if(1&n[0])throw n[1];return n[1]},trys:[],ops:[]},c=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),a=Object.defineProperty;return a(c,"next",{value:l(0)}),a(c,"throw",{value:l(1)}),a(c,"return",{value:l(2)}),"function"==typeof Symbol&&a(c,Symbol.iterator,{value:function(){return this}}),c;function l(a){return function(l){var s=[a,l];if(r)throw TypeError("Generator is already executing.");for(;c&&(c=0,s[0]&&(i=0)),i;)try{if(r=1,o&&(n=2&s[0]?o.return:s[0]?o.throw||((n=o.return)&&n.call(o),0):o.next)&&!(n=n.call(o,s[1])).done)return n;switch(o=0,n&&(s=[2&s[0],n.value]),s[0]){case 0:case 1:n=s;break;case 4:return i.label++,{value:s[1],done:!1};case 5:i.label++,o=s[1],s=[0];continue;case 7:s=i.ops.pop(),i.trys.pop();continue;default:if(!(n=(n=i.trys).length>0&&n[n.length-1])&&(6===s[0]||2===s[0])){i=0;continue}if(3===s[0]&&(!n||s[1]>n[0]&&s[1]<n[3])){i.label=s[1];break}if(6===s[0]&&i.label<n[1]){i.label=n[1],n=s;break}if(n&&i.label<n[2]){i.label=n[2],i.ops.push(s);break}n[2]&&i.ops.pop(),i.trys.pop();continue}s=t.call(e,i)}catch(e){s=[6,e],o=0}finally{r=n=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}}}var e_=function(e){var t;if("function"!=typeof e&&null!==e)throw TypeError("Super expression must either be null or a function");function r(){var e,t;if(!(this instanceof r))throw TypeError("Cannot call a class as a function");return e=r,t=arguments,e=eB(e),function(e,t){var r;if(t&&("object"==((r=t)&&"u">typeof Symbol&&r.constructor===Symbol?"symbol":typeof r)||"function"==typeof t))return t;if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(this,ez()?Reflect.construct(e,t||[],eB(this).constructor):e.apply(this,t))}return r.prototype=Object.create(e&&e.prototype,{constructor:{value:r,writable:!0,configurable:!0}}),e&&eE(r,e),t=[{key:"beforeLoad",value:function(){return eM(function(){var e;return eq(this,function(t){return e=this,this.app.eventBus.addEventListener("plugin:kanban:loaded",function(){e.app.schemaInitializerManager.get("kanban:configureActions").add("customize.triggerWorkflow",eA)}),this.app.eventBus.addEventListener("plugin:calendar:loaded",function(){e.app.schemaInitializerManager.get("calendar:configureActions").add("customize.triggerWorkflow",eA)}),this.app.eventBus.addEventListener("plugin:gantt:loaded",function(){e.app.schemaInitializerManager.get("gantt:configureActions").add("customize.triggerWorkflow",eA),e.app.schemaInitializerManager.addItem("gantt:configureActions","customize.triggerWorkflow",{Component:eW})}),this.app.eventBus.addEventListener("plugin:block-workbench:loaded",function(){e.app.schemaInitializerManager.addItem("workbench:configureActions","customize.triggerWorkflow",{Component:eI});var t=e.flowEngine.getModelClass("ActionPanelGroupActionModel");t&&t.registerActionModels({WorkbenchTriggerWorkflowActionModel:z})}),[2]})}).call(this)}},{key:"load",value:function(){return eM(function(){return eq(this,function(e){return this.app.pm.get("workflow").registerTrigger(l,em),this.app.addScopes({useFormWorkflowCustomActionProps:X,useRecordWorkflowCustomTriggerActionProps:Z,useCollectionTriggerWorkflowCustomActionProps:Q,useGlobalTriggerWorkflowCustomActionProps:Y}),this.app.addComponents({GlobalTriggerWorkflowAction:eo}),this.app.schemaSettingsManager.add(ek),this.app.schemaSettingsManager.add(ex),this.app.schemaSettingsManager.add(eS),this.app.schemaInitializerManager.get("FormActionInitializers").add("customize.triggerWorkflow",eP),this.app.schemaInitializerManager.get("createForm:configureActions").add("customize.triggerWorkflow",eP),this.app.schemaInitializerManager.get("editForm:configureActions").add("customize.triggerWorkflow",eP),this.app.schemaInitializerManager.get("detailsWithPaging:configureActions").add("customize.triggerWorkflow",eT),this.app.schemaInitializerManager.get("details:configureActions").add("customize.triggerWorkflow",eT),this.app.schemaInitializerManager.get("table:configureItemActions").add("customize.triggerWorkflow",ej),this.app.schemaInitializerManager.get("gridCard:configureItemActions").add("customize.triggerWorkflow",ej),this.app.schemaInitializerManager.get("list:configureItemActions").add("customize.triggerWorkflow",ej),this.app.schemaInitializerManager.get("list:configureActions").add("customize.triggerWorkflow",eA),this.app.schemaInitializerManager.get("gridCard:configureActions").add("customize.triggerWorkflow",eA),this.app.schemaInitializerManager.addItem("table:configureActions","customize.triggerWorkflow",{Component:eW}),this.flowEngine.registerModels({FormTriggerWorkflowActionModel:B,RecordTriggerWorkflowActionModel:E,CollectionTriggerWorkflowActionModel:D,WorkbenchTriggerWorkflowActionModel:z}),[2]})}).call(this)}}],function(e,t){for(var r=0;r<t.length;r++){var o=t[r];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}(r.prototype,t),r}(eD(e.Plugin))}(),h}()});
|
package/dist/client-v2/index.js
CHANGED
|
@@ -7,4 +7,4 @@
|
|
|
7
7
|
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
|
-
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("react"),require("antd"),require("@emotion/css"),require("@nocobase/client-v2"),require("@nocobase/flow-engine")):"function"==typeof define&&define.amd?define("@nocobase/plugin-workflow-custom-action-trigger/client-v2",["react","antd","@emotion/css","@nocobase/client-v2","@nocobase/flow-engine"],t):"object"==typeof exports?exports["@nocobase/plugin-workflow-custom-action-trigger/client-v2"]=t(require("react"),require("antd"),require("@emotion/css"),require("@nocobase/client-v2"),require("@nocobase/flow-engine")):e["@nocobase/plugin-workflow-custom-action-trigger/client-v2"]=t(e.react,e.antd,e["@emotion/css"],e["@nocobase/client-v2"],e["@nocobase/flow-engine"])}(self,function(e,t,r,o,n){return function(){"use strict";var i={477:function(e){e.exports=r},485:function(e){e.exports=o},694:function(e){e.exports=n},59:function(e){e.exports=t},155:function(t){t.exports=e}},c={};function l(e){var t=c[e];if(void 0!==t)return t.exports;var r=c[e]={exports:{}};return i[e](r,r.exports,l),r.exports}l.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return l.d(t,{a:t}),t},l.d=function(e,t){for(var r in t)l.o(t,r)&&!l.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},l.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),l.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},l.r=function(e){"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},l.g.importScripts&&(a=l.g.location+"");var a,u=l.g.document;if(!a&&u&&(u.currentScript&&"SCRIPT"===u.currentScript.tagName.toUpperCase()&&(a=u.currentScript.src),!a)){var s=u.getElementsByTagName("script");if(s.length)for(var f=s.length-1;f>-1&&(!a||!/^http(s?):/.test(a));)a=s[f--].src}if(!a)throw Error("Automatic publicPath is not supported in this browser");l.p=a.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/");var p={};return!function(){var e="",t="u">typeof document?document.currentScript:null;if(t&&t.src&&(e=t.src.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/")),!e){var r=window.__webpack_public_path__||"";r&&("/"!==r.charAt(r.length-1)&&(r+="/"),e=r+"static/plugins/@nocobase/plugin-workflow-custom-action-trigger/dist/client-v2/")}if(!e){if(!(e=window.__nocobase_public_path__||"")&&window.location&&window.location.pathname){var o=window.location.pathname||"/",n=o.indexOf("/v2/");e=n>=0?o.slice(0,n+1):"/"}e&&(e=e.replace(/\/v2\/?$/,"/")),e||(e="/"),"/"!==e.charAt(e.length-1)&&(e+="/"),e+="static/plugins/@nocobase/plugin-workflow-custom-action-trigger/dist/client-v2/"}l.p=e}(),!function(){l.r(p),l.d(p,{CollectionTriggerWorkflowActionModel:function(){return R},FormTriggerWorkflowActionModel:function(){return E},default:function(){return L},registerTriggerWorkflowActionGroups:function(){return q},WorkbenchTriggerWorkflowActionModel:function(){return B},RecordTriggerWorkflowActionModel:function(){return _}});var e=l(485),t="@nocobase/plugin-workflow-custom-action-trigger",r="custom-action",o=[{label:"{{t('Custom context', { ns: \"".concat(t,'" })}}'),value:0,tooltip:"{{t('Could be used on non-record related action buttons. You can provide custom JSON as trigger data.', { ns: \"".concat(t,'" })}}')},{label:"{{t('Single collection record', { ns: \"".concat(t,'" })}}'),value:1,tooltip:"{{t('Could only be used on single record related action buttons. Such as in form, detail block and table row of record.', { ns: \"".concat(t,'" })}}')},{label:"{{t('Multiple collection records', { ns: \"".concat(t,'" })}}'),value:2,tooltip:"{{t('Could only be used on multiple record related action buttons. Such as for batch action in table block. The data in trigger variable will be an array.', { ns: \"".concat(t,'" })}}')}],n=l(155),i=l.n(n),c=l(477),a=l(694),u=l(59),s="@nocobase/plugin-workflow-custom-action-trigger";function f(e,t){return(0,a.tExpr)(e,function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},o=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),o.forEach(function(t){var o;o=r[t],t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o})}return e}({ns:s},t))}function d(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,o=Array(t);r<t;r++)o[r]=e[r];return o}function g(e,t,r,o,n,i,c){try{var l=e[i](c),a=l.value}catch(e){r(e);return}l.done?t(a):Promise.resolve(a).then(o,n)}function y(e){return function(){var t=this,r=arguments;return new Promise(function(o,n){var i=e.apply(t,r);function c(e){g(i,o,n,c,l,"next",e)}function l(e){g(i,o,n,c,l,"throw",e)}c(void 0)})}}function b(e,t,r){return t=h(t),function(e,t){var r;if(t&&("object"==((r=t)&&"u">typeof Symbol&&r.constructor===Symbol?"symbol":typeof r)||"function"==typeof t))return t;if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e,j()?Reflect.construct(t,r||[],h(e).constructor):t.apply(e,r))}function w(e,t){if(!(e instanceof t))throw TypeError("Cannot call a class as a function")}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 h(e){return(h=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function v(e,t){if("function"!=typeof t&&null!==t)throw TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&O(e,t)}function k(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},o=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),o.forEach(function(t){m(e,t,r[t])})}return e}function x(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 O(e,t){return(O=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function S(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r,o,n=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var i=[],c=!0,l=!1;try{for(n=n.call(e);!(c=(r=n.next()).done)&&(i.push(r.value),!t||i.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{c||null==n.return||n.return()}finally{if(l)throw o}}return i}}(e,t)||function(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)}}(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 j(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(j=function(){return!!e})()}function T(e,t){var r,o,n,i={label:0,sent:function(){if(1&n[0])throw n[1];return n[1]},trys:[],ops:[]},c=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),l=Object.defineProperty;return l(c,"next",{value:a(0)}),l(c,"throw",{value:a(1)}),l(c,"return",{value:a(2)}),"function"==typeof Symbol&&l(c,Symbol.iterator,{value:function(){return this}}),c;function a(l){return function(a){var u=[l,a];if(r)throw TypeError("Generator is already executing.");for(;c&&(c=0,u[0]&&(i=0)),i;)try{if(r=1,o&&(n=2&u[0]?o.return:u[0]?o.throw||((n=o.return)&&n.call(o),0):o.next)&&!(n=n.call(o,u[1])).done)return n;switch(o=0,n&&(u=[2&u[0],n.value]),u[0]){case 0:case 1:n=u;break;case 4:return i.label++,{value:u[1],done:!1};case 5:i.label++,o=u[1],u=[0];continue;case 7:u=i.ops.pop(),i.trys.pop();continue;default:if(!(n=(n=i.trys).length>0&&n[n.length-1])&&(6===u[0]||2===u[0])){i=0;continue}if(3===u[0]&&(!n||u[1]>n[0]&&u[1]<n[3])){i.label=u[1];break}if(6===u[0]&&i.label<n[1]){i.label=n[1],n=u;break}if(n&&i.label<n[2]){i.label=n[2],i.ops.push(u);break}n[2]&&i.ops.pop(),i.trys.pop();continue}u=t.call(e,i)}catch(e){u=[6,e],o=0}finally{r=n=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}}function A(){var e,t,r=(e=["\n & > .ant-space-item:first-child,\n & > .ant-space-item:last-child {\n flex: 0 0 auto;\n }\n & > .ant-space-item:nth-child(2) {\n flex: 1;\n min-width: 0;\n }\n & > .ant-space-item:nth-child(2) .ant-select {\n width: 100%;\n }\n "],t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}})));return A=function(){return r},r}function P(e){var t,r,o,n,i=function(e){var t,r=(null==e?void 0:e.dataSourceKey)||(null==e||null==(t=e.dataSource)?void 0:t.key),o=null==e?void 0:e.name;if(o)return r&&"main"!==r?"".concat(r,":").concat(o):o}((null==e||null==(t=e.blockModel)?void 0:t.collection)||(null==e||null==(n=e.model)||null==(o=n.context)||null==(r=o.blockModel)?void 0:r.collection));return i?{"config.collection":i}:void 0}var M=function(e){return(null==e?void 0:e.length)?e.map(function(e){return[e.workflowKey,e.context].filter(Boolean).join("!")}).join(","):void 0};function C(e){var t=e.filter,o=e.optionFilter,n=function(e,t){if(null==e)return{};var r,o,n,i={};if("u">typeof Reflect&&Reflect.ownKeys){for(n=0,r=Reflect.ownKeys(Object(e));n<r.length;n++)o=r[n],!(t.indexOf(o)>=0)&&Object.prototype.propertyIsEnumerable.call(e,o)&&(i[o]=e[o]);return i}if(i=function(e,t){if(null==e)return{};var r,o,n={},i=Object.getOwnPropertyNames(e);for(o=0;o<i.length;o++)r=i[o],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r]);return n}(e,t),Object.getOwnPropertySymbols)for(n=0,r=Object.getOwnPropertySymbols(e);n<r.length;n++)o=r[n],!(t.indexOf(o)>=0)&&Object.prototype.propertyIsEnumerable.call(e,o)&&(i[o]=e[o]);return i}(e,["filter","optionFilter"]),c=(0,a.useFlowContext)(),l=S(i().useState([]),2),s=l[0],f=l[1],p=S(i().useState(!1),2),d=p[0],g=p[1];return i().useEffect(function(){var e=!0;return y(function(){var n,i,l;return T(this,function(a){switch(a.label){case 0:g(!0),a.label=1;case 1:return a.trys.push([1,3,4,5]),[4,c.api.request({url:"workflows:list",method:"get",params:{paginate:!1,filter:k({type:r,enabled:!0},t)}})];case 2:if(i=a.sent(),!e)return[2];return l=(null==i||null==(n=i.data)?void 0:n.data)||[],f(("function"==typeof o?l.filter(o):l).map(function(e){return{label:e.title,value:e.key}})),[3,5];case 3:return console.error("Error loading workflows:",a.sent()),[3,5];case 4:return e&&g(!1),[7];case 5:return[2]}})})(),function(){e=!1}},[c.api,t,o]),i().createElement(u.Select,x(k({},n),{loading:d,options:s}))}function F(t){var r=t.description,o=t.filter,n=t.optionFilter,i=t.withContextData;return k({description:{type:"void","x-component":u.Alert,"x-component-props":{type:"info",showIcon:!0,message:r,style:{marginBottom:"1em"}}},group:{type:"array","x-component":"ArrayItems","x-decorator":"FormItem",items:{type:"object",properties:{space:{type:"void","x-component-props":{align:"center",style:{display:"flex",width:"100%"},className:(0,c.css)(A())},"x-component":u.Space,properties:{sort:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.SortHandle"},workflowKey:{type:"string","x-decorator":"FormItem","x-component":C,"x-component-props":{filter:o,optionFilter:n,placeholder:"{{t('Select workflow', { ns: 'workflow' })}}",style:{width:"100%"}},required:!0},remove:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.Remove"}}}}},properties:{add:{type:"void",title:"{{t('Add workflow', { ns: 'workflow' })}}","x-component":"ArrayItems.Addition"}}}},void 0!==i&&i?{contextData:{type:"string",title:f("Context data"),description:f("Input JSON as context data passed into the workflow. Frontend variables are supported."),"x-decorator":"FormItem","x-component":e.TextAreaWithContextSelector,"x-component-props":{rows:5}}}:{})}var W=f('Workflow will be triggered directly once the button clicked, without data saving. Only supports to be bound with "Custom action event".');function I(e,t){var r=null==e?void 0:e.type;return 0===t||null==t?0===r||null==r:r===t}var E=function(e){function t(){var e;return w(this,t),e=b(this,t,arguments),m(e,"defaultProps",{title:f("Trigger workflow")}),e}return v(t,e),t}(e.FormActionModel);E.define({label:f("Trigger workflow")}),E.registerFlow({key:"customFormTriggerWorkflowsActionSettings",on:"click",title:"{{t('Workflow', { ns: 'workflow' })}}",steps:{confirm:{use:"confirm"},triggerWorkflows:{title:"{{t('Bind workflows', { ns: 'workflow' })}}",uiSchema:function(e){return F({description:W,filter:P(e),optionFilter:function(e){var t;return(null==(t=e.config)?void 0:t.type)===1}})},handler:function(e,t){return y(function(){var r;return T(this,function(o){switch(o.label){case 0:if(!(null==(r=t.group)?void 0:r.length))return e.message.error(e.t("Button is not configured properly, please contact the administrator.",{ns:s})),e.exit(),[2];if(!e.blockModel)return e.exit(),[2];o.label=1;case 1:return o.trys.push([1,3,4,5]),e.model.setProps("loading",!0),[4,e.blockModel.submitHandler(e,{},function(r,o){return y(function(){return T(this,function(n){switch(n.label){case 0:return[4,e.blockModel.resource.runAction("trigger",{params:x(k({},null!=o?{filterByTk:o}:{}),{triggerWorkflows:M(t.group)}),data:r})];case 1:return[2,n.sent()]}})})()})];case 2:return o.sent(),[3,5];case 3:return console.error("Error triggering workflows:",o.sent()),e.exit(),[3,5];case 4:return e.model.setProps("loading",!1),[7];case 5:return[2]}})})()}},afterSuccess:{use:"afterSuccess",defaultParams:{successMessage:f("Operation succeeded")}}}});var _=function(e){function t(){var e;return w(this,t),e=b(this,t,arguments),m(e,"defaultProps",{title:f("Trigger workflow")}),e}return v(t,e),t}(e.ActionModel);m(_,"scene",e.ActionSceneEnum.record),_.define({label:f("Trigger workflow")}),_.registerFlow({key:"customRecordTriggerWorkflowsActionSettings",on:"click",title:"{{t('Workflow', { ns: 'workflow' })}}",steps:{confirm:{use:"confirm"},triggerWorkflows:{title:"{{t('Bind workflows', { ns: 'workflow' })}}",uiSchema:function(e){return F({description:W,filter:P(e),optionFilter:function(e){var t;return(null==(t=e.config)?void 0:t.type)===1}})},handler:function(e,t){return y(function(){var r,o,n,i;return T(this,function(c){switch(c.label){case 0:if(n=(o=e.blockModel).resource,i=o.collection,!n||!i)return e.exit(),[2];if(!(null==(r=t.group)?void 0:r.length))return e.message.error(e.t("Button is not configured properly, please contact the administrator.",{ns:s})),e.exit(),[2];c.label=1;case 1:return c.trys.push([1,3,,4]),[4,n.runAction("trigger",{params:{triggerWorkflows:M(t.group),filterByTk:function(e,t){if(!e||!t)return null;var r=t.filterTargetKey;return Array.isArray(r)?r.reduce(function(t,r){return t[r]=e[r],t},{}):e[r]}(e.record,i)}})];case 2:return c.sent(),[3,4];case 3:return console.error("Error triggering workflows:",c.sent()),e.exit(),[3,4];case 4:return[2]}})})()}},afterSuccess:{use:"afterSuccess",defaultParams:{successMessage:f("Operation succeeded"),actionAfterSuccess:"previous"}}}});var R=function(e){function t(){var e;return w(this,t),e=b(this,t,arguments),m(e,"defaultProps",{title:null}),e}return v(t,e),t}(e.CollectionActionModel);m(R,"scene",e.ActionSceneEnum.collection),R.define({label:f("Trigger workflow")}),R.registerFlow({key:"customCollectionTriggerWorkflowsActionSettings",title:"{{t('Workflow', { ns: 'workflow' })}}",steps:{setContextType:{hideInSettings:!0,preset:!0,title:f("Context type"),uiSchema:{type:{type:"number","x-decorator":"FormItem","x-component":"Radio.Group",enum:[{label:f("Custom context"),value:0},{label:f("Multiple collection records"),value:2}],required:!0}},handler:function(e,t){e.model.props.title||e.model.setProps("title",t.type?e.t("Trigger workflow",{ns:s}):e.t("Trigger global workflow",{ns:s}))}},triggerWorkflows:{title:"{{t('Bind workflows', { ns: 'workflow' })}}",uiSchema:function(e){var t,r,o=(null!=(t=null==(r=e.model.stepParams.customCollectionTriggerWorkflowsActionSettings)?void 0:r.setContextType)?t:{}).type;return F({withContextData:!o,filter:o?P(e):void 0,description:o?f('Only support custom action workflow with context type set to "Multiple records".'):f('Only support custom action workflow with context type set to "Custom context".'),optionFilter:function(e){return I(e.config,o)}})}}}}),R.registerFlow({key:"customCollectionTriggerWorkflowsActionEventSettings",on:"click",steps:{confirm:{use:"confirm"},trigger:{handler:function(e){return y(function(){var t,r,o,n,i,c,l,u,f;return T(this,function(p){switch(p.label){case 0:if(o=(r=e.model.stepParams.customCollectionTriggerWorkflowsActionSettings).setContextType.type,i=(n=null!=(t=r.triggerWorkflows)?t:{}).group,c=n.contextData,!(null==i?void 0:i.length))return e.message.error(e.t("Button is not configured properly, please contact the administrator.",{ns:s})),e.exit(),[2];if(2!==o)return[3,5];if(!(null==(l=e.blockModel)?void 0:l.resource))return e.message.error(e.t("No resource selected for deletion")),e.exit(),[2];if(0===(u=e.blockModel.resource).getSelectedRows().length)return e.message.warning(e.t("Please select at least one record.",{ns:s})),e.exit(),[2];p.label=1;case 1:return p.trys.push([1,3,,4]),[4,u.runAction("trigger",{params:{triggerWorkflows:M(i),filterByTk:e.blockModel.collection.getFilterByTK(u.getSelectedRows())}})];case 2:return p.sent(),u.setSelectedRows([]),[3,4];case 3:return console.error("Error triggering workflows:",p.sent()),e.exit(),[3,4];case 4:return[3,14];case 5:if(o)return[3,13];if(!c)return[3,9];p.label=6;case 6:return p.trys.push([6,8,,9]),[4,(0,a.resolveExpressions)(c,e)];case 7:return f=p.sent(),[3,9];case 8:return p.sent(),[3,9];case 9:return p.trys.push([9,11,,12]),[4,e.api.request({url:"workflows:trigger",method:"post",params:{triggerWorkflows:M(i)},data:{values:f}})];case 10:return p.sent(),[3,12];case 11:return console.error("Error triggering workflows:",p.sent()),e.exit(),[3,12];case 12:return[3,14];case 13:throw Error("Invalid context type");case 14:return[2]}})})()}},afterSuccess:{use:"afterSuccess",defaultParams:{successMessage:f("Operation succeeded"),actionAfterSuccess:"previous"}}}});var B=function(e){function t(){var e;return w(this,t),e=b(this,t,arguments),m(e,"defaultProps",{title:f("Trigger global workflow"),icon:"ThunderboltOutlined"}),e}return v(t,e),t}(e.ActionModel);B.define({label:f("Trigger global workflow")}),B.registerFlow({key:"workbenchTriggerWorkflowsActionSettings",on:"click",title:"{{t('Workflow', { ns: 'workflow' })}}",steps:{confirm:{use:"confirm"},triggerWorkflows:{title:"{{t('Bind workflows', { ns: 'workflow' })}}",uiSchema:function(){return F({withContextData:!0,description:f('Only support custom action workflow with context type set to "Custom context".'),optionFilter:function(e){return I(e.config,0)}})},handler:function(e,t){return y(function(){var r;return T(this,function(o){switch(o.label){case 0:if(!t.contextData)return[3,4];o.label=1;case 1:return o.trys.push([1,3,,4]),[4,(0,a.resolveExpressions)(t.contextData,e)];case 2:return r=o.sent(),[3,4];case 3:return o.sent(),[3,4];case 4:return o.trys.push([4,6,,7]),[4,e.api.request({url:"workflows:trigger",method:"post",params:{triggerWorkflows:M(t.group)},data:{values:r}})];case 5:return o.sent(),e.message.success(e.t("Operation succeeded")),[3,7];case 6:return console.error("Error triggering workflows:",o.sent()),[3,7];case 7:return[2]}})})()}},afterSuccess:{use:"afterSuccess",defaultParams:{successMessage:f("Operation succeeded"),actionAfterSuccess:"previous"}}}});var D={CollectionActionGroupModel:{CollectionTriggerWorkflowActionModel:R},RecordActionGroupModel:{RecordTriggerWorkflowActionModel:_},FormActionGroupModel:{FormTriggerWorkflowActionModel:E},ActionPanelGroupActionModel:{WorkbenchTriggerWorkflowActionModel:B}};function q(e){Object.entries(D).forEach(function(t){var r,o=S(t,2),n=o[0],i=o[1],c=e.getModelClass(n);null==c||null==(r=c.registerActionModels)||r.call(c,i)})}function N(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var $=function(){var e;function t(){if(!(this instanceof t))throw TypeError("Cannot call a class as a function");N(this,"title",'{{t("Custom action event", { ns: "'.concat(s,'" })}}')),N(this,"description",'{{t(\'When the "Trigger Workflow" button is clicked, the event is triggered based on different context where the button is located. For complex data processing that cannot be handled simply by built-in operations (CRUD) of NocoBase, you can define a series of operations through a workflow and trigger it with the "Trigger Workflow" button.\', { ns: "'.concat(s,'" })}}')),N(this,"sync",!1),N(this,"presetFieldset",{type:{type:"number",title:'{{t("Context type", { ns: "'.concat(s,'" })}}'),"x-decorator":"FormItem","x-component":"Radio.Group",enum:o,required:!0,default:0},collection:N({type:"string",title:'{{t("Collection")}}',required:!0,"x-decorator":"FormItem","x-component":"DataSourceCollectionCascader","x-component-props":{dataSourceFilter:function(e){return"main"===e.options.key||e.options.isDBInstance}}},"x-reactions",[{dependencies:[".type"],fulfill:{state:{visible:"{{Boolean($deps[0])}}"}}}])}),N(this,"fieldset",{type:{type:"number",title:'{{t("Context type", { ns: "'.concat(s,'" })}}'),"x-decorator":"FormItem","x-component":"Radio.Group",enum:o,default:0,"x-disabled":!0},collection:N({type:"string",title:'{{t("Collection")}}',required:!0,"x-decorator":"FormItem","x-component":"DataSourceCollectionCascader","x-disabled":!0},"x-reactions",[{target:"appends",effects:["onFieldValueChange"],fulfill:{state:{value:[]}}},{dependencies:["type"],fulfill:{state:{visible:"{{Boolean($deps[0])}}"}}}]),appends:{type:"array",title:'{{t("Associations to use", { ns: "'.concat(s,'" })}}'),description:'{{t("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.", { ns: "workflow" })}}',"x-decorator":"FormItem","x-component":"AppendsTreeSelect","x-component-props":{multiple:!0},"x-reactions":[{dependencies:["collection"],fulfill:{state:{visible:"{{!!$deps[0]}}"}}}]}}),N(this,"triggerFieldset",{data:{type:"object",title:'{{t("Trigger data", { ns: "'.concat(s,'" })}}'),description:'{{t("Use JSON as trigger data for custom data context, or choose a record in single record context.", { ns: "'.concat(s,'" })}}'),"x-decorator":"FormItem","x-component":"Input.JSON",default:null},filterByTk:{type:"array",title:'{{t("Trigger data", { ns: "'.concat(s,'" })}}'),description:'{{t("Choose a record or primary key of a record in the collection to trigger.", { ns: "workflow" })}}',"x-decorator":"FormItem","x-component":"Input.JSON",default:[]},userId:{type:"number",title:'{{t("User acted", { ns: "'.concat(s,'" })}}'),"x-decorator":"FormItem","x-component":"InputNumber",default:null,required:!0},roleName:{type:"string",title:'{{t("Role of user acted", { ns: "'.concat(s,'" })}}'),"x-decorator":"FormItem","x-component":"Input",default:null}}),N(this,"isActionTriggerable_deprecated",function(e,t){return"customize:triggerWorkflows"===t.buttonAction&&1===e.type})}return e=[{key:"validate",value:function(e){return!e.type||0===e.type||[1,2].includes(e.type)&&e.collection}},{key:"getCreateModelMenuItem",value:function(e){var t=e.config;return t.collection?{key:"triggerData",label:'{{t("Trigger data", { ns: "workflow" })}}',useModel:"NodeDetailsModel",createModelOptions:{use:"NodeDetailsModel",stepParams:{resourceSettings:{init:{dataSourceKey:"main",collectionName:t.collection,dataPath:"$context.data"}},cardSettings:{titleDescription:{title:'{{t("Trigger data", { ns: "workflow" })}}'}}},subModels:{grid:{use:"NodeDetailsGridModel",subType:"object"}}}}:null}}],function(e,t){for(var r=0;r<t.length;r++){var o=t[r];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}(t.prototype,e),t}();function G(e,t,r,o,n,i,c){try{var l=e[i](c),a=l.value}catch(e){r(e);return}l.done?t(a):Promise.resolve(a).then(o,n)}function K(e,t,r){return(K=H()?Reflect.construct:function(e,t,r){var o=[null];o.push.apply(o,t);var n=new(Function.bind.apply(e,o));return r&&U(n,r.prototype),n}).apply(null,arguments)}function J(e){return(J=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function U(e,t){return(U=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function z(e){var t="function"==typeof Map?new Map:void 0;return(z=function(e){if(null===e||-1===Function.toString.call(e).indexOf("[native code]"))return e;if("function"!=typeof e)throw TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,r)}function r(){return K(e,arguments,J(this).constructor)}return r.prototype=Object.create(e.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),U(r,e)})(e)}function H(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(H=function(){return!!e})()}var L=function(e){var t;if("function"!=typeof e&&null!==e)throw TypeError("Super expression must either be null or a function");function o(){var e,t;if(!(this instanceof o))throw TypeError("Cannot call a class as a function");return e=o,t=arguments,e=J(e),function(e,t){var r;if(t&&("object"==((r=t)&&"u">typeof Symbol&&r.constructor===Symbol?"symbol":typeof r)||"function"==typeof t))return t;if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(this,H()?Reflect.construct(e,t||[],J(this).constructor):e.apply(this,t))}return o.prototype=Object.create(e&&e.prototype,{constructor:{value:o,writable:!0,configurable:!0}}),e&&U(o,e),t=[{key:"load",value:function(){var e;return(e=function(){var e,t,o,n;return function(e,t){var r,o,n,i={label:0,sent:function(){if(1&n[0])throw n[1];return n[1]},trys:[],ops:[]},c=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),l=Object.defineProperty;return l(c,"next",{value:a(0)}),l(c,"throw",{value:a(1)}),l(c,"return",{value:a(2)}),"function"==typeof Symbol&&l(c,Symbol.iterator,{value:function(){return this}}),c;function a(l){return function(a){var u=[l,a];if(r)throw TypeError("Generator is already executing.");for(;c&&(c=0,u[0]&&(i=0)),i;)try{if(r=1,o&&(n=2&u[0]?o.return:u[0]?o.throw||((n=o.return)&&n.call(o),0):o.next)&&!(n=n.call(o,u[1])).done)return n;switch(o=0,n&&(u=[2&u[0],n.value]),u[0]){case 0:case 1:n=u;break;case 4:return i.label++,{value:u[1],done:!1};case 5:i.label++,o=u[1],u=[0];continue;case 7:u=i.ops.pop(),i.trys.pop();continue;default:if(!(n=(n=i.trys).length>0&&n[n.length-1])&&(6===u[0]||2===u[0])){i=0;continue}if(3===u[0]&&(!n||u[1]>n[0]&&u[1]<n[3])){i.label=u[1];break}if(6===u[0]&&i.label<n[1]){i.label=n[1],n=u;break}if(n&&i.label<n[2]){i.label=n[2],i.ops.push(u);break}n[2]&&i.ops.pop(),i.trys.pop();continue}u=t.call(e,i)}catch(e){u=[6,e],o=0}finally{r=n=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}}(this,function(i){return e=this,this.flowEngine.registerModels({FormTriggerWorkflowActionModel:E,RecordTriggerWorkflowActionModel:_,CollectionTriggerWorkflowActionModel:R,WorkbenchTriggerWorkflowActionModel:B}),null==(o=this.app.pm.get("workflow"))||null==(t=o.registerTrigger)||t.call(o,r,$),(n=function(){q(e.flowEngine)})(),this.app.eventBus.addEventListener("plugin:block-workbench:loaded",n),[2]})},function(){var t=this,r=arguments;return new Promise(function(o,n){var i=e.apply(t,r);function c(e){G(i,o,n,c,l,"next",e)}function l(e){G(i,o,n,c,l,"throw",e)}c(void 0)})}).call(this)}}],function(e,t){for(var r=0;r<t.length;r++){var o=t[r];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}(o.prototype,t),o}(z(e.Plugin))}(),p}()});
|
|
10
|
+
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("react"),require("@emotion/css"),require("antd"),require("@nocobase/client-v2"),require("@nocobase/flow-engine")):"function"==typeof define&&define.amd?define("@nocobase/plugin-workflow-custom-action-trigger/client-v2",["react","@emotion/css","antd","@nocobase/client-v2","@nocobase/flow-engine"],t):"object"==typeof exports?exports["@nocobase/plugin-workflow-custom-action-trigger/client-v2"]=t(require("react"),require("@emotion/css"),require("antd"),require("@nocobase/client-v2"),require("@nocobase/flow-engine")):e["@nocobase/plugin-workflow-custom-action-trigger/client-v2"]=t(e.react,e["@emotion/css"],e.antd,e["@nocobase/client-v2"],e["@nocobase/flow-engine"])}(self,function(e,t,r,o,n){return function(){"use strict";var i={477:function(e){e.exports=t},485:function(e){e.exports=o},694:function(e){e.exports=n},59:function(e){e.exports=r},155:function(t){t.exports=e}},c={};function l(e){var t=c[e];if(void 0!==t)return t.exports;var r=c[e]={exports:{}};return i[e](r,r.exports,l),r.exports}l.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return l.d(t,{a:t}),t},l.d=function(e,t){for(var r in t)l.o(t,r)&&!l.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},l.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),l.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},l.r=function(e){"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},l.g.importScripts&&(a=l.g.location+"");var a,u=l.g.document;if(!a&&u&&(u.currentScript&&"SCRIPT"===u.currentScript.tagName.toUpperCase()&&(a=u.currentScript.src),!a)){var s=u.getElementsByTagName("script");if(s.length)for(var f=s.length-1;f>-1&&(!a||!/^http(s?):/.test(a));)a=s[f--].src}if(!a)throw Error("Automatic publicPath is not supported in this browser");l.p=a.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/");var p={};return!function(){var e="",t="u">typeof document?document.currentScript:null;if(t&&t.src&&(e=t.src.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/")),!e){var r=window.__webpack_public_path__||"";r&&("/"!==r.charAt(r.length-1)&&(r+="/"),e=r+"static/plugins/@nocobase/plugin-workflow-custom-action-trigger/dist/client-v2/")}if(!e){var o=window.__nocobase_modern_client_prefix__||"v",n="/"+(o=String(o).replace(/^\/+|\/+$/g,"")||"v")+"/";if(!(e=window.__nocobase_public_path__||"")&&window.location&&window.location.pathname){var i=window.location.pathname||"/",c=i.indexOf(n);e=c>=0?i.slice(0,c+1):"/"}e&&(e=e.replace(RegExp("/"+o+"/?$"),"/")),e||(e="/"),"/"!==e.charAt(e.length-1)&&(e+="/"),e+="static/plugins/@nocobase/plugin-workflow-custom-action-trigger/dist/client-v2/"}l.p=e}(),!function(){l.r(p),l.d(p,{CollectionTriggerWorkflowActionModel:function(){return R},FormTriggerWorkflowActionModel:function(){return E},default:function(){return Y},registerTriggerWorkflowActionGroups:function(){return q},WorkbenchTriggerWorkflowActionModel:function(){return B},RecordTriggerWorkflowActionModel:function(){return I}});var e=l(485),t="@nocobase/plugin-workflow-custom-action-trigger",r="custom-action",o=[{label:"{{t('Custom context', { ns: \"".concat(t,'" })}}'),value:0,tooltip:"{{t('Could be used on non-record related action buttons. You can provide custom JSON as trigger data.', { ns: \"".concat(t,'" })}}')},{label:"{{t('Single collection record', { ns: \"".concat(t,'" })}}'),value:1,tooltip:"{{t('Could only be used on single record related action buttons. Such as in form, detail block and table row of record.', { ns: \"".concat(t,'" })}}')},{label:"{{t('Multiple collection records', { ns: \"".concat(t,'" })}}'),value:2,tooltip:"{{t('Could only be used on multiple record related action buttons. Such as for batch action in table block. The data in trigger variable will be an array.', { ns: \"".concat(t,'" })}}')}],n=l(155),i=l.n(n),c=l(477),a=l(694),u=l(59),s="@nocobase/plugin-workflow-custom-action-trigger";function f(e,t){return(0,a.tExpr)(e,function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},o=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),o.forEach(function(t){var o;o=r[t],t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o})}return e}({ns:s},t))}function d(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,o=Array(t);r<t;r++)o[r]=e[r];return o}function g(e,t,r,o,n,i,c){try{var l=e[i](c),a=l.value}catch(e){r(e);return}l.done?t(a):Promise.resolve(a).then(o,n)}function b(e){return function(){var t=this,r=arguments;return new Promise(function(o,n){var i=e.apply(t,r);function c(e){g(i,o,n,c,l,"next",e)}function l(e){g(i,o,n,c,l,"throw",e)}c(void 0)})}}function y(e,t,r){return t=h(t),function(e,t){var r;if(t&&("object"==((r=t)&&"u">typeof Symbol&&r.constructor===Symbol?"symbol":typeof r)||"function"==typeof t))return t;if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e,j()?Reflect.construct(t,r||[],h(e).constructor):t.apply(e,r))}function w(e,t){if(!(e instanceof t))throw TypeError("Cannot call a class as a function")}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 h(e){return(h=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function v(e,t){if("function"!=typeof t&&null!==t)throw TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&O(e,t)}function k(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},o=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),o.forEach(function(t){m(e,t,r[t])})}return e}function x(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 O(e,t){return(O=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function S(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r,o,n=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var i=[],c=!0,l=!1;try{for(n=n.call(e);!(c=(r=n.next()).done)&&(i.push(r.value),!t||i.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{c||null==n.return||n.return()}finally{if(l)throw o}}return i}}(e,t)||function(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)}}(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 j(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(j=function(){return!!e})()}function A(e,t){var r,o,n,i={label:0,sent:function(){if(1&n[0])throw n[1];return n[1]},trys:[],ops:[]},c=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),l=Object.defineProperty;return l(c,"next",{value:a(0)}),l(c,"throw",{value:a(1)}),l(c,"return",{value:a(2)}),"function"==typeof Symbol&&l(c,Symbol.iterator,{value:function(){return this}}),c;function a(l){return function(a){var u=[l,a];if(r)throw TypeError("Generator is already executing.");for(;c&&(c=0,u[0]&&(i=0)),i;)try{if(r=1,o&&(n=2&u[0]?o.return:u[0]?o.throw||((n=o.return)&&n.call(o),0):o.next)&&!(n=n.call(o,u[1])).done)return n;switch(o=0,n&&(u=[2&u[0],n.value]),u[0]){case 0:case 1:n=u;break;case 4:return i.label++,{value:u[1],done:!1};case 5:i.label++,o=u[1],u=[0];continue;case 7:u=i.ops.pop(),i.trys.pop();continue;default:if(!(n=(n=i.trys).length>0&&n[n.length-1])&&(6===u[0]||2===u[0])){i=0;continue}if(3===u[0]&&(!n||u[1]>n[0]&&u[1]<n[3])){i.label=u[1];break}if(6===u[0]&&i.label<n[1]){i.label=n[1],n=u;break}if(n&&i.label<n[2]){i.label=n[2],i.ops.push(u);break}n[2]&&i.ops.pop(),i.trys.pop();continue}u=t.call(e,i)}catch(e){u=[6,e],o=0}finally{r=n=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}}function T(){var e,t,r=(e=["\n & > .ant-space-item:first-child,\n & > .ant-space-item:last-child {\n flex: 0 0 auto;\n }\n & > .ant-space-item:nth-child(2) {\n flex: 1;\n min-width: 0;\n }\n & > .ant-space-item:nth-child(2) .ant-select {\n width: 100%;\n }\n "],t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}})));return T=function(){return r},r}function P(e){var t,r,o,n,i=function(e){var t,r=(null==e?void 0:e.dataSourceKey)||(null==e||null==(t=e.dataSource)?void 0:t.key),o=null==e?void 0:e.name;if(o)return r&&"main"!==r?"".concat(r,":").concat(o):o}((null==e||null==(t=e.blockModel)?void 0:t.collection)||(null==e||null==(n=e.model)||null==(o=n.context)||null==(r=o.blockModel)?void 0:r.collection));return i?{"config.collection":i}:void 0}var M=function(e){return(null==e?void 0:e.length)?e.map(function(e){return[e.workflowKey,e.context].filter(Boolean).join("!")}).join(","):void 0};function C(e){var t=e.filter,o=e.optionFilter,n=function(e,t){if(null==e)return{};var r,o,n,i={};if("u">typeof Reflect&&Reflect.ownKeys){for(n=0,r=Reflect.ownKeys(Object(e));n<r.length;n++)o=r[n],!(t.indexOf(o)>=0)&&Object.prototype.propertyIsEnumerable.call(e,o)&&(i[o]=e[o]);return i}if(i=function(e,t){if(null==e)return{};var r,o,n={},i=Object.getOwnPropertyNames(e);for(o=0;o<i.length;o++)r=i[o],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r]);return n}(e,t),Object.getOwnPropertySymbols)for(n=0,r=Object.getOwnPropertySymbols(e);n<r.length;n++)o=r[n],!(t.indexOf(o)>=0)&&Object.prototype.propertyIsEnumerable.call(e,o)&&(i[o]=e[o]);return i}(e,["filter","optionFilter"]),c=(0,a.useFlowContext)(),l=S(i().useState([]),2),s=l[0],f=l[1],p=S(i().useState(!1),2),d=p[0],g=p[1];return i().useEffect(function(){var e=!0;return b(function(){var n,i,l;return A(this,function(a){switch(a.label){case 0:g(!0),a.label=1;case 1:return a.trys.push([1,3,4,5]),[4,c.api.request({url:"workflows:list",method:"get",params:{paginate:!1,filter:k({type:r,enabled:!0},t)}})];case 2:if(i=a.sent(),!e)return[2];return l=(null==i||null==(n=i.data)?void 0:n.data)||[],f(("function"==typeof o?l.filter(o):l).map(function(e){return{label:e.title,value:e.key}})),[3,5];case 3:return console.error("Error loading workflows:",a.sent()),[3,5];case 4:return e&&g(!1),[7];case 5:return[2]}})})(),function(){e=!1}},[c.api,t,o]),i().createElement(u.Select,x(k({},n),{loading:d,options:s}))}function W(t){var r=t.description,o=t.filter,n=t.optionFilter,i=t.withContextData;return k({description:{type:"void","x-component":u.Alert,"x-component-props":{type:"info",showIcon:!0,message:r,style:{marginBottom:"1em"}}},group:{type:"array","x-component":"ArrayItems","x-decorator":"FormItem",items:{type:"object",properties:{space:{type:"void","x-component-props":{align:"center",style:{display:"flex",width:"100%"},className:(0,c.css)(T())},"x-component":u.Space,properties:{sort:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.SortHandle"},workflowKey:{type:"string","x-decorator":"FormItem","x-component":C,"x-component-props":{filter:o,optionFilter:n,placeholder:"{{t('Select workflow', { ns: 'workflow' })}}",style:{width:"100%"}},required:!0},remove:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.Remove"}}}}},properties:{add:{type:"void",title:"{{t('Add workflow', { ns: 'workflow' })}}","x-component":"ArrayItems.Addition"}}}},void 0!==i&&i?{contextData:{type:"string",title:f("Context data"),description:f("Input JSON as context data passed into the workflow. Frontend variables are supported."),"x-decorator":"FormItem","x-component":e.TextAreaWithContextSelector,"x-component-props":{rows:5}}}:{})}var F=f('Workflow will be triggered directly once the button clicked, without data saving. Only supports to be bound with "Custom action event".');function _(e,t){var r=null==e?void 0:e.type;return 0===t||null==t?0===r||null==r:r===t}var E=function(e){function t(){var e;return w(this,t),e=y(this,t,arguments),m(e,"defaultProps",{title:f("Trigger workflow")}),e}return v(t,e),t}(e.FormActionModel);E.define({label:f("Trigger workflow")}),E.registerFlow({key:"customFormTriggerWorkflowsActionSettings",on:"click",title:"{{t('Workflow', { ns: 'workflow' })}}",steps:{confirm:{use:"confirm"},triggerWorkflows:{title:"{{t('Bind workflows', { ns: 'workflow' })}}",uiSchema:function(e){return W({description:F,filter:P(e),optionFilter:function(e){var t;return(null==(t=e.config)?void 0:t.type)===1}})},handler:function(e,t){return b(function(){var r;return A(this,function(o){switch(o.label){case 0:if(!(null==(r=t.group)?void 0:r.length))return e.message.error(e.t("Button is not configured properly, please contact the administrator.",{ns:s})),e.exit(),[2];if(!e.blockModel)return e.exit(),[2];o.label=1;case 1:return o.trys.push([1,3,4,5]),e.model.setProps("loading",!0),[4,e.blockModel.submitHandler(e,{},function(r,o){return b(function(){return A(this,function(n){switch(n.label){case 0:return[4,e.blockModel.resource.runAction("trigger",{params:x(k({},null!=o?{filterByTk:o}:{}),{triggerWorkflows:M(t.group)}),data:r})];case 1:return[2,n.sent()]}})})()})];case 2:return o.sent(),[3,5];case 3:return console.error("Error triggering workflows:",o.sent()),e.exit(),[3,5];case 4:return e.model.setProps("loading",!1),[7];case 5:return[2]}})})()}},afterSuccess:{use:"afterSuccess",defaultParams:{successMessage:f("Operation succeeded")}}}});var I=function(e){function t(){var e;return w(this,t),e=y(this,t,arguments),m(e,"defaultProps",{title:f("Trigger workflow")}),e}return v(t,e),t}(e.ActionModel);m(I,"scene",e.ActionSceneEnum.record),I.define({label:f("Trigger workflow")}),I.registerFlow({key:"customRecordTriggerWorkflowsActionSettings",on:"click",title:"{{t('Workflow', { ns: 'workflow' })}}",steps:{confirm:{use:"confirm"},triggerWorkflows:{title:"{{t('Bind workflows', { ns: 'workflow' })}}",uiSchema:function(e){return W({description:F,filter:P(e),optionFilter:function(e){var t;return(null==(t=e.config)?void 0:t.type)===1}})},handler:function(e,t){return b(function(){var r,o,n,i;return A(this,function(c){switch(c.label){case 0:if(n=(o=e.blockModel).resource,i=o.collection,!n||!i)return e.exit(),[2];if(!(null==(r=t.group)?void 0:r.length))return e.message.error(e.t("Button is not configured properly, please contact the administrator.",{ns:s})),e.exit(),[2];c.label=1;case 1:return c.trys.push([1,3,,4]),[4,n.runAction("trigger",{params:{triggerWorkflows:M(t.group),filterByTk:function(e,t){if(!e||!t)return null;var r=t.filterTargetKey;return Array.isArray(r)?r.reduce(function(t,r){return t[r]=e[r],t},{}):e[r]}(e.record,i)}})];case 2:return c.sent(),[3,4];case 3:return console.error("Error triggering workflows:",c.sent()),e.exit(),[3,4];case 4:return[2]}})})()}},afterSuccess:{use:"afterSuccess",defaultParams:{successMessage:f("Operation succeeded"),actionAfterSuccess:"previous"}}}});var R=function(e){function t(){var e;return w(this,t),e=y(this,t,arguments),m(e,"defaultProps",{title:null}),e}return v(t,e),t}(e.CollectionActionModel);m(R,"scene",e.ActionSceneEnum.collection),R.define({label:f("Trigger workflow")}),R.registerFlow({key:"customCollectionTriggerWorkflowsActionSettings",title:"{{t('Workflow', { ns: 'workflow' })}}",steps:{setContextType:{hideInSettings:!0,preset:!0,title:f("Context type"),uiSchema:{type:{type:"number","x-decorator":"FormItem","x-component":"Radio.Group",enum:[{label:f("Custom context"),value:0},{label:f("Multiple collection records"),value:2}],required:!0}},handler:function(e,t){e.model.props.title||e.model.setProps("title",t.type?e.t("Trigger workflow",{ns:s}):e.t("Trigger global workflow",{ns:s}))}},triggerWorkflows:{title:"{{t('Bind workflows', { ns: 'workflow' })}}",uiSchema:function(e){var t,r,o=(null!=(t=null==(r=e.model.stepParams.customCollectionTriggerWorkflowsActionSettings)?void 0:r.setContextType)?t:{}).type;return W({withContextData:!o,filter:o?P(e):void 0,description:o?f('Only support custom action workflow with context type set to "Multiple records".'):f('Only support custom action workflow with context type set to "Custom context".'),optionFilter:function(e){return _(e.config,o)}})}}}}),R.registerFlow({key:"customCollectionTriggerWorkflowsActionEventSettings",on:"click",steps:{confirm:{use:"confirm"},trigger:{handler:function(e){return b(function(){var t,r,o,n,i,c,l,u,f;return A(this,function(p){switch(p.label){case 0:if(o=(r=e.model.stepParams.customCollectionTriggerWorkflowsActionSettings).setContextType.type,i=(n=null!=(t=r.triggerWorkflows)?t:{}).group,c=n.contextData,!(null==i?void 0:i.length))return e.message.error(e.t("Button is not configured properly, please contact the administrator.",{ns:s})),e.exit(),[2];if(2!==o)return[3,5];if(!(null==(l=e.blockModel)?void 0:l.resource))return e.message.error(e.t("No resource selected for deletion")),e.exit(),[2];if(0===(u=e.blockModel.resource).getSelectedRows().length)return e.message.warning(e.t("Please select at least one record.",{ns:s})),e.exit(),[2];p.label=1;case 1:return p.trys.push([1,3,,4]),[4,u.runAction("trigger",{params:{triggerWorkflows:M(i),filterByTk:e.blockModel.collection.getFilterByTK(u.getSelectedRows())}})];case 2:return p.sent(),u.setSelectedRows([]),[3,4];case 3:return console.error("Error triggering workflows:",p.sent()),e.exit(),[3,4];case 4:return[3,14];case 5:if(o)return[3,13];if(!c)return[3,9];p.label=6;case 6:return p.trys.push([6,8,,9]),[4,(0,a.resolveExpressions)(c,e)];case 7:return f=p.sent(),[3,9];case 8:return p.sent(),[3,9];case 9:return p.trys.push([9,11,,12]),[4,e.api.request({url:"workflows:trigger",method:"post",params:{triggerWorkflows:M(i)},data:{values:f}})];case 10:return p.sent(),[3,12];case 11:return console.error("Error triggering workflows:",p.sent()),e.exit(),[3,12];case 12:return[3,14];case 13:throw Error("Invalid context type");case 14:return[2]}})})()}},afterSuccess:{use:"afterSuccess",defaultParams:{successMessage:f("Operation succeeded"),actionAfterSuccess:"previous"}}}});var B=function(e){function t(){var e;return w(this,t),e=y(this,t,arguments),m(e,"defaultProps",{title:f("Trigger global workflow"),icon:"ThunderboltOutlined"}),e}return v(t,e),t}(e.ActionModel);B.define({label:f("Trigger global workflow")}),B.registerFlow({key:"workbenchTriggerWorkflowsActionSettings",on:"click",title:"{{t('Workflow', { ns: 'workflow' })}}",steps:{confirm:{use:"confirm"},triggerWorkflows:{title:"{{t('Bind workflows', { ns: 'workflow' })}}",uiSchema:function(){return W({withContextData:!0,description:f('Only support custom action workflow with context type set to "Custom context".'),optionFilter:function(e){return _(e.config,0)}})},handler:function(e,t){return b(function(){var r;return A(this,function(o){switch(o.label){case 0:if(!t.contextData)return[3,4];o.label=1;case 1:return o.trys.push([1,3,,4]),[4,(0,a.resolveExpressions)(t.contextData,e)];case 2:return r=o.sent(),[3,4];case 3:return o.sent(),[3,4];case 4:return o.trys.push([4,6,,7]),[4,e.api.request({url:"workflows:trigger",method:"post",params:{triggerWorkflows:M(t.group)},data:{values:r}})];case 5:return o.sent(),e.message.success(e.t("Operation succeeded")),[3,7];case 6:return console.error("Error triggering workflows:",o.sent()),[3,7];case 7:return[2]}})})()}},afterSuccess:{use:"afterSuccess",defaultParams:{successMessage:f("Operation succeeded"),actionAfterSuccess:"previous"}}}});var D={CollectionActionGroupModel:{CollectionTriggerWorkflowActionModel:R},RecordActionGroupModel:{RecordTriggerWorkflowActionModel:I},FormActionGroupModel:{FormTriggerWorkflowActionModel:E},ActionPanelGroupActionModel:{WorkbenchTriggerWorkflowActionModel:B}};function q(e){Object.entries(D).forEach(function(t){var r,o=S(t,2),n=o[0],i=o[1],c=e.getModelClass(n);null==c||null==(r=c.registerActionModels)||r.call(c,i)})}function N(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var G=function(){var e;function t(){if(!(this instanceof t))throw TypeError("Cannot call a class as a function");N(this,"title",'{{t("Custom action event", { ns: "'.concat(s,'" })}}')),N(this,"description",'{{t(\'When the "Trigger Workflow" button is clicked, the event is triggered based on different context where the button is located. For complex data processing that cannot be handled simply by built-in operations (CRUD) of NocoBase, you can define a series of operations through a workflow and trigger it with the "Trigger Workflow" button.\', { ns: "'.concat(s,'" })}}')),N(this,"sync",!1),N(this,"presetFieldset",{type:{type:"number",title:'{{t("Context type", { ns: "'.concat(s,'" })}}'),"x-decorator":"FormItem","x-component":"Radio.Group",enum:o,required:!0,default:0},collection:N({type:"string",title:'{{t("Collection")}}',required:!0,"x-decorator":"FormItem","x-component":"DataSourceCollectionCascader","x-component-props":{dataSourceFilter:function(e){return"main"===e.options.key||e.options.isDBInstance}}},"x-reactions",[{dependencies:[".type"],fulfill:{state:{visible:"{{Boolean($deps[0])}}"}}}])}),N(this,"fieldset",{type:{type:"number",title:'{{t("Context type", { ns: "'.concat(s,'" })}}'),"x-decorator":"FormItem","x-component":"Radio.Group",enum:o,default:0,"x-disabled":!0},collection:N({type:"string",title:'{{t("Collection")}}',required:!0,"x-decorator":"FormItem","x-component":"DataSourceCollectionCascader","x-disabled":!0},"x-reactions",[{target:"appends",effects:["onFieldValueChange"],fulfill:{state:{value:[]}}},{dependencies:["type"],fulfill:{state:{visible:"{{Boolean($deps[0])}}"}}}]),appends:{type:"array",title:'{{t("Associations to use", { ns: "'.concat(s,'" })}}'),description:'{{t("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.", { ns: "workflow" })}}',"x-decorator":"FormItem","x-component":"AppendsTreeSelect","x-component-props":{multiple:!0},"x-reactions":[{dependencies:["collection"],fulfill:{state:{visible:"{{!!$deps[0]}}"}}}]}}),N(this,"triggerFieldset",{data:{type:"object",title:'{{t("Trigger data", { ns: "'.concat(s,'" })}}'),description:'{{t("Use JSON as trigger data for custom data context, or choose a record in single record context.", { ns: "'.concat(s,'" })}}'),"x-decorator":"FormItem","x-component":"Input.JSON",default:null},filterByTk:{type:"array",title:'{{t("Trigger data", { ns: "'.concat(s,'" })}}'),description:'{{t("Choose a record or primary key of a record in the collection to trigger.", { ns: "workflow" })}}',"x-decorator":"FormItem","x-component":"Input.JSON",default:[]},userId:{type:"number",title:'{{t("User acted", { ns: "'.concat(s,'" })}}'),"x-decorator":"FormItem","x-component":"InputNumber",default:null,required:!0},roleName:{type:"string",title:'{{t("Role of user acted", { ns: "'.concat(s,'" })}}'),"x-decorator":"FormItem","x-component":"Input",default:null}}),N(this,"isActionTriggerable_deprecated",function(e,t){return"customize:triggerWorkflows"===t.buttonAction&&1===e.type})}return e=[{key:"validate",value:function(e){return!e.type||0===e.type||[1,2].includes(e.type)&&e.collection}},{key:"getCreateModelMenuItem",value:function(e){var t=e.config;return t.collection?{key:"triggerData",label:'{{t("Trigger data", { ns: "workflow" })}}',useModel:"NodeDetailsModel",createModelOptions:{use:"NodeDetailsModel",stepParams:{resourceSettings:{init:{dataSourceKey:"main",collectionName:t.collection,dataPath:"$context.data"}},cardSettings:{titleDescription:{title:'{{t("Trigger data", { ns: "workflow" })}}'}}},subModels:{grid:{use:"NodeDetailsGridModel",subType:"object"}}}}:null}}],function(e,t){for(var r=0;r<t.length;r++){var o=t[r];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}(t.prototype,e),t}();function $(e,t,r,o,n,i,c){try{var l=e[i](c),a=l.value}catch(e){r(e);return}l.done?t(a):Promise.resolve(a).then(o,n)}function K(e){return function(){var t=this,r=arguments;return new Promise(function(o,n){var i=e.apply(t,r);function c(e){$(i,o,n,c,l,"next",e)}function l(e){$(i,o,n,c,l,"throw",e)}c(void 0)})}}function J(e,t,r){return(J=L()?Reflect.construct:function(e,t,r){var o=[null];o.push.apply(o,t);var n=new(Function.bind.apply(e,o));return r&&z(n,r.prototype),n}).apply(null,arguments)}function U(e){return(U=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function z(e,t){return(z=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function H(e){var t="function"==typeof Map?new Map:void 0;return(H=function(e){if(null===e||-1===Function.toString.call(e).indexOf("[native code]"))return e;if("function"!=typeof e)throw TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,r)}function r(){return J(e,arguments,U(this).constructor)}return r.prototype=Object.create(e.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),z(r,e)})(e)}function L(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(L=function(){return!!e})()}function V(e,t){var r,o,n,i={label:0,sent:function(){if(1&n[0])throw n[1];return n[1]},trys:[],ops:[]},c=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),l=Object.defineProperty;return l(c,"next",{value:a(0)}),l(c,"throw",{value:a(1)}),l(c,"return",{value:a(2)}),"function"==typeof Symbol&&l(c,Symbol.iterator,{value:function(){return this}}),c;function a(l){return function(a){var u=[l,a];if(r)throw TypeError("Generator is already executing.");for(;c&&(c=0,u[0]&&(i=0)),i;)try{if(r=1,o&&(n=2&u[0]?o.return:u[0]?o.throw||((n=o.return)&&n.call(o),0):o.next)&&!(n=n.call(o,u[1])).done)return n;switch(o=0,n&&(u=[2&u[0],n.value]),u[0]){case 0:case 1:n=u;break;case 4:return i.label++,{value:u[1],done:!1};case 5:i.label++,o=u[1],u=[0];continue;case 7:u=i.ops.pop(),i.trys.pop();continue;default:if(!(n=(n=i.trys).length>0&&n[n.length-1])&&(6===u[0]||2===u[0])){i=0;continue}if(3===u[0]&&(!n||u[1]>n[0]&&u[1]<n[3])){i.label=u[1];break}if(6===u[0]&&i.label<n[1]){i.label=n[1],n=u;break}if(n&&i.label<n[2]){i.label=n[2],i.ops.push(u);break}n[2]&&i.ops.pop(),i.trys.pop();continue}u=t.call(e,i)}catch(e){u=[6,e],o=0}finally{r=n=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}}var Y=function(e){var t;if("function"!=typeof e&&null!==e)throw TypeError("Super expression must either be null or a function");function o(){var e,t,r,n,i,c;if(!(this instanceof o))throw TypeError("Cannot call a class as a function");return t=o,r=arguments,t=U(t),n=e=function(e,t){var r;if(t&&("object"==((r=t)&&"u">typeof Symbol&&r.constructor===Symbol?"symbol":typeof r)||"function"==typeof t))return t;if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(this,L()?Reflect.construct(t,r||[],U(this).constructor):t.apply(this,r)),i="registerWorkbenchActionGroups",c=function(){return K(function(){return V(this,function(t){switch(t.label){case 0:return[4,e.flowEngine.getModelClassAsync("ActionPanelGroupActionModel")];case 1:return t.sent(),q(e.flowEngine),[2]}})})()},i in n?Object.defineProperty(n,i,{value:c,enumerable:!0,configurable:!0,writable:!0}):n[i]=c,e}return o.prototype=Object.create(e&&e.prototype,{constructor:{value:o,writable:!0,configurable:!0}}),e&&z(o,e),t=[{key:"beforeLoad",value:function(){return K(function(){return V(this,function(e){return this.app.eventBus.addEventListener("plugin:block-workbench:loaded",this.registerWorkbenchActionGroups),[2]})}).call(this)}},{key:"load",value:function(){return K(function(){var e,t;return V(this,function(o){return this.flowEngine.registerModels({FormTriggerWorkflowActionModel:E,RecordTriggerWorkflowActionModel:I,CollectionTriggerWorkflowActionModel:R,WorkbenchTriggerWorkflowActionModel:B}),null==(t=this.app.pm.get("workflow"))||null==(e=t.registerTrigger)||e.call(t,r,G),q(this.flowEngine),[2]})}).call(this)}}],function(e,t){for(var r=0;r<t.length;r++){var o=t[r];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}(o.prototype,t),o}(H(e.Plugin))}(),p}()});
|
|
@@ -8,6 +8,8 @@
|
|
|
8
8
|
*/
|
|
9
9
|
import { Plugin } from '@nocobase/client-v2';
|
|
10
10
|
export declare class CustomActionTriggerPlugin extends Plugin {
|
|
11
|
+
private registerWorkbenchActionGroups;
|
|
12
|
+
beforeLoad(): Promise<void>;
|
|
11
13
|
load(): Promise<void>;
|
|
12
14
|
}
|
|
13
15
|
export default CustomActionTriggerPlugin;
|
package/dist/externalVersion.js
CHANGED
|
@@ -10,22 +10,22 @@
|
|
|
10
10
|
module.exports = {
|
|
11
11
|
"react": "18.2.0",
|
|
12
12
|
"@formily/react": "2.3.7",
|
|
13
|
-
"@nocobase/client": "2.1.0-beta.
|
|
14
|
-
"@nocobase/plugin-workflow": "2.1.0-beta.
|
|
15
|
-
"@nocobase/flow-engine": "2.1.0-beta.
|
|
13
|
+
"@nocobase/client": "2.1.0-beta.45",
|
|
14
|
+
"@nocobase/plugin-workflow": "2.1.0-beta.45",
|
|
15
|
+
"@nocobase/flow-engine": "2.1.0-beta.45",
|
|
16
16
|
"@emotion/css": "11.13.0",
|
|
17
17
|
"react-router-dom": "6.30.1",
|
|
18
18
|
"antd": "5.24.2",
|
|
19
|
-
"@nocobase/utils": "2.1.0-beta.
|
|
19
|
+
"@nocobase/utils": "2.1.0-beta.45",
|
|
20
20
|
"react-i18next": "11.18.6",
|
|
21
21
|
"@formily/antd-v5": "1.2.3",
|
|
22
|
-
"@nocobase/client-v2": "2.1.0-beta.
|
|
23
|
-
"@nocobase/plugin-error-handler": "2.1.0-beta.
|
|
24
|
-
"@nocobase/data-source-manager": "2.1.0-beta.
|
|
25
|
-
"@nocobase/server": "2.1.0-beta.
|
|
22
|
+
"@nocobase/client-v2": "2.1.0-beta.45",
|
|
23
|
+
"@nocobase/plugin-error-handler": "2.1.0-beta.45",
|
|
24
|
+
"@nocobase/data-source-manager": "2.1.0-beta.45",
|
|
25
|
+
"@nocobase/server": "2.1.0-beta.45",
|
|
26
26
|
"lodash": "4.18.1",
|
|
27
|
-
"@nocobase/actions": "2.1.0-beta.
|
|
28
|
-
"@nocobase/resourcer": "2.1.0-beta.
|
|
29
|
-
"@nocobase/plugin-workflow-test": "2.1.0-beta.
|
|
30
|
-
"@nocobase/test": "2.1.0-beta.
|
|
27
|
+
"@nocobase/actions": "2.1.0-beta.45",
|
|
28
|
+
"@nocobase/resourcer": "2.1.0-beta.45",
|
|
29
|
+
"@nocobase/plugin-workflow-test": "2.1.0-beta.45",
|
|
30
|
+
"@nocobase/test": "2.1.0-beta.45"
|
|
31
31
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"joi","description":"Object schema validation","version":"17.13.3","repository":"git://github.com/hapijs/joi","main":"lib/index.js","types":"lib/index.d.ts","browser":"dist/joi-browser.min.js","files":["lib/**/*","dist/*"],"keywords":["schema","validation"],"dependencies":{"@hapi/hoek":"^9.3.0","@hapi/topo":"^5.1.0","@sideway/address":"^4.1.5","@sideway/formula":"^3.0.1","@sideway/pinpoint":"^2.0.0"},"devDependencies":{"@hapi/bourne":"2.x.x","@hapi/code":"8.x.x","@hapi/joi-legacy-test":"npm:@hapi/joi@15.x.x","@hapi/lab":"^25.1.3","@types/node":"^14.18.63","typescript":"4.3.x"},"scripts":{"prepublishOnly":"cd browser && npm install && npm run build","test":"lab -t 100 -a @hapi/code -L -Y","test-cov-html":"lab -r html -o coverage.html -a @hapi/code"},"license":"BSD-3-Clause","_lastModified":"2026-06-
|
|
1
|
+
{"name":"joi","description":"Object schema validation","version":"17.13.3","repository":"git://github.com/hapijs/joi","main":"lib/index.js","types":"lib/index.d.ts","browser":"dist/joi-browser.min.js","files":["lib/**/*","dist/*"],"keywords":["schema","validation"],"dependencies":{"@hapi/hoek":"^9.3.0","@hapi/topo":"^5.1.0","@sideway/address":"^4.1.5","@sideway/formula":"^3.0.1","@sideway/pinpoint":"^2.0.0"},"devDependencies":{"@hapi/bourne":"2.x.x","@hapi/code":"8.x.x","@hapi/joi-legacy-test":"npm:@hapi/joi@15.x.x","@hapi/lab":"^25.1.3","@types/node":"^14.18.63","typescript":"4.3.x"},"scripts":{"prepublishOnly":"cd browser && npm install && npm run build","test":"lab -t 100 -a @hapi/code -L -Y","test-cov-html":"lab -r html -o coverage.html -a @hapi/code"},"license":"BSD-3-Clause","_lastModified":"2026-06-08T04:33:22.387Z"}
|
|
@@ -26,6 +26,7 @@ export default class CustomActionTrigger extends Trigger {
|
|
|
26
26
|
triggerAction: (context: ResourcerContext, next: Next) => Promise<any>;
|
|
27
27
|
constructor(workflow: WorkflowPluginServer);
|
|
28
28
|
private processEvents;
|
|
29
|
+
private scheduleAsyncWorkflowTriggers;
|
|
29
30
|
validateContext(values: any, workflow: WorkflowModel): {
|
|
30
31
|
data: string;
|
|
31
32
|
filterByTk?: undefined;
|
|
@@ -45,6 +45,7 @@ var import_plugin_workflow = require("@nocobase/plugin-workflow");
|
|
|
45
45
|
var import_data_source_manager = require("@nocobase/data-source-manager");
|
|
46
46
|
var import_lodash = require("lodash");
|
|
47
47
|
var import_constants = require("../common/constants");
|
|
48
|
+
const ASYNC_WORKFLOW_TRIGGER_DELAY_MS = 200;
|
|
48
49
|
class CustomActionInterceptionError extends Error {
|
|
49
50
|
status = 400;
|
|
50
51
|
messages = [];
|
|
@@ -308,9 +309,34 @@ class CustomActionTrigger extends import_plugin_workflow.Trigger {
|
|
|
308
309
|
return context.throw(500, "Workflow on your action hangs, please contact the administrator");
|
|
309
310
|
}
|
|
310
311
|
await next();
|
|
311
|
-
|
|
312
|
-
|
|
312
|
+
this.scheduleAsyncWorkflowTriggers(context, asyncGroup);
|
|
313
|
+
}
|
|
314
|
+
scheduleAsyncWorkflowTriggers(context, events) {
|
|
315
|
+
if (!events.length) {
|
|
316
|
+
return;
|
|
317
|
+
}
|
|
318
|
+
const triggerAsyncWorkflows = () => {
|
|
319
|
+
const triggerAsyncWorkflow = async (workflow, values) => {
|
|
320
|
+
await this.workflow.trigger(workflow, values);
|
|
321
|
+
};
|
|
322
|
+
setTimeout(() => {
|
|
323
|
+
for (const [workflow, values] of events) {
|
|
324
|
+
triggerAsyncWorkflow(workflow, values).catch((error) => {
|
|
325
|
+
context.logger.error("[Workflow custom-action]: async workflow trigger failed", {
|
|
326
|
+
error,
|
|
327
|
+
workflowId: workflow.id,
|
|
328
|
+
workflowKey: workflow.key,
|
|
329
|
+
workflowTitle: workflow.title
|
|
330
|
+
});
|
|
331
|
+
});
|
|
332
|
+
}
|
|
333
|
+
}, ASYNC_WORKFLOW_TRIGGER_DELAY_MS);
|
|
334
|
+
};
|
|
335
|
+
if (context.res.writableEnded) {
|
|
336
|
+
triggerAsyncWorkflows();
|
|
337
|
+
return;
|
|
313
338
|
}
|
|
339
|
+
context.res.once("finish", triggerAsyncWorkflows);
|
|
314
340
|
}
|
|
315
341
|
validateContext(values, workflow) {
|
|
316
342
|
var _a;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nocobase/plugin-workflow-custom-action-trigger",
|
|
3
|
-
"version": "2.1.0-beta.
|
|
3
|
+
"version": "2.1.0-beta.45",
|
|
4
4
|
"displayName": "Workflow: Custom action event",
|
|
5
5
|
"displayName.zh-CN": "工作流:自定义操作事件",
|
|
6
6
|
"description": "Triggers after click a custom action button.",
|
|
@@ -31,6 +31,6 @@
|
|
|
31
31
|
],
|
|
32
32
|
"editionLevel": 0
|
|
33
33
|
},
|
|
34
|
-
"gitHead": "
|
|
34
|
+
"gitHead": "42587115fc34c3eb01ef2b2549f1c998e5708318",
|
|
35
35
|
"license": "Apache-2.0"
|
|
36
36
|
}
|