@nocobase/plugin-acl 1.6.0-beta.9 → 1.7.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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 SwitchRole: () => 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
- "use strict";(self.webpackChunk_nocobase_plugin_acl=self.webpackChunk_nocobase_plugin_acl||[]).push([["733"],{594:function(e,t,r){r.r(t),r.d(t,{RolesManagement:function(){return M}});var n=r("505"),o=r("772"),a=r("721"),l=r("156"),i=r.n(l),c=r("590"),u=r("888"),s=r("875"),f=function(){var e=(0,u.g)().t;return i().createElement(o.SchemaComponent,{scope:{t:e},schema:{type:"void",properties:{newRole:{type:"void",title:e("New role"),"x-component":"Action","x-component-props":{type:"text",icon:"PlusOutlined",style:{width:"100%",textAlign:"left"}},properties:{drawer:{type:"void","x-component":"Action.Drawer","x-decorator":"Form","x-decorator-props":{useValues:function(e){var t,r,n=(0,o.useActionContext)();return(0,o.useRequest)(function(){return Promise.resolve({data:{name:"r_".concat((0,s.uid)()),snippets:["!ui.*","!pm","!pm.*"]}})},(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={refreshDeps:[n.visible]},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))}},title:e("New role"),properties:{title:{"x-component":"CollectionField","x-decorator":"FormItem"},name:{"x-component":"CollectionField","x-decorator":"FormItem",description:'{{t("Randomly generated and can be modified. Support letters, numbers and underscores, must start with an letter.")}}'},default:{"x-component":"CollectionField","x-decorator":"FormItem",title:"","x-content":'{{t("Default role")}}'},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:"{{ cm.useCreateAction }}"}}}}}}}}}}})},p=r("746"),m=r("482"),y=r("467");function d(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var b={type:"object",properties:d({},(0,s.uid)(),{type:"void","x-component":"Action.Drawer","x-decorator":"Form","x-decorator-props":{useValues:function(e){var t,r,n=(0,o.useRecord)();var a=(0,o.useRequest)(function(){return Promise.resolve({data:(0,y.pick)(n,["title","name","default"])})},(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){d(e,t,r[t])})}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)),i=(0,o.useActionContext)();return(0,l.useEffect)(function(){i.visible&&a.run()},[i.visible]),a}},title:'{{t("Edit role")}}',properties:{title:{"x-component":"CollectionField","x-decorator":"FormItem"},name:{"x-component":"CollectionField","x-decorator":"FormItem","x-disabled":!0},default:{title:"","x-component":"CollectionField","x-decorator":"FormItem","x-content":'{{t("Default role")}}',"x-reactions":function(e){e.initialValue?e.disabled=!0:e.disabled=!1}},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:"{{ cm.useUpdateAction }}"}}}}}})};function v(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 h=function(e){var t,r,n=e.loadMore;var o=(t=(0,l.useState)(null),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=[],l=!0,i=!1;try{for(o=o.call(e);!(l=(r=o.next()).done)&&(a.push(r.value),!t||a.length!==t);l=!0);}catch(e){i=!0,n=e}finally{try{!l&&null!=o.return&&o.return()}finally{if(i)throw n}}return a}}(t,2)||function(e,t){if(e){if("string"==typeof e)return v(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 v(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],i=o[1],c=(0,l.useRef)(null),u=(0,l.useCallback)(function(e){if(!!e)c.current&&c.current.disconnect(),c.current=new IntersectionObserver(function(t){t.forEach(function(t){if(t.target===e.current)t.isIntersecting&&(c.current&&c.current.unobserve(e.current),n())})}),e.current&&c.current&&c.current.observe(e.current)},[n]);return(0,l.useEffect)(function(){return u(a),function(){c.current&&c.current.disconnect()}},[a,u]),{lastItem:a,setLastItem:i}};function g(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 O(e,t,r,n,o,a,l){try{var i=e[a](l),c=i.value}catch(e){r(e);return}i.done?t(c):Promise.resolve(c).then(n,o)}function w(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var a=e.apply(t,r);function l(e){O(a,n,o,l,i,"next",e)}function i(e){O(a,n,o,l,i,"throw",e)}l(void 0)})}}function x(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r,n,o=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var a=[],l=!0,i=!1;try{for(o=o.call(e);!(l=(r=o.next()).done)&&(a.push(r.value),!t||a.length!==t);l=!0);}catch(e){i=!0,n=e}finally{try{!l&&null!=o.return&&o.return()}finally{if(i)throw n}}return a}}(e,t)||A(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 E(e){return function(e){if(Array.isArray(e))return g(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||A(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.")}()}function A(e,t){if(e){if("string"==typeof e)return g(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 g(e,t)}}function S(e,t){var r,n,o,a,l={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(;l;)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 l.label++,{value:a[1],done:!1};case 5:l.label++,n=a[1],a=[0];continue;case 7:a=l.ops.pop(),l.trys.pop();continue;default:if(!(o=(o=l.trys).length>0&&o[o.length-1])&&(6===a[0]||2===a[0])){l=0;continue}if(3===a[0]&&(!o||a[1]>o[0]&&a[1]<o[3])){l.label=a[1];break}if(6===a[0]&&l.label<o[1]){l.label=o[1],o=a;break}if(o&&l.label<o[2]){l.label=o[2],l.ops.push(a);break}o[2]&&l.ops.pop(),l.trys.pop();continue}a=t.call(e,l)}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])}}}var j=function(){var e=(0,u.g)().t,t=(0,o.useResourceActionContext)(),r=t.data,n=t.mutate,c=x((0,l.useState)(!1),2),s=c[0],f=c[1],m=x((0,l.useState)(null),2),y=m[0],d=m[1],v=(0,l.useContext)(p.T),g=v.role,O=v.setRole,A=x((0,l.useState)([]),2),P=A[0],C=A[1],I=x((0,l.useState)(!1),2),k=I[0],D=I[1],R=(0,o.useAPIClient)(),T=h({loadMore:(0,l.useCallback)(w(function(){var e,t;return S(this,function(o){switch(o.label){case 0:if(!(e=null==r?void 0:r.meta)||e.page>=e.totalPage)return[2];return D(!0),[4,R.resource("roles").list({page:e.page+1,pageSize:e.pageSize,filter:{"name.$ne":"root"},showAnonymous:!0,sort:["createdAt"],appends:[]})];case 1:return n((null==(t=o.sent())?void 0:t.data)||{}),D(!1),[2]}})}),[r])}),F=T.lastItem,M=T.setLastItem;(0,l.useEffect)(function(){if(!!P[0])O(P[0])},[P,O]),(0,l.useEffect)(function(){var e,t;if(!!(null==r?void 0:null===(e=r.data)||void 0===e?void 0:e.length))M(i().createRef()),(null===(t=r.meta)||void 0===t?void 0:t.page)>1?C(function(e){return e.concat(r.data)}):C(r.data)},[r,M]);var U=(0,l.useMemo)(function(){return P.map(function(e,t){return{key:e.name,label:t===P.length-1?i().createElement("div",{ref:F},i().createElement(j.Item,{item:e,onEdit:function(){f(!0),d(e)}})):i().createElement(j.Item,{item:e,onEdit:function(){f(!0),d(e)}})}})},[P,F]);return i().createElement(i().Fragment,null,P.length?i().createElement(a.Menu,{style:{border:"none",maxHeight:"65vh",overflowY:"auto"},items:E(U).concat(E(k?[{key:"loading",label:i().createElement(a.Spin,null)}]:[])),selectedKeys:[null==g?void 0:g.name],onSelect:function(e){var t=e.key;O(P.find(function(e){return e.name===t}))}}):i().createElement(a.Empty,{image:a.Empty.PRESENTED_IMAGE_SIMPLE}),i().createElement(o.ActionContextProvider,{value:{visible:s,setVisible:f}},i().createElement(o.RecordProvider,{record:y,collectionName:"departments"},i().createElement(o.SchemaComponent,{scope:{t:e},schema:b}))))};j.Item=function(e){var t=e.item,r=e.onEdit,l=(0,u.g)().t,c=(0,o.useResourceActionContext)().refreshAsync,s=a.App.useApp(),f=s.modal,p=s.message,y=(0,o.useAPIClient)(),d=function(){f.confirm({title:l("Delete"),content:l("Are you sure you want to delete it?"),onOk:w(function(){return S(this,function(e){switch(e.label){case 0:return[4,y.resource("roles").destroy({filterByTk:t.name})];case 1:return e.sent(),p.success(l("Deleted successfully")),[4,c()];case 2:return e.sent(),[2]}})})})},b=n.Schema.compile(t.title,{t:l});return i().createElement(a.Row,null,i().createElement(a.Col,{flex:3,style:{display:"inline-flex",alignItems:"center"}},i().createElement("span",{style:{whiteSpace:"nowrap",width:"120px",overflow:"hidden",textOverflow:"ellipsis"}},i().createElement(m.TagOutlined,null),i().createElement("span",{style:{marginLeft:"10px"},title:b},b))),i().createElement(a.Col,null,t.default?i().createElement(a.Tag,{color:"success",bordered:!1},l("Default")):null,i().createElement(a.Dropdown,{menu:{items:[{label:l("Edit"),key:"edit"},{label:l("Delete"),key:"delete"}],onClick:function(e){var t=e.key;switch(e.domEvent.stopPropagation(),t){case"edit":r();break;case"delete":d()}}}},i().createElement(m.MoreOutlined,null))))};var P=r("844");function C(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 I=function(e){return i().createElement("div",{style:{maxHeight:"60vh",overflowY:"auto"}},e.children)},k=function(e){var t,r,n=e.active,s=(0,u.g)().t;var f=(t=i().useState("general"),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=[],l=!0,i=!1;try{for(o=o.call(e);!(l=(r=o.next()).done)&&(a.push(r.value),!t||a.length!==t);l=!0);}catch(e){i=!0,n=e}finally{try{!l&&null!=o.return&&o.return()}finally{if(i)throw n}}return a}}(t,2)||function(e,t){if(e){if("string"==typeof e)return C(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 C(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.")}()),m=f[0],y=f[1],d=(0,l.useContext)(p.T),b=d.role,v=d.setRole,h=(0,o.usePlugin)(c.default),g=(0,o.useACLRoleContext)(),O=(0,l.useMemo)(function(){return h.settingsUI.getPermissionsTabs({t:s,activeKey:m,TabLayout:I,activeRole:b,currentUserRole:g}).filter(Boolean)},[m,h.settingsUI,b,s,g]),w=(0,o.useAPIClient)(),x=(0,o.useRequest)(function(){return w.resource("roles").get({filterByTk:null==b?void 0:b.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}),n})},{ready:n&&!!b,refreshDeps:[null==b?void 0:b.name]}).data;return(0,l.useEffect)(function(){y("general")},[null==b?void 0:b.name]),(0,l.useEffect)(function(){v(x)},[x,v]),i().createElement(P.U,null,i().createElement(a.Tabs,{type:"card",activeKey:m,onChange:function(e){return y(e)},items:O}))};function D(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 R(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r,n,o=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var a=[],l=!0,i=!1;try{for(o=o.call(e);!(l=(r=o.next()).done)&&(a.push(r.value),!t||a.length!==t);l=!0);}catch(e){i=!0,n=e}finally{try{!l&&null!=o.return&&o.return()}finally{if(i)throw n}}return a}}(e,t)||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 T(e,t){if(e){if("string"==typeof e)return D(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 D(e,t)}}var F={name:"roles",filterTargetKey:"name",targetKey:"name",fields:[{type:"string",name:"title",interface:"input",uiSchema:{title:'{{t("Role display name")}}',type:"number","x-component":"Input",required:!0}},{type:"string",name:"name",interface:"input",uiSchema:{title:'{{t("Role UID")}}',type:"string","x-component":"Input"}},{type:"boolean",name:"default",interface:"boolean",uiSchema:{title:'{{t("Default role")}}',type:"boolean","x-component":"Checkbox"}}]},M=function(){var e,t=(0,u.g)().t,r=(0,o.usePlugin)(c.default),s=R(i().useState("permissions"),2),m=s[0],y=s[1],d=Array.from(r.rolesManager.list()).map(function(e){var r=R(e,2),o=r[0],a=r[1];return{key:o,label:n.Schema.compile(a.title,{t:t}),children:a.Component?i().createElement(a.Component,{active:m===o}):null}}),b=R((0,l.useState)(null),2),v=b[0],h=b[1],g=(0,o.useSchemaComponentContext)(),O=(0,l.useMemo)(function(){var e,t;return e=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}({},g),t=(t={designable:!1},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},[g]);return i().createElement(o.SchemaComponentContext.Provider,{value:O},i().createElement(p.T.Provider,{value:{role:v,setRole:h}},i().createElement(a.Card,null,i().createElement(a.Row,{gutter:24,style:{flexWrap:"nowrap"}},i().createElement(a.Col,{flex:"280px",style:{borderRight:"1px solid #eee",minWidth:"250px"}},i().createElement(o.ResourceActionProvider,{collection:F,request:{resource:"roles",action:"list",params:{filter:{"name.$ne":"root"},showAnonymous:!0,sort:["createdAt"],appends:[]}}},i().createElement(o.CollectionProvider_deprecated,{collection:F},i().createElement(a.Row,null,i().createElement(f,null)),i().createElement(a.Divider,{style:{margin:"12px 0"}}),i().createElement(j,null)))),i().createElement(a.Col,{flex:"auto",style:{overflow:"hidden"}},i().createElement(a.Tabs,{activeKey:m,onChange:function(e){return y(e)},items:[{key:"permissions",label:t("Permissions"),children:i().createElement(k,{active:"permissions"===m})}].concat(function(e){if(Array.isArray(e))return D(e)}(e=d)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||T(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.")}())}))))))}},844:function(e,t,r){r.d(t,{U:function(){return c},r:function(){return u}});var n=r(772),o=r(721),a=r(156),l=r.n(a),i=(0,a.createContext)([]);i.displayName="AvailableActionsContext";var c=function(e){var t=(0,n.useRequest)({resource:"availableActions",action:"list"}),r=t.data;return t.loading?l().createElement(o.Spin,null):l().createElement(i.Provider,{value:null==r?void 0:r.data},e.children)},u=function(){return(0,a.useContext)(i)}},888:function(e,t,r){r.d(t,{g:function(){return o}});var n=r(238);function o(){return(0,n.useTranslation)(["@nocobase/plugin-acl","client"],{nsMode:"fallback"})}}}]);
10
+ "use strict";(self.webpackChunk_nocobase_plugin_acl=self.webpackChunk_nocobase_plugin_acl||[]).push([["733"],{594:function(e,t,r){r.r(t),r.d(t,{RolesManagement:function(){return M}});var n=r("505"),o=r("772"),a=r("721"),l=r("156"),i=r.n(l),c=r("371"),u=r("888"),s=r("875"),f=function(){var e=(0,u.g)().t;return i().createElement(o.SchemaComponent,{scope:{t:e},schema:{type:"void",properties:{newRole:{type:"void",title:e("New role"),"x-component":"Action","x-component-props":{type:"text",icon:"PlusOutlined",style:{width:"100%",textAlign:"left"}},properties:{drawer:{type:"void","x-component":"Action.Drawer","x-decorator":"Form","x-decorator-props":{useValues:function(e){var t,r,n=(0,o.useActionContext)();return(0,o.useRequest)(function(){return Promise.resolve({data:{name:"r_".concat((0,s.uid)()),snippets:["!ui.*","!pm","!pm.*"]}})},(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={refreshDeps:[n.visible]},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))}},title:e("New role"),properties:{title:{"x-component":"CollectionField","x-decorator":"FormItem"},name:{"x-component":"CollectionField","x-decorator":"FormItem",description:'{{t("Randomly generated and can be modified. Support letters, numbers and underscores, must start with an letter.")}}'},default:{"x-component":"CollectionField","x-decorator":"FormItem",title:"","x-content":'{{t("Default role")}}'},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:"{{ cm.useCreateAction }}"}}}}}}}}}}})},p=r("746"),m=r("482"),y=r("467");function d(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var b={type:"object",properties:d({},(0,s.uid)(),{type:"void","x-component":"Action.Drawer","x-decorator":"Form","x-decorator-props":{useValues:function(e){var t,r,n=(0,o.useRecord)();var a=(0,o.useRequest)(function(){return Promise.resolve({data:(0,y.pick)(n,["title","name","default"])})},(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){d(e,t,r[t])})}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)),i=(0,o.useActionContext)();return(0,l.useEffect)(function(){i.visible&&a.run()},[i.visible]),a}},title:'{{t("Edit role")}}',properties:{title:{"x-component":"CollectionField","x-decorator":"FormItem"},name:{"x-component":"CollectionField","x-decorator":"FormItem","x-disabled":!0},default:{title:"","x-component":"CollectionField","x-decorator":"FormItem","x-content":'{{t("Default role")}}',"x-reactions":function(e){e.initialValue?e.disabled=!0:e.disabled=!1}},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:"{{ cm.useUpdateAction }}"}}}}}})};function v(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 h=function(e){var t,r,n=e.loadMore;var o=(t=(0,l.useState)(null),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=[],l=!0,i=!1;try{for(o=o.call(e);!(l=(r=o.next()).done)&&(a.push(r.value),!t||a.length!==t);l=!0);}catch(e){i=!0,n=e}finally{try{!l&&null!=o.return&&o.return()}finally{if(i)throw n}}return a}}(t,2)||function(e,t){if(e){if("string"==typeof e)return v(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 v(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],i=o[1],c=(0,l.useRef)(null),u=(0,l.useCallback)(function(e){if(!!e)c.current&&c.current.disconnect(),c.current=new IntersectionObserver(function(t){t.forEach(function(t){if(t.target===e.current)t.isIntersecting&&(c.current&&c.current.unobserve(e.current),n())})}),e.current&&c.current&&c.current.observe(e.current)},[n]);return(0,l.useEffect)(function(){return u(a),function(){c.current&&c.current.disconnect()}},[a,u]),{lastItem:a,setLastItem:i}};function g(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 O(e,t,r,n,o,a,l){try{var i=e[a](l),c=i.value}catch(e){r(e);return}i.done?t(c):Promise.resolve(c).then(n,o)}function w(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var a=e.apply(t,r);function l(e){O(a,n,o,l,i,"next",e)}function i(e){O(a,n,o,l,i,"throw",e)}l(void 0)})}}function x(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r,n,o=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var a=[],l=!0,i=!1;try{for(o=o.call(e);!(l=(r=o.next()).done)&&(a.push(r.value),!t||a.length!==t);l=!0);}catch(e){i=!0,n=e}finally{try{!l&&null!=o.return&&o.return()}finally{if(i)throw n}}return a}}(e,t)||A(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 E(e){return function(e){if(Array.isArray(e))return g(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||A(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.")}()}function A(e,t){if(e){if("string"==typeof e)return g(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 g(e,t)}}function S(e,t){var r,n,o,a,l={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(;l;)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 l.label++,{value:a[1],done:!1};case 5:l.label++,n=a[1],a=[0];continue;case 7:a=l.ops.pop(),l.trys.pop();continue;default:if(!(o=(o=l.trys).length>0&&o[o.length-1])&&(6===a[0]||2===a[0])){l=0;continue}if(3===a[0]&&(!o||a[1]>o[0]&&a[1]<o[3])){l.label=a[1];break}if(6===a[0]&&l.label<o[1]){l.label=o[1],o=a;break}if(o&&l.label<o[2]){l.label=o[2],l.ops.push(a);break}o[2]&&l.ops.pop(),l.trys.pop();continue}a=t.call(e,l)}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])}}}var j=function(){var e=(0,u.g)().t,t=(0,o.useResourceActionContext)(),r=t.data,n=t.mutate,c=x((0,l.useState)(!1),2),s=c[0],f=c[1],m=x((0,l.useState)(null),2),y=m[0],d=m[1],v=(0,l.useContext)(p.T),g=v.role,O=v.setRole,A=x((0,l.useState)([]),2),P=A[0],C=A[1],I=x((0,l.useState)(!1),2),k=I[0],D=I[1],R=(0,o.useAPIClient)(),T=h({loadMore:(0,l.useCallback)(w(function(){var e,t;return S(this,function(o){switch(o.label){case 0:if(!(e=null==r?void 0:r.meta)||e.page>=e.totalPage)return[2];return D(!0),[4,R.resource("roles").list({page:e.page+1,pageSize:e.pageSize,filter:{"name.$ne":"root"},showAnonymous:!0,sort:["createdAt"],appends:[]})];case 1:return n((null==(t=o.sent())?void 0:t.data)||{}),D(!1),[2]}})}),[r])}),F=T.lastItem,M=T.setLastItem;(0,l.useEffect)(function(){if(!!P[0])O(P[0])},[P,O]),(0,l.useEffect)(function(){var e,t;if(!!(null==r?void 0:null===(e=r.data)||void 0===e?void 0:e.length))M(i().createRef()),(null===(t=r.meta)||void 0===t?void 0:t.page)>1?C(function(e){return e.concat(r.data)}):C(r.data)},[r,M]);var U=(0,l.useMemo)(function(){return P.map(function(e,t){return{key:e.name,label:t===P.length-1?i().createElement("div",{ref:F},i().createElement(j.Item,{item:e,onEdit:function(){f(!0),d(e)}})):i().createElement(j.Item,{item:e,onEdit:function(){f(!0),d(e)}})}})},[P,F]);return i().createElement(i().Fragment,null,P.length?i().createElement(a.Menu,{style:{border:"none",maxHeight:"65vh",overflowY:"auto"},items:E(U).concat(E(k?[{key:"loading",label:i().createElement(a.Spin,null)}]:[])),selectedKeys:[null==g?void 0:g.name],onSelect:function(e){var t=e.key;O(P.find(function(e){return e.name===t}))}}):i().createElement(a.Empty,{image:a.Empty.PRESENTED_IMAGE_SIMPLE}),i().createElement(o.ActionContextProvider,{value:{visible:s,setVisible:f}},i().createElement(o.RecordProvider,{record:y,collectionName:"departments"},i().createElement(o.SchemaComponent,{scope:{t:e},schema:b}))))};j.Item=function(e){var t=e.item,r=e.onEdit,l=(0,u.g)().t,c=(0,o.useResourceActionContext)().refreshAsync,s=a.App.useApp(),f=s.modal,p=s.message,y=(0,o.useAPIClient)(),d=function(){f.confirm({title:l("Delete"),content:l("Are you sure you want to delete it?"),onOk:w(function(){return S(this,function(e){switch(e.label){case 0:return[4,y.resource("roles").destroy({filterByTk:t.name})];case 1:return e.sent(),p.success(l("Deleted successfully")),[4,c()];case 2:return e.sent(),[2]}})})})},b=n.Schema.compile(t.title,{t:l});return i().createElement(a.Row,null,i().createElement(a.Col,{flex:3,style:{display:"inline-flex",alignItems:"center"}},i().createElement("span",{style:{whiteSpace:"nowrap",width:"120px",overflow:"hidden",textOverflow:"ellipsis"}},i().createElement(m.TagOutlined,null),i().createElement("span",{style:{marginLeft:"10px"},title:b},b))),i().createElement(a.Col,null,t.default?i().createElement(a.Tag,{color:"success",bordered:!1},l("Default")):null,i().createElement(a.Dropdown,{menu:{items:[{label:l("Edit"),key:"edit"},{label:l("Delete"),key:"delete"}],onClick:function(e){var t=e.key;switch(e.domEvent.stopPropagation(),t){case"edit":r();break;case"delete":d()}}}},i().createElement(m.MoreOutlined,null))))};var P=r("844");function C(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 I=function(e){return i().createElement("div",{style:{maxHeight:"60vh",overflowY:"auto"}},e.children)},k=function(e){var t,r,n=e.active,s=(0,u.g)().t;var f=(t=i().useState("general"),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=[],l=!0,i=!1;try{for(o=o.call(e);!(l=(r=o.next()).done)&&(a.push(r.value),!t||a.length!==t);l=!0);}catch(e){i=!0,n=e}finally{try{!l&&null!=o.return&&o.return()}finally{if(i)throw n}}return a}}(t,2)||function(e,t){if(e){if("string"==typeof e)return C(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 C(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.")}()),m=f[0],y=f[1],d=(0,l.useContext)(p.T),b=d.role,v=d.setRole,h=(0,o.usePlugin)(c.default),g=(0,o.useACLRoleContext)(),O=(0,l.useMemo)(function(){return h.settingsUI.getPermissionsTabs({t:s,activeKey:m,TabLayout:I,activeRole:b,currentUserRole:g}).filter(Boolean)},[m,h.settingsUI,b,s,g]),w=(0,o.useAPIClient)(),x=(0,o.useRequest)(function(){return w.resource("roles").get({filterByTk:null==b?void 0:b.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}),n})},{ready:n&&!!b,refreshDeps:[null==b?void 0:b.name]}).data;return(0,l.useEffect)(function(){y("general")},[null==b?void 0:b.name]),(0,l.useEffect)(function(){v(x)},[x,v]),i().createElement(P.U,null,i().createElement(a.Tabs,{type:"card",activeKey:m,onChange:function(e){return y(e)},items:O}))};function D(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 R(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r,n,o=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var a=[],l=!0,i=!1;try{for(o=o.call(e);!(l=(r=o.next()).done)&&(a.push(r.value),!t||a.length!==t);l=!0);}catch(e){i=!0,n=e}finally{try{!l&&null!=o.return&&o.return()}finally{if(i)throw n}}return a}}(e,t)||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 T(e,t){if(e){if("string"==typeof e)return D(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 D(e,t)}}var F={name:"roles",filterTargetKey:"name",targetKey:"name",fields:[{type:"string",name:"title",interface:"input",uiSchema:{title:'{{t("Role display name")}}',type:"number","x-component":"Input",required:!0}},{type:"string",name:"name",interface:"input",uiSchema:{title:'{{t("Role UID")}}',type:"string","x-component":"Input"}},{type:"boolean",name:"default",interface:"boolean",uiSchema:{title:'{{t("Default role")}}',type:"boolean","x-component":"Checkbox"}}]},M=function(){var e,t=(0,u.g)().t,r=(0,o.usePlugin)(c.default),s=R(i().useState("permissions"),2),m=s[0],y=s[1],d=Array.from(r.rolesManager.list()).map(function(e){var r=R(e,2),o=r[0],a=r[1];return{key:o,label:n.Schema.compile(a.title,{t:t}),children:a.Component?i().createElement(a.Component,{active:m===o}):null}}),b=R((0,l.useState)(null),2),v=b[0],h=b[1],g=(0,o.useSchemaComponentContext)(),O=(0,l.useMemo)(function(){var e,t;return e=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}({},g),t=(t={designable:!1},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},[g]);return i().createElement(o.SchemaComponentContext.Provider,{value:O},i().createElement(p.T.Provider,{value:{role:v,setRole:h}},i().createElement(a.Card,null,i().createElement(a.Row,{gutter:24,style:{flexWrap:"nowrap"}},i().createElement(a.Col,{flex:"280px",style:{borderRight:"1px solid #eee",minWidth:"250px"}},i().createElement(o.ResourceActionProvider,{collection:F,request:{resource:"roles",action:"list",params:{filter:{"name.$ne":"root"},showAnonymous:!0,sort:["createdAt"],appends:[]}}},i().createElement(o.CollectionProvider_deprecated,{collection:F},i().createElement(a.Row,null,i().createElement(f,null)),i().createElement(a.Divider,{style:{margin:"12px 0"}}),i().createElement(j,null)))),i().createElement(a.Col,{flex:"auto",style:{overflow:"hidden"}},i().createElement(a.Tabs,{activeKey:m,onChange:function(e){return y(e)},items:[{key:"permissions",label:t("Permissions"),children:i().createElement(k,{active:"permissions"===m})}].concat(function(e){if(Array.isArray(e))return D(e)}(e=d)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||T(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.")}())}))))))}},844:function(e,t,r){r.d(t,{U:function(){return c},r:function(){return u}});var n=r(772),o=r(721),a=r(156),l=r.n(a),i=(0,a.createContext)([]);i.displayName="AvailableActionsContext";var c=function(e){var t=(0,n.useRequest)({resource:"availableActions",action:"list"}),r=t.data;return t.loading?l().createElement(o.Spin,null):l().createElement(i.Provider,{value:null==r?void 0:r.data},e.children)},u=function(){return(0,a.useContext)(i)}},888:function(e,t,r){r.d(t,{g:function(){return o}});var n=r(238);function o(){return(0,n.useTranslation)(["@nocobase/plugin-acl","client"],{nsMode:"fallback"})}}}]);
@@ -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("react-i18next"),require("@formily/shared"),require("@nocobase/utils/client"),require("@formily/core"),require("lodash"),require("@nocobase/client"),require("ahooks"),require("antd"),require("@ant-design/icons"),require("@formily/react"),require("antd-style"),require("react")):"function"==typeof define&&define.amd?define("@nocobase/plugin-acl",["react-i18next","@formily/shared","@nocobase/utils/client","@formily/core","lodash","@nocobase/client","ahooks","antd","@ant-design/icons","@formily/react","antd-style","react"],t):"object"==typeof exports?exports["@nocobase/plugin-acl"]=t(require("react-i18next"),require("@formily/shared"),require("@nocobase/utils/client"),require("@formily/core"),require("lodash"),require("@nocobase/client"),require("ahooks"),require("antd"),require("@ant-design/icons"),require("@formily/react"),require("antd-style"),require("react")):e["@nocobase/plugin-acl"]=t(e["react-i18next"],e["@formily/shared"],e["@nocobase/utils/client"],e["@formily/core"],e.lodash,e["@nocobase/client"],e.ahooks,e.antd,e["@ant-design/icons"],e["@formily/react"],e["antd-style"],e.react)}(self,function(e,t,n,r,o,i,u,a,c,l,s,f){return function(){var p,d,b,y,h,m,v={746:function(e,t,n){"use strict";n.d(t,{T:function(){return r}});var r=(0,n(156).createContext)({role:null});r.displayName="RolesManagerContext"},509:function(e,t,n){"use strict";n.r(t),n.d(t,{DesktopAllRoutesProvider:function(){return E},MenuPermissions:function(){return q}});var r=n(563),o=n(875),i=n(772),u=n(749),a=n(721),c=n(467),l=n(156),s=n.n(l),f=n(238),p=n(746);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 b(e,t,n,r,o,i,u){try{var a=e[i](u),c=a.value}catch(e){n(e);return}a.done?t(c):Promise.resolve(c).then(r,o)}function y(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var i=e.apply(t,n);function u(e){b(i,r,o,u,a,"next",e)}function a(e){b(i,r,o,u,a,"throw",e)}u(void 0)})}}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){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}function m(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 v(e){return function(e){if(Array.isArray(e))return d(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||g(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.")}()}function g(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 w(e,t){var n,r,o,i,u={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function a(i){return function(a){return function(i){if(n)throw TypeError("Generator is already executing.");for(;u;)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 u.label++,{value:i[1],done:!1};case 5:u.label++,r=i[1],i=[0];continue;case 7:i=u.ops.pop(),u.trys.pop();continue;default:if(!(o=(o=u.trys).length>0&&o[o.length-1])&&(6===i[0]||2===i[0])){u=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){u.label=i[1];break}if(6===i[0]&&u.label<o[1]){u.label=o[1],o=i;break}if(o&&u.label<o[2]){u.label=o[2],u.ops.push(i);break}o[2]&&u.ops.pop(),u.trys.pop();continue}i=t.call(e,u)}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,a])}}}function x(){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 x=function(){return n},n}var O=function(e,t){return Array.isArray(e)?e.map(function(e){var n,r=O(e.children,e),o=0===r.length;return{title:e.title,id:e.id,children:o?null:r,hideChildren:o,firstTabId:null===(n=r[0])||void 0===n?void 0:n.id,parent:t}}):[]},k=function(e){if(!Array.isArray(e))return[];var t=[],n=!0,r=!1,o=void 0;try{for(var i,u=e[Symbol.iterator]();!(n=(i=u.next()).done);n=!0){var a=i.value;t.push(a.id),t.push.apply(t,v(k(a.children)))}}catch(e){r=!0,o=e}finally{try{!n&&null!=u.return&&u.return()}finally{if(r)throw o}}return t},P=(0,i.css)(x()),j=function(e,t,n){return e.map(function(e){var r,o=(null===(r=e.title)||void 0===r?void 0:r.match(/^\s*\{\{\s*.+?\s*\}\}\s*$/))?n(e.title):t(e.title);return e.children?m(h({},e),{title:o,children:j(e.children,t,n)}):m(h({},e),{title:o})})},_=(0,l.createContext)({routeList:[]}),S=function(e){var t=e.children,n=e.refreshRef,r=(0,i.useAPIClient)(),o=(0,l.useMemo)(function(){return r.resource("desktopRoutes")},[r]),u=(0,i.useRequest)(function(){return o.list({tree:!0,sort:"sort",paginate:!1,filter:{hidden:{$ne:!0}}}).then(function(e){return e.data})},{manual:!0}),a=u.data,c=u.runAsync;n&&(n.current=c);var f=(0,l.useMemo)(function(){return(null==a?void 0:a.data)||[]},[a]),p=(0,l.useMemo)(function(){return{routeList:f}},[f]);return s().createElement(_.Provider,{value:p},t)},E=function(e){var t=e.children,n=e.active,r=s().useRef(function(){});return(0,l.useEffect)(function(){if(n){var e;null===(e=r.current)||void 0===e||e.call(r)}},[n]),s().createElement(S,{refreshRef:r},t)},q=function(e){var t,n,d,b,m,x=e.active,S=O((0,l.useContext)(_).routeList),E=(0,l.useContext)(p.T),q=E.role,T=E.setRole,C=(0,i.useAPIClient)(),A=(0,f.useTranslation)().t,M=k(S);var R=(t=(0,l.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 i=[],u=!0,a=!1;try{for(o=o.call(e);!(u=(n=o.next()).done)&&(i.push(n.value),!t||i.length!==t);u=!0);}catch(e){a=!0,r=e}finally{try{!u&&null!=o.return&&o.return()}finally{if(a)throw r}}return i}}(t,2)||g(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.")}()),I=R[0],F=R[1],z=(0,i.useRequest)({resource:"roles.desktopRoutes",resourceOf:q.name,action:"list",params:{paginate:!1,filter:{hidden:{$ne:!0}}}},{ready:!!q&&x,refreshDeps:[null==q?void 0:q.name],onSuccess:function(e){var t;F((null==e?void 0:null===(t=e.data)||void 0===t?void 0:t.map(function(e){return e.id}))||[])}}),L=z.loading,D=z.refresh,N=C.resource("roles.desktopRoutes",q.name),B=M.length===I.length;var G=(d=y(function(e,t){var n,r,o,i,u,l,s,f;return w(this,function(p){switch(p.label){case 0:if(!e)return[3,2];return n=I.filter(function(e){return e!==t.id}),r=[t.id],t.parent&&0===t.parent.children.filter(function(e){return n.includes(e.id)}).length&&(n=n.filter(function(e){return e!==t.parent.id}),r.push(t.parent.id)),t.children&&(n=n.filter(function(e){return!k(t.children).includes(e)}),(o=r).push.apply(o,v(k(t.children)))),F(n),[4,N.remove({values:r})];case 1:return p.sent(),[3,4];case 2:return i=v(I).concat([t.id]),u=[t.id],t.parent&&!i.includes(t.parent.id)&&(i.push(t.parent.id),u.push(t.parent.id)),t.children&&(f=k(t.children),(l=i).push.apply(l,v(f)),(s=u).push.apply(s,v(f))),F((0,c.uniq)(i)),[4,N.add({values:u})];case 3:p.sent(),p.label=4;case 4:return a.message.success(A("Saved successfully")),[2]}})}),function(e,t){return d.apply(this,arguments)});var $=(0,u.useMemoizedFn)((b=y(function(e){return w(this,function(t){switch(t.label){case 0:return[4,C.resource("roles").update({filterByTk:q.name,values:e.values})];case 1:return t.sent(),T(h({},q,e.values)),a.message.success(A("Saved successfully")),[2]}})}),function(e){return b.apply(this,arguments)})),K=(0,l.useMemo)(function(){return(0,r.createForm)({values:q,effects:function(){var e;(0,r.onFormValuesChange)((e=y(function(e){return w(this,function(t){switch(t.label){case 0:return[4,$(e)];case 1:return t.sent(),[2]}})}),function(t){return e.apply(this,arguments)}))}})},[q,$]),U=(0,i.useCompile)();return s().createElement(s().Fragment,null,s().createElement(i.SchemaComponent,{schema:{type:"void",name:(0,o.uid)(),"x-component":"FormV2","x-component-props":{form:K},properties:{allowNewMenu:{title:A("Route permissions"),"x-decorator":"FormItem","x-component":"Checkbox","x-content":A("New routes are allowed to be accessed by default")}}}}),s().createElement(a.Table,{className:P,loading:L,rowKey:"id",pagination:!1,expandable:{defaultExpandAllRows:!1},columns:[{dataIndex:"title",title:A("Route name")},{dataIndex:"accessible",title:s().createElement(s().Fragment,null,s().createElement(a.Checkbox,{checked:B,onChange:(m=y(function(e){return w(this,function(e){switch(e.label){case 0:if(!B)return[3,2];return[4,N.set({values:[]})];case 1:return e.sent(),[3,4];case 2:return[4,N.set({values:M})];case 3:e.sent(),e.label=4;case 4:return D(),a.message.success(A("Saved successfully")),[2]}})}),function(e){return m.apply(this,arguments)})})," ",A("Accessible")),render:function(e,t){var n=I.includes(t.id);return s().createElement(a.Checkbox,{checked:n,onChange:function(){return G(n,t)}})}}],dataSource:j(S,A,U)}))}},590:function(e,t,n){"use strict";n.r(t),n.d(t,{PluginACLClient:function(){return _},default:function(){return S},RolesManagerContext:function(){return y.T}});var r=n("772"),o=n("156"),i=n.n(o),u=n("509"),a=n(581);function c(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)}}var l=(0,r.lazy)(function(){return a("imported_-1r1jup3_component",n.e("837").then(n.bind(n,784)))},"GeneralPermissions").GeneralPermissions,s=(0,r.lazy)(function(){return a("imported_1qalbop_component",Promise.resolve().then(n.bind(n,509)))},"MenuPermissions").MenuPermissions,f=function(){var e,t,n;function r(){var e,t,n;!function(e,t){if(!(e instanceof t))throw TypeError("Cannot call a class as a function")}(this,r),e=this,t="permissionsTabs",n=[function(e){var t=e.t,n=e.TabLayout;return{key:"general",label:t("System"),sort:10,children:i().createElement(n,null,i().createElement(l,null))}},function(e){var t=e.activeKey,n=e.t,r=e.TabLayout;return{key:"menu",label:n("Desktop routes"),sort:20,children:i().createElement(r,null,i().createElement(u.DesktopAllRoutesProvider,{active:"menu"===t},i().createElement(s,{active:"menu"===t})))}}],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n}return e=r,t=[{key:"addPermissionsTab",value:function(e){this.permissionsTabs.push(e)}},{key:"getPermissionsTabs",value:function(e){return this.permissionsTabs.map(function(t){return"function"==typeof t?t(e):t}).sort(function(e,t){var n,r;return(null!==(n=e.sort)&&void 0!==n?n:100)-(null!==(r=t.sort)&&void 0!==r?r:100)})}}],c(e.prototype,t),r}(),p=n("584");function d(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)}}var b=function(){var e,t,n;function r(){var e,t,n;!function(e,t){if(!(e instanceof t))throw TypeError("Cannot call a class as a function")}(this,r),e=this,t="rolesManager",n=new p.Registry,t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n}return e=r,t=[{key:"add",value:function(e,t){this.rolesManager.register(e,t)}},{key:"list",value:function(){return this.rolesManager.getEntities()}}],d(e.prototype,t),r}(),y=n("746"),h=n(581);function m(e,t,n,r,o,i,u){try{var a=e[i](u),c=a.value}catch(e){n(e);return}a.done?t(c):Promise.resolve(c).then(r,o)}function v(e,t,n){return(v=P()?Reflect.construct:function(e,t,n){var r=[null];r.push.apply(r,t);var o=new(Function.bind.apply(e,r));return n&&O(o,n.prototype),o}).apply(null,arguments)}function g(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 w(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function x(e){return(x=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function O(e,t){return(O=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function k(e){var t="function"==typeof Map?new Map:void 0;return(k=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 v(e,arguments,x(this).constructor)}return r.prototype=Object.create(e.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),O(r,e)})(e)}function P(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(P=function(){return!!e})()}var j=(0,r.lazy)(function(){return h("imported_-1obaqk_component",n.e("733").then(n.bind(n,594)))},"RolesManagement").RolesManagement,_=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=x(n),w(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,P()?Reflect.construct(n,r||[],x(t).constructor):n.apply(t,r)),"rolesManager",new b),w(e,"settingsUI",new f),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&&O(e,t)}(o,e),t=o,n=[{key:"load",value:function(){var e,t=this;return(e=function(){return function(e,t){var n,r,o,i,u={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function a(i){return function(a){return function(i){if(n)throw TypeError("Generator is already executing.");for(;u;)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 u.label++,{value:i[1],done:!1};case 5:u.label++,r=i[1],i=[0];continue;case 7:i=u.ops.pop(),u.trys.pop();continue;default:if(!(o=(o=u.trys).length>0&&o[o.length-1])&&(6===i[0]||2===i[0])){u=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){u.label=i[1];break}if(6===i[0]&&u.label<o[1]){u.label=o[1],o=i;break}if(o&&u.label<o[2]){u.label=o[2],u.ops.push(i);break}o[2]&&u.ops.pop(),u.trys.pop();continue}i=t.call(e,u)}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,a])}}}(this,function(e){return t.pluginSettingsManager.add("users-permissions.roles",{title:t.t("Roles & Permissions"),icon:"LockOutlined",Component:j,aclSnippet:"pm.acl.roles",sort:3}),[2]})},function(){var t=this,n=arguments;return new Promise(function(r,o){var i=e.apply(t,n);function u(e){m(i,r,o,u,a,"next",e)}function a(e){m(i,r,o,u,a,"throw",e)}u(void 0)})})()}}],g(t.prototype,n),o}(k(r.Plugin)),S=_},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=c},563:function(e){"use strict";e.exports=r},505:function(e){"use strict";e.exports=l},875:function(e){"use strict";e.exports=t},772:function(e){"use strict";e.exports=i},584:function(e){"use strict";e.exports=n},749:function(e){"use strict";e.exports=u},721:function(e){"use strict";e.exports=a},202:function(e){"use strict";e.exports=s},467:function(e){"use strict";e.exports=o},156:function(e){"use strict";e.exports=f},238:function(t){"use strict";t.exports=e}},g={};function w(e){var t=g[e];if(void 0!==t)return t.exports;var n=g[e]={exports:{}};return v[e](n,n.exports,w),n.exports}return w.m=v,w.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return w.d(t,{a:t}),t},w.d=function(e,t){for(var n in t)w.o(t,n)&&!w.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},w.f={},w.e=function(e){return Promise.all(Object.keys(w.f).reduce(function(t,n){return w.f[n](e,t),t},[]))},w.u=function(e){return""+({733:"d0d2f3c136d7edd5",837:"de199341733ccf37"})[e]+".js"},w.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),w.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},p={},d="@nocobase/plugin-acl:",w.l=function(e,t,n,r){if(p[e]){p[e].push(t);return}if(void 0!==n){for(var o,i,u=document.getElementsByTagName("script"),a=0;a<u.length;a++){var c=u[a];if(c.getAttribute("src")==e||c.getAttribute("data-webpack")==d+n){o=c;break}}}!o&&(i=!0,(o=document.createElement("script")).charset="utf-8",o.timeout=120,w.nc&&o.setAttribute("nonce",w.nc),o.setAttribute("data-webpack",d+n),o.src=e),p[e]=[t];var l=function(t,n){o.onerror=o.onload=null,clearTimeout(s);var r=p[e];if(delete p[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)},w.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},w.p=(!(b=window.__nocobase_public_path__||"/").endsWith("/")&&(b+="/"),b+"static/plugins/@nocobase/plugin-acl/dist/client/"),y={909:0},w.f.j=function(e,t){var n=w.o(y,e)?y[e]:void 0;if(0!==n){if(n)t.push(n[2]);else{var r=new Promise(function(t,r){n=y[e]=[t,r]});t.push(n[2]=r);var o=w.p+w.u(e),i=Error();w.l(o,function(t){if(w.o(y,e)&&(0!==(n=y[e])&&(y[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)}}},h=function(e,t){var n=t[0],r=t[1],o=t[2],i,u,a=0;if(n.some(function(e){return 0!==y[e]})){for(i in r)w.o(r,i)&&(w.m[i]=r[i]);o&&o(w)}for(e&&e(t);a<n.length;a++)u=n[a],w.o(y,u)&&y[u]&&y[u][0](),y[u]=0},(m=self.webpackChunk_nocobase_plugin_acl=self.webpackChunk_nocobase_plugin_acl||[]).forEach(h.bind(null,0)),m.push=h.bind(null,m.push.bind(m)),w("590")}()});
10
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("react-i18next"),require("@formily/shared"),require("@nocobase/utils/client"),require("@formily/core"),require("@nocobase/client"),require("lodash"),require("ahooks"),require("antd"),require("@ant-design/icons"),require("@formily/react"),require("antd-style"),require("react")):"function"==typeof define&&define.amd?define("@nocobase/plugin-acl",["react-i18next","@formily/shared","@nocobase/utils/client","@formily/core","@nocobase/client","lodash","ahooks","antd","@ant-design/icons","@formily/react","antd-style","react"],t):"object"==typeof exports?exports["@nocobase/plugin-acl"]=t(require("react-i18next"),require("@formily/shared"),require("@nocobase/utils/client"),require("@formily/core"),require("@nocobase/client"),require("lodash"),require("ahooks"),require("antd"),require("@ant-design/icons"),require("@formily/react"),require("antd-style"),require("react")):e["@nocobase/plugin-acl"]=t(e["react-i18next"],e["@formily/shared"],e["@nocobase/utils/client"],e["@formily/core"],e["@nocobase/client"],e.lodash,e.ahooks,e.antd,e["@ant-design/icons"],e["@formily/react"],e["antd-style"],e.react)}(self,function(e,t,n,r,o,i,u,a,c,l,s,f){return function(){var p,d,b,h,y,m,v={746:function(e,t,n){"use strict";n.d(t,{T:function(){return r}});var r=(0,n(156).createContext)({role:null});r.displayName="RolesManagerContext"},509:function(e,t,n){"use strict";n.r(t),n.d(t,{DesktopAllRoutesProvider:function(){return E},MenuPermissions:function(){return C}});var r=n(563),o=n(875),i=n(772),u=n(749),a=n(721),c=n(467),l=n(156),s=n.n(l),f=n(238),p=n(746);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 b(e,t,n,r,o,i,u){try{var a=e[i](u),c=a.value}catch(e){n(e);return}a.done?t(c):Promise.resolve(c).then(r,o)}function h(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var i=e.apply(t,n);function u(e){b(i,r,o,u,a,"next",e)}function a(e){b(i,r,o,u,a,"throw",e)}u(void 0)})}}function y(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}function m(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 v(e){return function(e){if(Array.isArray(e))return d(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||g(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.")}()}function g(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 w(e,t){var n,r,o,i,u={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function a(i){return function(a){return function(i){if(n)throw TypeError("Generator is already executing.");for(;u;)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 u.label++,{value:i[1],done:!1};case 5:u.label++,r=i[1],i=[0];continue;case 7:i=u.ops.pop(),u.trys.pop();continue;default:if(!(o=(o=u.trys).length>0&&o[o.length-1])&&(6===i[0]||2===i[0])){u=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){u.label=i[1];break}if(6===i[0]&&u.label<o[1]){u.label=o[1],o=i;break}if(o&&u.label<o[2]){u.label=o[2],u.ops.push(i);break}o[2]&&u.ops.pop(),u.trys.pop();continue}i=t.call(e,u)}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,a])}}}function x(){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 x=function(){return n},n}var k=function(e,t){return Array.isArray(e)?e.map(function(e){var n,r=k(e.children,e),o=0===r.length;return{title:e.title,id:e.id,children:o?null:r,hideChildren:o,firstTabId:null===(n=r[0])||void 0===n?void 0:n.id,parent:t}}):[]},O=function(e){if(!Array.isArray(e))return[];var t=[],n=!0,r=!1,o=void 0;try{for(var i,u=e[Symbol.iterator]();!(n=(i=u.next()).done);n=!0){var a=i.value;t.push(a.id),t.push.apply(t,v(O(a.children)))}}catch(e){r=!0,o=e}finally{try{!n&&null!=u.return&&u.return()}finally{if(r)throw o}}return t},P=(0,i.css)(x()),j=function(e,t,n){return e.map(function(e){var r,o=((null===(r=e.title)||void 0===r?void 0:r.match(/^\s*\{\{\s*.+?\s*\}\}\s*$/))?n(e.title):t(e.title))||t("Unnamed");return e.children?m(y({},e),{title:o,children:j(e.children,t,n)}):m(y({},e),{title:o})})},S=(0,l.createContext)({routeList:[]}),_=function(e){var t=e.children,n=e.refreshRef,r=(0,i.useAPIClient)(),o=(0,l.useMemo)(function(){return r.resource("desktopRoutes")},[r]),u=(0,i.useRequest)(function(){return o.list({tree:!0,sort:"sort",paginate:!1,filter:{hidden:{$ne:!0}}}).then(function(e){return e.data})},{manual:!0}),a=u.data,c=u.runAsync;n&&(n.current=c);var f=(0,l.useMemo)(function(){return(null==a?void 0:a.data)||[]},[a]),p=(0,l.useMemo)(function(){return{routeList:f}},[f]);return s().createElement(S.Provider,{value:p},t)},E=function(e){var t=e.children,n=e.active,r=s().useRef(function(){});return(0,l.useEffect)(function(){if(n){var e;null===(e=r.current)||void 0===e||e.call(r)}},[n]),s().createElement(_,{refreshRef:r},t)},C=function(e){var t,n,d,b,m,x=e.active,_=k((0,l.useContext)(S).routeList),E=(0,l.useContext)(p.T),C=E.role,T=E.setRole,R=(0,i.useAPIClient)(),q=(0,f.useTranslation)().t,A=O(_);var M=(t=(0,l.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 i=[],u=!0,a=!1;try{for(o=o.call(e);!(u=(n=o.next()).done)&&(i.push(n.value),!t||i.length!==t);u=!0);}catch(e){a=!0,r=e}finally{try{!u&&null!=o.return&&o.return()}finally{if(a)throw r}}return i}}(t,2)||g(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.")}()),I=M[0],D=M[1],F=(0,i.useRequest)({resource:"roles.desktopRoutes",resourceOf:C.name,action:"list",params:{paginate:!1,filter:{hidden:{$ne:!0}}}},{ready:!!C&&x,refreshDeps:[null==C?void 0:C.name],onSuccess:function(e){var t;D((null==e?void 0:null===(t=e.data)||void 0===t?void 0:t.map(function(e){return e.id}))||[])}}),z=F.loading,L=F.refresh,N=R.resource("roles.desktopRoutes",C.name),G=A.length===I.length,U=(0,i.useAllAccessDesktopRoutes)().refresh;var B=(d=h(function(e,t){var n,r,o,i,u,l,s,f;return w(this,function(p){switch(p.label){case 0:if(!e)return[3,2];return n=I.filter(function(e){return e!==t.id}),r=[t.id],t.parent&&0===t.parent.children.filter(function(e){return n.includes(e.id)}).length&&(n=n.filter(function(e){return e!==t.parent.id}),r.push(t.parent.id)),t.children&&(n=n.filter(function(e){return!O(t.children).includes(e)}),(o=r).push.apply(o,v(O(t.children)))),D(n),[4,N.remove({values:r})];case 1:return p.sent(),[3,4];case 2:return i=v(I).concat([t.id]),u=[t.id],t.parent&&!i.includes(t.parent.id)&&(i.push(t.parent.id),u.push(t.parent.id)),t.children&&(f=O(t.children),(l=i).push.apply(l,v(f)),(s=u).push.apply(s,v(f))),D((0,c.uniq)(i)),[4,N.add({values:u})];case 3:p.sent(),p.label=4;case 4:return U(),a.message.success(q("Saved successfully")),[2]}})}),function(e,t){return d.apply(this,arguments)});var $=(0,u.useMemoizedFn)((b=h(function(e){return w(this,function(t){switch(t.label){case 0:return[4,R.resource("roles").update({filterByTk:C.name,values:e.values})];case 1:return t.sent(),T(y({},C,e.values)),a.message.success(q("Saved successfully")),[2]}})}),function(e){return b.apply(this,arguments)})),K=(0,l.useMemo)(function(){return(0,r.createForm)({values:C,effects:function(){var e;(0,r.onFormValuesChange)((e=h(function(e){return w(this,function(t){switch(t.label){case 0:return[4,$(e)];case 1:return t.sent(),[2]}})}),function(t){return e.apply(this,arguments)}))}})},[C,$]),V=(0,i.useCompile)();return s().createElement(s().Fragment,null,s().createElement(i.SchemaComponent,{schema:{type:"void",name:(0,o.uid)(),"x-component":"FormV2","x-component-props":{form:K},properties:{allowNewMenu:{title:q("Route permissions"),"x-decorator":"FormItem","x-component":"Checkbox","x-content":q("New routes are allowed to be accessed by default")}}}}),s().createElement(a.Table,{className:P,loading:z,rowKey:"id",pagination:!1,expandable:{defaultExpandAllRows:!1},columns:[{dataIndex:"title",title:q("Route name")},{dataIndex:"accessible",title:s().createElement(s().Fragment,null,s().createElement(a.Checkbox,{checked:G,onChange:(m=h(function(e){return w(this,function(e){switch(e.label){case 0:if(!G)return[3,2];return[4,N.set({values:[]})];case 1:return e.sent(),[3,4];case 2:return[4,N.set({values:A})];case 3:e.sent(),e.label=4;case 4:return L(),U(),a.message.success(q("Saved successfully")),[2]}})}),function(e){return m.apply(this,arguments)})})," ",q("Accessible")),render:function(e,t){var n=I.includes(t.id);return s().createElement(a.Checkbox,{checked:n,onChange:function(){return B(n,t)}})}}],dataSource:j(_,q,V)}))}},371:function(e,t,n){"use strict";n.r(t),n.d(t,{PluginACLClient:function(){return C},default:function(){return T},RolesManagerContext:function(){return v.T}});var r=n("772"),o=n("156"),i=n.n(o),u=n("509"),a=n(581);function c(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)}}var l=(0,r.lazy)(function(){return a("imported_-1r1jup3_component",n.e("837").then(n.bind(n,784)))},"GeneralPermissions").GeneralPermissions,s=(0,r.lazy)(function(){return a("imported_1qalbop_component",Promise.resolve().then(n.bind(n,509)))},"MenuPermissions").MenuPermissions,f=function(){var e,t,n;function r(){var e,t,n;!function(e,t){if(!(e instanceof t))throw TypeError("Cannot call a class as a function")}(this,r),e=this,t="permissionsTabs",n=[function(e){var t=e.t,n=e.TabLayout;return{key:"general",label:t("System"),sort:10,children:i().createElement(n,null,i().createElement(l,null))}},function(e){var t=e.activeKey,n=e.t,r=e.TabLayout;return{key:"menu",label:n("Desktop routes"),sort:20,children:i().createElement(r,null,i().createElement(u.DesktopAllRoutesProvider,{active:"menu"===t},i().createElement(s,{active:"menu"===t})))}}],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n}return e=r,t=[{key:"addPermissionsTab",value:function(e){this.permissionsTabs.push(e)}},{key:"getPermissionsTabs",value:function(e){return this.permissionsTabs.map(function(t){return"function"==typeof t?t(e):t}).sort(function(e,t){var n,r;return(null!==(n=e.sort)&&void 0!==n?n:100)-(null!==(r=t.sort)&&void 0!==r?r:100)})}}],c(e.prototype,t),r}(),p=n("584");function d(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)}}var b=function(){var e,t,n;function r(){var e,t,n;!function(e,t){if(!(e instanceof t))throw TypeError("Cannot call a class as a function")}(this,r),e=this,t="rolesManager",n=new p.Registry,t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n}return e=r,t=[{key:"add",value:function(e,t){this.rolesManager.register(e,t)}},{key:"list",value:function(){return this.rolesManager.getEntities()}}],d(e.prototype,t),r}(),h=n("238");function y(e,t,n,r,o,i,u){try{var a=e[i](u),c=a.value}catch(e){n(e);return}a.done?t(c):Promise.resolve(c).then(r,o)}var m=function(){var e,t,n=(0,h.useTranslation)().t,o=(0,r.useAPIClient)(),u=(0,r.useCurrentRoles)();if(u.length<=1)return null;return i().createElement(r.SchemaSettingsItem,{eventKey:"SwitchRole",title:"SwitchRole"},i().createElement(r.SelectWithTitle,{title:n("Switch role"),fieldNames:{label:"title",value:"name"},options:u,defaultValue:o.auth.role,onChange:(t=(e=function(e){return function(e,t){var n,r,o,i,u={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function a(i){return function(a){return function(i){if(n)throw TypeError("Generator is already executing.");for(;u;)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 u.label++,{value:i[1],done:!1};case 5:u.label++,r=i[1],i=[0];continue;case 7:i=u.ops.pop(),u.trys.pop();continue;default:if(!(o=(o=u.trys).length>0&&o[o.length-1])&&(6===i[0]||2===i[0])){u=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){u.label=i[1];break}if(6===i[0]&&u.label<o[1]){u.label=o[1],o=i;break}if(o&&u.label<o[2]){u.label=o[2],u.ops.push(i);break}o[2]&&u.ops.pop(),u.trys.pop();continue}i=t.call(e,u)}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,a])}}}(this,function(t){switch(t.label){case 0:return o.auth.setRole(e),[4,o.resource("users").setDefaultRole({values:{roleName:e}})];case 1:return t.sent(),location.reload(),window.location.reload(),[2]}})},function(){var t=this,n=arguments;return new Promise(function(r,o){var i=e.apply(t,n);function u(e){y(i,r,o,u,a,"next",e)}function a(e){y(i,r,o,u,a,"throw",e)}u(void 0)})}),function(e){return t.apply(this,arguments)})}))},v=n("746"),g=n(581);function w(e,t,n,r,o,i,u){try{var a=e[i](u),c=a.value}catch(e){n(e);return}a.done?t(c):Promise.resolve(c).then(r,o)}function x(e,t,n){return(x=_()?Reflect.construct:function(e,t,n){var r=[null];r.push.apply(r,t);var o=new(Function.bind.apply(e,r));return n&&j(o,n.prototype),o}).apply(null,arguments)}function k(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 O(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function P(e){return(P=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function j(e,t){return(j=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){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 x(e,arguments,P(this).constructor)}return r.prototype=Object.create(e.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),j(r,e)})(e)}function _(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(_=function(){return!!e})()}var E=(0,r.lazy)(function(){return g("imported_-1obaqk_component",n.e("733").then(n.bind(n,594)))},"RolesManagement").RolesManagement,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=P(n),O(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||[],P(t).constructor):n.apply(t,r)),"rolesManager",new b),O(e,"settingsUI",new f),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&&j(e,t)}(o,e),t=o,n=[{key:"load",value:function(){var e,t=this;return(e=function(){return function(e,t){var n,r,o,i,u={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function a(i){return function(a){return function(i){if(n)throw TypeError("Generator is already executing.");for(;u;)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 u.label++,{value:i[1],done:!1};case 5:u.label++,r=i[1],i=[0];continue;case 7:i=u.ops.pop(),u.trys.pop();continue;default:if(!(o=(o=u.trys).length>0&&o[o.length-1])&&(6===i[0]||2===i[0])){u=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){u.label=i[1];break}if(6===i[0]&&u.label<o[1]){u.label=o[1],o=i;break}if(o&&u.label<o[2]){u.label=o[2],u.ops.push(i);break}o[2]&&u.ops.pop(),u.trys.pop();continue}i=t.call(e,u)}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,a])}}}(this,function(e){return t.pluginSettingsManager.add("users-permissions.roles",{title:t.t("Roles & Permissions"),icon:"LockOutlined",Component:E,aclSnippet:"pm.acl.roles",sort:3}),t.app.addUserCenterSettingsItem({name:"divider_switchRole",type:"divider",sort:200}),t.app.addUserCenterSettingsItem({name:"switchRole",Component:m,sort:300}),[2]})},function(){var t=this,n=arguments;return new Promise(function(r,o){var i=e.apply(t,n);function u(e){w(i,r,o,u,a,"next",e)}function a(e){w(i,r,o,u,a,"throw",e)}u(void 0)})})()}}],k(t.prototype,n),o}(S(r.Plugin)),T=C},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=c},563:function(e){"use strict";e.exports=r},505:function(e){"use strict";e.exports=l},875:function(e){"use strict";e.exports=t},772:function(e){"use strict";e.exports=o},584:function(e){"use strict";e.exports=n},749:function(e){"use strict";e.exports=u},721:function(e){"use strict";e.exports=a},202:function(e){"use strict";e.exports=s},467:function(e){"use strict";e.exports=i},156:function(e){"use strict";e.exports=f},238:function(t){"use strict";t.exports=e}},g={};function w(e){var t=g[e];if(void 0!==t)return t.exports;var n=g[e]={exports:{}};return v[e](n,n.exports,w),n.exports}return w.m=v,w.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return w.d(t,{a:t}),t},w.d=function(e,t){for(var n in t)w.o(t,n)&&!w.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},w.f={},w.e=function(e){return Promise.all(Object.keys(w.f).reduce(function(t,n){return w.f[n](e,t),t},[]))},w.u=function(e){return""+({733:"e38fd71a1d7e556e",837:"de199341733ccf37"})[e]+".js"},w.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),w.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},p={},d="@nocobase/plugin-acl:",w.l=function(e,t,n,r){if(p[e]){p[e].push(t);return}if(void 0!==n){for(var o,i,u=document.getElementsByTagName("script"),a=0;a<u.length;a++){var c=u[a];if(c.getAttribute("src")==e||c.getAttribute("data-webpack")==d+n){o=c;break}}}!o&&(i=!0,(o=document.createElement("script")).charset="utf-8",o.timeout=120,w.nc&&o.setAttribute("nonce",w.nc),o.setAttribute("data-webpack",d+n),o.src=e),p[e]=[t];var l=function(t,n){o.onerror=o.onload=null,clearTimeout(s);var r=p[e];if(delete p[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)},w.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},w.p=(!(b=window.__nocobase_public_path__||"/").endsWith("/")&&(b+="/"),b+"static/plugins/@nocobase/plugin-acl/dist/client/"),h={909:0},w.f.j=function(e,t){var n=w.o(h,e)?h[e]:void 0;if(0!==n){if(n)t.push(n[2]);else{var r=new Promise(function(t,r){n=h[e]=[t,r]});t.push(n[2]=r);var o=w.p+w.u(e),i=Error();w.l(o,function(t){if(w.o(h,e)&&(0!==(n=h[e])&&(h[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)}}},y=function(e,t){var n=t[0],r=t[1],o=t[2],i,u,a=0;if(n.some(function(e){return 0!==h[e]})){for(i in r)w.o(r,i)&&(w.m[i]=r[i]);o&&o(w)}for(e&&e(t);a<n.length;a++)u=n[a],w.o(h,u)&&h[u]&&h[u][0](),h[u]=0},(m=self.webpackChunk_nocobase_plugin_acl=self.webpackChunk_nocobase_plugin_acl||[]).forEach(y.bind(null,0)),m.push=y.bind(null,m.push.bind(m)),w("371")}()});
@@ -8,23 +8,23 @@
8
8
  */
9
9
 
10
10
  module.exports = {
11
- "@nocobase/client": "1.6.0-beta.9",
11
+ "@nocobase/client": "1.7.0-beta.1",
12
12
  "antd": "5.12.8",
13
13
  "react": "18.2.0",
14
14
  "react-i18next": "11.18.6",
15
15
  "@formily/shared": "2.3.2",
16
16
  "@formily/react": "2.3.0",
17
- "@ant-design/icons": "5.2.6",
18
- "@nocobase/utils": "1.6.0-beta.9",
19
- "@nocobase/actions": "1.6.0-beta.9",
20
- "@nocobase/cache": "1.6.0-beta.9",
21
- "@nocobase/database": "1.6.0-beta.9",
22
- "@nocobase/server": "1.6.0-beta.9",
17
+ "@ant-design/icons": "5.6.1",
18
+ "@nocobase/utils": "1.7.0-beta.1",
19
+ "@nocobase/actions": "1.7.0-beta.1",
20
+ "@nocobase/cache": "1.7.0-beta.1",
21
+ "@nocobase/database": "1.7.0-beta.1",
22
+ "@nocobase/server": "1.7.0-beta.1",
23
23
  "lodash": "4.17.21",
24
- "@nocobase/test": "1.6.0-beta.9",
24
+ "@nocobase/test": "1.7.0-beta.1",
25
25
  "@formily/core": "2.3.0",
26
26
  "ahooks": "3.7.8",
27
27
  "@formily/antd-v5": "1.1.9",
28
28
  "antd-style": "3.7.1",
29
- "@nocobase/acl": "1.6.0-beta.9"
29
+ "@nocobase/acl": "1.7.0-beta.1"
30
30
  };
@@ -0,0 +1,7 @@
1
+ {
2
+ "The current user has no roles. Please try another account.": "L'utente corrente non ha ruoli. Per favore prova con un altro account.",
3
+ "The user role does not exist. Please try signing in again": "Il ruolo utente non esiste. Per favore prova ad accedere nuovamente.",
4
+ "New role": "Nuovo ruolo",
5
+ "Permissions": "Permessi",
6
+ "Desktop menu": "Menu desktop"
7
+ }
@@ -58,6 +58,16 @@ async function checkAction(ctx, next) {
58
58
  role = ctx.app.acl.getRole(currentRole);
59
59
  }
60
60
  const availableActions = ctx.app.acl.getAvailableActions();
61
+ let uiButtonSchemasBlacklist = [];
62
+ if (currentRole !== "root") {
63
+ const eqCurrentRoleList = await ctx.db.getRepository("uiButtonSchemasRoles").find({
64
+ filter: { "roleName.$eq": currentRole }
65
+ }).then((list) => list.map((v) => v.uid));
66
+ const NECurrentRoleList = await ctx.db.getRepository("uiButtonSchemasRoles").find({
67
+ filter: { "roleName.$ne": currentRole }
68
+ }).then((list) => list.map((v) => v.uid));
69
+ uiButtonSchemasBlacklist = NECurrentRoleList.filter((uid) => !eqCurrentRoleList.includes(uid));
70
+ }
61
71
  ctx.body = {
62
72
  ...role.toJSON(),
63
73
  availableActions: [...availableActions.keys()],
@@ -66,7 +76,8 @@ async function checkAction(ctx, next) {
66
76
  allowAll: currentRole === "root",
67
77
  allowConfigure: roleInstance.get("allowConfigure"),
68
78
  allowMenuItemIds: roleInstance.get("menuUiSchemas").map((uiSchema) => uiSchema.get("x-uid")),
69
- allowAnonymous: !!anonymous
79
+ allowAnonymous: !!anonymous,
80
+ uiButtonSchemasBlacklist
70
81
  };
71
82
  await next();
72
83
  }
@@ -241,13 +241,16 @@ function createWithACLMetaMiddleware() {
241
241
  return [ctx.db.sequelize.literal(`CASE WHEN ${condition.whereCase} THEN 1 ELSE 0 END`), condition.action];
242
242
  })
243
243
  ],
244
- include: conditions.map((condition) => condition.include).flat()
244
+ include: conditions.map((condition) => condition.include).flat(),
245
+ raw: true
245
246
  });
