@nocobase/plugin-acl 1.6.0-alpha.2 → 1.6.0-alpha.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client/ACLSettingsUI.d.ts +8 -1
- package/dist/client/d0d2f3c136d7edd5.js +10 -0
- package/dist/client/de199341733ccf37.js +10 -0
- package/dist/client/index.js +1 -1
- package/dist/client/permissions/MenuPermissions.d.ts +3 -0
- package/dist/externalVersion.js +8 -8
- package/dist/server/collections/roles-users.js +2 -0
- package/dist/server/collections/roles.js +2 -0
- package/dist/server/collections/rolesResources.js +1 -0
- package/dist/server/collections/rolesResourcesActions.js +1 -0
- package/dist/server/collections/rolesResourcesScopes.js +1 -0
- package/dist/server/collections/users.js +1 -0
- package/dist/server/middlewares/setCurrentRole.js +6 -0
- package/package.json +2 -2
- package/dist/client/733.index.js +0 -10
- package/dist/client/748.index.js +0 -10
- package/dist/client/818.index.js +0 -10
- package/dist/client/871.index.js +0 -10
|
@@ -32,7 +32,14 @@ interface PermissionsTabsProps {
|
|
|
32
32
|
*/
|
|
33
33
|
TabLayout: React.FC;
|
|
34
34
|
}
|
|
35
|
-
type Tab = TabsProps['items'][0]
|
|
35
|
+
type Tab = TabsProps['items'][0] & {
|
|
36
|
+
/**
|
|
37
|
+
* Used for sorting tabs - lower numbers appear first
|
|
38
|
+
* Default values: System (10), Desktop routes (20)
|
|
39
|
+
* @default 100
|
|
40
|
+
*/
|
|
41
|
+
sort?: number;
|
|
42
|
+
};
|
|
36
43
|
type TabCallback = (props: PermissionsTabsProps) => Tab;
|
|
37
44
|
/**
|
|
38
45
|
* the extension API for ACL settings page
|
|
@@ -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=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"})}}}]);
|
|
@@ -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=self.webpackChunk_nocobase_plugin_acl||[]).push([["837"],{844:function(e,n,t){t.d(n,{U:function(){return u},r:function(){return c}});var r=t(772),o=t(721),a=t(156),l=t.n(a),i=(0,a.createContext)([]);i.displayName="AvailableActionsContext";var u=function(e){var n=(0,r.useRequest)({resource:"availableActions",action:"list"}),t=n.data;return n.loading?l().createElement(o.Spin,null):l().createElement(i.Provider,{value:null==t?void 0:t.data},e.children)},c=function(){return(0,a.useContext)(i)}},784:function(e,n,t){t.r(n),t.d(n,{GeneralPermissions:function(){return G}});var r=t("563"),o=t("505"),a=t("875"),l=t("772"),i=t("749"),u=t("721"),c=t("467"),s=t.n(c),f=t("156"),p=t.n(f),d=t("238"),m=t("888"),y=t("746"),v=t("202");function b(){var e,n,t=(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 "],!n&&(n=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(n)}})));return b=function(){return t},t}var h=(0,v.createStyles)(function(e){return(0,e.css)(b())});function g(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=Array(n);t<n;t++)r[t]=e[t];return r}function w(e,n,t,r,o,a,l){try{var i=e[a](l),u=i.value}catch(e){t(e);return}i.done?n(u):Promise.resolve(u).then(r,o)}function S(e){return function(){var n=this,t=arguments;return new Promise(function(r,o){var a=e.apply(n,t);function l(e){w(a,r,o,l,i,"next",e)}function i(e){w(a,r,o,l,i,"throw",e)}l(void 0)})}}function x(e,n){if(e){if("string"==typeof e)return g(e,n);var t=Object.prototype.toString.call(e).slice(8,-1);if("Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t)return Array.from(t);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return g(e,n)}}function O(e,n){var t,r,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(t)throw TypeError("Generator is already executing.");for(;l;)try{if(t=1,r&&(o=2&a[0]?r.return:a[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,a[1])).done)return o;switch(r=0,o&&(a=[2&a[0],o.value]),a[0]){case 0:case 1:o=a;break;case 4:return l.label++,{value:a[1],done:!1};case 5:l.label++,r=a[1],a=[0];continue;case 7:a=l.ops.pop(),l.trys.pop();continue;default:if(!(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=n.call(e,l)}catch(e){a=[6,e],r=0}finally{t=o=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,i])}}}var A=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],t=!0,r=!1,o=void 0;try{for(var a,l=e[Symbol.iterator]();!(t=(a=l.next()).done);t=!0){var i=a.value;n.push(i.aclSnippet),i.children&&i.children.length&&A(i.children,n)}}catch(e){r=!0,o=e}finally{try{!t&&null!=l.return&&l.return()}finally{if(r)throw o}}return n},k=function(e){var n,t,r,o=e.active,a=(0,l.useApp)(),i=h().styles,m=(0,f.useContext)(y.T).role,v=(0,l.useAPIClient)(),b=(0,l.useCompile)(),w=a.pluginSettingsManager.getList(!1),k=a.pluginSettingsManager.getAclSnippets();var C=(n=(0,f.useState)((null==m?void 0:m.snippets)||[]),t=2,function(e){if(Array.isArray(e))return e}(n)||function(e,n){var t,r,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=(t=o.next()).done)&&(a.push(t.value),!n||a.length!==n);l=!0);}catch(e){i=!0,r=e}finally{try{!l&&null!=o.return&&o.return()}finally{if(i)throw r}}return a}}(n,2)||x(n,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.")}()),j=C[0],E=C[1],P=(0,f.useMemo)(function(){return(0,c.flatMap)(w,function(e){var n;if(!e.children)return e;return[e].concat(function(e){if(Array.isArray(e))return g(e)}(n=e.children)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(n)||x(n)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}())})},[w]),T=(0,f.useMemo)(function(){return j.includes("pm.*")&&j.every(function(e){return!e.startsWith("!pm.")})},[j]),I=(0,d.useTranslation)().t,M=(0,l.useRequest)({resource:"roles.snippets",resourceOf:null==m?void 0:m.name,action:"list",params:{paginate:!1}},{ready:!!m&&o,refreshDeps:[null==m?void 0:m.name],manual:!0,onSuccess:function(e){E((null==e?void 0:e.data.filter(function(e){return P.find(function(n){return e.includes("!".concat(n.aclSnippet))||!e.startsWith("!pm.")})}))||[])}}),F=M.loading,D=M.refresh;if(!!m){var _=v.resource("roles.snippets",null==m?void 0:m.name);var z=(r=S(function(e,n){var t;return O(this,function(r){switch(r.label){case 0:if(t=A(null==n?void 0:n.children,[]).concat(n.aclSnippet),e)return[3,2];return[4,_.remove({values:t.map(function(e){return"!"+e})})];case 1:return r.sent(),D(),[3,4];case 2:return[4,_.add({values:t.map(function(e){return"!"+e})})];case 3:r.sent(),D(),r.label=4;case 4:return u.message.success(I("Saved successfully")),[2]}})}),function(e,n){return r.apply(this,arguments)});return p().createElement(u.Table,{className:i,loading:F,rowKey:"key",pagination:!1,expandable:{defaultExpandAllRows:!0},columns:[{dataIndex:"title",title:I("Plugin name"),render:function(e){return b(e)}},{dataIndex:"accessible",title:p().createElement(p().Fragment,null,p().createElement(u.Checkbox,{checked:T,onChange:S(function(){var e;return O(this,function(n){switch(n.label){case 0:if(e=k.map(function(e){return"!"+e}),T)return[3,2];return[4,_.remove({values:e})];case 1:return n.sent(),[3,4];case 2:return[4,_.add({values:e})];case 3:n.sent(),n.label=4;case 4:return D(),u.message.success(I("Saved successfully")),[2]}})})}),I("Accessible")),render:function(e,n){var t=!j.includes("!"+n.aclSnippet);return p().createElement(u.Checkbox,{checked:t,onChange:function(){return z(t,n)}})}}],dataSource:w.filter(function(e){return!1!==e.isTopLevel}).map(function(e){return!1!==e.showTabs?e:s().omit(e,"children")})})}},C=t("844");function j(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=Array(n);t<n;t++)r[t]=e[t];return r}var E=function(e){if(!e)return{};var n,t={};return null==e||null===(n=e.forEach)||void 0===n||n.call(e,function(e){var n,r,o=(n=e.split(":"),r=2,function(e){if(Array.isArray(e))return e}(n)||function(e,n){var t,r,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=(t=o.next()).done)&&(a.push(t.value),!n||a.length!==n);l=!0);}catch(e){i=!0,r=e}finally{try{!l&&null!=o.return&&o.return()}finally{if(i)throw r}}return a}}(n,2)||function(e,n){if(e){if("string"==typeof e)return j(e,n);var t=Object.prototype.toString.call(e).slice(8,-1);if("Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t)return Array.from(t);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return j(e,n)}}(n,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],l=o[1];t[a]=l||"all"}),t},P=function(e){var n=[];for(var t in e)if(Object.prototype.hasOwnProperty.call(e,t)){var r=e[t];"all"===r?n.push(t):n.push("".concat(t,":").concat(r))}return n},T=(0,o.connect)(function(e){var n=e.onChange,t=(0,C.r)(),r=(0,l.useCompile)(),a=(0,d.useTranslation)().t,i=E((0,o.useField)().value);return p().createElement("div",null,p().createElement(u.Table,{rowKey:"name",size:"small",pagination:!1,columns:[{dataIndex:"displayName",title:a("Action display name"),render:function(e){return r(e)}},{dataIndex:"onNewRecord",title:a("Action type"),render:function(e){return e?p().createElement(u.Tag,{color:"green"},a("Action on new records")):p().createElement(u.Tag,{color:"geekblue"},a("Action on existing records"))}},{dataIndex:"enabled",title:a("Allow"),render:function(e,t){return p().createElement(u.Checkbox,{checked:e,"aria-label":"".concat(t.name,"_checkbox"),onChange:function(r){e?delete i[t.name]:i[t.name]="all",n(P(i))}})}},{dataIndex:"scope",title:a("Data scope"),render:function(e,t){return!t.onNewRecord&&p().createElement(u.Select,{"data-testid":"select-data-scope",popupMatchSelectWidth:!1,size:"small",value:e,options:[{label:a("All records"),value:"all"},{label:a("Own records"),value:"own"}],onChange:function(e){i[t.name]=e,n(P(i))}})}}],dataSource:null==t?void 0:t.map(function(e){var n,t,r="all",o=!1;return i[e.name]&&(o=!0,r=i[e.name]),n=function(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{},r=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(t).filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.forEach(function(n){var r,o,a;r=e,o=n,a=t[n],o in r?Object.defineProperty(r,o,{value:a,enumerable:!0,configurable:!0,writable:!0}):r[o]=a})}return e}({},e),t=(t={enabled:o,scope:r},t),Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):(function(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t})(Object(t)).forEach(function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(t,e))}),n})}))});function I(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=Array(n);t<n;t++)r[t]=e[t];return r}function M(e,n,t,r,o,a,l){try{var i=e[a](l),u=i.value}catch(e){t(e);return}i.done?n(u):Promise.resolve(u).then(r,o)}function F(e){return function(){var n=this,t=arguments;return new Promise(function(r,o){var a=e.apply(n,t);function l(e){M(a,r,o,l,i,"next",e)}function i(e){M(a,r,o,l,i,"throw",e)}l(void 0)})}}function D(e){return function(e){if(Array.isArray(e))return I(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,n){if(e){if("string"==typeof e)return I(e,n);var t=Object.prototype.toString.call(e).slice(8,-1);if("Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t)return Array.from(t);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return I(e,n)}}(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 _(e,n){var t,r,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(t)throw TypeError("Generator is already executing.");for(;l;)try{if(t=1,r&&(o=2&a[0]?r.return:a[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,a[1])).done)return o;switch(r=0,o&&(a=[2&a[0],o.value]),a[0]){case 0:case 1:o=a;break;case 4:return l.label++,{value:a[1],done:!1};case 5:l.label++,r=a[1],a=[0];continue;case 7:a=l.ops.pop(),l.trys.pop();continue;default:if(!(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=n.call(e,l)}catch(e){a=[6,e],r=0}finally{t=o=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,i])}}}var z=(0,o.connect)(function(e){var n=(0,d.useTranslation)().t;return p().createElement(u.Checkbox.Group,{style:{width:"100%",display:"block"},value:e.value,onChange:function(n){var t=["ui.*","pm","pm.*","app"],r=t.map(function(e){return"!".concat(e)}),o=(0,c.uniq)(D(e.value||[]).concat(D(n))).filter(function(e){return e&&!r.includes(e)}).map(function(e){return!t.includes(e)||(null==n?void 0:n.includes(e))?e:"!".concat(e)}),a=!0,l=!1,i=void 0;try{for(var u,s=t[Symbol.iterator]();!(a=(u=s.next()).done);a=!0){var f=u.value;!o.includes(f)&&!o.includes("!".concat(f))&&o.push("!".concat(f))}}catch(e){l=!0,i=e}finally{try{!a&&null!=s.return&&s.return()}finally{if(l)throw i}}e.onChange(o)}},p().createElement("div",{style:{marginTop:16}},p().createElement(u.Checkbox,{value:"ui.*"},n("Allows to configure interface"))),p().createElement("div",{style:{marginTop:8}},p().createElement(u.Checkbox,{value:"pm"},n("Allows to install, activate, disable plugins"))),p().createElement("div",{style:{marginTop:8}},p().createElement(u.Checkbox,{value:"pm.*"},n("Allows to configure plugins"))),p().createElement("div",{style:{marginTop:8}},p().createElement(u.Checkbox,{value:"app"},n("Allows to clear cache, reboot application"))))}),G=function(){var e,n,t=(0,f.useContext)(y.T),o=t.role,c=t.setRole,s=(0,m.g)().t,d=(0,l.useAPIClient)(),v=null==o?void 0:null===(n=o.snippets)||void 0===n?void 0:n.includes("pm.*");var b=(0,i.useMemoizedFn)((e=F(function(e){return _(this,function(n){switch(n.label){case 0:return[4,d.resource("roles").update({filterByTk:o.name,values:{snippets:e.values.snippets}})];case 1:return n.sent(),c(function(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{},r=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(t).filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.forEach(function(n){var r,o,a;r=e,o=n,a=t[n],o in r?Object.defineProperty(r,o,{value:a,enumerable:!0,configurable:!0,writable:!0}):r[o]=a})}return e}({},o,e.values)),u.message.success(s("Saved successfully")),[2]}})}),function(n){return e.apply(this,arguments)})),h=(0,f.useMemo)(function(){return(0,r.createForm)({values:o,effects:function(){var e;(0,r.onFormValuesChange)((e=F(function(e){return _(this,function(n){switch(n.label){case 0:return[4,b(e)];case 1:return n.sent(),[2]}})}),function(n){return e.apply(this,arguments)}))}})},[o,b]);return p().createElement(l.SchemaComponent,{components:{SnippetCheckboxGroup:z,StrategyActions:T,PluginPermissions:k},scope:{pm:v},schema:{type:"void",name:(0,a.uid)(),"x-component":"div",properties:{general:{"x-component":"FormV2","x-component-props":{form:h},properties:{snippets:{title:s("Configure permissions"),type:"boolean","x-decorator":"FormItem","x-component":"SnippetCheckboxGroup"}}},plugins:{"x-component":"FormV2",properties:{pluginSettings:{title:s("Plugin settings"),"x-decorator":"FormItem","x-component":"PluginPermissions","x-visible":"{{pm}}"}}}}}})}},888:function(e,n,t){t.d(n,{g:function(){return o}});var r=t(238);function o(){return(0,r.useTranslation)(["@nocobase/plugin-acl","client"],{nsMode:"fallback"})}}}]);
|
package/dist/client/index.js
CHANGED
|
@@ -7,4 +7,4 @@
|
|
|
7
7
|
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
|
-
!function(e,n){"object"==typeof exports&&"object"==typeof module?module.exports=n(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"],n):"object"==typeof exports?exports["@nocobase/plugin-acl"]=n(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"]=n(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,n,t,r,o,i,u,a,c,l,s,f){return function(){var p,d,b,y,m,h={746:function(e,n,t){"use strict";t.d(n,{T:function(){return r}});var r=(0,t(156).createContext)({role:null});r.displayName="RolesManagerContext"},590:function(e,n,t){"use strict";t.r(n),t.d(n,{PluginACLClient:function(){return O},default:function(){return j},RolesManagerContext:function(){return y.T}});var r=t("772"),o=t("156"),i=t.n(o),u=t(581);function a(e,n){for(var t=0;t<n.length;t++){var r=n[t];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}var c=(0,r.lazy)(function(){return u("imported_-1r1jup3_component",t.e("748").then(t.bind(t,294)))},"GeneralPermissions").GeneralPermissions,l=(0,r.lazy)(function(){return u("imported_-olno4t_component",t.e("818").then(t.bind(t,105)))},"MenuItemsProvider").MenuItemsProvider,s=(0,r.lazy)(function(){return u("imported_1qalbop_component",t.e("871").then(t.bind(t,509)))},"MenuPermissions").MenuPermissions,f=function(){var e,n,t;function r(){var e,n,t;!function(e,n){if(!(e instanceof n))throw TypeError("Cannot call a class as a function")}(this,r),e=this,n="permissionsTabs",t=[function(e){var n=e.t,t=e.TabLayout;return{key:"general",label:n("System"),children:i().createElement(t,null,i().createElement(c,null))}},function(e){var n=e.activeKey,t=e.t,r=e.TabLayout;return{key:"menu",label:t("Desktop menu"),children:i().createElement(r,null,i().createElement(l,null,i().createElement(s,{active:"menu"===n})))}}],n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t}return e=r,n=[{key:"addPermissionsTab",value:function(e){this.permissionsTabs.push(e)}},{key:"getPermissionsTabs",value:function(e){return this.permissionsTabs.map(function(n){return"function"==typeof n?n(e):n})}}],a(e.prototype,n),r}(),p=t("584");function d(e,n){for(var t=0;t<n.length;t++){var r=n[t];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,n,t;function r(){var e,n,t;!function(e,n){if(!(e instanceof n))throw TypeError("Cannot call a class as a function")}(this,r),e=this,n="rolesManager",t=new p.Registry,n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t}return e=r,n=[{key:"add",value:function(e,n){this.rolesManager.register(e,n)}},{key:"list",value:function(){return this.rolesManager.getEntities()}}],d(e.prototype,n),r}(),y=t("746"),m=t(581);function h(e,n,t,r,o,i,u){try{var a=e[i](u),c=a.value}catch(e){t(e);return}a.done?n(c):Promise.resolve(c).then(r,o)}function v(e,n,t){return(v=P()?Reflect.construct:function(e,n,t){var r=[null];r.push.apply(r,n);var o=new(Function.bind.apply(e,r));return t&&w(o,t.prototype),o}).apply(null,arguments)}function g(e,n){for(var t=0;t<n.length;t++){var r=n[t];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function x(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function _(e){return(_=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function w(e,n){return(w=Object.setPrototypeOf||function(e,n){return e.__proto__=n,e})(e,n)}function k(e){var n="function"==typeof Map?new Map:void 0;return(k=function(e){var t;if(null===e||(t=e,-1===Function.toString.call(t).indexOf("[native code]")))return e;if("function"!=typeof e)throw TypeError("Super expression must either be null or a function");if(void 0!==n){if(n.has(e))return n.get(e);n.set(e,r)}function r(){return v(e,arguments,_(this).constructor)}return r.prototype=Object.create(e.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),w(r,e)})(e)}function P(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(P=function(){return!!e})()}var q=(0,r.lazy)(function(){return m("imported_-1obaqk_component",t.e("733").then(t.bind(t,594)))},"RolesManagement").RolesManagement,O=function(e){var n,t,r;function o(){var e,n,t,r;return!function(e,n){if(!(e instanceof n))throw TypeError("Cannot call a class as a function")}(this,o),n=this,t=o,r=arguments,t=_(t),x(e=function(e,n){return n&&("object"===function(e){return e&&"undefined"!=typeof Symbol&&e.constructor===Symbol?"symbol":typeof e}(n)||"function"==typeof n)?n:function(e){if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(n,P()?Reflect.construct(t,r||[],_(n).constructor):t.apply(n,r)),"rolesManager",new b),x(e,"settingsUI",new f),e}return!function(e,n){if("function"!=typeof n&&null!==n)throw TypeError("Super expression must either be null or a function");e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),n&&w(e,n)}(o,e),n=o,t=[{key:"load",value:function(){var e,n=this;return(e=function(){return function(e,n){var t,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(t)throw TypeError("Generator is already executing.");for(;u;)try{if(t=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=n.call(e,u)}catch(e){i=[6,e],r=0}finally{t=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 n.pluginSettingsManager.add("users-permissions.roles",{title:n.t("Roles & Permissions"),icon:"LockOutlined",Component:q,aclSnippet:"pm.acl.roles",sort:3}),[2]})},function(){var n=this,t=arguments;return new Promise(function(r,o){var i=e.apply(n,t);function u(e){h(i,r,o,u,a,"next",e)}function a(e){h(i,r,o,u,a,"throw",e)}u(void 0)})})()}}],g(n.prototype,t),o}(k(r.Plugin)),j=O},581:function(e){e.exports=function(e,n){return"undefined"!=typeof __deoptimization_sideEffect__&&__deoptimization_sideEffect__(e,n),n}},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=n},772:function(e){"use strict";e.exports=o},584:function(e){"use strict";e.exports=t},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(n){"use strict";n.exports=e}},v={};function g(e){var n=v[e];if(void 0!==n)return n.exports;var t=v[e]={exports:{}};return h[e](t,t.exports,g),t.exports}return g.m=h,g.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return g.d(n,{a:n}),n},g.d=function(e,n){for(var t in n)g.o(n,t)&&!g.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:n[t]})},g.f={},g.e=function(e){return Promise.all(Object.keys(g.f).reduce(function(n,t){return g.f[t](e,n),n},[]))},g.u=function(e){return""+e+".index.js"},g.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},p={},d="@nocobase/plugin-acl:",g.l=function(e,n,t,r){if(p[e]){p[e].push(n);return}if(void 0!==t){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+t){o=c;break}}}!o&&(i=!0,(o=document.createElement("script")).charset="utf-8",o.timeout=120,g.nc&&o.setAttribute("nonce",g.nc),o.setAttribute("data-webpack",d+t),o.src=e),p[e]=[n];var l=function(n,t){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(t)}),n)return n(t)},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)},g.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},g.p="/static/plugins/@nocobase/plugin-acl/dist/client/",b={909:0},g.f.j=function(e,n){var t=g.o(b,e)?b[e]:void 0;if(0!==t){if(t)n.push(t[2]);else{var r=new Promise(function(n,r){t=b[e]=[n,r]});n.push(t[2]=r);var o=g.p+g.u(e),i=Error();g.l(o,function(n){if(g.o(b,e)&&(0!==(t=b[e])&&(b[e]=void 0),t)){var r=n&&("load"===n.type?"missing":n.type),o=n&&n.target&&n.target.src;i.message="Loading chunk "+e+" failed.\n("+r+": "+o+")",i.name="ChunkLoadError",i.type=r,i.request=o,t[1](i)}},"chunk-"+e,e)}}},y=function(e,n){var t=n[0],r=n[1],o=n[2],i,u,a=0;if(t.some(function(e){return 0!==b[e]})){for(i in r)g.o(r,i)&&(g.m[i]=r[i]);o&&o(g)}for(e&&e(n);a<t.length;a++)u=t[a],g.o(b,u)&&b[u]&&b[u][0](),b[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)),g("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("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=e.title.match(/^\s*\{\{\s*.+?\s*\}\}\s*$/)?n(e.title):t(e.title);return e.children?m(h({},e),{title:r,children:j(e.children,t,n)}):m(h({},e),{title:r})})},_=(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")}()});
|
|
@@ -7,6 +7,9 @@
|
|
|
7
7
|
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
8
|
*/
|
|
9
9
|
import React from 'react';
|
|
10
|
+
export declare const DesktopAllRoutesProvider: React.FC<{
|
|
11
|
+
active: boolean;
|
|
12
|
+
}>;
|
|
10
13
|
export declare const MenuPermissions: React.FC<{
|
|
11
14
|
active: boolean;
|
|
12
15
|
}>;
|
package/dist/externalVersion.js
CHANGED
|
@@ -8,23 +8,23 @@
|
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
module.exports = {
|
|
11
|
+
"@nocobase/client": "1.6.0-alpha.20",
|
|
11
12
|
"antd": "5.12.8",
|
|
12
13
|
"react": "18.2.0",
|
|
13
14
|
"react-i18next": "11.18.6",
|
|
14
|
-
"@nocobase/client": "1.6.0-alpha.2",
|
|
15
15
|
"@formily/shared": "2.3.2",
|
|
16
16
|
"@formily/react": "2.3.0",
|
|
17
17
|
"@ant-design/icons": "5.2.6",
|
|
18
|
-
"@nocobase/utils": "1.6.0-alpha.
|
|
19
|
-
"@nocobase/actions": "1.6.0-alpha.
|
|
20
|
-
"@nocobase/cache": "1.6.0-alpha.
|
|
21
|
-
"@nocobase/database": "1.6.0-alpha.
|
|
22
|
-
"@nocobase/server": "1.6.0-alpha.
|
|
18
|
+
"@nocobase/utils": "1.6.0-alpha.20",
|
|
19
|
+
"@nocobase/actions": "1.6.0-alpha.20",
|
|
20
|
+
"@nocobase/cache": "1.6.0-alpha.20",
|
|
21
|
+
"@nocobase/database": "1.6.0-alpha.20",
|
|
22
|
+
"@nocobase/server": "1.6.0-alpha.20",
|
|
23
23
|
"lodash": "4.17.21",
|
|
24
|
-
"@nocobase/test": "1.6.0-alpha.
|
|
24
|
+
"@nocobase/test": "1.6.0-alpha.20",
|
|
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-alpha.
|
|
29
|
+
"@nocobase/acl": "1.6.0-alpha.20"
|
|
30
30
|
};
|
|
@@ -32,8 +32,10 @@ module.exports = __toCommonJS(roles_users_exports);
|
|
|
32
32
|
var import_database = require("@nocobase/database");
|
|
33
33
|
var roles_users_default = (0, import_database.defineCollection)({
|
|
34
34
|
name: "rolesUsers",
|
|
35
|
+
description: "User's roles",
|
|
35
36
|
dumpRules: {
|
|
36
37
|
group: "user"
|
|
37
38
|
},
|
|
39
|
+
migrationRules: ["schema-only", "overwrite"],
|
|
38
40
|
fields: [{ type: "boolean", name: "default" }]
|
|
39
41
|
});
|
|
@@ -33,6 +33,8 @@ var import_database = require("@nocobase/database");
|
|
|
33
33
|
var roles_default = (0, import_database.defineCollection)({
|
|
34
34
|
origin: "@nocobase/plugin-acl",
|
|
35
35
|
dumpRules: "required",
|
|
36
|
+
description: "Role data",
|
|
37
|
+
migrationRules: ["overwrite", "schema-only"],
|
|
36
38
|
name: "roles",
|
|
37
39
|
title: '{{t("Roles")}}',
|
|
38
40
|
autoGenId: false,
|
|
@@ -33,6 +33,7 @@ var import_database = require("@nocobase/database");
|
|
|
33
33
|
var rolesResources_default = (0, import_database.defineCollection)({
|
|
34
34
|
dumpRules: "required",
|
|
35
35
|
name: "rolesResources",
|
|
36
|
+
migrationRules: ["overwrite", "schema-only"],
|
|
36
37
|
model: "RoleResourceModel",
|
|
37
38
|
indexes: [
|
|
38
39
|
{
|
|
@@ -33,6 +33,7 @@ var import_database = require("@nocobase/database");
|
|
|
33
33
|
var rolesResourcesActions_default = (0, import_database.defineCollection)({
|
|
34
34
|
dumpRules: "required",
|
|
35
35
|
name: "rolesResourcesActions",
|
|
36
|
+
migrationRules: ["overwrite", "schema-only"],
|
|
36
37
|
model: "RoleResourceActionModel",
|
|
37
38
|
fields: [
|
|
38
39
|
{
|
|
@@ -33,6 +33,7 @@ var import_database = require("@nocobase/database");
|
|
|
33
33
|
var rolesResourcesScopes_default = (0, import_database.defineCollection)({
|
|
34
34
|
dumpRules: "required",
|
|
35
35
|
name: "rolesResourcesScopes",
|
|
36
|
+
migrationRules: ["overwrite", "schema-only"],
|
|
36
37
|
fields: [
|
|
37
38
|
{
|
|
38
39
|
type: "uid",
|
|
@@ -32,6 +32,7 @@ module.exports = __toCommonJS(users_exports);
|
|
|
32
32
|
var import_database = require("@nocobase/database");
|
|
33
33
|
var users_default = (0, import_database.extendCollection)({
|
|
34
34
|
name: "users",
|
|
35
|
+
migrationRules: ["schema-only", "overwrite", "skip"],
|
|
35
36
|
fields: [
|
|
36
37
|
{
|
|
37
38
|
interface: "m2m",
|
|
@@ -63,6 +63,12 @@ async function setCurrentRole(ctx, next) {
|
|
|
63
63
|
let role;
|
|
64
64
|
if (currentRole) {
|
|
65
65
|
role = (_a = userRoles.find((role2) => role2.name === currentRole)) == null ? void 0 : _a.name;
|
|
66
|
+
if (!role) {
|
|
67
|
+
return ctx.throw(401, {
|
|
68
|
+
code: "ROLE_NOT_FOUND_FOR_USER",
|
|
69
|
+
message: ctx.t("The role does not belong to the user", { ns: "acl" })
|
|
70
|
+
});
|
|
71
|
+
}
|
|
66
72
|
}
|
|
67
73
|
if (!role) {
|
|
68
74
|
const defaultRole = userRoles.find((role2) => {
|
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-alpha.
|
|
7
|
+
"version": "1.6.0-alpha.20",
|
|
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": "
|
|
36
|
+
"gitHead": "c127664eb2b900edd5c18c9344046cd663a06c3b"
|
|
37
37
|
}
|
package/dist/client/733.index.js
DELETED
|
@@ -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=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("156"),o=r.n(n),a=r("721"),l=r("772"),i=r("505"),c=r("482"),u=r("888"),s=r("746"),f=r("875"),p=r("467");function m(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var y={type:"object",properties:m({},(0,f.uid)(),{type:"void","x-component":"Action.Drawer","x-decorator":"Form","x-decorator-props":{useValues:function(e){var t,r,o=(0,l.useRecord)();var a=(0,l.useRequest)(function(){return Promise.resolve({data:(0,p.pick)(o,["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){m(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,l.useActionContext)();return(0,n.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 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}var b=function(e){var t,r,o=e.loadMore;var a=(t=(0,n.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 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)}}(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.")}()),l=a[0],i=a[1],c=(0,n.useRef)(null),u=(0,n.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),o())})}),e.current&&c.current&&c.current.observe(e.current)},[o]);return(0,n.useEffect)(function(){return u(l),function(){c.current&&c.current.disconnect()}},[l,u]),{lastItem:l,setLastItem:i}};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}function h(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 g(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var a=e.apply(t,r);function l(e){h(a,n,o,l,i,"next",e)}function i(e){h(a,n,o,l,i,"throw",e)}l(void 0)})}}function O(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)||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 w(e){return function(e){if(Array.isArray(e))return v(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||x(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 x(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)}}function E(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 A=function(){var e=(0,u.g)().t,t=(0,l.useResourceActionContext)(),r=t.data,i=t.mutate,c=O((0,n.useState)(!1),2),f=c[0],p=c[1],m=O((0,n.useState)(null),2),d=m[0],v=m[1],h=(0,n.useContext)(s.T),x=h.role,S=h.setRole,j=O((0,n.useState)([]),2),P=j[0],C=j[1],I=O((0,n.useState)(!1),2),k=I[0],D=I[1],R=(0,l.useAPIClient)(),T=b({loadMore:(0,n.useCallback)(g(function(){var e,t;return E(this,function(n){switch(n.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 i((null==(t=n.sent())?void 0:t.data)||{}),D(!1),[2]}})}),[r])}),F=T.lastItem,M=T.setLastItem;(0,n.useEffect)(function(){if(!!P[0])S(P[0])},[P,S]),(0,n.useEffect)(function(){var e,t;if(!!(null==r?void 0:null===(e=r.data)||void 0===e?void 0:e.length))M(o().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,n.useMemo)(function(){return P.map(function(e,t){return{key:e.name,label:t===P.length-1?o().createElement("div",{ref:F},o().createElement(A.Item,{item:e,onEdit:function(){p(!0),v(e)}})):o().createElement(A.Item,{item:e,onEdit:function(){p(!0),v(e)}})}})},[P,F]);return o().createElement(o().Fragment,null,P.length?o().createElement(a.Menu,{style:{border:"none",maxHeight:"65vh",overflowY:"auto"},items:w(U).concat(w(k?[{key:"loading",label:o().createElement(a.Spin,null)}]:[])),selectedKeys:[null==x?void 0:x.name],onSelect:function(e){var t=e.key;S(P.find(function(e){return e.name===t}))}}):o().createElement(a.Empty,{image:a.Empty.PRESENTED_IMAGE_SIMPLE}),o().createElement(l.ActionContextProvider,{value:{visible:f,setVisible:p}},o().createElement(l.RecordProvider,{record:d,collectionName:"departments"},o().createElement(l.SchemaComponent,{scope:{t:e},schema:y}))))};A.Item=function(e){var t=e.item,r=e.onEdit,n=(0,u.g)().t,s=(0,l.useResourceActionContext)().refreshAsync,f=a.App.useApp(),p=f.modal,m=f.message,y=(0,l.useAPIClient)(),d=function(){p.confirm({title:n("Delete"),content:n("Are you sure you want to delete it?"),onOk:g(function(){return E(this,function(e){switch(e.label){case 0:return[4,y.resource("roles").destroy({filterByTk:t.name})];case 1:return e.sent(),m.success(n("Deleted successfully")),[4,s()];case 2:return e.sent(),[2]}})})})},b=i.Schema.compile(t.title,{t:n});return o().createElement(a.Row,null,o().createElement(a.Col,{flex:3,style:{display:"inline-flex",alignItems:"center"}},o().createElement("span",{style:{whiteSpace:"nowrap",width:"120px",overflow:"hidden",textOverflow:"ellipsis"}},o().createElement(c.TagOutlined,null),o().createElement("span",{style:{marginLeft:"10px"},title:b},b))),o().createElement(a.Col,null,t.default?o().createElement(a.Tag,{color:"success",bordered:!1},n("Default")):null,o().createElement(a.Dropdown,{menu:{items:[{label:n("Edit"),key:"edit"},{label:n("Delete"),key:"delete"}],onClick:function(e){var t=e.key;switch(e.domEvent.stopPropagation(),t){case"edit":r();break;case"delete":d()}}}},o().createElement(c.MoreOutlined,null))))};var S=r("590"),j=r("844");function P(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 C=function(e){return o().createElement("div",{style:{maxHeight:"60vh",overflowY:"auto"}},e.children)},I=function(e){var t,r,i=e.active,c=(0,u.g)().t;var f=(t=o().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 P(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 P(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.")}()),p=f[0],m=f[1],y=(0,n.useContext)(s.T),d=y.role,b=y.setRole,v=(0,l.usePlugin)(S.default),h=(0,l.useACLRoleContext)(),g=(0,n.useMemo)(function(){return v.settingsUI.getPermissionsTabs({t:c,activeKey:p,TabLayout:C,activeRole:d,currentUserRole:h}).filter(Boolean)},[p,v.settingsUI,d,c,h]),O=(0,l.useAPIClient)(),w=(0,l.useRequest)(function(){return O.resource("roles").get({filterByTk:null==d?void 0:d.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:i&&!!d,refreshDeps:[null==d?void 0:d.name]}).data;return(0,n.useEffect)(function(){m("general")},[null==d?void 0:d.name]),(0,n.useEffect)(function(){b(w)},[w,b]),o().createElement(j.U,null,o().createElement(a.Tabs,{type:"card",activeKey:p,onChange:function(e){return m(e)},items:g}))},k=function(){var e=(0,u.g)().t;return o().createElement(l.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,l.useActionContext)();return(0,l.useRequest)(function(){return Promise.resolve({data:{name:"r_".concat((0,f.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 }}"}}}}}}}}}}})};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,r,c=(0,u.g)().t,f=(0,l.usePlugin)(S.default),p=R(o().useState("permissions"),2),m=p[0],y=p[1],d=Array.from(f.rolesManager.list()).map(function(e){var t=R(e,2),r=t[0],n=t[1];return{key:r,label:i.Schema.compile(n.title,{t:c}),children:n.Component?o().createElement(n.Component,{active:m===r}):null}}),b=R((0,n.useState)(null),2),v=b[0],h=b[1],g=(0,l.useSchemaComponentContext)();return o().createElement(l.SchemaComponentContext.Provider,{value:(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)},o().createElement(s.T.Provider,{value:{role:v,setRole:h}},o().createElement(a.Card,null,o().createElement(a.Row,{gutter:24,style:{flexWrap:"nowrap"}},o().createElement(a.Col,{flex:"280px",style:{borderRight:"1px solid #eee",minWidth:"250px"}},o().createElement(l.ResourceActionProvider,{collection:F,request:{resource:"roles",action:"list",params:{filter:{"name.$ne":"root"},showAnonymous:!0,sort:["createdAt"],appends:[]}}},o().createElement(l.CollectionProvider_deprecated,{collection:F},o().createElement(a.Row,null,o().createElement(k,null)),o().createElement(a.Divider,{style:{margin:"12px 0"}}),o().createElement(A,null)))),o().createElement(a.Col,{flex:"auto",style:{overflow:"hidden"}},o().createElement(a.Tabs,{activeKey:m,onChange:function(e){return y(e)},items:[{key:"permissions",label:c("Permissions"),children:o().createElement(I,{active:"permissions"===m})}].concat(function(e){if(Array.isArray(e))return D(e)}(r=d)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(r)||T(r)||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"})}}}]);
|
package/dist/client/748.index.js
DELETED
|
@@ -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=self.webpackChunk_nocobase_plugin_acl||[]).push([["748"],{844:function(e,n,t){t.d(n,{U:function(){return u},r:function(){return c}});var r=t(772),o=t(721),a=t(156),l=t.n(a),i=(0,a.createContext)([]);i.displayName="AvailableActionsContext";var u=function(e){var n=(0,r.useRequest)({resource:"availableActions",action:"list"}),t=n.data;return n.loading?l().createElement(o.Spin,null):l().createElement(i.Provider,{value:null==t?void 0:t.data},e.children)},c=function(){return(0,a.useContext)(i)}},294:function(e,n,t){t.r(n),t.d(n,{GeneralPermissions:function(){return _}});var r=t("563"),o=t("505"),a=t("875"),l=t("772"),i=t("749"),u=t("721"),c=t("467"),s=t.n(c),f=t("156"),p=t.n(f),d=t("238"),m=t("888"),y=t("746"),v=t("368");function b(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=Array(n);t<n;t++)r[t]=e[t];return r}function h(e,n,t,r,o,a,l){try{var i=e[a](l),u=i.value}catch(e){t(e);return}i.done?n(u):Promise.resolve(u).then(r,o)}function g(e){return function(){var n=this,t=arguments;return new Promise(function(r,o){var a=e.apply(n,t);function l(e){h(a,r,o,l,i,"next",e)}function i(e){h(a,r,o,l,i,"throw",e)}l(void 0)})}}function w(e,n){if(e){if("string"==typeof e)return b(e,n);var t=Object.prototype.toString.call(e).slice(8,-1);if("Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t)return Array.from(t);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return b(e,n)}}function S(e,n){var t,r,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(t)throw TypeError("Generator is already executing.");for(;l;)try{if(t=1,r&&(o=2&a[0]?r.return:a[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,a[1])).done)return o;switch(r=0,o&&(a=[2&a[0],o.value]),a[0]){case 0:case 1:o=a;break;case 4:return l.label++,{value:a[1],done:!1};case 5:l.label++,r=a[1],a=[0];continue;case 7:a=l.ops.pop(),l.trys.pop();continue;default:if(!(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=n.call(e,l)}catch(e){a=[6,e],r=0}finally{t=o=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,i])}}}var x=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],t=!0,r=!1,o=void 0;try{for(var a,l=e[Symbol.iterator]();!(t=(a=l.next()).done);t=!0){var i=a.value;n.push(i.aclSnippet),i.children&&i.children.length&&x(i.children,n)}}catch(e){r=!0,o=e}finally{try{!t&&null!=l.return&&l.return()}finally{if(r)throw o}}return n},O=function(e){var n,t,r,o=e.active,a=(0,l.useApp)(),i=(0,v.y)().styles,m=(0,f.useContext)(y.T).role,h=(0,l.useAPIClient)(),O=(0,l.useCompile)(),A=a.pluginSettingsManager.getList(!1),k=a.pluginSettingsManager.getAclSnippets();var C=(n=(0,f.useState)((null==m?void 0:m.snippets)||[]),t=2,function(e){if(Array.isArray(e))return e}(n)||function(e,n){var t,r,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=(t=o.next()).done)&&(a.push(t.value),!n||a.length!==n);l=!0);}catch(e){i=!0,r=e}finally{try{!l&&null!=o.return&&o.return()}finally{if(i)throw r}}return a}}(n,2)||w(n,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.")}()),j=C[0],E=C[1],P=(0,f.useMemo)(function(){return(0,c.flatMap)(A,function(e){var n;if(!e.children)return e;return[e].concat(function(e){if(Array.isArray(e))return b(e)}(n=e.children)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(n)||w(n)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}())})},[A]),T=(0,f.useMemo)(function(){return j.includes("pm.*")&&j.every(function(e){return!e.startsWith("!pm.")})},[j]),I=(0,d.useTranslation)().t,M=(0,l.useRequest)({resource:"roles.snippets",resourceOf:null==m?void 0:m.name,action:"list",params:{paginate:!1}},{ready:!!m&&o,refreshDeps:[null==m?void 0:m.name],manual:!0,onSuccess:function(e){E((null==e?void 0:e.data.filter(function(e){return P.find(function(n){return e.includes("!".concat(n.aclSnippet))||!e.startsWith("!pm.")})}))||[])}}),F=M.loading,D=M.refresh;if(!!m){var _=h.resource("roles.snippets",null==m?void 0:m.name);var z=(r=g(function(e,n){var t;return S(this,function(r){switch(r.label){case 0:if(t=x(null==n?void 0:n.children,[]).concat(n.aclSnippet),e)return[3,2];return[4,_.remove({values:t.map(function(e){return"!"+e})})];case 1:return r.sent(),D(),[3,4];case 2:return[4,_.add({values:t.map(function(e){return"!"+e})})];case 3:r.sent(),D(),r.label=4;case 4:return u.message.success(I("Saved successfully")),[2]}})}),function(e,n){return r.apply(this,arguments)});return p().createElement(u.Table,{className:i,loading:F,rowKey:"key",pagination:!1,expandable:{defaultExpandAllRows:!0},columns:[{dataIndex:"title",title:I("Plugin name"),render:function(e){return O(e)}},{dataIndex:"accessible",title:p().createElement(p().Fragment,null,p().createElement(u.Checkbox,{checked:T,onChange:g(function(){var e;return S(this,function(n){switch(n.label){case 0:if(e=k.map(function(e){return"!"+e}),T)return[3,2];return[4,_.remove({values:e})];case 1:return n.sent(),[3,4];case 2:return[4,_.add({values:e})];case 3:n.sent(),n.label=4;case 4:return D(),u.message.success(I("Saved successfully")),[2]}})})}),I("Accessible")),render:function(e,n){var t=!j.includes("!"+n.aclSnippet);return p().createElement(u.Checkbox,{checked:t,onChange:function(){return z(t,n)}})}}],dataSource:A.filter(function(e){return!1!==e.isTopLevel}).map(function(e){return!1!==e.showTabs?e:s().omit(e,"children")})})}},A=t("844");function k(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=Array(n);t<n;t++)r[t]=e[t];return r}var C=function(e){if(!e)return{};var n,t={};return null==e||null===(n=e.forEach)||void 0===n||n.call(e,function(e){var n,r,o=(n=e.split(":"),r=2,function(e){if(Array.isArray(e))return e}(n)||function(e,n){var t,r,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=(t=o.next()).done)&&(a.push(t.value),!n||a.length!==n);l=!0);}catch(e){i=!0,r=e}finally{try{!l&&null!=o.return&&o.return()}finally{if(i)throw r}}return a}}(n,2)||function(e,n){if(e){if("string"==typeof e)return k(e,n);var t=Object.prototype.toString.call(e).slice(8,-1);if("Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t)return Array.from(t);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return k(e,n)}}(n,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],l=o[1];t[a]=l||"all"}),t},j=function(e){var n=[];for(var t in e)if(Object.prototype.hasOwnProperty.call(e,t)){var r=e[t];"all"===r?n.push(t):n.push("".concat(t,":").concat(r))}return n},E=(0,o.connect)(function(e){var n=e.onChange,t=(0,A.r)(),r=(0,l.useCompile)(),a=(0,d.useTranslation)().t,i=C((0,o.useField)().value);return p().createElement("div",null,p().createElement(u.Table,{rowKey:"name",size:"small",pagination:!1,columns:[{dataIndex:"displayName",title:a("Action display name"),render:function(e){return r(e)}},{dataIndex:"onNewRecord",title:a("Action type"),render:function(e){return e?p().createElement(u.Tag,{color:"green"},a("Action on new records")):p().createElement(u.Tag,{color:"geekblue"},a("Action on existing records"))}},{dataIndex:"enabled",title:a("Allow"),render:function(e,t){return p().createElement(u.Checkbox,{checked:e,"aria-label":"".concat(t.name,"_checkbox"),onChange:function(r){e?delete i[t.name]:i[t.name]="all",n(j(i))}})}},{dataIndex:"scope",title:a("Data scope"),render:function(e,t){return!t.onNewRecord&&p().createElement(u.Select,{"data-testid":"select-data-scope",popupMatchSelectWidth:!1,size:"small",value:e,options:[{label:a("All records"),value:"all"},{label:a("Own records"),value:"own"}],onChange:function(e){i[t.name]=e,n(j(i))}})}}],dataSource:null==t?void 0:t.map(function(e){var n,t,r="all",o=!1;return i[e.name]&&(o=!0,r=i[e.name]),n=function(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{},r=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(t).filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.forEach(function(n){var r,o,a;r=e,o=n,a=t[n],o in r?Object.defineProperty(r,o,{value:a,enumerable:!0,configurable:!0,writable:!0}):r[o]=a})}return e}({},e),t=(t={enabled:o,scope:r},t),Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):(function(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t})(Object(t)).forEach(function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(t,e))}),n})}))});function P(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=Array(n);t<n;t++)r[t]=e[t];return r}function T(e,n,t,r,o,a,l){try{var i=e[a](l),u=i.value}catch(e){t(e);return}i.done?n(u):Promise.resolve(u).then(r,o)}function I(e){return function(){var n=this,t=arguments;return new Promise(function(r,o){var a=e.apply(n,t);function l(e){T(a,r,o,l,i,"next",e)}function i(e){T(a,r,o,l,i,"throw",e)}l(void 0)})}}function M(e){return function(e){if(Array.isArray(e))return P(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,n){if(e){if("string"==typeof e)return P(e,n);var t=Object.prototype.toString.call(e).slice(8,-1);if("Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t)return Array.from(t);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return P(e,n)}}(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 F(e,n){var t,r,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(t)throw TypeError("Generator is already executing.");for(;l;)try{if(t=1,r&&(o=2&a[0]?r.return:a[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,a[1])).done)return o;switch(r=0,o&&(a=[2&a[0],o.value]),a[0]){case 0:case 1:o=a;break;case 4:return l.label++,{value:a[1],done:!1};case 5:l.label++,r=a[1],a=[0];continue;case 7:a=l.ops.pop(),l.trys.pop();continue;default:if(!(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=n.call(e,l)}catch(e){a=[6,e],r=0}finally{t=o=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,i])}}}var D=(0,o.connect)(function(e){var n=(0,d.useTranslation)().t;return p().createElement(u.Checkbox.Group,{style:{width:"100%",display:"block"},value:e.value,onChange:function(n){var t=["ui.*","pm","pm.*","app"],r=t.map(function(e){return"!".concat(e)}),o=(0,c.uniq)(M(e.value||[]).concat(M(n))).filter(function(e){return e&&!r.includes(e)}).map(function(e){return!t.includes(e)||(null==n?void 0:n.includes(e))?e:"!".concat(e)}),a=!0,l=!1,i=void 0;try{for(var u,s=t[Symbol.iterator]();!(a=(u=s.next()).done);a=!0){var f=u.value;!o.includes(f)&&!o.includes("!".concat(f))&&o.push("!".concat(f))}}catch(e){l=!0,i=e}finally{try{!a&&null!=s.return&&s.return()}finally{if(l)throw i}}e.onChange(o)}},p().createElement("div",{style:{marginTop:16}},p().createElement(u.Checkbox,{value:"ui.*"},n("Allows to configure interface"))),p().createElement("div",{style:{marginTop:8}},p().createElement(u.Checkbox,{value:"pm"},n("Allows to install, activate, disable plugins"))),p().createElement("div",{style:{marginTop:8}},p().createElement(u.Checkbox,{value:"pm.*"},n("Allows to configure plugins"))),p().createElement("div",{style:{marginTop:8}},p().createElement(u.Checkbox,{value:"app"},n("Allows to clear cache, reboot application"))))}),_=function(){var e,n,t=(0,f.useContext)(y.T),o=t.role,c=t.setRole,s=(0,m.g)().t,d=(0,l.useAPIClient)(),v=null==o?void 0:null===(n=o.snippets)||void 0===n?void 0:n.includes("pm.*");var b=(0,i.useMemoizedFn)((e=I(function(e){return F(this,function(n){switch(n.label){case 0:return[4,d.resource("roles").update({filterByTk:o.name,values:{snippets:e.values.snippets}})];case 1:return n.sent(),c(function(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{},r=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(t).filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.forEach(function(n){var r,o,a;r=e,o=n,a=t[n],o in r?Object.defineProperty(r,o,{value:a,enumerable:!0,configurable:!0,writable:!0}):r[o]=a})}return e}({},o,e.values)),u.message.success(s("Saved successfully")),[2]}})}),function(n){return e.apply(this,arguments)})),h=(0,f.useMemo)(function(){return(0,r.createForm)({values:o,effects:function(){var e;(0,r.onFormValuesChange)((e=I(function(e){return F(this,function(n){switch(n.label){case 0:return[4,b(e)];case 1:return n.sent(),[2]}})}),function(n){return e.apply(this,arguments)}))}})},[o,b]);return p().createElement(l.SchemaComponent,{components:{SnippetCheckboxGroup:D,StrategyActions:E,PluginPermissions:O},scope:{pm:v},schema:{type:"void",name:(0,a.uid)(),"x-component":"div",properties:{general:{"x-component":"FormV2","x-component-props":{form:h},properties:{snippets:{title:s("Configure permissions"),type:"boolean","x-decorator":"FormItem","x-component":"SnippetCheckboxGroup"}}},plugins:{"x-component":"FormV2",properties:{pluginSettings:{title:s("Plugin settings"),"x-decorator":"FormItem","x-component":"PluginPermissions","x-visible":"{{pm}}"}}}}}})}},888:function(e,n,t){t.d(n,{g:function(){return o}});var r=t(238);function o(){return(0,r.useTranslation)(["@nocobase/plugin-acl","client"],{nsMode:"fallback"})}},368:function(e,n,t){t.d(n,{y:function(){return a}});var r=t(202);function o(){var e,n,t=(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 "],!n&&(n=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(n)}})));return o=function(){return t},t}var a=(0,r.createStyles)(function(e){return(0,e.css)(o())})}}]);
|
package/dist/client/818.index.js
DELETED
|
@@ -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=self.webpackChunk_nocobase_plugin_acl||[]).push([["818"],{105:function(e,t,n){n.r(t),n.d(t,{MenuItemsProvider:function(){return s},toItems:function(){return l},useMenuItems:function(){return c}});var r=n(772),i=n(721),u=n(156),o=n.n(u),a=(0,u.createContext)(null);a.displayName="MenuItemsContext";var l=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=[];for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){var r=e[n],i={title:r.title,uid:r["x-uid"]};r.properties&&(i.children=l(r.properties)),t.push(i)}return t},c=function(){return(0,u.useContext)(a)},s=function(e){var t,n,u=(0,r.useAdminSchemaUid)(),c=(0,r.useRequest)({url:"uiSchemas:getProperties/".concat(u)});if(c.loading)return o().createElement(i.Spin,null);var s=l(null===(n=c.data)||void 0===n?void 0:null===(t=n.data)||void 0===t?void 0:t.properties);return o().createElement(a.Provider,{value:{service:c,items:s}},e.children)}}}]);
|
package/dist/client/871.index.js
DELETED
|
@@ -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=self.webpackChunk_nocobase_plugin_acl||[]).push([["871"],{105:function(e,t,n){n.r(t),n.d(t,{MenuItemsProvider:function(){return s},toItems:function(){return l},useMenuItems:function(){return c}});var r=n(772),u=n(721),o=n(156),a=n.n(o),i=(0,o.createContext)(null);i.displayName="MenuItemsContext";var l=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=[];for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){var r=e[n],u={title:r.title,uid:r["x-uid"]};r.properties&&(u.children=l(r.properties)),t.push(u)}return t},c=function(){return(0,o.useContext)(i)},s=function(e){var t,n,o=(0,r.useAdminSchemaUid)(),c=(0,r.useRequest)({url:"uiSchemas:getProperties/".concat(o)});if(c.loading)return a().createElement(u.Spin,null);var s=l(null===(n=c.data)||void 0===n?void 0:null===(t=n.data)||void 0===t?void 0:t.properties);return a().createElement(i.Provider,{value:{service:c,items:s}},e.children)}},509:function(e,t,n){n.r(t),n.d(t,{MenuPermissions:function(){return k}});var r=n(563),u=n(875),o=n(772),a=n(749),i=n(721),l=n(467),c=n(156),s=n.n(c),f=n(238),d=n(746),p=n(105),h=n(368);function v(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function y(e,t,n,r,u,o,a){try{var i=e[o](a),l=i.value}catch(e){n(e);return}i.done?t(l):Promise.resolve(l).then(r,u)}function m(e){return function(){var t=this,n=arguments;return new Promise(function(r,u){var o=e.apply(t,n);function a(e){y(o,r,u,a,i,"next",e)}function i(e){y(o,r,u,a,i,"throw",e)}a(void 0)})}}function b(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){var r,u,o;r=e,u=t,o=n[t],u in r?Object.defineProperty(r,u,{value:o,enumerable:!0,configurable:!0,writable:!0}):r[u]=o})}return e}function g(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 w(e){return function(e){if(Array.isArray(e))return v(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||O(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 O(e,t){if(e){if("string"==typeof e)return v(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 v(e,t)}}function S(e,t){var n,r,u,o,a={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function i(o){return function(i){return function(o){if(n)throw TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(u=2&o[0]?r.return:o[0]?r.throw||((u=r.return)&&u.call(r),0):r.next)&&!(u=u.call(r,o[1])).done)return u;switch(r=0,u&&(o=[2&o[0],u.value]),o[0]){case 0:case 1:u=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(u=(u=a.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]<u[3])){a.label=o[1];break}if(6===o[0]&&a.label<u[1]){a.label=u[1],u=o;break}if(u&&a.label<u[2]){a.label=u[2],a.ops.push(o);break}u[2]&&a.ops.pop(),a.trys.pop();continue}o=t.call(e,a)}catch(e){o=[6,e],r=0}finally{n=u=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,i])}}}var x=function(e){if(!Array.isArray(e))return[];var t=[],n=!0,r=!1,u=void 0;try{for(var o,a=e[Symbol.iterator]();!(n=(o=a.next()).done);n=!0){var i=o.value;t.push(i.uid),t.push.apply(t,w(x(i.children)))}}catch(e){r=!0,u=e}finally{try{!n&&null!=a.return&&a.return()}finally{if(r)throw u}}return t},j=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];if(!e)return[];var r=!0,u=!1,o=void 0;try{for(var a,i=e[Symbol.iterator]();!(r=(a=i.next()).done);r=!0){var l=a.value;if(n.push(l.uid),t(l))return n;if(l.children){var c=j(l.children,t,n);if(c.length)return c}n.pop()}}catch(e){u=!0,o=e}finally{try{!r&&null!=i.return&&i.return()}finally{if(u)throw o}}return[]},P=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=!0,r=!1,u=void 0;try{for(var o,a=e[Symbol.iterator]();!(n=(o=a.next()).done);n=!0){var i=o.value;t.push(i.uid),i.children&&i.children.length&&P(i.children,t)}}catch(e){r=!0,u=e}finally{try{!n&&null!=a.return&&a.return()}finally{if(r)throw u}}return t},k=function(e){var t,n,v,y,k,A=e.active,C=(0,h.y)().styles,E=(0,c.useContext)(d.T),I=E.role,M=E.setRole,F=(0,o.useAPIClient)(),T=(0,p.useMenuItems)().items,_=(0,f.useTranslation)().t,D=x(T);var z=(t=(0,c.useState)([]),n=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n,r,u=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=u){var o=[],a=!0,i=!1;try{for(u=u.call(e);!(a=(n=u.next()).done)&&(o.push(n.value),!t||o.length!==t);a=!0);}catch(e){i=!0,r=e}finally{try{!a&&null!=u.return&&u.return()}finally{if(i)throw r}}return o}}(t,2)||O(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.")}()),N=z[0],R=z[1],U=(0,o.useRequest)({resource:"roles.menuUiSchemas",resourceOf:I.name,action:"list",params:{paginate:!1}},{ready:!!I&&A,refreshDeps:[null==I?void 0:I.name],onSuccess:function(e){var t;R((null==e?void 0:null===(t=e.data)||void 0===t?void 0:t.map(function(e){return e["x-uid"]}))||[])}}),q=U.loading,V=U.refresh,B=F.resource("roles.menuUiSchemas",I.name),G=D.length===N.length;var K=(v=m(function(e,t){var n,r,u,o;return S(this,function(a){switch(a.label){case 0:if(n=j(T,function(e){return e.uid===t.uid}),r=P(null==t?void 0:t.children,[]),!e)return[3,2];return u=r.concat(t.uid),R(w(N.filter(function(e){return!u.includes(e)}))),[4,B.remove({values:u})];case 1:return a.sent(),[3,4];case 2:return o=r.concat(n),R(function(e){return(0,l.uniq)(w(e).concat(w(o)))}),[4,B.add({values:o})];case 3:a.sent(),a.label=4;case 4:return i.message.success(_("Saved successfully")),[2]}})}),function(e,t){return v.apply(this,arguments)}),$=function(e){return e.map(function(e){var t=_(e.title);return e.children?g(b({},e),{title:t,children:$(e.children)}):g(b({},e),{title:t})})};var H=(0,a.useMemoizedFn)((y=m(function(e){return S(this,function(t){switch(t.label){case 0:return[4,F.resource("roles").update({filterByTk:I.name,values:e.values})];case 1:return t.sent(),M(b({},I,e.values)),i.message.success(_("Saved successfully")),[2]}})}),function(e){return y.apply(this,arguments)})),J=(0,c.useMemo)(function(){return(0,r.createForm)({values:I,effects:function(){var e;(0,r.onFormValuesChange)((e=m(function(e){return S(this,function(t){switch(t.label){case 0:return[4,H(e)];case 1:return t.sent(),[2]}})}),function(t){return e.apply(this,arguments)}))}})},[I,H]);return s().createElement(s().Fragment,null,s().createElement(o.SchemaComponent,{schema:{type:"void",name:(0,u.uid)(),"x-component":"FormV2","x-component-props":{form:J},properties:{allowNewMenu:{title:_("Menu permissions"),"x-decorator":"FormItem","x-component":"Checkbox","x-content":_("New menu items are allowed to be accessed by default.")}}}}),s().createElement(i.Table,{className:C,loading:q,rowKey:"uid",pagination:!1,expandable:{defaultExpandAllRows:!0},columns:[{dataIndex:"title",title:_("Menu item title")},{dataIndex:"accessible",title:s().createElement(s().Fragment,null,s().createElement(i.Checkbox,{checked:G,onChange:(k=m(function(e){return S(this,function(e){switch(e.label){case 0:if(!G)return[3,2];return[4,B.set({values:[]})];case 1:return e.sent(),[3,4];case 2:return[4,B.set({values:D})];case 3:e.sent(),e.label=4;case 4:return V(),i.message.success(_("Saved successfully")),[2]}})}),function(e){return k.apply(this,arguments)})})," ",_("Accessible")),render:function(e,t){var n=N.includes(t.uid);return s().createElement(i.Checkbox,{checked:n,onChange:function(){return K(n,t)}})}}],dataSource:$(T)}))}},368:function(e,t,n){n.d(t,{y:function(){return o}});var r=n(202);function u(){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 u=function(){return n},n}var o=(0,r.createStyles)(function(e){return(0,e.css)(u())})}}]);
|