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