@nocobase/plugin-data-source-manager 1.7.0-beta.1 → 1.7.0-beta.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -7,4 +7,4 @@
7
7
  * For more information, please refer to: https://www.nocobase.com/agreement.
8
8
  */
9
9
 
10
- "use strict";(self.webpackChunk_nocobase_plugin_data_source_manager=self.webpackChunk_nocobase_plugin_data_source_manager||[]).push([["833"],{227:function(e,t,n){n.d(t,{E:function(){return s}});var r=n(482),i=n(772),a=n(505),l=n(721),o=n(156),c=n.n(o),u=n(286),s=function(e){var t=(0,i.useCollectionRecordData)()||{},n=(0,i.useCompile)();return(0,a.useField)().editable?c().createElement(i.Input,e):(null==t?void 0:t.filterTargetKey)?n(t.title):c().createElement("div",{style:{display:"inline"}},c().createElement(l.Popover,{trigger:["click"],content:c().createElement(u.L,{size:"small",style:{width:"20em"}})},c().createElement(r.ExclamationCircleTwoTone,{style:{marginRight:"0.3em"},twoToneColor:"#faad14"})),n(t.title))}},648:function(e,t,n){n.d(t,{a:function(){return u}});var r=n(772),i=n(721),a=n(156),l=n.n(a),o=n(128),c=n(286),u=function(e){var t=e.collectionName,n=(0,r.useApp)(),u=(0,o.useParams)().name,s=void 0===u?"main":u,f=(0,a.useMemo)(function(){return n.getCollectionManager(s).getCollection(t)},[n,s,t]);return!(null==f?void 0:f.filterTargetKey)&&l().createElement(i.Alert,{style:{marginBottom:16},type:"warning",message:l().createElement(c.L,null)})}},286:function(e,t,n){n.d(t,{L:function(){return m}});var r=n(772),i=n(721),a=n(156),l=n.n(a),o=n(128),c=n(573),u=n(550);function s(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function f(e,t,n,r,i,a,l){try{var o=e[a](l),c=o.value}catch(e){n(e);return}o.done?t(c):Promise.resolve(c).then(r,i)}function d(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,i=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=i){var a=[],l=!0,o=!1;try{for(i=i.call(e);!(l=(n=i.next()).done)&&(a.push(n.value),!t||a.length!==t);l=!0);}catch(e){o=!0,r=e}finally{try{!l&&null!=i.return&&i.return()}finally{if(o)throw r}}return a}}(e,t)||function(e,t){if(e){if("string"==typeof e)return s(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return s(e,t)}}(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var m=function(e){var t,n=e.size,s=e.style,m=(0,r.useAPIClient)(),p=(0,o.useParams)().name,y=void 0===p?"main":p,h=(0,r.useCollectionRecordData)(),b=(0,r.useApp)(),g=d((0,a.useState)(),2),v=g[0],w=g[1],x=d((0,a.useState)(),2),E=x[0],S=x[1],C=(0,r.useCompile)(),A=(0,a.useMemo)(function(){return b.getCollectionManager(y).getCollection(h.name)},[b,y,h.name]),I=(0,a.useMemo)(function(){return b.getCollectionManager(y).getCollectionFields(h.name).filter(function(e){if(!e.interface)return!1;var t=b.dataSourceManager.collectionFieldInterfaceManager.getFieldInterface(e.interface);return(null==t?!!void 0:!!t.titleUsable)||!1}).map(function(e){var t;return{label:C(null===(t=e.uiSchema)||void 0===t?void 0:t.title),value:e.name}})},[b,C,y,h.name]),k=(0,r.useResourceActionContext)().refresh,O=(0,a.useContext)(u.I),F=(0,c.EL)().t;return l().createElement("div",{style:function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){var r,i,a;r=e,i=t,a=n[t],i in r?Object.defineProperty(r,i,{value:a,enumerable:!0,configurable:!0,writable:!0}):r[i]=a})}return e}({},s)},F("If a collection lacks a primary key, you must configure a unique record key to locate row records within a block, failure to configure this will prevent the creation of data blocks for the collection."),"small"===n?l().createElement("br",null):" ",l().createElement(i.Space.Compact,{style:{marginTop:5}},l().createElement(i.Select,{onChange:function(e,t){console.log(e,t),w(e),S(t.map(function(e){return e.label}).join(","))},placeholder:F("Select field"),size:"small",options:I,mode:"multiple",style:{width:"200px"}}),l().createElement(i.Popconfirm,{placement:"bottom",title:l().createElement("div",{style:{width:"15em"}},E?F('Are you sure you want to set the "{{title}}" field as a record unique key? This setting cannot be changed after it\'s been set.',{title:E}):F("Please select a field.")),onConfirm:(t=function(){var e;return function(e,t){var n,r,i,a,l={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:o(0),throw:o(1),return:o(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function o(a){return function(o){return function(a){if(n)throw TypeError("Generator is already executing.");for(;l;)try{if(n=1,r&&(i=2&a[0]?r.return:a[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,a[1])).done)return i;switch(r=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return l.label++,{value:a[1],done:!1};case 5:l.label++,r=a[1],a=[0];continue;case 7:a=l.ops.pop(),l.trys.pop();continue;default:if(!(i=(i=l.trys).length>0&&i[i.length-1])&&(6===a[0]||2===a[0])){l=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]<i[3])){l.label=a[1];break}if(6===a[0]&&l.label<i[1]){l.label=i[1],i=a;break}if(i&&l.label<i[2]){l.label=i[2],l.ops.push(a);break}i[2]&&l.ops.pop(),l.trys.pop();continue}a=t.call(e,l)}catch(e){a=[6,e],r=0}finally{n=i=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,o])}}}(this,function(t){switch(t.label){case 0:if(!v)return[2];if("main"!==y)return[3,2];return[4,m.request({url:"collections:update?filterByTk=".concat(h.name),method:"post",data:{filterTargetKey:v}})];case 1:return t.sent(),[3,4];case 2:return[4,m.request({url:"dataSources/".concat(y,"/collections:update?filterByTk=").concat(h.name),method:"post",data:{filterTargetKey:v}})];case 3:t.sent(),t.label=4;case 4:return null==O||null===(e=O.refresh)||void 0===e||e.call(O),k(),[4,b.dataSourceManager.getDataSource(y).reload()];case 5:return t.sent(),A.setOption("filterTargetKey",v),[2]}})},function(){var e=this,n=arguments;return new Promise(function(r,i){var a=t.apply(e,n);function l(e){f(a,r,i,l,o,"next",e)}function o(e){f(a,r,i,l,o,"throw",e)}l(void 0)})})},l().createElement(i.Button,{type:"primary",size:"small"},F("OK")))))}},550:function(e,t,n){n.d(t,{f:function(){return M},I:function(){return k}});var r=n("964"),i=n("563"),a=n("505"),l=n("772"),o=n("721"),c=n("156"),u=n.n(c),s=n("238"),f=n("648");function d(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function m(e,t,n,r,i,a,l){try{var o=e[a](l),c=o.value}catch(e){n(e);return}o.done?t(c):Promise.resolve(c).then(r,i)}function p(e){return function(){var t=this,n=arguments;return new Promise(function(r,i){var a=e.apply(t,n);function l(e){m(a,r,i,l,o,"next",e)}function o(e){m(a,r,i,l,o,"throw",e)}l(void 0)})}}function y(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function h(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){y(e,t,n[t])})}return e}function b(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n.push.apply(n,r)}return n})(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}function g(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,i=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=i){var a=[],l=!0,o=!1;try{for(i=i.call(e);!(l=(n=i.next()).done)&&(a.push(n.value),!t||a.length!==t);l=!0);}catch(e){o=!0,r=e}finally{try{!l&&null!=i.return&&i.return()}finally{if(o)throw r}}return a}}(e,t)||w(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function v(e,t){return!t&&(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function w(e,t){if(e){if("string"==typeof e)return d(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return d(e,t)}}function x(e,t){var n,r,i,a,l={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:o(0),throw:o(1),return:o(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function o(a){return function(o){return function(a){if(n)throw TypeError("Generator is already executing.");for(;l;)try{if(n=1,r&&(i=2&a[0]?r.return:a[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,a[1])).done)return i;switch(r=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return l.label++,{value:a[1],done:!1};case 5:l.label++,r=a[1],a=[0];continue;case 7:a=l.ops.pop(),l.trys.pop();continue;default:if(!(i=(i=l.trys).length>0&&i[i.length-1])&&(6===a[0]||2===a[0])){l=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]<i[3])){l.label=a[1];break}if(6===a[0]&&l.label<i[1]){l.label=i[1],i=a;break}if(i&&l.label<i[2]){l.label=i[2],l.ops.push(a);break}i[2]&&l.ops.pop(),l.trys.pop();continue}a=t.call(e,l)}catch(e){a=[6,e],r=0}finally{n=i=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,o])}}}function E(){var e=v(["\n .ant-table {\n margin-left: -16px !important;\n }\n"]);return E=function(){return e},e}function S(){var e=v(["\n tr {\n display: flex;\n }\n td,\n th {\n flex: 2.3;\n width: 0;\n &:nth-child(5) {\n flex: 1.2;\n }\n &:last-child {\n flex: 1.5;\n }\n }\n .ant-table-selection-column,\n .ant-table-row-expand-icon-cell {\n flex-basis: 50px !important;\n min-width: 50px;\n flex: 0;\n }\n"]);return S=function(){return e},e}function C(){var e=v(["\n font-weight: 500;\n "]);return C=function(){return e},e}function A(){var e=v(["\n justify-content: flex-end;\n display: flex;\n margin-bottom: 16px;\n "]);return A=function(){return e},e}var I={association:{sourceKey:"name",targetKey:"name"},collection:{name:"fields",fields:[{type:"string",name:"type",interface:"input",uiSchema:{title:'{{ t("Storage type") }}',type:"string","x-component":"Select",enum:[{label:"String",value:"string"}],required:!0}},{type:"string",name:"interface",interface:"input",uiSchema:{title:'{{ t("Field interface") }}',type:"string","x-component":"Select",enum:"{{interfaces}}"}},{type:"string",name:"title",interface:"input",uiSchema:{title:'{{ t("Field display name") }}',type:"string","x-component":"Input",required:!0}},{type:"string",name:"name",interface:"input",uiSchema:{title:'{{ t("Field name") }}',type:"string","x-component":"Input"}},{type:"string",name:"description",interface:"input",uiSchema:{title:'{{ t("Description") }}',type:"string","x-component":"Input.TextArea"}}]},request:{resource:"collections.fields",action:"list",params:{paginate:!1,filter:{$or:[{"interface.$not":null},{"options.source.$notEmpty":!0}]},sort:["sort"]}}},k=(0,c.createContext)(null),O=function(e){return u().createElement(k.Provider,{value:(0,l.useResourceActionContext)()},u().createElement(l.ResourceActionProvider,I,e.children))},F=(0,r.css)(E()),P=(0,r.css)(S()),T="Default title for each record",j=function(e){var t=(0,l.useCompile)(),n=(0,l.useCollectionManager_deprecated)().getInterface,r=(0,s.useTranslation)().t,i=(0,l.useResourceActionContext)().setState,a=(e.collectionResource||{}).targetKey,f=(0,l.useRecord)(),d=g(u().useState(null),2),m=d[0],v=d[1],w=(0,l.useCollectionManager_deprecated)(),E=w.refreshCM,S=w.isTitleField,C=w.getTemplate,A=f[a],I=f.titleField,O=C(f.template),P=(0,l.useAPIClient)(),j=(0,c.useContext)(k),R=[{dataIndex:["uiSchema","title"],title:r("Field display name"),render:function(e){return u().createElement("div",{style:{marginLeft:7}},t(e))}},{dataIndex:"name",title:r("Field name")},{dataIndex:"interface",title:r("Field interface"),render:function(e){var r;return u().createElement(o.Tag,null,t(null===(r=n(e))||void 0===r?void 0:r.title))}},{dataIndex:"titleField",title:r("Title field"),render:function(t,n){var i,a=(i=p(function(t){var i;return x(this,function(a){switch(a.label){case 0:return v(n),[4,P.request({url:"collections:update?filterByTk=".concat(A),method:"post",data:{titleField:t?n.name:"id"}})];case 1:return a.sent(),null==j||null===(i=j.refresh)||void 0===i||i.call(j),[4,e.refreshAsync()];case 2:return a.sent(),v(null),E(),o.message.success(r("Saved successfully")),[2]}})}),function(e){return i.apply(this,arguments)});return S(n)?u().createElement(o.Tooltip,{title:r(T),placement:"right",overlayInnerStyle:{textAlign:"center"}},u().createElement(o.Switch,{"aria-label":"switch-title-field-".concat(n.name),size:"small",loading:n.name===(null==m?void 0:m.name),checked:n.name===(I||"id"),onChange:a})):null}},{dataIndex:"description",title:r("Descriptio "),render:function(e){return u().createElement(l.Input.ReadPretty,{value:e,ellipsis:!0})}},{dataIndex:"actions",title:r("Actions"),render:function(e,t){var n={confirm:{title:r("Delete record"),content:r("Are you sure you want to delete it?")},useAction:l.useDestroyActionAndRefreshCM,disabled:(0,l.isDeleteButtonDisabled)(t)||(null==O?void 0:O.forbidDeletion),title:r("Delete")};return u().createElement(l.RecordProvider,{record:t,parent:f},u().createElement(o.Space,{size:"middle"},u().createElement(l.EditCollectionField,{role:"button","aria-label":"edit-button-".concat(t.name),type:"primary"}),u().createElement(l.Action.Link,n)))}}];return u().createElement(o.Table,{rowKey:"name",columns:R,showHeader:!1,pagination:!1,dataSource:e.fields,rowSelection:{type:"checkbox",getCheckboxProps:function(e){return{"aria-label":"checkbox-".concat(e.name)}},onChange:function(t){i(function(n){return b(h({},n),y({},e.type,t))})}},className:F})},R=function(e){var t=(0,l.useCompile)(),n=(0,l.useCollectionManager_deprecated)().getInterface,r=(e.collectionResource||{}).targetKey,i=(0,l.useRecord)(),a=g(u().useState(null),2),f=a[0],d=a[1],m=(0,s.useTranslation)().t,y=(0,l.useCollectionManager_deprecated)(),h=y.refreshCM,b=y.isTitleField,v=i[r],w=i.titleField,E=i.name,S=(0,c.useContext)(k),C=(0,l.useAPIClient)(),A=[{dataIndex:["uiSchema","rawTitle"],title:m("Field display name"),render:function(e){return u().createElement("div",{style:{marginLeft:1}},t(e))}},{dataIndex:"name",title:m("Field name")},{dataIndex:"interface",title:m("Field interface"),render:function(e){var r;return u().createElement(o.Tag,null,t(null===(r=n(e))||void 0===r?void 0:r.title))}},{dataIndex:"titleField",title:m("Title field"),render:function(t,n){var r,i=(r=p(function(t){var r;return x(this,function(i){switch(i.label){case 0:return d(n),[4,C.request({url:"collections:update?filterByTk=".concat(v),method:"post",data:{titleField:t?n.name:"id"}})];case 1:return i.sent(),null==S||null===(r=S.refresh)||void 0===r||r.call(S),[4,e.refreshAsync()];case 2:return i.sent(),d(null),h(),o.message.success(m("Saved successfully")),[2]}})}),function(e){return r.apply(this,arguments)});return b(n)?u().createElement(o.Tooltip,{title:m(T),placement:"right",overlayInnerStyle:{textAlign:"center"}},u().createElement(o.Switch,{size:"small",loading:n.name===(null==f?void 0:f.name),checked:n.name===(w||"id"),onChange:i})):null}},{dataIndex:"actions",title:m("Actions"),render:function(e,t){return u().createElement(l.RecordProvider,{record:t,parent:i},u().createElement(o.Space,null,u().createElement(l.OverridingCollectionField,{type:"primary",currentCollection:E}),u().createElement(l.ViewCollectionField,{type:"primary"})))}}];return u().createElement(o.Table,{rowKey:"name",columns:A,showHeader:!1,pagination:!1,dataSource:e.fields.filter(function(e){return e.interface})})},D=function(){var e,t=(0,l.useCompile)(),n=(0,a.useField)(),m=(0,l.useRecord)(),p=m.name,y=m.template,g=((0,l.useCurrentAppInfo)()||{data:{database:{}}}).data.database,v=(0,l.useCollectionManager_deprecated)(),x=v.getInterface,E=v.getInheritCollections,S=v.getCollection,I=v.getTemplate,k=(0,c.useMemo)(function(){return(0,i.createForm)()},[]),O=(0,l.useAttach)(k.createArrayField(b(h({},n.props),{basePath:""}))),F=(0,s.useTranslation)().t,T=(0,l.useResourceContext)(),D=(0,c.useContext)(l.ResourceActionContext),M=D.refreshAsync,K=D.data,_=I(y),q=E(p),z=[{dataIndex:"title",title:F("Field display name"),render:function(e){return u().createElement("div",{className:(0,r.css)(C())},e)}},{dataIndex:"name",title:F("Field name")},{dataIndex:"interface",title:F("Field interface")},{dataIndex:"titleField",title:F("Title field")},{dataIndex:"description",title:F("Description")},{dataIndex:"actions",title:F("Actions")}],B=(null==K?void 0:K.data)||[],L={pf:[],association:[],general:[],system:[]};B.forEach(function(e){if(e.primaryKey||e.isForeignKey)L.pf.push(e);else if(e.interface){var t=x(e.interface);(null==t?void 0:t.group)==="systemInfo"?L.system.push(e):(null==t?void 0:t.group)==="relation"?L.association.push(e):L.general.push(e)}});var N=[{key:"pf",title:F("PK & FK fields"),fields:L.pf},{key:"association",title:F("Association fields"),fields:L.association},{key:"general",title:F("General fields"),fields:L.general},{key:"system",title:F("System fields"),fields:L.system}];N.push.apply(N,function(e){if(Array.isArray(e))return d(e)}(e=q.map(function(e){var n=S(e);if(!!n)return{key:e,title:"".concat(F("Inherited fields")," - ")+t(null==n?void 0:n.title),inherit:!0,fields:(null==n?void 0:n.fields)||[]}}).filter(Boolean))||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||w(e)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}());var $=(0,c.useMemo)(function(){return{useAction:function(){return(0,l.useBulkDestroyActionAndRefreshCM)(!0)},title:F("Delete"),icon:"DeleteOutlined",disabled:null==_?void 0:_.forbidDeletion,confirm:{title:F("Delete record"),content:F("Are you sure you want to delete it?")}}},[F]);return u().createElement(a.FormContext.Provider,{value:k},u().createElement(a.FieldContext.Provider,{value:O},u().createElement(f.a,{collectionName:p}),u().createElement(o.Space,{align:"end",className:(0,r.css)(A())},u().createElement(l.Action,$),u().createElement(l.SyncFieldsAction,{type:"primary"}),u().createElement(l.SyncSQLFieldsAction,{refreshCMList:M}),u().createElement(l.SchemaComponent,{schema:{type:"object",properties:h({},_.configureActions)}}),u().createElement(l.AddCollectionField,{type:"primary",database:g})),u().createElement(o.Table,{rowKey:"key",columns:z,dataSource:N.filter(function(e){return e.fields.length}),pagination:!1,className:P,expandable:{defaultExpandAllRows:!0,defaultExpandedRowKeys:N.map(function(e){return e.key}),expandedRowRender:function(e){return e.inherit?u().createElement(R,{fields:e.fields,collectionResource:T,refreshAsync:M}):u().createElement(j,{fields:e.fields,collectionResource:T,refreshAsync:M,type:e.key})}}})))},M=function(){return u().createElement(O,null,u().createElement(D,null))}}}]);
10
+ "use strict";(self.webpackChunk_nocobase_plugin_data_source_manager=self.webpackChunk_nocobase_plugin_data_source_manager||[]).push([["833"],{227:function(e,t,n){n.d(t,{E:function(){return s}});var r=n(482),i=n(772),a=n(505),l=n(721),o=n(156),c=n.n(o),u=n(286),s=function(e){var t=(0,i.useCollectionRecordData)()||{},n=(0,i.useCompile)();return(0,a.useField)().editable?c().createElement(i.Input,e):(null==t?void 0:t.filterTargetKey)?n(t.title):c().createElement("div",{style:{display:"inline"}},c().createElement(l.Popover,{trigger:["click"],content:c().createElement(u.L,{size:"small",style:{width:"20em"}})},c().createElement(r.ExclamationCircleTwoTone,{style:{marginRight:"0.3em"},twoToneColor:"#faad14"})),n(t.title))}},648:function(e,t,n){n.d(t,{a:function(){return u}});var r=n(772),i=n(721),a=n(156),l=n.n(a),o=n(128),c=n(286),u=function(e){var t=e.collectionName,n=(0,r.useApp)(),u=(0,o.useParams)().name,s=void 0===u?"main":u,f=(0,a.useMemo)(function(){return n.getCollectionManager(s).getCollection(t)},[n,s,t]);return!(null==f?void 0:f.filterTargetKey)&&l().createElement(i.Alert,{style:{marginBottom:16},type:"warning",message:l().createElement(c.L,null)})}},286:function(e,t,n){n.d(t,{L:function(){return m}});var r=n(772),i=n(721),a=n(156),l=n.n(a),o=n(128),c=n(573),u=n(550);function s(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function f(e,t,n,r,i,a,l){try{var o=e[a](l),c=o.value}catch(e){n(e);return}o.done?t(c):Promise.resolve(c).then(r,i)}function d(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,i=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=i){var a=[],l=!0,o=!1;try{for(i=i.call(e);!(l=(n=i.next()).done)&&(a.push(n.value),!t||a.length!==t);l=!0);}catch(e){o=!0,r=e}finally{try{!l&&null!=i.return&&i.return()}finally{if(o)throw r}}return a}}(e,t)||function(e,t){if(e){if("string"==typeof e)return s(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return s(e,t)}}(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var m=function(e){var t,n=e.size,s=e.style,m=(0,r.useAPIClient)(),p=(0,o.useParams)().name,y=void 0===p?"main":p,h=(0,r.useCollectionRecordData)(),b=(0,r.useApp)(),g=d((0,a.useState)(),2),v=g[0],w=g[1],x=d((0,a.useState)(),2),E=x[0],S=x[1],C=(0,r.useCompile)(),A=(0,a.useMemo)(function(){return b.getCollectionManager(y).getCollection(h.name)},[b,y,h.name]),I=(0,a.useMemo)(function(){return b.getCollectionManager(y).getCollectionFields(h.name).filter(function(e){if(!e.interface)return!1;var t=b.dataSourceManager.collectionFieldInterfaceManager.getFieldInterface(e.interface);return(null==t?!!void 0:!!t.titleUsable)||!1}).map(function(e){var t;return{label:C(null===(t=e.uiSchema)||void 0===t?void 0:t.title),value:e.name}})},[b,C,y,h.name]),k=(0,r.useResourceActionContext)().refresh,O=(0,a.useContext)(u.I),F=(0,c.EL)().t;return l().createElement("div",{style:function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){var r,i,a;r=e,i=t,a=n[t],i in r?Object.defineProperty(r,i,{value:a,enumerable:!0,configurable:!0,writable:!0}):r[i]=a})}return e}({},s)},F("If a collection lacks a primary key, you must configure a unique record key to locate row records within a block, failure to configure this will prevent the creation of data blocks for the collection."),"small"===n?l().createElement("br",null):" ",l().createElement(i.Space.Compact,{style:{marginTop:5}},l().createElement(i.Select,{onChange:function(e,t){console.log(e,t),w(e),S(t.map(function(e){return e.label}).join(","))},placeholder:F("Select field"),size:"small",options:I,mode:"multiple",style:{width:"200px"}}),l().createElement(i.Popconfirm,{placement:"bottom",title:l().createElement("div",{style:{width:"15em"}},E?F('Are you sure you want to set the "{{title}}" field as a record unique key? This setting cannot be changed after it\'s been set.',{title:E}):F("Please select a field.")),onConfirm:(t=function(){var e;return function(e,t){var n,r,i,a,l={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:o(0),throw:o(1),return:o(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function o(a){return function(o){return function(a){if(n)throw TypeError("Generator is already executing.");for(;l;)try{if(n=1,r&&(i=2&a[0]?r.return:a[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,a[1])).done)return i;switch(r=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return l.label++,{value:a[1],done:!1};case 5:l.label++,r=a[1],a=[0];continue;case 7:a=l.ops.pop(),l.trys.pop();continue;default:if(!(i=(i=l.trys).length>0&&i[i.length-1])&&(6===a[0]||2===a[0])){l=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]<i[3])){l.label=a[1];break}if(6===a[0]&&l.label<i[1]){l.label=i[1],i=a;break}if(i&&l.label<i[2]){l.label=i[2],l.ops.push(a);break}i[2]&&l.ops.pop(),l.trys.pop();continue}a=t.call(e,l)}catch(e){a=[6,e],r=0}finally{n=i=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,o])}}}(this,function(t){switch(t.label){case 0:if(!v)return[2];if("main"!==y)return[3,2];return[4,m.request({url:"collections:update?filterByTk=".concat(h.name),method:"post",data:{filterTargetKey:v}})];case 1:return t.sent(),[3,4];case 2:return[4,m.request({url:"dataSources/".concat(y,"/collections:update?filterByTk=").concat(h.name),method:"post",data:{filterTargetKey:v}})];case 3:t.sent(),t.label=4;case 4:return null==O||null===(e=O.refresh)||void 0===e||e.call(O),k(),[4,b.dataSourceManager.getDataSource(y).reload()];case 5:return t.sent(),A.setOption("filterTargetKey",v),[2]}})},function(){var e=this,n=arguments;return new Promise(function(r,i){var a=t.apply(e,n);function l(e){f(a,r,i,l,o,"next",e)}function o(e){f(a,r,i,l,o,"throw",e)}l(void 0)})})},l().createElement(i.Button,{type:"primary",size:"small"},F("OK")))))}},550:function(e,t,n){n.d(t,{f:function(){return M},I:function(){return k}});var r=n("964"),i=n("563"),a=n("505"),l=n("772"),o=n("721"),c=n("156"),u=n.n(c),s=n("238"),f=n("648");function d(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function m(e,t,n,r,i,a,l){try{var o=e[a](l),c=o.value}catch(e){n(e);return}o.done?t(c):Promise.resolve(c).then(r,i)}function p(e){return function(){var t=this,n=arguments;return new Promise(function(r,i){var a=e.apply(t,n);function l(e){m(a,r,i,l,o,"next",e)}function o(e){m(a,r,i,l,o,"throw",e)}l(void 0)})}}function y(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function h(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){y(e,t,n[t])})}return e}function b(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n.push.apply(n,r)}return n})(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}function g(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,i=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=i){var a=[],l=!0,o=!1;try{for(i=i.call(e);!(l=(n=i.next()).done)&&(a.push(n.value),!t||a.length!==t);l=!0);}catch(e){o=!0,r=e}finally{try{!l&&null!=i.return&&i.return()}finally{if(o)throw r}}return a}}(e,t)||w(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function v(e,t){return!t&&(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function w(e,t){if(e){if("string"==typeof e)return d(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return d(e,t)}}function x(e,t){var n,r,i,a,l={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:o(0),throw:o(1),return:o(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function o(a){return function(o){return function(a){if(n)throw TypeError("Generator is already executing.");for(;l;)try{if(n=1,r&&(i=2&a[0]?r.return:a[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,a[1])).done)return i;switch(r=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return l.label++,{value:a[1],done:!1};case 5:l.label++,r=a[1],a=[0];continue;case 7:a=l.ops.pop(),l.trys.pop();continue;default:if(!(i=(i=l.trys).length>0&&i[i.length-1])&&(6===a[0]||2===a[0])){l=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]<i[3])){l.label=a[1];break}if(6===a[0]&&l.label<i[1]){l.label=i[1],i=a;break}if(i&&l.label<i[2]){l.label=i[2],l.ops.push(a);break}i[2]&&l.ops.pop(),l.trys.pop();continue}a=t.call(e,l)}catch(e){a=[6,e],r=0}finally{n=i=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,o])}}}function E(){var e=v(["\n .ant-table {\n margin-left: -16px !important;\n }\n"]);return E=function(){return e},e}function S(){var e=v(["\n tr {\n display: flex;\n }\n td,\n th {\n flex: 2.3;\n width: 0;\n &:nth-child(5) {\n flex: 1.2;\n }\n &:last-child {\n flex: 1.5;\n }\n }\n .ant-table-selection-column,\n .ant-table-row-expand-icon-cell {\n flex-basis: 50px !important;\n min-width: 50px;\n flex: 0;\n }\n"]);return S=function(){return e},e}function C(){var e=v(["\n font-weight: 500;\n "]);return C=function(){return e},e}function A(){var e=v(["\n justify-content: flex-end;\n display: flex;\n margin-bottom: 16px;\n "]);return A=function(){return e},e}var I={association:{sourceKey:"name",targetKey:"name"},collection:{name:"fields",fields:[{type:"string",name:"type",interface:"input",uiSchema:{title:'{{ t("Storage type") }}',type:"string","x-component":"Select",enum:[{label:"String",value:"string"}],required:!0}},{type:"string",name:"interface",interface:"input",uiSchema:{title:'{{ t("Field interface") }}',type:"string","x-component":"Select",enum:"{{interfaces}}"}},{type:"string",name:"title",interface:"input",uiSchema:{title:'{{ t("Field display name") }}',type:"string","x-component":"Input",required:!0}},{type:"string",name:"name",interface:"input",uiSchema:{title:'{{ t("Field name") }}',type:"string","x-component":"Input"}},{type:"string",name:"description",interface:"input",uiSchema:{title:'{{ t("Description") }}',type:"string","x-component":"Input.TextArea"}}]},request:{resource:"collections.fields",action:"list",params:{paginate:!1,filter:{$or:[{"interface.$not":null},{"options.source.$notEmpty":!0}]},sort:["sort"]}}},k=(0,c.createContext)(null),O=function(e){return u().createElement(k.Provider,{value:(0,l.useResourceActionContext)()},u().createElement(l.ResourceActionProvider,I,e.children))},F=(0,r.css)(E()),P=(0,r.css)(S()),T="Default title for each record",j=function(e){var t=(0,l.useCompile)(),n=(0,l.useCollectionManager_deprecated)().getInterface,r=(0,s.useTranslation)().t,i=(0,l.useResourceActionContext)().setState,a=(e.collectionResource||{}).targetKey,f=(0,l.useRecord)(),d=g(u().useState(null),2),m=d[0],v=d[1],w=(0,l.useCollectionManager_deprecated)(),E=w.refreshCM,S=w.isTitleField,C=w.getTemplate,A=f[a],I=f.titleField,O=C(f.template),P=(0,l.useAPIClient)(),j=(0,c.useContext)(k),R=[{dataIndex:["uiSchema","title"],title:r("Field display name"),render:function(e){return u().createElement("div",{style:{marginLeft:7}},t(e))}},{dataIndex:"name",title:r("Field name")},{dataIndex:"interface",title:r("Field interface"),render:function(e){var r;return u().createElement(o.Tag,null,t(null===(r=n(e))||void 0===r?void 0:r.title))}},{dataIndex:"titleField",title:r("Title field"),render:function(t,n){var i,a=(i=p(function(t){var i;return x(this,function(a){switch(a.label){case 0:return v(n),[4,P.request({url:"collections:update?filterByTk=".concat(A),method:"post",data:{titleField:t?n.name:"id"}})];case 1:return a.sent(),null==j||null===(i=j.refresh)||void 0===i||i.call(j),[4,e.refreshAsync()];case 2:return a.sent(),v(null),E(),o.message.success(r("Saved successfully")),[2]}})}),function(e){return i.apply(this,arguments)});return S(n)?u().createElement(o.Tooltip,{title:r(T),placement:"right",overlayInnerStyle:{textAlign:"center"}},u().createElement(o.Switch,{"aria-label":"switch-title-field-".concat(n.name),size:"small",loading:n.name===(null==m?void 0:m.name),checked:n.name===(I||"id"),onChange:a})):null}},{dataIndex:"description",title:r("Descriptio "),render:function(e){return u().createElement(l.Input.ReadPretty,{value:e,ellipsis:!0})}},{dataIndex:"actions",title:r("Actions"),render:function(e,t){var n={confirm:{title:r("Delete record"),content:r("Are you sure you want to delete it?")},useAction:l.useDestroyActionAndRefreshCM,disabled:(0,l.isDeleteButtonDisabled)(t)||(null==O?void 0:O.forbidDeletion),title:r("Delete")};return u().createElement(l.RecordProvider,{record:t,parent:f},u().createElement(o.Space,{size:"middle"},u().createElement(l.EditCollectionField,{role:"button","aria-label":"edit-button-".concat(t.name),type:"primary"}),u().createElement(l.Action.Link,n)))}}];return u().createElement(o.Table,{rowKey:"name",columns:R,showHeader:!1,pagination:!1,dataSource:e.fields,rowSelection:{type:"checkbox",getCheckboxProps:function(e){return{"aria-label":"checkbox-".concat(e.name)}},onChange:function(t){i(function(n){return b(h({},n),y({},e.type,t))})}},className:F})},R=function(e){var t=(0,l.useCompile)(),n=(0,l.useCollectionManager_deprecated)().getInterface,r=(e.collectionResource||{}).targetKey,i=(0,l.useRecord)(),a=g(u().useState(null),2),f=a[0],d=a[1],m=(0,s.useTranslation)().t,y=(0,l.useCollectionManager_deprecated)(),h=y.refreshCM,b=y.isTitleField,v=i[r],w=i.titleField,E=i.name,S=(0,c.useContext)(k),C=(0,l.useAPIClient)(),A=[{dataIndex:["uiSchema","rawTitle"],title:m("Field display name"),render:function(e){return u().createElement("div",{style:{marginLeft:1}},t(e))}},{dataIndex:"name",title:m("Field name")},{dataIndex:"interface",title:m("Field interface"),render:function(e){var r;return u().createElement(o.Tag,null,t(null===(r=n(e))||void 0===r?void 0:r.title))}},{dataIndex:"titleField",title:m("Title field"),render:function(t,n){var r,i=(r=p(function(t){var r;return x(this,function(i){switch(i.label){case 0:return d(n),[4,C.request({url:"collections:update?filterByTk=".concat(v),method:"post",data:{titleField:t?n.name:"id"}})];case 1:return i.sent(),null==S||null===(r=S.refresh)||void 0===r||r.call(S),[4,e.refreshAsync()];case 2:return i.sent(),d(null),h(),o.message.success(m("Saved successfully")),[2]}})}),function(e){return r.apply(this,arguments)});return b(n)?u().createElement(o.Tooltip,{title:m(T),placement:"right",overlayInnerStyle:{textAlign:"center"}},u().createElement(o.Switch,{size:"small",loading:n.name===(null==f?void 0:f.name),checked:n.name===(w||"id"),onChange:i})):null}},{dataIndex:"actions",title:m("Actions"),render:function(e,t){return u().createElement(l.RecordProvider,{record:t,parent:i},u().createElement(o.Space,null,u().createElement(l.OverridingCollectionField,{type:"primary",currentCollection:E}),u().createElement(l.ViewCollectionField,{type:"primary"})))}}];return u().createElement(o.Table,{rowKey:"name",columns:A,showHeader:!1,pagination:!1,dataSource:e.fields.filter(function(e){return e.interface})})},D=function(){var e,t=(0,l.useCompile)(),n=(0,a.useField)(),m=(0,l.useRecord)(),p=m.name,y=m.template,g=((0,l.useCurrentAppInfo)()||{data:{database:{}}}).data.database,v=(0,l.useCollectionManager_deprecated)(),x=v.getInterface,E=v.getInheritCollections,S=v.getCollection,I=v.getTemplate,k=(0,c.useMemo)(function(){return(0,i.createForm)()},[]),O=(0,l.useAttach)(k.createArrayField(b(h({},n.props),{basePath:""}))),F=(0,s.useTranslation)().t,T=(0,l.useResourceContext)(),D=(0,c.useContext)(l.ResourceActionContext),M=D.refreshAsync,K=D.data,_=I(y),q=E(p),z=[{dataIndex:"title",title:F("Field display name"),render:function(e){return u().createElement("div",{className:(0,r.css)(C())},e)}},{dataIndex:"name",title:F("Field name")},{dataIndex:"interface",title:F("Field interface")},{dataIndex:"titleField",title:F("Title field")},{dataIndex:"description",title:F("Description")},{dataIndex:"actions",title:F("Actions")}],B=(null==K?void 0:K.data)||[],L={pf:[],association:[],general:[],system:[]};B.forEach(function(e){if(e.primaryKey||e.isForeignKey)L.pf.push(e);else if(e.interface){var t=x(e.interface);(null==t?void 0:t.group)==="systemInfo"?L.system.push(e):(null==t?void 0:t.group)==="relation"?L.association.push(e):L.general.push(e)}});var N=[{key:"pf",title:F("PK & FK fields"),fields:L.pf},{key:"association",title:F("Association fields"),fields:L.association},{key:"general",title:F("General fields"),fields:L.general},{key:"system",title:F("System fields"),fields:L.system}];N.push.apply(N,function(e){if(Array.isArray(e))return d(e)}(e=q.map(function(e){var n=S(e);if(!!n)return{key:e,title:"".concat(F("Inherited fields")," - ")+t(null==n?void 0:n.title),inherit:!0,fields:(null==n?void 0:n.fields)||[]}}).filter(Boolean))||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||w(e)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}());var $=(0,c.useMemo)(function(){return{useAction:function(){return(0,l.useBulkDestroyActionAndRefreshCM)(!0)},title:F("Delete"),icon:"DeleteOutlined",disabled:null==_?void 0:_.forbidDeletion,confirm:{title:F("Delete record"),content:F("Are you sure you want to delete it?")}}},[F]);return u().createElement(a.FormContext.Provider,{value:k},u().createElement(a.FieldContext.Provider,{value:O},u().createElement(f.a,{collectionName:p}),u().createElement(o.Space,{align:"end",className:(0,r.css)(A())},u().createElement(l.Action,$),u().createElement(l.SyncFieldsAction,{type:"primary"}),u().createElement(l.SyncSQLFieldsAction,{refreshCMList:M}),u().createElement(l.SchemaComponent,{schema:{type:"object",properties:h({},null==_?void 0:_.configureActions)}}),u().createElement(l.AddCollectionField,{type:"primary",database:g})),u().createElement(o.Table,{rowKey:"key",columns:z,dataSource:N.filter(function(e){return e.fields.length}),pagination:!1,className:P,expandable:{defaultExpandAllRows:!0,defaultExpandedRowKeys:N.map(function(e){return e.key}),expandedRowRender:function(e){return e.inherit?u().createElement(R,{fields:e.fields,collectionResource:T,refreshAsync:M}):u().createElement(j,{fields:e.fields,collectionResource:T,refreshAsync:M,type:e.key})}}})))},M=function(){return u().createElement(O,null,u().createElement(D,null))}}}]);
@@ -0,0 +1,10 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+
10
+ "use strict";(self.webpackChunk_nocobase_plugin_data_source_manager=self.webpackChunk_nocobase_plugin_data_source_manager||[]).push([["583"],{777:function(e,t,r){r.r(t),r.d(t,{CurrentRolesContext:function(){return es},DataSourcePermissionManager:function(){return ep}});var n,o,a,c,i=r("875"),l=r("772"),u=r("721"),s=r("156"),p=r.n(s),m=r("60"),d=r("238");function f(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function y(e,t,r,n,o,a,c){try{var i=e[a](c),l=i.value}catch(e){r(e);return}i.done?t(l):Promise.resolve(l).then(n,o)}function b(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n,o,a;n=e,o=t,a=r[t],o in n?Object.defineProperty(n,o,{value:a,enumerable:!0,configurable:!0,writable:!0}):n[o]=a})}return e}var v=(0,s.createContext)(null);v.displayName="PermissionContext";var x=function(e){var t,r,n,o,a=(0,l.useAPIClient)(),c=(0,l.useRecord)(),i=(0,d.useTranslation)().t,m=(0,s.useContext)(es),x=m.snippets;null==x||x.forEach(function(e){m[e]=!0});var g=(t=(0,s.useState)(m),r=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var r,n,o=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var a=[],c=!0,i=!1;try{for(o=o.call(e);!(c=(r=o.next()).done)&&(a.push(r.value),!t||a.length!==t);c=!0);}catch(e){i=!0,n=e}finally{try{!c&&null!=o.return&&o.return()}finally{if(i)throw n}}return a}}(t,2)||function(e,t){if(e){if("string"==typeof e)return f(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if("Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r)return Array.from(r);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return f(e,t)}}(t,r)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),h=g[0],O=g[1];return(0,s.useEffect)(function(){O(m)},[m]),p().createElement(v.Provider,{value:{currentDataSource:c,currentRecord:h,update:(o=(n=function(e,t){return function(e,t){var r,n,o,a,c={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return a={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function i(a){return function(i){return function(a){if(r)throw TypeError("Generator is already executing.");for(;c;)try{if(r=1,n&&(o=2&a[0]?n.return:a[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,a[1])).done)return o;switch(n=0,o&&(a=[2&a[0],o.value]),a[0]){case 0:case 1:o=a;break;case 4:return c.label++,{value:a[1],done:!1};case 5:c.label++,n=a[1],a=[0];continue;case 7:a=c.ops.pop(),c.trys.pop();continue;default:if(!(o=(o=c.trys).length>0&&o[o.length-1])&&(6===a[0]||2===a[0])){c=0;continue}if(3===a[0]&&(!o||a[1]>o[0]&&a[1]<o[3])){c.label=a[1];break}if(6===a[0]&&c.label<o[1]){c.label=o[1],o=a;break}if(o&&c.label<o[2]){c.label=o[2],c.ops.push(a);break}o[2]&&c.ops.pop(),c.trys.pop();continue}a=t.call(e,c)}catch(e){a=[6,e],n=0}finally{r=o=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,i])}}}(this,function(e){switch(e.label){case 0:return[4,a.request({url:"dataSources/".concat(c.key,"/roles:update"),data:t.values,method:"post",params:{filterByTk:t.values.roleName}})];case 1:return e.sent(),O(b({},h,t.values)),u.message.success(i("Saved successfully")),[2]}})},function(){var e=this,t=arguments;return new Promise(function(r,o){var a=n.apply(e,t);function c(e){y(a,r,o,c,i,"next",e)}function i(e){y(a,r,o,c,i,"throw",e)}c(void 0)})}),function(e,t){return o.apply(this,arguments)})}},e.children)},g=(0,s.createContext)({dataSourceKey:"main"}),h=function(e){var t=(0,s.useContext)(es),r=(0,l.useRecord)();return p().createElement(l.RecordContext_deprecated.Provider,{value:b({},t)},p().createElement(g.Provider,{value:{dataSourceKey:r.key}},p().createElement(l.SchemaComponentOptions,{scope:{dataSourceKey:r.key}},e.children)))},O=r("505");function S(e,t,r,n,o,a,c){try{var i=e[a](c),l=i.value}catch(e){r(e);return}i.done?t(l):Promise.resolve(l).then(n,o)}function P(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n,o,a;n=e,o=t,a=r[t],o in n?Object.defineProperty(n,o,{value:a,enumerable:!0,configurable:!0,writable:!0}):n[o]=a})}return e}function w(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r.push.apply(r,n)}return r})(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}),e}function C(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var j={type:"void","x-decorator":"RoleRecordProvider",properties:C({},(0,i.uid)(),{type:"void","x-decorator":function(e){var t=(0,s.useContext)(g).dataSourceKey;console.log(e,(0,l.useRecord)().key,t);var r=w(P({},e.request),{params:w(P({},e.request.params),{filter:w(P({},e.request.params.filter),{dataSourceKey:t})})});return p().createElement(l.ResourceActionProvider,w(P({},e),{request:r}),e.children)},"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:(C(c={},(0,i.uid)(),{type:"void","x-component":"ActionBar","x-component-props":{style:{marginBottom:16}},properties:{filter:{type:"void",title:'{{ t("Filter") }}',default:{$and:[{title:{$includes:""}},{name:{$includes:""}}]},"x-action":"filter","x-component":"Filter.Action","x-use-component-props":"cm.useFilterActionProps","x-component-props":{icon:"FilterOutlined"},"x-align":"left"}}}),C(c,"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:function(e){var t,r,n=(0,l.useRecord)(),o=(0,l.useActionContext)().visible,a=(0,s.useContext)(v).currentDataSource;var c=(0,l.useRequest)({resource:"roles.dataSourceResources",resourceOf:n.roleName,action:"get",params:{appends:["actions","actions.scope"],filterByTk:n.name,filter:{dataSourceKey:a.key,name:n.name}}},(t=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n,o,a;n=e,o=t,a=r[t],o in n?Object.defineProperty(n,o,{value:a,enumerable:!0,configurable:!0,writable:!0}):n[o]=a})}return e}({},e),r=(r={manual:!0},r),Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):(function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r.push.apply(r,n)}return r})(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}),t));return(0,s.useEffect)(function(){if(!n.exists){e.onSuccess({data:{}});return}o&&c.run()},[o,n.exists]),c}},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:function(){var e=(0,O.useForm)(),t=(0,l.useAPIClient)(),r=(0,l.useRecord)(),n=(0,l.useActionContext)(),o=(0,l.useResourceActionContext)().refresh,a=(0,s.useContext)(v).currentDataSource;return{run:function(){var c;return(c=function(){return function(e,t){var r,n,o,a,c={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return a={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function i(a){return function(i){return function(a){if(r)throw TypeError("Generator is already executing.");for(;c;)try{if(r=1,n&&(o=2&a[0]?n.return:a[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,a[1])).done)return o;switch(n=0,o&&(a=[2&a[0],o.value]),a[0]){case 0:case 1:o=a;break;case 4:return c.label++,{value:a[1],done:!1};case 5:c.label++,n=a[1],a=[0];continue;case 7:a=c.ops.pop(),c.trys.pop();continue;default:if(!(o=(o=c.trys).length>0&&o[o.length-1])&&(6===a[0]||2===a[0])){c=0;continue}if(3===a[0]&&(!o||a[1]>o[0]&&a[1]<o[3])){c.label=a[1];break}if(6===a[0]&&c.label<o[1]){c.label=o[1],o=a;break}if(o&&c.label<o[2]){c.label=o[2],c.ops.push(a);break}o[2]&&c.ops.pop(),c.trys.pop();continue}a=t.call(e,c)}catch(e){a=[6,e],n=0}finally{r=o=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,i])}}}(this,function(c){switch(c.label){case 0:var i,l;return[4,t.resource("roles.dataSourceResources",r.roleName)[r.exists?"update":"create"]({filterByTk:r.name,filter:{dataSourceKey:a.key,name:r.name},values:(i=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n,o,a;n=e,o=t,a=r[t],o in n?Object.defineProperty(n,o,{value:a,enumerable:!0,configurable:!0,writable:!0}):n[o]=a})}return e}({},e.values),l=null!=(l={name:r.name,dataSourceKey:a.key})?l:{},Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(l)):(function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r.push.apply(r,n)}return r})(Object(l)).forEach(function(e){Object.defineProperty(i,e,Object.getOwnPropertyDescriptor(l,e))}),i)})];case 1:return c.sent(),n.setVisible(!1),o(),[2]}})},function(){var e=this,t=arguments;return new Promise(function(r,n){var o=c.apply(e,t);function a(e){S(o,r,n,a,i,"next",e)}function i(e){S(o,r,n,a,i,"throw",e)}a(void 0)})})()}}}}}}}}}}}}}}}}}),c)})},A={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}}]},E=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{type:"object",properties:{block1:{type:"void","x-decorator":"ResourceActionProvider","x-decorator-props":{collection:A,resourceName:"dataSources",request:{resource:"dataSources",action:"list",params:{pageSize:50,showAnonymous:!0,appends:[]}}},"x-component":"CollectionProvider_deprecated","x-component-props":{collection:A},properties:{actions:{type:"void","x-component":"ActionBar","x-component-props":{style:{marginBottom:16}},properties:{}},table:{type:"void","x-uid":"input","x-component":"Table.Void","x-component-props":{rowKey:"key",rowSelection:{type:"checkbox"},useDataSource:"{{ cm.useDataSourceFromRAC }}"},properties:{column1:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",properties:{displayName:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}},column2:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",properties:{key:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}},column4:{type:"void",title:'{{t("Actions")}}',"x-component":"Table.Column",properties:{actions:{type:"void","x-component":"Space","x-component-props":{split:"|"},properties:{view:{type:"void",title:'{{t("Configure")}}',"x-component":"Action.Link","x-decorator":"ACLActionProvider","x-acl-action":"roles:update","x-component-props":{},properties:{drawer:{type:"void","x-component":"Action.Drawer","x-decorator":"PermissionProvider",title:'{{t("Configure permissions")}}',properties:{tabs1:{type:"void","x-component":"Tabs","x-component-props":{},properties:function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n,o,a;n=e,o=t,a=r[t],o in n?Object.defineProperty(n,o,{value:a,enumerable:!0,configurable:!0,writable:!0}):n[o]=a})}return e}({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:j}}},e)}}}}}}}}}}}}}}}},k=(0,s.createContext)([]);k.displayName="AvailableActionsContext";var R=function(e){var t=(0,l.useRequest)({resource:"availableActions",action:"list"}),r=t.data;return t.loading?p().createElement(u.Spin,null):p().createElement(k.Provider,{value:null==r?void 0:r.data},e.children)},D=function(){return(0,s.useContext)(k)},T={designable:!1},F=function(){var e=(0,l.useRecord)(),t=(0,l.usePlugin)(m.default);return p().createElement("div",null,p().createElement(l.SchemaComponentContext.Provider,{value:T},p().createElement(R,null,p().createElement(l.SchemaComponent,{schema:E(t.getExtendedTabs()),components:{SettingCenterPermissionProvider:l.SettingCenterPermissionProvider,PermissionProvider:x},scope:{dataSourceKey:e.key}}))))},I=r("563");function N(e,t,r,n,o,a,c){try{var i=e[a](c),l=i.value}catch(e){r(e);return}i.done?t(l):Promise.resolve(l).then(n,o)}var K=function(){var e=(0,s.useContext)(v).update,t=(0,d.useTranslation)().t,r=(0,l.useRecord)().key;return p().createElement(l.SchemaComponent,{schema:{type:"void",name:"form","x-component":"Form","x-component-props":{useValues:function(e){var t=(0,l.useAPIClient)(),n=(0,s.useContext)(es);return(0,l.useRequest)(function(){return t.resource("dataSources/".concat(r,"/roles")).get({filterByTk:n.name}).then(function(e){var t,r,n=null==e?void 0:null===(t=e.data)||void 0===t?void 0:t.data;return null===(r=n.snippets)||void 0===r||r.forEach(function(e){n[e]=!0}),{data:n}})},e)},effects:function(){var t,r;(0,I.onFieldChange)("*",(r=(t=function(t,r){return function(e,t){var r,n,o,a,c={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return a={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function i(a){return function(i){return function(a){if(r)throw TypeError("Generator is already executing.");for(;c;)try{if(r=1,n&&(o=2&a[0]?n.return:a[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,a[1])).done)return o;switch(n=0,o&&(a=[2&a[0],o.value]),a[0]){case 0:case 1:o=a;break;case 4:return c.label++,{value:a[1],done:!1};case 5:c.label++,n=a[1],a=[0];continue;case 7:a=c.ops.pop(),c.trys.pop();continue;default:if(!(o=(o=c.trys).length>0&&o[o.length-1])&&(6===a[0]||2===a[0])){c=0;continue}if(3===a[0]&&(!o||a[1]>o[0]&&a[1]<o[3])){c.label=a[1];break}if(6===a[0]&&c.label<o[1]){c.label=o[1],o=a;break}if(o&&c.label<o[2]){c.label=o[2],c.ops.push(a);break}o[2]&&c.ops.pop(),c.trys.pop();continue}a=t.call(e,c)}catch(e){a=[6,e],n=0}finally{r=o=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,i])}}}(this,function(n){switch(n.label){case 0:if(!r.modified)return[2];return[4,e(t,r)];case 1:return n.sent(),[2]}})},function(){var e=this,r=arguments;return new Promise(function(n,o){var a=t.apply(e,r);function c(e){N(a,n,o,c,i,"next",e)}function i(e){N(a,n,o,c,i,"throw",e)}c(void 0)})}),function(e,t){return r.apply(this,arguments)}))}},properties:{"strategy.actions":{description:t("All collections use general action permissions by default; permission configured individually will override the default one."),"x-component":"StrategyActions"}}}})},B=r("632"),V=r("467"),q=r("202");function M(){var e,t,r=(e=["\n .ant-table-cell {\n > .ant-space-horizontal {\n .ant-space-item-split:has(+ .ant-space-item:empty) {\n display: none;\n }\n }\n }\n "],!t&&(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}})));return M=function(){return r},r}var _=(0,q.createStyles)(function(e){return(0,e.css)(M())});function z(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n,o,a;n=e,o=t,a=r[t],o in n?Object.defineProperty(n,o,{value:a,enumerable:!0,configurable:!0,writable:!0}):n[o]=a})}return e}function $(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r.push.apply(r,n)}return r})(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}),e}var L=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"main";return{name:"dataSources/".concat(e,"/rolesResourcesScopes"),fields:[{type:"string",name:"name",interface:"input",uiSchema:{title:'{{t("Scope name")}}',type:"string","x-component":"Input",required:!0}}]}},G=function(){var e=(0,s.useContext)(en).name,t=(0,l.useFormBlockContext)();return(0,s.useEffect)(function(){t.form.setInitialValues({resourceName:e})},[e]),{form:t.form}},U=function(e){var t=((0,l.useCollectionRecord)().data||{}).id,r=$(z({},e),{disabled:[1,2].includes(t)});return p().createElement(l.Action.Link,r)},W=function(e){var t=((0,l.useCollectionRecord)().data||{}).id,r=$(z({},e,(0,l.useDestroyActionProps)()),{disabled:[1,2].includes(t)});return p().createElement(l.Action.Link,r)},H=function(e){var t=L(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/".concat(e,"/rolesResourcesScopes"),action:"list",params:{pageSize:20},useParams:function(){return{filter:{$or:[{resourceName:(0,s.useContext)(en).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/".concat(e,"/rolesResourcesScopes"),collection:t},"x-component":"CardItem",properties:{form:{type:"void","x-component":"FormV2","x-use-component-props":G,properties:{name:{type:"string","x-component":"CollectionField","x-decorator":"FormItem"},scope:{type:"object",title:'{{t("Data scope")}}',name:"filter","x-decorator":"FormItem","x-component":(0,l.withDynamicSchemaProps)(function(e){return p().createElement(l.FlagProvider,{isVariableParsedInOtherContext:!0},p().createElement(l.Filter,e))}),"x-use-component-props":function(){var e=(0,s.useContext)(en);return{options:(0,l.useFilterFieldOptions)(e.fields)}},"x-component-props":{dynamicComponent:l.VariableInput}},actions:{type:"void","x-component":"ActionBar","x-component-props":{layout:"one-column",style:{marginTop:24}},properties:{create:{title:'{{ t("Submit") }}',"x-action":"submit","x-component":"Action","x-use-component-props":"useCreateActionProps","x-component-props":{type:"primary",htmlType:"submit"}}}}}}}}}}}}}},value:{type:"array","x-component":"TableV2.Selector","x-use-component-props":"useTableSelectorProps","x-component-props":{rowKey:"id",rowSelection:{type:"checkbox"}},properties:{column1:{type:"void","x-decorator":"TableV2.Column.Decorator","x-component":"TableV2.Column",properties:{name:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}},actions:{type:"void",title:'{{ t("Actions") }}',"x-action-column":"actions","x-component":"TableV2.Column",properties:{actions:{type:"void","x-decorator":"DndContext","x-component":"Space","x-component-props":{split:"|"},properties:{edit:{type:"void",title:'{{ t("Edit") }}',"x-action":"update","x-decorator":"ACLActionProvider","x-component":U,"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/".concat(e,"/rolesResourcesScopes"),collection:t,action:"get",useParams:"{{ useParamsFromRecord }}"},"x-component":"CardItem",properties:{form:{type:"void","x-component":"FormV2","x-use-component-props":"useFormBlockProps",properties:{name:{type:"string","x-component":"CollectionField","x-decorator":"FormItem"},scope:{type:"object",title:'{{t("Data scope")}}',name:"filter","x-decorator":"FormItem","x-component":(0,l.withDynamicSchemaProps)(function(e){return p().createElement(l.FlagProvider,{isVariableParsedInOtherContext:!0},p().createElement(l.Filter,e))}),"x-use-component-props":function(){var e=(0,s.useContext)(en);return{options:(0,l.useFilterFieldOptions)(e.fields)}},"x-component-props":{dynamicComponent:l.VariableInput}},actions:{type:"void","x-component":"ActionBar","x-component-props":{layout:"one-column",style:{marginTop:24}},properties:{update:{title:'{{ t("Submit") }}',"x-action":"submit","x-component":"Action","x-use-component-props":"useUpdateActionProps","x-component-props":{type:"primary",htmlType:"submit"}}}}}}}}}}}},destroy:{title:'{{ t("Delete") }}',"x-action":"destroy","x-decorator":"ACLActionProvider","x-component-props":{icon:"DeleteOutlined",confirm:{title:"{{t('Delete record')}}",content:"{{t('Are you sure you want to delete it?')}}"}},"x-component":W}}}}}}}}},footer:{"x-component":"Action.Container.Footer","x-component-props":{},properties:{actions:{type:"void","x-component":"ActionBar","x-component-props":{},properties:{submit:{title:'{{ t("Submit") }}',"x-action":"submit","x-component":"Action","x-use-component-props":"usePickActionProps","x-component-props":{type:"primary",htmlType:"submit"}}}}}}}}}}}}};function J(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}var Q=(0,s.createContext)(null);Q.displayName="RolesResourcesScopesSelectedRowKeysContext";var X=function(e){var t,r,n=(t=(0,s.useState)([]),r=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var r,n,o=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var a=[],c=!0,i=!1;try{for(o=o.call(e);!(c=(r=o.next()).done)&&(a.push(r.value),!t||a.length!==t);c=!0);}catch(e){i=!0,n=e}finally{try{!c&&null!=o.return&&o.return()}finally{if(i)throw n}}return a}}(t,2)||function(e,t){if(e){if("string"==typeof e)return J(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if("Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r)return Array.from(r);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return J(e,t)}}(t,r)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),o=n[0],a=n[1];return p().createElement(Q.Provider,{value:[o,a]},e.children)},Y=function(e){var t,r=(0,s.useMemo)(function(){return(0,I.createForm)({values:{scope:e.value}})},[]),n=H(((null===(t=(0,l.useCollectionRecord)())||void 0===t?void 0:t.parentRecord.data)||{}).key);return p().createElement(l.FormProvider,{form:r},p().createElement(l.SchemaComponent,{components:{RolesResourcesScopesSelectedRowKeysProvider:X},scope:{onChange:function(t){var r;null==e||null===(r=e.onChange)||void 0===r||r.call(e,t)}},schema:n}))};function Z(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function ee(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n,o,a;n=e,o=t,a=r[t],o in n?Object.defineProperty(n,o,{value:a,enumerable:!0,configurable:!0,writable:!0}):n[o]=a})}return e}function et(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r.push.apply(r,n)}return r})(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}),e}var er=function(e){var t,r={};return null==e||null===(t=e.forEach)||void 0===t||t.call(e,function(e){e.name&&(r[e.name]=e,r[e.name].scope=(0,V.isEmpty)(e.scope)?null:e.scope)}),r},en=(0,s.createContext)({});en.displayName="RoleResourceCollectionContext";var eo=(0,O.connect)(function(e){var t,r=_().styles,n=function(t){var r=t.map(function(e){return et(ee({},e),{scope:(0,V.isEmpty)(e.scope)?null:e.scope})});e.onChange(r)},o=(0,l.useRecord)(),a=D(),c=o.fields,i=(0,l.useCompile)(),s=(0,d.useTranslation)().t,m=er((0,O.useField)().value||[]),f=function(e,t){var r,n=null==m?void 0:m[e];return!!n&&(null==n?void 0:null===(r=n.fields)||void 0===r?void 0:r.includes(t))},y=a.filter(function(e){return e.allowConfigureFields}),b=null==c?void 0:c.map(function(e){var t=ee({},e),r=!0,n=!1,o=void 0;try{for(var a,c=y[Symbol.iterator]();!(r=(a=c.next()).done);r=!0){var i=a.value;t[i.name]=f(i.name,e.name)}}catch(e){n=!0,o=e}finally{try{!r&&null!=c.return&&c.return()}finally{if(n)throw o}}return t}),v=function(e){if(m[e])delete m[e];else{var t;m[e]={name:e,fields:null==c?void 0:null===(t=c.map)||void 0===t?void 0:t.call(c,function(e){return e.name})}}n(Object.values(m))},x=function(e,t){m[e]||v(e),m[e].scope=t,n(Object.values(m))},g={},h=!0,S=!1,P=void 0;try{for(var w,C=y[Symbol.iterator]();!(h=(w=C.next()).done);h=!0){var j,A,E=w.value;g[E.name]=(null==c?void 0:c.length)===(null==m?void 0:null===(A=m[E.name])||void 0===A?void 0:null===(j=A.fields)||void 0===j?void 0:j.length)}}catch(e){S=!0,P=e}finally{try{!h&&null!=C.return&&C.return()}finally{if(S)throw P}}return p().createElement("div",null,p().createElement(en.Provider,{value:o},p().createElement(B.FormLayout,{layout:"vertical"},p().createElement(B.FormItem,{label:s("Action permission")},p().createElement(u.Table,{className:r,size:"small",pagination:!1,columns:[{dataIndex:"displayName",title:s("Action display name"),render:function(e){return i(e)}},{dataIndex:"onNewRecord",title:s("Action type"),render:function(e){return e?p().createElement(u.Tag,{color:"green"},s("Action on new records")):p().createElement(u.Tag,{color:"geekblue"},s("Action on existing records"))}},{dataIndex:"enabled",title:s("Allow"),render:function(e,t){return p().createElement(u.Checkbox,{checked:e,onChange:function(){v(t.name)}})}},{dataIndex:"scope",title:s("Data scope"),render:function(e,t){return!t.onNewRecord&&p().createElement(Y,{value:e,onChange:function(e){x(t.name,e)}})}}],dataSource:null==a?void 0:a.map(function(e){var t=!1,r=null;return m[e.name]&&(t=!0,!e.onNewRecord&&(r=m[e.name].scope)),et(ee({},e),{enabled:t,scope:r})})})),p().createElement(B.FormItem,{label:s("Field permission")},p().createElement(u.Table,{className:r,pagination:!1,dataSource:b,columns:[{dataIndex:["uiSchema","title"],title:s("Field display name"),render:function(e,t){return i(e)||t.name}}].concat(function(e){if(Array.isArray(e))return Z(e)}(t=y.map(function(e){var t=null==g?void 0:g[e.name];return{dataIndex:e.name,title:p().createElement(p().Fragment,null,p().createElement(u.Checkbox,{checked:t,onChange:function(){var r,o=m[e.name]||{name:e.name};t?o.fields=[]:o.fields=null==c?void 0:null===(r=c.map)||void 0===r?void 0:r.call(c,function(e){return e.name}),m[e.name]=o,n(Object.values(m))}}),i(e.displayName)),render:function(t,r){return p().createElement(u.Checkbox,{checked:t,onChange:function(){var o=m[e.name]||{name:e.name},a=o.fields||[];if(t){var c=a.indexOf(r.name);a.splice(c,1)}else a.push(r.name);o.fields=a,m[e.name]=o,n(Object.values(m))}})}}}))||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(t)||function(e,t){if(e){if("string"==typeof e)return Z(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if("Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r)return Array.from(r);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Z(e,t)}}(t)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}())})))))});function ea(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}var ec=function(e){if(!e)return{};var t,r={};return null==e||null===(t=e.forEach)||void 0===t||t.call(e,function(e){var t,n,o=(t=e.split(":"),n=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var r,n,o=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var a=[],c=!0,i=!1;try{for(o=o.call(e);!(c=(r=o.next()).done)&&(a.push(r.value),!t||a.length!==t);c=!0);}catch(e){i=!0,n=e}finally{try{!c&&null!=o.return&&o.return()}finally{if(i)throw n}}return a}}(t,2)||function(e,t){if(e){if("string"==typeof e)return ea(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if("Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r)return Array.from(r);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return ea(e,t)}}(t,n)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),a=o[0],c=o[1];r[a]=c||"all"}),r},ei=function(e){var t=[];for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){var n=e[r];"all"===n?t.push(r):t.push("".concat(r,":").concat(n))}return t},el=(0,O.connect)(function(e){var t=e.onChange,r=D(),n=(0,l.useCompile)(),o=(0,d.useTranslation)().t,a=ec((0,O.useField)().value);return p().createElement("div",null,p().createElement(u.Table,{size:"small",pagination:!1,rowKey:"name",columns:[{dataIndex:"displayName",title:o("Action display name"),render:function(e){return n(e)}},{dataIndex:"onNewRecord",title:o("Action type"),render:function(e){return e?p().createElement(u.Tag,{color:"green"},o("Action on new records")):p().createElement(u.Tag,{color:"geekblue"},o("Action on existing records"))}},{dataIndex:"enabled",title:o("Allow"),render:function(e,r){return p().createElement(u.Checkbox,{checked:e,onChange:function(n){e?delete a[r.name]:a[r.name]="all",t(ei(a))}})}},{dataIndex:"scope",title:o("Data scope"),render:function(e,r){return!r.onNewRecord&&p().createElement(u.Select,{"data-testid":"select-data-scope",popupMatchSelectWidth:!1,size:"small",value:e,options:[{label:o("All records"),value:"all"},{label:o("Own records"),value:"own"}],onChange:function(e){a[r.name]=e,t(ei(a))}})}}],dataSource:null==r?void 0:r.map(function(e){var t,r,n="all",o=!1;return a[e.name]&&(o=!0,n=a[e.name]),t=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n,o,a;n=e,o=t,a=r[t],o in n?Object.defineProperty(n,o,{value:a,enumerable:!0,configurable:!0,writable:!0}):n[o]=a})}return e}({},e),r=(r={enabled:o,scope:n},r),Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):(function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r.push.apply(r,n)}return r})(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}),t})}))});var eu={type:"object",properties:(n={},o=(0,i.uid)(),a={"x-component":"DataSourceTable"},o in n?Object.defineProperty(n,o,{value:a,enumerable:!0,configurable:!0,writable:!0}):n[o]=a,n)},es=(0,s.createContext)({});es.displayName="CurrentRolesContext";var ep=function(e){var t=e.role;return p().createElement(u.Card,{"data-testid":"acl-pane-card",bordered:!1},p().createElement(es.Provider,{value:t},p().createElement(l.SchemaComponent,{components:{MenuConfigure:l.MenuConfigure,RoleConfigure:K,RolesResourcesActions:eo,DataSourceTable:F,StrategyActions:el,SettingsCenterConfigure:l.SettingsCenterConfigure,SettingCenterProvider:l.SettingCenterProvider,ResourceActionProvider:l.ResourceActionProvider,RoleRecordProvider:h},schema:eu})))}}}]);
@@ -10,4 +10,7 @@ import React from 'react';
10
10
  export declare const SettingCenterPermissionProvider: (props: any) => React.JSX.Element;
