@archbase/security-ui 3.0.13 → 3.0.15

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/index.cjs CHANGED
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("@mantine/core"),Q=require("@mantine/hooks"),r=require("@archbase/core"),s=require("@archbase/components"),S=require("@archbase/data"),x=require("react"),T=require("@tabler/icons-react"),j=require("@archbase/security"),Xe=require("@mantine/dates"),oe=require("@archbase/layout");var se={exports:{}},ee={};/**
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("@mantine/core"),Q=require("@mantine/hooks"),r=require("@archbase/core"),s=require("@archbase/components"),y=require("@archbase/data"),b=require("react"),v=require("@tabler/icons-react"),C=require("@archbase/security"),Xe=require("@mantine/dates"),oe=require("@archbase/layout");var se={exports:{}},ee={};/**
2
2
  * @license React
3
3
  * react-jsx-runtime.production.js
4
4
  *
@@ -6,5 +6,5 @@
6
6
  *
7
7
  * This source code is licensed under the MIT license found in the
8
8
  * LICENSE file in the root directory of this source tree.
9
- */var pe;function Qe(){if(pe)return ee;pe=1;var a=Symbol.for("react.transitional.element"),d=Symbol.for("react.fragment");function y(w,i,g){var u=null;if(g!==void 0&&(u=""+g),i.key!==void 0&&(u=""+i.key),"key"in i){g={};for(var b in i)b!=="key"&&(g[b]=i[b])}else g=i;return i=g.ref,{$$typeof:a,type:w,key:u,ref:i!==void 0?i:null,props:g}}return ee.Fragment=d,ee.jsx=y,ee.jsxs=y,ee}var xe;function Ke(){return xe||(xe=1,se.exports=Qe()),se.exports}var e=Ke();const me=a=>{Q.useFocusTrap();const d={...a.options??{}},y=()=>{a.onCustomSave?a.onCustomSave(a.dataSource.current,i=>{i&&a.onAfterSave&&a.onAfterSave(a.dataSource.current),a.onClickOk(a.dataSource.current,i)}):a.onClickOk(a.dataSource.current,!0)},w=()=>{a.onClickCancel(a.dataSource.current)};return e.jsx(t.Modal,{opened:a.opened,onClose:w,title:r.getI18nextInstance().t("archbase:Perfil"),size:"60%",styles:{content:{maxWidth:1e3}},children:e.jsx(t.ScrollArea,{style:{height:"460px"},children:e.jsxs(t.Stack,{w:"98%",children:[d?.customContentBefore&&e.jsx(e.Fragment,{children:d.customContentBefore}),e.jsxs(t.Grid,{children:[e.jsx(t.Grid.Col,{span:{base:12,md:12,lg:12},children:e.jsx(s.ArchbaseEdit,{label:`${r.getI18nextInstance().t("archbase:Nome do perfil")}`,placeholder:`${r.getI18nextInstance().t("archbase:Informe o nome do perfil")}`,dataSource:a.dataSource,dataField:"name"})}),e.jsx(t.Grid.Col,{span:{base:12,md:12,lg:12},children:e.jsx(s.ArchbaseEdit,{label:`${r.getI18nextInstance().t("archbase:Descrição do perfil")}`,placeholder:`${r.getI18nextInstance().t("archbase:Informe a descrição do perfil")}`,dataSource:a.dataSource,dataField:"description"})})]}),d?.customContentAfter&&e.jsx(e.Fragment,{children:d.customContentAfter}),e.jsxs(t.Group,{justify:"flex-end",mt:"md",children:[e.jsx(t.Button,{variant:"default",onClick:w,children:r.getI18nextInstance().t("archbase:Cancelar")}),e.jsx(t.Button,{onClick:y,children:r.getI18nextInstance().t("archbase:Salvar")})]})]})})})};function ge({availableItemsDS:a,assignedItemsDS:d,idFieldAvailable:y,labelFieldAvailable:w,idFieldAssigned:i,labelFieldAssigned:g,handleCreateAssociationObject:u,width:b="400px",height:$="200px",titleAvailable:E="Disponíveis",titleAssigned:k="Selecionados"}){S.useArchbaseV1V2Compatibility("ArchbaseDualListSelector-Available",a,void 0,[]);const h=S.useArchbaseV1V2Compatibility("ArchbaseDualListSelector-Assigned",d,void 0,[]),[m,W]=x.useState([]),[I,J]=x.useState([]),[q,Z]=x.useState([]),[Y,z]=x.useState([]),B=x.useCallback(()=>{a&&W(a.browseRecords()),d&&J(d.browseRecords())},[a,d]);S.useArchbaseDataSourceListener({dataSource:a,listener:()=>B()}),S.useArchbaseDataSourceListener({dataSource:d,listener:()=>B()}),x.useEffect(()=>{B()},[B]);const F=(p,A)=>typeof A=="function"?A(p):p[A],O=(p,A)=>typeof A=="function"?A(p):p[A],n=(p,A)=>{p(f=>f.includes(A)?f.filter(X=>X!==A):[...f,A])},C=()=>{q.forEach(p=>{const A=m.find(f=>F(f,y)===p);if(A){const f=u(A);h.isDataSourceV2?(d.insert(f),d.save()):(d.insert(f),d.save(),h.v1State.forceUpdate())}}),Z([])},U=()=>{Y.forEach(p=>{const A=I.find(f=>F(f,i)===p);if(A){const f=typeof i=="function"?{customId:i(A)}:{[i]:p};h.isDataSourceV2?d.remove(()=>d.locate(f)):(d.remove(()=>d.locate(f)),h.v1State.forceUpdate())}}),z([])};return e.jsxs(t.Paper,{withBorder:!0,style:{display:"flex",width:b,height:$},children:[e.jsxs(t.Box,{style:{minWidth:"44%",minHeight:$},children:[e.jsx(t.Text,{children:E}),e.jsx(t.List,{spacing:"xs",size:"sm",center:!0,listStyleType:"none",style:{margin:"6px",overflowY:"auto",overflowX:"hidden",height:"calc(100% - 32px)"},children:m.map(p=>e.jsx(t.List.Item,{children:e.jsx(t.Checkbox,{label:O(p,w),checked:q.includes(F(p,y)),onChange:()=>n(Z,F(p,y)),disabled:I.some(A=>F(A,i)===F(p,y))})},F(p,y)))})]}),e.jsxs(t.Stack,{gap:5,style:{minWidth:"10%"},justify:"center",align:"center",children:[e.jsx(t.Tooltip,{label:"Adicionar",children:e.jsx(t.ActionIcon,{onClick:C,disabled:!q.length,children:e.jsx(T.IconArrowRight,{})})}),e.jsx(t.Tooltip,{label:"Remover",children:e.jsx(t.ActionIcon,{onClick:U,disabled:!Y.length,children:e.jsx(T.IconArrowLeft,{})})})]}),e.jsxs(t.Box,{style:{minWidth:"44%",minHeight:$},children:[e.jsx(t.Text,{children:k}),e.jsx(t.List,{spacing:"xs",size:"sm",center:!0,listStyleType:"none",style:{margin:"6px",overflowY:"auto",overflowX:"hidden",height:"calc(100% - 32px)"},children:I.map(p=>e.jsx(t.List.Item,{children:e.jsx(t.Checkbox,{label:O(p,g),checked:Y.includes(F(p,i)),onChange:()=>n(z,F(p,i))})},F(p,i)))})]})]})}const fe=x.forwardRef(({image:a,label:d,description:y,origin:w,...i},g)=>e.jsx("div",{ref:g,...i,children:e.jsxs(t.Flex,{children:[e.jsx(t.Text,{size:"sm",fw:600,children:w?w.name:""}),e.jsx(t.Space,{w:"lg"})]})})),et={showNickname:!0,showProfile:!0,showGroups:!0,showChangePasswordOnNextLogin:!0,showAllowPasswordChange:!0,showPasswordNeverExpires:!0,showAccountConfigLabel:!0,showAccountDeactivated:!0,showAccountLocked:!0,showIsAdministrator:!0,requiredNickname:!0,avatarMaxSizeKB:2e3,avatarImageQuality:1,allowEditEmail:!0},Ae=a=>{const d=Q.useFocusTrap(),[y,w]=x.useState(""),i={...et,...a.options??{}},g=S.useArchbaseRemoteServiceApi(r.ARCHBASE_IOC_API_TYPE.Group),{dataSource:u}=S.useArchbaseRemoteDataSource({name:"dsGroups",service:g,pageSize:9999,loadOnStart:!0,sort:["name:asc"],onError:(h,m)=>{s.ArchbaseNotifications.showError(r.getI18nextInstance().t("archbase:WARNING"),h,m)}}),b=S.useArchbaseRemoteServiceApi(r.ARCHBASE_IOC_API_TYPE.Profile),{dataSource:$}=S.useArchbaseRemoteDataSource({name:"dsProfiles",service:b,pageSize:9999,loadOnStart:!0,sort:["name:asc"],onError:(h,m)=>{s.ArchbaseNotifications.showError(r.getI18nextInstance().t("archbase:WARNING"),h,m)}});x.useEffect(()=>{w("")},[a.dataSource.getFieldValue("password")]);const E=()=>{const h=a.dataSource.current;if(!h.password&&a.dataSource.isInserting()){w(r.getI18nextInstance().t("archbase:Informe a senha"));return}a.onCustomSave?a.onCustomSave(h,m=>{m&&a.onAfterSave&&a.onAfterSave(h),a.onClickOk(h,m)}):a.onClickOk(h,!0)},k=()=>{a.onClickCancel(a.dataSource.current)};return e.jsxs(t.Modal,{opened:a.opened,onClose:k,title:r.getI18nextInstance().t("archbase:Usuário"),size:"80%",styles:{content:{maxWidth:1e3}},children:[e.jsx(t.ScrollArea,{ref:d,style:{height:"500px"},children:e.jsxs(t.Stack,{w:"98%",children:[i?.customContentBefore&&e.jsx(e.Fragment,{children:i.customContentBefore}),e.jsxs(t.Grid,{children:[e.jsx(t.Grid.Col,{span:{base:12,md:6,lg:6},children:e.jsxs(t.Group,{children:[e.jsx(s.ArchbaseEdit,{label:`${r.getI18nextInstance().t("archbase:Nome completo")}`,placeholder:`${r.getI18nextInstance().t("archbase:Informe o nome completo do usuário")}`,dataSource:a.dataSource,dataField:"name",required:!0,width:"calc(100% - 208px)"}),i.showNickname&&e.jsx(s.ArchbaseEdit,{label:`${r.getI18nextInstance().t("archbase:Apelido")}`,placeholder:`${r.getI18nextInstance().t("archbase:Apelido")}`,dataSource:a.dataSource,dataField:"nickname",required:i.requiredNickname})]})}),e.jsx(t.Grid.Col,{span:{base:12,md:6,lg:6},children:e.jsx(s.ArchbaseEdit,{label:`${r.getI18nextInstance().t("archbase:Descrição do usuário")}`,placeholder:`${r.getI18nextInstance().t("archbase:Informe a descrição do usuário")}`,dataSource:a.dataSource,dataField:"description",required:!0})})]}),e.jsxs(t.Grid,{children:[e.jsx(t.Grid.Col,{span:{base:12,md:6,lg:6},children:e.jsx(s.ArchbaseEdit,{label:`${r.getI18nextInstance().t("archbase:E-mail")}`,placeholder:`${r.getI18nextInstance().t("archbase:Informe o e-mail do usuário")}`,dataSource:a.dataSource,onChangeValue:h=>a.dataSource.setFieldValue("userName",h),dataField:"email",readOnly:a.dataSource.isEditing()?!i.allowEditEmail:!1,required:!0})}),e.jsx(t.Grid.Col,{span:{base:12,md:6,lg:6},children:e.jsx(s.ArchbasePasswordEdit,{label:`${r.getI18nextInstance().t("archbase:Senha usuário")}`,dataSource:a.dataSource,dataField:"password",error:y,required:a.dataSource.getFieldValue("isNewUser")})})]}),e.jsx(t.Grid,{children:i.showProfile&&e.jsx(t.Grid.Col,{span:{base:12,md:6,lg:6},children:e.jsx(s.ArchbaseSelect,{label:`${r.getI18nextInstance().t("archbase:Perfil do usuário")}`,dataSource:a.dataSource,dataField:"profile",options:$,allowDeselect:!0,optionsLabelField:"nome",itemComponent:fe,getOptionLabel:h=>h.name,getOptionValue:h=>h.id})})}),e.jsxs(t.Grid,{children:[e.jsx(t.Grid.Col,{span:{base:12},children:i.showAccountConfigLabel&&e.jsx(t.Text,{fz:14,fw:500,children:"Informe"})}),e.jsx(t.Grid.Col,{span:{base:12,md:4,lg:4},children:e.jsxs(t.Stack,{gap:"lg",children:[i.showChangePasswordOnNextLogin&&e.jsx(t.Input.Wrapper,{label:"",children:e.jsx(s.ArchbaseCheckbox,{dataSource:a.dataSource,dataField:"changePasswordOnNextLogin",label:`${r.getI18nextInstance().t("archbase:Deve alterar senha próximo login ?")}`})}),i.showAllowPasswordChange&&e.jsx(t.Input.Wrapper,{label:"",children:e.jsx(s.ArchbaseCheckbox,{dataSource:a.dataSource,dataField:"allowPasswordChange",label:`${r.getI18nextInstance().t("archbase:Pode alterar a senha ?")}`})}),i.showPasswordNeverExpires&&e.jsx(t.Input.Wrapper,{label:"",children:e.jsx(s.ArchbaseCheckbox,{dataSource:a.dataSource,dataField:"passwordNeverExpires",label:`${r.getI18nextInstance().t("archbase:Senha nunca expira ?")}`})})]})}),e.jsx(t.Grid.Col,{span:{base:12,md:4,lg:4},children:e.jsxs(t.Stack,{gap:"lg",children:[i.showAccountDeactivated&&e.jsx(t.Input.Wrapper,{label:"",children:e.jsx(s.ArchbaseCheckbox,{dataSource:a.dataSource,dataField:"accountDeactivated",label:`${r.getI18nextInstance().t("archbase:Conta desativada ?")}`})}),i.showAccountLocked&&e.jsx(t.Input.Wrapper,{label:"",children:e.jsx(s.ArchbaseCheckbox,{dataSource:a.dataSource,dataField:"accountLocked",label:`${r.getI18nextInstance().t("archbase:Conta bloqueada ?")}`})}),i.showIsAdministrator&&e.jsx(t.Input.Wrapper,{label:"",children:e.jsx(s.ArchbaseCheckbox,{dataSource:a.dataSource,dataField:"isAdministrator",label:`${r.getI18nextInstance().t("archbase:Administrador ?")}`})})]})}),e.jsx(t.Grid.Col,{span:{base:12,md:4,lg:4},children:e.jsx(t.Stack,{gap:"lg",children:e.jsx(s.ArchbaseAvatarEdit,{label:r.getI18nextInstance().t("archbase:Foto do usuário"),dataSource:a.dataSource,dataField:"avatar",width:120,height:120,maxSizeKB:i.avatarMaxSizeKB,imageQuality:i.avatarImageQuality})})})]}),i.showGroups&&e.jsxs(t.Grid,{children:[e.jsx(t.Grid.Col,{span:{base:12},children:e.jsx(t.Text,{fz:14,fw:500,children:"Grupos"})}),e.jsx(t.Grid.Col,{span:{base:12},children:e.jsx(ge,{titleAvailable:r.getI18nextInstance().t("archbase:Disponíveis"),titleAssigned:r.getI18nextInstance().t("archbase:Selecionados"),assignedItemsDS:new S.ArchbaseDataSource("dsDualList",{records:a.dataSource.getFieldValue("groups"),grandTotalRecords:a.dataSource.getFieldValue("groups").length,currentPage:0,totalPages:0,pageSize:999999}),width:"100%",height:"200px",availableItemsDS:u,handleCreateAssociationObject:h=>j.UserGroupDto.newInstance(h),idFieldAssigned:h=>h&&h.group?h.group.id:"",idFieldAvailable:"id",labelFieldAssigned:h=>h&&h.group?h.group.name:"",labelFieldAvailable:"name"})})]}),i?.customContentAfter&&e.jsx(e.Fragment,{children:i.customContentAfter}),e.jsx(t.Space,{h:"12px"})]})}),e.jsxs(t.Group,{justify:"flex-end",mt:"md",children:[e.jsx(t.Button,{variant:"default",onClick:k,children:r.getI18nextInstance().t("archbase:Cancelar")}),e.jsx(t.Button,{onClick:E,children:r.getI18nextInstance().t("archbase:Salvar")})]})]})},Se=a=>{Q.useFocusTrap();const d={...a.options??{}},y=()=>{a.onCustomSave?a.onCustomSave(a.dataSource.current,i=>{i&&a.onAfterSave&&a.onAfterSave(a.dataSource.current),a.onClickOk(a.dataSource.current,i)}):a.onClickOk(a.dataSource.current,!0)},w=()=>{a.onClickCancel(a.dataSource.current)};return e.jsx(t.Modal,{opened:a.opened,onClose:w,title:r.getI18nextInstance().t("archbase:Grupo"),size:"60%",styles:{content:{maxWidth:1e3}},children:e.jsx(t.ScrollArea,{style:{height:"460px"},children:e.jsxs(t.Stack,{w:"98%",children:[d?.customContentBefore&&e.jsx(e.Fragment,{children:a.options.customContentBefore}),e.jsxs(t.Grid,{children:[e.jsx(t.Grid.Col,{span:{base:12},children:e.jsx(s.ArchbaseEdit,{label:`${r.getI18nextInstance().t("archbase:Nome do grupo")}`,placeholder:`${r.getI18nextInstance().t("archbase:Informe o nome do grupo")}`,dataSource:a.dataSource,dataField:"name"})}),e.jsx(t.Grid.Col,{span:{base:12},children:e.jsx(s.ArchbaseEdit,{label:`${r.getI18nextInstance().t("archbase:Descrição do grupo")}`,placeholder:`${r.getI18nextInstance().t("archbase:Informe a descrição do grupo")}`,dataSource:a.dataSource,dataField:"description"})})]}),d?.customContentAfter&&e.jsx(e.Fragment,{children:a.options.customContentAfter}),e.jsxs(t.Group,{justify:"flex-end",mt:"md",children:[e.jsx(t.Button,{variant:"default",onClick:w,children:r.getI18nextInstance().t("archbase:Cancelar")}),e.jsx(t.Button,{onClick:y,children:r.getI18nextInstance().t("archbase:Salvar")})]})]})})})},tt=({image:a,label:d,description:y,...w})=>e.jsx("div",{...w,children:e.jsxs(t.Group,{grow:!0,children:[e.jsx("img",{style:{maxWidth:"32px"},src:a}),e.jsxs("div",{children:[e.jsx(t.Text,{size:"sm",children:d}),e.jsx(t.Text,{size:"xs",opacity:.65,children:y})]})]})}),ye=a=>{Q.useFocusTrap();const[d,y]=x.useState();S.useArchbaseRemoteServiceApi(r.ARCHBASE_IOC_API_TYPE.User);const w=S.useArchbaseV1V2Compatibility("ApiTokenModal",a.dataSource,"expirationDate",""),i=b=>{if(!b)w.handleValueChange(void 0);else{const $=typeof b=="string"?new Date(b):b,E=r.convertDateToISOString($);w.handleValueChange(E)}y(b)},g=()=>{a.onCustomSave?a.onCustomSave(a.dataSource.current,b=>{b&&a.onAfterSave&&a.onAfterSave(a.dataSource.current),a.onClickOk(a.dataSource.current,b)}):a.onClickOk(a.dataSource.current,!0)},u=()=>{a.onClickCancel(a.dataSource.current)};return e.jsxs(t.Modal,{opened:a.opened,onClose:u,title:r.getI18nextInstance().t("archbase:Token de API"),size:"50%",children:[e.jsxs(t.ScrollArea,{style:{height:"300px"},children:[e.jsx(s.ArchbaseEdit,{label:`${r.getI18nextInstance().t("archbase:Nome do token")}`,placeholder:`${r.getI18nextInstance().t("archbase:Informe o nome do token")}`,dataSource:a.dataSource,dataField:"name"}),e.jsx(s.ArchbaseEdit,{label:`${r.getI18nextInstance().t("archbase:Descrição do token")}`,placeholder:`${r.getI18nextInstance().t("archbase:Informe a descrição do token")}`,dataSource:a.dataSource,dataField:"description"}),e.jsx(Xe.DateTimePicker,{withSeconds:!0,value:d,onChange:i,label:"Data/hora expiração",placeholder:"Selecione a data de expiração"}),e.jsx(s.ArchbaseSelect,{label:`${r.getI18nextInstance().t("archbase:Usuário")}`,dataSource:a.dataSource,dataField:"user",placeholder:`${r.getI18nextInstance().t("archbase:Digite aqui o nome do usuário")}`,getOptionLabel:b=>b&&b.email,getOptionValue:b=>b.id?.toString()||"",debounceTime:500,itemComponent:tt,options:[]})]}),e.jsxs(t.Group,{justify:"flex-end",mt:"md",children:[e.jsx(t.Button,{variant:"default",onClick:u,children:r.getI18nextInstance().t("archbase:Cancelar")}),e.jsx(t.Button,{onClick:g,children:r.getI18nextInstance().t("archbase:Salvar")})]})]})},be=a=>{const d="->";return a.includes(d)?a.split(d).map(i=>i.trim()).map(i=>r.getI18nextInstance().t(i)).join(` ${d} `):r.getI18nextInstance().t(a)};function te({dataSource:a,opened:d,close:y}){const w=x.useMemo(()=>a?.getFieldValue("name")||"",[a]),i=x.useMemo(()=>a?.getFieldValue("id")||"",[a]),g=x.useMemo(()=>a?.getFieldValue("type")||"",[a]),u=t.useTree(),b=t.useTree(),[$,E]=x.useState([]),[k,h]=x.useState([]),[m,W]=x.useState(),[I,J]=x.useState(),[q,Z]=x.useState(""),[Y]=Q.useDebouncedValue(q,200),[z,B]=x.useState(""),[F]=Q.useDebouncedValue(z,200),O=S.useArchbaseRemoteServiceApi(r.ARCHBASE_IOC_API_TYPE.Resource),{colorScheme:n}=t.useMantineColorScheme(),C=n==="dark"?"var(--mantine-primary-color-7)":"var(--mantine-primary-color-4)",U=x.useMemo(()=>k.sort((c,l)=>c.resourceDescription.localeCompare(l.resourceDescription)).map(c=>({value:c.resourceId,label:c.resourceDescription,children:c.permissions.filter(l=>l.actionDescription.toLowerCase().includes(F.toLowerCase())).sort((l,V)=>l.actionDescription.localeCompare(V.actionDescription)).map(l=>({value:l.actionId,label:l.actionDescription,nodeProps:{permissionId:l.permissionId,types:l.types??[],owner:c}}))})),[k,F]),p=x.useMemo(()=>k.map(c=>c.permissions.map(l=>l.actionId)).flat(),[k]),A=x.useMemo(()=>$.sort((c,l)=>c.resourceDescription.localeCompare(l.resourceDescription)).map(c=>({value:c.resourceId,label:c.resourceDescription,children:c.permissions.filter(l=>l.actionDescription.toLowerCase().includes(Y.toLowerCase())).sort((l,V)=>l.actionDescription.localeCompare(V.actionDescription)).map(l=>{const V=k.find(v=>v.resourceId===c.resourceId)?.permissions.find(v=>v.actionId===l.actionId);return{value:l.actionId,label:l.actionDescription,nodeProps:{granted:p.includes(l.actionId)&&V?.types?.includes(r.getKeyByEnumValue(j.SecurityType,g)),owner:c}}})})),[$,k,p,g,Y]),f=x.useCallback(async()=>{if(i){const c=await O.getPermissionsBySecurityId(i,g),l=await O.getAllPermissionsAvailable();E(l),h(c)}},[i,g]),X=x.useCallback(()=>{m?.value&&i&&O.createPermission(i,m.value,g).then(c=>{if(c){h(P=>{let D;return P.map(R=>R.resourceId).includes(c.resourceId)?D=P.map(R=>R.resourceId===c.resourceId?R.permissions.map(G=>G.actionId).includes(m.value)?{...R,permissions:R.permissions.map(G=>G.actionId===m.value?{...G,permissionId:c.permissionId,types:[...G.types??[],r.getKeyByEnumValue(j.SecurityType,g)]}:G)}:{...R,permissions:[...R.permissions??[],{actionId:c.actionId,actionDescription:c.actionDescription,permissionId:c.permissionId,types:[r.getKeyByEnumValue(j.SecurityType,g)]}]}:R):D=[...P,{resourceId:c.resourceId,resourceDescription:c.resourceDescription,permissions:[{actionId:c.actionId,actionDescription:c.actionDescription,permissionId:c.permissionId,types:[r.getKeyByEnumValue(j.SecurityType,g)]}]}],D});const l=A.filter(P=>P.value===m?.nodeProps?.owner?.resourceId).map(P=>P.children).flat(),V=l.map(P=>P.value).indexOf(m.value),v=l.find((P,D)=>!P?.nodeProps?.granted&&P?.value!==m.value&&(l.length>V+1?D>V:!0));v?.value&&u.select(v.value),b.expand(c.resourceId),W(v)}})},[m,i,g,O,A,$,k,u,b]),_=x.useCallback(()=>{I?.nodeProps?.permissionId&&O.deletePermission(I.nodeProps.permissionId).then(()=>{h(v=>[...v].filter(D=>{let R=!0;return D.permissions?.forEach(G=>{G.permissionId!==void 0&&G.permissionId===I?.nodeProps?.permissionId&&D.permissions.length===1&&G?.types?.length===1&&G.types[0]===r.getKeyByEnumValue(j.SecurityType,g)&&(R=!1)}),R}).map(D=>{const R=I?.nodeProps?.owner;return D.resourceId===R.resourceId?I?.nodeProps?.types?.length===1?{...D,permissions:[...(D.permissions??[]).filter(G=>G.permissionId!==I?.nodeProps?.permissionId)]}:{...D,permissions:(D.permissions??[]).map(G=>G.actionId===I.value?{actionId:G.actionId,actionDescription:G.actionDescription,types:[...G.types?.filter(L=>L&&L!==r.getKeyByEnumValue(j.SecurityType,g))??[]]}:G)}:D}));const c=U.filter(v=>v.value===I?.nodeProps?.owner?.resourceId).map(v=>v.children).flat(),l=c.map(v=>v.value).indexOf(I.value),V=c.find((v,P)=>v?.nodeProps?.types.includes(r.getKeyByEnumValue(j.SecurityType,g))&&v?.value!==I.value&&(c.length>l+1?P>l:!0));V?.value&&b.select(V.value),J(V)})},[I,O,g,U,k,b]);return x.useEffect(()=>{d&&a&&(W(void 0),J(void 0),Z(""),B(""),b.collapseAllNodes(),u.collapseAllNodes(),f())},[d,g,i,f]),a?e.jsx(t.Modal,{opened:d,onClose:y,title:`${r.getI18nextInstance().t(`archbase:${g}`)}: ${w}`,size:"80%",styles:{root:{overflow:"hidden"}},children:e.jsxs(oe.ArchbaseSpaceFixed,{height:"540px",children:[e.jsx(oe.ArchbaseSpaceFill,{children:e.jsx(t.ScrollArea,{h:"500px",children:e.jsx(t.Paper,{withBorder:!0,my:20,p:20,children:e.jsxs(t.Grid,{columns:20,children:[e.jsxs(t.Grid.Col,{span:9,children:[e.jsxs(t.Group,{mb:20,children:[e.jsx(t.Text,{children:r.getI18nextInstance().t("archbase:Available")}),e.jsx(t.TextInput,{size:"xs",value:q,onChange:c=>Z(c.target.value),placeholder:r.getI18nextInstance().t("archbase:Filter available permissions")})]}),e.jsx(t.Tree,{data:A,selectOnClick:!0,allowRangeSelection:!1,tree:u,renderNode:({level:c,node:l,expanded:V,hasChildren:v,selected:P,elementProps:D})=>{const R=l?.nodeProps?.granted,G=R?"dimmed":void 0,L=R?"line-through":void 0,ae=x.useCallback(N=>{W(l),D.onClick(N)},[l,D.onClick]);return e.jsxs(t.Group,{ml:v?0:5,gap:5,...D,bg:P&&c===2?C:"",onClick:ae,children:[v&&e.jsx(T.IconChevronDown,{size:18,style:{transform:V?"rotate(0deg)":"rotate(-90deg)"}}),!v&&e.jsx(T.IconBorderCornerSquare,{size:12,style:{transform:"rotate(-90deg)",marginTop:"-5px"}}),e.jsx(t.Text,{c:G,td:L,children:be(l.label)})]})}})]}),e.jsx(t.Grid.Col,{span:2,children:e.jsxs(t.Stack,{gap:5,style:{minWidth:"10%"},justify:"center",align:"center",h:"100%",children:[e.jsx(t.Tooltip,{label:r.getI18nextInstance().t("archbase:Add"),children:e.jsx(t.ActionIcon,{onClick:X,disabled:!m||m?.nodeProps?.granted||!m.nodeProps,children:e.jsx(T.IconArrowRight,{})})}),e.jsx(t.Tooltip,{label:r.getI18nextInstance().t("archbase:Remove"),children:e.jsx(t.ActionIcon,{onClick:_,disabled:!I||!I?.nodeProps?.permissionId||!I.nodeProps,children:e.jsx(T.IconArrowLeft,{})})})]})}),e.jsxs(t.Grid.Col,{span:9,children:[e.jsxs(t.Group,{mb:20,children:[e.jsx(t.Text,{children:r.getI18nextInstance().t("archbase:Granted")}),e.jsx(t.TextInput,{size:"xs",value:z,onChange:c=>B(c.target.value),placeholder:r.getI18nextInstance().t("archbase:Filter granted permissions")})]}),e.jsx(t.Tree,{data:U,selectOnClick:!0,allowRangeSelection:!1,tree:b,renderNode:({level:c,node:l,expanded:V,hasChildren:v,selected:P,elementProps:D})=>{const R=x.useCallback(G=>{J(l),D.onClick(G)},[l,D.onClick]);return e.jsxs(t.Group,{ml:v?0:5,gap:5,...D,bg:P&&c===2?C:"",onClick:R,children:[v&&e.jsx(T.IconChevronDown,{size:18,style:{transform:V?"rotate(0deg)":"rotate(-90deg)"}}),!v&&e.jsx(T.IconBorderCornerSquare,{size:12,style:{transform:"rotate(-90deg)",marginTop:"-5px"}}),e.jsx(t.Text,{children:be(l.label)}),l?.nodeProps?.types?.includes("USER")&&e.jsx(t.Badge,{color:"blue",children:r.getI18nextInstance().t("archbase:user")}),l?.nodeProps?.types?.includes("GROUP")&&e.jsx(t.Badge,{color:"orange",children:r.getI18nextInstance().t("archbase:group")}),l?.nodeProps?.types?.includes("PROFILE")&&e.jsx(t.Badge,{color:"pink",children:r.getI18nextInstance().t("archbase:profile")})]})}})]})]})})})}),e.jsx(oe.ArchbaseSpaceBottom,{size:"40px",children:e.jsx(t.Group,{justify:"flex-end",children:e.jsx(t.Button,{onClick:y,children:r.getI18nextInstance().t("archbase:Close")})})})]})}):null}const ne="data:image/png;base64,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",at=a=>a.groups?e.jsx("div",{style:{display:"flex"},children:a.groups?a.groups.map((d,y)=>e.jsx("div",{style:{paddingRight:"2px"},children:e.jsx(t.Badge,{color:"blue",children:d.group?.name})},y)):null}):null,rt=a=>a.profile?e.jsx(t.Badge,{color:"green",children:a.profile?.name}):null;function ot({height:a="400px",width:d="100%",createEntitiesWithId:y=!0,userModalOptions:w,profileModalOptions:i,groupModalOptions:g}){const u=r.useArchbaseTheme(),b=S.useArchbaseStore("securityStore"),$=r.useArchbaseValidator(),{colorScheme:E}=t.useMantineColorScheme(),[k,h]=x.useState(void 0),[m,W]=x.useState("users"),I=S.useArchbaseRemoteServiceApi(r.ARCHBASE_IOC_API_TYPE.User),J=S.useArchbaseRemoteServiceApi(r.ARCHBASE_IOC_API_TYPE.Group),q=S.useArchbaseRemoteServiceApi(r.ARCHBASE_IOC_API_TYPE.Resource),Z=S.useArchbaseRemoteServiceApi(r.ARCHBASE_IOC_API_TYPE.Profile),[Y,z]=x.useState(""),[B,F]=x.useState(""),O=S.useArchbaseRemoteServiceApi(r.ARCHBASE_IOC_API_TYPE.AccessToken),{t:n}=r.useArchbaseTranslation(),C=S.useArchbaseV1V2Compatibility("ArchbaseSecurityView-Users",void 0,void 0,void 0),U=S.useArchbaseV1V2Compatibility("ArchbaseSecurityView-Groups",void 0,void 0,void 0),p=S.useArchbaseV1V2Compatibility("ArchbaseSecurityView-Profiles",void 0,void 0,void 0),A=x.useRef(null),f=x.useRef(null),X=x.useRef(null),_=x.useRef(null),c=x.useRef(null),l=o=>o.id,V=o=>o.id,v=o=>o.id,P=o=>o.id,D=o=>o.id,{dataSource:R,isLoading:G}=S.useArchbaseRemoteDataSource({name:"accessTokenApi",service:O,store:b,validator:$,pageSize:25,loadOnStart:!0,filter:r.emit(r.builder.or(r.builder.eq("revoked","false"))),sort:["user.email","expirationTime:desc"],onLoadComplete:o=>{},onDestroy:o=>{},onError:(o,M)=>{h(o),s.ArchbaseNotifications.showError(`${n("archbase:WARNING")}`,o,M)}}),{dataSource:L,isLoading:ae}=S.useArchbaseRemoteDataSource({name:"dsUsers",service:I,store:b,validator:$,pageSize:25,loadOnStart:!0,onLoadComplete:o=>{},onDestroy:o=>{},onError:(o,M)=>{h(o),s.ArchbaseNotifications.showError(`${n("archbase:WARNING")}`,o,M)}}),{dataSource:N,isLoading:Ie}=S.useArchbaseRemoteDataSource({name:"dsGroups",service:J,store:b,validator:$,pageSize:25,loadOnStart:!0,onLoadComplete:o=>{},onDestroy:o=>{},onError:(o,M)=>{h(o),s.ArchbaseNotifications.showError(`${n("archbase:WARNING")}`,o,M)}}),{dataSource:H,isLoading:je}=S.useArchbaseRemoteDataSource({name:"dsProfile",service:Z,store:b,validator:$,pageSize:25,loadOnStart:!0,onLoadComplete:o=>{},onDestroy:o=>{},onError:(o,M)=>{h(o),s.ArchbaseNotifications.showError(`${n("archbase:WARNING")}`,o,M)}}),{dataSource:Ce,isLoading:Te}=S.useArchbaseRemoteDataSource({name:"dsResources",service:q,store:b,validator:$,pageSize:25,loadOnStart:!0,onLoadComplete:o=>{},onDestroy:o=>{},onError:(o,M)=>{h(o),s.ArchbaseNotifications.showError(`${n("archbase:WARNING")}`,o,M)}}),K=`calc(${a} - 40px)`,ve=e.jsxs(s.Columns,{children:[e.jsx(s.ArchbaseDataGridColumn,{dataField:"user.avatar",dataType:"image",size:80,header:`${n("archbase:Foto")}`,render:o=>e.jsx("img",{style:{borderRadius:50,height:"32px",maxHeight:"32px"},src:o.row.user&&o.row.user.avatar?atob(o.row.user.avatar):ne}),inputFilterType:"text",align:"center"}),e.jsx(s.ArchbaseDataGridColumn,{dataField:"user.userName",dataType:"text",size:300,header:`${n("archbase:Nome de Usuário")}`,inputFilterType:"text"}),e.jsx(s.ArchbaseDataGridColumn,{dataField:"user.email",dataType:"text",header:`${n("archbase:Email")}`,size:300,inputFilterType:"text"}),e.jsx(s.ArchbaseDataGridColumn,{dataField:"expirationDate",dataType:"text",size:300,header:`${n("archbase:Expira em")}`,render:o=>e.jsx(t.Text,{size:"sm",children:o.row.expirationDate}),inputFilterType:"text"}),e.jsx(s.ArchbaseDataGridColumn,{dataField:"revoked",dataType:"boolean",header:`${n("archbase:Revogado ?")}`,inputFilterType:"checkbox"}),e.jsx(s.ArchbaseDataGridColumn,{dataField:"expired",dataType:"boolean",header:`${n("archbase:Expirado ?")}`,inputFilterType:"checkbox"}),e.jsx(s.ArchbaseDataGridColumn,{dataField:"token",dataType:"text",header:`${n("archbase:Token Acesso")}`,size:300,inputFilterType:"text"})]}),we=e.jsxs(s.Columns,{children:[e.jsx(s.ArchbaseDataGridColumn,{dataField:"avatar",dataType:"image",size:80,header:`${n("archbase:Foto")}`,render:o=>e.jsx("img",{style:{borderRadius:50,height:"32px",maxHeight:"32px"},src:o.row.avatar?atob(o.row.avatar):ne}),enableSorting:!1,enableColumnFilter:!1,enableGlobalFilter:!1,align:"center"}),e.jsx(s.ArchbaseDataGridColumn,{dataField:"name",dataType:"text",size:300,header:`${n("archbase:Nome")}`,inputFilterType:"text"}),e.jsx(s.ArchbaseDataGridColumn,{dataField:"nickname",dataType:"text",size:120,header:`${n("archbase:Apelido")}`,inputFilterType:"text"}),e.jsx(s.ArchbaseDataGridColumn,{dataField:"email",dataType:"text",header:`${n("archbase:Email")}`,size:300,inputFilterType:"text"}),e.jsx(s.ArchbaseDataGridColumn,{dataField:"profile.name",dataType:"text",header:`${n("archbase:Perfil")}`,size:200,render:o=>rt(o.row),inputFilterType:"text"}),e.jsx(s.ArchbaseDataGridColumn,{dataField:"groups",dataType:"text",size:300,header:`${n("archbase:Grupos")}`,render:o=>at(o.row),enableSorting:!1,enableColumnFilter:!1,enableGlobalFilter:!1}),e.jsx(s.ArchbaseDataGridColumn,{dataField:"isAdministrator",dataType:"boolean",header:`${n("archbase:Admin ?")}`,inputFilterType:"checkbox"}),e.jsx(s.ArchbaseDataGridColumn,{dataField:"changePasswordOnNextLogin",dataType:"boolean",header:`${n("archbase:Alt.senha próximo login?")}`,inputFilterType:"checkbox",size:120}),e.jsx(s.ArchbaseDataGridColumn,{dataField:"allowPasswordChange",dataType:"boolean",header:`${n("archbase:Pode alterar senha?")}`,inputFilterType:"checkbox",size:120}),e.jsx(s.ArchbaseDataGridColumn,{dataField:"allowMultipleLogins",dataType:"boolean",header:`${n("archbase:Permite multiplos logins?")}`,inputFilterType:"checkbox",size:120}),e.jsx(s.ArchbaseDataGridColumn,{dataField:"passwordNeverExpires",dataType:"boolean",header:`${n("archbase:Senha nunca expira?")}`,inputFilterType:"checkbox",size:120}),e.jsx(s.ArchbaseDataGridColumn,{dataField:"accountDeactivated",dataType:"boolean",header:`${n("archbase:Desativado?")}`,inputFilterType:"checkbox",size:120}),e.jsx(s.ArchbaseDataGridColumn,{dataField:"accountLocked",dataType:"boolean",header:`${n("archbase:Bloqueado?")}`,inputFilterType:"checkbox",size:120}),e.jsx(s.ArchbaseDataGridColumn,{dataField:"unlimitedAccessHours",dataType:"boolean",header:`${n("archbase:Horário acesso ilimitado?")}`,inputFilterType:"checkbox",size:140})]}),ke=e.jsxs(s.Columns,{children:[e.jsx(s.ArchbaseDataGridColumn,{dataField:"name",dataType:"text",size:300,header:`${n("archbase:Nome do grupo")}`,inputFilterType:"text"}),e.jsx(s.ArchbaseDataGridColumn,{dataField:"description",dataType:"text",header:`${n("archbase:Descrição")}`,size:800,inputFilterType:"text"})]}),Re=e.jsxs(s.Columns,{children:[e.jsx(s.ArchbaseDataGridColumn,{dataField:"name",dataType:"text",size:300,header:`${n("archbase:Nome do perfil")}`,inputFilterType:"text"}),e.jsx(s.ArchbaseDataGridColumn,{dataField:"description",dataType:"text",header:`${n("archbase:Descrição")}`,size:800,inputFilterType:"text"})]}),De=e.jsxs(s.Columns,{children:[e.jsx(s.ArchbaseDataGridColumn,{dataField:"name",dataType:"text",size:300,header:`${n("archbase:Nome do recurso")}`,inputFilterType:"text"}),e.jsx(s.ArchbaseDataGridColumn,{dataField:"description",dataType:"text",header:`${n("archbase:Descrição")}`,size:800,inputFilterType:"text"})]}),Ge=()=>{const o=j.UserDto.newInstance();y||(o.id=void 0),L.insert(o),L&&!C.isDataSourceV2&&C.v1State.forceUpdate(),z(j.SecurityType.USER)},Ee=o=>{L.isEmpty()||L.gotoRecordByData(o)&&(L.edit(),C.isDataSourceV2||C.v1State.forceUpdate(),z(j.SecurityType.USER))},Fe=o=>{L.isEmpty()||L.gotoRecordByData(o)&&s.ArchbaseDialog.showConfirmDialogYesNo(`${n("archbase:Confirme")}`,`${n("archbase:Deseja remover o usuário ")}${o.name} ?`,()=>{L.remove(),C.isDataSourceV2||C.v1State.forceUpdate()},()=>{})},Pe=o=>{L.isEmpty()||L.gotoRecordByData(o)&&z(j.SecurityType.USER)},ze=o=>e.jsxs(t.Group,{gap:1,wrap:"nowrap",children:[e.jsx(t.ActionIcon,{variant:"transparent",onClick:()=>Pe(o),children:e.jsx(T.IconEye,{size:20,color:E==="dark"?u.colors.blue[8]:u.colors.blue[4]})}),e.jsx(t.ActionIcon,{variant:"transparent",onClick:()=>Ee(o),children:e.jsx(T.IconEdit,{size:20,color:E==="dark"?u.colors.yellow[8]:u.colors.yellow[4]})}),e.jsx(t.ActionIcon,{variant:"transparent",onClick:()=>Fe(o),children:e.jsx(T.IconTrashX,{size:20,color:E==="dark"?u.colors.red[8]:u.colors.red[4]})}),e.jsx(t.Tooltip,{withinPortal:!0,withArrow:!0,position:"left",label:`${n("archbase:Edit permissions")}`,children:e.jsx(t.ActionIcon,{variant:"transparent",onClick:de,children:e.jsx(T.IconShieldCheckered,{size:20,color:E==="dark"?u.colors.green[8]:u.colors.green[4]})})})]}),Ve=()=>{const o=j.GroupDto.newInstance();y||(o.id=void 0),N.insert(o),N&&!U.isDataSourceV2&&U.v1State.forceUpdate(),z(j.SecurityType.GROUP)},$e=o=>{N.isEmpty()||N.gotoRecordByData(o)&&(N.edit(),z(j.SecurityType.GROUP))},Le=o=>{N.isEmpty()||N.gotoRecordByData(o)&&s.ArchbaseDialog.showConfirmDialogYesNo(`${n("archbase:Confirme")}`,`${n("archbase:Deseja remover o grupo ")}${o.name} ?`,()=>{N.remove()},()=>{})},Me=o=>{N.isEmpty()||N.gotoRecordByData(o)&&z(j.SecurityType.GROUP)},Be=o=>e.jsxs(t.Group,{gap:1,wrap:"nowrap",children:[e.jsx(t.ActionIcon,{variant:"transparent",onClick:()=>Me(o),children:e.jsx(T.IconEye,{size:20,color:E==="dark"?u.colors.blue[8]:u.colors.blue[4]})}),e.jsx(t.ActionIcon,{variant:"transparent",onClick:()=>$e(o),children:e.jsx(T.IconEdit,{size:20,color:E==="dark"?u.colors.yellow[8]:u.colors.yellow[4]})}),e.jsx(t.ActionIcon,{variant:"transparent",onClick:()=>Le(o),children:e.jsx(T.IconTrashX,{size:20,color:E==="dark"?u.colors.red[8]:u.colors.red[4]})}),e.jsx(t.Tooltip,{withinPortal:!0,withArrow:!0,position:"left",label:`${n("archbase:Edit permissions")}`,children:e.jsx(t.ActionIcon,{variant:"transparent",onClick:ue,children:e.jsx(T.IconShieldCheckered,{size:20,color:E==="dark"?u.colors.green[8]:u.colors.green[4]})})})]}),ie=()=>{z("")},ce=()=>{z("")},le=()=>{z("")},Ue=()=>{const o=j.ProfileDto.newInstance();y||(o.id=void 0),H.insert(o),H&&!p.isDataSourceV2&&p.v1State.forceUpdate(),z(j.SecurityType.PROFILE)},Ne=o=>{H.isEmpty()||H.gotoRecordByData(o)&&(H.edit(),z(j.SecurityType.PROFILE))},Oe=o=>{H.isEmpty()||H.gotoRecordByData(o)&&s.ArchbaseDialog.showConfirmDialogYesNo(`${n("archbase:Confirme")}`,`${n("archbase:Deseja remover o perfil ")}${o.name} ?`,()=>{H.remove()},()=>{})},qe=o=>{H.isEmpty()||H.gotoRecordByData(o)&&z(j.SecurityType.PROFILE)},He=o=>e.jsxs(t.Group,{gap:1,wrap:"nowrap",children:[e.jsx(t.ActionIcon,{variant:"transparent",onClick:()=>qe(o),children:e.jsx(T.IconEye,{size:20,color:E==="dark"?u.colors.blue[8]:u.colors.blue[4]})}),e.jsx(t.ActionIcon,{variant:"transparent",onClick:()=>Ne(o),children:e.jsx(T.IconEdit,{size:20,color:E==="dark"?u.colors.yellow[8]:u.colors.yellow[4]})}),e.jsx(t.ActionIcon,{variant:"transparent",onClick:()=>Oe(o),children:e.jsx(T.IconTrashX,{size:20,color:E==="dark"?u.colors.red[8]:u.colors.red[4]})}),e.jsx(t.Tooltip,{withinPortal:!0,withArrow:!0,position:"left",label:`${n("archbase:Edit permissions")}`,children:e.jsx(t.ActionIcon,{variant:"transparent",onClick:he,children:e.jsx(T.IconShieldCheckered,{size:20,color:E==="dark"?u.colors.green[8]:u.colors.green[4]})})})]}),We=()=>{R.getCurrentRecord()&&s.ArchbaseDialog.showConfirmDialogYesNo(`${n("archbase:Confirme")}`,`${n("archbase:Deseja revogar o token de Acesso do usuário ")}${R.getCurrentRecord().user.name} ?`,async()=>{await O.revoke(R.getCurrentRecord().token).then(async()=>{s.ArchbaseNotifications.showSuccess(`${n("mentors:Informação")}`,`${n("mentors:Token de Acesso revogado com sucesso!")}`),R.refreshData()}).catch(o=>{s.ArchbaseDialog.showErrorWithDetails(`${n("mentors:Atenção")}`,r.processErrorMessage(o),r.processDetailErrorMessage(o))})},()=>{})},de=()=>{F(j.SecurityType.USER)},ue=()=>{F(j.SecurityType.GROUP)},he=()=>{F(j.SecurityType.PROFILE)},re=()=>{F("")},Ye=()=>e.jsxs(t.Flex,{justify:"space-between",style:{width:"50%"},children:[e.jsxs(t.Group,{align:"end",gap:"4px",wrap:"nowrap",children:[e.jsx(t.Button,{color:"green",leftSection:e.jsx(T.IconPlus,{}),onClick:Ge,children:`${n("archbase:New")}`}),e.jsx(t.Button,{color:"blue",leftSection:e.jsx(T.IconEdit,{}),onClick:de,children:`${n("archbase:Edit permissions")}`})]}),e.jsx(t.Flex,{align:"flex-start",justify:"flex-end",style:{width:"200px"}})]}),Je=()=>e.jsxs(t.Flex,{justify:"space-between",style:{width:"50%"},children:[e.jsxs(t.Group,{align:"end",gap:"4px",wrap:"nowrap",children:[e.jsx(t.Button,{color:"green",leftSection:e.jsx(T.IconPlus,{}),onClick:Ve,children:`${n("archbase:New")}`}),e.jsx(t.Button,{color:"blue",leftSection:e.jsx(T.IconEdit,{}),onClick:ue,children:`${n("archbase:Edit permissions")}`})]}),e.jsx(t.Flex,{align:"flex-start",justify:"flex-end",style:{width:"200px"}})]}),Ze=()=>e.jsxs(t.Flex,{justify:"space-between",style:{width:"50%"},children:[e.jsxs(t.Group,{align:"end",gap:"4px",wrap:"nowrap",children:[e.jsx(t.Button,{color:"green",leftSection:e.jsx(T.IconPlus,{}),onClick:Ue,children:`${n("archbase:New")}`}),e.jsx(t.Button,{color:"blue",leftSection:e.jsx(T.IconEdit,{}),onClick:he,children:`${n("archbase:Edit permissions")}`})]}),e.jsx(t.Flex,{align:"flex-start",justify:"flex-end",style:{width:"200px"}})]}),_e=()=>e.jsx(t.Flex,{justify:"space-between",style:{width:"50%"},children:e.jsx(t.Group,{align:"start",gap:"4px",wrap:"nowrap",children:e.jsx(t.Button,{disabled:!R.getCurrentRecord(),color:"red",leftSection:e.jsx(T.IconTrashX,{}),onClick:We,children:`${n("archbase:Revoke")}`})})});return e.jsxs(t.Paper,{p:"md",style:{height:a,display:"flex",flexDirection:"column"},children:[e.jsx(t.Tabs,{variant:"pills",value:m,onChange:W,children:e.jsxs(t.Tabs.List,{children:[e.jsx(t.Tabs.Tab,{value:"users",children:`${n("Usuários")}`}),e.jsx(t.Tabs.Tab,{value:"groups",children:`${n("Grupos")}`}),e.jsx(t.Tabs.Tab,{value:"profiles",children:`${n("Perfis")}`}),e.jsx(t.Tabs.Tab,{value:"resources",children:`${n("Recursos")}`}),e.jsx(t.Tabs.Tab,{value:"accessTokens",children:`${n("Tokens Acesso")}`})]})}),e.jsx(t.Paper,{withBorder:!0,mt:"md",style:{height:K,display:m==="users"?"flex":"none",width:"100%",flex:1,minHeight:0,overflow:"auto"},children:e.jsx(s.ArchbaseDataGrid,{gridRef:A,printTitle:"Usuários",width:"100%",height:"100%",withBorder:!1,dataSource:L,withColumnBorders:!0,striped:!0,enableTopToolbar:!0,enableRowActions:!0,pageSize:50,isLoading:ae,isError:!!k,error:k,enableGlobalFilter:!0,getRowId:l,toolbarLeftContent:Ye(),renderRowActions:ze,children:we})}),e.jsx(t.Paper,{withBorder:!0,mt:"md",style:{height:K,display:m==="groups"?"flex":"none",flex:1,minHeight:0,overflow:"auto"},children:e.jsx(s.ArchbaseDataGrid,{gridRef:f,printTitle:"Grupos",width:"100%",height:"100%",withBorder:!1,dataSource:N,withColumnBorders:!0,striped:!1,enableTopToolbar:!0,enableRowActions:!0,pageSize:50,isLoading:Ie,isError:!!k,error:k,enableGlobalFilter:!0,getRowId:V,renderRowActions:Be,children:ke,toolbarLeftContent:Je()})}),e.jsx(t.Paper,{withBorder:!0,mt:"md",style:{height:K,display:m==="profiles"?"flex":"none",flex:1,minHeight:0,overflow:"auto"},children:e.jsx(s.ArchbaseDataGrid,{gridRef:X,printTitle:"Perfis",width:"100%",height:"100%",withBorder:!1,dataSource:H,withColumnBorders:!0,striped:!1,enableTopToolbar:!0,enableRowActions:!0,pageSize:50,isLoading:je,isError:!!k,error:k,enableGlobalFilter:!0,getRowId:v,toolbarLeftContent:Ze(),renderRowActions:He,children:Re})}),e.jsx(t.Paper,{withBorder:!0,mt:"md",style:{height:K,display:m==="resources"?"flex":"none",flex:1,minHeight:0,overflow:"auto"},children:e.jsx(s.ArchbaseDataGrid,{gridRef:_,printTitle:"Recursos",width:"100%",height:"100%",withBorder:!1,dataSource:Ce,withColumnBorders:!0,striped:!1,enableTopToolbar:!0,enableRowActions:!1,pageSize:50,isLoading:Te,isError:!!k,error:k,enableGlobalFilter:!0,getRowId:P,children:De})}),e.jsx(t.Paper,{withBorder:!0,mt:"md",style:{height:K,display:m==="accessTokens"?"flex":"none",width:"100%",flex:1,minHeight:0,overflow:"auto"},children:e.jsx(s.ArchbaseDataGrid,{gridRef:c,printTitle:"Tokens de API",width:"100%",height:"100%",withBorder:!1,dataSource:R,withColumnBorders:!0,striped:!0,enableTopToolbar:!0,enableRowActions:!1,pageSize:50,isLoading:G,isError:!!k,error:k,enableGlobalFilter:!0,getRowId:D,toolbarLeftContent:_e(),children:ve})}),Y===j.SecurityType.USER?e.jsx(Ae,{onClickOk:ie,opened:!0,dataSource:L,onClickCancel:ie,options:w}):null,Y===j.SecurityType.GROUP?e.jsx(Se,{onClickOk:ce,opened:!0,dataSource:N,onClickCancel:ce,options:g}):null,Y===j.SecurityType.PROFILE?e.jsx(me,{onClickOk:le,opened:!0,dataSource:H,onClickCancel:le,options:i}):null,B===j.SecurityType.USER?e.jsx(te,{dataSource:L,opened:!!B,close:re}):null,B===j.SecurityType.GROUP?e.jsx(te,{dataSource:N,opened:!!B,close:re}):null,B===j.SecurityType.PROFILE?e.jsx(te,{dataSource:H,opened:!!B,close:re}):null]})}function st({height:a="400px",width:d="100%"}){r.useArchbaseTheme();const y=S.useArchbaseStore("apiTokenStore"),w={validateEntity:()=>[]},{colorScheme:i}=t.useMantineColorScheme(),[g,u]=x.useState(void 0),b=S.useArchbaseRemoteServiceApi(r.ARCHBASE_IOC_API_TYPE.ApiToken),[$,E]=x.useState(""),k=x.useRef(null),h=C=>C.id,{dataSource:m}=S.useArchbaseDataSource({initialData:[],name:"dataSource"}),W=S.useArchbaseV1V2Compatibility("ArchbaseApiTokenView-LocalDataSource",m,void 0,void 0),{dataSource:I,isLoading:J}=S.useArchbaseRemoteDataSource({name:"dsApiToken",service:b,store:y,validator:w,pageSize:25,loadOnStart:!0,onLoadComplete:C=>{},onDestroy:C=>{},onError:(C,U)=>{u(C),s.ArchbaseNotifications.showError(r.getI18nextInstance().t("archbase:WARNING"),C,U)}}),q=S.useArchbaseV1V2Compatibility("ArchbaseApiTokenView-RemoteDataSource",I,void 0,void 0),Z=`calc(${a} - 40px)`,Y=e.jsxs(s.Columns,{children:[e.jsx(s.ArchbaseDataGridColumn,{dataField:"user.avatar",dataType:"image",size:80,header:"Foto",render:C=>e.jsx("img",{style:{borderRadius:50,height:"32px",maxHeight:"32px"},src:C.row.user&&C.row.user.avatar?atob(C.row.user.avatar):ne}),inputFilterType:"text",align:"center"}),e.jsx(s.ArchbaseDataGridColumn,{dataField:"user.userName",dataType:"text",size:300,header:"Nome de Usuário",inputFilterType:"text"}),e.jsx(s.ArchbaseDataGridColumn,{dataField:"user.email",dataType:"text",header:"Email",size:240,inputFilterType:"text"}),e.jsx(s.ArchbaseDataGridColumn,{dataField:"token",dataType:"text",header:"Token API",size:260,inputFilterType:"text",enableClickToCopy:!0}),e.jsx(s.ArchbaseDataGridColumn,{dataField:"tenantId",dataType:"text",header:"Tenant ID",size:260,inputFilterType:"text",enableClickToCopy:!0}),e.jsx(s.ArchbaseDataGridColumn,{dataField:"expirationDate",dataType:"text",size:180,header:"Validade",render:C=>{if(!C.row.expirationDate)return e.jsx(t.Text,{c:"dimmed",children:"Sem expiração"});const U=new Date;U.setHours(0,0,0,0);const p=new Date(C.row.expirationDate);p.setHours(0,0,0,0);const A=p.getTime()-U.getTime(),f=Math.ceil(A/(1e3*60*60*24));let _=Math.max(0,Math.min(100,f/365*100)),c="green",l="";f<0?(c="red",_=100,l=`Vencido há ${Math.abs(f)} dia${Math.abs(f)!==1?"s":""}`):f===0?(c="red",_=5,l="Vence hoje"):f<=7?(c="red",l=`${f} dia${f!==1?"s":""}`):f<=30?(c="orange",l=`${f} dias`):f<=90?(c="yellow",l=`${f} dias`):(c="green",l=`${f} dias`);const V=f<0?`Vencido em ${p.toLocaleDateString()}`:`Expira em ${p.toLocaleDateString()}`;return e.jsx(t.Tooltip,{label:V,withArrow:!0,children:e.jsxs(t.Group,{gap:"xs",wrap:"nowrap",children:[e.jsx(t.RingProgress,{size:36,thickness:4,roundCaps:!0,sections:[{value:f<0?100:_,color:c}]}),e.jsx(t.Text,{size:"sm",c:f<0?"red":void 0,fw:f<=7?600:void 0,children:l})]})})},inputFilterType:"text"}),e.jsx(s.ArchbaseDataGridColumn,{dataField:"activated",dataType:"boolean",header:"Ativado ?",inputFilterType:"checkbox"}),e.jsx(s.ArchbaseDataGridColumn,{dataField:"revoked",dataType:"boolean",header:"Revogado ?",inputFilterType:"checkbox"})]}),z=()=>{m.insert(j.ApiTokenDto.newInstance()),m&&!W.isDataSourceV2&&W.v1State.forceUpdate(),E("apiToken")},B=()=>{I.getCurrentRecord()&&s.ArchbaseDialog.showConfirmDialogYesNo(`${r.getI18nextInstance().t("archbase:Confirme")}`,`${r.getI18nextInstance().t("archbase:Deseja revogar o token de API do usuário ")}${I.getCurrentRecord().user.name} ?`,async()=>{await b.revoke(I.getCurrentRecord().token).then(async()=>{s.ArchbaseNotifications.showSuccess(`${r.getI18nextInstance().t("mentors:Informação")}`,`${r.getI18nextInstance().t("mentors:Token de API revogado com sucesso!")}`),I.refreshData(),I&&!q.isDataSourceV2&&q.v1State.forceUpdate()}).catch(C=>{s.ArchbaseDialog.showErrorWithDetails(`${r.getI18nextInstance().t("mentors:Atenção")}`,r.processErrorMessage(C),r.processDetailErrorMessage(C))})},()=>{})},F=()=>{E("")},O=async(C,U)=>{const p=m.getCurrentRecord();if(p)try{m.validate(),await b.create(p.user.email,p.expirationDate,p.name,p.description).then(async A=>{m.cancel(),m&&!W.isDataSourceV2&&W.v1State.forceUpdate(),I.append(A),I&&!q.isDataSourceV2&&q.v1State.forceUpdate(),s.ArchbaseNotifications.showSuccess(`${r.getI18nextInstance().t("mentors:Informação")}`,`${r.getI18nextInstance().t("mentors:Token de API gerado com sucesso!")}`),U&&U()}).catch(A=>{s.ArchbaseDialog.showErrorWithDetails(`${r.getI18nextInstance().t("mentors:Atenção")}`,r.processErrorMessage(A),r.processDetailErrorMessage(A))})}catch(A){s.ArchbaseDialog.showErrorWithDetails(`${r.getI18nextInstance().t("mentors:Atenção")}`,r.processErrorMessage(A),r.processDetailErrorMessage(A))}},n=()=>e.jsx(t.Flex,{justify:"space-between",style:{width:"50%"},children:e.jsxs(t.Group,{align:"start",gap:"2px",wrap:"nowrap",children:[e.jsx(t.Button,{color:"green",leftSection:e.jsx(T.IconPlus,{}),onClick:z,children:r.getI18nextInstance().t("archbase:New")}),e.jsx(t.Button,{disabled:!I.getCurrentRecord(),color:"red",leftSection:e.jsx(T.IconTrashX,{}),onClick:B,children:r.getI18nextInstance().t("archbase:Revoke")})]})});return e.jsxs(t.Paper,{p:"md",style:{height:a,display:"flex",flexDirection:"column"},children:[e.jsx(t.Paper,{withBorder:!0,style:{height:Z,display:"flex",width:"100%",flex:1,minHeight:0,overflow:"auto"},children:e.jsx(s.ArchbaseDataGrid,{gridRef:k,printTitle:"Tokens de API",width:"100%",height:"100%",withBorder:!1,dataSource:I,withColumnBorders:!0,striped:!0,enableTopToolbar:!0,enableRowActions:!1,pageSize:50,isLoading:J,isError:!!g,error:g,enableGlobalFilter:!0,getRowId:h,toolbarLeftContent:n(),children:Y})}),$==="apiToken"?e.jsx(ye,{onClickOk:F,opened:!0,dataSource:m,onCustomSave:O,onClickCancel:F}):null]})}exports.ApiTokenModal=ye;exports.ArchbaseApiTokenView=st;exports.ArchbaseDualListSelector=ge;exports.ArchbaseSecurityView=ot;exports.GroupModal=Se;exports.PermissionsSelectorModal=te;exports.ProfileModal=me;exports.RenderProfileUserItem=fe;exports.UserModal=Ae;
9
+ */var pe;function Qe(){if(pe)return ee;pe=1;var a=Symbol.for("react.transitional.element"),u=Symbol.for("react.fragment");function I(k,i,g){var p=null;if(g!==void 0&&(p=""+g),i.key!==void 0&&(p=""+i.key),"key"in i){g={};for(var R in i)R!=="key"&&(g[R]=i[R])}else g=i;return i=g.ref,{$$typeof:a,type:k,key:p,ref:i!==void 0?i:null,props:g}}return ee.Fragment=u,ee.jsx=I,ee.jsxs=I,ee}var xe;function Ke(){return xe||(xe=1,se.exports=Qe()),se.exports}var e=Ke();const me=a=>{Q.useFocusTrap();const u={...a.options??{}},I=()=>{a.onCustomSave?a.onCustomSave(a.dataSource.current,i=>{i&&a.onAfterSave&&a.onAfterSave(a.dataSource.current),a.onClickOk(a.dataSource.current,i)}):a.onClickOk(a.dataSource.current,!0)},k=()=>{a.onClickCancel(a.dataSource.current)};return e.jsx(t.Modal,{opened:a.opened,onClose:k,title:r.getI18nextInstance().t("archbase:Perfil"),size:"60%",styles:{content:{maxWidth:1e3}},children:e.jsx(t.ScrollArea,{style:{height:"460px"},children:e.jsxs(t.Stack,{w:"98%",children:[u?.customContentBefore&&e.jsx(e.Fragment,{children:u.customContentBefore}),e.jsxs(t.Grid,{children:[e.jsx(t.Grid.Col,{span:{base:12,md:12,lg:12},children:e.jsx(s.ArchbaseEdit,{label:`${r.getI18nextInstance().t("archbase:Nome do perfil")}`,placeholder:`${r.getI18nextInstance().t("archbase:Informe o nome do perfil")}`,dataSource:a.dataSource,dataField:"name"})}),e.jsx(t.Grid.Col,{span:{base:12,md:12,lg:12},children:e.jsx(s.ArchbaseEdit,{label:`${r.getI18nextInstance().t("archbase:Descrição do perfil")}`,placeholder:`${r.getI18nextInstance().t("archbase:Informe a descrição do perfil")}`,dataSource:a.dataSource,dataField:"description"})})]}),u?.customContentAfter&&e.jsx(e.Fragment,{children:u.customContentAfter}),e.jsxs(t.Group,{justify:"flex-end",mt:"md",children:[e.jsx(t.Button,{variant:"default",onClick:k,children:r.getI18nextInstance().t("archbase:Cancelar")}),e.jsx(t.Button,{onClick:I,children:r.getI18nextInstance().t("archbase:Salvar")})]})]})})})};function ge({availableItemsDS:a,assignedItemsDS:u,idFieldAvailable:I,labelFieldAvailable:k,idFieldAssigned:i,labelFieldAssigned:g,handleCreateAssociationObject:p,width:R="400px",height:z="200px",titleAvailable:x="Disponíveis",titleAssigned:j="Selecionados"}){y.useArchbaseV1V2Compatibility("ArchbaseDualListSelector-Available",a,void 0,[]);const d=y.useArchbaseV1V2Compatibility("ArchbaseDualListSelector-Assigned",u,void 0,[]),[m,B]=b.useState([]),[A,J]=b.useState([]),[W,Z]=b.useState([]),[Y,V]=b.useState([]),U=b.useCallback(()=>{a&&B(a.browseRecords()),u&&J(u.browseRecords())},[a,u]);y.useArchbaseDataSourceListener({dataSource:a,listener:()=>U()}),y.useArchbaseDataSourceListener({dataSource:u,listener:()=>U()}),b.useEffect(()=>{U()},[U]);const F=(h,S)=>typeof S=="function"?S(h):h[S],q=(h,S)=>typeof S=="function"?S(h):h[S],n=(h,S)=>{h(f=>f.includes(S)?f.filter(X=>X!==S):[...f,S])},T=()=>{W.forEach(h=>{const S=m.find(f=>F(f,I)===h);if(S){const f=p(S);d.isDataSourceV2?(u.insert(f),u.save()):(u.insert(f),u.save(),d.v1State.forceUpdate())}}),Z([])},N=()=>{Y.forEach(h=>{const S=A.find(f=>F(f,i)===h);if(S){const f=typeof i=="function"?{customId:i(S)}:{[i]:h};d.isDataSourceV2?u.remove(()=>u.locate(f)):(u.remove(()=>u.locate(f)),d.v1State.forceUpdate())}}),V([])};return e.jsxs(t.Paper,{withBorder:!0,style:{display:"flex",width:R,height:z},children:[e.jsxs(t.Box,{style:{minWidth:"44%",minHeight:z},children:[e.jsx(t.Text,{children:x}),e.jsx(t.List,{spacing:"xs",size:"sm",center:!0,listStyleType:"none",style:{margin:"6px",overflowY:"auto",overflowX:"hidden",height:"calc(100% - 32px)"},children:m.map(h=>e.jsx(t.List.Item,{children:e.jsx(t.Checkbox,{label:q(h,k),checked:W.includes(F(h,I)),onChange:()=>n(Z,F(h,I)),disabled:A.some(S=>F(S,i)===F(h,I))})},F(h,I)))})]}),e.jsxs(t.Stack,{gap:5,style:{minWidth:"10%"},justify:"center",align:"center",children:[e.jsx(t.Tooltip,{label:"Adicionar",children:e.jsx(t.ActionIcon,{onClick:T,disabled:!W.length,children:e.jsx(v.IconArrowRight,{})})}),e.jsx(t.Tooltip,{label:"Remover",children:e.jsx(t.ActionIcon,{onClick:N,disabled:!Y.length,children:e.jsx(v.IconArrowLeft,{})})})]}),e.jsxs(t.Box,{style:{minWidth:"44%",minHeight:z},children:[e.jsx(t.Text,{children:j}),e.jsx(t.List,{spacing:"xs",size:"sm",center:!0,listStyleType:"none",style:{margin:"6px",overflowY:"auto",overflowX:"hidden",height:"calc(100% - 32px)"},children:A.map(h=>e.jsx(t.List.Item,{children:e.jsx(t.Checkbox,{label:q(h,g),checked:Y.includes(F(h,i)),onChange:()=>n(V,F(h,i))})},F(h,i)))})]})]})}const fe=b.forwardRef(({image:a,label:u,description:I,origin:k,...i},g)=>e.jsx("div",{ref:g,...i,children:e.jsxs(t.Flex,{children:[e.jsx(t.Text,{size:"sm",fw:600,children:k?k.name:""}),e.jsx(t.Space,{w:"lg"})]})})),et={showNickname:!0,showProfile:!0,showGroups:!0,showChangePasswordOnNextLogin:!0,showAllowPasswordChange:!0,showPasswordNeverExpires:!0,showAccountConfigLabel:!0,showAccountDeactivated:!0,showAccountLocked:!0,showIsAdministrator:!0,requiredNickname:!0,avatarMaxSizeKB:2e3,avatarImageQuality:1,allowEditEmail:!0},Ae=a=>{const u=Q.useFocusTrap(),[I,k]=b.useState(""),i={...et,...a.options??{}},g=y.useArchbaseRemoteServiceApi(r.ARCHBASE_IOC_API_TYPE.Group),{dataSource:p}=y.useArchbaseRemoteDataSource({name:"dsGroups",service:g,pageSize:9999,loadOnStart:!0,sort:["name:asc"],onError:(d,m)=>{s.ArchbaseNotifications.showError(r.getI18nextInstance().t("archbase:WARNING"),d,m)}}),R=y.useArchbaseRemoteServiceApi(r.ARCHBASE_IOC_API_TYPE.Profile),{dataSource:z}=y.useArchbaseRemoteDataSource({name:"dsProfiles",service:R,pageSize:9999,loadOnStart:!0,sort:["name:asc"],onError:(d,m)=>{s.ArchbaseNotifications.showError(r.getI18nextInstance().t("archbase:WARNING"),d,m)}});b.useEffect(()=>{k("")},[a.dataSource.getFieldValue("password")]);const x=()=>{const d=a.dataSource.current;if(!d.password&&a.dataSource.isInserting()){k(r.getI18nextInstance().t("archbase:Informe a senha"));return}a.onCustomSave?a.onCustomSave(d,m=>{m&&a.onAfterSave&&a.onAfterSave(d),a.onClickOk(d,m)}):a.onClickOk(d,!0)},j=()=>{a.onClickCancel(a.dataSource.current)};return e.jsxs(t.Modal,{opened:a.opened,onClose:j,title:r.getI18nextInstance().t("archbase:Usuário"),size:"80%",styles:{content:{maxWidth:1e3}},children:[e.jsx(t.ScrollArea,{ref:u,style:{height:"500px"},children:e.jsxs(t.Stack,{w:"98%",children:[i?.customContentBefore&&e.jsx(e.Fragment,{children:i.customContentBefore}),e.jsxs(t.Grid,{children:[e.jsx(t.Grid.Col,{span:{base:12,md:6,lg:6},children:e.jsxs(t.Group,{children:[e.jsx(s.ArchbaseEdit,{label:`${r.getI18nextInstance().t("archbase:Nome completo")}`,placeholder:`${r.getI18nextInstance().t("archbase:Informe o nome completo do usuário")}`,dataSource:a.dataSource,dataField:"name",required:!0,width:"calc(100% - 208px)"}),i.showNickname&&e.jsx(s.ArchbaseEdit,{label:`${r.getI18nextInstance().t("archbase:Apelido")}`,placeholder:`${r.getI18nextInstance().t("archbase:Apelido")}`,dataSource:a.dataSource,dataField:"nickname",required:i.requiredNickname})]})}),e.jsx(t.Grid.Col,{span:{base:12,md:6,lg:6},children:e.jsx(s.ArchbaseEdit,{label:`${r.getI18nextInstance().t("archbase:Descrição do usuário")}`,placeholder:`${r.getI18nextInstance().t("archbase:Informe a descrição do usuário")}`,dataSource:a.dataSource,dataField:"description",required:!0})})]}),e.jsxs(t.Grid,{children:[e.jsx(t.Grid.Col,{span:{base:12,md:6,lg:6},children:e.jsx(s.ArchbaseEdit,{label:`${r.getI18nextInstance().t("archbase:E-mail")}`,placeholder:`${r.getI18nextInstance().t("archbase:Informe o e-mail do usuário")}`,dataSource:a.dataSource,onChangeValue:d=>a.dataSource.setFieldValue("userName",d),dataField:"email",readOnly:a.dataSource.isEditing()?!i.allowEditEmail:!1,required:!0})}),e.jsx(t.Grid.Col,{span:{base:12,md:6,lg:6},children:e.jsx(s.ArchbasePasswordEdit,{label:`${r.getI18nextInstance().t("archbase:Senha usuário")}`,dataSource:a.dataSource,dataField:"password",error:I,required:a.dataSource.getFieldValue("isNewUser")})})]}),e.jsx(t.Grid,{children:i.showProfile&&e.jsx(t.Grid.Col,{span:{base:12,md:6,lg:6},children:e.jsx(s.ArchbaseSelect,{label:`${r.getI18nextInstance().t("archbase:Perfil do usuário")}`,dataSource:a.dataSource,dataField:"profile",options:z,allowDeselect:!0,optionsLabelField:"nome",itemComponent:fe,getOptionLabel:d=>d.name,getOptionValue:d=>d.id})})}),e.jsxs(t.Grid,{children:[e.jsx(t.Grid.Col,{span:{base:12},children:i.showAccountConfigLabel&&e.jsx(t.Text,{fz:14,fw:500,children:"Informe"})}),e.jsx(t.Grid.Col,{span:{base:12,md:4,lg:4},children:e.jsxs(t.Stack,{gap:"lg",children:[i.showChangePasswordOnNextLogin&&e.jsx(t.Input.Wrapper,{label:"",children:e.jsx(s.ArchbaseCheckbox,{dataSource:a.dataSource,dataField:"changePasswordOnNextLogin",label:`${r.getI18nextInstance().t("archbase:Deve alterar senha próximo login ?")}`})}),i.showAllowPasswordChange&&e.jsx(t.Input.Wrapper,{label:"",children:e.jsx(s.ArchbaseCheckbox,{dataSource:a.dataSource,dataField:"allowPasswordChange",label:`${r.getI18nextInstance().t("archbase:Pode alterar a senha ?")}`})}),i.showPasswordNeverExpires&&e.jsx(t.Input.Wrapper,{label:"",children:e.jsx(s.ArchbaseCheckbox,{dataSource:a.dataSource,dataField:"passwordNeverExpires",label:`${r.getI18nextInstance().t("archbase:Senha nunca expira ?")}`})})]})}),e.jsx(t.Grid.Col,{span:{base:12,md:4,lg:4},children:e.jsxs(t.Stack,{gap:"lg",children:[i.showAccountDeactivated&&e.jsx(t.Input.Wrapper,{label:"",children:e.jsx(s.ArchbaseCheckbox,{dataSource:a.dataSource,dataField:"accountDeactivated",label:`${r.getI18nextInstance().t("archbase:Conta desativada ?")}`})}),i.showAccountLocked&&e.jsx(t.Input.Wrapper,{label:"",children:e.jsx(s.ArchbaseCheckbox,{dataSource:a.dataSource,dataField:"accountLocked",label:`${r.getI18nextInstance().t("archbase:Conta bloqueada ?")}`})}),i.showIsAdministrator&&e.jsx(t.Input.Wrapper,{label:"",children:e.jsx(s.ArchbaseCheckbox,{dataSource:a.dataSource,dataField:"isAdministrator",label:`${r.getI18nextInstance().t("archbase:Administrador ?")}`})})]})}),e.jsx(t.Grid.Col,{span:{base:12,md:4,lg:4},children:e.jsx(t.Stack,{gap:"lg",children:e.jsx(s.ArchbaseAvatarEdit,{label:r.getI18nextInstance().t("archbase:Foto do usuário"),dataSource:a.dataSource,dataField:"avatar",width:120,height:120,maxSizeKB:i.avatarMaxSizeKB,imageQuality:i.avatarImageQuality})})})]}),i.showGroups&&e.jsxs(t.Grid,{children:[e.jsx(t.Grid.Col,{span:{base:12},children:e.jsx(t.Text,{fz:14,fw:500,children:"Grupos"})}),e.jsx(t.Grid.Col,{span:{base:12},children:e.jsx(ge,{titleAvailable:r.getI18nextInstance().t("archbase:Disponíveis"),titleAssigned:r.getI18nextInstance().t("archbase:Selecionados"),assignedItemsDS:new y.ArchbaseDataSource("dsDualList",{records:a.dataSource.getFieldValue("groups"),grandTotalRecords:a.dataSource.getFieldValue("groups").length,currentPage:0,totalPages:0,pageSize:999999}),width:"100%",height:"200px",availableItemsDS:p,handleCreateAssociationObject:d=>C.UserGroupDto.newInstance(d),idFieldAssigned:d=>d&&d.group?d.group.id:"",idFieldAvailable:"id",labelFieldAssigned:d=>d&&d.group?d.group.name:"",labelFieldAvailable:"name"})})]}),i?.customContentAfter&&e.jsx(e.Fragment,{children:i.customContentAfter}),e.jsx(t.Space,{h:"12px"})]})}),e.jsxs(t.Group,{justify:"flex-end",mt:"md",children:[e.jsx(t.Button,{variant:"default",onClick:j,children:r.getI18nextInstance().t("archbase:Cancelar")}),e.jsx(t.Button,{onClick:x,children:r.getI18nextInstance().t("archbase:Salvar")})]})]})},Se=a=>{Q.useFocusTrap();const u={...a.options??{}},I=()=>{a.onCustomSave?a.onCustomSave(a.dataSource.current,i=>{i&&a.onAfterSave&&a.onAfterSave(a.dataSource.current),a.onClickOk(a.dataSource.current,i)}):a.onClickOk(a.dataSource.current,!0)},k=()=>{a.onClickCancel(a.dataSource.current)};return e.jsx(t.Modal,{opened:a.opened,onClose:k,title:r.getI18nextInstance().t("archbase:Grupo"),size:"60%",styles:{content:{maxWidth:1e3}},children:e.jsx(t.ScrollArea,{style:{height:"460px"},children:e.jsxs(t.Stack,{w:"98%",children:[u?.customContentBefore&&e.jsx(e.Fragment,{children:a.options.customContentBefore}),e.jsxs(t.Grid,{children:[e.jsx(t.Grid.Col,{span:{base:12},children:e.jsx(s.ArchbaseEdit,{label:`${r.getI18nextInstance().t("archbase:Nome do grupo")}`,placeholder:`${r.getI18nextInstance().t("archbase:Informe o nome do grupo")}`,dataSource:a.dataSource,dataField:"name"})}),e.jsx(t.Grid.Col,{span:{base:12},children:e.jsx(s.ArchbaseEdit,{label:`${r.getI18nextInstance().t("archbase:Descrição do grupo")}`,placeholder:`${r.getI18nextInstance().t("archbase:Informe a descrição do grupo")}`,dataSource:a.dataSource,dataField:"description"})})]}),u?.customContentAfter&&e.jsx(e.Fragment,{children:a.options.customContentAfter}),e.jsxs(t.Group,{justify:"flex-end",mt:"md",children:[e.jsx(t.Button,{variant:"default",onClick:k,children:r.getI18nextInstance().t("archbase:Cancelar")}),e.jsx(t.Button,{onClick:I,children:r.getI18nextInstance().t("archbase:Salvar")})]})]})})})},tt=({image:a,label:u,description:I,...k})=>e.jsx("div",{...k,children:e.jsxs(t.Group,{grow:!0,children:[e.jsx("img",{style:{maxWidth:"32px"},src:a}),e.jsxs("div",{children:[e.jsx(t.Text,{size:"sm",children:u}),e.jsx(t.Text,{size:"xs",opacity:.65,children:I})]})]})}),ye=a=>{Q.useFocusTrap();const[u,I]=b.useState(),k=y.useArchbaseRemoteServiceApi(r.ARCHBASE_IOC_API_TYPE.User),i=y.useArchbaseV1V2Compatibility("ApiTokenModal",a.dataSource,"expirationDate",""),g=x=>{if(!x)i.handleValueChange(void 0);else{const j=typeof x=="string"?new Date(x):x,d=r.convertDateToISOString(j);i.handleValueChange(d)}I(x)},p=async(x,j)=>new Promise(async(d,m)=>{try{const B=r.emit(r.builder.or(r.builder.eq("name",`^*${j.trim()}*`))),A=await k.findAllWithFilter(B,x,20);d({options:A.content,page:A.pageable.pageNumber,totalPages:A.totalPages})}catch(B){m(r.processErrorMessage(B))}}),R=()=>{a.onCustomSave?a.onCustomSave(a.dataSource.current,x=>{x&&a.onAfterSave&&a.onAfterSave(a.dataSource.current),a.onClickOk(a.dataSource.current,x)}):a.onClickOk(a.dataSource.current,!0)},z=()=>{a.onClickCancel(a.dataSource.current)};return e.jsxs(t.Modal,{opened:a.opened,onClose:z,title:r.getI18nextInstance().t("archbase:Token de API"),size:"50%",children:[e.jsxs(t.ScrollArea,{style:{height:"300px"},children:[e.jsx(s.ArchbaseEdit,{label:`${r.getI18nextInstance().t("archbase:Nome do token")}`,placeholder:`${r.getI18nextInstance().t("archbase:Informe o nome do token")}`,dataSource:a.dataSource,dataField:"name"}),e.jsx(s.ArchbaseEdit,{label:`${r.getI18nextInstance().t("archbase:Descrição do token")}`,placeholder:`${r.getI18nextInstance().t("archbase:Informe a descrição do token")}`,dataSource:a.dataSource,dataField:"description"}),e.jsx(Xe.DateTimePicker,{withSeconds:!0,value:u,onChange:g,label:"Data/hora expiração",placeholder:"Selecione a data de expiração"}),e.jsx(s.ArchbaseAsyncSelect,{label:`${r.getI18nextInstance().t("archbase:Usuário")}`,dataSource:a.dataSource,dataField:"user",placeholder:`${r.getI18nextInstance().t("archbase:Digite aqui o nome do usuário")}`,getOptionLabel:x=>x&&x.email?x.email:"",getOptionValue:x=>x&&x.id?x.id.toString():"",getOptions:p,debounceTime:500,minCharsToSearch:1,itemComponent:tt})]}),e.jsxs(t.Group,{justify:"flex-end",mt:"md",children:[e.jsx(t.Button,{variant:"default",onClick:z,children:r.getI18nextInstance().t("archbase:Cancelar")}),e.jsx(t.Button,{onClick:R,children:r.getI18nextInstance().t("archbase:Salvar")})]})]})},be=a=>{const u="->";return a.includes(u)?a.split(u).map(i=>i.trim()).map(i=>r.getI18nextInstance().t(i)).join(` ${u} `):r.getI18nextInstance().t(a)};function te({dataSource:a,opened:u,close:I}){const k=b.useMemo(()=>a?.getFieldValue("name")||"",[a]),i=b.useMemo(()=>a?.getFieldValue("id")||"",[a]),g=b.useMemo(()=>a?.getFieldValue("type")||"",[a]),p=t.useTree(),R=t.useTree(),[z,x]=b.useState([]),[j,d]=b.useState([]),[m,B]=b.useState(),[A,J]=b.useState(),[W,Z]=b.useState(""),[Y]=Q.useDebouncedValue(W,200),[V,U]=b.useState(""),[F]=Q.useDebouncedValue(V,200),q=y.useArchbaseRemoteServiceApi(r.ARCHBASE_IOC_API_TYPE.Resource),{colorScheme:n}=t.useMantineColorScheme(),T=n==="dark"?"var(--mantine-primary-color-7)":"var(--mantine-primary-color-4)",N=b.useMemo(()=>j.sort((c,l)=>c.resourceDescription.localeCompare(l.resourceDescription)).map(c=>({value:c.resourceId,label:c.resourceDescription,children:c.permissions.filter(l=>l.actionDescription.toLowerCase().includes(F.toLowerCase())).sort((l,$)=>l.actionDescription.localeCompare($.actionDescription)).map(l=>({value:l.actionId,label:l.actionDescription,nodeProps:{permissionId:l.permissionId,types:l.types??[],owner:c}}))})),[j,F]),h=b.useMemo(()=>j.map(c=>c.permissions.map(l=>l.actionId)).flat(),[j]),S=b.useMemo(()=>z.sort((c,l)=>c.resourceDescription.localeCompare(l.resourceDescription)).map(c=>({value:c.resourceId,label:c.resourceDescription,children:c.permissions.filter(l=>l.actionDescription.toLowerCase().includes(Y.toLowerCase())).sort((l,$)=>l.actionDescription.localeCompare($.actionDescription)).map(l=>{const $=j.find(w=>w.resourceId===c.resourceId)?.permissions.find(w=>w.actionId===l.actionId);return{value:l.actionId,label:l.actionDescription,nodeProps:{granted:h.includes(l.actionId)&&$?.types?.includes(r.getKeyByEnumValue(C.SecurityType,g)),owner:c}}})})),[z,j,h,g,Y]),f=b.useCallback(async()=>{if(i){const c=await q.getPermissionsBySecurityId(i,g),l=await q.getAllPermissionsAvailable();x(l),d(c)}},[i,g]),X=b.useCallback(()=>{m?.value&&i&&q.createPermission(i,m.value,g).then(c=>{if(c){d(P=>{let G;return P.map(D=>D.resourceId).includes(c.resourceId)?G=P.map(D=>D.resourceId===c.resourceId?D.permissions.map(E=>E.actionId).includes(m.value)?{...D,permissions:D.permissions.map(E=>E.actionId===m.value?{...E,permissionId:c.permissionId,types:[...E.types??[],r.getKeyByEnumValue(C.SecurityType,g)]}:E)}:{...D,permissions:[...D.permissions??[],{actionId:c.actionId,actionDescription:c.actionDescription,permissionId:c.permissionId,types:[r.getKeyByEnumValue(C.SecurityType,g)]}]}:D):G=[...P,{resourceId:c.resourceId,resourceDescription:c.resourceDescription,permissions:[{actionId:c.actionId,actionDescription:c.actionDescription,permissionId:c.permissionId,types:[r.getKeyByEnumValue(C.SecurityType,g)]}]}],G});const l=S.filter(P=>P.value===m?.nodeProps?.owner?.resourceId).map(P=>P.children).flat(),$=l.map(P=>P.value).indexOf(m.value),w=l.find((P,G)=>!P?.nodeProps?.granted&&P?.value!==m.value&&(l.length>$+1?G>$:!0));w?.value&&p.select(w.value),R.expand(c.resourceId),B(w)}})},[m,i,g,q,S,z,j,p,R]),_=b.useCallback(()=>{A?.nodeProps?.permissionId&&q.deletePermission(A.nodeProps.permissionId).then(()=>{d(w=>[...w].filter(G=>{let D=!0;return G.permissions?.forEach(E=>{E.permissionId!==void 0&&E.permissionId===A?.nodeProps?.permissionId&&G.permissions.length===1&&E?.types?.length===1&&E.types[0]===r.getKeyByEnumValue(C.SecurityType,g)&&(D=!1)}),D}).map(G=>{const D=A?.nodeProps?.owner;return G.resourceId===D.resourceId?A?.nodeProps?.types?.length===1?{...G,permissions:[...(G.permissions??[]).filter(E=>E.permissionId!==A?.nodeProps?.permissionId)]}:{...G,permissions:(G.permissions??[]).map(E=>E.actionId===A.value?{actionId:E.actionId,actionDescription:E.actionDescription,types:[...E.types?.filter(M=>M&&M!==r.getKeyByEnumValue(C.SecurityType,g))??[]]}:E)}:G}));const c=N.filter(w=>w.value===A?.nodeProps?.owner?.resourceId).map(w=>w.children).flat(),l=c.map(w=>w.value).indexOf(A.value),$=c.find((w,P)=>w?.nodeProps?.types.includes(r.getKeyByEnumValue(C.SecurityType,g))&&w?.value!==A.value&&(c.length>l+1?P>l:!0));$?.value&&R.select($.value),J($)})},[A,q,g,N,j,R]);return b.useEffect(()=>{u&&a&&(B(void 0),J(void 0),Z(""),U(""),R.collapseAllNodes(),p.collapseAllNodes(),f())},[u,g,i,f]),a?e.jsx(t.Modal,{opened:u,onClose:I,title:`${r.getI18nextInstance().t(`archbase:${g}`)}: ${k}`,size:"80%",styles:{root:{overflow:"hidden"}},children:e.jsxs(oe.ArchbaseSpaceFixed,{height:"540px",children:[e.jsx(oe.ArchbaseSpaceFill,{children:e.jsx(t.ScrollArea,{h:"500px",children:e.jsx(t.Paper,{withBorder:!0,my:20,p:20,children:e.jsxs(t.Grid,{columns:20,children:[e.jsxs(t.Grid.Col,{span:9,children:[e.jsxs(t.Group,{mb:20,children:[e.jsx(t.Text,{children:r.getI18nextInstance().t("archbase:Available")}),e.jsx(t.TextInput,{size:"xs",value:W,onChange:c=>Z(c.target.value),placeholder:r.getI18nextInstance().t("archbase:Filter available permissions")})]}),e.jsx(t.Tree,{data:S,selectOnClick:!0,allowRangeSelection:!1,tree:p,renderNode:({level:c,node:l,expanded:$,hasChildren:w,selected:P,elementProps:G})=>{const D=l?.nodeProps?.granted,E=D?"dimmed":void 0,M=D?"line-through":void 0,ae=b.useCallback(O=>{B(l),G.onClick(O)},[l,G.onClick]);return e.jsxs(t.Group,{ml:w?0:5,gap:5,...G,bg:P&&c===2?T:"",onClick:ae,children:[w&&e.jsx(v.IconChevronDown,{size:18,style:{transform:$?"rotate(0deg)":"rotate(-90deg)"}}),!w&&e.jsx(v.IconBorderCornerSquare,{size:12,style:{transform:"rotate(-90deg)",marginTop:"-5px"}}),e.jsx(t.Text,{c:E,td:M,children:be(l.label)})]})}})]}),e.jsx(t.Grid.Col,{span:2,children:e.jsxs(t.Stack,{gap:5,style:{minWidth:"10%"},justify:"center",align:"center",h:"100%",children:[e.jsx(t.Tooltip,{label:r.getI18nextInstance().t("archbase:Add"),children:e.jsx(t.ActionIcon,{onClick:X,disabled:!m||m?.nodeProps?.granted||!m.nodeProps,children:e.jsx(v.IconArrowRight,{})})}),e.jsx(t.Tooltip,{label:r.getI18nextInstance().t("archbase:Remove"),children:e.jsx(t.ActionIcon,{onClick:_,disabled:!A||!A?.nodeProps?.permissionId||!A.nodeProps,children:e.jsx(v.IconArrowLeft,{})})})]})}),e.jsxs(t.Grid.Col,{span:9,children:[e.jsxs(t.Group,{mb:20,children:[e.jsx(t.Text,{children:r.getI18nextInstance().t("archbase:Granted")}),e.jsx(t.TextInput,{size:"xs",value:V,onChange:c=>U(c.target.value),placeholder:r.getI18nextInstance().t("archbase:Filter granted permissions")})]}),e.jsx(t.Tree,{data:N,selectOnClick:!0,allowRangeSelection:!1,tree:R,renderNode:({level:c,node:l,expanded:$,hasChildren:w,selected:P,elementProps:G})=>{const D=b.useCallback(E=>{J(l),G.onClick(E)},[l,G.onClick]);return e.jsxs(t.Group,{ml:w?0:5,gap:5,...G,bg:P&&c===2?T:"",onClick:D,children:[w&&e.jsx(v.IconChevronDown,{size:18,style:{transform:$?"rotate(0deg)":"rotate(-90deg)"}}),!w&&e.jsx(v.IconBorderCornerSquare,{size:12,style:{transform:"rotate(-90deg)",marginTop:"-5px"}}),e.jsx(t.Text,{children:be(l.label)}),l?.nodeProps?.types?.includes("USER")&&e.jsx(t.Badge,{color:"blue",children:r.getI18nextInstance().t("archbase:user")}),l?.nodeProps?.types?.includes("GROUP")&&e.jsx(t.Badge,{color:"orange",children:r.getI18nextInstance().t("archbase:group")}),l?.nodeProps?.types?.includes("PROFILE")&&e.jsx(t.Badge,{color:"pink",children:r.getI18nextInstance().t("archbase:profile")})]})}})]})]})})})}),e.jsx(oe.ArchbaseSpaceBottom,{size:"40px",children:e.jsx(t.Group,{justify:"flex-end",children:e.jsx(t.Button,{onClick:I,children:r.getI18nextInstance().t("archbase:Close")})})})]})}):null}const ne="data:image/png;base64,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",at=a=>a.groups?e.jsx("div",{style:{display:"flex"},children:a.groups?a.groups.map((u,I)=>e.jsx("div",{style:{paddingRight:"2px"},children:e.jsx(t.Badge,{color:"blue",children:u.group?.name})},I)):null}):null,rt=a=>a.profile?e.jsx(t.Badge,{color:"green",children:a.profile?.name}):null;function ot({height:a="400px",width:u="100%",createEntitiesWithId:I=!0,userModalOptions:k,profileModalOptions:i,groupModalOptions:g}){const p=r.useArchbaseTheme(),R=y.useArchbaseStore("securityStore"),z=r.useArchbaseValidator(),{colorScheme:x}=t.useMantineColorScheme(),[j,d]=b.useState(void 0),[m,B]=b.useState("users"),A=y.useArchbaseRemoteServiceApi(r.ARCHBASE_IOC_API_TYPE.User),J=y.useArchbaseRemoteServiceApi(r.ARCHBASE_IOC_API_TYPE.Group),W=y.useArchbaseRemoteServiceApi(r.ARCHBASE_IOC_API_TYPE.Resource),Z=y.useArchbaseRemoteServiceApi(r.ARCHBASE_IOC_API_TYPE.Profile),[Y,V]=b.useState(""),[U,F]=b.useState(""),q=y.useArchbaseRemoteServiceApi(r.ARCHBASE_IOC_API_TYPE.AccessToken),{t:n}=r.useArchbaseTranslation(),T=y.useArchbaseV1V2Compatibility("ArchbaseSecurityView-Users",void 0,void 0,void 0),N=y.useArchbaseV1V2Compatibility("ArchbaseSecurityView-Groups",void 0,void 0,void 0),h=y.useArchbaseV1V2Compatibility("ArchbaseSecurityView-Profiles",void 0,void 0,void 0),S=b.useRef(null),f=b.useRef(null),X=b.useRef(null),_=b.useRef(null),c=b.useRef(null),l=o=>o.id,$=o=>o.id,w=o=>o.id,P=o=>o.id,G=o=>o.id,{dataSource:D,isLoading:E}=y.useArchbaseRemoteDataSource({name:"accessTokenApi",service:q,store:R,validator:z,pageSize:25,loadOnStart:!0,filter:r.emit(r.builder.or(r.builder.eq("revoked","false"))),sort:["user.email","expirationTime:desc"],onLoadComplete:o=>{},onDestroy:o=>{},onError:(o,L)=>{d(o),s.ArchbaseNotifications.showError(`${n("archbase:WARNING")}`,o,L)}}),{dataSource:M,isLoading:ae}=y.useArchbaseRemoteDataSource({name:"dsUsers",service:A,store:R,validator:z,pageSize:25,loadOnStart:!0,onLoadComplete:o=>{},onDestroy:o=>{},onError:(o,L)=>{d(o),s.ArchbaseNotifications.showError(`${n("archbase:WARNING")}`,o,L)}}),{dataSource:O,isLoading:Ie}=y.useArchbaseRemoteDataSource({name:"dsGroups",service:J,store:R,validator:z,pageSize:25,loadOnStart:!0,onLoadComplete:o=>{},onDestroy:o=>{},onError:(o,L)=>{d(o),s.ArchbaseNotifications.showError(`${n("archbase:WARNING")}`,o,L)}}),{dataSource:H,isLoading:je}=y.useArchbaseRemoteDataSource({name:"dsProfile",service:Z,store:R,validator:z,pageSize:25,loadOnStart:!0,onLoadComplete:o=>{},onDestroy:o=>{},onError:(o,L)=>{d(o),s.ArchbaseNotifications.showError(`${n("archbase:WARNING")}`,o,L)}}),{dataSource:Ce,isLoading:Te}=y.useArchbaseRemoteDataSource({name:"dsResources",service:W,store:R,validator:z,pageSize:25,loadOnStart:!0,onLoadComplete:o=>{},onDestroy:o=>{},onError:(o,L)=>{d(o),s.ArchbaseNotifications.showError(`${n("archbase:WARNING")}`,o,L)}}),K=`calc(${a} - 40px)`,ve=e.jsxs(s.Columns,{children:[e.jsx(s.ArchbaseDataGridColumn,{dataField:"user.avatar",dataType:"image",size:80,header:`${n("archbase:Foto")}`,render:o=>e.jsx("img",{style:{borderRadius:50,height:"32px",maxHeight:"32px"},src:o.row.user&&o.row.user.avatar?atob(o.row.user.avatar):ne}),inputFilterType:"text",align:"center"}),e.jsx(s.ArchbaseDataGridColumn,{dataField:"user.userName",dataType:"text",size:300,header:`${n("archbase:Nome de Usuário")}`,inputFilterType:"text"}),e.jsx(s.ArchbaseDataGridColumn,{dataField:"user.email",dataType:"text",header:`${n("archbase:Email")}`,size:300,inputFilterType:"text"}),e.jsx(s.ArchbaseDataGridColumn,{dataField:"expirationDate",dataType:"text",size:300,header:`${n("archbase:Expira em")}`,render:o=>e.jsx(t.Text,{size:"sm",children:o.row.expirationDate}),inputFilterType:"text"}),e.jsx(s.ArchbaseDataGridColumn,{dataField:"revoked",dataType:"boolean",header:`${n("archbase:Revogado ?")}`,inputFilterType:"checkbox"}),e.jsx(s.ArchbaseDataGridColumn,{dataField:"expired",dataType:"boolean",header:`${n("archbase:Expirado ?")}`,inputFilterType:"checkbox"}),e.jsx(s.ArchbaseDataGridColumn,{dataField:"token",dataType:"text",header:`${n("archbase:Token Acesso")}`,size:300,inputFilterType:"text"})]}),we=e.jsxs(s.Columns,{children:[e.jsx(s.ArchbaseDataGridColumn,{dataField:"avatar",dataType:"image",size:80,header:`${n("archbase:Foto")}`,render:o=>e.jsx("img",{style:{borderRadius:50,height:"32px",maxHeight:"32px"},src:o.row.avatar?atob(o.row.avatar):ne}),enableSorting:!1,enableColumnFilter:!1,enableGlobalFilter:!1,align:"center"}),e.jsx(s.ArchbaseDataGridColumn,{dataField:"name",dataType:"text",size:300,header:`${n("archbase:Nome")}`,inputFilterType:"text"}),e.jsx(s.ArchbaseDataGridColumn,{dataField:"nickname",dataType:"text",size:120,header:`${n("archbase:Apelido")}`,inputFilterType:"text"}),e.jsx(s.ArchbaseDataGridColumn,{dataField:"email",dataType:"text",header:`${n("archbase:Email")}`,size:300,inputFilterType:"text"}),e.jsx(s.ArchbaseDataGridColumn,{dataField:"profile.name",dataType:"text",header:`${n("archbase:Perfil")}`,size:200,render:o=>rt(o.row),inputFilterType:"text"}),e.jsx(s.ArchbaseDataGridColumn,{dataField:"groups",dataType:"text",size:300,header:`${n("archbase:Grupos")}`,render:o=>at(o.row),enableSorting:!1,enableColumnFilter:!1,enableGlobalFilter:!1}),e.jsx(s.ArchbaseDataGridColumn,{dataField:"isAdministrator",dataType:"boolean",header:`${n("archbase:Admin ?")}`,inputFilterType:"checkbox"}),e.jsx(s.ArchbaseDataGridColumn,{dataField:"changePasswordOnNextLogin",dataType:"boolean",header:`${n("archbase:Alt.senha próximo login?")}`,inputFilterType:"checkbox",size:120}),e.jsx(s.ArchbaseDataGridColumn,{dataField:"allowPasswordChange",dataType:"boolean",header:`${n("archbase:Pode alterar senha?")}`,inputFilterType:"checkbox",size:120}),e.jsx(s.ArchbaseDataGridColumn,{dataField:"allowMultipleLogins",dataType:"boolean",header:`${n("archbase:Permite multiplos logins?")}`,inputFilterType:"checkbox",size:120}),e.jsx(s.ArchbaseDataGridColumn,{dataField:"passwordNeverExpires",dataType:"boolean",header:`${n("archbase:Senha nunca expira?")}`,inputFilterType:"checkbox",size:120}),e.jsx(s.ArchbaseDataGridColumn,{dataField:"accountDeactivated",dataType:"boolean",header:`${n("archbase:Desativado?")}`,inputFilterType:"checkbox",size:120}),e.jsx(s.ArchbaseDataGridColumn,{dataField:"accountLocked",dataType:"boolean",header:`${n("archbase:Bloqueado?")}`,inputFilterType:"checkbox",size:120}),e.jsx(s.ArchbaseDataGridColumn,{dataField:"unlimitedAccessHours",dataType:"boolean",header:`${n("archbase:Horário acesso ilimitado?")}`,inputFilterType:"checkbox",size:140})]}),ke=e.jsxs(s.Columns,{children:[e.jsx(s.ArchbaseDataGridColumn,{dataField:"name",dataType:"text",size:300,header:`${n("archbase:Nome do grupo")}`,inputFilterType:"text"}),e.jsx(s.ArchbaseDataGridColumn,{dataField:"description",dataType:"text",header:`${n("archbase:Descrição")}`,size:800,inputFilterType:"text"})]}),Re=e.jsxs(s.Columns,{children:[e.jsx(s.ArchbaseDataGridColumn,{dataField:"name",dataType:"text",size:300,header:`${n("archbase:Nome do perfil")}`,inputFilterType:"text"}),e.jsx(s.ArchbaseDataGridColumn,{dataField:"description",dataType:"text",header:`${n("archbase:Descrição")}`,size:800,inputFilterType:"text"})]}),De=e.jsxs(s.Columns,{children:[e.jsx(s.ArchbaseDataGridColumn,{dataField:"name",dataType:"text",size:300,header:`${n("archbase:Nome do recurso")}`,inputFilterType:"text"}),e.jsx(s.ArchbaseDataGridColumn,{dataField:"description",dataType:"text",header:`${n("archbase:Descrição")}`,size:800,inputFilterType:"text"})]}),Ge=()=>{const o=C.UserDto.newInstance();I||(o.id=void 0),M.insert(o),M&&!T.isDataSourceV2&&T.v1State.forceUpdate(),V(C.SecurityType.USER)},Ee=o=>{M.isEmpty()||M.gotoRecordByData(o)&&(M.edit(),T.isDataSourceV2||T.v1State.forceUpdate(),V(C.SecurityType.USER))},Fe=o=>{M.isEmpty()||M.gotoRecordByData(o)&&s.ArchbaseDialog.showConfirmDialogYesNo(`${n("archbase:Confirme")}`,`${n("archbase:Deseja remover o usuário ")}${o.name} ?`,()=>{M.remove(),T.isDataSourceV2||T.v1State.forceUpdate()},()=>{})},Pe=o=>{M.isEmpty()||M.gotoRecordByData(o)&&V(C.SecurityType.USER)},ze=o=>e.jsxs(t.Group,{gap:1,wrap:"nowrap",children:[e.jsx(t.ActionIcon,{variant:"transparent",onClick:()=>Pe(o),children:e.jsx(v.IconEye,{size:20,color:x==="dark"?p.colors.blue[8]:p.colors.blue[4]})}),e.jsx(t.ActionIcon,{variant:"transparent",onClick:()=>Ee(o),children:e.jsx(v.IconEdit,{size:20,color:x==="dark"?p.colors.yellow[8]:p.colors.yellow[4]})}),e.jsx(t.ActionIcon,{variant:"transparent",onClick:()=>Fe(o),children:e.jsx(v.IconTrashX,{size:20,color:x==="dark"?p.colors.red[8]:p.colors.red[4]})}),e.jsx(t.Tooltip,{withinPortal:!0,withArrow:!0,position:"left",label:`${n("archbase:Edit permissions")}`,children:e.jsx(t.ActionIcon,{variant:"transparent",onClick:de,children:e.jsx(v.IconShieldCheckered,{size:20,color:x==="dark"?p.colors.green[8]:p.colors.green[4]})})})]}),Ve=()=>{const o=C.GroupDto.newInstance();I||(o.id=void 0),O.insert(o),O&&!N.isDataSourceV2&&N.v1State.forceUpdate(),V(C.SecurityType.GROUP)},$e=o=>{O.isEmpty()||O.gotoRecordByData(o)&&(O.edit(),V(C.SecurityType.GROUP))},Me=o=>{O.isEmpty()||O.gotoRecordByData(o)&&s.ArchbaseDialog.showConfirmDialogYesNo(`${n("archbase:Confirme")}`,`${n("archbase:Deseja remover o grupo ")}${o.name} ?`,()=>{O.remove()},()=>{})},Le=o=>{O.isEmpty()||O.gotoRecordByData(o)&&V(C.SecurityType.GROUP)},Be=o=>e.jsxs(t.Group,{gap:1,wrap:"nowrap",children:[e.jsx(t.ActionIcon,{variant:"transparent",onClick:()=>Le(o),children:e.jsx(v.IconEye,{size:20,color:x==="dark"?p.colors.blue[8]:p.colors.blue[4]})}),e.jsx(t.ActionIcon,{variant:"transparent",onClick:()=>$e(o),children:e.jsx(v.IconEdit,{size:20,color:x==="dark"?p.colors.yellow[8]:p.colors.yellow[4]})}),e.jsx(t.ActionIcon,{variant:"transparent",onClick:()=>Me(o),children:e.jsx(v.IconTrashX,{size:20,color:x==="dark"?p.colors.red[8]:p.colors.red[4]})}),e.jsx(t.Tooltip,{withinPortal:!0,withArrow:!0,position:"left",label:`${n("archbase:Edit permissions")}`,children:e.jsx(t.ActionIcon,{variant:"transparent",onClick:ue,children:e.jsx(v.IconShieldCheckered,{size:20,color:x==="dark"?p.colors.green[8]:p.colors.green[4]})})})]}),ie=()=>{V("")},ce=()=>{V("")},le=()=>{V("")},Ue=()=>{const o=C.ProfileDto.newInstance();I||(o.id=void 0),H.insert(o),H&&!h.isDataSourceV2&&h.v1State.forceUpdate(),V(C.SecurityType.PROFILE)},Ne=o=>{H.isEmpty()||H.gotoRecordByData(o)&&(H.edit(),V(C.SecurityType.PROFILE))},Oe=o=>{H.isEmpty()||H.gotoRecordByData(o)&&s.ArchbaseDialog.showConfirmDialogYesNo(`${n("archbase:Confirme")}`,`${n("archbase:Deseja remover o perfil ")}${o.name} ?`,()=>{H.remove()},()=>{})},qe=o=>{H.isEmpty()||H.gotoRecordByData(o)&&V(C.SecurityType.PROFILE)},We=o=>e.jsxs(t.Group,{gap:1,wrap:"nowrap",children:[e.jsx(t.ActionIcon,{variant:"transparent",onClick:()=>qe(o),children:e.jsx(v.IconEye,{size:20,color:x==="dark"?p.colors.blue[8]:p.colors.blue[4]})}),e.jsx(t.ActionIcon,{variant:"transparent",onClick:()=>Ne(o),children:e.jsx(v.IconEdit,{size:20,color:x==="dark"?p.colors.yellow[8]:p.colors.yellow[4]})}),e.jsx(t.ActionIcon,{variant:"transparent",onClick:()=>Oe(o),children:e.jsx(v.IconTrashX,{size:20,color:x==="dark"?p.colors.red[8]:p.colors.red[4]})}),e.jsx(t.Tooltip,{withinPortal:!0,withArrow:!0,position:"left",label:`${n("archbase:Edit permissions")}`,children:e.jsx(t.ActionIcon,{variant:"transparent",onClick:he,children:e.jsx(v.IconShieldCheckered,{size:20,color:x==="dark"?p.colors.green[8]:p.colors.green[4]})})})]}),He=()=>{D.getCurrentRecord()&&s.ArchbaseDialog.showConfirmDialogYesNo(`${n("archbase:Confirme")}`,`${n("archbase:Deseja revogar o token de Acesso do usuário ")}${D.getCurrentRecord().user.name} ?`,async()=>{await q.revoke(D.getCurrentRecord().token).then(async()=>{s.ArchbaseNotifications.showSuccess(`${n("mentors:Informação")}`,`${n("mentors:Token de Acesso revogado com sucesso!")}`),D.refreshData()}).catch(o=>{s.ArchbaseDialog.showErrorWithDetails(`${n("mentors:Atenção")}`,r.processErrorMessage(o),r.processDetailErrorMessage(o))})},()=>{})},de=()=>{F(C.SecurityType.USER)},ue=()=>{F(C.SecurityType.GROUP)},he=()=>{F(C.SecurityType.PROFILE)},re=()=>{F("")},Ye=()=>e.jsxs(t.Flex,{justify:"space-between",style:{width:"50%"},children:[e.jsxs(t.Group,{align:"end",gap:"4px",wrap:"nowrap",children:[e.jsx(t.Button,{color:"green",leftSection:e.jsx(v.IconPlus,{}),onClick:Ge,children:`${n("archbase:New")}`}),e.jsx(t.Button,{color:"blue",leftSection:e.jsx(v.IconEdit,{}),onClick:de,children:`${n("archbase:Edit permissions")}`})]}),e.jsx(t.Flex,{align:"flex-start",justify:"flex-end",style:{width:"200px"}})]}),Je=()=>e.jsxs(t.Flex,{justify:"space-between",style:{width:"50%"},children:[e.jsxs(t.Group,{align:"end",gap:"4px",wrap:"nowrap",children:[e.jsx(t.Button,{color:"green",leftSection:e.jsx(v.IconPlus,{}),onClick:Ve,children:`${n("archbase:New")}`}),e.jsx(t.Button,{color:"blue",leftSection:e.jsx(v.IconEdit,{}),onClick:ue,children:`${n("archbase:Edit permissions")}`})]}),e.jsx(t.Flex,{align:"flex-start",justify:"flex-end",style:{width:"200px"}})]}),Ze=()=>e.jsxs(t.Flex,{justify:"space-between",style:{width:"50%"},children:[e.jsxs(t.Group,{align:"end",gap:"4px",wrap:"nowrap",children:[e.jsx(t.Button,{color:"green",leftSection:e.jsx(v.IconPlus,{}),onClick:Ue,children:`${n("archbase:New")}`}),e.jsx(t.Button,{color:"blue",leftSection:e.jsx(v.IconEdit,{}),onClick:he,children:`${n("archbase:Edit permissions")}`})]}),e.jsx(t.Flex,{align:"flex-start",justify:"flex-end",style:{width:"200px"}})]}),_e=()=>e.jsx(t.Flex,{justify:"space-between",style:{width:"50%"},children:e.jsx(t.Group,{align:"start",gap:"4px",wrap:"nowrap",children:e.jsx(t.Button,{disabled:!D.getCurrentRecord(),color:"red",leftSection:e.jsx(v.IconTrashX,{}),onClick:He,children:`${n("archbase:Revoke")}`})})});return e.jsxs(t.Paper,{p:"md",style:{height:a,display:"flex",flexDirection:"column"},children:[e.jsx(t.Tabs,{variant:"pills",value:m,onChange:B,children:e.jsxs(t.Tabs.List,{children:[e.jsx(t.Tabs.Tab,{value:"users",children:`${n("Usuários")}`}),e.jsx(t.Tabs.Tab,{value:"groups",children:`${n("Grupos")}`}),e.jsx(t.Tabs.Tab,{value:"profiles",children:`${n("Perfis")}`}),e.jsx(t.Tabs.Tab,{value:"resources",children:`${n("Recursos")}`}),e.jsx(t.Tabs.Tab,{value:"accessTokens",children:`${n("Tokens Acesso")}`})]})}),e.jsx(t.Paper,{withBorder:!0,mt:"md",style:{height:K,display:m==="users"?"flex":"none",width:"100%",flex:1,minHeight:0,overflow:"auto"},children:e.jsx(s.ArchbaseDataGrid,{gridRef:S,printTitle:"Usuários",width:"100%",height:"100%",withBorder:!1,dataSource:M,withColumnBorders:!0,striped:!0,enableTopToolbar:!0,enableRowActions:!0,pageSize:50,isLoading:ae,isError:!!j,error:j,enableGlobalFilter:!0,getRowId:l,toolbarLeftContent:Ye(),renderRowActions:ze,children:we})}),e.jsx(t.Paper,{withBorder:!0,mt:"md",style:{height:K,display:m==="groups"?"flex":"none",flex:1,minHeight:0,overflow:"auto"},children:e.jsx(s.ArchbaseDataGrid,{gridRef:f,printTitle:"Grupos",width:"100%",height:"100%",withBorder:!1,dataSource:O,withColumnBorders:!0,striped:!1,enableTopToolbar:!0,enableRowActions:!0,pageSize:50,isLoading:Ie,isError:!!j,error:j,enableGlobalFilter:!0,getRowId:$,renderRowActions:Be,children:ke,toolbarLeftContent:Je()})}),e.jsx(t.Paper,{withBorder:!0,mt:"md",style:{height:K,display:m==="profiles"?"flex":"none",flex:1,minHeight:0,overflow:"auto"},children:e.jsx(s.ArchbaseDataGrid,{gridRef:X,printTitle:"Perfis",width:"100%",height:"100%",withBorder:!1,dataSource:H,withColumnBorders:!0,striped:!1,enableTopToolbar:!0,enableRowActions:!0,pageSize:50,isLoading:je,isError:!!j,error:j,enableGlobalFilter:!0,getRowId:w,toolbarLeftContent:Ze(),renderRowActions:We,children:Re})}),e.jsx(t.Paper,{withBorder:!0,mt:"md",style:{height:K,display:m==="resources"?"flex":"none",flex:1,minHeight:0,overflow:"auto"},children:e.jsx(s.ArchbaseDataGrid,{gridRef:_,printTitle:"Recursos",width:"100%",height:"100%",withBorder:!1,dataSource:Ce,withColumnBorders:!0,striped:!1,enableTopToolbar:!0,enableRowActions:!1,pageSize:50,isLoading:Te,isError:!!j,error:j,enableGlobalFilter:!0,getRowId:P,children:De})}),e.jsx(t.Paper,{withBorder:!0,mt:"md",style:{height:K,display:m==="accessTokens"?"flex":"none",width:"100%",flex:1,minHeight:0,overflow:"auto"},children:e.jsx(s.ArchbaseDataGrid,{gridRef:c,printTitle:"Tokens de API",width:"100%",height:"100%",withBorder:!1,dataSource:D,withColumnBorders:!0,striped:!0,enableTopToolbar:!0,enableRowActions:!1,pageSize:50,isLoading:E,isError:!!j,error:j,enableGlobalFilter:!0,getRowId:G,toolbarLeftContent:_e(),children:ve})}),Y===C.SecurityType.USER?e.jsx(Ae,{onClickOk:ie,opened:!0,dataSource:M,onClickCancel:ie,options:k}):null,Y===C.SecurityType.GROUP?e.jsx(Se,{onClickOk:ce,opened:!0,dataSource:O,onClickCancel:ce,options:g}):null,Y===C.SecurityType.PROFILE?e.jsx(me,{onClickOk:le,opened:!0,dataSource:H,onClickCancel:le,options:i}):null,U===C.SecurityType.USER?e.jsx(te,{dataSource:M,opened:!!U,close:re}):null,U===C.SecurityType.GROUP?e.jsx(te,{dataSource:O,opened:!!U,close:re}):null,U===C.SecurityType.PROFILE?e.jsx(te,{dataSource:H,opened:!!U,close:re}):null]})}function st({height:a="400px",width:u="100%"}){r.useArchbaseTheme();const I=y.useArchbaseStore("apiTokenStore"),k={validateEntity:()=>[]},{colorScheme:i}=t.useMantineColorScheme(),[g,p]=b.useState(void 0),R=y.useArchbaseRemoteServiceApi(r.ARCHBASE_IOC_API_TYPE.ApiToken),[z,x]=b.useState(""),j=b.useRef(null),d=T=>T.id,{dataSource:m}=y.useArchbaseDataSource({initialData:[],name:"dataSource"}),B=y.useArchbaseV1V2Compatibility("ArchbaseApiTokenView-LocalDataSource",m,void 0,void 0),{dataSource:A,isLoading:J}=y.useArchbaseRemoteDataSource({name:"dsApiToken",service:R,store:I,validator:k,pageSize:25,loadOnStart:!0,onLoadComplete:T=>{},onDestroy:T=>{},onError:(T,N)=>{p(T),s.ArchbaseNotifications.showError(r.getI18nextInstance().t("archbase:WARNING"),T,N)}}),W=y.useArchbaseV1V2Compatibility("ArchbaseApiTokenView-RemoteDataSource",A,void 0,void 0),Z=`calc(${a} - 40px)`,Y=e.jsxs(s.Columns,{children:[e.jsx(s.ArchbaseDataGridColumn,{dataField:"user.avatar",dataType:"image",size:80,header:"Foto",render:T=>e.jsx("img",{style:{borderRadius:50,height:"32px",maxHeight:"32px"},src:T.row.user&&T.row.user.avatar?atob(T.row.user.avatar):ne}),inputFilterType:"text",align:"center"}),e.jsx(s.ArchbaseDataGridColumn,{dataField:"user.userName",dataType:"text",size:300,header:"Nome de Usuário",inputFilterType:"text"}),e.jsx(s.ArchbaseDataGridColumn,{dataField:"user.email",dataType:"text",header:"Email",size:240,inputFilterType:"text"}),e.jsx(s.ArchbaseDataGridColumn,{dataField:"token",dataType:"text",header:"Token API",size:260,inputFilterType:"text",enableClickToCopy:!0}),e.jsx(s.ArchbaseDataGridColumn,{dataField:"tenantId",dataType:"text",header:"Tenant ID",size:260,inputFilterType:"text",enableClickToCopy:!0}),e.jsx(s.ArchbaseDataGridColumn,{dataField:"expirationDate",dataType:"text",size:180,header:"Validade",render:T=>{if(!T.row.expirationDate)return e.jsx(t.Text,{c:"dimmed",children:"Sem expiração"});const N=new Date;N.setHours(0,0,0,0);const h=new Date(T.row.expirationDate);h.setHours(0,0,0,0);const S=h.getTime()-N.getTime(),f=Math.ceil(S/(1e3*60*60*24));let _=Math.max(0,Math.min(100,f/365*100)),c="green",l="";f<0?(c="red",_=100,l=`Vencido há ${Math.abs(f)} dia${Math.abs(f)!==1?"s":""}`):f===0?(c="red",_=5,l="Vence hoje"):f<=7?(c="red",l=`${f} dia${f!==1?"s":""}`):f<=30?(c="orange",l=`${f} dias`):f<=90?(c="yellow",l=`${f} dias`):(c="green",l=`${f} dias`);const $=f<0?`Vencido em ${h.toLocaleDateString()}`:`Expira em ${h.toLocaleDateString()}`;return e.jsx(t.Tooltip,{label:$,withArrow:!0,children:e.jsxs(t.Group,{gap:"xs",wrap:"nowrap",children:[e.jsx(t.RingProgress,{size:36,thickness:4,roundCaps:!0,sections:[{value:f<0?100:_,color:c}]}),e.jsx(t.Text,{size:"sm",c:f<0?"red":void 0,fw:f<=7?600:void 0,children:l})]})})},inputFilterType:"text"}),e.jsx(s.ArchbaseDataGridColumn,{dataField:"activated",dataType:"boolean",header:"Ativado ?",inputFilterType:"checkbox"}),e.jsx(s.ArchbaseDataGridColumn,{dataField:"revoked",dataType:"boolean",header:"Revogado ?",inputFilterType:"checkbox"})]}),V=()=>{m.insert(C.ApiTokenDto.newInstance()),m&&!B.isDataSourceV2&&B.v1State.forceUpdate(),x("apiToken")},U=()=>{A.getCurrentRecord()&&s.ArchbaseDialog.showConfirmDialogYesNo(`${r.getI18nextInstance().t("archbase:Confirme")}`,`${r.getI18nextInstance().t("archbase:Deseja revogar o token de API do usuário ")}${A.getCurrentRecord().user.name} ?`,async()=>{await R.revoke(A.getCurrentRecord().token).then(async()=>{s.ArchbaseNotifications.showSuccess(`${r.getI18nextInstance().t("mentors:Informação")}`,`${r.getI18nextInstance().t("mentors:Token de API revogado com sucesso!")}`),A.refreshData(),A&&!W.isDataSourceV2&&W.v1State.forceUpdate()}).catch(T=>{s.ArchbaseDialog.showErrorWithDetails(`${r.getI18nextInstance().t("mentors:Atenção")}`,r.processErrorMessage(T),r.processDetailErrorMessage(T))})},()=>{})},F=()=>{x("")},q=async(T,N)=>{const h=m.getCurrentRecord();if(h)try{if(m.validate(),!h.user||!h.user.email){s.ArchbaseDialog.showErrorWithDetails(`${r.getI18nextInstance().t("archbase:WARNING")}`,`${r.getI18nextInstance().t("archbase:Selecione um usuário para o token de API")}`,"");return}await R.create(h.user.email,h.expirationDate,h.name,h.description).then(async S=>{m.cancel(),m&&!B.isDataSourceV2&&B.v1State.forceUpdate(),A.append(S),A&&!W.isDataSourceV2&&W.v1State.forceUpdate(),s.ArchbaseNotifications.showSuccess(`${r.getI18nextInstance().t("mentors:Informação")}`,`${r.getI18nextInstance().t("mentors:Token de API gerado com sucesso!")}`),N&&N(!0)}).catch(S=>{s.ArchbaseDialog.showErrorWithDetails(`${r.getI18nextInstance().t("mentors:Atenção")}`,r.processErrorMessage(S),r.processDetailErrorMessage(S))})}catch(S){s.ArchbaseDialog.showErrorWithDetails(`${r.getI18nextInstance().t("mentors:Atenção")}`,r.processErrorMessage(S),r.processDetailErrorMessage(S))}},n=()=>e.jsx(t.Flex,{justify:"space-between",style:{width:"50%"},children:e.jsxs(t.Group,{align:"start",gap:"2px",wrap:"nowrap",children:[e.jsx(t.Button,{color:"green",leftSection:e.jsx(v.IconPlus,{}),onClick:V,children:r.getI18nextInstance().t("archbase:New")}),e.jsx(t.Button,{disabled:!A.getCurrentRecord(),color:"red",leftSection:e.jsx(v.IconTrashX,{}),onClick:U,children:r.getI18nextInstance().t("archbase:Revoke")})]})});return e.jsxs(t.Paper,{p:"md",style:{height:a,display:"flex",flexDirection:"column"},children:[e.jsx(t.Paper,{withBorder:!0,style:{height:Z,display:"flex",width:"100%",flex:1,minHeight:0,overflow:"auto"},children:e.jsx(s.ArchbaseDataGrid,{gridRef:j,printTitle:"Tokens de API",width:"100%",height:"100%",withBorder:!1,dataSource:A,withColumnBorders:!0,striped:!0,enableTopToolbar:!0,enableRowActions:!1,pageSize:50,isLoading:J,isError:!!g,error:g,enableGlobalFilter:!0,getRowId:d,toolbarLeftContent:n(),children:Y})}),z==="apiToken"?e.jsx(ye,{onClickOk:F,opened:!0,dataSource:m,onCustomSave:q,onClickCancel:F}):null]})}exports.ApiTokenModal=ye;exports.ArchbaseApiTokenView=st;exports.ArchbaseDualListSelector=ge;exports.ArchbaseSecurityView=ot;exports.GroupModal=Se;exports.PermissionsSelectorModal=te;exports.ProfileModal=me;exports.RenderProfileUserItem=fe;exports.UserModal=Ae;
10
10
  //# sourceMappingURL=index.cjs.map