@nocobase/plugin-action-custom-request 2.1.0-beta.9 → 2.2.0-alpha.1

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/client-v2.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ export * from './dist/client-v2';
2
+ export { default } from './dist/client-v2';
package/client-v2.js ADDED
@@ -0,0 +1 @@
1
+ module.exports = require('./dist/client-v2/index.js');
@@ -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("@formily/antd-v5"),require("react"),require("@nocobase/flow-engine"),require("@emotion/css"),require("lodash"),require("file-saver"),require("@formily/shared"),require("@nocobase/client"),require("@formily/react"),require("@nocobase/utils/client"),require("antd")):"function"==typeof define&&define.amd?define("@nocobase/plugin-action-custom-request",["react-i18next","@formily/antd-v5","react","@nocobase/flow-engine","@emotion/css","lodash","file-saver","@formily/shared","@nocobase/client","@formily/react","@nocobase/utils/client","antd"],t):"object"==typeof exports?exports["@nocobase/plugin-action-custom-request"]=t(require("react-i18next"),require("@formily/antd-v5"),require("react"),require("@nocobase/flow-engine"),require("@emotion/css"),require("lodash"),require("file-saver"),require("@formily/shared"),require("@nocobase/client"),require("@formily/react"),require("@nocobase/utils/client"),require("antd")):e["@nocobase/plugin-action-custom-request"]=t(e["react-i18next"],e["@formily/antd-v5"],e.react,e["@nocobase/flow-engine"],e["@emotion/css"],e.lodash,e["file-saver"],e["@formily/shared"],e["@nocobase/client"],e["@formily/react"],e["@nocobase/utils/client"],e.antd)}(self,function(e,t,r,n,o,a,i,u,l,c,s,p){return function(){"use strict";var f={964:function(e){e.exports=o},632:function(e){e.exports=t},505:function(e){e.exports=c},875:function(e){e.exports=u},772:function(e){e.exports=l},667:function(e){e.exports=n},584:function(e){e.exports=s},721:function(e){e.exports=p},346:function(e){e.exports=i},467:function(e){e.exports=a},156:function(e){e.exports=r},238:function(t){t.exports=e}},m={};function d(e){var t=m[e];if(void 0!==t)return t.exports;var r=m[e]={exports:{}};return f[e](r,r.exports,d),r.exports}d.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return d.d(t,{a:t}),t},d.d=function(e,t){for(var r in t)d.o(t,r)&&!d.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},d.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},d.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var y={};return!function(){d.r(y),d.d(y,{default:function(){return eF},PluginActionCustomRequestClient:function(){return eR}});var e,t,r,n,o,a,i=d(772),u=d(156),l=d.n(u),c=d(505),s=d(584),p=d(721),f=d(346);function m(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function b(e,t,r,n,o,a,i){try{var u=e[a](i),l=u.value}catch(e){r(e);return}u.done?t(l):Promise.resolve(l).then(n,o)}function v(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var a=e.apply(t,r);function i(e){b(a,n,o,i,u,"next",e)}function u(e){b(a,n,o,i,u,"throw",e)}i(void 0)})}}function h(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}function g(e,t){var r,n,o,a,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return a={next:u(0),throw:u(1),return:u(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function u(a){return function(u){var l=[a,u];if(r)throw TypeError("Generator is already executing.");for(;i;)try{if(r=1,n&&(o=2&l[0]?n.return:l[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,l[1])).done)return o;switch(n=0,o&&(l=[2&l[0],o.value]),l[0]){case 0:case 1:o=l;break;case 4:return i.label++,{value:l[1],done:!1};case 5:i.label++,n=l[1],l=[0];continue;case 7:l=i.ops.pop(),i.trys.pop();continue;default:if(!(o=(o=i.trys).length>0&&o[o.length-1])&&(6===l[0]||2===l[0])){i=0;continue}if(3===l[0]&&(!o||l[1]>o[0]&&l[1]<o[3])){i.label=l[1];break}if(6===l[0]&&i.label<o[1]){i.label=o[1],o=l;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(l);break}o[2]&&i.ops.pop(),i.trys.pop();continue}l=t.call(e,i)}catch(e){l=[6,e],n=0}finally{r=o=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}}}var x=function(){var e=(0,i.useAPIClient)(),t=(0,i.useNavigateNoUpdate)(),r=(0,c.useFieldSchema)(),n=(0,i.useBlockRequestContext)().field,o=(0,i.useCompile)(),a=(0,c.useForm)(),u=((0,i.useBlockContext)()||{}).name,l=(0,i.useCollectionRecordData)(),d=(0,c.useFieldSchema)(),y=(0,c.useField)(),b=(0,i.useActionContext)().setVisible,x=p.App.useApp(),O=x.modal,S=x.message,w=(0,i.useDataSourceKey)(),P=(0,i.useContextVariable)().ctx,j=(0,i.useLocalVariables)(),A=(0,i.useVariables)();return{onClick:function(c,p){return v(function(){var c,x,T,C,k,I,q,E,R,F,D,N,M,V,B,U,z,_,L,$,G,K,W,H;return g(this,function(_){switch(_.label){case 0:if(C=(null==n||null==(c=n.data)?void 0:c.selectedRowData)?null==n||null==(x=n.data)?void 0:x.selectedRowData:P,q=(I=null!=(k=null==r?void 0:r["x-action-settings"])?k:{}).skipValidator,R=(E=I.onSuccess||{}).manualClose,F=E.redirecting,D=E.redirectTo,N=E.successMessage,M=E.actionAfterSuccess,V=N,B=D,U=null==r?void 0:r["x-action"],!0===q||"customize:form:request"!==U)return[3,2];return[4,a.submit()];case 1:_.sent(),_.label=2;case 2:z=h({},l),"customize:form:request"===U&&(z=a.values),null!=(T=y).data||(T.data={}),y.data.loading=!0,_.label=3;case 3:return _.trys.push([3,,8,9]),$=d["x-custom-request-id"]||d["x-uid"],[4,e.request({url:"/customRequests:send/".concat($),method:"POST",data:{currentRecord:{dataSourceKey:w,data:z},$nForm:"form"===u?a.values:void 0,$nSelectedRecord:C},responseType:"stream"===d["x-response-type"]?"blob":"json"})];case 4:return G=_.sent(),[4,(0,i.getVariableValue)(V,{variables:A,localVariables:((function(e){if(Array.isArray(e))return m(e)})(j)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(j)||function(e,t){if(e){if("string"==typeof e)return m(e,void 0);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 m(e,t)}}(j)||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:"$nResponse",ctx:new Proxy(h({},null==G||null==(L=G.data)?void 0:L.data,null==G?void 0:G.data),{})}])})];case 5:if(V=_.sent(),!D)return[3,7];return[4,(0,i.getVariableValue)(D,{variables:A,localVariables:j})];case 6:B=_.sent(),_.label=7;case 7:if(G.headers["content-disposition"]&&(W=(K=G.headers["content-disposition"]).match(/filename\*=utf-8''([^;]+)/i),H=K.match(/filename="([^"]+)"/i),W?(0,f.saveAs)(G.data,decodeURIComponent(W[1])):H&&(0,f.saveAs)(G.data,H[1])),y.data.loading=!1,p&&(null==p||p()),"previous"!==M&&(M||!0===F)||null==b||b(!1),!V)return(F&&!M||"redirect"===M)&&B&&((0,s.isURL)(B)?window.location.href=B:t(B)),[2];return R?O.success({title:o(V),onOk:v(function(){return g(this,function(e){return(F&&!M||"redirect"===M)&&B&&((0,s.isURL)(B)?window.location.href=B:t(B)),[2]})})}):(S.success(o(V)),(F&&!M||"redirect"===M)&&B&&((0,s.isURL)(B)?window.location.href=B:t(B))),[3,9];case 8:return y.data.loading=!1,[7];case 9:return[2]}})})()}}},O=function(){var e=(0,c.useFieldSchema)(),t=e["x-custom-request-id"]||e["x-uid"],r="customRequests:get/".concat(t);return(0,i.useRequest)({url:r,params:{appends:["roles"]}},{manual:!0,cacheKey:r})},S=d(467),w=d(238),P="action-custom-request";function j(e){return"{{t('".concat(e,"', { ns: '").concat(P,"', nsMode: 'fallback' })}}")}function A(){return(0,w.useTranslation)(P,{nsMode:"fallback"})}function T(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function C(e){return function(e){if(Array.isArray(e))return T(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||k(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 k(e,t){if(e){if("string"==typeof e)return T(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 T(e,t)}}var I=function(){var e,t=(0,i.useCurrentPopupContext)().params,r=(0,i.useCollectionRecordData)(),n=(0,i.useTableBlockContext)();if(r)return!1;var o=null==(e=(0,i.getStoredPopupContext)(null==t?void 0:t.popupuid))?void 0:e.tableBlockContext;return!(0,S.isEmpty)(o)||!(0,S.isEmpty)(n)},q=function(){var e,t=(0,i.useCollection_deprecated)(),r=A().t,n=(0,i.useCollectionFilterOptions)(t),o=(0,i.useCollectionFilterOptions)("users",i.DEFAULT_DATA_SOURCE_KEY),a=(0,i.useCompile)(),l=(0,i.useCollectionRecordData)(),c=((0,i.useBlockContext)()||{}).name,s=(0,i.useFormBlockContext)().form,p=(e=(0,u.useMemo)(function(){return[a(n),a(o)]},[n,o]),function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r,n,o=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var a=[],i=!0,u=!1;try{for(o=o.call(e);!(i=(r=o.next()).done)&&(a.push(r.value),a.length!==t);i=!0);}catch(e){u=!0,n=e}finally{try{i||null==o.return||o.return()}finally{if(u)throw n}}return a}}(e,2)||k(e,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.")}()),f=p[0],m=p[1],d=(0,i.useGlobalVariable)("$env"),y=(0,i.useContextAssociationFields)({maxDepth:2,contextCollectionName:t.name}),b=I();return(0,u.useMemo)(function(){var e,t;return[d,l&&{name:"currentRecord",title:r("Current record",{ns:"client"}),children:C(f)},("form"===c||s)&&{name:"$nForm",title:r("Current form",{ns:"client"}),children:C(f)},{name:"currentUser",title:r("Current user",{ns:"client"}),children:m},{name:"currentTime",title:r("Current time",{ns:"client"}),children:null},{name:"$nToken",title:"API token",children:null},b&&(e=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}({},y),t=t={name:"$nSelectedRecord",title:y.label},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r.push.apply(r,n)}return r})(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}),e)].filter(Boolean)},[l,r,f,c,m,b])},E=d(632),R=function(){return(0,i.useAPIClient)().resource("customRequests")},F={value:"name",label:"title"},D=function(){return{scope:q(),fieldNames:F,useTypedConstant:!0}},N={type:"object",properties:{method:{type:"string",required:!0,title:j("HTTP method"),"x-decorator-props":{tooltip:j("When the HTTP method is Post, Put or Patch, and this custom request inside the form, the request body will be automatically filled in with the form data")},"x-decorator":"FormItem","x-component":"Select","x-component-props":{showSearch:!1,allowClear:!1,className:"auto-width"},enum:[{label:"GET",value:"GET"},{label:"POST",value:"POST"},{label:"PUT",value:"PUT"},{label:"PATCH",value:"PATCH"},{label:"DELETE",value:"DELETE"}],default:"POST"},url:{type:"string",required:!0,title:j("URL"),"x-decorator":"FormItem","x-component":"Variable.TextArea","x-use-component-props":D,"x-component-props":{placeholder:"https://www.nocobase.com"}},headers:{type:"array","x-component":"ArrayItems","x-decorator":"FormItem",title:j("Headers"),description:j('"Content-Type" only support "application/json", and no need to specify'),items:{type:"object",properties:{space:{type:"void","x-component":"Space",properties:{name:{type:"string","x-decorator":"FormItem","x-component":"Input","x-component-props":{placeholder:j("Name")}},value:{type:"string","x-decorator":"FormItem","x-component":"Variable.TextArea","x-use-component-props":D},remove:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.Remove"}}}}},properties:{add:{type:"void",title:j("Add request header"),"x-component":"ArrayItems.Addition"}}},params:{type:"array","x-component":"ArrayItems","x-decorator":"FormItem",title:j("Parameters"),items:{type:"object",properties:{space:{type:"void","x-component":"Space",properties:{name:{type:"string","x-decorator":"FormItem","x-component":"Input","x-component-props":{placeholder:j("Name")}},value:{type:"string","x-decorator":"FormItem","x-component":"Variable.TextArea","x-use-component-props":D},remove:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.Remove"}}}}},properties:{add:{type:"void",title:j("Add parameter"),"x-component":"ArrayItems.Addition"}}},data:{type:"string",title:j("Body"),"x-decorator":"FormItem","x-decorator-props":{},"x-component":"Variable.JSON","x-component-props":{scope:"{{useCustomRequestVariableOptions}}",fieldNames:{value:"name",label:"title"},changeOnSelect:!0,autoSize:{minRows:10},placeholder:j("Input request data")},description:j("Only support standard JSON data")},timeout:{type:"number",title:j("Timeout config"),"x-decorator":"FormItem","x-decorator-props":{},"x-component":"InputNumber","x-component-props":{addonAfter:j("ms"),min:1,step:1e3,defaultValue:5e3}},responseType:{type:"string",title:j("Response type"),"x-decorator":"FormItem","x-decorator-props":{},"x-component":"Select",default:"json",enum:[{value:"json",label:"JSON"},{value:"stream",label:"Stream"}]}}};function M(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function V(e,t,r,n,o,a,i){try{var u=e[a](i),l=u.value}catch(e){r(e);return}u.done?t(l):Promise.resolve(l).then(n,o)}function B(){return(B=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(this,arguments)}function U(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}function z(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r.push.apply(r,n)}return r})(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}),e}function _(){var e,t,r,n=A().t,o=(0,i.useCollection_deprecated)().name,a=(0,i.useDataSourceKey)(),s=(0,c.useFieldSchema)(),p=R(),f=O(),m=f.data,d=f.refresh,y=(0,i.useDesignable)().dn,b=(0,u.useMemo)(function(){var e,t=U({},null==m||null==(e=m.data)?void 0:e.options);return t.data&&"string"!=typeof t.data&&(t.data=JSON.stringify(t.data,null,2)),t},[null==m||null==(r=m.data)?void 0:r.options]);return l().createElement(l().Fragment,null,l().createElement(i.SchemaSettingsActionModalItem,{title:n("Request settings"),components:{ArrayItems:E.ArrayItems},beforeOpen:function(){return!m&&d()},scope:{useCustomRequestVariableOptions:q},schema:N,initialValues:b,onSubmit:(e=function(e){var t,r,n;return function(e,t){var r,n,o,a,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return a={next:u(0),throw:u(1),return:u(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function u(a){return function(u){var l=[a,u];if(r)throw TypeError("Generator is already executing.");for(;i;)try{if(r=1,n&&(o=2&l[0]?n.return:l[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,l[1])).done)return o;switch(n=0,o&&(l=[2&l[0],o.value]),l[0]){case 0:case 1:o=l;break;case 4:return i.label++,{value:l[1],done:!1};case 5:i.label++,n=l[1],l=[0];continue;case 7:l=i.ops.pop(),i.trys.pop();continue;default:if(!(o=(o=i.trys).length>0&&o[o.length-1])&&(6===l[0]||2===l[0])){i=0;continue}if(3===l[0]&&(!o||l[1]>o[0]&&l[1]<o[3])){i.label=l[1];break}if(6===l[0]&&i.label<o[1]){i.label=o[1],o=l;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(l);break}o[2]&&i.ops.pop(),i.trys.pop();continue}l=t.call(e,i)}catch(e){l=[6,e],n=0}finally{r=o=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}}}(this,function(i){switch(i.label){case 0:return t=B({},function(e){if(null==e)throw TypeError("Cannot destructure "+e);return e}(e)),s["x-response-type"]=t.responseType,r=!s["x-custom-request-id"]||s["x-custom-request-id"]===s["x-uid"],[4,p.updateOrCreate({values:{key:s["x-uid"],options:z(U({},t),{collectionName:o,dataSourceKey:a})},filterKeys:["key"]})];case 1:return i.sent(),n={"x-response-type":t.responseType,"x-uid":s["x-uid"]},!r&&s["x-custom-request-id"]&&(n["x-custom-request-id"]=s["x-uid"],s["x-custom-request-id"]=s["x-uid"]),[4,y.emit("patch",{schema:n})];case 2:return i.sent(),y.refresh(),d(),[2]}})},t=function(){var t=this,r=arguments;return new Promise(function(n,o){var a=e.apply(t,r);function i(e){V(a,n,o,i,u,"next",e)}function u(e){V(a,n,o,i,u,"throw",e)}i(void 0)})},function(e){return t.apply(this,arguments)})}))}var L=new i.SchemaSettings({name:"CustomRequestActionSettings",items:[z(U({},i.actionSettingsItems["0"]),{children:((function(e){if(Array.isArray(e))return M(e)})(e=i.actionSettingsItems["0"].children)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return M(e,void 0);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 M(e,t)}}(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.")}()).concat([{name:"request settings",Component:_},i.SchemaSettingAccessControl])})]}),$={"customize:table:request":i.Action.Link},G=(0,i.withDynamicSchemaProps)(function(e){var t,r,n=$[(0,c.useFieldSchema)()["x-action"]]||i.Action;return l().createElement(n,(t=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}({},e),r=r={useProps:x},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):(function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r.push.apply(r,n)}return r})(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}),t))});G.Designer=function(){var e=R(),t=(0,c.useFieldSchema)();return l().createElement(i.Action.Designer,{linkageAction:!0,schemaSettings:"CustomRequestActionSettings",buttonEditorProps:{isLink:"customize:table:request"===t["x-action"]},linkageRulesProps:{type:"button"},removeButtonProps:{onConfirmOk:function(){return e.destroy({filterByTk:t["x-uid"]})}}})},G.Decorator=function(e){return(0,i.useAPIClient)(),l().createElement(i.ACLActionProvider,null,e.children)};var K=d(875);function W(e,t,r,n,o,a,i){try{var u=e[a](i),l=u.value}catch(e){r(e);return}u.done?t(l):Promise.resolve(l).then(n,o)}var H=function(e){var t,r,n,o=R(),a=(0,i.useSchemaInitializerItem)(),u=(0,i.useSchemaInitializer)().insert,c={title:'{{ t("Custom request") }}',"x-component":"CustomRequestAction","x-action":"customize:form:request","x-toolbar":"ActionSchemaToolbar","x-settings":"actionSettings:customRequest","x-decorator":"CustomRequestAction.Decorator","x-uid":(0,K.uid)(),"x-action-settings":{onSuccess:{manualClose:!1,redirecting:!1,successMessage:'{{t("Request success")}}'}}};return l().createElement(i.SchemaInitializerItem,(r=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}({},a),n=n={onClick:(t=function(){var e,t;return function(e,t){var r,n,o,a,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return a={next:u(0),throw:u(1),return:u(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function u(a){return function(u){var l=[a,u];if(r)throw TypeError("Generator is already executing.");for(;i;)try{if(r=1,n&&(o=2&l[0]?n.return:l[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,l[1])).done)return o;switch(n=0,o&&(l=[2&l[0],o.value]),l[0]){case 0:case 1:o=l;break;case 4:return i.label++,{value:l[1],done:!1};case 5:i.label++,n=l[1],l=[0];continue;case 7:l=i.ops.pop(),i.trys.pop();continue;default:if(!(o=(o=i.trys).length>0&&o[o.length-1])&&(6===l[0]||2===l[0])){i=0;continue}if(3===l[0]&&(!o||l[1]>o[0]&&l[1]<o[3])){i.label=l[1];break}if(6===l[0]&&i.label<o[1]){i.label=o[1],o=l;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(l);break}o[2]&&i.ops.pop(),i.trys.pop();continue}l=t.call(e,i)}catch(e){l=[6,e],n=0}finally{r=o=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}}}(this,function(r){switch(r.label){case 0:return t=(0,K.merge)(c||{},a.schema||{}),null==a||null==(e=a.schemaInitialize)||e.call(a,t),[4,o.create({values:{key:t["x-uid"]}})];case 1:return r.sent(),u(t),[2]}})},function(){var e=this,r=arguments;return new Promise(function(n,o){var a=t.apply(e,r);function i(e){W(a,n,o,i,u,"next",e)}function u(e){W(a,n,o,i,u,"throw",e)}i(void 0)})})},Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(n)):(function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r.push.apply(r,n)}return r})(Object(n)).forEach(function(e){Object.defineProperty(r,e,Object.getOwnPropertyDescriptor(n,e))}),r))},J=d(667),Y=d(964);function Q(){var e,t,r=(e=["\n &:not(:hover) {\n border-right-color: transparent;\n border-top-color: transparent;\n background-color: transparent;\n }\n "],t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}})));return Q=function(){return r},r}var X=i.Input.JSON;function Z(){return"request-".concat((0,s.uid)())}function ee(e){return Array.isArray(e)?e.map(function(e){return{name:String((null==e?void 0:e.name)||"").trim(),value:void 0===(null==e?void 0:e.value)||(null==e?void 0:e.value)===null?"":e.value}}).filter(function(e){return!!e.name}):[]}function et(e,t,r,n,o,a,i){try{var u=e[a](i),l=u.value}catch(e){r(e);return}u.done?t(l):Promise.resolve(l).then(n,o)}function er(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function en(){var e=er(["\n & > .ant-space-item:first-child {\n flex: 3;\n }\n & > .ant-space-item:nth-child(2) {\n flex-shrink: 0;\n flex: 5;\n }\n & > .ant-space-item:last-child {\n flex-shrink: 0;\n flex: 1;\n }\n "]);return en=function(){return e},e}function eo(){var e=er(["\n & > .ant-space-item:first-child {\n flex: 3;\n }\n & > .ant-space-item:nth-child(2) {\n flex-shrink: 0;\n flex: 5;\n }\n & > .ant-space-item:last-child {\n flex-shrink: 0;\n flex: 1;\n }\n "]);return eo=function(){return e},e}var ea=new Map,ei={key:{type:"string",title:j("Key"),"x-decorator":"FormItem","x-decorator-props":{style:{display:"none"}},"x-component":function(e){var t=e.value,r=e.onChange,n=(0,J.useFlowContext)(),o=(0,c.useForm)(),a=l().useRef(null);return l().useEffect(function(){t||null==r||r(Z())},[t,r]),l().useEffect(function(){if(t&&a.current!==t){var e,r=!0;return(e=function(){var e,i,u,l,c,s,p,f,m,d,y;return function(e,t){var r,n,o,a,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return a={next:u(0),throw:u(1),return:u(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function u(a){return function(u){var l=[a,u];if(r)throw TypeError("Generator is already executing.");for(;i;)try{if(r=1,n&&(o=2&l[0]?n.return:l[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,l[1])).done)return o;switch(n=0,o&&(l=[2&l[0],o.value]),l[0]){case 0:case 1:o=l;break;case 4:return i.label++,{value:l[1],done:!1};case 5:i.label++,n=l[1],l=[0];continue;case 7:l=i.ops.pop(),i.trys.pop();continue;default:if(!(o=(o=i.trys).length>0&&o[o.length-1])&&(6===l[0]||2===l[0])){i=0;continue}if(3===l[0]&&(!o||l[1]>o[0]&&l[1]<o[3])){i.label=l[1];break}if(6===l[0]&&i.label<o[1]){i.label=o[1],o=l;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(l);break}o[2]&&i.ops.pop(),i.trys.pop();continue}l=t.call(e,i)}catch(e){l=[6,e],n=0}finally{r=o=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}}}(this,function(b){switch(b.label){case 0:return b.trys.push([0,2,,3]),(s=ea.get(t))||(s=n.request({url:"/customRequests:get/".concat(t),method:"GET",params:{appends:["roles"]}}).finally(function(){ea.delete(t)}),ea.set(t,s)),[4,s];case 1:if(m=(null==(f=null==(p=b.sent())||null==(e=p.data)?void 0:e.data)?void 0:f.options)||{},d=Array.isArray(null==f?void 0:f.roles)?f.roles.map(function(e){return null==e?void 0:e.name}).filter(Boolean):[],!r)return[2];return y=void 0===(null==m?void 0:m.data)||(null==m?void 0:m.data)===null?void 0:"string"==typeof(null==m?void 0:m.data)?m.data:JSON.stringify(m.data,null,2),o.setValues({method:(null==m?void 0:m.method)||(null==(i=o.values)?void 0:i.method)||"POST",url:(null==m?void 0:m.url)||(null==(u=o.values)?void 0:u.url),headers:Array.isArray(null==m?void 0:m.headers)?m.headers:[],params:Array.isArray(null==m?void 0:m.params)?m.params:[],data:y,timeout:(null==m?void 0:m.timeout)||(null==(l=o.values)?void 0:l.timeout)||5e3,responseType:(null==m?void 0:m.responseType)||(null==(c=o.values)?void 0:c.responseType)||"json",roles:d}),a.current=t,[3,3];case 2:return b.sent(),[3,3];case 3:return[2]}})},function(){var t=this,r=arguments;return new Promise(function(n,o){var a=e.apply(t,r);function i(e){et(a,n,o,i,u,"next",e)}function u(e){et(a,n,o,i,u,"throw",e)}i(void 0)})})(),function(){r=!1}}},[t,n,o]),l().createElement(p.Input,{value:t,disabled:!0})}},method:{type:"string",title:j("HTTP method"),required:!0,"x-decorator-props":{tooltip:j("When the HTTP method is Post, Put or Patch, and this custom request inside the form, the request body will be automatically filled in with the form data")},"x-decorator":"FormItem","x-component":"Select","x-component-props":{showSearch:!1,allowClear:!1,className:"auto-width"},default:"POST",enum:[{label:"GET",value:"GET"},{label:"POST",value:"POST"},{label:"PUT",value:"PUT"},{label:"PATCH",value:"PATCH"},{label:"DELETE",value:"DELETE"}]},url:{type:"string",title:j("URL"),required:!0,"x-decorator":"FormItem","x-component":i.TextAreaWithContextSelector,"x-component-props":{placeholder:"https://www.nocobase.com"}},headers:{type:"array","x-component":"ArrayItems","x-decorator":"FormItem",title:j("Headers"),items:{type:"object",properties:{space:{type:"void","x-component":"Space","x-component-props":{style:{flexWrap:"nowrap",maxWidth:"100%",display:"flex"},className:(0,Y.css)(en())},properties:{name:{type:"string","x-decorator":"FormItem","x-component":"Input","x-component-props":{placeholder:j("Name")}},value:{type:"string","x-decorator":"FormItem","x-component":i.TextAreaWithContextSelector,"x-component-props":{rows:1}},remove:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.Remove"}}}}},properties:{add:{type:"void",title:j("Add request header"),"x-component":"ArrayItems.Addition"}}},params:{type:"array","x-component":"ArrayItems","x-decorator":"FormItem",title:j("Parameters"),items:{type:"object",properties:{space:{type:"void","x-component":"Space","x-component-props":{style:{flexWrap:"nowrap",maxWidth:"100%",display:"flex"},className:(0,Y.css)(eo())},properties:{name:{type:"string","x-decorator":"FormItem","x-component":"Input","x-component-props":{placeholder:j("Name")}},value:{type:"string","x-decorator":"FormItem","x-component":i.TextAreaWithContextSelector,"x-component-props":{rows:1}},remove:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.Remove"}}}}},properties:{add:{type:"void",title:j("Add parameter"),"x-component":"ArrayItems.Addition"}}},data:{type:"string",title:j("Body"),"x-decorator":"FormItem","x-component":function(e){var t=e.value,r=e.onChange,n=function(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},a=Object.keys(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n<a.length;n++)r=a[n],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}(e,["value","onChange"]),o=(0,J.useFlowContext)(),a=(0,u.useRef)(null),i=(0,u.useCallback)(function(e){var t,r,n,o,i=null==(r=a.current)||null==(t=r.resizableTextArea)?void 0:t.textArea;if(i){var u,l,c=i.value||"",s=null!=(n=i.selectionStart)?n:c.length,p=null!=(o=i.selectionEnd)?o:s,f=c.slice(0,s)+e+c.slice(p);null==(l=null==(u=Object.getOwnPropertyDescriptor(i.constructor.prototype,"value"))?void 0:u.set)||l.call(i,f),i.dispatchEvent(new Event("input",{bubbles:!0})),requestAnimationFrame(function(){var t=s+e.length;i.setSelectionRange(t,t),i.focus()})}},[]),c=(0,u.useCallback)(function(e){e&&i(e)},[i]),s=(0,u.useMemo)(function(){return function(){var e;return null==(e=o.getPropertyMetaTree)?void 0:e.call(o)}},[o]);return l().createElement("div",{style:{position:"relative",width:"100%"}},l().createElement(X,function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}({ref:a,value:t,onChange:r},n)),l().createElement("div",{style:{position:"absolute",top:0,right:0,zIndex:1,lineHeight:0}},l().createElement(J.FlowContextSelector,{metaTree:s,onChange:function(e){return c(e)}},l().createElement(p.Button,{type:"default",style:{fontStyle:"italic",fontFamily:"New York, Times New Roman, Times, serif"},className:(0,Y.css)(Q())},"x"))))},"x-component-props":{autoSize:{minRows:10},placeholder:j("Input request data")},description:j("Only support standard JSON data")},timeout:{type:"number",title:j("Timeout config"),"x-decorator":"FormItem","x-component":p.InputNumber,"x-component-props":{min:1,step:1e3,addonAfter:j("ms"),style:{width:"100%"}},default:5e3},responseType:{type:"string",title:j("Response type"),"x-decorator":"FormItem","x-component":"Select",default:"json",enum:[{value:"json",label:"JSON"},{value:"stream",label:j("Stream")}]},roles:{type:"array",title:j("Access control"),"x-decorator":"FormItem","x-decorator-props":{tooltip:j("If not set, all roles can access this request")},"x-component":function(e){var t=e.value,r=e.onChange;return l().createElement(i.RemoteSelect,{mode:"multiple",manual:!1,value:void 0===t?[]:t,service:{resource:"roles"},fieldNames:{label:"title",value:"name"},allowClear:!0,onChange:function(e){return null==r?void 0:r(Array.isArray(e)?e.map(function(e){return"string"==typeof e?e:e&&(void 0===e?"undefined":e&&"undefined"!=typeof Symbol&&e.constructor===Symbol?"symbol":typeof e)=="object"?(null==e?void 0:e.name)||(null==e?void 0:e.value)||(null==e?void 0:e.roleName):void 0}).filter(Boolean):[])}})}}};function eu(e,t,r,n,o,a,i){try{var u=e[a](i),l=u.value}catch(e){r(e);return}u.done?t(l):Promise.resolve(l).then(n,o)}function el(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var a=e.apply(t,r);function i(e){eu(a,n,o,i,u,"next",e)}function u(e){eu(a,n,o,i,u,"throw",e)}i(void 0)})}}function ec(e){return e&&"undefined"!=typeof Symbol&&e.constructor===Symbol?"symbol":typeof e}function es(e,t){var r,n,o,a,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return a={next:u(0),throw:u(1),return:u(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function u(a){return function(u){var l=[a,u];if(r)throw TypeError("Generator is already executing.");for(;i;)try{if(r=1,n&&(o=2&l[0]?n.return:l[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,l[1])).done)return o;switch(n=0,o&&(l=[2&l[0],o.value]),l[0]){case 0:case 1:o=l;break;case 4:return i.label++,{value:l[1],done:!1};case 5:i.label++,n=l[1],l=[0];continue;case 7:l=i.ops.pop(),i.trys.pop();continue;default:if(!(o=(o=i.trys).length>0&&o[o.length-1])&&(6===l[0]||2===l[0])){i=0;continue}if(3===l[0]&&(!o||l[1]>o[0]&&l[1]<o[3])){i.label=l[1];break}if(6===l[0]&&i.label<o[1]){i.label=o[1],o=l;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(l);break}o[2]&&i.ops.pop(),i.trys.pop();continue}l=t.call(e,i)}catch(e){l=[6,e],n=0}finally{r=o=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}}}var ep=/\{\{\s*([^{}]+?)\s*\}\}/g,ef=function(e){if(null!=e&&("string"!=typeof e||""!==e.trim())){if("string"!=typeof e)return e;var t=e.trim();if(!t)return e;try{return JSON.parse(t)}catch(t){return e}}},em=function(e){var t=e.match(/filename\*=utf-8''([^;]+)/i);if(t)return decodeURIComponent(t[1]);var r=e.match(/filename="([^"]+)"/i);if(r)return r[1]},ed=function(e,t){if("string"==typeof e){var r=e.matchAll(ep),n=!0,o=!1,a=void 0;try{for(var i,u=r[Symbol.iterator]();!(n=(i=u.next()).done);n=!0){var l,c=i.value,s=null==c||null==(l=c[1])?void 0:l.trim();s&&s.startsWith("ctx.")&&t.add(s)}}catch(e){o=!0,a=e}finally{try{n||null==u.return||u.return()}finally{if(o)throw a}}return}if(Array.isArray(e))return void e.forEach(function(e){return ed(e,t)});e&&(void 0===e?"undefined":ec(e))==="object"&&Object.values(e).forEach(function(e){return ed(e,t)})},ey=function(e){var t=[null==e?void 0:e.url,null==e?void 0:e.headers,null==e?void 0:e.params,null==e?void 0:e.data],r=new Set;return t.forEach(function(e){return ed(e,r)}),Array.from(r)},eb=(t=el(function(e,t){var r,n;return es(this,function(o){switch(o.label){case 0:if(!Array.isArray(t)||!t.length||"function"!=typeof(null==e?void 0:e.resolveJsonTemplate))return[2,void 0];o.label=1;case 1:return o.trys.push([1,3,,4]),r=t.reduce(function(e,t){return e[t]="{{".concat(t,"}}"),e},{}),[4,e.resolveJsonTemplate(r)];case 2:if(!(n=o.sent())||(void 0===n?"undefined":ec(n))!=="object")return[2,void 0];return[2,t.reduce(function(e,t){var r=n[t];return void 0===r||"string"==typeof r&&r.trim()==="{{".concat(t,"}}")||(e[t]=r),e},{})];case 3:return o.sent(),[2,void 0];case 4:return[2]}})}),function(e,r){return t.apply(this,arguments)}),ev=(0,J.defineAction)({name:"customRequest",title:(0,J.tExpr)("Custom request"),scene:[J.ActionScene.DYNAMIC_EVENT_FLOW],paramsRequired:!0,sort:700,uiSchema:ei,defaultParams:el(function(){return es(this,function(e){return[2,{key:Z(),method:"POST",timeout:5e3,responseType:"json",headers:[],params:[]}]})}),beforeParamsSave:(r=el(function(e,t){var r,n,o,a,i,u,l,c,s,p,f,m;return es(this,function(d){switch(d.label){case 0:var y;return c=(null==t?void 0:t.key)||Z(),s=(null==(r=e.collection)?void 0:r.name)||(null==(n=e.collectionField)?void 0:n.collectionName)||(null==(o=e.resource)?void 0:o.name)||e.resourceName,p=(null==(a=e.collection)?void 0:a.dataSourceKey)||(null==(i=e.dataSource)?void 0:i.key)||(null==(l=e.resource)||null==(u=l.getDataSourceKey)?void 0:u.call(l)),f=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}({method:(null==t?void 0:t.method)||"POST",url:null==t?void 0:t.url,headers:ee(null==t?void 0:t.headers),params:ee(null==t?void 0:t.params),data:ef(null==t?void 0:t.data),timeout:null==t?void 0:t.timeout,responseType:(null==t?void 0:t.responseType)||"json"},s?{collectionName:s}:{},p?{dataSourceKey:p}:{}),m=ey(t),[4,e.api.resource("customRequests").updateOrCreate({filterKeys:["key"],values:{key:c,options:f,roles:Array.isArray(y=null==t?void 0:t.roles)?y.map(function(e){return"string"==typeof e?e:e&&(void 0===e?"undefined":ec(e))==="object"?e.name||e.value||e.roleName:void 0}).map(function(e){return"string"==typeof e?e.trim():""}).filter(Boolean):[]}})];case 1:return d.sent(),Object.keys(t||{}).forEach(function(e){["key","variablePaths","responseType"].includes(e)||delete t[e]}),t.key=c,t.variablePaths=m,t.responseType=(null==t?void 0:t.responseType)||"json",[2]}})}),function(e,t){return r.apply(this,arguments)}),handler:(n=el(function(e,t){var r,n,o,a,i,u,l,c,s;return es(this,function(p){switch(p.label){case 0:if(!(r=null==t?void 0:t.key))return[2,{ok:!1,status:400,error:{message:"custom request key is required"}}];return n=(null==t?void 0:t.responseType)||"json",[4,eb(e,null==t?void 0:t.variablePaths)];case 1:o=p.sent(),p.label=2;case 2:return p.trys.push([2,4,,5]),[4,e.request({url:"/customRequests:send/".concat(r),method:"POST",responseType:"stream"===n?"blob":"json",data:{vars:o}})];case 3:if(a=p.sent(),"stream"===n)return(l=(null==a||null==(i=a.headers)?void 0:i["content-disposition"])||(null==a||null==(u=a.headers)?void 0:u["Content-Disposition"]))&&(c=em(l))&&(0,f.saveAs)(a.data,c),[2];return[2,a];case 4:if(s=p.sent(),"stream"===n)throw s;return[2,s];case 5:return[2]}})}),function(e,t){return n.apply(this,arguments)})});function eh(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function eg(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function ex(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){eg(e,t,r[t])})}return e}function eO(e){return function(e){if(Array.isArray(e))return eh(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return eh(e,void 0);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 eh(e,t)}}(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.")}()}var eS=function(){var e=(0,i.useAfterSuccessOptions)();return[{value:"$nResponse",label:(0,(0,w.useTranslation)().t)("Response",{ns:"client"}),children:null}].concat(eO(e.filter(function(e){return["currentUser","currentTime","$nRole"].includes(e.value)}))).filter(Boolean)},ew=function(){var e=(0,i.useAfterSuccessOptions)(),t=(0,i.useGlobalVariable)("$env");return eO(e.filter(function(e){return"$record"!==e.value})).concat([t]).filter(Boolean)},eP=function(){return{scope:ew(),useTypedConstant:!0}},ej=new i.SchemaSettings({name:"actionSettings:customRequest",items:[{name:"editButton",Component:i.ButtonEditor,useComponentProps:function(){return{isLink:"customize:table:request"===(0,c.useFieldSchema)()["x-action"]}}},{name:"linkageRules",Component:i.SchemaSettingsLinkageRules,useComponentProps:function(){return ex({},(0,i.useSchemaToolbar)().linkageRulesProps)}},{name:"secondConFirm",Component:i.SecondConFirm},{name:"afterSuccessfulSubmission",Component:function(){var e,t=(0,i.useDesignable)().dn,r=(0,w.useTranslation)().t,n=(0,c.useFieldSchema)(),o=((null==n?void 0:n["x-action-settings"])||{}).onSuccess,a=(0,i.usePlugin)("@nocobase/plugin-block-template"),u=null==a||null==(e=a.isInBlockTemplateConfigPage)?void 0:e.call(a);return l().createElement(i.SchemaSettingsModalItem,{dialogRootClassName:"dialog-after-successful-submission",width:700,title:r("After successful submission"),initialValues:o?ex({actionAfterSuccess:(null==o?void 0:o.redirecting)?"redirect":"previous"},o):{manualClose:!1,redirecting:!1,successMessage:'{{t("Saved successfully")}}',actionAfterSuccess:"previous"},schema:{type:"object",title:r("After successful submission"),properties:{successMessage:{title:r("Popup message"),"x-decorator":"FormItem","x-component":"Variable.RawTextArea","x-component-props":{scope:eS,style:{minWidth:"220px"}}},manualClose:{title:r("Message popup close method"),enum:[{label:r("Automatic close"),value:!1},{label:r("Manually close"),value:!0}],"x-decorator":"FormItem","x-component":"Radio.Group","x-component-props":{}},redirecting:{title:r("Then"),"x-hidden":!0,enum:[{label:r("Stay on current page"),value:!1},{label:r("Redirect to"),value:!0}],"x-decorator":"FormItem","x-component":"Radio.Group","x-component-props":{},"x-reactions":{target:"redirectTo",fulfill:{state:{visible:"{{!!$self.value}}"}}}},actionAfterSuccess:{title:r("Action after successful submission"),enum:[{label:r("Stay on the current popup or page"),value:"stay"},{label:r("Return to the previous popup or page"),value:"previous"},{label:r("Redirect to"),value:"redirect"}],"x-decorator":"FormItem","x-component":"Radio.Group","x-component-props":{},"x-reactions":{target:"redirectTo",fulfill:{state:{visible:"{{$self.value==='redirect'}}"}}}},redirectTo:{title:r("Link"),"x-decorator":"FormItem","x-component":"Variable.TextArea","x-use-component-props":eP},blocksToRefresh:{type:"array",title:r("Refresh data blocks"),"x-decorator":"FormItem","x-use-decorator-props":function(){return{tooltip:r("After successful submission, the selected data blocks will be automatically refreshed.")}},"x-component":i.BlocksSelector,"x-hidden":u}}},onSubmit:function(e){var r;n["x-action-settings"].onSuccess=e,t.emit("patch",{schema:(eg(r={},"x-uid",n["x-uid"]),eg(r,"x-action-settings",n["x-action-settings"]),r)})}})}},{name:"request settings",Component:_},(o=ex({},i.SchemaSettingAccessControl),a=a={useVisible:function(){return!0}},Object.getOwnPropertyDescriptors?Object.defineProperties(o,Object.getOwnPropertyDescriptors(a)):(function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r.push.apply(r,n)}return r})(Object(a)).forEach(function(e){Object.defineProperty(o,e,Object.getOwnPropertyDescriptor(a,e))}),o),{name:"refreshDataBlockRequest",Component:i.RefreshDataBlockRequest,useComponentProps:function(){return{isPopupAction:!1}},useVisible:function(){return!!(0,i.useCollection)()}},{name:"delete",sort:100,Component:i.RemoveButton,useComponentProps:function(){return(0,i.useSchemaToolbar)().removeButtonProps}}]});function eA(e,t,r,n,o,a,i){try{var u=e[a](i),l=u.value}catch(e){r(e);return}u.done?t(l):Promise.resolve(l).then(n,o)}function eT(e,t,r){return(eT=eq()?Reflect.construct:function(e,t,r){var n=[null];n.push.apply(n,t);var o=new(Function.bind.apply(e,n));return r&&ek(o,r.prototype),o}).apply(null,arguments)}function eC(e){return(eC=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function ek(e,t){return(ek=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function eI(e){var t="function"==typeof Map?new Map:void 0;return(eI=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 eT(e,arguments,eC(this).constructor)}return r.prototype=Object.create(e.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),ek(r,e)})(e)}function eq(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(eq=function(){return!!e})()}var eE=function(e){return l().createElement(i.SchemaComponentOptions,{scope:{CustomRequestConfigurationFieldsSchema:N},components:{CustomRequestAction:G,CustomRequestInitializer:H}},e.children)},eR=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=eC(e),function(e,t){var r;if(t&&("object"==((r=t)&&"undefined"!=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,eq()?Reflect.construct(e,t||[],eC(this).constructor):e.apply(this,t))}return r.prototype=Object.create(e&&e.prototype,{constructor:{value:r,writable:!0,configurable:!0}}),e&&ek(r,e),t=[{key:"load",value:function(){var e,t=this;return(e=function(){return function(e,t){var r,n,o,a,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return a={next:u(0),throw:u(1),return:u(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function u(a){return function(u){var l=[a,u];if(r)throw TypeError("Generator is already executing.");for(;i;)try{if(r=1,n&&(o=2&l[0]?n.return:l[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,l[1])).done)return o;switch(n=0,o&&(l=[2&l[0],o.value]),l[0]){case 0:case 1:o=l;break;case 4:return i.label++,{value:l[1],done:!1};case 5:i.label++,n=l[1],l=[0];continue;case 7:l=i.ops.pop(),i.trys.pop();continue;default:if(!(o=(o=i.trys).length>0&&o[o.length-1])&&(6===l[0]||2===l[0])){i=0;continue}if(3===l[0]&&(!o||l[1]>o[0]&&l[1]<o[3])){i.label=l[1];break}if(6===l[0]&&i.label<o[1]){i.label=o[1],o=l;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(l);break}o[2]&&i.ops.pop(),i.trys.pop();continue}l=t.call(e,i)}catch(e){l=[6,e],n=0}finally{r=o=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}}}(this,function(e){return t.app.use(eE),t.app.flowEngine.registerActions({customRequestFlowAction:ev}),t.app.schemaSettingsManager.add(ej),t.app.schemaSettingsManager.add(L),[2]})},function(){var t=this,r=arguments;return new Promise(function(n,o){var a=e.apply(t,r);function i(e){eA(a,n,o,i,u,"next",e)}function u(e){eA(a,n,o,i,u,"throw",e)}i(void 0)})})()}}],function(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}(r.prototype,t),r}(eI(i.Plugin)),eF=eR}(),y}()});
10
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("react-i18next"),require("@emotion/css"),require("@formily/antd-v5"),require("@formily/react"),require("@nocobase/flow-engine"),require("@nocobase/client-v2"),require("@formily/shared"),require("react"),require("antd"),require("@nocobase/client"),require("@nocobase/utils/client"),require("lodash")):"function"==typeof define&&define.amd?define("@nocobase/plugin-action-custom-request",["react-i18next","@emotion/css","@formily/antd-v5","@formily/react","@nocobase/flow-engine","@nocobase/client-v2","@formily/shared","react","antd","@nocobase/client","@nocobase/utils/client","lodash"],t):"object"==typeof exports?exports["@nocobase/plugin-action-custom-request"]=t(require("react-i18next"),require("@emotion/css"),require("@formily/antd-v5"),require("@formily/react"),require("@nocobase/flow-engine"),require("@nocobase/client-v2"),require("@formily/shared"),require("react"),require("antd"),require("@nocobase/client"),require("@nocobase/utils/client"),require("lodash")):e["@nocobase/plugin-action-custom-request"]=t(e["react-i18next"],e["@emotion/css"],e["@formily/antd-v5"],e["@formily/react"],e["@nocobase/flow-engine"],e["@nocobase/client-v2"],e["@formily/shared"],e.react,e.antd,e["@nocobase/client"],e["@nocobase/utils/client"],e.lodash)}(self,function(e,t,r,n,o,a,i,u,c,l,s,p){return function(){var f={574:function(e,t,r){var n,o;void 0===(o="function"==typeof(n=function(){"use strict";function t(e,t,r){var n=new XMLHttpRequest;n.open("GET",e),n.responseType="blob",n.onload=function(){u(n.response,t,r)},n.onerror=function(){console.error("could not download file")},n.send()}function n(e){var t=new XMLHttpRequest;t.open("HEAD",e,!1);try{t.send()}catch(e){}return 200<=t.status&&299>=t.status}function o(e){try{e.dispatchEvent(new MouseEvent("click"))}catch(r){var t=document.createEvent("MouseEvents");t.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),e.dispatchEvent(t)}}var a="object"==typeof window&&window.window===window?window:"object"==typeof self&&self.self===self?self:"object"==typeof r.g&&r.g.global===r.g?r.g:void 0,i=a.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),u=a.saveAs||("object"!=typeof window||window!==a?function(){}:"download"in HTMLAnchorElement.prototype&&!i?function(e,r,i){var u=a.URL||a.webkitURL,c=document.createElement("a");c.download=r=r||e.name||"download",c.rel="noopener","string"==typeof e?(c.href=e,c.origin===location.origin?o(c):n(c.href)?t(e,r,i):o(c,c.target="_blank")):(c.href=u.createObjectURL(e),setTimeout(function(){u.revokeObjectURL(c.href)},4e4),setTimeout(function(){o(c)},0))}:"msSaveOrOpenBlob"in navigator?function(e,r,a){if(r=r||e.name||"download","string"!=typeof e){var i;navigator.msSaveOrOpenBlob((void 0===(i=a)?i={autoBom:!1}:"object"!=typeof i&&(console.warn("Deprecated: Expected third argument to be a object"),i={autoBom:!i}),i.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)?new Blob(["\uFEFF",e],{type:e.type}):e),r)}else if(n(e))t(e,r,a);else{var u=document.createElement("a");u.href=e,u.target="_blank",setTimeout(function(){o(u)})}}:function(e,r,n,o){if((o=o||open("","_blank"))&&(o.document.title=o.document.body.innerText="downloading..."),"string"==typeof e)return t(e,r,n);var u="application/octet-stream"===e.type,c=/constructor/i.test(a.HTMLElement)||a.safari,l=/CriOS\/[\d]+/.test(navigator.userAgent);if((l||u&&c||i)&&"u">typeof FileReader){var s=new FileReader;s.onloadend=function(){var e=s.result;e=l?e:e.replace(/^data:[^;]*;/,"data:attachment/file;"),o?o.location.href=e:location=e,o=null},s.readAsDataURL(e)}else{var p=a.URL||a.webkitURL,f=p.createObjectURL(e);o?o.location=f:location.href=f,o=null,setTimeout(function(){p.revokeObjectURL(f)},4e4)}});a.saveAs=u.saveAs=u,e.exports=u})?n.apply(t,[]):n)||(e.exports=o)},477:function(e){"use strict";e.exports=t},418:function(e){"use strict";e.exports=r},230:function(e){"use strict";e.exports=n},166:function(e){"use strict";e.exports=i},342:function(e){"use strict";e.exports=l},485:function(e){"use strict";e.exports=a},694:function(e){"use strict";e.exports=o},768:function(e){"use strict";e.exports=s},59:function(e){"use strict";e.exports=c},773:function(e){"use strict";e.exports=p},155:function(e){"use strict";e.exports=u},953:function(t){"use strict";t.exports=e}},m={};function d(e){var t=m[e];if(void 0!==t)return t.exports;var r=m[e]={exports:{}};return f[e].call(r.exports,r,r.exports,d),r.exports}d.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return d.d(t,{a:t}),t},d.d=function(e,t){for(var r in t)d.o(t,r)&&!d.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},d.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),d.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},d.r=function(e){"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},d.g.importScripts&&(y=d.g.location+"");var y,b=d.g.document;if(!y&&b&&(b.currentScript&&"SCRIPT"===b.currentScript.tagName.toUpperCase()&&(y=b.currentScript.src),!y)){var v=b.getElementsByTagName("script");if(v.length)for(var h=v.length-1;h>-1&&(!y||!/^http(s?):/.test(y));)y=v[h--].src}if(!y)throw Error("Automatic publicPath is not supported in this browser");d.p=y.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/");var g={};return!function(){"use strict";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-action-custom-request/dist/client/")}if(!e){var n=window.__nocobase_modern_client_prefix__||"v",o="/"+(n=String(n).replace(/^\/+|\/+$/g,"")||"v")+"/";if(!(e=window.__nocobase_public_path__||"")&&window.location&&window.location.pathname){var a=window.location.pathname||"/",i=a.indexOf(o);e=i>=0?a.slice(0,i+1):"/"}e&&(e=e.replace(RegExp("/"+n+"/?$"),"/")),e||(e="/"),"/"!==e.charAt(e.length-1)&&(e+="/"),e+="static/plugins/@nocobase/plugin-action-custom-request/dist/client/"}d.p=e}(),!function(){"use strict";d.r(g),d.d(g,{default:function(){return eK},PluginActionCustomRequestClient:function(){return eJ}});var e,t,r,n=d(342),o=d(155),a=d.n(o),i=d(485),u=d(694),c=d(953),l="action-custom-request";function s(e){return"{{t('".concat(e,"', { ns: '").concat(l,"', nsMode: 'fallback' })}}")}var p=d(768),f=d(574);function m(e,t,r,n,o,a,i){try{var u=e[a](i),c=u.value}catch(e){r(e);return}u.done?t(c):Promise.resolve(c).then(n,o)}function y(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var a=e.apply(t,r);function i(e){m(a,n,o,i,u,"next",e)}function u(e){m(a,n,o,i,u,"throw",e)}i(void 0)})}}function b(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}function v(e){return e&&"u">typeof Symbol&&e.constructor===Symbol?"symbol":typeof e}function h(e,t){var r,n,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),u=Object.defineProperty;return u(i,"next",{value:c(0)}),u(i,"throw",{value:c(1)}),u(i,"return",{value:c(2)}),"function"==typeof Symbol&&u(i,Symbol.iterator,{value:function(){return this}}),i;function c(u){return function(c){var l=[u,c];if(r)throw TypeError("Generator is already executing.");for(;i&&(i=0,l[0]&&(a=0)),a;)try{if(r=1,n&&(o=2&l[0]?n.return:l[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,l[1])).done)return o;switch(n=0,o&&(l=[2&l[0],o.value]),l[0]){case 0:case 1:o=l;break;case 4:return a.label++,{value:l[1],done:!1};case 5:a.label++,n=l[1],l=[0];continue;case 7:l=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===l[0]||2===l[0])){a=0;continue}if(3===l[0]&&(!o||l[1]>o[0]&&l[1]<o[3])){a.label=l[1];break}if(6===l[0]&&a.label<o[1]){a.label=o[1],o=l;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(l);break}o[2]&&a.ops.pop(),a.trys.pop();continue}l=t.call(e,a)}catch(e){l=[6,e],n=0}finally{r=o=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}}}function x(){return"req-".concat((0,p.uid)())}function O(e){return Array.isArray(e)?e.map(function(e){return{name:String((null==e?void 0:e.name)||"").trim(),value:void 0===(null==e?void 0:e.value)||(null==e?void 0:e.value)===null?"":e.value}}).filter(function(e){return!!e.name}):[]}var w={method:"POST",timeout:5e3,responseType:"json",headers:[],params:[]},S=function(e){return Array.isArray(e)?e.map(function(e){return"string"==typeof e?e:e&&(void 0===e?"undefined":v(e))==="object"?e.name||e.value||e.roleName:void 0}).map(function(e){return"string"==typeof e?e.trim():""}).filter(Boolean):[]},j=function(e){if(null!=e&&("string"!=typeof e||""!==e.trim())){if("string"!=typeof e)return e;var t=e.trim();if(t)try{return JSON.parse(t)}catch(t){return e}}},P=function(e){var t=b({},(null==e?void 0:e.options)||{});return void 0!==t.data&&null!==t.data&&"string"!=typeof t.data&&(t.data=JSON.stringify(t.data,null,2)),t.roles=S(null==e?void 0:e.roles),t},A=function(e){var t=e.match(/filename\*=utf-8''([^;]+)/i);if(t)return decodeURIComponent(t[1]);var r=e.match(/filename="([^"]+)"/i);if(r)return r[1]},T=function(e){var t,r,n=(null==e||null==(t=e.headers)?void 0:t["content-disposition"])||(null==e||null==(r=e.headers)?void 0:r["Content-Disposition"]);if(n){var o=A(n);if(o)return{filename:o,data:e.data}}},k=/\{\{\s*([^{}]+?)\s*\}\}/g,C=function(e,t){if("string"==typeof e){var r=e.matchAll(k),n=!0,o=!1,a=void 0;try{for(var i,u=r[Symbol.iterator]();!(n=(i=u.next()).done);n=!0){var c,l=i.value,s=null==l||null==(c=l[1])?void 0:c.trim();s&&s.startsWith("ctx.")&&t.add(s)}}catch(e){o=!0,a=e}finally{try{n||null==u.return||u.return()}finally{if(o)throw a}}return}Array.isArray(e)?e.forEach(function(e){return C(e,t)}):e&&(void 0===e?"undefined":v(e))==="object"&&Object.values(e).forEach(function(e){return C(e,t)})},q=function(e){var t=[null==e?void 0:e.url,null==e?void 0:e.headers,null==e?void 0:e.params,null==e?void 0:e.data],r=new Set;return t.forEach(function(e){return C(e,r)}),Array.from(r)};function E(e){var t,r,n,o;return"function"==typeof(null==e?void 0:e.request)?e.request.bind(e):"function"==typeof(null==e||null==(t=e.api)?void 0:t.request)?e.api.request.bind(e.api):"function"==typeof(null==e||null==(o=e.model)||null==(n=o.context)||null==(r=n.api)?void 0:r.request)?e.model.context.api.request.bind(e.model.context.api):void 0}var I=d(477),R=d(59),F=d(230);function D(e,t,r,n,o,a,i){try{var u=e[a](i),c=u.value}catch(e){r(e);return}u.done?t(c):Promise.resolve(c).then(n,o)}var _=new Map;function M(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function B(e,t,r,n,o,a,i){try{var u=e[a](i),c=u.value}catch(e){r(e);return}u.done?t(c):Promise.resolve(c).then(n,o)}function L(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function U(){var e=L(["\n & > .ant-space-item:first-child {\n flex: 3;\n }\n & > .ant-space-item:nth-child(2) {\n flex-shrink: 0;\n flex: 5;\n }\n & > .ant-space-item:last-child {\n flex-shrink: 0;\n flex: 1;\n }\n "]);return U=function(){return e},e}function N(){var e=L(["\n & > .ant-space-item:first-child {\n flex: 3;\n }\n & > .ant-space-item:nth-child(2) {\n flex-shrink: 0;\n flex: 5;\n }\n & > .ant-space-item:last-child {\n flex-shrink: 0;\n flex: 1;\n }\n "]);return N=function(){return e},e}var V={key:{type:"string",title:s("Key"),"x-decorator":"FormItem","x-decorator-props":{style:{display:"none"}},"x-component":function(e){var t=e.value,r=e.onChange,n=(0,u.useFlowContext)(),o=(0,F.useForm)(),i=a().useRef(null);return a().useEffect(function(){t||null==r||r(x())},[t,r]),a().useEffect(function(){if(t&&i.current!==t){var e,r=!0;return(e=function(){var e,a,u,c,l,s,p;return function(e,t){var r,n,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),u=Object.defineProperty;return u(i,"next",{value:c(0)}),u(i,"throw",{value:c(1)}),u(i,"return",{value:c(2)}),"function"==typeof Symbol&&u(i,Symbol.iterator,{value:function(){return this}}),i;function c(u){return function(c){var l=[u,c];if(r)throw TypeError("Generator is already executing.");for(;i&&(i=0,l[0]&&(a=0)),a;)try{if(r=1,n&&(o=2&l[0]?n.return:l[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,l[1])).done)return o;switch(n=0,o&&(l=[2&l[0],o.value]),l[0]){case 0:case 1:o=l;break;case 4:return a.label++,{value:l[1],done:!1};case 5:a.label++,n=l[1],l=[0];continue;case 7:l=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===l[0]||2===l[0])){a=0;continue}if(3===l[0]&&(!o||l[1]>o[0]&&l[1]<o[3])){a.label=l[1];break}if(6===l[0]&&a.label<o[1]){a.label=o[1],o=l;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(l);break}o[2]&&a.ops.pop(),a.trys.pop();continue}l=t.call(e,a)}catch(e){l=[6,e],n=0}finally{r=o=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}}}(this,function(f){switch(f.label){case 0:(f.trys.push([0,2,,3]),!(l=_.get(t)))&&(l=y(function(){var e,r,o;return h(this,function(a){switch(a.label){case 0:if(!t||"function"!=typeof(e=E(n)))return[2,void 0];a.label=1;case 1:return a.trys.push([1,3,,4]),[4,e({url:"/customRequests:get/".concat(t),method:"GET",params:{appends:["roles"]}})];case 2:return[2,null==(o=a.sent())||null==(r=o.data)?void 0:r.data];case 3:return a.sent(),[2,void 0];case 4:return[2]}})})().finally(function(){_.delete(t)}),_.set(t,l));return[4,l];case 1:if(s=f.sent(),!r)return[2];return p=P(s),o.setValues({method:p.method||(null==(e=o.values)?void 0:e.method)||"POST",url:p.url||(null==(a=o.values)?void 0:a.url),headers:Array.isArray(p.headers)?p.headers:[],params:Array.isArray(p.params)?p.params:[],data:p.data,timeout:p.timeout||(null==(u=o.values)?void 0:u.timeout)||5e3,responseType:p.responseType||(null==(c=o.values)?void 0:c.responseType)||"json",roles:p.roles}),i.current=t,[3,3];case 2:return console.log(f.sent()),[3,3];case 3:return[2]}})},function(){var t=this,r=arguments;return new Promise(function(n,o){var a=e.apply(t,r);function i(e){D(a,n,o,i,u,"next",e)}function u(e){D(a,n,o,i,u,"throw",e)}i(void 0)})})(),function(){r=!1}}},[t,n,o]),a().createElement(R.Input,{value:t,disabled:!0})}},method:{type:"string",title:s("HTTP method"),required:!0,"x-decorator-props":{tooltip:s("When the HTTP method is Post, Put or Patch, and this custom request inside the form, the request body will be automatically filled in with the form data")},"x-decorator":"FormItem","x-component":"Select","x-component-props":{showSearch:!1,allowClear:!1,className:"auto-width"},default:"POST",enum:[{label:"GET",value:"GET"},{label:"POST",value:"POST"},{label:"PUT",value:"PUT"},{label:"PATCH",value:"PATCH"},{label:"DELETE",value:"DELETE"}]},url:{type:"string",title:s("URL"),required:!0,"x-decorator":"FormItem","x-component":i.TextAreaWithContextSelector,"x-component-props":{placeholder:"https://www.nocobase.com"}},headers:{type:"array","x-component":"ArrayItems","x-decorator":"FormItem",title:s("Headers"),items:{type:"object",properties:{space:{type:"void","x-component":"Space","x-component-props":{style:{flexWrap:"nowrap",maxWidth:"100%",display:"flex"},className:(0,I.css)(U())},properties:{name:{type:"string","x-decorator":"FormItem","x-component":"Input","x-component-props":{placeholder:s("Name")}},value:{type:"string","x-decorator":"FormItem","x-component":i.TextAreaWithContextSelector,"x-component-props":{rows:1,maxRows:4}},remove:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.Remove"}}}}},properties:{add:{type:"void",title:s("Add request header"),"x-component":"ArrayItems.Addition"}}},params:{type:"array","x-component":"ArrayItems","x-decorator":"FormItem",title:s("Parameters"),items:{type:"object",properties:{space:{type:"void","x-component":"Space","x-component-props":{style:{flexWrap:"nowrap",maxWidth:"100%",display:"flex"},className:(0,I.css)(N())},properties:{name:{type:"string","x-decorator":"FormItem","x-component":"Input","x-component-props":{placeholder:s("Name")}},value:{type:"string","x-decorator":"FormItem","x-component":i.TextAreaWithContextSelector,"x-component-props":{rows:1,maxRows:4}},remove:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.Remove"}}}}},properties:{add:{type:"void",title:s("Add parameter"),"x-component":"ArrayItems.Addition"}}},data:{type:"string",title:s("Body"),"x-decorator":"FormItem","x-component":i.TextAreaWithContextSelector,"x-component-props":{rows:10,maxRows:20,placeholder:s("Input request data")},description:s("Only support standard JSON data")},timeout:{type:"number",title:s("Timeout config"),"x-decorator":"FormItem","x-component":R.InputNumber,"x-component-props":{min:1,step:1e3,addonAfter:s("ms"),style:{width:"100%"}},default:5e3},responseType:{type:"string",title:s("Response type"),"x-decorator":"FormItem","x-component":"Select",default:"json",enum:[{value:"json",label:"JSON"},{value:"stream",label:s("Stream")}]},roles:{type:"array",title:s("Access control"),"x-decorator":"FormItem","x-decorator-props":{tooltip:s("If not set, all roles can access this request")},"x-component":function(e){var t,r=e.value,n=e.onChange,o=(0,u.useFlowContext)().api,i=function(e){if(Array.isArray(e))return e}(t=a().useState([]))||function(e){var t,r,n=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var o=[],a=!0,i=!1;try{for(n=n.call(e);!(a=(t=n.next()).done)&&(o.push(t.value),2!==o.length);a=!0);}catch(e){i=!0,r=e}finally{try{a||null==n.return||n.return()}finally{if(i)throw r}}return o}}(t)||function(e){if(e){if("string"==typeof e)return M(e,2);var t=Object.prototype.toString.call(e).slice(8,-1);if("Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t)return Array.from(t);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return M(e,2)}}(t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),c=i[0],l=i[1];return a().useEffect(function(){var e,t=!0;return(e=function(){var e,r;return function(e,t){var r,n,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),u=Object.defineProperty;return u(i,"next",{value:c(0)}),u(i,"throw",{value:c(1)}),u(i,"return",{value:c(2)}),"function"==typeof Symbol&&u(i,Symbol.iterator,{value:function(){return this}}),i;function c(u){return function(c){var l=[u,c];if(r)throw TypeError("Generator is already executing.");for(;i&&(i=0,l[0]&&(a=0)),a;)try{if(r=1,n&&(o=2&l[0]?n.return:l[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,l[1])).done)return o;switch(n=0,o&&(l=[2&l[0],o.value]),l[0]){case 0:case 1:o=l;break;case 4:return a.label++,{value:l[1],done:!1};case 5:a.label++,n=l[1],l=[0];continue;case 7:l=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===l[0]||2===l[0])){a=0;continue}if(3===l[0]&&(!o||l[1]>o[0]&&l[1]<o[3])){a.label=l[1];break}if(6===l[0]&&a.label<o[1]){a.label=o[1],o=l;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(l);break}o[2]&&a.ops.pop(),a.trys.pop();continue}l=t.call(e,a)}catch(e){l=[6,e],n=0}finally{r=o=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}}}(this,function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),[4,o.resource("roles").list({pageSize:200,sort:["createdAt"]})];case 1:if(r=n.sent(),!t)return[2];return l((Array.isArray(null==r||null==(e=r.data)?void 0:e.data)?r.data.data:[]).map(function(e){return{label:(null==e?void 0:e.title)||(null==e?void 0:e.name),value:null==e?void 0:e.name}}).filter(function(e){return!!e.value})),[3,3];case 2:return n.sent(),t&&l([]),[3,3];case 3:return[2]}})},function(){var t=this,r=arguments;return new Promise(function(n,o){var a=e.apply(t,r);function i(e){B(a,n,o,i,u,"next",e)}function u(e){B(a,n,o,i,u,"throw",e)}i(void 0)})})(),function(){t=!1}},[o]),a().createElement(R.Select,{mode:"multiple",allowClear:!0,options:c,value:void 0===r?[]:r,onChange:function(e){return null==n?void 0:n(S(e))}})}}};function $(e,t,r,n,o,a,i){try{var u=e[a](i),c=u.value}catch(e){r(e);return}u.done?t(c):Promise.resolve(c).then(n,o)}function G(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var a=e.apply(t,r);function i(e){$(a,n,o,i,u,"next",e)}function u(e){$(a,n,o,i,u,"throw",e)}i(void 0)})}}function z(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}function H(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 W(e,t){var r,n,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),u=Object.defineProperty;return u(i,"next",{value:c(0)}),u(i,"throw",{value:c(1)}),u(i,"return",{value:c(2)}),"function"==typeof Symbol&&u(i,Symbol.iterator,{value:function(){return this}}),i;function c(u){return function(c){var l=[u,c];if(r)throw TypeError("Generator is already executing.");for(;i&&(i=0,l[0]&&(a=0)),a;)try{if(r=1,n&&(o=2&l[0]?n.return:l[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,l[1])).done)return o;switch(n=0,o&&(l=[2&l[0],o.value]),l[0]){case 0:case 1:o=l;break;case 4:return a.label++,{value:l[1],done:!1};case 5:a.label++,n=l[1],l=[0];continue;case 7:l=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===l[0]||2===l[0])){a=0;continue}if(3===l[0]&&(!o||l[1]>o[0]&&l[1]<o[3])){a.label=l[1];break}if(6===l[0]&&a.label<o[1]){a.label=o[1],o=l;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(l);break}o[2]&&a.ops.pop(),a.trys.pop();continue}l=t.call(e,a)}catch(e){l=[6,e],n=0}finally{r=o=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}}}var J="customRequest",K=(0,u.defineAction)({name:J,title:(0,u.tExpr)("Custom request",{ns:l}),scene:[u.ActionScene.DYNAMIC_EVENT_FLOW],sort:1e3,paramsRequired:!0,uiSchema:V,defaultParams:function(e){return z({key:x()},w)},beforeParamsSave:function(e,t){return G(function(){var r,n,o;return W(this,function(a){var i;switch(a.label){case 0:return[4,(i=n=(null==t?void 0:t.key)||x(),y(function(){return h(this,function(r){switch(r.label){case 0:var n,o,a;return[4,e.api.resource("customRequests").updateOrCreate({filterKeys:["key"],values:{key:i,options:{method:(null==(n=b({},t),o=o={key:i},Object.getOwnPropertyDescriptors?Object.defineProperties(n,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(n,e,Object.getOwnPropertyDescriptor(o,e))}),a=n)?void 0:a.method)||"POST",url:null==a?void 0:a.url,headers:O(null==a?void 0:a.headers),params:O(null==a?void 0:a.params),data:j(null==a?void 0:a.data),timeout:null==a?void 0:a.timeout,responseType:(null==a?void 0:a.responseType)||"json"},roles:S(null==t?void 0:t.roles)}})];case 1:return r.sent(),[2]}})})())];case 1:return a.sent(),o={key:n,variablePaths:q(t),responseType:(null==t?void 0:t.responseType)||"json"},Object.keys(t||{}).forEach(function(e){delete t[e]}),Object.assign(t,o),(null==(r=e.model.stepParams)?void 0:r.customRequestClickSettings)&&(e.model.stepParams.customRequestClickSettings=H(z({},e.model.stepParams.customRequestSettings||{}),{sendRequest:o})),[2]}})})()},handler:function(e,t){return G(function(){var r,n,o,a,i,u;return W(this,function(c){switch(c.label){case 0:if(o=(null==(r=(n=e.model).getStepParams)?void 0:r.call(n,"customRequestSettings","requestConfig"))||{},!(i=null==(a=(null==t?void 0:t.key)?t:H(z({},o),{key:null==o?void 0:o.key}))?void 0:a.key))return e.message.error(e.t("Please configure the request settings first",{ns:l})),e.exit(),[2];c.label=1;case 1:var s,p;return c.trys.push([1,3,,4]),[4,(s=H(z({},a),{key:i}),p={throwOnError:!0},y(function(){var t,r,n,o,a,i,u;return h(this,function(c){switch(c.label){case 0:if(!(t=null==s?void 0:s.key))return[2,{ok:!1,status:400,error:{message:"custom request key is required"}}];if("function"!=typeof(r=E(e)))throw Error("custom request executor is not available");n=(null==s?void 0:s.responseType)||"json",c.label=1;case 1:var l;return c.trys.push([1,4,,5]),a={url:"/customRequests:send/".concat(t),method:"POST",responseType:"stream"===n?"blob":"json"},[4,(l=null==s?void 0:s.variablePaths,y(function(){var t;return h(this,function(r){switch(r.label){case 0:return t={},[4,y(function(){var t,r;return h(this,function(n){switch(n.label){case 0:if(!Array.isArray(l)||!l.length||"function"!=typeof(null==e?void 0:e.resolveJsonTemplate))return[2,void 0];n.label=1;case 1:return n.trys.push([1,3,,4]),t=l.reduce(function(e,t){return e[t]="{{".concat(t,"}}"),e},{}),[4,e.resolveJsonTemplate(t)];case 2:if(!(r=n.sent())||(void 0===r?"undefined":v(r))!=="object")return[2,void 0];return[2,l.reduce(function(e,t){var n=r[t];return void 0===n||"string"==typeof n&&n.trim()==="{{".concat(t,"}}")||(e[t]=n),e},{})];case 3:return n.sent(),[2,void 0];case 4:return[2]}})})()];case 1:return[2,(t.vars=r.sent(),t)]}})})())];case 2:return[4,r.apply(void 0,[(a.data=c.sent(),a)])];case 3:if(o=c.sent(),"stream"===n)return(i=T(o))&&(0,f.saveAs)(i.data,i.filename),[2];return[2,o];case 4:if(u=c.sent(),"stream"===n||(null==p?void 0:p.throwOnError))throw u;return[2,u];case 5:return[2]}})})())];case 2:return[2,c.sent()];case 3:throw u=c.sent(),e.exit(),u;case 4:return[2]}})})()}});function X(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Y(e){return(Y=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Q(e,t){return(Q=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Z(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(Z=function(){return!!e})()}var ee=function(e){if("function"!=typeof e&&null!==e)throw TypeError("Super expression must either be null or a function");function t(){var e,r,n;if(!(this instanceof t))throw TypeError("Cannot call a class as a function");return r=t,n=arguments,r=Y(r),X(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,Z()?Reflect.construct(r,n||[],Y(this).constructor):r.apply(this,n)),"defaultProps",{title:(0,u.tExpr)("Custom request",{ns:l})}),e}return t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Q(t,e),t}(i.ActionModel);function et(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function er(e,t,r,n,o,a,i){try{var u=e[a](i),c=u.value}catch(e){r(e);return}u.done?t(c):Promise.resolve(c).then(n,o)}function en(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var a=e.apply(t,r);function i(e){er(a,n,o,i,u,"next",e)}function u(e){er(a,n,o,i,u,"throw",e)}i(void 0)})}}function eo(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}function ea(e,t){var r,n,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),u=Object.defineProperty;return u(i,"next",{value:c(0)}),u(i,"throw",{value:c(1)}),u(i,"return",{value:c(2)}),"function"==typeof Symbol&&u(i,Symbol.iterator,{value:function(){return this}}),i;function c(u){return function(c){var l=[u,c];if(r)throw TypeError("Generator is already executing.");for(;i&&(i=0,l[0]&&(a=0)),a;)try{if(r=1,n&&(o=2&l[0]?n.return:l[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,l[1])).done)return o;switch(n=0,o&&(l=[2&l[0],o.value]),l[0]){case 0:case 1:o=l;break;case 4:return a.label++,{value:l[1],done:!1};case 5:a.label++,n=l[1],l=[0];continue;case 7:l=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===l[0]||2===l[0])){a=0;continue}if(3===l[0]&&(!o||l[1]>o[0]&&l[1]<o[3])){a.label=l[1];break}if(6===l[0]&&a.label<o[1]){a.label=o[1],o=l;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(l);break}o[2]&&a.ops.pop(),a.trys.pop();continue}l=t.call(e,a)}catch(e){l=[6,e],n=0}finally{r=o=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}}}X(ee,"scene",i.ActionSceneEnum.all),ee.define({label:(0,u.tExpr)("Custom request",{ns:l}),sort:5e3,createModelOptions:{use:"CustomRequestActionModel"}}),ee.registerFlow({key:"customRequestClickSettings",on:"click",title:(0,u.tExpr)("Click settings",{ns:l}),steps:{confirm:{use:"confirm",defaultParams:{enable:!1,title:(0,u.tExpr)("Please confirm custom request",{ns:l}),content:(0,u.tExpr)("Are you sure you want to send this custom request?",{ns:l})}},sendRequest:{use:J}}});var ei=function(){var e=(0,n.useAPIClient)(),t=(0,n.useNavigateNoUpdate)(),r=(0,F.useFieldSchema)(),o=(0,n.useBlockRequestContext)().field,a=(0,n.useCompile)(),i=(0,F.useForm)(),u=((0,n.useBlockContext)()||{}).name,c=(0,n.useCollectionRecordData)(),l=(0,F.useFieldSchema)(),s=(0,F.useField)(),m=(0,n.useActionContext)().setVisible,d=R.App.useApp(),y=d.modal,b=d.message,v=(0,n.useDataSourceKey)(),h=(0,n.useContextVariable)().ctx,g=(0,n.useLocalVariables)(),x=(0,n.useVariables)();return{onClick:function(d,O){return en(function(){var d,w,S,j,P,A,T,k,C,q,E,I,R,F,D,_,M,B,L,U,N,V,$;return ea(this,function(G){switch(G.label){case 0:if(P=(null==o||null==(S=o.data)?void 0:S.selectedRowData)?null==o||null==(j=o.data)?void 0:j.selectedRowData:h,T=(A=null!=(d=null==r?void 0:r["x-action-settings"])?d:{}).skipValidator,C=(k=A.onSuccess||{}).manualClose,q=k.redirecting,E=k.redirectTo,I=k.successMessage,R=k.actionAfterSuccess,F=I,D=E,_=null==r?void 0:r["x-action"],!0===T||"customize:form:request"!==_)return[3,2];return[4,i.submit()];case 1:G.sent(),G.label=2;case 2:M=eo({},c),"customize:form:request"===_&&(M=i.values),null!=(w=s).data||(w.data={}),s.data.loading=!0,G.label=3;case 3:return G.trys.push([3,,8,9]),L=l["x-custom-request-id"]||l["x-uid"],[4,e.request({url:"/customRequests:send/".concat(L),method:"POST",data:{currentRecord:{dataSourceKey:v,data:M},$nForm:"form"===u?i.values:void 0,$nSelectedRecord:P},responseType:"stream"===l["x-response-type"]?"blob":"json"})];case 4:return U=G.sent(),[4,(0,n.getVariableValue)(F,{variables:x,localVariables:((function(e){if(Array.isArray(e))return et(e)})(g)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(g)||function(e){if(e){if("string"==typeof e)return et(e,void 0);var t=Object.prototype.toString.call(e).slice(8,-1);if("Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t)return Array.from(t);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return et(e,void 0)}}(g)||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:"$nResponse",ctx:new Proxy(eo({},null==U||null==(B=U.data)?void 0:B.data,null==U?void 0:U.data),{})}])})];case 5:if(F=G.sent(),!E)return[3,7];return[4,(0,n.getVariableValue)(E,{variables:x,localVariables:g})];case 6:D=G.sent(),G.label=7;case 7:if(U.headers["content-disposition"]&&(V=(N=U.headers["content-disposition"]).match(/filename\*=utf-8''([^;]+)/i),$=N.match(/filename="([^"]+)"/i),V?(0,f.saveAs)(U.data,decodeURIComponent(V[1])):$&&(0,f.saveAs)(U.data,$[1])),s.data.loading=!1,O&&(null==O||O()),"previous"!==R&&(R||!0===q)||null==m||m(!1),!F)return(q&&!R||"redirect"===R)&&D&&((0,p.isURL)(D)?window.location.href=D:t(D)),[2];return C?y.success({title:a(F),onOk:function(){return en(function(){return ea(this,function(e){return(q&&!R||"redirect"===R)&&D&&((0,p.isURL)(D)?window.location.href=D:t(D)),[2]})})()}}):(b.success(a(F)),(q&&!R||"redirect"===R)&&D&&((0,p.isURL)(D)?window.location.href=D:t(D))),[3,9];case 8:return s.data.loading=!1,[7];case 9:return[2]}})})()}}},eu=function(){var e=(0,F.useFieldSchema)(),t=e["x-custom-request-id"]||e["x-uid"],r="customRequests:get/".concat(t);return(0,n.useRequest)({url:r,params:{appends:["roles"]}},{manual:!0,cacheKey:r})},ec=d(773);function el(e){return"{{t('".concat(e,"', { ns: '").concat(l,"', nsMode: 'fallback' })}}")}function es(){return(0,c.useTranslation)(l,{nsMode:"fallback"})}function ep(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function ef(e){return function(e){if(Array.isArray(e))return ep(e)}(e)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||em(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 em(e,t){if(e){if("string"==typeof e)return ep(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 ep(e,t)}}var ed=function(){var e,t=(0,n.useCurrentPopupContext)().params,r=(0,n.useCollectionRecordData)(),o=(0,n.useTableBlockContext)();if(r)return!1;var a=null==(e=(0,n.getStoredPopupContext)(null==t?void 0:t.popupuid))?void 0:e.tableBlockContext;return!(0,ec.isEmpty)(a)||!(0,ec.isEmpty)(o)},ey=function(){var e,t=(0,n.useCollection_deprecated)(),r=es().t,a=(0,n.useCollectionFilterOptions)(t),i=(0,n.useCollectionFilterOptions)("users",n.DEFAULT_DATA_SOURCE_KEY),u=(0,n.useCompile)(),c=(0,n.useCollectionRecordData)(),l=((0,n.useBlockContext)()||{}).name,s=(0,n.useFormBlockContext)().form,p=function(e){if(Array.isArray(e))return e}(e=(0,o.useMemo)(function(){return[u(a),u(i)]},[a,i]))||function(e){var t,r,n=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var o=[],a=!0,i=!1;try{for(n=n.call(e);!(a=(t=n.next()).done)&&(o.push(t.value),2!==o.length);a=!0);}catch(e){i=!0,r=e}finally{try{a||null==n.return||n.return()}finally{if(i)throw r}}return o}}(e)||em(e,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.")}(),f=p[0],m=p[1],d=(0,n.useGlobalVariable)("$env"),y=(0,n.useContextAssociationFields)({maxDepth:2,contextCollectionName:t.name}),b=ed();return(0,o.useMemo)(function(){var e,t;return[d,c&&{name:"currentRecord",title:r("Current record",{ns:"client"}),children:ef(f)},("form"===l||s)&&{name:"$nForm",title:r("Current form",{ns:"client"}),children:ef(f)},{name:"currentUser",title:r("Current user",{ns:"client"}),children:m},{name:"currentTime",title:r("Current time",{ns:"client"}),children:null},{name:"$nToken",title:"API token",children:null},b&&(e=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}({},y),t=t={name:"$nSelectedRecord",title:y.label},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)].filter(Boolean)},[c,r,f,l,m,b])},eb=d(418),ev=function(){return(0,n.useAPIClient)().resource("customRequests")},eh={value:"name",label:"title"},eg=function(){return{scope:ey(),fieldNames:eh,useTypedConstant:!0}},ex={type:"object",properties:{method:{type:"string",required:!0,title:el("HTTP method"),"x-decorator-props":{tooltip:el("When the HTTP method is Post, Put or Patch, and this custom request inside the form, the request body will be automatically filled in with the form data")},"x-decorator":"FormItem","x-component":"Select","x-component-props":{showSearch:!1,allowClear:!1,className:"auto-width"},enum:[{label:"GET",value:"GET"},{label:"POST",value:"POST"},{label:"PUT",value:"PUT"},{label:"PATCH",value:"PATCH"},{label:"DELETE",value:"DELETE"}],default:"POST"},url:{type:"string",required:!0,title:el("URL"),"x-decorator":"FormItem","x-component":"Variable.TextArea","x-use-component-props":eg,"x-component-props":{placeholder:"https://www.nocobase.com"}},headers:{type:"array","x-component":"ArrayItems","x-decorator":"FormItem",title:el("Headers"),description:el('"Content-Type" only support "application/json", and no need to specify'),items:{type:"object",properties:{space:{type:"void","x-component":"Space",properties:{name:{type:"string","x-decorator":"FormItem","x-component":"Input","x-component-props":{placeholder:el("Name")}},value:{type:"string","x-decorator":"FormItem","x-component":"Variable.TextArea","x-use-component-props":eg},remove:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.Remove"}}}}},properties:{add:{type:"void",title:el("Add request header"),"x-component":"ArrayItems.Addition"}}},params:{type:"array","x-component":"ArrayItems","x-decorator":"FormItem",title:el("Parameters"),items:{type:"object",properties:{space:{type:"void","x-component":"Space",properties:{name:{type:"string","x-decorator":"FormItem","x-component":"Input","x-component-props":{placeholder:el("Name")}},value:{type:"string","x-decorator":"FormItem","x-component":"Variable.TextArea","x-use-component-props":eg},remove:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.Remove"}}}}},properties:{add:{type:"void",title:el("Add parameter"),"x-component":"ArrayItems.Addition"}}},data:{type:"string",title:el("Body"),"x-decorator":"FormItem","x-decorator-props":{},"x-component":"Variable.JSON","x-component-props":{scope:"{{useCustomRequestVariableOptions}}",fieldNames:{value:"name",label:"title"},changeOnSelect:!0,autoSize:{minRows:10},placeholder:el("Input request data")},description:el("Only support standard JSON data")},timeout:{type:"number",title:el("Timeout config"),"x-decorator":"FormItem","x-decorator-props":{},"x-component":"InputNumber","x-component-props":{addonAfter:el("ms"),min:1,step:1e3,defaultValue:5e3}},responseType:{type:"string",title:el("Response type"),"x-decorator":"FormItem","x-decorator-props":{},"x-component":"Select",default:"json",enum:[{value:"json",label:"JSON"},{value:"stream",label:"Stream"}]}}};function eO(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function ew(e,t,r,n,o,a,i){try{var u=e[a](i),c=u.value}catch(e){r(e);return}u.done?t(c):Promise.resolve(c).then(n,o)}function eS(){return(eS=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(this,arguments)}function ej(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}function eP(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 eA(){var e,t=es().t,r=(0,n.useCollection_deprecated)().name,i=(0,n.useDataSourceKey)(),u=(0,F.useFieldSchema)(),c=ev(),l=eu(),s=l.data,p=l.refresh,f=(0,n.useDesignable)().dn,m=(0,o.useMemo)(function(){var e,t=ej({},null==s||null==(e=s.data)?void 0:e.options);return t.data&&"string"!=typeof t.data&&(t.data=JSON.stringify(t.data,null,2)),t},[null==s||null==(e=s.data)?void 0:e.options]);return a().createElement(a().Fragment,null,a().createElement(n.SchemaSettingsActionModalItem,{title:t("Request settings"),components:{ArrayItems:eb.ArrayItems},beforeOpen:function(){return!s&&p()},scope:{useCustomRequestVariableOptions:ey},schema:ex,initialValues:m,onSubmit:function(e){var t;return(t=function(){var t,n,o;return function(e,t){var r,n,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),u=Object.defineProperty;return u(i,"next",{value:c(0)}),u(i,"throw",{value:c(1)}),u(i,"return",{value:c(2)}),"function"==typeof Symbol&&u(i,Symbol.iterator,{value:function(){return this}}),i;function c(u){return function(c){var l=[u,c];if(r)throw TypeError("Generator is already executing.");for(;i&&(i=0,l[0]&&(a=0)),a;)try{if(r=1,n&&(o=2&l[0]?n.return:l[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,l[1])).done)return o;switch(n=0,o&&(l=[2&l[0],o.value]),l[0]){case 0:case 1:o=l;break;case 4:return a.label++,{value:l[1],done:!1};case 5:a.label++,n=l[1],l=[0];continue;case 7:l=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===l[0]||2===l[0])){a=0;continue}if(3===l[0]&&(!o||l[1]>o[0]&&l[1]<o[3])){a.label=l[1];break}if(6===l[0]&&a.label<o[1]){a.label=o[1],o=l;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(l);break}o[2]&&a.ops.pop(),a.trys.pop();continue}l=t.call(e,a)}catch(e){l=[6,e],n=0}finally{r=o=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}}}(this,function(a){switch(a.label){case 0:return function(e){if(null==e)throw TypeError("Cannot destructure "+e)}(e),t=eS({},e),u["x-response-type"]=t.responseType,n=!u["x-custom-request-id"]||u["x-custom-request-id"]===u["x-uid"],[4,c.updateOrCreate({values:{key:u["x-uid"],options:eP(ej({},t),{collectionName:r,dataSourceKey:i})},filterKeys:["key"]})];case 1:return a.sent(),o={"x-response-type":t.responseType,"x-uid":u["x-uid"]},!n&&u["x-custom-request-id"]&&(o["x-custom-request-id"]=u["x-uid"],u["x-custom-request-id"]=u["x-uid"]),[4,f.emit("patch",{schema:o})];case 2:return a.sent(),f.refresh(),p(),[2]}})},function(){var e=this,r=arguments;return new Promise(function(n,o){var a=t.apply(e,r);function i(e){ew(a,n,o,i,u,"next",e)}function u(e){ew(a,n,o,i,u,"throw",e)}i(void 0)})})()}}))}var eT=new n.SchemaSettings({name:"CustomRequestActionSettings",items:[eP(ej({},n.actionSettingsItems["0"]),{children:((function(e){if(Array.isArray(e))return eO(e)})(e=n.actionSettingsItems["0"].children)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e){if(e){if("string"==typeof e)return eO(e,void 0);var t=Object.prototype.toString.call(e).slice(8,-1);if("Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t)return Array.from(t);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return eO(e,void 0)}}(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.")}()).concat([{name:"request settings",Component:eA},n.SchemaSettingAccessControl])})]}),ek={"customize:table:request":n.Action.Link},eC=(0,n.withDynamicSchemaProps)(function(e){var t,r,o=ek[(0,F.useFieldSchema)()["x-action"]]||n.Action;return a().createElement(o,(t=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}({},e),r=r={useProps:ei},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))});eC.Designer=function(){var e=ev(),t=(0,F.useFieldSchema)();return a().createElement(n.Action.Designer,{linkageAction:!0,schemaSettings:"CustomRequestActionSettings",buttonEditorProps:{isLink:"customize:table:request"===t["x-action"]},linkageRulesProps:{type:"button"},removeButtonProps:{onConfirmOk:function(){return e.destroy({filterByTk:t["x-uid"]})}}})},eC.Decorator=function(e){return(0,n.useAPIClient)(),a().createElement(n.ACLActionProvider,null,e.children)};var eq=d(166);function eE(e,t,r,n,o,a,i){try{var u=e[a](i),c=u.value}catch(e){r(e);return}u.done?t(c):Promise.resolve(c).then(n,o)}var eI=function(e){var t,r,o=ev(),i=(0,n.useSchemaInitializerItem)(),u=(0,n.useSchemaInitializer)().insert,c={title:'{{ t("Custom request") }}',"x-component":"CustomRequestAction","x-action":"customize:form:request","x-toolbar":"ActionSchemaToolbar","x-settings":"actionSettings:customRequest","x-decorator":"CustomRequestAction.Decorator","x-uid":(0,eq.uid)(),"x-action-settings":{onSuccess:{manualClose:!1,redirecting:!1,successMessage:'{{t("Request success")}}'}}};return a().createElement(n.SchemaInitializerItem,(t=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}({},i),r=r={onClick:function(){var e;return(e=function(){var e,t;return function(e,t){var r,n,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),u=Object.defineProperty;return u(i,"next",{value:c(0)}),u(i,"throw",{value:c(1)}),u(i,"return",{value:c(2)}),"function"==typeof Symbol&&u(i,Symbol.iterator,{value:function(){return this}}),i;function c(u){return function(c){var l=[u,c];if(r)throw TypeError("Generator is already executing.");for(;i&&(i=0,l[0]&&(a=0)),a;)try{if(r=1,n&&(o=2&l[0]?n.return:l[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,l[1])).done)return o;switch(n=0,o&&(l=[2&l[0],o.value]),l[0]){case 0:case 1:o=l;break;case 4:return a.label++,{value:l[1],done:!1};case 5:a.label++,n=l[1],l=[0];continue;case 7:l=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===l[0]||2===l[0])){a=0;continue}if(3===l[0]&&(!o||l[1]>o[0]&&l[1]<o[3])){a.label=l[1];break}if(6===l[0]&&a.label<o[1]){a.label=o[1],o=l;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(l);break}o[2]&&a.ops.pop(),a.trys.pop();continue}l=t.call(e,a)}catch(e){l=[6,e],n=0}finally{r=o=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}}}(this,function(r){switch(r.label){case 0:return t=(0,eq.merge)(c||{},i.schema||{}),null==i||null==(e=i.schemaInitialize)||e.call(i,t),[4,o.create({values:{key:t["x-uid"]}})];case 1:return r.sent(),u(t),[2]}})},function(){var t=this,r=arguments;return new Promise(function(n,o){var a=e.apply(t,r);function i(e){eE(a,n,o,i,u,"next",e)}function u(e){eE(a,n,o,i,u,"throw",e)}i(void 0)})})()}},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))};function eR(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function eF(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function eD(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){eF(e,t,r[t])})}return e}function e_(e){return function(e){if(Array.isArray(e))return eR(e)}(e)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e){if(e){if("string"==typeof e)return eR(e,void 0);var t=Object.prototype.toString.call(e).slice(8,-1);if("Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t)return Array.from(t);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return eR(e,void 0)}}(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.")}()}var eM=function(){var e=(0,n.useAfterSuccessOptions)();return[{value:"$nResponse",label:(0,(0,c.useTranslation)().t)("Response",{ns:"client"}),children:null}].concat(e_(e.filter(function(e){return["currentUser","currentTime","$nRole"].includes(e.value)}))).filter(Boolean)},eB=function(){var e=(0,n.useAfterSuccessOptions)(),t=(0,n.useGlobalVariable)("$env");return e_(e.filter(function(e){return"$record"!==e.value})).concat([t]).filter(Boolean)},eL=function(){return{scope:eB(),useTypedConstant:!0}},eU=new n.SchemaSettings({name:"actionSettings:customRequest",items:[{name:"editButton",Component:n.ButtonEditor,useComponentProps:function(){return{isLink:"customize:table:request"===(0,F.useFieldSchema)()["x-action"]}}},{name:"linkageRules",Component:n.SchemaSettingsLinkageRules,useComponentProps:function(){return eD({},(0,n.useSchemaToolbar)().linkageRulesProps)}},{name:"secondConFirm",Component:n.SecondConFirm},{name:"afterSuccessfulSubmission",Component:function(){var e,t=(0,n.useDesignable)().dn,r=(0,c.useTranslation)().t,o=(0,F.useFieldSchema)(),i=((null==o?void 0:o["x-action-settings"])||{}).onSuccess,u=(0,n.usePlugin)("@nocobase/plugin-block-template"),l=null==u||null==(e=u.isInBlockTemplateConfigPage)?void 0:e.call(u);return a().createElement(n.SchemaSettingsModalItem,{dialogRootClassName:"dialog-after-successful-submission",width:700,title:r("After successful submission"),initialValues:i?eD({actionAfterSuccess:(null==i?void 0:i.redirecting)?"redirect":"previous"},i):{manualClose:!1,redirecting:!1,successMessage:'{{t("Saved successfully")}}',actionAfterSuccess:"previous"},schema:{type:"object",title:r("After successful submission"),properties:{successMessage:{title:r("Popup message"),"x-decorator":"FormItem","x-component":"Variable.RawTextArea","x-component-props":{scope:eM,style:{minWidth:"220px"}}},manualClose:{title:r("Message popup close method"),enum:[{label:r("Automatic close"),value:!1},{label:r("Manually close"),value:!0}],"x-decorator":"FormItem","x-component":"Radio.Group","x-component-props":{}},redirecting:{title:r("Then"),"x-hidden":!0,enum:[{label:r("Stay on current page"),value:!1},{label:r("Redirect to"),value:!0}],"x-decorator":"FormItem","x-component":"Radio.Group","x-component-props":{},"x-reactions":{target:"redirectTo",fulfill:{state:{visible:"{{!!$self.value}}"}}}},actionAfterSuccess:{title:r("Action after successful submission"),enum:[{label:r("Stay on the current popup or page"),value:"stay"},{label:r("Return to the previous popup or page"),value:"previous"},{label:r("Redirect to"),value:"redirect"}],"x-decorator":"FormItem","x-component":"Radio.Group","x-component-props":{},"x-reactions":{target:"redirectTo",fulfill:{state:{visible:"{{$self.value==='redirect'}}"}}}},redirectTo:{title:r("Link"),"x-decorator":"FormItem","x-component":"Variable.TextArea","x-use-component-props":eL},blocksToRefresh:{type:"array",title:r("Refresh data blocks"),"x-decorator":"FormItem","x-use-decorator-props":function(){return{tooltip:r("After successful submission, the selected data blocks will be automatically refreshed.")}},"x-component":n.BlocksSelector,"x-hidden":l}}},onSubmit:function(e){var r;o["x-action-settings"].onSuccess=e,t.emit("patch",{schema:(eF(r={},"x-uid",o["x-uid"]),eF(r,"x-action-settings",o["x-action-settings"]),r)})}})}},{name:"request settings",Component:eA},(t=eD({},n.SchemaSettingAccessControl),r=r={useVisible:function(){return!0}},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:"refreshDataBlockRequest",Component:n.RefreshDataBlockRequest,useComponentProps:function(){return{isPopupAction:!1}},useVisible:function(){return!!(0,n.useCollection)()}},{name:"delete",sort:100,Component:n.RemoveButton,useComponentProps:function(){return(0,n.useSchemaToolbar)().removeButtonProps}}]});function eN(e,t,r,n,o,a,i){try{var u=e[a](i),c=u.value}catch(e){r(e);return}u.done?t(c):Promise.resolve(c).then(n,o)}function eV(e,t,r){return(eV=eH()?Reflect.construct:function(e,t,r){var n=[null];n.push.apply(n,t);var o=new(Function.bind.apply(e,n));return r&&eG(o,r.prototype),o}).apply(null,arguments)}function e$(e){return(e$=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function eG(e,t){return(eG=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function ez(e){var t="function"==typeof Map?new Map:void 0;return(ez=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 eV(e,arguments,e$(this).constructor)}return r.prototype=Object.create(e.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),eG(r,e)})(e)}function eH(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(eH=function(){return!!e})()}var eW=function(e){return a().createElement(n.SchemaComponentOptions,{scope:{CustomRequestConfigurationFieldsSchema:ex},components:{CustomRequestAction:eC,CustomRequestInitializer:eI}},e.children)},eJ=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=e$(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,eH()?Reflect.construct(e,t||[],e$(this).constructor):e.apply(this,t))}return r.prototype=Object.create(e&&e.prototype,{constructor:{value:r,writable:!0,configurable:!0}}),e&&eG(r,e),t=[{key:"load",value:function(){var e;return(e=function(){return function(e,t){var r,n,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),u=Object.defineProperty;return u(i,"next",{value:c(0)}),u(i,"throw",{value:c(1)}),u(i,"return",{value:c(2)}),"function"==typeof Symbol&&u(i,Symbol.iterator,{value:function(){return this}}),i;function c(u){return function(c){var l=[u,c];if(r)throw TypeError("Generator is already executing.");for(;i&&(i=0,l[0]&&(a=0)),a;)try{if(r=1,n&&(o=2&l[0]?n.return:l[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,l[1])).done)return o;switch(n=0,o&&(l=[2&l[0],o.value]),l[0]){case 0:case 1:o=l;break;case 4:return a.label++,{value:l[1],done:!1};case 5:a.label++,n=l[1],l=[0];continue;case 7:l=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===l[0]||2===l[0])){a=0;continue}if(3===l[0]&&(!o||l[1]>o[0]&&l[1]<o[3])){a.label=l[1];break}if(6===l[0]&&a.label<o[1]){a.label=o[1],o=l;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(l);break}o[2]&&a.ops.pop(),a.trys.pop();continue}l=t.call(e,a)}catch(e){l=[6,e],n=0}finally{r=o=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}}}(this,function(e){var t;return this.app.use(eW),this.app.flowEngine.registerActions({customRequestFlowAction:K}),this.app.flowEngine.registerModels({CustomRequestActionModel:ee}),t=this.app.flowEngine,["CollectionActionGroupModel","RecordActionGroupModel","FormActionGroupModel","PopupSubTableFormActionGroupModel"].forEach(function(e){var r,n;null==(n=t.getModelClass(e))||null==(r=n.registerActionModels)||r.call(n,{CustomRequestActionModel:ee})}),this.app.schemaSettingsManager.add(eU),this.app.schemaSettingsManager.add(eT),[2]})},function(){var t=this,r=arguments;return new Promise(function(n,o){var a=e.apply(t,r);function i(e){eN(a,n,o,i,u,"next",e)}function u(e){eN(a,n,o,i,u,"throw",e)}i(void 0)})}).call(this)}}],function(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}(r.prototype,t),r}(ez(n.Plugin)),eK=eJ}(),g}()});
@@ -6,7 +6,8 @@
6
6
  * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