11
11
  export declare const PermissionContext: React.Context<any>;
12
12
  export declare const PermissionProvider: (props: any) => React.JSX.Element;
13
+ export declare const CurrentDataSourceKey: React.Context<{
14
+ dataSourceKey: string;
15
+ }>;
13
16
  export declare const RoleRecordProvider: (props: any) => React.JSX.Element;
@@ -0,0 +1,10 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+ import React from 'react';
10
+ export declare const PermissionResourceActionProvider: (props: any) => React.JSX.Element;
@@ -7,4 +7,4 @@
7
7
  * For more information, please refer to: https://www.nocobase.com/agreement.
8
8
  */
9
9
 
10
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("@nocobase/client"),require("@ant-design/icons"),require("@formily/react"),require("@formily/antd-v5"),require("@emotion/css"),require("react-i18next"),require("react"),require("@formily/shared"),require("@nocobase/plugin-acl/client"),require("@nocobase/utils/client"),require("@formily/core"),require("lodash"),require("antd"),require("@dnd-kit/core"),require("antd-style"),require("react-router-dom"),require("@formily/reactive")):"function"==typeof define&&define.amd?define("@nocobase/plugin-data-source-manager",["@nocobase/client","@ant-design/icons","@formily/react","@formily/antd-v5","@emotion/css","react-i18next","react","@formily/shared","@nocobase/plugin-acl/client","@nocobase/utils/client","@formily/core","lodash","antd","@dnd-kit/core","antd-style","react-router-dom","@formily/reactive"],t):"object"==typeof exports?exports["@nocobase/plugin-data-source-manager"]=t(require("@nocobase/client"),require("@ant-design/icons"),require("@formily/react"),require("@formily/antd-v5"),require("@emotion/css"),require("react-i18next"),require("react"),require("@formily/shared"),require("@nocobase/plugin-acl/client"),require("@nocobase/utils/client"),require("@formily/core"),require("lodash"),require("antd"),require("@dnd-kit/core"),require("antd-style"),require("react-router-dom"),require("@formily/reactive")):e["@nocobase/plugin-data-source-manager"]=t(e["@nocobase/client"],e["@ant-design/icons"],e["@formily/react"],e["@formily/antd-v5"],e["@emotion/css"],e["react-i18next"],e.react,e["@formily/shared"],e["@nocobase/plugin-acl/client"],e["@nocobase/utils/client"],e["@formily/core"],e.lodash,e.antd,e["@dnd-kit/core"],e["antd-style"],e["react-router-dom"],e["@formily/reactive"])}(self,function(e,t,n,r,o,i,a,c,u,l,s,f,p,d,b,y,m){return function(){var g,h,v,_,w,O,S={60:function(e,t,n){"use strict";n.r(t),n.d(t,{PluginDataSourceManagerClient:function(){return C}});var r=n(772),o=n(465),i=n.n(o),a=n(584),c=n(156),u=n.n(c),l=n(382),s=n(573),f=n(581);function p(e,t,n,r,o,i,a){try{var c=e[i](a),u=c.value}catch(e){n(e);return}c.done?t(u):Promise.resolve(u).then(r,o)}function d(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var i=e.apply(t,n);function a(e){p(i,r,o,a,c,"next",e)}function c(e){p(i,r,o,a,c,"throw",e)}a(void 0)})}}function b(e,t,n){return(b=_()?Reflect.construct:function(e,t,n){var r=[null];r.push.apply(r,t);var o=new(Function.bind.apply(e,r));return n&&h(o,n.prototype),o}).apply(null,arguments)}function y(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function m(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function g(e){return(g=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function h(e,t){return(h=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function v(e){var t="function"==typeof Map?new Map:void 0;return(v=function(e){var n;if(null===e||(n=e,-1===Function.toString.call(n).indexOf("[native code]")))return e;if("function"!=typeof e)throw TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,r)}function r(){return b(e,arguments,g(this).constructor)}return r.prototype=Object.create(e.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),h(r,e)})(e)}function _(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(_=function(){return!!e})()}function w(e,t){var n,r,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function c(i){return function(c){return function(i){if(n)throw TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(o=2&i[0]?r.return:i[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,i[1])).done)return o;switch(r=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,r=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===i[0]||2===i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){a.label=i[1];break}if(6===i[0]&&a.label<o[1]){a.label=o[1],o=i;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(i);break}o[2]&&a.ops.pop(),a.trys.pop();continue}i=t.call(e,a)}catch(e){i=[6,e],r=0}finally{n=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,c])}}}var O=(0,r.lazy)(function(){return f("imported_174m4o3_component",n.e("721").then(n.bind(n,947)))},"DatabaseConnectionProvider").DatabaseConnectionProvider,S=(0,r.lazy)(function(){return f("imported_-1bdhn46_component",n.e("927").then(n.bind(n,580)))},"BreadcumbTitle").BreadcumbTitle,P=(0,r.lazy)(function(){return f("imported_l1a36j_component",Promise.all([n.e("833"),n.e("481")]).then(n.bind(n,791)))},"CollectionManagerPage").CollectionManagerPage,x=(0,r.lazy)(function(){return f("imported_k8ts4l_component",n.e("210").then(n.bind(n,186)))},"DatabaseConnectionManagerPane").DatabaseConnectionManagerPane,j=(0,r.lazy)(function(){return f("imported_1cub3nb_component",Promise.all([n.e("833"),n.e("542")]).then(n.bind(n,185)))},"MainDataSourceManager").MainDataSourceManager,k=(0,r.lazy)(function(){return f("imported_-1b29440_component",n.e("630").then(n.bind(n,994)))},"DataSourcePermissionManager").DataSourcePermissionManager,q=(0,r.lazy)(function(){return f("imported_cef22q_component",n.e("518").then(n.bind(n,865)))},"CollectionMainProvider").CollectionMainProvider,C=function(e){var t,n,r;function o(){var e,t,n,r;return!function(e,t){if(!(e instanceof t))throw TypeError("Cannot call a class as a function")}(this,o),t=this,n=o,r=arguments,n=g(n),m(e=function(e,t){return t&&("object"===function(e){return e&&"undefined"!=typeof Symbol&&e.constructor===Symbol?"symbol":typeof e}(t)||"function"==typeof t)?t:function(e){if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(t,_()?Reflect.construct(n,r||[],g(t).constructor):n.apply(t,r)),"types",new Map),m(e,"extendedTabs",{}),e}return!function(e,t){if("function"!=typeof t&&null!==t)throw TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&h(e,t)}(o,e),t=o,n=[{key:"getExtendedTabs",value:function(){return this.extendedTabs}},{key:"registerPermissionTab",value:function(e){this.extendedTabs[(0,a.uid)()]=e}},{key:"load",value:function(){var e=this;return d(function(){return w(this,function(t){return e.app.pm.get(i()).settingsUI.addPermissionsTab(function(e){var t=e.t,n=e.TabLayout,r=e.activeRole;return{key:"dataSource",label:t("Data sources"),sort:15,children:u().createElement(n,null,u().createElement(k,{role:r}))}}),e.app.use(O),e.app.pluginSettingsManager.add(s.A7,{title:'{{t("Data sources", { ns: "'.concat(s.A7,'" })}}'),icon:"ClusterOutlined",showTabs:!1,aclSnippet:"pm.data-source-manager*"}),e.app.pluginSettingsManager.add("".concat(s.A7,".list"),{title:'{{t("Data sources", { ns: "'.concat(s.A7,'" })}}'),Component:x,sort:1,skipAclConfigure:!0,aclSnippet:"pm.data-source-manager"}),e.app.pluginSettingsManager.add("".concat(s.A7,"/:name"),{title:u().createElement(S,null),icon:"ClusterOutlined",isTopLevel:!1,sort:100,skipAclConfigure:!0,aclSnippet:"pm.data-source-manager"}),e.app.pluginSettingsManager.add("".concat(s.A7,"/main"),{title:u().createElement(S,null),icon:"ClusterOutlined",isTopLevel:!1,sort:100,skipAclConfigure:!0,aclSnippet:"pm.data-source-manager.data-source-main",Component:q}),e.app.pluginSettingsManager.add("".concat(s.A7,"/main.collections"),{title:'{{t("Collections", { ns: "'.concat(s.A7,'" })}}'),Component:j,topLevelName:"".concat(s.A7,"/main"),pluginKey:s.A7,skipAclConfigure:!0,aclSnippet:"pm.data-source-manager.data-source-main"}),e.app.pluginSettingsManager.add("".concat(s.A7,"/:name.collections"),{title:'{{t("Collections", { ns: "'.concat(s.A7,'" })}}'),Component:P,topLevelName:"".concat(s.A7,"/:name"),pluginKey:s.A7,skipAclConfigure:!0,aclSnippet:"pm.data-source-manager.data-source-main"}),e.app.dataSourceManager.addDataSources(e.getThirdDataSource.bind(e),l.F),[2]})})()}},{key:"setDataSources",value:function(){var e=this;return d(function(){var t,n;return w(this,function(r){switch(r.label){case 0:return[4,e.app.apiClient.request({resource:"dataSources",action:"listEnabled",params:{paginate:!1}})];case 1:return[2,null==(n=r.sent())?void 0:null===(t=n.data)||void 0===t?void 0:t.data]}})})()}},{key:"getThirdDataSource",value:function(){var e=this;return d(function(){var t,n;return w(this,function(r){switch(r.label){case 0:return[4,e.app.apiClient.request({resource:"dataSources",action:"listEnabled",params:{paginate:!1,appends:["collections"]}})];case 1:return[2,null==(n=r.sent())?void 0:null===(t=n.data)||void 0===t?void 0:t.data]}})})()}},{key:"registerType",value:function(e,t){this.types.set(e,t)}}],y(t.prototype,n),o}(v(r.Plugin));t.default=C},382:function(e,t,n){"use strict";n.d(t,{F:function(){return l}});var r=n(772);function o(e,t,n,r,o,i,a){try{var c=e[i](a),u=c.value}catch(e){n(e);return}c.done?t(u):Promise.resolve(u).then(r,o)}function i(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function a(e){return(a=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function c(e,t){return(c=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function u(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(u=function(){return!!e})()}var l=function(e){var t,n,r;function l(){var e,t,n;return!function(e,t){if(!(e instanceof t))throw TypeError("Cannot call a class as a function")}(this,l),e=this,t=l,n=arguments,t=a(t),function(e,t){return t&&("object"===function(e){return e&&"undefined"!=typeof Symbol&&e.constructor===Symbol?"symbol":typeof e}(t)||"function"==typeof t)?t:function(e){if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,u()?Reflect.construct(t,n||[],a(e).constructor):t.apply(e,n))}return!function(e,t){if("function"!=typeof t&&null!==t)throw TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&c(e,t)}(l,e),t=l,n=[{key:"getDataSource",value:function(){var e,t=this;return(e=function(){return function(e,t){var n,r,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function c(i){return function(c){return function(i){if(n)throw TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(o=2&i[0]?r.return:i[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,i[1])).done)return o;switch(r=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,r=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===i[0]||2===i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){a.label=i[1];break}if(6===i[0]&&a.label<o[1]){a.label=o[1],o=i;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(i);break}o[2]&&a.ops.pop(),a.trys.pop();continue}i=t.call(e,a)}catch(e){i=[6,e],r=0}finally{n=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,c])}}}(this,function(e){switch(e.label){case 0:return[4,t.app.apiClient.request({url:"dataSources:get/".concat(t.key),params:{appends:["collections"]}})];case 1:return[2,e.sent().data.data]}})},function(){var t=this,n=arguments;return new Promise(function(r,i){var a=e.apply(t,n);function c(e){o(a,r,i,c,u,"next",e)}function u(e){o(a,r,i,c,u,"throw",e)}c(void 0)})})()}}],i(t.prototype,n),l}(r.DataSource)},573:function(e,t,n){"use strict";n.d(t,{A7:function(){return i},EL:function(){return c},KQ:function(){return a}});var r=n(772),o=n(238),i="data-source-manager";function a(e){var t,n,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return r.i18n.t(e,(t=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){var r,o,i;r=e,o=t,i=n[t],o in r?Object.defineProperty(r,o,{value:i,enumerable:!0,configurable:!0,writable:!0}):r[o]=i})}return e}({},o),n=(n={ns:i},n),Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):(function(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n.push.apply(n,r)}return n})(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}),t))}function c(){return(0,o.useTranslation)([i,"client"],{nsMode:"fallback"})}},581:function(e){e.exports=function(e,t){return"undefined"!=typeof __deoptimization_sideEffect__&&__deoptimization_sideEffect__(e,t),t}},482:function(e){"use strict";e.exports=t},948:function(e){"use strict";e.exports=d},964:function(e){"use strict";e.exports=o},632:function(e){"use strict";e.exports=r},563:function(e){"use strict";e.exports=s},505:function(e){"use strict";e.exports=n},229:function(e){"use strict";e.exports=m},875:function(e){"use strict";e.exports=c},772:function(t){"use strict";t.exports=e},465:function(e){"use strict";e.exports=u},584:function(e){"use strict";e.exports=l},721:function(e){"use strict";e.exports=p},202:function(e){"use strict";e.exports=b},467:function(e){"use strict";e.exports=f},156:function(e){"use strict";e.exports=a},238:function(e){"use strict";e.exports=i},128:function(e){"use strict";e.exports=y}},P={};function x(e){var t=P[e];if(void 0!==t)return t.exports;var n=P[e]={exports:{}};return S[e](n,n.exports,x),n.exports}return x.m=S,x.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return x.d(t,{a:t}),t},x.d=function(e,t){for(var n in t)x.o(t,n)&&!x.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},x.f={},x.e=function(e){return Promise.all(Object.keys(x.f).reduce(function(t,n){return x.f[n](e,t),t},[]))},x.u=function(e){return""+({210:"05fd9bbff4351687",481:"730406514d9b8503",518:"93d7762d5a5ead48",542:"0920f4a14af0406f",630:"260ea8a867c3a069",721:"7948d6c08bf3359d",833:"4351378ca49a3620",927:"435a0c316fa76b6f"})[e]+".js"},x.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),x.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},g={},h="@nocobase/plugin-data-source-manager:",x.l=function(e,t,n,r){if(g[e]){g[e].push(t);return}if(void 0!==n){for(var o,i,a=document.getElementsByTagName("script"),c=0;c<a.length;c++){var u=a[c];if(u.getAttribute("src")==e||u.getAttribute("data-webpack")==h+n){o=u;break}}}!o&&(i=!0,(o=document.createElement("script")).charset="utf-8",o.timeout=120,x.nc&&o.setAttribute("nonce",x.nc),o.setAttribute("data-webpack",h+n),o.src=e),g[e]=[t];var l=function(t,n){o.onerror=o.onload=null,clearTimeout(s);var r=g[e];if(delete g[e],o.parentNode&&o.parentNode.removeChild(o),r&&r.forEach(function(e){return e(n)}),t)return t(n)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:o}),12e4);o.onerror=l.bind(null,o.onerror),o.onload=l.bind(null,o.onload),i&&document.head.appendChild(o)},x.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},x.p=(!(v=window.__nocobase_public_path__||"/").endsWith("/")&&(v+="/"),v+"static/plugins/@nocobase/plugin-data-source-manager/dist/client/"),_={909:0},x.f.j=function(e,t){var n=x.o(_,e)?_[e]:void 0;if(0!==n){if(n)t.push(n[2]);else{var r=new Promise(function(t,r){n=_[e]=[t,r]});t.push(n[2]=r);var o=x.p+x.u(e),i=Error();x.l(o,function(t){if(x.o(_,e)&&(0!==(n=_[e])&&(_[e]=void 0),n)){var r=t&&("load"===t.type?"missing":t.type),o=t&&t.target&&t.target.src;i.message="Loading chunk "+e+" failed.\n("+r+": "+o+")",i.name="ChunkLoadError",i.type=r,i.request=o,n[1](i)}},"chunk-"+e,e)}}},w=function(e,t){var n=t[0],r=t[1],o=t[2],i,a,c=0;if(n.some(function(e){return 0!==_[e]})){for(i in r)x.o(r,i)&&(x.m[i]=r[i]);o&&o(x)}for(e&&e(t);c<n.length;c++)a=n[c],x.o(_,a)&&_[a]&&_[a][0](),_[a]=0},(O=self.webpackChunk_nocobase_plugin_data_source_manager=self.webpackChunk_nocobase_plugin_data_source_manager||[]).forEach(w.bind(null,0)),O.push=w.bind(null,O.push.bind(O)),x("60")}()});
10
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("@nocobase/client"),require("@ant-design/icons"),require("@formily/react"),require("@formily/antd-v5"),require("@emotion/css"),require("react-i18next"),require("react"),require("@formily/shared"),require("@nocobase/plugin-acl/client"),require("@nocobase/utils/client"),require("@formily/core"),require("lodash"),require("antd"),require("@dnd-kit/core"),require("antd-style"),require("react-router-dom"),require("@formily/reactive")):"function"==typeof define&&define.amd?define("@nocobase/plugin-data-source-manager",["@nocobase/client","@ant-design/icons","@formily/react","@formily/antd-v5","@emotion/css","react-i18next","react","@formily/shared","@nocobase/plugin-acl/client","@nocobase/utils/client","@formily/core","lodash","antd","@dnd-kit/core","antd-style","react-router-dom","@formily/reactive"],t):"object"==typeof exports?exports["@nocobase/plugin-data-source-manager"]=t(require("@nocobase/client"),require("@ant-design/icons"),require("@formily/react"),require("@formily/antd-v5"),require("@emotion/css"),require("react-i18next"),require("react"),require("@formily/shared"),require("@nocobase/plugin-acl/client"),require("@nocobase/utils/client"),require("@formily/core"),require("lodash"),require("antd"),require("@dnd-kit/core"),require("antd-style"),require("react-router-dom"),require("@formily/reactive")):e["@nocobase/plugin-data-source-manager"]=t(e["@nocobase/client"],e["@ant-design/icons"],e["@formily/react"],e["@formily/antd-v5"],e["@emotion/css"],e["react-i18next"],e.react,e["@formily/shared"],e["@nocobase/plugin-acl/client"],e["@nocobase/utils/client"],e["@formily/core"],e.lodash,e.antd,e["@dnd-kit/core"],e["antd-style"],e["react-router-dom"],e["@formily/reactive"])}(self,function(e,t,n,r,o,i,a,c,u,l,s,f,p,d,b,y,m){return function(){var g,h,v,_,w,O,S={60:function(e,t,n){"use strict";n.r(t),n.d(t,{PluginDataSourceManagerClient:function(){return C}});var r=n(772),o=n(465),i=n.n(o),a=n(584),c=n(156),u=n.n(c),l=n(382),s=n(573),f=n(581);function p(e,t,n,r,o,i,a){try{var c=e[i](a),u=c.value}catch(e){n(e);return}c.done?t(u):Promise.resolve(u).then(r,o)}function d(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var i=e.apply(t,n);function a(e){p(i,r,o,a,c,"next",e)}function c(e){p(i,r,o,a,c,"throw",e)}a(void 0)})}}function b(e,t,n){return(b=_()?Reflect.construct:function(e,t,n){var r=[null];r.push.apply(r,t);var o=new(Function.bind.apply(e,r));return n&&h(o,n.prototype),o}).apply(null,arguments)}function y(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function m(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function g(e){return(g=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function h(e,t){return(h=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function v(e){var t="function"==typeof Map?new Map:void 0;return(v=function(e){var n;if(null===e||(n=e,-1===Function.toString.call(n).indexOf("[native code]")))return e;if("function"!=typeof e)throw TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,r)}function r(){return b(e,arguments,g(this).constructor)}return r.prototype=Object.create(e.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),h(r,e)})(e)}function _(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(_=function(){return!!e})()}function w(e,t){var n,r,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function c(i){return function(c){return function(i){if(n)throw TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(o=2&i[0]?r.return:i[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,i[1])).done)return o;switch(r=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,r=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===i[0]||2===i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){a.label=i[1];break}if(6===i[0]&&a.label<o[1]){a.label=o[1],o=i;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(i);break}o[2]&&a.ops.pop(),a.trys.pop();continue}i=t.call(e,a)}catch(e){i=[6,e],r=0}finally{n=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,c])}}}var O=(0,r.lazy)(function(){return f("imported_174m4o3_component",n.e("721").then(n.bind(n,947)))},"DatabaseConnectionProvider").DatabaseConnectionProvider,S=(0,r.lazy)(function(){return f("imported_-1bdhn46_component",n.e("927").then(n.bind(n,580)))},"BreadcumbTitle").BreadcumbTitle,P=(0,r.lazy)(function(){return f("imported_l1a36j_component",Promise.all([n.e("833"),n.e("481")]).then(n.bind(n,791)))},"CollectionManagerPage").CollectionManagerPage,x=(0,r.lazy)(function(){return f("imported_k8ts4l_component",n.e("210").then(n.bind(n,186)))},"DatabaseConnectionManagerPane").DatabaseConnectionManagerPane,j=(0,r.lazy)(function(){return f("imported_1cub3nb_component",Promise.all([n.e("833"),n.e("542")]).then(n.bind(n,185)))},"MainDataSourceManager").MainDataSourceManager,k=(0,r.lazy)(function(){return f("imported_-1b29440_component",n.e("583").then(n.bind(n,777)))},"DataSourcePermissionManager").DataSourcePermissionManager,q=(0,r.lazy)(function(){return f("imported_cef22q_component",n.e("518").then(n.bind(n,865)))},"CollectionMainProvider").CollectionMainProvider,C=function(e){var t,n,r;function o(){var e,t,n,r;return!function(e,t){if(!(e instanceof t))throw TypeError("Cannot call a class as a function")}(this,o),t=this,n=o,r=arguments,n=g(n),m(e=function(e,t){return t&&("object"===function(e){return e&&"undefined"!=typeof Symbol&&e.constructor===Symbol?"symbol":typeof e}(t)||"function"==typeof t)?t:function(e){if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(t,_()?Reflect.construct(n,r||[],g(t).constructor):n.apply(t,r)),"types",new Map),m(e,"extendedTabs",{}),e}return!function(e,t){if("function"!=typeof t&&null!==t)throw TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&h(e,t)}(o,e),t=o,n=[{key:"getExtendedTabs",value:function(){return this.extendedTabs}},{key:"registerPermissionTab",value:function(e){this.extendedTabs[(0,a.uid)()]=e}},{key:"load",value:function(){var e=this;return d(function(){return w(this,function(t){return e.app.pm.get(i()).settingsUI.addPermissionsTab(function(e){var t=e.t,n=e.TabLayout,r=e.activeRole;return{key:"dataSource",label:t("Data sources"),sort:15,children:u().createElement(n,null,u().createElement(k,{role:r}))}}),e.app.use(O),e.app.pluginSettingsManager.add(s.A7,{title:'{{t("Data sources", { ns: "'.concat(s.A7,'" })}}'),icon:"ClusterOutlined",showTabs:!1,aclSnippet:"pm.data-source-manager*"}),e.app.pluginSettingsManager.add("".concat(s.A7,".list"),{title:'{{t("Data sources", { ns: "'.concat(s.A7,'" })}}'),Component:x,sort:1,skipAclConfigure:!0,aclSnippet:"pm.data-source-manager"}),e.app.pluginSettingsManager.add("".concat(s.A7,"/:name"),{title:u().createElement(S,null),icon:"ClusterOutlined",isTopLevel:!1,sort:100,skipAclConfigure:!0,aclSnippet:"pm.data-source-manager"}),e.app.pluginSettingsManager.add("".concat(s.A7,"/main"),{title:u().createElement(S,null),icon:"ClusterOutlined",isTopLevel:!1,sort:100,skipAclConfigure:!0,aclSnippet:"pm.data-source-manager.data-source-main",Component:q}),e.app.pluginSettingsManager.add("".concat(s.A7,"/main.collections"),{title:'{{t("Collections", { ns: "'.concat(s.A7,'" })}}'),Component:j,topLevelName:"".concat(s.A7,"/main"),pluginKey:s.A7,skipAclConfigure:!0,aclSnippet:"pm.data-source-manager.data-source-main"}),e.app.pluginSettingsManager.add("".concat(s.A7,"/:name.collections"),{title:'{{t("Collections", { ns: "'.concat(s.A7,'" })}}'),Component:P,topLevelName:"".concat(s.A7,"/:name"),pluginKey:s.A7,skipAclConfigure:!0,aclSnippet:"pm.data-source-manager.data-source-main"}),e.app.dataSourceManager.addDataSources(e.getThirdDataSource.bind(e),l.F),[2]})})()}},{key:"setDataSources",value:function(){var e=this;return d(function(){var t,n;return w(this,function(r){switch(r.label){case 0:return[4,e.app.apiClient.request({resource:"dataSources",action:"listEnabled",params:{paginate:!1}})];case 1:return[2,null==(n=r.sent())?void 0:null===(t=n.data)||void 0===t?void 0:t.data]}})})()}},{key:"getThirdDataSource",value:function(){var e=this;return d(function(){var t,n;return w(this,function(r){switch(r.label){case 0:return[4,e.app.apiClient.request({resource:"dataSources",action:"listEnabled",params:{paginate:!1,appends:["collections"]}})];case 1:return[2,null==(n=r.sent())?void 0:null===(t=n.data)||void 0===t?void 0:t.data]}})})()}},{key:"registerType",value:function(e,t){this.types.set(e,t)}}],y(t.prototype,n),o}(v(r.Plugin));t.default=C},382:function(e,t,n){"use strict";n.d(t,{F:function(){return l}});var r=n(772);function o(e,t,n,r,o,i,a){try{var c=e[i](a),u=c.value}catch(e){n(e);return}c.done?t(u):Promise.resolve(u).then(r,o)}function i(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function a(e){return(a=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function c(e,t){return(c=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function u(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(u=function(){return!!e})()}var l=function(e){var t,n,r;function l(){var e,t,n;return!function(e,t){if(!(e instanceof t))throw TypeError("Cannot call a class as a function")}(this,l),e=this,t=l,n=arguments,t=a(t),function(e,t){return t&&("object"===function(e){return e&&"undefined"!=typeof Symbol&&e.constructor===Symbol?"symbol":typeof e}(t)||"function"==typeof t)?t:function(e){if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,u()?Reflect.construct(t,n||[],a(e).constructor):t.apply(e,n))}return!function(e,t){if("function"!=typeof t&&null!==t)throw TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&c(e,t)}(l,e),t=l,n=[{key:"getDataSource",value:function(){var e,t=this;return(e=function(){return function(e,t){var n,r,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function c(i){return function(c){return function(i){if(n)throw TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(o=2&i[0]?r.return:i[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,i[1])).done)return o;switch(r=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,r=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===i[0]||2===i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){a.label=i[1];break}if(6===i[0]&&a.label<o[1]){a.label=o[1],o=i;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(i);break}o[2]&&a.ops.pop(),a.trys.pop();continue}i=t.call(e,a)}catch(e){i=[6,e],r=0}finally{n=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,c])}}}(this,function(e){switch(e.label){case 0:return[4,t.app.apiClient.request({url:"dataSources:get/".concat(t.key),params:{appends:["collections"]}})];case 1:return[2,e.sent().data.data]}})},function(){var t=this,n=arguments;return new Promise(function(r,i){var a=e.apply(t,n);function c(e){o(a,r,i,c,u,"next",e)}function u(e){o(a,r,i,c,u,"throw",e)}c(void 0)})})()}}],i(t.prototype,n),l}(r.DataSource)},573:function(e,t,n){"use strict";n.d(t,{A7:function(){return i},EL:function(){return c},KQ:function(){return a}});var r=n(772),o=n(238),i="data-source-manager";function a(e){var t,n,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return r.i18n.t(e,(t=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){var r,o,i;r=e,o=t,i=n[t],o in r?Object.defineProperty(r,o,{value:i,enumerable:!0,configurable:!0,writable:!0}):r[o]=i})}return e}({},o),n=(n={ns:i},n),Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):(function(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n.push.apply(n,r)}return n})(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}),t))}function c(){return(0,o.useTranslation)([i,"client"],{nsMode:"fallback"})}},581:function(e){e.exports=function(e,t){return"undefined"!=typeof __deoptimization_sideEffect__&&__deoptimization_sideEffect__(e,t),t}},482:function(e){"use strict";e.exports=t},948:function(e){"use strict";e.exports=d},964:function(e){"use strict";e.exports=o},632:function(e){"use strict";e.exports=r},563:function(e){"use strict";e.exports=s},505:function(e){"use strict";e.exports=n},229:function(e){"use strict";e.exports=m},875:function(e){"use strict";e.exports=c},772:function(t){"use strict";t.exports=e},465:function(e){"use strict";e.exports=u},584:function(e){"use strict";e.exports=l},721:function(e){"use strict";e.exports=p},202:function(e){"use strict";e.exports=b},467:function(e){"use strict";e.exports=f},156:function(e){"use strict";e.exports=a},238:function(e){"use strict";e.exports=i},128:function(e){"use strict";e.exports=y}},P={};function x(e){var t=P[e];if(void 0!==t)return t.exports;var n=P[e]={exports:{}};return S[e](n,n.exports,x),n.exports}return x.m=S,x.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return x.d(t,{a:t}),t},x.d=function(e,t){for(var n in t)x.o(t,n)&&!x.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},x.f={},x.e=function(e){return Promise.all(Object.keys(x.f).reduce(function(t,n){return x.f[n](e,t),t},[]))},x.u=function(e){return""+({210:"05fd9bbff4351687",481:"730406514d9b8503",518:"93d7762d5a5ead48",542:"0920f4a14af0406f",583:"b89c096795215e39",721:"7948d6c08bf3359d",833:"413fbb4c3815e279",927:"435a0c316fa76b6f"})[e]+".js"},x.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),x.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},g={},h="@nocobase/plugin-data-source-manager:",x.l=function(e,t,n,r){if(g[e]){g[e].push(t);return}if(void 0!==n){for(var o,i,a=document.getElementsByTagName("script"),c=0;c<a.length;c++){var u=a[c];if(u.getAttribute("src")==e||u.getAttribute("data-webpack")==h+n){o=u;break}}}!o&&(i=!0,(o=document.createElement("script")).charset="utf-8",o.timeout=120,x.nc&&o.setAttribute("nonce",x.nc),o.setAttribute("data-webpack",h+n),o.src=e),g[e]=[t];var l=function(t,n){o.onerror=o.onload=null,clearTimeout(s);var r=g[e];if(delete g[e],o.parentNode&&o.parentNode.removeChild(o),r&&r.forEach(function(e){return e(n)}),t)return t(n)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:o}),12e4);o.onerror=l.bind(null,o.onerror),o.onload=l.bind(null,o.onload),i&&document.head.appendChild(o)},x.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},x.p=(!(v=window.__nocobase_public_path__||"/").endsWith("/")&&(v+="/"),v+"static/plugins/@nocobase/plugin-data-source-manager/dist/client/"),_={909:0},x.f.j=function(e,t){var n=x.o(_,e)?_[e]:void 0;if(0!==n){if(n)t.push(n[2]);else{var r=new Promise(function(t,r){n=_[e]=[t,r]});t.push(n[2]=r);var o=x.p+x.u(e),i=Error();x.l(o,function(t){if(x.o(_,e)&&(0!==(n=_[e])&&(_[e]=void 0),n)){var r=t&&("load"===t.type?"missing":t.type),o=t&&t.target&&t.target.src;i.message="Loading chunk "+e+" failed.\n("+r+": "+o+")",i.name="ChunkLoadError",i.type=r,i.request=o,n[1](i)}},"chunk-"+e,e)}}},w=function(e,t){var n=t[0],r=t[1],o=t[2],i,a,c=0;if(n.some(function(e){return 0!==_[e]})){for(i in r)x.o(r,i)&&(x.m[i]=r[i]);o&&o(x)}for(e&&e(t);c<n.length;c++)a=n[c],x.o(_,a)&&_[a]&&_[a][0](),_[a]=0},(O=self.webpackChunk_nocobase_plugin_data_source_manager=self.webpackChunk_nocobase_plugin_data_source_manager||[]).forEach(w.bind(null,0)),O.push=w.bind(null,O.push.bind(O)),x("60")}()});
@@ -8,27 +8,27 @@
8
8
  */
