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