1import{a as ge}from"./chunk-X3JT3PRI.js";import{a as le,e as se}from"./chunk-DDSSM5DL.js";import"./chunk-5PUUYOF2.js";import"./chunk-7LKPLKUM.js";import"./chunk-DFJXWKXM.js";import{a as pe,b as ue}from"./chunk-LX6IOOPZ.js";import{a as de,b as me}from"./chunk-AVNR3ARR.js";import"./chunk-SKCK7EVT.js";import{a as ce}from"./chunk-2H6LJWQH.js";import{a as Z,b as ee}from"./chunk-DKSJF6BW.js";import{g as ne,h as oe,i as ae,j as re}from"./chunk-RA2PSMVK.js";import"./chunk-FH5JID4N.js";import"./chunk-PN2RXRI2.js";import"./chunk-BUTAKNGP.js";import{f as H,i as q,q as J,t as K,u as Q}from"./chunk-MBBVYQX5.js";import{k as te,l as ie}from"./chunk-4VOS7QCB.js";import{j as X,k as Y}from"./chunk-FZIA5U2W.js";import"./chunk-XAZL5KZH.js";import{ja as P}from"./chunk-UKQML5NO.js";import{a as $}from"./chunk-ZZDY4OCV.js";import"./chunk-ZZMJSPMK.js";import{e as j,f as G}from"./chunk-P2BRFOSJ.js";import{k as W}from"./chunk-J5KLU5DX.js";import{$ as h,Ab as y,Eb as u,Fb as d,Ka as r,Qb as T,Rb as w,Tb as m,Ub as D,Vb as N,Wb as E,Ya as F,Yb as L,Zb as V,_b as k,cb as R,cc as O,dc as x,ea as g,fa as _,ib as I,lb as b,lc as U,mb as C,mc as M,ob as A,oc as S,pb as B,qa as v,qb as s,rb as n,sb as a,sc as z,tb as f}from"./chunk-OK372EBD.js";var be=()=>({"table-layout":"fixed",width:"100%"}),_e=()=>({width:"28rem"}),Ce=()=>({height:"3px",position:"absolute",top:"0",left:"0",right:"0"}),ye=(t,i)=>i.id;function he(t,i){t&1&&f(0,"p-button",4)}function ve(t,i){t&1&&f(0,"p-progressbar",15),t&2&&w(x(2,Ce))}function xe(t,i){t&1&&(n(0,"tr")(1,"th",16),m(2,"Administrador"),a(),n(3,"th",17),m(4,"Email"),a(),n(5,"th",18),m(6,"Rol"),a(),n(7,"th",19),m(8,"Estado"),a(),n(9,"th",19),m(10,"Acciones"),a()())}function we(t,i){if(t&1&&(n(0,"span",28),m(1),a()),t&2){let e=i.$implicit;T("role-super",e.nombre==="Superadministrador")("role-admin",e.nombre!=="Superadministrador"),r(),D(e.nombre)}}function Ee(t,i){if(t&1){let e=y();n(0,"p-button",29),u("onClick",function(){g(e);let l=d().$implicit,c=d();return _(c.router.navigate(["/usuarios",l.id,"editar"]))}),a(),n(1,"p-button",30),u("onClick",function(){g(e);let l=d().$implicit,c=d();return _(c.openResetDialog(l))}),a()}t&2&&(s("text",!0)("rounded",!0)("showDelay",400)("hideDelay",100),r(),s("text",!0)("rounded",!0)("showDelay",400)("hideDelay",100))}function Se(t,i){if(t&1){let e=y();n(0,"p-button",31),u("onClick",function(){g(e);let l=d().$implicit,c=d();return _(c.openDeleteDialog(l))}),a()}t&2&&s("text",!0)("rounded",!0)("showDelay",400)("hideDelay",100)}function Te(t,i){if(t&1&&(n(0,"tr")(1,"td",20)(2,"span",21),m(3),U(4,"titlecase"),U(5,"titlecase"),a()(),n(6,"td",22),m(7),a(),n(8,"td"),A(9,we,2,5,"span",23,ye),a(),n(11,"td")(12,"span",24),f(13,"span",25),m(14),a()(),n(15,"td")(16,"div",26),b(17,Ee,2,8),b(18,Se,1,4,"p-button",27),a()()()),t&2){let e=i.$implicit,o=d();r(),s("title",e.nombre+" "+(e.apellido||"")),r(2),E("",M(4,12,e.nombre)," ",M(5,14,e.apellido)),r(3),s("title",e.email),r(),D(e.email),r(2),B(e.roles),r(3),T("gamma-status--active",e.activo)("gamma-status--inactive",!e.activo),r(2),N(" ",e.activo?"Activo":"Inactivo"," "),r(3),C(o.authService.hasPermission("usuarios.editar")?17:-1),r(),C(o.authService.hasPermission("usuarios.eliminar")?18:-1)}}function De(t,i){t&1&&f(0,"app-empty-state",33)}function Le(t,i){t&1&&f(0,"app-empty-state")}function Ve(t,i){if(t&1&&(n(0,"tr")(1,"td",32),b(2,De,1,0,"app-empty-state",33)(3,Le,1,0,"app-empty-state"),a()()),t&2){let e=d();r(),I("colspan",5),r(),C(e.list.error()?2:3)}}function ke(t,i){if(t&1){let e=y();n(0,"div",13)(1,"div",34)(2,"div",35),f(3,"i",36),a(),n(4,"div")(5,"p",37),m(6),a(),n(7,"p",38),m(8,"Esta acci\xF3n no se puede deshacer."),a()()(),n(9,"div",39)(10,"p-button",40),u("onClick",function(){g(e);let l=d();return _(l.deleteDialogVisible=!1)}),a(),n(11,"p-button",41),u("onClick",function(){g(e);let l=d();return _(l.executeDelete())}),a()()()}if(t&2){let e=d();r(6),E('\xBFEliminar "',e.dialogTarget().nombre,"",e.dialogTarget().apellido?" "+e.dialogTarget().apellido:"",'"?'),r(4),s("text",!0)("disabled",e.deleting()),r(),s("loading",e.deleting())}}function Ue(t,i){if(t&1){let e=y();n(0,"div",13)(1,"div",34)(2,"div",42),f(3,"i",43),a(),n(4,"div")(5,"p",37),m(6),a(),n(7,"p",38),m(8,"Se generar\xE1 una nueva contrase\xF1a y se enviar\xE1 por email."),a()()(),n(9,"div",39)(10,"p-button",40),u("onClick",function(){g(e);let l=d();return _(l.resetDialogVisible=!1)}),a(),n(11,"p-button",44),u("onClick",function(){g(e);let l=d();return _(l.executeReset())}),a()()()}if(t&2){let e=d();r(6),E('\xBFResetear la contrase\xF1a de "',e.dialogTarget().nombre,"",e.dialogTarget().apellido?" "+e.dialogTarget().apellido:"",'"?'),r(4),s("text",!0)("disabled",e.resetting()),r(),s("loading",e.resetting())}}var fe=class t{usuarioService=h(ge);messageService=h(P);authService=h($);router=h(j);dialogTarget=v(null);deleteDialogVisible=!1;deleting=v(!1);resetDialogVisible=!1;resetting=v(!1);selectedEstado=v(null);list=pe({loader:({page:i,pageSize:e,search:o})=>this.usuarioService.findAll(i,e,o||void 0,this.selectedEstado()??void 0)});estadoOptions=[{label:"Activos",value:!0},{label:"Inactivos",value:!1}];hasActiveFilters=z(()=>this.list.search()!==""||this.selectedEstado()!==null);onEstadoChange(i){this.selectedEstado.set(i),this.list.setPage(1)}clearFilters(){this.selectedEstado.set(null),this.list.setSearch(""),this.list.setPage(1)}onPageChange(i){let e=Math.floor((i.first??0)/(i.rows??10))+1;this.list.setPage(e)}openDeleteDialog(i){this.dialogTarget.set(i),this.deleteDialogVisible=!0}executeDelete(){let i=this.dialogTarget();i&&(this.deleting.set(!0),this.usuarioService.remove(i.id).subscribe({next:()=>{this.messageService.add({severity:"success",summary:"Eliminado"}),this.deleteDialogVisible=!1,this.deleting.set(!1),this.list.reload()},error:()=>{this.messageService.add({severity:"error",summary:"Error"}),this.deleting.set(!1)}}))}openResetDialog(i){this.dialogTarget.set(i),this.resetDialogVisible=!0}executeReset(){let i=this.dialogTarget();i&&(this.resetting.set(!0),this.usuarioService.resetPassword(i.id).subscribe({next:()=>{this.messageService.add({severity:"success",summary:"Contrase\xF1a reseteada"}),this.resetDialogVisible=!1,this.resetting.set(!1)},error:()=>{this.messageService.add({severity:"error",summary:"Error"}),this.resetting.set(!1)}}))}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=F({type:t,selectors:[["app-usuarios-listado"]],features:[O([P])],decls:20,vars:30,consts:[["header",""],["body",""],["emptymessage",""],["t
1itle","Administradores","subtitle","Gestiona el acceso y los permisos de los administradores de la red Grupo Gamma"],["label","Nuevo Administrador","icon","pi pi-plus","routerLink","/usuarios/crear"],[1,"table-card"],["mode","indeterminate","styleClass","!rounded-none",3,"style"],[1,"table-controls"],["pInputText","","placeholder","Buscar por nombre o email...",1,"w-full","md:w-72",3,"input","value"],["optionLabel","label","optionValue","value","placeholder","Todos los estados","styleClass","w-full md:w-48",3,"onChange","options","showClear","ngModel"],["icon","pi pi-filter-slash","label","Limpiar filtros","severity","secondary","pTooltip","Limpiar filtros","tooltipPosition","bottom",3,"onClick","outlined","disabled","showDelay","hideDelay"],[3,"onLazyLoad","value","loading","paginator","rows","totalRecords","lazy","tableStyle"],["header","Eliminar administrador",3,"visibleChange","visible","modal"],[1,"flex","flex-col","gap-5","pt-2"],["header","Resetear contrase\xF1a",3,"visibleChange","visible","modal"],["mode","indeterminate","styleClass","!rounded-none"],[2,"width","24%"],[2,"width","26%"],[2,"width","22%"],[2,"width","14%"],[1,"ellipsis-cell",3,"title"],[1,"user-name"],[1,"text-sm","ellipsis-cell",2,"color","var(--gamma-gray-500)",3,"title"],[1,"role-badge",2,"margin-right","0.25rem",3,"role-super","role-admin"],[1,"gamma-status"],[1,"gamma-status-dot"],[1,"flex","gap-0.5"],["icon","pi pi-trash","styleClass","action-btn","pTooltip","Eliminar","tooltipPosition","top",3,"text","rounded","showDelay","hideDelay"],[1,"role-badge",2,"margin-right","0.25rem"],["icon","pi pi-pencil","styleClass","action-btn","pTooltip","Editar","tooltipPosition","top",3,"onClick","text","rounded","showDelay","hideDelay"],["icon","pi pi-key","styleClass","action-btn","pTooltip","Resetear contrase\xF1a","tooltipPosition","top",3,"onClick","text","rounded","showDelay","hideDelay"],["icon","pi pi-trash","styleClass","action-btn","pTooltip","Eliminar","tooltipPosition","top",3,"onClick","text","rounded","showDelay","hideDelay"],[1,"text-center"],["icon","pi pi-exclamation-triangle","message","No pudimos cargar el listado. Reintent\xE1 en unos instantes."],[1,"flex","items-start","gap-3"],[2,"width","2.5rem","height","2.5rem","border-radius","50%","background","#fef2f2","display","flex","align-items","center","justify-content","center","flex-shrink","0"],[1,"pi","pi-trash",2,"color","#EF4444"],[1,"font-semibold",2,"color","var(--gamma-gray-900)"],[1,"text-sm","mt-1",2,"color","var(--gamma-gray-500)"],[1,"flex","justify-end","gap-2"],["label","Cancelar","severity","secondary",3,"onClick","text","disabled"],["label","Eliminar","icon","pi pi-trash","severity","danger",3,"onClick","loading"],[2,"width","2.5rem","height","2.5rem","border-radius","50%","background","var(--gamma-primary-lighter)","display","flex","align-items","center","justify-content","center","flex-shrink","0"],[1,"pi","pi-key",2,"color","var(--gamma-primary)"],["label","Resetear","icon","pi pi-key",3,"onClick","loading"]],template:function(e,o){if(e&1){let l=y();f(0,"p-toast"),n(1,"app-page-header",3),b(2,he,1,0,"p-button",4),a(),n(3,"div",5),b(4,ve,1,3,"p-progressbar",6),n(5,"div",7)(6,"input",8),u("input",function(p){return o.list.setSearch(p.target.value)}),a(),n(7,"p-select",9),u("onChange",function(p){return o.onEstadoChange(p.value)}),a(),n(8,"p-button",10),u("onClick",function(){return o.clearFilters()}),a()(),n(9,"p-table",11),u("onLazyLoad",function(p){return o.onPageChange(p)}),R(10,xe,11,0,"ng-template",null,0,S)(12,Te,19,16,"ng-template",null,1,S)(14,Ve,4,2,"ng-template",null,2,S),a()(),n(16,"p-dialog",12),k("visibleChange",function(p){return g(l),V(o.deleteDialogVisible,p)||(o.deleteDialogVisible=p),_(p)}),b(17,ke,12,5,"div",13),a(),n(18,"p-dialog",14),k("visibleChange",function(p){return g(l),V(o.resetDialogVisible,p)||(o.resetDialogVisible=p),_(p)}),b(19,Ue,12,5,"div",13),a()}e&2&&(r(2),C(o.authService.hasPermission("usuarios.crear")?2:-1),r(2),C(o.list.loadingVisible()?4:-1),r(2),s("value",o.list.search()),r(),s("options",o.estadoOptions)("showClear",!0)("ngModel",o.selectedEstado()),r(),s("outlined",!0)("disabled",!o.hasActiveFilters())("showDelay",300)("hideDelay",100),r(),s("value",o.list.data())("loading",!1)("paginator",o.list.total()>0)("rows",10)("totalRecords",o.list.total())("lazy",!0)("tableStyle",x(27,be)),r(7),w(x(28,_e)),L("visible",o.deleteDialogVisible),s("modal",!0),r(),C(o.dialogTarget()?17:-1),r(),w(x(29,_e)),L("visible",o.resetDialogVisible),s("modal",!0),r(),C(o.dialogTarget()?19:-1))},dependencies:[J,H,q,se,le,me,de,Y,X,Q,K,re,ae,ee,Z,ie,te,oe,ne,G,ue,ce,W],styles:["[_nghost-%COMP%]{display:block}.table-card[_ngcontent-%COMP%]{position:relative;overflow:hidden;background:#fff;border-radius:var(--gamma-radius-xl);padding:2rem;box-shadow:var(--gamma-shadow-sm)}
1.table-controls[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:stretch;gap:1rem;margin-bottom:2rem}@media(min-width:768px){.table-controls[_ngcontent-%COMP%]{flex-direction:row;flex-wrap:wrap;justify-content:flex-start;align-items:center}}.user-name[_ngcontent-%COMP%]{font-weight:600;color:var(--gamma-gray-900)}.role-badge[_ngcontent-%COMP%]{display:inline-block;padding:.2rem .75rem;border-radius:var(--gamma-radius-full);font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:-.025em}.role-super[_ngcontent-%COMP%]{background:#2d6a5114;color:var(--gamma-primary)}.role-admin[_ngcontent-%COMP%]{background:var(--gamma-gray-200);color:var(--gamma-gray-600)}.ellipsis-cell[_ngcontent-%COMP%]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}"]})};export{fe as UsuariosListadoComponent};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.