9
9
 
10
10
  module.exports = {
11
- "@nocobase/client": "1.7.0-beta.1",
11
+ "@nocobase/client": "1.7.0-beta.11",
12
12
  "react": "18.2.0",
13
- "@nocobase/plugin-acl": "1.7.0-beta.1",
14
- "@nocobase/utils": "1.7.0-beta.1",
15
- "@nocobase/server": "1.7.0-beta.1",
16
- "@nocobase/data-source-manager": "1.7.0-beta.1",
13
+ "@nocobase/plugin-acl": "1.7.0-beta.11",
14
+ "@nocobase/utils": "1.7.0-beta.11",
15
+ "@nocobase/server": "1.7.0-beta.11",
16
+ "@nocobase/data-source-manager": "1.7.0-beta.11",
17
17
  "lodash": "4.17.21",
18
+ "@nocobase/acl": "1.7.0-beta.11",
18
19
  "@ant-design/icons": "5.6.1",
19
- "antd": "5.12.8",
20
+ "antd": "5.24.2",
20
21
  "react-router-dom": "6.28.1",
21
22
  "@formily/shared": "2.3.2",
22
23
  "react-i18next": "11.18.6",
23
24
  "@formily/react": "2.3.0",
24
25
  "@emotion/css": "11.13.0",
25
- "@nocobase/database": "1.7.0-beta.1",
26
- "@nocobase/acl": "1.7.0-beta.1",
26
+ "@nocobase/database": "1.7.0-beta.11",
27
27
  "sequelize": "6.35.2",
28
- "@nocobase/test": "1.7.0-beta.1",
29
- "@formily/antd-v5": "1.1.9",
28
+ "@nocobase/test": "1.7.0-beta.11",
29
+ "@formily/antd-v5": "1.2.3",
30
30
  "@formily/core": "2.3.0",
31
31
  "@formily/reactive": "2.3.0",
32
- "@dnd-kit/core": "6.1.0",
32
+ "@dnd-kit/core": "5.0.3",
33
33
  "antd-style": "3.7.1"
34
34
  };
