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