246
247
  const allowedActions = inspectActions.map((action) => {
247
248
  if (allAllowed.includes(action)) {
248
249
  return [action, ids];
249
250
  }
250
- return [action, results.filter((item) => Boolean(item.get(action))).map((item) => item.get(primaryKeyField))];
251
+ let actionIds = results.filter((item) => Boolean(item[action])).map((item) => item[primaryKeyField]);
252
+ actionIds = Array.from(new Set(actionIds));
253
+ return [action, actionIds];
251
254
  }).reduce((acc, [action, ids2]) => {
252
255
  acc[action] = ids2;
253
256
  return acc;
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "displayName.zh-CN": "权限控制",
5
5
  "description": "Based on roles, resources, and actions, access control can precisely manage interface configuration permissions, data operation permissions, menu access permissions, and plugin permissions.",
6
6
  "description.zh-CN": "基于角色、资源和操作的权限控制,可以精确控制界面配置权限、数据操作权限、菜单访问权限、插件权限。",
7
- "version": "1.6.0-beta.9",
7
+ "version": "1.7.0-beta.1",
8
8
  "license": "AGPL-3.0",
9
9
  "main": "./dist/server/index.js",
10
10
  "homepage": "https://docs.nocobase.com/handbook/acl",
@@ -33,5 +33,5 @@
33
33
  "url": "git+https://github.com/nocobase/nocobase.git",
34
34
  "directory": "packages/plugins/acl"
35
35
  },
36
- "gitHead": "eb1ff948fcf7a51175626a1a56a8b8d9b90be006"
36
+ "gitHead": "374a1bc60b3d55fd8b532a57c8fe0423eed1d11e"
37
37
  }