@nocobase/plugin-data-source-manager 1.0.0-alpha.12 → 1.0.0-alpha.13

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,17 +7,17 @@
7
7
  * For more information, please refer to: https://www.nocobase.com/agreement.
8
8
  */
9
9
 
10
- (function(M,a){typeof exports=="object"&&typeof module!="undefined"?a(exports,require("react/jsx-runtime"),require("@nocobase/client"),require("react"),require("@formily/react"),require("antd"),require("react-i18next"),require("@ant-design/icons"),require("react-router-dom"),require("@formily/shared"),require("@formily/reactive"),require("@formily/core"),require("@formily/antd-v5"),require("lodash"),require("@dnd-kit/core"),require("@emotion/css"),require("antd-style")):typeof define=="function"&&define.amd?define(["exports","react/jsx-runtime","@nocobase/client","react","@formily/react","antd","react-i18next","@ant-design/icons","react-router-dom","@formily/shared","@formily/reactive","@formily/core","@formily/antd-v5","lodash","@dnd-kit/core","@emotion/css","antd-style"],a):(M=typeof globalThis!="undefined"?globalThis:M||self,a(M["@nocobase/plugin-data-source-manager"]={},M.jsxRuntime,M["@nocobase/client"],M.react,M["@formily/react"],M.antd,M["react-i18next"],M["@ant-design/icons"],M["react-router-dom"],M["@formily/shared"],M["@formily/reactive"],M["@formily/core"],M["@formily/antd-v5"],M.lodash,M["@dnd-kit/core"],M["@emotion/css"],M["antd-style"]))})(this,function(M,a,r,d,w,S,B,Q,G,V,pt,ye,ae,Y,W,fe,Yo){"use strict";var Gf=Object.defineProperty,Uf=Object.defineProperties;var zf=Object.getOwnPropertyDescriptors;var Ke=Object.getOwnPropertySymbols;var Ho=Object.prototype.hasOwnProperty,Wo=Object.prototype.propertyIsEnumerable;var lt=(M,a,r)=>a in M?Gf(M,a,{enumerable:!0,configurable:!0,writable:!0,value:r}):M[a]=r,T=(M,a)=>{for(var r in a||(a={}))Ho.call(a,r)&&lt(M,r,a[r]);if(Ke)for(var r of Ke(a))Wo.call(a,r)&&lt(M,r,a[r]);return M},N=(M,a)=>Uf(M,zf(a));var ut=(M,a)=>{var r={};for(var d in M)Ho.call(M,d)&&a.indexOf(d)<0&&(r[d]=M[d]);if(M!=null&&Ke)for(var d of Ke(M))a.indexOf(d)<0&&Wo.call(M,d)&&(r[d]=M[d]);return r};var Qo=(M,a,r)=>(lt(M,typeof a!="symbol"?a+"":a,r),r);var _=(M,a,r)=>new Promise((d,w)=>{var S=G=>{try{Q(r.next(G))}catch(V){w(V)}},B=G=>{try{Q(r.throw(G))}catch(V){w(V)}},Q=G=>G.done?d(G.value):Promise.resolve(G.value).then(S,B);Q((r=r.apply(M,a)).next())});const K="data-source-manager";function Jo(e,t={}){return r.i18n.t(e,N(T({},t),{ns:K}))}const Zo=e=>{const t=w.useForm(),o=r.useActionContext(),n=r.useAPIClient(),{t:s}=B.useTranslation(),i=w.useField();return i.data=i.data||{},{run(){return _(this,null,function*(){yield t.submit();try{i.data.loading=!0;const{data:l}=yield n.resource("databaseServers").create({values:T({},t.values)});i.data.loading=!1,o.setVisible(!1),yield t.reset(),e==null||e(l==null?void 0:l.data),S.message.success(s("Saved successfully"))}catch(l){i.data.loading=!1,console.log(l)}})}}},dt=()=>{const e=w.useForm(),t=r.useAPIClient(),{t:o}=B.useTranslation(),n=w.useField();return n.data=n.data||{},{run(){return _(this,null,function*(){yield e.submit();try{n.data.loading=!0,yield t.resource("dataSources").testConnection({values:T({},e.values)}),n.data.loading=!1,S.message.success(o("Connection successful",{ns:K}))}catch(i){n.data.loading=!1,console.log(i)}})}}},Xo=Object.freeze(Object.defineProperty({__proto__:null,useCreateDatabaseServer:Zo,useTestConnectionAction:dt},Symbol.toStringTag,{value:"Module"})),Ae=d.createContext(null);Ae.displayName="DataSourceContext";const Ro=e=>{const[t,o]=d.useState(null);return a.jsx(Ae.Provider,{value:{dataSource:t,setDataSource:o},children:a.jsx(r.SchemaComponentOptions,{scope:Xo,components:{},children:e.children})})};class mt extends r.DataSource{getDataSource(){return _(this,null,function*(){return(yield this.app.apiClient.request({url:`dataSources:get/${this.key}`,params:{appends:["collections"]}})).data.data})}}const yt=[{value:"loading",label:`{{t("Loading",{ns:"${K}"})}}`,color:"orange"},{value:"loading-failed",label:`{{t("Failed",{ns:"${K}"})}}`,color:"red"},{value:"loaded",label:`{{t("Loaded",{ns:"${K}"})}}`,color:"green"},{value:"reloading",label:`{{t("Reloading",{ns:"${K}"})}}`,color:"orange"}],ft={name:"collections-"+V.uid(),fields:[{type:"string",name:"key",interface:"input",uiSchema:{title:`{{t("Data source name",{ ns: "${K}" })}}`,type:"string","x-component":"Input",required:!0}},{type:"string",name:"displayName",interface:"input",uiSchema:{title:`{{t("Data source display name",{ ns: "${K}" })}}`,type:"string","x-component":"Input",required:!0}},{type:"string",name:"type",interface:"select",uiSchema:{title:`{{t("Type", { ns: "${K}" })}}`,type:"string","x-component":"Select",enum:"{{types}}"}},{type:"string",name:"status",interface:"select",uiSchema:{title:`{{t("Status", { ns: "${K}" })}}`,type:"string","x-component":"Select",enum:yt}},{type:"boolean",name:"enabled",uiSchema:{type:"boolean",title:'{{t("Enabled")}}',"x-component":"Checkbox"}}]},en={type:"object",properties:{[V.uid()]:{type:"void","x-decorator":"ResourceActionProvider","x-decorator-props":{collection:ft,resourceName:"dataSources",request:{resource:"dataSources",action:"list",params:{pageSize:50,appends:[]}}},"x-component":"CollectionProvider_deprecated","x-component-props":{collection:ft},properties:{actions:{type:"void","x-component":"ActionBar","x-component-props":{style:{marginBottom:16}},properties:{refresh:{type:"void",title:'{{ t("Refresh") }}',"x-component":"Action","x-use-component-props":"useRefreshActionProps","x-component-props":{icon:"ReloadOutlined"}},delete:{type:"void",title:'{{ t("Delete") }}',"x-component":"Action","x-component-props":{icon:"DeleteOutlined",useAction:"{{ cm.useBulkDestroyAction }}",confirm:{title:"{{t('Delete')}}",content:"{{t('Are you sure you want to delete it?')}}"},actionCallback:"{{ dataSourceDeleteCallback }}"}},create:{type:"void",title:'{{t("Add new")}}',"x-component":"CreateDatabaseConnectAction","x-component-props":{type:"primary"}}}},table:{type:"void","x-uid":"input","x-component":"Table.Void","x-component-props":{rowKey:"key",rowSelection:{type:"checkbox"},useDataSource:"{{ cm.useDataSourceFromRAC }}"},properties:{key:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",properties:{key:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}},displayName:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",properties:{displayName:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}},type:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",properties:{type:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}},status:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",properties:{status:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}},enabled:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",properties:{enabled:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}},actions:{type:"void",title:'{{t("Actions")}}',"x-component":"Table.Column",properties:{actions:{type:"void","x-component":"Space","x-component-props":{},properties:{view:{type:"void",title:'{{t("View")}}',"x-component":"ViewDatabaseConnectionAction","x-component-props":{type:"primary"}},update:{type:"void",title:'{{t("Edit")}}',"x-component":"EditDatabaseConnectionAction","x-component-props":{type:"primary"},"x-reactions":["{{useIsAbleDelete($self)}}"]},delete:{type:"void",title:'{{ t("Delete") }}',"x-component":"Action.Link","x-component-props":{confirm:{title:'{{t("Delete")}}',content:'{{t("Are you sure you want to delete it?")}}'},useAction:"{{useDestroyAction}}"},"x-reactions":["{{useIsAbleDelete($self)}}"]}}}}}}}}}}},gt=()=>{const e=r.useApp(),{name:t}=G.useParams(),o=r.useCompile(),n=r.useDataSourceManager(),{displayName:s}=n.getDataSource(t)||{},{dataSource:i}=d.useContext(Ae),c=d.useMemo(()=>i||n.getDataSource(t),[i,t]),l=d.useMemo(()=>{const p=c==null?void 0:c.status,u=yt.find(m=>m.value===p),y=[{title:a.jsx(G.Link,{to:e.pluginSettingsManager.getRoutePath(K),children:Jo("Data source manager")})}];return c&&y.push({title:a.jsxs(S.Space,{children:[a.jsx("span",{children:o(s)}),p&&a.jsx(S.Tag,{color:u==null?void 0:u.color,children:o(u==null?void 0:u.label)},p)]})}),y},[c]);return a.jsx(S.Breadcrumb,{separator:a.jsx(Q.RightOutlined,{}),items:l})},ht=e=>w.Schema.compile(e,{t:r.i18n.t}),tn={name:"database-"+V.uid(),filterTargetKey:"name",targetKey:"name",sortable:!0,fields:[{type:"integer",name:"title",interface:"input",uiSchema:{title:'{{ t("Collection display name") }}',type:"number","x-component":"Input",required:!0}},{type:"string",name:"name",interface:"input",uiSchema:{title:'{{ t("Collection name") }}',type:"string","x-component":"CollectionName",description:'{{t("Randomly generated and can be modified. Support letters, numbers and underscores, must start with an letter.")}}'}},{type:"hasMany",name:"fields",target:"fields",collectionName:"collections",sourceKey:"name",targetKey:"name",uiSchema:{}},{type:"hasMany",name:"inherits",interface:"select",uiSchema:{title:'{{ t("Inherits") }}',type:"string","x-component":"Select","x-component-props":{mode:"multiple"}}},{type:"string",name:"description",interface:"input",uiSchema:{title:'{{ t("Description") }}',type:"string","x-component":"Input"}}]},on=e=>({type:"object",properties:{[V.uid()]:{type:"void","x-collection":"dataSources","x-decorator":"ResourceActionProvider","x-decorator-props":{collection:tn,dragSort:!1,request:{url:`dataSources/${e}/collections:list`,params:{pageSize:50,sort:"sort",filter:{"hidden.$isFalsy":!0},appends:["category"]}}},properties:{tabs:{type:"void","x-component":"ConfigurationTabs"}}}}}),Ne={type:"object",properties:{[V.uid()]:{type:"void","x-component":"ActionBar","x-component-props":{style:{marginBottom:16}},properties:{filter:{type:"void",title:'{{ t("Filter") }}',default:{$and:[{title:{$includes:""}},{name:{$includes:""}}]},"x-action":"filter","x-component":"Filter.Action","x-use-component-props":"cm.useFilterActionProps","x-component-props":{icon:"FilterOutlined"},"x-align":"left"},refresh:{type:"void",title:'{{ t("Refresh") }}',"x-component":"Action","x-use-component-props":"useRefreshActionProps","x-component-props":{icon:"ReloadOutlined"}},delete:{type:"void",title:'{{ t("Delete") }}',"x-component":"DeleteCollection","x-component-props":{role:"button",isBulk:!0},"x-visible":!1},create:{type:"void",title:'{{ t("Create collection") }}',"x-component":"AddCollection","x-component-props":{type:"primary"},"x-visible":!1}}},[V.uid()]:{type:"void","x-uid":"input","x-component":"Table.Void","x-component-props":{rowKey:"name",rowSelection:{type:"checkbox"},useDataSource:"{{cm.useDataSourceFromRAC }}",useAction(){const e=r.useAPIClient(),{t}=B.useTranslation();return{move(n,s){return _(this,null,function*(){yield e.resource("dataSources").move({sourceId:n.key,targetId:s.key}),S.message.success(t("Saved successfully"),.2)})}}}},properties:{column1:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",properties:{title:{"x-component":"CollectionField","x-read-pretty":!0}}},column2:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",properties:{name:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}},column5:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",properties:{description:{"x-component":"CollectionField","x-read-pretty":!0,"x-component-props":{ellipsis:!0}}}},column6:{type:"void",title:'{{ t("Actions") }}',"x-component":"Table.Column",properties:{actions:{type:"void","x-component":"Space","x-component-props":{split:"|"},properties:{view:{type:"void",title:'{{ t("Configure fields") }}',"x-component":"Action.Link","x-component-props":{},properties:{drawer:{type:"void","x-component":"Action.Drawer","x-component-props":{destroyOnClose:!0,width:"70%"},"x-reactions":e=>{const t=e.path.segments[1],o=e.path.segments[0],n=e.form.getValuesIn(`${o}.${t}`);n&&(e.title=`${ht(n.title||n.name)} - ${ht('{{ t("Configure fields") }}')}`)},properties:{collectionFields:{type:"void","x-component":"CollectionFields"}}}}},update:{type:"void",title:'{{ t("Edit") }}',"x-component":"EditCollection","x-component-props":{role:"button","aria-label":'{{ "edit-button-" + $record.name }}',type:"primary"}},delete:{type:"void",title:'{{ t("Delete") }}',"x-visible":!1,"x-component":"DeleteCollection","x-component-props":{role:"button","aria-label":'{{ "delete-button-" + $record.name }}',type:"primary",className:"nb-action-link"}}}}}}}}}},nn={name:"fields",fields:[{type:"string",name:"type",interface:"input",uiSchema:{title:'{{ t("Storage type") }}',type:"string","x-component":"Select",enum:[{label:"String",value:"string"}],required:!0}},{type:"string",name:"interface",interface:"input",uiSchema:{title:`{{t("Field interface", { ns: "${K}" })}}`,type:"string","x-component":"Select",enum:"{{interfaces}}"}},{type:"string",name:"title",interface:"input",uiSchema:{title:'{{ t("Field display name") }}',type:"string","x-component":"Input",required:!0}},{type:"string",name:"name",interface:"input",uiSchema:{title:'{{ t("Field name") }}',type:"string","x-component":"Input"}},{type:"string",name:"description",interface:"input",uiSchema:{title:'{{ t("Description") }}',type:"string","x-component":"Input.TextArea"}}]},rn={type:"object",properties:{[V.uid()]:{type:"void","x-component":"ActionBar","x-component-props":{style:{marginBottom:16}},properties:{delete:{type:"void",title:'{{ t("Delete") }}',"x-component":"Action","x-visible":!1,"x-component-props":{useAction:"{{ useBulkDestroyActionAndRefreshCM }}",confirm:{title:"{{t('Delete record')}}",content:"{{t('Are you sure you want to delete it?')}}"}}},syncfromDatabase:{type:"void",title:'{{ t("Sync from database") }}',"x-component":"SyncFieldsAction","x-component-props":{type:"primary"}},syncSQL:{type:"void",title:'{{ t("Sync from database") }}',"x-component":"SyncSQLFieldsAction","x-component-props":{type:"primary"}},create:{type:"void",title:'{{ t("Add new") }}',"x-component":"AddCollectionField","x-component-props":{type:"primary"}}}},[V.uid()]:{type:"void","x-uid":"input","x-component":"Table.Void","x-component-props":{pagination:!1,rowKey:"name",rowSelection:{type:"checkbox"},dragSort:!1,useDataSource:"{{ useDataSource }}"},properties:{column1:{type:"void",title:'{{ t("Field display name") }}',"x-component":"Table.Column",properties:{"uiSchema.title":{type:"string","x-component":"FieldTitleInput","x-component-props":{handleFieldChange:"{{enqueueChange}}"}}}},column2:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",properties:{name:{"x-component":"CollectionField","x-read-pretty":!0}}},column3:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",title:'{{t("Field type")}}',properties:{type:{"x-component":"FieldType","x-component-props":{handleFieldChange:"{{enqueueChange}}"}}}},column4:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",title:`{{t("Field interface", { ns: "${K}" })}}`,properties:{interface:{"x-component":"CollectionFieldInterfaceSelect","x-component-props":{handleFieldChange:"{{enqueueChange}}"}}}},column5:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",title:'{{t("Title field")}}',properties:{titleField:{"x-component":"TitleField","x-use-component-props":"useTitleFieldProps","x-read-pretty":!1}}},column6:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",title:'{{ t("Description") }}',properties:{description:{"x-component":"CollectionField","x-read-pretty":!0,"x-component-props":{ellipsis:!0,style:{width:100}}}}},column7:{type:"void",title:'{{ t("Actions") }}',"x-component":"Table.Column",properties:{actions:{type:"void","x-component":"Space","x-component-props":{split:"|"},properties:{update:{type:"void",title:'{{ t("Edit") }}',"x-component":"EditCollectionField","x-component-props":{role:"button","aria-label":'{{ "edit-button-" + $record.name }}',type:"primary"}},delete:{type:"void",title:'{{ t("Delete") }}',"x-disabled":"{{cm.useDeleteButtonDisabled()}}","x-component":"Action.Link","x-component-props":{confirm:{title:"{{t('Delete record')}}",content:"{{t('Are you sure you want to delete it?')}}"},useAction:"{{ useDestroyActionAndRefreshCM }}"},"x-reactions":[{dependencies:[".interface"],fulfill:{state:{visible:"{{ ['obo','oho','m2m','o2m','m2o'].includes($deps[0]) }}"}}}]}}}}}}}}},an=r.withDynamicSchemaProps(e=>{const{t}=B.useTranslation(),{isTitleField:o}=r.useCollectionManager_deprecated(),[n,s]=d.useState(null),{setTitleField:i,filterByTk:c,dataSourceKey:l}=r.useProps(e),p=r.useRecord(),u=r.useAPIClient(),{refreshRM:y,titleField:m}=it(),b=P=>_(this,null,function*(){s(p),yield u.request({url:`dataSources/${l}/collections:update?filterByTk=${c}`,method:"post",data:{titleField:P?p.name:"id"}}),S.message.success(t("Saved successfully")),y(),i(P?p.name:"id"),s(null)});return o(p)?a.jsx(S.Tooltip,{title:t("Default title for each record"),placement:"right",overlayInnerStyle:{textAlign:"center"},children:a.jsx(S.Switch,{"aria-label":`switch-title-field-${p==null?void 0:p.name}`,size:"small",loading:(p==null?void 0:p.name)===(n==null?void 0:n.name),checked:(p==null?void 0:p.name)===(m||"id"),onChange:b})}):null},{displayName:"TitleField"}),Ct=(e,t)=>{const o=[];return e.forEach(n=>{const s=n.children.filter(i=>{var c;return(c=i==null?void 0:i.availableTypes)==null?void 0:c.includes(t)});o.push({label:n.label,key:n.key,children:s})}),o.filter(n=>t==="sort"?n.key==="advanced":n.children.length>0)},sn=(e,t)=>t==null?void 0:t.some(o=>{var n,s;return(s=(n=o.children)==null?void 0:n.some)==null?void 0:s.call(n,i=>i.name===e)}),cn=w.observer(e=>{var P;const{value:t,handleFieldChange:o}=e,{data:n}=r.useCollectionRecord(),{getInterface:s}=r.useCollectionManager_deprecated(),i=r.useCompile(),c=r.useFieldInterfaceOptions(),l=Ct(c,n.type),[p,u]=d.useState(t),[y,m]=d.useState(l),b=n.type;return d.useEffect(()=>{var A,C,v,f,g,h,x,F,E,k,D,j;if(y.length===1&&((C=(A=y[0])==null?void 0:A.children)==null?void 0:C.length)===1){const $=(g=(f=(v=y[0])==null?void 0:v.children)==null?void 0:f[0])==null?void 0:g.name;if($!==p){const O=s($);o({interface:$,uiSchema:T({title:(h=n==null?void 0:n.uiSchema)==null?void 0:h.title},(x=O==null?void 0:O.default)==null?void 0:x.uiSchema)},n.name,!1),u($)}}else if(p&&!sn(p,y)){const $=(k=(E=(F=y[0])==null?void 0:F.children)==null?void 0:E[0])==null?void 0:k.name,O=s($);o({interface:$,uiSchema:T({title:(D=n==null?void 0:n.uiSchema)==null?void 0:D.title},(j=O==null?void 0:O.default)==null?void 0:j.uiSchema)},n.name,!1),u($)}},[y]),d.useEffect(()=>{if(n!=null&&n.possibleTypes){const A=Ct(c,b);m(A)}},[b]),["oho","obo","o2m","m2o","m2m"].includes(n.interface)?a.jsx(S.Tag,{children:i((P=c.find(A=>A.key==="relation").children.find(A=>A.name===t))==null?void 0:P.label)},t):a.jsx(S.Select,{"aria-label":`field-interface-${n==null?void 0:n.type}`,role:"button",value:p,style:{width:"100%"},popupMatchSelectWidth:!1,onChange:A=>{var v,f;const C=s(A);o({interface:A,uiSchema:T({title:(v=n==null?void 0:n.uiSchema)==null?void 0:v.title},(f=C==null?void 0:C.default)==null?void 0:f.uiSchema)},n.name),u(A)},children:y.map(A=>a.jsx(S.Select.OptGroup,{label:i(A.label),children:A.children.map(C=>a.jsx(S.Select.Option,{value:C.name,children:i(C.label)},C.name))},A.key))})},{displayName:"CollectionFieldInterfaceSelect"}),$e=["string","bigInt","integer","uuid","uid"],ln=w.observer(e=>{var u,y;const{name:t}=G.useParams(),{collectionName:o,sourceKey:n,name:s}=r.useRecord(),i=w.useField(),c=r.useCompile(),{getCollection:l}=r.useCollectionManager_deprecated(),p=(u=l(o||s,t).fields)==null?void 0:u.filter(m=>m.primaryKey||m.unique).map(m=>{var b;return{value:m.name,label:c(((b=m.uiSchema)==null?void 0:b.title)||m.title||m.name)}});return d.useEffect(()=>{var m;i.initialValue=((m=p==null?void 0:p[0])==null?void 0:m.value)||n},[]),a.jsx("div",{children:a.jsx(S.Select,{disabled:n,options:p,defaultValue:((y=p==null?void 0:p[0])==null?void 0:y.value)||n,onChange:e==null?void 0:e.onChange,showSearch:!0})})},{displayName:"SourceKey"}),vt=w.observer(e=>{const{disabled:t}=e,o=r.useAPIClient(),[n,s]=d.useState([]),{name:i}=G.useParams(),c=r.useRecord(),l=w.useField(),{collectionName:p,target:u,type:y,through:m,name:b}=c,P=c[l.props.name],{getCollection:A}=r.useCollectionManager_deprecated(),C=r.useCompile(),v=w.useForm(),[f,g]=d.useState(P);return d.useEffect(()=>{var F;l.initialValue=null;const h=["belongsTo"].includes(y)?p:["belongsToMany"].includes(y)?m:u,x=(F=A(h,i))==null?void 0:F.fields;if(x){const E=x==null?void 0:x.filter(k=>$e.includes(k.type)).map(k=>{var D;return{value:k.name,label:C(((D=k.uiSchema)==null?void 0:D.title)||k.title||k.name)}});if(s(E),P){const k=E.find(D=>D.value===P);g((k==null?void 0:k.label)||P)}}},[y]),d.useEffect(()=>{g(P)},[P]),a.jsx("div",{children:a.jsx(S.Select,{disabled:t,value:f,options:n,showSearch:!0,onDropdownVisibleChange:h=>_(this,null,function*(){var D;const{target:x,type:F,through:E}=v.values,k=["belongsTo"].includes(F)?p||b:["belongsToMany"].includes(F)?E:x;if(k&&h){const{data:j}=yield o.request({url:`dataSourcesCollections/${i}.${k}/fields:list`,params:{paginate:!1,filter:{$or:[{"interface.$not":null},{"options.source.$notEmpty":!0}]},sort:["sort"]}});s((D=j.data)==null?void 0:D.filter($=>$e.includes($.type)).map($=>{var O;return{value:$.name,label:C(((O=$.uiSchema)==null?void 0:O.title)||$.title||$.name)}}))}}),onChange:h=>{var x;(x=e==null?void 0:e.onChange)==null||x.call(e,h),g(h)}})})},{displayName:"ForeignKey"}),un=w.observer(e=>{const{value:t,disabled:o}=e,{targetKey:n,target:s,type:i}=r.useRecord(),{name:c}=G.useParams(),{getCollection:l}=r.useCollectionManager_deprecated(),p=r.useAPIClient(),[u,y]=d.useState([]),[m,b]=d.useState(t||n),P=w.useForm(),A=r.useCompile(),C=w.useField();return C.required=!0,d.useEffect(()=>{var v;s&&y((v=l(s,c).fields)==null?void 0:v.filter(f=>i!=="hasMany"?f.primaryKey||f.unique:$e.includes(f.type)).map(f=>{var g;return{value:f.name,label:A(((g=f==null?void 0:f.uiSchema)==null?void 0:g.title)||f.title||f.name)}}))},[]),a.jsx("div",{children:a.jsx(S.Select,{showSearch:!0,options:u,onDropdownVisibleChange:v=>_(this,null,function*(){var h;const{target:f,type:g}=P.values;if(f&&v){const{data:x}=yield p.request({url:`dataSourcesCollections/${c}.${f}/fields:list`,params:{paginate:!1,filter:{$or:[{"interface.$not":null},{"options.source.$notEmpty":!0}]},sort:["sort"]}});y((h=x.data)==null?void 0:h.filter(F=>g!=="hasMany"?F.primaryKey||F.unique:$e.includes(F.type)).map(F=>{var E;return{value:F.name,label:A(((E=F.uiSchema)==null?void 0:E.title)||F.title||F.name)}}))}}),onChange:v=>{var f;(f=e==null?void 0:e.onChange)==null||f.call(e,v),b(v)},value:m,disabled:o})})},{displayName:"TargetKey"}),pn=w.observer(()=>{const e=r.useCompile(),{targetCollection:t}=it();return a.jsx("div",{children:a.jsx(S.Select,{disabled:!0,showSearch:!0,popupMatchSelectWidth:!1,value:t.name,options:[{value:t.name,label:e(t.title||t.name)}]})})},{displayName:"SourceCollection"}),dn=w.observer(e=>{const{disabled:t}=e,o=r.useCompile(),[n,s]=d.useState([]),{name:i}=G.useParams(),c=w.useField(),{getCollections:l}=r.useCollectionManager_deprecated(i),u=r.useRecord()[c.props.name],y=()=>l().filter(b=>!(b.autoCreate&&b.isThrough)).map(b=>({label:o(b.title||b.name),value:b.name}));return d.useEffect(()=>{const m=y();s(m)},[]),a.jsx("div",{children:a.jsx(S.Select,{disabled:t,showSearch:!0,popupMatchSelectWidth:!1,fieldNames:{label:"label",value:"value"},defaultValue:u,options:n,onChange:m=>{var b;(b=e==null?void 0:e.onChange)==null||b.call(e,m)}})})},{displayName:"ThroughCollection"}),mn=(e,t,o)=>{var i;if(!e)return;const n=Y.cloneDeep(e.properties);n!=null&&n.foreignKey&&(n.foreignKey["x-component"]=vt),e.hasDefaultValue===!0&&(n.defaultValue=Y.cloneDeep((i=e==null?void 0:e.default)==null?void 0:i.uiSchema),n.defaultValue.required=!1,n.defaultValue.title=o('{{ t("Default value") }}'),n.defaultValue["x-decorator"]="FormItem",n.defaultValue["x-reactions"]={dependencies:["uiSchema.x-component-props.gmt","uiSchema.x-component-props.showTime","uiSchema.x-component-props.dateFormat","uiSchema.x-component-props.timeFormat"],fulfill:{state:{componentProps:{gmt:"{{$deps[0]}}",showTime:"{{$deps[1]}}",dateFormat:"{{$deps[2]}}",timeFormat:"{{$deps[3]}}"}}}});const s=N(T({name:`f_${V.uid()}`},Y.cloneDeep(e.default)),{interface:e.name});return s.reverseField&&(s.reverseField.name=`f_${V.uid()}`),{type:"object",properties:{[V.uid()]:{type:"void","x-component":"Action.Drawer","x-component-props":{getContainer:"{{ getContainer }}"},"x-decorator":"Form","x-decorator-props":{useValues(c){return r.useRequest(()=>Promise.resolve({data:s}),c)}},title:`${o(t.title||t.name)} - ${o('{{ t("Add field") }}')}`,properties:N(T({summary:{type:"void","x-component":"FieldSummary","x-component-props":{schemaKey:e.name}}},n),{description:{type:"string",title:'{{t("Description")}}',"x-decorator":"FormItem","x-component":"Input.TextArea"},footer:{type:"void","x-component":"Action.Drawer.Footer",properties:{action1:{title:'{{ t("Cancel") }}',"x-component":"Action","x-component-props":{useAction:"{{ useCancelAction }}"}},action2:{title:'{{ t("Submit") }}',"x-component":"Action","x-component-props":{type:"primary",useAction:"{{ useCreateCollectionField }}"}}}}})}}}},yn=()=>{const e=w.useForm(),t=r.useActionContext(),{refresh:o}=r.useResourceActionContext(),n=w.useField(),s=r.useAPIClient(),i=r.useRecord(),{name:c}=G.useParams(),l=r.useDataSourceManager();return{run(){return _(this,null,function*(){yield e.submit(),n.data=n.data||{},n.data.loading=!0;const u=Y.cloneDeep(e.values);u.autoCreateReverseField||delete u.reverseField,delete u.autoCreateReverseField;try{yield s.request({url:`dataSourcesCollections/${c}.${i.name}/fields:create`,method:"post",data:u}),t.setVisible(!1),l.getDataSource(c).reload(),yield e.reset(),n.data.loading=!1,o()}catch(y){n.data.loading=!1}})}}},fn=e=>{const t=r.useRecord();return a.jsx(gn,T({item:t},e))},gn=e=>{const{scope:t,getContainer:o,item:n,children:s,trigger:i,align:c,database:l}=e,{getInterface:p,getTemplate:u,collections:y}=r.useCollectionManager_deprecated(),[m,b]=d.useState(!1),[P,A]=d.useState(),[C,v]=d.useState({}),f=r.useCompile(),{t:g}=B.useTranslation(),{data:{database:h}}=r.useCurrentAppInfo(),x=$=>(h==null?void 0:h.dialect)===$,F=d.useMemo(()=>y.map($=>({label:f($.title),value:$.name})),[]),E=r.useFieldInterfaceOptions(),k=d.useCallback(()=>{const{availableFieldInterfaces:$}=u(n.template)||{},{exclude:O,include:I}=$||{},U=[];return E.forEach(z=>{var R;if(z.key==="relation"){let J=[];I!=null&&I.length?I.forEach(X=>{var H;const Se=(H=z==null?void 0:z.children)==null?void 0:H.find(Uo=>[X,X.interface].includes(Uo.value));Se&&J.push(N(T({},Se),{targetScope:X==null?void 0:X.targetScope}))}):O!=null&&O.length?J=(R=z==null?void 0:z.children)==null?void 0:R.filter(X=>!O.includes(X.value)):J=z==null?void 0:z.children,J!=null&&J.length&&U.push(N(T({},z),{children:J}))}}),U},[u,n]),D=d.useMemo(()=>k().map($=>{var O;return((O=$==null?void 0:$.children)==null?void 0:O.length)===0?null:n.template==="view"?{type:"group",label:f($.label),title:f($.label),key:$.label,children:$.children.filter(I=>["m2o"].includes(I.name)).map(I=>({label:f(I.title),title:f(I.title),key:I.name,dataTargetScope:I.targetScope}))}:{type:"group",label:f($.label),title:f($.label),key:$.label,children:$==null?void 0:$.children.filter(I=>!["o2o","subTable","linkTo"].includes(I.name)).map(I=>({label:f(I.title),title:f(I.title),key:I.name,dataTargetScope:I.targetScope}))}}).filter($=>{var O;return(O=$==null?void 0:$.children)==null?void 0:O.length}),[k]),j=d.useMemo(()=>({style:{maxHeight:"60vh",overflow:"auto"},onClick:$=>{const O=$.item.props["data-targetScope"];O&&A(O);const I=mn(p($.key),n,f);I&&(v(I),b(!0))},items:D}),[p,D,n]);return n.template!=="sql"&&a.jsx(r.RecordProvider,{record:n,children:a.jsxs(r.ActionContextProvider,{value:{visible:m,setVisible:b},children:[a.jsx(S.Dropdown,{getPopupContainer:o,trigger:i,align:c,menu:j,children:s||a.jsx(S.Button,{icon:a.jsx(Q.PlusOutlined,{}),type:"primary",children:g("Add field")})}),a.jsx(r.SchemaComponent,{schema:C,components:{ArrayTable:ae.ArrayTable},scope:T({getContainer:o,useCancelAction:r.useCancelAction,createOnly:!0,isOverride:!1,override:!1,useCreateCollectionField:yn,record:n,showReverseFieldConfig:!1,targetScope:P,collections:F,isDialect:x,disabledJSONB:!1,createMainOnly:!0},t)})]})})},hn=w.observer(e=>{const{value:t,handleFieldChange:o}=e,n=r.useRecord(),[s,i]=d.useState(t),c=u=>{i(u)},l=d.useMemo(()=>Y.debounce(u=>{o({uiSchema:N(T({},n==null?void 0:n.uiSchema),{title:u})},n.name)},1e3),[o,n]),p=u=>{const y=u.target.value;c(y),l(y)};return d.useEffect(()=>{i(t)},[t]),a.jsx(S.Input,{value:s,onChange:p,style:{minWidth:"100px"},"aria-label":"field-title-input"})},{displayName:"FieldTitleInput"}),Cn=()=>{const{refresh:e}=r.useResourceActionContext(),{name:t}=G.useParams(),{name:o,collectionName:n}=r.useRecord(),s=r.useAPIClient();return{run(){return _(this,null,function*(){yield s.request({url:`dataSourcesCollections/${t}.${n}/fields:destroy?filterByTk=${o}`,method:"post"}),e()})}}},vn=()=>{const{state:e,setState:t,refresh:o}=r.useResourceActionContext(),{t:n}=B.useTranslation(),{name:s}=G.useParams(),i=r.useAPIClient(),{name:c}=r.useRecord();return{run(){return _(this,null,function*(){var p;if(!((p=e==null?void 0:e.selectedRowKeys)!=null&&p.length))return S.message.error(n("Please select the records you want to delete"));yield i.request({url:`dataSourcesCollections/${s}.${c}/fields:destroy`,method:"post",params:{filterByTk:(e==null?void 0:e.selectedRowKeys)||[]}}),t==null||t({selectedRowKeys:[]}),o()})}}},bn=()=>{const{run:e}=vn();return{run(){return _(this,null,function*(){yield e()})}}},xn=()=>{const{run:e}=Cn();return{run(){return _(this,null,function*(){yield e()})}}};var Te=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:{};function Fe(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function Sn(){this.__data__=[],this.size=0}var An=Sn;function $n(e,t){return e===t||e!==e&&t!==t}var bt=$n,Tn=bt;function Fn(e,t){for(var o=e.length;o--;)if(Tn(e[o][0],t))return o;return-1}var we=Fn,wn=we,_n=Array.prototype,Pn=_n.splice;function Dn(e){var t=this.__data__,o=wn(t,e);if(o<0)return!1;var n=t.length-1;return o==n?t.pop():Pn.call(t,o,1),--this.size,!0}var In=Dn,On=we;function Mn(e){var t=this.__data__,o=On(t,e);return o<0?void 0:t[o][1]}var En=Mn,jn=we;function kn(e){return jn(this.__data__,e)>-1}var Kn=kn,Nn=we;function Bn(e,t){var o=this.__data__,n=Nn(o,e);return n<0?(++this.size,o.push([e,t])):o[n][1]=t,this}var Vn=Bn,Ln=An,qn=In,Gn=En,Un=Kn,zn=Vn;function se(e){var t=-1,o=e==null?0:e.length;for(this.clear();++t<o;){var n=e[t];this.set(n[0],n[1])}}se.prototype.clear=Ln,se.prototype.delete=qn,se.prototype.get=Gn,se.prototype.has=Un,se.prototype.set=zn;var _e=se,Hn=_e;function Wn(){this.__data__=new Hn,this.size=0}var Qn=Wn;function Yn(e){var t=this.__data__,o=t.delete(e);return this.size=t.size,o}var Jn=Yn;function Zn(e){return this.__data__.get(e)}var Xn=Zn;function Rn(e){return this.__data__.has(e)}var er=Rn,tr=typeof Te=="object"&&Te&&Te.Object===Object&&Te,xt=tr,or=xt,nr=typeof self=="object"&&self&&self.Object===Object&&self,rr=or||nr||Function("return this")(),Z=rr,ar=Z,sr=ar.Symbol,ge=sr,St=ge,At=Object.prototype,ir=At.hasOwnProperty,cr=At.toString,he=St?St.toStringTag:void 0;function lr(e){var t=ir.call(e,he),o=e[he];try{e[he]=void 0;var n=!0}catch(i){}var s=cr.call(e);return n&&(t?e[he]=o:delete e[he]),s}var ur=lr,pr=Object.prototype,dr=pr.toString;function mr(e){return dr.call(e)}var yr=mr,$t=ge,fr=ur,gr=yr,hr="[object Null]",Cr="[object Undefined]",Tt=$t?$t.toStringTag:void 0;function vr(e){return e==null?e===void 0?Cr:hr:Tt&&Tt in Object(e)?fr(e):gr(e)}var ie=vr;function br(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var ce=br,xr=ie,Sr=ce,Ar="[object AsyncFunction]",$r="[object Function]",Tr="[object GeneratorFunction]",Fr="[object Proxy]";function wr(e){if(!Sr(e))return!1;var t=xr(e);return t==$r||t==Tr||t==Ar||t==Fr}var Ft=wr,_r=Z,Pr=_r["__core-js_shared__"],Dr=Pr,Be=Dr,wt=function(){var e=/[^.]+$/.exec(Be&&Be.keys&&Be.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function Ir(e){return!!wt&&wt in e}var Or=Ir,Mr=Function.prototype,Er=Mr.toString;function jr(e){if(e!=null){try{return Er.call(e)}catch(t){}try{return e+""}catch(t){}}return""}var _t=jr,kr=Ft,Kr=Or,Nr=ce,Br=_t,Vr=/[\\^$.*+?()[\]{}|]/g,Lr=/^\[object .+?Constructor\]$/,qr=Function.prototype,Gr=Object.prototype,Ur=qr.toString,zr=Gr.hasOwnProperty,Hr=RegExp("^"+Ur.call(zr).replace(Vr,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Wr(e){if(!Nr(e)||Kr(e))return!1;var t=kr(e)?Hr:Lr;return t.test(Br(e))}var Qr=Wr;function Yr(e,t){return e==null?void 0:e[t]}var Jr=Yr,Zr=Qr,Xr=Jr;function Rr(e,t){var o=Xr(e,t);return Zr(o)?o:void 0}var te=Rr,ea=te,ta=Z,oa=ea(ta,"Map"),Ve=oa,na=te,ra=na(Object,"create"),Pe=ra,Pt=Pe;function aa(){this.__data__=Pt?Pt(null):{},this.size=0}var sa=aa;function ia(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var ca=ia,la=Pe,ua="__lodash_hash_undefined__",pa=Object.prototype,da=pa.hasOwnProperty;function ma(e){var t=this.__data__;if(la){var o=t[e];return o===ua?void 0:o}return da.call(t,e)?t[e]:void 0}var ya=ma,fa=Pe,ga=Object.prototype,ha=ga.hasOwnProperty;function Ca(e){var t=this.__data__;return fa?t[e]!==void 0:ha.call(t,e)}var va=Ca,ba=Pe,xa="__lodash_hash_undefined__";function Sa(e,t){var o=this.__data__;return this.size+=this.has(e)?0:1,o[e]=ba&&t===void 0?xa:t,this}var Aa=Sa,$a=sa,Ta=ca,Fa=ya,wa=va,_a=Aa;function le(e){var t=-1,o=e==null?0:e.length;for(this.clear();++t<o;){var n=e[t];this.set(n[0],n[1])}}le.prototype.clear=$a,le.prototype.delete=Ta,le.prototype.get=Fa,le.prototype.has=wa,le.prototype.set=_a;var Pa=le,Dt=Pa,Da=_e,Ia=Ve;function Oa(){this.size=0,this.__data__={hash:new Dt,map:new(Ia||Da),string:new Dt}}var Ma=Oa;function Ea(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var ja=Ea,ka=ja;function Ka(e,t){var o=e.__data__;return ka(t)?o[typeof t=="string"?"string":"hash"]:o.map}var De=Ka,Na=De;function Ba(e){var t=Na(this,e).delete(e);return this.size-=t?1:0,t}var Va=Ba,La=De;function qa(e){return La(this,e).get(e)}var Ga=qa,Ua=De;function za(e){return Ua(this,e).has(e)}var Ha=za,Wa=De;function Qa(e,t){var o=Wa(this,e),n=o.size;return o.set(e,t),this.size+=o.size==n?0:1,this}var Ya=Qa,Ja=Ma,Za=Va,Xa=Ga,Ra=Ha,es=Ya;function ue(e){var t=-1,o=e==null?0:e.length;for(this.clear();++t<o;){var n=e[t];this.set(n[0],n[1])}}ue.prototype.clear=Ja,ue.prototype.delete=Za,ue.prototype.get=Xa,ue.prototype.has=Ra,ue.prototype.set=es;var It=ue,ts=_e,os=Ve,ns=It,rs=200;function as(e,t){var o=this.__data__;if(o instanceof ts){var n=o.__data__;if(!os||n.length<rs-1)return n.push([e,t]),this.size=++o.size,this;o=this.__data__=new ns(n)}return o.set(e,t),this.size=o.size,this}var ss=as,is=_e,cs=Qn,ls=Jn,us=Xn,ps=er,ds=ss;function pe(e){var t=this.__data__=new is(e);this.size=t.size}pe.prototype.clear=cs,pe.prototype.delete=ls,pe.prototype.get=us,pe.prototype.has=ps,pe.prototype.set=ds;var ms=pe;function ys(e,t){for(var o=-1,n=e==null?0:e.length;++o<n&&t(e[o],o,e)!==!1;);return e}var fs=ys,gs=te,hs=function(){try{var e=gs(Object,"defineProperty");return e({},"",{}),e}catch(t){}}(),Ot=hs,Mt=Ot;function Cs(e,t,o){t=="__proto__"&&Mt?Mt(e,t,{configurable:!0,enumerable:!0,value:o,writable:!0}):e[t]=o}var Et=Cs,vs=Et,bs=bt,xs=Object.prototype,Ss=xs.hasOwnProperty;function As(e,t,o){var n=e[t];(!(Ss.call(e,t)&&bs(n,o))||o===void 0&&!(t in e))&&vs(e,t,o)}var Le=As,$s=Le,Ts=Et;function Fs(e,t,o,n){var s=!o;o||(o={});for(var i=-1,c=t.length;++i<c;){var l=t[i],p=n?n(o[l],e[l],l,o,e):void 0;p===void 0&&(p=e[l]),s?Ts(o,l,p):$s(o,l,p)}return o}var Ce=Fs;function ws(e,t){for(var o=-1,n=Array(e);++o<e;)n[o]=t(o);return n}var _s=ws;function Ps(e){return e!=null&&typeof e=="object"}var oe=Ps,Ds=ie,Is=oe,Os="[object Arguments]";function Ms(e){return Is(e)&&Ds(e)==Os}var Es=Ms,jt=Es,js=oe,kt=Object.prototype,ks=kt.hasOwnProperty,Ks=kt.propertyIsEnumerable,Ns=jt(function(){return arguments}())?jt:function(e){return js(e)&&ks.call(e,"callee")&&!Ks.call(e,"callee")},Kt=Ns,Bs=Array.isArray,ne=Bs,Ie={exports:{}};function Vs(){return!1}var Ls=Vs;Ie.exports,function(e,t){var o=Z,n=Ls,s=t&&!t.nodeType&&t,i=s&&!0&&e&&!e.nodeType&&e,c=i&&i.exports===s,l=c?o.Buffer:void 0,p=l?l.isBuffer:void 0,u=p||n;e.exports=u}(Ie,Ie.exports);var Nt=Ie.exports,qs=9007199254740991,Gs=/^(?:0|[1-9]\d*)$/;function Us(e,t){var o=typeof e;return t=t==null?qs:t,!!t&&(o=="number"||o!="symbol"&&Gs.test(e))&&e>-1&&e%1==0&&e<t}var Bt=Us,zs=9007199254740991;function Hs(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=zs}var Vt=Hs,Ws=ie,Qs=Vt,Ys=oe,Js="[object Arguments]",Zs="[object Array]",Xs="[object Boolean]",Rs="[object Date]",ei="[object Error]",ti="[object Function]",oi="[object Map]",ni="[object Number]",ri="[object Object]",ai="[object RegExp]",si="[object Set]",ii="[object String]",ci="[object WeakMap]",li="[object ArrayBuffer]",ui="[object DataView]",pi="[object Float32Array]",di="[object Float64Array]",mi="[object Int8Array]",yi="[object Int16Array]",fi="[object Int32Array]",gi="[object Uint8Array]",hi="[object Uint8ClampedArray]",Ci="[object Uint16Array]",vi="[object Uint32Array]",q={};q[pi]=q[di]=q[mi]=q[yi]=q[fi]=q[gi]=q[hi]=q[Ci]=q[vi]=!0,q[Js]=q[Zs]=q[li]=q[Xs]=q[ui]=q[Rs]=q[ei]=q[ti]=q[oi]=q[ni]=q[ri]=q[ai]=q[si]=q[ii]=q[ci]=!1;function bi(e){return Ys(e)&&Qs(e.length)&&!!q[Ws(e)]}var xi=bi;function Si(e){return function(t){return e(t)}}var qe=Si,Oe={exports:{}};Oe.exports,function(e,t){var o=xt,n=t&&!t.nodeType&&t,s=n&&!0&&e&&!e.nodeType&&e,i=s&&s.exports===n,c=i&&o.process,l=function(){try{var p=s&&s.require&&s.require("util").types;return p||c&&c.binding&&c.binding("util")}catch(u){}}();e.exports=l}(Oe,Oe.exports);var Ge=Oe.exports,Ai=xi,$i=qe,Lt=Ge,qt=Lt&&Lt.isTypedArray,Ti=qt?$i(qt):Ai,Fi=Ti,wi=_s,_i=Kt,Pi=ne,Di=Nt,Ii=Bt,Oi=Fi,Mi=Object.prototype,Ei=Mi.hasOwnProperty;function ji(e,t){var o=Pi(e),n=!o&&_i(e),s=!o&&!n&&Di(e),i=!o&&!n&&!s&&Oi(e),c=o||n||s||i,l=c?wi(e.length,String):[],p=l.length;for(var u in e)(t||Ei.call(e,u))&&!(c&&(u=="length"||s&&(u=="offset"||u=="parent")||i&&(u=="buffer"||u=="byteLength"||u=="byteOffset")||Ii(u,p)))&&l.push(u);return l}var Gt=ji,ki=Object.prototype;function Ki(e){var t=e&&e.constructor,o=typeof t=="function"&&t.prototype||ki;return e===o}var Ue=Ki;function Ni(e,t){return function(o){return e(t(o))}}var Ut=Ni,Bi=Ut,Vi=Bi(Object.keys,Object),Li=Vi,qi=Ue,Gi=Li,Ui=Object.prototype,zi=Ui.hasOwnProperty;function Hi(e){if(!qi(e))return Gi(e);var t=[];for(var o in Object(e))zi.call(e,o)&&o!="constructor"&&t.push(o);return t}var Wi=Hi,Qi=Ft,Yi=Vt;function Ji(e){return e!=null&&Yi(e.length)&&!Qi(e)}var zt=Ji,Zi=Gt,Xi=Wi,Ri=zt;function ec(e){return Ri(e)?Zi(e):Xi(e)}var ze=ec,tc=Ce,oc=ze;function nc(e,t){return e&&tc(t,oc(t),e)}var rc=nc;function ac(e){var t=[];if(e!=null)for(var o in Object(e))t.push(o);return t}var sc=ac,ic=ce,cc=Ue,lc=sc,uc=Object.prototype,pc=uc.hasOwnProperty;function dc(e){if(!ic(e))return lc(e);var t=cc(e),o=[];for(var n in e)n=="constructor"&&(t||!pc.call(e,n))||o.push(n);return o}var mc=dc,yc=Gt,fc=mc,gc=zt;function hc(e){return gc(e)?yc(e,!0):fc(e)}var He=hc,Cc=Ce,vc=He;function bc(e,t){return e&&Cc(t,vc(t),e)}var xc=bc,Me={exports:{}};Me.exports,function(e,t){var o=Z,n=t&&!t.nodeType&&t,s=n&&!0&&e&&!e.nodeType&&e,i=s&&s.exports===n,c=i?o.Buffer:void 0,l=c?c.allocUnsafe:void 0;function p(u,y){if(y)return u.slice();var m=u.length,b=l?l(m):new u.constructor(m);return u.copy(b),b}e.exports=p}(Me,Me.exports);var Sc=Me.exports;function Ac(e,t){var o=-1,n=e.length;for(t||(t=Array(n));++o<n;)t[o]=e[o];return t}var $c=Ac;function Tc(e,t){for(var o=-1,n=e==null?0:e.length,s=0,i=[];++o<n;){var c=e[o];t(c,o,e)&&(i[s++]=c)}return i}var Fc=Tc;function wc(){return[]}var Ht=wc,_c=Fc,Pc=Ht,Dc=Object.prototype,Ic=Dc.propertyIsEnumerable,Wt=Object.getOwnPropertySymbols,Oc=Wt?function(e){return e==null?[]:(e=Object(e),_c(Wt(e),function(t){return Ic.call(e,t)}))}:Pc,We=Oc,Mc=Ce,Ec=We;function jc(e,t){return Mc(e,Ec(e),t)}var kc=jc;function Kc(e,t){for(var o=-1,n=t.length,s=e.length;++o<n;)e[s+o]=t[o];return e}var Qe=Kc,Nc=Ut,Bc=Nc(Object.getPrototypeOf,Object),Ye=Bc,Vc=Qe,Lc=Ye,qc=We,Gc=Ht,Uc=Object.getOwnPropertySymbols,zc=Uc?function(e){for(var t=[];e;)Vc(t,qc(e)),e=Lc(e);return t}:Gc,Qt=zc,Hc=Ce,Wc=Qt;function Qc(e,t){return Hc(e,Wc(e),t)}var Yc=Qc,Jc=Qe,Zc=ne;function Xc(e,t,o){var n=t(e);return Zc(e)?n:Jc(n,o(e))}var Yt=Xc,Rc=Yt,el=We,tl=ze;function ol(e){return Rc(e,tl,el)}var nl=ol,rl=Yt,al=Qt,sl=He;function il(e){return rl(e,sl,al)}var Jt=il,cl=te,ll=Z,ul=cl(ll,"DataView"),pl=ul,dl=te,ml=Z,yl=dl(ml,"Promise"),fl=yl,gl=te,hl=Z,Cl=gl(hl,"Set"),vl=Cl,bl=te,xl=Z,Sl=bl(xl,"WeakMap"),Al=Sl,Je=pl,Ze=Ve,Xe=fl,Re=vl,et=Al,Zt=ie,de=_t,Xt="[object Map]",$l="[object Object]",Rt="[object Promise]",eo="[object Set]",to="[object WeakMap]",oo="[object DataView]",Tl=de(Je),Fl=de(Ze),wl=de(Xe),_l=de(Re),Pl=de(et),re=Zt;(Je&&re(new Je(new ArrayBuffer(1)))!=oo||Ze&&re(new Ze)!=Xt||Xe&&re(Xe.resolve())!=Rt||Re&&re(new Re)!=eo||et&&re(new et)!=to)&&(re=function(e){var t=Zt(e),o=t==$l?e.constructor:void 0,n=o?de(o):"";if(n)switch(n){case Tl:return oo;case Fl:return Xt;case wl:return Rt;case _l:return eo;case Pl:return to}return t});var tt=re,Dl=Object.prototype,Il=Dl.hasOwnProperty;function Ol(e){var t=e.length,o=new e.constructor(t);return t&&typeof e[0]=="string"&&Il.call(e,"index")&&(o.index=e.index,o.input=e.input),o}var Ml=Ol,El=Z,jl=El.Uint8Array,kl=jl,no=kl;function Kl(e){var t=new e.constructor(e.byteLength);return new no(t).set(new no(e)),t}var ot=Kl,Nl=ot;function Bl(e,t){var o=t?Nl(e.buffer):e.buffer;return new e.constructor(o,e.byteOffset,e.byteLength)}var Vl=Bl,Ll=/\w*$/;function ql(e){var t=new e.constructor(e.source,Ll.exec(e));return t.lastIndex=e.lastIndex,t}var Gl=ql,ro=ge,ao=ro?ro.prototype:void 0,so=ao?ao.valueOf:void 0;function Ul(e){return so?Object(so.call(e)):{}}var zl=Ul,Hl=ot;function Wl(e,t){var o=t?Hl(e.buffer):e.buffer;return new e.constructor(o,e.byteOffset,e.length)}var Ql=Wl,Yl=ot,Jl=Vl,Zl=Gl,Xl=zl,Rl=Ql,eu="[object Boolean]",tu="[object Date]",ou="[object Map]",nu="[object Number]",ru="[object RegExp]",au="[object Set]",su="[object String]",iu="[object Symbol]",cu="[object ArrayBuffer]",lu="[object DataView]",uu="[object Float32Array]",pu="[object Float64Array]",du="[object Int8Array]",mu="[object Int16Array]",yu="[object Int32Array]",fu="[object Uint8Array]",gu="[object Uint8ClampedArray]",hu="[object Uint16Array]",Cu="[object Uint32Array]";function vu(e,t,o){var n=e.constructor;switch(t){case cu:return Yl(e);case eu:case tu:return new n(+e);case lu:return Jl(e,o);case uu:case pu:case du:case mu:case yu:case fu:case gu:case hu:case Cu:return Rl(e,o);case ou:return new n;case nu:case su:return new n(e);case ru:return Zl(e);case au:return new n;case iu:return Xl(e)}}var bu=vu,xu=ce,io=Object.create,Su=function(){function e(){}return function(t){if(!xu(t))return{};if(io)return io(t);e.prototype=t;var o=new e;return e.prototype=void 0,o}}(),Au=Su,$u=Au,Tu=Ye,Fu=Ue;function wu(e){return typeof e.constructor=="function"&&!Fu(e)?$u(Tu(e)):{}}var _u=wu,Pu=tt,Du=oe,Iu="[object Map]";function Ou(e){return Du(e)&&Pu(e)==Iu}var Mu=Ou,Eu=Mu,ju=qe,co=Ge,lo=co&&co.isMap,ku=lo?ju(lo):Eu,Ku=ku,Nu=tt,Bu=oe,Vu="[object Set]";function Lu(e){return Bu(e)&&Nu(e)==Vu}var qu=Lu,Gu=qu,Uu=qe,uo=Ge,po=uo&&uo.isSet,zu=po?Uu(po):Gu,Hu=zu,Wu=ms,Qu=fs,Yu=Le,Ju=rc,Zu=xc,Xu=Sc,Ru=$c,ep=kc,tp=Yc,op=nl,np=Jt,rp=tt,ap=Ml,sp=bu,ip=_u,cp=ne,lp=Nt,up=Ku,pp=ce,dp=Hu,mp=ze,yp=He,fp=1,gp=2,hp=4,mo="[object Arguments]",Cp="[object Array]",vp="[object Boolean]",bp="[object Date]",xp="[object Error]",yo="[object Function]",Sp="[object GeneratorFunction]",Ap="[object Map]",$p="[object Number]",fo="[object Object]",Tp="[object RegExp]",Fp="[object Set]",wp="[object String]",_p="[object Symbol]",Pp="[object WeakMap]",Dp="[object ArrayBuffer]",Ip="[object DataView]",Op="[object Float32Array]",Mp="[object Float64Array]",Ep="[object Int8Array]",jp="[object Int16Array]",kp="[object Int32Array]",Kp="[object Uint8Array]",Np="[object Uint8ClampedArray]",Bp="[object Uint16Array]",Vp="[object Uint32Array]",L={};L[mo]=L[Cp]=L[Dp]=L[Ip]=L[vp]=L[bp]=L[Op]=L[Mp]=L[Ep]=L[jp]=L[kp]=L[Ap]=L[$p]=L[fo]=L[Tp]=L[Fp]=L[wp]=L[_p]=L[Kp]=L[Np]=L[Bp]=L[Vp]=!0,L[xp]=L[yo]=L[Pp]=!1;function Ee(e,t,o,n,s,i){var c,l=t&fp,p=t&gp,u=t&hp;if(o&&(c=s?o(e,n,s,i):o(e)),c!==void 0)return c;if(!pp(e))return e;var y=cp(e);if(y){if(c=ap(e),!l)return Ru(e,c)}else{var m=rp(e),b=m==yo||m==Sp;if(lp(e))return Xu(e,l);if(m==fo||m==mo||b&&!s){if(c=p||b?{}:ip(e),!l)return p?tp(e,Zu(c,e)):ep(e,Ju(c,e))}else{if(!L[m])return s?e:{};c=sp(e,m,l)}}i||(i=new Wu);var P=i.get(e);if(P)return P;i.set(e,c),dp(e)?e.forEach(function(v){c.add(Ee(v,t,o,v,e,i))}):up(e)&&e.forEach(function(v,f){c.set(f,Ee(v,t,o,f,e,i))});var A=u?p?np:op:p?yp:mp,C=y?void 0:A(e);return Qu(C||e,function(v,f){C&&(f=v,v=e[f]),Yu(c,f,Ee(v,t,o,f,e,i))}),c}var go=Ee,Lp=go,qp=1,Gp=4;function Up(e){return Lp(e,qp|Gp)}var zp=Up;const ee=Fe(zp);function Hp(e,t){for(var o=-1,n=e==null?0:e.length,s=Array(n);++o<n;)s[o]=t(e[o],o,e);return s}var ho=Hp,Wp=ie,Qp=oe,Yp="[object Symbol]";function Jp(e){return typeof e=="symbol"||Qp(e)&&Wp(e)==Yp}var nt=Jp,Zp=ne,Xp=nt,Rp=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,ed=/^\w*$/;function td(e,t){if(Zp(e))return!1;var o=typeof e;return o=="number"||o=="symbol"||o=="boolean"||e==null||Xp(e)?!0:ed.test(e)||!Rp.test(e)||t!=null&&e in Object(t)}var od=td,Co=It,nd="Expected a function";function rt(e,t){if(typeof e!="function"||t!=null&&typeof t!="function")throw new TypeError(nd);var o=function(){var n=arguments,s=t?t.apply(this,n):n[0],i=o.cache;if(i.has(s))return i.get(s);var c=e.apply(this,n);return o.cache=i.set(s,c)||i,c};return o.cache=new(rt.Cache||Co),o}rt.Cache=Co;var rd=rt,ad=rd,sd=500;function id(e){var t=ad(e,function(n){return o.size===sd&&o.clear(),n}),o=t.cache;return t}var cd=id,ld=cd,ud=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,pd=/\\(\\)?/g,dd=ld(function(e){var t=[];return e.charCodeAt(0)===46&&t.push(""),e.replace(ud,function(o,n,s,i){t.push(s?i.replace(pd,"$1"):n||o)}),t}),md=dd,vo=ge,yd=ho,fd=ne,gd=nt,hd=1/0,bo=vo?vo.prototype:void 0,xo=bo?bo.toString:void 0;function So(e){if(typeof e=="string")return e;if(fd(e))return yd(e,So)+"";if(gd(e))return xo?xo.call(e):"";var t=e+"";return t=="0"&&1/e==-hd?"-0":t}var Cd=So,vd=Cd;function bd(e){return e==null?"":vd(e)}var xd=bd,Sd=ne,Ad=od,$d=md,Td=xd;function Fd(e,t){return Sd(e)?e:Ad(e,t)?[e]:$d(Td(e))}var je=Fd;function wd(e){var t=e==null?0:e.length;return t?e[t-1]:void 0}var _d=wd,Pd=nt,Dd=1/0;function Id(e){if(typeof e=="string"||Pd(e))return e;var t=e+"";return t=="0"&&1/e==-Dd?"-0":t}var at=Id,Od=je,Md=at;function Ed(e,t){t=Od(t,e);for(var o=0,n=t.length;e!=null&&o<n;)e=e[Md(t[o++])];return o&&o==n?e:void 0}var jd=Ed;function kd(e,t,o){var n=-1,s=e.length;t<0&&(t=-t>s?0:s+t),o=o>s?s:o,o<0&&(o+=s),s=t>o?0:o-t>>>0,t>>>=0;for(var i=Array(s);++n<s;)i[n]=e[n+t];return i}var Kd=kd,Nd=jd,Bd=Kd;function Vd(e,t){return t.length<2?e:Nd(e,Bd(t,0,-1))}var Ld=Vd,qd=je,Gd=_d,Ud=Ld,zd=at;function Hd(e,t){return t=qd(t,e),e=Ud(e,t),e==null||delete e[zd(Gd(t))]}var Wd=Hd,Qd=ie,Yd=Ye,Jd=oe,Zd="[object Object]",Xd=Function.prototype,Rd=Object.prototype,Ao=Xd.toString,em=Rd.hasOwnProperty,tm=Ao.call(Object);function om(e){if(!Jd(e)||Qd(e)!=Zd)return!1;var t=Yd(e);if(t===null)return!0;var o=em.call(t,"constructor")&&t.constructor;return typeof o=="function"&&o instanceof o&&Ao.call(o)==tm}var nm=om,rm=nm;function am(e){return rm(e)?void 0:e}var sm=am,$o=ge,im=Kt,cm=ne,To=$o?$o.isConcatSpreadable:void 0;function lm(e){return cm(e)||im(e)||!!(To&&e&&e[To])}var um=lm,pm=Qe,dm=um;function Fo(e,t,o,n,s){var i=-1,c=e.length;for(o||(o=dm),s||(s=[]);++i<c;){var l=e[i];t>0&&o(l)?t>1?Fo(l,t-1,o,n,s):pm(s,l):n||(s[s.length]=l)}return s}var mm=Fo,ym=mm;function fm(e){var t=e==null?0:e.length;return t?ym(e,1):[]}var gm=fm;function hm(e,t,o){switch(o.length){case 0:return e.call(t);case 1:return e.call(t,o[0]);case 2:return e.call(t,o[0],o[1]);case 3:return e.call(t,o[0],o[1],o[2])}return e.apply(t,o)}var Cm=hm,vm=Cm,wo=Math.max;function bm(e,t,o){return t=wo(t===void 0?e.length-1:t,0),function(){for(var n=arguments,s=-1,i=wo(n.length-t,0),c=Array(i);++s<i;)c[s]=n[t+s];s=-1;for(var l=Array(t+1);++s<t;)l[s]=n[s];return l[t]=o(c),vm(e,this,l)}}var xm=bm;function Sm(e){return function(){return e}}var Am=Sm;function $m(e){return e}var Tm=$m,Fm=Am,_o=Ot,wm=Tm,_m=_o?function(e,t){return _o(e,"toString",{configurable:!0,enumerable:!1,value:Fm(t),writable:!0})}:wm,Pm=_m,Dm=800,Im=16,Om=Date.now;function Mm(e){var t=0,o=0;return function(){var n=Om(),s=Im-(n-o);if(o=n,s>0){if(++t>=Dm)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}var Em=Mm,jm=Pm,km=Em,Km=km(jm),Nm=Km,Bm=gm,Vm=xm,Lm=Nm;function qm(e){return Lm(Vm(e,void 0,Bm),e+"")}var Gm=qm,Um=ho,zm=go,Hm=Wd,Wm=je,Qm=Ce,Ym=sm,Jm=Gm,Zm=Jt,Xm=1,Rm=2,ey=4,ty=Jm(function(e,t){var o={};if(e==null)return o;var n=!1;t=Um(t,function(i){return i=Wm(i,e),n||(n=i.length>1),i}),Qm(e,Zm(e),o),n&&(o=zm(o,Xm|Rm|ey,Ym));for(var s=t.length;s--;)Hm(o,t[s]);return o}),oy=ty;const ke=Fe(oy);var ny=Le,ry=je,ay=Bt,Po=ce,sy=at;function iy(e,t,o,n){if(!Po(e))return e;t=ry(t,e);for(var s=-1,i=t.length,c=i-1,l=e;l!=null&&++s<i;){var p=sy(t[s]),u=o;if(p==="__proto__"||p==="constructor"||p==="prototype")return e;if(s!=c){var y=l[p];u=n?n(y,p,l):void 0,u===void 0&&(u=Po(y)?y:ay(t[s+1])?[]:{})}ny(l,p,u),l=l[p]}return e}var cy=iy,ly=cy;function uy(e,t,o){return e==null?e:ly(e,t,o)}var py=uy;const Do=Fe(py),dy=({schema:e,record:t,parentRecord:o,compile:n,getContainer:s})=>{if(!e)return;const i=ee(e.properties);return i!=null&&i.name&&(i.name["x-disabled"]=!0),e.hasDefaultValue===!0&&(i.defaultValue=ee(e.default.uiSchema)||{},i.defaultValue.required=!1,i.defaultValue.title=n('{{ t("Default value") }}'),i.defaultValue["x-decorator"]="FormItem",i.defaultValue["x-reactions"]={dependencies:["uiSchema.x-component-props.gmt","uiSchema.x-component-props.showTime","uiSchema.x-component-props.dateFormat","uiSchema.x-component-props.timeFormat"],fulfill:{state:{componentProps:{gmt:"{{$deps[0]}}",showTime:"{{$deps[1]}}",dateFormat:"{{$deps[2]}}",timeFormat:"{{$deps[3]}}"}}}},i.defaultValue["x-disabled"]=!0),{type:"object",properties:{[V.uid()]:{type:"void","x-component":"Action.Drawer","x-component-props":{getContainer:"{{ getContainer }}"},"x-decorator":"Form","x-decorator-props":{useValues(c){return r.useRequest(()=>{var l;return Promise.resolve({data:N(T({},ee(ke(e.default,["uiSchema.rawTitle"]))),{autoFill:((l=e.default)==null?void 0:l.autoFill)!==!1})})},c)}},title:`${n((o==null?void 0:o.title)||(o==null?void 0:o.name))} - ${n('{{ t("Edit field") }}')}`,properties:N(T({summary:{type:"void","x-component":"FieldSummary","x-component-props":{schemaKey:e.name}}},i),{description:{type:"string",title:'{{t("Description")}}',"x-decorator":"FormItem","x-component":"Input.TextArea"},footer:{type:"void","x-component":"Action.Drawer.Footer",properties:{action1:{title:'{{ t("Cancel") }}',"x-component":"Action","x-component-props":{useAction:"{{ useCancelAction }}"}},action2:{title:'{{ t("Submit") }}',"x-component":"Action","x-component-props":{type:"primary",useAction:"{{ useUpdateCollectionField }}"}}}}})}}}},my=()=>{const e=w.useForm(),t=r.useAPIClient(),o=r.useActionContext(),{refresh:n}=r.useResourceActionContext(),{targetCollection:s}=it(),{name:i}=G.useParams(),{name:c}=r.useRecord(),l=r.useDataSourceManager();return{run(){return _(this,null,function*(){yield e.submit();const u=ee(e.values);u.autoCreateReverseField||delete u.reverseField,delete u.autoCreateReverseField,yield t.request({url:`dataSourcesCollections/${i}.${s.name}/fields:update?filterByTk=${c}`,method:"post",data:u}),o.setVisible(!1),l.getDataSource(i).reload(),yield e.reset(),n()})}}},yy=e=>{const t=r.useRecord(),o=r.useCollectionParentRecordData();return a.jsx(fy,T({item:t,parentItem:o},e))},fy=e=>{var D,j;const k=e,{scope:t,getContainer:o,item:n,parentItem:s,children:i}=k,c=ut(k,["scope","getContainer","item","parentItem","children"]),{getInterface:l,collections:p,getCollection:u}=r.useCollectionManager_deprecated(),{data:{database:y}}=r.useCurrentAppInfo(),[m,b]=d.useState(!1),[P,A]=d.useState({}),C=r.useAPIClient(),{t:v}=B.useTranslation(),f=r.useCompile(),{name:g}=G.useParams(),h=$=>(y==null?void 0:y.dialect)===$,x=(n==null?void 0:n.fields)||((j=(D=u(n.collectionName,g))==null?void 0:D.options)==null?void 0:j.fields),F=d.useMemo(()=>p.map($=>({label:f($.title),value:$.name})),[]),E=d.useMemo(()=>{var $,O;return(n==null?void 0:n.fields)||((O=($=u(n.collectionName,g))==null?void 0:$.options)==null?void 0:O.fields.filter(I=>["string","bigInt","integer"].includes(I.type)).map(I=>{var U;return{value:I.name,label:f((U=I.uiSchema)==null?void 0:U.title)}}))},[n.name,x]);return a.jsx(r.RecordProvider,{record:n,parent:s,children:a.jsxs(r.ActionContextProvider,{value:{visible:m,setVisible:b},children:[a.jsx("a",N(T({},c),{onClick:()=>_(this,null,function*(){var z,R,J;const{data:$}=yield C.request({url:`dataSourcesCollections/${g}.${s.name}/fields:get?filterByTk=${n.name}`,params:{appends:["reverseField"]}}),O=l((z=$==null?void 0:$.data)==null?void 0:z.interface),I=ee($==null?void 0:$.data)||{};I!=null&&I.reverseField||(I.autoCreateReverseField=!1,I.reverseField=(R=O==null?void 0:O.default)==null?void 0:R.reverseField,Do(I.reverseField,"name",`f_${V.uid()}`),Do(I.reverseField,"uiSchema.title",(J=n.__parent)==null?void 0:J.title));const U=dy({schema:N(T({},O),{default:I}),record:n,parentRecord:s,compile:f,getContainer:o});A(U),b(!0)}),children:i||v("Edit")})),a.jsx(r.SchemaComponent,{schema:P,components:{ArrayTable:ae.ArrayTable},scope:N(T({getContainer:o,useUpdateCollectionField:my,useCancelAction:r.useCancelAction,showReverseFieldConfig:!1,collections:F,isDialect:h,scopeKeyOptions:E,disabledJSONB:!0},t),{createOnly:!1,createMainOnly:!1,editMainOnly:!0})})]})})},gy=w.observer(e=>{const{value:t,handleFieldChange:o,onChange:n}=e,s=r.useRecord(),i=s;return i!=null&&i.possibleTypes?a.jsx(S.Select,{"aria-label":`field-type-${t}`,role:"button",defaultValue:t,popupMatchSelectWidth:!1,style:{width:"100%"},options:(i==null?void 0:i.possibleTypes.map(c=>({label:c,value:c})))||[],onChange:c=>{n==null||n(c),o(N(T({},i),{type:c}),s.name)}}):a.jsx(S.Tag,{children:t})},{displayName:"FieldType"}),hy=()=>{const{t:e}=B.useTranslation(),{unsupportedFields:t}=r.useRecord(),o=[{title:e("Field name"),dataIndex:"name",key:"name"},{title:e("Field database type",{ns:K}),dataIndex:"rawType",key:"rawType"}];return(t==null?void 0:t.length)>0&&a.jsxs(a.Fragment,{children:[a.jsx(S.Divider,{plain:!0,orientation:"left",orientationMargin:"0",children:a.jsx("h3",{children:e("Unknown field type",{ns:K})})}),a.jsx("div",{style:{marginBottom:"15px"},children:e("The following field types are not compatible and do not support output and display",{ns:K})}),a.jsx(S.Table,{columns:o,dataSource:t,pagination:!1})]})},st=d.createContext({refreshRM:()=>{},titleField:null,targetCollection:null});st.displayName="RemoteCollectionContext";const it=()=>d.useContext(st),Io=()=>{const e=w.useField(),t=d.useMemo(()=>ye.createForm(),[]),o=r.useAttach(t.createArrayField(N(T({},e.props),{basePath:""}))),{t:n}=B.useTranslation(),{name:s}=G.useParams(),i=r.useAPIClient(),c=r.useCompile(),l=d.useContext(r.ResourceActionContext),p=r.useResourceContext(),{targetKey:u}=p||{},y=r.useRecord(),{[u]:m,titleField:b,name:P}=y,[A,C]=d.useState(b),v=$=>{const O=d.useContext(r.ResourceActionContext),I=w.useField();return d.useEffect(()=>{O.loading||($==null||$.onSuccess(O.data),I.componentProps.dragSort=!!O.dragSort)},[O.loading]),O},f={association:{sourceKey:"name",targetKey:"name"},dragSort:!1,collection:nn,request:{url:`dataSourcesCollections/${s}.${P}/fields:list`,params:{paginate:!1,filter:{$or:[{"interface.$not":null},{"options.source.$notEmpty":!0}]},sort:["sort"]}}},g=r.useDataSourceManager();let h=!1;const x=[],F=()=>_(this,null,function*(){if(h||x.length===0)return;h=!0;const{value:$,filterByTk:O,flag:I}=x.shift();try{yield k($,O,I)}catch(U){console.error("Error processing handleFieldChange:",U)}finally{h=!1,F()}}),E=($,O,I)=>{x.push({value:$,filterByTk:O,flag:I}),F()},k=($,O,I=!0)=>_(this,null,function*(){yield i.request({url:`dataSourcesCollections/${s}.${P}/fields:update?filterByTk=${O}`,method:"post",data:$}),g.getDataSource(s).reload(),I&&S.message.success(n("Saved successfully"))}),D=()=>({filterByTk:m,titleField:A,dataSourceKey:s,setTitleField:C}),j=($,O,I)=>_(this,null,function*(){var X,Se;const{targetScope:U}=O,z=((X=$.props)==null?void 0:X.name)==="inherits",{data:R}=yield i.request({url:`dataSources/${s}/collections:list`,params:{paginate:!1,appends:["fields"],sort:["sort"]}});return((Se=R==null?void 0:R.data)==null?void 0:Se.filter(H=>{var zo;if(I!=null&&I.includes(H.template)||H.autoCreate&&H.isThrough||z&&H.template==="view")return!1;const Lf=!(U!=null&&U.template)||U.template.includes(H.template),qf=!(U!=null&&U[(zo=$.props)==null?void 0:zo.name])||U[$.props.name].includes(H.name);return Lf&&qf})).map(H=>({label:c(H.title||H.name),value:H.name}))});return a.jsxs(st.Provider,{value:{refreshRM:()=>{l.refresh()},titleField:A,targetCollection:y},children:[a.jsx(r.ResourceActionProvider,N(T({},f),{children:a.jsx(w.FormContext.Provider,{value:t,children:a.jsx(w.FieldContext.Provider,{value:o,children:a.jsx(r.SchemaComponentOptions,{components:{TitleField:an,CollectionFieldInterfaceSelect:cn,AddCollectionField:fn,SourceCollection:pn,TargetKey:un,SourceKey:ln,FieldTitleInput:hn,EditCollectionField:yy,Select:r.Select,FieldType:gy,ForeignKey:vt,ThroughCollection:dn},inherit:!0,scope:{useDataSource:v,useTitleFieldProps:D,enqueueChange:E,useDestroyActionAndRefreshCM:xn,useBulkDestroyActionAndRefreshCM:bn,loadCollections:j},children:a.jsx(w.RecursionField,{schema:rn,onlyRenderProperties:!0})})})})})),a.jsx(hy,{})]})},Cy=(e,t,o,n)=>{if(!e)return;const s=ee(e.configurableProperties)||{title:{"x-component":"CollectionField","x-decorator":"FormItem"},name:{"x-component":"CollectionField","x-decorator":"FormItem"}};return e.hasDefaultValue===!0&&(s.defaultValue=ee(e.default.uiSchema),s.defaultValue.title=o('{{ t("Default value") }}'),s.defaultValue["x-decorator"]="FormItem"),{type:"object",properties:{[V.uid()]:{type:"void","x-component":"Action.Drawer","x-decorator":"Form","x-decorator-props":{useValues:"{{ useValuesFromRecord }}"},title:'{{ t("Edit collection") }}',properties:N(T({},ke(s,"category","inherits","moreOptions")),{filterTargetKey:{title:`{{ t("Filter target key",{ ns: "${K}" }) }}`,type:"single",description:r.tval("Filter data based on the specific field, with the requirement that the field value must be unique.",{ns:K}),"x-decorator":"FormItem","x-component":"Select",enum:"{{filterTargetKeyOptions}}","x-visible":"{{!!isView}}"},footer:{type:"void","x-component":"Action.Drawer.Footer",properties:{action1:{title:'{{ t("Cancel") }}',"x-component":"Action","x-component-props":{useAction:"{{ useCancelAction }}"}},action2:{title:'{{ t("Submit") }}',"x-component":"Action","x-component-props":{type:"primary",useAction:"{{ useUpdateCollectionActionAndRefreshCM }}"}}}}})}}}},vy=e=>{const t=r.useRecord(),o=r.useRequest(()=>{var s;return Promise.resolve({data:N(T({},ke(ee(t),["__parent","__collectionName"])),{category:(s=t==null?void 0:t.category)==null?void 0:s.map(i=>i.id)})})},N(T({},e),{manual:!0})),n=r.useActionContext();return d.useEffect(()=>{n.visible&&o.run()},[n.visible]),o},by=e=>{const{refreshCM:t}=r.useCollectionManager_deprecated(),o=w.useForm(),n=r.useActionContext(),{name:s}=G.useParams(),{refresh:i}=r.useResourceActionContext(),{resource:c,targetKey:l}=r.useResourceContext(),{[l]:p}=r.useRecord(),u=r.useAPIClient(),y=r.useDataSourceManager();return{run(){return _(this,null,function*(){yield o.submit(),yield u.request({url:`dataSources/${s}/collections:update?filterByTk=${p}`,method:"post",data:T({},ke(o.values,["fields","autoGenId","createdAt","updatedAt","createdBy","updatedBy","sortable"]))}),yield y.getDataSource(s).reload(),n.setVisible(!1),yield o.reset(),i(),yield t()})}}},xy=e=>{const t=r.useRecord();return a.jsx(Sy,T({item:t},e))},Sy=e=>{var C;const A=e,{scope:t,getContainer:o,item:n,children:s}=A,i=ut(A,["scope","getContainer","item","children"]),{getTemplate:c}=r.useCollectionManager_deprecated(),[l,p]=d.useState(!1),[u,y]=d.useState({}),{t:m}=B.useTranslation(),b=r.useCompile(),P=(C=n.fields)==null?void 0:C.map(v=>{var f;return{label:(f=v.uiSchema)!=null&&f.title?b(v.uiSchema.title):v.name,value:v.name}});return a.jsx(r.RecordProvider,{record:n,children:a.jsxs(r.ActionContextProvider,{value:{visible:l,setVisible:p},children:[a.jsx("a",N(T({},i),{onClick:()=>_(this,null,function*(){const v=c(n.template),f=Cy(T({},v),n,b);y(f),p(!0)}),children:s||m("Edit")})),a.jsx(r.SchemaComponent,{schema:u,components:{ArrayTable:ae.ArrayTable},scope:T({getContainer:o,useValuesFromRecord:vy,useUpdateCollectionActionAndRefreshCM:by,useCancelAction:r.useCancelAction,createOnly:!1,filterTargetKeyOptions:P,isView:n.view,createMainOnly:!0},t)})]})})},Ay=(e,t)=>(o,n)=>{o.loading=!0,e(o,n,t).then(pt.action.bound(s=>{o.dataSource=s,o.loading=!1})).catch(s=>console.log(s))},$y=()=>{const[e,t]=d.useState([]);return[e,t]},Ty=()=>{const e=r.useRecord(),t=w.useForm();return{run(){return _(this,null,function*(){var s,i,c;const n=(c=(i=(s=t.values)==null?void 0:s.children)==null?void 0:i.slice)==null?void 0:c.call(i);t.setValuesIn("children",n.filter(l=>l.name!==e.name))})}}},Fy=()=>({run(){return _(this,null,function*(){})}}),wy=e=>`${e||""}${V.uid()}`,_y=()=>{const{t:e}=B.useTranslation(),{interfaces:t}=r.useCollectionManager_deprecated(),{data:{database:o}}=r.useCurrentAppInfo(),n=r.useDataSourceManager(),s=d.useContext(r.SchemaComponentContext),{name:i}=G.useParams(),c=d.useContext(r.CollectionCategroriesContext),l=r.useAPIClient(),p=l.resource("dbViews"),u=r.useCompile(),y=()=>_(this,null,function*(){return c.data.map(C=>({label:u(C.name),value:C.id}))}),m=()=>_(this,null,function*(){return p.list().then(({data:C})=>{var v;return(v=C==null?void 0:C.data)==null?void 0:v.map(f=>{const g=f.schema;return{label:g?`${g}.${u(f.name)}`:f.name,value:g?`${g}_${f.name}`:f.name}})})}),b=()=>_(this,null,function*(){return l.resource("storages").list().then(({data:C})=>{var v;return(v=C==null?void 0:C.data)==null?void 0:v.map(f=>({label:e(u(f.title)),value:f.name}))})}),P=()=>{const C=d.useContext(r.ResourceActionContext),v=r.useAPIClient(),f=w.useField(),{name:g}=G.useParams();f.data=f.data||{};const{setDataSource:h,dataSource:x}=d.useContext(Ae);return{onClick(){return _(this,null,function*(){var E,k,D;f.data.loading=!0;try{const{data:j}=yield v.request({url:`dataSources:refresh?filterByTk=${g}&clientStatus=${(x==null?void 0:x.status)||"loaded"}`,method:"post"});f.data.loading=!1,h(j==null?void 0:j.data),((E=j==null?void 0:j.data)==null?void 0:E.status)==="reloading"?S.message.warning(e("Data source synchronization in progress")):((k=j==null?void 0:j.data)==null?void 0:k.status)==="loaded"&&(S.message.success(e("Data source synchronization successful")),(D=C==null?void 0:C.refresh)==null||D.call(C)),yield n.getDataSource(g).reload()}catch(j){f.data.loading=!1}})}}},A=d.useMemo(()=>on(i),[i]);return a.jsx(r.SchemaComponentContext.Provider,{value:N(T({},s),{designable:!1}),children:a.jsx(r.SchemaComponent,{schema:A,components:{EditCollection:xy,AddSubFieldAction:r.AddSubFieldAction,EditSubFieldAction:r.EditSubFieldAction,FieldSummary:r.FieldSummary,TemplateSummay:r.TemplateSummary,CollectionFields:Io},scope:{useRefreshActionProps:P,useDestroySubField:Ty,useBulkDestroySubField:Fy,useSelectedRowKeys:$y,useAsyncDataSource:Ay,loadCategories:y,loadDBViews:m,loadStorages:b,useNewId:wy,useCancelAction:r.useCancelAction,interfaces:t,enableInherits:(o==null?void 0:o.dialect)==="postgres",isPG:(o==null?void 0:o.dialect)==="postgres"}})})};var Oo={exports:{}};/*!
10
+ (function(M,s){typeof exports=="object"&&typeof module!="undefined"?s(exports,require("react/jsx-runtime"),require("@nocobase/client"),require("react"),require("@formily/react"),require("antd"),require("react-i18next"),require("@ant-design/icons"),require("react-router-dom"),require("@formily/shared"),require("@formily/reactive"),require("@formily/core"),require("@formily/antd-v5"),require("lodash"),require("@dnd-kit/core"),require("@emotion/css"),require("antd-style")):typeof define=="function"&&define.amd?define(["exports","react/jsx-runtime","@nocobase/client","react","@formily/react","antd","react-i18next","@ant-design/icons","react-router-dom","@formily/shared","@formily/reactive","@formily/core","@formily/antd-v5","lodash","@dnd-kit/core","@emotion/css","antd-style"],s):(M=typeof globalThis!="undefined"?globalThis:M||self,s(M["@nocobase/plugin-data-source-manager"]={},M.jsxRuntime,M["@nocobase/client"],M.react,M["@formily/react"],M.antd,M["react-i18next"],M["@ant-design/icons"],M["react-router-dom"],M["@formily/shared"],M["@formily/reactive"],M["@formily/core"],M["@formily/antd-v5"],M.lodash,M["@dnd-kit/core"],M["@emotion/css"],M["antd-style"]))})(this,function(M,s,r,d,w,S,B,Q,G,V,pt,ye,ae,Y,W,fe,Yo){"use strict";var Gf=Object.defineProperty,Uf=Object.defineProperties;var zf=Object.getOwnPropertyDescriptors;var Ke=Object.getOwnPropertySymbols;var Ho=Object.prototype.hasOwnProperty,Wo=Object.prototype.propertyIsEnumerable;var lt=(M,s,r)=>s in M?Gf(M,s,{enumerable:!0,configurable:!0,writable:!0,value:r}):M[s]=r,T=(M,s)=>{for(var r in s||(s={}))Ho.call(s,r)&&lt(M,r,s[r]);if(Ke)for(var r of Ke(s))Wo.call(s,r)&&lt(M,r,s[r]);return M},N=(M,s)=>Uf(M,zf(s));var ut=(M,s)=>{var r={};for(var d in M)Ho.call(M,d)&&s.indexOf(d)<0&&(r[d]=M[d]);if(M!=null&&Ke)for(var d of Ke(M))s.indexOf(d)<0&&Wo.call(M,d)&&(r[d]=M[d]);return r};var Qo=(M,s,r)=>(lt(M,typeof s!="symbol"?s+"":s,r),r);var _=(M,s,r)=>new Promise((d,w)=>{var S=G=>{try{Q(r.next(G))}catch(V){w(V)}},B=G=>{try{Q(r.throw(G))}catch(V){w(V)}},Q=G=>G.done?d(G.value):Promise.resolve(G.value).then(S,B);Q((r=r.apply(M,s)).next())});const K="data-source-manager";function Jo(e,t={}){return r.i18n.t(e,N(T({},t),{ns:K}))}const Zo=e=>{const t=w.useForm(),o=r.useActionContext(),n=r.useAPIClient(),{t:i}=B.useTranslation(),a=w.useField();return a.data=a.data||{},{run(){return _(this,null,function*(){yield t.submit();try{a.data.loading=!0;const{data:l}=yield n.resource("databaseServers").create({values:T({},t.values)});a.data.loading=!1,o.setVisible(!1),yield t.reset(),e==null||e(l==null?void 0:l.data),S.message.success(i("Saved successfully"))}catch(l){a.data.loading=!1,console.log(l)}})}}},dt=()=>{const e=w.useForm(),t=r.useAPIClient(),{t:o}=B.useTranslation(),n=w.useField();return n.data=n.data||{},{run(){return _(this,null,function*(){yield e.submit();try{n.data.loading=!0,yield t.resource("dataSources").testConnection({values:T({},e.values)}),n.data.loading=!1,S.message.success(o("Connection successful",{ns:K}))}catch(a){n.data.loading=!1,console.log(a)}})}}},Xo=Object.freeze(Object.defineProperty({__proto__:null,useCreateDatabaseServer:Zo,useTestConnectionAction:dt},Symbol.toStringTag,{value:"Module"})),Ae=d.createContext(null);Ae.displayName="DataSourceContext";const Ro=e=>{const[t,o]=d.useState(null);return s.jsx(Ae.Provider,{value:{dataSource:t,setDataSource:o},children:s.jsx(r.SchemaComponentOptions,{scope:Xo,components:{},children:e.children})})};class mt extends r.DataSource{getDataSource(){return _(this,null,function*(){return(yield this.app.apiClient.request({url:`dataSources:get/${this.key}`,params:{appends:["collections"]}})).data.data})}}const yt=[{value:"loading",label:`{{t("Loading",{ns:"${K}"})}}`,color:"orange"},{value:"loading-failed",label:`{{t("Failed",{ns:"${K}"})}}`,color:"red"},{value:"loaded",label:`{{t("Loaded",{ns:"${K}"})}}`,color:"green"},{value:"reloading",label:`{{t("Reloading",{ns:"${K}"})}}`,color:"orange"}],ft={name:"collections-"+V.uid(),fields:[{type:"string",name:"key",interface:"input",uiSchema:{title:`{{t("Data source name",{ ns: "${K}" })}}`,type:"string","x-component":"Input",required:!0}},{type:"string",name:"displayName",interface:"input",uiSchema:{title:`{{t("Data source display name",{ ns: "${K}" })}}`,type:"string","x-component":"Input",required:!0}},{type:"string",name:"type",interface:"select",uiSchema:{title:`{{t("Type", { ns: "${K}" })}}`,type:"string","x-component":"Select",enum:"{{types}}"}},{type:"string",name:"status",interface:"select",uiSchema:{title:`{{t("Status", { ns: "${K}" })}}`,type:"string","x-component":"Select",enum:yt}},{type:"boolean",name:"enabled",uiSchema:{type:"boolean",title:'{{t("Enabled")}}',"x-component":"Checkbox"}}]},en={type:"object",properties:{[V.uid()]:{type:"void","x-decorator":"ResourceActionProvider","x-decorator-props":{collection:ft,resourceName:"dataSources",request:{resource:"dataSources",action:"list",params:{pageSize:50,appends:[]}}},"x-component":"CollectionProvider_deprecated","x-component-props":{collection:ft},properties:{actions:{type:"void","x-component":"ActionBar","x-component-props":{style:{marginBottom:16}},properties:{refresh:{type:"void",title:'{{ t("Refresh") }}',"x-component":"Action","x-use-component-props":"useRefreshActionProps","x-component-props":{icon:"ReloadOutlined"}},delete:{type:"void",title:'{{ t("Delete") }}',"x-component":"Action","x-component-props":{icon:"DeleteOutlined",useAction:"{{ cm.useBulkDestroyAction }}",confirm:{title:"{{t('Delete')}}",content:"{{t('Are you sure you want to delete it?')}}"},actionCallback:"{{ dataSourceDeleteCallback }}"}},create:{type:"void",title:'{{t("Add new")}}',"x-component":"CreateDatabaseConnectAction","x-component-props":{type:"primary"}}}},table:{type:"void","x-uid":"input","x-component":"Table.Void","x-component-props":{rowKey:"key",rowSelection:{type:"checkbox"},useDataSource:"{{ cm.useDataSourceFromRAC }}"},properties:{key:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",properties:{key:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}},displayName:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",properties:{displayName:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}},type:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",properties:{type:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}},status:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",properties:{status:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}},enabled:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",properties:{enabled:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}},actions:{type:"void",title:'{{t("Actions")}}',"x-component":"Table.Column",properties:{actions:{type:"void","x-component":"Space","x-component-props":{},properties:{view:{type:"void",title:'{{t("View")}}',"x-component":"ViewDatabaseConnectionAction","x-component-props":{type:"primary"}},update:{type:"void",title:'{{t("Edit")}}',"x-component":"EditDatabaseConnectionAction","x-component-props":{type:"primary"},"x-reactions":["{{useIsAbleDelete($self)}}"]},delete:{type:"void",title:'{{ t("Delete") }}',"x-component":"Action.Link","x-component-props":{confirm:{title:'{{t("Delete")}}',content:'{{t("Are you sure you want to delete it?")}}'},useAction:"{{useDestroyAction}}"},"x-reactions":["{{useIsAbleDelete($self)}}"]}}}}}}}}}}},gt=()=>{const e=r.useApp(),{name:t}=G.useParams(),o=r.useCompile(),n=r.useDataSourceManager(),{displayName:i}=n.getDataSource(t)||{},{dataSource:a}=d.useContext(Ae),c=d.useMemo(()=>a||n.getDataSource(t),[a,t]),l=d.useMemo(()=>{const p=c==null?void 0:c.status,u=yt.find(m=>m.value===p),y=[{title:s.jsx(G.Link,{to:e.pluginSettingsManager.getRoutePath(K),children:Jo("Data source manager")})}];return c&&y.push({title:s.jsxs(S.Space,{children:[s.jsx("span",{children:o(i)}),p&&s.jsx(S.Tag,{color:u==null?void 0:u.color,children:o(u==null?void 0:u.label)},p)]})}),y},[c]);return s.jsx(S.Breadcrumb,{separator:s.jsx(Q.RightOutlined,{}),items:l})},ht=e=>w.Schema.compile(e,{t:r.i18n.t}),tn={name:"database-"+V.uid(),filterTargetKey:"name",targetKey:"name",sortable:!0,fields:[{type:"integer",name:"title",interface:"input",uiSchema:{title:'{{ t("Collection display name") }}',type:"number","x-component":"Input",required:!0}},{type:"string",name:"name",interface:"input",uiSchema:{title:'{{ t("Collection name") }}',type:"string","x-component":"CollectionName",description:'{{t("Randomly generated and can be modified. Support letters, numbers and underscores, must start with an letter.")}}'}},{type:"hasMany",name:"fields",target:"fields",collectionName:"collections",sourceKey:"name",targetKey:"name",uiSchema:{}},{type:"hasMany",name:"inherits",interface:"select",uiSchema:{title:'{{ t("Inherits") }}',type:"string","x-component":"Select","x-component-props":{mode:"multiple"}}},{type:"string",name:"description",interface:"input",uiSchema:{title:'{{ t("Description") }}',type:"string","x-component":"Input"}}]},on=e=>({type:"object",properties:{[V.uid()]:{type:"void","x-collection":"dataSources","x-decorator":"ResourceActionProvider","x-decorator-props":{collection:tn,dragSort:!1,request:{url:`dataSources/${e}/collections:list`,params:{pageSize:50,sort:"sort",filter:{"hidden.$isFalsy":!0},appends:["category"]}}},properties:{tabs:{type:"void","x-component":"ConfigurationTabs"}}}}}),Ne={type:"object",properties:{[V.uid()]:{type:"void","x-component":"ActionBar","x-component-props":{style:{marginBottom:16}},properties:{filter:{type:"void",title:'{{ t("Filter") }}',default:{$and:[{title:{$includes:""}},{name:{$includes:""}}]},"x-action":"filter","x-component":"Filter.Action","x-use-component-props":"cm.useFilterActionProps","x-component-props":{icon:"FilterOutlined"},"x-align":"left"},refresh:{type:"void",title:'{{ t("Refresh") }}',"x-component":"Action","x-use-component-props":"useRefreshActionProps","x-component-props":{icon:"ReloadOutlined"}},delete:{type:"void",title:'{{ t("Delete") }}',"x-component":"DeleteCollection","x-component-props":{role:"button",isBulk:!0},"x-visible":!1},create:{type:"void",title:'{{ t("Create collection") }}',"x-component":"AddCollection","x-component-props":{type:"primary"},"x-visible":!1}}},[V.uid()]:{type:"void","x-uid":"input","x-component":"Table.Void","x-component-props":{rowKey:"name",rowSelection:{type:"checkbox"},useDataSource:"{{cm.useDataSourceFromRAC }}",useAction(){const e=r.useAPIClient(),{t}=B.useTranslation();return{move(n,i){return _(this,null,function*(){yield e.resource("dataSources").move({sourceId:n.key,targetId:i.key}),S.message.success(t("Saved successfully"),.2)})}}}},properties:{column1:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",properties:{title:{"x-component":"CollectionField","x-read-pretty":!0}}},column2:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",properties:{name:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}},column5:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",properties:{description:{"x-component":"CollectionField","x-read-pretty":!0,"x-component-props":{ellipsis:!0}}}},column6:{type:"void",title:'{{ t("Actions") }}',"x-component":"Table.Column",properties:{actions:{type:"void","x-component":"Space","x-component-props":{split:"|"},properties:{view:{type:"void",title:'{{ t("Configure fields") }}',"x-component":"Action.Link","x-component-props":{},properties:{drawer:{type:"void","x-component":"Action.Drawer","x-component-props":{destroyOnClose:!0,width:"70%"},"x-reactions":e=>{const t=e.path.segments[1],o=e.path.segments[0],n=e.form.getValuesIn(`${o}.${t}`);n&&(e.title=`${ht(n.title||n.name)} - ${ht('{{ t("Configure fields") }}')}`)},properties:{collectionFields:{type:"void","x-component":"CollectionFields"}}}}},update:{type:"void",title:'{{ t("Edit") }}',"x-component":"EditCollection","x-component-props":{role:"button","aria-label":'{{ "edit-button-" + $record.name }}',type:"primary"}},delete:{type:"void",title:'{{ t("Delete") }}',"x-visible":!1,"x-component":"DeleteCollection","x-component-props":{role:"button","aria-label":'{{ "delete-button-" + $record.name }}',type:"primary",className:"nb-action-link"}}}}}}}}}},nn={name:"fields",fields:[{type:"string",name:"type",interface:"input",uiSchema:{title:'{{ t("Storage type") }}',type:"string","x-component":"Select",enum:[{label:"String",value:"string"}],required:!0}},{type:"string",name:"interface",interface:"input",uiSchema:{title:`{{t("Field interface", { ns: "${K}" })}}`,type:"string","x-component":"Select",enum:"{{interfaces}}"}},{type:"string",name:"title",interface:"input",uiSchema:{title:'{{ t("Field display name") }}',type:"string","x-component":"Input",required:!0}},{type:"string",name:"name",interface:"input",uiSchema:{title:'{{ t("Field name") }}',type:"string","x-component":"Input"}},{type:"string",name:"description",interface:"input",uiSchema:{title:'{{ t("Description") }}',type:"string","x-component":"Input.TextArea"}}]},rn={type:"object",properties:{[V.uid()]:{type:"void","x-component":"ActionBar","x-component-props":{style:{marginBottom:16}},properties:{delete:{type:"void",title:'{{ t("Delete") }}',"x-component":"Action","x-visible":!1,"x-component-props":{useAction:"{{ useBulkDestroyActionAndRefreshCM }}",confirm:{title:"{{t('Delete record')}}",content:"{{t('Are you sure you want to delete it?')}}"}}},syncfromDatabase:{type:"void",title:'{{ t("Sync from database") }}',"x-component":"SyncFieldsAction","x-component-props":{type:"primary"}},syncSQL:{type:"void",title:'{{ t("Sync from database") }}',"x-component":"SyncSQLFieldsAction","x-component-props":{type:"primary"}},create:{type:"void",title:'{{ t("Add new") }}',"x-component":"AddCollectionField","x-component-props":{type:"primary"}}}},[V.uid()]:{type:"void","x-uid":"input","x-component":"Table.Void","x-component-props":{pagination:!1,rowKey:"name",rowSelection:{type:"checkbox"},dragSort:!1,useDataSource:"{{ useDataSource }}"},properties:{column1:{type:"void",title:'{{ t("Field display name") }}',"x-component":"Table.Column",properties:{"uiSchema.title":{type:"string","x-component":"FieldTitleInput","x-component-props":{handleFieldChange:"{{enqueueChange}}"}}}},column2:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",properties:{name:{"x-component":"CollectionField","x-read-pretty":!0}}},column3:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",title:'{{t("Field type")}}',properties:{type:{"x-component":"FieldType","x-component-props":{handleFieldChange:"{{enqueueChange}}"}}}},column4:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",title:`{{t("Field interface", { ns: "${K}" })}}`,properties:{interface:{"x-component":"CollectionFieldInterfaceSelect","x-component-props":{handleFieldChange:"{{enqueueChange}}"}}}},column5:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",title:'{{t("Title field")}}',properties:{titleField:{"x-component":"TitleField","x-use-component-props":"useTitleFieldProps","x-read-pretty":!1}}},column6:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",title:'{{ t("Description") }}',properties:{description:{"x-component":"CollectionField","x-read-pretty":!0,"x-component-props":{ellipsis:!0,style:{width:100}}}}},column7:{type:"void",title:'{{ t("Actions") }}',"x-component":"Table.Column",properties:{actions:{type:"void","x-component":"Space","x-component-props":{split:"|"},properties:{update:{type:"void",title:'{{ t("Edit") }}',"x-component":"EditCollectionField","x-component-props":{role:"button","aria-label":'{{ "edit-button-" + $record.name }}',type:"primary"}},delete:{type:"void",title:'{{ t("Delete") }}',"x-disabled":"{{cm.useDeleteButtonDisabled()}}","x-component":"Action.Link","x-component-props":{confirm:{title:"{{t('Delete record')}}",content:"{{t('Are you sure you want to delete it?')}}"},useAction:"{{ useDestroyActionAndRefreshCM }}"},"x-reactions":[{dependencies:[".interface"],fulfill:{state:{visible:"{{ ['obo','oho','m2m','o2m','m2o'].includes($deps[0]) }}"}}}]}}}}}}}}},an=r.withDynamicSchemaProps(e=>{const{t}=B.useTranslation(),{isTitleField:o}=r.useCollectionManager_deprecated(),[n,i]=d.useState(null),{setTitleField:a,filterByTk:c,dataSourceKey:l}=r.useProps(e),p=r.useRecord(),u=r.useAPIClient(),{refreshRM:y,titleField:m}=it(),b=P=>_(this,null,function*(){i(p),yield u.request({url:`dataSources/${l}/collections:update?filterByTk=${c}`,method:"post",data:{titleField:P?p.name:"id"}}),S.message.success(t("Saved successfully")),y(),a(P?p.name:"id"),i(null)});return o(p)?s.jsx(S.Tooltip,{title:t("Default title for each record"),placement:"right",overlayInnerStyle:{textAlign:"center"},children:s.jsx(S.Switch,{"aria-label":`switch-title-field-${p==null?void 0:p.name}`,size:"small",loading:(p==null?void 0:p.name)===(n==null?void 0:n.name),checked:(p==null?void 0:p.name)===(m||"id"),onChange:b})}):null},{displayName:"TitleField"}),Ct=(e,t)=>{const o=[];return e.forEach(n=>{const i=n.children.filter(a=>{var c;return(c=a==null?void 0:a.availableTypes)==null?void 0:c.includes(t)});o.push({label:n.label,key:n.key,children:i})}),o.filter(n=>t==="sort"?n.key==="advanced":n.children.length>0)},sn=(e,t)=>t==null?void 0:t.some(o=>{var n,i;return(i=(n=o.children)==null?void 0:n.some)==null?void 0:i.call(n,a=>a.name===e)}),cn=w.observer(e=>{var P;const{value:t,handleFieldChange:o}=e,{data:n}=r.useCollectionRecord(),{getInterface:i}=r.useCollectionManager_deprecated(),a=r.useCompile(),c=r.useFieldInterfaceOptions(),l=Ct(c,n.type),[p,u]=d.useState(t),[y,m]=d.useState(l),b=n.type;return d.useEffect(()=>{var A,C,v,f,g,h,x,F,E,k,D,j;if(y.length===1&&((C=(A=y[0])==null?void 0:A.children)==null?void 0:C.length)===1){const $=(g=(f=(v=y[0])==null?void 0:v.children)==null?void 0:f[0])==null?void 0:g.name;if($!==p){const O=i($);o({interface:$,uiSchema:T({title:(h=n==null?void 0:n.uiSchema)==null?void 0:h.title},(x=O==null?void 0:O.default)==null?void 0:x.uiSchema)},n.name,!1),u($)}}else if(p&&!sn(p,y)){const $=(k=(E=(F=y[0])==null?void 0:F.children)==null?void 0:E[0])==null?void 0:k.name,O=i($);o({interface:$,uiSchema:T({title:(D=n==null?void 0:n.uiSchema)==null?void 0:D.title},(j=O==null?void 0:O.default)==null?void 0:j.uiSchema)},n.name,!1),u($)}},[y]),d.useEffect(()=>{if(n!=null&&n.possibleTypes){const A=Ct(c,b);m(A)}},[b]),["oho","obo","o2m","m2o","m2m"].includes(n.interface)?s.jsx(S.Tag,{children:a((P=c.find(A=>A.key==="relation").children.find(A=>A.name===t))==null?void 0:P.label)},t):s.jsx(S.Select,{"aria-label":`field-interface-${n==null?void 0:n.type}`,role:"button",value:p,style:{width:"100%"},popupMatchSelectWidth:!1,onChange:A=>{var v,f;const C=i(A);o({interface:A,uiSchema:T({title:(v=n==null?void 0:n.uiSchema)==null?void 0:v.title},(f=C==null?void 0:C.default)==null?void 0:f.uiSchema)},n.name),u(A)},children:y.map(A=>s.jsx(S.Select.OptGroup,{label:a(A.label),children:A.children.map(C=>s.jsx(S.Select.Option,{value:C.name,children:a(C.label)},C.name))},A.key))})},{displayName:"CollectionFieldInterfaceSelect"}),$e=["string","bigInt","integer","uuid","uid"],ln=w.observer(e=>{var u,y;const{name:t}=G.useParams(),{collectionName:o,sourceKey:n,name:i}=r.useRecord(),a=w.useField(),c=r.useCompile(),{getCollection:l}=r.useCollectionManager_deprecated(),p=(u=l(o||i,t).fields)==null?void 0:u.filter(m=>m.primaryKey||m.unique).map(m=>{var b;return{value:m.name,label:c(((b=m.uiSchema)==null?void 0:b.title)||m.title||m.name)}});return d.useEffect(()=>{var m;a.initialValue=((m=p==null?void 0:p[0])==null?void 0:m.value)||n},[]),s.jsx("div",{children:s.jsx(S.Select,{disabled:n,options:p,defaultValue:((y=p==null?void 0:p[0])==null?void 0:y.value)||n,onChange:e==null?void 0:e.onChange,showSearch:!0})})},{displayName:"SourceKey"}),vt=w.observer(e=>{const{disabled:t}=e,o=r.useAPIClient(),[n,i]=d.useState([]),{name:a}=G.useParams(),c=r.useRecord(),l=w.useField(),{collectionName:p,target:u,type:y,through:m,name:b}=c,P=c[l.props.name],{getCollection:A}=r.useCollectionManager_deprecated(),C=r.useCompile(),v=w.useForm(),[f,g]=d.useState(P);return d.useEffect(()=>{var F;l.initialValue=null;const h=["belongsTo"].includes(y)?p:["belongsToMany"].includes(y)?m:u,x=(F=A(h,a))==null?void 0:F.fields;if(x){const E=x==null?void 0:x.filter(k=>$e.includes(k.type)).map(k=>{var D;return{value:k.name,label:C(((D=k.uiSchema)==null?void 0:D.title)||k.title||k.name)}});if(i(E),P){const k=E.find(D=>D.value===P);g((k==null?void 0:k.label)||P)}}},[y]),d.useEffect(()=>{g(P)},[P]),s.jsx("div",{children:s.jsx(S.Select,{disabled:t,value:f,options:n,showSearch:!0,onDropdownVisibleChange:h=>_(this,null,function*(){var D;const{target:x,type:F,through:E}=v.values,k=["belongsTo"].includes(F)?p||b:["belongsToMany"].includes(F)?E:x;if(k&&h){const{data:j}=yield o.request({url:`dataSourcesCollections/${a}.${k}/fields:list`,params:{paginate:!1,filter:{$or:[{"interface.$not":null},{"options.source.$notEmpty":!0}]},sort:["sort"]}});i((D=j.data)==null?void 0:D.filter($=>$e.includes($.type)).map($=>{var O;return{value:$.name,label:C(((O=$.uiSchema)==null?void 0:O.title)||$.title||$.name)}}))}}),onChange:h=>{var x;(x=e==null?void 0:e.onChange)==null||x.call(e,h),g(h)}})})},{displayName:"ForeignKey"}),un=w.observer(e=>{const{value:t,disabled:o}=e,{targetKey:n,target:i,type:a}=r.useRecord(),{name:c}=G.useParams(),{getCollection:l}=r.useCollectionManager_deprecated(),p=r.useAPIClient(),[u,y]=d.useState([]),[m,b]=d.useState(t||n),P=w.useForm(),A=r.useCompile(),C=w.useField();return C.required=!0,d.useEffect(()=>{var v;i&&y((v=l(i,c).fields)==null?void 0:v.filter(f=>a!=="hasMany"?f.primaryKey||f.unique:$e.includes(f.type)).map(f=>{var g;return{value:f.name,label:A(((g=f==null?void 0:f.uiSchema)==null?void 0:g.title)||f.title||f.name)}}))},[]),s.jsx("div",{children:s.jsx(S.Select,{showSearch:!0,options:u,onDropdownVisibleChange:v=>_(this,null,function*(){var h;const{target:f,type:g}=P.values;if(f&&v){const{data:x}=yield p.request({url:`dataSourcesCollections/${c}.${f}/fields:list`,params:{paginate:!1,filter:{$or:[{"interface.$not":null},{"options.source.$notEmpty":!0}]},sort:["sort"]}});y((h=x.data)==null?void 0:h.filter(F=>g!=="hasMany"?F.primaryKey||F.unique:$e.includes(F.type)).map(F=>{var E;return{value:F.name,label:A(((E=F.uiSchema)==null?void 0:E.title)||F.title||F.name)}}))}}),onChange:v=>{var f;(f=e==null?void 0:e.onChange)==null||f.call(e,v),b(v)},value:m,disabled:o})})},{displayName:"TargetKey"}),pn=w.observer(()=>{const e=r.useCompile(),{targetCollection:t}=it();return s.jsx("div",{children:s.jsx(S.Select,{disabled:!0,showSearch:!0,popupMatchSelectWidth:!1,value:t.name,options:[{value:t.name,label:e(t.title||t.name)}]})})},{displayName:"SourceCollection"}),dn=w.observer(e=>{const{disabled:t}=e,o=r.useCompile(),[n,i]=d.useState([]),{name:a}=G.useParams(),c=w.useField(),{getCollections:l}=r.useCollectionManager_deprecated(a),u=r.useRecord()[c.props.name],y=()=>l().filter(b=>!(b.autoCreate&&b.isThrough)).map(b=>({label:o(b.title||b.name),value:b.name}));return d.useEffect(()=>{const m=y();i(m)},[]),s.jsx("div",{children:s.jsx(S.Select,{disabled:t,showSearch:!0,popupMatchSelectWidth:!1,fieldNames:{label:"label",value:"value"},defaultValue:u,options:n,onChange:m=>{var b;(b=e==null?void 0:e.onChange)==null||b.call(e,m)}})})},{displayName:"ThroughCollection"}),mn=(e,t,o)=>{var a;if(!e)return;const n=Y.cloneDeep(e.properties);n!=null&&n.foreignKey&&(n.foreignKey["x-component"]=vt),e.hasDefaultValue===!0&&(n.defaultValue=Y.cloneDeep((a=e==null?void 0:e.default)==null?void 0:a.uiSchema),n.defaultValue.required=!1,n.defaultValue.title=o('{{ t("Default value") }}'),n.defaultValue["x-decorator"]="FormItem",n.defaultValue["x-reactions"]={dependencies:["uiSchema.x-component-props.gmt","uiSchema.x-component-props.showTime","uiSchema.x-component-props.dateFormat","uiSchema.x-component-props.timeFormat"],fulfill:{state:{componentProps:{gmt:"{{$deps[0]}}",showTime:"{{$deps[1]}}",dateFormat:"{{$deps[2]}}",timeFormat:"{{$deps[3]}}"}}}});const i=N(T({name:`f_${V.uid()}`},Y.cloneDeep(e.default)),{interface:e.name});return i.reverseField&&(i.reverseField.name=`f_${V.uid()}`),{type:"object",properties:{[V.uid()]:{type:"void","x-component":"Action.Drawer","x-component-props":{getContainer:"{{ getContainer }}"},"x-decorator":"Form","x-decorator-props":{useValues(c){return r.useRequest(()=>Promise.resolve({data:i}),c)}},title:`${o(t.title||t.name)} - ${o('{{ t("Add field") }}')}`,properties:N(T({summary:{type:"void","x-component":"FieldSummary","x-component-props":{schemaKey:e.name}}},n),{description:{type:"string",title:'{{t("Description")}}',"x-decorator":"FormItem","x-component":"Input.TextArea"},footer:{type:"void","x-component":"Action.Drawer.Footer",properties:{action1:{title:'{{ t("Cancel") }}',"x-component":"Action","x-component-props":{useAction:"{{ useCancelAction }}"}},action2:{title:'{{ t("Submit") }}',"x-component":"Action","x-component-props":{type:"primary",useAction:"{{ useCreateCollectionField }}"}}}}})}}}},yn=()=>{const e=w.useForm(),t=r.useActionContext(),{refresh:o}=r.useResourceActionContext(),n=w.useField(),i=r.useAPIClient(),a=r.useRecord(),{name:c}=G.useParams(),l=r.useDataSourceManager();return{run(){return _(this,null,function*(){yield e.submit(),n.data=n.data||{},n.data.loading=!0;const u=Y.cloneDeep(e.values);u.autoCreateReverseField||delete u.reverseField,delete u.autoCreateReverseField;try{yield i.request({url:`dataSourcesCollections/${c}.${a.name}/fields:create`,method:"post",data:u}),t.setVisible(!1),l.getDataSource(c).reload(),yield e.reset(),n.data.loading=!1,o()}catch(y){n.data.loading=!1}})}}},fn=e=>{const t=r.useRecord();return s.jsx(gn,T({item:t},e))},gn=e=>{const{scope:t,getContainer:o,item:n,children:i,trigger:a,align:c,database:l}=e,{getInterface:p,getTemplate:u,collections:y}=r.useCollectionManager_deprecated(),[m,b]=d.useState(!1),[P,A]=d.useState(),[C,v]=d.useState({}),f=r.useCompile(),{t:g}=B.useTranslation(),{data:{database:h}}=r.useCurrentAppInfo(),x=$=>(h==null?void 0:h.dialect)===$,F=d.useMemo(()=>y.map($=>({label:f($.title),value:$.name})),[]),E=r.useFieldInterfaceOptions(),k=d.useCallback(()=>{const{availableFieldInterfaces:$}=u(n.template)||{},{exclude:O,include:I}=$||{},U=[];return E.forEach(z=>{var R;if(z.key==="relation"){let J=[];I!=null&&I.length?I.forEach(X=>{var H;const Se=(H=z==null?void 0:z.children)==null?void 0:H.find(Uo=>[X,X.interface].includes(Uo.value));Se&&J.push(N(T({},Se),{targetScope:X==null?void 0:X.targetScope}))}):O!=null&&O.length?J=(R=z==null?void 0:z.children)==null?void 0:R.filter(X=>!O.includes(X.value)):J=z==null?void 0:z.children,J!=null&&J.length&&U.push(N(T({},z),{children:J}))}}),U},[u,n]),D=d.useMemo(()=>k().map($=>{var O;return((O=$==null?void 0:$.children)==null?void 0:O.length)===0?null:n.template==="view"?{type:"group",label:f($.label),title:f($.label),key:$.label,children:$.children.filter(I=>["m2o"].includes(I.name)).map(I=>({label:f(I.title),title:f(I.title),key:I.name,dataTargetScope:I.targetScope}))}:{type:"group",label:f($.label),title:f($.label),key:$.label,children:$==null?void 0:$.children.filter(I=>!["o2o","subTable","linkTo"].includes(I.name)).map(I=>({label:f(I.title),title:f(I.title),key:I.name,dataTargetScope:I.targetScope}))}}).filter($=>{var O;return(O=$==null?void 0:$.children)==null?void 0:O.length}),[k]),j=d.useMemo(()=>({style:{maxHeight:"60vh",overflow:"auto"},onClick:$=>{const O=$.item.props["data-targetScope"];O&&A(O);const I=mn(p($.key),n,f);I&&(v(I),b(!0))},items:D}),[p,D,n]);return n.template!=="sql"&&s.jsx(r.RecordProvider,{record:n,children:s.jsxs(r.ActionContextProvider,{value:{visible:m,setVisible:b},children:[s.jsx(S.Dropdown,{getPopupContainer:o,trigger:a,align:c,menu:j,children:i||s.jsx(S.Button,{icon:s.jsx(Q.PlusOutlined,{}),type:"primary",children:g("Add field")})}),s.jsx(r.SchemaComponent,{schema:C,components:{ArrayTable:ae.ArrayTable},scope:T({getContainer:o,useCancelAction:r.useCancelAction,createOnly:!0,isOverride:!1,override:!1,useCreateCollectionField:yn,record:n,showReverseFieldConfig:!1,targetScope:P,collections:F,isDialect:x,disabledJSONB:!1,createMainOnly:!0},t)})]})})},hn=w.observer(e=>{const{value:t,handleFieldChange:o}=e,n=r.useRecord(),[i,a]=d.useState(t),c=u=>{a(u)},l=d.useMemo(()=>Y.debounce(u=>{o({uiSchema:N(T({},n==null?void 0:n.uiSchema),{title:u})},n.name)},1e3),[o,n]),p=u=>{const y=u.target.value;c(y),l(y)};return d.useEffect(()=>{a(t)},[t]),s.jsx(S.Input,{value:i,onChange:p,style:{minWidth:"100px"},"aria-label":"field-title-input"})},{displayName:"FieldTitleInput"}),Cn=()=>{const{refresh:e}=r.useResourceActionContext(),{name:t}=G.useParams(),{name:o,collectionName:n}=r.useRecord(),i=r.useAPIClient();return{run(){return _(this,null,function*(){yield i.request({url:`dataSourcesCollections/${t}.${n}/fields:destroy?filterByTk=${o}`,method:"post"}),e()})}}},vn=()=>{const{state:e,setState:t,refresh:o}=r.useResourceActionContext(),{t:n}=B.useTranslation(),{name:i}=G.useParams(),a=r.useAPIClient(),{name:c}=r.useRecord();return{run(){return _(this,null,function*(){var p;if(!((p=e==null?void 0:e.selectedRowKeys)!=null&&p.length))return S.message.error(n("Please select the records you want to delete"));yield a.request({url:`dataSourcesCollections/${i}.${c}/fields:destroy`,method:"post",params:{filterByTk:(e==null?void 0:e.selectedRowKeys)||[]}}),t==null||t({selectedRowKeys:[]}),o()})}}},bn=()=>{const{run:e}=vn();return{run(){return _(this,null,function*(){yield e()})}}},xn=()=>{const{run:e}=Cn();return{run(){return _(this,null,function*(){yield e()})}}};var Te=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:{};function Fe(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function Sn(){this.__data__=[],this.size=0}var An=Sn;function $n(e,t){return e===t||e!==e&&t!==t}var bt=$n,Tn=bt;function Fn(e,t){for(var o=e.length;o--;)if(Tn(e[o][0],t))return o;return-1}var we=Fn,wn=we,_n=Array.prototype,Pn=_n.splice;function Dn(e){var t=this.__data__,o=wn(t,e);if(o<0)return!1;var n=t.length-1;return o==n?t.pop():Pn.call(t,o,1),--this.size,!0}var In=Dn,On=we;function Mn(e){var t=this.__data__,o=On(t,e);return o<0?void 0:t[o][1]}var En=Mn,jn=we;function kn(e){return jn(this.__data__,e)>-1}var Kn=kn,Nn=we;function Bn(e,t){var o=this.__data__,n=Nn(o,e);return n<0?(++this.size,o.push([e,t])):o[n][1]=t,this}var Vn=Bn,Ln=An,qn=In,Gn=En,Un=Kn,zn=Vn;function se(e){var t=-1,o=e==null?0:e.length;for(this.clear();++t<o;){var n=e[t];this.set(n[0],n[1])}}se.prototype.clear=Ln,se.prototype.delete=qn,se.prototype.get=Gn,se.prototype.has=Un,se.prototype.set=zn;var _e=se,Hn=_e;function Wn(){this.__data__=new Hn,this.size=0}var Qn=Wn;function Yn(e){var t=this.__data__,o=t.delete(e);return this.size=t.size,o}var Jn=Yn;function Zn(e){return this.__data__.get(e)}var Xn=Zn;function Rn(e){return this.__data__.has(e)}var er=Rn,tr=typeof Te=="object"&&Te&&Te.Object===Object&&Te,xt=tr,or=xt,nr=typeof self=="object"&&self&&self.Object===Object&&self,rr=or||nr||Function("return this")(),Z=rr,ar=Z,sr=ar.Symbol,ge=sr,St=ge,At=Object.prototype,ir=At.hasOwnProperty,cr=At.toString,he=St?St.toStringTag:void 0;function lr(e){var t=ir.call(e,he),o=e[he];try{e[he]=void 0;var n=!0}catch(a){}var i=cr.call(e);return n&&(t?e[he]=o:delete e[he]),i}var ur=lr,pr=Object.prototype,dr=pr.toString;function mr(e){return dr.call(e)}var yr=mr,$t=ge,fr=ur,gr=yr,hr="[object Null]",Cr="[object Undefined]",Tt=$t?$t.toStringTag:void 0;function vr(e){return e==null?e===void 0?Cr:hr:Tt&&Tt in Object(e)?fr(e):gr(e)}var ie=vr;function br(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var ce=br,xr=ie,Sr=ce,Ar="[object AsyncFunction]",$r="[object Function]",Tr="[object GeneratorFunction]",Fr="[object Proxy]";function wr(e){if(!Sr(e))return!1;var t=xr(e);return t==$r||t==Tr||t==Ar||t==Fr}var Ft=wr,_r=Z,Pr=_r["__core-js_shared__"],Dr=Pr,Be=Dr,wt=function(){var e=/[^.]+$/.exec(Be&&Be.keys&&Be.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function Ir(e){return!!wt&&wt in e}var Or=Ir,Mr=Function.prototype,Er=Mr.toString;function jr(e){if(e!=null){try{return Er.call(e)}catch(t){}try{return e+""}catch(t){}}return""}var _t=jr,kr=Ft,Kr=Or,Nr=ce,Br=_t,Vr=/[\\^$.*+?()[\]{}|]/g,Lr=/^\[object .+?Constructor\]$/,qr=Function.prototype,Gr=Object.prototype,Ur=qr.toString,zr=Gr.hasOwnProperty,Hr=RegExp("^"+Ur.call(zr).replace(Vr,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Wr(e){if(!Nr(e)||Kr(e))return!1;var t=kr(e)?Hr:Lr;return t.test(Br(e))}var Qr=Wr;function Yr(e,t){return e==null?void 0:e[t]}var Jr=Yr,Zr=Qr,Xr=Jr;function Rr(e,t){var o=Xr(e,t);return Zr(o)?o:void 0}var te=Rr,ea=te,ta=Z,oa=ea(ta,"Map"),Ve=oa,na=te,ra=na(Object,"create"),Pe=ra,Pt=Pe;function aa(){this.__data__=Pt?Pt(null):{},this.size=0}var sa=aa;function ia(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var ca=ia,la=Pe,ua="__lodash_hash_undefined__",pa=Object.prototype,da=pa.hasOwnProperty;function ma(e){var t=this.__data__;if(la){var o=t[e];return o===ua?void 0:o}return da.call(t,e)?t[e]:void 0}var ya=ma,fa=Pe,ga=Object.prototype,ha=ga.hasOwnProperty;function Ca(e){var t=this.__data__;return fa?t[e]!==void 0:ha.call(t,e)}var va=Ca,ba=Pe,xa="__lodash_hash_undefined__";function Sa(e,t){var o=this.__data__;return this.size+=this.has(e)?0:1,o[e]=ba&&t===void 0?xa:t,this}var Aa=Sa,$a=sa,Ta=ca,Fa=ya,wa=va,_a=Aa;function le(e){var t=-1,o=e==null?0:e.length;for(this.clear();++t<o;){var n=e[t];this.set(n[0],n[1])}}le.prototype.clear=$a,le.prototype.delete=Ta,le.prototype.get=Fa,le.prototype.has=wa,le.prototype.set=_a;var Pa=le,Dt=Pa,Da=_e,Ia=Ve;function Oa(){this.size=0,this.__data__={hash:new Dt,map:new(Ia||Da),string:new Dt}}var Ma=Oa;function Ea(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var ja=Ea,ka=ja;function Ka(e,t){var o=e.__data__;return ka(t)?o[typeof t=="string"?"string":"hash"]:o.map}var De=Ka,Na=De;function Ba(e){var t=Na(this,e).delete(e);return this.size-=t?1:0,t}var Va=Ba,La=De;function qa(e){return La(this,e).get(e)}var Ga=qa,Ua=De;function za(e){return Ua(this,e).has(e)}var Ha=za,Wa=De;function Qa(e,t){var o=Wa(this,e),n=o.size;return o.set(e,t),this.size+=o.size==n?0:1,this}var Ya=Qa,Ja=Ma,Za=Va,Xa=Ga,Ra=Ha,es=Ya;function ue(e){var t=-1,o=e==null?0:e.length;for(this.clear();++t<o;){var n=e[t];this.set(n[0],n[1])}}ue.prototype.clear=Ja,ue.prototype.delete=Za,ue.prototype.get=Xa,ue.prototype.has=Ra,ue.prototype.set=es;var It=ue,ts=_e,os=Ve,ns=It,rs=200;function as(e,t){var o=this.__data__;if(o instanceof ts){var n=o.__data__;if(!os||n.length<rs-1)return n.push([e,t]),this.size=++o.size,this;o=this.__data__=new ns(n)}return o.set(e,t),this.size=o.size,this}var ss=as,is=_e,cs=Qn,ls=Jn,us=Xn,ps=er,ds=ss;function pe(e){var t=this.__data__=new is(e);this.size=t.size}pe.prototype.clear=cs,pe.prototype.delete=ls,pe.prototype.get=us,pe.prototype.has=ps,pe.prototype.set=ds;var ms=pe;function ys(e,t){for(var o=-1,n=e==null?0:e.length;++o<n&&t(e[o],o,e)!==!1;);return e}var fs=ys,gs=te,hs=function(){try{var e=gs(Object,"defineProperty");return e({},"",{}),e}catch(t){}}(),Ot=hs,Mt=Ot;function Cs(e,t,o){t=="__proto__"&&Mt?Mt(e,t,{configurable:!0,enumerable:!0,value:o,writable:!0}):e[t]=o}var Et=Cs,vs=Et,bs=bt,xs=Object.prototype,Ss=xs.hasOwnProperty;function As(e,t,o){var n=e[t];(!(Ss.call(e,t)&&bs(n,o))||o===void 0&&!(t in e))&&vs(e,t,o)}var Le=As,$s=Le,Ts=Et;function Fs(e,t,o,n){var i=!o;o||(o={});for(var a=-1,c=t.length;++a<c;){var l=t[a],p=n?n(o[l],e[l],l,o,e):void 0;p===void 0&&(p=e[l]),i?Ts(o,l,p):$s(o,l,p)}return o}var Ce=Fs;function ws(e,t){for(var o=-1,n=Array(e);++o<e;)n[o]=t(o);return n}var _s=ws;function Ps(e){return e!=null&&typeof e=="object"}var oe=Ps,Ds=ie,Is=oe,Os="[object Arguments]";function Ms(e){return Is(e)&&Ds(e)==Os}var Es=Ms,jt=Es,js=oe,kt=Object.prototype,ks=kt.hasOwnProperty,Ks=kt.propertyIsEnumerable,Ns=jt(function(){return arguments}())?jt:function(e){return js(e)&&ks.call(e,"callee")&&!Ks.call(e,"callee")},Kt=Ns,Bs=Array.isArray,ne=Bs,Ie={exports:{}};function Vs(){return!1}var Ls=Vs;Ie.exports,function(e,t){var o=Z,n=Ls,i=t&&!t.nodeType&&t,a=i&&!0&&e&&!e.nodeType&&e,c=a&&a.exports===i,l=c?o.Buffer:void 0,p=l?l.isBuffer:void 0,u=p||n;e.exports=u}(Ie,Ie.exports);var Nt=Ie.exports,qs=9007199254740991,Gs=/^(?:0|[1-9]\d*)$/;function Us(e,t){var o=typeof e;return t=t==null?qs:t,!!t&&(o=="number"||o!="symbol"&&Gs.test(e))&&e>-1&&e%1==0&&e<t}var Bt=Us,zs=9007199254740991;function Hs(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=zs}var Vt=Hs,Ws=ie,Qs=Vt,Ys=oe,Js="[object Arguments]",Zs="[object Array]",Xs="[object Boolean]",Rs="[object Date]",ei="[object Error]",ti="[object Function]",oi="[object Map]",ni="[object Number]",ri="[object Object]",ai="[object RegExp]",si="[object Set]",ii="[object String]",ci="[object WeakMap]",li="[object ArrayBuffer]",ui="[object DataView]",pi="[object Float32Array]",di="[object Float64Array]",mi="[object Int8Array]",yi="[object Int16Array]",fi="[object Int32Array]",gi="[object Uint8Array]",hi="[object Uint8ClampedArray]",Ci="[object Uint16Array]",vi="[object Uint32Array]",q={};q[pi]=q[di]=q[mi]=q[yi]=q[fi]=q[gi]=q[hi]=q[Ci]=q[vi]=!0,q[Js]=q[Zs]=q[li]=q[Xs]=q[ui]=q[Rs]=q[ei]=q[ti]=q[oi]=q[ni]=q[ri]=q[ai]=q[si]=q[ii]=q[ci]=!1;function bi(e){return Ys(e)&&Qs(e.length)&&!!q[Ws(e)]}var xi=bi;function Si(e){return function(t){return e(t)}}var qe=Si,Oe={exports:{}};Oe.exports,function(e,t){var o=xt,n=t&&!t.nodeType&&t,i=n&&!0&&e&&!e.nodeType&&e,a=i&&i.exports===n,c=a&&o.process,l=function(){try{var p=i&&i.require&&i.require("util").types;return p||c&&c.binding&&c.binding("util")}catch(u){}}();e.exports=l}(Oe,Oe.exports);var Ge=Oe.exports,Ai=xi,$i=qe,Lt=Ge,qt=Lt&&Lt.isTypedArray,Ti=qt?$i(qt):Ai,Fi=Ti,wi=_s,_i=Kt,Pi=ne,Di=Nt,Ii=Bt,Oi=Fi,Mi=Object.prototype,Ei=Mi.hasOwnProperty;function ji(e,t){var o=Pi(e),n=!o&&_i(e),i=!o&&!n&&Di(e),a=!o&&!n&&!i&&Oi(e),c=o||n||i||a,l=c?wi(e.length,String):[],p=l.length;for(var u in e)(t||Ei.call(e,u))&&!(c&&(u=="length"||i&&(u=="offset"||u=="parent")||a&&(u=="buffer"||u=="byteLength"||u=="byteOffset")||Ii(u,p)))&&l.push(u);return l}var Gt=ji,ki=Object.prototype;function Ki(e){var t=e&&e.constructor,o=typeof t=="function"&&t.prototype||ki;return e===o}var Ue=Ki;function Ni(e,t){return function(o){return e(t(o))}}var Ut=Ni,Bi=Ut,Vi=Bi(Object.keys,Object),Li=Vi,qi=Ue,Gi=Li,Ui=Object.prototype,zi=Ui.hasOwnProperty;function Hi(e){if(!qi(e))return Gi(e);var t=[];for(var o in Object(e))zi.call(e,o)&&o!="constructor"&&t.push(o);return t}var Wi=Hi,Qi=Ft,Yi=Vt;function Ji(e){return e!=null&&Yi(e.length)&&!Qi(e)}var zt=Ji,Zi=Gt,Xi=Wi,Ri=zt;function ec(e){return Ri(e)?Zi(e):Xi(e)}var ze=ec,tc=Ce,oc=ze;function nc(e,t){return e&&tc(t,oc(t),e)}var rc=nc;function ac(e){var t=[];if(e!=null)for(var o in Object(e))t.push(o);return t}var sc=ac,ic=ce,cc=Ue,lc=sc,uc=Object.prototype,pc=uc.hasOwnProperty;function dc(e){if(!ic(e))return lc(e);var t=cc(e),o=[];for(var n in e)n=="constructor"&&(t||!pc.call(e,n))||o.push(n);return o}var mc=dc,yc=Gt,fc=mc,gc=zt;function hc(e){return gc(e)?yc(e,!0):fc(e)}var He=hc,Cc=Ce,vc=He;function bc(e,t){return e&&Cc(t,vc(t),e)}var xc=bc,Me={exports:{}};Me.exports,function(e,t){var o=Z,n=t&&!t.nodeType&&t,i=n&&!0&&e&&!e.nodeType&&e,a=i&&i.exports===n,c=a?o.Buffer:void 0,l=c?c.allocUnsafe:void 0;function p(u,y){if(y)return u.slice();var m=u.length,b=l?l(m):new u.constructor(m);return u.copy(b),b}e.exports=p}(Me,Me.exports);var Sc=Me.exports;function Ac(e,t){var o=-1,n=e.length;for(t||(t=Array(n));++o<n;)t[o]=e[o];return t}var $c=Ac;function Tc(e,t){for(var o=-1,n=e==null?0:e.length,i=0,a=[];++o<n;){var c=e[o];t(c,o,e)&&(a[i++]=c)}return a}var Fc=Tc;function wc(){return[]}var Ht=wc,_c=Fc,Pc=Ht,Dc=Object.prototype,Ic=Dc.propertyIsEnumerable,Wt=Object.getOwnPropertySymbols,Oc=Wt?function(e){return e==null?[]:(e=Object(e),_c(Wt(e),function(t){return Ic.call(e,t)}))}:Pc,We=Oc,Mc=Ce,Ec=We;function jc(e,t){return Mc(e,Ec(e),t)}var kc=jc;function Kc(e,t){for(var o=-1,n=t.length,i=e.length;++o<n;)e[i+o]=t[o];return e}var Qe=Kc,Nc=Ut,Bc=Nc(Object.getPrototypeOf,Object),Ye=Bc,Vc=Qe,Lc=Ye,qc=We,Gc=Ht,Uc=Object.getOwnPropertySymbols,zc=Uc?function(e){for(var t=[];e;)Vc(t,qc(e)),e=Lc(e);return t}:Gc,Qt=zc,Hc=Ce,Wc=Qt;function Qc(e,t){return Hc(e,Wc(e),t)}var Yc=Qc,Jc=Qe,Zc=ne;function Xc(e,t,o){var n=t(e);return Zc(e)?n:Jc(n,o(e))}var Yt=Xc,Rc=Yt,el=We,tl=ze;function ol(e){return Rc(e,tl,el)}var nl=ol,rl=Yt,al=Qt,sl=He;function il(e){return rl(e,sl,al)}var Jt=il,cl=te,ll=Z,ul=cl(ll,"DataView"),pl=ul,dl=te,ml=Z,yl=dl(ml,"Promise"),fl=yl,gl=te,hl=Z,Cl=gl(hl,"Set"),vl=Cl,bl=te,xl=Z,Sl=bl(xl,"WeakMap"),Al=Sl,Je=pl,Ze=Ve,Xe=fl,Re=vl,et=Al,Zt=ie,de=_t,Xt="[object Map]",$l="[object Object]",Rt="[object Promise]",eo="[object Set]",to="[object WeakMap]",oo="[object DataView]",Tl=de(Je),Fl=de(Ze),wl=de(Xe),_l=de(Re),Pl=de(et),re=Zt;(Je&&re(new Je(new ArrayBuffer(1)))!=oo||Ze&&re(new Ze)!=Xt||Xe&&re(Xe.resolve())!=Rt||Re&&re(new Re)!=eo||et&&re(new et)!=to)&&(re=function(e){var t=Zt(e),o=t==$l?e.constructor:void 0,n=o?de(o):"";if(n)switch(n){case Tl:return oo;case Fl:return Xt;case wl:return Rt;case _l:return eo;case Pl:return to}return t});var tt=re,Dl=Object.prototype,Il=Dl.hasOwnProperty;function Ol(e){var t=e.length,o=new e.constructor(t);return t&&typeof e[0]=="string"&&Il.call(e,"index")&&(o.index=e.index,o.input=e.input),o}var Ml=Ol,El=Z,jl=El.Uint8Array,kl=jl,no=kl;function Kl(e){var t=new e.constructor(e.byteLength);return new no(t).set(new no(e)),t}var ot=Kl,Nl=ot;function Bl(e,t){var o=t?Nl(e.buffer):e.buffer;return new e.constructor(o,e.byteOffset,e.byteLength)}var Vl=Bl,Ll=/\w*$/;function ql(e){var t=new e.constructor(e.source,Ll.exec(e));return t.lastIndex=e.lastIndex,t}var Gl=ql,ro=ge,ao=ro?ro.prototype:void 0,so=ao?ao.valueOf:void 0;function Ul(e){return so?Object(so.call(e)):{}}var zl=Ul,Hl=ot;function Wl(e,t){var o=t?Hl(e.buffer):e.buffer;return new e.constructor(o,e.byteOffset,e.length)}var Ql=Wl,Yl=ot,Jl=Vl,Zl=Gl,Xl=zl,Rl=Ql,eu="[object Boolean]",tu="[object Date]",ou="[object Map]",nu="[object Number]",ru="[object RegExp]",au="[object Set]",su="[object String]",iu="[object Symbol]",cu="[object ArrayBuffer]",lu="[object DataView]",uu="[object Float32Array]",pu="[object Float64Array]",du="[object Int8Array]",mu="[object Int16Array]",yu="[object Int32Array]",fu="[object Uint8Array]",gu="[object Uint8ClampedArray]",hu="[object Uint16Array]",Cu="[object Uint32Array]";function vu(e,t,o){var n=e.constructor;switch(t){case cu:return Yl(e);case eu:case tu:return new n(+e);case lu:return Jl(e,o);case uu:case pu:case du:case mu:case yu:case fu:case gu:case hu:case Cu:return Rl(e,o);case ou:return new n;case nu:case su:return new n(e);case ru:return Zl(e);case au:return new n;case iu:return Xl(e)}}var bu=vu,xu=ce,io=Object.create,Su=function(){function e(){}return function(t){if(!xu(t))return{};if(io)return io(t);e.prototype=t;var o=new e;return e.prototype=void 0,o}}(),Au=Su,$u=Au,Tu=Ye,Fu=Ue;function wu(e){return typeof e.constructor=="function"&&!Fu(e)?$u(Tu(e)):{}}var _u=wu,Pu=tt,Du=oe,Iu="[object Map]";function Ou(e){return Du(e)&&Pu(e)==Iu}var Mu=Ou,Eu=Mu,ju=qe,co=Ge,lo=co&&co.isMap,ku=lo?ju(lo):Eu,Ku=ku,Nu=tt,Bu=oe,Vu="[object Set]";function Lu(e){return Bu(e)&&Nu(e)==Vu}var qu=Lu,Gu=qu,Uu=qe,uo=Ge,po=uo&&uo.isSet,zu=po?Uu(po):Gu,Hu=zu,Wu=ms,Qu=fs,Yu=Le,Ju=rc,Zu=xc,Xu=Sc,Ru=$c,ep=kc,tp=Yc,op=nl,np=Jt,rp=tt,ap=Ml,sp=bu,ip=_u,cp=ne,lp=Nt,up=Ku,pp=ce,dp=Hu,mp=ze,yp=He,fp=1,gp=2,hp=4,mo="[object Arguments]",Cp="[object Array]",vp="[object Boolean]",bp="[object Date]",xp="[object Error]",yo="[object Function]",Sp="[object GeneratorFunction]",Ap="[object Map]",$p="[object Number]",fo="[object Object]",Tp="[object RegExp]",Fp="[object Set]",wp="[object String]",_p="[object Symbol]",Pp="[object WeakMap]",Dp="[object ArrayBuffer]",Ip="[object DataView]",Op="[object Float32Array]",Mp="[object Float64Array]",Ep="[object Int8Array]",jp="[object Int16Array]",kp="[object Int32Array]",Kp="[object Uint8Array]",Np="[object Uint8ClampedArray]",Bp="[object Uint16Array]",Vp="[object Uint32Array]",L={};L[mo]=L[Cp]=L[Dp]=L[Ip]=L[vp]=L[bp]=L[Op]=L[Mp]=L[Ep]=L[jp]=L[kp]=L[Ap]=L[$p]=L[fo]=L[Tp]=L[Fp]=L[wp]=L[_p]=L[Kp]=L[Np]=L[Bp]=L[Vp]=!0,L[xp]=L[yo]=L[Pp]=!1;function Ee(e,t,o,n,i,a){var c,l=t&fp,p=t&gp,u=t&hp;if(o&&(c=i?o(e,n,i,a):o(e)),c!==void 0)return c;if(!pp(e))return e;var y=cp(e);if(y){if(c=ap(e),!l)return Ru(e,c)}else{var m=rp(e),b=m==yo||m==Sp;if(lp(e))return Xu(e,l);if(m==fo||m==mo||b&&!i){if(c=p||b?{}:ip(e),!l)return p?tp(e,Zu(c,e)):ep(e,Ju(c,e))}else{if(!L[m])return i?e:{};c=sp(e,m,l)}}a||(a=new Wu);var P=a.get(e);if(P)return P;a.set(e,c),dp(e)?e.forEach(function(v){c.add(Ee(v,t,o,v,e,a))}):up(e)&&e.forEach(function(v,f){c.set(f,Ee(v,t,o,f,e,a))});var A=u?p?np:op:p?yp:mp,C=y?void 0:A(e);return Qu(C||e,function(v,f){C&&(f=v,v=e[f]),Yu(c,f,Ee(v,t,o,f,e,a))}),c}var go=Ee,Lp=go,qp=1,Gp=4;function Up(e){return Lp(e,qp|Gp)}var zp=Up;const ee=Fe(zp);function Hp(e,t){for(var o=-1,n=e==null?0:e.length,i=Array(n);++o<n;)i[o]=t(e[o],o,e);return i}var ho=Hp,Wp=ie,Qp=oe,Yp="[object Symbol]";function Jp(e){return typeof e=="symbol"||Qp(e)&&Wp(e)==Yp}var nt=Jp,Zp=ne,Xp=nt,Rp=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,ed=/^\w*$/;function td(e,t){if(Zp(e))return!1;var o=typeof e;return o=="number"||o=="symbol"||o=="boolean"||e==null||Xp(e)?!0:ed.test(e)||!Rp.test(e)||t!=null&&e in Object(t)}var od=td,Co=It,nd="Expected a function";function rt(e,t){if(typeof e!="function"||t!=null&&typeof t!="function")throw new TypeError(nd);var o=function(){var n=arguments,i=t?t.apply(this,n):n[0],a=o.cache;if(a.has(i))return a.get(i);var c=e.apply(this,n);return o.cache=a.set(i,c)||a,c};return o.cache=new(rt.Cache||Co),o}rt.Cache=Co;var rd=rt,ad=rd,sd=500;function id(e){var t=ad(e,function(n){return o.size===sd&&o.clear(),n}),o=t.cache;return t}var cd=id,ld=cd,ud=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,pd=/\\(\\)?/g,dd=ld(function(e){var t=[];return e.charCodeAt(0)===46&&t.push(""),e.replace(ud,function(o,n,i,a){t.push(i?a.replace(pd,"$1"):n||o)}),t}),md=dd,vo=ge,yd=ho,fd=ne,gd=nt,hd=1/0,bo=vo?vo.prototype:void 0,xo=bo?bo.toString:void 0;function So(e){if(typeof e=="string")return e;if(fd(e))return yd(e,So)+"";if(gd(e))return xo?xo.call(e):"";var t=e+"";return t=="0"&&1/e==-hd?"-0":t}var Cd=So,vd=Cd;function bd(e){return e==null?"":vd(e)}var xd=bd,Sd=ne,Ad=od,$d=md,Td=xd;function Fd(e,t){return Sd(e)?e:Ad(e,t)?[e]:$d(Td(e))}var je=Fd;function wd(e){var t=e==null?0:e.length;return t?e[t-1]:void 0}var _d=wd,Pd=nt,Dd=1/0;function Id(e){if(typeof e=="string"||Pd(e))return e;var t=e+"";return t=="0"&&1/e==-Dd?"-0":t}var at=Id,Od=je,Md=at;function Ed(e,t){t=Od(t,e);for(var o=0,n=t.length;e!=null&&o<n;)e=e[Md(t[o++])];return o&&o==n?e:void 0}var jd=Ed;function kd(e,t,o){var n=-1,i=e.length;t<0&&(t=-t>i?0:i+t),o=o>i?i:o,o<0&&(o+=i),i=t>o?0:o-t>>>0,t>>>=0;for(var a=Array(i);++n<i;)a[n]=e[n+t];return a}var Kd=kd,Nd=jd,Bd=Kd;function Vd(e,t){return t.length<2?e:Nd(e,Bd(t,0,-1))}var Ld=Vd,qd=je,Gd=_d,Ud=Ld,zd=at;function Hd(e,t){return t=qd(t,e),e=Ud(e,t),e==null||delete e[zd(Gd(t))]}var Wd=Hd,Qd=ie,Yd=Ye,Jd=oe,Zd="[object Object]",Xd=Function.prototype,Rd=Object.prototype,Ao=Xd.toString,em=Rd.hasOwnProperty,tm=Ao.call(Object);function om(e){if(!Jd(e)||Qd(e)!=Zd)return!1;var t=Yd(e);if(t===null)return!0;var o=em.call(t,"constructor")&&t.constructor;return typeof o=="function"&&o instanceof o&&Ao.call(o)==tm}var nm=om,rm=nm;function am(e){return rm(e)?void 0:e}var sm=am,$o=ge,im=Kt,cm=ne,To=$o?$o.isConcatSpreadable:void 0;function lm(e){return cm(e)||im(e)||!!(To&&e&&e[To])}var um=lm,pm=Qe,dm=um;function Fo(e,t,o,n,i){var a=-1,c=e.length;for(o||(o=dm),i||(i=[]);++a<c;){var l=e[a];t>0&&o(l)?t>1?Fo(l,t-1,o,n,i):pm(i,l):n||(i[i.length]=l)}return i}var mm=Fo,ym=mm;function fm(e){var t=e==null?0:e.length;return t?ym(e,1):[]}var gm=fm;function hm(e,t,o){switch(o.length){case 0:return e.call(t);case 1:return e.call(t,o[0]);case 2:return e.call(t,o[0],o[1]);case 3:return e.call(t,o[0],o[1],o[2])}return e.apply(t,o)}var Cm=hm,vm=Cm,wo=Math.max;function bm(e,t,o){return t=wo(t===void 0?e.length-1:t,0),function(){for(var n=arguments,i=-1,a=wo(n.length-t,0),c=Array(a);++i<a;)c[i]=n[t+i];i=-1;for(var l=Array(t+1);++i<t;)l[i]=n[i];return l[t]=o(c),vm(e,this,l)}}var xm=bm;function Sm(e){return function(){return e}}var Am=Sm;function $m(e){return e}var Tm=$m,Fm=Am,_o=Ot,wm=Tm,_m=_o?function(e,t){return _o(e,"toString",{configurable:!0,enumerable:!1,value:Fm(t),writable:!0})}:wm,Pm=_m,Dm=800,Im=16,Om=Date.now;function Mm(e){var t=0,o=0;return function(){var n=Om(),i=Im-(n-o);if(o=n,i>0){if(++t>=Dm)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}var Em=Mm,jm=Pm,km=Em,Km=km(jm),Nm=Km,Bm=gm,Vm=xm,Lm=Nm;function qm(e){return Lm(Vm(e,void 0,Bm),e+"")}var Gm=qm,Um=ho,zm=go,Hm=Wd,Wm=je,Qm=Ce,Ym=sm,Jm=Gm,Zm=Jt,Xm=1,Rm=2,ey=4,ty=Jm(function(e,t){var o={};if(e==null)return o;var n=!1;t=Um(t,function(a){return a=Wm(a,e),n||(n=a.length>1),a}),Qm(e,Zm(e),o),n&&(o=zm(o,Xm|Rm|ey,Ym));for(var i=t.length;i--;)Hm(o,t[i]);return o}),oy=ty;const ke=Fe(oy);var ny=Le,ry=je,ay=Bt,Po=ce,sy=at;function iy(e,t,o,n){if(!Po(e))return e;t=ry(t,e);for(var i=-1,a=t.length,c=a-1,l=e;l!=null&&++i<a;){var p=sy(t[i]),u=o;if(p==="__proto__"||p==="constructor"||p==="prototype")return e;if(i!=c){var y=l[p];u=n?n(y,p,l):void 0,u===void 0&&(u=Po(y)?y:ay(t[i+1])?[]:{})}ny(l,p,u),l=l[p]}return e}var cy=iy,ly=cy;function uy(e,t,o){return e==null?e:ly(e,t,o)}var py=uy;const Do=Fe(py),dy=({schema:e,record:t,parentRecord:o,compile:n,getContainer:i})=>{if(!e)return;const a=ee(e.properties);return a!=null&&a.name&&(a.name["x-disabled"]=!0),e.hasDefaultValue===!0&&(a.defaultValue=ee(e.default.uiSchema)||{},a.defaultValue.required=!1,a.defaultValue.title=n('{{ t("Default value") }}'),a.defaultValue["x-decorator"]="FormItem",a.defaultValue["x-reactions"]={dependencies:["uiSchema.x-component-props.gmt","uiSchema.x-component-props.showTime","uiSchema.x-component-props.dateFormat","uiSchema.x-component-props.timeFormat"],fulfill:{state:{componentProps:{gmt:"{{$deps[0]}}",showTime:"{{$deps[1]}}",dateFormat:"{{$deps[2]}}",timeFormat:"{{$deps[3]}}"}}}},a.defaultValue["x-disabled"]=!0),{type:"object",properties:{[V.uid()]:{type:"void","x-component":"Action.Drawer","x-component-props":{getContainer:"{{ getContainer }}"},"x-decorator":"Form","x-decorator-props":{useValues(c){return r.useRequest(()=>{var l;return Promise.resolve({data:N(T({},ee(ke(e.default,["uiSchema.rawTitle"]))),{autoFill:((l=e.default)==null?void 0:l.autoFill)!==!1})})},c)}},title:`${n((o==null?void 0:o.title)||(o==null?void 0:o.name))} - ${n('{{ t("Edit field") }}')}`,properties:N(T({summary:{type:"void","x-component":"FieldSummary","x-component-props":{schemaKey:e.name}}},a),{description:{type:"string",title:'{{t("Description")}}',"x-decorator":"FormItem","x-component":"Input.TextArea"},footer:{type:"void","x-component":"Action.Drawer.Footer",properties:{action1:{title:'{{ t("Cancel") }}',"x-component":"Action","x-component-props":{useAction:"{{ useCancelAction }}"}},action2:{title:'{{ t("Submit") }}',"x-component":"Action","x-component-props":{type:"primary",useAction:"{{ useUpdateCollectionField }}"}}}}})}}}},my=()=>{const e=w.useForm(),t=r.useAPIClient(),o=r.useActionContext(),{refresh:n}=r.useResourceActionContext(),{targetCollection:i}=it(),{name:a}=G.useParams(),{name:c}=r.useRecord(),l=r.useDataSourceManager();return{run(){return _(this,null,function*(){yield e.submit();const u=ee(e.values);u.autoCreateReverseField||delete u.reverseField,delete u.autoCreateReverseField,yield t.request({url:`dataSourcesCollections/${a}.${i.name}/fields:update?filterByTk=${c}`,method:"post",data:u}),o.setVisible(!1),l.getDataSource(a).reload(),yield e.reset(),n()})}}},yy=e=>{const t=r.useRecord(),o=r.useCollectionParentRecordData();return s.jsx(fy,T({item:t,parentItem:o},e))},fy=e=>{var D,j;const k=e,{scope:t,getContainer:o,item:n,parentItem:i,children:a}=k,c=ut(k,["scope","getContainer","item","parentItem","children"]),{getInterface:l,collections:p,getCollection:u}=r.useCollectionManager_deprecated(),{data:{database:y}}=r.useCurrentAppInfo(),[m,b]=d.useState(!1),[P,A]=d.useState({}),C=r.useAPIClient(),{t:v}=B.useTranslation(),f=r.useCompile(),{name:g}=G.useParams(),h=$=>(y==null?void 0:y.dialect)===$,x=(n==null?void 0:n.fields)||((j=(D=u(n.collectionName,g))==null?void 0:D.options)==null?void 0:j.fields),F=d.useMemo(()=>p.map($=>({label:f($.title),value:$.name})),[]),E=d.useMemo(()=>{var $,O;return(n==null?void 0:n.fields)||((O=($=u(n.collectionName,g))==null?void 0:$.options)==null?void 0:O.fields.filter(I=>["string","bigInt","integer"].includes(I.type)).map(I=>{var U;return{value:I.name,label:f((U=I.uiSchema)==null?void 0:U.title)}}))},[n.name,x]);return s.jsx(r.RecordProvider,{record:n,parent:i,children:s.jsxs(r.ActionContextProvider,{value:{visible:m,setVisible:b},children:[s.jsx("a",N(T({},c),{onClick:()=>_(this,null,function*(){var z,R,J;const{data:$}=yield C.request({url:`dataSourcesCollections/${g}.${i.name}/fields:get?filterByTk=${n.name}`,params:{appends:["reverseField"]}}),O=l((z=$==null?void 0:$.data)==null?void 0:z.interface),I=ee($==null?void 0:$.data)||{};I!=null&&I.reverseField||(I.autoCreateReverseField=!1,I.reverseField=(R=O==null?void 0:O.default)==null?void 0:R.reverseField,Do(I.reverseField,"name",`f_${V.uid()}`),Do(I.reverseField,"uiSchema.title",(J=n.__parent)==null?void 0:J.title));const U=dy({schema:N(T({},O),{default:I}),record:n,parentRecord:i,compile:f,getContainer:o});A(U),b(!0)}),children:a||v("Edit")})),s.jsx(r.SchemaComponent,{schema:P,components:{ArrayTable:ae.ArrayTable},scope:N(T({getContainer:o,useUpdateCollectionField:my,useCancelAction:r.useCancelAction,showReverseFieldConfig:!1,collections:F,isDialect:h,scopeKeyOptions:E,disabledJSONB:!0},t),{createOnly:!1,createMainOnly:!1,editMainOnly:!0})})]})})},gy=w.observer(e=>{const{value:t,handleFieldChange:o,onChange:n}=e,i=r.useRecord(),a=i;return a!=null&&a.possibleTypes?s.jsx(S.Select,{"aria-label":`field-type-${t}`,role:"button",defaultValue:t,popupMatchSelectWidth:!1,style:{width:"100%"},options:(a==null?void 0:a.possibleTypes.map(c=>({label:c,value:c})))||[],onChange:c=>{n==null||n(c),o(N(T({},a),{type:c}),i.name)}}):s.jsx(S.Tag,{children:t})},{displayName:"FieldType"}),hy=()=>{const{t:e}=B.useTranslation(),{unsupportedFields:t}=r.useRecord(),o=[{title:e("Field name"),dataIndex:"name",key:"name"},{title:e("Field database type",{ns:K}),dataIndex:"rawType",key:"rawType"}];return(t==null?void 0:t.length)>0&&s.jsxs(s.Fragment,{children:[s.jsx(S.Divider,{plain:!0,orientation:"left",orientationMargin:"0",children:s.jsx("h3",{children:e("Unknown field type",{ns:K})})}),s.jsx("div",{style:{marginBottom:"15px"},children:e("The following field types are not compatible and do not support output and display",{ns:K})}),s.jsx(S.Table,{columns:o,dataSource:t,pagination:!1})]})},st=d.createContext({refreshRM:()=>{},titleField:null,targetCollection:null});st.displayName="RemoteCollectionContext";const it=()=>d.useContext(st),Io=()=>{const e=w.useField(),t=d.useMemo(()=>ye.createForm(),[]),o=r.useAttach(t.createArrayField(N(T({},e.props),{basePath:""}))),{t:n}=B.useTranslation(),{name:i}=G.useParams(),a=r.useAPIClient(),c=r.useCompile(),l=d.useContext(r.ResourceActionContext),p=r.useResourceContext(),{targetKey:u}=p||{},y=r.useRecord(),{[u]:m,titleField:b,name:P}=y,[A,C]=d.useState(b),v=$=>{const O=d.useContext(r.ResourceActionContext),I=w.useField();return d.useEffect(()=>{O.loading||($==null||$.onSuccess(O.data),I.componentProps.dragSort=!!O.dragSort)},[O.loading]),O},f={association:{sourceKey:"name",targetKey:"name"},dragSort:!1,collection:nn,request:{url:`dataSourcesCollections/${i}.${P}/fields:list`,params:{paginate:!1,filter:{$or:[{"interface.$not":null},{"options.source.$notEmpty":!0}]},sort:["sort"]}}},g=r.useDataSourceManager();let h=!1;const x=[],F=()=>_(this,null,function*(){if(h||x.length===0)return;h=!0;const{value:$,filterByTk:O,flag:I}=x.shift();try{yield k($,O,I)}catch(U){console.error("Error processing handleFieldChange:",U)}finally{h=!1,F()}}),E=($,O,I)=>{x.push({value:$,filterByTk:O,flag:I}),F()},k=($,O,I=!0)=>_(this,null,function*(){yield a.request({url:`dataSourcesCollections/${i}.${P}/fields:update?filterByTk=${O}`,method:"post",data:$}),g.getDataSource(i).reload(),I&&S.message.success(n("Saved successfully"))}),D=()=>({filterByTk:m,titleField:A,dataSourceKey:i,setTitleField:C}),j=($,O,I)=>_(this,null,function*(){var X,Se;const{targetScope:U}=O,z=((X=$.props)==null?void 0:X.name)==="inherits",{data:R}=yield a.request({url:`dataSources/${i}/collections:list`,params:{paginate:!1,appends:["fields"],sort:["sort"]}});return((Se=R==null?void 0:R.data)==null?void 0:Se.filter(H=>{var zo;if(I!=null&&I.includes(H.template)||H.autoCreate&&H.isThrough||z&&H.template==="view")return!1;const Lf=!(U!=null&&U.template)||U.template.includes(H.template),qf=!(U!=null&&U[(zo=$.props)==null?void 0:zo.name])||U[$.props.name].includes(H.name);return Lf&&qf})).map(H=>({label:c(H.title||H.name),value:H.name}))});return s.jsxs(st.Provider,{value:{refreshRM:()=>{l.refresh()},titleField:A,targetCollection:y},children:[s.jsx(r.ResourceActionProvider,N(T({},f),{children:s.jsx(w.FormContext.Provider,{value:t,children:s.jsx(w.FieldContext.Provider,{value:o,children:s.jsx(r.SchemaComponentOptions,{components:{TitleField:an,CollectionFieldInterfaceSelect:cn,AddCollectionField:fn,SourceCollection:pn,TargetKey:un,SourceKey:ln,FieldTitleInput:hn,EditCollectionField:yy,Select:r.Select,FieldType:gy,ForeignKey:vt,ThroughCollection:dn},inherit:!0,scope:{useDataSource:v,useTitleFieldProps:D,enqueueChange:E,useDestroyActionAndRefreshCM:xn,useBulkDestroyActionAndRefreshCM:bn,loadCollections:j},children:s.jsx(w.RecursionField,{schema:rn,onlyRenderProperties:!0})})})})})),s.jsx(hy,{})]})},Cy=(e,t,o,n)=>{if(!e)return;const i=ee(e.configurableProperties)||{title:{"x-component":"CollectionField","x-decorator":"FormItem"},name:{"x-component":"CollectionField","x-decorator":"FormItem"}};return e.hasDefaultValue===!0&&(i.defaultValue=ee(e.default.uiSchema),i.defaultValue.title=o('{{ t("Default value") }}'),i.defaultValue["x-decorator"]="FormItem"),{type:"object",properties:{[V.uid()]:{type:"void","x-component":"Action.Drawer","x-decorator":"Form","x-decorator-props":{useValues:"{{ useValuesFromRecord }}"},title:'{{ t("Edit collection") }}',properties:N(T({},ke(i,"category","inherits","moreOptions")),{filterTargetKey:{title:`{{ t("Filter target key",{ ns: "${K}" }) }}`,type:"single",description:r.tval("Filter data based on the specific field, with the requirement that the field value must be unique.",{ns:K}),"x-decorator":"FormItem","x-component":"Select",enum:"{{filterTargetKeyOptions}}","x-visible":"{{!!isView}}"},footer:{type:"void","x-component":"Action.Drawer.Footer",properties:{action1:{title:'{{ t("Cancel") }}',"x-component":"Action","x-component-props":{useAction:"{{ useCancelAction }}"}},action2:{title:'{{ t("Submit") }}',"x-component":"Action","x-component-props":{type:"primary",useAction:"{{ useUpdateCollectionActionAndRefreshCM }}"}}}}})}}}},vy=e=>{const t=r.useRecord(),o=r.useRequest(()=>{var i;return Promise.resolve({data:N(T({},ke(ee(t),["__parent","__collectionName"])),{category:(i=t==null?void 0:t.category)==null?void 0:i.map(a=>a.id)})})},N(T({},e),{manual:!0})),n=r.useActionContext();return d.useEffect(()=>{n.visible&&o.run()},[n.visible]),o},by=e=>{const{refreshCM:t}=r.useCollectionManager_deprecated(),o=w.useForm(),n=r.useActionContext(),{name:i}=G.useParams(),{refresh:a}=r.useResourceActionContext(),{resource:c,targetKey:l}=r.useResourceContext(),{[l]:p}=r.useRecord(),u=r.useAPIClient(),y=r.useDataSourceManager();return{run(){return _(this,null,function*(){yield o.submit(),yield u.request({url:`dataSources/${i}/collections:update?filterByTk=${p}`,method:"post",data:T({},ke(o.values,["fields","autoGenId","createdAt","updatedAt","createdBy","updatedBy","sortable"]))}),yield y.getDataSource(i).reload(),n.setVisible(!1),yield o.reset(),a(),yield t()})}}},xy=e=>{const t=r.useRecord();return s.jsx(Sy,T({item:t},e))},Sy=e=>{var C;const A=e,{scope:t,getContainer:o,item:n,children:i}=A,a=ut(A,["scope","getContainer","item","children"]),{getTemplate:c}=r.useCollectionManager_deprecated(),[l,p]=d.useState(!1),[u,y]=d.useState({}),{t:m}=B.useTranslation(),b=r.useCompile(),P=(C=n.fields)==null?void 0:C.map(v=>{var f;return{label:(f=v.uiSchema)!=null&&f.title?b(v.uiSchema.title):v.name,value:v.name}});return s.jsx(r.RecordProvider,{record:n,children:s.jsxs(r.ActionContextProvider,{value:{visible:l,setVisible:p},children:[s.jsx("a",N(T({},a),{onClick:()=>_(this,null,function*(){const v=c(n.template),f=Cy(T({},v),n,b);y(f),p(!0)}),children:i||m("Edit")})),s.jsx(r.SchemaComponent,{schema:u,components:{ArrayTable:ae.ArrayTable},scope:T({getContainer:o,useValuesFromRecord:vy,useUpdateCollectionActionAndRefreshCM:by,useCancelAction:r.useCancelAction,createOnly:!1,filterTargetKeyOptions:P,isView:n.view,createMainOnly:!0},t)})]})})},Ay=(e,t)=>(o,n)=>{o.loading=!0,e(o,n,t).then(pt.action.bound(i=>{o.dataSource=i,o.loading=!1})).catch(i=>console.log(i))},$y=()=>{const[e,t]=d.useState([]);return[e,t]},Ty=()=>{const e=r.useRecord(),t=w.useForm();return{run(){return _(this,null,function*(){var i,a,c;const n=(c=(a=(i=t.values)==null?void 0:i.children)==null?void 0:a.slice)==null?void 0:c.call(a);t.setValuesIn("children",n.filter(l=>l.name!==e.name))})}}},Fy=()=>({run(){return _(this,null,function*(){})}}),wy=e=>`${e||""}${V.uid()}`,_y=()=>{const{t:e}=B.useTranslation(),{interfaces:t}=r.useCollectionManager_deprecated(),{data:{database:o}}=r.useCurrentAppInfo(),n=r.useDataSourceManager(),i=d.useContext(r.SchemaComponentContext),{name:a}=G.useParams(),c=d.useContext(r.CollectionCategroriesContext),l=r.useAPIClient(),p=l.resource("dbViews"),u=r.useCompile(),y=()=>_(this,null,function*(){return c.data.map(C=>({label:u(C.name),value:C.id}))}),m=()=>_(this,null,function*(){return p.list().then(({data:C})=>{var v;return(v=C==null?void 0:C.data)==null?void 0:v.map(f=>{const g=f.schema;return{label:g?`${g}.${u(f.name)}`:f.name,value:g?`${g}_${f.name}`:f.name}})})}),b=()=>_(this,null,function*(){return l.resource("storages").list().then(({data:C})=>{var v;return(v=C==null?void 0:C.data)==null?void 0:v.map(f=>({label:e(u(f.title)),value:f.name}))})}),P=()=>{const C=d.useContext(r.ResourceActionContext),v=r.useAPIClient(),f=w.useField(),{name:g}=G.useParams();f.data=f.data||{};const{setDataSource:h,dataSource:x}=d.useContext(Ae);return{onClick(){return _(this,null,function*(){var E,k,D;f.data.loading=!0;try{const{data:j}=yield v.request({url:`dataSources:refresh?filterByTk=${g}&clientStatus=${(x==null?void 0:x.status)||"loaded"}`,method:"post"});f.data.loading=!1,h(j==null?void 0:j.data),((E=j==null?void 0:j.data)==null?void 0:E.status)==="reloading"?S.message.warning(e("Data source synchronization in progress")):((k=j==null?void 0:j.data)==null?void 0:k.status)==="loaded"&&(S.message.success(e("Data source synchronization successful")),(D=C==null?void 0:C.refresh)==null||D.call(C)),yield n.getDataSource(g).reload()}catch(j){f.data.loading=!1}})}}},A=d.useMemo(()=>on(a),[a]);return s.jsx(r.SchemaComponentContext.Provider,{value:N(T({},i),{designable:!1}),children:s.jsx(r.SchemaComponent,{schema:A,components:{EditCollection:xy,AddSubFieldAction:r.AddSubFieldAction,EditSubFieldAction:r.EditSubFieldAction,FieldSummary:r.FieldSummary,TemplateSummay:r.TemplateSummary,CollectionFields:Io},scope:{useRefreshActionProps:P,useDestroySubField:Ty,useBulkDestroySubField:Fy,useSelectedRowKeys:$y,useAsyncDataSource:Ay,loadCategories:y,loadDBViews:m,loadStorages:b,useNewId:wy,useCancelAction:r.useCancelAction,interfaces:t,enableInherits:(o==null?void 0:o.dialect)==="postgres",isPG:(o==null?void 0:o.dialect)==="postgres"}})})};var Oo={exports:{}};/*!
11
11
  Copyright (c) 2018 Jed Watson.
12
12
  Licensed under the MIT License (MIT), see
13
13
  http://jedwatson.github.io/classnames
14
- */(function(e){(function(){var t={}.hasOwnProperty;function o(){for(var n=[],s=0;s<arguments.length;s++){var i=arguments[s];if(i){var c=typeof i;if(c==="string"||c==="number")n.push(i);else if(Array.isArray(i)){if(i.length){var l=o.apply(null,i);l&&n.push(l)}}else if(c==="object"){if(i.toString!==Object.prototype.toString&&!i.toString.toString().includes("[native code]")){n.push(i.toString());continue}for(var p in i)t.call(i,p)&&i[p]&&n.push(p)}}}return n.join(" ")}e.exports?(o.default=o,e.exports=o):window.classNames=o})()})(Oo);var Py=Oo.exports;const Dy=Fe(Py);var Iy=function(e,t){var o;if("ConfigContext"in S.ConfigProvider){var n=d.useContext(S.ConfigProvider.ConfigContext).getPrefixCls;return n(e,t==null?void 0:t.prefixCls)}else{var s=(o=t==null?void 0:t.prefixCls)!==null&&o!==void 0?o:"ant-";return"".concat(s).concat(e!=null?e:"")}};const Oy=e=>{const t=Iy("description-input",e),{data:{name:o,tableName:n}}=r.useCollectionRecord();return a.jsx("div",{className:Dy(t,e.className),style:e.style,children:o!==n?a.jsxs(a.Fragment,{children:[o," ",a.jsxs("span",{style:{color:"GrayText"},children:["(",n,")"]})]}):e.value})},My=Object.assign(w.connect(S.Input,w.mapProps((e,t)=>N(T({},e),{suffix:a.jsx("span",{children:t!=null&&t.loading||t!=null&&t.validating?a.jsx(Q.LoadingOutlined,{}):e.suffix})})),w.mapReadPretty(Oy))),Ey=({item:e})=>{const{t}=B.useTranslation(),o=r.useCompile();return a.jsxs(S.Space,{children:[a.jsx(S.Badge,{color:e.color}),t(o(e.name))]})},jy=w.observer(e=>{const[t,o]=d.useState(null),{refresh:n}=d.useContext(r.CollectionCategroriesContext),{refresh:s}=r.useResourceActionContext(),i=r.useAPIClient(),c=y=>_(this,null,function*(){const{active:m,over:b}=y;setTimeout(()=>{o(null)}),b&&b.id!==m.id&&(yield i.resource("collectionCategories").move({sourceId:m.id,targetId:b.id}),yield n(),yield s())});function l(y){var m;o((m=y.active)==null?void 0:m.data.current)}const p=W.useSensor(W.MouseSensor,{activationConstraint:{distance:10}}),u=W.useSensors(p);return a.jsxs(W.DndContext,{sensors:u,onDragEnd:c,onDragStart:l,children:[e.children,a.jsx(W.DragOverlay,{children:t?a.jsx("span",{style:{whiteSpace:"nowrap"},children:a.jsx(Ey,{item:t})}):null})]})},{displayName:"DndProvider"}),ky=()=>{const{t:e}=B.useTranslation(),{data:t}=d.useContext(r.CollectionCategroriesContext),o=r.useCompile();if(!t)return null;const n=t.sort((i,c)=>c.sort-i.sort).concat().map(i=>N(T({},i),{schema:Ne}));!n.find(i=>i.id==="all")&&n.unshift({name:'{{t("All collections")}}',id:"all",sort:0,closable:!1,schema:Ne});const s=()=>_(this,null,function*(){return t.map(i=>({label:e(o(i.name)),value:i.id}))});return a.jsx(jy,{children:a.jsx(S.Card,{bordered:!1,children:a.jsx(r.SchemaComponentOptions,{components:{CollectionFields:Io,CollectionName:My},inherit:!0,scope:{loadCategories:s},children:a.jsx(w.RecursionField,{schema:Ne,onlyRenderProperties:!0})})})})},Ky={type:"object",properties:{[V.uid()]:{"x-component":"ConfigurationTable"}}},Ny=()=>a.jsx(r.SchemaComponent,{schema:Ky,components:{CollectionCategroriesProvider:r.CollectionCategroriesProvider,ConfigurationTable:_y,ConfigurationTabs:ky,AddFieldAction:r.AddFieldAction,AddCollectionField:r.AddCollectionField,AddCollection:r.AddCollection,AddCollectionAction:r.AddCollectionAction,EditCollection:r.EditCollection,EditCollectionAction:r.EditCollectionAction,DeleteCollection:r.DeleteCollection,DeleteCollectionAction:r.DeleteCollectionAction,EditFieldAction:r.EditFieldAction,EditCollectionField:r.EditCollectionField,OverridingCollectionField:r.OverridingCollectionField,OverridingFieldAction:r.OverridingFieldAction,ViewCollectionField:r.ViewCollectionField,ViewFieldAction:r.ViewFieldAction,SyncFieldsAction:r.SyncFieldsAction,SyncFieldsActionCom:r.SyncFieldsActionCom,SyncSQLFieldsAction:r.SyncSQLFieldsAction}}),By=()=>{const[e,t]=d.useState({}),o=r.usePlugin(xe),n=r.useCompile(),[s,i]=d.useState(!1),{t:c}=B.useTranslation(),[l,p]=d.useState(null),u=r.useAPIClient(),y=m=>{const b=[...o.types.keys()].map(P=>{const A=o.types.get(P);return{value:A.name,label:n(A.label)}});m.dataSource=b};return a.jsx("div",{children:a.jsxs(r.ActionContext.Provider,{value:{visible:s,setVisible:i},children:[a.jsx(S.Dropdown,{menu:{onClick(m){if(m.key==="__empty__")return;const b=o.types.get(m.key);p(m.key),i(!0),t({type:"object",properties:{[V.uid()]:{type:"void","x-component":"Action.Drawer","x-decorator":"Form","x-decorator-props":{initialValue:{type:m.key}},title:n("{{t('Add new')}}")+" - "+n(b.label),properties:{body:{type:"void","x-component":b.DataSourceSettingsForm},footer:{type:"void","x-component":"Action.Drawer.Footer",properties:{testConnectiion:{title:`{{ t("Test Connection",{ ns: "${K}" }) }}`,"x-component":"Action","x-component-props":{useAction:"{{ useTestConnectionAction }}"}},cancel:{title:'{{t("Cancel")}}',"x-component":"Action","x-component-props":{useAction:"{{ cm.useCancelAction }}"}},submit:{title:'{{t("Submit")}}',"x-component":"Action","x-component-props":{type:"primary",useAction:"{{ cm.useCreateAction }}",actionCallback:"{{ dataSourceCreateCallback }}"}}}}}}}})},items:[o.types.size?null:{key:"__empty__",label:a.jsx(S.Empty,{image:S.Empty.PRESENTED_IMAGE_SIMPLE,description:a.jsxs(a.Fragment,{children:[c("No external data source plugin installed",{ns:K}),a.jsx("br",{})," ",a.jsx("a",{target:"_blank",href:u.auth.locale==="zh-CN"?"https://docs-cn.nocobase.com/handbook/data-source-manager":"https://docs.nocobase.com/handbook/data-source-manager",rel:"noreferrer",children:c("View documentation",{ns:K})})]})})}].filter(Boolean).concat([...o.types.keys()].map(m=>{const b=o.types.get(m);return{key:m,label:n(b==null?void 0:b.label)}}))},children:a.jsxs(S.Button,{type:"primary",icon:a.jsx(Q.PlusOutlined,{}),children:[c("Add new")," ",a.jsx(Q.DownOutlined,{})]})}),a.jsx(r.SchemaComponent,{scope:{createOnly:!1,useTestConnectionAction:dt,dialect:l,useDialectDataSource:y},schema:e})]})})},Vy=()=>{const e=r.useRecord(),[t,o]=d.useState({}),n=r.usePlugin(xe),s=r.useCompile(),[i,c]=d.useState(!1),{t:l}=B.useTranslation(),p=r.useDataSourceManager(),u=()=>{const y=w.useField(),m=w.useForm(),b=r.useActionContext(),{refresh:P}=r.useResourceActionContext(),{resource:A}=r.useResourceContext(),{key:C}=r.useRecord();return{run(){return _(this,null,function*(){yield m.submit(),y.data=y.data||{},y.data.loading=!0;try{yield A.update({filterByTk:C,values:m.values}),b.setVisible(!1),p.getDataSource(C).setOptions(m.values),p.getDataSource(C).reload(),yield m.reset(),P()}catch(f){console.log(f)}finally{y.data.loading=!1}})}}};return a.jsx("div",{children:a.jsxs(r.ActionContext.Provider,{value:{visible:i,setVisible:c},children:[e.key!=="main"&&a.jsx("a",{onClick:()=>{c(!0);const y=n.types.get(e.type);o({type:"object",properties:{[V.uid()]:{type:"void","x-component":"Action.Drawer","x-decorator":"Form","x-decorator-props":{initialValue:e},title:s("{{t('Edit')}}")+" - "+s(e.displayName),properties:{body:{type:"void","x-component":y.DataSourceSettingsForm},footer:{type:"void","x-component":"Action.Drawer.Footer",properties:{cancel:{title:'{{t("Cancel")}}',"x-component":"Action","x-component-props":{useAction:"{{ cm.useCancelAction }}"}},testConnectiion:{title:`{{ t("Test Connection",{ ns: "${K}" }) }}`,"x-component":"Action","x-component-props":{useAction:"{{ useTestConnectionAction }}"}},submit:{title:'{{t("Submit")}}',"x-component":"Action","x-component-props":{type:"primary",useAction:"{{ useUpdateAction }}"}}}}}}}})},children:l("Edit")}),a.jsx(r.SchemaComponent,{scope:{createOnly:!0,useUpdateAction:u},schema:t})]})})},Ly=e=>`/admin/settings/data-source-manager/${e}/collections`,qy=()=>{const e=r.useRecord(),t=G.useNavigate(),{t:o}=B.useTranslation();return a.jsx("div",{className:e.enabled?void 0:fe.css`
14
+ */(function(e){(function(){var t={}.hasOwnProperty;function o(){for(var a="",c=0;c<arguments.length;c++){var l=arguments[c];l&&(a=i(a,n(l)))}return a}function n(a){if(typeof a=="string"||typeof a=="number")return a;if(typeof a!="object")return"";if(Array.isArray(a))return o.apply(null,a);if(a.toString!==Object.prototype.toString&&!a.toString.toString().includes("[native code]"))return a.toString();var c="";for(var l in a)t.call(a,l)&&a[l]&&(c=i(c,l));return c}function i(a,c){return c?a?a+" "+c:a+c:a}e.exports?(o.default=o,e.exports=o):window.classNames=o})()})(Oo);var Py=Oo.exports;const Dy=Fe(Py);var Iy=function(e,t){var o;if("ConfigContext"in S.ConfigProvider){var n=d.useContext(S.ConfigProvider.ConfigContext).getPrefixCls;return n(e,t==null?void 0:t.prefixCls)}else{var i=(o=t==null?void 0:t.prefixCls)!==null&&o!==void 0?o:"ant-";return"".concat(i).concat(e!=null?e:"")}};const Oy=e=>{const t=Iy("description-input",e),{data:{name:o,tableName:n}}=r.useCollectionRecord();return s.jsx("div",{className:Dy(t,e.className),style:e.style,children:o!==n?s.jsxs(s.Fragment,{children:[o," ",s.jsxs("span",{style:{color:"GrayText"},children:["(",n,")"]})]}):e.value})},My=Object.assign(w.connect(S.Input,w.mapProps((e,t)=>N(T({},e),{suffix:s.jsx("span",{children:t!=null&&t.loading||t!=null&&t.validating?s.jsx(Q.LoadingOutlined,{}):e.suffix})})),w.mapReadPretty(Oy))),Ey=({item:e})=>{const{t}=B.useTranslation(),o=r.useCompile();return s.jsxs(S.Space,{children:[s.jsx(S.Badge,{color:e.color}),t(o(e.name))]})},jy=w.observer(e=>{const[t,o]=d.useState(null),{refresh:n}=d.useContext(r.CollectionCategroriesContext),{refresh:i}=r.useResourceActionContext(),a=r.useAPIClient(),c=y=>_(this,null,function*(){const{active:m,over:b}=y;setTimeout(()=>{o(null)}),b&&b.id!==m.id&&(yield a.resource("collectionCategories").move({sourceId:m.id,targetId:b.id}),yield n(),yield i())});function l(y){var m;o((m=y.active)==null?void 0:m.data.current)}const p=W.useSensor(W.MouseSensor,{activationConstraint:{distance:10}}),u=W.useSensors(p);return s.jsxs(W.DndContext,{sensors:u,onDragEnd:c,onDragStart:l,children:[e.children,s.jsx(W.DragOverlay,{children:t?s.jsx("span",{style:{whiteSpace:"nowrap"},children:s.jsx(Ey,{item:t})}):null})]})},{displayName:"DndProvider"}),ky=()=>{const{t:e}=B.useTranslation(),{data:t}=d.useContext(r.CollectionCategroriesContext),o=r.useCompile();if(!t)return null;const n=t.sort((a,c)=>c.sort-a.sort).concat().map(a=>N(T({},a),{schema:Ne}));!n.find(a=>a.id==="all")&&n.unshift({name:'{{t("All collections")}}',id:"all",sort:0,closable:!1,schema:Ne});const i=()=>_(this,null,function*(){return t.map(a=>({label:e(o(a.name)),value:a.id}))});return s.jsx(jy,{children:s.jsx(S.Card,{bordered:!1,children:s.jsx(r.SchemaComponentOptions,{components:{CollectionFields:Io,CollectionName:My},inherit:!0,scope:{loadCategories:i},children:s.jsx(w.RecursionField,{schema:Ne,onlyRenderProperties:!0})})})})},Ky={type:"object",properties:{[V.uid()]:{"x-component":"ConfigurationTable"}}},Ny=()=>s.jsx(r.SchemaComponent,{schema:Ky,components:{CollectionCategroriesProvider:r.CollectionCategroriesProvider,ConfigurationTable:_y,ConfigurationTabs:ky,AddFieldAction:r.AddFieldAction,AddCollectionField:r.AddCollectionField,AddCollection:r.AddCollection,AddCollectionAction:r.AddCollectionAction,EditCollection:r.EditCollection,EditCollectionAction:r.EditCollectionAction,DeleteCollection:r.DeleteCollection,DeleteCollectionAction:r.DeleteCollectionAction,EditFieldAction:r.EditFieldAction,EditCollectionField:r.EditCollectionField,OverridingCollectionField:r.OverridingCollectionField,OverridingFieldAction:r.OverridingFieldAction,ViewCollectionField:r.ViewCollectionField,ViewFieldAction:r.ViewFieldAction,SyncFieldsAction:r.SyncFieldsAction,SyncFieldsActionCom:r.SyncFieldsActionCom,SyncSQLFieldsAction:r.SyncSQLFieldsAction}}),By=()=>{const[e,t]=d.useState({}),o=r.usePlugin(xe),n=r.useCompile(),[i,a]=d.useState(!1),{t:c}=B.useTranslation(),[l,p]=d.useState(null),u=r.useAPIClient(),y=m=>{const b=[...o.types.keys()].map(P=>{const A=o.types.get(P);return{value:A.name,label:n(A.label)}});m.dataSource=b};return s.jsx("div",{children:s.jsxs(r.ActionContext.Provider,{value:{visible:i,setVisible:a},children:[s.jsx(S.Dropdown,{menu:{onClick(m){if(m.key==="__empty__")return;const b=o.types.get(m.key);p(m.key),a(!0),t({type:"object",properties:{[V.uid()]:{type:"void","x-component":"Action.Drawer","x-decorator":"Form","x-decorator-props":{initialValue:{type:m.key}},title:n("{{t('Add new')}}")+" - "+n(b.label),properties:{body:{type:"void","x-component":b.DataSourceSettingsForm},footer:{type:"void","x-component":"Action.Drawer.Footer",properties:{testConnectiion:{title:`{{ t("Test Connection",{ ns: "${K}" }) }}`,"x-component":"Action","x-component-props":{useAction:"{{ useTestConnectionAction }}"}},cancel:{title:'{{t("Cancel")}}',"x-component":"Action","x-component-props":{useAction:"{{ cm.useCancelAction }}"}},submit:{title:'{{t("Submit")}}',"x-component":"Action","x-component-props":{type:"primary",useAction:"{{ cm.useCreateAction }}",actionCallback:"{{ dataSourceCreateCallback }}"}}}}}}}})},items:[o.types.size?null:{key:"__empty__",label:s.jsx(S.Empty,{image:S.Empty.PRESENTED_IMAGE_SIMPLE,description:s.jsxs(s.Fragment,{children:[c("No external data source plugin installed",{ns:K}),s.jsx("br",{})," ",s.jsx("a",{target:"_blank",href:u.auth.locale==="zh-CN"?"https://docs-cn.nocobase.com/handbook/data-source-manager":"https://docs.nocobase.com/handbook/data-source-manager",rel:"noreferrer",children:c("View documentation",{ns:K})})]})})}].filter(Boolean).concat([...o.types.keys()].map(m=>{const b=o.types.get(m);return{key:m,label:n(b==null?void 0:b.label)}}))},children:s.jsxs(S.Button,{type:"primary",icon:s.jsx(Q.PlusOutlined,{}),children:[c("Add new")," ",s.jsx(Q.DownOutlined,{})]})}),s.jsx(r.SchemaComponent,{scope:{createOnly:!1,useTestConnectionAction:dt,dialect:l,useDialectDataSource:y},schema:e})]})})},Vy=()=>{const e=r.useRecord(),[t,o]=d.useState({}),n=r.usePlugin(xe),i=r.useCompile(),[a,c]=d.useState(!1),{t:l}=B.useTranslation(),p=r.useDataSourceManager(),u=()=>{const y=w.useField(),m=w.useForm(),b=r.useActionContext(),{refresh:P}=r.useResourceActionContext(),{resource:A}=r.useResourceContext(),{key:C}=r.useRecord();return{run(){return _(this,null,function*(){yield m.submit(),y.data=y.data||{},y.data.loading=!0;try{yield A.update({filterByTk:C,values:m.values}),b.setVisible(!1),p.getDataSource(C).setOptions(m.values),p.getDataSource(C).reload(),yield m.reset(),P()}catch(f){console.log(f)}finally{y.data.loading=!1}})}}};return s.jsx("div",{children:s.jsxs(r.ActionContext.Provider,{value:{visible:a,setVisible:c},children:[e.key!=="main"&&s.jsx("a",{onClick:()=>{c(!0);const y=n.types.get(e.type);o({type:"object",properties:{[V.uid()]:{type:"void","x-component":"Action.Drawer","x-decorator":"Form","x-decorator-props":{initialValue:e},title:i("{{t('Edit')}}")+" - "+i(e.displayName),properties:{body:{type:"void","x-component":y.DataSourceSettingsForm},footer:{type:"void","x-component":"Action.Drawer.Footer",properties:{cancel:{title:'{{t("Cancel")}}',"x-component":"Action","x-component-props":{useAction:"{{ cm.useCancelAction }}"}},testConnectiion:{title:`{{ t("Test Connection",{ ns: "${K}" }) }}`,"x-component":"Action","x-component-props":{useAction:"{{ useTestConnectionAction }}"}},submit:{title:'{{t("Submit")}}',"x-component":"Action","x-component-props":{type:"primary",useAction:"{{ useUpdateAction }}"}}}}}}}})},children:l("Edit")}),s.jsx(r.SchemaComponent,{scope:{createOnly:!0,useUpdateAction:u},schema:t})]})})},Ly=e=>`/admin/settings/data-source-manager/${e}/collections`,qy=()=>{const e=r.useRecord(),t=G.useNavigate(),{t:o}=B.useTranslation();return s.jsx("div",{className:e.enabled?void 0:fe.css`
15
15
  .ant-btn-link {
16
16
  &:hover {
17
17
  color: rgba(0, 0, 0, 0.25) !important;
18
18
  }
19
19
  }
20
- `,children:a.jsx(S.Button,{type:"link",style:{padding:"0px"},disabled:!e.enabled,onClick:()=>{t(Ly(e.key))},role:"button","aria-label":`${e==null?void 0:e.key}-Configure`,children:o("Configure")})})},Gy=()=>{const{t:e}=B.useTranslation(),t=r.usePlugin(xe),o=[...t.types.keys()].map(y=>{const m=t.types.get(y);return{value:y,label:e(m==null?void 0:m.label)}}).concat([{value:"main",label:e("Main")}]),n=r.useDataSourceManager(),s=d.useRef([]);d.useEffect(()=>()=>{n.getDataSources().forEach(y=>{s.current.includes(y.key)&&y.reload()})},[s]);const i=d.useCallback(y=>{n.removeDataSources(y)},[n]),c=d.useCallback(y=>{n.addDataSource(mt,y),s.current=[...s.current,y.key]},[]),l=()=>{const y=r.useResourceActionContext();return{onClick(){return _(this,null,function*(){var P,A;const b=(P=y==null?void 0:y.data)==null?void 0:P.data.filter(C=>C.status!=="loaded");if(b!=null&&b.length){const C=n.getDataSources(),v=b.map(g=>g.key),f=C.filter(g=>v.includes(g.key));yield Promise.all(f.map(g=>g.reload()))}(A=y==null?void 0:y.refresh)==null||A.call(y)})}}},p=()=>{const{refresh:y}=r.useResourceActionContext(),{resource:m}=r.useResourceContext(),{key:b}=r.useRecord();return{run(){return _(this,null,function*(){yield m.destroy({filterByTk:b}),i([b]),y()})}}},u=y=>{const{key:m}=r.useRecord();y.visible=m!=="main"};return a.jsx(S.Card,{bordered:!1,children:a.jsx(r.SchemaComponent,{components:{CreateDatabaseConnectAction:By,EditDatabaseConnectionAction:Vy,ViewDatabaseConnectionAction:qy},scope:{useNewId:y=>`${y}${V.uid()}`,types:o,useRefreshActionProps:l,useDestroyAction:p,dataSourceDeleteCallback:i,dataSourceCreateCallback:c,useIsAbleDelete:u},schema:en})})},Uy={association:{sourceKey:"name",targetKey:"name"},collection:{name:"fields",fields:[{type:"string",name:"type",interface:"input",uiSchema:{title:'{{ t("Storage type") }}',type:"string","x-component":"Select",enum:[{label:"String",value:"string"}],required:!0}},{type:"string",name:"interface",interface:"input",uiSchema:{title:'{{ t("Field interface") }}',type:"string","x-component":"Select",enum:"{{interfaces}}"}},{type:"string",name:"title",interface:"input",uiSchema:{title:'{{ t("Field display name") }}',type:"string","x-component":"Input",required:!0}},{type:"string",name:"name",interface:"input",uiSchema:{title:'{{ t("Field name") }}',type:"string","x-component":"Input"}},{type:"string",name:"description",interface:"input",uiSchema:{title:'{{ t("Description") }}',type:"string","x-component":"Input.TextArea"}}]},request:{resource:"collections.fields",action:"list",params:{paginate:!1,filter:{$or:[{"interface.$not":null},{"options.source.$notEmpty":!0}]},sort:["sort"]}}},zy=e=>a.jsx(r.ResourceActionProvider,N(T({},Uy),{children:e.children})),Hy=fe.css`
20
+ `,children:s.jsx(S.Button,{type:"link",style:{padding:"0px"},disabled:!e.enabled,onClick:()=>{t(Ly(e.key))},role:"button","aria-label":`${e==null?void 0:e.key}-Configure`,children:o("Configure")})})},Gy=()=>{const{t:e}=B.useTranslation(),t=r.usePlugin(xe),o=[...t.types.keys()].map(y=>{const m=t.types.get(y);return{value:y,label:e(m==null?void 0:m.label)}}).concat([{value:"main",label:e("Main")}]),n=r.useDataSourceManager(),i=d.useRef([]);d.useEffect(()=>()=>{n.getDataSources().forEach(y=>{i.current.includes(y.key)&&y.reload()})},[i]);const a=d.useCallback(y=>{n.removeDataSources(y)},[n]),c=d.useCallback(y=>{n.addDataSource(mt,y),i.current=[...i.current,y.key]},[]),l=()=>{const y=r.useResourceActionContext();return{onClick(){return _(this,null,function*(){var P,A;const b=(P=y==null?void 0:y.data)==null?void 0:P.data.filter(C=>C.status!=="loaded");if(b!=null&&b.length){const C=n.getDataSources(),v=b.map(g=>g.key),f=C.filter(g=>v.includes(g.key));yield Promise.all(f.map(g=>g.reload()))}(A=y==null?void 0:y.refresh)==null||A.call(y)})}}},p=()=>{const{refresh:y}=r.useResourceActionContext(),{resource:m}=r.useResourceContext(),{key:b}=r.useRecord();return{run(){return _(this,null,function*(){yield m.destroy({filterByTk:b}),a([b]),y()})}}},u=y=>{const{key:m}=r.useRecord();y.visible=m!=="main"};return s.jsx(S.Card,{bordered:!1,children:s.jsx(r.SchemaComponent,{components:{CreateDatabaseConnectAction:By,EditDatabaseConnectionAction:Vy,ViewDatabaseConnectionAction:qy},scope:{useNewId:y=>`${y}${V.uid()}`,types:o,useRefreshActionProps:l,useDestroyAction:p,dataSourceDeleteCallback:a,dataSourceCreateCallback:c,useIsAbleDelete:u},schema:en})})},Uy={association:{sourceKey:"name",targetKey:"name"},collection:{name:"fields",fields:[{type:"string",name:"type",interface:"input",uiSchema:{title:'{{ t("Storage type") }}',type:"string","x-component":"Select",enum:[{label:"String",value:"string"}],required:!0}},{type:"string",name:"interface",interface:"input",uiSchema:{title:'{{ t("Field interface") }}',type:"string","x-component":"Select",enum:"{{interfaces}}"}},{type:"string",name:"title",interface:"input",uiSchema:{title:'{{ t("Field display name") }}',type:"string","x-component":"Input",required:!0}},{type:"string",name:"name",interface:"input",uiSchema:{title:'{{ t("Field name") }}',type:"string","x-component":"Input"}},{type:"string",name:"description",interface:"input",uiSchema:{title:'{{ t("Description") }}',type:"string","x-component":"Input.TextArea"}}]},request:{resource:"collections.fields",action:"list",params:{paginate:!1,filter:{$or:[{"interface.$not":null},{"options.source.$notEmpty":!0}]},sort:["sort"]}}},zy=e=>s.jsx(r.ResourceActionProvider,N(T({},Uy),{children:e.children})),Hy=fe.css`
21
21
  .ant-table {
22
22
  margin-left: -16px !important;
23
23
  }
@@ -42,13 +42,13 @@
42
42
  min-width: 50px;
43
43
  flex: 0;
44
44
  }
45
- `,Mo="Default title for each record",Qy=e=>{const t=r.useCompile(),{getInterface:o}=r.useCollectionManager_deprecated(),{t:n}=B.useTranslation(),{setState:s}=r.useResourceActionContext(),{targetKey:i}=e.collectionResource||{},c=r.useRecord(),[l,p]=d.useState(null),{refreshCM:u,isTitleField:y,getTemplate:m}=r.useCollectionManager_deprecated(),{[i]:b,titleField:P,template:A}=c,[C,v]=d.useState(P),f=m(A),g=r.useAPIClient(),h=[{dataIndex:["uiSchema","title"],title:n("Field display name"),render:x=>a.jsx("div",{style:{marginLeft:7},children:t(x)})},{dataIndex:"name",title:n("Field name")},{dataIndex:"interface",title:n("Field interface"),render:x=>{var F;return a.jsx(S.Tag,{children:t((F=o(x))==null?void 0:F.title)})}},{dataIndex:"titleField",title:n("Title field"),render:function(F,E){const k=D=>_(this,null,function*(){p(E),yield g.request({url:`collections:update?filterByTk=${b}`,method:"post",data:{titleField:D?E.name:"id"}}),S.message.success(n("Saved successfully")),v(D?E.name:"id"),yield e.refreshAsync(),p(null),u()});return y(E)?a.jsx(S.Tooltip,{title:n(Mo),placement:"right",overlayInnerStyle:{textAlign:"center"},children:a.jsx(S.Switch,{"aria-label":`switch-title-field-${E.name}`,size:"small",loading:E.name===(l==null?void 0:l.name),checked:E.name===(C||"id"),onChange:k})}):null}},{dataIndex:"description",title:n("Descriptio "),render:x=>a.jsx(r.Input.ReadPretty,{value:x,ellipsis:!0})},{dataIndex:"actions",title:n("Actions"),render:(x,F)=>{const E={confirm:{title:n("Delete record"),content:n("Are you sure you want to delete it?")},useAction:r.useDestroyActionAndRefreshCM,disabled:r.isDeleteButtonDisabled(F)||(f==null?void 0:f.forbidDeletion),title:n("Delete")};return a.jsx(r.RecordProvider,{record:F,parent:c,children:a.jsxs(S.Space,{children:[a.jsx(r.EditCollectionField,{role:"button","aria-label":`edit-button-${F.name}`,type:"primary"}),a.jsx(r.Action.Link,T({},E))]})})}}];return a.jsx(S.Table,{rowKey:"name",columns:h,showHeader:!1,pagination:!1,dataSource:e.fields,rowSelection:{type:"checkbox",getCheckboxProps(x){return{"aria-label":`checkbox-${x.name}`}},onChange:x=>{s(F=>N(T({},F),{selectedRowKeys:x}))}},className:Hy})},Yy=e=>{const t=r.useCompile(),{getInterface:o}=r.useCollectionManager_deprecated(),{resource:n,targetKey:s}=e.collectionResource||{},i=r.useRecord(),[c,l]=d.useState(null),{t:p}=B.useTranslation(),{refreshCM:u,isTitleField:y}=r.useCollectionManager_deprecated(),{[s]:m,titleField:b,name:P}=i,A=[{dataIndex:["uiSchema","rawTitle"],title:p("Field display name"),render:C=>a.jsx("div",{style:{marginLeft:1},children:t(C)})},{dataIndex:"name",title:p("Field name")},{dataIndex:"interface",title:p("Field interface"),render:C=>{var v;return a.jsx(S.Tag,{children:t((v=o(C))==null?void 0:v.title)})}},{dataIndex:"titleField",title:p("Title field"),render(C,v){const f=g=>{l(v),n.update({filterByTk:m,values:{titleField:g?v.name:"id"}}).then(()=>_(this,null,function*(){yield e.refreshAsync(),l(null),u()})).catch(h=>{l(null),console.error(h)})};return y(v)?a.jsx(S.Tooltip,{title:p(Mo),placement:"right",overlayInnerStyle:{textAlign:"center"},children:a.jsx(S.Switch,{size:"small",loading:v.name===(c==null?void 0:c.name),checked:v.name===(b||"id"),onChange:f})}):null}},{dataIndex:"actions",title:p("Actions"),render:function(v,f){const g={type:"primary",currentCollection:P},h={type:"primary"};return a.jsx(r.RecordProvider,{record:f,parent:i,children:a.jsxs(S.Space,{children:[a.jsx(r.OverridingCollectionField,T({},g)),a.jsx(r.ViewCollectionField,T({},h))]})})}}];return a.jsx(S.Table,{rowKey:"name",columns:A,showHeader:!1,pagination:!1,dataSource:e.fields.filter(C=>C.interface)})},Jy=()=>{const e=r.useCompile(),t=w.useField(),{name:o,template:n}=r.useRecord(),{data:{database:s}}=r.useCurrentAppInfo(),{getInterface:i,getInheritCollections:c,getCollection:l,getTemplate:p}=r.useCollectionManager_deprecated(),u=d.useMemo(()=>ye.createForm(),[]),y=r.useAttach(u.createArrayField(N(T({},t.props),{basePath:""}))),{t:m}=B.useTranslation(),b=r.useResourceContext(),{refreshAsync:P,data:A}=d.useContext(r.ResourceActionContext),C=p(n),v=c(o),f=[{dataIndex:"title",title:m("Field display name"),render:D=>a.jsx("div",{className:fe.css`
45
+ `,Mo="Default title for each record",Qy=e=>{const t=r.useCompile(),{getInterface:o}=r.useCollectionManager_deprecated(),{t:n}=B.useTranslation(),{setState:i}=r.useResourceActionContext(),{targetKey:a}=e.collectionResource||{},c=r.useRecord(),[l,p]=d.useState(null),{refreshCM:u,isTitleField:y,getTemplate:m}=r.useCollectionManager_deprecated(),{[a]:b,titleField:P,template:A}=c,[C,v]=d.useState(P),f=m(A),g=r.useAPIClient(),h=[{dataIndex:["uiSchema","title"],title:n("Field display name"),render:x=>s.jsx("div",{style:{marginLeft:7},children:t(x)})},{dataIndex:"name",title:n("Field name")},{dataIndex:"interface",title:n("Field interface"),render:x=>{var F;return s.jsx(S.Tag,{children:t((F=o(x))==null?void 0:F.title)})}},{dataIndex:"titleField",title:n("Title field"),render:function(F,E){const k=D=>_(this,null,function*(){p(E),yield g.request({url:`collections:update?filterByTk=${b}`,method:"post",data:{titleField:D?E.name:"id"}}),S.message.success(n("Saved successfully")),v(D?E.name:"id"),yield e.refreshAsync(),p(null),u()});return y(E)?s.jsx(S.Tooltip,{title:n(Mo),placement:"right",overlayInnerStyle:{textAlign:"center"},children:s.jsx(S.Switch,{"aria-label":`switch-title-field-${E.name}`,size:"small",loading:E.name===(l==null?void 0:l.name),checked:E.name===(C||"id"),onChange:k})}):null}},{dataIndex:"description",title:n("Descriptio "),render:x=>s.jsx(r.Input.ReadPretty,{value:x,ellipsis:!0})},{dataIndex:"actions",title:n("Actions"),render:(x,F)=>{const E={confirm:{title:n("Delete record"),content:n("Are you sure you want to delete it?")},useAction:r.useDestroyActionAndRefreshCM,disabled:r.isDeleteButtonDisabled(F)||(f==null?void 0:f.forbidDeletion),title:n("Delete")};return s.jsx(r.RecordProvider,{record:F,parent:c,children:s.jsxs(S.Space,{children:[s.jsx(r.EditCollectionField,{role:"button","aria-label":`edit-button-${F.name}`,type:"primary"}),s.jsx(r.Action.Link,T({},E))]})})}}];return s.jsx(S.Table,{rowKey:"name",columns:h,showHeader:!1,pagination:!1,dataSource:e.fields,rowSelection:{type:"checkbox",getCheckboxProps(x){return{"aria-label":`checkbox-${x.name}`}},onChange:x=>{i(F=>N(T({},F),{selectedRowKeys:x}))}},className:Hy})},Yy=e=>{const t=r.useCompile(),{getInterface:o}=r.useCollectionManager_deprecated(),{resource:n,targetKey:i}=e.collectionResource||{},a=r.useRecord(),[c,l]=d.useState(null),{t:p}=B.useTranslation(),{refreshCM:u,isTitleField:y}=r.useCollectionManager_deprecated(),{[i]:m,titleField:b,name:P}=a,A=[{dataIndex:["uiSchema","rawTitle"],title:p("Field display name"),render:C=>s.jsx("div",{style:{marginLeft:1},children:t(C)})},{dataIndex:"name",title:p("Field name")},{dataIndex:"interface",title:p("Field interface"),render:C=>{var v;return s.jsx(S.Tag,{children:t((v=o(C))==null?void 0:v.title)})}},{dataIndex:"titleField",title:p("Title field"),render(C,v){const f=g=>{l(v),n.update({filterByTk:m,values:{titleField:g?v.name:"id"}}).then(()=>_(this,null,function*(){yield e.refreshAsync(),l(null),u()})).catch(h=>{l(null),console.error(h)})};return y(v)?s.jsx(S.Tooltip,{title:p(Mo),placement:"right",overlayInnerStyle:{textAlign:"center"},children:s.jsx(S.Switch,{size:"small",loading:v.name===(c==null?void 0:c.name),checked:v.name===(b||"id"),onChange:f})}):null}},{dataIndex:"actions",title:p("Actions"),render:function(v,f){const g={type:"primary",currentCollection:P},h={type:"primary"};return s.jsx(r.RecordProvider,{record:f,parent:a,children:s.jsxs(S.Space,{children:[s.jsx(r.OverridingCollectionField,T({},g)),s.jsx(r.ViewCollectionField,T({},h))]})})}}];return s.jsx(S.Table,{rowKey:"name",columns:A,showHeader:!1,pagination:!1,dataSource:e.fields.filter(C=>C.interface)})},Jy=()=>{const e=r.useCompile(),t=w.useField(),{name:o,template:n}=r.useRecord(),{data:{database:i}}=r.useCurrentAppInfo(),{getInterface:a,getInheritCollections:c,getCollection:l,getTemplate:p}=r.useCollectionManager_deprecated(),u=d.useMemo(()=>ye.createForm(),[]),y=r.useAttach(u.createArrayField(N(T({},t.props),{basePath:""}))),{t:m}=B.useTranslation(),b=r.useResourceContext(),{refreshAsync:P,data:A}=d.useContext(r.ResourceActionContext),C=p(n),v=c(o),f=[{dataIndex:"title",title:m("Field display name"),render:D=>s.jsx("div",{className:fe.css`
46
46
  font-weight: 500;
47
- `,children:D})},{dataIndex:"name",title:m("Field name")},{dataIndex:"interface",title:m("Field interface")},{dataIndex:"titleField",title:m("Title field")},{dataIndex:"description",title:m("Description")},{dataIndex:"actions",title:m("Actions")}],g=(A==null?void 0:A.data)||[],h={pf:[],association:[],general:[],system:[]};g.forEach(D=>{if(D.primaryKey||D.isForeignKey)h.pf.push(D);else if(D.interface){const j=i(D.interface);(j==null?void 0:j.group)==="systemInfo"?h.system.push(D):(j==null?void 0:j.group)==="relation"?h.association.push(D):h.general.push(D)}});const x=[{key:"pf",title:m("PK & FK fields"),fields:h.pf},{key:"association",title:m("Association fields"),fields:h.association},{key:"general",title:m("General fields"),fields:h.general},{key:"system",title:m("System fields"),fields:h.system}];x.push(...v.map(D=>{const j=l(D);if(j)return{key:D,title:`${m("Inherited fields")} - `+e(j==null?void 0:j.title),inherit:!0,fields:(j==null?void 0:j.fields)||[]}}).filter(Boolean));const F=d.useMemo(()=>({useAction:()=>r.useBulkDestroyActionAndRefreshCM(!0),title:m("Delete"),icon:"DeleteOutlined",disabled:C==null?void 0:C.forbidDeletion,confirm:{title:m("Delete record"),content:m("Are you sure you want to delete it?")}}),[m]),E={type:"primary",database:s},k={type:"primary"};return a.jsx(w.FormContext.Provider,{value:u,children:a.jsxs(w.FieldContext.Provider,{value:y,children:[a.jsxs(S.Space,{align:"end",className:fe.css`
47
+ `,children:D})},{dataIndex:"name",title:m("Field name")},{dataIndex:"interface",title:m("Field interface")},{dataIndex:"titleField",title:m("Title field")},{dataIndex:"description",title:m("Description")},{dataIndex:"actions",title:m("Actions")}],g=(A==null?void 0:A.data)||[],h={pf:[],association:[],general:[],system:[]};g.forEach(D=>{if(D.primaryKey||D.isForeignKey)h.pf.push(D);else if(D.interface){const j=a(D.interface);(j==null?void 0:j.group)==="systemInfo"?h.system.push(D):(j==null?void 0:j.group)==="relation"?h.association.push(D):h.general.push(D)}});const x=[{key:"pf",title:m("PK & FK fields"),fields:h.pf},{key:"association",title:m("Association fields"),fields:h.association},{key:"general",title:m("General fields"),fields:h.general},{key:"system",title:m("System fields"),fields:h.system}];x.push(...v.map(D=>{const j=l(D);if(j)return{key:D,title:`${m("Inherited fields")} - `+e(j==null?void 0:j.title),inherit:!0,fields:(j==null?void 0:j.fields)||[]}}).filter(Boolean));const F=d.useMemo(()=>({useAction:()=>r.useBulkDestroyActionAndRefreshCM(!0),title:m("Delete"),icon:"DeleteOutlined",disabled:C==null?void 0:C.forbidDeletion,confirm:{title:m("Delete record"),content:m("Are you sure you want to delete it?")}}),[m]),E={type:"primary",database:i},k={type:"primary"};return s.jsx(w.FormContext.Provider,{value:u,children:s.jsxs(w.FieldContext.Provider,{value:y,children:[s.jsxs(S.Space,{align:"end",className:fe.css`
48
48
  justify-content: flex-end;
49
49
  display: flex;
50
50
  margin-bottom: 16px;
51
- `,children:[a.jsx(r.Action,T({},F)),a.jsx(r.SyncFieldsAction,T({},k)),a.jsx(r.SyncSQLFieldsAction,{refreshCMList:P}),a.jsx(r.SchemaComponent,{schema:{type:"object",properties:T({},C.configureActions)}}),a.jsx(r.AddCollectionField,T({},E))]}),a.jsx(S.Table,{rowKey:"key",columns:f,dataSource:x.filter(D=>D.fields.length),pagination:!1,className:Wy,expandable:{defaultExpandAllRows:!0,defaultExpandedRowKeys:x.map(D=>D.key),expandedRowRender:D=>D.inherit?a.jsx(Yy,{fields:D.fields,collectionResource:b,refreshAsync:P}):a.jsx(Qy,{fields:D.fields,collectionResource:b,refreshAsync:P})}})]})})},Eo=()=>a.jsx(zy,{children:a.jsx(Jy,{})}),jo=e=>w.Schema.compile(e,{t:r.i18n.t}),Zy={type:"object",properties:{block1:{type:"void","x-collection":"collections","x-decorator":"ResourceActionProvider","x-decorator-props":{collection:{name:"collections",filterTargetKey:"name",targetKey:"name",sortable:!0,fields:[{type:"integer",name:"title",interface:"input",uiSchema:{title:'{{ t("Collection display name") }}',type:"number","x-component":"Input",required:!0}},{type:"string",name:"name",interface:"input",uiSchema:{title:'{{ t("Collection name") }}',type:"string","x-component":"Input",description:'{{t("Randomly generated and can be modified. Support letters, numbers and underscores, must start with an letter.")}}'}},{type:"string",name:"template",interface:"input",uiSchema:{title:'{{ t("Collection Template") }}',type:"string","x-component":"Input"}},{type:"hasMany",name:"fields",target:"fields",collectionName:"collections",sourceKey:"name",targetKey:"name",uiSchema:{}},{type:"hasMany",name:"inherits",interface:"select",uiSchema:{title:'{{ t("Inherits") }}',type:"string","x-component":"Select","x-component-props":{mode:"multiple"}}},{type:"string",name:"description",interface:"input",uiSchema:{title:'{{ t("Description") }}',type:"string","x-component":"Input"}}]},dragSort:!0,request:{resource:"collections",action:"list",params:{pageSize:50,sort:"sort",filter:{"hidden.$isFalsy":!0},appends:["category"]}}},properties:{tabs:{type:"void","x-component":"ConfigurationTabs"}}}}},ko={type:"object",properties:{[V.uid()]:{type:"void","x-component":"ActionBar","x-component-props":{style:{marginBottom:16}},properties:{filter:{type:"void",title:'{{ t("Filter") }}',default:{$and:[{title:{$includes:""}},{name:{$includes:""}}]},"x-action":"filter","x-component":"Filter.Action","x-use-component-props":"cm.useFilterActionProps","x-component-props":{icon:"FilterOutlined"},"x-align":"left"},delete:{type:"void",title:'{{ t("Delete") }}',"x-component":"DeleteCollection","x-component-props":{role:"button",isBulk:!0}},create:{type:"void",title:'{{ t("Create collection") }}',"x-component":"AddCollection","x-component-props":{type:"primary"}}}},[V.uid()]:{type:"void","x-uid":"input","x-component":"Table.Void","x-component-props":{rowKey:"name",rowSelection:{type:"checkbox"},useDataSource:"{{ cm.useDataSourceFromRAC }}",useAction(){const e=r.useAPIClient(),{t}=B.useTranslation();return{move(n,s){return _(this,null,function*(){yield e.resource("collections").move({sourceId:n.key,targetId:s.key}),S.message.success(t("Saved successfully"),.2)})}}}},properties:{column1:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",properties:{title:{"x-component":"CollectionField","x-read-pretty":!0}}},column2:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",properties:{name:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}},column3:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",title:'{{t("Collection template")}}',properties:{template:{"x-component":r.CollectionTemplateTag,"x-read-pretty":!0}}},column4:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column","x-visible":"categoryVisible",title:'{{t("Collection category")}}',properties:{category:{"x-component":r.CollectionCategory,"x-read-pretty":!0}}},column5:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",properties:{description:{"x-component":"CollectionField","x-read-pretty":!0,"x-component-props":{ellipsis:!0}}}},column6:{type:"void",title:'{{ t("Actions") }}',"x-component":"Table.Column",properties:{actions:{type:"void","x-component":"Space","x-component-props":{split:"|"},properties:{view:{type:"void",title:'{{ t("Configure fields") }}',"x-component":"Action.Link","x-component-props":{},properties:{drawer:{type:"void","x-component":"Action.Drawer","x-component-props":{destroyOnClose:!0,width:"70%"},"x-reactions":e=>{const t=e.path.segments[1],o=e.path.segments[0],n=e.form.getValuesIn(`${o}.${t}`);n&&(e.title=`${jo(n.title)} - ${jo('{{ t("Configure fields") }}')}`)},properties:{collectionFieldSchema:{type:"void","x-component":"CollectionFields"}}}}},update:{type:"void",title:'{{ t("Edit") }}',"x-component":"EditCollection","x-component-props":{role:"button","aria-label":'{{ "edit-button-" + $record.name }}',type:"primary"}},delete:{type:"void",title:'{{ t("Delete") }}',"x-component":"DeleteCollection","x-component-props":{role:"button","aria-label":'{{ "delete-button-" + $record.name }}',type:"primary",className:"nb-action-link"}}}}}}}}}},Xy={type:"object",properties:{form:{type:"void","x-decorator":"Form","x-component":"Action.Modal",title:'{{ t("Add category") }}',"x-component-props":{width:520,getContainer:"{{ getContainer }}"},properties:{name:{type:"string",title:'{{t("Category name")}}',required:!0,"x-disabled":"{{ !createOnly }}","x-decorator":"FormItem","x-component":"Input"},color:{type:"string",title:'{{t("Color")}}',required:!1,"x-decorator":"FormItem","x-component":"ColorSelect"},footer:{type:"void","x-component":"Action.Modal.Footer",properties:{action1:{title:'{{ t("Cancel") }}',"x-component":"Action","x-component-props":{useAction:"{{ useCancelAction }}"}},action2:{title:'{{ t("Submit") }}',"x-component":"Action","x-component-props":{type:"primary",useAction:"{{ useCreateCategry }}",style:{marginLeft:"8px"}}}}}}}}},Ry={type:"object",properties:{form:{type:"void","x-decorator":"Form","x-decorator-props":{useValues:"{{ useValuesFromRecord }}"},"x-component":"Action.Modal",title:'{{ t("Edit category") }}',"x-component-props":{width:520,getContainer:"{{ getContainer }}"},properties:{name:{type:"string",title:'{{t("Category name")}}',required:!0,"x-disabled":"{{ !createOnly }}","x-decorator":"FormItem","x-component":"Input"},color:{type:"string",title:'{{t("Color")}}',required:!1,"x-decorator":"FormItem","x-component":"ColorSelect"},footer:{type:"void","x-component":"Action.Modal.Footer",properties:{action1:{title:'{{ t("Cancel") }}',"x-component":"Action","x-component-props":{useAction:"{{ useCancelAction }}"}},action2:{title:'{{ t("Submit") }}',"x-component":"Action","x-component-props":{type:"primary",useAction:"{{ useEditCategry }}",style:{marginLeft:"8px"}}}}}}}}},ef=(e,t)=>(o,n)=>{o.loading=!0,e(o,n,t).then(pt.action.bound(s=>{o.dataSource=s,o.loading=!1})).catch(console.error)},tf=()=>{const[e,t]=d.useState([]);return[e,t]},of=()=>{const e=r.useRecord(),t=w.useForm();return{run(){return _(this,null,function*(){var s,i,c;const n=(c=(i=(s=t.values)==null?void 0:s.children)==null?void 0:i.slice)==null?void 0:c.call(i);t.setValuesIn("children",n.filter(l=>l.name!==e.name))})}}},nf=()=>({run(){return _(this,null,function*(){})}}),rf=()=>{const e=r.useRecord(),{getCollectionFields:t}=r.useCollectionManager_deprecated();return e.__parent&&e.__parent.interface==="subTable"?d.useContext(r.DataSourceContext_deprecated).dataSource:t(e.collectionName||e.name)},af=e=>`${e||""}${V.uid()}`,sf=()=>{const{t:e}=B.useTranslation(),{interfaces:t,getCollections:o}=r.useCollectionManager_deprecated(),{data:{database:n}}=r.useCurrentAppInfo(),s=d.useContext(r.CollectionCategroriesContext),i=r.useAPIClient(),c=i.resource("dbViews"),l=r.useCompile();w.useForm();const p=(A,C,v)=>_(this,null,function*(){var x;const{targetScope:f}=C,g=((x=A.props)==null?void 0:x.name)==="inherits";return o().filter(F=>{var j;if(v!=null&&v.includes(F.template)||F.autoCreate&&F.isThrough||g&&F.template==="view")return!1;const k=!(f!=null&&f.template)||f.template.includes(F.template),D=!(f!=null&&f[(j=A.props)==null?void 0:j.name])||f[A.props.name].includes(F.name);return k&&D}).map(F=>({label:l(F.title),value:F.name}))}),u=()=>_(this,null,function*(){return s.data.map(A=>({label:l(A.name),value:A.id}))}),y=()=>_(this,null,function*(){return c.list().then(({data:A})=>{var C;return(C=A==null?void 0:A.data)==null?void 0:C.map(v=>{const f=v.schema;return{label:f?`${f}.${l(v.name)}`:v.name,value:f?`${f}_${v.name}`:v.name}})})}),m=A=>_(this,null,function*(){const{fields:C}=A.form.values;return Promise.resolve({data:C}).then(({data:v})=>v==null?void 0:v.map(f=>{var g;return{label:l((g=f.uiSchema)==null?void 0:g.title)||f.name,value:f.name}}))}),b=()=>_(this,null,function*(){return i.resource("storages").list().then(({data:A})=>{var C;return(C=A==null?void 0:A.data)==null?void 0:C.map(v=>({label:e(l(v.title)),value:v.name}))})}),P=d.useContext(r.SchemaComponentContext);return a.jsx(r.SchemaComponentContext.Provider,{value:N(T({},P),{designable:!1}),children:a.jsx(r.SchemaComponent,{schema:Zy,components:{AddSubFieldAction:r.AddSubFieldAction,EditSubFieldAction:r.EditSubFieldAction,FieldSummary:r.FieldSummary,TemplateSummay:r.TemplateSummary,CollectionFields:Eo},scope:{loadFilterTargetKeys:m,useDestroySubField:of,useBulkDestroySubField:nf,useSelectedRowKeys:tf,useAsyncDataSource:ef,loadCollections:p,loadCategories:u,loadDBViews:y,loadStorages:b,useCurrentFields:rf,useNewId:af,useCancelAction:r.useCancelAction,interfaces:t,enableInherits:(n==null?void 0:n.dialect)==="postgres",isPG:(n==null?void 0:n.dialect)==="postgres"}})})};function cf(e){const{attributes:t,listeners:o,setNodeRef:n}=W.useDraggable({id:e.id,data:e.data});return a.jsx("div",N(T(T({ref:n},o),t),{children:a.jsx("div",{children:e.children})}))}function lf(e){const{isOver:t,setNodeRef:o}=W.useDroppable({id:e.id,data:e.data}),n=t?{color:"green"}:void 0;return a.jsx("div",{ref:o,style:n,children:e.children})}const uf=w.observer(({item:e})=>a.jsx(lf,{id:e.id.toString(),data:e,children:a.jsx("div",{children:a.jsx(cf,{id:e.id.toString(),data:e,children:a.jsx(Ko,{item:e})})})}),{displayName:"TabTitle"}),Ko=({item:e})=>{const{t}=B.useTranslation(),o=r.useCompile();return a.jsxs(S.Space,{children:[a.jsx(S.Badge,{color:e.color}),t(o(e.name))]})},pf=w.observer(e=>{const[t,o]=d.useState(null),{refresh:n}=d.useContext(r.CollectionCategroriesContext),{refresh:s}=r.useResourceActionContext(),i=r.useAPIClient(),c=y=>_(this,null,function*(){const{active:m,over:b}=y;setTimeout(()=>{o(null)}),b&&b.id!==m.id&&(yield i.resource("collectionCategories").move({sourceId:m.id,targetId:b.id}),yield n(),yield s())});function l(y){var m;o((m=y.active)==null?void 0:m.data.current)}const p=W.useSensor(W.MouseSensor,{activationConstraint:{distance:10}}),u=W.useSensors(p);return a.jsxs(W.DndContext,{sensors:u,onDragEnd:c,onDragStart:l,children:[e.children,a.jsx(W.DragOverlay,{children:t?a.jsx("span",{style:{whiteSpace:"nowrap"},children:a.jsx(Ko,{item:t})}):null})]})},{displayName:"DndProvider"}),df=()=>{const{t:e}=B.useTranslation(),{data:t,refresh:o}=d.useContext(r.CollectionCategroriesContext),{refresh:n,run:s,defaultRequest:i,setState:c}=r.useResourceActionContext(),[l,p]=d.useState({tab:"all"}),[u,y]=d.useState(l.tab),m=r.useCompile(),b=r.useAPIClient(),{modal:P}=S.App.useApp(),A=d.useMemo(()=>{if(!t)return[];const h=t.sort((x,F)=>F.sort-x.sort).concat().map(x=>N(T({},x),{schema:ko}));return!h.find(x=>x.id==="all")&&h.unshift({name:'{{t("All collections")}}',id:"all",sort:0,closable:!1,schema:ko}),h},[t]);d.useEffect(()=>{l.tab!=="all"&&C(l.tab)},[]);const C=h=>{var x;if(p({tab:h}),y(V.uid()),h!=="all"){const E={$and:[(x=i==null?void 0:i.params)==null?void 0:x.filter,{"category.id":h}]};s({filter:E}),c==null||c({category:[+h],params:[{filter:E}]})}else s(),c==null||c({category:[],params:[]})},v=h=>{P.confirm({title:m("{{t('Delete category')}}"),content:m("{{t('Are you sure you want to delete it?')}}"),onOk:()=>_(this,null,function*(){yield b.resource("collectionCategories").destroy({filter:{id:h}}),h===+l.tab&&p({tab:"all"}),yield o(),yield n()})})},f=()=>_(this,null,function*(){return t.map(h=>({label:e(m(h.name)),value:h.id}))}),g=Y.memoize(h=>({items:[{key:"edit",label:a.jsx(r.SchemaComponent,{schema:{type:"void",properties:{[V.uid()]:{"x-component":"EditCategory","x-component-props":{item:h}}}}})},{key:"delete",label:m("{{t('Delete category')}}"),onClick:()=>v(h.id)}]}));return t?a.jsx(pf,{children:a.jsx(S.Tabs,{addIcon:a.jsx(r.SchemaComponent,{schema:{type:"void",properties:{addCategories:{type:"void",title:'{{ t("Add category") }}',"x-component":"AddCategory","x-component-props":{type:"primary"}}}}}),onChange:C,defaultActiveKey:l.tab||"all",type:"editable-card",destroyInactiveTabPane:!0,tabBarStyle:{marginBottom:"0px"},items:A.map(h=>({label:h.id!=="all"?a.jsx("div",{"data-no-dnd":"true",children:a.jsx(uf,{item:h})}):m(h.name),key:String(h.id),closable:h.closable,closeIcon:a.jsx(S.Dropdown,{menu:g(h),children:a.jsx(Q.MenuOutlined,{role:"button","aria-label":m(h.name),style:{padding:8,margin:"-8px"}})}),children:a.jsx(S.Card,{bordered:!1,children:a.jsx(r.SchemaComponentOptions,{components:{CollectionFields:Eo},inherit:!0,scope:{loadCategories:f,categoryVisible:h.id==="all",categoryId:h.id},children:a.jsx(w.RecursionField,{name:u,schema:h.schema,onlyRenderProperties:!0})})})}))})}):null},mf=()=>{const e=w.useForm(),t=r.useActionContext(),{refresh:o}=d.useContext(r.CollectionCategroriesContext),n=r.useAPIClient();return{run(){return _(this,null,function*(){yield e.submit();const i=Y.cloneDeep(e.values);yield n.resource("collectionCategories").create({values:T({},i)}),t.setVisible(!1),yield e.reset(),yield o()})}}},yf=e=>a.jsx(No,T({},e)),No=e=>{const{scope:t,getContainer:o,children:n}=e,[s,i]=d.useState(!1),{t:c}=B.useTranslation();return a.jsxs(r.ActionContextProvider,{value:{visible:s,setVisible:i},children:[a.jsx("div",{onClick:()=>i(!0),title:c("Add category"),children:n||a.jsx(Q.PlusOutlined,{})}),a.jsx(r.SchemaComponent,{schema:Xy,components:{CollectionCategory:r.CollectionCategory,CollectionTemplateTag:r.CollectionTemplateTag},scope:T({getContainer:o,useCancelAction:r.useCancelAction,createOnly:!0,useCreateCategry:mf},t)})]})},ff=()=>{const e=w.useForm(),t=r.useActionContext(),{refresh:o}=d.useContext(r.CollectionCategroriesContext),{refresh:n}=r.useResourceActionContext(),s=r.useAPIClient(),{id:i}=r.useRecord();return{run(){return _(this,null,function*(){yield e.submit();const l=Y.cloneDeep(e.values);yield s.resource("collectionCategories").update({filter:{id:i},values:T({},l)}),t.setVisible(!1),yield e.reset(),yield o(),yield n()})}}},gf=e=>{const t=r.useRecord(),o=r.useRequest(()=>Promise.resolve({data:Y.cloneDeep(t)}),N(T({},e),{manual:!0})),n=r.useActionContext();return d.useEffect(()=>{n.visible&&o.run()},[n.visible]),o},hf=e=>a.jsx(Bo,T({},e)),Bo=e=>{const{scope:t,getContainer:o,item:n,children:s}=e,[i,c]=d.useState(!1),l=r.useCompile();return a.jsx(r.RecordProvider,{record:n,children:a.jsxs(r.ActionContextProvider,{value:{visible:i,setVisible:c},children:[a.jsx(a.Fragment,{children:s||a.jsx("span",{onClick:()=>c(!0),children:l('{{ t("Edit category") }}')})}),a.jsx(r.SchemaComponent,{schema:Ry,scope:T({getContainer:o,useCancelAction:r.useCancelAction,createOnly:!0,useEditCategry:ff,useValuesFromRecord:gf},t)})]})})};ye.registerValidateFormats({uid:/^[a-zA-Z][a-zA-Z0-9_-]*$/});const Cf={type:"object",properties:{[V.uid()]:{"x-component":"ConfigurationTable"}}},vf=()=>a.jsx(r.SchemaComponent,{schema:Cf,components:{CollectionCategroriesProvider:r.CollectionCategroriesProvider,ConfigurationTable:sf,ConfigurationTabs:df,AddFieldAction:r.AddFieldAction,AddCollectionField:r.AddCollectionField,AddCollection:r.AddCollection,AddCollectionAction:r.AddCollectionAction,AddCategoryAction:No,AddCategory:yf,EditCollection:r.EditCollection,EditCollectionAction:r.EditCollectionAction,DeleteCollection:r.DeleteCollection,DeleteCollectionAction:r.DeleteCollectionAction,EditFieldAction:r.EditFieldAction,EditCollectionField:r.EditCollectionField,OverridingCollectionField:r.OverridingCollectionField,OverridingFieldAction:r.OverridingFieldAction,ViewCollectionField:r.ViewCollectionField,ViewFieldAction:r.ViewFieldAction,EditCategory:hf,EditCategoryAction:Bo,SyncFieldsAction:r.SyncFieldsAction,SyncFieldsActionCom:r.SyncFieldsActionCom,SyncSQLFieldsAction:r.SyncSQLFieldsAction}}),ve=d.createContext(null);ve.displayName="PermissionContext";const bf=e=>{const t=r.useAPIClient(),o=r.useRecord(),{t:n}=B.useTranslation(),s=d.useContext(be),{snippets:i}=s;i==null||i.forEach(p=>{s[p]=!0});const[c,l]=d.useState(s);return d.useEffect(()=>{l(s)},[s]),a.jsx(ve.Provider,{value:{currentDataSource:o,currentRecord:c,update:(p,u)=>_(this,null,function*(){yield t.request({url:`dataSources/${o.key}/roles:update`,data:u.values,method:"post",params:{filterByTk:u.values.roleName}}),l(T(T({},c),u.values)),S.message.success(n("Saved successfully"))})},children:e.children})},xf=e=>{const t=d.useContext(be),o=r.useRecord();return a.jsx(r.RecordContext_deprecated.Provider,{value:T({},t),children:a.jsx(r.SchemaComponentOptions,{scope:{dataSourceKey:o.key},children:e.children})})},Sf=e=>{const t=r.useRecord(),{visible:o}=r.useActionContext(),{currentDataSource:n}=d.useContext(ve),s=r.useRequest({resource:"roles.dataSourceResources",resourceOf:t.roleName,action:"get",params:{appends:["actions","actions.scope"],filterByTk:t.name,filter:{dataSourceKey:n.key,name:t.name}}},N(T({},e),{manual:!0}));return d.useEffect(()=>{if(!t.exists){e.onSuccess({data:{}});return}o&&s.run()},[o,t.exists]),s},Af=()=>{const e=w.useForm(),t=r.useAPIClient(),o=r.useRecord(),n=r.useActionContext(),{refresh:s}=r.useResourceActionContext(),{currentDataSource:i}=d.useContext(ve);return{run(){return _(this,null,function*(){yield t.resource("roles.dataSourceResources",o.roleName)[o.exists?"update":"create"]({filterByTk:o.name,filter:{dataSourceKey:i.key,name:o.name},values:N(T({},e.values),{name:o.name,dataSourceKey:i.key})}),n.setVisible(!1),s()})}}},$f={type:"void","x-decorator":"RoleRecordProvider",properties:{block:{type:"void","x-decorator":"ResourceActionProvider","x-decorator-props":{collection:{name:"dataSourcesCollections",targetKey:"name",filterTargetKey:"name",fields:[{type:"integer",name:"title",interface:"input",uiSchema:{title:'{{t("Collection display name")}}',type:"number","x-component":"Input",required:!0}},{type:"string",name:"name",interface:"input",uiSchema:{title:'{{t("Collection name")}}',type:"string","x-component":"Input"}},{type:"string",name:"type",interface:"input",uiSchema:{title:'{{t("Resource type")}}',type:"string","x-component":"Select",enum:[{label:'{{t("Collection")}}',value:"collection",color:"green"},{label:'{{t("Association")}}',value:"association",color:"blue"}]}},{type:"string",name:"usingConfig",interface:"input",uiSchema:{title:'{{t("Permission policy")}}',type:"string","x-component":"Select",enum:[{label:'{{t("Individual")}}',value:"resourceAction",color:"orange"},{label:'{{t("General")}}',value:"strategy",color:"default"}]}},{type:"hasMany",name:"fields",target:"fields",collectionName:"collections",sourceKey:"name",targetKey:"name",uiSchema:{}}]},association:{sourceKey:"name",targetKey:"name"},resourceName:"roles.dataSourcesCollections",request:{resource:"roles.dataSourcesCollections",action:"list",params:{pageSize:20,filter:{hidden:{$isFalsy:!0},dataSourceKey:"{{dataSourceKey}}"},sort:["sort"],appends:["fields"]}}},properties:{[V.uid()]:{type:"void","x-component":"ActionBar","x-component-props":{style:{marginBottom:16}},properties:{filter:{type:"void",title:'{{ t("Filter") }}',default:{$and:[{title:{$includes:""}},{name:{$includes:""}}]},"x-action":"filter","x-component":"Filter.Action","x-use-component-props":"cm.useFilterActionProps","x-component-props":{icon:"FilterOutlined"},"x-align":"left"}}},table1:{type:"void","x-uid":"input","x-component":"Table.Void","x-component-props":{rowKey:"name",useDataSource:"{{ cm.useDataSourceFromRAC }}"},properties:{column0:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",properties:{title:{type:"number","x-component":"CollectionField","x-read-pretty":!0}}},column2:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",properties:{name:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}},column3:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",properties:{usingConfig:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}},column4:{type:"void",title:'{{t("Actions")}}',"x-component":"Table.Column",properties:{actions:{type:"void","x-component":"Space","x-component-props":{split:"|"},properties:{configure:{type:"void",title:'{{t("Configure")}}',"x-component":"Action.Link","x-component-props":{type:"primary"},properties:{drawer:{type:"void","x-component":"Action.Drawer","x-decorator":"Form","x-decorator-props":{useValues:Sf},title:'{{t("Configure permission")}}',properties:{usingActionsConfig:{title:'{{t("Permission policy")}}',"x-component":"Radio.Group","x-decorator":"FormItem",default:!1,enum:[{value:!1,label:'{{t("General")}}'},{value:!0,label:'{{t("Individual")}}'}],"x-reactions":{target:"actions",fulfill:{state:{hidden:"{{!$self.value}}"}}}},actions:{"x-component":"RolesResourcesActions","x-decorator":"FormItem"},footer:{type:"void","x-component":"Action.Drawer.Footer",properties:{cancel:{title:'{{t("Cancel")}}',"x-component":"Action","x-component-props":{useAction:"{{ cm.useCancelAction }}"}},submit:{title:'{{t("Submit")}}',"x-component":"Action","x-component-props":{type:"primary",useAction:Af}}}}}}}}}}}}}}}}}},Vo={name:"dataSources",filterTargetKey:"name",targetKey:"name",fields:[{type:"string",name:"displayName",interface:"input",uiSchema:{title:'{{t("Display name")}}',type:"number","x-component":"Input",required:!0}},{type:"string",name:"key",interface:"input",uiSchema:{title:'{{t("Name")}}',type:"number","x-component":"Input",required:!0}}]},Tf={type:"object",properties:{block1:{type:"void","x-decorator":"ResourceActionProvider","x-decorator-props":{collection:Vo,resourceName:"dataSources",request:{resource:"dataSources",action:"list",params:{pageSize:50,showAnonymous:!0,appends:[]}}},"x-component":"CollectionProvider_deprecated","x-component-props":{collection:Vo},properties:{actions:{type:"void","x-component":"ActionBar","x-component-props":{style:{marginBottom:16}},properties:{}},table:{type:"void","x-uid":"input","x-component":"Table.Void","x-component-props":{rowKey:"name",rowSelection:{type:"checkbox"},useDataSource:"{{ cm.useDataSourceFromRAC }}"},properties:{column1:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",properties:{displayName:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}},column2:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",properties:{key:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}},column4:{type:"void",title:'{{t("Actions")}}',"x-component":"Table.Column",properties:{actions:{type:"void","x-component":"Space","x-component-props":{split:"|"},properties:{view:{type:"void",title:'{{t("Configure")}}',"x-component":"Action.Link","x-decorator":"ACLActionProvider","x-acl-action":"roles:update","x-component-props":{},properties:{drawer:{type:"void","x-component":"Action.Drawer","x-decorator":"PermissionProvider",title:'{{t("Configure permissions")}}',properties:{tabs1:{type:"void","x-component":"Tabs","x-component-props":{},properties:{tab1:{type:"void",title:'{{t("General action permissions")}}',"x-component":"Tabs.TabPane","x-component-props":{},properties:{role:{"x-component":"RoleConfigure"}}},tab2:{type:"void",title:'{{t("Action permissions")}}',"x-component":"Tabs.TabPane","x-component-props":{},properties:{roleCollectionsSchema:$f}}}}}}}}}}}}}}}}}},ct=d.createContext([]);ct.displayName="AvailableActionsContext";const Ff=e=>{const{data:t,loading:o}=r.useRequest({resource:"availableActions",action:"list"});return o?a.jsx(S.Spin,{}):a.jsx(ct.Provider,{value:t==null?void 0:t.data,children:e.children})},Lo=()=>d.useContext(ct),wf=()=>{const e=r.useRecord();return a.jsx("div",{children:a.jsx(r.SchemaComponentContext.Provider,{value:{designable:!1},children:a.jsx(Ff,{children:a.jsx(r.SchemaComponent,{schema:Tf,components:{SettingCenterPermissionProvider:r.SettingCenterPermissionProvider,PermissionProvider:bf},scope:{dataSourceKey:e.key}})})})})},_f=()=>{const{update:e}=d.useContext(ve),{t}=B.useTranslation(),{key:o}=r.useRecord();return a.jsx(r.SchemaComponent,{schema:{type:"void",name:"form","x-component":"Form","x-component-props":{useValues:n=>{const s=r.useAPIClient(),i=d.useContext(be);return r.useRequest(()=>s.resource(`dataSources/${o}/roles`).get({filterByTk:i.name}).then(c=>{var p,u;const l=(p=c==null?void 0:c.data)==null?void 0:p.data;return(u=l.snippets)==null||u.forEach(y=>{l[y]=!0}),{data:l}}),n)},effects(){ye.onFieldChange("*",(n,s)=>_(this,null,function*(){s.modified&&(yield e(n,s))}))}},properties:{"strategy.actions":{description:t("All collections use general action permissions by default; permission configured individually will override the default one."),"x-component":"StrategyActions"}}}})},Pf=e=>{var o;if(!e)return{};const t={};return(o=e==null?void 0:e.forEach)==null||o.call(e,n=>{const[s,i]=n.split(":");t[s]=i||"all"}),t},qo=e=>{const t=[];for(const o in e)if(Object.prototype.hasOwnProperty.call(e,o)){const n=e[o];n==="all"?t.push(o):t.push(`${o}:${n}`)}return t},Df=w.connect(e=>{const{onChange:t}=e,o=Lo(),n=r.useCompile(),{t:s}=B.useTranslation(),i=w.useField(),c=Pf(i.value);return a.jsx("div",{children:a.jsx(S.Table,{size:"small",pagination:!1,columns:[{dataIndex:"displayName",title:s("Action display name"),render:l=>n(l)},{dataIndex:"onNewRecord",title:s("Action type"),render:l=>l?a.jsx(S.Tag,{color:"green",children:s("Action on new records")}):a.jsx(S.Tag,{color:"geekblue",children:s("Action on existing records")})},{dataIndex:"enabled",title:s("Allow"),render:(l,p)=>a.jsx(S.Checkbox,{checked:l,onChange:u=>{l?delete c[p.name]:c[p.name]="all",t(qo(c))}})},{dataIndex:"scope",title:s("Data scope"),render:(l,p)=>!p.onNewRecord&&a.jsx(S.Select,{"data-testid":"select-data-scope",popupMatchSelectWidth:!1,size:"small",value:l,options:[{label:s("All records"),value:"all"},{label:s("Own records"),value:"own"}],onChange:u=>{c[p.name]=u,t(qo(c))}})}],dataSource:o==null?void 0:o.map(l=>{let p="all",u=!1;return c[l.name]&&(u=!0,p=c[l.name]),N(T({},l),{enabled:u,scope:p})})})})}),If=Yo.createStyles(({css:e})=>e`
51
+ `,children:[s.jsx(r.Action,T({},F)),s.jsx(r.SyncFieldsAction,T({},k)),s.jsx(r.SyncSQLFieldsAction,{refreshCMList:P}),s.jsx(r.SchemaComponent,{schema:{type:"object",properties:T({},C.configureActions)}}),s.jsx(r.AddCollectionField,T({},E))]}),s.jsx(S.Table,{rowKey:"key",columns:f,dataSource:x.filter(D=>D.fields.length),pagination:!1,className:Wy,expandable:{defaultExpandAllRows:!0,defaultExpandedRowKeys:x.map(D=>D.key),expandedRowRender:D=>D.inherit?s.jsx(Yy,{fields:D.fields,collectionResource:b,refreshAsync:P}):s.jsx(Qy,{fields:D.fields,collectionResource:b,refreshAsync:P})}})]})})},Eo=()=>s.jsx(zy,{children:s.jsx(Jy,{})}),jo=e=>w.Schema.compile(e,{t:r.i18n.t}),Zy={type:"object",properties:{block1:{type:"void","x-collection":"collections","x-decorator":"ResourceActionProvider","x-decorator-props":{collection:{name:"collections",filterTargetKey:"name",targetKey:"name",sortable:!0,fields:[{type:"integer",name:"title",interface:"input",uiSchema:{title:'{{ t("Collection display name") }}',type:"number","x-component":"Input",required:!0}},{type:"string",name:"name",interface:"input",uiSchema:{title:'{{ t("Collection name") }}',type:"string","x-component":"Input",description:'{{t("Randomly generated and can be modified. Support letters, numbers and underscores, must start with an letter.")}}'}},{type:"string",name:"template",interface:"input",uiSchema:{title:'{{ t("Collection Template") }}',type:"string","x-component":"Input"}},{type:"hasMany",name:"fields",target:"fields",collectionName:"collections",sourceKey:"name",targetKey:"name",uiSchema:{}},{type:"hasMany",name:"inherits",interface:"select",uiSchema:{title:'{{ t("Inherits") }}',type:"string","x-component":"Select","x-component-props":{mode:"multiple"}}},{type:"string",name:"description",interface:"input",uiSchema:{title:'{{ t("Description") }}',type:"string","x-component":"Input"}}]},dragSort:!0,request:{resource:"collections",action:"list",params:{pageSize:50,sort:"sort",filter:{"hidden.$isFalsy":!0},appends:["category"]}}},properties:{tabs:{type:"void","x-component":"ConfigurationTabs"}}}}},ko={type:"object",properties:{[V.uid()]:{type:"void","x-component":"ActionBar","x-component-props":{style:{marginBottom:16}},properties:{filter:{type:"void",title:'{{ t("Filter") }}',default:{$and:[{title:{$includes:""}},{name:{$includes:""}}]},"x-action":"filter","x-component":"Filter.Action","x-use-component-props":"cm.useFilterActionProps","x-component-props":{icon:"FilterOutlined"},"x-align":"left"},delete:{type:"void",title:'{{ t("Delete") }}',"x-component":"DeleteCollection","x-component-props":{role:"button",isBulk:!0}},create:{type:"void",title:'{{ t("Create collection") }}',"x-component":"AddCollection","x-component-props":{type:"primary"}}}},[V.uid()]:{type:"void","x-uid":"input","x-component":"Table.Void","x-component-props":{rowKey:"name",rowSelection:{type:"checkbox"},useDataSource:"{{ cm.useDataSourceFromRAC }}",useAction(){const e=r.useAPIClient(),{t}=B.useTranslation();return{move(n,i){return _(this,null,function*(){yield e.resource("collections").move({sourceId:n.key,targetId:i.key}),S.message.success(t("Saved successfully"),.2)})}}}},properties:{column1:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",properties:{title:{"x-component":"CollectionField","x-read-pretty":!0}}},column2:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",properties:{name:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}},column3:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",title:'{{t("Collection template")}}',properties:{template:{"x-component":r.CollectionTemplateTag,"x-read-pretty":!0}}},column4:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column","x-visible":"categoryVisible",title:'{{t("Collection category")}}',properties:{category:{"x-component":r.CollectionCategory,"x-read-pretty":!0}}},column5:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",properties:{description:{"x-component":"CollectionField","x-read-pretty":!0,"x-component-props":{ellipsis:!0}}}},column6:{type:"void",title:'{{ t("Actions") }}',"x-component":"Table.Column",properties:{actions:{type:"void","x-component":"Space","x-component-props":{split:"|"},properties:{view:{type:"void",title:'{{ t("Configure fields") }}',"x-component":"Action.Link","x-component-props":{},properties:{drawer:{type:"void","x-component":"Action.Drawer","x-component-props":{destroyOnClose:!0,width:"70%"},"x-reactions":e=>{const t=e.path.segments[1],o=e.path.segments[0],n=e.form.getValuesIn(`${o}.${t}`);n&&(e.title=`${jo(n.title)} - ${jo('{{ t("Configure fields") }}')}`)},properties:{collectionFieldSchema:{type:"void","x-component":"CollectionFields"}}}}},update:{type:"void",title:'{{ t("Edit") }}',"x-component":"EditCollection","x-component-props":{role:"button","aria-label":'{{ "edit-button-" + $record.name }}',type:"primary"}},delete:{type:"void",title:'{{ t("Delete") }}',"x-component":"DeleteCollection","x-component-props":{role:"button","aria-label":'{{ "delete-button-" + $record.name }}',type:"primary",className:"nb-action-link"}}}}}}}}}},Xy={type:"object",properties:{form:{type:"void","x-decorator":"Form","x-component":"Action.Modal",title:'{{ t("Add category") }}',"x-component-props":{width:520,getContainer:"{{ getContainer }}"},properties:{name:{type:"string",title:'{{t("Category name")}}',required:!0,"x-disabled":"{{ !createOnly }}","x-decorator":"FormItem","x-component":"Input"},color:{type:"string",title:'{{t("Color")}}',required:!1,"x-decorator":"FormItem","x-component":"ColorSelect"},footer:{type:"void","x-component":"Action.Modal.Footer",properties:{action1:{title:'{{ t("Cancel") }}',"x-component":"Action","x-component-props":{useAction:"{{ useCancelAction }}"}},action2:{title:'{{ t("Submit") }}',"x-component":"Action","x-component-props":{type:"primary",useAction:"{{ useCreateCategry }}",style:{marginLeft:"8px"}}}}}}}}},Ry={type:"object",properties:{form:{type:"void","x-decorator":"Form","x-decorator-props":{useValues:"{{ useValuesFromRecord }}"},"x-component":"Action.Modal",title:'{{ t("Edit category") }}',"x-component-props":{width:520,getContainer:"{{ getContainer }}"},properties:{name:{type:"string",title:'{{t("Category name")}}',required:!0,"x-disabled":"{{ !createOnly }}","x-decorator":"FormItem","x-component":"Input"},color:{type:"string",title:'{{t("Color")}}',required:!1,"x-decorator":"FormItem","x-component":"ColorSelect"},footer:{type:"void","x-component":"Action.Modal.Footer",properties:{action1:{title:'{{ t("Cancel") }}',"x-component":"Action","x-component-props":{useAction:"{{ useCancelAction }}"}},action2:{title:'{{ t("Submit") }}',"x-component":"Action","x-component-props":{type:"primary",useAction:"{{ useEditCategry }}",style:{marginLeft:"8px"}}}}}}}}},ef=(e,t)=>(o,n)=>{o.loading=!0,e(o,n,t).then(pt.action.bound(i=>{o.dataSource=i,o.loading=!1})).catch(console.error)},tf=()=>{const[e,t]=d.useState([]);return[e,t]},of=()=>{const e=r.useRecord(),t=w.useForm();return{run(){return _(this,null,function*(){var i,a,c;const n=(c=(a=(i=t.values)==null?void 0:i.children)==null?void 0:a.slice)==null?void 0:c.call(a);t.setValuesIn("children",n.filter(l=>l.name!==e.name))})}}},nf=()=>({run(){return _(this,null,function*(){})}}),rf=()=>{const e=r.useRecord(),{getCollectionFields:t}=r.useCollectionManager_deprecated();return e.__parent&&e.__parent.interface==="subTable"?d.useContext(r.DataSourceContext_deprecated).dataSource:t(e.collectionName||e.name)},af=e=>`${e||""}${V.uid()}`,sf=()=>{const{t:e}=B.useTranslation(),{interfaces:t,getCollections:o}=r.useCollectionManager_deprecated(),{data:{database:n}}=r.useCurrentAppInfo(),i=d.useContext(r.CollectionCategroriesContext),a=r.useAPIClient(),c=a.resource("dbViews"),l=r.useCompile();w.useForm();const p=(A,C,v)=>_(this,null,function*(){var x;const{targetScope:f}=C,g=((x=A.props)==null?void 0:x.name)==="inherits";return o().filter(F=>{var j;if(v!=null&&v.includes(F.template)||F.autoCreate&&F.isThrough||g&&F.template==="view")return!1;const k=!(f!=null&&f.template)||f.template.includes(F.template),D=!(f!=null&&f[(j=A.props)==null?void 0:j.name])||f[A.props.name].includes(F.name);return k&&D}).map(F=>({label:l(F.title),value:F.name}))}),u=()=>_(this,null,function*(){return i.data.map(A=>({label:l(A.name),value:A.id}))}),y=()=>_(this,null,function*(){return c.list().then(({data:A})=>{var C;return(C=A==null?void 0:A.data)==null?void 0:C.map(v=>{const f=v.schema;return{label:f?`${f}.${l(v.name)}`:v.name,value:f?`${f}_${v.name}`:v.name}})})}),m=A=>_(this,null,function*(){const{fields:C}=A.form.values;return Promise.resolve({data:C}).then(({data:v})=>v==null?void 0:v.map(f=>{var g;return{label:l((g=f.uiSchema)==null?void 0:g.title)||f.name,value:f.name}}))}),b=()=>_(this,null,function*(){return a.resource("storages").list().then(({data:A})=>{var C;return(C=A==null?void 0:A.data)==null?void 0:C.map(v=>({label:e(l(v.title)),value:v.name}))})}),P=d.useContext(r.SchemaComponentContext);return s.jsx(r.SchemaComponentContext.Provider,{value:N(T({},P),{designable:!1}),children:s.jsx(r.SchemaComponent,{schema:Zy,components:{AddSubFieldAction:r.AddSubFieldAction,EditSubFieldAction:r.EditSubFieldAction,FieldSummary:r.FieldSummary,TemplateSummay:r.TemplateSummary,CollectionFields:Eo},scope:{loadFilterTargetKeys:m,useDestroySubField:of,useBulkDestroySubField:nf,useSelectedRowKeys:tf,useAsyncDataSource:ef,loadCollections:p,loadCategories:u,loadDBViews:y,loadStorages:b,useCurrentFields:rf,useNewId:af,useCancelAction:r.useCancelAction,interfaces:t,enableInherits:(n==null?void 0:n.dialect)==="postgres",isPG:(n==null?void 0:n.dialect)==="postgres"}})})};function cf(e){const{attributes:t,listeners:o,setNodeRef:n}=W.useDraggable({id:e.id,data:e.data});return s.jsx("div",N(T(T({ref:n},o),t),{children:s.jsx("div",{children:e.children})}))}function lf(e){const{isOver:t,setNodeRef:o}=W.useDroppable({id:e.id,data:e.data}),n=t?{color:"green"}:void 0;return s.jsx("div",{ref:o,style:n,children:e.children})}const uf=w.observer(({item:e})=>s.jsx(lf,{id:e.id.toString(),data:e,children:s.jsx("div",{children:s.jsx(cf,{id:e.id.toString(),data:e,children:s.jsx(Ko,{item:e})})})}),{displayName:"TabTitle"}),Ko=({item:e})=>{const{t}=B.useTranslation(),o=r.useCompile();return s.jsxs(S.Space,{children:[s.jsx(S.Badge,{color:e.color}),t(o(e.name))]})},pf=w.observer(e=>{const[t,o]=d.useState(null),{refresh:n}=d.useContext(r.CollectionCategroriesContext),{refresh:i}=r.useResourceActionContext(),a=r.useAPIClient(),c=y=>_(this,null,function*(){const{active:m,over:b}=y;setTimeout(()=>{o(null)}),b&&b.id!==m.id&&(yield a.resource("collectionCategories").move({sourceId:m.id,targetId:b.id}),yield n(),yield i())});function l(y){var m;o((m=y.active)==null?void 0:m.data.current)}const p=W.useSensor(W.MouseSensor,{activationConstraint:{distance:10}}),u=W.useSensors(p);return s.jsxs(W.DndContext,{sensors:u,onDragEnd:c,onDragStart:l,children:[e.children,s.jsx(W.DragOverlay,{children:t?s.jsx("span",{style:{whiteSpace:"nowrap"},children:s.jsx(Ko,{item:t})}):null})]})},{displayName:"DndProvider"}),df=()=>{const{t:e}=B.useTranslation(),{data:t,refresh:o}=d.useContext(r.CollectionCategroriesContext),{refresh:n,run:i,defaultRequest:a,setState:c}=r.useResourceActionContext(),[l,p]=d.useState({tab:"all"}),[u,y]=d.useState(l.tab),m=r.useCompile(),b=r.useAPIClient(),{modal:P}=S.App.useApp(),A=d.useMemo(()=>{if(!t)return[];const h=t.sort((x,F)=>F.sort-x.sort).concat().map(x=>N(T({},x),{schema:ko}));return!h.find(x=>x.id==="all")&&h.unshift({name:'{{t("All collections")}}',id:"all",sort:0,closable:!1,schema:ko}),h},[t]);d.useEffect(()=>{l.tab!=="all"&&C(l.tab)},[]);const C=h=>{var x;if(p({tab:h}),y(V.uid()),h!=="all"){const E={$and:[(x=a==null?void 0:a.params)==null?void 0:x.filter,{"category.id":h}]};i({filter:E}),c==null||c({category:[+h],params:[{filter:E}]})}else i(),c==null||c({category:[],params:[]})},v=h=>{P.confirm({title:m("{{t('Delete category')}}"),content:m("{{t('Are you sure you want to delete it?')}}"),onOk:()=>_(this,null,function*(){yield b.resource("collectionCategories").destroy({filter:{id:h}}),h===+l.tab&&p({tab:"all"}),yield o(),yield n()})})},f=()=>_(this,null,function*(){return t.map(h=>({label:e(m(h.name)),value:h.id}))}),g=Y.memoize(h=>({items:[{key:"edit",label:s.jsx(r.SchemaComponent,{schema:{type:"void",properties:{[V.uid()]:{"x-component":"EditCategory","x-component-props":{item:h}}}}})},{key:"delete",label:m("{{t('Delete category')}}"),onClick:()=>v(h.id)}]}));return t?s.jsx(pf,{children:s.jsx(S.Tabs,{addIcon:s.jsx(r.SchemaComponent,{schema:{type:"void",properties:{addCategories:{type:"void",title:'{{ t("Add category") }}',"x-component":"AddCategory","x-component-props":{type:"primary"}}}}}),onChange:C,defaultActiveKey:l.tab||"all",type:"editable-card",destroyInactiveTabPane:!0,tabBarStyle:{marginBottom:"0px"},items:A.map(h=>({label:h.id!=="all"?s.jsx("div",{"data-no-dnd":"true",children:s.jsx(uf,{item:h})}):m(h.name),key:String(h.id),closable:h.closable,closeIcon:s.jsx(S.Dropdown,{menu:g(h),children:s.jsx(Q.MenuOutlined,{role:"button","aria-label":m(h.name),style:{padding:8,margin:"-8px"}})}),children:s.jsx(S.Card,{bordered:!1,children:s.jsx(r.SchemaComponentOptions,{components:{CollectionFields:Eo},inherit:!0,scope:{loadCategories:f,categoryVisible:h.id==="all",categoryId:h.id},children:s.jsx(w.RecursionField,{name:u,schema:h.schema,onlyRenderProperties:!0})})})}))})}):null},mf=()=>{const e=w.useForm(),t=r.useActionContext(),{refresh:o}=d.useContext(r.CollectionCategroriesContext),n=r.useAPIClient();return{run(){return _(this,null,function*(){yield e.submit();const a=Y.cloneDeep(e.values);yield n.resource("collectionCategories").create({values:T({},a)}),t.setVisible(!1),yield e.reset(),yield o()})}}},yf=e=>s.jsx(No,T({},e)),No=e=>{const{scope:t,getContainer:o,children:n}=e,[i,a]=d.useState(!1),{t:c}=B.useTranslation();return s.jsxs(r.ActionContextProvider,{value:{visible:i,setVisible:a},children:[s.jsx("div",{onClick:()=>a(!0),title:c("Add category"),children:n||s.jsx(Q.PlusOutlined,{})}),s.jsx(r.SchemaComponent,{schema:Xy,components:{CollectionCategory:r.CollectionCategory,CollectionTemplateTag:r.CollectionTemplateTag},scope:T({getContainer:o,useCancelAction:r.useCancelAction,createOnly:!0,useCreateCategry:mf},t)})]})},ff=()=>{const e=w.useForm(),t=r.useActionContext(),{refresh:o}=d.useContext(r.CollectionCategroriesContext),{refresh:n}=r.useResourceActionContext(),i=r.useAPIClient(),{id:a}=r.useRecord();return{run(){return _(this,null,function*(){yield e.submit();const l=Y.cloneDeep(e.values);yield i.resource("collectionCategories").update({filter:{id:a},values:T({},l)}),t.setVisible(!1),yield e.reset(),yield o(),yield n()})}}},gf=e=>{const t=r.useRecord(),o=r.useRequest(()=>Promise.resolve({data:Y.cloneDeep(t)}),N(T({},e),{manual:!0})),n=r.useActionContext();return d.useEffect(()=>{n.visible&&o.run()},[n.visible]),o},hf=e=>s.jsx(Bo,T({},e)),Bo=e=>{const{scope:t,getContainer:o,item:n,children:i}=e,[a,c]=d.useState(!1),l=r.useCompile();return s.jsx(r.RecordProvider,{record:n,children:s.jsxs(r.ActionContextProvider,{value:{visible:a,setVisible:c},children:[s.jsx(s.Fragment,{children:i||s.jsx("span",{onClick:()=>c(!0),children:l('{{ t("Edit category") }}')})}),s.jsx(r.SchemaComponent,{schema:Ry,scope:T({getContainer:o,useCancelAction:r.useCancelAction,createOnly:!0,useEditCategry:ff,useValuesFromRecord:gf},t)})]})})};ye.registerValidateFormats({uid:/^[a-zA-Z][a-zA-Z0-9_-]*$/});const Cf={type:"object",properties:{[V.uid()]:{"x-component":"ConfigurationTable"}}},vf=()=>s.jsx(r.SchemaComponent,{schema:Cf,components:{CollectionCategroriesProvider:r.CollectionCategroriesProvider,ConfigurationTable:sf,ConfigurationTabs:df,AddFieldAction:r.AddFieldAction,AddCollectionField:r.AddCollectionField,AddCollection:r.AddCollection,AddCollectionAction:r.AddCollectionAction,AddCategoryAction:No,AddCategory:yf,EditCollection:r.EditCollection,EditCollectionAction:r.EditCollectionAction,DeleteCollection:r.DeleteCollection,DeleteCollectionAction:r.DeleteCollectionAction,EditFieldAction:r.EditFieldAction,EditCollectionField:r.EditCollectionField,OverridingCollectionField:r.OverridingCollectionField,OverridingFieldAction:r.OverridingFieldAction,ViewCollectionField:r.ViewCollectionField,ViewFieldAction:r.ViewFieldAction,EditCategory:hf,EditCategoryAction:Bo,SyncFieldsAction:r.SyncFieldsAction,SyncFieldsActionCom:r.SyncFieldsActionCom,SyncSQLFieldsAction:r.SyncSQLFieldsAction}}),ve=d.createContext(null);ve.displayName="PermissionContext";const bf=e=>{const t=r.useAPIClient(),o=r.useRecord(),{t:n}=B.useTranslation(),i=d.useContext(be),{snippets:a}=i;a==null||a.forEach(p=>{i[p]=!0});const[c,l]=d.useState(i);return d.useEffect(()=>{l(i)},[i]),s.jsx(ve.Provider,{value:{currentDataSource:o,currentRecord:c,update:(p,u)=>_(this,null,function*(){yield t.request({url:`dataSources/${o.key}/roles:update`,data:u.values,method:"post",params:{filterByTk:u.values.roleName}}),l(T(T({},c),u.values)),S.message.success(n("Saved successfully"))})},children:e.children})},xf=e=>{const t=d.useContext(be),o=r.useRecord();return s.jsx(r.RecordContext_deprecated.Provider,{value:T({},t),children:s.jsx(r.SchemaComponentOptions,{scope:{dataSourceKey:o.key},children:e.children})})},Sf=e=>{const t=r.useRecord(),{visible:o}=r.useActionContext(),{currentDataSource:n}=d.useContext(ve),i=r.useRequest({resource:"roles.dataSourceResources",resourceOf:t.roleName,action:"get",params:{appends:["actions","actions.scope"],filterByTk:t.name,filter:{dataSourceKey:n.key,name:t.name}}},N(T({},e),{manual:!0}));return d.useEffect(()=>{if(!t.exists){e.onSuccess({data:{}});return}o&&i.run()},[o,t.exists]),i},Af=()=>{const e=w.useForm(),t=r.useAPIClient(),o=r.useRecord(),n=r.useActionContext(),{refresh:i}=r.useResourceActionContext(),{currentDataSource:a}=d.useContext(ve);return{run(){return _(this,null,function*(){yield t.resource("roles.dataSourceResources",o.roleName)[o.exists?"update":"create"]({filterByTk:o.name,filter:{dataSourceKey:a.key,name:o.name},values:N(T({},e.values),{name:o.name,dataSourceKey:a.key})}),n.setVisible(!1),i()})}}},$f={type:"void","x-decorator":"RoleRecordProvider",properties:{block:{type:"void","x-decorator":"ResourceActionProvider","x-decorator-props":{collection:{name:"dataSourcesCollections",targetKey:"name",filterTargetKey:"name",fields:[{type:"integer",name:"title",interface:"input",uiSchema:{title:'{{t("Collection display name")}}',type:"number","x-component":"Input",required:!0}},{type:"string",name:"name",interface:"input",uiSchema:{title:'{{t("Collection name")}}',type:"string","x-component":"Input"}},{type:"string",name:"type",interface:"input",uiSchema:{title:'{{t("Resource type")}}',type:"string","x-component":"Select",enum:[{label:'{{t("Collection")}}',value:"collection",color:"green"},{label:'{{t("Association")}}',value:"association",color:"blue"}]}},{type:"string",name:"usingConfig",interface:"input",uiSchema:{title:'{{t("Permission policy")}}',type:"string","x-component":"Select",enum:[{label:'{{t("Individual")}}',value:"resourceAction",color:"orange"},{label:'{{t("General")}}',value:"strategy",color:"default"}]}},{type:"hasMany",name:"fields",target:"fields",collectionName:"collections",sourceKey:"name",targetKey:"name",uiSchema:{}}]},association:{sourceKey:"name",targetKey:"name"},resourceName:"roles.dataSourcesCollections",request:{resource:"roles.dataSourcesCollections",action:"list",params:{pageSize:20,filter:{hidden:{$isFalsy:!0},dataSourceKey:"{{dataSourceKey}}"},sort:["sort"],appends:["fields"]}}},properties:{[V.uid()]:{type:"void","x-component":"ActionBar","x-component-props":{style:{marginBottom:16}},properties:{filter:{type:"void",title:'{{ t("Filter") }}',default:{$and:[{title:{$includes:""}},{name:{$includes:""}}]},"x-action":"filter","x-component":"Filter.Action","x-use-component-props":"cm.useFilterActionProps","x-component-props":{icon:"FilterOutlined"},"x-align":"left"}}},table1:{type:"void","x-uid":"input","x-component":"Table.Void","x-component-props":{rowKey:"name",useDataSource:"{{ cm.useDataSourceFromRAC }}"},properties:{column0:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",properties:{title:{type:"number","x-component":"CollectionField","x-read-pretty":!0}}},column2:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",properties:{name:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}},column3:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",properties:{usingConfig:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}},column4:{type:"void",title:'{{t("Actions")}}',"x-component":"Table.Column",properties:{actions:{type:"void","x-component":"Space","x-component-props":{split:"|"},properties:{configure:{type:"void",title:'{{t("Configure")}}',"x-component":"Action.Link","x-component-props":{type:"primary"},properties:{drawer:{type:"void","x-component":"Action.Drawer","x-decorator":"Form","x-decorator-props":{useValues:Sf},title:'{{t("Configure permission")}}',properties:{usingActionsConfig:{title:'{{t("Permission policy")}}',"x-component":"Radio.Group","x-decorator":"FormItem",default:!1,enum:[{value:!1,label:'{{t("General")}}'},{value:!0,label:'{{t("Individual")}}'}],"x-reactions":{target:"actions",fulfill:{state:{hidden:"{{!$self.value}}"}}}},actions:{"x-component":"RolesResourcesActions","x-decorator":"FormItem"},footer:{type:"void","x-component":"Action.Drawer.Footer",properties:{cancel:{title:'{{t("Cancel")}}',"x-component":"Action","x-component-props":{useAction:"{{ cm.useCancelAction }}"}},submit:{title:'{{t("Submit")}}',"x-component":"Action","x-component-props":{type:"primary",useAction:Af}}}}}}}}}}}}}}}}}},Vo={name:"dataSources",filterTargetKey:"name",targetKey:"name",fields:[{type:"string",name:"displayName",interface:"input",uiSchema:{title:'{{t("Display name")}}',type:"number","x-component":"Input",required:!0}},{type:"string",name:"key",interface:"input",uiSchema:{title:'{{t("Name")}}',type:"number","x-component":"Input",required:!0}}]},Tf={type:"object",properties:{block1:{type:"void","x-decorator":"ResourceActionProvider","x-decorator-props":{collection:Vo,resourceName:"dataSources",request:{resource:"dataSources",action:"list",params:{pageSize:50,showAnonymous:!0,appends:[]}}},"x-component":"CollectionProvider_deprecated","x-component-props":{collection:Vo},properties:{actions:{type:"void","x-component":"ActionBar","x-component-props":{style:{marginBottom:16}},properties:{}},table:{type:"void","x-uid":"input","x-component":"Table.Void","x-component-props":{rowKey:"name",rowSelection:{type:"checkbox"},useDataSource:"{{ cm.useDataSourceFromRAC }}"},properties:{column1:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",properties:{displayName:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}},column2:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",properties:{key:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}},column4:{type:"void",title:'{{t("Actions")}}',"x-component":"Table.Column",properties:{actions:{type:"void","x-component":"Space","x-component-props":{split:"|"},properties:{view:{type:"void",title:'{{t("Configure")}}',"x-component":"Action.Link","x-decorator":"ACLActionProvider","x-acl-action":"roles:update","x-component-props":{},properties:{drawer:{type:"void","x-component":"Action.Drawer","x-decorator":"PermissionProvider",title:'{{t("Configure permissions")}}',properties:{tabs1:{type:"void","x-component":"Tabs","x-component-props":{},properties:{tab1:{type:"void",title:'{{t("General action permissions")}}',"x-component":"Tabs.TabPane","x-component-props":{},properties:{role:{"x-component":"RoleConfigure"}}},tab2:{type:"void",title:'{{t("Action permissions")}}',"x-component":"Tabs.TabPane","x-component-props":{},properties:{roleCollectionsSchema:$f}}}}}}}}}}}}}}}}}},ct=d.createContext([]);ct.displayName="AvailableActionsContext";const Ff=e=>{const{data:t,loading:o}=r.useRequest({resource:"availableActions",action:"list"});return o?s.jsx(S.Spin,{}):s.jsx(ct.Provider,{value:t==null?void 0:t.data,children:e.children})},Lo=()=>d.useContext(ct),wf=()=>{const e=r.useRecord();return s.jsx("div",{children:s.jsx(r.SchemaComponentContext.Provider,{value:{designable:!1},children:s.jsx(Ff,{children:s.jsx(r.SchemaComponent,{schema:Tf,components:{SettingCenterPermissionProvider:r.SettingCenterPermissionProvider,PermissionProvider:bf},scope:{dataSourceKey:e.key}})})})})},_f=()=>{const{update:e}=d.useContext(ve),{t}=B.useTranslation(),{key:o}=r.useRecord();return s.jsx(r.SchemaComponent,{schema:{type:"void",name:"form","x-component":"Form","x-component-props":{useValues:n=>{const i=r.useAPIClient(),a=d.useContext(be);return r.useRequest(()=>i.resource(`dataSources/${o}/roles`).get({filterByTk:a.name}).then(c=>{var p,u;const l=(p=c==null?void 0:c.data)==null?void 0:p.data;return(u=l.snippets)==null||u.forEach(y=>{l[y]=!0}),{data:l}}),n)},effects(){ye.onFieldChange("*",(n,i)=>_(this,null,function*(){i.modified&&(yield e(n,i))}))}},properties:{"strategy.actions":{description:t("All collections use general action permissions by default; permission configured individually will override the default one."),"x-component":"StrategyActions"}}}})},Pf=e=>{var o;if(!e)return{};const t={};return(o=e==null?void 0:e.forEach)==null||o.call(e,n=>{const[i,a]=n.split(":");t[i]=a||"all"}),t},qo=e=>{const t=[];for(const o in e)if(Object.prototype.hasOwnProperty.call(e,o)){const n=e[o];n==="all"?t.push(o):t.push(`${o}:${n}`)}return t},Df=w.connect(e=>{const{onChange:t}=e,o=Lo(),n=r.useCompile(),{t:i}=B.useTranslation(),a=w.useField(),c=Pf(a.value);return s.jsx("div",{children:s.jsx(S.Table,{size:"small",pagination:!1,columns:[{dataIndex:"displayName",title:i("Action display name"),render:l=>n(l)},{dataIndex:"onNewRecord",title:i("Action type"),render:l=>l?s.jsx(S.Tag,{color:"green",children:i("Action on new records")}):s.jsx(S.Tag,{color:"geekblue",children:i("Action on existing records")})},{dataIndex:"enabled",title:i("Allow"),render:(l,p)=>s.jsx(S.Checkbox,{checked:l,onChange:u=>{l?delete c[p.name]:c[p.name]="all",t(qo(c))}})},{dataIndex:"scope",title:i("Data scope"),render:(l,p)=>!p.onNewRecord&&s.jsx(S.Select,{"data-testid":"select-data-scope",popupMatchSelectWidth:!1,size:"small",value:l,options:[{label:i("All records"),value:"all"},{label:i("Own records"),value:"own"}],onChange:u=>{c[p.name]=u,t(qo(c))}})}],dataSource:o==null?void 0:o.map(l=>{let p="all",u=!1;return c[l.name]&&(u=!0,p=c[l.name]),N(T({},l),{enabled:u,scope:p})})})})}),If=Yo.createStyles(({css:e})=>e`
52
52
  .ant-table-cell {
53
53
  > .ant-space-horizontal {
54
54
  .ant-space-item-split:has(+ .ant-space-item:empty) {
@@ -56,4 +56,4 @@
56
56
  }
57
57
  }
58
58
  }
59
- `),Of=(e="main")=>({name:`dataSources/${e}/rolesResourcesScopes`,fields:[{type:"string",name:"name",interface:"input",uiSchema:{title:'{{t("Scope name")}}',type:"string","x-component":"Input",required:!0}}]}),Mf=()=>{const{name:e}=d.useContext(me),t=r.useFormBlockContext();return d.useEffect(()=>{t.form.setInitialValues({resourceName:e})},[e]),{form:t.form}},Ef=e=>{const t=Of(e);return{type:"object",properties:{scope:{"x-component":"RecordPicker","x-component-props":{size:"small",fieldNames:{label:"name",value:"id"},multiple:!1,association:{target:"rolesResourcesScopes"},onChange:"{{ onChange }}"},properties:{selector:{type:"void",title:'{{ t("Select record") }}',"x-component":"RecordPicker.Selector","x-component-props":{className:"nb-record-picker-selector"},properties:{tableBlock:{type:"void","x-decorator":"TableSelectorProvider","x-decorator-props":{collection:t,resource:`dataSources/${e}/rolesResourcesScopes`,action:"list",params:{pageSize:20},useParams(){return{filter:{$or:[{resourceName:d.useContext(me).name},{resourceName:null}]}}},rowKey:"id"},"x-component":"BlockItem",properties:{actions:{type:"void","x-component":"ActionBar","x-component-props":{style:{marginBottom:16}},properties:{create:{type:"void",title:'{{ t("Add new") }}',"x-action":"create","x-component":"Action","x-component-props":{icon:"PlusOutlined",openMode:"drawer",type:"primary"},properties:{drawer:{type:"void",title:'{{ t("Add record") }}',"x-component":"Action.Container","x-component-props":{className:"nb-action-popup"},properties:{formBlock:{type:"void","x-decorator":"FormBlockProvider","x-decorator-props":{resource:`dataSources/${e}/rolesResourcesScopes`,collection:t},"x-component":"CardItem",properties:{form:{type:"void","x-component":"FormV2","x-use-component-props":Mf,properties:{name:{type:"string","x-component":"CollectionField","x-decorator":"FormItem"},scope:{type:"object",title:'{{t("Data scope")}}',name:"filter","x-decorator":"FormItem","x-component":"Filter","x-use-component-props":()=>{const o=d.useContext(me);return{options:r.useFilterFieldOptions(o.fields)}},"x-component-props":{dynamicComponent:r.VariableInput}},actions:{type:"void","x-component":"ActionBar","x-component-props":{layout:"one-column",style:{marginTop:24}},properties:{create:{title:'{{ t("Submit") }}',"x-action":"submit","x-component":"Action","x-use-component-props":"useCreateActionProps","x-component-props":{type:"primary",htmlType:"submit"}}}}}}}}}}}}}},value:{type:"array","x-component":"TableV2.Selector","x-use-component-props":"useTableSelectorProps","x-component-props":{rowKey:"id",rowSelection:{type:"checkbox"}},properties:{column1:{type:"void","x-decorator":"TableV2.Column.Decorator","x-component":"TableV2.Column",properties:{name:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}},actions:{type:"void",title:'{{ t("Actions") }}',"x-action-column":"actions","x-component":"TableV2.Column",properties:{actions:{type:"void","x-decorator":"DndContext","x-component":"Space","x-component-props":{split:"|"},properties:{edit:{type:"void",title:'{{ t("Edit") }}',"x-action":"update","x-decorator":"ACLActionProvider","x-component":"Action.Link","x-component-props":{openMode:"drawer",icon:"EditOutlined"},properties:{drawer:{type:"void",title:'{{ t("Edit record") }}',"x-component":"Action.Container","x-component-props":{className:"nb-action-popup"},properties:{formBlock:{type:"void","x-decorator":"FormBlockProvider","x-decorator-props":{resource:`dataSources/${e}/rolesResourcesScopes`,collection:t,action:"get",useParams:"{{ useParamsFromRecord }}"},"x-component":"CardItem",properties:{form:{type:"void","x-component":"FormV2","x-use-component-props":"useFormBlockProps",properties:{name:{type:"string","x-component":"CollectionField","x-decorator":"FormItem"},scope:{type:"object",title:'{{t("Data scope")}}',name:"filter","x-decorator":"FormItem","x-component":"Filter","x-use-component-props":()=>{const o=d.useContext(me);return{options:r.useFilterFieldOptions(o.fields)}},"x-component-props":{dynamicComponent:r.VariableInput}},actions:{type:"void","x-component":"ActionBar","x-component-props":{layout:"one-column",style:{marginTop:24}},properties:{update:{title:'{{ t("Submit") }}',"x-action":"submit","x-component":"Action","x-use-component-props":"useUpdateActionProps","x-component-props":{type:"primary",htmlType:"submit"}}}}}}}}}}}},destroy:{title:'{{ t("Delete") }}',"x-action":"destroy","x-decorator":"ACLActionProvider","x-component":"Action.Link","x-use-component-props":"useDestroyActionProps","x-component-props":{icon:"DeleteOutlined",confirm:{title:"{{t('Delete record')}}",content:"{{t('Are you sure you want to delete it?')}}"}}}}}}}}}}},footer:{"x-component":"Action.Container.Footer","x-component-props":{},properties:{actions:{type:"void","x-component":"ActionBar","x-component-props":{},properties:{submit:{title:'{{ t("Submit") }}',"x-action":"submit","x-component":"Action","x-use-component-props":"usePickActionProps","x-component-props":{type:"primary",htmlType:"submit"}}}}}}}}}}}}},Go=d.createContext(null);Go.displayName="RolesResourcesScopesSelectedRowKeysContext";const jf=e=>{const[t,o]=d.useState([]);return a.jsx(Go.Provider,{value:[t,o],children:e.children})},kf=e=>{const t=d.useMemo(()=>ye.createForm({values:{scope:e.value}}),[]),{key:o}=r.useRecord(),n=Ef(o);return a.jsx(r.FormProvider,{form:t,children:a.jsx(r.SchemaComponent,{components:{RolesResourcesScopesSelectedRowKeysProvider:jf},scope:{onChange(s){var i;(i=e==null?void 0:e.onChange)==null||i.call(e,s)}},schema:n})})},Kf=e=>{var o;const t={};return(o=e==null?void 0:e.forEach)==null||o.call(e,n=>{n.name&&(t[n.name]=n,t[n.name].scope=Y.isEmpty(n.scope)?null:n.scope)}),t},me=d.createContext({});me.displayName="RoleResourceCollectionContext";const Nf=w.connect(e=>{var v,f;const{styles:t}=If(),o=g=>{const h=g.map(x=>N(T({},x),{scope:Y.isEmpty(x.scope)?null:x.scope}));e.onChange(h)},n=r.useRecord(),s=Lo(),i=n.fields,c=r.useCompile(),{t:l}=B.useTranslation(),p=w.useField(),u=Kf(p.value||[]),y=(g,h)=>{var F;const x=u==null?void 0:u[g];return x?(F=x==null?void 0:x.fields)==null?void 0:F.includes(h):!1},m=s.filter(g=>g.allowConfigureFields),b=i==null?void 0:i.map(g=>{const h=T({},g);for(const x of m)h[x.name]=y(x.name,g.name);return h}),P=g=>{var h;u[g]?delete u[g]:u[g]={name:g,fields:(h=i==null?void 0:i.map)==null?void 0:h.call(i,x=>x.name)},o(Object.values(u))},A=(g,h)=>{u[g]?(u[g].scope=h,o(Object.values(u))):(P(g),u[g].scope=h,o(Object.values(u)))},C={};for(const g of m)C[g.name]=(i==null?void 0:i.length)===((f=(v=u==null?void 0:u[g.name])==null?void 0:v.fields)==null?void 0:f.length);return a.jsx("div",{children:a.jsx(me.Provider,{value:n,children:a.jsxs(ae.FormLayout,{layout:"vertical",children:[a.jsx(ae.FormItem,{label:l("Action permission"),children:a.jsx(S.Table,{className:t,size:"small",pagination:!1,columns:[{dataIndex:"displayName",title:l("Action display name"),render:g=>c(g)},{dataIndex:"onNewRecord",title:l("Action type"),render:g=>g?a.jsx(S.Tag,{color:"green",children:l("Action on new records")}):a.jsx(S.Tag,{color:"geekblue",children:l("Action on existing records")})},{dataIndex:"enabled",title:l("Allow"),render:(g,h)=>a.jsx(S.Checkbox,{checked:g,onChange:()=>{P(h.name)}})},{dataIndex:"scope",title:l("Data scope"),render:(g,h)=>!h.onNewRecord&&a.jsx(kf,{value:g,onChange:x=>{A(h.name,x)}})}],dataSource:s==null?void 0:s.map(g=>{let h=!1,x=null;return u[g.name]&&(h=!0,g.onNewRecord||(x=u[g.name].scope)),N(T({},g),{enabled:h,scope:x})})})}),a.jsx(ae.FormItem,{label:l("Field permission"),children:a.jsx(S.Table,{className:t,pagination:!1,dataSource:b,columns:[{dataIndex:["uiSchema","title"],title:l("Field display name"),render:(g,h)=>c(g)||h.name},...m.map(g=>{const h=C==null?void 0:C[g.name];return{dataIndex:g.name,title:a.jsxs(a.Fragment,{children:[a.jsx(S.Checkbox,{checked:h,onChange:()=>{var F;const x=u[g.name]||{name:g.name};h?x.fields=[]:x.fields=(F=i==null?void 0:i.map)==null?void 0:F.call(i,E=>E.name),u[g.name]=x,o(Object.values(u))}}),c(g.displayName)]}),render:(x,F)=>a.jsx(S.Checkbox,{checked:x,onChange:()=>{const E=u[g.name]||{name:g.name},k=E.fields||[];if(x){const D=k.indexOf(F.name);k.splice(D,1)}else k.push(F.name);E.fields=k,u[g.name]=E,o(Object.values(u))}})}})]})})]})})})}),Bf={type:"object",properties:{[V.uid()]:{"x-component":"DataSourceTable"}}},be=d.createContext({});be.displayName="CurrentRolesContext";const Vf=({role:e})=>a.jsx(S.Card,{"data-testid":"acl-pane-card",bordered:!1,children:a.jsx(be.Provider,{value:e,children:a.jsx(r.SchemaComponent,{components:{MenuConfigure:r.MenuConfigure,RoleConfigure:_f,RolesResourcesActions:Nf,DataSourceTable:wf,StrategyActions:Df,SettingsCenterConfigure:r.SettingsCenterConfigure,SettingCenterProvider:r.SettingCenterProvider,ResourceActionProvider:r.ResourceActionProvider,RoleRecordProvider:xf},schema:Bf})})});class xe extends r.Plugin{constructor(){super(...arguments);Qo(this,"types",new Map)}load(){return _(this,null,function*(){this.app.addComponents({DataSourcePermissionManager:Vf}),this.app.use(Ro),this.app.pluginSettingsManager.add(K,{title:`{{t("Data sources", { ns: "${K}" })}}`,icon:"ClusterOutlined",showTabs:!1,aclSnippet:"pm.data-source-manager*"}),this.app.pluginSettingsManager.add(`${K}.list`,{title:`{{t("Data sources", { ns: "${K}" })}}`,Component:Gy,sort:1,skipAclConfigure:!0,aclSnippet:"pm.data-source-manager"}),this.app.pluginSettingsManager.add(`${K}/:name`,{title:a.jsx(gt,{}),icon:"ClusterOutlined",isTopLevel:!1,sort:100,skipAclConfigure:!0,aclSnippet:"pm.data-source-manager"}),this.app.pluginSettingsManager.add(`${K}/main`,{title:a.jsx(gt,{}),icon:"ClusterOutlined",isTopLevel:!1,sort:100,skipAclConfigure:!0,aclSnippet:"pm.data-source-manager.data-source-main"}),this.app.pluginSettingsManager.add(`${K}/main.collections`,{title:`{{t("Collections", { ns: "${K}" })}}`,Component:vf,topLevelName:`${K}/main`,pluginKey:K,skipAclConfigure:!0,aclSnippet:"pm.data-source-manager.data-source-main"}),this.app.pluginSettingsManager.add(`${K}/:name.collections`,{title:`{{t("Collections", { ns: "${K}" })}}`,Component:Ny,topLevelName:`${K}/:name`,pluginKey:K,skipAclConfigure:!0,aclSnippet:"pm.data-source-manager.data-source-main"}),this.app.dataSourceManager.addDataSources(this.getThirdDataSource.bind(this),mt)})}setDataSources(){return _(this,null,function*(){var n;const o=yield this.app.apiClient.request({resource:"dataSources",action:"listEnabled",params:{paginate:!1}});return(n=o==null?void 0:o.data)==null?void 0:n.data})}getThirdDataSource(){return _(this,null,function*(){var n;const o=yield this.app.apiClient.request({resource:"dataSources",action:"listEnabled",params:{paginate:!1,appends:["collections"]}});return(n=o==null?void 0:o.data)==null?void 0:n.data})}registerType(o,n){this.types.set(o,n)}}M.PluginDataSourceManagerClient=xe,M.default=xe,Object.defineProperties(M,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
59
+ `),Of=(e="main")=>({name:`dataSources/${e}/rolesResourcesScopes`,fields:[{type:"string",name:"name",interface:"input",uiSchema:{title:'{{t("Scope name")}}',type:"string","x-component":"Input",required:!0}}]}),Mf=()=>{const{name:e}=d.useContext(me),t=r.useFormBlockContext();return d.useEffect(()=>{t.form.setInitialValues({resourceName:e})},[e]),{form:t.form}},Ef=e=>{const t=Of(e);return{type:"object",properties:{scope:{"x-component":"RecordPicker","x-component-props":{size:"small",fieldNames:{label:"name",value:"id"},multiple:!1,association:{target:"rolesResourcesScopes"},onChange:"{{ onChange }}"},properties:{selector:{type:"void",title:'{{ t("Select record") }}',"x-component":"RecordPicker.Selector","x-component-props":{className:"nb-record-picker-selector"},properties:{tableBlock:{type:"void","x-decorator":"TableSelectorProvider","x-decorator-props":{collection:t,resource:`dataSources/${e}/rolesResourcesScopes`,action:"list",params:{pageSize:20},useParams(){return{filter:{$or:[{resourceName:d.useContext(me).name},{resourceName:null}]}}},rowKey:"id"},"x-component":"BlockItem",properties:{actions:{type:"void","x-component":"ActionBar","x-component-props":{style:{marginBottom:16}},properties:{create:{type:"void",title:'{{ t("Add new") }}',"x-action":"create","x-component":"Action","x-component-props":{icon:"PlusOutlined",openMode:"drawer",type:"primary"},properties:{drawer:{type:"void",title:'{{ t("Add record") }}',"x-component":"Action.Container","x-component-props":{className:"nb-action-popup"},properties:{formBlock:{type:"void","x-decorator":"FormBlockProvider","x-decorator-props":{resource:`dataSources/${e}/rolesResourcesScopes`,collection:t},"x-component":"CardItem",properties:{form:{type:"void","x-component":"FormV2","x-use-component-props":Mf,properties:{name:{type:"string","x-component":"CollectionField","x-decorator":"FormItem"},scope:{type:"object",title:'{{t("Data scope")}}',name:"filter","x-decorator":"FormItem","x-component":"Filter","x-use-component-props":()=>{const o=d.useContext(me);return{options:r.useFilterFieldOptions(o.fields)}},"x-component-props":{dynamicComponent:r.VariableInput}},actions:{type:"void","x-component":"ActionBar","x-component-props":{layout:"one-column",style:{marginTop:24}},properties:{create:{title:'{{ t("Submit") }}',"x-action":"submit","x-component":"Action","x-use-component-props":"useCreateActionProps","x-component-props":{type:"primary",htmlType:"submit"}}}}}}}}}}}}}},value:{type:"array","x-component":"TableV2.Selector","x-use-component-props":"useTableSelectorProps","x-component-props":{rowKey:"id",rowSelection:{type:"checkbox"}},properties:{column1:{type:"void","x-decorator":"TableV2.Column.Decorator","x-component":"TableV2.Column",properties:{name:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}},actions:{type:"void",title:'{{ t("Actions") }}',"x-action-column":"actions","x-component":"TableV2.Column",properties:{actions:{type:"void","x-decorator":"DndContext","x-component":"Space","x-component-props":{split:"|"},properties:{edit:{type:"void",title:'{{ t("Edit") }}',"x-action":"update","x-decorator":"ACLActionProvider","x-component":"Action.Link","x-component-props":{openMode:"drawer",icon:"EditOutlined"},properties:{drawer:{type:"void",title:'{{ t("Edit record") }}',"x-component":"Action.Container","x-component-props":{className:"nb-action-popup"},properties:{formBlock:{type:"void","x-decorator":"FormBlockProvider","x-decorator-props":{resource:`dataSources/${e}/rolesResourcesScopes`,collection:t,action:"get",useParams:"{{ useParamsFromRecord }}"},"x-component":"CardItem",properties:{form:{type:"void","x-component":"FormV2","x-use-component-props":"useFormBlockProps",properties:{name:{type:"string","x-component":"CollectionField","x-decorator":"FormItem"},scope:{type:"object",title:'{{t("Data scope")}}',name:"filter","x-decorator":"FormItem","x-component":"Filter","x-use-component-props":()=>{const o=d.useContext(me);return{options:r.useFilterFieldOptions(o.fields)}},"x-component-props":{dynamicComponent:r.VariableInput}},actions:{type:"void","x-component":"ActionBar","x-component-props":{layout:"one-column",style:{marginTop:24}},properties:{update:{title:'{{ t("Submit") }}',"x-action":"submit","x-component":"Action","x-use-component-props":"useUpdateActionProps","x-component-props":{type:"primary",htmlType:"submit"}}}}}}}}}}}},destroy:{title:'{{ t("Delete") }}',"x-action":"destroy","x-decorator":"ACLActionProvider","x-component":"Action.Link","x-use-component-props":"useDestroyActionProps","x-component-props":{icon:"DeleteOutlined",confirm:{title:"{{t('Delete record')}}",content:"{{t('Are you sure you want to delete it?')}}"}}}}}}}}}}},footer:{"x-component":"Action.Container.Footer","x-component-props":{},properties:{actions:{type:"void","x-component":"ActionBar","x-component-props":{},properties:{submit:{title:'{{ t("Submit") }}',"x-action":"submit","x-component":"Action","x-use-component-props":"usePickActionProps","x-component-props":{type:"primary",htmlType:"submit"}}}}}}}}}}}}},Go=d.createContext(null);Go.displayName="RolesResourcesScopesSelectedRowKeysContext";const jf=e=>{const[t,o]=d.useState([]);return s.jsx(Go.Provider,{value:[t,o],children:e.children})},kf=e=>{const t=d.useMemo(()=>ye.createForm({values:{scope:e.value}}),[]),{key:o}=r.useRecord(),n=Ef(o);return s.jsx(r.FormProvider,{form:t,children:s.jsx(r.SchemaComponent,{components:{RolesResourcesScopesSelectedRowKeysProvider:jf},scope:{onChange(i){var a;(a=e==null?void 0:e.onChange)==null||a.call(e,i)}},schema:n})})},Kf=e=>{var o;const t={};return(o=e==null?void 0:e.forEach)==null||o.call(e,n=>{n.name&&(t[n.name]=n,t[n.name].scope=Y.isEmpty(n.scope)?null:n.scope)}),t},me=d.createContext({});me.displayName="RoleResourceCollectionContext";const Nf=w.connect(e=>{var v,f;const{styles:t}=If(),o=g=>{const h=g.map(x=>N(T({},x),{scope:Y.isEmpty(x.scope)?null:x.scope}));e.onChange(h)},n=r.useRecord(),i=Lo(),a=n.fields,c=r.useCompile(),{t:l}=B.useTranslation(),p=w.useField(),u=Kf(p.value||[]),y=(g,h)=>{var F;const x=u==null?void 0:u[g];return x?(F=x==null?void 0:x.fields)==null?void 0:F.includes(h):!1},m=i.filter(g=>g.allowConfigureFields),b=a==null?void 0:a.map(g=>{const h=T({},g);for(const x of m)h[x.name]=y(x.name,g.name);return h}),P=g=>{var h;u[g]?delete u[g]:u[g]={name:g,fields:(h=a==null?void 0:a.map)==null?void 0:h.call(a,x=>x.name)},o(Object.values(u))},A=(g,h)=>{u[g]?(u[g].scope=h,o(Object.values(u))):(P(g),u[g].scope=h,o(Object.values(u)))},C={};for(const g of m)C[g.name]=(a==null?void 0:a.length)===((f=(v=u==null?void 0:u[g.name])==null?void 0:v.fields)==null?void 0:f.length);return s.jsx("div",{children:s.jsx(me.Provider,{value:n,children:s.jsxs(ae.FormLayout,{layout:"vertical",children:[s.jsx(ae.FormItem,{label:l("Action permission"),children:s.jsx(S.Table,{className:t,size:"small",pagination:!1,columns:[{dataIndex:"displayName",title:l("Action display name"),render:g=>c(g)},{dataIndex:"onNewRecord",title:l("Action type"),render:g=>g?s.jsx(S.Tag,{color:"green",children:l("Action on new records")}):s.jsx(S.Tag,{color:"geekblue",children:l("Action on existing records")})},{dataIndex:"enabled",title:l("Allow"),render:(g,h)=>s.jsx(S.Checkbox,{checked:g,onChange:()=>{P(h.name)}})},{dataIndex:"scope",title:l("Data scope"),render:(g,h)=>!h.onNewRecord&&s.jsx(kf,{value:g,onChange:x=>{A(h.name,x)}})}],dataSource:i==null?void 0:i.map(g=>{let h=!1,x=null;return u[g.name]&&(h=!0,g.onNewRecord||(x=u[g.name].scope)),N(T({},g),{enabled:h,scope:x})})})}),s.jsx(ae.FormItem,{label:l("Field permission"),children:s.jsx(S.Table,{className:t,pagination:!1,dataSource:b,columns:[{dataIndex:["uiSchema","title"],title:l("Field display name"),render:(g,h)=>c(g)||h.name},...m.map(g=>{const h=C==null?void 0:C[g.name];return{dataIndex:g.name,title:s.jsxs(s.Fragment,{children:[s.jsx(S.Checkbox,{checked:h,onChange:()=>{var F;const x=u[g.name]||{name:g.name};h?x.fields=[]:x.fields=(F=a==null?void 0:a.map)==null?void 0:F.call(a,E=>E.name),u[g.name]=x,o(Object.values(u))}}),c(g.displayName)]}),render:(x,F)=>s.jsx(S.Checkbox,{checked:x,onChange:()=>{const E=u[g.name]||{name:g.name},k=E.fields||[];if(x){const D=k.indexOf(F.name);k.splice(D,1)}else k.push(F.name);E.fields=k,u[g.name]=E,o(Object.values(u))}})}})]})})]})})})}),Bf={type:"object",properties:{[V.uid()]:{"x-component":"DataSourceTable"}}},be=d.createContext({});be.displayName="CurrentRolesContext";const Vf=({role:e})=>s.jsx(S.Card,{"data-testid":"acl-pane-card",bordered:!1,children:s.jsx(be.Provider,{value:e,children:s.jsx(r.SchemaComponent,{components:{MenuConfigure:r.MenuConfigure,RoleConfigure:_f,RolesResourcesActions:Nf,DataSourceTable:wf,StrategyActions:Df,SettingsCenterConfigure:r.SettingsCenterConfigure,SettingCenterProvider:r.SettingCenterProvider,ResourceActionProvider:r.ResourceActionProvider,RoleRecordProvider:xf},schema:Bf})})});class xe extends r.Plugin{constructor(){super(...arguments);Qo(this,"types",new Map)}load(){return _(this,null,function*(){this.app.addComponents({DataSourcePermissionManager:Vf}),this.app.use(Ro),this.app.pluginSettingsManager.add(K,{title:`{{t("Data sources", { ns: "${K}" })}}`,icon:"ClusterOutlined",showTabs:!1,aclSnippet:"pm.data-source-manager*"}),this.app.pluginSettingsManager.add(`${K}.list`,{title:`{{t("Data sources", { ns: "${K}" })}}`,Component:Gy,sort:1,skipAclConfigure:!0,aclSnippet:"pm.data-source-manager"}),this.app.pluginSettingsManager.add(`${K}/:name`,{title:s.jsx(gt,{}),icon:"ClusterOutlined",isTopLevel:!1,sort:100,skipAclConfigure:!0,aclSnippet:"pm.data-source-manager"}),this.app.pluginSettingsManager.add(`${K}/main`,{title:s.jsx(gt,{}),icon:"ClusterOutlined",isTopLevel:!1,sort:100,skipAclConfigure:!0,aclSnippet:"pm.data-source-manager.data-source-main"}),this.app.pluginSettingsManager.add(`${K}/main.collections`,{title:`{{t("Collections", { ns: "${K}" })}}`,Component:vf,topLevelName:`${K}/main`,pluginKey:K,skipAclConfigure:!0,aclSnippet:"pm.data-source-manager.data-source-main"}),this.app.pluginSettingsManager.add(`${K}/:name.collections`,{title:`{{t("Collections", { ns: "${K}" })}}`,Component:Ny,topLevelName:`${K}/:name`,pluginKey:K,skipAclConfigure:!0,aclSnippet:"pm.data-source-manager.data-source-main"}),this.app.dataSourceManager.addDataSources(this.getThirdDataSource.bind(this),mt)})}setDataSources(){return _(this,null,function*(){var n;const o=yield this.app.apiClient.request({resource:"dataSources",action:"listEnabled",params:{paginate:!1}});return(n=o==null?void 0:o.data)==null?void 0:n.data})}getThirdDataSource(){return _(this,null,function*(){var n;const o=yield this.app.apiClient.request({resource:"dataSources",action:"listEnabled",params:{paginate:!1,appends:["collections"]}});return(n=o==null?void 0:o.data)==null?void 0:n.data})}registerType(o,n){this.types.set(o,n)}}M.PluginDataSourceManagerClient=xe,M.default=xe,Object.defineProperties(M,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
@@ -8,9 +8,9 @@
8
8
  */
9
9
 
10
10
  module.exports = {
11
- "@nocobase/client": "1.0.0-alpha.12",
11
+ "@nocobase/client": "1.0.0-alpha.13",
12
12
  "react": "18.2.0",
13
- "@nocobase/server": "1.0.0-alpha.12",
13
+ "@nocobase/server": "1.0.0-alpha.13",
14
14
  "lodash": "4.17.21",
15
15
  "@ant-design/icons": "5.2.6",
16
16
  "antd": "5.12.8",
@@ -19,10 +19,10 @@ module.exports = {
19
19
  "react-i18next": "11.18.6",
20
20
  "@formily/react": "2.3.0",
21
21
  "@emotion/css": "11.11.2",
22
- "@nocobase/database": "1.0.0-alpha.12",
23
- "@nocobase/utils": "1.0.0-alpha.12",
24
- "@nocobase/plugin-acl": "1.0.0-alpha.12",
25
- "@nocobase/acl": "1.0.0-alpha.12",
22
+ "@nocobase/database": "1.0.0-alpha.13",
23
+ "@nocobase/utils": "1.0.0-alpha.13",
24
+ "@nocobase/plugin-acl": "1.0.0-alpha.13",
25
+ "@nocobase/acl": "1.0.0-alpha.13",
26
26
  "sequelize": "6.35.2",
27
27
  "@formily/antd-v5": "1.1.9",
28
28
  "@formily/core": "2.3.0",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nocobase/plugin-data-source-manager",
3
- "version": "1.0.0-alpha.12",
3
+ "version": "1.0.0-alpha.13",
4
4
  "main": "dist/server/index.js",
5
5
  "displayName": "Data source manager",
6
6
  "displayName.zh-CN": "数据源管理",
@@ -16,5 +16,5 @@
16
16
  "keywords": [
17
17
  "Data model tools"
18
18
  ],
19
- "gitHead": "d8db7d708cf8e7819003dbbe636238164bc5ec5b"
19
+ "gitHead": "bd97adef70762a6691b5b58ca6572672a8cdf838"
20
20
  }