@nocobase/plugin-acl 2.2.0-beta.2 → 2.2.0-beta.3

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.
@@ -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_acl_client_v2=self.webpackChunk_nocobase_plugin_acl_client_v2||[]).push([["532"],{407:function(e,t,n){n.r(t),n.d(t,{default:function(){return M}});var r=n(477),a=n(375),l=n(485),o=n(694),i=n(625),u=n(59),c=n(155),s=n.n(c);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 m(e,t,n,r,a,l,o){try{var i=e[l](o),u=i.value}catch(e){n(e);return}i.done?t(u):Promise.resolve(u).then(r,a)}function d(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,a=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var l=[],o=!0,i=!1;try{for(a=a.call(e);!(o=(n=a.next()).done)&&(l.push(n.value),!t||l.length!==t);o=!0);}catch(e){i=!0,r=e}finally{try{o||null==a.return||a.return()}finally{if(i)throw r}}return l}}(e,t)||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)}}(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 p(e){var t,n=d(u.Form.useForm(),1)[0],r=null!=(t=e.form)?t:n,a=d((0,c.useState)(!1),2),o=a[0],f=a[1];(0,c.useEffect)(function(){var t;r.resetFields(),r.setFieldsValue(null!=(t=e.initialValues)?t:{})},[r,e.initialValues]);var p=(0,i.useMemoizedFn)(function(){var t;return(t=function(){var t,n;return function(e,t){var n,r,a,l={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},o=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),i=Object.defineProperty;return i(o,"next",{value:u(0)}),i(o,"throw",{value:u(1)}),i(o,"return",{value:u(2)}),"function"==typeof Symbol&&i(o,Symbol.iterator,{value:function(){return this}}),o;function u(i){return function(u){var c=[i,u];if(n)throw TypeError("Generator is already executing.");for(;o&&(o=0,c[0]&&(l=0)),l;)try{if(n=1,r&&(a=2&c[0]?r.return:c[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,c[1])).done)return a;switch(r=0,a&&(c=[2&c[0],a.value]),c[0]){case 0:case 1:a=c;break;case 4:return l.label++,{value:c[1],done:!1};case 5:l.label++,r=c[1],c=[0];continue;case 7:c=l.ops.pop(),l.trys.pop();continue;default:if(!(a=(a=l.trys).length>0&&a[a.length-1])&&(6===c[0]||2===c[0])){l=0;continue}if(3===c[0]&&(!a||c[1]>a[0]&&c[1]<a[3])){l.label=c[1];break}if(6===c[0]&&l.label<a[1]){l.label=a[1],a=c;break}if(a&&l.label<a[2]){l.label=a[2],l.ops.push(c);break}a[2]&&l.ops.pop(),l.trys.pop();continue}c=t.call(e,l)}catch(e){c=[6,e],r=0}finally{n=a=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}(this,function(a){switch(a.label){case 0:return[4,r.validateFields()];case 1:t=a.sent(),f(!0),a.label=2;case 2:return a.trys.push([2,,5,6]),[4,e.onSubmit(t,r)];case 3:return a.sent(),[4,null==(n=e.onSubmitted)?void 0:n.call(e,t)];case 4:return a.sent(),[3,6];case 5:return f(!1),[7];case 6:return[2]}})},function(){var e=this,n=arguments;return new Promise(function(r,a){var l=t.apply(e,n);function o(e){m(l,r,a,o,i,"next",e)}function i(e){m(l,r,a,o,i,"throw",e)}o(void 0)})})()});return s().createElement(l.DrawerFormLayout,{title:e.title,onSubmit:p,submitting:o,submitText:e.submitText,cancelText:e.cancelText,footer:e.footer},s().createElement(u.Form,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;r=n[t],t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r})}return e}({form:r,layout:"vertical"},e.formProps),"function"==typeof e.children?e.children({form:r,submitting:o}):e.children))}var b=n(488),y=n(667);function h(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 v(e,t,n,r,a,l,o){try{var i=e[l](o),u=i.value}catch(e){n(e);return}i.done?t(u):Promise.resolve(u).then(r,a)}function g(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){v(l,r,a,o,i,"next",e)}function i(e){v(l,r,a,o,i,"throw",e)}o(void 0)})}}function w(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;r=n[t],t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r})}return e}function E(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,a=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var l=[],o=!0,i=!1;try{for(a=a.call(e);!(o=(n=a.next()).done)&&(l.push(n.value),!t||l.length!==t);o=!0);}catch(e){i=!0,r=e}finally{try{o||null==a.return||a.return()}finally{if(i)throw r}}return l}}(e,t)||x(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 S(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function x(e,t){if(e){if("string"==typeof e)return h(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 h(e,t)}}function k(e,t){var n,r,a,l={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},o=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),i=Object.defineProperty;return i(o,"next",{value:u(0)}),i(o,"throw",{value:u(1)}),i(o,"return",{value:u(2)}),"function"==typeof Symbol&&i(o,Symbol.iterator,{value:function(){return this}}),o;function u(i){return function(u){var c=[i,u];if(n)throw TypeError("Generator is already executing.");for(;o&&(o=0,c[0]&&(l=0)),l;)try{if(n=1,r&&(a=2&c[0]?r.return:c[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,c[1])).done)return a;switch(r=0,a&&(c=[2&c[0],a.value]),c[0]){case 0:case 1:a=c;break;case 4:return l.label++,{value:c[1],done:!1};case 5:l.label++,r=c[1],c=[0];continue;case 7:c=l.ops.pop(),l.trys.pop();continue;default:if(!(a=(a=l.trys).length>0&&a[a.length-1])&&(6===c[0]||2===c[0])){l=0;continue}if(3===c[0]&&(!a||c[1]>a[0]&&c[1]<a[3])){l.label=c[1];break}if(6===c[0]&&l.label<a[1]){l.label=a[1],a=c;break}if(a&&l.label<a[2]){l.label=a[2],l.ops.push(c);break}a[2]&&l.ops.pop(),l.trys.pop();continue}c=t.call(e,l)}catch(e){c=[6,e],r=0}finally{n=a=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}function O(){var e=S(["\n height: 100%;\n min-height: 0;\n\n > .ant-card-body {\n height: 100%;\n min-height: 0;\n overflow: hidden;\n }\n "]);return O=function(){return e},e}function j(){var e=S(["\n &.acl-role-tabs > .ant-tabs-nav {\n margin-bottom: ","px;\n }\n\n &.acl-role-tabs,\n &.acl-role-tabs > .ant-tabs-content-holder,\n &.acl-role-tabs > .ant-tabs-content-holder > .ant-tabs-content,\n &.acl-role-tabs > .ant-tabs-content-holder > .ant-tabs-content > .ant-tabs-tabpane {\n min-height: 0;\n }\n\n &.acl-role-tabs {\n height: 100%;\n display: flex;\n flex-direction: column;\n }\n\n &.acl-role-tabs > .ant-tabs-nav {\n flex: none;\n }\n\n &.acl-role-tabs > .ant-tabs-content-holder {\n flex: 1;\n min-height: 0;\n overflow: hidden;\n }\n\n &.acl-role-tabs > .ant-tabs-content-holder > .ant-tabs-content,\n &.acl-role-tabs > .ant-tabs-content-holder > .ant-tabs-content > .ant-tabs-tabpane {\n height: 100%;\n min-height: 0;\n }\n\n &.acl-role-tabs > .ant-tabs-content-holder > .ant-tabs-content > .ant-tabs-tabpane {\n overflow: hidden;\n padding: 0;\n }\n "]);return j=function(){return e},e}function C(){var e=S(["\n height: 100%;\n min-height: 0;\n display: flex;\n flex-direction: column;\n\n > .ant-tabs-nav {\n flex: none;\n }\n\n > .ant-tabs-content-holder {\n flex: 1;\n min-height: 0;\n overflow: hidden;\n }\n\n > .ant-tabs-content-holder > .ant-tabs-content,\n > .ant-tabs-content-holder > .ant-tabs-content > .ant-tabs-tabpane {\n height: 100%;\n min-height: 0;\n }\n\n > .ant-tabs-content-holder > .ant-tabs-content > .ant-tabs-tabpane {\n overflow: hidden;\n padding: 0;\n }\n "]);return C=function(){return e},e}function I(e,t,n){var r=e.get(t);if((null==r?void 0:r.loader)===n)return r.Component;var a=(0,c.lazy)(n);return e.set(t,{loader:n,Component:a}),a}function A(e){var t,n=(0,o.useFlowContext)(),r=(0,b.kj)(),a=!!e.role;return s().createElement(p,{title:a?r("Edit role"):r("New role"),initialValues:e.role?{title:e.role.title,name:e.role.name,default:e.role.default}:{name:(0,o.randomId)("r_"),default:!1},submitText:r("Submit"),cancelText:r("Cancel"),onSubmit:function(t){return g(function(){var r,l,o,i;return k(this,function(u){switch(u.label){case 0:if(!(a&&(null==(r=e.role)?void 0:r.name)))return[3,2];return[4,n.api.resource("roles").update({filterByTk:e.role.name,values:t})];case 1:return i=u.sent(),e.onRoleChange(null!=(l=null==i||null==(o=i.data)?void 0:o.data)?l:w({},e.role,t)),[2];case 2:var c,s;return[4,n.api.resource("roles").create({values:(c=w({},t),s=s={snippets:["!ui.*","!pm","!pm.*"]},Object.getOwnPropertyDescriptors?Object.defineProperties(c,Object.getOwnPropertyDescriptors(s)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t})(Object(s)).forEach(function(e){Object.defineProperty(c,e,Object.getOwnPropertyDescriptor(s,e))}),c)})];case 3:return u.sent(),[2]}})})()},onSubmitted:function(){return g(function(){return k(this,function(t){switch(t.label){case 0:return n.message.success(r("Saved successfully")),[4,e.onSubmitted()];case 1:return t.sent(),[2]}})})()}},s().createElement(u.Form.Item,{name:"title",label:r("Role display name"),rules:[{required:!0}]},s().createElement(u.Input,null)),s().createElement(u.Form.Item,{name:"name",label:r("Role UID"),rules:[{required:!0}],normalize:function(e){var t;return null==e||null==(t=e.trim)?void 0:t.call(e)}},s().createElement(u.Input,{disabled:a})),s().createElement(u.Form.Item,{name:"default",valuePropName:"checked"},s().createElement(u.Checkbox,{disabled:!!(null==(t=e.role)?void 0:t.default)},r("Default role"))))}function P(){var e=(0,o.useFlowContext)(),t=(0,b.kj)(),n=E((0,c.useState)(function(){var t,n;return(null==(n=e.acl)||null==(t=n.data)?void 0:t.roleMode)||"default"}),2),r=n[0],a=n[1],l=(0,i.useRequest)(function(t){return g(function(){return k(this,function(n){switch(n.label){case 0:return[4,e.api.resource("roles").setSystemRoleMode({values:{roleMode:t}})];case 1:return n.sent(),[2,t]}})})()},{manual:!0,onSuccess:function(n){a(n),e.message.success(t("Saved successfully")),window.location.reload()}}),f=l.runAsync,m=l.loading;return s().createElement(u.Select,{value:r,loading:m,onChange:function(e){return f(e)},options:[{value:"default",label:t("Independent roles")},{value:"allow-use-union",label:t("Allow roles union")},{value:"only-use-union",label:t("Roles union only")}]})}function M(){var e,t=(0,o.useFlowContext)(),n=(0,b.kj)(),f=u.App.useApp().modal,m=u.theme.useToken().token,d=t.app.pm.get(y.A),p=function(e){if(!e)return null;var t="string"==typeof e.name?e.name:e.role||null,n="string"==typeof e.title?e.title:t;return t&&n?{name:t,title:n,snippets:Array.isArray(e.snippets)?e.snippets:[],strategy:e.strategy,allowConfigure:e.allowConfigure}:null}((0,l.useACLRoleContext)()),v=s().useRef(new Map),w=s().useRef(new Map),S=E((0,c.useState)(null),2),M=S[0],T=S[1],R=E((0,c.useState)(null),2),F=R[0],D=R[1],_=E((0,c.useState)("permissions"),2),L=_[0],z=_[1],B=E((0,c.useState)("general"),2),H=B[0],G=B[1],N=(0,r.css)(O()),U=(0,r.css)(j(),m.marginLG),W={height:"100%",minHeight:0,overflow:"hidden"},X={height:"100%",minHeight:0,overflow:"auto",paddingRight:m.paddingXS},q=(0,r.css)(C()),K=(0,i.useRequest)(function(){return g(function(){var e;return k(this,function(n){switch(n.label){case 0:return[4,t.api.resource("roles").list({paginate:!1,filter:{"name.$ne":"root"},showAnonymous:!0,sort:["createdAt"],appends:[]})];case 1:var r;return[2,(r=null==(e=n.sent())?void 0:e.data)&&(void 0===r?"undefined":r&&"u">typeof Symbol&&r.constructor===Symbol?"symbol":typeof r)=="object"?{data:Array.isArray(r.data)?r.data:[],meta:r.meta}:{}]}})})()},{}),V=(0,c.useMemo)(function(){var e,t;return null!=(e=null==(t=K.data)?void 0:t.data)?e:[]},[null==(e=K.data)?void 0:e.data]),$=(0,i.useRequest)(function(){return g(function(){var e,n,r;return k(this,function(a){switch(a.label){case 0:if(!M)return[2,null];return[4,t.api.resource("roles").get({filterByTk:M})];case 1:return[2,null!=(e=null==(r=a.sent())||null==(n=r.data)?void 0:n.data)?e:null]}})})()},{manual:!0,ready:!!M,onSuccess:function(e){D(e)}}),J=(0,i.useMemoizedFn)(function(){$.run()});(0,c.useEffect)(function(){if(!(M&&V.some(function(e){return e.name===M}))){if(V[0])return void T(V[0].name);T(null)}},[V,M]),(0,c.useEffect)(function(){M?J():D(null)},[J,M]),(0,c.useEffect)(function(){G("general")},[null==F?void 0:F.name]);var Q=(0,i.useMemoizedFn)(function(e){(D(e),(null==e?void 0:e.name)&&e.name!==M)?T(e.name):e||T(null)}),Y=(0,i.useMemoizedFn)(function(e){t.viewer.open({type:"drawer",width:"50%",closable:!0,content:function(){return s().createElement(A,{role:e,onSubmitted:function(){return g(function(){return k(this,function(e){switch(e.label){case 0:return[4,K.refreshAsync()];case 1:return e.sent(),[4,$.refreshAsync()];case 2:return e.sent(),[2]}})})()},onRoleChange:Q})}})}),Z=(0,i.useMemoizedFn)(function(e){return g(function(){return k(this,function(r){switch(r.label){case 0:return[4,t.api.resource("roles").destroy({filterByTk:e.name})];case 1:return r.sent(),M===e.name&&(D(null),T(null)),t.message.success(n("Deleted successfully")),[4,K.refreshAsync()];case 2:return r.sent(),[2]}})})()}),ee=(0,i.useMemoizedFn)(function(e){return[{key:"edit",label:n("Edit")},{key:"delete",label:n("Delete"),disabled:e.default}]}),et=(0,i.useMemoizedFn)(function(e,t){return g(function(){return k(this,function(r){return"edit"===e?Y(t):"delete"===e&&f.confirm({title:n("Delete"),content:n("Are you sure you want to delete it?"),onOk:function(){return g(function(){return k(this,function(e){switch(e.label){case 0:return[4,Z(t)];case 1:return e.sent(),[2]}})})()}}),[2]})})()}),en=(0,c.useMemo)(function(){return d.rolesManager.list().map(function(e){var t=E(e,2),n=t[0],r=t[1];return{key:n,label:r.title,Component:I(v.current,n,r.componentLoader)}})},[d.rolesManager]),er=(0,c.useMemo)(function(){return d.settingsUI.getPermissionsTabs({activeKey:H,activeRole:F,currentUserRole:p,onRoleChange:Q}).map(function(e){return{key:e.key,label:e.label,Component:I(w.current,e.key,e.componentLoader)}})},[d.settingsUI,H,p,Q,F]);(0,c.useEffect)(function(){!er.length||er.some(function(e){return e.key===H})||G(er[0].key)},[H,er]);var ea=en.map(function(e){var t=e.key,n=e.label,r=e.Component;return{key:t,label:n,children:s().createElement("div",{style:W},s().createElement(c.Suspense,{fallback:null},s().createElement(r,{active:L===t,role:F,onRoleChange:Q})))}}),el=er.map(function(e){var t=e.key,n=e.label,r=e.Component;return{key:t,label:n,children:s().createElement("div",{style:X},s().createElement(c.Suspense,{fallback:null},s().createElement(r,{activeKey:H,activeRole:F,currentUserRole:p,onRoleChange:Q})))}}),eo=[{key:"permissions",label:n("Permissions"),children:el.length?s().createElement(u.Tabs,{type:"card",className:q,style:{height:"100%",minHeight:0},activeKey:H,onChange:G,items:el}):s().createElement("div",{style:{color:m.colorTextDescription}},n("Select a role to configure permissions"))}].concat(function(e){if(Array.isArray(e))return h(e)}(ea)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(ea)||x(ea)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}());return s().createElement(u.Card,{className:N},s().createElement("div",{style:{height:"100%",minHeight:0,display:"flex",gap:m.marginLG,alignItems:"stretch",flexWrap:"nowrap"}},s().createElement("div",{style:{flex:"0 0 320px",minWidth:320,minHeight:0,paddingRight:m.paddingLG,borderRight:"1px solid ".concat(m.colorBorderSecondary),display:"flex",flexDirection:"column",overflow:"hidden"}},s().createElement("div",{style:{display:"flex",flex:"0 0 auto",justifyContent:"space-between",alignItems:"center",gap:m.marginSM}},s().createElement(u.Button,{type:"text",icon:s().createElement(a.PlusOutlined,null),onClick:function(){return Y()},style:{paddingInline:0}},n("New role")),s().createElement(P,null)),s().createElement(u.Divider,{style:{flex:"0 0 auto",marginBlock:m.marginSM}}),s().createElement("div",{style:{flex:1,minHeight:0,overflow:"auto"}},V.length?s().createElement(u.List,{loading:K.loading,dataSource:V,split:!1,renderItem:function(e){var t=(null==F?void 0:F.name)===e.name;return s().createElement(u.List.Item,{onClick:function(){return T(e.name)},style:{cursor:"pointer",padding:"".concat(m.paddingXS,"px ").concat(m.paddingSM,"px"),marginBottom:m.marginXXS,borderRadius:m.borderRadiusLG,background:t?m.controlItemBgActive:"transparent"}},s().createElement("div",{style:{width:"100%",display:"flex",alignItems:"center",justifyContent:"space-between",gap:m.marginSM,minWidth:0}},s().createElement(u.Typography.Text,{ellipsis:!0,style:{flex:"1 1 auto",minWidth:0}},s().createElement("span",{style:{display:"inline-flex",alignItems:"center",gap:m.marginXS,minWidth:0}},s().createElement(a.TagOutlined,null),s().createElement("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}},n(e.title)))),s().createElement("div",{style:{display:"inline-flex",alignItems:"center",gap:m.marginXS,flex:"0 0 auto"},onClick:function(e){e.stopPropagation()}},e.default?s().createElement(u.Tag,{color:"success"},n("Default")):null,s().createElement(u.Dropdown,{menu:{items:ee(e),onClick:function(t){var n=t.key;return g(function(){return k(this,function(t){switch(t.label){case 0:return[4,et(String(n),e)];case 1:return t.sent(),[2]}})})()}},trigger:["click"]},s().createElement(u.Button,{type:"text",icon:s().createElement(a.MoreOutlined,null)})))))}}):K.loading?s().createElement(u.List,{loading:!0}):s().createElement(u.Empty,{image:u.Empty.PRESENTED_IMAGE_SIMPLE}))),s().createElement("div",{style:{flex:"1 1 auto",minWidth:0,height:"100%",minHeight:320,overflow:"hidden",display:"flex",flexDirection:"column"}},M&&$.loading&&(null==F?void 0:F.name)!==M?s().createElement("div",{style:{height:"100%",display:"flex",alignItems:"center",justifyContent:"center"}},s().createElement(u.Spin,null)):F?s().createElement(u.Tabs,{className:"acl-role-tabs ".concat(U),style:{flex:1,minHeight:0},activeKey:L,onChange:z,items:eo}):s().createElement(u.Typography.Text,{type:"secondary"},n("Select a role to configure permissions")))))}}}]);
@@ -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("ahooks"),require("@emotion/css"),require("@nocobase/client-v2"),require("react"),require("antd"),require("@ant-design/icons"),require("@nocobase/flow-engine"),require("lodash")):"function"==typeof define&&define.amd?define("@nocobase/plugin-acl/client-v2",["ahooks","@emotion/css","@nocobase/client-v2","react","antd","@ant-design/icons","@nocobase/flow-engine","lodash"],t):"object"==typeof exports?exports["@nocobase/plugin-acl/client-v2"]=t(require("ahooks"),require("@emotion/css"),require("@nocobase/client-v2"),require("react"),require("antd"),require("@ant-design/icons"),require("@nocobase/flow-engine"),require("lodash")):e["@nocobase/plugin-acl/client-v2"]=t(e.ahooks,e["@emotion/css"],e["@nocobase/client-v2"],e.react,e.antd,e["@ant-design/icons"],e["@nocobase/flow-engine"],e.lodash)}(self,function(e,t,n,r,o,i,u,c){return function(){"use strict";var a,l,s,f,p,b,d={667:function(e,t,n){n.d(t,{h:function(){return p}});var r=n(485),o=n(101);function i(e,t,n,r,o,i,u){try{var c=e[i](u),a=c.value}catch(e){n(e);return}c.done?t(a):Promise.resolve(a).then(r,o)}function u(e,t,n){return(u=f()?Reflect.construct:function(e,t,n){var r=[null];r.push.apply(r,t);var o=new(Function.bind.apply(e,r));return n&&l(o,n.prototype),o}).apply(null,arguments)}function c(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e){return(a=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function l(e,t){return(l=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function s(e){var t="function"==typeof Map?new Map:void 0;return(s=function(e){if(null===e||-1===Function.toString.call(e).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,n)}function n(){return u(e,arguments,a(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),l(n,e)})(e)}function f(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(f=function(){return!!e})()}var p=function(e){var t;if("function"!=typeof e&&null!==e)throw TypeError("Super expression must either be null or a function");function u(){var e,t,n;if(!(this instanceof u))throw TypeError("Cannot call a class as a function");return t=u,n=arguments,t=a(t),c(e=function(e,t){var n;if(t&&("object"==((n=t)&&"u">typeof Symbol&&n.constructor===Symbol?"symbol":typeof n)||"function"==typeof t))return t;if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(this,f()?Reflect.construct(t,n||[],a(this).constructor):t.apply(this,n)),"rolesManager",new o.H),c(e,"settingsUI",new o.k),e}return u.prototype=Object.create(e&&e.prototype,{constructor:{value:u,writable:!0,configurable:!0}}),e&&l(u,e),t=[{key:"load",value:function(){var e;return(e=function(){return function(e,t){var n,r,o,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},u=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),c=Object.defineProperty;return c(u,"next",{value:a(0)}),c(u,"throw",{value:a(1)}),c(u,"return",{value:a(2)}),"function"==typeof Symbol&&c(u,Symbol.iterator,{value:function(){return this}}),u;function a(c){return function(a){var l=[c,a];if(n)throw TypeError("Generator is already executing.");for(;u&&(u=0,l[0]&&(i=0)),i;)try{if(n=1,r&&(o=2&l[0]?r.return:l[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,l[1])).done)return o;switch(r=0,o&&(l=[2&l[0],o.value]),l[0]){case 0:case 1:o=l;break;case 4:return i.label++,{value:l[1],done:!1};case 5:i.label++,r=l[1],l=[0];continue;case 7:l=i.ops.pop(),i.trys.pop();continue;default:if(!(o=(o=i.trys).length>0&&o[o.length-1])&&(6===l[0]||2===l[0])){i=0;continue}if(3===l[0]&&(!o||l[1]>o[0]&&l[1]<o[3])){i.label=l[1];break}if(6===l[0]&&i.label<o[1]){i.label=o[1],o=l;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(l);break}o[2]&&i.ops.pop(),i.trys.pop();continue}l=t.call(e,i)}catch(e){l=[6,e],r=0}finally{n=o=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}}}(this,function(e){return this.app.use(r.ACLRolesCheckProvider),this.pluginSettingsManager.addMenuItem({key:"users-permissions",title:this.t("Users & Permissions"),isPinned:!0,sort:200,icon:"TeamOutlined",showTabs:!0}),this.pluginSettingsManager.addPageTabItem({menuKey:"users-permissions",key:"roles",title:this.t("Roles & Permissions"),icon:"LockOutlined",aclSnippet:"pm.acl.roles",sort:4,componentLoader:function(){return n.e("532").then(n.bind(n,407))}}),this.settingsUI.addPermissionsTab({key:"general",label:String(this.t("System")),sort:10,componentLoader:function(){return n.e("336").then(n.bind(n,227))}}),this.settingsUI.addPermissionsTab({key:"menu",label:String(this.t("Desktop routes")),sort:20,componentLoader:function(){return n.e("800").then(n.bind(n,235))}}),this.flowEngine.registerModelLoaders({UIEditorTopbarActionModel:{loader:function(){return Promise.resolve().then(n.t.bind(n,485,23)).then(function(e){return e.UIEditorTopbarActionModel})}},SwitchRoleItemModel:{extends:"UserCenterItemModel",loader:function(){return n.e("870").then(n.bind(n,173))}}}),[2]})},function(){var t=this,n=arguments;return new Promise(function(r,o){var u=e.apply(t,n);function c(e){i(u,r,o,c,a,"next",e)}function a(e){i(u,r,o,c,a,"throw",e)}c(void 0)})}).call(this)}}],function(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)}}(u.prototype,t),u}(s(r.Plugin));t.A=p},488:function(e,t,n){n.d(t,{CU:function(){return i},MZ:function(){return c},kj:function(){return u}});var r=n(694);function o(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;r=n[t],t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r})}return e}var i="@nocobase/plugin-acl";function u(){var e=(0,r.useFlowEngine)();return function(t,n){return e.context.t(t,o({ns:[i,"acl","client"]},n))}}function c(e,t){return(0,r.tExpr)(e,o({ns:[i,"acl","client"]},t))}},101:function(e,t,n){function r(e,t){if(!(e instanceof t))throw TypeError("Cannot call a class as a function")}function o(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 i(e,t,n){return t&&o(e.prototype,t),n&&o(e,n),e}function u(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}n.d(t,{H:function(){return c},k:function(){return a}});var c=function(){function e(){r(this,e),u(this,"items",new Map)}return i(e,[{key:"add",value:function(e,t){this.items.set(e,t)}},{key:"list",value:function(){return Array.from(this.items.entries()).sort(function(e,t){var n,r;return(null!=(n=e[1].sort)?n:100)-(null!=(r=t[1].sort)?r:100)})}}]),e}(),a=function(){function e(){r(this,e),u(this,"permissionTabs",new Map)}return i(e,[{key:"addPermissionsTab",value:function(e){var t="function"==typeof e?"callback:".concat(this.permissionTabs.size):e.key;this.permissionTabs.set(t,e)}},{key:"getPermissionsTabs",value:function(e){return Array.from(this.permissionTabs.values()).map(function(t){return"function"==typeof t?t(e):t}).filter(function(e){return!!e}).sort(function(e,t){var n,r;return(null!=(n=e.sort)?n:100)-(null!=(r=t.sort)?r:100)})}}]),e}()},375:function(e){e.exports=i},477:function(e){e.exports=t},485:function(e){e.exports=n},694:function(e){e.exports=u},625:function(t){t.exports=e},59:function(e){e.exports=o},773:function(e){e.exports=c},155:function(e){e.exports=r}},h={};function v(e){var t=h[e];if(void 0!==t)return t.exports;var n=h[e]={exports:{}};return d[e](n,n.exports,v),n.exports}v.m=d,v.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return v.d(t,{a:t}),t},g=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},v.t=function(e,t){if(1&t&&(e=this(e)),8&t||"object"==typeof e&&e&&(4&t&&e.__esModule||16&t&&"function"==typeof e.then))return e;var n=Object.create(null);v.r(n);var r={};y=y||[null,g({}),g([]),g(g)];for(var o=2&t&&e;("object"==typeof o||"function"==typeof o)&&!~y.indexOf(o);o=g(o))Object.getOwnPropertyNames(o).forEach(function(t){r[t]=function(){return e[t]}});return r.default=function(){return e},v.d(n,r),n},v.d=function(e,t){for(var n in t)v.o(t,n)&&!v.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},v.f={},v.e=function(e){return Promise.all(Object.keys(v.f).reduce(function(t,n){return v.f[n](e,t),t},[]))},v.u=function(e){return""+e+"."+({336:"c27dbbf4b362f3c2",532:"be9165ee6b4d34c1",800:"020212b7d7b3875d",870:"1d9bac44ccd1f650"})[e]+".js"},v.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),v.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},m={},v.l=function(e,t,n,r){if(m[e])return void m[e].push(t);if(void 0!==n)for(var o,i,u=document.getElementsByTagName("script"),c=0;c<u.length;c++){var a=u[c];if(a.getAttribute("src")==e||a.getAttribute("data-rspack")=="@nocobase/plugin-acl/client-v2:"+n){o=a;break}}o||(i=!0,(o=document.createElement("script")).timeout=120,v.nc&&o.setAttribute("nonce",v.nc),o.setAttribute("data-rspack","@nocobase/plugin-acl/client-v2:"+n),o.src=e),m[e]=[t];var l=function(t,n){o.onerror=o.onload=null,clearTimeout(s);var r=m[e];if(delete m[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)},v.r=function(e){"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},v.g.importScripts&&(w=v.g.location+"");var y,g,m,w,_=v.g.document;if(!w&&_&&(_.currentScript&&"SCRIPT"===_.currentScript.tagName.toUpperCase()&&(w=_.currentScript.src),!w)){var O=_.getElementsByTagName("script");if(O.length)for(var k=O.length-1;k>-1&&(!w||!/^http(s?):/.test(w));)w=O[k--].src}if(!w)throw Error("Automatic publicPath is not supported in this browser");v.p=w.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),a={889:0},v.f.j=function(e,t){var n=v.o(a,e)?a[e]:void 0;if(0!==n)if(n)t.push(n[2]);else{var r=new Promise(function(t,r){n=a[e]=[t,r]});t.push(n[2]=r);var o=v.p+v.u(e),i=Error();v.l(o,function(t){if(v.o(a,e)&&(0!==(n=a[e])&&(a[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)}},l=function(e,t){var n,r,o=t[0],i=t[1],u=t[2],c=0;if(o.some(function(e){return 0!==a[e]})){for(n in i)v.o(i,n)&&(v.m[n]=i[n]);u&&u(v)}for(e&&e(t);c<o.length;c++)r=o[c],v.o(a,r)&&a[r]&&a[r][0](),a[r]=0},(s=self.webpackChunk_nocobase_plugin_acl_client_v2=self.webpackChunk_nocobase_plugin_acl_client_v2||[]).forEach(l.bind(null,0)),s.push=l.bind(null,s.push.bind(s));var j={};return!function(){var e="",t="u">typeof document?document.currentScript:null;if(t&&t.src&&(e=t.src.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/")),!e){var n=window.__webpack_public_path__||"";n&&("/"!==n.charAt(n.length-1)&&(n+="/"),e=n+"static/plugins/@nocobase/plugin-acl/dist/client-v2/")}if(!e){var r=window.__nocobase_modern_client_prefix__||"v",o="/"+(r=String(r).replace(/^\/+|\/+$/g,"")||"v")+"/";if(!(e=window.__nocobase_public_path__||"")&&window.location&&window.location.pathname){var i=window.location.pathname||"/",u=i.indexOf(o);e=u>=0?i.slice(0,u+1):"/"}e&&(e=e.replace(RegExp("/"+r+"/?$"),"/")),e||(e="/"),"/"!==e.charAt(e.length-1)&&(e+="/"),e+="static/plugins/@nocobase/plugin-acl/dist/client-v2/"}v.p=e}(),v.r(j),v.d(j,{ACLSettingsUI:function(){return b.k},NAMESPACE:function(){return p.CU},PluginAclClientV2:function(){return f.h},RolesManager:function(){return b.H},default:function(){return f.A},tExpr:function(){return p.MZ},useT:function(){return p.kj}}),f=v(667),p=v(488),b=v(101),j}()});
10
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("ahooks"),require("@emotion/css"),require("@nocobase/client-v2"),require("react"),require("antd"),require("@ant-design/icons"),require("@nocobase/flow-engine"),require("lodash")):"function"==typeof define&&define.amd?define("@nocobase/plugin-acl/client-v2",["ahooks","@emotion/css","@nocobase/client-v2","react","antd","@ant-design/icons","@nocobase/flow-engine","lodash"],t):"object"==typeof exports?exports["@nocobase/plugin-acl/client-v2"]=t(require("ahooks"),require("@emotion/css"),require("@nocobase/client-v2"),require("react"),require("antd"),require("@ant-design/icons"),require("@nocobase/flow-engine"),require("lodash")):e["@nocobase/plugin-acl/client-v2"]=t(e.ahooks,e["@emotion/css"],e["@nocobase/client-v2"],e.react,e.antd,e["@ant-design/icons"],e["@nocobase/flow-engine"],e.lodash)}(self,function(e,t,n,r,o,i,u,c){return function(){"use strict";var a,l,s,f,p,b,d={667:function(e,t,n){n.d(t,{h:function(){return p}});var r=n(485),o=n(101);function i(e,t,n,r,o,i,u){try{var c=e[i](u),a=c.value}catch(e){n(e);return}c.done?t(a):Promise.resolve(a).then(r,o)}function u(e,t,n){return(u=f()?Reflect.construct:function(e,t,n){var r=[null];r.push.apply(r,t);var o=new(Function.bind.apply(e,r));return n&&l(o,n.prototype),o}).apply(null,arguments)}function c(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e){return(a=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function l(e,t){return(l=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function s(e){var t="function"==typeof Map?new Map:void 0;return(s=function(e){if(null===e||-1===Function.toString.call(e).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,n)}function n(){return u(e,arguments,a(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),l(n,e)})(e)}function f(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(f=function(){return!!e})()}var p=function(e){var t;if("function"!=typeof e&&null!==e)throw TypeError("Super expression must either be null or a function");function u(){var e,t,n;if(!(this instanceof u))throw TypeError("Cannot call a class as a function");return t=u,n=arguments,t=a(t),c(e=function(e,t){var n;if(t&&("object"==((n=t)&&"u">typeof Symbol&&n.constructor===Symbol?"symbol":typeof n)||"function"==typeof t))return t;if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(this,f()?Reflect.construct(t,n||[],a(this).constructor):t.apply(this,n)),"rolesManager",new o.H),c(e,"settingsUI",new o.k),e}return u.prototype=Object.create(e&&e.prototype,{constructor:{value:u,writable:!0,configurable:!0}}),e&&l(u,e),t=[{key:"load",value:function(){var e;return(e=function(){return function(e,t){var n,r,o,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},u=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),c=Object.defineProperty;return c(u,"next",{value:a(0)}),c(u,"throw",{value:a(1)}),c(u,"return",{value:a(2)}),"function"==typeof Symbol&&c(u,Symbol.iterator,{value:function(){return this}}),u;function a(c){return function(a){var l=[c,a];if(n)throw TypeError("Generator is already executing.");for(;u&&(u=0,l[0]&&(i=0)),i;)try{if(n=1,r&&(o=2&l[0]?r.return:l[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,l[1])).done)return o;switch(r=0,o&&(l=[2&l[0],o.value]),l[0]){case 0:case 1:o=l;break;case 4:return i.label++,{value:l[1],done:!1};case 5:i.label++,r=l[1],l=[0];continue;case 7:l=i.ops.pop(),i.trys.pop();continue;default:if(!(o=(o=i.trys).length>0&&o[o.length-1])&&(6===l[0]||2===l[0])){i=0;continue}if(3===l[0]&&(!o||l[1]>o[0]&&l[1]<o[3])){i.label=l[1];break}if(6===l[0]&&i.label<o[1]){i.label=o[1],o=l;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(l);break}o[2]&&i.ops.pop(),i.trys.pop();continue}l=t.call(e,i)}catch(e){l=[6,e],r=0}finally{n=o=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}}}(this,function(e){return this.app.use(r.ACLRolesCheckProvider),this.pluginSettingsManager.addMenuItem({key:"users-permissions",title:this.t("Users & Permissions"),isPinned:!0,sort:200,icon:"TeamOutlined",showTabs:!0}),this.pluginSettingsManager.addPageTabItem({menuKey:"users-permissions",key:"roles",title:this.t("Roles & Permissions"),icon:"LockOutlined",aclSnippet:"pm.acl.roles",sort:4,componentLoader:function(){return n.e("532").then(n.bind(n,407))}}),this.settingsUI.addPermissionsTab({key:"general",label:String(this.t("System")),sort:10,componentLoader:function(){return n.e("336").then(n.bind(n,227))}}),this.settingsUI.addPermissionsTab({key:"menu",label:String(this.t("Desktop routes")),sort:20,componentLoader:function(){return n.e("800").then(n.bind(n,235))}}),this.flowEngine.registerModelLoaders({UIEditorTopbarActionModel:{loader:function(){return Promise.resolve().then(n.t.bind(n,485,23)).then(function(e){return e.UIEditorTopbarActionModel})}},SwitchRoleItemModel:{extends:"UserCenterItemModel",loader:function(){return n.e("870").then(n.bind(n,173))}}}),[2]})},function(){var t=this,n=arguments;return new Promise(function(r,o){var u=e.apply(t,n);function c(e){i(u,r,o,c,a,"next",e)}function a(e){i(u,r,o,c,a,"throw",e)}c(void 0)})}).call(this)}}],function(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)}}(u.prototype,t),u}(s(r.Plugin));t.A=p},488:function(e,t,n){n.d(t,{CU:function(){return i},MZ:function(){return c},kj:function(){return u}});var r=n(694);function o(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;r=n[t],t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r})}return e}var i="@nocobase/plugin-acl";function u(){var e=(0,r.useFlowEngine)();return function(t,n){return e.context.t(t,o({ns:[i,"acl","client"]},n))}}function c(e,t){return(0,r.tExpr)(e,o({ns:[i,"acl","client"]},t))}},101:function(e,t,n){function r(e,t){if(!(e instanceof t))throw TypeError("Cannot call a class as a function")}function o(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 i(e,t,n){return t&&o(e.prototype,t),n&&o(e,n),e}function u(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}n.d(t,{H:function(){return c},k:function(){return a}});var c=function(){function e(){r(this,e),u(this,"items",new Map)}return i(e,[{key:"add",value:function(e,t){this.items.set(e,t)}},{key:"list",value:function(){return Array.from(this.items.entries()).sort(function(e,t){var n,r;return(null!=(n=e[1].sort)?n:100)-(null!=(r=t[1].sort)?r:100)})}}]),e}(),a=function(){function e(){r(this,e),u(this,"permissionTabs",new Map)}return i(e,[{key:"addPermissionsTab",value:function(e){var t="function"==typeof e?"callback:".concat(this.permissionTabs.size):e.key;this.permissionTabs.set(t,e)}},{key:"getPermissionsTabs",value:function(e){return Array.from(this.permissionTabs.values()).map(function(t){return"function"==typeof t?t(e):t}).filter(function(e){return!!e}).sort(function(e,t){var n,r;return(null!=(n=e.sort)?n:100)-(null!=(r=t.sort)?r:100)})}}]),e}()},375:function(e){e.exports=i},477:function(e){e.exports=t},485:function(e){e.exports=n},694:function(e){e.exports=u},625:function(t){t.exports=e},59:function(e){e.exports=o},773:function(e){e.exports=c},155:function(e){e.exports=r}},h={};function v(e){var t=h[e];if(void 0!==t)return t.exports;var n=h[e]={exports:{}};return d[e](n,n.exports,v),n.exports}v.m=d,v.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return v.d(t,{a:t}),t},g=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},v.t=function(e,t){if(1&t&&(e=this(e)),8&t||"object"==typeof e&&e&&(4&t&&e.__esModule||16&t&&"function"==typeof e.then))return e;var n=Object.create(null);v.r(n);var r={};y=y||[null,g({}),g([]),g(g)];for(var o=2&t&&e;("object"==typeof o||"function"==typeof o)&&!~y.indexOf(o);o=g(o))Object.getOwnPropertyNames(o).forEach(function(t){r[t]=function(){return e[t]}});return r.default=function(){return e},v.d(n,r),n},v.d=function(e,t){for(var n in t)v.o(t,n)&&!v.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},v.f={},v.e=function(e){return Promise.all(Object.keys(v.f).reduce(function(t,n){return v.f[n](e,t),t},[]))},v.u=function(e){return""+e+"."+({336:"c27dbbf4b362f3c2",532:"94f799d06b1771b6",800:"020212b7d7b3875d",870:"1d9bac44ccd1f650"})[e]+".js"},v.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),v.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},m={},v.l=function(e,t,n,r){if(m[e])return void m[e].push(t);if(void 0!==n)for(var o,i,u=document.getElementsByTagName("script"),c=0;c<u.length;c++){var a=u[c];if(a.getAttribute("src")==e||a.getAttribute("data-rspack")=="@nocobase/plugin-acl/client-v2:"+n){o=a;break}}o||(i=!0,(o=document.createElement("script")).timeout=120,v.nc&&o.setAttribute("nonce",v.nc),o.setAttribute("data-rspack","@nocobase/plugin-acl/client-v2:"+n),o.src=e),m[e]=[t];var l=function(t,n){o.onerror=o.onload=null,clearTimeout(s);var r=m[e];if(delete m[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)},v.r=function(e){"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},v.g.importScripts&&(w=v.g.location+"");var y,g,m,w,_=v.g.document;if(!w&&_&&(_.currentScript&&"SCRIPT"===_.currentScript.tagName.toUpperCase()&&(w=_.currentScript.src),!w)){var O=_.getElementsByTagName("script");if(O.length)for(var k=O.length-1;k>-1&&(!w||!/^http(s?):/.test(w));)w=O[k--].src}if(!w)throw Error("Automatic publicPath is not supported in this browser");v.p=w.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),a={889:0},v.f.j=function(e,t){var n=v.o(a,e)?a[e]:void 0;if(0!==n)if(n)t.push(n[2]);else{var r=new Promise(function(t,r){n=a[e]=[t,r]});t.push(n[2]=r);var o=v.p+v.u(e),i=Error();v.l(o,function(t){if(v.o(a,e)&&(0!==(n=a[e])&&(a[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)}},l=function(e,t){var n,r,o=t[0],i=t[1],u=t[2],c=0;if(o.some(function(e){return 0!==a[e]})){for(n in i)v.o(i,n)&&(v.m[n]=i[n]);u&&u(v)}for(e&&e(t);c<o.length;c++)r=o[c],v.o(a,r)&&a[r]&&a[r][0](),a[r]=0},(s=self.webpackChunk_nocobase_plugin_acl_client_v2=self.webpackChunk_nocobase_plugin_acl_client_v2||[]).forEach(l.bind(null,0)),s.push=l.bind(null,s.push.bind(s));var j={};return!function(){var e="",t="u">typeof document?document.currentScript:null;if(t&&t.src&&(e=t.src.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/")),!e){var n=window.__webpack_public_path__||"";n&&("/"!==n.charAt(n.length-1)&&(n+="/"),e=n+"static/plugins/@nocobase/plugin-acl/dist/client-v2/")}if(!e){var r=window.__nocobase_modern_client_prefix__||"v",o="/"+(r=String(r).replace(/^\/+|\/+$/g,"")||"v")+"/";if(!(e=window.__nocobase_public_path__||"")&&window.location&&window.location.pathname){var i=window.location.pathname||"/",u=i.indexOf(o);e=u>=0?i.slice(0,u+1):"/"}e&&(e=e.replace(RegExp("/"+r+"/?$"),"/")),e||(e="/"),"/"!==e.charAt(e.length-1)&&(e+="/"),e+="static/plugins/@nocobase/plugin-acl/dist/client-v2/"}v.p=e}(),v.r(j),v.d(j,{ACLSettingsUI:function(){return b.k},NAMESPACE:function(){return p.CU},PluginAclClientV2:function(){return f.h},RolesManager:function(){return b.H},default:function(){return f.A},tExpr:function(){return p.MZ},useT:function(){return p.kj}}),f=v(667),p=v(488),b=v(101),j}()});
@@ -8,7 +8,7 @@
8
8
  */
9
9
 
10
10
  module.exports = {
11
- "@nocobase/client": "2.2.0-beta.2",
11
+ "@nocobase/client": "2.2.0-beta.3",
12
12
  "antd": "5.24.2",
13
13
  "react": "18.2.0",
14
14
  "react-i18next": "11.18.6",
@@ -17,15 +17,15 @@ module.exports = {
17
17
  "@formily/react": "2.3.7",
18
18
  "@ant-design/icons": "5.6.1",
19
19
  "lodash": "4.18.1",
20
- "@nocobase/utils": "2.2.0-beta.2",
21
- "@nocobase/flow-engine": "2.2.0-beta.2",
22
- "@nocobase/client-v2": "2.2.0-beta.2",
23
- "@nocobase/actions": "2.2.0-beta.2",
24
- "@nocobase/cache": "2.2.0-beta.2",
25
- "@nocobase/database": "2.2.0-beta.2",
26
- "@nocobase/server": "2.2.0-beta.2",
27
- "@nocobase/acl": "2.2.0-beta.2",
28
- "@nocobase/test": "2.2.0-beta.2",
20
+ "@nocobase/utils": "2.2.0-beta.3",
21
+ "@nocobase/flow-engine": "2.2.0-beta.3",
22
+ "@nocobase/client-v2": "2.2.0-beta.3",
23
+ "@nocobase/actions": "2.2.0-beta.3",
24
+ "@nocobase/cache": "2.2.0-beta.3",
25
+ "@nocobase/database": "2.2.0-beta.3",
26
+ "@nocobase/server": "2.2.0-beta.3",
27
+ "@nocobase/acl": "2.2.0-beta.3",
28
+ "@nocobase/test": "2.2.0-beta.3",
29
29
  "@formily/core": "2.3.7",
30
30
  "@formily/antd-v5": "1.2.3",
31
31
  "antd-style": "3.7.1",
package/package.json CHANGED
@@ -6,7 +6,7 @@
6
6
  "description": "Based on roles, resources, and actions, access control can precisely manage interface configuration permissions, data operation permissions, menu access permissions, and plugin permissions.",
7
7
  "description.ru-RU": "На основе ролей, ресурсов и действий система контроля доступа может точно управлять разрешениями на изменение интерфейса, работу с данными, доступ к меню и разрешениями для подключаемых модулей.",
8
8
  "description.zh-CN": "基于角色、资源和操作的权限控制,可以精确控制界面配置权限、数据操作权限、菜单访问权限、插件权限。",
9
- "version": "2.2.0-beta.2",
9
+ "version": "2.2.0-beta.3",
10
10
  "license": "Apache-2.0",
11
11
  "main": "./dist/server/index.js",
12
12
  "homepage": "https://docs.nocobase.com/handbook/acl",
@@ -46,5 +46,5 @@
46
46
  "url": "git+https://github.com/nocobase/nocobase.git",
47
47
  "directory": "packages/plugins/acl"
48
48
  },
49
- "gitHead": "2fe3e6a86fc1d0cd039349a68b2e4d1d6945ce45"
49
+ "gitHead": "7b16bb2cfd427c110c6671252138cd85155723c5"
50
50
  }
@@ -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_acl_client_v2=self.webpackChunk_nocobase_plugin_acl_client_v2||[]).push([["532"],{407:function(e,t,n){n.r(t),n.d(t,{default:function(){return M}});var r=n(477),a=n(375),l=n(485),o=n(694),i=n(625),u=n(59),c=n(155),s=n.n(c);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 m(e,t,n,r,a,l,o){try{var i=e[l](o),u=i.value}catch(e){n(e);return}i.done?t(u):Promise.resolve(u).then(r,a)}function d(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,a=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var l=[],o=!0,i=!1;try{for(a=a.call(e);!(o=(n=a.next()).done)&&(l.push(n.value),!t||l.length!==t);o=!0);}catch(e){i=!0,r=e}finally{try{o||null==a.return||a.return()}finally{if(i)throw r}}return l}}(e,t)||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)}}(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 p(e){var t,n=d(u.Form.useForm(),1)[0],r=null!=(t=e.form)?t:n,a=d((0,c.useState)(!1),2),o=a[0],f=a[1];(0,c.useEffect)(function(){var t;r.resetFields(),r.setFieldsValue(null!=(t=e.initialValues)?t:{})},[r,e.initialValues]);var p=(0,i.useMemoizedFn)(function(){var t;return(t=function(){var t,n;return function(e,t){var n,r,a,l={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},o=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),i=Object.defineProperty;return i(o,"next",{value:u(0)}),i(o,"throw",{value:u(1)}),i(o,"return",{value:u(2)}),"function"==typeof Symbol&&i(o,Symbol.iterator,{value:function(){return this}}),o;function u(i){return function(u){var c=[i,u];if(n)throw TypeError("Generator is already executing.");for(;o&&(o=0,c[0]&&(l=0)),l;)try{if(n=1,r&&(a=2&c[0]?r.return:c[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,c[1])).done)return a;switch(r=0,a&&(c=[2&c[0],a.value]),c[0]){case 0:case 1:a=c;break;case 4:return l.label++,{value:c[1],done:!1};case 5:l.label++,r=c[1],c=[0];continue;case 7:c=l.ops.pop(),l.trys.pop();continue;default:if(!(a=(a=l.trys).length>0&&a[a.length-1])&&(6===c[0]||2===c[0])){l=0;continue}if(3===c[0]&&(!a||c[1]>a[0]&&c[1]<a[3])){l.label=c[1];break}if(6===c[0]&&l.label<a[1]){l.label=a[1],a=c;break}if(a&&l.label<a[2]){l.label=a[2],l.ops.push(c);break}a[2]&&l.ops.pop(),l.trys.pop();continue}c=t.call(e,l)}catch(e){c=[6,e],r=0}finally{n=a=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}(this,function(a){switch(a.label){case 0:return[4,r.validateFields()];case 1:t=a.sent(),f(!0),a.label=2;case 2:return a.trys.push([2,,5,6]),[4,e.onSubmit(t,r)];case 3:return a.sent(),[4,null==(n=e.onSubmitted)?void 0:n.call(e,t)];case 4:return a.sent(),[3,6];case 5:return f(!1),[7];case 6:return[2]}})},function(){var e=this,n=arguments;return new Promise(function(r,a){var l=t.apply(e,n);function o(e){m(l,r,a,o,i,"next",e)}function i(e){m(l,r,a,o,i,"throw",e)}o(void 0)})})()});return s().createElement(l.DrawerFormLayout,{title:e.title,onSubmit:p,submitting:o,submitText:e.submitText,cancelText:e.cancelText,footer:e.footer},s().createElement(u.Form,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;r=n[t],t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r})}return e}({form:r,layout:"vertical"},e.formProps),"function"==typeof e.children?e.children({form:r,submitting:o}):e.children))}var b=n(488),y=n(667);function h(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 v(e,t,n,r,a,l,o){try{var i=e[l](o),u=i.value}catch(e){n(e);return}i.done?t(u):Promise.resolve(u).then(r,a)}function g(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){v(l,r,a,o,i,"next",e)}function i(e){v(l,r,a,o,i,"throw",e)}o(void 0)})}}function w(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;r=n[t],t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r})}return e}function E(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,a=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var l=[],o=!0,i=!1;try{for(a=a.call(e);!(o=(n=a.next()).done)&&(l.push(n.value),!t||l.length!==t);o=!0);}catch(e){i=!0,r=e}finally{try{o||null==a.return||a.return()}finally{if(i)throw r}}return l}}(e,t)||x(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 S(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function x(e,t){if(e){if("string"==typeof e)return h(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 h(e,t)}}function k(e,t){var n,r,a,l={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},o=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),i=Object.defineProperty;return i(o,"next",{value:u(0)}),i(o,"throw",{value:u(1)}),i(o,"return",{value:u(2)}),"function"==typeof Symbol&&i(o,Symbol.iterator,{value:function(){return this}}),o;function u(i){return function(u){var c=[i,u];if(n)throw TypeError("Generator is already executing.");for(;o&&(o=0,c[0]&&(l=0)),l;)try{if(n=1,r&&(a=2&c[0]?r.return:c[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,c[1])).done)return a;switch(r=0,a&&(c=[2&c[0],a.value]),c[0]){case 0:case 1:a=c;break;case 4:return l.label++,{value:c[1],done:!1};case 5:l.label++,r=c[1],c=[0];continue;case 7:c=l.ops.pop(),l.trys.pop();continue;default:if(!(a=(a=l.trys).length>0&&a[a.length-1])&&(6===c[0]||2===c[0])){l=0;continue}if(3===c[0]&&(!a||c[1]>a[0]&&c[1]<a[3])){l.label=c[1];break}if(6===c[0]&&l.label<a[1]){l.label=a[1],a=c;break}if(a&&l.label<a[2]){l.label=a[2],l.ops.push(c);break}a[2]&&l.ops.pop(),l.trys.pop();continue}c=t.call(e,l)}catch(e){c=[6,e],r=0}finally{n=a=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}function O(){var e=S(["\n height: calc(100vh - 160px);\n min-height: 0;\n\n > .ant-card-body {\n height: 100%;\n min-height: 0;\n overflow: hidden;\n }\n "]);return O=function(){return e},e}function j(){var e=S(["\n &.acl-role-tabs > .ant-tabs-nav {\n margin-bottom: ","px;\n }\n\n &.acl-role-tabs,\n &.acl-role-tabs > .ant-tabs-content-holder,\n &.acl-role-tabs > .ant-tabs-content-holder > .ant-tabs-content,\n &.acl-role-tabs > .ant-tabs-content-holder > .ant-tabs-content > .ant-tabs-tabpane {\n min-height: 0;\n }\n\n &.acl-role-tabs {\n height: 100%;\n display: flex;\n flex-direction: column;\n }\n\n &.acl-role-tabs > .ant-tabs-nav {\n flex: none;\n }\n\n &.acl-role-tabs > .ant-tabs-content-holder {\n flex: 1;\n min-height: 0;\n overflow: hidden;\n }\n\n &.acl-role-tabs > .ant-tabs-content-holder > .ant-tabs-content,\n &.acl-role-tabs > .ant-tabs-content-holder > .ant-tabs-content > .ant-tabs-tabpane {\n height: 100%;\n min-height: 0;\n }\n\n &.acl-role-tabs > .ant-tabs-content-holder > .ant-tabs-content > .ant-tabs-tabpane {\n overflow: hidden;\n padding: 0;\n }\n "]);return j=function(){return e},e}function C(){var e=S(["\n height: 100%;\n min-height: 0;\n display: flex;\n flex-direction: column;\n\n > .ant-tabs-nav {\n flex: none;\n }\n\n > .ant-tabs-content-holder {\n flex: 1;\n min-height: 0;\n overflow: hidden;\n }\n\n > .ant-tabs-content-holder > .ant-tabs-content,\n > .ant-tabs-content-holder > .ant-tabs-content > .ant-tabs-tabpane {\n height: 100%;\n min-height: 0;\n }\n\n > .ant-tabs-content-holder > .ant-tabs-content > .ant-tabs-tabpane {\n overflow: hidden;\n padding: 0;\n }\n "]);return C=function(){return e},e}function I(e,t,n){var r=e.get(t);if((null==r?void 0:r.loader)===n)return r.Component;var a=(0,c.lazy)(n);return e.set(t,{loader:n,Component:a}),a}function A(e){var t,n=(0,o.useFlowContext)(),r=(0,b.kj)(),a=!!e.role;return s().createElement(p,{title:a?r("Edit role"):r("New role"),initialValues:e.role?{title:e.role.title,name:e.role.name,default:e.role.default}:{name:(0,o.randomId)("r_"),default:!1},submitText:r("Submit"),cancelText:r("Cancel"),onSubmit:function(t){return g(function(){var r,l,o,i;return k(this,function(u){switch(u.label){case 0:if(!(a&&(null==(r=e.role)?void 0:r.name)))return[3,2];return[4,n.api.resource("roles").update({filterByTk:e.role.name,values:t})];case 1:return i=u.sent(),e.onRoleChange(null!=(l=null==i||null==(o=i.data)?void 0:o.data)?l:w({},e.role,t)),[2];case 2:var c,s;return[4,n.api.resource("roles").create({values:(c=w({},t),s=s={snippets:["!ui.*","!pm","!pm.*"]},Object.getOwnPropertyDescriptors?Object.defineProperties(c,Object.getOwnPropertyDescriptors(s)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t})(Object(s)).forEach(function(e){Object.defineProperty(c,e,Object.getOwnPropertyDescriptor(s,e))}),c)})];case 3:return u.sent(),[2]}})})()},onSubmitted:function(){return g(function(){return k(this,function(t){switch(t.label){case 0:return n.message.success(r("Saved successfully")),[4,e.onSubmitted()];case 1:return t.sent(),[2]}})})()}},s().createElement(u.Form.Item,{name:"title",label:r("Role display name"),rules:[{required:!0}]},s().createElement(u.Input,null)),s().createElement(u.Form.Item,{name:"name",label:r("Role UID"),rules:[{required:!0}],normalize:function(e){var t;return null==e||null==(t=e.trim)?void 0:t.call(e)}},s().createElement(u.Input,{disabled:a})),s().createElement(u.Form.Item,{name:"default",valuePropName:"checked"},s().createElement(u.Checkbox,{disabled:!!(null==(t=e.role)?void 0:t.default)},r("Default role"))))}function P(){var e=(0,o.useFlowContext)(),t=(0,b.kj)(),n=E((0,c.useState)(function(){var t,n;return(null==(n=e.acl)||null==(t=n.data)?void 0:t.roleMode)||"default"}),2),r=n[0],a=n[1],l=(0,i.useRequest)(function(t){return g(function(){return k(this,function(n){switch(n.label){case 0:return[4,e.api.resource("roles").setSystemRoleMode({values:{roleMode:t}})];case 1:return n.sent(),[2,t]}})})()},{manual:!0,onSuccess:function(n){a(n),e.message.success(t("Saved successfully")),window.location.reload()}}),f=l.runAsync,m=l.loading;return s().createElement(u.Select,{value:r,loading:m,onChange:function(e){return f(e)},options:[{value:"default",label:t("Independent roles")},{value:"allow-use-union",label:t("Allow roles union")},{value:"only-use-union",label:t("Roles union only")}]})}function M(){var e,t=(0,o.useFlowContext)(),n=(0,b.kj)(),f=u.App.useApp().modal,m=u.theme.useToken().token,d=t.app.pm.get(y.A),p=function(e){if(!e)return null;var t="string"==typeof e.name?e.name:e.role||null,n="string"==typeof e.title?e.title:t;return t&&n?{name:t,title:n,snippets:Array.isArray(e.snippets)?e.snippets:[],strategy:e.strategy,allowConfigure:e.allowConfigure}:null}((0,l.useACLRoleContext)()),v=s().useRef(new Map),w=s().useRef(new Map),S=E((0,c.useState)(null),2),M=S[0],T=S[1],R=E((0,c.useState)(null),2),F=R[0],D=R[1],_=E((0,c.useState)("permissions"),2),L=_[0],z=_[1],B=E((0,c.useState)("general"),2),H=B[0],G=B[1],N=(0,r.css)(O()),U=(0,r.css)(j(),m.marginLG),W={height:"100%",minHeight:0,overflow:"hidden"},X={height:"100%",minHeight:0,overflow:"auto",paddingRight:m.paddingXS},q=(0,r.css)(C()),K=(0,i.useRequest)(function(){return g(function(){var e;return k(this,function(n){switch(n.label){case 0:return[4,t.api.resource("roles").list({paginate:!1,filter:{"name.$ne":"root"},showAnonymous:!0,sort:["createdAt"],appends:[]})];case 1:var r;return[2,(r=null==(e=n.sent())?void 0:e.data)&&(void 0===r?"undefined":r&&"u">typeof Symbol&&r.constructor===Symbol?"symbol":typeof r)=="object"?{data:Array.isArray(r.data)?r.data:[],meta:r.meta}:{}]}})})()},{}),V=(0,c.useMemo)(function(){var e,t;return null!=(e=null==(t=K.data)?void 0:t.data)?e:[]},[null==(e=K.data)?void 0:e.data]),$=(0,i.useRequest)(function(){return g(function(){var e,n,r;return k(this,function(a){switch(a.label){case 0:if(!M)return[2,null];return[4,t.api.resource("roles").get({filterByTk:M})];case 1:return[2,null!=(e=null==(r=a.sent())||null==(n=r.data)?void 0:n.data)?e:null]}})})()},{manual:!0,ready:!!M,onSuccess:function(e){D(e)}}),J=(0,i.useMemoizedFn)(function(){$.run()});(0,c.useEffect)(function(){if(!(M&&V.some(function(e){return e.name===M}))){if(V[0])return void T(V[0].name);T(null)}},[V,M]),(0,c.useEffect)(function(){M?J():D(null)},[J,M]),(0,c.useEffect)(function(){G("general")},[null==F?void 0:F.name]);var Q=(0,i.useMemoizedFn)(function(e){(D(e),(null==e?void 0:e.name)&&e.name!==M)?T(e.name):e||T(null)}),Y=(0,i.useMemoizedFn)(function(e){t.viewer.open({type:"drawer",width:"50%",closable:!0,content:function(){return s().createElement(A,{role:e,onSubmitted:function(){return g(function(){return k(this,function(e){switch(e.label){case 0:return[4,K.refreshAsync()];case 1:return e.sent(),[4,$.refreshAsync()];case 2:return e.sent(),[2]}})})()},onRoleChange:Q})}})}),Z=(0,i.useMemoizedFn)(function(e){return g(function(){return k(this,function(r){switch(r.label){case 0:return[4,t.api.resource("roles").destroy({filterByTk:e.name})];case 1:return r.sent(),M===e.name&&(D(null),T(null)),t.message.success(n("Deleted successfully")),[4,K.refreshAsync()];case 2:return r.sent(),[2]}})})()}),ee=(0,i.useMemoizedFn)(function(e){return[{key:"edit",label:n("Edit")},{key:"delete",label:n("Delete"),disabled:e.default}]}),et=(0,i.useMemoizedFn)(function(e,t){return g(function(){return k(this,function(r){return"edit"===e?Y(t):"delete"===e&&f.confirm({title:n("Delete"),content:n("Are you sure you want to delete it?"),onOk:function(){return g(function(){return k(this,function(e){switch(e.label){case 0:return[4,Z(t)];case 1:return e.sent(),[2]}})})()}}),[2]})})()}),en=(0,c.useMemo)(function(){return d.rolesManager.list().map(function(e){var t=E(e,2),n=t[0],r=t[1];return{key:n,label:r.title,Component:I(v.current,n,r.componentLoader)}})},[d.rolesManager]),er=(0,c.useMemo)(function(){return d.settingsUI.getPermissionsTabs({activeKey:H,activeRole:F,currentUserRole:p,onRoleChange:Q}).map(function(e){return{key:e.key,label:e.label,Component:I(w.current,e.key,e.componentLoader)}})},[d.settingsUI,H,p,Q,F]);(0,c.useEffect)(function(){!er.length||er.some(function(e){return e.key===H})||G(er[0].key)},[H,er]);var ea=en.map(function(e){var t=e.key,n=e.label,r=e.Component;return{key:t,label:n,children:s().createElement("div",{style:W},s().createElement(c.Suspense,{fallback:null},s().createElement(r,{active:L===t,role:F,onRoleChange:Q})))}}),el=er.map(function(e){var t=e.key,n=e.label,r=e.Component;return{key:t,label:n,children:s().createElement("div",{style:X},s().createElement(c.Suspense,{fallback:null},s().createElement(r,{activeKey:H,activeRole:F,currentUserRole:p,onRoleChange:Q})))}}),eo=[{key:"permissions",label:n("Permissions"),children:el.length?s().createElement(u.Tabs,{type:"card",className:q,style:{height:"100%",minHeight:0},activeKey:H,onChange:G,items:el}):s().createElement("div",{style:{color:m.colorTextDescription}},n("Select a role to configure permissions"))}].concat(function(e){if(Array.isArray(e))return h(e)}(ea)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(ea)||x(ea)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}());return s().createElement(u.Card,{className:N},s().createElement("div",{style:{height:"100%",minHeight:0,display:"flex",gap:m.marginLG,alignItems:"stretch",flexWrap:"nowrap"}},s().createElement("div",{style:{flex:"0 0 320px",minWidth:320,minHeight:0,paddingRight:m.paddingLG,borderRight:"1px solid ".concat(m.colorBorderSecondary),display:"flex",flexDirection:"column",overflow:"hidden"}},s().createElement("div",{style:{display:"flex",flex:"0 0 auto",justifyContent:"space-between",alignItems:"center",gap:m.marginSM}},s().createElement(u.Button,{type:"text",icon:s().createElement(a.PlusOutlined,null),onClick:function(){return Y()},style:{paddingInline:0}},n("New role")),s().createElement(P,null)),s().createElement(u.Divider,{style:{flex:"0 0 auto",marginBlock:m.marginSM}}),s().createElement("div",{style:{flex:1,minHeight:0,overflow:"auto"}},V.length?s().createElement(u.List,{loading:K.loading,dataSource:V,split:!1,renderItem:function(e){var t=(null==F?void 0:F.name)===e.name;return s().createElement(u.List.Item,{onClick:function(){return T(e.name)},style:{cursor:"pointer",padding:"".concat(m.paddingXS,"px ").concat(m.paddingSM,"px"),marginBottom:m.marginXXS,borderRadius:m.borderRadiusLG,background:t?m.controlItemBgActive:"transparent"}},s().createElement("div",{style:{width:"100%",display:"flex",alignItems:"center",justifyContent:"space-between",gap:m.marginSM,minWidth:0}},s().createElement(u.Typography.Text,{ellipsis:!0,style:{flex:"1 1 auto",minWidth:0}},s().createElement("span",{style:{display:"inline-flex",alignItems:"center",gap:m.marginXS,minWidth:0}},s().createElement(a.TagOutlined,null),s().createElement("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}},n(e.title)))),s().createElement("div",{style:{display:"inline-flex",alignItems:"center",gap:m.marginXS,flex:"0 0 auto"},onClick:function(e){e.stopPropagation()}},e.default?s().createElement(u.Tag,{color:"success"},n("Default")):null,s().createElement(u.Dropdown,{menu:{items:ee(e),onClick:function(t){var n=t.key;return g(function(){return k(this,function(t){switch(t.label){case 0:return[4,et(String(n),e)];case 1:return t.sent(),[2]}})})()}},trigger:["click"]},s().createElement(u.Button,{type:"text",icon:s().createElement(a.MoreOutlined,null)})))))}}):K.loading?s().createElement(u.List,{loading:!0}):s().createElement(u.Empty,{image:u.Empty.PRESENTED_IMAGE_SIMPLE}))),s().createElement("div",{style:{flex:"1 1 auto",minWidth:0,height:"100%",minHeight:320,overflow:"hidden",display:"flex",flexDirection:"column"}},M&&$.loading&&(null==F?void 0:F.name)!==M?s().createElement("div",{style:{height:"100%",display:"flex",alignItems:"center",justifyContent:"center"}},s().createElement(u.Spin,null)):F?s().createElement(u.Tabs,{className:"acl-role-tabs ".concat(U),style:{flex:1,minHeight:0},activeKey:L,onChange:z,items:eo}):s().createElement(u.Typography.Text,{type:"secondary"},n("Select a role to configure permissions")))))}}}]);