7
  * For more information, please refer to: https://www.nocobase.com/agreement.
8
8
  */
9
- export declare const NAMESPACE = "action-custom-request";
9
+ import { NAMESPACE } from '../client-v2/locale';
10
+ export { NAMESPACE };
10
11
  export declare function lang(key: string): string;
11
12
  export declare function generateNTemplate(key: string): string;
12
13
  export declare function useTranslation(): import("react-i18next").UseTranslationResponse<"action-custom-request", undefined>;
@@ -0,0 +1,15 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+ import { ActionModel } from '@nocobase/client-v2';
10
+ import type { ButtonProps } from 'antd/es/button';
11
+ export declare class CustomRequestActionModel extends ActionModel {
12
+ static scene: import("@nocobase/client-v2").ActionSceneType;
13
+ defaultProps: ButtonProps;
14
+ }
15
+ export declare function registerCustomRequestActionGroups(flowEngine: any): void;
@@ -6,11 +6,8 @@
6
6
  * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
7
  * For more information, please refer to: https://www.nocobase.com/agreement.
8
8
  */
9
- type RequestNameValue = {
10
- name: string;
11
- value: unknown;
12
- };
13
- export declare function makeRequestKey(): string;
14
- export declare function parseJsonString(input: unknown): any;
15
- export declare function normalizeNameValueArray(arr: any): RequestNameValue[];
16
- export {};
9
+ import React from 'react';
10
+ export declare const RequestKeyField: (props: {
11
+ value?: string;
12
+ onChange?: (value: string) => void;
13
+ }) => React.JSX.Element;
@@ -6,11 +6,8 @@
6
6
  * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
