UNPKG

@nocobase/plugin-action-duplicate

Version:

Duplicate a record, you can either duplicate it into a form and edit it before saving it, or you can duplicate it directly to generate a new record.

10 lines (9 loc) 27.3 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("@formily/core"),require("react"),require("@emotion/css"),require("@nocobase/client"),require("@formily/react"),require("lodash"),require("antd"),require("react-i18next")):"function"==typeof define&&define.amd?define("@nocobase/plugin-action-duplicate",["@formily/core","react","@emotion/css","@nocobase/client","@formily/react","lodash","antd","react-i18next"],t):"object"==typeof exports?exports["@nocobase/plugin-action-duplicate"]=t(require("@formily/core"),require("react"),require("@emotion/css"),require("@nocobase/client"),require("@formily/react"),require("lodash"),require("antd"),require("react-i18next")):e["@nocobase/plugin-action-duplicate"]=t(e["@formily/core"],e.react,e["@emotion/css"],e["@nocobase/client"],e["@formily/react"],e.lodash,e.antd,e["react-i18next"])}(self,function(e,t,n,r,o,i,l,c){return function(){"use strict";var a={964:function(e){e.exports=n},563:function(t){t.exports=e},505:function(e){e.exports=o},772:function(e){e.exports=r},721:function(e){e.exports=l},467:function(e){e.exports=i},156:function(e){e.exports=t},238:function(e){e.exports=c}},u={};function s(e){var t=u[e];if(void 0!==t)return t.exports;var n=u[e]={exports:{}};return a[e](n,n.exports,s),n.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 n in t)s.o(t,n)&&!s.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},s.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},s.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var p={};return!function(){s.r(p),s.d(p,{actionDesignerCss:function(){return P},DuplicateAction:function(){return S},PluginActionDuplicateClient:function(){return U},default:function(){return J}});var e=s(772),t=s(964),n=s(505),r=s(721),o=s(467),i=s.n(o),l=s(156),c=s.n(l),a=s(238);function u(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function f(e,t,n,r,o,i,l){try{var c=e[i](l),a=c.value}catch(e){n(e);return}c.done?t(a):Promise.resolve(a).then(r,o)}function d(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function m(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){d(e,t,n[t])})}return e}function y(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n.push.apply(n,r)}return n})(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}function b(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function h(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,o=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var i=[],l=!0,c=!1;try{for(o=o.call(e);!(l=(n=o.next()).done)&&(i.push(n.value),!t||i.length!==t);l=!0);}catch(e){c=!0,r=e}finally{try{l||null==o.return||o.return()}finally{if(c)throw r}}return i}}(e,t)||g(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function v(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function g(e,t){if(e){if("string"==typeof e)return u(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return u(e,t)}}function x(){var e=v(["\n position: relative;\n &:hover {\n .general-schema-designer {\n display: block;\n }\n }\n .general-schema-designer {\n position: absolute;\n z-index: 999;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n display: none;\n background: var(--colorBgSettingsHover);\n border: 0;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n pointer-events: none;\n '&.nb-in-template': {\n background: 'var(--colorTemplateBgSettingsHover)';\n }\n ,\n > .general-schema-designer-icons {\n position: absolute;\n right: 2px;\n top: 2px;\n line-height: 16px;\n pointer-events: all;\n .ant-space-item {\n background-color: var(--colorSettings);\n color: #fff;\n line-height: 16px;\n width: 16px;\n padding-left: 1px;\n align-self: stretch;\n }\n }\n }\n"]);return x=function(){return e},e}function O(){var e=v(["\n .general-schema-designer {\n top: -10px;\n bottom: -10px;\n left: -10px;\n right: -10px;\n }\n "]);return O=function(){return e},e}var P=(0,t.css)(x()),S=(0,n.observer)(function(o){var s,p,v,x,S,w,D=o.onlyIcon,k=b(o,["onlyIcon"]),j=k.children,C=k.icon,A=k.title,E=b(k,["children","icon","title"]),F=r.App.useApp().message,I=(0,n.useField)(),T=(0,n.useFieldSchema)(),M=(0,e.useAPIClient)(),q=I.disabled||k.disabled,_=(0,e.useDesignable)().designable,R=h((0,l.useState)(!1),2),z=R[0],B=R[1],L=h((0,l.useState)(!1),2),V=L[0],$=L[1],K=h((0,l.useState)(!1),2),N=K[0],G=K[1],H=(0,e.useBlockRequestContext)(),U=H.service,J=H.__parent,Q=H.block,W=H.resource,X=T["x-component-props"],Y=X.duplicateFields,Z=X.duplicateMode,ee=void 0===Z?"quickDulicate":Z,et=X.duplicateCollection,en=(0,e.useRecord)(),er=(0,e.useCollectionParentRecordData)(),eo=(0,e.useCollection)(),ei=en.id,el=en.__collection,ec=(0,e.useActionContext)(),ea=(0,e.useCollection_deprecated)().name,eu=(0,e.useCollectionManager_deprecated)().getCollectionFields,es=(0,a.useTranslation)().t,ep=eu(el||ea),ef=(0,e.useFormBlockContext)(),ed=(0,e.useACLActionParamsContext)(),em=(0,e.useDataSourceKey)(),ey=(0,e.useDataSourceHeaders)(em),eb={key:"duplicate",dataId:Array.isArray(eo.filterTargetKey)?(x=Object).assign.apply(x,[{}].concat(function(e){if(Array.isArray(e))return u(e)}(s=eo.filterTargetKey.map(function(e){return d({},e,en[e])}))||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(s)||g(s)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}())):en[eo.filterTargetKey]||ei,default:!0,fields:(null==Y?void 0:Y.filter(function(e){return ep.find(function(t){return e.includes(t.name)})}))||[],collection:el||ea},eh="Action.Link"===T["x-component"],ev=(p=function(){var t,n,r,o,i;return function(e,t){var n,r,o,i,l={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function c(i){return function(c){var a=[i,c];if(n)throw TypeError("Generator is already executing.");for(;l;)try{if(n=1,r&&(o=2&a[0]?r.return:a[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,a[1])).done)return o;switch(r=0,o&&(a=[2&a[0],o.value]),a[0]){case 0:case 1:o=a;break;case 4:return l.label++,{value:a[1],done:!1};case 5:l.label++,r=a[1],a=[0];continue;case 7:a=l.ops.pop(),l.trys.pop();continue;default:if(!(o=(o=l.trys).length>0&&o[o.length-1])&&(6===a[0]||2===a[0])){l=0;continue}if(3===a[0]&&(!o||a[1]>o[0]&&a[1]<o[3])){l.label=a[1];break}if(6===a[0]&&l.label<o[1]){l.label=o[1],o=a;break}if(o&&l.label<o[2]){l.label=o[2],l.ops.push(a);break}o[2]&&l.ops.pop(),l.trys.pop();continue}a=t.call(e,l)}catch(e){a=[6,e],r=0}finally{n=o=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}}}(this,function(l){switch(l.label){case 0:$(!0),l.label=1;case 1:return l.trys.push([1,7,,8]),[4,(0,e.fetchTemplateData)(M,eb,ey)];case 2:return t=l.sent(),[4,W.create({values:m({},t)})];case 3:if(l.sent(),F.success(es("Saved successfully")),"form"!==Q)return[3,4];return null==J||null==(r=J.service)||null==(n=r.refresh)||n.call(r),[3,6];case 4:return[4,null==U||null==(o=U.refresh)?void 0:o.call(U)];case 5:l.sent(),l.label=6;case 6:return $(!1),[3,8];case 7:return i=l.sent(),$(!1),console.error(i),[3,8];case 8:return[2]}})},v=function(){var e=this,t=arguments;return new Promise(function(n,r){var o=p.apply(e,t);function i(e){f(o,n,r,i,l,"next",e)}function l(e){f(o,n,r,i,l,"throw",e)}i(void 0)})},function(){return v.apply(this,arguments)}),eg=function(){q||V||!ed||((null==Y?void 0:Y.length)>0?"quickDulicate"===ee?ev():B(!0):F.error(es("Please configure the duplicate fields")))};return c().createElement("div",{ref:E.setNodeRef,className:(0,t.cx)(P,d({},(0,t.css)(O()),eh))},c().createElement(e.FormBlockContext.Provider,{value:y(m({},ef),{duplicateData:{display:!1,enabled:!0,defaultTemplate:eb}})},c().createElement("div",null,eh?c().createElement("a",{className:"nb-action-link",role:k.role,"aria-label":k["aria-label"],disabled:q,style:y(m({},E.style),{opacity:_&&(null==I||null==(S=I.data)?void 0:S.hidden)&&.1,cursor:V?"not-allowed":"pointer",position:"relative"}),onClick:eg},c().createElement(r.Tooltip,{title:A},c().createElement("span",{style:{marginRight:3}},C&&"string"==typeof C?c().createElement(e.Icon,{type:C}):C)),D?j[1]:V?es("Duplicating"):j||es("Duplicate")):c().createElement(r.Button,y(m({role:k.role,"aria-label":k["aria-label"],disabled:q,style:{opacity:_&&(null==I||null==(w=I.data)?void 0:w.hidden)&&.1}},k),{onClick:eg}),V?es("Duplicating"):j||es("Duplicate")),c().createElement(e.TabsContextProvider,null,c().createElement(e.CollectionProvider_deprecated,{name:et||ea},c().createElement(e.RecordProvider,{record:y(m({},er),{__collection:et||el})},c().createElement(e.ActionContextProvider,{value:y(m({},ec),{visible:z,setVisible:B,formValueChanged:N,setFormValueChanged:G})},c().createElement(e.PopupSettingsProvider,{enableURL:!1},c().createElement(e.RefreshComponentProvider,{refresh:i().noop},c().createElement(e.NocoBaseRecursionField,{schema:T,basePath:I.address,onlyRenderProperties:!0}))))))))))},{displayName:"DuplicateAction"}),w=s(563);function D(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function k(e,t,n,r,o,i,l){try{var c=e[i](l),a=c.value}catch(e){n(e);return}c.done?t(a):Promise.resolve(a).then(r,o)}function j(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var i=e.apply(t,n);function l(e){k(i,r,o,l,c,"next",e)}function c(e){k(i,r,o,l,c,"throw",e)}l(void 0)})}}function C(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function A(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){C(e,t,n[t])})}return e}function E(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n.push.apply(n,r)}return n})(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}function F(e,t){var n,r,o,i,l={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function c(i){return function(c){var a=[i,c];if(n)throw TypeError("Generator is already executing.");for(;l;)try{if(n=1,r&&(o=2&a[0]?r.return:a[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,a[1])).done)return o;switch(r=0,o&&(a=[2&a[0],o.value]),a[0]){case 0:case 1:o=a;break;case 4:return l.label++,{value:a[1],done:!1};case 5:l.label++,r=a[1],a=[0];continue;case 7:a=l.ops.pop(),l.trys.pop();continue;default:if(!(o=(o=l.trys).length>0&&o[o.length-1])&&(6===a[0]||2===a[0])){l=0;continue}if(3===a[0]&&(!o||a[1]>o[0]&&a[1]<o[3])){l.label=a[1];break}if(6===a[0]&&l.label<o[1]){l.label=o[1],o=a;break}if(o&&l.label<o[2]){l.label=o[2],l.ops.push(a);break}o[2]&&l.ops.pop(),l.trys.pop();continue}a=t.call(e,l)}catch(e){a=[6,e],r=0}finally{n=o=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}}}var I=(0,n.connect)(r.Tree,(0,n.mapProps)(function(e,t){(0,l.useEffect)(function(){t.value=e.defaultCheckedKeys||[]},[]);var r,o=(r=(0,l.useState)(e.defaultCheckedKeys||[]),function(e){if(Array.isArray(e))return e}(r)||function(e,t){var n,r,o=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var i=[],l=!0,c=!1;try{for(o=o.call(e);!(l=(n=o.next()).done)&&(i.push(n.value),i.length!==t);l=!0);}catch(e){c=!0,r=e}finally{try{l||null==o.return||o.return()}finally{if(c)throw r}}return i}}(r,2)||function(e,t){if(e){if("string"==typeof e)return D(e,2);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return D(e,t)}}(r,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.")}()),i=o[0],c=o[1],a=function(e){c(e),t.value=e};t.onCheck=a;var u=(0,n.useForm)();return E(A({},e),{checkedKeys:i,onCheck:a,treeData:null==e?void 0:e.treeData.map(function(e){if("quickDulicate"===u.values.duplicateMode){var t,n=null==e||null==(t=e.children)?void 0:t.map(function(e){return E(A({},e),{disabled:!1})});return E(A({},e),{disabled:!1,children:n})}return e})})})),T=function(e,t){for(var n=0;n<(null==e?void 0:e.length);n++){var r=e[n],o=r.children,i=function(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}(r,["children"]);t.push(i.key),o&&T(o,t)}return t},M=function(e){return e.reduceProperties(function(e,t){return"FormBlockProvider"===t["x-decorator"]?t:M(t)},null)},q=[{name:"Customize",Component:function(e){return e.children},children:[{name:"editButton",Component:e.ActionDesigner.ButtonEditor,useComponentProps:function(){return(0,e.useSchemaToolbar)().buttonEditorProps}},{name:"linkageRules",Component:e.SchemaSettingsLinkageRules,useComponentProps:function(){var t=(0,e.useCollection_deprecated)().name;return E(A({},(0,e.useSchemaToolbar)().linkageRulesProps),{collectionName:t})}},{name:"duplicationMode",Component:function(){var t,r,i,u,s=(0,e.useDesignable)().dn,p=(0,a.useTranslation)().t,f=(0,n.useField)(),d=(0,n.useFieldSchema)(),m=(0,e.useCollection_deprecated)().name,y=(0,e.useCollectionState)(m),b=y.collectionList,h=y.getEnableFieldTree,v=y.getOnLoadData,g=y.getOnCheck,x=(0,o.cloneDeep)((null==(t=d["x-component-props"])?void 0:t.duplicateFields)||[]),O=(0,e.useRecord)(),P=(0,l.useCallback)(function(e,t,n){n.query("duplicateFields").take(function(r){r.componentProps.treeData=e,r.componentProps.defaultCheckedKeys=t,r.setInitialValue(t),null==r||r.onCheck(t),n.setValues(E(A({},n.values),{treeData:e}))})},[]);return c().createElement(e.SchemaSettingsModalItem,{title:p("Duplicate mode"),components:{Tree:I},scope:{getEnableFieldTree:h,collectionName:(null==(r=d["x-component-props"])?void 0:r.duplicateCollection)||(null==O?void 0:O.__collection)||m,currentCollection:(null==O?void 0:O.__collection)||m,getOnLoadData:v,getOnCheck:g,treeData:null==(i=d["x-component-props"])?void 0:i.treeData,duplicateValues:x,onFieldInputValueChange:w.onFieldInputValueChange},schema:{type:"object",title:p("Duplicate mode"),properties:{duplicateMode:{"x-decorator":"FormItem","x-component":"Radio.Group",title:p("Duplicate mode"),default:(null==(u=d["x-component-props"])?void 0:u.duplicateMode)||"quickDulicate",enum:[{value:"quickDulicate",label:'{{t("Direct duplicate")}}'},{value:"continueduplicate",label:'{{t("Copy into the form and continue to fill in")}}'}]},collection:{type:"string",title:'{{ t("Target collection") }}',required:!0,description:p("If collection inherits, choose inherited collections as templates"),default:"{{ collectionName }}","x-display":b.length>1?"visible":"hidden","x-decorator":"FormItem","x-component":"Select","x-component-props":{options:b},"x-reactions":[{dependencies:[".duplicateMode"],fulfill:{state:{disabled:'{{ $deps[0]==="quickDulicate" }}',value:'{{ $deps[0]==="quickDulicate"? currentCollection:collectionName }}'}}}]},syncFromForm:{type:"void",title:'{{ t("Sync from form fields") }}',"x-component":"Action.Link","x-component-props":{type:"primary",style:{float:"right",position:"relative",zIndex:1200},useAction:function(){var t,n=(0,l.useMemo)(function(){return M(d)},[d]);return(0,e.useSyncFromForm)(n,(null==(t=d["x-component-props"])?void 0:t.duplicateCollection)||(null==O?void 0:O.__collection)||m,P)}},"x-reactions":[{dependencies:[".duplicateMode"],fulfill:{state:{visible:'{{ $deps[0]!=="quickDulicate" }}'}}}]},selectAll:{type:"void",title:'{{ t("Select all") }}',"x-component":"Action.Link","x-reactions":[{dependencies:[".duplicateMode"],fulfill:{state:{visible:'{{ $deps[0]==="quickDulicate"}}'}}}],"x-component-props":{type:"primary",style:{float:"right",position:"relative",zIndex:1200},useAction:function(){var e;return e=(0,n.useForm)(),{run:function(){return j(function(){return F(this,function(t){return e.query("duplicateFields").take(function(e){var t,n=T(e.componentProps.treeData,[]);e.componentProps.defaultCheckedKeys=n,e.setInitialValue(n),null==e||null==(t=e.onCheck)||t.call(e,n)}),[2]})})()}}}}},unselectAll:{type:"void",title:'{{ t("UnSelect all") }}',"x-component":"Action.Link","x-reactions":[{dependencies:[".duplicateMode",".duplicateFields"],fulfill:{state:{visible:"{{ $deps[0]===\"quickDulicate\"&&$form.getValuesIn('duplicateFields').length>0 }}"}}}],"x-component-props":{type:"primary",style:{float:"right",position:"relative",zIndex:1200,marginRight:"10px"},useAction:function(){var e;return e=(0,n.useForm)(),{run:function(){return j(function(){return F(this,function(t){return e.query("duplicateFields").take(function(e){e.componentProps.defaultCheckedKeys=[],e.setInitialValue([]),null==e||e.onCheck([])}),[2]})})()}}}}},duplicateFields:{type:"array",title:'{{ t("Data fields") }}',required:!0,description:p("Only the selected fields will be used as the initialization data for the form"),"x-decorator":"FormItem","x-component":I,"x-component-props":{defaultCheckedKeys:x,treeData:[],checkable:!0,checkStrictly:!0,selectable:!1,loadData:"{{ getOnLoadData($self) }}",onCheck:"{{ getOnCheck($self) }}",rootStyle:{padding:"8px 0",border:"1px solid #d9d9d9",borderRadius:"2px",maxHeight:"30vh",overflow:"auto",margin:"2px 0"}},"x-reactions":[{dependencies:[".collection",".duplicateMode"],fulfill:{state:{disabled:"{{ !$deps[0] }}",componentProps:{treeData:"{{ getEnableFieldTree($deps[0], $self,treeData) }}"}}}}]}}},onSubmit:function(e){var t,n,r=e.duplicateMode,o=e.collection,i=e.duplicateFields,l=e.treeData,c=Array.isArray(i)?i:i.checked||[];f.componentProps.duplicateMode=r,f.componentProps.duplicateFields=c,d["x-component-props"]=d["x-component-props"]||{},d["x-component-props"].duplicateMode=r,d["x-component-props"].duplicateFields=c,d["x-component-props"].duplicateCollection=o,d["x-component-props"].treeData=l||(null==(t=f.componentProps)?void 0:t.treeData),s.emit("patch",{schema:(C(n={},"x-uid",d["x-uid"]),C(n,"x-component-props",A({},d["x-component-props"])),n)}),s.refresh()}})},useVisible:function(){return"duplicate"===(0,n.useFieldSchema)()["x-action"]}},{name:"openMode",Component:e.SchemaSettingOpenModeSchemaItems,useComponentProps:function(){var t=(0,e.useOpenModeContext)().hideOpenMode,n=(0,a.useTranslation)().t;return{openMode:!t,openSize:!t,modeOptions:(0,l.useMemo)(function(){return[{label:n("Drawer"),value:"drawer"},{label:n("Dialog"),value:"modal"}]},[n])}}},{name:"remove",sort:100,Component:e.ActionDesigner.RemoveButton,useComponentProps:function(){return(0,e.useSchemaToolbar)().removeButtonProps}}]}],_=new e.SchemaSettings({name:"ActionSettings:duplicate",items:q}),R=new e.SchemaSettings({name:"actionSettings:duplicate",items:q}),z=function(t){return c().createElement(e.ACLActionProvider,null,t.children)},B=function(t){var n,r,o={type:"void","x-action":"duplicate","x-acl-action":"create",title:'{{ t("Duplicate") }}',"x-component":"Action.Link","x-decorator":"DuplicateActionDecorator","x-component-props":{openMode:(0,e.useOpenModeContext)().defaultOpenMode,component:"DuplicateAction"},properties:{drawer:{type:"void",title:'{{ t("Duplicate") }}',"x-component":"Action.Container","x-component-props":{className:"nb-action-popup"},properties:{tabs:{type:"void","x-component":"Tabs","x-component-props":{},"x-initializer":"popup:addTab",properties:{tab1:{type:"void",title:'{{t("Duplicate")}}',"x-component":"Tabs.TabPane","x-designer":"Tabs.Designer","x-component-props":{},properties:{grid:{type:"void","x-component":"Grid","x-initializer":"popup:addNew:addBlock",properties:{}}}}}}}}}};return c().createElement(e.ActionInitializerItem,(n=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){var r;r=n[t],t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r})}return e}({},t),r=r={schema:o},Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(r)):(function(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n.push.apply(n,r)}return n})(Object(r)).forEach(function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(r,e))}),n))},L=function(t){return c().createElement(e.SchemaComponentOptions,{components:{DuplicateActionInitializer:B,DuplicateAction:S}},t.children)};function V(e,t,n,r,o,i,l){try{var c=e[i](l),a=c.value}catch(e){n(e);return}c.done?t(a):Promise.resolve(a).then(r,o)}function $(e,t,n){return($=H()?Reflect.construct:function(e,t,n){var r=[null];r.push.apply(r,t);var o=new(Function.bind.apply(e,r));return n&&N(o,n.prototype),o}).apply(null,arguments)}function K(e){return(K=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function N(e,t){return(N=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function G(e){var t="function"==typeof Map?new Map:void 0;return(G=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,n)}function n(){return $(e,arguments,K(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),N(n,e)})(e)}function H(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(H=function(){return!!e})()}var U=function(t){var n;if("function"!=typeof t&&null!==t)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=K(e),function(e,t){var n;if(t&&("object"==((n=t)&&"undefined"!=typeof Symbol&&n.constructor===Symbol?"symbol":typeof n)||"function"==typeof t))return t;if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(this,H()?Reflect.construct(e,t||[],K(this).constructor):e.apply(this,t))}return r.prototype=Object.create(t&&t.prototype,{constructor:{value:r,writable:!0,configurable:!0}}),t&&N(r,t),n=[{key:"load",value:function(){var t,n=this;return(t=function(){var t;return function(e,t){var n,r,o,i,l={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function c(i){return function(c){var a=[i,c];if(n)throw TypeError("Generator is already executing.");for(;l;)try{if(n=1,r&&(o=2&a[0]?r.return:a[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,a[1])).done)return o;switch(r=0,o&&(a=[2&a[0],o.value]),a[0]){case 0:case 1:o=a;break;case 4:return l.label++,{value:a[1],done:!1};case 5:l.label++,r=a[1],a=[0];continue;case 7:a=l.ops.pop(),l.trys.pop();continue;default:if(!(o=(o=l.trys).length>0&&o[o.length-1])&&(6===a[0]||2===a[0])){l=0;continue}if(3===a[0]&&(!o||a[1]>o[0]&&a[1]<o[3])){l.label=a[1];break}if(6===a[0]&&l.label<o[1]){l.label=o[1],o=a;break}if(o&&l.label<o[2]){l.label=o[2],l.ops.push(a);break}o[2]&&l.ops.pop(),l.trys.pop();continue}a=t.call(e,l)}catch(e){a=[6,e],r=0}finally{n=o=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}}}(this,function(r){return n.app.use(L),n.app.addComponents({DuplicateActionInitializer:B,DuplicateAction:S,DuplicateActionDecorator:z}),n.app.schemaSettingsManager.add(_),n.app.schemaSettingsManager.add(R),t={title:'{{t("Duplicate")}}',Component:"DuplicateActionInitializer",schema:{"x-component":"Action.Link","x-action":"duplicate","x-toolbar":"ActionSchemaToolbar","x-settings":"actionSettings:duplicate","x-decorator":"DuplicateActionDecorator","x-component-props":{type:"primary"}},useVisible:function(){return(0,e.useActionAvailable)("create")}},n.app.schemaInitializerManager.addItem("table:configureItemActions","actions.duplicate",t),[2]})},function(){var e=this,n=arguments;return new Promise(function(r,o){var i=t.apply(e,n);function l(e){V(i,r,o,l,c,"next",e)}function c(e){V(i,r,o,l,c,"throw",e)}l(void 0)})})()}}],function(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}(r.prototype,n),r}(G(e.Plugin)),J=U}(),p}()});