@nocobase/plugin-data-source-manager 0.21.0-alpha.2 → 0.21.0-alpha.3

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.
@@ -1,14 +1,14 @@
1
- (function(O,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):(O=typeof globalThis!="undefined"?globalThis:O||self,s(O["@nocobase/plugin-data-source-manager"]={},O.jsxRuntime,O["@nocobase/client"],O.react,O["@formily/react"],O.antd,O["react-i18next"],O["@ant-design/icons"],O["react-router-dom"],O["@formily/shared"],O["@formily/reactive"],O["@formily/core"],O["@formily/antd-v5"],O.lodash,O["@dnd-kit/core"],O["@emotion/css"],O["antd-style"]))})(this,function(O,s,r,d,$,S,V,ee,W,L,tt,ue,pe,J,R,ae,On){"use strict";var rv=Object.defineProperty,av=Object.defineProperties;var sv=Object.getOwnPropertyDescriptors;var Re=Object.getOwnPropertySymbols;var Pn=Object.prototype.hasOwnProperty,Dn=Object.prototype.propertyIsEnumerable;var Mt=(O,s,r)=>s in O?rv(O,s,{enumerable:!0,configurable:!0,writable:!0,value:r}):O[s]=r,T=(O,s)=>{for(var r in s||(s={}))Pn.call(s,r)&&Mt(O,r,s[r]);if(Re)for(var r of Re(s))Dn.call(s,r)&&Mt(O,r,s[r]);return O},j=(O,s)=>av(O,sv(s));var et=(O,s)=>{var r={};for(var d in O)Pn.call(O,d)&&s.indexOf(d)<0&&(r[d]=O[d]);if(O!=null&&Re)for(var d of Re(O))s.indexOf(d)<0&&Dn.call(O,d)&&(r[d]=O[d]);return r};var In=(O,s,r)=>(Mt(O,typeof s!="symbol"?s+"":s,r),r);var D=(O,s,r)=>new Promise((d,$)=>{var S=W=>{try{ee(r.next(W))}catch(L){$(L)}},V=W=>{try{ee(r.throw(W))}catch(L){$(L)}},ee=W=>W.done?d(W.value):Promise.resolve(W.value).then(S,V);ee((r=r.apply(O,s)).next())});const K="data-source-manager";function En(e,t={}){return r.i18n.t(e,j(T({},t),{ns:K}))}const Mn=e=>{const t=$.useForm(),o=r.useActionContext(),n=r.useAPIClient(),{t:a}=V.useTranslation(),i=$.useField();return i.data=i.data||{},{run(){return D(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(a("Saved successfully"))}catch(l){i.data.loading=!1,console.log(l)}})}}},jt=()=>{const e=$.useForm(),t=r.useAPIClient(),{t:o}=V.useTranslation(),n=$.useField();return n.data=n.data||{},{run(){return D(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)}})}}},jn=Object.freeze(Object.defineProperty({__proto__:null,useCreateDatabaseServer:Mn,useTestConnectionAction:jt},Symbol.toStringTag,{value:"Module"})),Pe=d.createContext(null);Pe.displayName="DataSourceContext";const kn=e=>{const[t,o]=d.useState(null);return s.jsx(Pe.Provider,{value:{dataSource:t,setDataSource:o},children:s.jsx(r.SchemaComponentOptions,{scope:jn,components:{},children:e.children})})};class kt extends r.DataSource{getDataSource(){return D(this,null,function*(){return(yield this.app.apiClient.request({url:`dataSources:get/${this.key}`,params:{appends:["collections"]}})).data.data})}}const Kt=[{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"}],Nt={name:"collections-"+L.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:Kt}},{type:"boolean",name:"enabled",uiSchema:{type:"boolean",title:'{{t("Enabled")}}',"x-component":"Checkbox"}}]},Kn={type:"object",properties:{[L.uid()]:{type:"void","x-decorator":"ResourceActionProvider","x-decorator-props":{collection:Nt,resourceName:"dataSources",request:{resource:"dataSources",action:"list",params:{pageSize:50,appends:[]}}},"x-component":"CollectionProvider_deprecated","x-component-props":{collection:Nt},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)}}"]}}}}}}}}}}},Bt=()=>{const e=r.useApp(),{name:t}=W.useParams(),o=r.useCompile(),n=r.useDataSourceManager(),{displayName:a}=n.getDataSource(t)||{},{dataSource:i}=d.useContext(Pe),c=d.useMemo(()=>i||n.getDataSource(t),[i,t]),l=d.useMemo(()=>{const u=c==null?void 0:c.status,p=Kt.find(g=>g.value===u),m=[{title:s.jsx(W.Link,{to:e.pluginSettingsManager.getRoutePath(K),children:En("Data source manager")})}];return c&&m.push({title:s.jsxs(S.Space,{children:[s.jsx("span",{children:o(a)}),u&&s.jsx(S.Tag,{color:p==null?void 0:p.color,children:o(p==null?void 0:p.label)},u)]})}),m},[c]);return s.jsx(S.Breadcrumb,{separator:s.jsx(ee.RightOutlined,{}),items:l})},Vt=e=>$.Schema.compile(e,{t:r.i18n.t}),Nn={name:"database-"+L.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"}}]},Bn=e=>({type:"object",properties:{[L.uid()]:{type:"void","x-collection":"dataSources","x-decorator":"ResourceActionProvider","x-decorator-props":{collection:Nn,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"}}}}}),ot={type:"object",properties:{[L.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}}},[L.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}=V.useTranslation();return{move(n,a){return D(this,null,function*(){yield e.resource("dataSources").move({sourceId:n.key,targetId:a.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=`${Vt(n.title||n.name)} - ${Vt('{{ 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"}}}}}}}}}},Vn={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"}}]},Ln={type:"object",properties:{[L.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"}}}},[L.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:"{{handleFieldChange}}"}}}},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:"{{handleFieldChange}}"}}}},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:"{{handleFieldChange}}"}}}},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]) }}"}}}]}}}}}}}}},qn=r.withDynamicSchemaProps(e=>{const{t}=V.useTranslation(),{isTitleField:o}=r.useCollectionManager_deprecated(),[n,a]=d.useState(null),{setTitleField:i,filterByTk:c,dataSourceKey:l}=r.useProps(e),u=r.useRecord(),p=r.useAPIClient(),{refreshRM:m,titleField:g}=Tt(),v=A=>D(this,null,function*(){a(u),yield p.request({url:`dataSources/${l}/collections:update?filterByTk=${c}`,method:"post",data:{titleField:A?u.name:"id"}}),S.message.success(t("Saved successfully")),m(),i(A?u.name:"id"),a(null)});return o(u)?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-${u==null?void 0:u.name}`,size:"small",loading:(u==null?void 0:u.name)===(n==null?void 0:n.name),checked:(u==null?void 0:u.name)===(g||"id"),onChange:v})}):null},{displayName:"TitleField"}),Lt=(e,t)=>{const o=[];return e.forEach(n=>{const a=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:a})}),o.filter(n=>t==="sort"?n.key==="advanced":n.children.length>0)},Gn=$.observer(e=>{var v;const{value:t,handleFieldChange:o}=e,n=r.useRecord(),{getInterface:a}=r.useCollectionManager_deprecated(),i=r.useCompile(),c=r.useFieldInterfaceOptions(),l=Lt(c,n.type),u=$.useForm(),p=$.useField(),[m,g]=d.useState(l);return["oho","obo","o2m","m2o","m2m"].includes(n.interface)?s.jsx(S.Tag,{children:i((v=c.find(A=>A.key==="relation").children.find(A=>A.name===t))==null?void 0:v.label)},t):s.jsx(S.Select,{"aria-label":`field-interface-${n==null?void 0:n.type}`,role:"button",defaultValue:t,style:{width:"100%"},popupMatchSelectWidth:!1,onChange:A=>{var b,C;const _=a(A);o({interface:A,uiSchema:T({title:(b=n==null?void 0:n.uiSchema)==null?void 0:b.title},(C=_==null?void 0:_.default)==null?void 0:C.uiSchema)},n.name)},onDropdownVisibleChange:A=>{var _,b;if(A&&(n!=null&&n.possibleTypes)){const C=(b=(_=Object.values(u.values))==null?void 0:_[0])==null?void 0:b[p.index],h=(C==null?void 0:C.type)||n.type,y=Lt(c,h);g(y)}},children:m.map(A=>s.jsx(S.Select.OptGroup,{label:i(A.label),children:A.children.map(_=>s.jsx(S.Select.Option,{value:_.name,children:i(_.label)},_.name))},A.key))})},{displayName:"CollectionFieldInterfaceSelect"}),De=["string","bigInt","integer","uuid","uid"],zn=$.observer(e=>{var p,m;const{name:t}=W.useParams(),{collectionName:o,sourceKey:n,name:a}=r.useRecord(),i=$.useField(),c=r.useCompile(),{getCollection:l}=r.useCollectionManager_deprecated(),u=(p=l(o||a,t).fields)==null?void 0:p.filter(g=>g.primaryKey||g.unique).map(g=>{var v;return{value:g.name,label:c(((v=g.uiSchema)==null?void 0:v.title)||g.title||g.name)}});return d.useEffect(()=>{var g;i.initialValue=((g=u==null?void 0:u[0])==null?void 0:g.value)||n},[]),s.jsx("div",{children:s.jsx(S.Select,{disabled:n,options:u,defaultValue:((m=u==null?void 0:u[0])==null?void 0:m.value)||n,onChange:e==null?void 0:e.onChange,showSearch:!0})})},{displayName:"SourceKey"}),qt=$.observer(e=>{const{disabled:t}=e,o=r.useAPIClient(),[n,a]=d.useState([]),{name:i}=W.useParams(),c=r.useRecord(),l=$.useField(),{collectionName:u,target:p,type:m,through:g,name:v}=c,A=c[l.props.name],{getCollection:_}=r.useCollectionManager_deprecated(),b=r.useCompile(),C=$.useForm(),[h,y]=d.useState(A);return d.useEffect(()=>{var E;l.initialValue=null;const f=["belongsTo"].includes(m)?u:["belongsToMany"].includes(m)?g:p,x=(E=_(f,i))==null?void 0:E.fields;if(x){const M=x==null?void 0:x.filter(w=>De.includes(w.type)).map(w=>{var N;return{value:w.name,label:b(((N=w.uiSchema)==null?void 0:N.title)||w.title||w.name)}});if(a(M),A){const w=M.find(N=>N.value===A);y((w==null?void 0:w.label)||A)}}},[m]),d.useEffect(()=>{y(A)},[A]),s.jsx("div",{children:s.jsx(S.Select,{disabled:t,value:h,options:n,showSearch:!0,onDropdownVisibleChange:f=>D(this,null,function*(){var N;const{target:x,type:E,through:M}=C.values,w=["belongsTo"].includes(E)?u||v:["belongsToMany"].includes(E)?M:x;if(w&&f){const{data:F}=yield o.request({url:`dataSourcesCollections/${i}.${w}/fields:list`,params:{paginate:!1,filter:{$or:[{"interface.$not":null},{"options.source.$notEmpty":!0}]},sort:["sort"]}});a((N=F.data)==null?void 0:N.filter(P=>De.includes(P.type)).map(P=>{var k;return{value:P.name,label:b(((k=P.uiSchema)==null?void 0:k.title)||P.title||P.name)}}))}}),onChange:f=>{var x;(x=e==null?void 0:e.onChange)==null||x.call(e,f),y(f)}})})},{displayName:"ForeignKey"}),Un=$.observer(e=>{const{value:t,disabled:o}=e,{targetKey:n,target:a,type:i}=r.useRecord(),{name:c}=W.useParams(),{getCollection:l}=r.useCollectionManager_deprecated(),u=r.useAPIClient(),[p,m]=d.useState([]),[g,v]=d.useState(t||n),A=$.useForm(),_=r.useCompile(),b=$.useField();return b.required=!0,d.useEffect(()=>{var C;a&&m((C=l(a,c).fields)==null?void 0:C.filter(h=>i!=="hasMany"?h.primaryKey||h.unique:De.includes(h.type)).map(h=>{var y;return{value:h.name,label:_(((y=h==null?void 0:h.uiSchema)==null?void 0:y.title)||h.title||h.name)}}))},[]),s.jsx("div",{children:s.jsx(S.Select,{showSearch:!0,options:p,onDropdownVisibleChange:C=>D(this,null,function*(){var f;const{target:h,type:y}=A.values;if(h&&C){const{data:x}=yield u.request({url:`dataSourcesCollections/${c}.${h}/fields:list`,params:{paginate:!1,filter:{$or:[{"interface.$not":null},{"options.source.$notEmpty":!0}]},sort:["sort"]}});m((f=x.data)==null?void 0:f.filter(E=>y!=="hasMany"?E.primaryKey||E.unique:De.includes(E.type)).map(E=>{var M;return{value:E.name,label:_(((M=E.uiSchema)==null?void 0:M.title)||E.title||E.name)}}))}}),onChange:C=>{var h;(h=e==null?void 0:e.onChange)==null||h.call(e,C),v(C)},value:g,disabled:o})})},{displayName:"TargetKey"}),Hn=$.observer(()=>{const e=r.useCompile(),{targetCollection:t}=Tt();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"}),Wn=$.observer(e=>{const{disabled:t}=e,o=r.useCompile(),[n,a]=d.useState([]),{name:i}=W.useParams(),c=$.useField(),{getCollections:l}=r.useCollectionManager_deprecated(i),p=r.useRecord()[c.props.name],m=()=>l().filter(v=>!(v.autoCreate&&v.isThrough)).map(v=>({label:o(v.title||v.name),value:v.name}));return d.useEffect(()=>{const g=m();a(g)},[]),s.jsx("div",{children:s.jsx(S.Select,{disabled:t,showSearch:!0,popupMatchSelectWidth:!1,fieldNames:{label:"label",value:"value"},defaultValue:p,options:n,onChange:g=>{var v;(v=e==null?void 0:e.onChange)==null||v.call(e,g)}})})},{displayName:"ThroughCollection"}),Yn=(e,t,o)=>{var i;if(!e)return;const n=J.cloneDeep(e.properties);n!=null&&n.foreignKey&&(n.foreignKey["x-component"]=qt),e.hasDefaultValue===!0&&(n.defaultValue=J.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 a=j(T({name:`f_${L.uid()}`},J.cloneDeep(e.default)),{interface:e.name});return a.reverseField&&(a.reverseField.name=`f_${L.uid()}`),{type:"object",properties:{[L.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:a}),c)}},title:`${o(t.title||t.name)} - ${o('{{ t("Add field") }}')}`,properties:j(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 }}"}}}}})}}}},Qn=()=>{const e=$.useForm(),t=r.useActionContext(),{refresh:o}=r.useResourceActionContext(),n=$.useField(),a=r.useAPIClient(),i=r.useRecord(),{name:c}=W.useParams(),l=r.useDataSourceManager();return{run(){return D(this,null,function*(){yield e.submit(),n.data=n.data||{},n.data.loading=!0;const p=J.cloneDeep(e.values);p.autoCreateReverseField||delete p.reverseField,delete p.autoCreateReverseField;try{yield a.request({url:`dataSourcesCollections/${c}.${i.name}/fields:create`,method:"post",data:p}),t.setVisible(!1),l.getDataSource(c).reload(),yield e.reset(),n.data.loading=!1,o()}catch(m){n.data.loading=!1}})}}},Zn=e=>{const t=r.useRecord();return s.jsx(Jn,T({item:t},e))},Jn=e=>{const{scope:t,getContainer:o,item:n,children:a,trigger:i,align:c,database:l}=e,{getInterface:u,getTemplate:p,collections:m}=r.useCollectionManager_deprecated(),[g,v]=d.useState(!1),[A,_]=d.useState(),[b,C]=d.useState({}),h=r.useCompile(),{t:y}=V.useTranslation(),{data:{database:f}}=r.useCurrentAppInfo(),x=P=>(f==null?void 0:f.dialect)===P,E=d.useMemo(()=>m.map(P=>({label:h(P.title),value:P.name})),[]),M=r.useFieldInterfaceOptions(),w=d.useCallback(()=>{const{availableFieldInterfaces:P}=p(n.template)||{},{exclude:k,include:B}=P||{},Q=[];return M.forEach(H=>{var I;if(H.key==="relation"){let Y=[];B!=null&&B.length?B.forEach(G=>{var re;const oe=(re=H==null?void 0:H.children)==null?void 0:re.find(nv=>[G,G.interface].includes(nv.value));oe&&Y.push(j(T({},oe),{targetScope:G==null?void 0:G.targetScope}))}):k!=null&&k.length?Y=(I=H==null?void 0:H.children)==null?void 0:I.filter(G=>!k.includes(G.value)):Y=H==null?void 0:H.children,Y!=null&&Y.length&&Q.push(j(T({},H),{children:Y}))}}),Q},[p,n]),N=d.useMemo(()=>w().map(P=>{var k;return((k=P==null?void 0:P.children)==null?void 0:k.length)===0?null:n.template==="view"?{type:"group",label:h(P.label),title:h(P.label),key:P.label,children:P.children.filter(B=>["m2o"].includes(B.name)).map(B=>({label:h(B.title),title:h(B.title),key:B.name,dataTargetScope:B.targetScope}))}:{type:"group",label:h(P.label),title:h(P.label),key:P.label,children:P==null?void 0:P.children.filter(B=>!["o2o","subTable","linkTo"].includes(B.name)).map(B=>({label:h(B.title),title:h(B.title),key:B.name,dataTargetScope:B.targetScope}))}}).filter(P=>{var k;return(k=P==null?void 0:P.children)==null?void 0:k.length}),[w]),F=d.useMemo(()=>({style:{maxHeight:"60vh",overflow:"auto"},onClick:P=>{const k=P.item.props["data-targetScope"];k&&_(k);const B=Yn(u(P.key),n,h);B&&(C(B),v(!0))},items:N}),[u,N,n]);return n.template!=="sql"&&s.jsx(r.RecordProvider,{record:n,children:s.jsxs(r.ActionContextProvider,{value:{visible:g,setVisible:v},children:[s.jsx(S.Dropdown,{getPopupContainer:o,trigger:i,align:c,menu:F,children:a||s.jsx(S.Button,{icon:s.jsx(ee.PlusOutlined,{}),type:"primary",children:y("Add field")})}),s.jsx(r.SchemaComponent,{schema:b,components:{ArrayTable:pe.ArrayTable},scope:T({getContainer:o,useCancelAction:r.useCancelAction,createOnly:!0,isOverride:!1,override:!1,useCreateCollectionField:Qn,record:n,showReverseFieldConfig:!1,targetScope:A,collections:E,isDialect:x,disabledJSONB:!1,createMainOnly:!0},t)})]})})},Xn=$.observer(e=>{const{value:t,handleFieldChange:o}=e,n=r.useRecord(),[a,i]=d.useState(t),c=p=>{i(p)},l=d.useMemo(()=>J.debounce(p=>{o({uiSchema:j(T({},n==null?void 0:n.uiSchema),{title:p})},n.name)},1e3),[o,n]),u=p=>{const m=p.target.value;c(m),l(m)};return d.useEffect(()=>{i(t)},[t]),s.jsx(S.Input,{value:a,onChange:u,style:{minWidth:"100px"},"aria-label":"field-title-input"})},{displayName:"FieldTitleInput"}),Rn=()=>{const{refresh:e}=r.useResourceActionContext(),{name:t}=W.useParams(),{name:o,collectionName:n}=r.useRecord(),a=r.useAPIClient();return{run(){return D(this,null,function*(){yield a.request({url:`dataSourcesCollections/${t}.${n}/fields:destroy?filterByTk=${o}`,method:"post"}),e()})}}},er=()=>{const{state:e,setState:t,refresh:o}=r.useResourceActionContext(),{t:n}=V.useTranslation(),{name:a}=W.useParams(),i=r.useAPIClient(),{name:c}=r.useRecord();return{run(){return D(this,null,function*(){var u;if(!((u=e==null?void 0:e.selectedRowKeys)!=null&&u.length))return S.message.error(n("Please select the records you want to delete"));yield i.request({url:`dataSourcesCollections/${a}.${c}/fields:destroy`,method:"post",params:{filterByTk:(e==null?void 0:e.selectedRowKeys)||[]}}),t==null||t({selectedRowKeys:[]}),o()})}}},tr=()=>{const{run:e}=er();return{run(){return D(this,null,function*(){yield e()})}}},or=()=>{const{run:e}=Rn();return{run(){return D(this,null,function*(){yield e()})}}};var Ie=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:{};function be(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function nr(){this.__data__=[],this.size=0}var rr=nr;function ar(e,t){return e===t||e!==e&&t!==t}var Gt=ar,sr=Gt;function ir(e,t){for(var o=e.length;o--;)if(sr(e[o][0],t))return o;return-1}var Oe=ir,cr=Oe,lr=Array.prototype,ur=lr.splice;function pr(e){var t=this.__data__,o=cr(t,e);if(o<0)return!1;var n=t.length-1;return o==n?t.pop():ur.call(t,o,1),--this.size,!0}var dr=pr,mr=Oe;function fr(e){var t=this.__data__,o=mr(t,e);return o<0?void 0:t[o][1]}var yr=fr,gr=Oe;function vr(e){return gr(this.__data__,e)>-1}var hr=vr,Cr=Oe;function br(e,t){var o=this.__data__,n=Cr(o,e);return n<0?(++this.size,o.push([e,t])):o[n][1]=t,this}var xr=br,Sr=rr,Ar=dr,$r=yr,Tr=hr,Fr=xr;function de(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])}}de.prototype.clear=Sr,de.prototype.delete=Ar,de.prototype.get=$r,de.prototype.has=Tr,de.prototype.set=Fr;var Ee=de,wr=Ee;function _r(){this.__data__=new wr,this.size=0}var Pr=_r;function Dr(e){var t=this.__data__,o=t.delete(e);return this.size=t.size,o}var Ir=Dr;function Or(e){return this.__data__.get(e)}var Er=Or;function Mr(e){return this.__data__.has(e)}var jr=Mr,kr=typeof Ie=="object"&&Ie&&Ie.Object===Object&&Ie,zt=kr,Kr=zt,Nr=typeof self=="object"&&self&&self.Object===Object&&self,Br=Kr||Nr||Function("return this")(),te=Br,Vr=te,Lr=Vr.Symbol,xe=Lr,Ut=xe,Ht=Object.prototype,qr=Ht.hasOwnProperty,Gr=Ht.toString,Se=Ut?Ut.toStringTag:void 0;function zr(e){var t=qr.call(e,Se),o=e[Se];try{e[Se]=void 0;var n=!0}catch(i){}var a=Gr.call(e);return n&&(t?e[Se]=o:delete e[Se]),a}var Ur=zr,Hr=Object.prototype,Wr=Hr.toString;function Yr(e){return Wr.call(e)}var Qr=Yr,Wt=xe,Zr=Ur,Jr=Qr,Xr="[object Null]",Rr="[object Undefined]",Yt=Wt?Wt.toStringTag:void 0;function ea(e){return e==null?e===void 0?Rr:Xr:Yt&&Yt in Object(e)?Zr(e):Jr(e)}var me=ea;function ta(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var fe=ta,oa=me,na=fe,ra="[object AsyncFunction]",aa="[object Function]",sa="[object GeneratorFunction]",ia="[object Proxy]";function ca(e){if(!na(e))return!1;var t=oa(e);return t==aa||t==sa||t==ra||t==ia}var Qt=ca,la=te,ua=la["__core-js_shared__"],pa=ua,nt=pa,Zt=function(){var e=/[^.]+$/.exec(nt&&nt.keys&&nt.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function da(e){return!!Zt&&Zt in e}var ma=da,fa=Function.prototype,ya=fa.toString;function ga(e){if(e!=null){try{return ya.call(e)}catch(t){}try{return e+""}catch(t){}}return""}var Jt=ga,va=Qt,ha=ma,Ca=fe,ba=Jt,xa=/[\\^$.*+?()[\]{}|]/g,Sa=/^\[object .+?Constructor\]$/,Aa=Function.prototype,$a=Object.prototype,Ta=Aa.toString,Fa=$a.hasOwnProperty,wa=RegExp("^"+Ta.call(Fa).replace(xa,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function _a(e){if(!Ca(e)||ha(e))return!1;var t=va(e)?wa:Sa;return t.test(ba(e))}var Pa=_a;function Da(e,t){return e==null?void 0:e[t]}var Ia=Da,Oa=Pa,Ea=Ia;function Ma(e,t){var o=Ea(e,t);return Oa(o)?o:void 0}var se=Ma,ja=se,ka=te,Ka=ja(ka,"Map"),rt=Ka,Na=se,Ba=Na(Object,"create"),Me=Ba,Xt=Me;function Va(){this.__data__=Xt?Xt(null):{},this.size=0}var La=Va;function qa(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var Ga=qa,za=Me,Ua="__lodash_hash_undefined__",Ha=Object.prototype,Wa=Ha.hasOwnProperty;function Ya(e){var t=this.__data__;if(za){var o=t[e];return o===Ua?void 0:o}return Wa.call(t,e)?t[e]:void 0}var Qa=Ya,Za=Me,Ja=Object.prototype,Xa=Ja.hasOwnProperty;function Ra(e){var t=this.__data__;return Za?t[e]!==void 0:Xa.call(t,e)}var es=Ra,ts=Me,os="__lodash_hash_undefined__";function ns(e,t){var o=this.__data__;return this.size+=this.has(e)?0:1,o[e]=ts&&t===void 0?os:t,this}var rs=ns,as=La,ss=Ga,is=Qa,cs=es,ls=rs;function ye(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])}}ye.prototype.clear=as,ye.prototype.delete=ss,ye.prototype.get=is,ye.prototype.has=cs,ye.prototype.set=ls;var us=ye,Rt=us,ps=Ee,ds=rt;function ms(){this.size=0,this.__data__={hash:new Rt,map:new(ds||ps),string:new Rt}}var fs=ms;function ys(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var gs=ys,vs=gs;function hs(e,t){var o=e.__data__;return vs(t)?o[typeof t=="string"?"string":"hash"]:o.map}var je=hs,Cs=je;function bs(e){var t=Cs(this,e).delete(e);return this.size-=t?1:0,t}var xs=bs,Ss=je;function As(e){return Ss(this,e).get(e)}var $s=As,Ts=je;function Fs(e){return Ts(this,e).has(e)}var ws=Fs,_s=je;function Ps(e,t){var o=_s(this,e),n=o.size;return o.set(e,t),this.size+=o.size==n?0:1,this}var Ds=Ps,Is=fs,Os=xs,Es=$s,Ms=ws,js=Ds;function ge(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])}}ge.prototype.clear=Is,ge.prototype.delete=Os,ge.prototype.get=Es,ge.prototype.has=Ms,ge.prototype.set=js;var eo=ge,ks=Ee,Ks=rt,Ns=eo,Bs=200;function Vs(e,t){var o=this.__data__;if(o instanceof ks){var n=o.__data__;if(!Ks||n.length<Bs-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 Ls=Vs,qs=Ee,Gs=Pr,zs=Ir,Us=Er,Hs=jr,Ws=Ls;function ve(e){var t=this.__data__=new qs(e);this.size=t.size}ve.prototype.clear=Gs,ve.prototype.delete=zs,ve.prototype.get=Us,ve.prototype.has=Hs,ve.prototype.set=Ws;var Ys=ve;function Qs(e,t){for(var o=-1,n=e==null?0:e.length;++o<n&&t(e[o],o,e)!==!1;);return e}var Zs=Qs,Js=se,Xs=function(){try{var e=Js(Object,"defineProperty");return e({},"",{}),e}catch(t){}}(),to=Xs,oo=to;function Rs(e,t,o){t=="__proto__"&&oo?oo(e,t,{configurable:!0,enumerable:!0,value:o,writable:!0}):e[t]=o}var no=Rs,ei=no,ti=Gt,oi=Object.prototype,ni=oi.hasOwnProperty;function ri(e,t,o){var n=e[t];(!(ni.call(e,t)&&ti(n,o))||o===void 0&&!(t in e))&&ei(e,t,o)}var at=ri,ai=at,si=no;function ii(e,t,o,n){var a=!o;o||(o={});for(var i=-1,c=t.length;++i<c;){var l=t[i],u=n?n(o[l],e[l],l,o,e):void 0;u===void 0&&(u=e[l]),a?si(o,l,u):ai(o,l,u)}return o}var Ae=ii;function ci(e,t){for(var o=-1,n=Array(e);++o<e;)n[o]=t(o);return n}var li=ci;function ui(e){return e!=null&&typeof e=="object"}var ie=ui,pi=me,di=ie,mi="[object Arguments]";function fi(e){return di(e)&&pi(e)==mi}var yi=fi,ro=yi,gi=ie,ao=Object.prototype,vi=ao.hasOwnProperty,hi=ao.propertyIsEnumerable,Ci=ro(function(){return arguments}())?ro:function(e){return gi(e)&&vi.call(e,"callee")&&!hi.call(e,"callee")},so=Ci,bi=Array.isArray,ce=bi,ke={exports:{}};function xi(){return!1}var Si=xi;ke.exports,function(e,t){var o=te,n=Si,a=t&&!t.nodeType&&t,i=a&&!0&&e&&!e.nodeType&&e,c=i&&i.exports===a,l=c?o.Buffer:void 0,u=l?l.isBuffer:void 0,p=u||n;e.exports=p}(ke,ke.exports);var io=ke.exports,Ai=9007199254740991,$i=/^(?:0|[1-9]\d*)$/;function Ti(e,t){var o=typeof e;return t=t==null?Ai:t,!!t&&(o=="number"||o!="symbol"&&$i.test(e))&&e>-1&&e%1==0&&e<t}var co=Ti,Fi=9007199254740991;function wi(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=Fi}var lo=wi,_i=me,Pi=lo,Di=ie,Ii="[object Arguments]",Oi="[object Array]",Ei="[object Boolean]",Mi="[object Date]",ji="[object Error]",ki="[object Function]",Ki="[object Map]",Ni="[object Number]",Bi="[object Object]",Vi="[object RegExp]",Li="[object Set]",qi="[object String]",Gi="[object WeakMap]",zi="[object ArrayBuffer]",Ui="[object DataView]",Hi="[object Float32Array]",Wi="[object Float64Array]",Yi="[object Int8Array]",Qi="[object Int16Array]",Zi="[object Int32Array]",Ji="[object Uint8Array]",Xi="[object Uint8ClampedArray]",Ri="[object Uint16Array]",ec="[object Uint32Array]",U={};U[Hi]=U[Wi]=U[Yi]=U[Qi]=U[Zi]=U[Ji]=U[Xi]=U[Ri]=U[ec]=!0,U[Ii]=U[Oi]=U[zi]=U[Ei]=U[Ui]=U[Mi]=U[ji]=U[ki]=U[Ki]=U[Ni]=U[Bi]=U[Vi]=U[Li]=U[qi]=U[Gi]=!1;function tc(e){return Di(e)&&Pi(e.length)&&!!U[_i(e)]}var oc=tc;function nc(e){return function(t){return e(t)}}var st=nc,Ke={exports:{}};Ke.exports,function(e,t){var o=zt,n=t&&!t.nodeType&&t,a=n&&!0&&e&&!e.nodeType&&e,i=a&&a.exports===n,c=i&&o.process,l=function(){try{var u=a&&a.require&&a.require("util").types;return u||c&&c.binding&&c.binding("util")}catch(p){}}();e.exports=l}(Ke,Ke.exports);var it=Ke.exports,rc=oc,ac=st,uo=it,po=uo&&uo.isTypedArray,sc=po?ac(po):rc,ic=sc,cc=li,lc=so,uc=ce,pc=io,dc=co,mc=ic,fc=Object.prototype,yc=fc.hasOwnProperty;function gc(e,t){var o=uc(e),n=!o&&lc(e),a=!o&&!n&&pc(e),i=!o&&!n&&!a&&mc(e),c=o||n||a||i,l=c?cc(e.length,String):[],u=l.length;for(var p in e)(t||yc.call(e,p))&&!(c&&(p=="length"||a&&(p=="offset"||p=="parent")||i&&(p=="buffer"||p=="byteLength"||p=="byteOffset")||dc(p,u)))&&l.push(p);return l}var mo=gc,vc=Object.prototype;function hc(e){var t=e&&e.constructor,o=typeof t=="function"&&t.prototype||vc;return e===o}var ct=hc;function Cc(e,t){return function(o){return e(t(o))}}var fo=Cc,bc=fo,xc=bc(Object.keys,Object),Sc=xc,Ac=ct,$c=Sc,Tc=Object.prototype,Fc=Tc.hasOwnProperty;function wc(e){if(!Ac(e))return $c(e);var t=[];for(var o in Object(e))Fc.call(e,o)&&o!="constructor"&&t.push(o);return t}var _c=wc,Pc=Qt,Dc=lo;function Ic(e){return e!=null&&Dc(e.length)&&!Pc(e)}var yo=Ic,Oc=mo,Ec=_c,Mc=yo;function jc(e){return Mc(e)?Oc(e):Ec(e)}var lt=jc,kc=Ae,Kc=lt;function Nc(e,t){return e&&kc(t,Kc(t),e)}var Bc=Nc;function Vc(e){var t=[];if(e!=null)for(var o in Object(e))t.push(o);return t}var Lc=Vc,qc=fe,Gc=ct,zc=Lc,Uc=Object.prototype,Hc=Uc.hasOwnProperty;function Wc(e){if(!qc(e))return zc(e);var t=Gc(e),o=[];for(var n in e)n=="constructor"&&(t||!Hc.call(e,n))||o.push(n);return o}var Yc=Wc,Qc=mo,Zc=Yc,Jc=yo;function Xc(e){return Jc(e)?Qc(e,!0):Zc(e)}var ut=Xc,Rc=Ae,el=ut;function tl(e,t){return e&&Rc(t,el(t),e)}var ol=tl,Ne={exports:{}};Ne.exports,function(e,t){var o=te,n=t&&!t.nodeType&&t,a=n&&!0&&e&&!e.nodeType&&e,i=a&&a.exports===n,c=i?o.Buffer:void 0,l=c?c.allocUnsafe:void 0;function u(p,m){if(m)return p.slice();var g=p.length,v=l?l(g):new p.constructor(g);return p.copy(v),v}e.exports=u}(Ne,Ne.exports);var nl=Ne.exports;function rl(e,t){var o=-1,n=e.length;for(t||(t=Array(n));++o<n;)t[o]=e[o];return t}var al=rl;function sl(e,t){for(var o=-1,n=e==null?0:e.length,a=0,i=[];++o<n;){var c=e[o];t(c,o,e)&&(i[a++]=c)}return i}var il=sl;function cl(){return[]}var go=cl,ll=il,ul=go,pl=Object.prototype,dl=pl.propertyIsEnumerable,vo=Object.getOwnPropertySymbols,ml=vo?function(e){return e==null?[]:(e=Object(e),ll(vo(e),function(t){return dl.call(e,t)}))}:ul,pt=ml,fl=Ae,yl=pt;function gl(e,t){return fl(e,yl(e),t)}var vl=gl;function hl(e,t){for(var o=-1,n=t.length,a=e.length;++o<n;)e[a+o]=t[o];return e}var dt=hl,Cl=fo,bl=Cl(Object.getPrototypeOf,Object),mt=bl,xl=dt,Sl=mt,Al=pt,$l=go,Tl=Object.getOwnPropertySymbols,Fl=Tl?function(e){for(var t=[];e;)xl(t,Al(e)),e=Sl(e);return t}:$l,ho=Fl,wl=Ae,_l=ho;function Pl(e,t){return wl(e,_l(e),t)}var Dl=Pl,Il=dt,Ol=ce;function El(e,t,o){var n=t(e);return Ol(e)?n:Il(n,o(e))}var Co=El,Ml=Co,jl=pt,kl=lt;function Kl(e){return Ml(e,kl,jl)}var Nl=Kl,Bl=Co,Vl=ho,Ll=ut;function ql(e){return Bl(e,Ll,Vl)}var bo=ql,Gl=se,zl=te,Ul=Gl(zl,"DataView"),Hl=Ul,Wl=se,Yl=te,Ql=Wl(Yl,"Promise"),Zl=Ql,Jl=se,Xl=te,Rl=Jl(Xl,"Set"),eu=Rl,tu=se,ou=te,nu=tu(ou,"WeakMap"),ru=nu,ft=Hl,yt=rt,gt=Zl,vt=eu,ht=ru,xo=me,he=Jt,So="[object Map]",au="[object Object]",Ao="[object Promise]",$o="[object Set]",To="[object WeakMap]",Fo="[object DataView]",su=he(ft),iu=he(yt),cu=he(gt),lu=he(vt),uu=he(ht),le=xo;(ft&&le(new ft(new ArrayBuffer(1)))!=Fo||yt&&le(new yt)!=So||gt&&le(gt.resolve())!=Ao||vt&&le(new vt)!=$o||ht&&le(new ht)!=To)&&(le=function(e){var t=xo(e),o=t==au?e.constructor:void 0,n=o?he(o):"";if(n)switch(n){case su:return Fo;case iu:return So;case cu:return Ao;case lu:return $o;case uu:return To}return t});var Ct=le,pu=Object.prototype,du=pu.hasOwnProperty;function mu(e){var t=e.length,o=new e.constructor(t);return t&&typeof e[0]=="string"&&du.call(e,"index")&&(o.index=e.index,o.input=e.input),o}var fu=mu,yu=te,gu=yu.Uint8Array,vu=gu,wo=vu;function hu(e){var t=new e.constructor(e.byteLength);return new wo(t).set(new wo(e)),t}var bt=hu,Cu=bt;function bu(e,t){var o=t?Cu(e.buffer):e.buffer;return new e.constructor(o,e.byteOffset,e.byteLength)}var xu=bu,Su=/\w*$/;function Au(e){var t=new e.constructor(e.source,Su.exec(e));return t.lastIndex=e.lastIndex,t}var $u=Au,_o=xe,Po=_o?_o.prototype:void 0,Do=Po?Po.valueOf:void 0;function Tu(e){return Do?Object(Do.call(e)):{}}var Fu=Tu,wu=bt;function _u(e,t){var o=t?wu(e.buffer):e.buffer;return new e.constructor(o,e.byteOffset,e.length)}var Pu=_u,Du=bt,Iu=xu,Ou=$u,Eu=Fu,Mu=Pu,ju="[object Boolean]",ku="[object Date]",Ku="[object Map]",Nu="[object Number]",Bu="[object RegExp]",Vu="[object Set]",Lu="[object String]",qu="[object Symbol]",Gu="[object ArrayBuffer]",zu="[object DataView]",Uu="[object Float32Array]",Hu="[object Float64Array]",Wu="[object Int8Array]",Yu="[object Int16Array]",Qu="[object Int32Array]",Zu="[object Uint8Array]",Ju="[object Uint8ClampedArray]",Xu="[object Uint16Array]",Ru="[object Uint32Array]";function ep(e,t,o){var n=e.constructor;switch(t){case Gu:return Du(e);case ju:case ku:return new n(+e);case zu:return Iu(e,o);case Uu:case Hu:case Wu:case Yu:case Qu:case Zu:case Ju:case Xu:case Ru:return Mu(e,o);case Ku:return new n;case Nu:case Lu:return new n(e);case Bu:return Ou(e);case Vu:return new n;case qu:return Eu(e)}}var tp=ep,op=fe,Io=Object.create,np=function(){function e(){}return function(t){if(!op(t))return{};if(Io)return Io(t);e.prototype=t;var o=new e;return e.prototype=void 0,o}}(),rp=np,ap=rp,sp=mt,ip=ct;function cp(e){return typeof e.constructor=="function"&&!ip(e)?ap(sp(e)):{}}var lp=cp,up=Ct,pp=ie,dp="[object Map]";function mp(e){return pp(e)&&up(e)==dp}var fp=mp,yp=fp,gp=st,Oo=it,Eo=Oo&&Oo.isMap,vp=Eo?gp(Eo):yp,hp=vp,Cp=Ct,bp=ie,xp="[object Set]";function Sp(e){return bp(e)&&Cp(e)==xp}var Ap=Sp,$p=Ap,Tp=st,Mo=it,jo=Mo&&Mo.isSet,Fp=jo?Tp(jo):$p,wp=Fp,_p=Ys,Pp=Zs,Dp=at,Ip=Bc,Op=ol,Ep=nl,Mp=al,jp=vl,kp=Dl,Kp=Nl,Np=bo,Bp=Ct,Vp=fu,Lp=tp,qp=lp,Gp=ce,zp=io,Up=hp,Hp=fe,Wp=wp,Yp=lt,Qp=ut,Zp=1,Jp=2,Xp=4,ko="[object Arguments]",Rp="[object Array]",ed="[object Boolean]",td="[object Date]",od="[object Error]",Ko="[object Function]",nd="[object GeneratorFunction]",rd="[object Map]",ad="[object Number]",No="[object Object]",sd="[object RegExp]",id="[object Set]",cd="[object String]",ld="[object Symbol]",ud="[object WeakMap]",pd="[object ArrayBuffer]",dd="[object DataView]",md="[object Float32Array]",fd="[object Float64Array]",yd="[object Int8Array]",gd="[object Int16Array]",vd="[object Int32Array]",hd="[object Uint8Array]",Cd="[object Uint8ClampedArray]",bd="[object Uint16Array]",xd="[object Uint32Array]",z={};z[ko]=z[Rp]=z[pd]=z[dd]=z[ed]=z[td]=z[md]=z[fd]=z[yd]=z[gd]=z[vd]=z[rd]=z[ad]=z[No]=z[sd]=z[id]=z[cd]=z[ld]=z[hd]=z[Cd]=z[bd]=z[xd]=!0,z[od]=z[Ko]=z[ud]=!1;function Be(e,t,o,n,a,i){var c,l=t&Zp,u=t&Jp,p=t&Xp;if(o&&(c=a?o(e,n,a,i):o(e)),c!==void 0)return c;if(!Hp(e))return e;var m=Gp(e);if(m){if(c=Vp(e),!l)return Mp(e,c)}else{var g=Bp(e),v=g==Ko||g==nd;if(zp(e))return Ep(e,l);if(g==No||g==ko||v&&!a){if(c=u||v?{}:qp(e),!l)return u?kp(e,Op(c,e)):jp(e,Ip(c,e))}else{if(!z[g])return a?e:{};c=Lp(e,g,l)}}i||(i=new _p);var A=i.get(e);if(A)return A;i.set(e,c),Wp(e)?e.forEach(function(C){c.add(Be(C,t,o,C,e,i))}):Up(e)&&e.forEach(function(C,h){c.set(h,Be(C,t,o,h,e,i))});var _=p?u?Np:Kp:u?Qp:Yp,b=m?void 0:_(e);return Pp(b||e,function(C,h){b&&(h=C,C=e[h]),Dp(c,h,Be(C,t,o,h,e,i))}),c}var Bo=Be,Sd=Bo,Ad=1,$d=4;function Td(e){return Sd(e,Ad|$d)}var Fd=Td;const ne=be(Fd);function wd(e,t){for(var o=-1,n=e==null?0:e.length,a=Array(n);++o<n;)a[o]=t(e[o],o,e);return a}var Vo=wd,_d=me,Pd=ie,Dd="[object Symbol]";function Id(e){return typeof e=="symbol"||Pd(e)&&_d(e)==Dd}var xt=Id,Od=ce,Ed=xt,Md=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,jd=/^\w*$/;function kd(e,t){if(Od(e))return!1;var o=typeof e;return o=="number"||o=="symbol"||o=="boolean"||e==null||Ed(e)?!0:jd.test(e)||!Md.test(e)||t!=null&&e in Object(t)}var Kd=kd,Lo=eo,Nd="Expected a function";function St(e,t){if(typeof e!="function"||t!=null&&typeof t!="function")throw new TypeError(Nd);var o=function(){var n=arguments,a=t?t.apply(this,n):n[0],i=o.cache;if(i.has(a))return i.get(a);var c=e.apply(this,n);return o.cache=i.set(a,c)||i,c};return o.cache=new(St.Cache||Lo),o}St.Cache=Lo;var Bd=St,Vd=Bd,Ld=500;function qd(e){var t=Vd(e,function(n){return o.size===Ld&&o.clear(),n}),o=t.cache;return t}var Gd=qd,zd=Gd,Ud=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Hd=/\\(\\)?/g,Wd=zd(function(e){var t=[];return e.charCodeAt(0)===46&&t.push(""),e.replace(Ud,function(o,n,a,i){t.push(a?i.replace(Hd,"$1"):n||o)}),t}),Yd=Wd,qo=xe,Qd=Vo,Zd=ce,Jd=xt,Xd=1/0,Go=qo?qo.prototype:void 0,zo=Go?Go.toString:void 0;function Uo(e){if(typeof e=="string")return e;if(Zd(e))return Qd(e,Uo)+"";if(Jd(e))return zo?zo.call(e):"";var t=e+"";return t=="0"&&1/e==-Xd?"-0":t}var Rd=Uo,em=Rd;function tm(e){return e==null?"":em(e)}var om=tm,nm=ce,rm=Kd,am=Yd,sm=om;function im(e,t){return nm(e)?e:rm(e,t)?[e]:am(sm(e))}var Ve=im;function cm(e){var t=e==null?0:e.length;return t?e[t-1]:void 0}var lm=cm,um=xt,pm=1/0;function dm(e){if(typeof e=="string"||um(e))return e;var t=e+"";return t=="0"&&1/e==-pm?"-0":t}var At=dm,mm=Ve,fm=At;function ym(e,t){t=mm(t,e);for(var o=0,n=t.length;e!=null&&o<n;)e=e[fm(t[o++])];return o&&o==n?e:void 0}var gm=ym;function vm(e,t,o){var n=-1,a=e.length;t<0&&(t=-t>a?0:a+t),o=o>a?a:o,o<0&&(o+=a),a=t>o?0:o-t>>>0,t>>>=0;for(var i=Array(a);++n<a;)i[n]=e[n+t];return i}var hm=vm,Cm=gm,bm=hm;function xm(e,t){return t.length<2?e:Cm(e,bm(t,0,-1))}var Sm=xm,Am=Ve,$m=lm,Tm=Sm,Fm=At;function wm(e,t){return t=Am(t,e),e=Tm(e,t),e==null||delete e[Fm($m(t))]}var _m=wm,Pm=me,Dm=mt,Im=ie,Om="[object Object]",Em=Function.prototype,Mm=Object.prototype,Ho=Em.toString,jm=Mm.hasOwnProperty,km=Ho.call(Object);function Km(e){if(!Im(e)||Pm(e)!=Om)return!1;var t=Dm(e);if(t===null)return!0;var o=jm.call(t,"constructor")&&t.constructor;return typeof o=="function"&&o instanceof o&&Ho.call(o)==km}var Nm=Km,Bm=Nm;function Vm(e){return Bm(e)?void 0:e}var Lm=Vm,Wo=xe,qm=so,Gm=ce,Yo=Wo?Wo.isConcatSpreadable:void 0;function zm(e){return Gm(e)||qm(e)||!!(Yo&&e&&e[Yo])}var Um=zm,Hm=dt,Wm=Um;function Qo(e,t,o,n,a){var i=-1,c=e.length;for(o||(o=Wm),a||(a=[]);++i<c;){var l=e[i];t>0&&o(l)?t>1?Qo(l,t-1,o,n,a):Hm(a,l):n||(a[a.length]=l)}return a}var Ym=Qo,Qm=Ym;function Zm(e){var t=e==null?0:e.length;return t?Qm(e,1):[]}var Jm=Zm;function Xm(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 Rm=Xm,ef=Rm,Zo=Math.max;function tf(e,t,o){return t=Zo(t===void 0?e.length-1:t,0),function(){for(var n=arguments,a=-1,i=Zo(n.length-t,0),c=Array(i);++a<i;)c[a]=n[t+a];a=-1;for(var l=Array(t+1);++a<t;)l[a]=n[a];return l[t]=o(c),ef(e,this,l)}}var of=tf;function nf(e){return function(){return e}}var rf=nf;function af(e){return e}var sf=af,cf=rf,Jo=to,lf=sf,uf=Jo?function(e,t){return Jo(e,"toString",{configurable:!0,enumerable:!1,value:cf(t),writable:!0})}:lf,pf=uf,df=800,mf=16,ff=Date.now;function yf(e){var t=0,o=0;return function(){var n=ff(),a=mf-(n-o);if(o=n,a>0){if(++t>=df)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}var gf=yf,vf=pf,hf=gf,Cf=hf(vf),bf=Cf,xf=Jm,Sf=of,Af=bf;function $f(e){return Af(Sf(e,void 0,xf),e+"")}var Tf=$f,Ff=Vo,wf=Bo,_f=_m,Pf=Ve,Df=Ae,If=Lm,Of=Tf,Ef=bo,Mf=1,jf=2,kf=4,Kf=Of(function(e,t){var o={};if(e==null)return o;var n=!1;t=Ff(t,function(i){return i=Pf(i,e),n||(n=i.length>1),i}),Df(e,Ef(e),o),n&&(o=wf(o,Mf|jf|kf,If));for(var a=t.length;a--;)_f(o,t[a]);return o}),Nf=Kf;const Le=be(Nf);var Bf=at,Vf=Ve,Lf=co,Xo=fe,qf=At;function Gf(e,t,o,n){if(!Xo(e))return e;t=Vf(t,e);for(var a=-1,i=t.length,c=i-1,l=e;l!=null&&++a<i;){var u=qf(t[a]),p=o;if(u==="__proto__"||u==="constructor"||u==="prototype")return e;if(a!=c){var m=l[u];p=n?n(m,u,l):void 0,p===void 0&&(p=Xo(m)?m:Lf(t[a+1])?[]:{})}Bf(l,u,p),l=l[u]}return e}var zf=Gf,Uf=zf;function Hf(e,t,o){return e==null?e:Uf(e,t,o)}var Wf=Hf;const Ro=be(Wf),Yf=({schema:e,record:t,parentRecord:o,compile:n,getContainer:a})=>{if(!e)return;const i=ne(e.properties);return i!=null&&i.name&&(i.name["x-disabled"]=!0),e.hasDefaultValue===!0&&(i.defaultValue=ne(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:{[L.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:ne(Le(e.default,["uiSchema.rawTitle"]))}),c)}},title:`${n((o==null?void 0:o.title)||(o==null?void 0:o.name))} - ${n('{{ t("Edit field") }}')}`,properties:j(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 }}"}}}}})}}}},Qf=()=>{const e=$.useForm(),t=r.useAPIClient(),o=r.useActionContext(),{refresh:n}=r.useResourceActionContext(),{targetCollection:a}=Tt(),{name:i}=W.useParams(),{name:c}=r.useRecord(),l=r.useDataSourceManager();return{run(){return D(this,null,function*(){yield e.submit();const p=ne(e.values);p.autoCreateReverseField||delete p.reverseField,delete p.autoCreateReverseField,yield t.request({url:`dataSourcesCollections/${i}.${a.name}/fields:update?filterByTk=${c}`,method:"post",data:p}),o.setVisible(!1),l.getDataSource(i).reload(),yield e.reset(),n()})}}},Zf=e=>{const t=r.useRecord(),o=r.useCollectionParentRecordData();return s.jsx(Jf,T({item:t,parentItem:o},e))},Jf=e=>{const M=e,{scope:t,getContainer:o,item:n,parentItem:a,children:i}=M,c=et(M,["scope","getContainer","item","parentItem","children"]),{getInterface:l,collections:u,getCollection:p}=r.useCollectionManager_deprecated(),{data:{database:m}}=r.useCurrentAppInfo(),[g,v]=d.useState(!1),[A,_]=d.useState({}),b=r.useAPIClient(),{t:C}=V.useTranslation(),h=r.useCompile(),{name:y}=W.useParams(),f=w=>(m==null?void 0:m.dialect)===w,x=d.useMemo(()=>u.map(w=>({label:h(w.title),value:w.name})),[]),E=d.useMemo(()=>{var w,N;return(n==null?void 0:n.fields)||((N=(w=p(n.collectionName,y))==null?void 0:w.options)==null?void 0:N.fields.filter(F=>F.interface==="select").map(F=>{var P;return{value:F.name,label:h((P=F.uiSchema)==null?void 0:P.title)}}))},[n.name]);return s.jsx(r.RecordProvider,{record:n,parent:a,children:s.jsxs(r.ActionContextProvider,{value:{visible:g,setVisible:v},children:[s.jsx("a",j(T({},c),{onClick:()=>D(this,null,function*(){var k,B,Q;const{data:w}=yield b.request({url:`dataSourcesCollections/${y}.${a.name}/fields:get?filterByTk=${n.name}`,params:{appends:["reverseField"]}}),N=l((k=w==null?void 0:w.data)==null?void 0:k.interface),F=ne(w==null?void 0:w.data)||{};F!=null&&F.reverseField||(F.autoCreateReverseField=!1,F.reverseField=(B=N==null?void 0:N.default)==null?void 0:B.reverseField,Ro(F.reverseField,"name",`f_${L.uid()}`),Ro(F.reverseField,"uiSchema.title",(Q=n.__parent)==null?void 0:Q.title));const P=Yf({schema:j(T({},N),{default:F}),record:n,parentRecord:a,compile:h,getContainer:o});_(P),v(!0)}),children:i||C("Edit")})),s.jsx(r.SchemaComponent,{schema:A,components:{ArrayTable:pe.ArrayTable},scope:j(T({getContainer:o,useUpdateCollectionField:Qf,useCancelAction:r.useCancelAction,showReverseFieldConfig:!1,collections:x,isDialect:f,scopeKeyOptions:E,disabledJSONB:!0},t),{createOnly:!1,createMainOnly:!1})})]})})},Xf=$.observer(e=>{const{value:t,handleFieldChange:o,onChange:n}=e,a=r.useRecord(),i=a;return i!=null&&i.possibleTypes?s.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(j(T({},i),{type:c}),a.name)}}):s.jsx(S.Tag,{children:t})},{displayName:"FieldType"}),Rf=()=>{const{t:e}=V.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})]})},$t=d.createContext({refreshRM:()=>{},titleField:null,targetCollection:null});$t.displayName="RemoteCollectionContext";const Tt=()=>d.useContext($t),en=()=>{const e=$.useField(),t=d.useMemo(()=>ue.createForm(),[]),o=r.useAttach(t.createArrayField(j(T({},e.props),{basePath:""}))),{t:n}=V.useTranslation(),{name:a}=W.useParams(),i=r.useAPIClient(),c=r.useCompile(),l=d.useContext(r.ResourceActionContext),u=r.useResourceContext(),{targetKey:p}=u||{},m=r.useRecord(),{[p]:g,titleField:v,name:A}=m,[_,b]=d.useState(v),C=M=>{const w=d.useContext(r.ResourceActionContext),N=$.useField();return d.useEffect(()=>{w.loading||(M==null||M.onSuccess(w.data),N.componentProps.dragSort=!!w.dragSort)},[w.loading]),w},h={association:{sourceKey:"name",targetKey:"name"},dragSort:!1,collection:Vn,request:{url:`dataSourcesCollections/${a}.${A}/fields:list`,params:{paginate:!1,filter:{$or:[{"interface.$not":null},{"options.source.$notEmpty":!0}]},sort:["sort"]}}},y=r.useDataSourceManager(),f=(M,w)=>D(this,null,function*(){yield i.request({url:`dataSourcesCollections/${a}.${A}/fields:update?filterByTk=${w}`,method:"post",data:M}),y.getDataSource(a).reload(),S.message.success(n("Saved successfully"))}),x=()=>({filterByTk:g,titleField:_,dataSourceKey:a,setTitleField:b}),E=(M,w,N)=>D(this,null,function*(){var Q,H;const{targetScope:F}=w,P=((Q=M.props)==null?void 0:Q.name)==="inherits",{data:k}=yield i.request({url:`dataSources/${a}/collections:list`,params:{paginate:!1,appends:["fields"],sort:["sort"]}});return((H=k==null?void 0:k.data)==null?void 0:H.filter(I=>{var re;if(N!=null&&N.includes(I.template)||I.autoCreate&&I.isThrough||P&&I.template==="view")return!1;const G=!(F!=null&&F.template)||F.template.includes(I.template),oe=!(F!=null&&F[(re=M.props)==null?void 0:re.name])||F[M.props.name].includes(I.name);return G&&oe})).map(I=>({label:c(I.title||I.name),value:I.name}))});return s.jsxs($t.Provider,{value:{refreshRM:()=>{l.refresh()},titleField:_,targetCollection:m},children:[s.jsx(r.ResourceActionProvider,j(T({},h),{children:s.jsx($.FormContext.Provider,{value:t,children:s.jsx($.FieldContext.Provider,{value:o,children:s.jsx(r.SchemaComponentOptions,{components:{TitleField:qn,CollectionFieldInterfaceSelect:Gn,AddCollectionField:Zn,SourceCollection:Hn,TargetKey:Un,SourceKey:zn,FieldTitleInput:Xn,EditCollectionField:Zf,Select:r.Select,FieldType:Xf,ForeignKey:qt,ThroughCollection:Wn},inherit:!0,scope:{useDataSource:C,useTitleFieldProps:x,handleFieldChange:f,useDestroyActionAndRefreshCM:or,useBulkDestroyActionAndRefreshCM:tr,loadCollections:E},children:s.jsx($.RecursionField,{schema:Ln,onlyRenderProperties:!0})})})})})),s.jsx(Rf,{})]})},ey=(e,t,o,n)=>{if(!e)return;const a=ne(e.configurableProperties)||{title:{"x-component":"CollectionField","x-decorator":"FormItem"},name:{"x-component":"CollectionField","x-decorator":"FormItem"}};return e.hasDefaultValue===!0&&(a.defaultValue=ne(e.default.uiSchema),a.defaultValue.title=o('{{ t("Default value") }}'),a.defaultValue["x-decorator"]="FormItem"),{type:"object",properties:{[L.uid()]:{type:"void","x-component":"Action.Drawer","x-decorator":"Form","x-decorator-props":{useValues:"{{ useValuesFromRecord }}"},title:'{{ t("Edit collection") }}',properties:j(T({},Le(a,"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 }}"}}}}})}}}},ty=e=>{const t=r.useRecord(),o=r.useRequest(()=>{var a;return Promise.resolve({data:j(T({},Le(ne(t),["__parent","__collectionName"])),{category:(a=t==null?void 0:t.category)==null?void 0:a.map(i=>i.id)})})},j(T({},e),{manual:!0})),n=r.useActionContext();return d.useEffect(()=>{n.visible&&o.run()},[n.visible]),o},oy=e=>{const{refreshCM:t}=r.useCollectionManager_deprecated(),o=$.useForm(),n=r.useActionContext(),{name:a}=W.useParams(),{refresh:i}=r.useResourceActionContext(),{resource:c,targetKey:l}=r.useResourceContext(),{[l]:u}=r.useRecord(),p=r.useAPIClient(),m=r.useDataSourceManager();return{run(){return D(this,null,function*(){yield o.submit(),yield p.request({url:`dataSources/${a}/collections:update?filterByTk=${u}`,method:"post",data:T({},Le(o.values,["fields","autoGenId","createdAt","updatedAt","createdBy","updatedBy","sortable"]))}),yield m.getDataSource(a).reload(),n.setVisible(!1),yield o.reset(),i(),yield t()})}}},ny=e=>{const t=r.useRecord();return s.jsx(ry,T({item:t},e))},ry=e=>{var b;const _=e,{scope:t,getContainer:o,item:n,children:a}=_,i=et(_,["scope","getContainer","item","children"]),{getTemplate:c}=r.useCollectionManager_deprecated(),[l,u]=d.useState(!1),[p,m]=d.useState({}),{t:g}=V.useTranslation(),v=r.useCompile(),A=(b=n.fields)==null?void 0:b.map(C=>{var h;return{label:(h=C.uiSchema)!=null&&h.title?v(C.uiSchema.title):C.name,value:C.name}});return s.jsx(r.RecordProvider,{record:n,children:s.jsxs(r.ActionContextProvider,{value:{visible:l,setVisible:u},children:[s.jsx("a",j(T({},i),{onClick:()=>D(this,null,function*(){const C=c(n.template),h=ey(T({},C),n,v);m(h),u(!0)}),children:a||g("Edit")})),s.jsx(r.SchemaComponent,{schema:p,components:{ArrayTable:pe.ArrayTable},scope:T({getContainer:o,useValuesFromRecord:ty,useUpdateCollectionActionAndRefreshCM:oy,useCancelAction:r.useCancelAction,createOnly:!1,filterTargetKeyOptions:A,isView:n.view},t)})]})})},ay=(e,t)=>(o,n)=>{o.loading=!0,e(o,n,t).then(tt.action.bound(a=>{o.dataSource=a,o.loading=!1})).catch(a=>console.log(a))},sy=()=>{const[e,t]=d.useState([]);return[e,t]},iy=()=>{const e=r.useRecord(),t=$.useForm();return{run(){return D(this,null,function*(){var a,i,c;const n=(c=(i=(a=t.values)==null?void 0:a.children)==null?void 0:i.slice)==null?void 0:c.call(i);t.setValuesIn("children",n.filter(l=>l.name!==e.name))})}}},cy=()=>({run(){return D(this,null,function*(){})}}),ly=e=>`${e||""}${L.uid()}`,uy=()=>{const{t:e}=V.useTranslation(),{interfaces:t}=r.useCollectionManager_deprecated(),{data:{database:o}}=r.useCurrentAppInfo(),n=r.useDataSourceManager(),a=d.useContext(r.SchemaComponentContext),{name:i}=W.useParams(),c=d.useContext(r.CollectionCategroriesContext),l=r.useAPIClient(),u=l.resource("dbViews"),p=r.useCompile(),m=()=>D(this,null,function*(){return c.data.map(b=>({label:p(b.name),value:b.id}))}),g=()=>D(this,null,function*(){return u.list().then(({data:b})=>{var C;return(C=b==null?void 0:b.data)==null?void 0:C.map(h=>{const y=h.schema;return{label:y?`${y}.${p(h.name)}`:h.name,value:y?`${y}_${h.name}`:h.name}})})}),v=()=>D(this,null,function*(){return l.resource("storages").list().then(({data:b})=>{var C;return(C=b==null?void 0:b.data)==null?void 0:C.map(h=>({label:e(p(h.title)),value:h.name}))})}),A=()=>{const b=d.useContext(r.ResourceActionContext),C=r.useAPIClient(),h=$.useField(),{name:y}=W.useParams();h.data=h.data||{};const{setDataSource:f,dataSource:x}=d.useContext(Pe);return{onClick(){return D(this,null,function*(){var M,w,N;h.data.loading=!0;try{const{data:F}=yield C.request({url:`dataSources:refresh?filterByTk=${y}&clientStatus=${(x==null?void 0:x.status)||"loaded"}`,method:"post"});h.data.loading=!1,f(F==null?void 0:F.data),((M=F==null?void 0:F.data)==null?void 0:M.status)==="reloading"?S.message.warning(e("Data source synchronization in progress")):((w=F==null?void 0:F.data)==null?void 0:w.status)==="loaded"&&(S.message.success(e("Data source synchronization successful")),(N=b==null?void 0:b.refresh)==null||N.call(b)),yield n.getDataSource(y).reload()}catch(F){h.data.loading=!1}})}}},_=d.useMemo(()=>Bn(i),[i]);return s.jsx(r.SchemaComponentContext.Provider,{value:j(T({},a),{designable:!1}),children:s.jsx(r.SchemaComponent,{schema:_,components:{EditCollection:ny,AddSubFieldAction:r.AddSubFieldAction,EditSubFieldAction:r.EditSubFieldAction,FieldSummary:r.FieldSummary,TemplateSummay:r.TemplateSummary,CollectionFields:en},scope:{useRefreshActionProps:A,useDestroySubField:iy,useBulkDestroySubField:cy,useSelectedRowKeys:sy,useAsyncDataSource:ay,loadCategories:m,loadDBViews:g,loadStorages:v,useNewId:ly,useCancelAction:r.useCancelAction,interfaces:t,enableInherits:(o==null?void 0:o.dialect)==="postgres",isPG:(o==null?void 0:o.dialect)==="postgres"}})})};var tn={exports:{}};/*!
1
+ (function(E,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):(E=typeof globalThis!="undefined"?globalThis:E||self,s(E["@nocobase/plugin-data-source-manager"]={},E.jsxRuntime,E["@nocobase/client"],E.react,E["@formily/react"],E.antd,E["react-i18next"],E["@ant-design/icons"],E["react-router-dom"],E["@formily/shared"],E["@formily/reactive"],E["@formily/core"],E["@formily/antd-v5"],E.lodash,E["@dnd-kit/core"],E["@emotion/css"],E["antd-style"]))})(this,function(E,s,r,d,A,x,V,ee,W,L,tt,ue,pe,J,R,ae,On){"use strict";var rv=Object.defineProperty,av=Object.defineProperties;var sv=Object.getOwnPropertyDescriptors;var Re=Object.getOwnPropertySymbols;var Pn=Object.prototype.hasOwnProperty,Dn=Object.prototype.propertyIsEnumerable;var Mt=(E,s,r)=>s in E?rv(E,s,{enumerable:!0,configurable:!0,writable:!0,value:r}):E[s]=r,$=(E,s)=>{for(var r in s||(s={}))Pn.call(s,r)&&Mt(E,r,s[r]);if(Re)for(var r of Re(s))Dn.call(s,r)&&Mt(E,r,s[r]);return E},j=(E,s)=>av(E,sv(s));var et=(E,s)=>{var r={};for(var d in E)Pn.call(E,d)&&s.indexOf(d)<0&&(r[d]=E[d]);if(E!=null&&Re)for(var d of Re(E))s.indexOf(d)<0&&Dn.call(E,d)&&(r[d]=E[d]);return r};var In=(E,s,r)=>(Mt(E,typeof s!="symbol"?s+"":s,r),r);var I=(E,s,r)=>new Promise((d,A)=>{var x=W=>{try{ee(r.next(W))}catch(L){A(L)}},V=W=>{try{ee(r.throw(W))}catch(L){A(L)}},ee=W=>W.done?d(W.value):Promise.resolve(W.value).then(x,V);ee((r=r.apply(E,s)).next())});const k="data-source-manager";function En(e,t={}){return r.i18n.t(e,j($({},t),{ns:k}))}const Mn=e=>{const t=A.useForm(),o=r.useActionContext(),n=r.useAPIClient(),{t:a}=V.useTranslation(),i=A.useField();return i.data=i.data||{},{run(){return I(this,null,function*(){yield t.submit();try{i.data.loading=!0;const{data:l}=yield n.resource("databaseServers").create({values:$({},t.values)});i.data.loading=!1,o.setVisible(!1),yield t.reset(),e==null||e(l==null?void 0:l.data),x.message.success(a("Saved successfully"))}catch(l){i.data.loading=!1,console.log(l)}})}}},jt=()=>{const e=A.useForm(),t=r.useAPIClient(),{t:o}=V.useTranslation(),n=A.useField();return n.data=n.data||{},{run(){return I(this,null,function*(){yield e.submit();try{n.data.loading=!0,yield t.resource("dataSources").testConnection({values:$({},e.values)}),n.data.loading=!1,x.message.success(o("Connection successful",{ns:k}))}catch(i){n.data.loading=!1,console.log(i)}})}}},jn=Object.freeze(Object.defineProperty({__proto__:null,useCreateDatabaseServer:Mn,useTestConnectionAction:jt},Symbol.toStringTag,{value:"Module"})),Pe=d.createContext(null);Pe.displayName="DataSourceContext";const Kn=e=>{const[t,o]=d.useState(null);return s.jsx(Pe.Provider,{value:{dataSource:t,setDataSource:o},children:s.jsx(r.SchemaComponentOptions,{scope:jn,components:{},children:e.children})})};class Kt extends r.DataSource{getDataSource(){return I(this,null,function*(){return(yield this.app.apiClient.request({url:`dataSources:get/${this.key}`,params:{appends:["collections"]}})).data.data})}}const kt=[{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"}],Nt={name:"collections-"+L.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:kt}},{type:"boolean",name:"enabled",uiSchema:{type:"boolean",title:'{{t("Enabled")}}',"x-component":"Checkbox"}}]},kn={type:"object",properties:{[L.uid()]:{type:"void","x-decorator":"ResourceActionProvider","x-decorator-props":{collection:Nt,resourceName:"dataSources",request:{resource:"dataSources",action:"list",params:{pageSize:50,appends:[]}}},"x-component":"CollectionProvider_deprecated","x-component-props":{collection:Nt},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)}}"]}}}}}}}}}}},Bt=()=>{const e=r.useApp(),{name:t}=W.useParams(),o=r.useCompile(),n=r.useDataSourceManager(),{displayName:a}=n.getDataSource(t)||{},{dataSource:i}=d.useContext(Pe),c=d.useMemo(()=>i||n.getDataSource(t),[i,t]),l=d.useMemo(()=>{const u=c==null?void 0:c.status,p=kt.find(v=>v.value===u),m=[{title:s.jsx(W.Link,{to:e.pluginSettingsManager.getRoutePath(k),children:En("Data source manager")})}];return c&&m.push({title:s.jsxs(x.Space,{children:[s.jsx("span",{children:o(a)}),u&&s.jsx(x.Tag,{color:p==null?void 0:p.color,children:o(p==null?void 0:p.label)},u)]})}),m},[c]);return s.jsx(x.Breadcrumb,{separator:s.jsx(ee.RightOutlined,{}),items:l})},Vt=e=>A.Schema.compile(e,{t:r.i18n.t}),Nn={name:"database-"+L.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"}}]},Bn=e=>({type:"object",properties:{[L.uid()]:{type:"void","x-collection":"dataSources","x-decorator":"ResourceActionProvider","x-decorator-props":{collection:Nn,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"}}}}}),ot={type:"object",properties:{[L.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}}},[L.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}=V.useTranslation();return{move(n,a){return I(this,null,function*(){yield e.resource("dataSources").move({sourceId:n.key,targetId:a.key}),x.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=`${Vt(n.title||n.name)} - ${Vt('{{ 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"}}}}}}}}}},Vn={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"}}]},Ln={type:"object",properties:{[L.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"}}}},[L.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:"{{handleFieldChange}}"}}}},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:"{{handleFieldChange}}"}}}},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:"{{handleFieldChange}}"}}}},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]) }}"}}}]}}}}}}}}},qn=r.withDynamicSchemaProps(e=>{const{t}=V.useTranslation(),{isTitleField:o}=r.useCollectionManager_deprecated(),[n,a]=d.useState(null),{setTitleField:i,filterByTk:c,dataSourceKey:l}=r.useProps(e),u=r.useRecord(),p=r.useAPIClient(),{refreshRM:m,titleField:v}=Tt(),h=w=>I(this,null,function*(){a(u),yield p.request({url:`dataSources/${l}/collections:update?filterByTk=${c}`,method:"post",data:{titleField:w?u.name:"id"}}),x.message.success(t("Saved successfully")),m(),i(w?u.name:"id"),a(null)});return o(u)?s.jsx(x.Tooltip,{title:t("Default title for each record"),placement:"right",overlayInnerStyle:{textAlign:"center"},children:s.jsx(x.Switch,{"aria-label":`switch-title-field-${u==null?void 0:u.name}`,size:"small",loading:(u==null?void 0:u.name)===(n==null?void 0:n.name),checked:(u==null?void 0:u.name)===(v||"id"),onChange:h})}):null},{displayName:"TitleField"}),Lt=(e,t)=>{const o=[];return e.forEach(n=>{const a=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:a})}),o.filter(n=>t==="sort"?n.key==="advanced":n.children.length>0)},Gn=A.observer(e=>{var h;const{value:t,handleFieldChange:o}=e,n=r.useRecord(),{getInterface:a}=r.useCollectionManager_deprecated(),i=r.useCompile(),c=r.useFieldInterfaceOptions(),l=Lt(c,n.type),u=A.useForm(),p=A.useField(),[m,v]=d.useState(l);return["oho","obo","o2m","m2o","m2m"].includes(n.interface)?s.jsx(x.Tag,{children:i((h=c.find(w=>w.key==="relation").children.find(w=>w.name===t))==null?void 0:h.label)},t):s.jsx(x.Select,{"aria-label":`field-interface-${n==null?void 0:n.type}`,role:"button",defaultValue:t,style:{width:"100%"},popupMatchSelectWidth:!1,onChange:w=>{var b,C;const T=a(w);o({interface:w,uiSchema:$({title:(b=n==null?void 0:n.uiSchema)==null?void 0:b.title},(C=T==null?void 0:T.default)==null?void 0:C.uiSchema)},n.name)},onDropdownVisibleChange:w=>{var T,b;if(w&&(n!=null&&n.possibleTypes)){const C=(b=(T=Object.values(u.values))==null?void 0:T[0])==null?void 0:b[p.index],y=(C==null?void 0:C.type)||n.type,f=Lt(c,y);v(f)}},children:m.map(w=>s.jsx(x.Select.OptGroup,{label:i(w.label),children:w.children.map(T=>s.jsx(x.Select.Option,{value:T.name,children:i(T.label)},T.name))},w.key))})},{displayName:"CollectionFieldInterfaceSelect"}),De=["string","bigInt","integer","uuid","uid"],zn=A.observer(e=>{var p,m;const{name:t}=W.useParams(),{collectionName:o,sourceKey:n,name:a}=r.useRecord(),i=A.useField(),c=r.useCompile(),{getCollection:l}=r.useCollectionManager_deprecated(),u=(p=l(o||a,t).fields)==null?void 0:p.filter(v=>v.primaryKey||v.unique).map(v=>{var h;return{value:v.name,label:c(((h=v.uiSchema)==null?void 0:h.title)||v.title||v.name)}});return d.useEffect(()=>{var v;i.initialValue=((v=u==null?void 0:u[0])==null?void 0:v.value)||n},[]),s.jsx("div",{children:s.jsx(x.Select,{disabled:n,options:u,defaultValue:((m=u==null?void 0:u[0])==null?void 0:m.value)||n,onChange:e==null?void 0:e.onChange,showSearch:!0})})},{displayName:"SourceKey"}),qt=A.observer(e=>{const{disabled:t}=e,o=r.useAPIClient(),[n,a]=d.useState([]),{name:i}=W.useParams(),c=r.useRecord(),l=A.useField(),{collectionName:u,target:p,type:m,through:v,name:h}=c,w=c[l.props.name],{getCollection:T}=r.useCollectionManager_deprecated(),b=r.useCompile(),C=A.useForm(),[y,f]=d.useState(w);return d.useEffect(()=>{var D;l.initialValue=null;const g=["belongsTo"].includes(m)?u:["belongsToMany"].includes(m)?v:p,S=(D=T(g,i))==null?void 0:D.fields;if(S){const M=S==null?void 0:S.filter(_=>De.includes(_.type)).map(_=>{var N;return{value:_.name,label:b(((N=_.uiSchema)==null?void 0:N.title)||_.title||_.name)}});if(a(M),w){const _=M.find(N=>N.value===w);f((_==null?void 0:_.label)||w)}}},[m]),d.useEffect(()=>{f(w)},[w]),s.jsx("div",{children:s.jsx(x.Select,{disabled:t,value:y,options:n,showSearch:!0,onDropdownVisibleChange:g=>I(this,null,function*(){var N;const{target:S,type:D,through:M}=C.values,_=["belongsTo"].includes(D)?u||h:["belongsToMany"].includes(D)?M:S;if(_&&g){const{data:F}=yield o.request({url:`dataSourcesCollections/${i}.${_}/fields:list`,params:{paginate:!1,filter:{$or:[{"interface.$not":null},{"options.source.$notEmpty":!0}]},sort:["sort"]}});a((N=F.data)==null?void 0:N.filter(P=>De.includes(P.type)).map(P=>{var K;return{value:P.name,label:b(((K=P.uiSchema)==null?void 0:K.title)||P.title||P.name)}}))}}),onChange:g=>{var S;(S=e==null?void 0:e.onChange)==null||S.call(e,g),f(g)}})})},{displayName:"ForeignKey"}),Un=A.observer(e=>{const{value:t,disabled:o}=e,{targetKey:n,target:a,type:i}=r.useRecord(),{name:c}=W.useParams(),{getCollection:l}=r.useCollectionManager_deprecated(),u=r.useAPIClient(),[p,m]=d.useState([]),[v,h]=d.useState(t||n),w=A.useForm(),T=r.useCompile(),b=A.useField();return b.required=!0,d.useEffect(()=>{var C;a&&m((C=l(a,c).fields)==null?void 0:C.filter(y=>i!=="hasMany"?y.primaryKey||y.unique:De.includes(y.type)).map(y=>{var f;return{value:y.name,label:T(((f=y==null?void 0:y.uiSchema)==null?void 0:f.title)||y.title||y.name)}}))},[]),s.jsx("div",{children:s.jsx(x.Select,{showSearch:!0,options:p,onDropdownVisibleChange:C=>I(this,null,function*(){var g;const{target:y,type:f}=w.values;if(y&&C){const{data:S}=yield u.request({url:`dataSourcesCollections/${c}.${y}/fields:list`,params:{paginate:!1,filter:{$or:[{"interface.$not":null},{"options.source.$notEmpty":!0}]},sort:["sort"]}});m((g=S.data)==null?void 0:g.filter(D=>f!=="hasMany"?D.primaryKey||D.unique:De.includes(D.type)).map(D=>{var M;return{value:D.name,label:T(((M=D.uiSchema)==null?void 0:M.title)||D.title||D.name)}}))}}),onChange:C=>{var y;(y=e==null?void 0:e.onChange)==null||y.call(e,C),h(C)},value:v,disabled:o})})},{displayName:"TargetKey"}),Hn=A.observer(()=>{const e=r.useCompile(),{targetCollection:t}=Tt();return s.jsx("div",{children:s.jsx(x.Select,{disabled:!0,showSearch:!0,popupMatchSelectWidth:!1,value:t.name,options:[{value:t.name,label:e(t.title||t.name)}]})})},{displayName:"SourceCollection"}),Wn=A.observer(e=>{const{disabled:t}=e,o=r.useCompile(),[n,a]=d.useState([]),{name:i}=W.useParams(),c=A.useField(),{getCollections:l}=r.useCollectionManager_deprecated(i),p=r.useRecord()[c.props.name],m=()=>l().filter(h=>!(h.autoCreate&&h.isThrough)).map(h=>({label:o(h.title||h.name),value:h.name}));return d.useEffect(()=>{const v=m();a(v)},[]),s.jsx("div",{children:s.jsx(x.Select,{disabled:t,showSearch:!0,popupMatchSelectWidth:!1,fieldNames:{label:"label",value:"value"},defaultValue:p,options:n,onChange:v=>{var h;(h=e==null?void 0:e.onChange)==null||h.call(e,v)}})})},{displayName:"ThroughCollection"}),Yn=(e,t,o)=>{var i;if(!e)return;const n=J.cloneDeep(e.properties);n!=null&&n.foreignKey&&(n.foreignKey["x-component"]=qt),e.hasDefaultValue===!0&&(n.defaultValue=J.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 a=j($({name:`f_${L.uid()}`},J.cloneDeep(e.default)),{interface:e.name});return a.reverseField&&(a.reverseField.name=`f_${L.uid()}`),{type:"object",properties:{[L.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:a}),c)}},title:`${o(t.title||t.name)} - ${o('{{ t("Add field") }}')}`,properties:j($({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 }}"}}}}})}}}},Qn=()=>{const e=A.useForm(),t=r.useActionContext(),{refresh:o}=r.useResourceActionContext(),n=A.useField(),a=r.useAPIClient(),i=r.useRecord(),{name:c}=W.useParams(),l=r.useDataSourceManager();return{run(){return I(this,null,function*(){yield e.submit(),n.data=n.data||{},n.data.loading=!0;const p=J.cloneDeep(e.values);p.autoCreateReverseField||delete p.reverseField,delete p.autoCreateReverseField;try{yield a.request({url:`dataSourcesCollections/${c}.${i.name}/fields:create`,method:"post",data:p}),t.setVisible(!1),l.getDataSource(c).reload(),yield e.reset(),n.data.loading=!1,o()}catch(m){n.data.loading=!1}})}}},Zn=e=>{const t=r.useRecord();return s.jsx(Jn,$({item:t},e))},Jn=e=>{const{scope:t,getContainer:o,item:n,children:a,trigger:i,align:c,database:l}=e,{getInterface:u,getTemplate:p,collections:m}=r.useCollectionManager_deprecated(),[v,h]=d.useState(!1),[w,T]=d.useState(),[b,C]=d.useState({}),y=r.useCompile(),{t:f}=V.useTranslation(),{data:{database:g}}=r.useCurrentAppInfo(),S=P=>(g==null?void 0:g.dialect)===P,D=d.useMemo(()=>m.map(P=>({label:y(P.title),value:P.name})),[]),M=r.useFieldInterfaceOptions(),_=d.useCallback(()=>{const{availableFieldInterfaces:P}=p(n.template)||{},{exclude:K,include:B}=P||{},Q=[];return M.forEach(H=>{var O;if(H.key==="relation"){let Y=[];B!=null&&B.length?B.forEach(G=>{var re;const oe=(re=H==null?void 0:H.children)==null?void 0:re.find(nv=>[G,G.interface].includes(nv.value));oe&&Y.push(j($({},oe),{targetScope:G==null?void 0:G.targetScope}))}):K!=null&&K.length?Y=(O=H==null?void 0:H.children)==null?void 0:O.filter(G=>!K.includes(G.value)):Y=H==null?void 0:H.children,Y!=null&&Y.length&&Q.push(j($({},H),{children:Y}))}}),Q},[p,n]),N=d.useMemo(()=>_().map(P=>{var K;return((K=P==null?void 0:P.children)==null?void 0:K.length)===0?null:n.template==="view"?{type:"group",label:y(P.label),title:y(P.label),key:P.label,children:P.children.filter(B=>["m2o"].includes(B.name)).map(B=>({label:y(B.title),title:y(B.title),key:B.name,dataTargetScope:B.targetScope}))}:{type:"group",label:y(P.label),title:y(P.label),key:P.label,children:P==null?void 0:P.children.filter(B=>!["o2o","subTable","linkTo"].includes(B.name)).map(B=>({label:y(B.title),title:y(B.title),key:B.name,dataTargetScope:B.targetScope}))}}).filter(P=>{var K;return(K=P==null?void 0:P.children)==null?void 0:K.length}),[_]),F=d.useMemo(()=>({style:{maxHeight:"60vh",overflow:"auto"},onClick:P=>{const K=P.item.props["data-targetScope"];K&&T(K);const B=Yn(u(P.key),n,y);B&&(C(B),h(!0))},items:N}),[u,N,n]);return n.template!=="sql"&&s.jsx(r.RecordProvider,{record:n,children:s.jsxs(r.ActionContextProvider,{value:{visible:v,setVisible:h},children:[s.jsx(x.Dropdown,{getPopupContainer:o,trigger:i,align:c,menu:F,children:a||s.jsx(x.Button,{icon:s.jsx(ee.PlusOutlined,{}),type:"primary",children:f("Add field")})}),s.jsx(r.SchemaComponent,{schema:b,components:{ArrayTable:pe.ArrayTable},scope:$({getContainer:o,useCancelAction:r.useCancelAction,createOnly:!0,isOverride:!1,override:!1,useCreateCollectionField:Qn,record:n,showReverseFieldConfig:!1,targetScope:w,collections:D,isDialect:S,disabledJSONB:!1,createMainOnly:!0},t)})]})})},Xn=A.observer(e=>{const{value:t,handleFieldChange:o}=e,n=r.useRecord(),[a,i]=d.useState(t),c=p=>{i(p)},l=d.useMemo(()=>J.debounce(p=>{o({uiSchema:j($({},n==null?void 0:n.uiSchema),{title:p})},n.name)},1e3),[o,n]),u=p=>{const m=p.target.value;c(m),l(m)};return d.useEffect(()=>{i(t)},[t]),s.jsx(x.Input,{value:a,onChange:u,style:{minWidth:"100px"},"aria-label":"field-title-input"})},{displayName:"FieldTitleInput"}),Rn=()=>{const{refresh:e}=r.useResourceActionContext(),{name:t}=W.useParams(),{name:o,collectionName:n}=r.useRecord(),a=r.useAPIClient();return{run(){return I(this,null,function*(){yield a.request({url:`dataSourcesCollections/${t}.${n}/fields:destroy?filterByTk=${o}`,method:"post"}),e()})}}},er=()=>{const{state:e,setState:t,refresh:o}=r.useResourceActionContext(),{t:n}=V.useTranslation(),{name:a}=W.useParams(),i=r.useAPIClient(),{name:c}=r.useRecord();return{run(){return I(this,null,function*(){var u;if(!((u=e==null?void 0:e.selectedRowKeys)!=null&&u.length))return x.message.error(n("Please select the records you want to delete"));yield i.request({url:`dataSourcesCollections/${a}.${c}/fields:destroy`,method:"post",params:{filterByTk:(e==null?void 0:e.selectedRowKeys)||[]}}),t==null||t({selectedRowKeys:[]}),o()})}}},tr=()=>{const{run:e}=er();return{run(){return I(this,null,function*(){yield e()})}}},or=()=>{const{run:e}=Rn();return{run(){return I(this,null,function*(){yield e()})}}};var Ie=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:{};function be(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function nr(){this.__data__=[],this.size=0}var rr=nr;function ar(e,t){return e===t||e!==e&&t!==t}var Gt=ar,sr=Gt;function ir(e,t){for(var o=e.length;o--;)if(sr(e[o][0],t))return o;return-1}var Oe=ir,cr=Oe,lr=Array.prototype,ur=lr.splice;function pr(e){var t=this.__data__,o=cr(t,e);if(o<0)return!1;var n=t.length-1;return o==n?t.pop():ur.call(t,o,1),--this.size,!0}var dr=pr,mr=Oe;function fr(e){var t=this.__data__,o=mr(t,e);return o<0?void 0:t[o][1]}var yr=fr,gr=Oe;function vr(e){return gr(this.__data__,e)>-1}var hr=vr,Cr=Oe;function br(e,t){var o=this.__data__,n=Cr(o,e);return n<0?(++this.size,o.push([e,t])):o[n][1]=t,this}var xr=br,Sr=rr,Ar=dr,$r=yr,Tr=hr,Fr=xr;function de(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])}}de.prototype.clear=Sr,de.prototype.delete=Ar,de.prototype.get=$r,de.prototype.has=Tr,de.prototype.set=Fr;var Ee=de,wr=Ee;function _r(){this.__data__=new wr,this.size=0}var Pr=_r;function Dr(e){var t=this.__data__,o=t.delete(e);return this.size=t.size,o}var Ir=Dr;function Or(e){return this.__data__.get(e)}var Er=Or;function Mr(e){return this.__data__.has(e)}var jr=Mr,Kr=typeof Ie=="object"&&Ie&&Ie.Object===Object&&Ie,zt=Kr,kr=zt,Nr=typeof self=="object"&&self&&self.Object===Object&&self,Br=kr||Nr||Function("return this")(),te=Br,Vr=te,Lr=Vr.Symbol,xe=Lr,Ut=xe,Ht=Object.prototype,qr=Ht.hasOwnProperty,Gr=Ht.toString,Se=Ut?Ut.toStringTag:void 0;function zr(e){var t=qr.call(e,Se),o=e[Se];try{e[Se]=void 0;var n=!0}catch(i){}var a=Gr.call(e);return n&&(t?e[Se]=o:delete e[Se]),a}var Ur=zr,Hr=Object.prototype,Wr=Hr.toString;function Yr(e){return Wr.call(e)}var Qr=Yr,Wt=xe,Zr=Ur,Jr=Qr,Xr="[object Null]",Rr="[object Undefined]",Yt=Wt?Wt.toStringTag:void 0;function ea(e){return e==null?e===void 0?Rr:Xr:Yt&&Yt in Object(e)?Zr(e):Jr(e)}var me=ea;function ta(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var fe=ta,oa=me,na=fe,ra="[object AsyncFunction]",aa="[object Function]",sa="[object GeneratorFunction]",ia="[object Proxy]";function ca(e){if(!na(e))return!1;var t=oa(e);return t==aa||t==sa||t==ra||t==ia}var Qt=ca,la=te,ua=la["__core-js_shared__"],pa=ua,nt=pa,Zt=function(){var e=/[^.]+$/.exec(nt&&nt.keys&&nt.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function da(e){return!!Zt&&Zt in e}var ma=da,fa=Function.prototype,ya=fa.toString;function ga(e){if(e!=null){try{return ya.call(e)}catch(t){}try{return e+""}catch(t){}}return""}var Jt=ga,va=Qt,ha=ma,Ca=fe,ba=Jt,xa=/[\\^$.*+?()[\]{}|]/g,Sa=/^\[object .+?Constructor\]$/,Aa=Function.prototype,$a=Object.prototype,Ta=Aa.toString,Fa=$a.hasOwnProperty,wa=RegExp("^"+Ta.call(Fa).replace(xa,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function _a(e){if(!Ca(e)||ha(e))return!1;var t=va(e)?wa:Sa;return t.test(ba(e))}var Pa=_a;function Da(e,t){return e==null?void 0:e[t]}var Ia=Da,Oa=Pa,Ea=Ia;function Ma(e,t){var o=Ea(e,t);return Oa(o)?o:void 0}var se=Ma,ja=se,Ka=te,ka=ja(Ka,"Map"),rt=ka,Na=se,Ba=Na(Object,"create"),Me=Ba,Xt=Me;function Va(){this.__data__=Xt?Xt(null):{},this.size=0}var La=Va;function qa(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var Ga=qa,za=Me,Ua="__lodash_hash_undefined__",Ha=Object.prototype,Wa=Ha.hasOwnProperty;function Ya(e){var t=this.__data__;if(za){var o=t[e];return o===Ua?void 0:o}return Wa.call(t,e)?t[e]:void 0}var Qa=Ya,Za=Me,Ja=Object.prototype,Xa=Ja.hasOwnProperty;function Ra(e){var t=this.__data__;return Za?t[e]!==void 0:Xa.call(t,e)}var es=Ra,ts=Me,os="__lodash_hash_undefined__";function ns(e,t){var o=this.__data__;return this.size+=this.has(e)?0:1,o[e]=ts&&t===void 0?os:t,this}var rs=ns,as=La,ss=Ga,is=Qa,cs=es,ls=rs;function ye(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])}}ye.prototype.clear=as,ye.prototype.delete=ss,ye.prototype.get=is,ye.prototype.has=cs,ye.prototype.set=ls;var us=ye,Rt=us,ps=Ee,ds=rt;function ms(){this.size=0,this.__data__={hash:new Rt,map:new(ds||ps),string:new Rt}}var fs=ms;function ys(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var gs=ys,vs=gs;function hs(e,t){var o=e.__data__;return vs(t)?o[typeof t=="string"?"string":"hash"]:o.map}var je=hs,Cs=je;function bs(e){var t=Cs(this,e).delete(e);return this.size-=t?1:0,t}var xs=bs,Ss=je;function As(e){return Ss(this,e).get(e)}var $s=As,Ts=je;function Fs(e){return Ts(this,e).has(e)}var ws=Fs,_s=je;function Ps(e,t){var o=_s(this,e),n=o.size;return o.set(e,t),this.size+=o.size==n?0:1,this}var Ds=Ps,Is=fs,Os=xs,Es=$s,Ms=ws,js=Ds;function ge(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])}}ge.prototype.clear=Is,ge.prototype.delete=Os,ge.prototype.get=Es,ge.prototype.has=Ms,ge.prototype.set=js;var eo=ge,Ks=Ee,ks=rt,Ns=eo,Bs=200;function Vs(e,t){var o=this.__data__;if(o instanceof Ks){var n=o.__data__;if(!ks||n.length<Bs-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 Ls=Vs,qs=Ee,Gs=Pr,zs=Ir,Us=Er,Hs=jr,Ws=Ls;function ve(e){var t=this.__data__=new qs(e);this.size=t.size}ve.prototype.clear=Gs,ve.prototype.delete=zs,ve.prototype.get=Us,ve.prototype.has=Hs,ve.prototype.set=Ws;var Ys=ve;function Qs(e,t){for(var o=-1,n=e==null?0:e.length;++o<n&&t(e[o],o,e)!==!1;);return e}var Zs=Qs,Js=se,Xs=function(){try{var e=Js(Object,"defineProperty");return e({},"",{}),e}catch(t){}}(),to=Xs,oo=to;function Rs(e,t,o){t=="__proto__"&&oo?oo(e,t,{configurable:!0,enumerable:!0,value:o,writable:!0}):e[t]=o}var no=Rs,ei=no,ti=Gt,oi=Object.prototype,ni=oi.hasOwnProperty;function ri(e,t,o){var n=e[t];(!(ni.call(e,t)&&ti(n,o))||o===void 0&&!(t in e))&&ei(e,t,o)}var at=ri,ai=at,si=no;function ii(e,t,o,n){var a=!o;o||(o={});for(var i=-1,c=t.length;++i<c;){var l=t[i],u=n?n(o[l],e[l],l,o,e):void 0;u===void 0&&(u=e[l]),a?si(o,l,u):ai(o,l,u)}return o}var Ae=ii;function ci(e,t){for(var o=-1,n=Array(e);++o<e;)n[o]=t(o);return n}var li=ci;function ui(e){return e!=null&&typeof e=="object"}var ie=ui,pi=me,di=ie,mi="[object Arguments]";function fi(e){return di(e)&&pi(e)==mi}var yi=fi,ro=yi,gi=ie,ao=Object.prototype,vi=ao.hasOwnProperty,hi=ao.propertyIsEnumerable,Ci=ro(function(){return arguments}())?ro:function(e){return gi(e)&&vi.call(e,"callee")&&!hi.call(e,"callee")},so=Ci,bi=Array.isArray,ce=bi,Ke={exports:{}};function xi(){return!1}var Si=xi;Ke.exports,function(e,t){var o=te,n=Si,a=t&&!t.nodeType&&t,i=a&&!0&&e&&!e.nodeType&&e,c=i&&i.exports===a,l=c?o.Buffer:void 0,u=l?l.isBuffer:void 0,p=u||n;e.exports=p}(Ke,Ke.exports);var io=Ke.exports,Ai=9007199254740991,$i=/^(?:0|[1-9]\d*)$/;function Ti(e,t){var o=typeof e;return t=t==null?Ai:t,!!t&&(o=="number"||o!="symbol"&&$i.test(e))&&e>-1&&e%1==0&&e<t}var co=Ti,Fi=9007199254740991;function wi(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=Fi}var lo=wi,_i=me,Pi=lo,Di=ie,Ii="[object Arguments]",Oi="[object Array]",Ei="[object Boolean]",Mi="[object Date]",ji="[object Error]",Ki="[object Function]",ki="[object Map]",Ni="[object Number]",Bi="[object Object]",Vi="[object RegExp]",Li="[object Set]",qi="[object String]",Gi="[object WeakMap]",zi="[object ArrayBuffer]",Ui="[object DataView]",Hi="[object Float32Array]",Wi="[object Float64Array]",Yi="[object Int8Array]",Qi="[object Int16Array]",Zi="[object Int32Array]",Ji="[object Uint8Array]",Xi="[object Uint8ClampedArray]",Ri="[object Uint16Array]",ec="[object Uint32Array]",U={};U[Hi]=U[Wi]=U[Yi]=U[Qi]=U[Zi]=U[Ji]=U[Xi]=U[Ri]=U[ec]=!0,U[Ii]=U[Oi]=U[zi]=U[Ei]=U[Ui]=U[Mi]=U[ji]=U[Ki]=U[ki]=U[Ni]=U[Bi]=U[Vi]=U[Li]=U[qi]=U[Gi]=!1;function tc(e){return Di(e)&&Pi(e.length)&&!!U[_i(e)]}var oc=tc;function nc(e){return function(t){return e(t)}}var st=nc,ke={exports:{}};ke.exports,function(e,t){var o=zt,n=t&&!t.nodeType&&t,a=n&&!0&&e&&!e.nodeType&&e,i=a&&a.exports===n,c=i&&o.process,l=function(){try{var u=a&&a.require&&a.require("util").types;return u||c&&c.binding&&c.binding("util")}catch(p){}}();e.exports=l}(ke,ke.exports);var it=ke.exports,rc=oc,ac=st,uo=it,po=uo&&uo.isTypedArray,sc=po?ac(po):rc,ic=sc,cc=li,lc=so,uc=ce,pc=io,dc=co,mc=ic,fc=Object.prototype,yc=fc.hasOwnProperty;function gc(e,t){var o=uc(e),n=!o&&lc(e),a=!o&&!n&&pc(e),i=!o&&!n&&!a&&mc(e),c=o||n||a||i,l=c?cc(e.length,String):[],u=l.length;for(var p in e)(t||yc.call(e,p))&&!(c&&(p=="length"||a&&(p=="offset"||p=="parent")||i&&(p=="buffer"||p=="byteLength"||p=="byteOffset")||dc(p,u)))&&l.push(p);return l}var mo=gc,vc=Object.prototype;function hc(e){var t=e&&e.constructor,o=typeof t=="function"&&t.prototype||vc;return e===o}var ct=hc;function Cc(e,t){return function(o){return e(t(o))}}var fo=Cc,bc=fo,xc=bc(Object.keys,Object),Sc=xc,Ac=ct,$c=Sc,Tc=Object.prototype,Fc=Tc.hasOwnProperty;function wc(e){if(!Ac(e))return $c(e);var t=[];for(var o in Object(e))Fc.call(e,o)&&o!="constructor"&&t.push(o);return t}var _c=wc,Pc=Qt,Dc=lo;function Ic(e){return e!=null&&Dc(e.length)&&!Pc(e)}var yo=Ic,Oc=mo,Ec=_c,Mc=yo;function jc(e){return Mc(e)?Oc(e):Ec(e)}var lt=jc,Kc=Ae,kc=lt;function Nc(e,t){return e&&Kc(t,kc(t),e)}var Bc=Nc;function Vc(e){var t=[];if(e!=null)for(var o in Object(e))t.push(o);return t}var Lc=Vc,qc=fe,Gc=ct,zc=Lc,Uc=Object.prototype,Hc=Uc.hasOwnProperty;function Wc(e){if(!qc(e))return zc(e);var t=Gc(e),o=[];for(var n in e)n=="constructor"&&(t||!Hc.call(e,n))||o.push(n);return o}var Yc=Wc,Qc=mo,Zc=Yc,Jc=yo;function Xc(e){return Jc(e)?Qc(e,!0):Zc(e)}var ut=Xc,Rc=Ae,el=ut;function tl(e,t){return e&&Rc(t,el(t),e)}var ol=tl,Ne={exports:{}};Ne.exports,function(e,t){var o=te,n=t&&!t.nodeType&&t,a=n&&!0&&e&&!e.nodeType&&e,i=a&&a.exports===n,c=i?o.Buffer:void 0,l=c?c.allocUnsafe:void 0;function u(p,m){if(m)return p.slice();var v=p.length,h=l?l(v):new p.constructor(v);return p.copy(h),h}e.exports=u}(Ne,Ne.exports);var nl=Ne.exports;function rl(e,t){var o=-1,n=e.length;for(t||(t=Array(n));++o<n;)t[o]=e[o];return t}var al=rl;function sl(e,t){for(var o=-1,n=e==null?0:e.length,a=0,i=[];++o<n;){var c=e[o];t(c,o,e)&&(i[a++]=c)}return i}var il=sl;function cl(){return[]}var go=cl,ll=il,ul=go,pl=Object.prototype,dl=pl.propertyIsEnumerable,vo=Object.getOwnPropertySymbols,ml=vo?function(e){return e==null?[]:(e=Object(e),ll(vo(e),function(t){return dl.call(e,t)}))}:ul,pt=ml,fl=Ae,yl=pt;function gl(e,t){return fl(e,yl(e),t)}var vl=gl;function hl(e,t){for(var o=-1,n=t.length,a=e.length;++o<n;)e[a+o]=t[o];return e}var dt=hl,Cl=fo,bl=Cl(Object.getPrototypeOf,Object),mt=bl,xl=dt,Sl=mt,Al=pt,$l=go,Tl=Object.getOwnPropertySymbols,Fl=Tl?function(e){for(var t=[];e;)xl(t,Al(e)),e=Sl(e);return t}:$l,ho=Fl,wl=Ae,_l=ho;function Pl(e,t){return wl(e,_l(e),t)}var Dl=Pl,Il=dt,Ol=ce;function El(e,t,o){var n=t(e);return Ol(e)?n:Il(n,o(e))}var Co=El,Ml=Co,jl=pt,Kl=lt;function kl(e){return Ml(e,Kl,jl)}var Nl=kl,Bl=Co,Vl=ho,Ll=ut;function ql(e){return Bl(e,Ll,Vl)}var bo=ql,Gl=se,zl=te,Ul=Gl(zl,"DataView"),Hl=Ul,Wl=se,Yl=te,Ql=Wl(Yl,"Promise"),Zl=Ql,Jl=se,Xl=te,Rl=Jl(Xl,"Set"),eu=Rl,tu=se,ou=te,nu=tu(ou,"WeakMap"),ru=nu,ft=Hl,yt=rt,gt=Zl,vt=eu,ht=ru,xo=me,he=Jt,So="[object Map]",au="[object Object]",Ao="[object Promise]",$o="[object Set]",To="[object WeakMap]",Fo="[object DataView]",su=he(ft),iu=he(yt),cu=he(gt),lu=he(vt),uu=he(ht),le=xo;(ft&&le(new ft(new ArrayBuffer(1)))!=Fo||yt&&le(new yt)!=So||gt&&le(gt.resolve())!=Ao||vt&&le(new vt)!=$o||ht&&le(new ht)!=To)&&(le=function(e){var t=xo(e),o=t==au?e.constructor:void 0,n=o?he(o):"";if(n)switch(n){case su:return Fo;case iu:return So;case cu:return Ao;case lu:return $o;case uu:return To}return t});var Ct=le,pu=Object.prototype,du=pu.hasOwnProperty;function mu(e){var t=e.length,o=new e.constructor(t);return t&&typeof e[0]=="string"&&du.call(e,"index")&&(o.index=e.index,o.input=e.input),o}var fu=mu,yu=te,gu=yu.Uint8Array,vu=gu,wo=vu;function hu(e){var t=new e.constructor(e.byteLength);return new wo(t).set(new wo(e)),t}var bt=hu,Cu=bt;function bu(e,t){var o=t?Cu(e.buffer):e.buffer;return new e.constructor(o,e.byteOffset,e.byteLength)}var xu=bu,Su=/\w*$/;function Au(e){var t=new e.constructor(e.source,Su.exec(e));return t.lastIndex=e.lastIndex,t}var $u=Au,_o=xe,Po=_o?_o.prototype:void 0,Do=Po?Po.valueOf:void 0;function Tu(e){return Do?Object(Do.call(e)):{}}var Fu=Tu,wu=bt;function _u(e,t){var o=t?wu(e.buffer):e.buffer;return new e.constructor(o,e.byteOffset,e.length)}var Pu=_u,Du=bt,Iu=xu,Ou=$u,Eu=Fu,Mu=Pu,ju="[object Boolean]",Ku="[object Date]",ku="[object Map]",Nu="[object Number]",Bu="[object RegExp]",Vu="[object Set]",Lu="[object String]",qu="[object Symbol]",Gu="[object ArrayBuffer]",zu="[object DataView]",Uu="[object Float32Array]",Hu="[object Float64Array]",Wu="[object Int8Array]",Yu="[object Int16Array]",Qu="[object Int32Array]",Zu="[object Uint8Array]",Ju="[object Uint8ClampedArray]",Xu="[object Uint16Array]",Ru="[object Uint32Array]";function ep(e,t,o){var n=e.constructor;switch(t){case Gu:return Du(e);case ju:case Ku:return new n(+e);case zu:return Iu(e,o);case Uu:case Hu:case Wu:case Yu:case Qu:case Zu:case Ju:case Xu:case Ru:return Mu(e,o);case ku:return new n;case Nu:case Lu:return new n(e);case Bu:return Ou(e);case Vu:return new n;case qu:return Eu(e)}}var tp=ep,op=fe,Io=Object.create,np=function(){function e(){}return function(t){if(!op(t))return{};if(Io)return Io(t);e.prototype=t;var o=new e;return e.prototype=void 0,o}}(),rp=np,ap=rp,sp=mt,ip=ct;function cp(e){return typeof e.constructor=="function"&&!ip(e)?ap(sp(e)):{}}var lp=cp,up=Ct,pp=ie,dp="[object Map]";function mp(e){return pp(e)&&up(e)==dp}var fp=mp,yp=fp,gp=st,Oo=it,Eo=Oo&&Oo.isMap,vp=Eo?gp(Eo):yp,hp=vp,Cp=Ct,bp=ie,xp="[object Set]";function Sp(e){return bp(e)&&Cp(e)==xp}var Ap=Sp,$p=Ap,Tp=st,Mo=it,jo=Mo&&Mo.isSet,Fp=jo?Tp(jo):$p,wp=Fp,_p=Ys,Pp=Zs,Dp=at,Ip=Bc,Op=ol,Ep=nl,Mp=al,jp=vl,Kp=Dl,kp=Nl,Np=bo,Bp=Ct,Vp=fu,Lp=tp,qp=lp,Gp=ce,zp=io,Up=hp,Hp=fe,Wp=wp,Yp=lt,Qp=ut,Zp=1,Jp=2,Xp=4,Ko="[object Arguments]",Rp="[object Array]",ed="[object Boolean]",td="[object Date]",od="[object Error]",ko="[object Function]",nd="[object GeneratorFunction]",rd="[object Map]",ad="[object Number]",No="[object Object]",sd="[object RegExp]",id="[object Set]",cd="[object String]",ld="[object Symbol]",ud="[object WeakMap]",pd="[object ArrayBuffer]",dd="[object DataView]",md="[object Float32Array]",fd="[object Float64Array]",yd="[object Int8Array]",gd="[object Int16Array]",vd="[object Int32Array]",hd="[object Uint8Array]",Cd="[object Uint8ClampedArray]",bd="[object Uint16Array]",xd="[object Uint32Array]",z={};z[Ko]=z[Rp]=z[pd]=z[dd]=z[ed]=z[td]=z[md]=z[fd]=z[yd]=z[gd]=z[vd]=z[rd]=z[ad]=z[No]=z[sd]=z[id]=z[cd]=z[ld]=z[hd]=z[Cd]=z[bd]=z[xd]=!0,z[od]=z[ko]=z[ud]=!1;function Be(e,t,o,n,a,i){var c,l=t&Zp,u=t&Jp,p=t&Xp;if(o&&(c=a?o(e,n,a,i):o(e)),c!==void 0)return c;if(!Hp(e))return e;var m=Gp(e);if(m){if(c=Vp(e),!l)return Mp(e,c)}else{var v=Bp(e),h=v==ko||v==nd;if(zp(e))return Ep(e,l);if(v==No||v==Ko||h&&!a){if(c=u||h?{}:qp(e),!l)return u?Kp(e,Op(c,e)):jp(e,Ip(c,e))}else{if(!z[v])return a?e:{};c=Lp(e,v,l)}}i||(i=new _p);var w=i.get(e);if(w)return w;i.set(e,c),Wp(e)?e.forEach(function(C){c.add(Be(C,t,o,C,e,i))}):Up(e)&&e.forEach(function(C,y){c.set(y,Be(C,t,o,y,e,i))});var T=p?u?Np:kp:u?Qp:Yp,b=m?void 0:T(e);return Pp(b||e,function(C,y){b&&(y=C,C=e[y]),Dp(c,y,Be(C,t,o,y,e,i))}),c}var Bo=Be,Sd=Bo,Ad=1,$d=4;function Td(e){return Sd(e,Ad|$d)}var Fd=Td;const ne=be(Fd);function wd(e,t){for(var o=-1,n=e==null?0:e.length,a=Array(n);++o<n;)a[o]=t(e[o],o,e);return a}var Vo=wd,_d=me,Pd=ie,Dd="[object Symbol]";function Id(e){return typeof e=="symbol"||Pd(e)&&_d(e)==Dd}var xt=Id,Od=ce,Ed=xt,Md=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,jd=/^\w*$/;function Kd(e,t){if(Od(e))return!1;var o=typeof e;return o=="number"||o=="symbol"||o=="boolean"||e==null||Ed(e)?!0:jd.test(e)||!Md.test(e)||t!=null&&e in Object(t)}var kd=Kd,Lo=eo,Nd="Expected a function";function St(e,t){if(typeof e!="function"||t!=null&&typeof t!="function")throw new TypeError(Nd);var o=function(){var n=arguments,a=t?t.apply(this,n):n[0],i=o.cache;if(i.has(a))return i.get(a);var c=e.apply(this,n);return o.cache=i.set(a,c)||i,c};return o.cache=new(St.Cache||Lo),o}St.Cache=Lo;var Bd=St,Vd=Bd,Ld=500;function qd(e){var t=Vd(e,function(n){return o.size===Ld&&o.clear(),n}),o=t.cache;return t}var Gd=qd,zd=Gd,Ud=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Hd=/\\(\\)?/g,Wd=zd(function(e){var t=[];return e.charCodeAt(0)===46&&t.push(""),e.replace(Ud,function(o,n,a,i){t.push(a?i.replace(Hd,"$1"):n||o)}),t}),Yd=Wd,qo=xe,Qd=Vo,Zd=ce,Jd=xt,Xd=1/0,Go=qo?qo.prototype:void 0,zo=Go?Go.toString:void 0;function Uo(e){if(typeof e=="string")return e;if(Zd(e))return Qd(e,Uo)+"";if(Jd(e))return zo?zo.call(e):"";var t=e+"";return t=="0"&&1/e==-Xd?"-0":t}var Rd=Uo,em=Rd;function tm(e){return e==null?"":em(e)}var om=tm,nm=ce,rm=kd,am=Yd,sm=om;function im(e,t){return nm(e)?e:rm(e,t)?[e]:am(sm(e))}var Ve=im;function cm(e){var t=e==null?0:e.length;return t?e[t-1]:void 0}var lm=cm,um=xt,pm=1/0;function dm(e){if(typeof e=="string"||um(e))return e;var t=e+"";return t=="0"&&1/e==-pm?"-0":t}var At=dm,mm=Ve,fm=At;function ym(e,t){t=mm(t,e);for(var o=0,n=t.length;e!=null&&o<n;)e=e[fm(t[o++])];return o&&o==n?e:void 0}var gm=ym;function vm(e,t,o){var n=-1,a=e.length;t<0&&(t=-t>a?0:a+t),o=o>a?a:o,o<0&&(o+=a),a=t>o?0:o-t>>>0,t>>>=0;for(var i=Array(a);++n<a;)i[n]=e[n+t];return i}var hm=vm,Cm=gm,bm=hm;function xm(e,t){return t.length<2?e:Cm(e,bm(t,0,-1))}var Sm=xm,Am=Ve,$m=lm,Tm=Sm,Fm=At;function wm(e,t){return t=Am(t,e),e=Tm(e,t),e==null||delete e[Fm($m(t))]}var _m=wm,Pm=me,Dm=mt,Im=ie,Om="[object Object]",Em=Function.prototype,Mm=Object.prototype,Ho=Em.toString,jm=Mm.hasOwnProperty,Km=Ho.call(Object);function km(e){if(!Im(e)||Pm(e)!=Om)return!1;var t=Dm(e);if(t===null)return!0;var o=jm.call(t,"constructor")&&t.constructor;return typeof o=="function"&&o instanceof o&&Ho.call(o)==Km}var Nm=km,Bm=Nm;function Vm(e){return Bm(e)?void 0:e}var Lm=Vm,Wo=xe,qm=so,Gm=ce,Yo=Wo?Wo.isConcatSpreadable:void 0;function zm(e){return Gm(e)||qm(e)||!!(Yo&&e&&e[Yo])}var Um=zm,Hm=dt,Wm=Um;function Qo(e,t,o,n,a){var i=-1,c=e.length;for(o||(o=Wm),a||(a=[]);++i<c;){var l=e[i];t>0&&o(l)?t>1?Qo(l,t-1,o,n,a):Hm(a,l):n||(a[a.length]=l)}return a}var Ym=Qo,Qm=Ym;function Zm(e){var t=e==null?0:e.length;return t?Qm(e,1):[]}var Jm=Zm;function Xm(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 Rm=Xm,ef=Rm,Zo=Math.max;function tf(e,t,o){return t=Zo(t===void 0?e.length-1:t,0),function(){for(var n=arguments,a=-1,i=Zo(n.length-t,0),c=Array(i);++a<i;)c[a]=n[t+a];a=-1;for(var l=Array(t+1);++a<t;)l[a]=n[a];return l[t]=o(c),ef(e,this,l)}}var of=tf;function nf(e){return function(){return e}}var rf=nf;function af(e){return e}var sf=af,cf=rf,Jo=to,lf=sf,uf=Jo?function(e,t){return Jo(e,"toString",{configurable:!0,enumerable:!1,value:cf(t),writable:!0})}:lf,pf=uf,df=800,mf=16,ff=Date.now;function yf(e){var t=0,o=0;return function(){var n=ff(),a=mf-(n-o);if(o=n,a>0){if(++t>=df)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}var gf=yf,vf=pf,hf=gf,Cf=hf(vf),bf=Cf,xf=Jm,Sf=of,Af=bf;function $f(e){return Af(Sf(e,void 0,xf),e+"")}var Tf=$f,Ff=Vo,wf=Bo,_f=_m,Pf=Ve,Df=Ae,If=Lm,Of=Tf,Ef=bo,Mf=1,jf=2,Kf=4,kf=Of(function(e,t){var o={};if(e==null)return o;var n=!1;t=Ff(t,function(i){return i=Pf(i,e),n||(n=i.length>1),i}),Df(e,Ef(e),o),n&&(o=wf(o,Mf|jf|Kf,If));for(var a=t.length;a--;)_f(o,t[a]);return o}),Nf=kf;const Le=be(Nf);var Bf=at,Vf=Ve,Lf=co,Xo=fe,qf=At;function Gf(e,t,o,n){if(!Xo(e))return e;t=Vf(t,e);for(var a=-1,i=t.length,c=i-1,l=e;l!=null&&++a<i;){var u=qf(t[a]),p=o;if(u==="__proto__"||u==="constructor"||u==="prototype")return e;if(a!=c){var m=l[u];p=n?n(m,u,l):void 0,p===void 0&&(p=Xo(m)?m:Lf(t[a+1])?[]:{})}Bf(l,u,p),l=l[u]}return e}var zf=Gf,Uf=zf;function Hf(e,t,o){return e==null?e:Uf(e,t,o)}var Wf=Hf;const Ro=be(Wf),Yf=({schema:e,record:t,parentRecord:o,compile:n,getContainer:a})=>{if(!e)return;const i=ne(e.properties);return i!=null&&i.name&&(i.name["x-disabled"]=!0),e.hasDefaultValue===!0&&(i.defaultValue=ne(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:{[L.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:ne(Le(e.default,["uiSchema.rawTitle"]))}),c)}},title:`${n((o==null?void 0:o.title)||(o==null?void 0:o.name))} - ${n('{{ t("Edit field") }}')}`,properties:j($({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 }}"}}}}})}}}},Qf=()=>{const e=A.useForm(),t=r.useAPIClient(),o=r.useActionContext(),{refresh:n}=r.useResourceActionContext(),{targetCollection:a}=Tt(),{name:i}=W.useParams(),{name:c}=r.useRecord(),l=r.useDataSourceManager();return{run(){return I(this,null,function*(){yield e.submit();const p=ne(e.values);p.autoCreateReverseField||delete p.reverseField,delete p.autoCreateReverseField,yield t.request({url:`dataSourcesCollections/${i}.${a.name}/fields:update?filterByTk=${c}`,method:"post",data:p}),o.setVisible(!1),l.getDataSource(i).reload(),yield e.reset(),n()})}}},Zf=e=>{const t=r.useRecord(),o=r.useCollectionParentRecordData();return s.jsx(Jf,$({item:t,parentItem:o},e))},Jf=e=>{const M=e,{scope:t,getContainer:o,item:n,parentItem:a,children:i}=M,c=et(M,["scope","getContainer","item","parentItem","children"]),{getInterface:l,collections:u,getCollection:p}=r.useCollectionManager_deprecated(),{data:{database:m}}=r.useCurrentAppInfo(),[v,h]=d.useState(!1),[w,T]=d.useState({}),b=r.useAPIClient(),{t:C}=V.useTranslation(),y=r.useCompile(),{name:f}=W.useParams(),g=_=>(m==null?void 0:m.dialect)===_,S=d.useMemo(()=>u.map(_=>({label:y(_.title),value:_.name})),[]),D=d.useMemo(()=>{var _,N;return(n==null?void 0:n.fields)||((N=(_=p(n.collectionName,f))==null?void 0:_.options)==null?void 0:N.fields.filter(F=>F.interface==="select").map(F=>{var P;return{value:F.name,label:y((P=F.uiSchema)==null?void 0:P.title)}}))},[n.name]);return s.jsx(r.RecordProvider,{record:n,parent:a,children:s.jsxs(r.ActionContextProvider,{value:{visible:v,setVisible:h},children:[s.jsx("a",j($({},c),{onClick:()=>I(this,null,function*(){var K,B,Q;const{data:_}=yield b.request({url:`dataSourcesCollections/${f}.${a.name}/fields:get?filterByTk=${n.name}`,params:{appends:["reverseField"]}}),N=l((K=_==null?void 0:_.data)==null?void 0:K.interface),F=ne(_==null?void 0:_.data)||{};F!=null&&F.reverseField||(F.autoCreateReverseField=!1,F.reverseField=(B=N==null?void 0:N.default)==null?void 0:B.reverseField,Ro(F.reverseField,"name",`f_${L.uid()}`),Ro(F.reverseField,"uiSchema.title",(Q=n.__parent)==null?void 0:Q.title));const P=Yf({schema:j($({},N),{default:F}),record:n,parentRecord:a,compile:y,getContainer:o});T(P),h(!0)}),children:i||C("Edit")})),s.jsx(r.SchemaComponent,{schema:w,components:{ArrayTable:pe.ArrayTable},scope:j($({getContainer:o,useUpdateCollectionField:Qf,useCancelAction:r.useCancelAction,showReverseFieldConfig:!1,collections:S,isDialect:g,scopeKeyOptions:D,disabledJSONB:!0},t),{createOnly:!1,createMainOnly:!1})})]})})},Xf=A.observer(e=>{const{value:t,handleFieldChange:o,onChange:n}=e,a=r.useRecord(),i=a;return i!=null&&i.possibleTypes?s.jsx(x.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(j($({},i),{type:c}),a.name)}}):s.jsx(x.Tag,{children:t})},{displayName:"FieldType"}),Rf=()=>{const{t:e}=V.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(x.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(x.Table,{columns:o,dataSource:t,pagination:!1})]})},$t=d.createContext({refreshRM:()=>{},titleField:null,targetCollection:null});$t.displayName="RemoteCollectionContext";const Tt=()=>d.useContext($t),en=()=>{const e=A.useField(),t=d.useMemo(()=>ue.createForm(),[]),o=r.useAttach(t.createArrayField(j($({},e.props),{basePath:""}))),{t:n}=V.useTranslation(),{name:a}=W.useParams(),i=r.useAPIClient(),c=r.useCompile(),l=d.useContext(r.ResourceActionContext),u=r.useResourceContext(),{targetKey:p}=u||{},m=r.useRecord(),{[p]:v,titleField:h,name:w}=m,[T,b]=d.useState(h),C=M=>{const _=d.useContext(r.ResourceActionContext),N=A.useField();return d.useEffect(()=>{_.loading||(M==null||M.onSuccess(_.data),N.componentProps.dragSort=!!_.dragSort)},[_.loading]),_},y={association:{sourceKey:"name",targetKey:"name"},dragSort:!1,collection:Vn,request:{url:`dataSourcesCollections/${a}.${w}/fields:list`,params:{paginate:!1,filter:{$or:[{"interface.$not":null},{"options.source.$notEmpty":!0}]},sort:["sort"]}}},f=r.useDataSourceManager(),g=(M,_)=>I(this,null,function*(){yield i.request({url:`dataSourcesCollections/${a}.${w}/fields:update?filterByTk=${_}`,method:"post",data:M}),f.getDataSource(a).reload(),x.message.success(n("Saved successfully"))}),S=()=>({filterByTk:v,titleField:T,dataSourceKey:a,setTitleField:b}),D=(M,_,N)=>I(this,null,function*(){var Q,H;const{targetScope:F}=_,P=((Q=M.props)==null?void 0:Q.name)==="inherits",{data:K}=yield i.request({url:`dataSources/${a}/collections:list`,params:{paginate:!1,appends:["fields"],sort:["sort"]}});return((H=K==null?void 0:K.data)==null?void 0:H.filter(O=>{var re;if(N!=null&&N.includes(O.template)||O.autoCreate&&O.isThrough||P&&O.template==="view")return!1;const G=!(F!=null&&F.template)||F.template.includes(O.template),oe=!(F!=null&&F[(re=M.props)==null?void 0:re.name])||F[M.props.name].includes(O.name);return G&&oe})).map(O=>({label:c(O.title||O.name),value:O.name}))});return s.jsxs($t.Provider,{value:{refreshRM:()=>{l.refresh()},titleField:T,targetCollection:m},children:[s.jsx(r.ResourceActionProvider,j($({},y),{children:s.jsx(A.FormContext.Provider,{value:t,children:s.jsx(A.FieldContext.Provider,{value:o,children:s.jsx(r.SchemaComponentOptions,{components:{TitleField:qn,CollectionFieldInterfaceSelect:Gn,AddCollectionField:Zn,SourceCollection:Hn,TargetKey:Un,SourceKey:zn,FieldTitleInput:Xn,EditCollectionField:Zf,Select:r.Select,FieldType:Xf,ForeignKey:qt,ThroughCollection:Wn},inherit:!0,scope:{useDataSource:C,useTitleFieldProps:S,handleFieldChange:g,useDestroyActionAndRefreshCM:or,useBulkDestroyActionAndRefreshCM:tr,loadCollections:D},children:s.jsx(A.RecursionField,{schema:Ln,onlyRenderProperties:!0})})})})})),s.jsx(Rf,{})]})},ey=(e,t,o,n)=>{if(!e)return;const a=ne(e.configurableProperties)||{title:{"x-component":"CollectionField","x-decorator":"FormItem"},name:{"x-component":"CollectionField","x-decorator":"FormItem"}};return e.hasDefaultValue===!0&&(a.defaultValue=ne(e.default.uiSchema),a.defaultValue.title=o('{{ t("Default value") }}'),a.defaultValue["x-decorator"]="FormItem"),{type:"object",properties:{[L.uid()]:{type:"void","x-component":"Action.Drawer","x-decorator":"Form","x-decorator-props":{useValues:"{{ useValuesFromRecord }}"},title:'{{ t("Edit collection") }}',properties:j($({},Le(a,"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 }}"}}}}})}}}},ty=e=>{const t=r.useRecord(),o=r.useRequest(()=>{var a;return Promise.resolve({data:j($({},Le(ne(t),["__parent","__collectionName"])),{category:(a=t==null?void 0:t.category)==null?void 0:a.map(i=>i.id)})})},j($({},e),{manual:!0})),n=r.useActionContext();return d.useEffect(()=>{n.visible&&o.run()},[n.visible]),o},oy=e=>{const{refreshCM:t}=r.useCollectionManager_deprecated(),o=A.useForm(),n=r.useActionContext(),{name:a}=W.useParams(),{refresh:i}=r.useResourceActionContext(),{resource:c,targetKey:l}=r.useResourceContext(),{[l]:u}=r.useRecord(),p=r.useAPIClient(),m=r.useDataSourceManager();return{run(){return I(this,null,function*(){yield o.submit(),yield p.request({url:`dataSources/${a}/collections:update?filterByTk=${u}`,method:"post",data:$({},Le(o.values,["fields","autoGenId","createdAt","updatedAt","createdBy","updatedBy","sortable"]))}),yield m.getDataSource(a).reload(),n.setVisible(!1),yield o.reset(),i(),yield t()})}}},ny=e=>{const t=r.useRecord();return s.jsx(ry,$({item:t},e))},ry=e=>{var b;const T=e,{scope:t,getContainer:o,item:n,children:a}=T,i=et(T,["scope","getContainer","item","children"]),{getTemplate:c}=r.useCollectionManager_deprecated(),[l,u]=d.useState(!1),[p,m]=d.useState({}),{t:v}=V.useTranslation(),h=r.useCompile(),w=(b=n.fields)==null?void 0:b.map(C=>{var y;return{label:(y=C.uiSchema)!=null&&y.title?h(C.uiSchema.title):C.name,value:C.name}});return s.jsx(r.RecordProvider,{record:n,children:s.jsxs(r.ActionContextProvider,{value:{visible:l,setVisible:u},children:[s.jsx("a",j($({},i),{onClick:()=>I(this,null,function*(){const C=c(n.template),y=ey($({},C),n,h);m(y),u(!0)}),children:a||v("Edit")})),s.jsx(r.SchemaComponent,{schema:p,components:{ArrayTable:pe.ArrayTable},scope:$({getContainer:o,useValuesFromRecord:ty,useUpdateCollectionActionAndRefreshCM:oy,useCancelAction:r.useCancelAction,createOnly:!1,filterTargetKeyOptions:w,isView:n.view},t)})]})})},ay=(e,t)=>(o,n)=>{o.loading=!0,e(o,n,t).then(tt.action.bound(a=>{o.dataSource=a,o.loading=!1})).catch(a=>console.log(a))},sy=()=>{const[e,t]=d.useState([]);return[e,t]},iy=()=>{const e=r.useRecord(),t=A.useForm();return{run(){return I(this,null,function*(){var a,i,c;const n=(c=(i=(a=t.values)==null?void 0:a.children)==null?void 0:i.slice)==null?void 0:c.call(i);t.setValuesIn("children",n.filter(l=>l.name!==e.name))})}}},cy=()=>({run(){return I(this,null,function*(){})}}),ly=e=>`${e||""}${L.uid()}`,uy=()=>{const{t:e}=V.useTranslation(),{interfaces:t}=r.useCollectionManager_deprecated(),{data:{database:o}}=r.useCurrentAppInfo(),n=r.useDataSourceManager(),a=d.useContext(r.SchemaComponentContext),{name:i}=W.useParams(),c=d.useContext(r.CollectionCategroriesContext),l=r.useAPIClient(),u=l.resource("dbViews"),p=r.useCompile(),m=()=>I(this,null,function*(){return c.data.map(b=>({label:p(b.name),value:b.id}))}),v=()=>I(this,null,function*(){return u.list().then(({data:b})=>{var C;return(C=b==null?void 0:b.data)==null?void 0:C.map(y=>{const f=y.schema;return{label:f?`${f}.${p(y.name)}`:y.name,value:f?`${f}_${y.name}`:y.name}})})}),h=()=>I(this,null,function*(){return l.resource("storages").list().then(({data:b})=>{var C;return(C=b==null?void 0:b.data)==null?void 0:C.map(y=>({label:e(p(y.title)),value:y.name}))})}),w=()=>{const b=d.useContext(r.ResourceActionContext),C=r.useAPIClient(),y=A.useField(),{name:f}=W.useParams();y.data=y.data||{};const{setDataSource:g,dataSource:S}=d.useContext(Pe);return{onClick(){return I(this,null,function*(){var M,_,N;y.data.loading=!0;try{const{data:F}=yield C.request({url:`dataSources:refresh?filterByTk=${f}&clientStatus=${(S==null?void 0:S.status)||"loaded"}`,method:"post"});y.data.loading=!1,g(F==null?void 0:F.data),((M=F==null?void 0:F.data)==null?void 0:M.status)==="reloading"?x.message.warning(e("Data source synchronization in progress")):((_=F==null?void 0:F.data)==null?void 0:_.status)==="loaded"&&(x.message.success(e("Data source synchronization successful")),(N=b==null?void 0:b.refresh)==null||N.call(b)),yield n.getDataSource(f).reload()}catch(F){y.data.loading=!1}})}}},T=d.useMemo(()=>Bn(i),[i]);return s.jsx(r.SchemaComponentContext.Provider,{value:j($({},a),{designable:!1}),children:s.jsx(r.SchemaComponent,{schema:T,components:{EditCollection:ny,AddSubFieldAction:r.AddSubFieldAction,EditSubFieldAction:r.EditSubFieldAction,FieldSummary:r.FieldSummary,TemplateSummay:r.TemplateSummary,CollectionFields:en},scope:{useRefreshActionProps:w,useDestroySubField:iy,useBulkDestroySubField:cy,useSelectedRowKeys:sy,useAsyncDataSource:ay,loadCategories:m,loadDBViews:v,loadStorages:h,useNewId:ly,useCancelAction:r.useCancelAction,interfaces:t,enableInherits:(o==null?void 0:o.dialect)==="postgres",isPG:(o==null?void 0:o.dialect)==="postgres"}})})};var tn={exports:{}};/*!
2
2
  Copyright (c) 2018 Jed Watson.
3
3
  Licensed under the MIT License (MIT), see
4
4
  http://jedwatson.github.io/classnames
5
- */(function(e){(function(){var t={}.hasOwnProperty;function o(){for(var n=[],a=0;a<arguments.length;a++){var i=arguments[a];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 u in i)t.call(i,u)&&i[u]&&n.push(u)}}}return n.join(" ")}e.exports?(o.default=o,e.exports=o):window.classNames=o})()})(tn);var py=tn.exports;const on=be(py);var dy=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 a=(o=t==null?void 0:t.prefixCls)!==null&&o!==void 0?o:"ant-";return"".concat(a).concat(e!=null?e:"")}};const my=e=>{const t=dy("description-input",e),{data:{name:o,tableName:n}}=r.useCollectionRecord();return s.jsx("div",{className:on(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})},fy=Object.assign($.connect(S.Input,$.mapProps((e,t)=>j(T({},e),{suffix:s.jsx("span",{children:t!=null&&t.loading||t!=null&&t.validating?s.jsx(ee.LoadingOutlined,{}):e.suffix})})),$.mapReadPretty(my))),yy=({item:e})=>{const{t}=V.useTranslation(),o=r.useCompile();return s.jsxs(S.Space,{children:[s.jsx(S.Badge,{color:e.color}),t(o(e.name))]})},gy=$.observer(e=>{const[t,o]=d.useState(null),{refresh:n}=d.useContext(r.CollectionCategroriesContext),{refresh:a}=r.useResourceActionContext(),i=r.useAPIClient(),c=m=>D(this,null,function*(){const{active:g,over:v}=m;setTimeout(()=>{o(null)}),v&&v.id!==g.id&&(yield i.resource("collectionCategories").move({sourceId:g.id,targetId:v.id}),yield n(),yield a())});function l(m){var g;o((g=m.active)==null?void 0:g.data.current)}const u=R.useSensor(R.MouseSensor,{activationConstraint:{distance:10}}),p=R.useSensors(u);return s.jsxs(R.DndContext,{sensors:p,onDragEnd:c,onDragStart:l,children:[e.children,s.jsx(R.DragOverlay,{children:t?s.jsx("span",{style:{whiteSpace:"nowrap"},children:s.jsx(yy,{item:t})}):null})]})},{displayName:"DndProvider"}),vy=()=>{const{t:e}=V.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=>j(T({},i),{schema:ot}));!n.find(i=>i.id==="all")&&n.unshift({name:'{{t("All collections")}}',id:"all",sort:0,closable:!1,schema:ot});const a=()=>D(this,null,function*(){return t.map(i=>({label:e(o(i.name)),value:i.id}))});return s.jsx(gy,{children:s.jsx(S.Card,{bordered:!1,children:s.jsx(r.SchemaComponentOptions,{components:{CollectionFields:en,CollectionName:fy},inherit:!0,scope:{loadCategories:a},children:s.jsx($.RecursionField,{schema:ot,onlyRenderProperties:!0})})})})},hy={type:"object",properties:{[L.uid()]:{"x-component":"ConfigurationTable"}}},Cy=()=>s.jsx(r.SchemaComponent,{schema:hy,components:{CollectionCategroriesProvider:r.CollectionCategroriesProvider,ConfigurationTable:uy,ConfigurationTabs:vy,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(_e),n=r.useCompile(),[a,i]=d.useState(!1),{t:c}=V.useTranslation(),[l,u]=d.useState(null),p=r.useAPIClient(),m=g=>{const v=[...o.types.keys()].map(A=>{const _=o.types.get(A);return{value:_.name,label:n(_.label)}});g.dataSource=v};return s.jsx("div",{children:s.jsxs(r.ActionContext.Provider,{value:{visible:a,setVisible:i},children:[s.jsx(S.Dropdown,{menu:{onClick(g){if(g.key==="__empty__")return;const v=o.types.get(g.key);u(g.key),i(!0),t({type:"object",properties:{[L.uid()]:{type:"void","x-component":"Action.Drawer","x-decorator":"Form","x-decorator-props":{initialValue:{type:g.key}},title:n("{{t('Add new')}}")+" - "+n(v.label),properties:{body:{type:"void","x-component":v.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:p.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(g=>{const v=o.types.get(g);return{key:g,label:n(v==null?void 0:v.label)}}))},children:s.jsxs(S.Button,{type:"primary",icon:s.jsx(ee.PlusOutlined,{}),children:[c("Add new")," ",s.jsx(ee.DownOutlined,{})]})}),s.jsx(r.SchemaComponent,{scope:{createOnly:!1,useTestConnectionAction:jt,dialect:l,useDialectDataSource:m},schema:e})]})})},xy=()=>{const e=r.useRecord(),[t,o]=d.useState({}),n=r.usePlugin(_e),a=r.useCompile(),[i,c]=d.useState(!1),{t:l}=V.useTranslation(),u=r.useDataSourceManager(),p=()=>{const m=$.useField(),g=$.useForm(),v=r.useActionContext(),{refresh:A}=r.useResourceActionContext(),{resource:_}=r.useResourceContext(),{key:b}=r.useRecord();return{run(){return D(this,null,function*(){yield g.submit(),m.data=m.data||{},m.data.loading=!0;try{yield _.update({filterByTk:b,values:g.values}),v.setVisible(!1),u.getDataSource(b).setOptions(g.values),u.getDataSource(b).reload(),yield g.reset(),A()}catch(h){console.log(h)}finally{m.data.loading=!1}})}}};return s.jsx("div",{children:s.jsxs(r.ActionContext.Provider,{value:{visible:i,setVisible:c},children:[e.key!=="main"&&s.jsx("a",{onClick:()=>{c(!0);const m=n.types.get(e.type);o({type:"object",properties:{[L.uid()]:{type:"void","x-component":"Action.Drawer","x-decorator":"Form","x-decorator-props":{initialValue:e},title:a("{{t('Edit')}}")+" - "+a(e.displayName),properties:{body:{type:"void","x-component":m.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:p},schema:t})]})})},Sy=e=>`/admin/settings/data-source-manager/${e}/collections`,Ay=()=>{const e=r.useRecord(),t=W.useNavigate(),{t:o}=V.useTranslation();return s.jsx("div",{className:e.enabled?void 0:ae.css`
5
+ */(function(e){(function(){var t={}.hasOwnProperty;function o(){for(var n=[],a=0;a<arguments.length;a++){var i=arguments[a];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 u in i)t.call(i,u)&&i[u]&&n.push(u)}}}return n.join(" ")}e.exports?(o.default=o,e.exports=o):window.classNames=o})()})(tn);var py=tn.exports;const on=be(py);var dy=function(e,t){var o;if("ConfigContext"in x.ConfigProvider){var n=d.useContext(x.ConfigProvider.ConfigContext).getPrefixCls;return n(e,t==null?void 0:t.prefixCls)}else{var a=(o=t==null?void 0:t.prefixCls)!==null&&o!==void 0?o:"ant-";return"".concat(a).concat(e!=null?e:"")}};const my=e=>{const t=dy("description-input",e),{data:{name:o,tableName:n}}=r.useCollectionRecord();return s.jsx("div",{className:on(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})},fy=Object.assign(A.connect(x.Input,A.mapProps((e,t)=>j($({},e),{suffix:s.jsx("span",{children:t!=null&&t.loading||t!=null&&t.validating?s.jsx(ee.LoadingOutlined,{}):e.suffix})})),A.mapReadPretty(my))),yy=({item:e})=>{const{t}=V.useTranslation(),o=r.useCompile();return s.jsxs(x.Space,{children:[s.jsx(x.Badge,{color:e.color}),t(o(e.name))]})},gy=A.observer(e=>{const[t,o]=d.useState(null),{refresh:n}=d.useContext(r.CollectionCategroriesContext),{refresh:a}=r.useResourceActionContext(),i=r.useAPIClient(),c=m=>I(this,null,function*(){const{active:v,over:h}=m;setTimeout(()=>{o(null)}),h&&h.id!==v.id&&(yield i.resource("collectionCategories").move({sourceId:v.id,targetId:h.id}),yield n(),yield a())});function l(m){var v;o((v=m.active)==null?void 0:v.data.current)}const u=R.useSensor(R.MouseSensor,{activationConstraint:{distance:10}}),p=R.useSensors(u);return s.jsxs(R.DndContext,{sensors:p,onDragEnd:c,onDragStart:l,children:[e.children,s.jsx(R.DragOverlay,{children:t?s.jsx("span",{style:{whiteSpace:"nowrap"},children:s.jsx(yy,{item:t})}):null})]})},{displayName:"DndProvider"}),vy=()=>{const{t:e}=V.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=>j($({},i),{schema:ot}));!n.find(i=>i.id==="all")&&n.unshift({name:'{{t("All collections")}}',id:"all",sort:0,closable:!1,schema:ot});const a=()=>I(this,null,function*(){return t.map(i=>({label:e(o(i.name)),value:i.id}))});return s.jsx(gy,{children:s.jsx(x.Card,{bordered:!1,children:s.jsx(r.SchemaComponentOptions,{components:{CollectionFields:en,CollectionName:fy},inherit:!0,scope:{loadCategories:a},children:s.jsx(A.RecursionField,{schema:ot,onlyRenderProperties:!0})})})})},hy={type:"object",properties:{[L.uid()]:{"x-component":"ConfigurationTable"}}},Cy=()=>s.jsx(r.SchemaComponent,{schema:hy,components:{CollectionCategroriesProvider:r.CollectionCategroriesProvider,ConfigurationTable:uy,ConfigurationTabs:vy,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(_e),n=r.useCompile(),[a,i]=d.useState(!1),{t:c}=V.useTranslation(),[l,u]=d.useState(null),p=r.useAPIClient(),m=v=>{const h=[...o.types.keys()].map(w=>{const T=o.types.get(w);return{value:T.name,label:n(T.label)}});v.dataSource=h};return s.jsx("div",{children:s.jsxs(r.ActionContext.Provider,{value:{visible:a,setVisible:i},children:[s.jsx(x.Dropdown,{menu:{onClick(v){if(v.key==="__empty__")return;const h=o.types.get(v.key);u(v.key),i(!0),t({type:"object",properties:{[L.uid()]:{type:"void","x-component":"Action.Drawer","x-decorator":"Form","x-decorator-props":{initialValue:{type:v.key}},title:n("{{t('Add new')}}")+" - "+n(h.label),properties:{body:{type:"void","x-component":h.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(x.Empty,{image:x.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:p.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(v=>{const h=o.types.get(v);return{key:v,label:n(h==null?void 0:h.label)}}))},children:s.jsxs(x.Button,{type:"primary",icon:s.jsx(ee.PlusOutlined,{}),children:[c("Add new")," ",s.jsx(ee.DownOutlined,{})]})}),s.jsx(r.SchemaComponent,{scope:{createOnly:!1,useTestConnectionAction:jt,dialect:l,useDialectDataSource:m},schema:e})]})})},xy=()=>{const e=r.useRecord(),[t,o]=d.useState({}),n=r.usePlugin(_e),a=r.useCompile(),[i,c]=d.useState(!1),{t:l}=V.useTranslation(),u=r.useDataSourceManager(),p=()=>{const m=A.useField(),v=A.useForm(),h=r.useActionContext(),{refresh:w}=r.useResourceActionContext(),{resource:T}=r.useResourceContext(),{key:b}=r.useRecord();return{run(){return I(this,null,function*(){yield v.submit(),m.data=m.data||{},m.data.loading=!0;try{yield T.update({filterByTk:b,values:v.values}),h.setVisible(!1),u.getDataSource(b).setOptions(v.values),u.getDataSource(b).reload(),yield v.reset(),w()}catch(y){console.log(y)}finally{m.data.loading=!1}})}}};return s.jsx("div",{children:s.jsxs(r.ActionContext.Provider,{value:{visible:i,setVisible:c},children:[e.key!=="main"&&s.jsx("a",{onClick:()=>{c(!0);const m=n.types.get(e.type);o({type:"object",properties:{[L.uid()]:{type:"void","x-component":"Action.Drawer","x-decorator":"Form","x-decorator-props":{initialValue:e},title:a("{{t('Edit')}}")+" - "+a(e.displayName),properties:{body:{type:"void","x-component":m.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:p},schema:t})]})})},Sy=e=>`/admin/settings/data-source-manager/${e}/collections`,Ay=()=>{const e=r.useRecord(),t=W.useNavigate(),{t:o}=V.useTranslation();return s.jsx("div",{className:e.enabled?void 0:ae.css`
6
6
  .ant-btn-link {
7
7
  &:hover {
8
8
  color: rgba(0, 0, 0, 0.25) !important;
9
9
  }
10
10
  }
11
- `,children:s.jsx(S.Button,{type:"link",style:{padding:"0px"},disabled:!e.enabled,onClick:()=>{t(Sy(e.key))},role:"button","aria-label":`${e==null?void 0:e.key}-Configure`,children:o("Configure")})})},$y=()=>{const{t:e}=V.useTranslation(),t=r.usePlugin(_e),o=[...t.types.keys()].map(m=>{const g=t.types.get(m);return{value:m,label:e(g==null?void 0:g.label)}}).concat([{value:"main",label:e("Main")}]),n=r.useDataSourceManager(),a=d.useRef([]);d.useEffect(()=>()=>{n.getDataSources().forEach(m=>{a.current.includes(m.key)&&m.reload()})},[a]);const i=d.useCallback(m=>{n.removeDataSources(m)},[n]),c=d.useCallback(m=>{n.addDataSource(kt,m),a.current=[...a.current,m.key]},[]),l=()=>{const m=r.useResourceActionContext();return{onClick(){return D(this,null,function*(){var A,_;const v=(A=m==null?void 0:m.data)==null?void 0:A.data.filter(b=>b.status!=="loaded");if(v!=null&&v.length){const b=n.getDataSources(),C=v.map(y=>y.key),h=b.filter(y=>C.includes(y.key));yield Promise.all(h.map(y=>y.reload()))}(_=m==null?void 0:m.refresh)==null||_.call(m)})}}},u=()=>{const{refresh:m}=r.useResourceActionContext(),{resource:g}=r.useResourceContext(),{key:v}=r.useRecord();return{run(){return D(this,null,function*(){yield g.destroy({filterByTk:v}),i([v]),m()})}}},p=m=>{const{key:g}=r.useRecord();m.visible=g!=="main"};return s.jsx(S.Card,{bordered:!1,children:s.jsx(r.SchemaComponent,{components:{CreateDatabaseConnectAction:by,EditDatabaseConnectionAction:xy,ViewDatabaseConnectionAction:Ay},scope:{useNewId:m=>`${m}${L.uid()}`,types:o,useRefreshActionProps:l,useDestroyAction:u,dataSourceDeleteCallback:i,dataSourceCreateCallback:c,useIsAbleDelete:p},schema:Kn})})},Ty={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"}}]},nn={type:"void",title:'{{ t("Actions") }}',"x-component":"Table.Column",properties:{actions:{type:"void","x-component":"Space","x-component-props":{split:"|"},properties:{overriding:{type:"void",title:'{{ t("Overriding") }}',"x-component":"OverridingCollectionField","x-component-props":{type:"primary",currentCollection:"{{ currentCollection }}"}},view:{type:"void",title:'{{ t("View") }}',"x-component":"ViewCollectionField","x-component-props":{type:"primary"}}}}}},Fy=ae.css`
11
+ `,children:s.jsx(x.Button,{type:"link",style:{padding:"0px"},disabled:!e.enabled,onClick:()=>{t(Sy(e.key))},role:"button","aria-label":`${e==null?void 0:e.key}-Configure`,children:o("Configure")})})},$y=()=>{const{t:e}=V.useTranslation(),t=r.usePlugin(_e),o=[...t.types.keys()].map(m=>{const v=t.types.get(m);return{value:m,label:e(v==null?void 0:v.label)}}).concat([{value:"main",label:e("Main")}]),n=r.useDataSourceManager(),a=d.useRef([]);d.useEffect(()=>()=>{n.getDataSources().forEach(m=>{a.current.includes(m.key)&&m.reload()})},[a]);const i=d.useCallback(m=>{n.removeDataSources(m)},[n]),c=d.useCallback(m=>{n.addDataSource(Kt,m),a.current=[...a.current,m.key]},[]),l=()=>{const m=r.useResourceActionContext();return{onClick(){return I(this,null,function*(){var w,T;const h=(w=m==null?void 0:m.data)==null?void 0:w.data.filter(b=>b.status!=="loaded");if(h!=null&&h.length){const b=n.getDataSources(),C=h.map(f=>f.key),y=b.filter(f=>C.includes(f.key));yield Promise.all(y.map(f=>f.reload()))}(T=m==null?void 0:m.refresh)==null||T.call(m)})}}},u=()=>{const{refresh:m}=r.useResourceActionContext(),{resource:v}=r.useResourceContext(),{key:h}=r.useRecord();return{run(){return I(this,null,function*(){yield v.destroy({filterByTk:h}),i([h]),m()})}}},p=m=>{const{key:v}=r.useRecord();m.visible=v!=="main"};return s.jsx(x.Card,{bordered:!1,children:s.jsx(r.SchemaComponent,{components:{CreateDatabaseConnectAction:by,EditDatabaseConnectionAction:xy,ViewDatabaseConnectionAction:Ay},scope:{useNewId:m=>`${m}${L.uid()}`,types:o,useRefreshActionProps:l,useDestroyAction:u,dataSourceDeleteCallback:i,dataSourceCreateCallback:c,useIsAbleDelete:p},schema:kn})})},Ty={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"}}]},nn={type:"void",title:'{{ t("Actions") }}',"x-component":"Table.Column",properties:{actions:{type:"void","x-component":"Space","x-component-props":{split:"|"},properties:{overriding:{type:"void",title:'{{ t("Overriding") }}',"x-component":"OverridingCollectionField","x-component-props":{type:"primary",currentCollection:"{{ currentCollection }}"}},view:{type:"void",title:'{{ t("View") }}',"x-component":"ViewCollectionField","x-component-props":{type:"primary"}}}}}},Fy=ae.css`
12
12
  .ant-table {
13
13
  margin-left: -16px !important;
14
14
  }
@@ -33,30 +33,30 @@
33
33
  min-width: 50px;
34
34
  flex: 0;
35
35
  }
36
- `,rn="Default title for each record",_y=e=>{const t=r.useCompile(),{getInterface:o}=r.useCollectionManager_deprecated(),{t:n}=V.useTranslation(),{setState:a}=r.useResourceActionContext(),{resource:i,targetKey:c}=e.collectionResource||{},l=r.useRecord(),[u,p]=d.useState(null),{refreshCM:m,isTitleField:g,getTemplate:v}=r.useCollectionManager_deprecated(),{[c]:A,titleField:_,template:b}=l,C=v(b),h=[{dataIndex:["uiSchema","rawTitle"],title:n("Field display name"),render:y=>s.jsx("div",{style:{marginLeft:7},children:t(y)})},{dataIndex:"name",title:n("Field name")},{dataIndex:"interface",title:n("Field interface"),render:y=>{var f;return s.jsx(S.Tag,{children:t((f=o(y))==null?void 0:f.title)})}},{dataIndex:"titleField",title:n("Title field"),render:function(f,x){const E=M=>{p(x),i.update({filterByTk:A,values:{titleField:M?x.name:"id"}}).then(()=>D(this,null,function*(){yield e.refreshAsync(),p(null),m()})).catch(w=>{p(null),console.error(w)})};return g(x)?s.jsx(S.Tooltip,{title:n(rn),placement:"right",overlayInnerStyle:{textAlign:"center"},children:s.jsx(S.Switch,{"aria-label":`switch-title-field-${x.name}`,size:"small",loading:x.name===(u==null?void 0:u.name),checked:x.name===(_||"id"),onChange:E})}):null}},{dataIndex:"description",title:n("Descriptio "),render:y=>s.jsx(r.Input.ReadPretty,{value:y,ellipsis:!0})},{dataIndex:"actions",title:n("Actions"),render:(y,f)=>{const x={confirm:{title:n("Delete record"),content:n("Are you sure you want to delete it?")},useAction:r.useDestroyActionAndRefreshCM,disabled:r.isDeleteButtonDisabled(f)||(C==null?void 0:C.forbidDeletion),title:n("Delete")};return s.jsx(r.RecordProvider,{record:f,parent:l,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({},x))]})})}}];return s.jsx(S.Table,{rowKey:"name",columns:h,showHeader:!1,pagination:!1,dataSource:e.fields,rowSelection:{type:"checkbox",getCheckboxProps(y){return{"aria-label":`checkbox-${y.name}`}},onChange:y=>{a(f=>j(T({},f),{selectedRowKeys:y}))}},className:Fy})},Py=e=>{const t=r.useCompile(),{getInterface:o}=r.useCollectionManager_deprecated(),{resource:n,targetKey:a}=e.collectionResource||{},i=r.useRecord(),[c,l]=d.useState(null),{t:u}=V.useTranslation(),{refreshCM:p,isTitleField:m}=r.useCollectionManager_deprecated(),{[a]:g,titleField:v,name:A}=i,_=[{dataIndex:["uiSchema","rawTitle"],title:u("Field display name"),render:b=>s.jsx("div",{style:{marginLeft:1},children:t(b)})},{dataIndex:"name",title:u("Field name")},{dataIndex:"interface",title:u("Field interface"),render:b=>{var C;return s.jsx(S.Tag,{children:t((C=o(b))==null?void 0:C.title)})}},{dataIndex:"titleField",title:u("Title field"),render(b,C){const h=y=>{l(C),n.update({filterByTk:g,values:{titleField:y?C.name:"id"}}).then(()=>D(this,null,function*(){yield e.refreshAsync(),l(null),p()})).catch(f=>{l(null),console.error(f)})};return m(C)?s.jsx(S.Tooltip,{title:u(rn),placement:"right",overlayInnerStyle:{textAlign:"center"},children:s.jsx(S.Switch,{size:"small",loading:C.name===(c==null?void 0:c.name),checked:C.name===(v||"id"),onChange:h})}):null}},{dataIndex:"actions",title:u("Actions"),render:function(C,h){const y={type:"primary",currentCollection:A},f={type:"primary"};return s.jsx(r.RecordProvider,{record:h,parent:i,children:s.jsxs(S.Space,{children:[s.jsx(r.OverridingCollectionField,T({},y)),s.jsx(r.ViewCollectionField,T({},f))]})})}}];return s.jsx(S.Table,{rowKey:"name",columns:_,showHeader:!1,pagination:!1,dataSource:e.fields.filter(b=>b.interface)})},an=()=>{const e=r.useCompile(),t=$.useField(),{name:o,template:n}=r.useRecord(),{data:{database:a}}=r.useCurrentAppInfo(),{getInterface:i,getInheritCollections:c,getCollection:l,getCurrentCollectionFields:u,getTemplate:p}=r.useCollectionManager_deprecated(),m=d.useMemo(()=>ue.createForm(),[]),g=r.useAttach(m.createArrayField(j(T({},t.props),{basePath:""}))),{t:v}=V.useTranslation(),A=r.useResourceContext(),{refreshAsync:_}=d.useContext(r.ResourceActionContext),b=p(n),C=c(o),h=[{dataIndex:"title",title:v("Field display name"),render:F=>s.jsx("div",{className:ae.css`
36
+ `,rn="Default title for each record",_y=e=>{const t=r.useCompile(),{getInterface:o}=r.useCollectionManager_deprecated(),{t:n}=V.useTranslation(),{setState:a}=r.useResourceActionContext(),{resource:i,targetKey:c}=e.collectionResource||{},l=r.useRecord(),[u,p]=d.useState(null),{refreshCM:m,isTitleField:v,getTemplate:h}=r.useCollectionManager_deprecated(),{[c]:w,titleField:T,template:b}=l,C=h(b),y=[{dataIndex:["uiSchema","rawTitle"],title:n("Field display name"),render:f=>s.jsx("div",{style:{marginLeft:7},children:t(f)})},{dataIndex:"name",title:n("Field name")},{dataIndex:"interface",title:n("Field interface"),render:f=>{var g;return s.jsx(x.Tag,{children:t((g=o(f))==null?void 0:g.title)})}},{dataIndex:"titleField",title:n("Title field"),render:function(g,S){const D=M=>{p(S),i.update({filterByTk:w,values:{titleField:M?S.name:"id"}}).then(()=>I(this,null,function*(){yield e.refreshAsync(),p(null),m()})).catch(_=>{p(null),console.error(_)})};return v(S)?s.jsx(x.Tooltip,{title:n(rn),placement:"right",overlayInnerStyle:{textAlign:"center"},children:s.jsx(x.Switch,{"aria-label":`switch-title-field-${S.name}`,size:"small",loading:S.name===(u==null?void 0:u.name),checked:S.name===(T||"id"),onChange:D})}):null}},{dataIndex:"description",title:n("Descriptio "),render:f=>s.jsx(r.Input.ReadPretty,{value:f,ellipsis:!0})},{dataIndex:"actions",title:n("Actions"),render:(f,g)=>{const S={confirm:{title:n("Delete record"),content:n("Are you sure you want to delete it?")},useAction:r.useDestroyActionAndRefreshCM,disabled:r.isDeleteButtonDisabled(g)||(C==null?void 0:C.forbidDeletion),title:n("Delete")};return s.jsx(r.RecordProvider,{record:g,parent:l,children:s.jsxs(x.Space,{children:[s.jsx(r.EditCollectionField,{role:"button","aria-label":`edit-button-${g.name}`,type:"primary"}),s.jsx(r.Action.Link,$({},S))]})})}}];return s.jsx(x.Table,{rowKey:"name",columns:y,showHeader:!1,pagination:!1,dataSource:e.fields,rowSelection:{type:"checkbox",getCheckboxProps(f){return{"aria-label":`checkbox-${f.name}`}},onChange:f=>{a(g=>j($({},g),{selectedRowKeys:f}))}},className:Fy})},Py=e=>{const t=r.useCompile(),{getInterface:o}=r.useCollectionManager_deprecated(),{resource:n,targetKey:a}=e.collectionResource||{},i=r.useRecord(),[c,l]=d.useState(null),{t:u}=V.useTranslation(),{refreshCM:p,isTitleField:m}=r.useCollectionManager_deprecated(),{[a]:v,titleField:h,name:w}=i,T=[{dataIndex:["uiSchema","rawTitle"],title:u("Field display name"),render:b=>s.jsx("div",{style:{marginLeft:1},children:t(b)})},{dataIndex:"name",title:u("Field name")},{dataIndex:"interface",title:u("Field interface"),render:b=>{var C;return s.jsx(x.Tag,{children:t((C=o(b))==null?void 0:C.title)})}},{dataIndex:"titleField",title:u("Title field"),render(b,C){const y=f=>{l(C),n.update({filterByTk:v,values:{titleField:f?C.name:"id"}}).then(()=>I(this,null,function*(){yield e.refreshAsync(),l(null),p()})).catch(g=>{l(null),console.error(g)})};return m(C)?s.jsx(x.Tooltip,{title:u(rn),placement:"right",overlayInnerStyle:{textAlign:"center"},children:s.jsx(x.Switch,{size:"small",loading:C.name===(c==null?void 0:c.name),checked:C.name===(h||"id"),onChange:y})}):null}},{dataIndex:"actions",title:u("Actions"),render:function(C,y){const f={type:"primary",currentCollection:w},g={type:"primary"};return s.jsx(r.RecordProvider,{record:y,parent:i,children:s.jsxs(x.Space,{children:[s.jsx(r.OverridingCollectionField,$({},f)),s.jsx(r.ViewCollectionField,$({},g))]})})}}];return s.jsx(x.Table,{rowKey:"name",columns:T,showHeader:!1,pagination:!1,dataSource:e.fields.filter(b=>b.interface)})},an=()=>{const e=r.useCompile(),t=A.useField(),{name:o,template:n}=r.useRecord(),{data:{database:a}}=r.useCurrentAppInfo(),{getInterface:i,getInheritCollections:c,getCollection:l,getCurrentCollectionFields:u,getTemplate:p}=r.useCollectionManager_deprecated(),m=d.useMemo(()=>ue.createForm(),[]),v=r.useAttach(m.createArrayField(j($({},t.props),{basePath:""}))),{t:h}=V.useTranslation(),w=r.useResourceContext(),{refreshAsync:T}=d.useContext(r.ResourceActionContext),b=p(n),C=c(o),y=[{dataIndex:"title",title:h("Field display name"),render:F=>s.jsx("div",{className:ae.css`
37
37
  font-weight: 500;
38
- `,children:F})},{dataIndex:"name",title:v("Field name")},{dataIndex:"interface",title:v("Field interface")},{dataIndex:"titleField",title:v("Title field")},{dataIndex:"description",title:v("Description")},{dataIndex:"actions",title:v("Actions")}],y=u(o),f={pf:[],association:[],general:[],system:[]};y.forEach(F=>{if(F.primaryKey||F.isForeignKey)f.pf.push(F);else if(F.interface){const P=i(F.interface);(P==null?void 0:P.group)==="systemInfo"?f.system.push(F):(P==null?void 0:P.group)==="relation"?f.association.push(F):f.general.push(F)}});const x=[{key:"pf",title:v("PK & FK fields"),fields:f.pf},{key:"association",title:v("Association fields"),fields:f.association},{key:"general",title:v("General fields"),fields:f.general},{key:"system",title:v("System fields"),fields:f.system}];x.push(...C.map(F=>{const P=l(F);if(P)return{key:F,title:`${v("Inherited fields")} - `+e(P==null?void 0:P.title),inherit:!0,fields:(P==null?void 0:P.fields)||[]}}).filter(Boolean));const E={association:{sourceKey:"name",targetKey:"name"},collection:Ty,request:{resource:"collections.fields",action:"list",params:{paginate:!1,filter:{$or:[{"interface.$not":null},{"options.source.$notEmpty":!0}]},sort:["sort"]}}},M=d.useMemo(()=>({useAction:r.useBulkDestroyActionAndRefreshCM,title:v("Delete"),icon:"DeleteOutlined",disabled:b==null?void 0:b.forbidDeletion,confirm:{title:v("Delete record"),content:v("Are you sure you want to delete it?")}}),[v]),w={type:"primary",database:a},N={type:"primary"};return s.jsx(r.ResourceActionProvider,j(T({},E),{children:s.jsx($.FormContext.Provider,{value:m,children:s.jsxs($.FieldContext.Provider,{value:g,children:[s.jsxs(S.Space,{align:"end",className:ae.css`
38
+ `,children:F})},{dataIndex:"name",title:h("Field name")},{dataIndex:"interface",title:h("Field interface")},{dataIndex:"titleField",title:h("Title field")},{dataIndex:"description",title:h("Description")},{dataIndex:"actions",title:h("Actions")}],f=u(o),g={pf:[],association:[],general:[],system:[]};f.forEach(F=>{if(F.primaryKey||F.isForeignKey)g.pf.push(F);else if(F.interface){const P=i(F.interface);(P==null?void 0:P.group)==="systemInfo"?g.system.push(F):(P==null?void 0:P.group)==="relation"?g.association.push(F):g.general.push(F)}});const S=[{key:"pf",title:h("PK & FK fields"),fields:g.pf},{key:"association",title:h("Association fields"),fields:g.association},{key:"general",title:h("General fields"),fields:g.general},{key:"system",title:h("System fields"),fields:g.system}];S.push(...C.map(F=>{const P=l(F);if(P)return{key:F,title:`${h("Inherited fields")} - `+e(P==null?void 0:P.title),inherit:!0,fields:(P==null?void 0:P.fields)||[]}}).filter(Boolean));const D={association:{sourceKey:"name",targetKey:"name"},collection:Ty,request:{resource:"collections.fields",action:"list",params:{paginate:!1,filter:{$or:[{"interface.$not":null},{"options.source.$notEmpty":!0}]},sort:["sort"]}}},M=d.useMemo(()=>({useAction:r.useBulkDestroyActionAndRefreshCM,title:h("Delete"),icon:"DeleteOutlined",disabled:b==null?void 0:b.forbidDeletion,confirm:{title:h("Delete record"),content:h("Are you sure you want to delete it?")}}),[h]),_={type:"primary",database:a},N={type:"primary"};return s.jsx(r.ResourceActionProvider,j($({},D),{children:s.jsx(A.FormContext.Provider,{value:m,children:s.jsxs(A.FieldContext.Provider,{value:v,children:[s.jsxs(x.Space,{align:"end",className:ae.css`
39
39
  justify-content: flex-end;
40
40
  display: flex;
41
41
  margin-bottom: 16px;
42
- `,children:[s.jsx(r.Action,T({},M)),s.jsx(r.SyncFieldsAction,T({},N)),s.jsx(r.SyncSQLFieldsAction,{refreshCMList:_}),s.jsx(r.SchemaComponent,{schema:{type:"object",properties:T({},b.configureActions)}}),s.jsx(r.AddCollectionField,T({},w))]}),s.jsx(S.Table,{rowKey:"key",columns:h,dataSource:x.filter(F=>F.fields.length),pagination:!1,className:wy,expandable:{defaultExpandAllRows:!0,defaultExpandedRowKeys:x.map(F=>F.key),expandedRowRender:F=>F.inherit?s.jsx(Py,{fields:F.fields,collectionResource:A,refreshAsync:_}):s.jsx(_y,{fields:F.fields,collectionResource:A,refreshAsync:_})}})]})})}))},sn=e=>$.Schema.compile(e,{t:r.i18n.t}),Dy={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"}}}}},cn={type:"object",properties:{[L.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"}}}},[L.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}=V.useTranslation();return{move(n,a){return D(this,null,function*(){yield e.resource("collections").move({sourceId:n.key,targetId:a.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=`${sn(n.title)} - ${sn('{{ 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"}}}}}}}}}},Iy={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"}}}}}}}}},Oy={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"}}}}}}}}},Ey=(e,t)=>(o,n)=>{o.loading=!0,e(o,n,t).then(tt.action.bound(a=>{o.dataSource=a,o.loading=!1})).catch(console.error)},My=()=>{const[e,t]=d.useState([]);return[e,t]},jy=()=>{const e=r.useRecord(),t=$.useForm();return{run(){return D(this,null,function*(){var a,i,c;const n=(c=(i=(a=t.values)==null?void 0:a.children)==null?void 0:i.slice)==null?void 0:c.call(i);t.setValuesIn("children",n.filter(l=>l.name!==e.name))})}}},ky=()=>({run(){return D(this,null,function*(){})}}),Ky=()=>{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)},Ny=e=>`${e||""}${L.uid()}`,By=()=>{const{t:e}=V.useTranslation(),{interfaces:t,getCollections:o}=r.useCollectionManager_deprecated(),{data:{database:n}}=r.useCurrentAppInfo(),a=d.useContext(r.CollectionCategroriesContext),i=r.useAPIClient(),c=i.resource("dbViews"),l=r.useCompile(),u=(A,_,b)=>D(this,null,function*(){var f;const{targetScope:C}=_,h=((f=A.props)==null?void 0:f.name)==="inherits";return o().filter(x=>{var N;if(b!=null&&b.includes(x.template)||x.autoCreate&&x.isThrough||h&&x.template==="view")return!1;const M=!(C!=null&&C.template)||C.template.includes(x.template),w=!(C!=null&&C[(N=A.props)==null?void 0:N.name])||C[A.props.name].includes(x.name);return M&&w}).map(x=>({label:l(x.title),value:x.name}))}),p=()=>D(this,null,function*(){return a.data.map(A=>({label:l(A.name),value:A.id}))}),m=()=>D(this,null,function*(){return c.list().then(({data:A})=>{var _;return(_=A==null?void 0:A.data)==null?void 0:_.map(b=>{const C=b.schema;return{label:C?`${C}.${l(b.name)}`:b.name,value:C?`${C}_${b.name}`:b.name}})})}),g=()=>D(this,null,function*(){return i.resource("storages").list().then(({data:A})=>{var _;return(_=A==null?void 0:A.data)==null?void 0:_.map(b=>({label:e(l(b.title)),value:b.name}))})}),v=d.useContext(r.SchemaComponentContext);return s.jsx(r.SchemaComponentContext.Provider,{value:j(T({},v),{designable:!1}),children:s.jsx(r.SchemaComponent,{schema:Dy,components:{AddSubFieldAction:r.AddSubFieldAction,EditSubFieldAction:r.EditSubFieldAction,FieldSummary:r.FieldSummary,TemplateSummay:r.TemplateSummary,CollectionFieldsTable:Ag,CollectionFields:an},scope:{useDestroySubField:jy,useBulkDestroySubField:ky,useSelectedRowKeys:My,useAsyncDataSource:Ey,loadCollections:u,loadCategories:p,loadDBViews:m,loadStorages:g,useCurrentFields:Ky,useNewId:Ny,useCancelAction:r.useCancelAction,interfaces:t,enableInherits:(n==null?void 0:n.dialect)==="postgres",isPG:(n==null?void 0:n.dialect)==="postgres"}})})};var ln={exports:{}},q={};/** @license React v16.13.1
42
+ `,children:[s.jsx(r.Action,$({},M)),s.jsx(r.SyncFieldsAction,$({},N)),s.jsx(r.SyncSQLFieldsAction,{refreshCMList:T}),s.jsx(r.SchemaComponent,{schema:{type:"object",properties:$({},b.configureActions)}}),s.jsx(r.AddCollectionField,$({},_))]}),s.jsx(x.Table,{rowKey:"key",columns:y,dataSource:S.filter(F=>F.fields.length),pagination:!1,className:wy,expandable:{defaultExpandAllRows:!0,defaultExpandedRowKeys:S.map(F=>F.key),expandedRowRender:F=>F.inherit?s.jsx(Py,{fields:F.fields,collectionResource:w,refreshAsync:T}):s.jsx(_y,{fields:F.fields,collectionResource:w,refreshAsync:T})}})]})})}))},sn=e=>A.Schema.compile(e,{t:r.i18n.t}),Dy={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"}}}}},cn={type:"object",properties:{[L.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"}}}},[L.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}=V.useTranslation();return{move(n,a){return I(this,null,function*(){yield e.resource("collections").move({sourceId:n.key,targetId:a.key}),x.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=`${sn(n.title)} - ${sn('{{ 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"}}}}}}}}}},Iy={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"}}}}}}}}},Oy={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"}}}}}}}}},Ey=(e,t)=>(o,n)=>{o.loading=!0,e(o,n,t).then(tt.action.bound(a=>{o.dataSource=a,o.loading=!1})).catch(console.error)},My=()=>{const[e,t]=d.useState([]);return[e,t]},jy=()=>{const e=r.useRecord(),t=A.useForm();return{run(){return I(this,null,function*(){var a,i,c;const n=(c=(i=(a=t.values)==null?void 0:a.children)==null?void 0:i.slice)==null?void 0:c.call(i);t.setValuesIn("children",n.filter(l=>l.name!==e.name))})}}},Ky=()=>({run(){return I(this,null,function*(){})}}),ky=()=>{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)},Ny=e=>`${e||""}${L.uid()}`,By=()=>{const{t:e}=V.useTranslation(),{interfaces:t,getCollections:o}=r.useCollectionManager_deprecated(),{data:{database:n}}=r.useCurrentAppInfo(),a=d.useContext(r.CollectionCategroriesContext),i=r.useAPIClient(),c=i.resource("dbViews"),l=r.useCompile();A.useForm();const u=(T,b,C)=>I(this,null,function*(){var S;const{targetScope:y}=b,f=((S=T.props)==null?void 0:S.name)==="inherits";return o().filter(D=>{var F;if(C!=null&&C.includes(D.template)||D.autoCreate&&D.isThrough||f&&D.template==="view")return!1;const _=!(y!=null&&y.template)||y.template.includes(D.template),N=!(y!=null&&y[(F=T.props)==null?void 0:F.name])||y[T.props.name].includes(D.name);return _&&N}).map(D=>({label:l(D.title),value:D.name}))}),p=()=>I(this,null,function*(){return a.data.map(T=>({label:l(T.name),value:T.id}))}),m=()=>I(this,null,function*(){return c.list().then(({data:T})=>{var b;return(b=T==null?void 0:T.data)==null?void 0:b.map(C=>{const y=C.schema;return{label:y?`${y}.${l(C.name)}`:C.name,value:y?`${y}_${C.name}`:C.name}})})}),v=T=>I(this,null,function*(){const{fields:b}=T.form.values;return Promise.resolve({data:b}).then(({data:C})=>C==null?void 0:C.map(y=>{var f;return{label:l((f=y.uiSchema)==null?void 0:f.title)||y.name,value:y.name}}))}),h=()=>I(this,null,function*(){return i.resource("storages").list().then(({data:T})=>{var b;return(b=T==null?void 0:T.data)==null?void 0:b.map(C=>({label:e(l(C.title)),value:C.name}))})}),w=d.useContext(r.SchemaComponentContext);return s.jsx(r.SchemaComponentContext.Provider,{value:j($({},w),{designable:!1}),children:s.jsx(r.SchemaComponent,{schema:Dy,components:{AddSubFieldAction:r.AddSubFieldAction,EditSubFieldAction:r.EditSubFieldAction,FieldSummary:r.FieldSummary,TemplateSummay:r.TemplateSummary,CollectionFieldsTable:Ag,CollectionFields:an},scope:{loadFilterTargetKeys:v,useDestroySubField:jy,useBulkDestroySubField:Ky,useSelectedRowKeys:My,useAsyncDataSource:Ey,loadCollections:u,loadCategories:p,loadDBViews:m,loadStorages:h,useCurrentFields:ky,useNewId:Ny,useCancelAction:r.useCancelAction,interfaces:t,enableInherits:(n==null?void 0:n.dialect)==="postgres",isPG:(n==null?void 0:n.dialect)==="postgres"}})})};var ln={exports:{}},q={};/** @license React v16.13.1
43
43
  * react-is.production.min.js
44
44
  *
45
45
  * Copyright (c) Facebook, Inc. and its affiliates.
46
46
  *
47
47
  * This source code is licensed under the MIT license found in the
48
48
  * LICENSE file in the root directory of this source tree.
49
- */var Z=typeof Symbol=="function"&&Symbol.for,Ft=Z?Symbol.for("react.element"):60103,wt=Z?Symbol.for("react.portal"):60106,qe=Z?Symbol.for("react.fragment"):60107,Ge=Z?Symbol.for("react.strict_mode"):60108,ze=Z?Symbol.for("react.profiler"):60114,Ue=Z?Symbol.for("react.provider"):60109,He=Z?Symbol.for("react.context"):60110,_t=Z?Symbol.for("react.async_mode"):60111,We=Z?Symbol.for("react.concurrent_mode"):60111,Ye=Z?Symbol.for("react.forward_ref"):60112,Qe=Z?Symbol.for("react.suspense"):60113,Vy=Z?Symbol.for("react.suspense_list"):60120,Ze=Z?Symbol.for("react.memo"):60115,Je=Z?Symbol.for("react.lazy"):60116,Ly=Z?Symbol.for("react.block"):60121,qy=Z?Symbol.for("react.fundamental"):60117,Gy=Z?Symbol.for("react.responder"):60118,zy=Z?Symbol.for("react.scope"):60119;function X(e){if(typeof e=="object"&&e!==null){var t=e.$$typeof;switch(t){case Ft:switch(e=e.type,e){case _t:case We:case qe:case ze:case Ge:case Qe:return e;default:switch(e=e&&e.$$typeof,e){case He:case Ye:case Je:case Ze:case Ue:return e;default:return t}}case wt:return t}}}function un(e){return X(e)===We}q.AsyncMode=_t,q.ConcurrentMode=We,q.ContextConsumer=He,q.ContextProvider=Ue,q.Element=Ft,q.ForwardRef=Ye,q.Fragment=qe,q.Lazy=Je,q.Memo=Ze,q.Portal=wt,q.Profiler=ze,q.StrictMode=Ge,q.Suspense=Qe,q.isAsyncMode=function(e){return un(e)||X(e)===_t},q.isConcurrentMode=un,q.isContextConsumer=function(e){return X(e)===He},q.isContextProvider=function(e){return X(e)===Ue},q.isElement=function(e){return typeof e=="object"&&e!==null&&e.$$typeof===Ft},q.isForwardRef=function(e){return X(e)===Ye},q.isFragment=function(e){return X(e)===qe},q.isLazy=function(e){return X(e)===Je},q.isMemo=function(e){return X(e)===Ze},q.isPortal=function(e){return X(e)===wt},q.isProfiler=function(e){return X(e)===ze},q.isStrictMode=function(e){return X(e)===Ge},q.isSuspense=function(e){return X(e)===Qe},q.isValidElementType=function(e){return typeof e=="string"||typeof e=="function"||e===qe||e===We||e===ze||e===Ge||e===Qe||e===Vy||typeof e=="object"&&e!==null&&(e.$$typeof===Je||e.$$typeof===Ze||e.$$typeof===Ue||e.$$typeof===He||e.$$typeof===Ye||e.$$typeof===qy||e.$$typeof===Gy||e.$$typeof===zy||e.$$typeof===Ly)},q.typeOf=X,ln.exports=q;var Uy=ln.exports,Pt=Uy,Hy={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},Wy={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},Yy={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},pn={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},Dt={};Dt[Pt.ForwardRef]=Yy,Dt[Pt.Memo]=pn;function dn(e){return Pt.isMemo(e)?pn:Dt[e.$$typeof]||Hy}var Qy=Object.defineProperty,Zy=Object.getOwnPropertyNames,mn=Object.getOwnPropertySymbols,Jy=Object.getOwnPropertyDescriptor,Xy=Object.getPrototypeOf,fn=Object.prototype;function yn(e,t,o){if(typeof t!="string"){if(fn){var n=Xy(t);n&&n!==fn&&yn(e,n,o)}var a=Zy(t);mn&&(a=a.concat(mn(t)));for(var i=dn(e),c=dn(t),l=0;l<a.length;++l){var u=a[l];if(!Wy[u]&&!(o&&o[u])&&!(c&&c[u])&&!(i&&i[u])){var p=Jy(t,u);try{Qy(e,u,p)}catch(m){}}}}return e}var Ry=yn;const eg=be(Ry);var gn=typeof document!="undefined"?d.useLayoutEffect:d.useEffect;function tg(){try{if(typeof self!="undefined")return self}catch(e){}try{if(typeof window!="undefined")return window}catch(e){}try{if(typeof global!="undefined")return global}catch(e){}return Function("return this")()}var vn=tg(),Xe=vn.FinalizationRegistry&&new vn.FinalizationRegistry(function(e){var t;return(t=e==null?void 0:e.clean)===null||t===void 0?void 0:t.call(e)}),og=function(){function e(t,o){o===void 0&&(o=1e4),this.token={clean:t},this.expireTime=o}return e.prototype.open=function(t){var o=this;Xe?Xe.register(t,this.token,this.token):this.request=setTimeout(function(){var n,a;(a=(n=o.token)===null||n===void 0?void 0:n.clean)===null||a===void 0||a.call(n)},this.expireTime)},e.prototype.close=function(){Xe?Xe.unregister(this.token):clearTimeout(this.request)},e}(),hn=function(e){var t=!1;return Promise.resolve(0).then(function(){if(t){t=!1;return}e()}),function(){t=!0}},ng=function(e){var t=d.useRef(null);t.current=hn(e),gn(function(){t.current(),e()})},rg=function(e,t){var o=typeof Symbol=="function"&&e[Symbol.iterator];if(!o)return e;var n=o.call(e),a,i=[],c;try{for(;(t===void 0||t-- >0)&&!(a=n.next()).done;)i.push(a.value)}catch(l){c={error:l}}finally{try{a&&!a.done&&(o=n.return)&&o.call(n)}finally{if(c)throw c.error}}return i},It=[],$e={value:0},Ot=new Set;function ag(){var e=rg(d.useState([]),2),t=e[1],o=d.useRef(!1),n=d.useRef(!1);gn(function(){return o.current=!0,n.current&&(t([]),n.current=!1),function(){o.current=!1}},It);var a=d.useCallback(function(){t([])},It),i=d.useCallback(function(){if(!o.current){n.current=!0;return}$e.value===0?a():Ot.add(a)},It);return $e.value++,ng(function(){$e.value>0&&$e.value--,$e.value===0&&Ot.forEach(function(c){Ot.delete(c),c()})}),i}var Cn=Array.isArray,sg=function(e,t){var o=Cn(e),n=Cn(t);return o!==n?!1:o?e.length!==t.length?!1:e.every(function(a,i){return a===t[i]}):e===t},bn=function(e,t){var o=d.useRef(null),n=d.useRef(!1);d.useEffect(function(){n.current=!0;var a=e();return function(){if(n.current=!1,!sg(o.current,t)){a&&a();return}hn(function(){n.current||a&&a()})}},t),o.current=t},ig=function(e,t){var o=typeof Symbol=="function"&&e[Symbol.iterator];if(!o)return e;var n=o.call(e),a,i=[],c;try{for(;(t===void 0||t-- >0)&&!(a=n.next()).done;)i.push(a.value)}catch(l){c={error:l}}finally{try{a&&!a.done&&(o=n.return)&&o.call(n)}finally{if(c)throw c.error}}return i},cg=function(){function e(){}return e}();function lg(){return new cg}var ug=function(e){var t=d.useRef(null),o=d.useRef(),n=ig(d.useState(lg),1),a=n[0];return t.current||(t.current=e()),o.current||(o.current=new og(function(){t.current&&t.current.dispose()}),o.current.open(a)),bn(function(){return o.current.close(),function(){t.current&&(t.current.dispose(),t.current=null)}},[]),t.current},xn=function(e,t){var o=ag(),n=ug(function(){return new tt.Tracker(function(){typeof(t==null?void 0:t.scheduler)=="function"?t.scheduler(o):o()},t==null?void 0:t.displayName)});return n.track(e)},Te=function(){return Te=Object.assign||function(e){for(var t,o=1,n=arguments.length;o<n;o++){t=arguments[o];for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a])}return e},Te.apply(this,arguments)};function pg(e,t){var o=Te({forwardRef:!1},t),n=o.forwardRef?d.forwardRef(function(i,c){return xn(function(){return e(Te(Te({},i),{ref:c}))},o)}):function(i){return xn(function(){return e(i)},o)},a=d.memo(n);return eg(a,e),o.displayName&&(a.displayName=o.displayName),a}pg(function(e){var t=typeof e.children=="function"?e.children():e.children;return d.createElement(d.Fragment,{},t)});var dg=bn,mg=function(e){return dg(function(){return e.onMount(),function(){return e.onUnmount()}},[e]),e};const fg=e=>{var t;return((t=e["x-component"])==null?void 0:t.endsWith(".Column"))>-1},yg={body:{row:e=>s.jsx("tr",T({},e)),cell:e=>s.jsx("td",j(T({},e),{className:on(e.className,ae.css`
49
+ */var Z=typeof Symbol=="function"&&Symbol.for,Ft=Z?Symbol.for("react.element"):60103,wt=Z?Symbol.for("react.portal"):60106,qe=Z?Symbol.for("react.fragment"):60107,Ge=Z?Symbol.for("react.strict_mode"):60108,ze=Z?Symbol.for("react.profiler"):60114,Ue=Z?Symbol.for("react.provider"):60109,He=Z?Symbol.for("react.context"):60110,_t=Z?Symbol.for("react.async_mode"):60111,We=Z?Symbol.for("react.concurrent_mode"):60111,Ye=Z?Symbol.for("react.forward_ref"):60112,Qe=Z?Symbol.for("react.suspense"):60113,Vy=Z?Symbol.for("react.suspense_list"):60120,Ze=Z?Symbol.for("react.memo"):60115,Je=Z?Symbol.for("react.lazy"):60116,Ly=Z?Symbol.for("react.block"):60121,qy=Z?Symbol.for("react.fundamental"):60117,Gy=Z?Symbol.for("react.responder"):60118,zy=Z?Symbol.for("react.scope"):60119;function X(e){if(typeof e=="object"&&e!==null){var t=e.$$typeof;switch(t){case Ft:switch(e=e.type,e){case _t:case We:case qe:case ze:case Ge:case Qe:return e;default:switch(e=e&&e.$$typeof,e){case He:case Ye:case Je:case Ze:case Ue:return e;default:return t}}case wt:return t}}}function un(e){return X(e)===We}q.AsyncMode=_t,q.ConcurrentMode=We,q.ContextConsumer=He,q.ContextProvider=Ue,q.Element=Ft,q.ForwardRef=Ye,q.Fragment=qe,q.Lazy=Je,q.Memo=Ze,q.Portal=wt,q.Profiler=ze,q.StrictMode=Ge,q.Suspense=Qe,q.isAsyncMode=function(e){return un(e)||X(e)===_t},q.isConcurrentMode=un,q.isContextConsumer=function(e){return X(e)===He},q.isContextProvider=function(e){return X(e)===Ue},q.isElement=function(e){return typeof e=="object"&&e!==null&&e.$$typeof===Ft},q.isForwardRef=function(e){return X(e)===Ye},q.isFragment=function(e){return X(e)===qe},q.isLazy=function(e){return X(e)===Je},q.isMemo=function(e){return X(e)===Ze},q.isPortal=function(e){return X(e)===wt},q.isProfiler=function(e){return X(e)===ze},q.isStrictMode=function(e){return X(e)===Ge},q.isSuspense=function(e){return X(e)===Qe},q.isValidElementType=function(e){return typeof e=="string"||typeof e=="function"||e===qe||e===We||e===ze||e===Ge||e===Qe||e===Vy||typeof e=="object"&&e!==null&&(e.$$typeof===Je||e.$$typeof===Ze||e.$$typeof===Ue||e.$$typeof===He||e.$$typeof===Ye||e.$$typeof===qy||e.$$typeof===Gy||e.$$typeof===zy||e.$$typeof===Ly)},q.typeOf=X,ln.exports=q;var Uy=ln.exports,Pt=Uy,Hy={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},Wy={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},Yy={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},pn={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},Dt={};Dt[Pt.ForwardRef]=Yy,Dt[Pt.Memo]=pn;function dn(e){return Pt.isMemo(e)?pn:Dt[e.$$typeof]||Hy}var Qy=Object.defineProperty,Zy=Object.getOwnPropertyNames,mn=Object.getOwnPropertySymbols,Jy=Object.getOwnPropertyDescriptor,Xy=Object.getPrototypeOf,fn=Object.prototype;function yn(e,t,o){if(typeof t!="string"){if(fn){var n=Xy(t);n&&n!==fn&&yn(e,n,o)}var a=Zy(t);mn&&(a=a.concat(mn(t)));for(var i=dn(e),c=dn(t),l=0;l<a.length;++l){var u=a[l];if(!Wy[u]&&!(o&&o[u])&&!(c&&c[u])&&!(i&&i[u])){var p=Jy(t,u);try{Qy(e,u,p)}catch(m){}}}}return e}var Ry=yn;const eg=be(Ry);var gn=typeof document!="undefined"?d.useLayoutEffect:d.useEffect;function tg(){try{if(typeof self!="undefined")return self}catch(e){}try{if(typeof window!="undefined")return window}catch(e){}try{if(typeof global!="undefined")return global}catch(e){}return Function("return this")()}var vn=tg(),Xe=vn.FinalizationRegistry&&new vn.FinalizationRegistry(function(e){var t;return(t=e==null?void 0:e.clean)===null||t===void 0?void 0:t.call(e)}),og=function(){function e(t,o){o===void 0&&(o=1e4),this.token={clean:t},this.expireTime=o}return e.prototype.open=function(t){var o=this;Xe?Xe.register(t,this.token,this.token):this.request=setTimeout(function(){var n,a;(a=(n=o.token)===null||n===void 0?void 0:n.clean)===null||a===void 0||a.call(n)},this.expireTime)},e.prototype.close=function(){Xe?Xe.unregister(this.token):clearTimeout(this.request)},e}(),hn=function(e){var t=!1;return Promise.resolve(0).then(function(){if(t){t=!1;return}e()}),function(){t=!0}},ng=function(e){var t=d.useRef(null);t.current=hn(e),gn(function(){t.current(),e()})},rg=function(e,t){var o=typeof Symbol=="function"&&e[Symbol.iterator];if(!o)return e;var n=o.call(e),a,i=[],c;try{for(;(t===void 0||t-- >0)&&!(a=n.next()).done;)i.push(a.value)}catch(l){c={error:l}}finally{try{a&&!a.done&&(o=n.return)&&o.call(n)}finally{if(c)throw c.error}}return i},It=[],$e={value:0},Ot=new Set;function ag(){var e=rg(d.useState([]),2),t=e[1],o=d.useRef(!1),n=d.useRef(!1);gn(function(){return o.current=!0,n.current&&(t([]),n.current=!1),function(){o.current=!1}},It);var a=d.useCallback(function(){t([])},It),i=d.useCallback(function(){if(!o.current){n.current=!0;return}$e.value===0?a():Ot.add(a)},It);return $e.value++,ng(function(){$e.value>0&&$e.value--,$e.value===0&&Ot.forEach(function(c){Ot.delete(c),c()})}),i}var Cn=Array.isArray,sg=function(e,t){var o=Cn(e),n=Cn(t);return o!==n?!1:o?e.length!==t.length?!1:e.every(function(a,i){return a===t[i]}):e===t},bn=function(e,t){var o=d.useRef(null),n=d.useRef(!1);d.useEffect(function(){n.current=!0;var a=e();return function(){if(n.current=!1,!sg(o.current,t)){a&&a();return}hn(function(){n.current||a&&a()})}},t),o.current=t},ig=function(e,t){var o=typeof Symbol=="function"&&e[Symbol.iterator];if(!o)return e;var n=o.call(e),a,i=[],c;try{for(;(t===void 0||t-- >0)&&!(a=n.next()).done;)i.push(a.value)}catch(l){c={error:l}}finally{try{a&&!a.done&&(o=n.return)&&o.call(n)}finally{if(c)throw c.error}}return i},cg=function(){function e(){}return e}();function lg(){return new cg}var ug=function(e){var t=d.useRef(null),o=d.useRef(),n=ig(d.useState(lg),1),a=n[0];return t.current||(t.current=e()),o.current||(o.current=new og(function(){t.current&&t.current.dispose()}),o.current.open(a)),bn(function(){return o.current.close(),function(){t.current&&(t.current.dispose(),t.current=null)}},[]),t.current},xn=function(e,t){var o=ag(),n=ug(function(){return new tt.Tracker(function(){typeof(t==null?void 0:t.scheduler)=="function"?t.scheduler(o):o()},t==null?void 0:t.displayName)});return n.track(e)},Te=function(){return Te=Object.assign||function(e){for(var t,o=1,n=arguments.length;o<n;o++){t=arguments[o];for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a])}return e},Te.apply(this,arguments)};function pg(e,t){var o=Te({forwardRef:!1},t),n=o.forwardRef?d.forwardRef(function(i,c){return xn(function(){return e(Te(Te({},i),{ref:c}))},o)}):function(i){return xn(function(){return e(i)},o)},a=d.memo(n);return eg(a,e),o.displayName&&(a.displayName=o.displayName),a}pg(function(e){var t=typeof e.children=="function"?e.children():e.children;return d.createElement(d.Fragment,{},t)});var dg=bn,mg=function(e){return dg(function(){return e.onMount(),function(){return e.onUnmount()}},[e]),e};const fg=e=>{var t;return((t=e["x-component"])==null?void 0:t.endsWith(".Column"))>-1},yg={body:{row:e=>s.jsx("tr",$({},e)),cell:e=>s.jsx("td",j($({},e),{className:on(e.className,ae.css`
50
50
  max-width: 300px;
51
51
  overflow: hidden;
52
52
  text-overflow: ellipsis;
53
53
  white-space: nowrap;
54
- `)}))}},gg=()=>{const[e,t]=d.useState([]);return[e,t]},vg=(e,t)=>{const o=$.useField();return r.useRequest(()=>Promise.resolve({data:o.value}),e)},hg=[{dataIndex:"name",key:"name"}],Cg=new Map([["primaryAndForeignKey","PK & FK fields"],["relation","Association fields"],["systemInfo","System fields"],["basic","General fields"]]),bg=$.observer(e=>{const t=["primaryAndForeignKey","relation","basic","systemInfo"],o=$.useField(),n=r.useRecord(),{name:a}=n,{t:i}=V.useTranslation(),c=r.useCompile(),{getInterface:l,getInheritCollections:u,getCollection:p,getCurrentCollectionFields:m,getInheritedFields:g}=r.useCollectionManager_deprecated(),P=e,{showIndex:v=!0,useSelectedRowKeys:A=gg,useDataSource:_=vg,onChange:b}=P,C=et(P,["showIndex","useSelectedRowKeys","useDataSource","onChange"]),[h,y]=A(),[f,x]=d.useState([]),[E,M]=d.useState(h),w=u(a);_({onSuccess(k){o.value=(k==null?void 0:k.data)||[];const B=[],Q=new Map,H=(I,Y)=>{let G=Q.get(I);G||(G=[]),G.push(Y),Q.set(I,G)};o.value.forEach(I=>{const Y=l(I==null?void 0:I.interface);if(I!=null&&I.primaryKey||I.isForeignKey){H("primaryAndForeignKey",I);return}const G=Y==null?void 0:Y.group;switch(G){case"systemInfo":case"relation":H(G,I);break;default:H("basic",I)}}),w&&w.forEach(I=>{t.push(I),p(I).fields.map(G=>{G.interface&&(H(I,new Proxy(G,{})),o.value.push(new Proxy(G,{})))})}),t.forEach(I=>{var Y;if(((Y=Q.get(I))==null?void 0:Y.length)>0){const G=p(I);B.push({key:I,name:i(Cg.get(I))||i("Parent collection fields")+`(${c(G.title)})`,data:Q.get(I)})}}),M(t),x(B)}});const N=()=>{const k=$.useFieldSchema(),{exists:B,render:Q}=r.useSchemaInitializerRender(k["x-initializer"],k["x-initializer-props"]),H=k.reduceProperties((I,Y)=>{if(fg(Y))return I.concat([Y])},[]).map(I=>({title:s.jsx($.RecursionField,{name:I.name,schema:I,onlyRenderSelf:!0}),dataIndex:I.name,key:I.name,render:(Y,G)=>{const oe=J.findIndex(o.value,G);return s.jsx(r.RecordIndexProvider,{index:oe,children:s.jsx(r.RecordProvider,{record:G,parent:n,children:s.jsx($.RecursionField,{schema:I,name:oe,onlyRenderProperties:!0})})})}}));return B?H.concat({title:Q(),dataIndex:"TABLE_COLUMN_INITIALIZER",key:"TABLE_COLUMN_INITIALIZER"}):H},F=(k,B,Q,H)=>{const I=N();if(!e.loading){w.includes(k.key)&&(I.pop(),I.push({title:s.jsx($.RecursionField,{name:"column4",schema:nn,onlyRenderSelf:!0}),dataIndex:"column4",key:"column4",render:(G,oe)=>{const re=J.findIndex(o.value,oe);return s.jsx(r.RecordIndexProvider,{index:re,children:s.jsx(r.RecordProvider,{record:oe,parent:n,children:s.jsx(r.SchemaComponent,{scope:{currentCollection:a},schema:nn,name:re,onlyRenderProperties:!0})})})}}));const Y={rowSelection:e.rowSelection&&!w.includes(k.key)?T({type:"checkbox",selectedRowKeys:h,onChange(G){y(G)}},e.rowSelection):void 0};return s.jsx(S.Table,j(T(T({},C),Y),{components:yg,showHeader:!0,columns:I,dataSource:k.data,pagination:!1}))}};return s.jsx("div",{className:ae.css`
54
+ `)}))}},gg=()=>{const[e,t]=d.useState([]);return[e,t]},vg=(e,t)=>{const o=A.useField();return r.useRequest(()=>Promise.resolve({data:o.value}),e)},hg=[{dataIndex:"name",key:"name"}],Cg=new Map([["primaryAndForeignKey","PK & FK fields"],["relation","Association fields"],["systemInfo","System fields"],["basic","General fields"]]),bg=A.observer(e=>{const t=["primaryAndForeignKey","relation","basic","systemInfo"],o=A.useField(),n=r.useRecord(),{name:a}=n,{t:i}=V.useTranslation(),c=r.useCompile(),{getInterface:l,getInheritCollections:u,getCollection:p,getCurrentCollectionFields:m,getInheritedFields:v}=r.useCollectionManager_deprecated(),P=e,{showIndex:h=!0,useSelectedRowKeys:w=gg,useDataSource:T=vg,onChange:b}=P,C=et(P,["showIndex","useSelectedRowKeys","useDataSource","onChange"]),[y,f]=w(),[g,S]=d.useState([]),[D,M]=d.useState(y),_=u(a);T({onSuccess(K){o.value=(K==null?void 0:K.data)||[];const B=[],Q=new Map,H=(O,Y)=>{let G=Q.get(O);G||(G=[]),G.push(Y),Q.set(O,G)};o.value.forEach(O=>{const Y=l(O==null?void 0:O.interface);if(O!=null&&O.primaryKey||O.isForeignKey){H("primaryAndForeignKey",O);return}const G=Y==null?void 0:Y.group;switch(G){case"systemInfo":case"relation":H(G,O);break;default:H("basic",O)}}),_&&_.forEach(O=>{t.push(O),p(O).fields.map(G=>{G.interface&&(H(O,new Proxy(G,{})),o.value.push(new Proxy(G,{})))})}),t.forEach(O=>{var Y;if(((Y=Q.get(O))==null?void 0:Y.length)>0){const G=p(O);B.push({key:O,name:i(Cg.get(O))||i("Parent collection fields")+`(${c(G.title)})`,data:Q.get(O)})}}),M(t),S(B)}});const N=()=>{const K=A.useFieldSchema(),{exists:B,render:Q}=r.useSchemaInitializerRender(K["x-initializer"],K["x-initializer-props"]),H=K.reduceProperties((O,Y)=>{if(fg(Y))return O.concat([Y])},[]).map(O=>({title:s.jsx(A.RecursionField,{name:O.name,schema:O,onlyRenderSelf:!0}),dataIndex:O.name,key:O.name,render:(Y,G)=>{const oe=J.findIndex(o.value,G);return s.jsx(r.RecordIndexProvider,{index:oe,children:s.jsx(r.RecordProvider,{record:G,parent:n,children:s.jsx(A.RecursionField,{schema:O,name:oe,onlyRenderProperties:!0})})})}}));return B?H.concat({title:Q(),dataIndex:"TABLE_COLUMN_INITIALIZER",key:"TABLE_COLUMN_INITIALIZER"}):H},F=(K,B,Q,H)=>{const O=N();if(!e.loading){_.includes(K.key)&&(O.pop(),O.push({title:s.jsx(A.RecursionField,{name:"column4",schema:nn,onlyRenderSelf:!0}),dataIndex:"column4",key:"column4",render:(G,oe)=>{const re=J.findIndex(o.value,oe);return s.jsx(r.RecordIndexProvider,{index:re,children:s.jsx(r.RecordProvider,{record:oe,parent:n,children:s.jsx(r.SchemaComponent,{scope:{currentCollection:a},schema:nn,name:re,onlyRenderProperties:!0})})})}}));const Y={rowSelection:e.rowSelection&&!_.includes(K.key)?$({type:"checkbox",selectedRowKeys:y,onChange(G){f(G)}},e.rowSelection):void 0};return s.jsx(x.Table,j($($({},C),Y),{components:yg,showHeader:!0,columns:O,dataSource:K.data,pagination:!1}))}};return s.jsx("div",{className:ae.css`
55
55
  .ant-table {
56
56
  overflow-x: auto;
57
57
  overflow-y: hidden;
58
58
  }
59
- `,children:s.jsx(S.Table,{showHeader:!1,loading:e==null?void 0:e.loading,columns:hg,dataSource:f,pagination:!1,expandable:{expandedRowRender:F,expandedRowKeys:E},onExpand:(k,B)=>{let Q=[];k?Q=E.concat([B.key]):Q=E.filter(H=>H!==B.key),M(Q)}})})},{displayName:"CollectionFieldsTableArray"}),xg=()=>{var t;const e=r.useAsyncData();return[(t=e==null?void 0:e.state)==null?void 0:t.selectedRowKeys,o=>{var n;return(n=e==null?void 0:e.setState)==null?void 0:n.call(e,{selectedRowKeys:o})}]},Sg=(e,t)=>{const{request:o,dataSource:n}=t,a=r.useRequest(o(t),j(T({},e),{manual:!0}));return o?(a.run(),a):Promise.resolve({data:n})},Ag=$.observer(e=>{const{rowKey:t="id",useDataSource:o=Sg,useSelectedRowKeys:n=xg}=e,a=$.useField(),i=$.useFieldSchema(),c=d.useMemo(()=>ue.createForm(),[]),l=mg(c.createArrayField(j(T({},a.props),{basePath:""}))),u=o({uid:i["x-uid"],onSuccess(p){c.setValues({[i.name]:p==null?void 0:p.data})}},e);return s.jsx(r.AsyncDataProvider,{value:u,children:s.jsx($.FormContext.Provider,{value:c,children:s.jsx($.FieldContext.Provider,{value:l,children:s.jsx(bg,j(T({},e),{rowKey:t,loading:u==null?void 0:u.loading,useSelectedRowKeys:n,pagination:!1}))})})})},{displayName:"CollectionFieldsTable"});function $g(e){const{attributes:t,listeners:o,setNodeRef:n}=R.useDraggable({id:e.id,data:e.data});return s.jsx("div",j(T(T({ref:n},o),t),{children:s.jsx("div",{children:e.children})}))}function Tg(e){const{isOver:t,setNodeRef:o}=R.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 Fg=$.observer(({item:e})=>s.jsx(Tg,{id:e.id.toString(),data:e,children:s.jsx("div",{children:s.jsx($g,{id:e.id.toString(),data:e,children:s.jsx(Sn,{item:e})})})}),{displayName:"TabTitle"}),Sn=({item:e})=>{const{t}=V.useTranslation(),o=r.useCompile();return s.jsxs(S.Space,{children:[s.jsx(S.Badge,{color:e.color}),t(o(e.name))]})},wg=$.observer(e=>{const[t,o]=d.useState(null),{refresh:n}=d.useContext(r.CollectionCategroriesContext),{refresh:a}=r.useResourceActionContext(),i=r.useAPIClient(),c=m=>D(this,null,function*(){const{active:g,over:v}=m;setTimeout(()=>{o(null)}),v&&v.id!==g.id&&(yield i.resource("collectionCategories").move({sourceId:g.id,targetId:v.id}),yield n(),yield a())});function l(m){var g;o((g=m.active)==null?void 0:g.data.current)}const u=R.useSensor(R.MouseSensor,{activationConstraint:{distance:10}}),p=R.useSensors(u);return s.jsxs(R.DndContext,{sensors:p,onDragEnd:c,onDragStart:l,children:[e.children,s.jsx(R.DragOverlay,{children:t?s.jsx("span",{style:{whiteSpace:"nowrap"},children:s.jsx(Sn,{item:t})}):null})]})},{displayName:"DndProvider"}),_g=()=>{const{t:e}=V.useTranslation(),{data:t,refresh:o}=d.useContext(r.CollectionCategroriesContext),{refresh:n,run:a,defaultRequest:i,setState:c}=r.useResourceActionContext(),[l,u]=d.useState({tab:"all"}),[p,m]=d.useState(l.tab),g=r.useCompile(),v=r.useAPIClient(),{modal:A}=S.App.useApp(),_=d.useMemo(()=>{if(!t)return[];const f=t.sort((x,E)=>E.sort-x.sort).concat().map(x=>j(T({},x),{schema:cn}));return!f.find(x=>x.id==="all")&&f.unshift({name:'{{t("All collections")}}',id:"all",sort:0,closable:!1,schema:cn}),f},[t]);d.useEffect(()=>{l.tab!=="all"&&b(l.tab)},[]);const b=f=>{var x;if(u({tab:f}),m(L.uid()),f!=="all"){const M={$and:[(x=i==null?void 0:i.params)==null?void 0:x.filter,{"category.id":f}]};a({filter:M}),c==null||c({category:[+f],params:[{filter:M}]})}else a(),c==null||c({category:[],params:[]})},C=f=>{A.confirm({title:g("{{t('Delete category')}}"),content:g("{{t('Are you sure you want to delete it?')}}"),onOk:()=>D(this,null,function*(){yield v.resource("collectionCategories").destroy({filter:{id:f}}),f===+l.tab&&u({tab:"all"}),yield o(),yield n()})})},h=()=>D(this,null,function*(){return t.map(f=>({label:e(g(f.name)),value:f.id}))}),y=J.memoize(f=>({items:[{key:"edit",label:s.jsx(r.SchemaComponent,{schema:{type:"void",properties:{[L.uid()]:{"x-component":"EditCategory","x-component-props":{item:f}}}}})},{key:"delete",label:g("{{t('Delete category')}}"),onClick:()=>C(f.id)}]}));return t?s.jsx(wg,{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:b,defaultActiveKey:l.tab||"all",type:"editable-card",destroyInactiveTabPane:!0,tabBarStyle:{marginBottom:"0px"},items:_.map(f=>({label:f.id!=="all"?s.jsx("div",{"data-no-dnd":"true",children:s.jsx(Fg,{item:f})}):g(f.name),key:String(f.id),closable:f.closable,closeIcon:s.jsx(S.Dropdown,{menu:y(f),children:s.jsx(ee.MenuOutlined,{role:"button","aria-label":g(f.name),style:{padding:8,margin:"-8px"}})}),children:s.jsx(S.Card,{bordered:!1,children:s.jsx(r.SchemaComponentOptions,{components:{CollectionFields:an},inherit:!0,scope:{loadCategories:h,categoryVisible:f.id==="all",categoryId:f.id},children:s.jsx($.RecursionField,{name:p,schema:f.schema,onlyRenderProperties:!0})})})}))})}):null},Pg=()=>{const e=$.useForm(),t=r.useActionContext(),{refresh:o}=d.useContext(r.CollectionCategroriesContext),n=r.useAPIClient();return{run(){return D(this,null,function*(){yield e.submit();const i=J.cloneDeep(e.values);yield n.resource("collectionCategories").create({values:T({},i)}),t.setVisible(!1),yield e.reset(),yield o()})}}},Dg=e=>s.jsx(An,T({},e)),An=e=>{const{scope:t,getContainer:o,children:n}=e,[a,i]=d.useState(!1),{t:c}=V.useTranslation();return s.jsxs(r.ActionContextProvider,{value:{visible:a,setVisible:i},children:[s.jsx("div",{onClick:()=>i(!0),title:c("Add category"),children:n||s.jsx(ee.PlusOutlined,{})}),s.jsx(r.SchemaComponent,{schema:Iy,components:{CollectionCategory:r.CollectionCategory,CollectionTemplateTag:r.CollectionTemplateTag},scope:T({getContainer:o,useCancelAction:r.useCancelAction,createOnly:!0,useCreateCategry:Pg},t)})]})},Ig=()=>{const e=$.useForm(),t=r.useActionContext(),{refresh:o}=d.useContext(r.CollectionCategroriesContext),{refresh:n}=r.useResourceActionContext(),a=r.useAPIClient(),{id:i}=r.useRecord();return{run(){return D(this,null,function*(){yield e.submit();const l=J.cloneDeep(e.values);yield a.resource("collectionCategories").update({filter:{id:i},values:T({},l)}),t.setVisible(!1),yield e.reset(),yield o(),yield n()})}}},Og=e=>{const t=r.useRecord(),o=r.useRequest(()=>Promise.resolve({data:J.cloneDeep(t)}),j(T({},e),{manual:!0})),n=r.useActionContext();return d.useEffect(()=>{n.visible&&o.run()},[n.visible]),o},Eg=e=>s.jsx($n,T({},e)),$n=e=>{const{scope:t,getContainer:o,item:n,children:a}=e,[i,c]=d.useState(!1),l=r.useCompile();return s.jsx(r.RecordProvider,{record:n,children:s.jsxs(r.ActionContextProvider,{value:{visible:i,setVisible:c},children:[s.jsx(s.Fragment,{children:a||s.jsx("span",{onClick:()=>c(!0),children:l('{{ t("Edit category") }}')})}),s.jsx(r.SchemaComponent,{schema:Oy,scope:T({getContainer:o,useCancelAction:r.useCancelAction,createOnly:!0,useEditCategry:Ig,useValuesFromRecord:Og},t)})]})})};ue.registerValidateFormats({uid:/^[a-zA-Z][a-zA-Z0-9_-]*$/});const Mg={type:"object",properties:{[L.uid()]:{"x-component":"ConfigurationTable"}}},jg=()=>s.jsx(r.SchemaComponent,{schema:Mg,components:{CollectionCategroriesProvider:r.CollectionCategroriesProvider,ConfigurationTable:By,ConfigurationTabs:_g,AddFieldAction:r.AddFieldAction,AddCollectionField:r.AddCollectionField,AddCollection:r.AddCollection,AddCollectionAction:r.AddCollectionAction,AddCategoryAction:An,AddCategory:Dg,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:Eg,EditCategoryAction:$n,SyncFieldsAction:r.SyncFieldsAction,SyncFieldsActionCom:r.SyncFieldsActionCom,SyncSQLFieldsAction:r.SyncSQLFieldsAction}}),Fe=d.createContext(null);Fe.displayName="PermissionContext";const kg=e=>{const t=r.useAPIClient(),o=r.useRecord(),{t:n}=V.useTranslation(),a=d.useContext(we),{snippets:i}=a;i==null||i.forEach(u=>{a[u]=!0});const[c,l]=d.useState(a);return d.useEffect(()=>{l(a)},[a]),s.jsx(Fe.Provider,{value:{currentDataSource:o,currentRecord:c,update:(u,p)=>D(this,null,function*(){yield t.request({url:`dataSources/${o.key}/roles:update`,data:p.values,method:"post",params:{filterByTk:p.values.roleName}}),l(T(T({},c),p.values)),S.message.success(n("Saved successfully"))})},children:e.children})},Kg=e=>{const t=d.useContext(we),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})})},Ng=e=>{const t=r.useRecord(),{visible:o}=r.useActionContext(),{currentDataSource:n}=d.useContext(Fe),a=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}}},j(T({},e),{manual:!0}));return d.useEffect(()=>{if(!t.exists){e.onSuccess({data:{}});return}o&&a.run()},[o,t.exists]),a},Bg=()=>{const e=$.useForm(),t=r.useAPIClient(),o=r.useRecord(),n=r.useActionContext(),{refresh:a}=r.useResourceActionContext(),{currentDataSource:i}=d.useContext(Fe);return{run(){return D(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:j(T({},e.values),{name:o.name,dataSourceKey:i.key})}),n.setVisible(!1),a()})}}},Vg={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:{[L.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:Ng},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:Bg}}}}}}}}}}}}}}}}}},Tn={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}}]},Lg={type:"object",properties:{block1:{type:"void","x-decorator":"ResourceActionProvider","x-decorator-props":{collection:Tn,resourceName:"dataSources",request:{resource:"dataSources",action:"list",params:{pageSize:50,showAnonymous:!0,appends:[]}}},"x-component":"CollectionProvider_deprecated","x-component-props":{collection:Tn},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:Vg}}}}}}}}}}}}}}}}}},Et=d.createContext([]);Et.displayName="AvailableActionsContext";const qg=e=>{const{data:t,loading:o}=r.useRequest({resource:"availableActions",action:"list"});return o?s.jsx(S.Spin,{}):s.jsx(Et.Provider,{value:t==null?void 0:t.data,children:e.children})},Fn=()=>d.useContext(Et),Gg=()=>{const e=r.useRecord();return s.jsx("div",{children:s.jsx(r.SchemaComponentContext.Provider,{value:{designable:!1},children:s.jsx(qg,{children:s.jsx(r.SchemaComponent,{schema:Lg,components:{SettingCenterPermissionProvider:r.SettingCenterPermissionProvider,PermissionProvider:kg},scope:{dataSourceKey:e.key}})})})})},zg=()=>{const{update:e}=d.useContext(Fe),{t}=V.useTranslation(),{key:o}=r.useRecord();return s.jsx(r.SchemaComponent,{schema:{type:"void",name:"form","x-component":"Form","x-component-props":{useValues:n=>{const a=r.useAPIClient(),i=d.useContext(we);return r.useRequest(()=>a.resource(`dataSources/${o}/roles`).get({filterByTk:i.name}).then(c=>{var u,p;const l=(u=c==null?void 0:c.data)==null?void 0:u.data;return(p=l.snippets)==null||p.forEach(m=>{l[m]=!0}),{data:l}}),n)},effects(){ue.onFieldChange("*",(n,a)=>D(this,null,function*(){a.modified&&(yield e(n,a))}))}},properties:{"strategy.actions":{description:t("All collections use general action permissions by default; permission configured individually will override the default one."),"x-component":"StrategyActions"}}}})},Ug=e=>{var o;if(!e)return{};const t={};return(o=e==null?void 0:e.forEach)==null||o.call(e,n=>{const[a,i]=n.split(":");t[a]=i||"all"}),t},wn=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},Hg=$.connect(e=>{const{onChange:t}=e,o=Fn(),n=r.useCompile(),{t:a}=V.useTranslation(),i=$.useField(),c=Ug(i.value);return s.jsx("div",{children:s.jsx(S.Table,{size:"small",pagination:!1,columns:[{dataIndex:"displayName",title:a("Action display name"),render:l=>n(l)},{dataIndex:"onNewRecord",title:a("Action type"),render:l=>l?s.jsx(S.Tag,{color:"green",children:a("Action on new records")}):s.jsx(S.Tag,{color:"geekblue",children:a("Action on existing records")})},{dataIndex:"enabled",title:a("Allow"),render:(l,u)=>s.jsx(S.Checkbox,{checked:l,onChange:p=>{l?delete c[u.name]:c[u.name]="all",t(wn(c))}})},{dataIndex:"scope",title:a("Data scope"),render:(l,u)=>!u.onNewRecord&&s.jsx(S.Select,{"data-testid":"select-data-scope",popupMatchSelectWidth:!1,size:"small",value:l,options:[{label:a("All records"),value:"all"},{label:a("Own records"),value:"own"}],onChange:p=>{c[u.name]=p,t(wn(c))}})}],dataSource:o==null?void 0:o.map(l=>{let u="all",p=!1;return c[l.name]&&(p=!0,u=c[l.name]),j(T({},l),{enabled:p,scope:u})})})})}),Wg=On.createStyles(({css:e})=>e`
59
+ `,children:s.jsx(x.Table,{showHeader:!1,loading:e==null?void 0:e.loading,columns:hg,dataSource:g,pagination:!1,expandable:{expandedRowRender:F,expandedRowKeys:D},onExpand:(K,B)=>{let Q=[];K?Q=D.concat([B.key]):Q=D.filter(H=>H!==B.key),M(Q)}})})},{displayName:"CollectionFieldsTableArray"}),xg=()=>{var t;const e=r.useAsyncData();return[(t=e==null?void 0:e.state)==null?void 0:t.selectedRowKeys,o=>{var n;return(n=e==null?void 0:e.setState)==null?void 0:n.call(e,{selectedRowKeys:o})}]},Sg=(e,t)=>{const{request:o,dataSource:n}=t,a=r.useRequest(o(t),j($({},e),{manual:!0}));return o?(a.run(),a):Promise.resolve({data:n})},Ag=A.observer(e=>{const{rowKey:t="id",useDataSource:o=Sg,useSelectedRowKeys:n=xg}=e,a=A.useField(),i=A.useFieldSchema(),c=d.useMemo(()=>ue.createForm(),[]),l=mg(c.createArrayField(j($({},a.props),{basePath:""}))),u=o({uid:i["x-uid"],onSuccess(p){c.setValues({[i.name]:p==null?void 0:p.data})}},e);return s.jsx(r.AsyncDataProvider,{value:u,children:s.jsx(A.FormContext.Provider,{value:c,children:s.jsx(A.FieldContext.Provider,{value:l,children:s.jsx(bg,j($({},e),{rowKey:t,loading:u==null?void 0:u.loading,useSelectedRowKeys:n,pagination:!1}))})})})},{displayName:"CollectionFieldsTable"});function $g(e){const{attributes:t,listeners:o,setNodeRef:n}=R.useDraggable({id:e.id,data:e.data});return s.jsx("div",j($($({ref:n},o),t),{children:s.jsx("div",{children:e.children})}))}function Tg(e){const{isOver:t,setNodeRef:o}=R.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 Fg=A.observer(({item:e})=>s.jsx(Tg,{id:e.id.toString(),data:e,children:s.jsx("div",{children:s.jsx($g,{id:e.id.toString(),data:e,children:s.jsx(Sn,{item:e})})})}),{displayName:"TabTitle"}),Sn=({item:e})=>{const{t}=V.useTranslation(),o=r.useCompile();return s.jsxs(x.Space,{children:[s.jsx(x.Badge,{color:e.color}),t(o(e.name))]})},wg=A.observer(e=>{const[t,o]=d.useState(null),{refresh:n}=d.useContext(r.CollectionCategroriesContext),{refresh:a}=r.useResourceActionContext(),i=r.useAPIClient(),c=m=>I(this,null,function*(){const{active:v,over:h}=m;setTimeout(()=>{o(null)}),h&&h.id!==v.id&&(yield i.resource("collectionCategories").move({sourceId:v.id,targetId:h.id}),yield n(),yield a())});function l(m){var v;o((v=m.active)==null?void 0:v.data.current)}const u=R.useSensor(R.MouseSensor,{activationConstraint:{distance:10}}),p=R.useSensors(u);return s.jsxs(R.DndContext,{sensors:p,onDragEnd:c,onDragStart:l,children:[e.children,s.jsx(R.DragOverlay,{children:t?s.jsx("span",{style:{whiteSpace:"nowrap"},children:s.jsx(Sn,{item:t})}):null})]})},{displayName:"DndProvider"}),_g=()=>{const{t:e}=V.useTranslation(),{data:t,refresh:o}=d.useContext(r.CollectionCategroriesContext),{refresh:n,run:a,defaultRequest:i,setState:c}=r.useResourceActionContext(),[l,u]=d.useState({tab:"all"}),[p,m]=d.useState(l.tab),v=r.useCompile(),h=r.useAPIClient(),{modal:w}=x.App.useApp(),T=d.useMemo(()=>{if(!t)return[];const g=t.sort((S,D)=>D.sort-S.sort).concat().map(S=>j($({},S),{schema:cn}));return!g.find(S=>S.id==="all")&&g.unshift({name:'{{t("All collections")}}',id:"all",sort:0,closable:!1,schema:cn}),g},[t]);d.useEffect(()=>{l.tab!=="all"&&b(l.tab)},[]);const b=g=>{var S;if(u({tab:g}),m(L.uid()),g!=="all"){const M={$and:[(S=i==null?void 0:i.params)==null?void 0:S.filter,{"category.id":g}]};a({filter:M}),c==null||c({category:[+g],params:[{filter:M}]})}else a(),c==null||c({category:[],params:[]})},C=g=>{w.confirm({title:v("{{t('Delete category')}}"),content:v("{{t('Are you sure you want to delete it?')}}"),onOk:()=>I(this,null,function*(){yield h.resource("collectionCategories").destroy({filter:{id:g}}),g===+l.tab&&u({tab:"all"}),yield o(),yield n()})})},y=()=>I(this,null,function*(){return t.map(g=>({label:e(v(g.name)),value:g.id}))}),f=J.memoize(g=>({items:[{key:"edit",label:s.jsx(r.SchemaComponent,{schema:{type:"void",properties:{[L.uid()]:{"x-component":"EditCategory","x-component-props":{item:g}}}}})},{key:"delete",label:v("{{t('Delete category')}}"),onClick:()=>C(g.id)}]}));return t?s.jsx(wg,{children:s.jsx(x.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:b,defaultActiveKey:l.tab||"all",type:"editable-card",destroyInactiveTabPane:!0,tabBarStyle:{marginBottom:"0px"},items:T.map(g=>({label:g.id!=="all"?s.jsx("div",{"data-no-dnd":"true",children:s.jsx(Fg,{item:g})}):v(g.name),key:String(g.id),closable:g.closable,closeIcon:s.jsx(x.Dropdown,{menu:f(g),children:s.jsx(ee.MenuOutlined,{role:"button","aria-label":v(g.name),style:{padding:8,margin:"-8px"}})}),children:s.jsx(x.Card,{bordered:!1,children:s.jsx(r.SchemaComponentOptions,{components:{CollectionFields:an},inherit:!0,scope:{loadCategories:y,categoryVisible:g.id==="all",categoryId:g.id},children:s.jsx(A.RecursionField,{name:p,schema:g.schema,onlyRenderProperties:!0})})})}))})}):null},Pg=()=>{const e=A.useForm(),t=r.useActionContext(),{refresh:o}=d.useContext(r.CollectionCategroriesContext),n=r.useAPIClient();return{run(){return I(this,null,function*(){yield e.submit();const i=J.cloneDeep(e.values);yield n.resource("collectionCategories").create({values:$({},i)}),t.setVisible(!1),yield e.reset(),yield o()})}}},Dg=e=>s.jsx(An,$({},e)),An=e=>{const{scope:t,getContainer:o,children:n}=e,[a,i]=d.useState(!1),{t:c}=V.useTranslation();return s.jsxs(r.ActionContextProvider,{value:{visible:a,setVisible:i},children:[s.jsx("div",{onClick:()=>i(!0),title:c("Add category"),children:n||s.jsx(ee.PlusOutlined,{})}),s.jsx(r.SchemaComponent,{schema:Iy,components:{CollectionCategory:r.CollectionCategory,CollectionTemplateTag:r.CollectionTemplateTag},scope:$({getContainer:o,useCancelAction:r.useCancelAction,createOnly:!0,useCreateCategry:Pg},t)})]})},Ig=()=>{const e=A.useForm(),t=r.useActionContext(),{refresh:o}=d.useContext(r.CollectionCategroriesContext),{refresh:n}=r.useResourceActionContext(),a=r.useAPIClient(),{id:i}=r.useRecord();return{run(){return I(this,null,function*(){yield e.submit();const l=J.cloneDeep(e.values);yield a.resource("collectionCategories").update({filter:{id:i},values:$({},l)}),t.setVisible(!1),yield e.reset(),yield o(),yield n()})}}},Og=e=>{const t=r.useRecord(),o=r.useRequest(()=>Promise.resolve({data:J.cloneDeep(t)}),j($({},e),{manual:!0})),n=r.useActionContext();return d.useEffect(()=>{n.visible&&o.run()},[n.visible]),o},Eg=e=>s.jsx($n,$({},e)),$n=e=>{const{scope:t,getContainer:o,item:n,children:a}=e,[i,c]=d.useState(!1),l=r.useCompile();return s.jsx(r.RecordProvider,{record:n,children:s.jsxs(r.ActionContextProvider,{value:{visible:i,setVisible:c},children:[s.jsx(s.Fragment,{children:a||s.jsx("span",{onClick:()=>c(!0),children:l('{{ t("Edit category") }}')})}),s.jsx(r.SchemaComponent,{schema:Oy,scope:$({getContainer:o,useCancelAction:r.useCancelAction,createOnly:!0,useEditCategry:Ig,useValuesFromRecord:Og},t)})]})})};ue.registerValidateFormats({uid:/^[a-zA-Z][a-zA-Z0-9_-]*$/});const Mg={type:"object",properties:{[L.uid()]:{"x-component":"ConfigurationTable"}}},jg=()=>s.jsx(r.SchemaComponent,{schema:Mg,components:{CollectionCategroriesProvider:r.CollectionCategroriesProvider,ConfigurationTable:By,ConfigurationTabs:_g,AddFieldAction:r.AddFieldAction,AddCollectionField:r.AddCollectionField,AddCollection:r.AddCollection,AddCollectionAction:r.AddCollectionAction,AddCategoryAction:An,AddCategory:Dg,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:Eg,EditCategoryAction:$n,SyncFieldsAction:r.SyncFieldsAction,SyncFieldsActionCom:r.SyncFieldsActionCom,SyncSQLFieldsAction:r.SyncSQLFieldsAction}}),Fe=d.createContext(null);Fe.displayName="PermissionContext";const Kg=e=>{const t=r.useAPIClient(),o=r.useRecord(),{t:n}=V.useTranslation(),a=d.useContext(we),{snippets:i}=a;i==null||i.forEach(u=>{a[u]=!0});const[c,l]=d.useState(a);return d.useEffect(()=>{l(a)},[a]),s.jsx(Fe.Provider,{value:{currentDataSource:o,currentRecord:c,update:(u,p)=>I(this,null,function*(){yield t.request({url:`dataSources/${o.key}/roles:update`,data:p.values,method:"post",params:{filterByTk:p.values.roleName}}),l($($({},c),p.values)),x.message.success(n("Saved successfully"))})},children:e.children})},kg=e=>{const t=d.useContext(we),o=r.useRecord();return s.jsx(r.RecordContext_deprecated.Provider,{value:$({},t),children:s.jsx(r.SchemaComponentOptions,{scope:{dataSourceKey:o.key},children:e.children})})},Ng=e=>{const t=r.useRecord(),{visible:o}=r.useActionContext(),{currentDataSource:n}=d.useContext(Fe),a=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}}},j($({},e),{manual:!0}));return d.useEffect(()=>{if(!t.exists){e.onSuccess({data:{}});return}o&&a.run()},[o,t.exists]),a},Bg=()=>{const e=A.useForm(),t=r.useAPIClient(),o=r.useRecord(),n=r.useActionContext(),{refresh:a}=r.useResourceActionContext(),{currentDataSource:i}=d.useContext(Fe);return{run(){return I(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:j($({},e.values),{name:o.name,dataSourceKey:i.key})}),n.setVisible(!1),a()})}}},Vg={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:{[L.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:Ng},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:Bg}}}}}}}}}}}}}}}}}},Tn={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}}]},Lg={type:"object",properties:{block1:{type:"void","x-decorator":"ResourceActionProvider","x-decorator-props":{collection:Tn,resourceName:"dataSources",request:{resource:"dataSources",action:"list",params:{pageSize:50,showAnonymous:!0,appends:[]}}},"x-component":"CollectionProvider_deprecated","x-component-props":{collection:Tn},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:Vg}}}}}}}}}}}}}}}}}},Et=d.createContext([]);Et.displayName="AvailableActionsContext";const qg=e=>{const{data:t,loading:o}=r.useRequest({resource:"availableActions",action:"list"});return o?s.jsx(x.Spin,{}):s.jsx(Et.Provider,{value:t==null?void 0:t.data,children:e.children})},Fn=()=>d.useContext(Et),Gg=()=>{const e=r.useRecord();return s.jsx("div",{children:s.jsx(r.SchemaComponentContext.Provider,{value:{designable:!1},children:s.jsx(qg,{children:s.jsx(r.SchemaComponent,{schema:Lg,components:{SettingCenterPermissionProvider:r.SettingCenterPermissionProvider,PermissionProvider:Kg},scope:{dataSourceKey:e.key}})})})})},zg=()=>{const{update:e}=d.useContext(Fe),{t}=V.useTranslation(),{key:o}=r.useRecord();return s.jsx(r.SchemaComponent,{schema:{type:"void",name:"form","x-component":"Form","x-component-props":{useValues:n=>{const a=r.useAPIClient(),i=d.useContext(we);return r.useRequest(()=>a.resource(`dataSources/${o}/roles`).get({filterByTk:i.name}).then(c=>{var u,p;const l=(u=c==null?void 0:c.data)==null?void 0:u.data;return(p=l.snippets)==null||p.forEach(m=>{l[m]=!0}),{data:l}}),n)},effects(){ue.onFieldChange("*",(n,a)=>I(this,null,function*(){a.modified&&(yield e(n,a))}))}},properties:{"strategy.actions":{description:t("All collections use general action permissions by default; permission configured individually will override the default one."),"x-component":"StrategyActions"}}}})},Ug=e=>{var o;if(!e)return{};const t={};return(o=e==null?void 0:e.forEach)==null||o.call(e,n=>{const[a,i]=n.split(":");t[a]=i||"all"}),t},wn=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},Hg=A.connect(e=>{const{onChange:t}=e,o=Fn(),n=r.useCompile(),{t:a}=V.useTranslation(),i=A.useField(),c=Ug(i.value);return s.jsx("div",{children:s.jsx(x.Table,{size:"small",pagination:!1,columns:[{dataIndex:"displayName",title:a("Action display name"),render:l=>n(l)},{dataIndex:"onNewRecord",title:a("Action type"),render:l=>l?s.jsx(x.Tag,{color:"green",children:a("Action on new records")}):s.jsx(x.Tag,{color:"geekblue",children:a("Action on existing records")})},{dataIndex:"enabled",title:a("Allow"),render:(l,u)=>s.jsx(x.Checkbox,{checked:l,onChange:p=>{l?delete c[u.name]:c[u.name]="all",t(wn(c))}})},{dataIndex:"scope",title:a("Data scope"),render:(l,u)=>!u.onNewRecord&&s.jsx(x.Select,{"data-testid":"select-data-scope",popupMatchSelectWidth:!1,size:"small",value:l,options:[{label:a("All records"),value:"all"},{label:a("Own records"),value:"own"}],onChange:p=>{c[u.name]=p,t(wn(c))}})}],dataSource:o==null?void 0:o.map(l=>{let u="all",p=!1;return c[l.name]&&(p=!0,u=c[l.name]),j($({},l),{enabled:p,scope:u})})})})}),Wg=On.createStyles(({css:e})=>e`
60
60
  .ant-table-cell {
61
61
  > .ant-space-horizontal {
62
62
  .ant-space-item-split:has(+ .ant-space-item:empty) {
@@ -64,4 +64,4 @@
64
64
  }
65
65
  }
66
66
  }
67
- `),Yg=(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}}]}),Qg=()=>{const{name:e}=d.useContext(Ce),t=r.useFormBlockContext();return d.useEffect(()=>{t.form.setInitialValues({resourceName:e})},[e]),{form:t.form}},Zg=e=>{const t=Yg(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(Ce).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":Qg,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(Ce);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(Ce);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"}}}}}}}}}}}}},_n=d.createContext(null);_n.displayName="RolesResourcesScopesSelectedRowKeysContext";const Jg=e=>{const[t,o]=d.useState([]);return s.jsx(_n.Provider,{value:[t,o],children:e.children})},Xg=e=>{const t=d.useMemo(()=>ue.createForm({values:{scope:e.value}}),[]),{key:o}=r.useRecord(),n=Zg(o);return s.jsx(r.FormProvider,{form:t,children:s.jsx(r.SchemaComponent,{components:{RolesResourcesScopesSelectedRowKeysProvider:Jg},scope:{onChange(a){var i;(i=e==null?void 0:e.onChange)==null||i.call(e,a)}},schema:n})})},Rg=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=J.isEmpty(n.scope)?null:n.scope)}),t},Ce=d.createContext({});Ce.displayName="RoleResourceCollectionContext";const ev=$.connect(e=>{var C,h;const{styles:t}=Wg(),o=y=>{const f=y.map(x=>j(T({},x),{scope:J.isEmpty(x.scope)?null:x.scope}));e.onChange(f)},n=r.useRecord(),a=Fn(),i=n.fields,c=r.useCompile(),{t:l}=V.useTranslation(),u=$.useField(),p=Rg(u.value||[]),m=(y,f)=>{var E;const x=p==null?void 0:p[y];return x?(E=x==null?void 0:x.fields)==null?void 0:E.includes(f):!1},g=a.filter(y=>y.allowConfigureFields),v=i==null?void 0:i.map(y=>{const f=T({},y);for(const x of g)f[x.name]=m(x.name,y.name);return f}),A=y=>{var f,x;p[y]?delete p[y]:p[y]={name:y,fields:(x=(f=i==null?void 0:i.filter(E=>E.interface))==null?void 0:f.map)==null?void 0:x.call(f,E=>E.name)},o(Object.values(p))},_=(y,f)=>{p[y]?(p[y].scope=f,o(Object.values(p))):(A(y),p[y].scope=f,o(Object.values(p)))},b={};for(const y of g)b[y.name]=(i==null?void 0:i.length)===((h=(C=p==null?void 0:p[y.name])==null?void 0:C.fields)==null?void 0:h.length);return s.jsx("div",{children:s.jsx(Ce.Provider,{value:n,children:s.jsxs(pe.FormLayout,{layout:"vertical",children:[s.jsx(pe.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:y=>c(y)},{dataIndex:"onNewRecord",title:l("Action type"),render:y=>y?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:(y,f)=>s.jsx(S.Checkbox,{checked:y,onChange:()=>{A(f.name)}})},{dataIndex:"scope",title:l("Data scope"),render:(y,f)=>!f.onNewRecord&&s.jsx(Xg,{value:y,onChange:x=>{_(f.name,x)}})}],dataSource:a==null?void 0:a.map(y=>{let f=!1,x=null;return p[y.name]&&(f=!0,y.onNewRecord||(x=p[y.name].scope)),j(T({},y),{enabled:f,scope:x})})})}),s.jsx(pe.FormItem,{label:l("Field permission"),children:s.jsx(S.Table,{className:t,pagination:!1,dataSource:v,columns:[{dataIndex:["uiSchema","title"],title:l("Field display name"),render:(y,f)=>c(y)||f.name},...g.map(y=>{const f=b==null?void 0:b[y.name];return{dataIndex:y.name,title:s.jsxs(s.Fragment,{children:[s.jsx(S.Checkbox,{checked:f,onChange:()=>{var E;const x=p[y.name]||{name:y.name};f?x.fields=[]:x.fields=(E=i==null?void 0:i.map)==null?void 0:E.call(i,M=>M.name),p[y.name]=x,o(Object.values(p))}}),c(y.displayName)]}),render:(x,E)=>s.jsx(S.Checkbox,{checked:x,onChange:()=>{const M=p[y.name]||{name:y.name},w=M.fields||[];if(x){const N=w.indexOf(E.name);w.splice(N,1)}else w.push(E.name);M.fields=w,p[y.name]=M,o(Object.values(p))}})}})]})})]})})})}),tv={type:"object",properties:{[L.uid()]:{"x-component":"DataSourceTable"}}},we=d.createContext({});we.displayName="CurrentRolesContext";const ov=({role:e})=>s.jsx(S.Card,{"data-testid":"acl-pane-card",bordered:!1,children:s.jsx(we.Provider,{value:e,children:s.jsx(r.SchemaComponent,{components:{MenuConfigure:r.MenuConfigure,RoleConfigure:zg,RolesResourcesActions:ev,DataSourceTable:Gg,StrategyActions:Hg,SettingsCenterConfigure:r.SettingsCenterConfigure,SettingCenterProvider:r.SettingCenterProvider,ResourceActionProvider:r.ResourceActionProvider,RoleRecordProvider:Kg},schema:tv})})});class _e extends r.Plugin{constructor(){super(...arguments);In(this,"types",new Map)}load(){return D(this,null,function*(){this.app.addComponents({DataSourcePermissionManager:ov}),this.app.use(kn),this.app.pluginSettingsManager.add(K,{title:`{{t("Data sources", { ns: "${K}" })}}`,icon:"ClusterOutlined",showTabs:!1,aclSnippet:"pm.database-connections.manager"}),this.app.pluginSettingsManager.add(`${K}.list`,{title:`{{t("Data sources", { ns: "${K}" })}}`,Component:$y,sort:1}),this.app.pluginSettingsManager.add(`${K}/:name`,{title:s.jsx(Bt,{}),icon:"ClusterOutlined",isTopLevel:!1,sort:100}),this.app.pluginSettingsManager.add(`${K}/main`,{title:s.jsx(Bt,{}),icon:"ClusterOutlined",isTopLevel:!1,sort:100}),this.app.pluginSettingsManager.add(`${K}/main.collections`,{title:`{{t("Collections", { ns: "${K}" })}}`,Component:jg,topLevelName:`${K}/main`,pluginKey:K}),this.app.pluginSettingsManager.add(`${K}/:name.collections`,{title:`{{t("Collections", { ns: "${K}" })}}`,Component:Cy,topLevelName:`${K}/:name`,pluginKey:K}),this.app.dataSourceManager.addDataSources(this.getThirdDataSource.bind(this),kt)})}setDataSources(){return D(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 D(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)}}O.PluginDataSourceManagerClient=_e,O.default=_e,Object.defineProperties(O,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
67
+ `),Yg=(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}}]}),Qg=()=>{const{name:e}=d.useContext(Ce),t=r.useFormBlockContext();return d.useEffect(()=>{t.form.setInitialValues({resourceName:e})},[e]),{form:t.form}},Zg=e=>{const t=Yg(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(Ce).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":Qg,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(Ce);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(Ce);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"}}}}}}}}}}}}},_n=d.createContext(null);_n.displayName="RolesResourcesScopesSelectedRowKeysContext";const Jg=e=>{const[t,o]=d.useState([]);return s.jsx(_n.Provider,{value:[t,o],children:e.children})},Xg=e=>{const t=d.useMemo(()=>ue.createForm({values:{scope:e.value}}),[]),{key:o}=r.useRecord(),n=Zg(o);return s.jsx(r.FormProvider,{form:t,children:s.jsx(r.SchemaComponent,{components:{RolesResourcesScopesSelectedRowKeysProvider:Jg},scope:{onChange(a){var i;(i=e==null?void 0:e.onChange)==null||i.call(e,a)}},schema:n})})},Rg=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=J.isEmpty(n.scope)?null:n.scope)}),t},Ce=d.createContext({});Ce.displayName="RoleResourceCollectionContext";const ev=A.connect(e=>{var C,y;const{styles:t}=Wg(),o=f=>{const g=f.map(S=>j($({},S),{scope:J.isEmpty(S.scope)?null:S.scope}));e.onChange(g)},n=r.useRecord(),a=Fn(),i=n.fields,c=r.useCompile(),{t:l}=V.useTranslation(),u=A.useField(),p=Rg(u.value||[]),m=(f,g)=>{var D;const S=p==null?void 0:p[f];return S?(D=S==null?void 0:S.fields)==null?void 0:D.includes(g):!1},v=a.filter(f=>f.allowConfigureFields),h=i==null?void 0:i.map(f=>{const g=$({},f);for(const S of v)g[S.name]=m(S.name,f.name);return g}),w=f=>{var g,S;p[f]?delete p[f]:p[f]={name:f,fields:(S=(g=i==null?void 0:i.filter(D=>D.interface))==null?void 0:g.map)==null?void 0:S.call(g,D=>D.name)},o(Object.values(p))},T=(f,g)=>{p[f]?(p[f].scope=g,o(Object.values(p))):(w(f),p[f].scope=g,o(Object.values(p)))},b={};for(const f of v)b[f.name]=(i==null?void 0:i.length)===((y=(C=p==null?void 0:p[f.name])==null?void 0:C.fields)==null?void 0:y.length);return s.jsx("div",{children:s.jsx(Ce.Provider,{value:n,children:s.jsxs(pe.FormLayout,{layout:"vertical",children:[s.jsx(pe.FormItem,{label:l("Action permission"),children:s.jsx(x.Table,{className:t,size:"small",pagination:!1,columns:[{dataIndex:"displayName",title:l("Action display name"),render:f=>c(f)},{dataIndex:"onNewRecord",title:l("Action type"),render:f=>f?s.jsx(x.Tag,{color:"green",children:l("Action on new records")}):s.jsx(x.Tag,{color:"geekblue",children:l("Action on existing records")})},{dataIndex:"enabled",title:l("Allow"),render:(f,g)=>s.jsx(x.Checkbox,{checked:f,onChange:()=>{w(g.name)}})},{dataIndex:"scope",title:l("Data scope"),render:(f,g)=>!g.onNewRecord&&s.jsx(Xg,{value:f,onChange:S=>{T(g.name,S)}})}],dataSource:a==null?void 0:a.map(f=>{let g=!1,S=null;return p[f.name]&&(g=!0,f.onNewRecord||(S=p[f.name].scope)),j($({},f),{enabled:g,scope:S})})})}),s.jsx(pe.FormItem,{label:l("Field permission"),children:s.jsx(x.Table,{className:t,pagination:!1,dataSource:h,columns:[{dataIndex:["uiSchema","title"],title:l("Field display name"),render:(f,g)=>c(f)||g.name},...v.map(f=>{const g=b==null?void 0:b[f.name];return{dataIndex:f.name,title:s.jsxs(s.Fragment,{children:[s.jsx(x.Checkbox,{checked:g,onChange:()=>{var D;const S=p[f.name]||{name:f.name};g?S.fields=[]:S.fields=(D=i==null?void 0:i.map)==null?void 0:D.call(i,M=>M.name),p[f.name]=S,o(Object.values(p))}}),c(f.displayName)]}),render:(S,D)=>s.jsx(x.Checkbox,{checked:S,onChange:()=>{const M=p[f.name]||{name:f.name},_=M.fields||[];if(S){const N=_.indexOf(D.name);_.splice(N,1)}else _.push(D.name);M.fields=_,p[f.name]=M,o(Object.values(p))}})}})]})})]})})})}),tv={type:"object",properties:{[L.uid()]:{"x-component":"DataSourceTable"}}},we=d.createContext({});we.displayName="CurrentRolesContext";const ov=({role:e})=>s.jsx(x.Card,{"data-testid":"acl-pane-card",bordered:!1,children:s.jsx(we.Provider,{value:e,children:s.jsx(r.SchemaComponent,{components:{MenuConfigure:r.MenuConfigure,RoleConfigure:zg,RolesResourcesActions:ev,DataSourceTable:Gg,StrategyActions:Hg,SettingsCenterConfigure:r.SettingsCenterConfigure,SettingCenterProvider:r.SettingCenterProvider,ResourceActionProvider:r.ResourceActionProvider,RoleRecordProvider:kg},schema:tv})})});class _e extends r.Plugin{constructor(){super(...arguments);In(this,"types",new Map)}load(){return I(this,null,function*(){this.app.addComponents({DataSourcePermissionManager:ov}),this.app.use(Kn),this.app.pluginSettingsManager.add(k,{title:`{{t("Data sources", { ns: "${k}" })}}`,icon:"ClusterOutlined",showTabs:!1,aclSnippet:"pm.database-connections.manager"}),this.app.pluginSettingsManager.add(`${k}.list`,{title:`{{t("Data sources", { ns: "${k}" })}}`,Component:$y,sort:1}),this.app.pluginSettingsManager.add(`${k}/:name`,{title:s.jsx(Bt,{}),icon:"ClusterOutlined",isTopLevel:!1,sort:100}),this.app.pluginSettingsManager.add(`${k}/main`,{title:s.jsx(Bt,{}),icon:"ClusterOutlined",isTopLevel:!1,sort:100}),this.app.pluginSettingsManager.add(`${k}/main.collections`,{title:`{{t("Collections", { ns: "${k}" })}}`,Component:jg,topLevelName:`${k}/main`,pluginKey:k}),this.app.pluginSettingsManager.add(`${k}/:name.collections`,{title:`{{t("Collections", { ns: "${k}" })}}`,Component:Cy,topLevelName:`${k}/:name`,pluginKey:k}),this.app.dataSourceManager.addDataSources(this.getThirdDataSource.bind(this),Kt)})}setDataSources(){return I(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 I(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)}}E.PluginDataSourceManagerClient=_e,E.default=_e,Object.defineProperties(E,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
@@ -1,7 +1,7 @@
1
1
  module.exports = {
2
- "@nocobase/client": "0.21.0-alpha.2",
2
+ "@nocobase/client": "0.21.0-alpha.3",
3
3
  "react": "18.2.0",
4
- "@nocobase/server": "0.21.0-alpha.2",
4
+ "@nocobase/server": "0.21.0-alpha.3",
5
5
  "lodash": "4.17.21",
6
6
  "@ant-design/icons": "5.2.6",
7
7
  "antd": "5.12.8",
@@ -10,10 +10,10 @@ module.exports = {
10
10
  "react-i18next": "11.18.6",
11
11
  "@formily/react": "2.3.0",
12
12
  "@emotion/css": "11.11.2",
13
- "@nocobase/database": "0.21.0-alpha.2",
14
- "@nocobase/utils": "0.21.0-alpha.2",
15
- "@nocobase/plugin-acl": "0.21.0-alpha.2",
16
- "@nocobase/acl": "0.21.0-alpha.2",
13
+ "@nocobase/database": "0.21.0-alpha.3",
14
+ "@nocobase/utils": "0.21.0-alpha.3",
15
+ "@nocobase/plugin-acl": "0.21.0-alpha.3",
16
+ "@nocobase/acl": "0.21.0-alpha.3",
17
17
  "sequelize": "6.35.2",
18
18
  "@formily/antd-v5": "1.1.9",
19
19
  "@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": "0.21.0-alpha.2",
3
+ "version": "0.21.0-alpha.3",
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": "90628f2e2da846208fb2d7966ddb4e467d187ffb"
19
+ "gitHead": "f7276aff14063a2cf825191a0c83aeacde05a912"
20
20
  }