7
  * For more information, please refer to: https://www.nocobase.com/agreement.
8
8
  */
9
- import type { TextAreaProps } from 'antd/es/input';
10
9
  import React from 'react';
11
- export type FlowJsonWithContextSelectorProps = TextAreaProps & {
12
- value?: any;
13
- onChange?: (value: any) => void;
14
- };
15
- export declare const FlowJsonWithContextSelector: React.FC<FlowJsonWithContextSelectorProps>;
16
- export default FlowJsonWithContextSelector;
10
+ export declare const RolesSelect: (props: {
11
+ value?: string[];
12
+ onChange?: (value: string[]) => void;
13
+ }) => React.JSX.Element;
@@ -6,4 +6,5 @@
6
6
  * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
7
  * For more information, please refer to: https://www.nocobase.com/agreement.
8
8
  */
9
+ export declare const CUSTOM_REQUEST_ACTION_NAME = "customRequest";
9
10
  export declare const customRequestFlowAction: import("@nocobase/flow-engine").ActionDefinition<import("@nocobase/flow-engine").FlowModel<import("@nocobase/flow-engine").DefaultStructure>, import("@nocobase/flow-engine").FlowContext>;
@@ -6,8 +6,8 @@
6
6
  * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
7
  * For more information, please refer to: https://www.nocobase.com/agreement.