@@ -0,0 +1,40 @@
1
+ {
2
+ "Data source name": "Datenquellname",
3
+ "Data source display name": "Anzeigename der Datenquelle",
4
+ "Host": "Host",
5
+ "Port": "Port",
6
+ "Database": "Datenbank",
7
+ "Data source manager": "Datenquellenverwaltung",
8
+ "Data sources": "Datenquellen",
9
+ "No external data source plugin installed": "Kein externes Datenquellen-Plugin installiert",
10
+ "View documentation": "Dokumentation anzeigen",
11
+ "Test Connection": "Verbindung testen",
12
+ "Connection successful": "Verbindung erfolgreich",
13
+ "Display name": "Anzeigename",
14
+ "Username": "Benutzername",
15
+ "Password": "Passwort",
16
+ "Type": "Typ",
17
+ "Description": "Beschreibung",
18
+ "Storage": "Speicher",
19
+ "Collections": "Sammlungen",
20
+ "Permissions": "Berechtigungen",
21
+ "Allow adding and modifying collection": "Hinzufügen und Ändern von Sammlungen erlauben",
22
+ "Unknown field type": "Unbekannter Feldtyp",
23
+ "The following field types are not compatible and do not support output and display": "Die folgenden Feldtypen sind nicht kompatibel und unterstützen keine Ausgabe und Anzeige",
24
+ "Field database type": "Felddatenbanktyp",
25
+ "Field interface": "Feldschnittstelle",
26
+ "Status": "Status",
27
+ "Loading": "Wird geladen",
28
+ "Failed": "Fehlgeschlagen",
29
+ "Loaded": "Geladen",
30
+ "Reloading": "Wird neu geladen",
31
+ "Data source synchronization in progress": "Datenquellensynchronisierung läuft",
32
+ "Data source synchronization successful": "Datenquellensynchronisierung erfolgreich",
33
+ "Filter target key": "Zielschlüssel filtern",
34
+ "Select field": "Feld auswählen",
35
+ "OK": "OK",
36
+ "Please select a field.": "Bitte wählen Sie ein Feld aus.",
37
+ "Are you sure you want to set the \"{{title}}\" field as a record unique key? This setting cannot be changed after it's been set.": "Sind Sie sicher, dass Sie das Feld \"{{title}}\" als eindeutigen Datensatzschlüssel festlegen möchten? Diese Einstellung kann nach dem Festlegen nicht mehr geändert werden.",
38
+ "If a collection lacks a primary key, you must configure a unique record key to locate row records within a block, failure to configure this will prevent the creation of data blocks for the collection.": "Wenn eine Sammlung keinen Primärschlüssel hat, müssen Sie einen eindeutigen Datensatzschlüssel konfigurieren, um Zeilendatensätze innerhalb eines Blocks zu lokalisieren. Wenn Sie dies nicht konfigurieren, wird die Erstellung von Datenblöcken für die Sammlung verhindert.",
39
+ "Filter data based on the specific field, with the requirement that the field value must be unique.": "Filtern Sie Daten basierend auf dem spezifischen Feld, mit der Anforderung, dass der Feldwert eindeutig sein muss."
40
+ }
@@ -0,0 +1,41 @@
1
+ {
2
+ "Data source name": "Databron naam",
3
+ "Data source display name": "Databron weergavenaam",
4
+ "Host": "Host",
5
+ "Port": "Poort",
6
+ "Database": "Database",
7
+ "Data source manager": "Databron manager",
8
+ "Data sources": "Databronnen",
9
+ "No external data source plugin installed": "Geen externe databron plugin geïnstalleerd",
10
+ "View documentation": "Bekijk documentatie",
11
+ "Test Connection": "Test verbinding",
12
+ "Connection successful": "Verbinding succesvol",
13
+ "Display name": "Weergavenaam",
14
+ "Username": "Gebruikersnaam",
15
+ "Password": "Wachtwoord",
16
+ "Type": "Type",
17
+ "Description": "Beschrijving",
18
+ "Storage": "Opslag",
19
+ "Collections": "Collecties",
20
+ "Permissions": "Rechten",
21
+ "Allow adding and modifying collection": "Toestaan toevoegen en wijzigen collectie",
22
+ "Unknown field type": "Onbekend veldtype",
23
+ "The following field types are not compatible and do not support output and display": "De volgende veldtypen zijn niet compatibel en ondersteunen geen uitvoer en weergave",
24
+ "Field database type": "Veld database type",
25
+ "Field interface": "Veld interface",
26
+ "Status": "Status",
27
+ "Loading": "Laden",
28
+ "Failed": "Mislukt",
29
+ "Loaded": "Geladen",
30
+ "Reloading": "Herladen",
31
+ "Data source synchronization in progress": "Databron synchronisatie in uitvoering",
32
+ "Data source synchronization successful": "Databron synchronisatie succesvol",
33
+ "Filter target key":"Filter doel sleutel",
34
+ "Select field": "Selecteer veld",
35
+ "OK": "OK",
36
+ "Please select a field.": "Selecteer een veld.",
37
+ "Are you sure you want to set the \"{{title}}\" field as a record unique key? This setting cannot be changed after it's been set.": "Weet je zeker dat je het veld \"{{title}}\" als een unieke sleutel wilt instellen? Deze instelling kan niet worden gewijzigd nadat deze is ingesteld.",
38
+ "If a collection lacks a primary key, you must configure a unique record key to locate row records within a block, failure to configure this will prevent the creation of data blocks for the collection.": "Als een collectie geen primaire sleutel heeft, moet je een unieke record sleutel configureren om rijrecords binnen een blok te lokaliseren, het niet configureren hiervan zal de creatie van datablokken voor de collectie voorkomen.",
39
+ "Filter data based on the specific field, with the requirement that the field value must be unique.": "Filter gegevens op basis van het specifieke veld, met de eis dat de veldwaarde uniek moet zijn."
40
+ }
41
+
@@ -130,7 +130,8 @@ class DataSourceModel extends import_database.Model {
130
130
  acl.setAvailableAction(actionName, actionParams);
131
131
  }
