@tachybase/module-data-source 0.23.58 → 1.0.6
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.
- package/dist/client/index.js +7 -7
- package/dist/externalVersion.js +8 -8
- package/dist/server/plugin.js +6 -11
- package/package.json +9 -9
package/dist/client/index.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
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,C,j,Q,Z,ae){"use strict";var Vf=Object.defineProperty,Nf=Object.defineProperties;var Lf=Object.getOwnPropertyDescriptors;var Oe=Object.getOwnPropertySymbols;var Bo=Object.prototype.hasOwnProperty,Vo=Object.prototype.propertyIsEnumerable;var Ko=(M,a,n)=>a in M?Vf(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)=>Nf(M,Lf(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{C(n.next(j))}catch(Q){J(Q)}},W=j=>{try{C(n.throw(j))}catch(Q){J(Q)}},C=j=>j.done?f(j.value):Promise.resolve(j.value).then(S,W);C((n=n.apply(M,a)).next())});const U="data-source",No=e=>n.useTranslation([U,"core"],e),ke=()=>{const e=C.useForm(),t=n.useAPIClient(),{t:o}=j.useTranslation(),r=C.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}})}}},it=()=>{const e=C.useForm(),t=C.useField(),o=n.useActionContext(),r=n.useDataBlockRequest(),s=n.useDataBlockResource();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),yield e.reset(),t.data.loading=!1,r.refresh()}catch(l){t.data&&(t.data.loading=!1)}})}}},Lo=Object.freeze(Object.defineProperty({__proto__:null,useCreateDatabaseConnectionAction:it,useTestConnectionAction:ke},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})})},lt=[{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:lt}},{type:"boolean",name:"enabled",uiSchema:{type:"boolean",title:'{{t("Enabled")}}',"x-component":"Checkbox"}}]},Uo={type:"void",properties:{[C.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?')}}"}}},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=lt.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=C.observer(e=>{var c,g;const{name:t}=W.useParams(),{collectionName:o,sourceKey:r,name:s}=n.useRecord(),i=C.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 v;return{value:m.name,label:l(((v=m.uiSchema)==null?void 0:v.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"}),ct=C.observer(e=>{const{disabled:t}=e,o=n.useAPIClient(),[r,s]=f.useState([]),{name:i}=W.useParams(),l=n.useRecord(),p=C.useField(),{collectionName:u,target:c,type:g,through:m,name:v}=l,x=l[p.props.name],{getCollection:P}=n.useCollectionManager_deprecated(),w=n.useCompile(),h=C.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||v:["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=C.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,v]=f.useState(t||r),x=C.useForm(),P=n.useCompile(),w=C.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),v(h)},value:m,disabled:o})})},{displayName:"TargetKey"}),Qo=C.observer(()=>{const e=n.useCompile(),{targetCollection:t}=rt();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=C.observer(e=>{const{disabled:t}=e,o=n.useCompile(),[r,s]=f.useState([]),{name:i}=W.useParams(),l=C.useField(),{getCollections:p}=n.useCollectionManager_deprecated(i),c=n.useRecord()[l.props.name],g=()=>p().filter(v=>!(v.autoCreate&&v.isThrough)).map(v=>({label:o(v.title||v.name),value:v.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 v;(v=e==null?void 0:e.onChange)==null||v.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"]=ct),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_${C.uid()}`},Q.cloneDeep(e.default)),{interface:e.name});return s.reverseField&&(s.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(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=C.useForm(),t=n.useActionContext(),{refresh:o}=n.useResourceActionContext(),r=C.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,v]=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(Bf=>[N,N.interface].includes(Bf.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),v(!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:v},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)})]})})},pt=(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=C.observer(e=>{var v;const{value:t,handleFieldChange:o}=e,r=n.useRecord(),{getInterface:s}=n.useCollectionManager_deprecated(),i=n.useCompile(),l=n.useFieldInterfaceOptions(),p=pt(l,r.type),u=C.useForm(),c=C.useField(),[g,m]=f.useState(p);return["oho","obo","o2m","m2o","m2m"].includes(r.interface)?a.jsx(S.Tag,{children:i((v=l.find(x=>x.key==="relation").children.find(x=>x.name===t))==null?void 0:v.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=pt(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=C.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=C.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}=rt(),v=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:v})}):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 Me(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 ut=ln,cn=ut;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 vn(e){var t=this.__data__,o=gn(t,e);return o<0?void 0:t[o][1]}var Cn=vn,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=Cn,_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,dt=Vn,Nn=dt,Ln=typeof self=="object"&&self&&self.Object===Object&&self,qn=Nn||Ln||Function("return this")(),X=qn,Gn=X,Un=Gn.Symbol,fe=Un,mt=fe,yt=Object.prototype,zn=yt.hasOwnProperty,Hn=yt.toString,ge=mt?mt.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,ft=fe,Rn=Qn,er=Yn,tr="[object Null]",or="[object Undefined]",gt=ft?ft.toStringTag:void 0;function nr(e){return e==null?e===void 0?or:tr:gt&> 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,je=yr,Ct=function(){var e=/[^.]+$/.exec(je&&je.keys&&je.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function fr(e){return!!Ct&&Ct in e}var gr=fr,vr=Function.prototype,Cr=vr.toString;function hr(e){if(e!=null){try{return Cr.call(e)}catch(t){}try{return e+""}catch(t){}}return""}var ht=hr,br=vt,xr=gr,Sr=le,Ar=ht,$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"),Ke=Nr,Lr=te,qr=Lr(Object,"create"),Te=qr,bt=Te;function Gr(){this.__data__=bt?bt(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,xt=ma,ya=$e,fa=Ke;function ga(){this.size=0,this.__data__={hash:new xt,map:new(fa||ya),string:new xt}}var va=ga;function Ca(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var ha=Ca,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=va,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 St=pe,Va=$e,Na=Ke,La=St,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){}}(),At=ts,$t=At;function os(e,t,o){t=="__proto__"&&$t?$t(e,t,{configurable:!0,enumerable:!0,value:o,writable:!0}):e[t]=o}var Tt=os,ns=Tt,rs=ut,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 Be=is,ls=Be,cs=Tt;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 ve=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 vs(e){return fs(e)&&ys(e)==gs}var Cs=vs,Ft=Cs,hs=oe,wt=Object.prototype,bs=wt.hasOwnProperty,xs=wt.propertyIsEnumerable,Ss=Ft(function(){return arguments}())?Ft:function(e){return hs(e)&&bs.call(e,"callee")&&!xs.call(e,"callee")},_t=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 Pt=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 Dt=_s,Ps=9007199254740991;function Ds(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=Ps}var It=Ds,Is=ie,Os=It,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 Ve=si,_e={exports:{}};_e.exports,function(e,t){var o=dt,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 Ne=_e.exports,ii=ai,li=Ve,Ot=Ne,Et=Ot&&Ot.isTypedArray,ci=Et?li(Et):ii,pi=ci,ui=ds,di=_t,mi=ne,yi=Pt,fi=Dt,gi=pi,vi=Object.prototype,Ci=vi.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||Ci.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 kt=hi,bi=Object.prototype;function xi(e){var t=e&&e.constructor,o=typeof t=="function"&&t.prototype||bi;return e===o}var Le=xi;function Si(e,t){return function(o){return e(t(o))}}var Mt=Si,Ai=Mt,$i=Ai(Object.keys,Object),Ti=$i,Fi=Le,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=It;function ki(e){return e!=null&&Ei(e.length)&&!Oi(e)}var jt=ki,Mi=kt,ji=Ii,Ki=jt;function Bi(e){return Ki(e)?Mi(e):ji(e)}var qe=Bi,Vi=ve,Ni=qe;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=Le,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=kt,Ri=Xi,el=jt;function tl(e){return el(e)?Yi(e,!0):Ri(e)}var Ge=tl,ol=ve,nl=Ge;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,v=p?p(m):new c.constructor(m);return c.copy(v),v}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 Kt=ul,dl=pl,ml=Kt,yl=Object.prototype,fl=yl.propertyIsEnumerable,Bt=Object.getOwnPropertySymbols,gl=Bt?function(e){return e==null?[]:(e=Object(e),dl(Bt(e),function(t){return fl.call(e,t)}))}:ml,Ue=gl,vl=ve,Cl=Ue;function hl(e,t){return vl(e,Cl(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 ze=xl,Sl=Mt,Al=Sl(Object.getPrototypeOf,Object),He=Al,$l=ze,Tl=He,Fl=Ue,wl=Kt,_l=Object.getOwnPropertySymbols,Pl=_l?function(e){for(var t=[];e;)$l(t,Fl(e)),e=Tl(e);return t}:wl,Vt=Pl,Dl=ve,Il=Vt;function Ol(e,t){return Dl(e,Il(e),t)}var El=Ol,kl=ze,Ml=ne;function jl(e,t,o){var r=t(e);return Ml(e)?r:kl(r,o(e))}var Nt=jl,Kl=Nt,Bl=Ue,Vl=qe;function Nl(e){return Kl(e,Vl,Bl)}var Ll=Nl,ql=Nt,Gl=Vt,Ul=Ge;function zl(e){return ql(e,Ul,Gl)}var Lt=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,We=Zl,Qe=Ke,Ze=Rl,Je=nc,Xe=ic,qt=ie,de=ht,Gt="[object Map]",lc="[object Object]",Ut="[object Promise]",zt="[object Set]",Ht="[object WeakMap]",Wt="[object DataView]",cc=de(We),pc=de(Qe),uc=de(Ze),dc=de(Je),mc=de(Xe),re=qt;(We&&re(new We(new ArrayBuffer(1)))!=Wt||Qe&&re(new Qe)!=Gt||Ze&&re(Ze.resolve())!=Ut||Je&&re(new Je)!=zt||Xe&&re(new Xe)!=Ht)&&(re=function(e){var t=qt(e),o=t==lc?e.constructor:void 0,r=o?de(o):"";if(r)switch(r){case cc:return Wt;case pc:return Gt;case uc:return Ut;case dc:return zt;case mc:return Ht}return t});var Ye=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 vc=gc,Cc=X,hc=Cc.Uint8Array,bc=hc,Qt=bc;function xc(e){var t=new e.constructor(e.byteLength);return new Qt(t).set(new Qt(e)),t}var Re=xc,Sc=Re;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,Zt=fe,Jt=Zt?Zt.prototype:void 0,Xt=Jt?Jt.valueOf:void 0;function _c(e){return Xt?Object(Xt.call(e)):{}}var Pc=_c,Dc=Re;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=Re,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,Yt=Object.create,sp=function(){function e(){}return function(t){if(!ap(t))return{};if(Yt)return Yt(t);e.prototype=t;var o=new e;return e.prototype=void 0,o}}(),ip=sp,lp=ip,cp=He,pp=Le;function up(e){return typeof e.constructor=="function"&&!pp(e)?lp(cp(e)):{}}var dp=up,mp=Ye,yp=oe,fp="[object Map]";function gp(e){return yp(e)&&mp(e)==fp}var vp=gp,Cp=vp,hp=Ve,Rt=Ne,eo=Rt&&Rt.isMap,bp=eo?hp(eo):Cp,xp=bp,Sp=Ye,Ap=oe,$p="[object Set]";function Tp(e){return Ap(e)&&Sp(e)==$p}var Fp=Tp,wp=Fp,_p=Ve,to=Ne,oo=to&&to.isSet,Pp=oo?_p(oo):wp,Dp=Pp,Ip=Xa,Op=Ra,Ep=Be,kp=qi,Mp=al,jp=sl,Kp=ll,Bp=bl,Vp=El,Np=Ll,Lp=Lt,qp=Ye,Gp=vc,Up=rp,zp=dp,Hp=ne,Wp=Pt,Qp=xp,Zp=le,Jp=Dp,Xp=qe,Yp=Ge,Rp=1,eu=2,tu=4,no="[object Arguments]",ou="[object Array]",nu="[object Boolean]",ru="[object Date]",au="[object Error]",ro="[object Function]",su="[object GeneratorFunction]",iu="[object Map]",lu="[object Number]",ao="[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]",vu="[object Float64Array]",Cu="[object Int8Array]",hu="[object Int16Array]",bu="[object Int32Array]",xu="[object Uint8Array]",Su="[object Uint8ClampedArray]",Au="[object Uint16Array]",$u="[object Uint32Array]",L={};L[no]=L[ou]=L[yu]=L[fu]=L[nu]=L[ru]=L[gu]=L[vu]=L[Cu]=L[hu]=L[bu]=L[iu]=L[lu]=L[ao]=L[cu]=L[pu]=L[uu]=L[du]=L[xu]=L[Su]=L[Au]=L[$u]=!0,L[au]=L[ro]=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),v=m==ro||m==su;if(Wp(e))return jp(e,p);if(m==ao||m==no||v&&!s){if(l=u||v?{}: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 so=De,Tu=so,Fu=1,wu=4;function _u(e){return Tu(e,Fu|wu)}var Pu=_u;const Ce=Me(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 io=Du,Iu=ie,Ou=oe,Eu="[object Symbol]";function ku(e){return typeof e=="symbol"||Ou(e)&&Iu(e)==Eu}var et=ku,Mu=ne,ju=et,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,lo=St,Lu="Expected a function";function tt(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(tt.Cache||lo),o}tt.Cache=lo;var qu=tt,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,co=fe,Yu=io,Ru=ne,ed=et,td=1/0,po=co?co.prototype:void 0,uo=po?po.toString:void 0;function mo(e){if(typeof e=="string")return e;if(Ru(e))return Yu(e,mo)+"";if(ed(e))return uo?uo.call(e):"";var t=e+"";return t=="0"&&1/e==-td?"-0":t}var od=mo,nd=od;function rd(e){return e==null?"":nd(e)}var ad=rd,sd=ne,id=Nu,ld=Xu,cd=ad;function pd(e,t){return sd(e)?e:id(e,t)?[e]:ld(cd(e))}var Ie=pd;function ud(e){var t=e==null?0:e.length;return t?e[t-1]:void 0}var dd=ud,md=et,yd=1/0;function fd(e){if(typeof e=="string"||md(e))return e;var t=e+"";return t=="0"&&1/e==-yd?"-0":t}var ot=fd,gd=Ie,vd=ot;function Cd(e,t){t=gd(t,e);for(var o=0,r=t.length;e!=null&&o<r;)e=e[vd(t[o++])];return o&&o==r?e:void 0}var hd=Cd;function bd(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 xd=bd,Sd=hd,Ad=xd;function $d(e,t){return t.length<2?e:Sd(e,Ad(t,0,-1))}var Td=$d,Fd=Ie,wd=dd,_d=Td,Pd=ot;function Dd(e,t){return t=Fd(t,e),e=_d(e,t),e==null||delete e[Pd(wd(t))]}var Id=Dd,Od=ie,Ed=He,kd=oe,Md="[object Object]",jd=Function.prototype,Kd=Object.prototype,yo=jd.toString,Bd=Kd.hasOwnProperty,Vd=yo.call(Object);function Nd(e){if(!kd(e)||Od(e)!=Md)return!1;var t=Ed(e);if(t===null)return!0;var o=Bd.call(t,"constructor")&&t.constructor;return typeof o=="function"&&o instanceof o&&yo.call(o)==Vd}var Ld=Nd,qd=Ld;function Gd(e){return qd(e)?void 0:e}var Ud=Gd,fo=fe,zd=_t,Hd=ne,go=fo?fo.isConcatSpreadable:void 0;function Wd(e){return Hd(e)||zd(e)||!!(go&&e&&e[go])}var Qd=Wd,Zd=ze,Jd=Qd;function vo(e,t,o,r,s){var i=-1,l=e.length;for(o||(o=Jd),s||(s=[]);++i<l;){var p=e[i];t>0&&o(p)?t>1?vo(p,t-1,o,r,s):Zd(s,p):r||(s[s.length]=p)}return s}var Xd=vo,Yd=Xd;function Rd(e){var t=e==null?0:e.length;return t?Yd(e,1):[]}var em=Rd;function tm(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 om=tm,nm=om,Co=Math.max;function rm(e,t,o){return t=Co(t===void 0?e.length-1:t,0),function(){for(var r=arguments,s=-1,i=Co(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),nm(e,this,p)}}var am=rm;function sm(e){return function(){return e}}var im=sm;function lm(e){return e}var cm=lm,pm=im,ho=At,um=cm,dm=ho?function(e,t){return ho(e,"toString",{configurable:!0,enumerable:!1,value:pm(t),writable:!0})}:um,mm=dm,ym=800,fm=16,gm=Date.now;function vm(e){var t=0,o=0;return function(){var r=gm(),s=fm-(r-o);if(o=r,s>0){if(++t>=ym)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}var Cm=vm,hm=mm,bm=Cm,xm=bm(hm),Sm=xm,Am=em,$m=am,Tm=Sm;function Fm(e){return Tm($m(e,void 0,Am),e+"")}var wm=Fm,_m=io,Pm=so,Dm=Id,Im=Ie,Om=ve,Em=Ud,km=wm,Mm=Lt,jm=1,Km=2,Bm=4,Vm=km(function(e,t){var o={};if(e==null)return o;var r=!1;t=_m(t,function(i){return i=Im(i,e),r||(r=i.length>1),i}),Om(e,Mm(e),o),r&&(o=Pm(o,jm|Km|Bm,Em));for(var s=t.length;s--;)Dm(o,t[s]);return o}),Nm=Vm;const Lm=Me(Nm);var qm=Be,Gm=Ie,Um=Dt,bo=le,zm=ot;function Hm(e,t,o,r){if(!bo(e))return e;t=Gm(t,e);for(var s=-1,i=t.length,l=i-1,p=e;p!=null&&++s<i;){var u=zm(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=bo(g)?g:Um(t[s+1])?[]:{})}qm(p,u,c),p=p[u]}return e}var Wm=Hm,Qm=Wm;function Zm(e,t,o){return e==null?e:Qm(e,t,o)}var Jm=Zm;const xo=Me(Jm),Xm=({schema:e,record:t,parentRecord:o,compile:r,getContainer:s})=>{if(!e)return;const i=Ce(e.properties);return i!=null&&i.name&&(i.name["x-disabled"]=!0),e.hasDefaultValue===!0&&(i.defaultValue=Ce(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:{[C.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:Ce(Lm(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 }}"}}}}})}}}},Ym=()=>{const e=C.useForm(),t=n.useAPIClient(),o=n.useActionContext(),{refresh:r}=n.useResourceActionContext(),{targetCollection:s}=rt(),{name:i}=W.useParams(),{name:l}=n.useRecord(),p=n.useDataSourceManager();return{run(){return I(this,null,function*(){yield e.submit();const c=Ce(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()})}}},Rm=e=>{const t=n.useRecord(),o=n.useCollectionParentRecordData();return a.jsx(ey,F({item:t,parentItem:o},e))},ey=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,v]=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:v},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),_=Ce($==null?void 0:$.data)||{};_!=null&&_.reverseField||(_.autoCreateReverseField=!1,_.reverseField=(V=B==null?void 0:B.default)==null?void 0:V.reverseField,xo(_.reverseField,"name",`f_${C.uid()}`),xo(_.reverseField,"uiSchema.title",(H=r.__parent)==null?void 0:H.title));const T=Xm({schema:K(F({},B),{default:_}),record:r,parentRecord:s,compile:b,getContainer:o});P(T),v(!0)}),children:i||h("Edit")})),a.jsx(n.SchemaComponent,{schema:x,components:{ArrayTable:ae.ArrayTable},scope:K(F({getContainer:o,useUpdateCollectionField:Ym,useCancelAction:n.useCancelAction,showReverseFieldConfig:!1,collections:A,isDialect:d,scopeKeyOptions:D,disabledJSONB:!0},t),{createOnly:!1,createMainOnly:!1})})]})})},ty=()=>{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()})}}},oy=()=>{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()})}}},ny=()=>{const{run:e}=oy();return{run(){return I(this,null,function*(){yield e()})}}},ry=()=>{const{run:e}=ty();return{run(){return I(this,null,function*(){yield e()})}}},ay={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"}}]},sy={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: "${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]) }}"}}}]}}}}}}}}},nt=f.createContext({refreshRM:()=>{},titleField:null,targetCollection:null});nt.displayName="RemoteCollectionContext";const rt=()=>f.useContext(nt),So=()=>{const e=C.useField(),t=f.useMemo(()=>C.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:v,name:x}=g,[P,w]=f.useState(v),h=E=>{const $=f.useContext(n.ResourceActionContext),B=C.useField();return f.useEffect(()=>{$.loading||(E==null||E.onSuccess($.data),B.componentProps.dragSort=!!$.dragSort)},[$.loading]),$},b={association:{sourceKey:"name",targetKey:"name"},dragSort:!1,collection:ay,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(nt.Provider,{value:{refreshRM:()=>{p.refresh()},titleField:P,targetCollection:g},children:[a.jsx(n.ResourceActionProvider,K(F({},b),{children:a.jsx(C.FormContext.Provider,{value:t,children:a.jsx(C.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:Rm,Select:n.Select,FieldType:on,ForeignKey:ct,ThroughCollection:Zo},inherit:!0,scope:{useDataSource:h,useTitleFieldProps:A,handleFieldChange:d,useDestroyActionAndRefreshCM:ry,useBulkDestroyActionAndRefreshCM:ny,loadCollections:D},children:a.jsx(C.RecursionField,{schema:sy,onlyRenderProperties:!0})})})})})),a.jsx(rn,{})]})},Ao=e=>C.Schema.compile(e,{t:n.i18n.t}),iy={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"}}]},ly=e=>({type:"object",properties:{[C.uid()]:{type:"void","x-collection":"dataSources","x-decorator":"ResourceActionProvider","x-decorator-props":{collection:iy,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"}}}}}),at={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=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=`${Ao(r.title||r.name)} - ${Ao('{{ 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"}}}}}}}}}},cy=(e,t)=>(o,r)=>{o.loading=!0,e(o,r,t).then(C.action.bound(s=>{o.dataSource=s,o.loading=!1})).catch(s=>console.log(s))},py=()=>{const[e,t]=f.useState([]);return[e,t]},uy=()=>{const e=n.useRecord(),t=C.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))})}}},dy=()=>({run(){return I(this,null,function*(){})}}),my=e=>`${e||""}${C.uid()}`,yy=()=>{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}})})}),v=()=>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=C.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(()=>ly(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:So},scope:{useRefreshActionProps:x,useDestroySubField:uy,useBulkDestroySubField:dy,useSelectedRowKeys:py,useAsyncDataSource:cy,loadFilterTargetKeys:P,loadCategories:g,loadDBViews:m,loadStorages:v,useNewId:my,useCancelAction:n.useCancelAction,interfaces:t,enableInherits:(o==null?void 0:o.dialect)==="postgres",isPG:(o==null?void 0:o.dialect)==="postgres"}})})},fy=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})},gy=Object.assign(C.connect(S.Input,C.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})})),C.mapReadPretty(fy))),vy=({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))]})},Cy=C.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:v}=g;setTimeout(()=>{o(null)}),v&&v.id!==m.id&&(yield i.resource("collectionCategories").move({sourceId:m.id,targetId:v.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(vy,{item:t})}):null})]})},{displayName:"DndProvider"}),hy=()=>{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:at}));!r.find(i=>i.id==="all")&&r.unshift({name:'{{t("All collections")}}',id:"all",sort:0,closable:!1,schema:at});const s=()=>I(this,null,function*(){return t.map(i=>({label:e(o(i.name)),value:i.id}))});return a.jsx(Cy,{children:a.jsx(S.Card,{bordered:!1,children:a.jsx(n.SchemaComponentOptions,{components:{CollectionFields:So,CollectionName:gy},inherit:!0,scope:{loadCategories:s},children:a.jsx(C.RecursionField,{schema:at,onlyRenderProperties:!0})})})})},by={type:"object",properties:{[C.uid()]:{"x-component":"ConfigurationTable"}}},xy=()=>{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:by,components:{CollectionCategroriesProvider:n.CollectionCategroriesProvider,ConfigurationTable:yy,ConfigurationTabs:hy,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)}})};class $o 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 Sy=()=>{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(v=>{const x=o.types.get(v);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=C.createForm({values:{type:g.key}}),v=o.types.get(g.key);u(g.key),i(!0),t({type:"object",properties:{[C.uid()]:{type:"void","x-component":"Action.Drawer","x-decorator":"FormV2","x-decorator-props":{form:m},title:r("{{t('Add new')}}")+" - "+r(v.label),properties:{body:{type:"void","x-component":v.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:ke,dialect:p,useDialectDataSource:c,useCreateDatabaseConnectionAction:it,useCancelActionProps:n.useCancelActionProps},schema:e})]})})},Ay=()=>{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=C.useField(),m=C.useForm(),v=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}),v.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=C.createForm({initialValues:e}),m=r.types.get(e.type);o({type:"object",properties:{[C.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:ke,useCancelActionProps:n.useCancelActionProps},schema:t})]})})},$y=({key:e,type:t})=>`/_admin/data-modeling/data-source/${e}?type=${t}`,Ty=()=>{const e=n.useRecord(),t=W.useNavigate(),{t:o}=j.useTranslation();return a.jsx("div",{className:e.enabled?void 0:n.css`
|
|
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,C,j,Q,Z,ae){"use strict";var Vf=Object.defineProperty,Nf=Object.defineProperties;var Lf=Object.getOwnPropertyDescriptors;var Oe=Object.getOwnPropertySymbols;var Bo=Object.prototype.hasOwnProperty,Vo=Object.prototype.propertyIsEnumerable;var Ko=(M,a,n)=>a in M?Vf(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)=>Nf(M,Lf(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{C(n.next(j))}catch(Q){J(Q)}},W=j=>{try{C(n.throw(j))}catch(Q){J(Q)}},C=j=>j.done?f(j.value):Promise.resolve(j.value).then(S,W);C((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=C.useForm(),t=n.useAPIClient(),{t:o}=j.useTranslation(),r=C.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}})}}},ct=()=>{const e=C.useForm(),t=C.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:ct,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})})},lt=[{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:lt}},{type:"boolean",name:"enabled",uiSchema:{type:"boolean",title:'{{t("Enabled")}}',"x-component":"Checkbox"}}]},Uo={type:"void",properties:{[C.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]),c=f.useMemo(()=>{const p=i==null?void 0:i.status,u=lt.find(g=>g.value===p),l=[];return i&&l.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)]})}),l},[i]);return a.jsx(S.Breadcrumb,{separator:a.jsx(J.RightOutlined,{}),items:c})},Se=["string","bigInt","integer","uuid","uid"],Ho=C.observer(e=>{var l,g;const{name:t}=W.useParams(),{collectionName:o,sourceKey:r,name:s}=n.useRecord(),i=C.useField(),c=n.useCompile(),{getCollection:p}=n.useCollectionManager_deprecated(),u=(l=p(o||s,t).fields)==null?void 0:l.filter(m=>m.primaryKey||m.unique).map(m=>{var v;return{value:m.name,label:c(((v=m.uiSchema)==null?void 0:v.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=C.observer(e=>{const{disabled:t}=e,o=n.useAPIClient(),[r,s]=f.useState([]),{name:i}=W.useParams(),c=n.useRecord(),p=C.useField(),{collectionName:u,target:l,type:g,through:m,name:v}=c,x=c[p.props.name],{getCollection:P}=n.useCollectionManager_deprecated(),w=n.useCompile(),h=C.useForm(),[b,y]=f.useState(x);return f.useEffect(()=>{var D;p.initialValue=null;const d=["belongsTo"].includes(g)?u:["belongsToMany"].includes(g)?m:l,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||v:["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=C.observer(e=>{const{value:t,disabled:o}=e,{targetKey:r,target:s,type:i}=n.useRecord(),{name:c}=W.useParams(),{getCollection:p}=n.useCollectionManager_deprecated(),u=n.useAPIClient(),[l,g]=f.useState([]),[m,v]=f.useState(t||r),x=C.useForm(),P=n.useCompile(),w=C.useField();return w.required=!0,f.useEffect(()=>{var h;s&&g((h=p(s,c).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:l,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/${c}.${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),v(h)},value:m,disabled:o})})},{displayName:"TargetKey"}),Qo=C.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=C.observer(e=>{const{disabled:t}=e,o=n.useCompile(),[r,s]=f.useState([]),{name:i}=W.useParams(),c=C.useField(),{getCollections:p}=n.useCollectionManager_deprecated(i),l=n.useRecord()[c.props.name],g=()=>p().filter(v=>!(v.autoCreate&&v.isThrough)).map(v=>({label:o(v.title||v.name),value:v.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:l,options:r,onChange:m=>{var v;(v=e==null?void 0:e.onChange)==null||v.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_${C.uid()}`},Q.cloneDeep(e.default)),{interface:e.name});return s.reverseField&&(s.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(c){return n.useRequest(()=>Promise.resolve({data:s}),c)}},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=C.useForm(),t=n.useActionContext(),{refresh:o}=n.useResourceActionContext(),r=C.useField(),s=n.useAPIClient(),i=n.useRecord(),{name:c}=W.useParams(),p=n.useDataSourceManager();return{run(){return I(this,null,function*(){yield e.submit(),r.data=r.data||{},r.data.loading=!0;const l=Q.cloneDeep(e.values);l.autoCreateReverseField||delete l.reverseField,delete l.autoCreateReverseField;try{yield s.request({url:`dataSourcesCollections/${c}.${i.name}/fields:create`,method:"post",data:l}),t.setVisible(!1),p.getDataSource(c).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:c,database:p}=e,{getInterface:u,getTemplate:l,collections:g}=n.useCollectionManager_deprecated(),[m,v]=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}=l(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(Bf=>[N,N.interface].includes(Bf.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},[l,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),v(!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:v},children:[a.jsx(S.Dropdown,{getPopupContainer:o,trigger:i,align:c,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 c;return(c=i==null?void 0:i.availableTypes)==null?void 0:c.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=C.observer(e=>{var v;const{value:t,handleFieldChange:o}=e,r=n.useRecord(),{getInterface:s}=n.useCollectionManager_deprecated(),i=n.useCompile(),c=n.useFieldInterfaceOptions(),p=ut(c,r.type),u=C.useForm(),l=C.useField(),[g,m]=f.useState(p);return["oho","obo","o2m","m2o","m2m"].includes(r.interface)?a.jsx(S.Tag,{children:i((v=c.find(x=>x.key==="relation").children.find(x=>x.name===t))==null?void 0:v.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[l.index],b=(h==null?void 0:h.type)||r.type,y=ut(c,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=C.observer(e=>{const{value:t,handleFieldChange:o}=e,r=n.useRecord(),[s,i]=f.useState(t),c=l=>{i(l)},p=f.useMemo(()=>Q.debounce(l=>{o({uiSchema:K(F({},r==null?void 0:r.uiSchema),{title:l})},r.name)},1e3),[o,r]),u=l=>{const g=l.target.value;c(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=C.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(c=>({label:c,value:c})))||[],onChange:c=>{r==null||r(c),o(K(F({},i),{type:c}),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:c,dataSourceKey:p}=n.useProps(e),u=n.useRecord(),l=n.useAPIClient(),{refreshRM:g,titleField:m}=at(),v=x=>I(this,null,function*(){s(u),yield l.request({url:`dataSources/${p}/collections:update?filterByTk=${c}`,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:v})}):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 cn(e,t){return e===t||e!==e&&t!==t}var dt=cn,ln=dt;function pn(e,t){for(var o=e.length;o--;)if(ln(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 vn(e){var t=this.__data__,o=gn(t,e);return o<0?void 0:t[o][1]}var Cn=vn,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=Cn,_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]",vt=gt?gt.toStringTag:void 0;function nr(e){return e==null?e===void 0?or:tr:vt&&vt 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 ce=rr,ar=ie,sr=ce,ir="[object AsyncFunction]",cr="[object Function]",lr="[object GeneratorFunction]",pr="[object Proxy]";function ur(e){if(!sr(e))return!1;var t=ar(e);return t==cr||t==lr||t==ir||t==pr}var Ct=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,vr=Function.prototype,Cr=vr.toString;function hr(e){if(e!=null){try{return Cr.call(e)}catch(t){}try{return e+""}catch(t){}}return""}var bt=hr,br=Ct,xr=gr,Sr=ce,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,ca=Ur,la=Hr,pa=Yr,ua=na,da=ia;function le(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])}}le.prototype.clear=ca,le.prototype.delete=la,le.prototype.get=pa,le.prototype.has=ua,le.prototype.set=da;var ma=le,St=ma,ya=$e,fa=Be;function ga(){this.size=0,this.__data__={hash:new St,map:new(fa||ya),string:new St}}var va=ga;function Ca(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var ha=Ca,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=va,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,cs=Ve,ls=Ft;function ps(e,t,o,r){var s=!o;o||(o={});for(var i=-1,c=t.length;++i<c;){var p=t[i],u=r?r(o[p],e[p],p,o,e):void 0;u===void 0&&(u=e[p]),s?ls(o,p,u):cs(o,p,u)}return o}var ve=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 vs(e){return fs(e)&&ys(e)==gs}var Cs=vs,wt=Cs,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,c=i&&i.exports===s,p=c?o.Buffer:void 0,u=p?p.isBuffer:void 0,l=u||r;e.exports=l}(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,c=i&&o.process,p=function(){try{var u=s&&s.require&&s.require("util").types;return u||c&&c.binding&&c.binding("util")}catch(l){}}();e.exports=p}(_e,_e.exports);var Le=_e.exports,ii=ai,ci=Ne,Et=Le,kt=Et&&Et.isTypedArray,li=kt?ci(kt):ii,pi=li,ui=ds,di=Pt,mi=ne,yi=Dt,fi=It,gi=pi,vi=Object.prototype,Ci=vi.hasOwnProperty;function hi(e,t){var o=mi(e),r=!o&&di(e),s=!o&&!r&&yi(e),i=!o&&!r&&!s&&gi(e),c=o||r||s||i,p=c?ui(e.length,String):[],u=p.length;for(var l in e)(t||Ci.call(e,l))&&!(c&&(l=="length"||s&&(l=="offset"||l=="parent")||i&&(l=="buffer"||l=="byteLength"||l=="byteOffset")||fi(l,u)))&&p.push(l);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=Ct,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=ve,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=ce,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,ec=Kt;function tc(e){return ec(e)?Yi(e,!0):Ri(e)}var Ue=tc,oc=ve,nc=Ue;function rc(e,t){return e&&oc(t,nc(t),e)}var ac=rc,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,c=i?o.Buffer:void 0,p=c?c.allocUnsafe:void 0;function u(l,g){if(g)return l.slice();var m=l.length,v=p?p(m):new l.constructor(m);return l.copy(v),v}e.exports=u}(Pe,Pe.exports);var sc=Pe.exports;function ic(e,t){var o=-1,r=e.length;for(t||(t=Array(r));++o<r;)t[o]=e[o];return t}var cc=ic;function lc(e,t){for(var o=-1,r=e==null?0:e.length,s=0,i=[];++o<r;){var c=e[o];t(c,o,e)&&(i[s++]=c)}return i}var pc=lc;function uc(){return[]}var Bt=uc,dc=pc,mc=Bt,yc=Object.prototype,fc=yc.propertyIsEnumerable,Vt=Object.getOwnPropertySymbols,gc=Vt?function(e){return e==null?[]:(e=Object(e),dc(Vt(e),function(t){return fc.call(e,t)}))}:mc,ze=gc,vc=ve,Cc=ze;function hc(e,t){return vc(e,Cc(e),t)}var bc=hc;function xc(e,t){for(var o=-1,r=t.length,s=e.length;++o<r;)e[s+o]=t[o];return e}var He=xc,Sc=jt,Ac=Sc(Object.getPrototypeOf,Object),We=Ac,$c=He,Tc=We,Fc=ze,wc=Bt,_c=Object.getOwnPropertySymbols,Pc=_c?function(e){for(var t=[];e;)$c(t,Fc(e)),e=Tc(e);return t}:wc,Nt=Pc,Dc=ve,Ic=Nt;function Oc(e,t){return Dc(e,Ic(e),t)}var Ec=Oc,kc=He,Mc=ne;function jc(e,t,o){var r=t(e);return Mc(e)?r:kc(r,o(e))}var Lt=jc,Kc=Lt,Bc=ze,Vc=Ge;function Nc(e){return Kc(e,Vc,Bc)}var Lc=Nc,qc=Lt,Gc=Nt,Uc=Ue;function zc(e){return qc(e,Uc,Gc)}var qt=zc,Hc=te,Wc=X,Qc=Hc(Wc,"DataView"),Zc=Qc,Jc=te,Xc=X,Yc=Jc(Xc,"Promise"),Rc=Yc,el=te,tl=X,ol=el(tl,"Set"),nl=ol,rl=te,al=X,sl=rl(al,"WeakMap"),il=sl,Qe=Zc,Ze=Be,Je=Rc,Xe=nl,Ye=il,Gt=ie,de=bt,Ut="[object Map]",cl="[object Object]",zt="[object Promise]",Ht="[object Set]",Wt="[object WeakMap]",Qt="[object DataView]",ll=de(Qe),pl=de(Ze),ul=de(Je),dl=de(Xe),ml=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==cl?e.constructor:void 0,r=o?de(o):"";if(r)switch(r){case ll:return Qt;case pl:return Ut;case ul:return zt;case dl:return Ht;case ml:return Wt}return t});var Re=re,yl=Object.prototype,fl=yl.hasOwnProperty;function gl(e){var t=e.length,o=new e.constructor(t);return t&&typeof e[0]=="string"&&fl.call(e,"index")&&(o.index=e.index,o.input=e.input),o}var vl=gl,Cl=X,hl=Cl.Uint8Array,bl=hl,Zt=bl;function xl(e){var t=new e.constructor(e.byteLength);return new Zt(t).set(new Zt(e)),t}var et=xl,Sl=et;function Al(e,t){var o=t?Sl(e.buffer):e.buffer;return new e.constructor(o,e.byteOffset,e.byteLength)}var $l=Al,Tl=/\w*$/;function Fl(e){var t=new e.constructor(e.source,Tl.exec(e));return t.lastIndex=e.lastIndex,t}var wl=Fl,Jt=fe,Xt=Jt?Jt.prototype:void 0,Yt=Xt?Xt.valueOf:void 0;function _l(e){return Yt?Object(Yt.call(e)):{}}var Pl=_l,Dl=et;function Il(e,t){var o=t?Dl(e.buffer):e.buffer;return new e.constructor(o,e.byteOffset,e.length)}var Ol=Il,El=et,kl=$l,Ml=wl,jl=Pl,Kl=Ol,Bl="[object Boolean]",Vl="[object Date]",Nl="[object Map]",Ll="[object Number]",ql="[object RegExp]",Gl="[object Set]",Ul="[object String]",zl="[object Symbol]",Hl="[object ArrayBuffer]",Wl="[object DataView]",Ql="[object Float32Array]",Zl="[object Float64Array]",Jl="[object Int8Array]",Xl="[object Int16Array]",Yl="[object Int32Array]",Rl="[object Uint8Array]",ep="[object Uint8ClampedArray]",tp="[object Uint16Array]",op="[object Uint32Array]";function np(e,t,o){var r=e.constructor;switch(t){case Hl:return El(e);case Bl:case Vl:return new r(+e);case Wl:return kl(e,o);case Ql:case Zl:case Jl:case Xl:case Yl:case Rl:case ep:case tp:case op:return Kl(e,o);case Nl:return new r;case Ll:case Ul:return new r(e);case ql:return Ml(e);case Gl:return new r;case zl:return jl(e)}}var rp=np,ap=ce,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,cp=ip,lp=We,pp=qe;function up(e){return typeof e.constructor=="function"&&!pp(e)?cp(lp(e)):{}}var dp=up,mp=Re,yp=oe,fp="[object Map]";function gp(e){return yp(e)&&mp(e)==fp}var vp=gp,Cp=vp,hp=Ne,eo=Le,to=eo&&eo.isMap,bp=to?hp(to):Cp,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=ac,jp=sc,Kp=cc,Bp=bc,Vp=Ec,Np=Lc,Lp=qt,qp=Re,Gp=vl,Up=rp,zp=dp,Hp=ne,Wp=Dt,Qp=xp,Zp=ce,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]",cu="[object Number]",so="[object Object]",lu="[object RegExp]",pu="[object Set]",uu="[object String]",du="[object Symbol]",mu="[object WeakMap]",yu="[object ArrayBuffer]",fu="[object DataView]",gu="[object Float32Array]",vu="[object Float64Array]",Cu="[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[vu]=L[Cu]=L[hu]=L[bu]=L[iu]=L[cu]=L[so]=L[lu]=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 c,p=t&Rp,u=t&eu,l=t&tu;if(o&&(c=s?o(e,r,s,i):o(e)),c!==void 0)return c;if(!Zp(e))return e;var g=Hp(e);if(g){if(c=Gp(e),!p)return Kp(e,c)}else{var m=qp(e),v=m==ao||m==su;if(Wp(e))return jp(e,p);if(m==so||m==ro||v&&!s){if(c=u||v?{}:zp(e),!p)return u?Vp(e,Mp(c,e)):Bp(e,kp(c,e))}else{if(!L[m])return s?e:{};c=Up(e,m,p)}}i||(i=new Ip);var x=i.get(e);if(x)return x;i.set(e,c),Jp(e)?e.forEach(function(h){c.add(De(h,t,o,h,e,i))}):Qp(e)&&e.forEach(function(h,b){c.set(b,De(h,t,o,b,e,i))});var P=l?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(c,b,De(h,t,o,b,e,i))}),c}var io=De,Tu=io,Fu=1,wu=4;function _u(e){return Tu(e,Fu|wu)}var Pu=_u;const Ce=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 co=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,lo=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 c=e.apply(this,r);return o.cache=i.set(s,c)||i,c};return o.cache=new(ot.Cache||lo),o}ot.Cache=lo;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=co,Ru=ne,ed=tt,td=1/0,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==-td?"-0":t}var od=yo,nd=od;function rd(e){return e==null?"":nd(e)}var ad=rd,sd=ne,id=Nu,cd=Xu,ld=ad;function pd(e,t){return sd(e)?e:id(e,t)?[e]:cd(ld(e))}var Ie=pd;function ud(e){var t=e==null?0:e.length;return t?e[t-1]:void 0}var dd=ud,md=tt,yd=1/0;function fd(e){if(typeof e=="string"||md(e))return e;var t=e+"";return t=="0"&&1/e==-yd?"-0":t}var nt=fd,gd=Ie,vd=nt;function Cd(e,t){t=gd(t,e);for(var o=0,r=t.length;e!=null&&o<r;)e=e[vd(t[o++])];return o&&o==r?e:void 0}var hd=Cd;function bd(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 xd=bd,Sd=hd,Ad=xd;function $d(e,t){return t.length<2?e:Sd(e,Ad(t,0,-1))}var Td=$d,Fd=Ie,wd=dd,_d=Td,Pd=nt;function Dd(e,t){return t=Fd(t,e),e=_d(e,t),e==null||delete e[Pd(wd(t))]}var Id=Dd,Od=ie,Ed=We,kd=oe,Md="[object Object]",jd=Function.prototype,Kd=Object.prototype,fo=jd.toString,Bd=Kd.hasOwnProperty,Vd=fo.call(Object);function Nd(e){if(!kd(e)||Od(e)!=Md)return!1;var t=Ed(e);if(t===null)return!0;var o=Bd.call(t,"constructor")&&t.constructor;return typeof o=="function"&&o instanceof o&&fo.call(o)==Vd}var Ld=Nd,qd=Ld;function Gd(e){return qd(e)?void 0:e}var Ud=Gd,go=fe,zd=Pt,Hd=ne,vo=go?go.isConcatSpreadable:void 0;function Wd(e){return Hd(e)||zd(e)||!!(vo&&e&&e[vo])}var Qd=Wd,Zd=He,Jd=Qd;function Co(e,t,o,r,s){var i=-1,c=e.length;for(o||(o=Jd),s||(s=[]);++i<c;){var p=e[i];t>0&&o(p)?t>1?Co(p,t-1,o,r,s):Zd(s,p):r||(s[s.length]=p)}return s}var Xd=Co,Yd=Xd;function Rd(e){var t=e==null?0:e.length;return t?Yd(e,1):[]}var em=Rd;function tm(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 om=tm,nm=om,ho=Math.max;function rm(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),c=Array(i);++s<i;)c[s]=r[t+s];s=-1;for(var p=Array(t+1);++s<t;)p[s]=r[s];return p[t]=o(c),nm(e,this,p)}}var am=rm;function sm(e){return function(){return e}}var im=sm;function cm(e){return e}var lm=cm,pm=im,bo=$t,um=lm,dm=bo?function(e,t){return bo(e,"toString",{configurable:!0,enumerable:!1,value:pm(t),writable:!0})}:um,mm=dm,ym=800,fm=16,gm=Date.now;function vm(e){var t=0,o=0;return function(){var r=gm(),s=fm-(r-o);if(o=r,s>0){if(++t>=ym)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}var Cm=vm,hm=mm,bm=Cm,xm=bm(hm),Sm=xm,Am=em,$m=am,Tm=Sm;function Fm(e){return Tm($m(e,void 0,Am),e+"")}var wm=Fm,_m=co,Pm=io,Dm=Id,Im=Ie,Om=ve,Em=Ud,km=wm,Mm=qt,jm=1,Km=2,Bm=4,Vm=km(function(e,t){var o={};if(e==null)return o;var r=!1;t=_m(t,function(i){return i=Im(i,e),r||(r=i.length>1),i}),Om(e,Mm(e),o),r&&(o=Pm(o,jm|Km|Bm,Em));for(var s=t.length;s--;)Dm(o,t[s]);return o}),Nm=Vm;const Lm=je(Nm);var qm=Ve,Gm=Ie,Um=It,xo=ce,zm=nt;function Hm(e,t,o,r){if(!xo(e))return e;t=Gm(t,e);for(var s=-1,i=t.length,c=i-1,p=e;p!=null&&++s<i;){var u=zm(t[s]),l=o;if(u==="__proto__"||u==="constructor"||u==="prototype")return e;if(s!=c){var g=p[u];l=r?r(g,u,p):void 0,l===void 0&&(l=xo(g)?g:Um(t[s+1])?[]:{})}qm(p,u,l),p=p[u]}return e}var Wm=Hm,Qm=Wm;function Zm(e,t,o){return e==null?e:Qm(e,t,o)}var Jm=Zm;const So=je(Jm),Xm=({schema:e,record:t,parentRecord:o,compile:r,getContainer:s})=>{if(!e)return;const i=Ce(e.properties);return i!=null&&i.name&&(i.name["x-disabled"]=!0),e.hasDefaultValue===!0&&(i.defaultValue=Ce(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:{[C.uid()]:{type:"void","x-component":"Action.Drawer","x-component-props":{getContainer:"{{ getContainer }}"},"x-decorator":"Form","x-decorator-props":{useValues(c){return n.useRequest(()=>Promise.resolve({data:Ce(Lm(e.default,["uiSchema.rawTitle"]))}),c)}},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 }}"}}}}})}}}},Ym=()=>{const e=C.useForm(),t=n.useAPIClient(),o=n.useActionContext(),{refresh:r}=n.useResourceActionContext(),{targetCollection:s}=at(),{name:i}=W.useParams(),{name:c}=n.useRecord(),p=n.useDataSourceManager();return{run(){return I(this,null,function*(){yield e.submit();const l=Ce(e.values);l.autoCreateReverseField||delete l.reverseField,delete l.autoCreateReverseField,yield t.request({url:`dataSourcesCollections/${i}.${s.name}/fields:update?filterByTk=${c}`,method:"post",data:l}),o.setVisible(!1),p.getDataSource(i).reload(),yield e.reset(),r()})}}},Rm=e=>{const t=n.useRecord(),o=n.useCollectionParentRecordData();return a.jsx(ey,F({item:t,parentItem:o},e))},ey=e=>{const E=e,{scope:t,getContainer:o,item:r,parentItem:s,children:i}=E,c=Ee(E,["scope","getContainer","item","parentItem","children"]),{getInterface:p,collections:u,getCollection:l}=n.useCollectionManager_deprecated(),{data:{database:g}}=n.useCurrentAppInfo(),[m,v]=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=($=l(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:v},children:[a.jsx("a",K(F({},c),{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),_=Ce($==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_${C.uid()}`),So(_.reverseField,"uiSchema.title",(H=r.__parent)==null?void 0:H.title));const T=Xm({schema:K(F({},B),{default:_}),record:r,parentRecord:s,compile:b,getContainer:o});P(T),v(!0)}),children:i||h("Edit")})),a.jsx(n.SchemaComponent,{schema:x,components:{ArrayTable:ae.ArrayTable},scope:K(F({getContainer:o,useUpdateCollectionField:Ym,useCancelAction:n.useCancelAction,showReverseFieldConfig:!1,collections:A,isDialect:d,scopeKeyOptions:D,disabledJSONB:!0},t),{createOnly:!1,createMainOnly:!1})})]})})},ty=()=>{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()})}}},oy=()=>{const{state:e,setState:t,refresh:o}=n.useResourceActionContext(),{t:r}=j.useTranslation(),{name:s}=W.useParams(),i=n.useAPIClient(),{name:c}=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}.${c}/fields:destroy`,method:"post",params:{filterByTk:(e==null?void 0:e.selectedRowKeys)||[]}}),t==null||t({selectedRowKeys:[]}),o()})}}},ny=()=>{const{run:e}=oy();return{run(){return I(this,null,function*(){yield e()})}}},ry=()=>{const{run:e}=ty();return{run(){return I(this,null,function*(){yield e()})}}},ay={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"}}]},sy={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: "${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=C.useField(),t=f.useMemo(()=>C.createForm(),[]),o=n.useAttach(t.createArrayField(K(F({},e.props),{basePath:""}))),{t:r}=j.useTranslation(),{name:s}=W.useParams(),i=n.useAPIClient(),c=n.useCompile(),p=f.useContext(n.ResourceActionContext),u=n.useResourceContext(),{targetKey:l}=u||{},g=n.useRecord(),{[l]:m,titleField:v,name:x}=g,[P,w]=f.useState(v),h=E=>{const $=f.useContext(n.ResourceActionContext),B=C.useField();return f.useEffect(()=>{$.loading||(E==null||E.onSuccess($.data),B.componentProps.dragSort=!!$.dragSort)},[$.loading]),$},b={association:{sourceKey:"name",targetKey:"name"},dragSort:!1,collection:ay,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:c(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(C.FormContext.Provider,{value:t,children:a.jsx(C.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:Rm,Select:n.Select,FieldType:on,ForeignKey:pt,ThroughCollection:Zo},inherit:!0,scope:{useDataSource:h,useTitleFieldProps:A,handleFieldChange:d,useDestroyActionAndRefreshCM:ry,useBulkDestroyActionAndRefreshCM:ny,loadCollections:D},children:a.jsx(C.RecursionField,{schema:sy,onlyRenderProperties:!0})})})})})),a.jsx(rn,{})]})},$o=e=>C.Schema.compile(e,{t:n.i18n.t}),iy={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"}}]},cy=e=>({type:"object",properties:{[C.uid()]:{type:"void","x-collection":"dataSources","x-decorator":"ResourceActionProvider","x-decorator-props":{collection:iy,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:{[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=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"}}}}}}}}}},ly=(e,t)=>(o,r)=>{o.loading=!0,e(o,r,t).then(C.action.bound(s=>{o.dataSource=s,o.loading=!1})).catch(s=>console.log(s))},py=()=>{const[e,t]=f.useState([]);return[e,t]},uy=()=>{const e=n.useRecord(),t=C.useForm();return{run(){return I(this,null,function*(){var s,i,c;const r=(c=(i=(s=t.values)==null?void 0:s.children)==null?void 0:i.slice)==null?void 0:c.call(i);t.setValuesIn("children",r.filter(p=>p.name!==e.name))})}}},dy=()=>({run(){return I(this,null,function*(){})}}),my=e=>`${e||""}${C.uid()}`,yy=()=>{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(),c=f.useContext(n.CollectionCategroriesContext),p=n.useAPIClient(),u=p.resource("dbViews"),l=n.useCompile(),g=()=>I(this,null,function*(){return c.data.map(h=>({label:l(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}.${l(y.name)}`:y.name,value:d?`${d}_${y.name}`:y.name}})})}),v=()=>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(l(y.title)),value:y.name}))})}),x=()=>{const h=f.useContext(n.ResourceActionContext),b=n.useAPIClient(),y=C.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:l((A=d.uiSchema)==null?void 0:A.title)||d.name,value:d.name}}))}),w=f.useMemo(()=>cy(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:uy,useBulkDestroySubField:dy,useSelectedRowKeys:py,useAsyncDataSource:ly,loadFilterTargetKeys:P,loadCategories:g,loadDBViews:m,loadStorages:v,useNewId:my,useCancelAction:n.useCancelAction,interfaces:t,enableInherits:(o==null?void 0:o.dialect)==="postgres",isPG:(o==null?void 0:o.dialect)==="postgres"}})})},fy=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})},gy=Object.assign(C.connect(S.Input,C.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})})),C.mapReadPretty(fy))),vy=({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))]})},Cy=C.observer(e=>{const[t,o]=f.useState(null),{refresh:r}=f.useContext(n.CollectionCategroriesContext),{refresh:s}=n.useResourceActionContext(),i=n.useAPIClient(),c=g=>I(this,null,function*(){const{active:m,over:v}=g;setTimeout(()=>{o(null)}),v&&v.id!==m.id&&(yield i.resource("collectionCategories").move({sourceId:m.id,targetId:v.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}}),l=Z.useSensors(u);return a.jsxs(Z.DndContext,{sensors:l,onDragEnd:c,onDragStart:p,children:[e.children,a.jsx(Z.DragOverlay,{children:t?a.jsx("span",{style:{whiteSpace:"nowrap"},children:a.jsx(vy,{item:t})}):null})]})},{displayName:"DndProvider"}),hy=()=>{const{t:e}=j.useTranslation(),{data:t}=f.useContext(n.CollectionCategroriesContext),o=n.useCompile();if(!t)return null;const r=t.sort((i,c)=>c.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(Cy,{children:a.jsx(S.Card,{bordered:!1,children:a.jsx(n.SchemaComponentOptions,{components:{CollectionFields:Ao,CollectionName:gy},inherit:!0,scope:{loadCategories:s},children:a.jsx(C.RecursionField,{schema:st,onlyRenderProperties:!0})})})})},by={type:"object",properties:{[C.uid()]:{"x-component":"ConfigurationTable"}}},xy=()=>{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:by,components:{CollectionCategroriesProvider:n.CollectionCategroriesProvider,ConfigurationTable:yy,ConfigurationTabs:hy,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)}})},Sy=()=>{const[e,t]=f.useState({}),o=n.usePlugin(ye),r=n.useCompile(),[s,i]=f.useState(!1),{t:c}=j.useTranslation(),[p,u]=f.useState(null);n.useAPIClient();const l=g=>{const m=[...o.types.keys()].map(v=>{const x=o.types.get(v);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=C.createForm({values:{type:g.key}}),v=o.types.get(g.key);u(g.key),i(!0),t({type:"object",properties:{[C.uid()]:{type:"void","x-component":"Action.Drawer","x-decorator":"FormV2","x-decorator-props":{form:m},title:r("{{t('Add new')}}")+" - "+r(v.label),properties:{body:{type:"void","x-component":v.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:c("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:[c("Add new")," ",a.jsx(J.DownOutlined,{})]})}),a.jsx(n.SchemaComponent,{scope:{createOnly:!1,useTestConnectionAction:Me,dialect:p,useDialectDataSource:l,useCreateDatabaseConnectionAction:ct,useCancelActionProps:n.useCancelActionProps},schema:e})]})})},Ay=()=>{const e=n.useCollectionRecordData(),[t,o]=f.useState({}),r=n.usePlugin(ye),s=n.useCompile(),[i,c]=f.useState(!1),{t:p}=n.useTranslation(),u=n.useDataSourceManager(),l=()=>{const g=C.useField(),m=C.useForm(),v=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}),v.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:c},children:[e.key!=="main"&&a.jsx("a",{onClick:()=>{c(!0);const g=C.createForm({initialValues:e}),m=r.types.get(e.type);o({type:"object",properties:{[C.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:l,useTestConnectionAction:Me,useCancelActionProps:n.useCancelActionProps},schema:t})]})})},$y=({key:e,type:t})=>`/_admin/data-modeling/data-source/${e}?type=${t}`,Ty=()=>{const e=n.useRecord(),t=W.useNavigate(),{t:o}=j.useTranslation();return a.jsx("div",{className:e.enabled?void 0:n.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($y(e))},role:"button","aria-label":`${e==null?void 0:e.key}-Configure`,children:o("Configure")})})},Fy=()=>{const{t:e}=j.useTranslation(),t=W.useOutlet(),o=n.usePlugin(ye),r=[...o.types.keys()].map(m=>{const v=o.types.get(m);return{value:m,label:e(v==null?void 0:v.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
|
|
7
|
+
`,children:a.jsx(S.Button,{type:"link",style:{padding:"0px"},disabled:!e.enabled,onClick:()=>{t($y(e))},role:"button","aria-label":`${e==null?void 0:e.key}-Configure`,children:o("Configure")})})},Fy=()=>{const{t:e}=j.useTranslation(),t=W.useOutlet(),o=n.usePlugin(ye),r=[...o.types.keys()].map(m=>{const v=o.types.get(m);return{value:m,label:e(v==null?void 0:v.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 c=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)})}}},l=()=>{const{refresh:m}=n.useDataBlockRequest(),v=n.useDataBlockResource(),{key:x}=n.useCollectionRecordData();return{run(){return I(this,null,function*(){yield v.destroy({filterByTk:x}),c([x]),m()})}}},g=m=>{const{key:v}=n.useCollectionRecordData();m.visible=v!=="main"};return t||a.jsx(n.SchemaComponent,{components:{CreateDatabaseConnectAction:Sy,EditDatabaseConnectionAction:Ay,ViewDatabaseConnectionAction:Ty},scope:{useNewId:m=>`${m}${C.uid()}`,types:r,useRefreshActionProps:u,useDestroyAction:l,dataSourceDeleteCallback:c,dataSourceCreateCallback:p,useIsAbleDelete:g},schema:Uo})},wy=()=>{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")}})})},_y={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"}}}}}},Py=n.css`
|
|
8
8
|
.ant-table {
|
|
9
9
|
margin-left: -16px !important;
|
|
10
10
|
}
|
|
@@ -29,23 +29,23 @@
|
|
|
29
29
|
min-width: 50px;
|
|
30
30
|
flex: 0;
|
|
31
31
|
}
|
|
32
|
-
`,Fo="Default title for each record",Iy=e=>{const t=n.useCompile(),{getInterface:o}=n.useCollectionManager_deprecated(),{t:r}=j.useTranslation(),{setState:s}=n.useResourceActionContext(),{resource:i,targetKey:
|
|
32
|
+
`,Fo="Default title for each record",Iy=e=>{const t=n.useCompile(),{getInterface:o}=n.useCollectionManager_deprecated(),{t:r}=j.useTranslation(),{setState:s}=n.useResourceActionContext(),{resource:i,targetKey:c}=e.collectionResource||{},p=n.useRecord(),[u,l]=f.useState(null),{refreshCM:g,isTitleField:m,getTemplate:v}=n.useCollectionManager_deprecated(),{[c]:x,titleField:P,template:w}=p,h=v(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=>{l(A),i.update({filterByTk:x,values:{titleField:E?A.name:"id"}}).then(()=>I(this,null,function*(){yield e.refreshAsync(),l(null),g()})).catch($=>{l(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:Py})},Oy=e=>{const t=n.useCompile(),{getInterface:o}=n.useCollectionManager_deprecated(),{resource:r,targetKey:s}=e.collectionResource||{},i=n.useRecord(),[c,p]=f.useState(null),{t:u}=j.useTranslation(),{refreshCM:l,isTitleField:g}=n.useCollectionManager_deprecated(),{[s]:m,titleField:v,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),l()})).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===(c==null?void 0:c.name),checked:h.name===(v||"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=C.useField(),{name:o,template:r}=n.useRecord(),{data:{database:s}}=n.useCurrentAppInfo(),{getInterface:i,getInheritCollections:c,getCollection:p,getCurrentCollectionFields:u,getTemplate:l}=n.useCollectionManager_deprecated(),g=f.useMemo(()=>C.createForm(),[]),m=n.useAttach(g.createArrayField(K(F({},t.props),{basePath:""}))),{t:v}=j.useTranslation(),x=n.useResourceContext(),{refreshAsync:P}=f.useContext(n.ResourceActionContext),w=l(r),h=c(o),b=[{dataIndex:"title",title:v("Field display name"),render:_=>a.jsx("div",{className:n.css`
|
|
33
33
|
font-weight: 500;
|
|
34
34
|
`,children:_})},{dataIndex:"name",title:v("Field name")},{dataIndex:"interface",title:v("Field interface")},{dataIndex:"titleField",title:v("Title field")},{dataIndex:"description",title:v("Description")},{dataIndex:"actions",title:v("Actions")}],y=u(o),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:v("PK & FK fields"),fields:d.pf},{key:"association",title:v("Association fields"),fields:d.association},{key:"general",title:v("General fields"),fields:d.general},{key:"system",title:v("System fields"),fields:d.system}];A.push(...h.map(_=>{const T=p(_);if(T)return{key:_,title:`${v("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:_y,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:v("Delete"),icon:"DeleteOutlined",disabled:w==null?void 0:w.forbidDeletion,confirm:{title:v("Delete record"),content:v("Are you sure you want to delete it?")}}),[v]),$={type:"primary",database:s},B={type:"primary"};return a.jsx(n.ResourceActionProvider,K(F({},D),{children:a.jsx(C.FormContext.Provider,{value:g,children:a.jsxs(C.FieldContext.Provider,{value:m,children:[a.jsxs(S.Space,{align:"end",className:n.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:Dy,expandable:{defaultExpandAllRows:!0,defaultExpandedRowKeys:A.map(_=>_.key),expandedRowRender:_=>_.inherit?a.jsx(Oy,{fields:_.fields,collectionResource:x,refreshAsync:P}):a.jsx(Iy,{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 v=new XMLHttpRequest;v.open("GET",c),v.responseType="blob",v.onload=function(){u(v.response,g,m)},v.onerror=function(){console.error("could not download file")},v.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 v=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=v.createObjectURL(c),setTimeout(function(){v.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 v=document.createElement("a");v.href=c,v.target="_blank",setTimeout(function(){i(v)})}}:function(c,g,m,v){if(v=v||open("","_blank"),v&&(v.document.title=v.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;"),v?v.location.href=d:location=d,v=null},h.readAsDataURL(c)}else{var b=l.URL||l.webkitURL,y=b.createObjectURL(c);v?v.location=y:location.href=y,v=null,setTimeout(function(){b.revokeObjectURL(y)},4e4)}});l.saveAs=u.saveAs=u,e.exports=u})})(_o);var Ey=_o.exports;const Po=e=>C.Schema.compile(e,{t:n.i18n.t}),ky={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:{[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=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"});Ey.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"}}}}}}}}}},My={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"}}}}}}}}},jy={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"}}}}}}}}},Ky=(e,t)=>(o,r)=>{o.loading=!0,e(o,r,t).then(C.action.bound(s=>{o.dataSource=s,o.loading=!1})).catch(console.error)},By=()=>{const[e,t]=f.useState([]);return[e,t]},Vy=()=>{const e=n.useRecord(),t=C.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))})}}},Ny=()=>({run(){return I(this,null,function*(){})}}),Ly=()=>{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)},qy=e=>`${e||""}${C.uid()}`,Gy=()=>{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}))}),v=()=>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:ky,components:{AddSubFieldAction:n.AddSubFieldAction,EditSubFieldAction:n.EditSubFieldAction,FieldSummary:n.FieldSummary,TemplateSummay:n.TemplateSummary,CollectionFieldsTable:Ry,CollectionFields:wo},scope:{loadFilterTargetKeys:x,useDestroySubField:Vy,useBulkDestroySubField:Ny,useSelectedRowKeys:By,useAsyncDataSource:Ky,loadCollections:g,loadCategories:m,loadDBViews:v,loadStorages:P,useCurrentFields:Ly,useNewId:qy,useCancelAction:n.useCancelAction,interfaces:t,enableInherits:(s==null?void 0:s.dialect)==="postgres",isPG:(s==null?void 0:s.dialect)==="postgres"}})})},Uy=e=>{var t;return((t=e["x-component"])==null?void 0:t.endsWith(".Column"))>-1},zy={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:[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:Dy,expandable:{defaultExpandAllRows:!0,defaultExpandedRowKeys:A.map(_=>_.key),expandedRowRender:_=>_.inherit?a.jsx(Oy,{fields:_.fields,collectionResource:x,refreshAsync:P}):a.jsx(Iy,{fields:_.fields,collectionResource:x,refreshAsync:P})}})]})})}))};var _o={exports:{}};(function(e,t){(function(o,r){r()})(R,function(){function o(l,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(l.type)?new Blob(["\uFEFF",l],{type:l.type}):l}function r(l,g,m){var v=new XMLHttpRequest;v.open("GET",l),v.responseType="blob",v.onload=function(){u(v.response,g,m)},v.onerror=function(){console.error("could not download file")},v.send()}function s(l){var g=new XMLHttpRequest;g.open("HEAD",l,!1);try{g.send()}catch(m){}return 200<=g.status&&299>=g.status}function i(l){try{l.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),l.dispatchEvent(g)}}var c=typeof window=="object"&&window.window===window?window:typeof self=="object"&&self.self===self?self:typeof R=="object"&&R.global===R?R:void 0,p=c.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),u=c.saveAs||(typeof window!="object"||window!==c?function(){}:"download"in HTMLAnchorElement.prototype&&!p?function(l,g,m){var v=c.URL||c.webkitURL,x=document.createElement("a");g=g||l.name||"download",x.download=g,x.rel="noopener",typeof l=="string"?(x.href=l,x.origin===location.origin?i(x):s(x.href)?r(l,g,m):i(x,x.target="_blank")):(x.href=v.createObjectURL(l),setTimeout(function(){v.revokeObjectURL(x.href)},4e4),setTimeout(function(){i(x)},0))}:"msSaveOrOpenBlob"in navigator?function(l,g,m){if(g=g||l.name||"download",typeof l!="string")navigator.msSaveOrOpenBlob(o(l,m),g);else if(s(l))r(l,g,m);else{var v=document.createElement("a");v.href=l,v.target="_blank",setTimeout(function(){i(v)})}}:function(l,g,m,v){if(v=v||open("","_blank"),v&&(v.document.title=v.document.body.innerText="downloading..."),typeof l=="string")return r(l,g,m);var x=l.type==="application/octet-stream",P=/constructor/i.test(c.HTMLElement)||c.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;"),v?v.location.href=d:location=d,v=null},h.readAsDataURL(l)}else{var b=c.URL||c.webkitURL,y=b.createObjectURL(l);v?v.location=y:location.href=y,v=null,setTimeout(function(){b.revokeObjectURL(y)},4e4)}});c.saveAs=u.saveAs=u,e.exports=u})})(_o);var Ey=_o.exports;const Po=e=>C.Schema.compile(e,{t:n.i18n.t}),ky={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:{[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=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"});Ey.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"}}}}}}}}}},My={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"}}}}}}}}},jy={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"}}}}}}}}},Ky=(e,t)=>(o,r)=>{o.loading=!0,e(o,r,t).then(C.action.bound(s=>{o.dataSource=s,o.loading=!1})).catch(console.error)},By=()=>{const[e,t]=f.useState([]);return[e,t]},Vy=()=>{const e=n.useRecord(),t=C.useForm();return{run(){return I(this,null,function*(){var s,i,c;const r=(c=(i=(s=t.values)==null?void 0:s.children)==null?void 0:i.slice)==null?void 0:c.call(i);t.setValuesIn("children",r.filter(p=>p.name!==e.name))})}}},Ny=()=>({run(){return I(this,null,function*(){})}}),Ly=()=>{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)},qy=e=>`${e||""}${C.uid()}`,Gy=()=>{const{t:e}=j.useTranslation(),{interfaces:t,getCollections:o,getCollection:r}=n.useCollectionManager_deprecated(),{data:{database:s}}=n.useCurrentAppInfo(),i=f.useContext(n.CollectionCategroriesContext),c=n.useAPIClient(),p=c.resource("dbViews"),u=n.useCompile(),l=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}))}),v=()=>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?!!l.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 c.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:ky,components:{AddSubFieldAction:n.AddSubFieldAction,EditSubFieldAction:n.EditSubFieldAction,FieldSummary:n.FieldSummary,TemplateSummay:n.TemplateSummary,CollectionFieldsTable:Ry,CollectionFields:wo},scope:{loadFilterTargetKeys:x,useDestroySubField:Vy,useBulkDestroySubField:Ny,useSelectedRowKeys:By,useAsyncDataSource:Ky,loadCollections:g,loadCategories:m,loadDBViews:v,loadStorages:P,useCurrentFields:Ly,useNewId:qy,useCancelAction:n.useCancelAction,interfaces:t,enableInherits:(s==null?void 0:s.dialect)==="postgres",isPG:(s==null?void 0:s.dialect)==="postgres"}})})},Uy=e=>{var t;return((t=e["x-component"])==null?void 0:t.endsWith(".Column"))>-1},zy={body:{row:e=>a.jsx("tr",F({},e)),cell:e=>a.jsx("td",K(F({},e),{className:n.cx(e.className,n.css`
|
|
39
39
|
max-width: 300px;
|
|
40
40
|
overflow: hidden;
|
|
41
41
|
text-overflow: ellipsis;
|
|
42
42
|
white-space: nowrap;
|
|
43
|
-
`)}))}},Hy=()=>{const[e,t]=f.useState([]);return[e,t]},Wy=(e,t)=>{const o=C.useField();return n.useRequest(()=>Promise.resolve({data:o.value}),e)},Qy=[{dataIndex:"name",key:"name"}],Zy=new Map([["primaryAndForeignKey","PK & FK fields"],["relation","Association fields"],["systemInfo","System fields"],["basic","General fields"]]),Jy=C.observer(e=>{const t=["primaryAndForeignKey","relation","basic","systemInfo"],o=C.useField(),r=n.useRecord(),{name:s}=r,{t:i}=j.useTranslation(),
|
|
43
|
+
`)}))}},Hy=()=>{const[e,t]=f.useState([]);return[e,t]},Wy=(e,t)=>{const o=C.useField();return n.useRequest(()=>Promise.resolve({data:o.value}),e)},Qy=[{dataIndex:"name",key:"name"}],Zy=new Map([["primaryAndForeignKey","PK & FK fields"],["relation","Association fields"],["systemInfo","System fields"],["basic","General fields"]]),Jy=C.observer(e=>{const t=["primaryAndForeignKey","relation","basic","systemInfo"],o=C.useField(),r=n.useRecord(),{name:s}=r,{t:i}=j.useTranslation(),c=n.useCompile(),{getInterface:p,getInheritCollections:u,getCollection:l,getCurrentCollectionFields:g,getInheritedFields:m}=n.useCollectionManager_deprecated(),T=e,{showIndex:v=!0,useSelectedRowKeys:x=Hy,useDataSource:P=Wy,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),l(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=l(O);V.push({key:O,name:i(Zy.get(O))||i("Parent collection fields")+`(${c(N.title)})`,data:H.get(O)})}}),E(t),A(V)}});const B=()=>{const k=C.useFieldSchema(),{exists:V,render:H}=n.useSchemaInitializerRender(k["x-initializer"],k["x-initializer-props"]),G=k.reduceProperties((O,z)=>{if(Uy(z))return O.concat([z])},[]).map(O=>({title:a.jsx(C.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(C.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(C.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:zy,showHeader:!0,columns:O,dataSource:k.data,pagination:!1}))}};return a.jsx("div",{className:n.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:Qy,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"}),Xy=()=>{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})}]},Yy=(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})},Ry=C.observer(e=>{const{rowKey:t="id",useDataSource:o=Yy,useSelectedRowKeys:r=Xy}=e,s=C.useField(),i=C.useFieldSchema(),l=f.useMemo(()=>C.createForm(),[]),p=C.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(C.FormContext.Provider,{value:l,children:a.jsx(C.FieldContext.Provider,{value:p,children:a.jsx(Jy,K(F({},e),{rowKey:t,loading:u==null?void 0:u.loading,useSelectedRowKeys:r,pagination:!1}))})})})},{displayName:"CollectionFieldsTable"});function ef(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 tf(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 of=C.observer(({item:e})=>a.jsx(tf,{id:e.id.toString(),data:e,children:a.jsx("div",{children:a.jsx(ef,{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))]})},nf=C.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:v}=g;setTimeout(()=>{o(null)}),v&&v.id!==m.id&&(yield i.resource("collectionCategories").move({sourceId:m.id,targetId:v.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"}),rf=()=>{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(),v=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(C.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 v.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:{[C.uid()]:{"x-component":"EditCategory","x-component-props":{item:d}}}}})},{key:"delete",label:m("{{t('Delete category')}}"),onClick:()=>h(d.id)}]}));return t?a.jsx(nf,{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(of,{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(C.RecursionField,{name:c,schema:d.schema,onlyRenderProperties:!0})})})}))})}):null},af=()=>{const e=C.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()})}}},sf=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:My,components:{CollectionCategory:n.CollectionCategory,CollectionTemplateTag:n.CollectionTemplateTag},scope:F({getContainer:o,useCancelAction:n.useCancelAction,createOnly:!0,useCreateCategry:af},t)})]})},lf=()=>{const e=C.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()})}}},cf=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},pf=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:jy,scope:F({getContainer:o,useCancelAction:n.useCancelAction,createOnly:!0,useEditCategry:lf,useValuesFromRecord:cf},t)})]})})};C.registerValidateFormats({uid:/^[a-zA-Z][a-zA-Z0-9_-]*$/});const uf={type:"object",properties:{[C.uid()]:{"x-component":"ConfigurationTable"}}},df=()=>a.jsx(n.SchemaComponent,{schema:uf,components:{CollectionCategroriesProvider:n.CollectionCategroriesProvider,ConfigurationTable:Gy,ConfigurationTabs:rf,AddFieldAction:n.AddFieldAction,AddCollectionField:n.AddCollectionField,AddCollection:n.AddCollection,AddCollectionAction:n.AddCollectionAction,AddCategoryAction:Oo,AddCategory:sf,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:pf,EditCategoryAction:Eo,SyncFieldsAction:n.SyncFieldsAction,SyncFieldsActionCom:n.SyncFieldsActionCom,SyncSQLFieldsAction:n.SyncSQLFieldsAction}}),he=f.createContext(null);he.displayName="PermissionContext";const mf=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})},yf=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})})},ff=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=C.useField(),c=n.useTableBlockParams(e),g=C.useFieldSchema(),{treeTable:m}=(g==null?void 0:g["x-decorator-props"])||{},[v,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(()=>C.createForm(),[m]);return a.jsx(n.SchemaComponentOptions,{scope:{treeTable:m},children:a.jsx(C.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:v,childrenColumnName:P,setExpandFlag:()=>x(!v)}),children:a.jsx(n.RenderChildrenWithAssociationFilter,F({},e))})})}))})})}),gf=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},vf={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:{}}]},Cf={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:gf},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"}}}}}}}}}}}}}}}}},hf=e=>{const{uid:t}=e,o=n.useCollectionRecordData(),r=o.name,s=n.useRequest({resource:"roles.dataSourcesCollections",action:"list",resourceOf:r,params:{pageSize:20,filter:{hidden:{$isFalsy:!0},dataSourceKey:o.key},sort:["sort"],appends:["fields"]}},{uid:t});return F({service:s,collection:vf,params:{pageSize:20,filter:{hidden:{$isFalsy:!0},dataSourceKey:o.key},sort:["sort"],appends:["fields"]}},e)},bf=()=>{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})},xf={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:Cf}}}}}}}}}}}}}}}}}},Sf=()=>{const e=C.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()})}}},st=f.createContext([]);st.displayName="AvailableActionsContext";const Af=e=>{const{data:t,loading:o}=n.useRequest({resource:"availableActions",action:"list"});return o?a.jsx(S.Spin,{}):a.jsx(st.Provider,{value:t==null?void 0:t.data,children:e.children})},ko=()=>f.useContext(st),$f=()=>{const e=n.useRecord();return a.jsx("div",{children:a.jsx(n.SchemaComponentContext.Provider,{value:{designable:!1},children:a.jsx(Af,{children:a.jsx(n.SchemaComponent,{schema:xf,components:{SettingCenterPermissionProvider:n.SettingCenterPermissionProvider,PermissionProvider:mf,RoleCollectionTableBlockProvider:ff},scope:{dataSourceKey:e.key,useSaveRoleResourceAction:Sf,useFilterActionProps:bf,useRoleCollectionServiceProps:hf}})})})})},Tf=()=>{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(){C.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"}}}})},Ff=(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}}]}),wf=()=>{const{name:e}=f.useContext(me),t=n.useFormBlockContext();return f.useEffect(()=>{t.form.setInitialValues({resourceName:e})},[e]),{form:t.form}},_f=e=>{const t=Ff(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":wf,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 Pf=e=>{const[t,o]=f.useState([]);return a.jsx(Mo.Provider,{value:[t,o],children:e.children})},Df=e=>{const t=f.useMemo(()=>C.createForm({values:{scope:e.value}}),[]),{key:o}=n.useRecord(),r=_f(o);return a.jsx(n.FormProvider,{form:t,children:a.jsx(n.SchemaComponent,{components:{RolesResourcesScopesSelectedRowKeysProvider:Pf},scope:{onChange(s){var i;(i=e==null?void 0:e.onChange)==null||i.call(e,s)}},schema:r})})},If=n.createStyles(({css:e})=>e`
|
|
48
|
+
`,children:a.jsx(S.Table,{showHeader:!1,loading:e==null?void 0:e.loading,columns:Qy,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"}),Xy=()=>{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})}]},Yy=(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})},Ry=C.observer(e=>{const{rowKey:t="id",useDataSource:o=Yy,useSelectedRowKeys:r=Xy}=e,s=C.useField(),i=C.useFieldSchema(),c=f.useMemo(()=>C.createForm(),[]),p=C.useAttach(c.createArrayField(K(F({},s.props),{basePath:""}))),u=o({uid:i["x-uid"],onSuccess(l){c.setValues({[i.name]:l==null?void 0:l.data})}},e);return a.jsx(n.AsyncDataProvider,{value:u,children:a.jsx(C.FormContext.Provider,{value:c,children:a.jsx(C.FieldContext.Provider,{value:p,children:a.jsx(Jy,K(F({},e),{rowKey:t,loading:u==null?void 0:u.loading,useSelectedRowKeys:r,pagination:!1}))})})})},{displayName:"CollectionFieldsTable"});function ef(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 tf(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 of=C.observer(({item:e})=>a.jsx(tf,{id:e.id.toString(),data:e,children:a.jsx("div",{children:a.jsx(ef,{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))]})},nf=C.observer(e=>{const[t,o]=f.useState(null),{refresh:r}=f.useContext(n.CollectionCategroriesContext),{refresh:s}=n.useResourceActionContext(),i=n.useAPIClient(),c=g=>I(this,null,function*(){const{active:m,over:v}=g;setTimeout(()=>{o(null)}),v&&v.id!==m.id&&(yield i.resource("collectionCategories").move({sourceId:m.id,targetId:v.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}}),l=Z.useSensors(u);return a.jsxs(Z.DndContext,{sensors:l,onDragEnd:c,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"}),rf=()=>{const{t:e}=j.useTranslation(),{data:t,refresh:o}=f.useContext(n.CollectionCategroriesContext),{refresh:r,run:s,defaultRequest:i,setState:c}=n.useResourceActionContext(),[p,u]=f.useState({tab:"all"}),[l,g]=f.useState(p.tab),m=n.useCompile(),v=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(C.uid()),d!=="all"){const E={$and:[(A=i==null?void 0:i.params)==null?void 0:A.filter,{"category.id":d}]};s({filter:E}),c==null||c({category:[+d],params:[{filter:E}]})}else s(),c==null||c({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 v.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:{[C.uid()]:{"x-component":"EditCategory","x-component-props":{item:d}}}}})},{key:"delete",label:m("{{t('Delete category')}}"),onClick:()=>h(d.id)}]}));return t?a.jsx(nf,{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(of,{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(C.RecursionField,{name:l,schema:d.schema,onlyRenderProperties:!0})})})}))})}):null},af=()=>{const e=C.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()})}}},sf=e=>a.jsx(Oo,F({},e)),Oo=e=>{const{scope:t,getContainer:o,children:r}=e,[s,i]=f.useState(!1),{t:c}=j.useTranslation();return a.jsxs(n.ActionContextProvider,{value:{visible:s,setVisible:i},children:[a.jsx("div",{onClick:()=>i(!0),title:c("Add category"),children:r||a.jsx(J.PlusOutlined,{})}),a.jsx(n.SchemaComponent,{schema:My,components:{CollectionCategory:n.CollectionCategory,CollectionTemplateTag:n.CollectionTemplateTag},scope:F({getContainer:o,useCancelAction:n.useCancelAction,createOnly:!0,useCreateCategry:af},t)})]})},cf=()=>{const e=C.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()})}}},lf=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},pf=e=>a.jsx(Eo,F({},e)),Eo=e=>{const{scope:t,getContainer:o,item:r,children:s}=e,[i,c]=f.useState(!1),p=n.useCompile();return a.jsx(n.RecordProvider,{record:r,children:a.jsxs(n.ActionContextProvider,{value:{visible:i,setVisible:c},children:[a.jsx(a.Fragment,{children:s||a.jsx("span",{onClick:()=>c(!0),children:p('{{ t("Edit category") }}')})}),a.jsx(n.SchemaComponent,{schema:jy,scope:F({getContainer:o,useCancelAction:n.useCancelAction,createOnly:!0,useEditCategry:cf,useValuesFromRecord:lf},t)})]})})};C.registerValidateFormats({uid:/^[a-zA-Z][a-zA-Z0-9_-]*$/});const uf={type:"object",properties:{[C.uid()]:{"x-component":"ConfigurationTable"}}},df=()=>a.jsx(n.SchemaComponent,{schema:uf,components:{CollectionCategroriesProvider:n.CollectionCategroriesProvider,ConfigurationTable:Gy,ConfigurationTabs:rf,AddFieldAction:n.AddFieldAction,AddCollectionField:n.AddCollectionField,AddCollection:n.AddCollection,AddCollectionAction:n.AddCollectionAction,AddCategoryAction:Oo,AddCategory:sf,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:pf,EditCategoryAction:Eo,SyncFieldsAction:n.SyncFieldsAction,SyncFieldsActionCom:n.SyncFieldsActionCom,SyncSQLFieldsAction:n.SyncSQLFieldsAction}}),he=f.createContext(null);he.displayName="PermissionContext";const mf=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[c,p]=f.useState(s);return f.useEffect(()=>{p(s)},[s]),a.jsx(he.Provider,{value:{currentDataSource:o,currentRecord:c,update:(u,l)=>I(this,null,function*(){yield t.request({url:`dataSources/${o.key}/roles:update`,data:l.values,method:"post",params:{filterByTk:l.values.roleName}}),p(F(F({},c),l.values)),S.message.success(r("Saved successfully"))})},children:e.children})},yf=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})})},ff=n.withDynamicSchemaProps(e=>{const h=e,{showIndex:t,dragSort:o,rowKey:r,fieldNames:s,collection:i,service:c}=h,p=Ee(h,["showIndex","dragSort","rowKey","fieldNames","collection","service"]),u=C.useField(),l=n.useTableBlockParams(e),g=C.useFieldSchema(),{treeTable:m}=(g==null?void 0:g["x-decorator-props"])||{},[v,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),l.tree=!0}const w=f.useMemo(()=>C.createForm(),[m]);return a.jsx(n.SchemaComponentOptions,{scope:{treeTable:m},children:a.jsx(C.FormContext.Provider,{value:w,children:a.jsx(n.BlockProvider,K(F({name:e.name||"table"},e),{params:l,runWhenParamsChanged:!0,children:a.jsx(n.FixedBlockWrapper,{children:a.jsx(n.TableBlockContext.Provider,{value:K(F({},p),{field:u,service:c,params:l,showIndex:t,dragSort:o,rowKey:r,expandFlag:v,childrenColumnName:P,setExpandFlag:()=>x(!v)}),children:a.jsx(n.RenderChildrenWithAssociationFilter,F({},e))})})}))})})}),gf=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},vf={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:{}}]},Cf={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:gf},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"}}}}}}}}}}}}}}}}},hf=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:vf,params:{pageSize:20,filter:{hidden:{$isFalsy:!0},dataSourceKey:o.key},sort:["sort"],appends:["fields"]}},e)},bf=()=>{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})},xf={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:Cf}}}}}}}}}}}}}}}}}},Sf=()=>{const e=C.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 Af=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),$f=()=>{const e=n.useRecord();return a.jsx("div",{children:a.jsx(n.SchemaComponentContext.Provider,{value:{designable:!1},children:a.jsx(Af,{children:a.jsx(n.SchemaComponent,{schema:xf,components:{SettingCenterPermissionProvider:n.SettingCenterPermissionProvider,PermissionProvider:mf,RoleCollectionTableBlockProvider:ff},scope:{dataSourceKey:e.key,useSaveRoleResourceAction:Sf,useFilterActionProps:bf,useRoleCollectionServiceProps:hf}})})})})},Tf=()=>{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(c=>{var u,l;const p=(u=c==null?void 0:c.data)==null?void 0:u.data;return(l=p.snippets)==null||l.forEach(g=>{p[g]=!0}),{data:p}}),r)},effects(){C.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"}}}})},Ff=(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}}]}),wf=()=>{const{name:e}=f.useContext(me),t=n.useFormBlockContext();return f.useEffect(()=>{t.form.setInitialValues({resourceName:e})},[e]),{form:t.form}},_f=e=>{const t=Ff(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":wf,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 Pf=e=>{const[t,o]=f.useState([]);return a.jsx(Mo.Provider,{value:[t,o],children:e.children})},Df=e=>{const t=f.useMemo(()=>C.createForm({values:{scope:e.value}}),[]),{key:o}=n.useRecord(),r=_f(o);return a.jsx(n.FormProvider,{form:t,children:a.jsx(n.SchemaComponent,{components:{RolesResourcesScopesSelectedRowKeysProvider:Pf},scope:{onChange(s){var i;(i=e==null?void 0:e.onChange)==null||i.call(e,s)}},schema:r})})},If=n.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
|
-
`),Of=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 Ef=C.connect(e=>{var h,b;const{styles:t}=If(),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,
|
|
56
|
+
`),Of=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 Ef=C.connect(e=>{var h,b;const{styles:t}=If(),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,c=n.useCompile(),{t:p}=j.useTranslation(),u=C.useField(),l=Of(u.value||[]),g=(y,d)=>{var D;const A=l==null?void 0:l[y];return A?(D=A==null?void 0:A.fields)==null?void 0:D.includes(d):!1},m=s.filter(y=>y.allowConfigureFields),v=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;l[y]?delete l[y]:l[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(l))},P=(y,d)=>{l[y]?(l[y].scope=d,o(Object.values(l))):(x(y),l[y].scope=d,o(Object.values(l)))},w={};for(const y of m)w[y.name]=(i==null?void 0:i.length)===((b=(h=l==null?void 0:l[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=>c(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(Df,{value:y,onChange:A=>{P(d.name,A)}})}],dataSource:s==null?void 0:s.map(y=>{let d=!1,A=null;return l[y.name]&&(d=!0,y.onNewRecord||(A=l[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:v,columns:[{dataIndex:["uiSchema","title"],title:p("Field display name"),render:(y,d)=>c(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=l[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),l[y.name]=A,o(Object.values(l))}}),c(y.displayName)]}),render:(A,D)=>a.jsx(S.Checkbox,{checked:A,onChange:()=>{const E=l[y.name]||{name:y.name},$=E.fields||[];if(A){const B=$.indexOf(D.name);$.splice(B,1)}else $.push(D.name);E.fields=$,l[y.name]=E,o(Object.values(l))}})}})]})})]})})})}),kf=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},Mf=C.connect(e=>{const{onChange:t}=e,o=ko(),r=n.useCompile(),{t:s}=j.useTranslation(),i=C.useField(),c=kf(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:l=>{p?delete c[u.name]:c[u.name]="all",t(jo(c))}})},{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:l=>{c[u.name]=l,t(jo(c))}})}],dataSource:o==null?void 0:o.map(p=>{let u="all",l=!1;return c[p.name]&&(l=!0,u=c[p.name]),K(F({},p),{enabled:l,scope:u})})})})}),jf={type:"object",properties:{[C.uid()]:{"x-component":"DataSourceTable"}}},be=f.createContext({});be.displayName="CurrentRolesContext";const Kf=({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:Tf,RolesResourcesActions:Ef,DataSourceTable:$f,StrategyActions:Mf,SettingsCenterConfigure:n.SettingsCenterConfigure,SettingCenterProvider:n.SettingCenterProvider,ResourceActionProvider:n.ResourceActionProvider,RoleRecordProvider:yf},schema:jf})})});class ye extends n.Plugin{constructor(){super(...arguments),this.types=new Map}load(){return I(this,null,function*(){this.app.addComponents({DataSourcePermissionManager:Kf,DatasourceLink:wy}),this.app.use(qo),this.app.systemSettingsManager.add("data-modeling.collections",{title:`{{t("Collections", { ns: "${U}" })}}`,icon:"DatabaseOutlined",Component:df,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:Fy,aclSnippet:"pm.database-connections.manager",sort:-70}),this.app.systemSettingsManager.add(`data-modeling.${U}/:name`,{title:a.jsx(zo,{}),Component:xy,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"}})});
|
package/dist/externalVersion.js
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
module.exports = {
|
|
2
2
|
"react": "18.3.1",
|
|
3
|
-
"@tachybase/client": "0.
|
|
4
|
-
"@tachybase/server": "0.
|
|
3
|
+
"@tachybase/client": "1.0.6",
|
|
4
|
+
"@tachybase/server": "1.0.6",
|
|
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": "0.
|
|
9
|
+
"@tachybase/schema": "1.0.6",
|
|
10
10
|
"react-i18next": "15.2.0",
|
|
11
|
-
"@tachybase/database": "0.
|
|
12
|
-
"@tachybase/utils": "0.
|
|
13
|
-
"@tachybase/module-acl": "0.
|
|
14
|
-
"@tachybase/acl": "0.
|
|
11
|
+
"@tachybase/database": "1.0.6",
|
|
12
|
+
"@tachybase/utils": "1.0.6",
|
|
13
|
+
"@tachybase/module-acl": "1.0.6",
|
|
14
|
+
"@tachybase/acl": "1.0.6",
|
|
15
15
|
"sequelize": "6.37.5",
|
|
16
|
-
"@tachybase/components": "0.
|
|
16
|
+
"@tachybase/components": "1.0.6",
|
|
17
17
|
"@dnd-kit/core": "6.3.1",
|
|
18
18
|
"ahooks": "3.8.4"
|
|
19
19
|
};
|
package/dist/server/plugin.js
CHANGED
|
@@ -138,6 +138,9 @@ class PluginDataSourceManagerServer extends import_server.Plugin {
|
|
|
138
138
|
dataPath = "body.data";
|
|
139
139
|
}
|
|
140
140
|
const items = import_lodash.default.get(ctx, dataPath);
|
|
141
|
+
if (!Array.isArray(items)) {
|
|
142
|
+
return;
|
|
143
|
+
}
|
|
141
144
|
import_lodash.default.set(
|
|
142
145
|
ctx,
|
|
143
146
|
dataPath,
|
|
@@ -157,7 +160,7 @@ class PluginDataSourceManagerServer extends import_server.Plugin {
|
|
|
157
160
|
);
|
|
158
161
|
}
|
|
159
162
|
},
|
|
160
|
-
{ tag: "processDataSourcesList" }
|
|
163
|
+
{ tag: "processDataSourcesList", before: "dataWrapping" }
|
|
161
164
|
);
|
|
162
165
|
const plugin = this;
|
|
163
166
|
const mapDataSourceWithCollection = (dataSourceModel, appendCollections = true) => {
|
|
@@ -464,16 +467,8 @@ class PluginDataSourceManagerServer extends import_server.Plugin {
|
|
|
464
467
|
{ tag: "dataSourceAccessCheck" }
|
|
465
468
|
);
|
|
466
469
|
this.app.acl.registerSnippet({
|
|
467
|
-
name:
|
|
468
|
-
actions: [
|
|
469
|
-
"dataSources:*",
|
|
470
|
-
"roles.dataSourceResources",
|
|
471
|
-
"collections:*",
|
|
472
|
-
"collections.fields:*",
|
|
473
|
-
"dbViews:*",
|
|
474
|
-
"collectionCategories:*",
|
|
475
|
-
"sqlCollection:*"
|
|
476
|
-
]
|
|
470
|
+
name: "pm.database-connections.collections",
|
|
471
|
+
actions: ["collections:*", "collections.fields:*", "collectionCategories:*"]
|
|
477
472
|
});
|
|
478
473
|
this.app.acl.allow("dataSources", "listEnabled", "loggedIn");
|
|
479
474
|
this.app.acl.allow("dataSources", "get", "loggedIn");
|
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": "0.
|
|
4
|
+
"version": "1.0.6",
|
|
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,16 +18,16 @@
|
|
|
18
18
|
"react-i18next": "^15.2.0",
|
|
19
19
|
"react-router-dom": "6.28.1",
|
|
20
20
|
"sequelize": "^6.37.5",
|
|
21
|
-
"@tachybase/components": "0.
|
|
22
|
-
"@tachybase/schema": "0.
|
|
21
|
+
"@tachybase/components": "1.0.6",
|
|
22
|
+
"@tachybase/schema": "1.0.6"
|
|
23
23
|
},
|
|
24
24
|
"peerDependencies": {
|
|
25
|
-
"@tachybase/acl": "0.
|
|
26
|
-
"@tachybase/
|
|
27
|
-
"@tachybase/
|
|
28
|
-
"@tachybase/
|
|
29
|
-
"@tachybase/utils": "0.
|
|
30
|
-
"@tachybase/
|
|
25
|
+
"@tachybase/acl": "1.0.6",
|
|
26
|
+
"@tachybase/database": "1.0.6",
|
|
27
|
+
"@tachybase/client": "1.0.6",
|
|
28
|
+
"@tachybase/server": "1.0.6",
|
|
29
|
+
"@tachybase/utils": "1.0.6",
|
|
30
|
+
"@tachybase/test": "1.0.6"
|
|
31
31
|
},
|
|
32
32
|
"description.zh-CN": "管理数据源,包括内置的 Master 数据库,外部的数据库、API。",
|
|
33
33
|
"displayName.zh-CN": "数据源管理",
|