@nocobase/plugin-data-source-manager 0.20.0-alpha.1

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