@nocobase/plugin-action-duplicate 2.0.0-alpha.7 → 2.0.0-alpha.71

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.
@@ -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("@formily/core"),require("react"),require("@emotion/css"),require("@formily/react"),require("@nocobase/client"),require("lodash"),require("antd"),require("react-i18next")):"function"==typeof define&&define.amd?define("@nocobase/plugin-action-duplicate",["@formily/core","react","@emotion/css","@formily/react","@nocobase/client","lodash","antd","react-i18next"],t):"object"==typeof exports?exports["@nocobase/plugin-action-duplicate"]=t(require("@formily/core"),require("react"),require("@emotion/css"),require("@formily/react"),require("@nocobase/client"),require("lodash"),require("antd"),require("react-i18next")):e["@nocobase/plugin-action-duplicate"]=t(e["@formily/core"],e.react,e["@emotion/css"],e["@formily/react"],e["@nocobase/client"],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=r},772:function(e){e.exports=o},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=c().forwardRef(function(o,s){var p,v,x,S,w,D,k=o.onlyIcon,j=b(o,["onlyIcon"]),C=o.children,A=o.icon,E=o.title,F=b(o,["children","icon","title"]),I=r.App.useApp().message,T=(0,n.useField)(),M=(0,n.useFieldSchema)(),q=(0,e.useAPIClient)(),_=T.disabled||o.disabled,R=(0,e.useDesignable)().designable,z=h((0,l.useState)(!1),2),B=z[0],L=z[1],V=h((0,l.useState)(!1),2),$=V[0],K=V[1],N=h((0,l.useState)(!1),2),G=N[0],H=N[1],U=(0,e.useBlockRequestContext)(),J=U.service,Q=U.__parent,W=U.block,X=U.resource,Y=M["x-component-props"],Z=Y.duplicateFields,ee=Y.duplicateMode,et=void 0===ee?"quickDulicate":ee,en=Y.duplicateCollection,er=(0,e.useRecord)(),eo=(0,e.useCollectionParentRecordData)(),ei=(0,e.useCollection)(),el=er.id,ec=er.__collection,ea=(0,e.useActionContext)(),eu=(0,e.useCollection_deprecated)().name,es=(0,e.useCollectionManager_deprecated)().getCollectionFields,ep=(0,a.useTranslation)().t,ef=es(ec||eu),ed=(0,e.useFormBlockContext)(),em=(0,e.useACLActionParamsContext)(),ey=(0,e.useDataSourceKey)(),eb=(0,e.useDataSourceHeaders)(ey),eh={key:"duplicate",dataId:Array.isArray(ei.filterTargetKey)?(S=Object).assign.apply(S,[{}].concat(function(e){if(Array.isArray(e))return u(e)}(p=ei.filterTargetKey.map(function(e){return d({},e,er[e])}))||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(p)||g(p)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}())):er[ei.filterTargetKey]||el,default:!0,fields:(null==Z?void 0:Z.filter(function(e){return ef.find(function(t){return e.includes(t.name)})}))||[],collection:ec||eu},ev="Action.Link"===M["x-component"],eg=(v=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:K(!0),l.label=1;case 1:return l.trys.push([1,7,,8]),[4,(0,e.fetchTemplateData)(q,eh,eb)];case 2:return t=l.sent(),[4,X.create({values:m({},t)})];case 3:if(l.sent(),I.success(ep("Saved successfully")),"form"!==W)return[3,4];return null==Q||null==(r=Q.service)||null==(n=r.refresh)||n.call(r),[3,6];case 4:return[4,null==J||null==(o=J.refresh)?void 0:o.call(J)];case 5:l.sent(),l.label=6;case 6:return K(!1),[3,8];case 7:return i=l.sent(),K(!1),console.error(i),[3,8];case 8:return[2]}})},x=function(){var e=this,t=arguments;return new Promise(function(n,r){var o=v.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 x.apply(this,arguments)}),ex=function(){_||$||!em||((null==Z?void 0:Z.length)>0?"quickDulicate"===et?eg():L(!0):I.error(ep("Please configure the duplicate fields")))};return c().createElement("div",{ref:s,className:(0,t.cx)(P,d({},(0,t.css)(O()),ev))},c().createElement(e.FormBlockContext.Provider,{value:y(m({},ed),{duplicateData:{display:!1,enabled:!0,defaultTemplate:eh}})},c().createElement("div",null,ev?c().createElement("a",{className:"nb-action-link",role:o.role,"aria-label":o["aria-label"],disabled:_,style:y(m({},F.style),{opacity:R&&(null==T||null==(w=T.data)?void 0:w.hidden)&&.1,cursor:$?"not-allowed":"pointer",position:"relative"}),onClick:ex},c().createElement(r.Tooltip,{title:E},c().createElement("span",{style:{marginRight:3}},A&&"string"==typeof A?c().createElement(e.Icon,{type:A}):A)),k?C[1]:$?ep("Duplicating"):C||ep("Duplicate")):c().createElement(r.Button,y(m({role:o.role,"aria-label":o["aria-label"],disabled:_,style:{opacity:R&&(null==T||null==(D=T.data)?void 0:D.hidden)&&.1}},j),{onClick:ex}),$?ep("Duplicating"):C||ep("Duplicate")),c().createElement(e.TabsContextProvider,null,c().createElement(e.CollectionProvider_deprecated,{name:en||eu},c().createElement(e.RecordProvider,{record:y(m({},eo),{__collection:en||ec})},c().createElement(e.ActionContextProvider,{value:y(m({},ea),{visible:B,setVisible:L,formValueChanged:G,setFormValueChanged:H})},c().createElement(e.PopupSettingsProvider,{enableURL:!1},c().createElement(e.RefreshComponentProvider,{refresh:i().noop},c().createElement(e.NocoBaseRecursionField,{schema:M,basePath:T.address,onlyRenderProperties:!0}))))))))))}),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}()});
10
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("@formily/core"),require("@nocobase/client"),require("react"),require("@emotion/css"),require("@nocobase/flow-engine"),require("@formily/react"),require("lodash"),require("antd"),require("react-i18next")):"function"==typeof define&&define.amd?define("@nocobase/plugin-action-duplicate",["@formily/core","@nocobase/client","react","@emotion/css","@nocobase/flow-engine","@formily/react","lodash","antd","react-i18next"],t):"object"==typeof exports?exports["@nocobase/plugin-action-duplicate"]=t(require("@formily/core"),require("@nocobase/client"),require("react"),require("@emotion/css"),require("@nocobase/flow-engine"),require("@formily/react"),require("lodash"),require("antd"),require("react-i18next")):e["@nocobase/plugin-action-duplicate"]=t(e["@formily/core"],e["@nocobase/client"],e.react,e["@emotion/css"],e["@nocobase/flow-engine"],e["@formily/react"],e.lodash,e.antd,e["react-i18next"])}(self,function(e,t,n,r,o,i,l,a,c){return function(){"use strict";var u={73:function(e,t,n){let r=n(239),o=Symbol("max"),i=Symbol("length"),l=Symbol("lengthCalculator"),a=Symbol("allowStale"),c=Symbol("maxAge"),u=Symbol("dispose"),s=Symbol("noDisposeOnSet"),d=Symbol("lruList"),p=Symbol("cache"),f=Symbol("updateAgeOnGet"),h=()=>1,m=(e,t,n)=>{let r=e[p].get(t);if(r){let t=r.value;if(y(e,t)){if(b(e,r),!e[a])return}else n&&(e[f]&&(r.value.now=Date.now()),e[d].unshiftNode(r));return t.value}},y=(e,t)=>{if(!t||!t.maxAge&&!e[c])return!1;let n=Date.now()-t.now;return t.maxAge?n>t.maxAge:e[c]&&n>e[c]},v=e=>{if(e[i]>e[o])for(let t=e[d].tail;e[i]>e[o]&&null!==t;){let n=t.prev;b(e,t),t=n}},b=(e,t)=>{if(t){let n=t.value;e[u]&&e[u](n.key,n.value),e[i]-=n.length,e[p].delete(n.key),e[d].removeNode(t)}};class g{constructor(e,t,n,r,o){this.key=e,this.value=t,this.length=n,this.now=r,this.maxAge=o||0}}let x=(e,t,n,r)=>{let o=n.value;y(e,o)&&(b(e,n),e[a]||(o=void 0)),o&&t.call(r,o.value,o.key,e)};e.exports=class{constructor(e){if("number"==typeof e&&(e={max:e}),e||(e={}),e.max&&("number"!=typeof e.max||e.max<0))throw TypeError("max must be a non-negative number");this[o]=e.max||1/0;let t=e.length||h;if(this[l]="function"!=typeof t?h:t,this[a]=e.stale||!1,e.maxAge&&"number"!=typeof e.maxAge)throw TypeError("maxAge must be a number");this[c]=e.maxAge||0,this[u]=e.dispose,this[s]=e.noDisposeOnSet||!1,this[f]=e.updateAgeOnGet||!1,this.reset()}set max(e){if("number"!=typeof e||e<0)throw TypeError("max must be a non-negative number");this[o]=e||1/0,v(this)}get max(){return this[o]}set allowStale(e){this[a]=!!e}get allowStale(){return this[a]}set maxAge(e){if("number"!=typeof e)throw TypeError("maxAge must be a non-negative number");this[c]=e,v(this)}get maxAge(){return this[c]}set lengthCalculator(e){"function"!=typeof e&&(e=h),e!==this[l]&&(this[l]=e,this[i]=0,this[d].forEach(e=>{e.length=this[l](e.value,e.key),this[i]+=e.length})),v(this)}get lengthCalculator(){return this[l]}get length(){return this[i]}get itemCount(){return this[d].length}rforEach(e,t){t=t||this;for(let n=this[d].tail;null!==n;){let r=n.prev;x(this,e,n,t),n=r}}forEach(e,t){t=t||this;for(let n=this[d].head;null!==n;){let r=n.next;x(this,e,n,t),n=r}}keys(){return this[d].toArray().map(e=>e.key)}values(){return this[d].toArray().map(e=>e.value)}reset(){this[u]&&this[d]&&this[d].length&&this[d].forEach(e=>this[u](e.key,e.value)),this[p]=new Map,this[d]=new r,this[i]=0}dump(){return this[d].map(e=>!y(this,e)&&{k:e.key,v:e.value,e:e.now+(e.maxAge||0)}).toArray().filter(e=>e)}dumpLru(){return this[d]}set(e,t,n){if((n=n||this[c])&&"number"!=typeof n)throw TypeError("maxAge must be a number");let r=n?Date.now():0,a=this[l](t,e);if(this[p].has(e)){if(a>this[o])return b(this,this[p].get(e)),!1;let l=this[p].get(e).value;return this[u]&&!this[s]&&this[u](e,l.value),l.now=r,l.maxAge=n,l.value=t,this[i]+=a-l.length,l.length=a,this.get(e),v(this),!0}let f=new g(e,t,a,r,n);return f.length>this[o]?(this[u]&&this[u](e,t),!1):(this[i]+=f.length,this[d].unshift(f),this[p].set(e,this[d].head),v(this),!0)}has(e){return!!this[p].has(e)&&!y(this,this[p].get(e).value)}get(e){return m(this,e,!0)}peek(e){return m(this,e,!1)}pop(){let e=this[d].tail;return e?(b(this,e),e.value):null}del(e){b(this,this[p].get(e))}load(e){this.reset();let t=Date.now();for(let n=e.length-1;n>=0;n--){let r=e[n],o=r.e||0;if(0===o)this.set(r.k,r.v);else{let e=o-t;e>0&&this.set(r.k,r.v,e)}}}prune(){this[p].forEach((e,t)=>m(this,t,!1))}}},377:function(e){e.exports=function(e){e.prototype[Symbol.iterator]=function*(){for(let e=this.head;e;e=e.next)yield e.value}}},239:function(e,t,n){function r(e){var t=this;if(t instanceof r||(t=new r),t.tail=null,t.head=null,t.length=0,e&&"function"==typeof e.forEach)e.forEach(function(e){t.push(e)});else if(arguments.length>0)for(var n=0,o=arguments.length;n<o;n++)t.push(arguments[n]);return t}function o(e,t,n,r){if(!(this instanceof o))return new o(e,t,n,r);this.list=r,this.value=e,t?(t.next=this,this.prev=t):this.prev=null,n?(n.prev=this,this.next=n):this.next=null}e.exports=r,r.Node=o,r.create=r,r.prototype.removeNode=function(e){if(e.list!==this)throw Error("removing node which does not belong to this list");var t=e.next,n=e.prev;return t&&(t.prev=n),n&&(n.next=t),e===this.head&&(this.head=t),e===this.tail&&(this.tail=n),e.list.length--,e.next=null,e.prev=null,e.list=null,t},r.prototype.unshiftNode=function(e){if(e!==this.head){e.list&&e.list.removeNode(e);var t=this.head;e.list=this,e.next=t,t&&(t.prev=e),this.head=e,this.tail||(this.tail=e),this.length++}},r.prototype.pushNode=function(e){if(e!==this.tail){e.list&&e.list.removeNode(e);var t=this.tail;e.list=this,e.prev=t,t&&(t.next=e),this.tail=e,this.head||(this.head=e),this.length++}},r.prototype.push=function(){for(var e,t,n=0,r=arguments.length;n<r;n++){e=this,t=arguments[n],e.tail=new o(t,e.tail,null,e),e.head||(e.head=e.tail),e.length++}return this.length},r.prototype.unshift=function(){for(var e,t,n=0,r=arguments.length;n<r;n++){e=this,t=arguments[n],e.head=new o(t,null,e.head,e),e.tail||(e.tail=e.head),e.length++}return this.length},r.prototype.pop=function(){if(this.tail){var e=this.tail.value;return this.tail=this.tail.prev,this.tail?this.tail.next=null:this.head=null,this.length--,e}},r.prototype.shift=function(){if(this.head){var e=this.head.value;return this.head=this.head.next,this.head?this.head.prev=null:this.tail=null,this.length--,e}},r.prototype.forEach=function(e,t){t=t||this;for(var n=this.head,r=0;null!==n;r++)e.call(t,n.value,r,this),n=n.next},r.prototype.forEachReverse=function(e,t){t=t||this;for(var n=this.tail,r=this.length-1;null!==n;r--)e.call(t,n.value,r,this),n=n.prev},r.prototype.get=function(e){for(var t=0,n=this.head;null!==n&&t<e;t++)n=n.next;if(t===e&&null!==n)return n.value},r.prototype.getReverse=function(e){for(var t=0,n=this.tail;null!==n&&t<e;t++)n=n.prev;if(t===e&&null!==n)return n.value},r.prototype.map=function(e,t){t=t||this;for(var n=new r,o=this.head;null!==o;)n.push(e.call(t,o.value,this)),o=o.next;return n},r.prototype.mapReverse=function(e,t){t=t||this;for(var n=new r,o=this.tail;null!==o;)n.push(e.call(t,o.value,this)),o=o.prev;return n},r.prototype.reduce=function(e,t){var n,r=this.head;if(arguments.length>1)n=t;else if(this.head)r=this.head.next,n=this.head.value;else throw TypeError("Reduce of empty list with no initial value");for(var o=0;null!==r;o++)n=e(n,r.value,o),r=r.next;return n},r.prototype.reduceReverse=function(e,t){var n,r=this.tail;if(arguments.length>1)n=t;else if(this.tail)r=this.tail.prev,n=this.tail.value;else throw TypeError("Reduce of empty list with no initial value");for(var o=this.length-1;null!==r;o--)n=e(n,r.value,o),r=r.prev;return n},r.prototype.toArray=function(){for(var e=Array(this.length),t=0,n=this.head;null!==n;t++)e[t]=n.value,n=n.next;return e},r.prototype.toArrayReverse=function(){for(var e=Array(this.length),t=0,n=this.tail;null!==n;t++)e[t]=n.value,n=n.prev;return e},r.prototype.slice=function(e,t){(t=t||this.length)<0&&(t+=this.length),(e=e||0)<0&&(e+=this.length);var n=new r;if(t<e||t<0)return n;e<0&&(e=0),t>this.length&&(t=this.length);for(var o=0,i=this.head;null!==i&&o<e;o++)i=i.next;for(;null!==i&&o<t;o++,i=i.next)n.push(i.value);return n},r.prototype.sliceReverse=function(e,t){(t=t||this.length)<0&&(t+=this.length),(e=e||0)<0&&(e+=this.length);var n=new r;if(t<e||t<0)return n;e<0&&(e=0),t>this.length&&(t=this.length);for(var o=this.length,i=this.tail;null!==i&&o>t;o--)i=i.prev;for(;null!==i&&o>e;o--,i=i.prev)n.push(i.value);return n},r.prototype.splice=function(e,t,...n){e>this.length&&(e=this.length-1),e<0&&(e=this.length+e);for(var r=0,i=this.head;null!==i&&r<e;r++)i=i.next;for(var l=[],r=0;i&&r<t;r++)l.push(i.value),i=this.removeNode(i);null===i&&(i=this.tail),i!==this.head&&i!==this.tail&&(i=i.prev);for(var r=0;r<n.length;r++)i=function(e,t,n){var r=t===e.head?new o(n,null,t,e):new o(n,t,t.next,e);return null===r.next&&(e.tail=r),null===r.prev&&(e.head=r),e.length++,r}(this,i,n[r]);return l},r.prototype.reverse=function(){for(var e=this.head,t=this.tail,n=e;null!==n;n=n.prev){var r=n.prev;n.prev=n.next,n.next=r}return this.head=t,this.tail=e,this};try{n(377)(r)}catch(e){}},964:function(e){e.exports=r},563:function(t){t.exports=e},505:function(e){e.exports=i},772:function(e){e.exports=t},667:function(e){e.exports=o},721:function(e){e.exports=a},467:function(e){e.exports=l},156:function(e){e.exports=n},238:function(e){e.exports=c}},s={};function d(e){var t=s[e];if(void 0!==t)return t.exports;var n=s[e]={exports:{}};return u[e](n,n.exports,d),n.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 n in t)d.o(t,n)&&!d.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},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 p={};return!function(){d.r(p),d.d(p,{actionDesignerCss:function(){return O},DuplicateAction:function(){return k},PluginActionDuplicateClient:function(){return eP},default:function(){return eA}});var e=d(772),t=d(964),n=d(505),r=d(721),o=d(467),i=d.n(o),l=d(156),a=d.n(l),c=d(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 s(e,t,n,r,o,i,l){try{var a=e[i](l),c=a.value}catch(e){n(e);return}a.done?t(c):Promise.resolve(c).then(r,o)}function f(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function h(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){f(e,t,n[t])})}return e}function m(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 y(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 v(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,a=!1;try{for(o=o.call(e);!(l=(n=o.next()).done)&&(i.push(n.value),!t||i.length!==t);l=!0);}catch(e){a=!0,r=e}finally{try{l||null==o.return||o.return()}finally{if(a)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 b(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=b(["\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 w(){var e=b(["\n .general-schema-designer {\n top: -10px;\n bottom: -10px;\n left: -10px;\n right: -10px;\n }\n "]);return w=function(){return e},e}var O=(0,t.css)(x()),k=a().forwardRef(function(o,d){var p,b,x,k,S,D,P=o.onlyIcon,A=y(o,["onlyIcon"]),C=o.children,j=o.icon,M=o.title,E=y(o,["children","icon","title"]),T=r.App.useApp().message,F=(0,n.useField)(),I=(0,n.useFieldSchema)(),q=(0,e.useAPIClient)(),_=F.disabled||o.disabled,R=(0,e.useDesignable)().designable,L=v((0,l.useState)(!1),2),K=L[0],B=L[1],N=v((0,l.useState)(!1),2),V=N[0],z=N[1],$=v((0,l.useState)(!1),2),G=$[0],U=$[1],H=(0,e.useBlockRequestContext)(),J=H.service,Q=H.__parent,W=H.block,X=H.resource,Y=I["x-component-props"],Z=Y.duplicateFields,ee=Y.duplicateMode,et=void 0===ee?"quickDulicate":ee,en=Y.duplicateCollection,er=(0,e.useRecord)(),eo=(0,e.useCollectionParentRecordData)(),ei=(0,e.useCollection)(),el=er.id,ea=er.__collection,ec=(0,e.useActionContext)(),eu=(0,e.useCollection_deprecated)().name,es=(0,e.useCollectionManager_deprecated)().getCollectionFields,ed=(0,c.useTranslation)().t,ep=es(ea||eu),ef=(0,e.useFormBlockContext)(),eh=(0,e.useACLActionParamsContext)(),em=(0,e.useDataSourceKey)(),ey=(0,e.useDataSourceHeaders)(em),ev={key:"duplicate",dataId:Array.isArray(ei.filterTargetKey)?(k=Object).assign.apply(k,[{}].concat(function(e){if(Array.isArray(e))return u(e)}(p=ei.filterTargetKey.map(function(e){return f({},e,er[e])}))||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(p)||g(p)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}())):er[ei.filterTargetKey]||el,default:!0,fields:(null==Z?void 0:Z.filter(function(e){return ep.find(function(t){return e.includes(t.name)})}))||[],collection:ea||eu},eb="Action.Link"===I["x-component"],eg=(b=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:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function a(i){return function(a){var c=[i,a];if(n)throw TypeError("Generator is already executing.");for(;l;)try{if(n=1,r&&(o=2&c[0]?r.return:c[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,c[1])).done)return o;switch(r=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return l.label++,{value:c[1],done:!1};case 5:l.label++,r=c[1],c=[0];continue;case 7:c=l.ops.pop(),l.trys.pop();continue;default:if(!(o=(o=l.trys).length>0&&o[o.length-1])&&(6===c[0]||2===c[0])){l=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){l.label=c[1];break}if(6===c[0]&&l.label<o[1]){l.label=o[1],o=c;break}if(o&&l.label<o[2]){l.label=o[2],l.ops.push(c);break}o[2]&&l.ops.pop(),l.trys.pop();continue}c=t.call(e,l)}catch(e){c=[6,e],r=0}finally{n=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}(this,function(l){switch(l.label){case 0:z(!0),l.label=1;case 1:return l.trys.push([1,7,,8]),[4,(0,e.fetchTemplateData)(q,ev,ey)];case 2:return t=l.sent(),[4,X.create({values:h({},t)})];case 3:if(l.sent(),T.success(ed("Saved successfully")),"form"!==W)return[3,4];return null==Q||null==(r=Q.service)||null==(n=r.refresh)||n.call(r),[3,6];case 4:return[4,null==J||null==(o=J.refresh)?void 0:o.call(J)];case 5:l.sent(),l.label=6;case 6:return z(!1),[3,8];case 7:return i=l.sent(),z(!1),console.error(i),[3,8];case 8:return[2]}})},x=function(){var e=this,t=arguments;return new Promise(function(n,r){var o=b.apply(e,t);function i(e){s(o,n,r,i,l,"next",e)}function l(e){s(o,n,r,i,l,"throw",e)}i(void 0)})},function(){return x.apply(this,arguments)}),ex=function(){_||V||!eh||((null==Z?void 0:Z.length)>0?"quickDulicate"===et?eg():B(!0):T.error(ed("Please configure the duplicate fields")))};return a().createElement("div",{ref:d,className:(0,t.cx)(O,f({},(0,t.css)(w()),eb))},a().createElement(e.FormBlockContext.Provider,{value:m(h({},ef),{duplicateData:{display:!1,enabled:!0,defaultTemplate:ev}})},a().createElement("div",null,eb?a().createElement("a",{className:"nb-action-link",role:o.role,"aria-label":o["aria-label"],disabled:_,style:m(h({},E.style),{opacity:R&&(null==F||null==(S=F.data)?void 0:S.hidden)&&.1,cursor:V?"not-allowed":"pointer",position:"relative"}),onClick:ex},a().createElement(r.Tooltip,{title:M},a().createElement("span",{style:{marginRight:3}},j&&"string"==typeof j?a().createElement(e.Icon,{type:j}):j)),P?C[1]:V?ed("Duplicating"):C||ed("Duplicate")):a().createElement(r.Button,m(h({role:o.role,"aria-label":o["aria-label"],disabled:_,style:{opacity:R&&(null==F||null==(D=F.data)?void 0:D.hidden)&&.1}},A),{onClick:ex}),V?ed("Duplicating"):C||ed("Duplicate")),a().createElement(e.TabsContextProvider,null,a().createElement(e.CollectionProvider_deprecated,{name:en||eu},a().createElement(e.RecordProvider,{record:m(h({},eo),{__collection:en||ea})},a().createElement(e.ActionContextProvider,{value:m(h({},ec),{visible:K,setVisible:B,formValueChanged:G,setFormValueChanged:U})},a().createElement(e.PopupSettingsProvider,{enableURL:!1},a().createElement(e.RefreshComponentProvider,{refresh:i().noop},a().createElement(e.NocoBaseRecursionField,{schema:I,basePath:F.address,onlyRenderProperties:!0}))))))))))}),S=d(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 P(e,t,n,r,o,i,l){try{var a=e[i](l),c=a.value}catch(e){n(e);return}a.done?t(c):Promise.resolve(c).then(r,o)}function A(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var i=e.apply(t,n);function l(e){P(i,r,o,l,a,"next",e)}function a(e){P(i,r,o,l,a,"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 j(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 M(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 E(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:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function a(i){return function(a){var c=[i,a];if(n)throw TypeError("Generator is already executing.");for(;l;)try{if(n=1,r&&(o=2&c[0]?r.return:c[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,c[1])).done)return o;switch(r=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return l.label++,{value:c[1],done:!1};case 5:l.label++,r=c[1],c=[0];continue;case 7:c=l.ops.pop(),l.trys.pop();continue;default:if(!(o=(o=l.trys).length>0&&o[o.length-1])&&(6===c[0]||2===c[0])){l=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){l.label=c[1];break}if(6===c[0]&&l.label<o[1]){l.label=o[1],o=c;break}if(o&&l.label<o[2]){l.label=o[2],l.ops.push(c);break}o[2]&&l.ops.pop(),l.trys.pop();continue}c=t.call(e,l)}catch(e){c=[6,e],r=0}finally{n=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}var T=(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,a=!1;try{for(o=o.call(e);!(l=(n=o.next()).done)&&(i.push(n.value),i.length!==t);l=!0);}catch(e){a=!0,r=e}finally{try{l||null==o.return||o.return()}finally{if(a)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],a=o[1],c=function(e){a(e),t.value=e};t.onCheck=c;var u=(0,n.useForm)();return M(j({},e),{checkedKeys:i,onCheck:c,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 M(j({},e),{disabled:!1})});return M(j({},e),{disabled:!1,children:n})}return e})})})),F=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&&F(o,t)}return t},I=function(e){return e.reduceProperties(function(e,t){return"FormBlockProvider"===t["x-decorator"]?t:I(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 M(j({},(0,e.useSchemaToolbar)().linkageRulesProps),{collectionName:t})}},{name:"duplicationMode",Component:function(){var t,r,i,u,s=(0,e.useDesignable)().dn,d=(0,c.useTranslation)().t,p=(0,n.useField)(),f=(0,n.useFieldSchema)(),h=(0,e.useCollection_deprecated)().name,m=(0,e.useCollectionState)(h),y=m.collectionList,v=m.getEnableFieldTree,b=m.getOnLoadData,g=m.getOnCheck,x=(0,o.cloneDeep)((null==(t=f["x-component-props"])?void 0:t.duplicateFields)||[]),w=(0,e.useRecord)(),O=(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(M(j({},n.values),{treeData:e}))})},[]);return a().createElement(e.SchemaSettingsModalItem,{title:d("Duplicate mode"),components:{Tree:T},scope:{getEnableFieldTree:v,collectionName:(null==(r=f["x-component-props"])?void 0:r.duplicateCollection)||(null==w?void 0:w.__collection)||h,currentCollection:(null==w?void 0:w.__collection)||h,getOnLoadData:b,getOnCheck:g,treeData:null==(i=f["x-component-props"])?void 0:i.treeData,duplicateValues:x,onFieldInputValueChange:S.onFieldInputValueChange},schema:{type:"object",title:d("Duplicate mode"),properties:{duplicateMode:{"x-decorator":"FormItem","x-component":"Radio.Group",title:d("Duplicate mode"),default:(null==(u=f["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:d("If collection inherits, choose inherited collections as templates"),default:"{{ collectionName }}","x-display":y.length>1?"visible":"hidden","x-decorator":"FormItem","x-component":"Select","x-component-props":{options:y},"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 I(f)},[f]);return(0,e.useSyncFromForm)(n,(null==(t=f["x-component-props"])?void 0:t.duplicateCollection)||(null==w?void 0:w.__collection)||h,O)}},"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 A(function(){return E(this,function(t){return e.query("duplicateFields").take(function(e){var t,n=F(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 A(function(){return E(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:d("Only the selected fields will be used as the initialization data for the form"),"x-decorator":"FormItem","x-component":T,"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,a=Array.isArray(i)?i:i.checked||[];p.componentProps.duplicateMode=r,p.componentProps.duplicateFields=a,f["x-component-props"]=f["x-component-props"]||{},f["x-component-props"].duplicateMode=r,f["x-component-props"].duplicateFields=a,f["x-component-props"].duplicateCollection=o,f["x-component-props"].treeData=l||(null==(t=p.componentProps)?void 0:t.treeData),s.emit("patch",{schema:(C(n={},"x-uid",f["x-uid"]),C(n,"x-component-props",j({},f["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,c.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}),L=function(t){return a().createElement(e.ACLActionProvider,null,t.children)},K=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 a().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))},B=function(t){return a().createElement(e.SchemaComponentOptions,{components:{DuplicateActionInitializer:K,DuplicateAction:k}},t.children)},N=d(667),V=d(73),z=d.n(V);function $(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 G(e,t,n,r,o,i,l){try{var a=e[i](l),c=a.value}catch(e){n(e);return}a.done?t(c):Promise.resolve(c).then(r,o)}function U(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){var r;r=n[t],t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r})}return e}function H(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 J(e){return function(e){if(Array.isArray(e))return $(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 $(e,void 0);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 $(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 Q=function(e){var t=e.tag,n=e.type,o=e.displayType;return a().createElement("div",null,a().createElement(r.Tag,{color:{reference:"blue",duplicate:"green",preloading:"cyan"}[n]},a().createElement("span",null,t)," ",void 0===o||o?"(".concat({reference:"Reference",duplicate:"Duplicate",preloading:"Preloading"}[n],")"):""))},W=["sort","createdById","createdBy","createdAt","updatedById","updatedBy","updatedAt","password","sequence"];function X(e){var t=e.node,n=e.traverseAssociations,r=e.traverseFields,o=e.systemKeys,i=e.dataSource,l=e.setDataSource,a=function(e,t){for(var n=J(e);n.length;){var r=n.shift();if(r.key===t.key)return r;r.children&&n.push.apply(n,J(r.children))}}(i,t),c=[];return["belongsTo","belongsToMany"].includes(t.field.type)&&(null==t?void 0:t.type)==="reference"?c=n(t.field.target,{exclude:o,prefix:t.key,maxDepth:1}):(["hasOne","hasMany"].includes(t.field.type)||(null==t?void 0:t.type)==="duplicate")&&(c=r(t.field.target,{exclude:["id"].concat(J(o.filter(function(e){return"sort"!==e}))),prefix:t.key,maxDepth:1})),c.length?a.children=c:a.isLeaf=!0,l(J(i)),c}var Y=function(e,t,n){arguments.length>3&&void 0!==arguments[3]&&arguments[3];var r=function(i,l){var c=l.exclude,u=void 0===c?[]:c,s=l.depth,d=void 0===s?0:s,p=l.maxDepth,f=l.prefix,h=void 0===f?"":f;return d>p?[]:J(e.getCollection(n,i).fields.values()).map(function(e){if(!u.includes(e.name)&&e.interface&&!(0===d&&["sort","password","sequence"].includes(e.type))){var n,i={type:"duplicate",tag:t(null==(n=e.uiSchema)?void 0:n.title)||e.name},l=H(U({},i),{role:"button",title:a().createElement(Q,H(U({},i),{displayType:!0})),key:h?"".concat(h,".").concat(e.name):e.name,isLeaf:!0,field:e});return["belongsTo","belongsToMany"].includes(e.type)?(i.type="reference",l.type="reference",l.title=a().createElement(Q,H(U({},i),{type:"reference",displayType:!0})),l.isLeaf=!1,l.children=o(e.target,{depth:d+1,maxDepth:p,prefix:l.key,exclude:W})):["hasOne","hasMany"].includes(e.type)&&(l.isLeaf=!1,l.children=r(e.target,{depth:d+1,maxDepth:p,prefix:l.key,exclude:["id"].concat(J(W.filter(function(e){return"sort"!==e})))})),l}}).filter(Boolean)},o=function(r,i){var l,c=i.prefix,u=i.maxDepth,s=i.depth,d=void 0===s?0:s,p=i.exclude,f=void 0===p?[]:p;return d>u||!e.getCollection(n,r)?[]:J(null==(l=e.getCollection(n,r))?void 0:l.fields.values()).map(function(e){if(e.target&&e.interface&&!f.includes(e.name)){var n,r={type:"preloading",tag:t(null==(n=e.uiSchema)?void 0:n.title)||e.name},i=c?"".concat(c,".").concat(e.name):e.name;return{role:"button",title:a().createElement(Q,H(U({},r),{displayType:!0})),key:i,isLeaf:!1,field:e,children:o(e.target,{prefix:i,depth:d+1,maxDepth:u,exclude:f})}}}).filter(Boolean)};return{getEnableFieldTree:function(e){try{return r(e,{exclude:["id"].concat(J(W)),maxDepth:1})}catch(e){return console.error(e),[]}},getOnLoadData:function(e,t){return function(n){return new Promise(function(i){if(n.children.length)return n.children.forEach(function(n){X({node:n,traverseAssociations:o,traverseFields:r,systemKeys:W,dataSource:e,setDataSource:t})}),i(void 0);X({node:n,traverseAssociations:o,traverseFields:r,systemKeys:W,dataSource:e,setDataSource:t}),i(void 0)})}},getOnCheck:function(e){return function(t){e.value=t}}}},Z=function(e,t,n,r,o){var i,l,c=(new(z())({max:100}),function(r,o,i){var l=o.exclude,s=void 0===l?[]:l,d=o.depth,p=void 0===d?0:d,f=o.maxDepth,h=o.prefix,m=void 0===h?"":h,y=o.disabled,v=void 0!==y&&y;return p>f?[]:(e.getCollection(n,r)?J(e.getCollection(n,r).fields.values()):[]).map(function(e){if(!s.includes(e.name)&&e.interface&&!["sort","password","sequence"].includes(e.type)){var n,r={type:"duplicate",tag:t(null==(n=e.uiSchema)?void 0:n.title)||e.name},o=H(U({},r),{title:a().createElement(Q,r),key:m?"".concat(m,".").concat(e.name):e.name,isLeaf:!0,field:e,disabled:v}),l=i.find(function(e){return e.name===o.key});if(!["belongsTo","belongsToMany"].includes(e.type)||l&&(null==l?void 0:l.updateAssociation)){if(["hasOne","hasMany"].includes(e.type)||(null==l?void 0:l.updateAssociation)){var d=!1;!["hasOne","hasMany"].includes(e.type)||(null==l?void 0:l.updateAssociation)||(d=!0),o.disabled=!0,o.isLeaf=!1,o.children=c(e.target,{depth:p+1,maxDepth:f,prefix:o.key,exclude:["id"].concat(J(W)),disabled:d},i)}}else r.type="reference",o.type="reference",o.title=a().createElement(Q,H(U({},r),{type:"reference"})),o.isLeaf=!1,o.children=u(e.target,{depth:p+1,maxDepth:f,prefix:o.key,exclude:W});return o}}).filter(Boolean)}),u=(l=new(z())({max:100}),function(r,o){var i=o.prefix,c=o.maxDepth,s=o.depth,d=void 0===s?0:s,p=o.exclude,f=void 0===p?[]:p,h="".concat(r,"-").concat(f.join(","),"-").concat(d,"-").concat(c,"-").concat(i),m=l.get(h);if(m)return m;if(d>c)return[];var y=(e.getCollection(n,r)?J(e.getCollection(n,r).fields.values()):[]).map(function(e){if(e.target&&e.interface&&!f.includes(e.name)){var n,r,o={type:"preloading",tag:t(null==(n=e.uiSchema)?void 0:n.title)||e.name},l=i?"".concat(i,".").concat(e.name):e.name;return{type:"preloading",tag:t(null==(r=e.uiSchema)?void 0:r.title)||e.name,title:a().createElement(Q,o),key:l,isLeaf:!1,field:e,children:u(e.target,{prefix:l,depth:d+1,maxDepth:c,exclude:f})}}}).filter(Boolean);return l.set(h,y),y}),s=function(e,t){if(!e)return[];try{return c(e,{exclude:["id"].concat(J(W)),maxDepth:1,disabled:!1},t)}catch(e){return console.error(e),[]}};return{run:function(e){var t;return(t=function(){var t,n,i,l;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:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function a(i){return function(a){var c=[i,a];if(n)throw TypeError("Generator is already executing.");for(;l;)try{if(n=1,r&&(o=2&c[0]?r.return:c[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,c[1])).done)return o;switch(r=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return l.label++,{value:c[1],done:!1};case 5:l.label++,r=c[1],c=[0];continue;case 7:c=l.ops.pop(),l.trys.pop();continue;default:if(!(o=(o=l.trys).length>0&&o[o.length-1])&&(6===c[0]||2===c[0])){l=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){l.label=c[1];break}if(6===c[0]&&l.label<o[1]){l.label=o[1],o=c;break}if(o&&l.label<o[2]){l.label=o[2],l.ops.push(c);break}o[2]&&l.ops.pop(),l.trys.pop();continue}c=t.call(e,l)}catch(e){c=[6,e],r=0}finally{n=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}(this,function(a){return t=new Set([]),n=new Set([]),(i=function(e,r){e.mapSubModels(r,function(e){var r,o,l;e.collectionField&&!(["hasOne","hasMany"].includes(e.collectionField.type)||(null==(r=e.subModels.field)?void 0:r.updateAssociation))&&n.add(e.fieldPath),e.collectionField&&e.collectionField.isAssociationField()&&(t.add({name:e.fieldPath,updateAssociation:null==(o=e.subModels.field)?void 0:o.updateAssociation}),(null==(l=e.subModels.field)?void 0:l.updateAssociation)&&(e.subModels.field.subModels.grid?i(e.subModels.field.subModels.grid,"items"):e.subModels.field.subModels.subTableColumns?i(e.subModels.field,"subTableColumns"):e.subModels.field.subModels.columns&&i(e.subModels.field,"columns")))})})(e,"items"),l=s(r,J(t)),o&&o(l,J(n)),[2]})},function(){var e=this,n=arguments;return new Promise(function(r,o){var i=t.apply(e,n);function l(e){G(i,r,o,l,a,"next",e)}function a(e){G(i,r,o,l,a,"throw",e)}l(void 0)})})()}}},ee="action-duplicate";function et(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 en(e,t,n,r,o,i,l){try{var a=e[i](l),c=a.value}catch(e){n(e);return}a.done?t(c):Promise.resolve(c).then(r,o)}function er(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var i=e.apply(t,n);function l(e){en(i,r,o,l,a,"next",e)}function a(e){en(i,r,o,l,a,"throw",e)}l(void 0)})}}function eo(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ei(e){return(ei=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function el(e){for(var t=1;t<arguments.length;t++){var 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){eo(e,t,n[t])})}return e}function ea(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 ec(e,t){return(ec=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function eu(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,a=!1;try{for(o=o.call(e);!(l=(n=o.next()).done)&&(i.push(n.value),!t||i.length!==t);l=!0);}catch(e){a=!0,r=e}finally{try{l||null==o.return||o.return()}finally{if(a)throw r}}return i}}(e,t)||ed(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 es(e){return function(e){if(Array.isArray(e))return et(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||ed(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 ed(e,t){if(e){if("string"==typeof e)return et(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 et(e,t)}}function ep(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(ep=function(){return!!e})()}function ef(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:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function a(i){return function(a){var c=[i,a];if(n)throw TypeError("Generator is already executing.");for(;l;)try{if(n=1,r&&(o=2&c[0]?r.return:c[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,c[1])).done)return o;switch(r=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return l.label++,{value:c[1],done:!1};case 5:l.label++,r=c[1],c=[0];continue;case 7:c=l.ops.pop(),l.trys.pop();continue;default:if(!(o=(o=l.trys).length>0&&o[o.length-1])&&(6===c[0]||2===c[0])){l=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){l.label=c[1];break}if(6===c[0]&&l.label<o[1]){l.label=o[1],o=c;break}if(o&&l.label<o[2]){l.label=o[2],l.ops.push(c);break}o[2]&&l.ops.pop(),l.trys.pop();continue}c=t.call(e,l)}catch(e){c=[6,e],r=0}finally{n=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}var eh=(0,n.connect)(r.Tree,(0,n.mapProps)(function(e,t){var r=e.loadData;(0,l.useEffect)(function(){t.value=e.defaultCheckedKeys||[]},[]);var o=eu((0,l.useState)((null==e?void 0:e.treeData)||[]),2),i=o[0],a=o[1],c=eu((0,l.useState)(e.defaultCheckedKeys||[]),2),u=c[0],s=c[1],d=function(e){s(e),t.value=e};t.onCheck=d;var p=(0,n.useForm)();return(0,l.useEffect)(function(){var n=e.getEnableFieldTree(p.values.collection);a(n),t.dataSource=n},[p.values.collection]),(0,l.useEffect)(function(){a(t.dataSource)},[t.dataSource]),ea(el({},e),{checkedKeys:u,onCheck:d,loadData:r(i,a),treeData:i.map(function(e){if("quickDulicate"===p.values.duplicateMode){var t,n=null==e||null==(t=e.children)?void 0:t.map(function(e){return ea(el({},e),{disabled:!1})});return ea(el({},e),{disabled:!1,children:n})}return e})})}));function em(t){var n=t.options,r=(0,N.useFlowViewContext)(),o=(0,e.useRequest)(er(function(){return ef(this,function(e){switch(e.label){case 0:return[4,r.engine.loadOrCreateModel(n,{delegateToParent:!1,delegate:r})];case 1:return[2,e.sent()]}})}),{refreshDeps:[r,n]}),i=o.data;return!o.loading&&(null==i?void 0:i.uid)?a().createElement(N.FlowModelRenderer,{model:i,fallback:a().createElement(e.SkeletonFallback,{style:{margin:16}})}):a().createElement(e.SkeletonFallback,{style:{margin:16}})}function ey(e){var t=e.model,n=(0,N.useFlowContext)(),r=n.view,o=r.Header,i=r.type;t._closeView=n.view.close;var l=n.t("Duplicate record");return a().createElement("div",null,a().createElement(o,{title:"dialog"===i?a().createElement("div",{style:{padding:"".concat(n.themeToken.paddingLG,"px ").concat(n.themeToken.paddingLG,"px 0"),marginBottom:-n.themeToken.marginSM,backgroundColor:"var(--colorBgLayout)"}},l):l}),a().createElement(em,{options:{parentId:n.view.inputArgs.parentId,subKey:"deplicate.edit-form-grid-block",async:!0,delegateToParent:!1,subType:"object",use:"BlockGridModel"}}))}var ev=function(e){var t;if("function"!=typeof e&&null!==e)throw TypeError("Super expression must either be null or a function");function n(){var e,t,r;if(!(this instanceof n))throw TypeError("Cannot call a class as a function");return t=n,r=arguments,t=ei(t),eo(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,ep()?Reflect.construct(t,r||[],ei(this).constructor):t.apply(this,r)),"duplicateLoading",!1),eo(e,"defaultProps",{type:"link",title:(0,N.tExpr)("Duplicate"),duplicateFields:[]}),e}return n.prototype=Object.create(e&&e.prototype,{constructor:{value:n,writable:!0,configurable:!0}}),e&&ec(n,e),t=[{key:"getAclActionName",value:function(){return"create"}},{key:"onClick",value:function(e){"quickDulicate"===this.props.duplicateMode?this.dispatchEvent("quickCreateClick",el({event:e},this.getInputArgs()),{debounce:!0}):this.dispatchEvent("openDuplicatePopup",el({event:e},this.getInputArgs()),{debounce:!0})}},{key:"getTitle",value:function(){return this.duplicateLoading?this.context.t("Duplicating"):this.props.title||this.context.t("Duplicate")}}],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)}}(n.prototype,t),n}(e.ActionModel);function eb(e,t){return eg.apply(this,arguments)}function eg(){return(eg=er(function(e,t){var n,r;return ef(this,function(o){switch(o.label){case 0:if(!(null==t?void 0:t.dataId)||(null==(n=t.fields)?void 0:n.length)===0)return[2];return[4,e.runAction("get",{params:{filterByTk:t.dataId,fields:t.fields,isTemplate:!0}})];case 1:return[2,null==(r=o.sent())?void 0:r.data]}})})).apply(this,arguments)}function ex(e,t,n,r,o,i,l){try{var a=e[i](l),c=a.value}catch(e){n(e);return}a.done?t(c):Promise.resolve(c).then(r,o)}function ew(e,t,n){return(ew=eD()?Reflect.construct:function(e,t,n){var r=[null];r.push.apply(r,t);var o=new(Function.bind.apply(e,r));return n&&ek(o,n.prototype),o}).apply(null,arguments)}eo(ev,"scene",e.ActionSceneEnum.record),ev.define({label:(0,N.tExpr)("Duplicate"),sort:60}),ev.registerFlow({key:"duplicateModeSettings",steps:{duplicateMode:{title:(0,N.tExpr)("Duplicate mode",{ns:ee}),uiSchema:function(e){var t,r,i,l=e.t,c=(e.dataSourceManager.getDataSource("main").collectionManager.getAllCollectionsInheritChain(e.blockModel.collection.name)||[]).map(function(t){var n;return{label:null==(n=e.dataSourceManager.getDataSource("main").collectionManager.getCollection(t))?void 0:n.title,value:t}}),u=(0,o.cloneDeep)((null==(t=e.model.props)?void 0:t.duplicateFields)||[]),s=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&&s(o,t)}return t},d=Y(e.dataSourceManager,l,e.blockModel.collection.dataSourceKey),p=d.getEnableFieldTree,f=d.getOnLoadData,h=d.getOnCheck;return e.model.flowEngine.flowSettings.registerScopes({collectionName:(null==(r=e.record)?void 0:r.__collection)||e.blockModel.collection.name,currentCollection:(null==(i=e.record)?void 0:i.__collection)||e.blockModel.collection.name,getOnLoadData:f,getOnCheck:h,treeData:[],duplicateValues:u,onFieldInputValueChange:S.onFieldInputValueChange}),{duplicateMode:{"x-decorator":"FormItem","x-component":"Radio.Group",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:l("If collection inherits, choose inherited collections as templates"),"x-display":c.length>1?"visible":"hidden","x-decorator":"FormItem","x-component":"Select","x-component-props":{options:c},"x-reactions":[{dependencies:[".duplicateMode"],fulfill:{state:{disabled:'{{ $deps[0]==="quickDulicate" }}',value:'{{ $deps[0]==="quickDulicate"? currentCollection:collectionName }}'}}},function(t){if("quickDulicate"===t.form.values.duplicateMode){var n;t.form.setValuesIn("collection",(null==(n=e.record)?void 0:n.__collection)||e.blockModel.collection.name)}}]},syncFromForm:{type:"void",title:'{{ t("Sync from form fields") }}',"x-component":function(){var t,r,o,i,c=null==(r=(o=e.model).getStepParams)||null==(t=r.call(o,"popupSettings","openView"))?void 0:t.uid,u=(0,n.useForm)(),s=Z(e.dataSourceManager,e.t,e.blockModel.collection.dataSourceKey,(null==(i=e.record)?void 0:i.__collection)||e.blockModel.collection.name,function(t,n){u.query("duplicateFields").take(function(r){r.dataSource=t,r.componentProps.defaultCheckedKeys=n,r.setInitialValue(n),null==r||r.onCheck(n),e.message.success(l("Sync successfully"))})}).run;return a().createElement("a",{onClick:er(function(){var t,n,r;return ef(this,function(o){switch(o.label){case 0:if(!c)return[3,3];return[4,e.engine.loadModel({parentId:c,refresh:!0})];case 1:return t=o.sent(),[4,e.engine.loadModel({parentId:t.subModels.tabs[0].uid})];case 2:if(!(n=o.sent()))return[2];return s(n.subModels.items[0].subModels.grid),[3,5];case 3:return[4,e.engine.loadModel({parentId:e.model.uid,refresh:!0})];case 4:if(!(r=o.sent()))return[2];s(r.subModels.items[0].subModels.grid),o.label=5;case 5:return[2]}})}),style:{float:"right",position:"relative",zIndex:1200}},l("Sync from form fields"))},"x-reactions":[{dependencies:[".duplicateMode"],fulfill:{state:{visible:'{{ $deps[0]!=="quickDulicate" }}'}}}]},selectAll:{type:"void",title:'{{ t("Select all") }}',"x-component":function(){var e=(0,n.useForm)();return a().createElement("a",{onClick:function(){e.query("duplicateFields").take(function(e){var t,n=s(e.dataSource,[]);e.componentProps.defaultCheckedKeys=n,e.setInitialValue(n),null==e||null==(t=e.onCheck)||t.call(e,n)})},style:{float:"right",position:"relative",zIndex:1200}},l("Select all"))},"x-reactions":[{dependencies:[".duplicateMode"],fulfill:{state:{visible:'{{ $deps[0]==="quickDulicate"}}'}}}]},unselectAll:{type:"void",title:'{{ t("UnSelect all") }}',"x-component":function(){var e=(0,n.useForm)();return a().createElement("a",{style:{float:"right",position:"relative",zIndex:1200,marginRight:"10px"},onClick:function(){e.query("duplicateFields").take(function(e){e.componentProps.defaultCheckedKeys=[],e.setInitialValue([]),null==e||e.onCheck([])})}},l("UnSelect all"))},"x-reactions":[{dependencies:[".duplicateMode",".duplicateFields"],fulfill:{state:{visible:"{{ $deps[0]===\"quickDulicate\"&&$form.getValuesIn('duplicateFields').length>0 }}"}}}]},duplicateFields:{type:"array",title:'{{ t("Data fields") }}',required:!0,description:l("Only the selected fields will be used as the initialization data for the form"),"x-decorator":"FormItem","x-component":eh,"x-component-props":{defaultCheckedKeys:u,treeData:[],checkable:!0,checkStrictly:!0,selectable:!1,loadData:f,onCheck:"{{ getOnCheck($self) }}",getEnableFieldTree:p,rootStyle:{padding:"8px 0",border:"1px solid #d9d9d9",borderRadius:"2px",maxHeight:"30vh",overflow:"auto",margin:"2px 0"}},"x-reactions":[{dependencies:[".collection"],fulfill:{state:{disabled:"{{ !$deps[0] }}"}}}]}}},defaultParams:function(e){var t;return{duplicateMode:"quickDulicate",collection:(null==(t=e.record)?void 0:t.__collection)||e.blockModel.collection.name}},handler:function(e,t){return er(function(){var n,r,o,i,l;return ef(this,function(a){return n=t.duplicateMode,r=t.duplicateFields,o=t.collection,i=t.treeData,l=Array.isArray(r)?r:(null==r?void 0:r.checked)||[],e.model.setProps({duplicateMode:n,duplicateFields:l,duplicateCollection:o,treeData:i}),[2]})})()}}}}),ev.registerFlow({key:"duplicateSettings",title:(0,N.tExpr)("Duplicate mode settings"),on:"quickCreateClick",steps:{confirm:{use:"confirm",hideInSettings:function(e){var t,n,r;return"quickDulicate"!==(null==(n=(r=e.model).getStepParams)||null==(t=n.call(r,"duplicateModeSettings","duplicateMode"))?void 0:t.duplicateMode)},defaultParams:{enable:!1,title:(0,N.tExpr)("Duplicate record"),content:(0,N.tExpr)("Are you sure you want to duplicate it?")}},duplicate:{handler:function(e,t){return er(function(){var n,r,o,i,l,a,c,u;return ef(this,function(s){switch(s.label){case 0:if(!(null==(o=void 0===(r=e.model.props.duplicateFields)?[]:r)?void 0:o.length))return e.message.error(e.t("Please configure the duplicate fields in duplicate mode configuration",{ns:ee})),[2];if(e.model.duplicateLoading)return[2];return e.model.duplicateLoading=!0,e.model.rerender(),i=e.blockModel.collection.filterTargetKey,l={dataId:Array.isArray(e.blockModel.collection.filterTargetKey)?(n=Object).assign.apply(n,[{}].concat(es(i.map(function(t){return eo({},t,e.record[t])})))):e.record[i]||e.record.id,default:!0,fields:(null==o?void 0:o.filter(function(t){return es(e.collection.fields.values()).find(function(e){return t.includes(e.name)})}))||[]},a=e.createResource(N.MultiRecordResource),c=e.blockModel.collection.dataSourceKey,a.setDataSourceKey(c),a.setResourceName(e.record.__collection||e.blockModel.collection.name),[4,eb(a,l)];case 1:return u=s.sent(),[4,e.blockModel.resource.create(el({},u),t.requestConfig)];case 2:return s.sent(),e.message.success(e.t("Saved successfully")),e.model.duplicateLoading=!1,e.model.rerender(),[2]}})})()}}}}),ev.registerFlow({key:"popupSettings",on:{eventName:"openDuplicatePopup"},sort:300,steps:{confirm:{use:"confirm",hideInSettings:function(e){var t,n,r;return"quickDulicate"===(null==(n=(r=e.model).getStepParams)||null==(t=n.call(r,"duplicateModeSettings","duplicateMode"))?void 0:t.duplicateMode)},defaultParams:{enable:!1,title:(0,N.tExpr)("Duplicate record"),content:(0,N.tExpr)("Are you sure you want to duplicate it?")}},openView:{title:(0,N.tExpr)("Edit popup"),hideInSettings:function(e){var t,n,r;return"quickDulicate"===(null==(n=(r=e.model).getStepParams)||null==(t=n.call(r,"duplicateModeSettings","duplicateMode"))?void 0:t.duplicateMode)},use:"openView",defaultParams:{mode:"drawer",size:"medium"},handler:function(e,t){return er(function(){var n,r,o,i,l,c,u,s,d,p,f,h,m,y,v,b,g,x,w,O;return ef(this,function(k){switch(k.label){case 0:return[4,e.model.dispatchEvent("beforeRender")];case 1:if(k.sent(),!(null==(l=void 0===(i=e.model.props.duplicateFields)?[]:i)?void 0:l.length))return e.message.error(e.t("Please configure the duplicate fields in duplicate mode configuration",{ns:ee})),[2];return c={drawer:{small:"30%",medium:"50%",large:"70%"},dialog:{small:"40%",medium:"50%",large:"80%"},embed:{}},u=(null==(r=e.inputArgs)?void 0:r.mode)||(null==t?void 0:t.mode)||"drawer",s=(null==(o=e.inputArgs)?void 0:o.size)||(null==t?void 0:t.size)||"medium",d=e.blockModel.collection.filterTargetKey,p={dataId:Array.isArray(e.blockModel.collection.filterTargetKey)?(n=Object).assign.apply(n,[{}].concat(es(d.map(function(t){return eo({},t,e.record[t])})))):e.record[d]||e.record.id,default:!0,fields:(null==l?void 0:l.filter(function(t){return es(e.collection.fields.values()).find(function(e){return t.includes(e.name)})}))||[]},f=e.createResource(N.MultiRecordResource),h=e.blockModel.collection.dataSourceKey,f.setDataSourceKey(h),f.setResourceName(e.record.__collection||e.blockModel.collection.name),[4,eb(f,p)];case 2:if(m=k.sent(),y="string"==typeof(null==t?void 0:t.popupTemplateUid)?t.popupTemplateUid.trim():"",v="string"==typeof(null==t?void 0:t.uid)?t.uid.trim():"",b=!!y||!!v&&v!==e.model.uid,g=(null==t?void 0:t.viewUid)||e.blockModel.uid,x=(null==t?void 0:t.dataSourceKey)||e.blockModel.collection.dataSourceKey,w=(null==t?void 0:t.collectionName)||e.record.__collection||e.blockModel.collection.name,!b)return[3,4];return O=ea(el({},t||{}),{navigation:!1,scene:"new",formData:m,viewUid:g,dataSourceKey:x,collectionName:w}),v&&(O.uid=v),[4,e.runAction("openView",O)];case 3:return k.sent(),[2];case 4:return e.viewer.open({type:u,width:c[u][s],inheritContext:!1,target:e.layoutContentElement,inputArgs:{parentId:e.model.uid,scene:"new",dataSourceKey:x,collectionName:w,formData:m,viewUid:g},content:function(){return a().createElement(ey,{model:e.model})},styles:{content:el({padding:0,backgroundColor:e.model.flowEngine.context.themeToken.colorBgLayout},"embed"===u?{position:"absolute",top:0,left:0,right:0,bottom:0}:{}),body:{padding:0}}}),[2]}})})()}}}});function eO(e){return(eO=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 eS(e){var t="function"==typeof Map?new Map:void 0;return(eS=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 ew(e,arguments,eO(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),ek(n,e)})(e)}function eD(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(eD=function(){return!!e})()}var eP=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=eO(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,eD()?Reflect.construct(e,t||[],eO(this).constructor):e.apply(this,t))}return r.prototype=Object.create(t&&t.prototype,{constructor:{value:r,writable:!0,configurable:!0}}),t&&ek(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:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function a(i){return function(a){var c=[i,a];if(n)throw TypeError("Generator is already executing.");for(;l;)try{if(n=1,r&&(o=2&c[0]?r.return:c[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,c[1])).done)return o;switch(r=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return l.label++,{value:c[1],done:!1};case 5:l.label++,r=c[1],c=[0];continue;case 7:c=l.ops.pop(),l.trys.pop();continue;default:if(!(o=(o=l.trys).length>0&&o[o.length-1])&&(6===c[0]||2===c[0])){l=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){l.label=c[1];break}if(6===c[0]&&l.label<o[1]){l.label=o[1],o=c;break}if(o&&l.label<o[2]){l.label=o[2],l.ops.push(c);break}o[2]&&l.ops.pop(),l.trys.pop();continue}c=t.call(e,l)}catch(e){c=[6,e],r=0}finally{n=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}(this,function(r){return n.app.use(B),n.app.addComponents({DuplicateActionInitializer:K,DuplicateAction:k,DuplicateActionDecorator:L}),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),n.app.flowEngine.registerModels({DuplicateActionModel:ev}),[2]})},function(){var e=this,n=arguments;return new Promise(function(r,o){var i=t.apply(e,n);function l(e){ex(i,r,o,l,a,"next",e)}function a(e){ex(i,r,o,l,a,"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}(eS(e.Plugin)),eA=eP}(),p}()});
@@ -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-duplicate";
10
+ export declare function lang(key: string): string;
11
+ export declare function generateNTemplate(key: string): string;
12
+ export declare function useBulkEditTranslation(): import("react-i18next").UseTranslationResponse<"action-duplicate", undefined>;
@@ -0,0 +1,18 @@
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';
10
+ export declare class DuplicateActionModel extends ActionModel {
11
+ props: any;
12
+ static scene: import("@nocobase/client").ActionSceneType;
13
+ duplicateLoading: boolean;
14
+ defaultProps: any;
15
+ getAclActionName(): string;
16
+ onClick(event: any): void;
17
+ getTitle(): any;
18
+ }
@@ -0,0 +1,25 @@
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 React from 'react';
10
+ export declare const getCollectionState: (dm: any, t: any, dataSourceKey: any, displayType?: boolean) => {
11
+ getEnableFieldTree: (collectionName: string) => {
12
+ role: string;
13
+ title: React.FunctionComponentElement<any>;
14
+ key: any;
15
+ isLeaf: boolean;
16
+ field: any;
17
+ type: string;
18
+ tag: any;
19
+ }[];
20
+ getOnLoadData: (dataSource: any, setDataSource: any) => (node: any) => Promise<unknown>;
21
+ getOnCheck: (fields: any) => (checkedKeys: any) => void;
22
+ };
23
+ export declare const getSyncFromForm: (dm: any, t: any, dataSourceKey: any, collectionName: any, callBack: any) => {
24
+ run(model: any): Promise<void>;
25
+ };
@@ -10,12 +10,14 @@
10
10
  module.exports = {
11
11
  "@formily/core": "2.3.7",
12
12
  "@formily/react": "2.3.7",
13
- "@nocobase/client": "2.0.0-alpha.7",
13
+ "@nocobase/client": "2.0.0-alpha.71",
14
14
  "antd": "5.24.2",
15
15
  "lodash": "4.17.21",
16
16
  "react": "18.2.0",
17
17
  "react-i18next": "11.18.6",
18
18
  "@emotion/css": "11.13.0",
19
- "@nocobase/server": "2.0.0-alpha.7",
20
- "@nocobase/test": "2.0.0-alpha.7"
19
+ "@nocobase/server": "2.0.0-alpha.71",
20
+ "@nocobase/test": "2.0.0-alpha.71",
21
+ "@nocobase/flow-engine": "2.0.0-alpha.71",
22
+ "@formily/antd-v5": "1.2.3"
21
23
  };
@@ -0,0 +1,3 @@
1
+ {
2
+ "Please configure the duplicate fields in duplicate mode": "Please configure the duplicate fields in duplicate mode configuration"
3
+ }
@@ -0,0 +1,5 @@
1
+ {
2
+ "Bulk edit": "Bulk edit",
3
+ "Data will be updated": "Data will be updated",
4
+ "Entire collection": "Entire collection"
5
+ }
@@ -0,0 +1,3 @@
1
+ {
2
+ "Please configure the duplicate fields in duplicate mode configuration": "Please configure the duplicate fields in duplicate mode configuration"
3
+ }
@@ -0,0 +1,5 @@
1
+ {
2
+ "Bulk edit": "Bulk edit",
3
+ "Data will be updated": "Data will be updated",
4
+ "Entire collection": "Entire collection"
5
+ }
@@ -0,0 +1,3 @@
1
+ {
2
+ "Please configure the duplicate fields in duplicate mode configuration": "Please configure the duplicate fields in duplicate mode configuration"
3
+ }
@@ -0,0 +1,5 @@
1
+ {
2
+ "Bulk edit": "Edit massal",
3
+ "Data will be updated": "Data akan diperbarui",
4
+ "Entire collection": "Seluruh koleksi"
5
+ }
@@ -0,0 +1,5 @@
1
+ {
2
+ "Bulk edit": "Modifica di massa",
3
+ "Data will be updated": "I dati saranno aggiornati",
4
+ "Entire collection": "Raccolta intera"
5
+ }
@@ -0,0 +1,5 @@
1
+ {
2
+ "Bulk edit": "一括編集",
3
+ "Data will be updated": "データが更新されます",
4
+ "Entire collection": "全コレクション"
5
+ }
@@ -0,0 +1,5 @@
1
+ {
2
+ "Bulk edit": "일괄 편집",
3
+ "Data will be updated": "데이터가 업데이트됩니다",
4
+ "Entire collection": "전체 컬렉션"
5
+ }
@@ -0,0 +1,5 @@
1
+ {
2
+ "Bulk edit": "Bewerken in bulk",
3
+ "Data will be updated": "Gegevens worden bijgewerkt",
4
+ "Entire collection": "Gehele collectie"
5
+ }
@@ -0,0 +1,5 @@
1
+ {
2
+ "Bulk edit": "Edição em massa",
3
+ "Data will be updated": "Os dados serão atualizados",
4
+ "Entire collection": "Entire collection"
5
+ }
@@ -0,0 +1,5 @@
1
+ {
2
+ "Bulk edit": "Массовое редактирование",
3
+ "Data will be updated": "Данные будут обновлены",
4
+ "Entire collection": "Вся коллекция"
5
+ }
@@ -0,0 +1,5 @@
1
+ {
2
+ "Bulk edit": "Bulk edit",
3
+ "Data will be updated": "Data will be updated",
4
+ "Entire collection": "Entire collection"
5
+ }
@@ -0,0 +1,5 @@
1
+ {
2
+ "Bulk edit": "Bulk edit",
3
+ "Data will be updated": "Data will be updated",
4
+ "Entire collection": "Entire collection"
5
+ }
@@ -0,0 +1,5 @@
1
+ {
2
+ "Bulk edit": "Bulk edit",
3
+ "Data will be updated": "Data will be updated",
4
+ "Entire collection": "Entire collection"
5
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "Please configure the duplicate fields in duplicate mode configuration": "请在复制模式中配置复制字段",
3
+ "Duplicate mode": "复制模式"
4
+ }
@@ -0,0 +1,3 @@
1
+ {
2
+ "Please configure the duplicate fields in duplicate mode configuration": "请在复制模式配置中配置复制字段"
3
+ }
package/package.json CHANGED
@@ -1,20 +1,23 @@
1
1
  {
2
2
  "name": "@nocobase/plugin-action-duplicate",
3
- "version": "2.0.0-alpha.7",
3
+ "version": "2.0.0-alpha.71",
4
4
  "main": "dist/server/index.js",
5
5
  "homepage": "https://docs.nocobase.com/handbook/action-duplicate",
6
+ "homepage.ru-RU": "https://docs.nocobase.ru/handbook/action-duplicate",
6
7
  "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/action-duplicate",
7
8
  "displayName": "Action: Duplicate record",
9
+ "displayName.ru-RU": "Действие: Дублирование записи",
8
10
  "displayName.zh-CN": "操作:复制记录",
9
11
  "description": "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
12
  "description.zh-CN": "复制一条记录,可以复制到表单中编辑后再提交,也可以直接复制并生成一条新记录。",
13
+ "description.ru-RU": "Дублирование записи: можно скопировать запись в форму для редактирования перед сохранением или сразу создать новую запись-дубликат.",
11
14
  "license": "AGPL-3.0",
12
15
  "peerDependencies": {
13
16
  "@nocobase/client": "2.x",
14
17
  "@nocobase/server": "2.x",
15
18
  "@nocobase/test": "2.x"
16
19
  },
17
- "gitHead": "cb012f93256f534472d3ae56e075839ca1675779",
20
+ "gitHead": "b6fc484eb698fa12fba02dd468a04e39079b1e79",
18
21
  "keywords": [
19
22
  "Actions"
20
23
  ]