@nocobase/plugin-acl 2.3.0-beta.14 → 2.3.0-beta.16
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-v2/336.78fe0cf978f33198.js +10 -0
- package/dist/client-v2/index.js +1 -1
- package/dist/client-v2/pages/permissions/PluginPermissionsTable.d.ts +1 -0
- package/dist/externalVersion.js +10 -10
- package/dist/locale/en-US.json +2 -0
- package/dist/locale/zh-CN.json +2 -0
- package/dist/server/actions/set-system-snippet.d.ts +10 -0
- package/dist/server/actions/set-system-snippet.js +62 -0
- package/dist/server/server.js +2 -0
- package/package.json +2 -2
- package/dist/client-v2/336.376954fb93bedbd9.js +0 -10
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is part of the NocoBase (R) project.
|
|
3
|
+
* Copyright (c) 2020-2024 NocoBase Co., Ltd.
|
|
4
|
+
* Authors: NocoBase Team.
|
|
5
|
+
*
|
|
6
|
+
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
|
|
7
|
+
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
"use strict";(self.webpackChunk_nocobase_plugin_acl_client_v2=self.webpackChunk_nocobase_plugin_acl_client_v2||[]).push([["336"],{227:function(e,t,r){r.r(t),r.d(t,{default:function(){return A}});var n=r(694),o=r(59),a=r(155),l=r.n(a),u=r(488),i=r(485),c=r(625);function s(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 f(e){return e&&(void 0===e?"undefined":e&&"u">typeof Symbol&&e.constructor===Symbol?"symbol":typeof e)=="object"?{data:Array.isArray(e.data)?e.data:[]}:{}}function p(e,t){var r,n;return r=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;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}({},e),n=n={snippets:t},Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(n)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t})(Object(n)).forEach(function(e){Object.defineProperty(r,e,Object.getOwnPropertyDescriptor(n,e))}),r}function y(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 b(e,t,r,n,o,a,l){try{var u=e[a](l),i=u.value}catch(e){r(e);return}u.done?t(i):Promise.resolve(i).then(n,o)}function m(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var a=e.apply(t,r);function l(e){b(a,n,o,l,u,"next",e)}function u(e){b(a,n,o,l,u,"throw",e)}l(void 0)})}}function d(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;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}function v(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t})(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}),e}function h(e,t){if(e){if("string"==typeof e)return y(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 y(e,t)}}function g(e,t){var r,n,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},l=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),u=Object.defineProperty;return u(l,"next",{value:i(0)}),u(l,"throw",{value:i(1)}),u(l,"return",{value:i(2)}),"function"==typeof Symbol&&u(l,Symbol.iterator,{value:function(){return this}}),l;function i(u){return function(i){var c=[u,i];if(r)throw TypeError("Generator is already executing.");for(;l&&(l=0,c[0]&&(a=0)),a;)try{if(r=1,n&&(o=2&c[0]?n.return:c[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,c[1])).done)return o;switch(n=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return a.label++,{value:c[1],done:!1};case 5:a.label++,n=c[1],c=[0];continue;case 7:c=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===c[0]||2===c[0])){a=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){a.label=c[1];break}if(6===c[0]&&a.label<o[1]){a.label=o[1],o=c;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(c);break}o[2]&&a.ops.pop(),a.trys.pop();continue}c=t.call(e,a)}catch(e){c=[6,e],n=0}finally{r=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}function O(e){var t,r,p=(0,n.useFlowContext)(),b=(0,u.kj)(),O=(0,a.useMemo)(function(){return p.app.pluginSettingsManager.getList(!1).map(function(e){return function e(t){var r,n=(null!=(r=t.children)?r:[]).filter(function(e){return e.key!==t.key&&e.title!==t.title}).filter(function(e){return!t.aclSnippet||e.aclSnippet!==t.aclSnippet}).map(function(t){return e(t)});return n.length?v(d({},t),{children:n}):v(d({},t),{children:void 0})}(e)})},[p.app]),w=p.app.pluginSettingsManager.getAclSnippets(),S=function(e){if(Array.isArray(e))return e}(t=(0,a.useState)(null!=(r=e.role.snippets)?r:[]))||function(e){var t,r,n=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var o=[],a=!0,l=!1;try{for(n=n.call(e);!(a=(t=n.next()).done)&&(o.push(t.value),2!==o.length);a=!0);}catch(e){l=!0,r=e}finally{try{a||null==n.return||n.return()}finally{if(l)throw r}}return o}}(t)||h(t,2)||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=S[0],k=S[1],A=p.api.resource("roles.snippets",e.role.name),P=(0,c.useRequest)(function(){return m(function(){var e,t;return g(this,function(r){switch(r.label){case 0:return[4,A.list({paginate:!1})];case 1:return[2,null!=(e=f(null==(t=r.sent())?void 0:t.data).data)?e:[]]}})})()},{ready:e.active&&!!e.role.name,refreshDeps:[e.role.name],onSuccess:function(t){var r;k(t),null==(r=e.onSnippetsChange)||r.call(e,t)}}),x=P.loading,E=P.refreshAsync,I=j.includes("pm.*")&&w.every(function(e){return!j.includes("!".concat(e))}),C=(0,a.useMemo)(function(){return[{dataIndex:"title",title:b("Plugin name"),render:function(e){return"string"!=typeof e?e:b(e)||b("Unnamed")}},{dataIndex:"accessible",title:l().createElement(o.Checkbox,{checked:I,onChange:function(){return m(function(){var e;return g(this,function(t){switch(t.label){case 0:if(e=w.map(function(e){return"!".concat(e)}),!I)return[3,2];return[4,A.add({values:e})];case 1:return t.sent(),[3,4];case 2:return[4,A.remove({values:e})];case 3:t.sent(),t.label=4;case 4:return[4,E()];case 5:return t.sent(),p.message.success(b("Saved successfully")),[2]}})})()}},b("Allow access")),render:function(e,t){var r,n=Array.from(new Set([t.aclSnippet].concat(function(e){if(Array.isArray(e))return y(e)}(r=function e(t){var r,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return(t.children?function(e){if(Array.isArray(e))return s(e)}(r=t.children)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(r)||function(e){if(e){if("string"==typeof e)return s(e,void 0);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 s(e,void 0)}}(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.")}():[]).forEach(function(t){t.aclSnippet&&n.push(t.aclSnippet),e(t,n)}),n}(t))||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(r)||h(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.")}()).filter(function(e){return!!e}).map(function(e){return"!".concat(e)}))),a=n.every(function(e){return!j.includes(e)});return l().createElement(o.Checkbox,{checked:a,onChange:function(){return m(function(){return g(this,function(e){switch(e.label){case 0:if(!a)return[3,2];return[4,A.add({values:n})];case 1:return e.sent(),[3,4];case 2:return[4,A.remove({values:n})];case 3:e.sent(),e.label=4;case 4:return[4,E()];case 5:return e.sent(),p.message.success(b("Saved successfully")),[2]}})})()}})}}]},[w,I,p.message,E,A,j,b]),T=O.filter(function(e){return!1!==e.isTopLevel}).map(function(e){return!1!==e.showTabs?e:(e.children,function(e,t){if(null==e)return{};var r,n,o,a={};if("u">typeof Reflect&&Reflect.ownKeys){for(o=0,r=Reflect.ownKeys(Object(e));o<r.length;o++)n=r[o],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n]);return a}if(a=function(e,t){if(null==e)return{};var r,n,o={},a=Object.getOwnPropertyNames(e);for(n=0;n<a.length;n++)r=a[n],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r]);return o}(e,t),Object.getOwnPropertySymbols)for(o=0,r=Object.getOwnPropertySymbols(e);o<r.length;o++)n=r[o],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n]);return a}(e,["children"]))});return l().createElement(i.Table,{loading:x,rowKey:"key",pagination:!1,expandable:{defaultExpandAllRows:!0},columns:C,dataSource:T})}function w(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 S(e,t,r,n,o,a,l){try{var u=e[a](l),i=u.value}catch(e){r(e);return}u.done?t(i):Promise.resolve(i).then(n,o)}function j(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r,n,o=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var a=[],l=!0,u=!1;try{for(o=o.call(e);!(l=(r=o.next()).done)&&(a.push(r.value),!t||a.length!==t);l=!0);}catch(e){u=!0,n=e}finally{try{l||null==o.return||o.return()}finally{if(u)throw n}}return a}}(e,t)||function(e,t){if(e){if("string"==typeof e)return w(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 w(e,t)}}(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var k=["ui.*","pm","pm.*","app"];function A(e){var t,r=(0,n.useFlowContext)(),i=(0,u.kj)(),c=o.theme.useToken().token,s=e.activeRole,y=j((0,a.useState)(),2),b=y[0],m=y[1],d=j((0,a.useState)(null!=(t=null==s?void 0:s.snippets)?t:[]),2),v=d[0],h=d[1];(0,a.useEffect)(function(){var e;h(null!=(e=null==s?void 0:s.snippets)?e:[])},[null==s?void 0:s.name,null==s?void 0:s.snippets]);var g=(0,a.useMemo)(function(){return[{key:"ui.*",label:i("Allows to configure interface")},{key:"pm",label:i("Allows to install, activate, disable plugins")},{key:"pm.*",label:i("Allows to configure plugins")},{key:"app",label:i("Allows to clear cache, reboot application")}]},[i]);if(!s)return l().createElement(o.Typography.Text,{type:"secondary"},i("Select a role to configure permissions"));var w=v.includes("pm.*");return l().createElement("div",{style:{width:"100%",display:"flex",flexDirection:"column",gap:c.marginSM}},l().createElement(o.Typography.Text,{strong:!0},i("Configure permissions")),l().createElement(o.Checkbox.Group,{value:v.filter(function(e){return k.includes(e)})},l().createElement("div",{style:{display:"flex",flexDirection:"column",alignItems:"flex-start",width:"100%",gap:c.marginXS}},g.map(function(t){return l().createElement(o.Checkbox,{key:t.key,value:t.key,disabled:!!b,onChange:function(n){var o;return(o=function(){var o,a,l;return function(e,t){var r,n,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},l=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),u=Object.defineProperty;return u(l,"next",{value:i(0)}),u(l,"throw",{value:i(1)}),u(l,"return",{value:i(2)}),"function"==typeof Symbol&&u(l,Symbol.iterator,{value:function(){return this}}),l;function i(u){return function(i){var c=[u,i];if(r)throw TypeError("Generator is already executing.");for(;l&&(l=0,c[0]&&(a=0)),a;)try{if(r=1,n&&(o=2&c[0]?n.return:c[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,c[1])).done)return o;switch(n=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return a.label++,{value:c[1],done:!1};case 5:a.label++,n=c[1],c=[0];continue;case 7:c=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===c[0]||2===c[0])){a=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){a.label=c[1];break}if(6===c[0]&&a.label<o[1]){a.label=o[1],o=c;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(c);break}o[2]&&a.ops.pop(),a.trys.pop();continue}c=t.call(e,a)}catch(e){c=[6,e],n=0}finally{r=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}(this,function(u){switch(u.label){case 0:o=n.target.checked,m(t.key),u.label=1;case 1:return u.trys.push([1,,3,4]),[4,r.api.resource("roles").setSystemSnippet({filterByTk:s.name,values:{snippet:t.key,enabled:o}})];case 2:return h(l=null!=(a=f(u.sent().data).data)?a:[]),e.onRoleChange(p(s,l)),r.message.success(i("Saved successfully")),[3,4];case 3:return m(void 0),[7];case 4:return[2]}})},function(){var e=this,t=arguments;return new Promise(function(r,n){var a=o.apply(e,t);function l(e){S(a,r,n,l,u,"next",e)}function u(e){S(a,r,n,l,u,"throw",e)}l(void 0)})})()}},t.label)}))),w?l().createElement(l().Fragment,null,l().createElement(o.Typography.Text,{strong:!0},i("Plugin settings")),l().createElement(O,{active:"general"===e.activeKey,role:p(s,v),onSnippetsChange:function(t){h(t),e.onRoleChange(p(s,t))}})):null)}}}]);
|
package/dist/client-v2/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,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("ahooks"),require("@nocobase/client-v2"),require("react"),require("antd"),require("@ant-design/icons"),require("@nocobase/flow-engine"),require("lodash")):"function"==typeof define&&define.amd?define("@nocobase/plugin-acl/client-v2",["ahooks","@nocobase/client-v2","react","antd","@ant-design/icons","@nocobase/flow-engine","lodash"],t):"object"==typeof exports?exports["@nocobase/plugin-acl/client-v2"]=t(require("ahooks"),require("@nocobase/client-v2"),require("react"),require("antd"),require("@ant-design/icons"),require("@nocobase/flow-engine"),require("lodash")):e["@nocobase/plugin-acl/client-v2"]=t(e.ahooks,e["@nocobase/client-v2"],e.react,e.antd,e["@ant-design/icons"],e["@nocobase/flow-engine"],e.lodash)}(self,function(e,t,n,r,o,i,u){return function(){"use strict";var c,a,l,s,f,p,b={667:function(e,t,n){n.d(t,{h:function(){return p}});var r=n(485),o=n(101);function i(e,t,n,r,o,i,u){try{var c=e[i](u),a=c.value}catch(e){n(e);return}c.done?t(a):Promise.resolve(a).then(r,o)}function u(e,t,n){return(u=f()?Reflect.construct:function(e,t,n){var r=[null];r.push.apply(r,t);var o=new(Function.bind.apply(e,r));return n&&l(o,n.prototype),o}).apply(null,arguments)}function c(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e){return(a=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function l(e,t){return(l=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function s(e){var t="function"==typeof Map?new Map:void 0;return(s=function(e){if(null===e||-1===Function.toString.call(e).indexOf("[native code]"))return e;if("function"!=typeof e)throw TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,n)}function n(){return u(e,arguments,a(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),l(n,e)})(e)}function f(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(f=function(){return!!e})()}var p=function(e){var t;if("function"!=typeof e&&null!==e)throw TypeError("Super expression must either be null or a function");function u(){var e,t,n;if(!(this instanceof u))throw TypeError("Cannot call a class as a function");return t=u,n=arguments,t=a(t),c(e=function(e,t){var n;if(t&&("object"==((n=t)&&"u">typeof Symbol&&n.constructor===Symbol?"symbol":typeof n)||"function"==typeof t))return t;if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(this,f()?Reflect.construct(t,n||[],a(this).constructor):t.apply(this,n)),"rolesManager",new o.H),c(e,"settingsUI",new o.k),e}return u.prototype=Object.create(e&&e.prototype,{constructor:{value:u,writable:!0,configurable:!0}}),e&&l(u,e),t=[{key:"load",value:function(){var e;return(e=function(){return function(e,t){var n,r,o,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},u=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),c=Object.defineProperty;return c(u,"next",{value:a(0)}),c(u,"throw",{value:a(1)}),c(u,"return",{value:a(2)}),"function"==typeof Symbol&&c(u,Symbol.iterator,{value:function(){return this}}),u;function a(c){return function(a){var l=[c,a];if(n)throw TypeError("Generator is already executing.");for(;u&&(u=0,l[0]&&(i=0)),i;)try{if(n=1,r&&(o=2&l[0]?r.return:l[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,l[1])).done)return o;switch(r=0,o&&(l=[2&l[0],o.value]),l[0]){case 0:case 1:o=l;break;case 4:return i.label++,{value:l[1],done:!1};case 5:i.label++,r=l[1],l=[0];continue;case 7:l=i.ops.pop(),i.trys.pop();continue;default:if(!(o=(o=i.trys).length>0&&o[o.length-1])&&(6===l[0]||2===l[0])){i=0;continue}if(3===l[0]&&(!o||l[1]>o[0]&&l[1]<o[3])){i.label=l[1];break}if(6===l[0]&&i.label<o[1]){i.label=o[1],o=l;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(l);break}o[2]&&i.ops.pop(),i.trys.pop();continue}l=t.call(e,i)}catch(e){l=[6,e],r=0}finally{n=o=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}}}(this,function(e){return this.app.use(r.ACLRolesCheckProvider),this.pluginSettingsManager.addMenuItem({key:"users-permissions",title:this.t("Users & Permissions"),isPinned:!0,sort:200,icon:"TeamOutlined",showTabs:!0}),this.pluginSettingsManager.addPageTabItem({menuKey:"users-permissions",key:"roles",title:this.t("Roles & Permissions"),icon:"LockOutlined",aclSnippet:"pm.acl.roles",sort:4,componentLoader:function(){return n.e("532").then(n.bind(n,407))}}),this.pluginSettingsManager.setPluginSettingsLink("acl","users-permissions.roles"),this.settingsUI.addPermissionsTab({key:"general",label:String(this.t("System")),sort:10,componentLoader:function(){return n.e("336").then(n.bind(n,227))}}),this.settingsUI.addPermissionsTab({key:"menu",label:String(this.t("Desktop routes")),sort:20,componentLoader:function(){return n.e("800").then(n.bind(n,235))}}),this.flowEngine.registerModelLoaders({UIEditorTopbarActionModel:{loader:function(){return Promise.resolve().then(n.t.bind(n,485,23)).then(function(e){return e.UIEditorTopbarActionModel})}},SwitchRoleItemModel:{extends:"UserCenterItemModel",loader:function(){return n.e("870").then(n.bind(n,173))}}}),[2]})},function(){var t=this,n=arguments;return new Promise(function(r,o){var u=e.apply(t,n);function c(e){i(u,r,o,c,a,"next",e)}function a(e){i(u,r,o,c,a,"throw",e)}c(void 0)})}).call(this)}}],function(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}(u.prototype,t),u}(s(r.Plugin));t.A=p},488:function(e,t,n){n.d(t,{CU:function(){return i},MZ:function(){return c},kj:function(){return u}});var r=n(694);function o(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){var r;r=n[t],t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r})}return e}var i="@nocobase/plugin-acl";function u(){var e=(0,r.useFlowEngine)();return function(t,n){return e.context.t(t,o({ns:[i,"acl","client"]},n))}}function c(e,t){return(0,r.tExpr)(e,o({ns:[i,"acl","client"]},t))}},101:function(e,t,n){function r(e,t){if(!(e instanceof t))throw TypeError("Cannot call a class as a function")}function o(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function i(e,t,n){return t&&o(e.prototype,t),n&&o(e,n),e}function u(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}n.d(t,{H:function(){return c},k:function(){return a}});var c=function(){function e(){r(this,e),u(this,"items",new Map)}return i(e,[{key:"add",value:function(e,t){this.items.set(e,t)}},{key:"list",value:function(){return Array.from(this.items.entries()).sort(function(e,t){var n,r;return(null!=(n=e[1].sort)?n:100)-(null!=(r=t[1].sort)?r:100)})}}]),e}(),a=function(){function e(){r(this,e),u(this,"permissionTabs",new Map)}return i(e,[{key:"addPermissionsTab",value:function(e){var t="function"==typeof e?"callback:".concat(this.permissionTabs.size):e.key;this.permissionTabs.set(t,e)}},{key:"getPermissionsTabs",value:function(e){return Array.from(this.permissionTabs.values()).map(function(t){return"function"==typeof t?t(e):t}).filter(function(e){return!!e}).sort(function(e,t){var n,r;return(null!=(n=e.sort)?n:100)-(null!=(r=t.sort)?r:100)})}}]),e}()},375:function(e){e.exports=o},485:function(e){e.exports=t},694:function(e){e.exports=i},625:function(t){t.exports=e},59:function(e){e.exports=r},773:function(e){e.exports=u},155:function(e){e.exports=n}},d={};function h(e){var t=d[e];if(void 0!==t)return t.exports;var n=d[e]={exports:{}};return b[e](n,n.exports,h),n.exports}h.m=b,h.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return h.d(t,{a:t}),t},y=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},h.t=function(e,t){if(1&t&&(e=this(e)),8&t||"object"==typeof e&&e&&(4&t&&e.__esModule||16&t&&"function"==typeof e.then))return e;var n=Object.create(null);h.r(n);var r={};v=v||[null,y({}),y([]),y(y)];for(var o=2&t&&e;("object"==typeof o||"function"==typeof o)&&!~v.indexOf(o);o=y(o))Object.getOwnPropertyNames(o).forEach(function(t){r[t]=function(){return e[t]}});return r.default=function(){return e},h.d(n,r),n},h.d=function(e,t){for(var n in t)h.o(t,n)&&!h.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},h.f={},h.e=function(e){return Promise.all(Object.keys(h.f).reduce(function(t,n){return h.f[n](e,t),t},[]))},h.u=function(e){return""+e+"."+({336:"376954fb93bedbd9",532:"f0e5480be9e70a8a",800:"020212b7d7b3875d",870:"1d9bac44ccd1f650"})[e]+".js"},h.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),h.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},g={},h.l=function(e,t,n,r){if(g[e])return void g[e].push(t);if(void 0!==n)for(var o,i,u=document.getElementsByTagName("script"),c=0;c<u.length;c++){var a=u[c];if(a.getAttribute("src")==e||a.getAttribute("data-rspack")=="@nocobase/plugin-acl/client-v2:"+n){o=a;break}}o||(i=!0,(o=document.createElement("script")).timeout=120,h.nc&&o.setAttribute("nonce",h.nc),o.setAttribute("data-rspack","@nocobase/plugin-acl/client-v2:"+n),o.src=e),g[e]=[t];var l=function(t,n){o.onerror=o.onload=null,clearTimeout(s);var r=g[e];if(delete g[e],o.parentNode&&o.parentNode.removeChild(o),r&&r.forEach(function(e){return e(n)}),t)return t(n)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:o}),12e4);o.onerror=l.bind(null,o.onerror),o.onload=l.bind(null,o.onload),i&&document.head.appendChild(o)},h.r=function(e){"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},h.g.importScripts&&(m=h.g.location+"");var v,y,g,m,w=h.g.document;if(!m&&w&&(w.currentScript&&"SCRIPT"===w.currentScript.tagName.toUpperCase()&&(m=w.currentScript.src),!m)){var _=w.getElementsByTagName("script");if(_.length)for(var O=_.length-1;O>-1&&(!m||!/^http(s?):/.test(m));)m=_[O--].src}if(!m)throw Error("Automatic publicPath is not supported in this browser");h.p=m.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),c={889:0},h.f.j=function(e,t){var n=h.o(c,e)?c[e]:void 0;if(0!==n)if(n)t.push(n[2]);else{var r=new Promise(function(t,r){n=c[e]=[t,r]});t.push(n[2]=r);var o=h.p+h.u(e),i=Error();h.l(o,function(t){if(h.o(c,e)&&(0!==(n=c[e])&&(c[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)}},a=function(e,t){var n,r,o=t[0],i=t[1],u=t[2],a=0;if(o.some(function(e){return 0!==c[e]})){for(n in i)h.o(i,n)&&(h.m[n]=i[n]);u&&u(h)}for(e&&e(t);a<o.length;a++)r=o[a],h.o(c,r)&&c[r]&&c[r][0](),c[r]=0},(l=self.webpackChunk_nocobase_plugin_acl_client_v2=self.webpackChunk_nocobase_plugin_acl_client_v2||[]).forEach(a.bind(null,0)),l.push=a.bind(null,l.push.bind(l));var k={};return!function(){var e="",t="u">typeof document?document.currentScript:null;if(t&&t.src){var n=t.src.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"");n.indexOf("/static/plugins/@nocobase/plugin-acl/dist/client-v2/")>=0&&(e=n.replace(/\/[^\/]+$/,"/"))}if(!e){var r=window.__webpack_public_path__||"";r&&("/"!==r.charAt(r.length-1)&&(r+="/"),e=r+"static/plugins/@nocobase/plugin-acl/dist/client-v2/")}if(!e){var o=window.__nocobase_modern_client_prefix__||"v",i="/"+(o=String(o).replace(/^\/+|\/+$/g,"")||"v")+"/";if(!(e=window.__nocobase_public_path__||"")&&window.location&&window.location.pathname){var u=window.location.pathname||"/",c=u.indexOf(i);e=c>=0?u.slice(0,c+1):"/"}e&&(e=e.replace(RegExp("/"+o+"/?$"),"/")),e||(e="/"),"/"!==e.charAt(e.length-1)&&(e+="/"),e+="static/plugins/@nocobase/plugin-acl/dist/client-v2/"}h.p=e}(),h.r(k),h.d(k,{ACLSettingsUI:function(){return p.k},NAMESPACE:function(){return f.CU},PluginAclClientV2:function(){return s.h},RolesManager:function(){return p.H},default:function(){return s.A},tExpr:function(){return f.MZ},useT:function(){return f.kj}}),s=h(667),f=h(488),p=h(101),k}()});
|
|
10
|
+
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("ahooks"),require("@nocobase/client-v2"),require("react"),require("antd"),require("@ant-design/icons"),require("@nocobase/flow-engine"),require("lodash")):"function"==typeof define&&define.amd?define("@nocobase/plugin-acl/client-v2",["ahooks","@nocobase/client-v2","react","antd","@ant-design/icons","@nocobase/flow-engine","lodash"],t):"object"==typeof exports?exports["@nocobase/plugin-acl/client-v2"]=t(require("ahooks"),require("@nocobase/client-v2"),require("react"),require("antd"),require("@ant-design/icons"),require("@nocobase/flow-engine"),require("lodash")):e["@nocobase/plugin-acl/client-v2"]=t(e.ahooks,e["@nocobase/client-v2"],e.react,e.antd,e["@ant-design/icons"],e["@nocobase/flow-engine"],e.lodash)}(self,function(e,t,n,r,o,i,u){return function(){"use strict";var c,a,l,s,f,p,b={667:function(e,t,n){n.d(t,{h:function(){return p}});var r=n(485),o=n(101);function i(e,t,n,r,o,i,u){try{var c=e[i](u),a=c.value}catch(e){n(e);return}c.done?t(a):Promise.resolve(a).then(r,o)}function u(e,t,n){return(u=f()?Reflect.construct:function(e,t,n){var r=[null];r.push.apply(r,t);var o=new(Function.bind.apply(e,r));return n&&l(o,n.prototype),o}).apply(null,arguments)}function c(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e){return(a=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function l(e,t){return(l=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function s(e){var t="function"==typeof Map?new Map:void 0;return(s=function(e){if(null===e||-1===Function.toString.call(e).indexOf("[native code]"))return e;if("function"!=typeof e)throw TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,n)}function n(){return u(e,arguments,a(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),l(n,e)})(e)}function f(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(f=function(){return!!e})()}var p=function(e){var t;if("function"!=typeof e&&null!==e)throw TypeError("Super expression must either be null or a function");function u(){var e,t,n;if(!(this instanceof u))throw TypeError("Cannot call a class as a function");return t=u,n=arguments,t=a(t),c(e=function(e,t){var n;if(t&&("object"==((n=t)&&"u">typeof Symbol&&n.constructor===Symbol?"symbol":typeof n)||"function"==typeof t))return t;if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(this,f()?Reflect.construct(t,n||[],a(this).constructor):t.apply(this,n)),"rolesManager",new o.H),c(e,"settingsUI",new o.k),e}return u.prototype=Object.create(e&&e.prototype,{constructor:{value:u,writable:!0,configurable:!0}}),e&&l(u,e),t=[{key:"load",value:function(){var e;return(e=function(){return function(e,t){var n,r,o,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},u=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),c=Object.defineProperty;return c(u,"next",{value:a(0)}),c(u,"throw",{value:a(1)}),c(u,"return",{value:a(2)}),"function"==typeof Symbol&&c(u,Symbol.iterator,{value:function(){return this}}),u;function a(c){return function(a){var l=[c,a];if(n)throw TypeError("Generator is already executing.");for(;u&&(u=0,l[0]&&(i=0)),i;)try{if(n=1,r&&(o=2&l[0]?r.return:l[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,l[1])).done)return o;switch(r=0,o&&(l=[2&l[0],o.value]),l[0]){case 0:case 1:o=l;break;case 4:return i.label++,{value:l[1],done:!1};case 5:i.label++,r=l[1],l=[0];continue;case 7:l=i.ops.pop(),i.trys.pop();continue;default:if(!(o=(o=i.trys).length>0&&o[o.length-1])&&(6===l[0]||2===l[0])){i=0;continue}if(3===l[0]&&(!o||l[1]>o[0]&&l[1]<o[3])){i.label=l[1];break}if(6===l[0]&&i.label<o[1]){i.label=o[1],o=l;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(l);break}o[2]&&i.ops.pop(),i.trys.pop();continue}l=t.call(e,i)}catch(e){l=[6,e],r=0}finally{n=o=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}}}(this,function(e){return this.app.use(r.ACLRolesCheckProvider),this.pluginSettingsManager.addMenuItem({key:"users-permissions",title:this.t("Users & Permissions"),isPinned:!0,sort:200,icon:"TeamOutlined",showTabs:!0}),this.pluginSettingsManager.addPageTabItem({menuKey:"users-permissions",key:"roles",title:this.t("Roles & Permissions"),icon:"LockOutlined",aclSnippet:"pm.acl.roles",sort:4,componentLoader:function(){return n.e("532").then(n.bind(n,407))}}),this.pluginSettingsManager.setPluginSettingsLink("acl","users-permissions.roles"),this.settingsUI.addPermissionsTab({key:"general",label:String(this.t("System")),sort:10,componentLoader:function(){return n.e("336").then(n.bind(n,227))}}),this.settingsUI.addPermissionsTab({key:"menu",label:String(this.t("Desktop routes")),sort:20,componentLoader:function(){return n.e("800").then(n.bind(n,235))}}),this.flowEngine.registerModelLoaders({UIEditorTopbarActionModel:{loader:function(){return Promise.resolve().then(n.t.bind(n,485,23)).then(function(e){return e.UIEditorTopbarActionModel})}},SwitchRoleItemModel:{extends:"UserCenterItemModel",loader:function(){return n.e("870").then(n.bind(n,173))}}}),[2]})},function(){var t=this,n=arguments;return new Promise(function(r,o){var u=e.apply(t,n);function c(e){i(u,r,o,c,a,"next",e)}function a(e){i(u,r,o,c,a,"throw",e)}c(void 0)})}).call(this)}}],function(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}(u.prototype,t),u}(s(r.Plugin));t.A=p},488:function(e,t,n){n.d(t,{CU:function(){return i},MZ:function(){return c},kj:function(){return u}});var r=n(694);function o(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){var r;r=n[t],t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r})}return e}var i="@nocobase/plugin-acl";function u(){var e=(0,r.useFlowEngine)();return function(t,n){return e.context.t(t,o({ns:[i,"acl","client"]},n))}}function c(e,t){return(0,r.tExpr)(e,o({ns:[i,"acl","client"]},t))}},101:function(e,t,n){function r(e,t){if(!(e instanceof t))throw TypeError("Cannot call a class as a function")}function o(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function i(e,t,n){return t&&o(e.prototype,t),n&&o(e,n),e}function u(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}n.d(t,{H:function(){return c},k:function(){return a}});var c=function(){function e(){r(this,e),u(this,"items",new Map)}return i(e,[{key:"add",value:function(e,t){this.items.set(e,t)}},{key:"list",value:function(){return Array.from(this.items.entries()).sort(function(e,t){var n,r;return(null!=(n=e[1].sort)?n:100)-(null!=(r=t[1].sort)?r:100)})}}]),e}(),a=function(){function e(){r(this,e),u(this,"permissionTabs",new Map)}return i(e,[{key:"addPermissionsTab",value:function(e){var t="function"==typeof e?"callback:".concat(this.permissionTabs.size):e.key;this.permissionTabs.set(t,e)}},{key:"getPermissionsTabs",value:function(e){return Array.from(this.permissionTabs.values()).map(function(t){return"function"==typeof t?t(e):t}).filter(function(e){return!!e}).sort(function(e,t){var n,r;return(null!=(n=e.sort)?n:100)-(null!=(r=t.sort)?r:100)})}}]),e}()},375:function(e){e.exports=o},485:function(e){e.exports=t},694:function(e){e.exports=i},625:function(t){t.exports=e},59:function(e){e.exports=r},773:function(e){e.exports=u},155:function(e){e.exports=n}},d={};function h(e){var t=d[e];if(void 0!==t)return t.exports;var n=d[e]={exports:{}};return b[e](n,n.exports,h),n.exports}h.m=b,h.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return h.d(t,{a:t}),t},y=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},h.t=function(e,t){if(1&t&&(e=this(e)),8&t||"object"==typeof e&&e&&(4&t&&e.__esModule||16&t&&"function"==typeof e.then))return e;var n=Object.create(null);h.r(n);var r={};v=v||[null,y({}),y([]),y(y)];for(var o=2&t&&e;("object"==typeof o||"function"==typeof o)&&!~v.indexOf(o);o=y(o))Object.getOwnPropertyNames(o).forEach(function(t){r[t]=function(){return e[t]}});return r.default=function(){return e},h.d(n,r),n},h.d=function(e,t){for(var n in t)h.o(t,n)&&!h.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},h.f={},h.e=function(e){return Promise.all(Object.keys(h.f).reduce(function(t,n){return h.f[n](e,t),t},[]))},h.u=function(e){return""+e+"."+({336:"78fe0cf978f33198",532:"f0e5480be9e70a8a",800:"020212b7d7b3875d",870:"1d9bac44ccd1f650"})[e]+".js"},h.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),h.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},g={},h.l=function(e,t,n,r){if(g[e])return void g[e].push(t);if(void 0!==n)for(var o,i,u=document.getElementsByTagName("script"),c=0;c<u.length;c++){var a=u[c];if(a.getAttribute("src")==e||a.getAttribute("data-rspack")=="@nocobase/plugin-acl/client-v2:"+n){o=a;break}}o||(i=!0,(o=document.createElement("script")).timeout=120,h.nc&&o.setAttribute("nonce",h.nc),o.setAttribute("data-rspack","@nocobase/plugin-acl/client-v2:"+n),o.src=e),g[e]=[t];var l=function(t,n){o.onerror=o.onload=null,clearTimeout(s);var r=g[e];if(delete g[e],o.parentNode&&o.parentNode.removeChild(o),r&&r.forEach(function(e){return e(n)}),t)return t(n)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:o}),12e4);o.onerror=l.bind(null,o.onerror),o.onload=l.bind(null,o.onload),i&&document.head.appendChild(o)},h.r=function(e){"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},h.g.importScripts&&(m=h.g.location+"");var v,y,g,m,w=h.g.document;if(!m&&w&&(w.currentScript&&"SCRIPT"===w.currentScript.tagName.toUpperCase()&&(m=w.currentScript.src),!m)){var _=w.getElementsByTagName("script");if(_.length)for(var O=_.length-1;O>-1&&(!m||!/^http(s?):/.test(m));)m=_[O--].src}if(!m)throw Error("Automatic publicPath is not supported in this browser");h.p=m.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),c={889:0},h.f.j=function(e,t){var n=h.o(c,e)?c[e]:void 0;if(0!==n)if(n)t.push(n[2]);else{var r=new Promise(function(t,r){n=c[e]=[t,r]});t.push(n[2]=r);var o=h.p+h.u(e),i=Error();h.l(o,function(t){if(h.o(c,e)&&(0!==(n=c[e])&&(c[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)}},a=function(e,t){var n,r,o=t[0],i=t[1],u=t[2],a=0;if(o.some(function(e){return 0!==c[e]})){for(n in i)h.o(i,n)&&(h.m[n]=i[n]);u&&u(h)}for(e&&e(t);a<o.length;a++)r=o[a],h.o(c,r)&&c[r]&&c[r][0](),c[r]=0},(l=self.webpackChunk_nocobase_plugin_acl_client_v2=self.webpackChunk_nocobase_plugin_acl_client_v2||[]).forEach(a.bind(null,0)),l.push=a.bind(null,l.push.bind(l));var k={};return!function(){var e="",t="u">typeof document?document.currentScript:null;if(t&&t.src){var n=t.src.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"");n.indexOf("/static/plugins/@nocobase/plugin-acl/dist/client-v2/")>=0&&(e=n.replace(/\/[^\/]+$/,"/"))}if(!e){var r=window.__webpack_public_path__||"";r&&("/"!==r.charAt(r.length-1)&&(r+="/"),e=r+"static/plugins/@nocobase/plugin-acl/dist/client-v2/")}if(!e){var o=window.__nocobase_modern_client_prefix__||"v",i="/"+(o=String(o).replace(/^\/+|\/+$/g,"")||"v")+"/";if(!(e=window.__nocobase_public_path__||"")&&window.location&&window.location.pathname){var u=window.location.pathname||"/",c=u.indexOf(i);e=c>=0?u.slice(0,c+1):"/"}e&&(e=e.replace(RegExp("/"+o+"/?$"),"/")),e||(e="/"),"/"!==e.charAt(e.length-1)&&(e+="/"),e+="static/plugins/@nocobase/plugin-acl/dist/client-v2/"}h.p=e}(),h.r(k),h.d(k,{ACLSettingsUI:function(){return p.k},NAMESPACE:function(){return f.CU},PluginAclClientV2:function(){return s.h},RolesManager:function(){return p.H},default:function(){return s.A},tExpr:function(){return f.MZ},useT:function(){return f.kj}}),s=h(667),f=h(488),p=h(101),k}()});
|
|
@@ -11,6 +11,7 @@ import type { Role } from '../../registries';
|
|
|
11
11
|
interface PluginPermissionsTableProps {
|
|
12
12
|
active: boolean;
|
|
13
13
|
role: Role;
|
|
14
|
+
onSnippetsChange?: (snippets: string[]) => void;
|
|
14
15
|
}
|
|
15
16
|
export default function PluginPermissionsTable(props: PluginPermissionsTableProps): React.JSX.Element;
|
|
16
17
|
export {};
|
package/dist/externalVersion.js
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
module.exports = {
|
|
11
|
-
"@nocobase/client": "2.3.0-beta.
|
|
11
|
+
"@nocobase/client": "2.3.0-beta.16",
|
|
12
12
|
"antd": "5.24.2",
|
|
13
13
|
"react": "18.2.0",
|
|
14
14
|
"react-i18next": "11.18.6",
|
|
@@ -17,15 +17,15 @@ module.exports = {
|
|
|
17
17
|
"@formily/react": "2.3.7",
|
|
18
18
|
"@ant-design/icons": "5.6.1",
|
|
19
19
|
"lodash": "4.18.1",
|
|
20
|
-
"@nocobase/utils": "2.3.0-beta.
|
|
21
|
-
"@nocobase/flow-engine": "2.3.0-beta.
|
|
22
|
-
"@nocobase/client-v2": "2.3.0-beta.
|
|
23
|
-
"@nocobase/actions": "2.3.0-beta.
|
|
24
|
-
"@nocobase/cache": "2.3.0-beta.
|
|
25
|
-
"@nocobase/database": "2.3.0-beta.
|
|
26
|
-
"@nocobase/server": "2.3.0-beta.
|
|
27
|
-
"@nocobase/acl": "2.3.0-beta.
|
|
28
|
-
"@nocobase/test": "2.3.0-beta.
|
|
20
|
+
"@nocobase/utils": "2.3.0-beta.16",
|
|
21
|
+
"@nocobase/flow-engine": "2.3.0-beta.16",
|
|
22
|
+
"@nocobase/client-v2": "2.3.0-beta.16",
|
|
23
|
+
"@nocobase/actions": "2.3.0-beta.16",
|
|
24
|
+
"@nocobase/cache": "2.3.0-beta.16",
|
|
25
|
+
"@nocobase/database": "2.3.0-beta.16",
|
|
26
|
+
"@nocobase/server": "2.3.0-beta.16",
|
|
27
|
+
"@nocobase/acl": "2.3.0-beta.16",
|
|
28
|
+
"@nocobase/test": "2.3.0-beta.16",
|
|
29
29
|
"@formily/core": "2.3.7",
|
|
30
30
|
"@formily/antd-v5": "1.2.3",
|
|
31
31
|
"antd-style": "3.7.1"
|
package/dist/locale/en-US.json
CHANGED
package/dist/locale/zh-CN.json
CHANGED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is part of the NocoBase (R) project.
|
|
3
|
+
* Copyright (c) 2020-2024 NocoBase Co., Ltd.
|
|
4
|
+
* Authors: NocoBase Team.
|
|
5
|
+
*
|
|
6
|
+
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
|
|
7
|
+
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
|
+
*/
|
|
9
|
+
import type { Context, Next } from '@nocobase/actions';
|
|
10
|
+
export declare function setSystemSnippet(ctx: Context, next: Next): Promise<void>;
|
|
@@ -0,0 +1,62 @@
|
|
|
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
|
+
var __defProp = Object.defineProperty;
|
|
11
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
12
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
13
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
14
|
+
var __export = (target, all) => {
|
|
15
|
+
for (var name in all)
|
|
16
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
17
|
+
};
|
|
18
|
+
var __copyProps = (to, from, except, desc) => {
|
|
19
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
20
|
+
for (let key of __getOwnPropNames(from))
|
|
21
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
22
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
23
|
+
}
|
|
24
|
+
return to;
|
|
25
|
+
};
|
|
26
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
27
|
+
var set_system_snippet_exports = {};
|
|
28
|
+
__export(set_system_snippet_exports, {
|
|
29
|
+
setSystemSnippet: () => setSystemSnippet
|
|
30
|
+
});
|
|
31
|
+
module.exports = __toCommonJS(set_system_snippet_exports);
|
|
32
|
+
const systemSnippets = /* @__PURE__ */ new Set(["ui.*", "pm", "pm.*", "app"]);
|
|
33
|
+
async function setSystemSnippet(ctx, next) {
|
|
34
|
+
const { filterByTk, values } = ctx.action.params;
|
|
35
|
+
const snippet = values == null ? void 0 : values.snippet;
|
|
36
|
+
const enabled = values == null ? void 0 : values.enabled;
|
|
37
|
+
if (typeof filterByTk !== "string" || typeof snippet !== "string" || !systemSnippets.has(snippet) || typeof enabled !== "boolean") {
|
|
38
|
+
ctx.throw(400, ctx.t("Invalid system permission", { ns: "acl" }));
|
|
39
|
+
}
|
|
40
|
+
ctx.body = await ctx.db.sequelize.transaction(async (transaction) => {
|
|
41
|
+
const repository = ctx.db.getRepository("roles");
|
|
42
|
+
const role = await repository.findOne({ filterByTk, transaction, lock: transaction.LOCK.UPDATE });
|
|
43
|
+
if (!role) {
|
|
44
|
+
ctx.throw(404, ctx.t("Role not found", { ns: "acl" }));
|
|
45
|
+
}
|
|
46
|
+
const current = role.get("snippets");
|
|
47
|
+
const snippets = Array.isArray(current) ? current.filter((value) => typeof value === "string") : [];
|
|
48
|
+
const nextSnippets = [
|
|
49
|
+
...snippets.filter((value) => value !== snippet && value !== `!${snippet}`),
|
|
50
|
+
enabled ? snippet : `!${snippet}`
|
|
51
|
+
];
|
|
52
|
+
if (snippets.length !== nextSnippets.length || nextSnippets.some((value) => !snippets.includes(value))) {
|
|
53
|
+
await repository.update({ filterByTk, values: { snippets: nextSnippets }, transaction, context: ctx });
|
|
54
|
+
}
|
|
55
|
+
return nextSnippets;
|
|
56
|
+
});
|
|
57
|
+
await next();
|
|
58
|
+
}
|
|
59
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
60
|
+
0 && (module.exports = {
|
|
61
|
+
setSystemSnippet
|
|
62
|
+
});
|
package/dist/server/server.js
CHANGED
|
@@ -57,6 +57,7 @@ var import_RoleModel = require("./model/RoleModel");
|
|
|
57
57
|
var import_RoleResourceActionModel = require("./model/RoleResourceActionModel");
|
|
58
58
|
var import_RoleResourceModel = require("./model/RoleResourceModel");
|
|
59
59
|
var import_union_role = require("./actions/union-role");
|
|
60
|
+
var import_set_system_snippet = require("./actions/set-system-snippet");
|
|
60
61
|
var import_check_association_operate = require("./middlewares/check-association-operate");
|
|
61
62
|
var import_check_change_with_association = require("./middlewares/check-change-with-association");
|
|
62
63
|
var import_check_query_permission = require("./middlewares/check-query-permission");
|
|
@@ -183,6 +184,7 @@ class PluginACLServer extends import_server.Plugin {
|
|
|
183
184
|
this.app.resourcer.define(import_available_actions.availableActionResource);
|
|
184
185
|
this.app.resourcer.define(import_role_collections.roleCollectionsResource);
|
|
185
186
|
this.app.resourcer.registerActionHandler("roles:setSystemRoleMode", import_union_role.setSystemRoleMode);
|
|
187
|
+
this.app.resourcer.registerActionHandler("roles:setSystemSnippet", import_set_system_snippet.setSystemSnippet);
|
|
186
188
|
this.app.resourcer.registerActionHandler("roles:applyDataPermissions", import_apply_data_permissions.applyDataPermissions);
|
|
187
189
|
this.app.resourcer.registerActionHandler("roles:check", import_role_check.checkAction);
|
|
188
190
|
this.app.resourcer.registerPreActionHandler(
|
package/package.json
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
"description": "Based on roles, resources, and actions, access control can precisely manage interface configuration permissions, data operation permissions, menu access permissions, and plugin permissions.",
|
|
7
7
|
"description.ru-RU": "На основе ролей, ресурсов и действий система контроля доступа может точно управлять разрешениями на изменение интерфейса, работу с данными, доступ к меню и разрешениями для подключаемых модулей.",
|
|
8
8
|
"description.zh-CN": "基于角色、资源和操作的权限控制,可以精确控制界面配置权限、数据操作权限、菜单访问权限、插件权限。",
|
|
9
|
-
"version": "2.3.0-beta.
|
|
9
|
+
"version": "2.3.0-beta.16",
|
|
10
10
|
"license": "Apache-2.0",
|
|
11
11
|
"main": "./dist/server/index.js",
|
|
12
12
|
"homepage": "https://docs.nocobase.com/handbook/acl",
|
|
@@ -46,5 +46,5 @@
|
|
|
46
46
|
"url": "git+https://github.com/nocobase/nocobase.git",
|
|
47
47
|
"directory": "packages/plugins/acl"
|
|
48
48
|
},
|
|
49
|
-
"gitHead": "
|
|
49
|
+
"gitHead": "b5fbabe2b7466c04f89621345d2270201a9f0fcf"
|
|
50
50
|
}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* This file is part of the NocoBase (R) project.
|
|
3
|
-
* Copyright (c) 2020-2024 NocoBase Co., Ltd.
|
|
4
|
-
* Authors: NocoBase Team.
|
|
5
|
-
*
|
|
6
|
-
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
|
|
7
|
-
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
|
-
*/
|
|
9
|
-
|
|
10
|
-
"use strict";(self.webpackChunk_nocobase_plugin_acl_client_v2=self.webpackChunk_nocobase_plugin_acl_client_v2||[]).push([["336"],{227:function(e,t,r){r.r(t),r.d(t,{default:function(){return x}});var n=r(694),o=r(59),a=r(155),l=r.n(a),u=r(488),c=r(485),i=r(625);function s(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 f(e,t){var r,n;return r=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;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}({},e),n=n={snippets:t},Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(n)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t})(Object(n)).forEach(function(e){Object.defineProperty(r,e,Object.getOwnPropertyDescriptor(n,e))}),r}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}function y(e,t,r,n,o,a,l){try{var u=e[a](l),c=u.value}catch(e){r(e);return}u.done?t(c):Promise.resolve(c).then(n,o)}function b(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var a=e.apply(t,r);function l(e){y(a,n,o,l,u,"next",e)}function u(e){y(a,n,o,l,u,"throw",e)}l(void 0)})}}function m(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;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}function d(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t})(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}),e}function h(e){return function(e){if(Array.isArray(e))return p(e)}(e)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||v(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 v(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)}}function g(e,t){var r,n,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},l=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),u=Object.defineProperty;return u(l,"next",{value:c(0)}),u(l,"throw",{value:c(1)}),u(l,"return",{value:c(2)}),"function"==typeof Symbol&&u(l,Symbol.iterator,{value:function(){return this}}),l;function c(u){return function(c){var i=[u,c];if(r)throw TypeError("Generator is already executing.");for(;l&&(l=0,i[0]&&(a=0)),a;)try{if(r=1,n&&(o=2&i[0]?n.return:i[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,i[1])).done)return o;switch(n=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,n=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===i[0]||2===i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){a.label=i[1];break}if(6===i[0]&&a.label<o[1]){a.label=o[1],o=i;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(i);break}o[2]&&a.ops.pop(),a.trys.pop();continue}i=t.call(e,a)}catch(e){i=[6,e],n=0}finally{r=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}}}function O(e){var t,r,f=(0,n.useFlowContext)(),p=(0,u.kj)(),y=(0,a.useMemo)(function(){return f.app.pluginSettingsManager.getList(!1).map(function(e){return function e(t){var r,n=(null!=(r=t.children)?r:[]).filter(function(e){return e.key!==t.key&&e.title!==t.title}).filter(function(e){return!t.aclSnippet||e.aclSnippet!==t.aclSnippet}).map(function(t){return e(t)});return n.length?d(m({},t),{children:n}):d(m({},t),{children:void 0})}(e)})},[f.app]),O=f.app.pluginSettingsManager.getAclSnippets(),w=(0,a.useMemo)(function(){return y.flatMap(function(e){return e.children?[e].concat(h(e.children)):[e]})},[y]),S=function(e){if(Array.isArray(e))return e}(t=(0,a.useState)(null!=(r=e.role.snippets)?r:[]))||function(e){var t,r,n=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var o=[],a=!0,l=!1;try{for(n=n.call(e);!(a=(t=n.next()).done)&&(o.push(t.value),2!==o.length);a=!0);}catch(e){l=!0,r=e}finally{try{a||null==n.return||n.return()}finally{if(l)throw r}}return o}}(t)||v(t,2)||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=S[0],k=S[1],A=f.api.resource("roles.snippets",e.role.name),P=(0,i.useRequest)(function(){return b(function(){var e,t;return g(this,function(r){switch(r.label){case 0:return[4,A.list({paginate:!1})];case 1:var n;return[2,null!=(e=(!(n=null==(t=r.sent())?void 0:t.data)||(void 0===n?"undefined":n&&"u">typeof Symbol&&n.constructor===Symbol?"symbol":typeof n)!="object"?{}:{data:Array.isArray(n.data)?n.data:[]}).data)?e:[]]}})})()},{ready:e.active&&!!e.role.name,refreshDeps:[e.role.name],onSuccess:function(e){k(e.filter(function(e){return w.find(function(t){return e.includes("!".concat(t.aclSnippet))||!e.startsWith("!pm.")})}))}}),x=P.loading,E=P.refreshAsync,I=j.includes("pm.*")&&j.every(function(e){return!e.startsWith("!pm.")}),T=(0,a.useMemo)(function(){return[{dataIndex:"title",title:p("Plugin name"),render:function(e){return"string"!=typeof e?e:p(e)||p("Unnamed")}},{dataIndex:"accessible",title:l().createElement(o.Checkbox,{checked:I,onChange:function(){return b(function(){var e;return g(this,function(t){switch(t.label){case 0:if(e=O.map(function(e){return"!".concat(e)}),!I)return[3,2];return[4,A.add({values:e})];case 1:return t.sent(),[3,4];case 2:return[4,A.remove({values:e})];case 3:t.sent(),t.label=4;case 4:return[4,E()];case 5:return t.sent(),f.message.success(p("Saved successfully")),[2]}})})()}},p("Allow access")),render:function(e,t){var r=Array.from(new Set([t.aclSnippet].concat(h(function e(t){var r,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return(t.children?function(e){if(Array.isArray(e))return s(e)}(r=t.children)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(r)||function(e){if(e){if("string"==typeof e)return s(e,void 0);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 s(e,void 0)}}(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.")}():[]).forEach(function(t){t.aclSnippet&&n.push(t.aclSnippet),e(t,n)}),n}(t))).filter(function(e){return!!e}).map(function(e){return"!".concat(e)}))),n=r.every(function(e){return!j.includes(e)});return l().createElement(o.Checkbox,{checked:n,onChange:function(){return b(function(){return g(this,function(e){switch(e.label){case 0:if(!n)return[3,2];return[4,A.add({values:r})];case 1:return e.sent(),[3,4];case 2:return[4,A.remove({values:r})];case 3:e.sent(),e.label=4;case 4:return[4,E()];case 5:return e.sent(),f.message.success(p("Saved successfully")),[2]}})})()}})}}]},[O,I,f.message,E,A,j,p]),C=y.filter(function(e){return!1!==e.isTopLevel}).map(function(e){return!1!==e.showTabs?e:(e.children,function(e,t){if(null==e)return{};var r,n,o,a={};if("u">typeof Reflect&&Reflect.ownKeys){for(o=0,r=Reflect.ownKeys(Object(e));o<r.length;o++)n=r[o],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n]);return a}if(a=function(e,t){if(null==e)return{};var r,n,o={},a=Object.getOwnPropertyNames(e);for(n=0;n<a.length;n++)r=a[n],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r]);return o}(e,t),Object.getOwnPropertySymbols)for(o=0,r=Object.getOwnPropertySymbols(e);o<r.length;o++)n=r[o],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n]);return a}(e,["children"]))});return l().createElement(c.Table,{loading:x,rowKey:"key",pagination:!1,expandable:{defaultExpandAllRows:!0},columns:T,dataSource:C})}function w(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 S(e,t,r,n,o,a,l){try{var u=e[a](l),c=u.value}catch(e){r(e);return}u.done?t(c):Promise.resolve(c).then(n,o)}function j(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var a=e.apply(t,r);function l(e){S(a,n,o,l,u,"next",e)}function u(e){S(a,n,o,l,u,"throw",e)}l(void 0)})}}function k(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r,n,o=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var a=[],l=!0,u=!1;try{for(o=o.call(e);!(l=(r=o.next()).done)&&(a.push(r.value),!t||a.length!==t);l=!0);}catch(e){u=!0,n=e}finally{try{l||null==o.return||o.return()}finally{if(u)throw n}}return a}}(e,t)||function(e,t){if(e){if("string"==typeof e)return w(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 w(e,t)}}(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function A(e,t){var r,n,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},l=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),u=Object.defineProperty;return u(l,"next",{value:c(0)}),u(l,"throw",{value:c(1)}),u(l,"return",{value:c(2)}),"function"==typeof Symbol&&u(l,Symbol.iterator,{value:function(){return this}}),l;function c(u){return function(c){var i=[u,c];if(r)throw TypeError("Generator is already executing.");for(;l&&(l=0,i[0]&&(a=0)),a;)try{if(r=1,n&&(o=2&i[0]?n.return:i[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,i[1])).done)return o;switch(n=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,n=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===i[0]||2===i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){a.label=i[1];break}if(6===i[0]&&a.label<o[1]){a.label=o[1],o=i;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(i);break}o[2]&&a.ops.pop(),a.trys.pop();continue}i=t.call(e,a)}catch(e){i=[6,e],n=0}finally{r=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}}}var P=["ui.*","pm","pm.*","app"];function x(e){var t,r=(0,n.useFlowContext)(),c=(0,u.kj)(),i=o.theme.useToken().token,s=e.activeRole,p=k((0,a.useState)(),2),y=p[0],b=p[1],m=k((0,a.useState)(null!=(t=null==s?void 0:s.snippets)?t:[]),2),d=m[0],h=m[1];(0,a.useEffect)(function(){var e;h(null!=(e=null==s?void 0:s.snippets)?e:[])},[null==s?void 0:s.name,null==s?void 0:s.snippets]);var v=(0,a.useMemo)(function(){return[{key:"ui.*",label:c("Allows to configure interface")},{key:"pm",label:c("Allows to install, activate, disable plugins")},{key:"pm.*",label:c("Allows to configure plugins")},{key:"app",label:c("Allows to clear cache, reboot application")}]},[c]);if(!s)return l().createElement(o.Typography.Text,{type:"secondary"},c("Select a role to configure permissions"));var g=d.includes("pm.*");return l().createElement("div",{style:{width:"100%",display:"flex",flexDirection:"column",gap:i.marginSM}},l().createElement(o.Typography.Text,{strong:!0},c("Configure permissions")),l().createElement(o.Checkbox.Group,{value:d.filter(function(e){return P.includes(e)})},l().createElement("div",{style:{display:"flex",flexDirection:"column",alignItems:"flex-start",width:"100%",gap:i.marginXS}},v.map(function(t){return l().createElement(o.Checkbox,{key:t.key,value:t.key,disabled:!!y,onChange:function(n){return j(function(){var o;return A(this,function(a){var l,u,i,p;switch(a.label){case 0:l=t.key,u=n.target.checked,(i=d.filter(function(e){return e!==l&&e!=="!".concat(l)})).push(u?l:"!".concat(l)),P.forEach(function(e){i.includes(e)||i.includes("!".concat(e))||i.push("!".concat(e))}),h(o=Array.from(new Set(i))),b(t.key),a.label=1;case 1:return a.trys.push([1,,3,4]),[4,(p=o,j(function(){return A(this,function(e){switch(e.label){case 0:return[4,r.api.resource("roles").update({filterByTk:s.name,values:{snippets:p}})];case 1:return e.sent(),[2]}})})())];case 2:return a.sent(),e.onRoleChange(f(s,o)),r.message.success(c("Saved successfully")),[3,4];case 3:return b(void 0),[7];case 4:return[2]}})})()}},t.label)}))),g?l().createElement(l().Fragment,null,l().createElement(o.Typography.Text,{strong:!0},c("Plugin settings")),l().createElement(O,{active:"general"===e.activeKey,role:f(s,d)})):null)}}}]);
|