8
8
  */
9
- import React from 'react';
10
- export declare const customRequestFlowActionUiSchema: {
9
+ /// <reference types="react" />
10
+ export declare const customRequestUiSchema: {
11
11
  key: {
12
12
  type: string;
13
13
  title: string;
@@ -20,7 +20,7 @@ export declare const customRequestFlowActionUiSchema: {
20
20
  'x-component': (props: {
21
21
  value?: string;
22
22
  onChange?: (value: string) => void;
23
- }) => React.JSX.Element;
23
+ }) => import("react").JSX.Element;
24
24
  };
25
25
  method: {
26
26
  type: string;
@@ -47,7 +47,7 @@ export declare const customRequestFlowActionUiSchema: {
47
47
  title: string;
48
48
  required: boolean;
49
49
  'x-decorator': string;
50
- 'x-component': React.FC<import("@nocobase/client").TextAreaWithContextSelectorProps>;
50
+ 'x-component': import("react").FC<import("@nocobase/client-v2").TextAreaWithContextSelectorProps>;
51
51
  'x-component-props': {
52
52
  placeholder: string;
53
53
  };
@@ -83,9 +83,10 @@ export declare const customRequestFlowActionUiSchema: {
83
83
  value: {
84
84
  type: string;
85
85
  'x-decorator': string;
86
- 'x-component': React.FC<import("@nocobase/client").TextAreaWithContextSelectorProps>;
86
+ 'x-component': import("react").FC<import("@nocobase/client-v2").TextAreaWithContextSelectorProps>;
87
87
  'x-component-props': {
88
88
  rows: number;
89
+ maxRows: number;
89
90
  };
90
91
  };
91
92
  remove: {
@@ -136,9 +137,10 @@ export declare const customRequestFlowActionUiSchema: {
136
137
  value: {
137
138
  type: string;
138
139
  'x-decorator': string;
139
- 'x-component': React.FC<import("@nocobase/client").TextAreaWithContextSelectorProps>;
140
+ 'x-component': import("react").FC<import("@nocobase/client-v2").TextAreaWithContextSelectorProps>;
140
141
  'x-component-props': {
141
142
  rows: number;
143
+ maxRows: number;
142
144
  };
143
145
  };
144
146
  remove: {
@@ -162,11 +164,10 @@ export declare const customRequestFlowActionUiSchema: {
162
164
  type: string;
163
165
  title: string;
164
166
  'x-decorator': string;
165
- 'x-component': React.FC<import("./FlowJsonWithContextSelector").FlowJsonWithContextSelectorProps>;
167
+ 'x-component': import("react").FC<import("@nocobase/client-v2").TextAreaWithContextSelectorProps>;
166
168
  'x-component-props': {
167
- autoSize: {
168
- minRows: number;
169
- };
169
+ rows: number;
170
+ maxRows: number;
170
171
  placeholder: string;
171
172
  };
172
173
  description: string;
@@ -176,10 +177,10 @@ export declare const customRequestFlowActionUiSchema: {
176
177
  title: string;
177
178
  'x-decorator': string;
178
179
  'x-component': (<T extends import("rc-input-number").ValueType = import("rc-input-number").ValueType>(props: import("antd").InputNumberProps<T> & {
179
- children?: React.ReactNode;
180
- } & React.RefAttributes<HTMLInputElement>) => React.ReactElement<any, string | React.JSXElementConstructor<any>>) & {
180
+ children?: import("react").ReactNode;
181
+ } & import("react").RefAttributes<HTMLInputElement>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>) & {
181
182
  displayName?: string;
182
- _InternalPanelDoNotUseOrYouWillBeFired: React.FC<import("antd").InputNumberProps<import("rc-input-number").ValueType>>;
183
+ _InternalPanelDoNotUseOrYouWillBeFired: import("react").FC<import("antd").InputNumberProps<import("rc-input-number").ValueType>>;
183
184
  };
184
185
  'x-component-props': {
185
186
  min: number;
@@ -212,6 +213,6 @@ export declare const customRequestFlowActionUiSchema: {
212
213
  'x-component': (props: {
213
214
  value?: string[];
214
215
  onChange?: (value: string[]) => void;
215
- }) => React.JSX.Element;
216
+ }) => import("react").JSX.Element;
216
217
  };
217
218
  };
@@ -0,0 +1,69 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+ type RequestNameValue = {
10
+ name: string;
11
+ value: unknown;
12
+ };
13
+ export type CustomRequestRecord = {
14
+ options?: Record<string, any>;
15
+ roles?: unknown[];
16
+ };
17
+ export type CustomRequestConfigParams = {
18
+ key?: string;
19
+ method?: string;
20
+ url?: string;
21
+ headers?: Array<{
22
+ name?: string;
23
+ value?: string;
24
+ }>;
25
+ params?: Array<{
26
+ name?: string;
27
+ value?: string;
28
+ }>;
29
+ data?: unknown;
30
+ timeout?: number;
31
+ responseType?: 'json' | 'stream';
32
+ variablePaths?: string[];
33
+ roles?: string[];
34
+ };
35
+ export type ExecuteCustomRequestOptions = {
36
+ throwOnError?: boolean;
37
+ };
38
+ export declare function makeRequestKey(): string;
39
+ export declare function normalizeNameValueArray(arr: any): RequestNameValue[];
40
+ export declare const DEFAULT_CUSTOM_REQUEST_SETTINGS: CustomRequestConfigParams;
41
+ export declare const normalizeRoleNames: (roles: unknown) => string[];
42
+ export declare const normalizeBodyData: (input: unknown) => any;
43
+ export declare const toCustomRequestConfigurationInitialValues: (record?: CustomRequestRecord) => {
44
+ [x: string]: any;
45
+ };
46
+ export declare const loadCustomRequestRecord: (ctx: any, key?: string) => Promise<CustomRequestRecord | undefined>;
47
+ export declare const getDownloadFilename: (contentDisposition: string) => string | undefined;
48
+ export declare const buildCustomRequestOptions: (ctx: any, params: CustomRequestConfigParams) => {
49
+ method: string;
50
+ url: string;
51
+ headers: RequestNameValue[];
52
+ params: RequestNameValue[];
53
+ data: any;
54
+ timeout: number;
55
+ responseType: "json" | "stream";
56
+ };
57
+ export declare const saveCustomRequestConfig: (ctx: any, key: string, params: CustomRequestConfigParams) => Promise<void>;
58
+ export declare const handleCustomRequestStreamResponse: (response: any) => {
59
+ filename: string;
60
+ data: any;
61
+ };
62
+ export declare const walkAndCollectVariablePaths: (input: unknown, output: Set<string>) => void;
63
+ export declare const extractVariablePaths: (params: any) => string[];
64
+ export declare const resolveCustomRequestVars: (ctx: any, variablePaths?: string[]) => Promise<Record<string, unknown>>;
65
+ export declare const buildCustomRequestSendData: (ctx: any, variablePaths?: string[]) => Promise<{
66
+ vars: Record<string, unknown>;
67
+ }>;
68
+ export declare const executeCustomRequest: (ctx: any, params?: CustomRequestConfigParams, options?: ExecuteCustomRequestOptions) => Promise<any>;
69
+ export {};
@@ -0,0 +1,15 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+ import { Plugin } from '@nocobase/client-v2';
10
+ export declare class PluginActionCustomRequestClient extends Plugin {
11
+ load(): Promise<void>;
12
+ }
13
+ export { CustomRequestActionModel } from './CustomRequestActionModel';
14
+ export { customRequestFlowAction } from './customRequestFlowAction';
15
+ export default PluginActionCustomRequestClient;
@@ -0,0 +1,10 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+
10
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("react-i18next"),require("@emotion/css"),require("@nocobase/client-v2"),require("react"),require("antd"),require("@formily/react"),require("@nocobase/flow-engine"),require("@nocobase/utils/client")):"function"==typeof define&&define.amd?define("@nocobase/plugin-action-custom-request/client-v2",["react-i18next","@emotion/css","@nocobase/client-v2","react","antd","@formily/react","@nocobase/flow-engine","@nocobase/utils/client"],t):"object"==typeof exports?exports["@nocobase/plugin-action-custom-request/client-v2"]=t(require("react-i18next"),require("@emotion/css"),require("@nocobase/client-v2"),require("react"),require("antd"),require("@formily/react"),require("@nocobase/flow-engine"),require("@nocobase/utils/client")):e["@nocobase/plugin-action-custom-request/client-v2"]=t(e["react-i18next"],e["@emotion/css"],e["@nocobase/client-v2"],e.react,e.antd,e["@formily/react"],e["@nocobase/flow-engine"],e["@nocobase/utils/client"])}(self,function(e,t,r,n,o,a,i,u){return function(){var c={574:function(e,t,r){var n,o;void 0===(o="function"==typeof(n=function(){"use strict";function t(e,t,r){var n=new XMLHttpRequest;n.open("GET",e),n.responseType="blob",n.onload=function(){u(n.response,t,r)},n.onerror=function(){console.error("could not download file")},n.send()}function n(e){var t=new XMLHttpRequest;t.open("HEAD",e,!1);try{t.send()}catch(e){}return 200<=t.status&&299>=t.status}function o(e){try{e.dispatchEvent(new MouseEvent("click"))}catch(r){var t=document.createEvent("MouseEvents");t.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),e.dispatchEvent(t)}}var a="object"==typeof window&&window.window===window?window:"object"==typeof self&&self.self===self?self:"object"==typeof r.g&&r.g.global===r.g?r.g:void 0,i=a.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),u=a.saveAs||("object"!=typeof window||window!==a?function(){}:"download"in HTMLAnchorElement.prototype&&!i?function(e,r,i){var u=a.URL||a.webkitURL,c=document.createElement("a");c.download=r=r||e.name||"download",c.rel="noopener","string"==typeof e?(c.href=e,c.origin===location.origin?o(c):n(c.href)?t(e,r,i):o(c,c.target="_blank")):(c.href=u.createObjectURL(e),setTimeout(function(){u.revokeObjectURL(c.href)},4e4),setTimeout(function(){o(c)},0))}:"msSaveOrOpenBlob"in navigator?function(e,r,a){if(r=r||e.name||"download","string"!=typeof e){var i;navigator.msSaveOrOpenBlob((void 0===(i=a)?i={autoBom:!1}:"object"!=typeof i&&(console.warn("Deprecated: Expected third argument to be a object"),i={autoBom:!i}),i.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)?new Blob(["\uFEFF",e],{type:e.type}):e),r)}else if(n(e))t(e,r,a);else{var u=document.createElement("a");u.href=e,u.target="_blank",setTimeout(function(){o(u)})}}:function(e,r,n,o){if((o=o||open("","_blank"))&&(o.document.title=o.document.body.innerText="downloading..."),"string"==typeof e)return t(e,r,n);var u="application/octet-stream"===e.type,c=/constructor/i.test(a.HTMLElement)||a.safari,l=/CriOS\/[\d]+/.test(navigator.userAgent);if((l||u&&c||i)&&"u">typeof FileReader){var s=new FileReader;s.onloadend=function(){var e=s.result;e=l?e:e.replace(/^data:[^;]*;/,"data:attachment/file;"),o?o.location.href=e:location=e,o=null},s.readAsDataURL(e)}else{var p=a.URL||a.webkitURL,f=p.createObjectURL(e);o?o.location=f:location.href=f,o=null,setTimeout(function(){p.revokeObjectURL(f)},4e4)}});a.saveAs=u.saveAs=u,e.exports=u})?n.apply(t,[]):n)||(e.exports=o)},477:function(e){"use strict";e.exports=t},230:function(e){"use strict";e.exports=a},485:function(e){"use strict";e.exports=r},694:function(e){"use strict";e.exports=i},768:function(e){"use strict";e.exports=u},59:function(e){"use strict";e.exports=o},155:function(e){"use strict";e.exports=n},953:function(t){"use strict";t.exports=e}},l={};function s(e){var t=l[e];if(void 0!==t)return t.exports;var r=l[e]={exports:{}};return c[e].call(r.exports,r,r.exports,s),r.exports}s.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return s.d(t,{a:t}),t},s.d=function(e,t){for(var r in t)s.o(t,r)&&!s.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},s.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),s.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},s.r=function(e){"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},s.g.importScripts&&(p=s.g.location+"");var p,f=s.g.document;if(!p&&f&&(f.currentScript&&"SCRIPT"===f.currentScript.tagName.toUpperCase()&&(p=f.currentScript.src),!p)){var d=f.getElementsByTagName("script");if(d.length)for(var y=d.length-1;y>-1&&(!p||!/^http(s?):/.test(p));)p=d[y--].src}if(!p)throw Error("Automatic publicPath is not supported in this browser");s.p=p.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/");var v={};return!function(){"use strict";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-action-custom-request/dist/client-v2/")}if(!e){var n=window.__nocobase_modern_client_prefix__||"v",o="/"+(n=String(n).replace(/^\/+|\/+$/g,"")||"v")+"/";if(!(e=window.__nocobase_public_path__||"")&&window.location&&window.location.pathname){var a=window.location.pathname||"/",i=a.indexOf(o);e=i>=0?a.slice(0,i+1):"/"}e&&(e=e.replace(RegExp("/"+n+"/?$"),"/")),e||(e="/"),"/"!==e.charAt(e.length-1)&&(e+="/"),e+="static/plugins/@nocobase/plugin-action-custom-request/dist/client-v2/"}s.p=e}(),!function(){"use strict";s.r(v),s.d(v,{CustomRequestActionModel:function(){return V},PluginActionCustomRequestClient:function(){return er},customRequestFlowAction:function(){return H},default:function(){return en}});var e=s(485),t=s(694);s(953);var r="action-custom-request";function n(e){return"{{t('".concat(e,"', { ns: '").concat(r,"', nsMode: 'fallback' })}}")}var o=s(768),a=s(574);function i(e,t,r,n,o,a,i){try{var u=e[a](i),c=u.value}catch(e){r(e);return}u.done?t(c):Promise.resolve(c).then(n,o)}function u(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var a=e.apply(t,r);function u(e){i(a,n,o,u,c,"next",e)}function c(e){i(a,n,o,u,c,"throw",e)}u(void 0)})}}function c(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}function l(e){return e&&"u">typeof Symbol&&e.constructor===Symbol?"symbol":typeof e}function p(e,t){var r,n,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),u=Object.defineProperty;return u(i,"next",{value:c(0)}),u(i,"throw",{value:c(1)}),u(i,"return",{value:c(2)}),"function"==typeof Symbol&&u(i,Symbol.iterator,{value:function(){return this}}),i;function c(u){return function(c){var l=[u,c];if(r)throw TypeError("Generator is already executing.");for(;i&&(i=0,l[0]&&(a=0)),a;)try{if(r=1,n&&(o=2&l[0]?n.return:l[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,l[1])).done)return o;switch(n=0,o&&(l=[2&l[0],o.value]),l[0]){case 0:case 1:o=l;break;case 4:return a.label++,{value:l[1],done:!1};case 5:a.label++,n=l[1],l=[0];continue;case 7:l=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===l[0]||2===l[0])){a=0;continue}if(3===l[0]&&(!o||l[1]>o[0]&&l[1]<o[3])){a.label=l[1];break}if(6===l[0]&&a.label<o[1]){a.label=o[1],o=l;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(l);break}o[2]&&a.ops.pop(),a.trys.pop();continue}l=t.call(e,a)}catch(e){l=[6,e],n=0}finally{r=o=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}}}function f(){return"req-".concat((0,o.uid)())}function d(e){return Array.isArray(e)?e.map(function(e){return{name:String((null==e?void 0:e.name)||"").trim(),value:void 0===(null==e?void 0:e.value)||(null==e?void 0:e.value)===null?"":e.value}}).filter(function(e){return!!e.name}):[]}var y={method:"POST",timeout:5e3,responseType:"json",headers:[],params:[]},m=function(e){return Array.isArray(e)?e.map(function(e){return"string"==typeof e?e:e&&(void 0===e?"undefined":l(e))==="object"?e.name||e.value||e.roleName:void 0}).map(function(e){return"string"==typeof e?e.trim():""}).filter(Boolean):[]},b=function(e){if(null!=e&&("string"!=typeof e||""!==e.trim())){if("string"!=typeof e)return e;var t=e.trim();if(t)try{return JSON.parse(t)}catch(t){return e}}},h=function(e){var t=c({},(null==e?void 0:e.options)||{});return void 0!==t.data&&null!==t.data&&"string"!=typeof t.data&&(t.data=JSON.stringify(t.data,null,2)),t.roles=m(null==e?void 0:e.roles),t},w=function(e){var t=e.match(/filename\*=utf-8''([^;]+)/i);if(t)return decodeURIComponent(t[1]);var r=e.match(/filename="([^"]+)"/i);if(r)return r[1]},g=function(e){var t,r,n=(null==e||null==(t=e.headers)?void 0:t["content-disposition"])||(null==e||null==(r=e.headers)?void 0:r["Content-Disposition"]);if(n){var o=w(n);if(o)return{filename:o,data:e.data}}},x=/\{\{\s*([^{}]+?)\s*\}\}/g,O=function(e,t){if("string"==typeof e){var r=e.matchAll(x),n=!0,o=!1,a=void 0;try{for(var i,u=r[Symbol.iterator]();!(n=(i=u.next()).done);n=!0){var c,s=i.value,p=null==s||null==(c=s[1])?void 0:c.trim();p&&p.startsWith("ctx.")&&t.add(p)}}catch(e){o=!0,a=e}finally{try{n||null==u.return||u.return()}finally{if(o)throw a}}return}Array.isArray(e)?e.forEach(function(e){return O(e,t)}):e&&(void 0===e?"undefined":l(e))==="object"&&Object.values(e).forEach(function(e){return O(e,t)})},j=function(e){var t=[null==e?void 0:e.url,null==e?void 0:e.headers,null==e?void 0:e.params,null==e?void 0:e.data],r=new Set;return t.forEach(function(e){return O(e,r)}),Array.from(r)};function S(e){var t,r,n,o;return"function"==typeof(null==e?void 0:e.request)?e.request.bind(e):"function"==typeof(null==e||null==(t=e.api)?void 0:t.request)?e.api.request.bind(e.api):"function"==typeof(null==e||null==(o=e.model)||null==(n=o.context)||null==(r=n.api)?void 0:r.request)?e.model.context.api.request.bind(e.model.context.api):void 0}var P=s(477),A=s(59),E=s(230),q=s(155),T=s.n(q);function k(e,t,r,n,o,a,i){try{var u=e[a](i),c=u.value}catch(e){r(e);return}u.done?t(c):Promise.resolve(c).then(n,o)}var R=new Map;function _(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function I(e,t,r,n,o,a,i){try{var u=e[a](i),c=u.value}catch(e){r(e);return}u.done?t(c):Promise.resolve(c).then(n,o)}function C(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function F(){var e=C(["\n & > .ant-space-item:first-child {\n flex: 3;\n }\n & > .ant-space-item:nth-child(2) {\n flex-shrink: 0;\n flex: 5;\n }\n & > .ant-space-item:last-child {\n flex-shrink: 0;\n flex: 1;\n }\n "]);return F=function(){return e},e}function M(){var e=C(["\n & > .ant-space-item:first-child {\n flex: 3;\n }\n & > .ant-space-item:nth-child(2) {\n flex-shrink: 0;\n flex: 5;\n }\n & > .ant-space-item:last-child {\n flex-shrink: 0;\n flex: 1;\n }\n "]);return M=function(){return e},e}var L={key:{type:"string",title:n("Key"),"x-decorator":"FormItem","x-decorator-props":{style:{display:"none"}},"x-component":function(e){var r=e.value,n=e.onChange,o=(0,t.useFlowContext)(),a=(0,E.useForm)(),i=T().useRef(null);return T().useEffect(function(){r||null==n||n(f())},[r,n]),T().useEffect(function(){if(r&&i.current!==r){var e,t=!0;return(e=function(){var e,n,c,l,s,f,d;return function(e,t){var r,n,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),u=Object.defineProperty;return u(i,"next",{value:c(0)}),u(i,"throw",{value:c(1)}),u(i,"return",{value:c(2)}),"function"==typeof Symbol&&u(i,Symbol.iterator,{value:function(){return this}}),i;function c(u){return function(c){var l=[u,c];if(r)throw TypeError("Generator is already executing.");for(;i&&(i=0,l[0]&&(a=0)),a;)try{if(r=1,n&&(o=2&l[0]?n.return:l[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,l[1])).done)return o;switch(n=0,o&&(l=[2&l[0],o.value]),l[0]){case 0:case 1:o=l;break;case 4:return a.label++,{value:l[1],done:!1};case 5:a.label++,n=l[1],l=[0];continue;case 7:l=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===l[0]||2===l[0])){a=0;continue}if(3===l[0]&&(!o||l[1]>o[0]&&l[1]<o[3])){a.label=l[1];break}if(6===l[0]&&a.label<o[1]){a.label=o[1],o=l;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(l);break}o[2]&&a.ops.pop(),a.trys.pop();continue}l=t.call(e,a)}catch(e){l=[6,e],n=0}finally{r=o=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}}}(this,function(y){switch(y.label){case 0:(y.trys.push([0,2,,3]),!(s=R.get(r)))&&(s=u(function(){var e,t,n;return p(this,function(a){switch(a.label){case 0:if(!r||"function"!=typeof(e=S(o)))return[2,void 0];a.label=1;case 1:return a.trys.push([1,3,,4]),[4,e({url:"/customRequests:get/".concat(r),method:"GET",params:{appends:["roles"]}})];case 2:return[2,null==(n=a.sent())||null==(t=n.data)?void 0:t.data];case 3:return a.sent(),[2,void 0];case 4:return[2]}})})().finally(function(){R.delete(r)}),R.set(r,s));return[4,s];case 1:if(f=y.sent(),!t)return[2];return d=h(f),a.setValues({method:d.method||(null==(e=a.values)?void 0:e.method)||"POST",url:d.url||(null==(n=a.values)?void 0:n.url),headers:Array.isArray(d.headers)?d.headers:[],params:Array.isArray(d.params)?d.params:[],data:d.data,timeout:d.timeout||(null==(c=a.values)?void 0:c.timeout)||5e3,responseType:d.responseType||(null==(l=a.values)?void 0:l.responseType)||"json",roles:d.roles}),i.current=r,[3,3];case 2:return console.log(y.sent()),[3,3];case 3:return[2]}})},function(){var t=this,r=arguments;return new Promise(function(n,o){var a=e.apply(t,r);function i(e){k(a,n,o,i,u,"next",e)}function u(e){k(a,n,o,i,u,"throw",e)}i(void 0)})})(),function(){t=!1}}},[r,o,a]),T().createElement(A.Input,{value:r,disabled:!0})}},method:{type:"string",title:n("HTTP method"),required:!0,"x-decorator-props":{tooltip:n("When the HTTP method is Post, Put or Patch, and this custom request inside the form, the request body will be automatically filled in with the form data")},"x-decorator":"FormItem","x-component":"Select","x-component-props":{showSearch:!1,allowClear:!1,className:"auto-width"},default:"POST",enum:[{label:"GET",value:"GET"},{label:"POST",value:"POST"},{label:"PUT",value:"PUT"},{label:"PATCH",value:"PATCH"},{label:"DELETE",value:"DELETE"}]},url:{type:"string",title:n("URL"),required:!0,"x-decorator":"FormItem","x-component":e.TextAreaWithContextSelector,"x-component-props":{placeholder:"https://www.nocobase.com"}},headers:{type:"array","x-component":"ArrayItems","x-decorator":"FormItem",title:n("Headers"),items:{type:"object",properties:{space:{type:"void","x-component":"Space","x-component-props":{style:{flexWrap:"nowrap",maxWidth:"100%",display:"flex"},className:(0,P.css)(F())},properties:{name:{type:"string","x-decorator":"FormItem","x-component":"Input","x-component-props":{placeholder:n("Name")}},value:{type:"string","x-decorator":"FormItem","x-component":e.TextAreaWithContextSelector,"x-component-props":{rows:1,maxRows:4}},remove:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.Remove"}}}}},properties:{add:{type:"void",title:n("Add request header"),"x-component":"ArrayItems.Addition"}}},params:{type:"array","x-component":"ArrayItems","x-decorator":"FormItem",title:n("Parameters"),items:{type:"object",properties:{space:{type:"void","x-component":"Space","x-component-props":{style:{flexWrap:"nowrap",maxWidth:"100%",display:"flex"},className:(0,P.css)(M())},properties:{name:{type:"string","x-decorator":"FormItem","x-component":"Input","x-component-props":{placeholder:n("Name")}},value:{type:"string","x-decorator":"FormItem","x-component":e.TextAreaWithContextSelector,"x-component-props":{rows:1,maxRows:4}},remove:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.Remove"}}}}},properties:{add:{type:"void",title:n("Add parameter"),"x-component":"ArrayItems.Addition"}}},data:{type:"string",title:n("Body"),"x-decorator":"FormItem","x-component":e.TextAreaWithContextSelector,"x-component-props":{rows:10,maxRows:20,placeholder:n("Input request data")},description:n("Only support standard JSON data")},timeout:{type:"number",title:n("Timeout config"),"x-decorator":"FormItem","x-component":A.InputNumber,"x-component-props":{min:1,step:1e3,addonAfter:n("ms"),style:{width:"100%"}},default:5e3},responseType:{type:"string",title:n("Response type"),"x-decorator":"FormItem","x-component":"Select",default:"json",enum:[{value:"json",label:"JSON"},{value:"stream",label:n("Stream")}]},roles:{type:"array",title:n("Access control"),"x-decorator":"FormItem","x-decorator-props":{tooltip:n("If not set, all roles can access this request")},"x-component":function(e){var r,n=e.value,o=e.onChange,a=(0,t.useFlowContext)().api,i=function(e){if(Array.isArray(e))return e}(r=T().useState([]))||function(e){var t,r,n=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var o=[],a=!0,i=!1;try{for(n=n.call(e);!(a=(t=n.next()).done)&&(o.push(t.value),2!==o.length);a=!0);}catch(e){i=!0,r=e}finally{try{a||null==n.return||n.return()}finally{if(i)throw r}}return o}}(r)||function(e){if(e){if("string"==typeof e)return _(e,2);var t=Object.prototype.toString.call(e).slice(8,-1);if("Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t)return Array.from(t);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return _(e,2)}}(r)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),u=i[0],c=i[1];return T().useEffect(function(){var e,t=!0;return(e=function(){var e,r;return function(e,t){var r,n,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),u=Object.defineProperty;return u(i,"next",{value:c(0)}),u(i,"throw",{value:c(1)}),u(i,"return",{value:c(2)}),"function"==typeof Symbol&&u(i,Symbol.iterator,{value:function(){return this}}),i;function c(u){return function(c){var l=[u,c];if(r)throw TypeError("Generator is already executing.");for(;i&&(i=0,l[0]&&(a=0)),a;)try{if(r=1,n&&(o=2&l[0]?n.return:l[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,l[1])).done)return o;switch(n=0,o&&(l=[2&l[0],o.value]),l[0]){case 0:case 1:o=l;break;case 4:return a.label++,{value:l[1],done:!1};case 5:a.label++,n=l[1],l=[0];continue;case 7:l=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===l[0]||2===l[0])){a=0;continue}if(3===l[0]&&(!o||l[1]>o[0]&&l[1]<o[3])){a.label=l[1];break}if(6===l[0]&&a.label<o[1]){a.label=o[1],o=l;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(l);break}o[2]&&a.ops.pop(),a.trys.pop();continue}l=t.call(e,a)}catch(e){l=[6,e],n=0}finally{r=o=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}}}(this,function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),[4,a.resource("roles").list({pageSize:200,sort:["createdAt"]})];case 1:if(r=n.sent(),!t)return[2];return c((Array.isArray(null==r||null==(e=r.data)?void 0:e.data)?r.data.data:[]).map(function(e){return{label:(null==e?void 0:e.title)||(null==e?void 0:e.name),value:null==e?void 0:e.name}}).filter(function(e){return!!e.value})),[3,3];case 2:return n.sent(),t&&c([]),[3,3];case 3:return[2]}})},function(){var t=this,r=arguments;return new Promise(function(n,o){var a=e.apply(t,r);function i(e){I(a,n,o,i,u,"next",e)}function u(e){I(a,n,o,i,u,"throw",e)}i(void 0)})})(),function(){t=!1}},[a]),T().createElement(A.Select,{mode:"multiple",allowClear:!0,options:u,value:void 0===n?[]:n,onChange:function(e){return null==o?void 0:o(m(e))}})}}};function D(e,t,r,n,o,a,i){try{var u=e[a](i),c=u.value}catch(e){r(e);return}u.done?t(c):Promise.resolve(c).then(n,o)}function N(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var a=e.apply(t,r);function i(e){D(a,n,o,i,u,"next",e)}function u(e){D(a,n,o,i,u,"throw",e)}i(void 0)})}}function U(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}function B(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 G(e,t){var r,n,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),u=Object.defineProperty;return u(i,"next",{value:c(0)}),u(i,"throw",{value:c(1)}),u(i,"return",{value:c(2)}),"function"==typeof Symbol&&u(i,Symbol.iterator,{value:function(){return this}}),i;function c(u){return function(c){var l=[u,c];if(r)throw TypeError("Generator is already executing.");for(;i&&(i=0,l[0]&&(a=0)),a;)try{if(r=1,n&&(o=2&l[0]?n.return:l[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,l[1])).done)return o;switch(n=0,o&&(l=[2&l[0],o.value]),l[0]){case 0:case 1:o=l;break;case 4:return a.label++,{value:l[1],done:!1};case 5:a.label++,n=l[1],l=[0];continue;case 7:l=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===l[0]||2===l[0])){a=0;continue}if(3===l[0]&&(!o||l[1]>o[0]&&l[1]<o[3])){a.label=l[1];break}if(6===l[0]&&a.label<o[1]){a.label=o[1],o=l;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(l);break}o[2]&&a.ops.pop(),a.trys.pop();continue}l=t.call(e,a)}catch(e){l=[6,e],n=0}finally{r=o=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}}}var W="customRequest",H=(0,t.defineAction)({name:W,title:(0,t.tExpr)("Custom request",{ns:r}),scene:[t.ActionScene.DYNAMIC_EVENT_FLOW],sort:1e3,paramsRequired:!0,uiSchema:L,defaultParams:function(e){return U({key:f()},y)},beforeParamsSave:function(e,t){return N(function(){var r,n,o;return G(this,function(a){var i;switch(a.label){case 0:return[4,(i=n=(null==t?void 0:t.key)||f(),u(function(){return p(this,function(r){switch(r.label){case 0:var n,o,a;return[4,e.api.resource("customRequests").updateOrCreate({filterKeys:["key"],values:{key:i,options:{method:(null==(n=c({},t),o=o={key:i},Object.getOwnPropertyDescriptors?Object.defineProperties(n,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(n,e,Object.getOwnPropertyDescriptor(o,e))}),a=n)?void 0:a.method)||"POST",url:null==a?void 0:a.url,headers:d(null==a?void 0:a.headers),params:d(null==a?void 0:a.params),data:b(null==a?void 0:a.data),timeout:null==a?void 0:a.timeout,responseType:(null==a?void 0:a.responseType)||"json"},roles:m(null==t?void 0:t.roles)}})];case 1:return r.sent(),[2]}})})())];case 1:return a.sent(),o={key:n,variablePaths:j(t),responseType:(null==t?void 0:t.responseType)||"json"},Object.keys(t||{}).forEach(function(e){delete t[e]}),Object.assign(t,o),(null==(r=e.model.stepParams)?void 0:r.customRequestClickSettings)&&(e.model.stepParams.customRequestClickSettings=B(U({},e.model.stepParams.customRequestSettings||{}),{sendRequest:o})),[2]}})})()},handler:function(e,t){return N(function(){var n,o,i,c,s,f;return G(this,function(d){switch(d.label){case 0:if(i=(null==(n=(o=e.model).getStepParams)?void 0:n.call(o,"customRequestSettings","requestConfig"))||{},!(s=null==(c=(null==t?void 0:t.key)?t:B(U({},i),{key:null==i?void 0:i.key}))?void 0:c.key))return e.message.error(e.t("Please configure the request settings first",{ns:r})),e.exit(),[2];d.label=1;case 1:var y,v;return d.trys.push([1,3,,4]),[4,(y=B(U({},c),{key:s}),v={throwOnError:!0},u(function(){var t,r,n,o,i,c,s;return p(this,function(f){switch(f.label){case 0:if(!(t=null==y?void 0:y.key))return[2,{ok:!1,status:400,error:{message:"custom request key is required"}}];if("function"!=typeof(r=S(e)))throw Error("custom request executor is not available");n=(null==y?void 0:y.responseType)||"json",f.label=1;case 1:var d;return f.trys.push([1,4,,5]),i={url:"/customRequests:send/".concat(t),method:"POST",responseType:"stream"===n?"blob":"json"},[4,(d=null==y?void 0:y.variablePaths,u(function(){var t;return p(this,function(r){switch(r.label){case 0:return t={},[4,u(function(){var t,r;return p(this,function(n){switch(n.label){case 0:if(!Array.isArray(d)||!d.length||"function"!=typeof(null==e?void 0:e.resolveJsonTemplate))return[2,void 0];n.label=1;case 1:return n.trys.push([1,3,,4]),t=d.reduce(function(e,t){return e[t]="{{".concat(t,"}}"),e},{}),[4,e.resolveJsonTemplate(t)];case 2:if(!(r=n.sent())||(void 0===r?"undefined":l(r))!=="object")return[2,void 0];return[2,d.reduce(function(e,t){var n=r[t];return void 0===n||"string"==typeof n&&n.trim()==="{{".concat(t,"}}")||(e[t]=n),e},{})];case 3:return n.sent(),[2,void 0];case 4:return[2]}})})()];case 1:return[2,(t.vars=r.sent(),t)]}})})())];case 2:return[4,r.apply(void 0,[(i.data=f.sent(),i)])];case 3:if(o=f.sent(),"stream"===n)return(c=g(o))&&(0,a.saveAs)(c.data,c.filename),[2];return[2,o];case 4:if(s=f.sent(),"stream"===n||(null==v?void 0:v.throwOnError))throw s;return[2,s];case 5:return[2]}})})())];case 2:return[2,d.sent()];case 3:throw f=d.sent(),e.exit(),f;case 4:return[2]}})})()}});function $(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function J(e){return(J=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 K(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(K=function(){return!!e})()}var V=function(e){if("function"!=typeof e&&null!==e)throw TypeError("Super expression must either be null or a function");function n(){var e,o,a;if(!(this instanceof n))throw TypeError("Cannot call a class as a function");return o=n,a=arguments,o=J(o),$(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,K()?Reflect.construct(o,a||[],J(this).constructor):o.apply(this,a)),"defaultProps",{title:(0,t.tExpr)("Custom request",{ns:r})}),e}return n.prototype=Object.create(e&&e.prototype,{constructor:{value:n,writable:!0,configurable:!0}}),e&&z(n,e),n}(e.ActionModel);function X(e,t,r,n,o,a,i){try{var u=e[a](i),c=u.value}catch(e){r(e);return}u.done?t(c):Promise.resolve(c).then(n,o)}function Y(e,t,r){return(Y=et()?Reflect.construct:function(e,t,r){var n=[null];n.push.apply(n,t);var o=new(Function.bind.apply(e,n));return r&&Z(o,r.prototype),o}).apply(null,arguments)}$(V,"scene",e.ActionSceneEnum.all),V.define({label:(0,t.tExpr)("Custom request",{ns:r}),sort:5e3,createModelOptions:{use:"CustomRequestActionModel"}}),V.registerFlow({key:"customRequestClickSettings",on:"click",title:(0,t.tExpr)("Click settings",{ns:r}),steps:{confirm:{use:"confirm",defaultParams:{enable:!1,title:(0,t.tExpr)("Please confirm custom request",{ns:r}),content:(0,t.tExpr)("Are you sure you want to send this custom request?",{ns:r})}},sendRequest:{use:W}}});function Q(e){return(Q=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 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 Y(e,arguments,Q(this).constructor)}return r.prototype=Object.create(e.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),Z(r,e)})(e)}function et(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(et=function(){return!!e})()}var er=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=Q(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,et()?Reflect.construct(e,t||[],Q(this).constructor):e.apply(this,t))}return r.prototype=Object.create(e&&e.prototype,{constructor:{value:r,writable:!0,configurable:!0}}),e&&Z(r,e),t=[{key:"load",value:function(){var e;return(e=function(){return function(e,t){var r,n,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),u=Object.defineProperty;return u(i,"next",{value:c(0)}),u(i,"throw",{value:c(1)}),u(i,"return",{value:c(2)}),"function"==typeof Symbol&&u(i,Symbol.iterator,{value:function(){return this}}),i;function c(u){return function(c){var l=[u,c];if(r)throw TypeError("Generator is already executing.");for(;i&&(i=0,l[0]&&(a=0)),a;)try{if(r=1,n&&(o=2&l[0]?n.return:l[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,l[1])).done)return o;switch(n=0,o&&(l=[2&l[0],o.value]),l[0]){case 0:case 1:o=l;break;case 4:return a.label++,{value:l[1],done:!1};case 5:a.label++,n=l[1],l=[0];continue;case 7:l=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===l[0]||2===l[0])){a=0;continue}if(3===l[0]&&(!o||l[1]>o[0]&&l[1]<o[3])){a.label=l[1];break}if(6===l[0]&&a.label<o[1]){a.label=o[1],o=l;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(l);break}o[2]&&a.ops.pop(),a.trys.pop();continue}l=t.call(e,a)}catch(e){l=[6,e],n=0}finally{r=o=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}}}(this,function(e){var t;return this.app.flowEngine.registerActions({customRequestFlowAction:H}),this.app.flowEngine.registerModels({CustomRequestActionModel:V}),t=this.app.flowEngine,["CollectionActionGroupModel","RecordActionGroupModel","FormActionGroupModel","PopupSubTableFormActionGroupModel"].forEach(function(e){var r,n;null==(n=t.getModelClass(e))||null==(r=n.registerActionModels)||r.call(n,{CustomRequestActionModel:V})}),[2]})},function(){var t=this,r=arguments;return new Promise(function(n,o){var a=e.apply(t,r);function i(e){X(a,n,o,i,u,"next",e)}function u(e){X(a,n,o,i,u,"throw",e)}i(void 0)})}).call(this)}}],function(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}(r.prototype,t),r}(ee(e.Plugin)),en=er}(),v}()});
@@ -0,0 +1,12 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+ export declare const NAMESPACE = "action-custom-request";
10
+ export declare function lang(key: string): any;
11
+ export declare function generateNTemplate(key: string): string;
12
+ export declare function useTranslation(): import("react-i18next").UseTranslationResponse<"action-custom-request", undefined>;
@@ -8,23 +8,23 @@
8
8
  */
9
9
 
10
10
  module.exports = {
11
- "@nocobase/client": "2.1.0-beta.9",
11
+ "@nocobase/client": "2.2.0-alpha.1",
12
12
  "react": "18.2.0",
13
13
  "react-i18next": "11.18.6",
14
14
  "@formily/react": "2.3.7",
15
- "@nocobase/logger": "2.1.0-beta.9",
16
- "@nocobase/server": "2.1.0-beta.9",
17
- "@nocobase/test": "2.1.0-beta.9",
18
- "@formily/antd-v5": "1.2.3",
19
- "lodash": "4.17.21",
20
- "@nocobase/utils": "2.1.0-beta.9",
15
+ "@nocobase/client-v2": "2.2.0-alpha.1",
16
+ "@nocobase/flow-engine": "2.2.0-alpha.1",
21
17
  "antd": "5.24.2",
22
- "file-saver": "2.0.5",
23
- "@formily/shared": "2.3.7",
24
18
  "@emotion/css": "11.13.0",
25
- "@nocobase/flow-engine": "2.1.0-beta.9",
26
- "@nocobase/actions": "2.1.0-beta.9",
27
- "@nocobase/evaluators": "2.1.0-beta.9",
19
+ "@nocobase/utils": "2.2.0-alpha.1",
20
+ "@nocobase/logger": "2.2.0-alpha.1",
21
+ "@nocobase/server": "2.2.0-alpha.1",
22
+ "@nocobase/test": "2.2.0-alpha.1",
23
+ "@formily/antd-v5": "1.2.3",
24
+ "lodash": "4.18.1",
25
+ "@formily/shared": "2.3.7",
26
+ "@nocobase/actions": "2.2.0-alpha.1",
27
+ "@nocobase/evaluators": "2.2.0-alpha.1",
28
28
  "axios": "1.7.7",
29
- "@nocobase/database": "2.1.0-beta.9"
29
+ "@nocobase/database": "2.2.0-alpha.1"
30
30
  };
@@ -18,7 +18,9 @@
18
18
  "Name": "Name",
19
19
  "Only support standard JSON data": "Only support standard JSON data",
20
20
  "Parameters": "Parameters",
21
+ "Please confirm custom request": "Please confirm custom request",
21
22
  "Please configure the request settings first": "Please configure the request settings first",
23
+ "Are you sure you want to send this custom request?": "Are you sure you want to send this custom request?",
22
24
  "Request settings": "Request settings",
23
25
  "Response type": "Response type",
24
26
  "Roles": "Roles",
@@ -18,7 +18,9 @@
18
18
  "Name": "名称",
19
19
  "Only support standard JSON data": "仅支持标准 JSON 数据",
20
20
  "Parameters": "参数",
21
+ "Please confirm custom request": "请确认自定义请求",
21
22
  "Please configure the request settings first": "请先配置请求设置",
23
+ "Are you sure you want to send this custom request?": "你确定要发送这个自定义请求吗?",
22
24
  "Request settings": "请求设置",
23
25
  "Response type": "响应类型",
24
26
  "Roles": "角色",
@@ -109,6 +109,15 @@ const getParsedValue = (value, variables) => {
109
109
  });
110
110
  return template(variables);
111
111
  };
112
+ const getRequestBaseURL = (ctx) => {
113
+ if (ctx.protocol && ctx.host) {
114
+ return `${ctx.protocol}://${ctx.host}`;
115
+ }
116
+ if (ctx.href) {
117
+ return new URL(ctx.href).origin;
118
+ }
119
+ return void 0;
120
+ };
112
121
  async function send(ctx, next) {
113
122
  var _a, _b, _c, _d;
114
123
  const resourceName = ctx.action.resourceName;
@@ -200,8 +209,10 @@ async function send(ctx, next) {
200
209
  };
201
210
  applyVarsToVariables(variables, vars);
202
211
  const axiosRequestConfig = {
203
- baseURL: ctx.origin,
212
+ baseURL: getRequestBaseURL(ctx),
204
213
  ...options,
214
+ // safeRequest checks this url value (before baseURL combination) so that
215
+ // relative paths pointing to the same server are not subject to the whitelist.
205
216
  url: getParsedValue(url, variables),
206
217
  headers: {
207
218
  Authorization: "Bearer " + ctx.getBearerToken(),
@@ -223,7 +234,7 @@ async function send(ctx, next) {
223
234
  })}`
224
235
  );
225
236
  try {
226
- const res = await (0, import_axios.default)(axiosRequestConfig);
237
+ const res = await (0, import_utils.serverRequest)(axiosRequestConfig);
227
238
  this.logger.info(`custom-request:send:${filterByTk} success`);
228
239
  ctx.body = res.data;
229
240
  if (res.headers["content-disposition"]) {
@@ -33,6 +33,7 @@ var import_database = require("@nocobase/database");
33
33
  var customRequest_default = (0, import_database.defineCollection)({
34
34
  dumpRules: "required",
35
35
  name: "customRequests",
36
+ dataCategory: "system",
36
37
  autoGenId: false,
37
38
  migrationRules: ["overwrite", "schema-only"],
38
39
  fields: [
@@ -33,5 +33,6 @@ var import_database = require("@nocobase/database");
33
33
  var customRequestsRoles_default = (0, import_database.defineCollection)({
34
34
  dumpRules: "required",
35
35
  name: "customRequestsRoles",
36
+ dataCategory: "system",
36
37
  migrationRules: ["overwrite", "schema-only"]
37
38
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nocobase/plugin-action-custom-request",
3
- "version": "2.1.0-beta.9",
3
+ "version": "2.2.0-alpha.1",
4
4
  "main": "dist/server/index.js",
5
5
  "homepage": "https://docs.nocobase.com/handbook/action-custom-request",
6
6
  "homepage.ru-RU": "https://docs-ru.nocobase.com/handbook/action-custom-request",
@@ -16,22 +16,25 @@
16
16
  "@formily/react": "2.x",
17
17
  "@formily/shared": "2.x",
18
18
  "antd": "5.x",
19
+ "file-saver": "^2.0.5",
19
20
  "lodash": "4.x",
20
21
  "react-i18next": "^11.15.1",
21
22
  "react-router-dom": "6.x"
22
23
  },
23
24
  "nocobase": {
24
25
  "supportedVersions": [
25
- "1.x"
26
+ "1.x",
27
+ "2.x"
26
28
  ],
27
29
  "editionLevel": 0
28
30
  },
29
31
  "peerDependencies": {
30
32
  "@nocobase/client": "2.x",
33
+ "@nocobase/client-v2": "2.x",
31
34
  "@nocobase/server": "2.x",
32
35
  "@nocobase/test": "2.x"
33
36
  },
34
- "gitHead": "c3a2875e4cbbb43b1f2361e6f9f5f84a7d3f3c3c",
37
+ "gitHead": "303663aba6c6eefa27e6a6435b4c0352074ec40f",
35
38
  "keywords": [
36
39
  "Actions"
37
40
  ]