132
132
  acl.allow("*", "*", (ctx) => {
133
- return ctx.state.currentRole === "root";
133
+ var _a;
134
+ return (_a = ctx.state.currentRoles) == null ? void 0 : _a.includes("root");
134
135
  });
135
136
  dataSource.resourceManager.use(import_plugin_acl.setCurrentRole, { tag: "setCurrentRole", before: "acl", after: "auth" });
136
137
  await this.loadIntoACL({ app, acl, transaction: options.transaction });
@@ -54,6 +54,7 @@ var import_connections_roles_resources = require("./models/connections-roles-res
54
54
  var import_connections_roles_resources_action = require("./models/connections-roles-resources-action");
55
55
  var import_data_source = require("./models/data-source");
56
56
  var import_data_sources_roles_model = require("./models/data-sources-roles-model");
57
+ var import_acl = require("@nocobase/acl");
57
58
  const canRefreshStatus = ["loaded", "loading-failed", "reloading-failed"];
58
59
  class PluginDataSourceManagerServer extends import_server.Plugin {
59
60
  dataSourceErrors = {};
@@ -593,7 +594,7 @@ class PluginDataSourceManagerServer extends import_server.Plugin {
593
594
  await next();
594
595
  const { resourceName, actionName } = action.params;
595
596
  if (resourceName === "roles" && actionName == "check") {
596
- const roleName = ctx.state.currentRole;
597
+ const roleNames = ctx.state.currentRoles;
597
598
  const dataSources = await ctx.db.getRepository("dataSources").find();
598
599
  ctx.bodyMeta = {
599
600
  dataSources: dataSources.reduce((carry, dataSourceModel) => {
@@ -606,18 +607,8 @@ class PluginDataSourceManagerServer extends import_server.Plugin {
606
607
  return carry;
607
608
  }
608
609
  const aclInstance = dataSource.acl;
609
- const roleInstance = aclInstance.getRole(roleName);
610
- const dataObj = {
611
- strategy: {},
612
- resources: roleInstance ? [...roleInstance.resources.keys()] : [],
613
- actions: {}
614
- };
615
- if (roleInstance) {
616
- const data = roleInstance.toJSON();
617
- dataObj["name"] = data["name"];
618
- dataObj["strategy"] = data["strategy"];
619
- dataObj["actions"] = data["actions"];
620
- }
610
+ const roleInstances = aclInstance.getRoles(roleNames);
611
+ const dataObj = (0, import_acl.mergeRole)(roleInstances);
621
612
  carry[dataSourceModel.get("key")] = dataObj;
622
613
  return carry;
623
614
  }, {})
@@ -1,9 +1 @@
1
- /**
2
- * This file is part of the NocoBase (R) project.
3
- * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
- * Authors: NocoBase Team.
5
- *
6
- * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
- * For more information, please refer to: https://www.nocobase.com/agreement.
8
- */
9
1
  export declare function mergeOptions(fieldOptions: any, modelOptions: any): any;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nocobase/plugin-data-source-manager",
3
- "version": "1.7.0-beta.1",
3
+ "version": "1.7.0-beta.11",
4
4
  "main": "dist/server/index.js",
5
5
  "displayName": "Data source manager",
6
6
  "displayName.zh-CN": "数据源管理",
@@ -17,5 +17,5 @@
17
17
  "keywords": [
18
18
  "Data model tools"
19
19
  ],
20
- "gitHead": "374a1bc60b3d55fd8b532a57c8fe0423eed1d11e"
20
+ "gitHead": "a5227915c2ef65501965dbff8be0e0f51039296e"
21
21
  }
@@ -1,10 +0,0 @@
1
- /**
2
- * This file is part of the NocoBase (R) project.
3
- * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
- * Authors: NocoBase Team.
5
- *
6
- * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
- * For more information, please refer to: https://www.nocobase.com/agreement.
8
- */
9
-
10
- "use strict";(self.webpackChunk_nocobase_plugin_data_source_manager=self.webpackChunk_nocobase_plugin_data_source_manager||[]).push([["630"],{994:function(e,t,n){n.r(t),n.d(t,{CurrentRolesContext:function(){return ei},DataSourcePermissionManager:function(){return el}});var r,o,a,c,i=n("875"),l=n("772"),u=n("721"),s=n("156"),p=n.n(s),m=n("60"),d=n("238");function f(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function y(e,t,n,r,o,a,c){try{var i=e[a](c),l=i.value}catch(e){n(e);return}i.done?t(l):Promise.resolve(l).then(r,o)}function b(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){var r,o,a;r=e,o=t,a=n[t],o in r?Object.defineProperty(r,o,{value:a,enumerable:!0,configurable:!0,writable:!0}):r[o]=a})}return e}var v=(0,s.createContext)(null);v.displayName="PermissionContext";var x=function(e){var t,n,r,o,a=(0,l.useAPIClient)(),c=(0,l.useRecord)(),i=(0,d.useTranslation)().t,m=(0,s.useContext)(ei),x=m.snippets;null==x||x.forEach(function(e){m[e]=!0});var g=(t=(0,s.useState)(m),n=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n,r,o=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var a=[],c=!0,i=!1;try{for(o=o.call(e);!(c=(n=o.next()).done)&&(a.push(n.value),!t||a.length!==t);c=!0);}catch(e){i=!0,r=e}finally{try{!c&&null!=o.return&&o.return()}finally{if(i)throw r}}return a}}(t,2)||function(e,t){if(e){if("string"==typeof e)return f(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return f(e,t)}}(t,n)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),h=g[0],O=g[1];return(0,s.useEffect)(function(){O(m)},[m]),p().createElement(v.Provider,{value:{currentDataSource:c,currentRecord:h,update:(o=(r=function(e,t){return function(e,t){var n,r,o,a,c={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return a={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function i(a){return function(i){return function(a){if(n)throw TypeError("Generator is already executing.");for(;c;)try{if(n=1,r&&(o=2&a[0]?r.return:a[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,a[1])).done)return o;switch(r=0,o&&(a=[2&a[0],o.value]),a[0]){case 0:case 1:o=a;break;case 4:return c.label++,{value:a[1],done:!1};case 5:c.label++,r=a[1],a=[0];continue;case 7:a=c.ops.pop(),c.trys.pop();continue;default:if(!(o=(o=c.trys).length>0&&o[o.length-1])&&(6===a[0]||2===a[0])){c=0;continue}if(3===a[0]&&(!o||a[1]>o[0]&&a[1]<o[3])){c.label=a[1];break}if(6===a[0]&&c.label<o[1]){c.label=o[1],o=a;break}if(o&&c.label<o[2]){c.label=o[2],c.ops.push(a);break}o[2]&&c.ops.pop(),c.trys.pop();continue}a=t.call(e,c)}catch(e){a=[6,e],r=0}finally{n=o=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,i])}}}(this,function(e){switch(e.label){case 0:return[4,a.request({url:"dataSources/".concat(c.key,"/roles:update"),data:t.values,method:"post",params:{filterByTk:t.values.roleName}})];case 1:return e.sent(),O(b({},h,t.values)),u.message.success(i("Saved successfully")),[2]}})},function(){var e=this,t=arguments;return new Promise(function(n,o){var a=r.apply(e,t);function c(e){y(a,n,o,c,i,"next",e)}function i(e){y(a,n,o,c,i,"throw",e)}c(void 0)})}),function(e,t){return o.apply(this,arguments)})}},e.children)},g=function(e){var t=(0,s.useContext)(ei),n=(0,l.useRecord)();return p().createElement(l.RecordContext_deprecated.Provider,{value:b({},t)},p().createElement(l.SchemaComponentOptions,{scope:{dataSourceKey:n.key}},e.children))},h=n("505");function O(e,t,n,r,o,a,c){try{var i=e[a](c),l=i.value}catch(e){n(e);return}i.done?t(l):Promise.resolve(l).then(r,o)}function S(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var C={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:(S(c={},(0,i.uid)(),{type:"void","x-component":"ActionBar","x-component-props":{style:{marginBottom:16}},properties:{filter:{type:"void",title:'{{ t("Filter") }}',default:{$and:[{title:{$includes:""}},{name:{$includes:""}}]},"x-action":"filter","x-component":"Filter.Action","x-use-component-props":"cm.useFilterActionProps","x-component-props":{icon:"FilterOutlined"},"x-align":"left"}}}),S(c,"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:function(e){var t,n,r=(0,l.useRecord)(),o=(0,l.useActionContext)().visible,a=(0,s.useContext)(v).currentDataSource;var c=(0,l.useRequest)({resource:"roles.dataSourceResources",resourceOf:r.roleName,action:"get",params:{appends:["actions","actions.scope"],filterByTk:r.name,filter:{dataSourceKey:a.key,name:r.name}}},(t=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){var r,o,a;r=e,o=t,a=n[t],o in r?Object.defineProperty(r,o,{value:a,enumerable:!0,configurable:!0,writable:!0}):r[o]=a})}return e}({},e),n=(n={manual:!0},n),Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):(function(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n.push.apply(n,r)}return n})(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}),t));return(0,s.useEffect)(function(){if(!r.exists){e.onSuccess({data:{}});return}o&&c.run()},[o,r.exists]),c}},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:function(){var e=(0,h.useForm)(),t=(0,l.useAPIClient)(),n=(0,l.useRecord)(),r=(0,l.useActionContext)(),o=(0,l.useResourceActionContext)().refresh,a=(0,s.useContext)(v).currentDataSource;return{run:function(){var c;return(c=function(){return function(e,t){var n,r,o,a,c={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return a={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function i(a){return function(i){return function(a){if(n)throw TypeError("Generator is already executing.");for(;c;)try{if(n=1,r&&(o=2&a[0]?r.return:a[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,a[1])).done)return o;switch(r=0,o&&(a=[2&a[0],o.value]),a[0]){case 0:case 1:o=a;break;case 4:return c.label++,{value:a[1],done:!1};case 5:c.label++,r=a[1],a=[0];continue;case 7:a=c.ops.pop(),c.trys.pop();continue;default:if(!(o=(o=c.trys).length>0&&o[o.length-1])&&(6===a[0]||2===a[0])){c=0;continue}if(3===a[0]&&(!o||a[1]>o[0]&&a[1]<o[3])){c.label=a[1];break}if(6===a[0]&&c.label<o[1]){c.label=o[1],o=a;break}if(o&&c.label<o[2]){c.label=o[2],c.ops.push(a);break}o[2]&&c.ops.pop(),c.trys.pop();continue}a=t.call(e,c)}catch(e){a=[6,e],r=0}finally{n=o=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,i])}}}(this,function(c){switch(c.label){case 0:var i,l;return[4,t.resource("roles.dataSourceResources",n.roleName)[n.exists?"update":"create"]({filterByTk:n.name,filter:{dataSourceKey:a.key,name:n.name},values:(i=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){var r,o,a;r=e,o=t,a=n[t],o in r?Object.defineProperty(r,o,{value:a,enumerable:!0,configurable:!0,writable:!0}):r[o]=a})}return e}({},e.values),l=null!=(l={name:n.name,dataSourceKey:a.key})?l:{},Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(l)):(function(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n.push.apply(n,r)}return n})(Object(l)).forEach(function(e){Object.defineProperty(i,e,Object.getOwnPropertyDescriptor(l,e))}),i)})];case 1:return c.sent(),r.setVisible(!1),o(),[2]}})},function(){var e=this,t=arguments;return new Promise(function(n,r){var o=c.apply(e,t);function a(e){O(o,n,r,a,i,"next",e)}function i(e){O(o,n,r,a,i,"throw",e)}a(void 0)})})()}}}}}}}}}}}}}}}}}),c)}}},P={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}}]},w=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{type:"object",properties:{block1:{type:"void","x-decorator":"ResourceActionProvider","x-decorator-props":{collection:P,resourceName:"dataSources",request:{resource:"dataSources",action:"list",params:{pageSize:50,showAnonymous:!0,appends:[]}}},"x-component":"CollectionProvider_deprecated","x-component-props":{collection:P},properties:{actions:{type:"void","x-component":"ActionBar","x-component-props":{style:{marginBottom:16}},properties:{}},table:{type:"void","x-uid":"input","x-component":"Table.Void","x-component-props":{rowKey:"key",rowSelection:{type:"checkbox"},useDataSource:"{{ cm.useDataSourceFromRAC }}"},properties:{column1:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",properties:{displayName:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}},column2:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",properties:{key:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}},column4:{type:"void",title:'{{t("Actions")}}',"x-component":"Table.Column",properties:{actions:{type:"void","x-component":"Space","x-component-props":{split:"|"},properties:{view:{type:"void",title:'{{t("Configure")}}',"x-component":"Action.Link","x-decorator":"ACLActionProvider","x-acl-action":"roles:update","x-component-props":{},properties:{drawer:{type:"void","x-component":"Action.Drawer","x-decorator":"PermissionProvider",title:'{{t("Configure permissions")}}',properties:{tabs1:{type:"void","x-component":"Tabs","x-component-props":{},properties:function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){var r,o,a;r=e,o=t,a=n[t],o in r?Object.defineProperty(r,o,{value:a,enumerable:!0,configurable:!0,writable:!0}):r[o]=a})}return e}({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:C}}},e)}}}}}}}}}}}}}}}},j=(0,s.createContext)([]);j.displayName="AvailableActionsContext";var A=function(e){var t=(0,l.useRequest)({resource:"availableActions",action:"list"}),n=t.data;return t.loading?p().createElement(u.Spin,null):p().createElement(j.Provider,{value:null==n?void 0:n.data},e.children)},E=function(){return(0,s.useContext)(j)},k={designable:!1},R=function(){var e=(0,l.useRecord)(),t=(0,l.usePlugin)(m.default);return p().createElement("div",null,p().createElement(l.SchemaComponentContext.Provider,{value:k},p().createElement(A,null,p().createElement(l.SchemaComponent,{schema:w(t.getExtendedTabs()),components:{SettingCenterPermissionProvider:l.SettingCenterPermissionProvider,PermissionProvider:x},scope:{dataSourceKey:e.key}}))))},T=n("563");function D(e,t,n,r,o,a,c){try{var i=e[a](c),l=i.value}catch(e){n(e);return}i.done?t(l):Promise.resolve(l).then(r,o)}var F=function(){var e=(0,s.useContext)(v).update,t=(0,d.useTranslation)().t,n=(0,l.useRecord)().key;return p().createElement(l.SchemaComponent,{schema:{type:"void",name:"form","x-component":"Form","x-component-props":{useValues:function(e){var t=(0,l.useAPIClient)(),r=(0,s.useContext)(ei);return(0,l.useRequest)(function(){return t.resource("dataSources/".concat(n,"/roles")).get({filterByTk:r.name}).then(function(e){var t,n,r=null==e?void 0:null===(t=e.data)||void 0===t?void 0:t.data;return null===(n=r.snippets)||void 0===n||n.forEach(function(e){r[e]=!0}),{data:r}})},e)},effects:function(){var t,n;(0,T.onFieldChange)("*",(n=(t=function(t,n){return function(e,t){var n,r,o,a,c={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return a={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function i(a){return function(i){return function(a){if(n)throw TypeError("Generator is already executing.");for(;c;)try{if(n=1,r&&(o=2&a[0]?r.return:a[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,a[1])).done)return o;switch(r=0,o&&(a=[2&a[0],o.value]),a[0]){case 0:case 1:o=a;break;case 4:return c.label++,{value:a[1],done:!1};case 5:c.label++,r=a[1],a=[0];continue;case 7:a=c.ops.pop(),c.trys.pop();continue;default:if(!(o=(o=c.trys).length>0&&o[o.length-1])&&(6===a[0]||2===a[0])){c=0;continue}if(3===a[0]&&(!o||a[1]>o[0]&&a[1]<o[3])){c.label=a[1];break}if(6===a[0]&&c.label<o[1]){c.label=o[1],o=a;break}if(o&&c.label<o[2]){c.label=o[2],c.ops.push(a);break}o[2]&&c.ops.pop(),c.trys.pop();continue}a=t.call(e,c)}catch(e){a=[6,e],r=0}finally{n=o=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,i])}}}(this,function(r){switch(r.label){case 0:if(!n.modified)return[2];return[4,e(t,n)];case 1:return r.sent(),[2]}})},function(){var e=this,n=arguments;return new Promise(function(r,o){var a=t.apply(e,n);function c(e){D(a,r,o,c,i,"next",e)}function i(e){D(a,r,o,c,i,"throw",e)}c(void 0)})}),function(e,t){return n.apply(this,arguments)}))}},properties:{"strategy.actions":{description:t("All collections use general action permissions by default; permission configured individually will override the default one."),"x-component":"StrategyActions"}}}})},I=n("632"),N=n("467"),K=n("202");function B(){var e,t,n=(e=["\n .ant-table-cell {\n > .ant-space-horizontal {\n .ant-space-item-split:has(+ .ant-space-item:empty) {\n display: none;\n }\n }\n }\n "],!t&&(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}})));return B=function(){return n},n}var V=(0,K.createStyles)(function(e){return(0,e.css)(B())});function M(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){var r,o,a;r=e,o=t,a=n[t],o in r?Object.defineProperty(r,o,{value:a,enumerable:!0,configurable:!0,writable:!0}):r[o]=a})}return e}function _(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n.push.apply(n,r)}return n})(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}var q=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"main";return{name:"dataSources/".concat(e,"/rolesResourcesScopes"),fields:[{type:"string",name:"name",interface:"input",uiSchema:{title:'{{t("Scope name")}}',type:"string","x-component":"Input",required:!0}}]}},z=function(){var e=(0,s.useContext)(ee).name,t=(0,l.useFormBlockContext)();return(0,s.useEffect)(function(){t.form.setInitialValues({resourceName:e})},[e]),{form:t.form}},$=function(e){var t=((0,l.useCollectionRecord)().data||{}).id,n=_(M({},e),{disabled:[1,2].includes(t)});return p().createElement(l.Action.Link,n)},L=function(e){var t=((0,l.useCollectionRecord)().data||{}).id,n=_(M({},e,(0,l.useDestroyActionProps)()),{disabled:[1,2].includes(t)});return p().createElement(l.Action.Link,n)},G=function(e){var t=q(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/".concat(e,"/rolesResourcesScopes"),action:"list",params:{pageSize:20},useParams:function(){return{filter:{$or:[{resourceName:(0,s.useContext)(ee).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/".concat(e,"/rolesResourcesScopes"),collection:t},"x-component":"CardItem",properties:{form:{type:"void","x-component":"FormV2","x-use-component-props":z,properties:{name:{type:"string","x-component":"CollectionField","x-decorator":"FormItem"},scope:{type:"object",title:'{{t("Data scope")}}',name:"filter","x-decorator":"FormItem","x-component":(0,l.withDynamicSchemaProps)(function(e){return p().createElement(l.FlagProvider,{isVariableParsedInOtherContext:!0},p().createElement(l.Filter,e))}),"x-use-component-props":function(){var e=(0,s.useContext)(ee);return{options:(0,l.useFilterFieldOptions)(e.fields)}},"x-component-props":{dynamicComponent:l.VariableInput}},actions:{type:"void","x-component":"ActionBar","x-component-props":{layout:"one-column",style:{marginTop:24}},properties:{create:{title:'{{ t("Submit") }}',"x-action":"submit","x-component":"Action","x-use-component-props":"useCreateActionProps","x-component-props":{type:"primary",htmlType:"submit"}}}}}}}}}}}}}},value:{type:"array","x-component":"TableV2.Selector","x-use-component-props":"useTableSelectorProps","x-component-props":{rowKey:"id",rowSelection:{type:"checkbox"}},properties:{column1:{type:"void","x-decorator":"TableV2.Column.Decorator","x-component":"TableV2.Column",properties:{name:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}},actions:{type:"void",title:'{{ t("Actions") }}',"x-action-column":"actions","x-component":"TableV2.Column",properties:{actions:{type:"void","x-decorator":"DndContext","x-component":"Space","x-component-props":{split:"|"},properties:{edit:{type:"void",title:'{{ t("Edit") }}',"x-action":"update","x-decorator":"ACLActionProvider","x-component":$,"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/".concat(e,"/rolesResourcesScopes"),collection:t,action:"get",useParams:"{{ useParamsFromRecord }}"},"x-component":"CardItem",properties:{form:{type:"void","x-component":"FormV2","x-use-component-props":"useFormBlockProps",properties:{name:{type:"string","x-component":"CollectionField","x-decorator":"FormItem"},scope:{type:"object",title:'{{t("Data scope")}}',name:"filter","x-decorator":"FormItem","x-component":(0,l.withDynamicSchemaProps)(function(e){return p().createElement(l.FlagProvider,{isVariableParsedInOtherContext:!0},p().createElement(l.Filter,e))}),"x-use-component-props":function(){var e=(0,s.useContext)(ee);return{options:(0,l.useFilterFieldOptions)(e.fields)}},"x-component-props":{dynamicComponent:l.VariableInput}},actions:{type:"void","x-component":"ActionBar","x-component-props":{layout:"one-column",style:{marginTop:24}},properties:{update:{title:'{{ t("Submit") }}',"x-action":"submit","x-component":"Action","x-use-component-props":"useUpdateActionProps","x-component-props":{type:"primary",htmlType:"submit"}}}}}}}}}}}},destroy:{title:'{{ t("Delete") }}',"x-action":"destroy","x-decorator":"ACLActionProvider","x-component-props":{icon:"DeleteOutlined",confirm:{title:"{{t('Delete record')}}",content:"{{t('Are you sure you want to delete it?')}}"}},"x-component":L}}}}}}}}},footer:{"x-component":"Action.Container.Footer","x-component-props":{},properties:{actions:{type:"void","x-component":"ActionBar","x-component-props":{},properties:{submit:{title:'{{ t("Submit") }}',"x-action":"submit","x-component":"Action","x-use-component-props":"usePickActionProps","x-component-props":{type:"primary",htmlType:"submit"}}}}}}}}}}}}};function U(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var W=(0,s.createContext)(null);W.displayName="RolesResourcesScopesSelectedRowKeysContext";var H=function(e){var t,n,r=(t=(0,s.useState)([]),n=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n,r,o=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var a=[],c=!0,i=!1;try{for(o=o.call(e);!(c=(n=o.next()).done)&&(a.push(n.value),!t||a.length!==t);c=!0);}catch(e){i=!0,r=e}finally{try{!c&&null!=o.return&&o.return()}finally{if(i)throw r}}return a}}(t,2)||function(e,t){if(e){if("string"==typeof e)return U(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return U(e,t)}}(t,n)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),o=r[0],a=r[1];return p().createElement(W.Provider,{value:[o,a]},e.children)},J=function(e){var t,n=(0,s.useMemo)(function(){return(0,T.createForm)({values:{scope:e.value}})},[]),r=G(((null===(t=(0,l.useCollectionRecord)())||void 0===t?void 0:t.parentRecord.data)||{}).key);return p().createElement(l.FormProvider,{form:n},p().createElement(l.SchemaComponent,{components:{RolesResourcesScopesSelectedRowKeysProvider:H},scope:{onChange:function(t){var n;null==e||null===(n=e.onChange)||void 0===n||n.call(e,t)}},schema:r}))};function Q(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function X(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){var r,o,a;r=e,o=t,a=n[t],o in r?Object.defineProperty(r,o,{value:a,enumerable:!0,configurable:!0,writable:!0}):r[o]=a})}return e}function Y(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n.push.apply(n,r)}return n})(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}var Z=function(e){var t,n={};return null==e||null===(t=e.forEach)||void 0===t||t.call(e,function(e){e.name&&(n[e.name]=e,n[e.name].scope=(0,N.isEmpty)(e.scope)?null:e.scope)}),n},ee=(0,s.createContext)({});ee.displayName="RoleResourceCollectionContext";var et=(0,h.connect)(function(e){var t,n=V().styles,r=function(t){var n=t.map(function(e){return Y(X({},e),{scope:(0,N.isEmpty)(e.scope)?null:e.scope})});e.onChange(n)},o=(0,l.useRecord)(),a=E(),c=o.fields,i=(0,l.useCompile)(),s=(0,d.useTranslation)().t,m=Z((0,h.useField)().value||[]),f=function(e,t){var n,r=null==m?void 0:m[e];return!!r&&(null==r?void 0:null===(n=r.fields)||void 0===n?void 0:n.includes(t))},y=a.filter(function(e){return e.allowConfigureFields}),b=null==c?void 0:c.map(function(e){var t=X({},e),n=!0,r=!1,o=void 0;try{for(var a,c=y[Symbol.iterator]();!(n=(a=c.next()).done);n=!0){var i=a.value;t[i.name]=f(i.name,e.name)}}catch(e){r=!0,o=e}finally{try{!n&&null!=c.return&&c.return()}finally{if(r)throw o}}return t}),v=function(e){if(m[e])delete m[e];else{var t;m[e]={name:e,fields:null==c?void 0:null===(t=c.map)||void 0===t?void 0:t.call(c,function(e){return e.name})}}r(Object.values(m))},x=function(e,t){m[e]||v(e),m[e].scope=t,r(Object.values(m))},g={},O=!0,S=!1,C=void 0;try{for(var P,w=y[Symbol.iterator]();!(O=(P=w.next()).done);O=!0){var j,A,k=P.value;g[k.name]=(null==c?void 0:c.length)===(null==m?void 0:null===(A=m[k.name])||void 0===A?void 0:null===(j=A.fields)||void 0===j?void 0:j.length)}}catch(e){S=!0,C=e}finally{try{!O&&null!=w.return&&w.return()}finally{if(S)throw C}}return p().createElement("div",null,p().createElement(ee.Provider,{value:o},p().createElement(I.FormLayout,{layout:"vertical"},p().createElement(I.FormItem,{label:s("Action permission")},p().createElement(u.Table,{className:n,size:"small",pagination:!1,columns:[{dataIndex:"displayName",title:s("Action display name"),render:function(e){return i(e)}},{dataIndex:"onNewRecord",title:s("Action type"),render:function(e){return e?p().createElement(u.Tag,{color:"green"},s("Action on new records")):p().createElement(u.Tag,{color:"geekblue"},s("Action on existing records"))}},{dataIndex:"enabled",title:s("Allow"),render:function(e,t){return p().createElement(u.Checkbox,{checked:e,onChange:function(){v(t.name)}})}},{dataIndex:"scope",title:s("Data scope"),render:function(e,t){return!t.onNewRecord&&p().createElement(J,{value:e,onChange:function(e){x(t.name,e)}})}}],dataSource:null==a?void 0:a.map(function(e){var t=!1,n=null;return m[e.name]&&(t=!0,!e.onNewRecord&&(n=m[e.name].scope)),Y(X({},e),{enabled:t,scope:n})})})),p().createElement(I.FormItem,{label:s("Field permission")},p().createElement(u.Table,{className:n,pagination:!1,dataSource:b,columns:[{dataIndex:["uiSchema","title"],title:s("Field display name"),render:function(e,t){return i(e)||t.name}}].concat(function(e){if(Array.isArray(e))return Q(e)}(t=y.map(function(e){var t=null==g?void 0:g[e.name];return{dataIndex:e.name,title:p().createElement(p().Fragment,null,p().createElement(u.Checkbox,{checked:t,onChange:function(){var n,o=m[e.name]||{name:e.name};t?o.fields=[]:o.fields=null==c?void 0:null===(n=c.map)||void 0===n?void 0:n.call(c,function(e){return e.name}),m[e.name]=o,r(Object.values(m))}}),i(e.displayName)),render:function(t,n){return p().createElement(u.Checkbox,{checked:t,onChange:function(){var o=m[e.name]||{name:e.name},a=o.fields||[];if(t){var c=a.indexOf(n.name);a.splice(c,1)}else a.push(n.name);o.fields=a,m[e.name]=o,r(Object.values(m))}})}}}))||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(t)||function(e,t){if(e){if("string"==typeof e)return Q(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Q(e,t)}}(t)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}())})))))});function en(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var er=function(e){if(!e)return{};var t,n={};return null==e||null===(t=e.forEach)||void 0===t||t.call(e,function(e){var t,r,o=(t=e.split(":"),r=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n,r,o=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var a=[],c=!0,i=!1;try{for(o=o.call(e);!(c=(n=o.next()).done)&&(a.push(n.value),!t||a.length!==t);c=!0);}catch(e){i=!0,r=e}finally{try{!c&&null!=o.return&&o.return()}finally{if(i)throw r}}return a}}(t,2)||function(e,t){if(e){if("string"==typeof e)return en(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return en(e,t)}}(t,r)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),a=o[0],c=o[1];n[a]=c||"all"}),n},eo=function(e){var t=[];for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){var r=e[n];"all"===r?t.push(n):t.push("".concat(n,":").concat(r))}return t},ea=(0,h.connect)(function(e){var t=e.onChange,n=E(),r=(0,l.useCompile)(),o=(0,d.useTranslation)().t,a=er((0,h.useField)().value);return p().createElement("div",null,p().createElement(u.Table,{size:"small",pagination:!1,rowKey:"name",columns:[{dataIndex:"displayName",title:o("Action display name"),render:function(e){return r(e)}},{dataIndex:"onNewRecord",title:o("Action type"),render:function(e){return e?p().createElement(u.Tag,{color:"green"},o("Action on new records")):p().createElement(u.Tag,{color:"geekblue"},o("Action on existing records"))}},{dataIndex:"enabled",title:o("Allow"),render:function(e,n){return p().createElement(u.Checkbox,{checked:e,onChange:function(r){e?delete a[n.name]:a[n.name]="all",t(eo(a))}})}},{dataIndex:"scope",title:o("Data scope"),render:function(e,n){return!n.onNewRecord&&p().createElement(u.Select,{"data-testid":"select-data-scope",popupMatchSelectWidth:!1,size:"small",value:e,options:[{label:o("All records"),value:"all"},{label:o("Own records"),value:"own"}],onChange:function(e){a[n.name]=e,t(eo(a))}})}}],dataSource:null==n?void 0:n.map(function(e){var t,n,r="all",o=!1;return a[e.name]&&(o=!0,r=a[e.name]),t=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){var r,o,a;r=e,o=t,a=n[t],o in r?Object.defineProperty(r,o,{value:a,enumerable:!0,configurable:!0,writable:!0}):r[o]=a})}return e}({},e),n=(n={enabled:o,scope:r},n),Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):(function(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n.push.apply(n,r)}return n})(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}),t})}))});var ec={type:"object",properties:(r={},o=(0,i.uid)(),a={"x-component":"DataSourceTable"},o in r?Object.defineProperty(r,o,{value:a,enumerable:!0,configurable:!0,writable:!0}):r[o]=a,r)},ei=(0,s.createContext)({});ei.displayName="CurrentRolesContext";var el=function(e){var t=e.role;return p().createElement(u.Card,{"data-testid":"acl-pane-card",bordered:!1},p().createElement(ei.Provider,{value:t},p().createElement(l.SchemaComponent,{components:{MenuConfigure:l.MenuConfigure,RoleConfigure:F,RolesResourcesActions:et,DataSourceTable:R,StrategyActions:ea,SettingsCenterConfigure:l.SettingsCenterConfigure,SettingCenterProvider:l.SettingCenterProvider,ResourceActionProvider:l.ResourceActionProvider,RoleRecordProvider:g},schema:ec})))}}}]);