@tachybase/module-acl 1.6.24 → 1.6.26
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/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
(function(y,h){typeof exports=="object"&&typeof module!="undefined"?h(exports,require("@tachybase/client"),require("@tego/client"),require("react/jsx-runtime"),require("react"),require("@tachybase/schema"),require("antd"),require("react-i18next"),require("ahooks"),require("lodash"),require("@ant-design/icons")):typeof define=="function"&&define.amd?define(["exports","@tachybase/client","@tego/client","react/jsx-runtime","react","@tachybase/schema","antd","react-i18next","ahooks","lodash","@ant-design/icons"],h):(y=typeof globalThis!="undefined"?globalThis:y||self,h(y["@tachybase/module-acl"]={},y["@tachybase/client"],y["@tego/client"],y.jsxRuntime,y.react,y["@tachybase/schema"],y.antd,y["react-i18next"],y.ahooks,y.lodash,y["@ant-design/icons"]))})(this,function(y,h,P,c,p,T,d,k,D,H,Br){"use strict";var Bs=Object.defineProperty,Js=Object.defineProperties;var Xs=Object.getOwnPropertyDescriptors;var na=Object.getOwnPropertySymbols;var Ys=Object.prototype.hasOwnProperty,Zs=Object.prototype.propertyIsEnumerable;var aa=(y,h,P)=>h in y?Bs(y,h,{enumerable:!0,configurable:!0,writable:!0,value:P}):y[h]=P,F=(y,h)=>{for(var P in h||(h={}))Ys.call(h,P)&&aa(y,P,h[P]);if(na)for(var P of na(h))Zs.call(h,P)&&aa(y,P,h[P]);return y},G=(y,h)=>Js(y,Xs(h));var M=(y,h,P)=>new Promise((c,p)=>{var T=D=>{try{k(P.next(D))}catch(H){p(H)}},d=D=>{try{k(P.throw(D))}catch(H){p(H)}},k=D=>D.done?c(D.value):Promise.resolve(D.value).then(T,d);k((P=P.apply(y,h)).next())});class sa{constructor(){this.rolesManager=new P.Registry}add(e,r){this.rolesManager.register(e,r)}list(){return this.rolesManager.getEntities()}}function j(){return k.useTranslation(["@tachybase/module-acl","core"],{nsMode:"fallback"})}const ia=()=>{const{t}=j();return c.jsx(h.SchemaComponent,{scope:{t},schema:{type:"void",properties:{newRole:{type:"void",title:t("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(e){const r=h.useActionContext();return h.useRequest(()=>Promise.resolve({data:{name:`r_${T.uid()}`,snippets:["!ui.*","!pm","!pm.*"]}}),G(F({},e),{refreshDeps:[r.visible]}))}},title:t("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 }}"}}}}}}}}}}})},N=p.createContext({role:null});N.displayName="RolesManagerContext";const Q=p.createContext([]);Q.displayName="AvailableActionsContext";const oa=t=>{const{data:e,loading:r}=h.useRequest({resource:"availableActions",action:"list"});return r?c.jsx(d.Spin,{}):c.jsx(Q.Provider,{value:e==null?void 0:e.data,children:t.children})},ua=()=>p.useContext(Q);var K=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:{};function Jr(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var $,Xr;function ca(){if(Xr)return $;Xr=1;var t=typeof K=="object"&&K&&K.Object===Object&&K;return $=t,$}var ee,Yr;function L(){if(Yr)return ee;Yr=1;var t=ca(),e=typeof self=="object"&&self&&self.Object===Object&&self,r=t||e||Function("return this")();return ee=r,ee}var re,Zr;function z(){if(Zr)return re;Zr=1;var t=L(),e=t.Symbol;return re=e,re}var te,Qr;function la(){if(Qr)return te;Qr=1;var t=z(),e=Object.prototype,r=e.hasOwnProperty,n=e.toString,a=t?t.toStringTag:void 0;function s(i){var o=r.call(i,a),u=i[a];try{i[a]=void 0;var l=!0}catch(g){}var f=n.call(i);return l&&(o?i[a]=u:delete i[a]),f}return te=s,te}var ne,$r;function ha(){if($r)return ne;$r=1;var t=Object.prototype,e=t.toString;function r(n){return e.call(n)}return ne=r,ne}var ae,et;function se(){if(et)return ae;et=1;var t=z(),e=la(),r=ha(),n="[object Null]",a="[object Undefined]",s=t?t.toStringTag:void 0;function i(o){return o==null?o===void 0?a:n:s&&s in Object(o)?e(o):r(o)}return ae=i,ae}var ie,rt;function oe(){if(rt)return ie;rt=1;function t(e){var r=typeof e;return e!=null&&(r=="object"||r=="function")}return ie=t,ie}var ue,tt;function da(){if(tt)return ue;tt=1;var t=se(),e=oe(),r="[object AsyncFunction]",n="[object Function]",a="[object GeneratorFunction]",s="[object Proxy]";function i(o){if(!e(o))return!1;var u=t(o);return u==n||u==a||u==r||u==s}return ue=i,ue}var ce,nt;function fa(){if(nt)return ce;nt=1;var t=L(),e=t["__core-js_shared__"];return ce=e,ce}var le,at;function pa(){if(at)return le;at=1;var t=fa(),e=function(){var n=/[^.]+$/.exec(t&&t.keys&&t.keys.IE_PROTO||"");return n?"Symbol(src)_1."+n:""}();function r(n){return!!e&&e in n}return le=r,le}var he,st;function va(){if(st)return he;st=1;var t=Function.prototype,e=t.toString;function r(n){if(n!=null){try{return e.call(n)}catch(a){}try{return n+""}catch(a){}}return""}return he=r,he}var de,it;function _a(){if(it)return de;it=1;var t=da(),e=pa(),r=oe(),n=va(),a=/[\\^$.*+?()[\]{}|]/g,s=/^\[object .+?Constructor\]$/,i=Function.prototype,o=Object.prototype,u=i.toString,l=o.hasOwnProperty,f=RegExp("^"+u.call(l).replace(a,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function g(m){if(!r(m)||e(m))return!1;var b=t(m)?f:s;return b.test(n(m))}return de=g,de}var fe,ot;function ga(){if(ot)return fe;ot=1;function t(e,r){return e==null?void 0:e[r]}return fe=t,fe}var pe,ut;function V(){if(ut)return pe;ut=1;var t=_a(),e=ga();function r(n,a){var s=e(n,a);return t(s)?s:void 0}return pe=r,pe}var ve,ct;function W(){if(ct)return ve;ct=1;var t=V(),e=t(Object,"create");return ve=e,ve}var _e,lt;function ma(){if(lt)return _e;lt=1;var t=W();function e(){this.__data__=t?t(null):{},this.size=0}return _e=e,_e}var ge,ht;function ya(){if(ht)return ge;ht=1;function t(e){var r=this.has(e)&&delete this.__data__[e];return this.size-=r?1:0,r}return ge=t,ge}var me,dt;function ba(){if(dt)return me;dt=1;var t=W(),e="__lodash_hash_undefined__",r=Object.prototype,n=r.hasOwnProperty;function a(s){var i=this.__data__;if(t){var o=i[s];return o===e?void 0:o}return n.call(i,s)?i[s]:void 0}return me=a,me}var ye,ft;function Ca(){if(ft)return ye;ft=1;var t=W(),e=Object.prototype,r=e.hasOwnProperty;function n(a){var s=this.__data__;return t?s[a]!==void 0:r.call(s,a)}return ye=n,ye}var be,pt;function qa(){if(pt)return be;pt=1;var t=W(),e="__lodash_hash_undefined__";function r(n,a){var s=this.__data__;return this.size+=this.has(n)?0:1,s[n]=t&&a===void 0?e:a,this}return be=r,be}var Ce,vt;function Sa(){if(vt)return Ce;vt=1;var t=ma(),e=ya(),r=ba(),n=Ca(),a=qa();function s(i){var o=-1,u=i==null?0:i.length;for(this.clear();++o<u;){var l=i[o];this.set(l[0],l[1])}}return s.prototype.clear=t,s.prototype.delete=e,s.prototype.get=r,s.prototype.has=n,s.prototype.set=a,Ce=s,Ce}var qe,_t;function xa(){if(_t)return qe;_t=1;function t(){this.__data__=[],this.size=0}return qe=t,qe}var Se,gt;function mt(){if(gt)return Se;gt=1;function t(e,r){return e===r||e!==e&&r!==r}return Se=t,Se}var xe,yt;function B(){if(yt)return xe;yt=1;var t=mt();function e(r,n){for(var a=r.length;a--;)if(t(r[a][0],n))return a;return-1}return xe=e,xe}var Ie,bt;function Ia(){if(bt)return Ie;bt=1;var t=B(),e=Array.prototype,r=e.splice;function n(a){var s=this.__data__,i=t(s,a);if(i<0)return!1;var o=s.length-1;return i==o?s.pop():r.call(s,i,1),--this.size,!0}return Ie=n,Ie}var Ae,Ct;function Aa(){if(Ct)return Ae;Ct=1;var t=B();function e(r){var n=this.__data__,a=t(n,r);return a<0?void 0:n[a][1]}return Ae=e,Ae}var we,qt;function wa(){if(qt)return we;qt=1;var t=B();function e(r){return t(this.__data__,r)>-1}return we=e,we}var Pe,St;function Pa(){if(St)return Pe;St=1;var t=B();function e(r,n){var a=this.__data__,s=t(a,r);return s<0?(++this.size,a.push([r,n])):a[s][1]=n,this}return Pe=e,Pe}var Te,xt;function Ta(){if(xt)return Te;xt=1;var t=xa(),e=Ia(),r=Aa(),n=wa(),a=Pa();function s(i){var o=-1,u=i==null?0:i.length;for(this.clear();++o<u;){var l=i[o];this.set(l[0],l[1])}}return s.prototype.clear=t,s.prototype.delete=e,s.prototype.get=r,s.prototype.has=n,s.prototype.set=a,Te=s,Te}var Oe,It;function Oa(){if(It)return Oe;It=1;var t=V(),e=L(),r=t(e,"Map");return Oe=r,Oe}var Me,At;function Ma(){if(At)return Me;At=1;var t=Sa(),e=Ta(),r=Oa();function n(){this.size=0,this.__data__={hash:new t,map:new(r||e),string:new t}}return Me=n,Me}var Fe,wt;function Fa(){if(wt)return Fe;wt=1;function t(e){var r=typeof e;return r=="string"||r=="number"||r=="symbol"||r=="boolean"?e!=="__proto__":e===null}return Fe=t,Fe}var De,Pt;function J(){if(Pt)return De;Pt=1;var t=Fa();function e(r,n){var a=r.__data__;return t(n)?a[typeof n=="string"?"string":"hash"]:a.map}return De=e,De}var ke,Tt;function Da(){if(Tt)return ke;Tt=1;var t=J();function e(r){var n=t(this,r).delete(r);return this.size-=n?1:0,n}return ke=e,ke}var Ee,Ot;function ka(){if(Ot)return Ee;Ot=1;var t=J();function e(r){return t(this,r).get(r)}return Ee=e,Ee}var Ne,Mt;function Ea(){if(Mt)return Ne;Mt=1;var t=J();function e(r){return t(this,r).has(r)}return Ne=e,Ne}var He,Ft;function Na(){if(Ft)return He;Ft=1;var t=J();function e(r,n){var a=t(this,r),s=a.size;return a.set(r,n),this.size+=a.size==s?0:1,this}return He=e,He}var Re,Dt;function kt(){if(Dt)return Re;Dt=1;var t=Ma(),e=Da(),r=ka(),n=Ea(),a=Na();function s(i){var o=-1,u=i==null?0:i.length;for(this.clear();++o<u;){var l=i[o];this.set(l[0],l[1])}}return s.prototype.clear=t,s.prototype.delete=e,s.prototype.get=r,s.prototype.has=n,s.prototype.set=a,Re=s,Re}var Ge,Et;function Ha(){if(Et)return Ge;Et=1;var t="__lodash_hash_undefined__";function e(r){return this.__data__.set(r,t),this}return Ge=e,Ge}var je,Nt;function Ra(){if(Nt)return je;Nt=1;function t(e){return this.__data__.has(e)}return je=t,je}var Ue,Ht;function Ga(){if(Ht)return Ue;Ht=1;var t=kt(),e=Ha(),r=Ra();function n(a){var s=-1,i=a==null?0:a.length;for(this.__data__=new t;++s<i;)this.add(a[s])}return n.prototype.add=n.prototype.push=e,n.prototype.has=r,Ue=n,Ue}var Ke,Rt;function ja(){if(Rt)return Ke;Rt=1;function t(e,r,n,a){for(var s=e.length,i=n+(a?1:-1);a?i--:++i<s;)if(r(e[i],i,e))return i;return-1}return Ke=t,Ke}var Le,Gt;function Ua(){if(Gt)return Le;Gt=1;function t(e){return e!==e}return Le=t,Le}var ze,jt;function Ka(){if(jt)return ze;jt=1;function t(e,r,n){for(var a=n-1,s=e.length;++a<s;)if(e[a]===r)return a;return-1}return ze=t,ze}var Ve,Ut;function La(){if(Ut)return Ve;Ut=1;var t=ja(),e=Ua(),r=Ka();function n(a,s,i){return s===s?r(a,s,i):t(a,e,i)}return Ve=n,Ve}var We,Kt;function za(){if(Kt)return We;Kt=1;var t=La();function e(r,n){var a=r==null?0:r.length;return!!a&&t(r,n,0)>-1}return We=e,We}var Be,Lt;function Va(){if(Lt)return Be;Lt=1;function t(e,r,n){for(var a=-1,s=e==null?0:e.length;++a<s;)if(n(r,e[a]))return!0;return!1}return Be=t,Be}var Je,zt;function Wa(){if(zt)return Je;zt=1;function t(e,r){return e.has(r)}return Je=t,Je}var Xe,Vt;function Ba(){if(Vt)return Xe;Vt=1;var t=V(),e=L(),r=t(e,"Set");return Xe=r,Xe}var Ye,Wt;function Ja(){if(Wt)return Ye;Wt=1;function t(){}return Ye=t,Ye}var Ze,Bt;function Jt(){if(Bt)return Ze;Bt=1;function t(e){var r=-1,n=Array(e.size);return e.forEach(function(a){n[++r]=a}),n}return Ze=t,Ze}var Qe,Xt;function Xa(){if(Xt)return Qe;Xt=1;var t=Ba(),e=Ja(),r=Jt(),n=1/0,a=t&&1/r(new t([,-0]))[1]==n?function(s){return new t(s)}:e;return Qe=a,Qe}var $e,Yt;function Ya(){if(Yt)return $e;Yt=1;var t=Ga(),e=za(),r=Va(),n=Wa(),a=Xa(),s=Jt(),i=200;function o(u,l,f){var g=-1,m=e,b=u.length,S=!0,q=[],I=q;if(f)S=!1,m=r;else if(b>=i){var v=l?null:a(u);if(v)return s(v);S=!1,m=n,I=new t}else I=l?[]:q;e:for(;++g<b;){var C=u[g],_=l?l(C):C;if(C=f||C!==0?C:0,S&&_===_){for(var w=I.length;w--;)if(I[w]===_)continue e;l&&I.push(_),q.push(C)}else m(I,_,f)||(I!==q&&I.push(_),q.push(C))}return q}return $e=o,$e}var er,Zt;function Za(){if(Zt)return er;Zt=1;var t=Ya();function e(r){return r&&r.length?t(r):[]}return er=e,er}var Qa=Za();const $a=Jr(Qa),Qt=h.createStyles(({css:t})=>t`
|
|
1
|
+
(function(y,h){typeof exports=="object"&&typeof module!="undefined"?h(exports,require("@tachybase/client"),require("@tego/client"),require("react/jsx-runtime"),require("react"),require("@tachybase/schema"),require("antd"),require("react-i18next"),require("ahooks"),require("lodash"),require("@ant-design/icons")):typeof define=="function"&&define.amd?define(["exports","@tachybase/client","@tego/client","react/jsx-runtime","react","@tachybase/schema","antd","react-i18next","ahooks","lodash","@ant-design/icons"],h):(y=typeof globalThis!="undefined"?globalThis:y||self,h(y["@tachybase/module-acl"]={},y["@tachybase/client"],y["@tego/client"],y.jsxRuntime,y.react,y["@tachybase/schema"],y.antd,y["react-i18next"],y.ahooks,y.lodash,y["@ant-design/icons"]))})(this,function(y,h,w,c,p,T,d,k,D,N,Br){"use strict";var Ws=Object.defineProperty,Bs=Object.defineProperties;var Js=Object.getOwnPropertyDescriptors;var ta=Object.getOwnPropertySymbols;var Xs=Object.prototype.hasOwnProperty,Ys=Object.prototype.propertyIsEnumerable;var na=(y,h,w)=>h in y?Ws(y,h,{enumerable:!0,configurable:!0,writable:!0,value:w}):y[h]=w,F=(y,h)=>{for(var w in h||(h={}))Xs.call(h,w)&&na(y,w,h[w]);if(ta)for(var w of ta(h))Ys.call(h,w)&&na(y,w,h[w]);return y},R=(y,h)=>Bs(y,Js(h));var M=(y,h,w)=>new Promise((c,p)=>{var T=D=>{try{k(w.next(D))}catch(N){p(N)}},d=D=>{try{k(w.throw(D))}catch(N){p(N)}},k=D=>D.done?c(D.value):Promise.resolve(D.value).then(T,d);k((w=w.apply(y,h)).next())});class aa{constructor(){this.rolesManager=new w.Registry}add(e,r){this.rolesManager.register(e,r)}list(){return this.rolesManager.getEntities()}}function G(){return k.useTranslation(["@tachybase/module-acl","core"],{nsMode:"fallback"})}const sa=()=>{const{t}=G();return c.jsx(h.SchemaComponent,{scope:{t},schema:{type:"void",properties:{newRole:{type:"void",title:t("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(e){const r=h.useActionContext();return h.useRequest(()=>Promise.resolve({data:{name:`r_${T.uid()}`,snippets:["!ui.*","!pm","!pm.*"]}}),R(F({},e),{refreshDeps:[r.visible]}))}},title:t("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 }}"}}}}}}}}}}})},E=p.createContext({role:null});E.displayName="RolesManagerContext";const Q=p.createContext([]);Q.displayName="AvailableActionsContext";const ia=t=>{const{data:e,loading:r}=h.useRequest({resource:"availableActions",action:"list"});return r?c.jsx(d.Spin,{}):c.jsx(Q.Provider,{value:e==null?void 0:e.data,children:t.children})},oa=()=>p.useContext(Q);var L=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:{};function Jr(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var $,Xr;function ua(){if(Xr)return $;Xr=1;var t=typeof L=="object"&&L&&L.Object===Object&&L;return $=t,$}var ee,Yr;function z(){if(Yr)return ee;Yr=1;var t=ua(),e=typeof self=="object"&&self&&self.Object===Object&&self,r=t||e||Function("return this")();return ee=r,ee}var re,Zr;function K(){if(Zr)return re;Zr=1;var t=z(),e=t.Symbol;return re=e,re}var te,Qr;function ca(){if(Qr)return te;Qr=1;var t=K(),e=Object.prototype,r=e.hasOwnProperty,n=e.toString,a=t?t.toStringTag:void 0;function s(i){var o=r.call(i,a),u=i[a];try{i[a]=void 0;var l=!0}catch(_){}var f=n.call(i);return l&&(o?i[a]=u:delete i[a]),f}return te=s,te}var ne,$r;function la(){if($r)return ne;$r=1;var t=Object.prototype,e=t.toString;function r(n){return e.call(n)}return ne=r,ne}var ae,et;function se(){if(et)return ae;et=1;var t=K(),e=ca(),r=la(),n="[object Null]",a="[object Undefined]",s=t?t.toStringTag:void 0;function i(o){return o==null?o===void 0?a:n:s&&s in Object(o)?e(o):r(o)}return ae=i,ae}var ie,rt;function oe(){if(rt)return ie;rt=1;function t(e){var r=typeof e;return e!=null&&(r=="object"||r=="function")}return ie=t,ie}var ue,tt;function ha(){if(tt)return ue;tt=1;var t=se(),e=oe(),r="[object AsyncFunction]",n="[object Function]",a="[object GeneratorFunction]",s="[object Proxy]";function i(o){if(!e(o))return!1;var u=t(o);return u==n||u==a||u==r||u==s}return ue=i,ue}var ce,nt;function da(){if(nt)return ce;nt=1;var t=z(),e=t["__core-js_shared__"];return ce=e,ce}var le,at;function fa(){if(at)return le;at=1;var t=da(),e=function(){var n=/[^.]+$/.exec(t&&t.keys&&t.keys.IE_PROTO||"");return n?"Symbol(src)_1."+n:""}();function r(n){return!!e&&e in n}return le=r,le}var he,st;function pa(){if(st)return he;st=1;var t=Function.prototype,e=t.toString;function r(n){if(n!=null){try{return e.call(n)}catch(a){}try{return n+""}catch(a){}}return""}return he=r,he}var de,it;function va(){if(it)return de;it=1;var t=ha(),e=fa(),r=oe(),n=pa(),a=/[\\^$.*+?()[\]{}|]/g,s=/^\[object .+?Constructor\]$/,i=Function.prototype,o=Object.prototype,u=i.toString,l=o.hasOwnProperty,f=RegExp("^"+u.call(l).replace(a,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function _(g){if(!r(g)||e(g))return!1;var b=t(g)?f:s;return b.test(n(g))}return de=_,de}var fe,ot;function _a(){if(ot)return fe;ot=1;function t(e,r){return e==null?void 0:e[r]}return fe=t,fe}var pe,ut;function V(){if(ut)return pe;ut=1;var t=va(),e=_a();function r(n,a){var s=e(n,a);return t(s)?s:void 0}return pe=r,pe}var ve,ct;function W(){if(ct)return ve;ct=1;var t=V(),e=t(Object,"create");return ve=e,ve}var _e,lt;function ga(){if(lt)return _e;lt=1;var t=W();function e(){this.__data__=t?t(null):{},this.size=0}return _e=e,_e}var ge,ht;function ma(){if(ht)return ge;ht=1;function t(e){var r=this.has(e)&&delete this.__data__[e];return this.size-=r?1:0,r}return ge=t,ge}var me,dt;function ya(){if(dt)return me;dt=1;var t=W(),e="__lodash_hash_undefined__",r=Object.prototype,n=r.hasOwnProperty;function a(s){var i=this.__data__;if(t){var o=i[s];return o===e?void 0:o}return n.call(i,s)?i[s]:void 0}return me=a,me}var ye,ft;function ba(){if(ft)return ye;ft=1;var t=W(),e=Object.prototype,r=e.hasOwnProperty;function n(a){var s=this.__data__;return t?s[a]!==void 0:r.call(s,a)}return ye=n,ye}var be,pt;function Ca(){if(pt)return be;pt=1;var t=W(),e="__lodash_hash_undefined__";function r(n,a){var s=this.__data__;return this.size+=this.has(n)?0:1,s[n]=t&&a===void 0?e:a,this}return be=r,be}var Ce,vt;function qa(){if(vt)return Ce;vt=1;var t=ga(),e=ma(),r=ya(),n=ba(),a=Ca();function s(i){var o=-1,u=i==null?0:i.length;for(this.clear();++o<u;){var l=i[o];this.set(l[0],l[1])}}return s.prototype.clear=t,s.prototype.delete=e,s.prototype.get=r,s.prototype.has=n,s.prototype.set=a,Ce=s,Ce}var qe,_t;function Sa(){if(_t)return qe;_t=1;function t(){this.__data__=[],this.size=0}return qe=t,qe}var Se,gt;function mt(){if(gt)return Se;gt=1;function t(e,r){return e===r||e!==e&&r!==r}return Se=t,Se}var xe,yt;function B(){if(yt)return xe;yt=1;var t=mt();function e(r,n){for(var a=r.length;a--;)if(t(r[a][0],n))return a;return-1}return xe=e,xe}var Ie,bt;function xa(){if(bt)return Ie;bt=1;var t=B(),e=Array.prototype,r=e.splice;function n(a){var s=this.__data__,i=t(s,a);if(i<0)return!1;var o=s.length-1;return i==o?s.pop():r.call(s,i,1),--this.size,!0}return Ie=n,Ie}var Ae,Ct;function Ia(){if(Ct)return Ae;Ct=1;var t=B();function e(r){var n=this.__data__,a=t(n,r);return a<0?void 0:n[a][1]}return Ae=e,Ae}var we,qt;function Aa(){if(qt)return we;qt=1;var t=B();function e(r){return t(this.__data__,r)>-1}return we=e,we}var Pe,St;function wa(){if(St)return Pe;St=1;var t=B();function e(r,n){var a=this.__data__,s=t(a,r);return s<0?(++this.size,a.push([r,n])):a[s][1]=n,this}return Pe=e,Pe}var Te,xt;function Pa(){if(xt)return Te;xt=1;var t=Sa(),e=xa(),r=Ia(),n=Aa(),a=wa();function s(i){var o=-1,u=i==null?0:i.length;for(this.clear();++o<u;){var l=i[o];this.set(l[0],l[1])}}return s.prototype.clear=t,s.prototype.delete=e,s.prototype.get=r,s.prototype.has=n,s.prototype.set=a,Te=s,Te}var Oe,It;function Ta(){if(It)return Oe;It=1;var t=V(),e=z(),r=t(e,"Map");return Oe=r,Oe}var Me,At;function Oa(){if(At)return Me;At=1;var t=qa(),e=Pa(),r=Ta();function n(){this.size=0,this.__data__={hash:new t,map:new(r||e),string:new t}}return Me=n,Me}var Fe,wt;function Ma(){if(wt)return Fe;wt=1;function t(e){var r=typeof e;return r=="string"||r=="number"||r=="symbol"||r=="boolean"?e!=="__proto__":e===null}return Fe=t,Fe}var De,Pt;function J(){if(Pt)return De;Pt=1;var t=Ma();function e(r,n){var a=r.__data__;return t(n)?a[typeof n=="string"?"string":"hash"]:a.map}return De=e,De}var ke,Tt;function Fa(){if(Tt)return ke;Tt=1;var t=J();function e(r){var n=t(this,r).delete(r);return this.size-=n?1:0,n}return ke=e,ke}var Ee,Ot;function Da(){if(Ot)return Ee;Ot=1;var t=J();function e(r){return t(this,r).get(r)}return Ee=e,Ee}var Ne,Mt;function ka(){if(Mt)return Ne;Mt=1;var t=J();function e(r){return t(this,r).has(r)}return Ne=e,Ne}var He,Ft;function Ea(){if(Ft)return He;Ft=1;var t=J();function e(r,n){var a=t(this,r),s=a.size;return a.set(r,n),this.size+=a.size==s?0:1,this}return He=e,He}var Re,Dt;function kt(){if(Dt)return Re;Dt=1;var t=Oa(),e=Fa(),r=Da(),n=ka(),a=Ea();function s(i){var o=-1,u=i==null?0:i.length;for(this.clear();++o<u;){var l=i[o];this.set(l[0],l[1])}}return s.prototype.clear=t,s.prototype.delete=e,s.prototype.get=r,s.prototype.has=n,s.prototype.set=a,Re=s,Re}var Ge,Et;function Na(){if(Et)return Ge;Et=1;var t="__lodash_hash_undefined__";function e(r){return this.__data__.set(r,t),this}return Ge=e,Ge}var je,Nt;function Ha(){if(Nt)return je;Nt=1;function t(e){return this.__data__.has(e)}return je=t,je}var Ue,Ht;function Ra(){if(Ht)return Ue;Ht=1;var t=kt(),e=Na(),r=Ha();function n(a){var s=-1,i=a==null?0:a.length;for(this.__data__=new t;++s<i;)this.add(a[s])}return n.prototype.add=n.prototype.push=e,n.prototype.has=r,Ue=n,Ue}var Le,Rt;function Ga(){if(Rt)return Le;Rt=1;function t(e,r,n,a){for(var s=e.length,i=n+(a?1:-1);a?i--:++i<s;)if(r(e[i],i,e))return i;return-1}return Le=t,Le}var ze,Gt;function ja(){if(Gt)return ze;Gt=1;function t(e){return e!==e}return ze=t,ze}var Ke,jt;function Ua(){if(jt)return Ke;jt=1;function t(e,r,n){for(var a=n-1,s=e.length;++a<s;)if(e[a]===r)return a;return-1}return Ke=t,Ke}var Ve,Ut;function La(){if(Ut)return Ve;Ut=1;var t=Ga(),e=ja(),r=Ua();function n(a,s,i){return s===s?r(a,s,i):t(a,e,i)}return Ve=n,Ve}var We,Lt;function za(){if(Lt)return We;Lt=1;var t=La();function e(r,n){var a=r==null?0:r.length;return!!a&&t(r,n,0)>-1}return We=e,We}var Be,zt;function Ka(){if(zt)return Be;zt=1;function t(e,r,n){for(var a=-1,s=e==null?0:e.length;++a<s;)if(n(r,e[a]))return!0;return!1}return Be=t,Be}var Je,Kt;function Va(){if(Kt)return Je;Kt=1;function t(e,r){return e.has(r)}return Je=t,Je}var Xe,Vt;function Wa(){if(Vt)return Xe;Vt=1;var t=V(),e=z(),r=t(e,"Set");return Xe=r,Xe}var Ye,Wt;function Ba(){if(Wt)return Ye;Wt=1;function t(){}return Ye=t,Ye}var Ze,Bt;function Jt(){if(Bt)return Ze;Bt=1;function t(e){var r=-1,n=Array(e.size);return e.forEach(function(a){n[++r]=a}),n}return Ze=t,Ze}var Qe,Xt;function Ja(){if(Xt)return Qe;Xt=1;var t=Wa(),e=Ba(),r=Jt(),n=1/0,a=t&&1/r(new t([,-0]))[1]==n?function(s){return new t(s)}:e;return Qe=a,Qe}var $e,Yt;function Xa(){if(Yt)return $e;Yt=1;var t=Ra(),e=za(),r=Ka(),n=Va(),a=Ja(),s=Jt(),i=200;function o(u,l,f){var _=-1,g=e,b=u.length,x=!0,C=[],I=C;if(f)x=!1,g=r;else if(b>=i){var v=l?null:a(u);if(v)return s(v);x=!1,g=n,I=new t}else I=l?[]:C;e:for(;++_<b;){var q=u[_],m=l?l(q):q;if(q=f||q!==0?q:0,x&&m===m){for(var P=I.length;P--;)if(I[P]===m)continue e;l&&I.push(m),C.push(q)}else g(I,m,f)||(I!==C&&I.push(m),C.push(q))}return C}return $e=o,$e}var er,Zt;function Ya(){if(Zt)return er;Zt=1;var t=Xa();function e(r){return r&&r.length?t(r):[]}return er=e,er}var Za=Ya();const Qa=Jr(Za),Qt=h.createStyles(({css:t})=>t`
|
|
2
2
|
.ant-table-cell {
|
|
3
3
|
> .ant-space-horizontal {
|
|
4
4
|
.ant-space-item-split:has(+ .ant-space-item:empty) {
|
|
@@ -6,4 +6,4 @@
|
|
|
6
6
|
}
|
|
7
7
|
}
|
|
8
8
|
}
|
|
9
|
-
`),$t=(t=[],e=[])=>{for(const r of t)e.push(r.aclSnippet),r.children&&r.children.length&&$t(r.children,e);return e},es=({active:t})=>{const e=h.useApp(),{styles:r}=Qt(),{role:n}=p.useContext(N),a=h.useAPIClient(),s=h.useCompile(),i=e.systemSettingsManager.getList(!1),o=e.systemSettingsManager.getAclSnippets(),[u,l]=p.useState((n==null?void 0:n.snippets)||[]),f=p.useMemo(()=>H.flatMap(i,v=>v.children?[v,...v.children]:v),[i]),g=p.useMemo(()=>u.includes("pm.*")&&u.every(v=>!v.startsWith("!pm.")),[u]),{t:m}=k.useTranslation(),{loading:b,refresh:S}=h.useRequest({resource:"roles.snippets",resourceOf:n==null?void 0:n.name,action:"list",params:{paginate:!1}},{ready:!!n&&t,refreshDeps:[n==null?void 0:n.name],manual:!0,onSuccess(v){l((v==null?void 0:v.data.filter(C=>f.find(_=>C.includes(`!${_.aclSnippet}`)||!C.startsWith("!pm."))))||[])}});if(!n)return;const q=a.resource("roles.snippets",n==null?void 0:n.name),I=(v,C)=>M(null,null,function*(){const w=$t(C==null?void 0:C.children,[]).concat(C.aclSnippet);v?(yield q.add({values:w.map(E=>"!"+E)}),S()):(yield q.remove({values:w.map(E=>"!"+E)}),S()),d.message.success(m("Saved successfully"))});return c.jsx(d.Table,{className:r,loading:b,rowKey:"key",pagination:!1,expandable:{defaultExpandAllRows:!0},columns:[{dataIndex:"title",title:m("Plugin name"),render:v=>s(v)},{dataIndex:"accessible",title:c.jsxs(c.Fragment,{children:[c.jsx(d.Checkbox,{checked:g,onChange:()=>M(null,null,function*(){const v=o.map(C=>"!"+C);g?yield q.add({values:v}):yield q.remove({values:v}),S(),d.message.success(m("Saved successfully"))})}),m("Accessible")]}),render:(v,C)=>{const _=!u.includes("!"+C.aclSnippet);return c.jsx(d.Checkbox,{checked:_,onChange:()=>I(_,C)})}}],dataSource:i.filter(v=>v.isTopLevel!==!1).map(v=>v.showTabs!==!1?v:H.omit(v,"children"))})},rs=t=>{var r;if(!t)return{};const e={};return(r=t==null?void 0:t.forEach)==null||r.call(t,n=>{const[a,s]=n.split(":");e[a]=s||"all"}),e},en=t=>{const e=[];for(const r in t)if(Object.prototype.hasOwnProperty.call(t,r)){const n=t[r];n==="all"?e.push(r):e.push(`${r}:${n}`)}return e},ts=T.connect(t=>{const{onChange:e}=t,r=ua(),n=h.useCompile(),{t:a}=k.useTranslation(),s=T.useField(),i=rs(s.value);return c.jsx("div",{children:c.jsx(d.Table,{rowKey:"name",size:"small",pagination:!1,columns:[{dataIndex:"displayName",title:a("Action display name"),render:o=>n(o)},{dataIndex:"onNewRecord",title:a("Action type"),render:o=>o?c.jsx(d.Tag,{color:"green",children:a("Action on new records")}):c.jsx(d.Tag,{color:"geekblue",children:a("Action on existing records")})},{dataIndex:"enabled",title:a("Allow"),render:(o,u)=>c.jsx(d.Checkbox,{checked:o,"aria-label":`${u.name}_checkbox`,onChange:l=>{o?delete i[u.name]:i[u.name]="all",e(en(i))}})},{dataIndex:"scope",title:a("Data scope"),render:(o,u)=>!u.onNewRecord&&c.jsx(d.Select,{"data-testid":"select-data-scope",popupMatchSelectWidth:!1,size:"small",value:o,options:[{label:a("All records"),value:"all"},{label:a("Own records"),value:"own"}],onChange:l=>{i[u.name]=l,e(en(i))}})}],dataSource:r==null?void 0:r.map(o=>{let u="all",l=!1;return i[o.name]&&(l=!0,u=i[o.name]),G(F({},o),{enabled:l,scope:u})})})})}),ns=T.connect(t=>{const{t:e}=k.useTranslation();return c.jsxs(d.Checkbox.Group,{style:{width:"100%",display:"block"},value:t.value,onChange:r=>{const n=["ui.*","pm","pm.*","app"],a=n.map(i=>`!${i}`),s=$a([...t.value||[],...r]).filter(i=>i&&!a.includes(i)).map(i=>!n.includes(i)||r!=null&&r.includes(i)?i:`!${i}`);for(const i of n)!s.includes(i)&&!s.includes(`!${i}`)&&s.push(`!${i}`);t.onChange(s)},children:[c.jsx("div",{style:{marginTop:16},children:c.jsx(d.Checkbox,{value:"ui.*",children:e("Allows to configure interface")})}),c.jsx("div",{style:{marginTop:8},children:c.jsx(d.Checkbox,{value:"pm",children:e("Allows to install, activate, disable plugins")})}),c.jsx("div",{style:{marginTop:8},children:c.jsx(d.Checkbox,{value:"pm.*",children:e("Allows to configure plugins")})}),c.jsx("div",{style:{marginTop:8},children:c.jsx(d.Checkbox,{value:"app",children:e("Allows to clear cache, reboot application")})})]})}),as=({active:t})=>{var u;const{role:e,setRole:r}=p.useContext(N),{t:n}=j(),a=h.useAPIClient(),s=(u=e==null?void 0:e.snippets)==null?void 0:u.includes("pm.*"),i=D.useMemoizedFn(l=>M(null,null,function*(){yield a.resource("roles").update({filterByTk:e.name,values:l.values}),r(F(F({},e),l.values)),d.message.success(n("Saved successfully"))})),o=p.useMemo(()=>T.createForm({values:e,effects(){T.onFormValuesChange(l=>M(null,null,function*(){yield i(l)}))}}),[e,i]);return c.jsx(h.SchemaComponent,{components:{SnippetCheckboxGroup:ns,StrategyActions:ts,PluginPermissions:es},scope:{pm:s},schema:{type:"void",name:T.uid(),"x-component":"div",properties:{general:{"x-component":"FormV2","x-component-props":{form:o},properties:{snippets:{title:n("Configure permissions"),type:"boolean","x-decorator":"FormItem","x-component":"SnippetCheckboxGroup"}}},plugins:{"x-component":"FormV2",properties:{pluginSettings:{title:n("Plugin settings"),"x-decorator":"FormItem","x-component":"PluginPermissions","x-visible":"{{pm}}"}}}}}})},rr=p.createContext(null);rr.displayName="MenuItemsContext";const rn=(t={})=>{const e=[];for(const r in t)if(Object.prototype.hasOwnProperty.call(t,r)){const n=t[r],a={title:n.title,uid:n["x-uid"]};n.properties&&(a.children=rn(n.properties)),e.push(a)}return e},ss=()=>p.useContext(rr),tn=t=>{var s,i;const r={url:`uiSchemas:getProperties/${h.useAdminSchemaUid()}`},n=h.useRequest(r);if(n.loading)return c.jsx(d.Spin,{});const a=rn((i=(s=n.data)==null?void 0:s.data)==null?void 0:i.properties);return c.jsx(rr.Provider,{value:{service:n,items:a},children:t.children})},nn=t=>{if(!Array.isArray(t))return[];const e=[];for(const r of t)e.push(r.uid),e.push(...nn(r.children));return e},an=(t,e,r=[])=>{if(!t)return[];for(const n of t){if(r.push(n.uid),e(n))return r;if(n.children){const a=an(n.children,e,r);if(a.length)return a}r.pop()}return[]},sn=(t=[],e=[])=>{for(const r of t)e.push(r.uid),r.children&&r.children.length&&sn(r.children,e);return e},is=({active:t})=>{var Qn,$n;const{styles:e}=Qt(),{role:r,setRole:n}=p.useContext(N),a=h.useAPIClient(),i=(($n=(Qn=h.useApp().pm.get("@tachybase/plugin-action-share"))==null?void 0:Qn.app.ws)==null?void 0:$n.enabled)||!1,{items:o}=ss(),{t:u}=k.useTranslation(),l=nn(o),[f,g]=p.useState([]),[m,b]=p.useState([]),{loading:S,refresh:q}=h.useRequest({resource:"roles.menuUiSchemas",resourceOf:r.name,action:"list",params:{paginate:!1}},{ready:!!r&&t,refreshDeps:[r==null?void 0:r.name],onSuccess(A){var x;g(((x=A==null?void 0:A.data)==null?void 0:x.map(O=>O["x-uid"]))||[])}}),{loading:I,refresh:v}=h.useRequest({resource:"roles.menuShareUiSchemas",action:"list",resourceOf:r.name,params:{paginate:!1}},{ready:!!r&&t&&i,refreshDeps:[r==null?void 0:r.name],onSuccess(A){var x;b(((x=A==null?void 0:A.data)==null?void 0:x.map(O=>O["x-uid"]))||[])}}),C=a.resource("roles.menuUiSchemas",r.name),_=a.resource("roles.menuShareUiSchemas",r.name),w=l.length===f.length,E=l.length===m.length,Z=(A,x,O,ea,ra)=>M(null,null,function*(){const Vs=an(o,R=>R.uid===x.uid),ta=sn(x==null?void 0:x.children,[]);if(A){const R=ta.concat(x.uid),Wr=O.filter(Ws=>!R.includes(Ws));ea([...Wr]),yield ra.remove({values:R})}else{const R=ta.concat(Vs);ea(Wr=>H.uniq([...Wr,...R])),yield ra.add({values:R})}d.message.success(u("Saved successfully"))}),Yn=A=>A.map(x=>{const O=u(x.title);return x.children?G(F({},x),{title:O,children:Yn(x.children)}):G(F({},x),{title:O})}),Zn=D.useMemoizedFn(A=>M(null,null,function*(){yield a.resource("roles").update({filterByTk:r.name,values:A.values}),n(F(F({},r),A.values)),d.message.success(u("Saved successfully"))})),zs=p.useMemo(()=>T.createForm({values:r,effects(){T.onFormValuesChange(A=>M(null,null,function*(){yield Zn(A)}))}}),[r,Zn]);return c.jsxs(c.Fragment,{children:[c.jsx(h.SchemaComponent,{schema:{type:"void",name:T.uid(),"x-component":"FormV2","x-component-props":{form:zs},properties:{allowNewMenu:{title:u("Menu permissions"),"x-decorator":"FormItem","x-component":"Checkbox","x-content":u("New menu items are allowed to be accessed by default.")}}}}),c.jsx(d.Table,{className:e,loading:S||I,rowKey:"uid",pagination:!1,expandable:{defaultExpandAllRows:!0},columns:[{dataIndex:"title",title:u("Menu item title")},{dataIndex:"accessible",title:c.jsxs(c.Fragment,{children:[c.jsx(d.Checkbox,{checked:w,onChange:A=>M(null,null,function*(){w?yield C.set({values:[]}):yield C.set({values:l}),q(),d.message.success(u("Saved successfully"))})})," ",u("Accessible")]}),render:(A,x)=>{const O=f.includes(x.uid);return c.jsx(d.Checkbox,{checked:O,onChange:()=>Z(O,x,f,g,C)})}},{dataIndex:"sharePage",hidden:!i,title:c.jsxs(c.Fragment,{children:[c.jsx(d.Checkbox,{checked:E,onChange:A=>M(null,null,function*(){E?yield _.set({values:[]}):yield _.set({values:l}),v(),d.message.success(u("Saved successfully"))})}),u("Share")]}),render:(A,x)=>{const O=m.includes(x.uid);return c.jsx(d.Checkbox,{checked:O,onChange:()=>Z(O,x,m,b,_)})}}],dataSource:Yn(o)})]})},tr=t=>c.jsx("div",{style:{maxHeight:"60vh",overflowY:"auto"},children:t.children}),os=({active:t})=>{var m;const{t:e}=j(),[r,n]=p.useState("general"),{role:a,setRole:s}=p.useContext(N),i=(m=a==null?void 0:a.snippets)==null?void 0:m.includes("pm.*"),u=h.useApp().getComponent("DataSourcePermissionManager"),l=p.useMemo(()=>[{key:"general",label:e("System"),children:c.jsx(tr,{children:c.jsx(as,{active:r==="general"&&t})})},{key:"menu",label:e("Menu"),children:c.jsx(tr,{children:c.jsx(tn,{children:c.jsx(is,{active:r==="menu"&&t})})})},...u?[{key:"dataSource",label:e("Data sources"),children:c.jsx(tr,{children:c.jsx(tn,{children:c.jsx(u,{role:a,active:r==="dataSource"&&t})})})}]:[]],[i,r,t,e]),f=h.useAPIClient(),{data:g}=h.useRequest(()=>f.resource("roles").get({filterByTk:a==null?void 0:a.name}).then(b=>{var q,I;const S=(q=b==null?void 0:b.data)==null?void 0:q.data;return(I=S.snippets)==null||I.forEach(v=>{S[v]=!0}),S}),{ready:t&&!!a,refreshDeps:[a==null?void 0:a.name]});return p.useEffect(()=>{n("general")},[a==null?void 0:a.name]),p.useEffect(()=>{s(g)},[g]),c.jsx(oa,{children:c.jsx(d.Tabs,{type:"card",activeKey:r,onChange:b=>n(b),items:l})})},us=({loadMore:t})=>{const[e,r]=p.useState(null),n=p.useRef(null),a=p.useCallback(s=>{s&&(n.current&&n.current.disconnect(),n.current=new IntersectionObserver(i=>{i.forEach(o=>{o.target===s.current&&o.isIntersecting&&(n.current&&n.current.unobserve(s.current),t())})}),s.current&&n.current&&n.current.observe(s.current))},[t]);return p.useEffect(()=>(a(e),()=>{n.current&&n.current.disconnect()}),[e,a]),{lastItem:e,setLastItem:r}};var nr,on;function U(){if(on)return nr;on=1;var t=Array.isArray;return nr=t,nr}var ar,un;function sr(){if(un)return ar;un=1;function t(e){return e!=null&&typeof e=="object"}return ar=t,ar}var ir,cn;function or(){if(cn)return ir;cn=1;var t=se(),e=sr(),r="[object Symbol]";function n(a){return typeof a=="symbol"||e(a)&&t(a)==r}return ir=n,ir}var ur,ln;function cs(){if(ln)return ur;ln=1;var t=U(),e=or(),r=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,n=/^\w*$/;function a(s,i){if(t(s))return!1;var o=typeof s;return o=="number"||o=="symbol"||o=="boolean"||s==null||e(s)?!0:n.test(s)||!r.test(s)||i!=null&&s in Object(i)}return ur=a,ur}var cr,hn;function ls(){if(hn)return cr;hn=1;var t=kt(),e="Expected a function";function r(n,a){if(typeof n!="function"||a!=null&&typeof a!="function")throw new TypeError(e);var s=function(){var i=arguments,o=a?a.apply(this,i):i[0],u=s.cache;if(u.has(o))return u.get(o);var l=n.apply(this,i);return s.cache=u.set(o,l)||u,l};return s.cache=new(r.Cache||t),s}return r.Cache=t,cr=r,cr}var lr,dn;function hs(){if(dn)return lr;dn=1;var t=ls(),e=500;function r(n){var a=t(n,function(i){return s.size===e&&s.clear(),i}),s=a.cache;return a}return lr=r,lr}var hr,fn;function ds(){if(fn)return hr;fn=1;var t=hs(),e=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,r=/\\(\\)?/g,n=t(function(a){var s=[];return a.charCodeAt(0)===46&&s.push(""),a.replace(e,function(i,o,u,l){s.push(u?l.replace(r,"$1"):o||i)}),s});return hr=n,hr}var dr,pn;function fs(){if(pn)return dr;pn=1;function t(e,r){for(var n=-1,a=e==null?0:e.length,s=Array(a);++n<a;)s[n]=r(e[n],n,e);return s}return dr=t,dr}var fr,vn;function ps(){if(vn)return fr;vn=1;var t=z(),e=fs(),r=U(),n=or(),a=t?t.prototype:void 0,s=a?a.toString:void 0;function i(o){if(typeof o=="string")return o;if(r(o))return e(o,i)+"";if(n(o))return s?s.call(o):"";var u=o+"";return u=="0"&&1/o==-1/0?"-0":u}return fr=i,fr}var pr,_n;function vs(){if(_n)return pr;_n=1;var t=ps();function e(r){return r==null?"":t(r)}return pr=e,pr}var vr,gn;function X(){if(gn)return vr;gn=1;var t=U(),e=cs(),r=ds(),n=vs();function a(s,i){return t(s)?s:e(s,i)?[s]:r(n(s))}return vr=a,vr}var _r,mn;function gr(){if(mn)return _r;mn=1;var t=or();function e(r){if(typeof r=="string"||t(r))return r;var n=r+"";return n=="0"&&1/r==-1/0?"-0":n}return _r=e,_r}var mr,yn;function _s(){if(yn)return mr;yn=1;var t=X(),e=gr();function r(n,a){a=t(a,n);for(var s=0,i=a.length;n!=null&&s<i;)n=n[e(a[s++])];return s&&s==i?n:void 0}return mr=r,mr}var yr,bn;function Cn(){if(bn)return yr;bn=1;var t=V(),e=function(){try{var r=t(Object,"defineProperty");return r({},"",{}),r}catch(n){}}();return yr=e,yr}var br,qn;function gs(){if(qn)return br;qn=1;var t=Cn();function e(r,n,a){n=="__proto__"&&t?t(r,n,{configurable:!0,enumerable:!0,value:a,writable:!0}):r[n]=a}return br=e,br}var Cr,Sn;function ms(){if(Sn)return Cr;Sn=1;var t=gs(),e=mt(),r=Object.prototype,n=r.hasOwnProperty;function a(s,i,o){var u=s[i];(!(n.call(s,i)&&e(u,o))||o===void 0&&!(i in s))&&t(s,i,o)}return Cr=a,Cr}var qr,xn;function In(){if(xn)return qr;xn=1;var t=9007199254740991,e=/^(?:0|[1-9]\d*)$/;function r(n,a){var s=typeof n;return a=a==null?t:a,!!a&&(s=="number"||s!="symbol"&&e.test(n))&&n>-1&&n%1==0&&n<a}return qr=r,qr}var Sr,An;function ys(){if(An)return Sr;An=1;var t=ms(),e=X(),r=In(),n=oe(),a=gr();function s(i,o,u,l){if(!n(i))return i;o=e(o,i);for(var f=-1,g=o.length,m=g-1,b=i;b!=null&&++f<g;){var S=a(o[f]),q=u;if(S==="__proto__"||S==="constructor"||S==="prototype")return i;if(f!=m){var I=b[S];q=l?l(I,S,b):void 0,q===void 0&&(q=n(I)?I:r(o[f+1])?[]:{})}t(b,S,q),b=b[S]}return i}return Sr=s,Sr}var xr,wn;function bs(){if(wn)return xr;wn=1;var t=_s(),e=ys(),r=X();function n(a,s,i){for(var o=-1,u=s.length,l={};++o<u;){var f=s[o],g=t(a,f);i(g,f)&&e(l,r(f,a),g)}return l}return xr=n,xr}var Ir,Pn;function Cs(){if(Pn)return Ir;Pn=1;function t(e,r){return e!=null&&r in Object(e)}return Ir=t,Ir}var Ar,Tn;function qs(){if(Tn)return Ar;Tn=1;var t=se(),e=sr(),r="[object Arguments]";function n(a){return e(a)&&t(a)==r}return Ar=n,Ar}var wr,On;function Mn(){if(On)return wr;On=1;var t=qs(),e=sr(),r=Object.prototype,n=r.hasOwnProperty,a=r.propertyIsEnumerable,s=t(function(){return arguments}())?t:function(i){return e(i)&&n.call(i,"callee")&&!a.call(i,"callee")};return wr=s,wr}var Pr,Fn;function Ss(){if(Fn)return Pr;Fn=1;var t=9007199254740991;function e(r){return typeof r=="number"&&r>-1&&r%1==0&&r<=t}return Pr=e,Pr}var Tr,Dn;function xs(){if(Dn)return Tr;Dn=1;var t=X(),e=Mn(),r=U(),n=In(),a=Ss(),s=gr();function i(o,u,l){u=t(u,o);for(var f=-1,g=u.length,m=!1;++f<g;){var b=s(u[f]);if(!(m=o!=null&&l(o,b)))break;o=o[b]}return m||++f!=g?m:(g=o==null?0:o.length,!!g&&a(g)&&n(b,g)&&(r(o)||e(o)))}return Tr=i,Tr}var Or,kn;function Is(){if(kn)return Or;kn=1;var t=Cs(),e=xs();function r(n,a){return n!=null&&e(n,a,t)}return Or=r,Or}var Mr,En;function As(){if(En)return Mr;En=1;var t=bs(),e=Is();function r(n,a){return t(n,a,function(s,i){return e(n,i)})}return Mr=r,Mr}var Fr,Nn;function ws(){if(Nn)return Fr;Nn=1;function t(e,r){for(var n=-1,a=r.length,s=e.length;++n<a;)e[s+n]=r[n];return e}return Fr=t,Fr}var Dr,Hn;function Ps(){if(Hn)return Dr;Hn=1;var t=z(),e=Mn(),r=U(),n=t?t.isConcatSpreadable:void 0;function a(s){return r(s)||e(s)||!!(n&&s&&s[n])}return Dr=a,Dr}var kr,Rn;function Ts(){if(Rn)return kr;Rn=1;var t=ws(),e=Ps();function r(n,a,s,i,o){var u=-1,l=n.length;for(s||(s=e),o||(o=[]);++u<l;){var f=n[u];a>0&&s(f)?a>1?r(f,a-1,s,i,o):t(o,f):i||(o[o.length]=f)}return o}return kr=r,kr}var Er,Gn;function Os(){if(Gn)return Er;Gn=1;var t=Ts();function e(r){var n=r==null?0:r.length;return n?t(r,1):[]}return Er=e,Er}var Nr,jn;function Ms(){if(jn)return Nr;jn=1;function t(e,r,n){switch(n.length){case 0:return e.call(r);case 1:return e.call(r,n[0]);case 2:return e.call(r,n[0],n[1]);case 3:return e.call(r,n[0],n[1],n[2])}return e.apply(r,n)}return Nr=t,Nr}var Hr,Un;function Fs(){if(Un)return Hr;Un=1;var t=Ms(),e=Math.max;function r(n,a,s){return a=e(a===void 0?n.length-1:a,0),function(){for(var i=arguments,o=-1,u=e(i.length-a,0),l=Array(u);++o<u;)l[o]=i[a+o];o=-1;for(var f=Array(a+1);++o<a;)f[o]=i[o];return f[a]=s(l),t(n,this,f)}}return Hr=r,Hr}var Rr,Kn;function Ds(){if(Kn)return Rr;Kn=1;function t(e){return function(){return e}}return Rr=t,Rr}var Gr,Ln;function ks(){if(Ln)return Gr;Ln=1;function t(e){return e}return Gr=t,Gr}var jr,zn;function Es(){if(zn)return jr;zn=1;var t=Ds(),e=Cn(),r=ks(),n=e?function(a,s){return e(a,"toString",{configurable:!0,enumerable:!1,value:t(s),writable:!0})}:r;return jr=n,jr}var Ur,Vn;function Ns(){if(Vn)return Ur;Vn=1;var t=800,e=16,r=Date.now;function n(a){var s=0,i=0;return function(){var o=r(),u=e-(o-i);if(i=o,u>0){if(++s>=t)return arguments[0]}else s=0;return a.apply(void 0,arguments)}}return Ur=n,Ur}var Kr,Wn;function Hs(){if(Wn)return Kr;Wn=1;var t=Es(),e=Ns(),r=e(t);return Kr=r,Kr}var Lr,Bn;function Rs(){if(Bn)return Lr;Bn=1;var t=Os(),e=Fs(),r=Hs();function n(a){return r(e(a,void 0,t),a+"")}return Lr=n,Lr}var zr,Jn;function Gs(){if(Jn)return zr;Jn=1;var t=As(),e=Rs(),r=e(function(n,a){return n==null?{}:t(n,a)});return zr=r,zr}var js=Gs();const Us=Jr(js),Ks={type:"object",properties:{[T.uid()]:{type:"void","x-component":"Action.Drawer","x-decorator":"Form","x-decorator-props":{useValues:t=>{const e=h.useRecord(),r=h.useRequest(()=>Promise.resolve({data:Us(e,["title","name","default"])}),G(F({},t),{manual:!0})),n=h.useActionContext();return p.useEffect(()=>{n.visible&&r.run()},[n.visible]),r}},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":t=>{t.initialValue?t.disabled=!0:t.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 }}"}}}}}}}},Y=()=>{const{t}=j(),{data:e,mutate:r}=h.useResourceActionContext(),[n,a]=p.useState(!1),[s,i]=p.useState(null),{role:o,setRole:u}=p.useContext(N),[l,f]=p.useState([]),[g,m]=p.useState(!1),b=h.useAPIClient(),S=p.useCallback(()=>M(null,null,function*(){const _=e==null?void 0:e.meta;if(!_||_.page>=_.totalPage)return;m(!0);const w=yield b.resource("roles").list({page:_.page+1,pageSize:_.pageSize,filter:{"name.$ne":"root"},showAnonymous:!0,sort:["createdAt"],appends:[]});r((w==null?void 0:w.data)||{}),m(!1)}),[e]),{lastItem:q,setLastItem:I}=us({loadMore:S}),v=({key:_})=>{u(l.find(w=>w.name===_))};p.useEffect(()=>{l[0]&&u(l[0])},[l,u]),p.useEffect(()=>{var w,E;if(!((w=e==null?void 0:e.data)!=null&&w.length))return;const _=p.createRef();I(_),((E=e.meta)==null?void 0:E.page)>1?f(Z=>Z.concat(e.data)):f(e.data)},[e,I]);const C=p.useMemo(()=>l.map((_,w)=>({key:_.name,label:w===l.length-1?c.jsx("div",{ref:q,children:c.jsx(Y.Item,{item:_,onEdit:()=>{a(!0),i(_)}})}):c.jsx(Y.Item,{item:_,onEdit:()=>{a(!0),i(_)}})})),[l,q]);return c.jsxs(c.Fragment,{children:[l.length?c.jsx(d.Menu,{style:{border:"none",maxHeight:"65vh",overflowY:"auto"},items:[...C,...g?[{key:"loading",label:c.jsx(d.Spin,{})}]:[]],selectedKeys:[o==null?void 0:o.name],onSelect:v}):c.jsx(d.Empty,{image:d.Empty.PRESENTED_IMAGE_SIMPLE}),c.jsx(h.ActionContextProvider,{value:{visible:n,setVisible:a},children:c.jsx(h.RecordProvider,{record:s,collectionName:"departments",children:c.jsx(h.SchemaComponent,{scope:{t},schema:Ks})})})]})};Y.Item=function({item:e,onEdit:r}){const{t:n}=j(),{refreshAsync:a}=h.useResourceActionContext(),{modal:s,message:i}=d.App.useApp(),o=h.useAPIClient(),u=()=>{s.confirm({title:n("Delete"),content:n("Are you sure you want to delete it?"),onOk:()=>M(null,null,function*(){yield o.resource("roles").destroy({filterByTk:e.name}),i.success(n("Deleted successfully")),yield a()})})},l=({key:g,domEvent:m})=>{switch(m.stopPropagation(),g){case"edit":r();break;case"delete":u()}},f=T.Schema.compile(e.title,{t:n});return c.jsxs(d.Row,{children:[c.jsx(d.Col,{flex:3,style:{display:"inline-flex",alignItems:"center"},children:c.jsxs("span",{style:{whiteSpace:"nowrap",width:"120px",overflow:"hidden",textOverflow:"ellipsis"},children:[c.jsx(Br.TagOutlined,{}),c.jsx("span",{style:{marginLeft:"10px"},title:f,children:f})]})}),c.jsxs(d.Col,{children:[e.default?c.jsx(d.Tag,{color:"success",bordered:!1,children:n("Default")}):null,c.jsx(d.Dropdown,{menu:{items:[{label:n("Edit"),key:"edit"},{label:n("Delete"),key:"delete"}],onClick:l},children:c.jsx(Br.MoreOutlined,{})})]})]})};const Xn={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"}}]},Ls=()=>{const{t}=j(),e=h.usePlugin(Vr),[r,n]=p.useState("permissions"),a=Array.from(e.rolesManager.list()).map(([u,l])=>({key:u,label:T.Schema.compile(l.title,{t}),children:l.Component?p.createElement(l.Component,{active:r===u}):null})),[s,i]=p.useState(null),o=h.useSchemaComponentContext();return c.jsx(h.SchemaComponentContext.Provider,{value:G(F({},o),{designable:!1}),children:c.jsx(N.Provider,{value:{role:s,setRole:i},children:c.jsx(d.Card,{children:c.jsxs(d.Row,{gutter:24,style:{flexWrap:"nowrap"},children:[c.jsx(d.Col,{flex:"280px",style:{borderRight:"1px solid #eee",minWidth:"250px"},children:c.jsx(h.ResourceActionProvider,{collection:Xn,request:{resource:"roles",action:"list",params:{filter:{"name.$ne":"root"},showAnonymous:!0,sort:["createdAt"],appends:[]}},children:c.jsxs(h.CollectionProvider_deprecated,{collection:Xn,children:[c.jsx(d.Row,{children:c.jsx(ia,{})}),c.jsx(d.Divider,{style:{margin:"12px 0"}}),c.jsx(Y,{})]})})}),c.jsx(d.Col,{flex:"auto",style:{overflow:"hidden"},children:c.jsx(d.Tabs,{activeKey:r,onChange:u=>n(u),items:[{key:"permissions",label:t("Permissions"),children:c.jsx(os,{active:r==="permissions"})},...a]})})]})})})})};class Vr extends h.Plugin{constructor(){super(...arguments),this.rolesManager=new sa}load(){return M(this,null,function*(){this.systemSettingsManager.add("id-auth.roles",{title:this.t("Roles & Permissions"),icon:"LockOutlined",Component:Ls,aclSnippet:"pm.acl.roles",sort:3})})}}y.PluginACLClient=Vr,y.RolesManagerContext=N,y.default=Vr,Object.defineProperties(y,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
|
9
|
+
`),$a=({active:t})=>{const e=h.useApp(),{styles:r}=Qt(),{role:n}=p.useContext(E),a=h.useAPIClient(),s=h.useCompile(),i=e.systemSettingsManager.getList(!1),o=e.systemSettingsManager.getAclSnippets(),[u,l]=p.useState((n==null?void 0:n.snippets)||[]),f=p.useMemo(()=>N.flatMap(i,v=>v.children?[v,...v.children]:v),[i]),_=p.useMemo(()=>u.includes("pm.*")&&u.every(v=>!v.startsWith("!pm.")),[u]),{t:g}=k.useTranslation(),{loading:b,refresh:x}=h.useRequest({resource:"roles.snippets",resourceOf:n==null?void 0:n.name,action:"list",params:{paginate:!1}},{ready:!!n&&t,refreshDeps:[n==null?void 0:n.name],manual:!0,onSuccess(v){l((v==null?void 0:v.data.filter(q=>f.find(m=>q.includes(`!${m.aclSnippet}`)||!q.startsWith("!pm."))))||[])}});if(!n)return;const C=a.resource("roles.snippets",n==null?void 0:n.name),I=(v,q)=>M(null,null,function*(){yield h.updateAclSnippetSelection(C,v,q),x(),d.message.success(g("Saved successfully"))});return c.jsx(d.Table,{className:r,loading:b,rowKey:"key",pagination:!1,expandable:{defaultExpandAllRows:!0},columns:[{dataIndex:"title",title:g("Plugin name"),render:v=>s(v)},{dataIndex:"accessible",title:c.jsxs(c.Fragment,{children:[c.jsx(d.Checkbox,{checked:_,onChange:()=>M(null,null,function*(){const v=o.map(q=>"!"+q);_?yield C.add({values:v}):yield C.remove({values:v}),x(),d.message.success(g("Saved successfully"))})}),g("Accessible")]}),render:(v,q)=>{const m=h.getAclSnippetChecked(q,u);return c.jsx(d.Checkbox,{checked:m,onChange:()=>I(m,q)})}}],dataSource:i.filter(v=>v.isTopLevel!==!1).map(v=>v.showTabs!==!1?v:N.omit(v,"children"))})},es=t=>{var r;if(!t)return{};const e={};return(r=t==null?void 0:t.forEach)==null||r.call(t,n=>{const[a,s]=n.split(":");e[a]=s||"all"}),e},$t=t=>{const e=[];for(const r in t)if(Object.prototype.hasOwnProperty.call(t,r)){const n=t[r];n==="all"?e.push(r):e.push(`${r}:${n}`)}return e},rs=T.connect(t=>{const{onChange:e}=t,r=oa(),n=h.useCompile(),{t:a}=k.useTranslation(),s=T.useField(),i=es(s.value);return c.jsx("div",{children:c.jsx(d.Table,{rowKey:"name",size:"small",pagination:!1,columns:[{dataIndex:"displayName",title:a("Action display name"),render:o=>n(o)},{dataIndex:"onNewRecord",title:a("Action type"),render:o=>o?c.jsx(d.Tag,{color:"green",children:a("Action on new records")}):c.jsx(d.Tag,{color:"geekblue",children:a("Action on existing records")})},{dataIndex:"enabled",title:a("Allow"),render:(o,u)=>c.jsx(d.Checkbox,{checked:o,"aria-label":`${u.name}_checkbox`,onChange:l=>{o?delete i[u.name]:i[u.name]="all",e($t(i))}})},{dataIndex:"scope",title:a("Data scope"),render:(o,u)=>!u.onNewRecord&&c.jsx(d.Select,{"data-testid":"select-data-scope",popupMatchSelectWidth:!1,size:"small",value:o,options:[{label:a("All records"),value:"all"},{label:a("Own records"),value:"own"}],onChange:l=>{i[u.name]=l,e($t(i))}})}],dataSource:r==null?void 0:r.map(o=>{let u="all",l=!1;return i[o.name]&&(l=!0,u=i[o.name]),R(F({},o),{enabled:l,scope:u})})})})}),ts=T.connect(t=>{const{t:e}=k.useTranslation();return c.jsxs(d.Checkbox.Group,{style:{width:"100%",display:"block"},value:t.value,onChange:r=>{const n=["ui.*","pm","pm.*","app"],a=n.map(i=>`!${i}`),s=Qa([...t.value||[],...r]).filter(i=>i&&!a.includes(i)).map(i=>!n.includes(i)||r!=null&&r.includes(i)?i:`!${i}`);for(const i of n)!s.includes(i)&&!s.includes(`!${i}`)&&s.push(`!${i}`);t.onChange(s)},children:[c.jsx("div",{style:{marginTop:16},children:c.jsx(d.Checkbox,{value:"ui.*",children:e("Allows to configure interface")})}),c.jsx("div",{style:{marginTop:8},children:c.jsx(d.Checkbox,{value:"pm",children:e("Allows to install, activate, disable plugins")})}),c.jsx("div",{style:{marginTop:8},children:c.jsx(d.Checkbox,{value:"pm.*",children:e("Allows to configure plugins")})}),c.jsx("div",{style:{marginTop:8},children:c.jsx(d.Checkbox,{value:"app",children:e("Allows to clear cache, reboot application")})})]})}),ns=({active:t})=>{var u;const{role:e,setRole:r}=p.useContext(E),{t:n}=G(),a=h.useAPIClient(),s=(u=e==null?void 0:e.snippets)==null?void 0:u.includes("pm.*"),i=D.useMemoizedFn(l=>M(null,null,function*(){yield a.resource("roles").update({filterByTk:e.name,values:l.values}),r(F(F({},e),l.values)),d.message.success(n("Saved successfully"))})),o=p.useMemo(()=>T.createForm({values:e,effects(){T.onFormValuesChange(l=>M(null,null,function*(){yield i(l)}))}}),[e,i]);return c.jsx(h.SchemaComponent,{components:{SnippetCheckboxGroup:ts,StrategyActions:rs,PluginPermissions:$a},scope:{pm:s},schema:{type:"void",name:T.uid(),"x-component":"div",properties:{general:{"x-component":"FormV2","x-component-props":{form:o},properties:{snippets:{title:n("Configure permissions"),type:"boolean","x-decorator":"FormItem","x-component":"SnippetCheckboxGroup"}}},plugins:{"x-component":"FormV2",properties:{pluginSettings:{title:n("Plugin settings"),"x-decorator":"FormItem","x-component":"PluginPermissions","x-visible":"{{pm}}"}}}}}})},rr=p.createContext(null);rr.displayName="MenuItemsContext";const en=(t={})=>{const e=[];for(const r in t)if(Object.prototype.hasOwnProperty.call(t,r)){const n=t[r],a={title:n.title,uid:n["x-uid"]};n.properties&&(a.children=en(n.properties)),e.push(a)}return e},as=()=>p.useContext(rr),rn=t=>{var s,i;const r={url:`uiSchemas:getProperties/${h.useAdminSchemaUid()}`},n=h.useRequest(r);if(n.loading)return c.jsx(d.Spin,{});const a=en((i=(s=n.data)==null?void 0:s.data)==null?void 0:i.properties);return c.jsx(rr.Provider,{value:{service:n,items:a},children:t.children})},tn=t=>{if(!Array.isArray(t))return[];const e=[];for(const r of t)e.push(r.uid),e.push(...tn(r.children));return e},nn=(t,e,r=[])=>{if(!t)return[];for(const n of t){if(r.push(n.uid),e(n))return r;if(n.children){const a=nn(n.children,e,r);if(a.length)return a}r.pop()}return[]},an=(t=[],e=[])=>{for(const r of t)e.push(r.uid),r.children&&r.children.length&&an(r.children,e);return e},ss=({active:t})=>{var Zn,Qn;const{styles:e}=Qt(),{role:r,setRole:n}=p.useContext(E),a=h.useAPIClient(),i=((Qn=(Zn=h.useApp().pm.get("@tachybase/plugin-action-share"))==null?void 0:Zn.app.ws)==null?void 0:Qn.enabled)||!1,{items:o}=as(),{t:u}=k.useTranslation(),l=tn(o),[f,_]=p.useState([]),[g,b]=p.useState([]),{loading:x,refresh:C}=h.useRequest({resource:"roles.menuUiSchemas",resourceOf:r.name,action:"list",params:{paginate:!1}},{ready:!!r&&t,refreshDeps:[r==null?void 0:r.name],onSuccess(A){var S;_(((S=A==null?void 0:A.data)==null?void 0:S.map(O=>O["x-uid"]))||[])}}),{loading:I,refresh:v}=h.useRequest({resource:"roles.menuShareUiSchemas",action:"list",resourceOf:r.name,params:{paginate:!1}},{ready:!!r&&t&&i,refreshDeps:[r==null?void 0:r.name],onSuccess(A){var S;b(((S=A==null?void 0:A.data)==null?void 0:S.map(O=>O["x-uid"]))||[])}}),q=a.resource("roles.menuUiSchemas",r.name),m=a.resource("roles.menuShareUiSchemas",r.name),P=l.length===f.length,U=l.length===g.length,Z=(A,S,O,$n,ea)=>M(null,null,function*(){const Ks=nn(o,H=>H.uid===S.uid),ra=an(S==null?void 0:S.children,[]);if(A){const H=ra.concat(S.uid),Wr=O.filter(Vs=>!H.includes(Vs));$n([...Wr]),yield ea.remove({values:H})}else{const H=ra.concat(Ks);$n(Wr=>N.uniq([...Wr,...H])),yield ea.add({values:H})}d.message.success(u("Saved successfully"))}),Xn=A=>A.map(S=>{const O=u(S.title);return S.children?R(F({},S),{title:O,children:Xn(S.children)}):R(F({},S),{title:O})}),Yn=D.useMemoizedFn(A=>M(null,null,function*(){yield a.resource("roles").update({filterByTk:r.name,values:A.values}),n(F(F({},r),A.values)),d.message.success(u("Saved successfully"))})),zs=p.useMemo(()=>T.createForm({values:r,effects(){T.onFormValuesChange(A=>M(null,null,function*(){yield Yn(A)}))}}),[r,Yn]);return c.jsxs(c.Fragment,{children:[c.jsx(h.SchemaComponent,{schema:{type:"void",name:T.uid(),"x-component":"FormV2","x-component-props":{form:zs},properties:{allowNewMenu:{title:u("Menu permissions"),"x-decorator":"FormItem","x-component":"Checkbox","x-content":u("New menu items are allowed to be accessed by default.")}}}}),c.jsx(d.Table,{className:e,loading:x||I,rowKey:"uid",pagination:!1,expandable:{defaultExpandAllRows:!0},columns:[{dataIndex:"title",title:u("Menu item title")},{dataIndex:"accessible",title:c.jsxs(c.Fragment,{children:[c.jsx(d.Checkbox,{checked:P,onChange:A=>M(null,null,function*(){P?yield q.set({values:[]}):yield q.set({values:l}),C(),d.message.success(u("Saved successfully"))})})," ",u("Accessible")]}),render:(A,S)=>{const O=f.includes(S.uid);return c.jsx(d.Checkbox,{checked:O,onChange:()=>Z(O,S,f,_,q)})}},{dataIndex:"sharePage",hidden:!i,title:c.jsxs(c.Fragment,{children:[c.jsx(d.Checkbox,{checked:U,onChange:A=>M(null,null,function*(){U?yield m.set({values:[]}):yield m.set({values:l}),v(),d.message.success(u("Saved successfully"))})}),u("Share")]}),render:(A,S)=>{const O=g.includes(S.uid);return c.jsx(d.Checkbox,{checked:O,onChange:()=>Z(O,S,g,b,m)})}}],dataSource:Xn(o)})]})},tr=t=>c.jsx("div",{style:{maxHeight:"60vh",overflowY:"auto"},children:t.children}),is=({active:t})=>{var g;const{t:e}=G(),[r,n]=p.useState("general"),{role:a,setRole:s}=p.useContext(E),i=(g=a==null?void 0:a.snippets)==null?void 0:g.includes("pm.*"),u=h.useApp().getComponent("DataSourcePermissionManager"),l=p.useMemo(()=>[{key:"general",label:e("System"),children:c.jsx(tr,{children:c.jsx(ns,{active:r==="general"&&t})})},{key:"menu",label:e("Menu"),children:c.jsx(tr,{children:c.jsx(rn,{children:c.jsx(ss,{active:r==="menu"&&t})})})},...u?[{key:"dataSource",label:e("Data sources"),children:c.jsx(tr,{children:c.jsx(rn,{children:c.jsx(u,{role:a,active:r==="dataSource"&&t})})})}]:[]],[i,r,t,e]),f=h.useAPIClient(),{data:_}=h.useRequest(()=>f.resource("roles").get({filterByTk:a==null?void 0:a.name}).then(b=>{var C,I;const x=(C=b==null?void 0:b.data)==null?void 0:C.data;return(I=x.snippets)==null||I.forEach(v=>{x[v]=!0}),x}),{ready:t&&!!a,refreshDeps:[a==null?void 0:a.name]});return p.useEffect(()=>{n("general")},[a==null?void 0:a.name]),p.useEffect(()=>{s(_)},[_]),c.jsx(ia,{children:c.jsx(d.Tabs,{type:"card",activeKey:r,onChange:b=>n(b),items:l})})},os=({loadMore:t})=>{const[e,r]=p.useState(null),n=p.useRef(null),a=p.useCallback(s=>{s&&(n.current&&n.current.disconnect(),n.current=new IntersectionObserver(i=>{i.forEach(o=>{o.target===s.current&&o.isIntersecting&&(n.current&&n.current.unobserve(s.current),t())})}),s.current&&n.current&&n.current.observe(s.current))},[t]);return p.useEffect(()=>(a(e),()=>{n.current&&n.current.disconnect()}),[e,a]),{lastItem:e,setLastItem:r}};var nr,sn;function j(){if(sn)return nr;sn=1;var t=Array.isArray;return nr=t,nr}var ar,on;function sr(){if(on)return ar;on=1;function t(e){return e!=null&&typeof e=="object"}return ar=t,ar}var ir,un;function or(){if(un)return ir;un=1;var t=se(),e=sr(),r="[object Symbol]";function n(a){return typeof a=="symbol"||e(a)&&t(a)==r}return ir=n,ir}var ur,cn;function us(){if(cn)return ur;cn=1;var t=j(),e=or(),r=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,n=/^\w*$/;function a(s,i){if(t(s))return!1;var o=typeof s;return o=="number"||o=="symbol"||o=="boolean"||s==null||e(s)?!0:n.test(s)||!r.test(s)||i!=null&&s in Object(i)}return ur=a,ur}var cr,ln;function cs(){if(ln)return cr;ln=1;var t=kt(),e="Expected a function";function r(n,a){if(typeof n!="function"||a!=null&&typeof a!="function")throw new TypeError(e);var s=function(){var i=arguments,o=a?a.apply(this,i):i[0],u=s.cache;if(u.has(o))return u.get(o);var l=n.apply(this,i);return s.cache=u.set(o,l)||u,l};return s.cache=new(r.Cache||t),s}return r.Cache=t,cr=r,cr}var lr,hn;function ls(){if(hn)return lr;hn=1;var t=cs(),e=500;function r(n){var a=t(n,function(i){return s.size===e&&s.clear(),i}),s=a.cache;return a}return lr=r,lr}var hr,dn;function hs(){if(dn)return hr;dn=1;var t=ls(),e=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,r=/\\(\\)?/g,n=t(function(a){var s=[];return a.charCodeAt(0)===46&&s.push(""),a.replace(e,function(i,o,u,l){s.push(u?l.replace(r,"$1"):o||i)}),s});return hr=n,hr}var dr,fn;function ds(){if(fn)return dr;fn=1;function t(e,r){for(var n=-1,a=e==null?0:e.length,s=Array(a);++n<a;)s[n]=r(e[n],n,e);return s}return dr=t,dr}var fr,pn;function fs(){if(pn)return fr;pn=1;var t=K(),e=ds(),r=j(),n=or(),a=t?t.prototype:void 0,s=a?a.toString:void 0;function i(o){if(typeof o=="string")return o;if(r(o))return e(o,i)+"";if(n(o))return s?s.call(o):"";var u=o+"";return u=="0"&&1/o==-1/0?"-0":u}return fr=i,fr}var pr,vn;function ps(){if(vn)return pr;vn=1;var t=fs();function e(r){return r==null?"":t(r)}return pr=e,pr}var vr,_n;function X(){if(_n)return vr;_n=1;var t=j(),e=us(),r=hs(),n=ps();function a(s,i){return t(s)?s:e(s,i)?[s]:r(n(s))}return vr=a,vr}var _r,gn;function gr(){if(gn)return _r;gn=1;var t=or();function e(r){if(typeof r=="string"||t(r))return r;var n=r+"";return n=="0"&&1/r==-1/0?"-0":n}return _r=e,_r}var mr,mn;function vs(){if(mn)return mr;mn=1;var t=X(),e=gr();function r(n,a){a=t(a,n);for(var s=0,i=a.length;n!=null&&s<i;)n=n[e(a[s++])];return s&&s==i?n:void 0}return mr=r,mr}var yr,yn;function bn(){if(yn)return yr;yn=1;var t=V(),e=function(){try{var r=t(Object,"defineProperty");return r({},"",{}),r}catch(n){}}();return yr=e,yr}var br,Cn;function _s(){if(Cn)return br;Cn=1;var t=bn();function e(r,n,a){n=="__proto__"&&t?t(r,n,{configurable:!0,enumerable:!0,value:a,writable:!0}):r[n]=a}return br=e,br}var Cr,qn;function gs(){if(qn)return Cr;qn=1;var t=_s(),e=mt(),r=Object.prototype,n=r.hasOwnProperty;function a(s,i,o){var u=s[i];(!(n.call(s,i)&&e(u,o))||o===void 0&&!(i in s))&&t(s,i,o)}return Cr=a,Cr}var qr,Sn;function xn(){if(Sn)return qr;Sn=1;var t=9007199254740991,e=/^(?:0|[1-9]\d*)$/;function r(n,a){var s=typeof n;return a=a==null?t:a,!!a&&(s=="number"||s!="symbol"&&e.test(n))&&n>-1&&n%1==0&&n<a}return qr=r,qr}var Sr,In;function ms(){if(In)return Sr;In=1;var t=gs(),e=X(),r=xn(),n=oe(),a=gr();function s(i,o,u,l){if(!n(i))return i;o=e(o,i);for(var f=-1,_=o.length,g=_-1,b=i;b!=null&&++f<_;){var x=a(o[f]),C=u;if(x==="__proto__"||x==="constructor"||x==="prototype")return i;if(f!=g){var I=b[x];C=l?l(I,x,b):void 0,C===void 0&&(C=n(I)?I:r(o[f+1])?[]:{})}t(b,x,C),b=b[x]}return i}return Sr=s,Sr}var xr,An;function ys(){if(An)return xr;An=1;var t=vs(),e=ms(),r=X();function n(a,s,i){for(var o=-1,u=s.length,l={};++o<u;){var f=s[o],_=t(a,f);i(_,f)&&e(l,r(f,a),_)}return l}return xr=n,xr}var Ir,wn;function bs(){if(wn)return Ir;wn=1;function t(e,r){return e!=null&&r in Object(e)}return Ir=t,Ir}var Ar,Pn;function Cs(){if(Pn)return Ar;Pn=1;var t=se(),e=sr(),r="[object Arguments]";function n(a){return e(a)&&t(a)==r}return Ar=n,Ar}var wr,Tn;function On(){if(Tn)return wr;Tn=1;var t=Cs(),e=sr(),r=Object.prototype,n=r.hasOwnProperty,a=r.propertyIsEnumerable,s=t(function(){return arguments}())?t:function(i){return e(i)&&n.call(i,"callee")&&!a.call(i,"callee")};return wr=s,wr}var Pr,Mn;function qs(){if(Mn)return Pr;Mn=1;var t=9007199254740991;function e(r){return typeof r=="number"&&r>-1&&r%1==0&&r<=t}return Pr=e,Pr}var Tr,Fn;function Ss(){if(Fn)return Tr;Fn=1;var t=X(),e=On(),r=j(),n=xn(),a=qs(),s=gr();function i(o,u,l){u=t(u,o);for(var f=-1,_=u.length,g=!1;++f<_;){var b=s(u[f]);if(!(g=o!=null&&l(o,b)))break;o=o[b]}return g||++f!=_?g:(_=o==null?0:o.length,!!_&&a(_)&&n(b,_)&&(r(o)||e(o)))}return Tr=i,Tr}var Or,Dn;function xs(){if(Dn)return Or;Dn=1;var t=bs(),e=Ss();function r(n,a){return n!=null&&e(n,a,t)}return Or=r,Or}var Mr,kn;function Is(){if(kn)return Mr;kn=1;var t=ys(),e=xs();function r(n,a){return t(n,a,function(s,i){return e(n,i)})}return Mr=r,Mr}var Fr,En;function As(){if(En)return Fr;En=1;function t(e,r){for(var n=-1,a=r.length,s=e.length;++n<a;)e[s+n]=r[n];return e}return Fr=t,Fr}var Dr,Nn;function ws(){if(Nn)return Dr;Nn=1;var t=K(),e=On(),r=j(),n=t?t.isConcatSpreadable:void 0;function a(s){return r(s)||e(s)||!!(n&&s&&s[n])}return Dr=a,Dr}var kr,Hn;function Ps(){if(Hn)return kr;Hn=1;var t=As(),e=ws();function r(n,a,s,i,o){var u=-1,l=n.length;for(s||(s=e),o||(o=[]);++u<l;){var f=n[u];a>0&&s(f)?a>1?r(f,a-1,s,i,o):t(o,f):i||(o[o.length]=f)}return o}return kr=r,kr}var Er,Rn;function Ts(){if(Rn)return Er;Rn=1;var t=Ps();function e(r){var n=r==null?0:r.length;return n?t(r,1):[]}return Er=e,Er}var Nr,Gn;function Os(){if(Gn)return Nr;Gn=1;function t(e,r,n){switch(n.length){case 0:return e.call(r);case 1:return e.call(r,n[0]);case 2:return e.call(r,n[0],n[1]);case 3:return e.call(r,n[0],n[1],n[2])}return e.apply(r,n)}return Nr=t,Nr}var Hr,jn;function Ms(){if(jn)return Hr;jn=1;var t=Os(),e=Math.max;function r(n,a,s){return a=e(a===void 0?n.length-1:a,0),function(){for(var i=arguments,o=-1,u=e(i.length-a,0),l=Array(u);++o<u;)l[o]=i[a+o];o=-1;for(var f=Array(a+1);++o<a;)f[o]=i[o];return f[a]=s(l),t(n,this,f)}}return Hr=r,Hr}var Rr,Un;function Fs(){if(Un)return Rr;Un=1;function t(e){return function(){return e}}return Rr=t,Rr}var Gr,Ln;function Ds(){if(Ln)return Gr;Ln=1;function t(e){return e}return Gr=t,Gr}var jr,zn;function ks(){if(zn)return jr;zn=1;var t=Fs(),e=bn(),r=Ds(),n=e?function(a,s){return e(a,"toString",{configurable:!0,enumerable:!1,value:t(s),writable:!0})}:r;return jr=n,jr}var Ur,Kn;function Es(){if(Kn)return Ur;Kn=1;var t=800,e=16,r=Date.now;function n(a){var s=0,i=0;return function(){var o=r(),u=e-(o-i);if(i=o,u>0){if(++s>=t)return arguments[0]}else s=0;return a.apply(void 0,arguments)}}return Ur=n,Ur}var Lr,Vn;function Ns(){if(Vn)return Lr;Vn=1;var t=ks(),e=Es(),r=e(t);return Lr=r,Lr}var zr,Wn;function Hs(){if(Wn)return zr;Wn=1;var t=Ts(),e=Ms(),r=Ns();function n(a){return r(e(a,void 0,t),a+"")}return zr=n,zr}var Kr,Bn;function Rs(){if(Bn)return Kr;Bn=1;var t=Is(),e=Hs(),r=e(function(n,a){return n==null?{}:t(n,a)});return Kr=r,Kr}var Gs=Rs();const js=Jr(Gs),Us={type:"object",properties:{[T.uid()]:{type:"void","x-component":"Action.Drawer","x-decorator":"Form","x-decorator-props":{useValues:t=>{const e=h.useRecord(),r=h.useRequest(()=>Promise.resolve({data:js(e,["title","name","default"])}),R(F({},t),{manual:!0})),n=h.useActionContext();return p.useEffect(()=>{n.visible&&r.run()},[n.visible]),r}},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":t=>{t.initialValue?t.disabled=!0:t.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 }}"}}}}}}}},Y=()=>{const{t}=G(),{data:e,mutate:r}=h.useResourceActionContext(),[n,a]=p.useState(!1),[s,i]=p.useState(null),{role:o,setRole:u}=p.useContext(E),[l,f]=p.useState([]),[_,g]=p.useState(!1),b=h.useAPIClient(),x=p.useCallback(()=>M(null,null,function*(){const m=e==null?void 0:e.meta;if(!m||m.page>=m.totalPage)return;g(!0);const P=yield b.resource("roles").list({page:m.page+1,pageSize:m.pageSize,filter:{"name.$ne":"root"},showAnonymous:!0,sort:["createdAt"],appends:[]});r((P==null?void 0:P.data)||{}),g(!1)}),[e]),{lastItem:C,setLastItem:I}=os({loadMore:x}),v=({key:m})=>{u(l.find(P=>P.name===m))};p.useEffect(()=>{l[0]&&u(l[0])},[l,u]),p.useEffect(()=>{var P,U;if(!((P=e==null?void 0:e.data)!=null&&P.length))return;const m=p.createRef();I(m),((U=e.meta)==null?void 0:U.page)>1?f(Z=>Z.concat(e.data)):f(e.data)},[e,I]);const q=p.useMemo(()=>l.map((m,P)=>({key:m.name,label:P===l.length-1?c.jsx("div",{ref:C,children:c.jsx(Y.Item,{item:m,onEdit:()=>{a(!0),i(m)}})}):c.jsx(Y.Item,{item:m,onEdit:()=>{a(!0),i(m)}})})),[l,C]);return c.jsxs(c.Fragment,{children:[l.length?c.jsx(d.Menu,{style:{border:"none",maxHeight:"65vh",overflowY:"auto"},items:[...q,..._?[{key:"loading",label:c.jsx(d.Spin,{})}]:[]],selectedKeys:[o==null?void 0:o.name],onSelect:v}):c.jsx(d.Empty,{image:d.Empty.PRESENTED_IMAGE_SIMPLE}),c.jsx(h.ActionContextProvider,{value:{visible:n,setVisible:a},children:c.jsx(h.RecordProvider,{record:s,collectionName:"departments",children:c.jsx(h.SchemaComponent,{scope:{t},schema:Us})})})]})};Y.Item=function({item:e,onEdit:r}){const{t:n}=G(),{refreshAsync:a}=h.useResourceActionContext(),{modal:s,message:i}=d.App.useApp(),o=h.useAPIClient(),u=()=>{s.confirm({title:n("Delete"),content:n("Are you sure you want to delete it?"),onOk:()=>M(null,null,function*(){yield o.resource("roles").destroy({filterByTk:e.name}),i.success(n("Deleted successfully")),yield a()})})},l=({key:_,domEvent:g})=>{switch(g.stopPropagation(),_){case"edit":r();break;case"delete":u()}},f=T.Schema.compile(e.title,{t:n});return c.jsxs(d.Row,{children:[c.jsx(d.Col,{flex:3,style:{display:"inline-flex",alignItems:"center"},children:c.jsxs("span",{style:{whiteSpace:"nowrap",width:"120px",overflow:"hidden",textOverflow:"ellipsis"},children:[c.jsx(Br.TagOutlined,{}),c.jsx("span",{style:{marginLeft:"10px"},title:f,children:f})]})}),c.jsxs(d.Col,{children:[e.default?c.jsx(d.Tag,{color:"success",bordered:!1,children:n("Default")}):null,c.jsx(d.Dropdown,{menu:{items:[{label:n("Edit"),key:"edit"},{label:n("Delete"),key:"delete"}],onClick:l},children:c.jsx(Br.MoreOutlined,{})})]})]})};const Jn={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"}}]},Ls=()=>{const{t}=G(),e=h.usePlugin(Vr),[r,n]=p.useState("permissions"),a=Array.from(e.rolesManager.list()).map(([u,l])=>({key:u,label:T.Schema.compile(l.title,{t}),children:l.Component?p.createElement(l.Component,{active:r===u}):null})),[s,i]=p.useState(null),o=h.useSchemaComponentContext();return c.jsx(h.SchemaComponentContext.Provider,{value:R(F({},o),{designable:!1}),children:c.jsx(E.Provider,{value:{role:s,setRole:i},children:c.jsx(d.Card,{children:c.jsxs(d.Row,{gutter:24,style:{flexWrap:"nowrap"},children:[c.jsx(d.Col,{flex:"280px",style:{borderRight:"1px solid #eee",minWidth:"250px"},children:c.jsx(h.ResourceActionProvider,{collection:Jn,request:{resource:"roles",action:"list",params:{filter:{"name.$ne":"root"},showAnonymous:!0,sort:["createdAt"],appends:[]}},children:c.jsxs(h.CollectionProvider_deprecated,{collection:Jn,children:[c.jsx(d.Row,{children:c.jsx(sa,{})}),c.jsx(d.Divider,{style:{margin:"12px 0"}}),c.jsx(Y,{})]})})}),c.jsx(d.Col,{flex:"auto",style:{overflow:"hidden"},children:c.jsx(d.Tabs,{activeKey:r,onChange:u=>n(u),items:[{key:"permissions",label:t("Permissions"),children:c.jsx(is,{active:r==="permissions"})},...a]})})]})})})})};class Vr extends h.Plugin{constructor(){super(...arguments),this.rolesManager=new aa}load(){return M(this,null,function*(){this.systemSettingsManager.add("id-auth.roles",{title:this.t("Roles & Permissions"),icon:"LockOutlined",Component:Ls,aclSnippet:"pm.acl.roles",sort:3})})}}y.PluginACLClient=Vr,y.RolesManagerContext=E,y.default=Vr,Object.defineProperties(y,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
package/dist/externalVersion.js
CHANGED
|
@@ -1,2 +1,8 @@
|
|
|
1
1
|
import { Context } from '@tego/server';
|
|
2
|
+
/**
|
|
3
|
+
* Resolves the current user's role after ACL extensions attach additional roles.
|
|
4
|
+
*
|
|
5
|
+
* @param ctx - Request context containing the authenticated user and role header.
|
|
6
|
+
* @param next - Middleware callback invoked after the current role is resolved.
|
|
7
|
+
*/
|
|
2
8
|
export declare function setCurrentRole(ctx: Context, next: any): Promise<any>;
|
|
@@ -30,6 +30,7 @@ async function setCurrentRole(ctx, next) {
|
|
|
30
30
|
if (!ctx.state.currentUser) {
|
|
31
31
|
return next();
|
|
32
32
|
}
|
|
33
|
+
await ctx.tego.emitAsync("acl:beforeSetCurrentRole", ctx);
|
|
33
34
|
const attachRoles = ctx.state.attachRoles || [];
|
|
34
35
|
const cache = ctx.cache;
|
|
35
36
|
const repository = ctx.db.getRepository("users.roles", ctx.state.currentUser.id);
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tachybase/module-acl",
|
|
3
3
|
"displayName": "Access control",
|
|
4
|
-
"version": "1.6.
|
|
4
|
+
"version": "1.6.26",
|
|
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
|
"keywords": [
|
|
7
7
|
"Users & permissions"
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
"react": "18.3.1",
|
|
34
34
|
"react-dom": "18.3.1",
|
|
35
35
|
"react-i18next": "16.2.1",
|
|
36
|
-
"@tachybase/client": "1.6.
|
|
36
|
+
"@tachybase/client": "1.6.26"
|
|
37
37
|
},
|
|
38
38
|
"description.zh-CN": "基于角色、资源和操作的权限控制,可以精确控制界面配置权限、数据操作权限、菜单访问权限、插件权限。",
|
|
39
39
|
"displayName.zh-CN": "权限控制",
|