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