UNPKG

@nocobase/plugin-action-custom-request

Version:

Sending a request to any HTTP service supports sending context data to the target service.

10 lines (9 loc) 32.1 kB
/** * This file is part of the NocoBase (R) project. * Copyright (c) 2020-2024 NocoBase Co., Ltd. * Authors: NocoBase Team. * * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License. * For more information, please refer to: https://www.nocobase.com/agreement. */ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("file-saver"),require("@nocobase/client"),require("@formily/shared"),require("@formily/antd-v5"),require("react"),require("@formily/react"),require("@nocobase/utils/client"),require("lodash"),require("antd"),require("react-i18next")):"function"==typeof define&&define.amd?define("@nocobase/plugin-action-custom-request",["file-saver","@nocobase/client","@formily/shared","@formily/antd-v5","react","@formily/react","@nocobase/utils/client","lodash","antd","react-i18next"],t):"object"==typeof exports?exports["@nocobase/plugin-action-custom-request"]=t(require("file-saver"),require("@nocobase/client"),require("@formily/shared"),require("@formily/antd-v5"),require("react"),require("@formily/react"),require("@nocobase/utils/client"),require("lodash"),require("antd"),require("react-i18next")):e["@nocobase/plugin-action-custom-request"]=t(e["file-saver"],e["@nocobase/client"],e["@formily/shared"],e["@formily/antd-v5"],e.react,e["@formily/react"],e["@nocobase/utils/client"],e.lodash,e.antd,e["react-i18next"])}(self,function(e,t,r,n,o,i,a,u,c,s){return function(){"use strict";var l={632:function(e){e.exports=n},505:function(e){e.exports=i},875:function(e){e.exports=r},772:function(e){e.exports=t},584:function(e){e.exports=a},721:function(e){e.exports=c},346:function(t){t.exports=e},467:function(e){e.exports=u},156:function(e){e.exports=o},238:function(e){e.exports=s}},p={};function f(e){var t=p[e];if(void 0!==t)return t.exports;var r=p[e]={exports:{}};return l[e](r,r.exports,f),r.exports}f.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return f.d(t,{a:t}),t},f.d=function(e,t){for(var r in t)f.o(t,r)&&!f.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},f.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},f.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var m={};return!function(){f.r(m),f.d(m,{default:function(){return ec},PluginActionCustomRequestClient:function(){return eu}});var e,t,r,n=f(772),o=f(156),i=f.n(o),a=f(505),u=f(584),c=f(721),s=f(346);function l(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 p(e,t,r,n,o,i,a){try{var u=e[i](a),c=u.value}catch(e){r(e);return}u.done?t(c):Promise.resolve(c).then(n,o)}function d(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var i=e.apply(t,r);function a(e){p(i,n,o,a,u,"next",e)}function u(e){p(i,n,o,a,u,"throw",e)}a(void 0)})}}function b(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}function y(e,t){var r,n,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:u(0),throw:u(1),return:u(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function u(i){return function(u){var c=[i,u];if(r)throw TypeError("Generator is already executing.");for(;a;)try{if(r=1,n&&(o=2&c[0]?n.return:c[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,c[1])).done)return o;switch(n=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return a.label++,{value:c[1],done:!1};case 5:a.label++,n=c[1],c=[0];continue;case 7:c=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===c[0]||2===c[0])){a=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){a.label=c[1];break}if(6===c[0]&&a.label<o[1]){a.label=o[1],o=c;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(c);break}o[2]&&a.ops.pop(),a.trys.pop();continue}c=t.call(e,a)}catch(e){c=[6,e],n=0}finally{r=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}var h=function(){var e=(0,n.useAPIClient)(),t=(0,n.useNavigateNoUpdate)(),r=(0,a.useFieldSchema)(),o=(0,n.useBlockRequestContext)().field,i=(0,n.useCompile)(),p=(0,a.useForm)(),f=((0,n.useBlockContext)()||{}).name,m=(0,n.useCollectionRecordData)(),h=(0,a.useFieldSchema)(),v=(0,a.useField)(),g=(0,n.useActionContext)().setVisible,O=c.App.useApp(),x=O.modal,S=O.message,w=(0,n.useDataSourceKey)(),P=(0,n.useContextVariable)().ctx,j=(0,n.useLocalVariables)(),A=(0,n.useVariables)();return{onClick:function(a,c){return d(function(){var a,O,C,q,k,R,T,I,E,D,F,V,M,B,$,_,U,N,L,z,G,K,H,J;return y(this,function(N){switch(N.label){case 0:if(q=(null==o||null==(a=o.data)?void 0:a.selectedRowData)?null==o||null==(O=o.data)?void 0:O.selectedRowData:P,T=(R=null!=(k=null==r?void 0:r["x-action-settings"])?k:{}).skipValidator,E=(I=R.onSuccess||{}).manualClose,D=I.redirecting,F=I.redirectTo,V=I.successMessage,M=I.actionAfterSuccess,B=V,$=F,_=null==r?void 0:r["x-action"],!0===T||"customize:form:request"!==_)return[3,2];return[4,p.submit()];case 1:N.sent(),N.label=2;case 2:U=b({},m),"customize:form:request"===_&&(U=p.values),null!=(C=v).data||(C.data={}),v.data.loading=!0,N.label=3;case 3:return N.trys.push([3,,8,9]),z=h["x-custom-request-id"]||h["x-uid"],[4,e.request({url:"/customRequests:send/".concat(z),method:"POST",data:{currentRecord:{dataSourceKey:w,data:U},$nForm:"form"===f?p.values:void 0,$nSelectedRecord:q},responseType:"stream"===h["x-response-type"]?"blob":"json"})];case 4:return G=N.sent(),[4,(0,n.getVariableValue)(B,{variables:A,localVariables:((function(e){if(Array.isArray(e))return l(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 l(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 l(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(b({},null==G||null==(L=G.data)?void 0:L.data,null==G?void 0:G.data),{})}])})];case 5:if(B=N.sent(),!F)return[3,7];return[4,(0,n.getVariableValue)(F,{variables:A,localVariables:j})];case 6:$=N.sent(),N.label=7;case 7:if(G.headers["content-disposition"]&&(H=(K=G.headers["content-disposition"]).match(/filename\*=utf-8''([^;]+)/i),J=K.match(/filename="([^"]+)"/i),H?(0,s.saveAs)(G.data,decodeURIComponent(H[1])):J&&(0,s.saveAs)(G.data,J[1])),v.data.loading=!1,c&&(null==c||c()),"previous"!==M&&(M||!0===D)||null==g||g(!1),!B)return(D&&!M||"redirect"===M)&&$&&((0,u.isURL)($)?window.location.href=$:t($)),[2];return E?x.success({title:i(B),onOk:d(function(){return y(this,function(e){return(D&&!M||"redirect"===M)&&$&&((0,u.isURL)($)?window.location.href=$:t($)),[2]})})}):(S.success(i(B)),(D&&!M||"redirect"===M)&&$&&((0,u.isURL)($)?window.location.href=$:t($))),[3,9];case 8:return v.data.loading=!1,[7];case 9:return[2]}})})()}}},v=function(){var e=(0,a.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})},g=f(467),O=f(238),x="action-custom-request";function S(e){return"{{t('".concat(e,"', { ns: '").concat(x,"', nsMode: 'fallback' })}}")}function w(){return(0,O.useTranslation)(x,{nsMode:"fallback"})}function P(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function j(e){return function(e){if(Array.isArray(e))return P(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||A(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 A(e,t){if(e){if("string"==typeof e)return P(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if("Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r)return Array.from(r);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return P(e,t)}}var C=function(){var e,t=(0,n.useCurrentPopupContext)().params,r=(0,n.useCollectionRecordData)(),o=(0,n.useTableBlockContext)();if(r)return!1;var i=null==(e=(0,n.getStoredPopupContext)(null==t?void 0:t.popupuid))?void 0:e.tableBlockContext;return!(0,g.isEmpty)(i)||!(0,g.isEmpty)(o)},q=function(){var e,t=(0,n.useCollection_deprecated)(),r=w().t,i=(0,n.useCollectionFilterOptions)(t),a=(0,n.useCollectionFilterOptions)("users",n.DEFAULT_DATA_SOURCE_KEY),u=(0,n.useCompile)(),c=(0,n.useCollectionRecordData)(),s=((0,n.useBlockContext)()||{}).name,l=(0,n.useFormBlockContext)().form,p=(e=(0,o.useMemo)(function(){return[u(i),u(a)]},[i,a]),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 i=[],a=!0,u=!1;try{for(o=o.call(e);!(a=(r=o.next()).done)&&(i.push(r.value),i.length!==t);a=!0);}catch(e){u=!0,n=e}finally{try{a||null==o.return||o.return()}finally{if(u)throw n}}return i}}(e,2)||A(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"),b=(0,n.useContextAssociationFields)({maxDepth:2,contextCollectionName:t.name}),y=C();return(0,o.useMemo)(function(){var e,t;return[d,c&&{name:"currentRecord",title:r("Current record",{ns:"client"}),children:j(f)},("form"===s||l)&&{name:"$nForm",title:r("Current form",{ns:"client"}),children:j(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},y&&(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}({},b),t=t={name:"$nSelectedRecord",title:b.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)},[c,r,f,s,m,y])},k=f(632),R=function(){return(0,n.useAPIClient)().resource("customRequests")},T={value:"name",label:"title"},I=function(){return{scope:q(),fieldNames:T,useTypedConstant:!0}},E={type:"object",properties:{method:{type:"string",required:!0,title:S("HTTP method"),"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"},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:S("URL"),"x-decorator":"FormItem","x-component":"Variable.TextArea","x-use-component-props":I,"x-component-props":{placeholder:"https://www.nocobase.com"}},headers:{type:"array","x-component":"ArrayItems","x-decorator":"FormItem",title:S("Headers"),description:S('"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:S("Name")}},value:{type:"string","x-decorator":"FormItem","x-component":"Variable.TextArea","x-use-component-props":I},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",properties:{name:{type:"string","x-decorator":"FormItem","x-component":"Input","x-component-props":{placeholder:S("Name")}},value:{type:"string","x-decorator":"FormItem","x-component":"Variable.TextArea","x-use-component-props":I},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-decorator-props":{},"x-component":"Variable.JSON","x-component-props":{scope:"{{useCustomRequestVariableOptions}}",fieldNames:{value:"name",label:"title"},changeOnSelect:!0,autoSize:{minRows:10},placeholder:S("Input request data")},description:S("Only support standard JSON data")},timeout:{type:"number",title:S("Timeout config"),"x-decorator":"FormItem","x-decorator-props":{},"x-component":"InputNumber","x-component-props":{addonAfter:S("ms"),min:1,step:1e3,defaultValue:5e3}},responseType:{type:"string",title:S("Response type"),"x-decorator":"FormItem","x-decorator-props":{},"x-component":"Select",default:"json",enum:[{value:"json",label:"JSON"},{value:"stream",label:"Stream"}]}}};function D(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function F(e,t,r,n,o,i,a){try{var u=e[i](a),c=u.value}catch(e){r(e);return}u.done?t(c):Promise.resolve(c).then(n,o)}function V(){return(V=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 M(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,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,u=w().t,c=(0,n.useCollection_deprecated)().name,s=(0,n.useDataSourceKey)(),l=(0,a.useFieldSchema)(),p=R(),f=v(),m=f.data,d=f.refresh,b=(0,n.useDesignable)().dn,y=(0,o.useMemo)(function(){var e,t=M({},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 i().createElement(i().Fragment,null,i().createElement(n.SchemaSettingsActionModalItem,{title:u("Request settings"),components:{ArrayItems:k.ArrayItems},beforeOpen:function(){return!m&&d()},scope:{useCustomRequestVariableOptions:q},schema:E,initialValues:y,onSubmit:(e=function(e){var t,r,n;return function(e,t){var r,n,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:u(0),throw:u(1),return:u(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function u(i){return function(u){var c=[i,u];if(r)throw TypeError("Generator is already executing.");for(;a;)try{if(r=1,n&&(o=2&c[0]?n.return:c[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,c[1])).done)return o;switch(n=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return a.label++,{value:c[1],done:!1};case 5:a.label++,n=c[1],c=[0];continue;case 7:c=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===c[0]||2===c[0])){a=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){a.label=c[1];break}if(6===c[0]&&a.label<o[1]){a.label=o[1],o=c;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(c);break}o[2]&&a.ops.pop(),a.trys.pop();continue}c=t.call(e,a)}catch(e){c=[6,e],n=0}finally{r=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}(this,function(o){switch(o.label){case 0:return t=V({},function(e){if(null==e)throw TypeError("Cannot destructure "+e);return e}(e)),l["x-response-type"]=t.responseType,r=!l["x-custom-request-id"]||l["x-custom-request-id"]===l["x-uid"],[4,p.updateOrCreate({values:{key:l["x-uid"],options:B(M({},t),{collectionName:c,dataSourceKey:s})},filterKeys:["key"]})];case 1:return o.sent(),n={"x-response-type":t.responseType,"x-uid":l["x-uid"]},!r&&l["x-custom-request-id"]&&(n["x-custom-request-id"]=l["x-uid"],l["x-custom-request-id"]=l["x-uid"]),[4,b.emit("patch",{schema:n})];case 2:return o.sent(),b.refresh(),d(),[2]}})},t=function(){var t=this,r=arguments;return new Promise(function(n,o){var i=e.apply(t,r);function a(e){F(i,n,o,a,u,"next",e)}function u(e){F(i,n,o,a,u,"throw",e)}a(void 0)})},function(e){return t.apply(this,arguments)})}))}var _=new n.SchemaSettings({name:"CustomRequestActionSettings",items:[B(M({},n.actionSettingsItems["0"]),{children:((function(e){if(Array.isArray(e))return D(e)})(e=n.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 D(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 D(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:$},n.SchemaSettingAccessControl])})]}),U={"customize:table:request":n.Action.Link},N=(0,n.withDynamicSchemaProps)(function(e){var t,r,o=U[(0,a.useFieldSchema)()["x-action"]]||n.Action;return i().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:h},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))});N.Designer=function(){var e=R(),t=(0,a.useFieldSchema)();return i().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"]})}}})},N.Decorator=function(e){return(0,n.useAPIClient)(),i().createElement(n.ACLActionProvider,null,e.children)};var L=f(875);function z(e,t,r,n,o,i,a){try{var u=e[i](a),c=u.value}catch(e){r(e);return}u.done?t(c):Promise.resolve(c).then(n,o)}var G=function(e){var t,r,o,a=R(),u=(0,n.useSchemaInitializerItem)(),c=(0,n.useSchemaInitializer)().insert,s={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,L.uid)(),"x-action-settings":{onSuccess:{manualClose:!1,redirecting:!1,successMessage:'{{t("Request success")}}'}}};return i().createElement(n.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}({},u),o=o={onClick:(t=function(){var e,t;return function(e,t){var r,n,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:u(0),throw:u(1),return:u(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function u(i){return function(u){var c=[i,u];if(r)throw TypeError("Generator is already executing.");for(;a;)try{if(r=1,n&&(o=2&c[0]?n.return:c[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,c[1])).done)return o;switch(n=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return a.label++,{value:c[1],done:!1};case 5:a.label++,n=c[1],c=[0];continue;case 7:c=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===c[0]||2===c[0])){a=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){a.label=c[1];break}if(6===c[0]&&a.label<o[1]){a.label=o[1],o=c;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(c);break}o[2]&&a.ops.pop(),a.trys.pop();continue}c=t.call(e,a)}catch(e){c=[6,e],n=0}finally{r=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}(this,function(r){switch(r.label){case 0:return t=(0,L.merge)(s||{},u.schema||{}),null==u||null==(e=u.schemaInitialize)||e.call(u,t),[4,a.create({values:{key:t["x-uid"]}})];case 1:return r.sent(),c(t),[2]}})},function(){var e=this,r=arguments;return new Promise(function(n,o){var i=t.apply(e,r);function a(e){z(i,n,o,a,u,"next",e)}function u(e){z(i,n,o,a,u,"throw",e)}a(void 0)})})},Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(o)):(function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r.push.apply(r,n)}return r})(Object(o)).forEach(function(e){Object.defineProperty(r,e,Object.getOwnPropertyDescriptor(o,e))}),r))};function K(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function H(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function J(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){H(e,t,r[t])})}return e}function W(e){return function(e){if(Array.isArray(e))return K(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 K(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 K(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 Y=function(){var e=(0,n.useAfterSuccessOptions)();return[{value:"$nResponse",label:(0,(0,O.useTranslation)().t)("Response",{ns:"client"}),children:null}].concat(W(e.filter(function(e){return["currentUser","currentTime","$nRole"].includes(e.value)}))).filter(Boolean)},Q=function(){var e=(0,n.useAfterSuccessOptions)(),t=(0,n.useGlobalVariable)("$env");return W(e.filter(function(e){return"$record"!==e.value})).concat([t]).filter(Boolean)},X=function(){return{scope:Q(),useTypedConstant:!0}},Z=new n.SchemaSettings({name:"actionSettings:customRequest",items:[{name:"editButton",Component:n.ButtonEditor,useComponentProps:function(){return{isLink:"customize:table:request"===(0,a.useFieldSchema)()["x-action"]}}},{name:"linkageRules",Component:n.SchemaSettingsLinkageRules,useComponentProps:function(){return J({},(0,n.useSchemaToolbar)().linkageRulesProps)}},{name:"secondConFirm",Component:n.SecondConFirm},{name:"afterSuccessfulSubmission",Component:function(){var e,t=(0,n.useDesignable)().dn,r=(0,O.useTranslation)().t,o=(0,a.useFieldSchema)(),u=((null==o?void 0:o["x-action-settings"])||{}).onSuccess,c=(0,n.usePlugin)("@nocobase/plugin-block-template"),s=null==c||null==(e=c.isInBlockTemplateConfigPage)?void 0:e.call(c);return i().createElement(n.SchemaSettingsModalItem,{dialogRootClassName:"dialog-after-successful-submission",width:700,title:r("After successful submission"),initialValues:u?J({actionAfterSuccess:(null==u?void 0:u.redirecting)?"redirect":"previous"},u):{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:Y,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":X},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":s}}},onSubmit:function(e){var r;o["x-action-settings"].onSuccess=e,t.emit("patch",{schema:(H(r={},"x-uid",o["x-uid"]),H(r,"x-action-settings",o["x-action-settings"]),r)})}})}},{name:"request settings",Component:$},(t=J({},n.SchemaSettingAccessControl),r=r={useVisible:function(){return!0}},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),{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 ee(e,t,r,n,o,i,a){try{var u=e[i](a),c=u.value}catch(e){r(e);return}u.done?t(c):Promise.resolve(c).then(n,o)}function et(e,t,r){return(et=ei()?Reflect.construct:function(e,t,r){var n=[null];n.push.apply(n,t);var o=new(Function.bind.apply(e,n));return r&&en(o,r.prototype),o}).apply(null,arguments)}function er(e){return(er=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function en(e,t){return(en=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function eo(e){var t="function"==typeof Map?new Map:void 0;return(eo=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,er(this).constructor)}return r.prototype=Object.create(e.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),en(r,e)})(e)}function ei(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(ei=function(){return!!e})()}var ea=function(e){return i().createElement(n.SchemaComponentOptions,{scope:{CustomRequestConfigurationFieldsSchema:E},components:{CustomRequestAction:N,CustomRequestInitializer:G}},e.children)},eu=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=er(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,ei()?Reflect.construct(e,t||[],er(this).constructor):e.apply(this,t))}return r.prototype=Object.create(e&&e.prototype,{constructor:{value:r,writable:!0,configurable:!0}}),e&&en(r,e),t=[{key:"load",value:function(){var e,t=this;return(e=function(){return function(e,t){var r,n,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:u(0),throw:u(1),return:u(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function u(i){return function(u){var c=[i,u];if(r)throw TypeError("Generator is already executing.");for(;a;)try{if(r=1,n&&(o=2&c[0]?n.return:c[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,c[1])).done)return o;switch(n=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return a.label++,{value:c[1],done:!1};case 5:a.label++,n=c[1],c=[0];continue;case 7:c=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===c[0]||2===c[0])){a=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){a.label=c[1];break}if(6===c[0]&&a.label<o[1]){a.label=o[1],o=c;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(c);break}o[2]&&a.ops.pop(),a.trys.pop();continue}c=t.call(e,a)}catch(e){c=[6,e],n=0}finally{r=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}(this,function(e){return t.app.use(ea),t.app.schemaSettingsManager.add(Z),t.app.schemaSettingsManager.add(_),[2]})},function(){var t=this,r=arguments;return new Promise(function(n,o){var i=e.apply(t,r);function a(e){ee(i,n,o,a,u,"next",e)}function u(e){ee(i,n,o,a,u,"throw",e)}a(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}(eo(n.Plugin)),ec=eu}(),m}()});