@tachybase/module-data-source 1.3.16 → 1.3.17

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