PageSourceSearch

https://babiesbabies.co.uk/ui/chunk-ZHV42YJ3.js

js babiesbabies.co.uk collected 2026-10-09 03:48:29 UTC 41,976 bytes, 12 lines download raw bytes

1
2!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="e4e504a9-8d88-59de-a334-7bb99e477b21")}catch(e){}}();
3import{a as J}from"./chunk-PV35U2II.js";import{a as li,b as pi,c as mi,d as di,e as ue,g as ci,h as ui}from"./chunk-3GEL656B.js";import"./chunk-ISWHD4SX.js";import{a as si}from"./chunk-N44IEYRR.js";import{a as le}from"./chunk-N2L5LPXA.js";import"./chunk-2STXRN5G.js";import{a as hi,d as gi,e as fi,f as bi,i as Je,j as vi,k as _i}from"./chunk-MOPG2TUW.js";import{b as Jt}from"./chunk-BVIG3HUW.js";import"./chunk-SBKDOINH.js";import"./chunk-FXPIL65P.js";import"./chunk-AZTJOAVD.js";import"./chunk-KIWXDRBT.js";import"./chunk-4BHO44EW.js";import"./chunk-F6E24G4W.js";import"./chunk-GFJXAGOH.js";import{a as ni}from"./chunk-4F46ANG3.js";import"./chunk-5CIQWKXF.js";import{a as ei}from"./chunk-IJBLIUIX.js";import{a as Xt}from"./chunk-FWQPVCJE.js";import"./chunk-E2ZLZNCK.js";import"./chunk-3SFNDQHF.js";import{b as Yt}from"./chunk-V4CGUX4R.js";import{c as Zt}from"./chunk-P2CA35ZS.js";import{b as Ut}from"./chunk-K7I2Z6SH.js";import{a as Oe}from"./chunk-5IZPFLGM.js";import{a as ti}from"./chunk-2SAF2RWO.js";import{c as Ht}from"./chunk-PQ2MI5T3.js";import{o as Ge}from"./chunk-3UK5VQOH.js";import"./chunk-EBI2B4IO.js";import"./chunk-INBQUE6G.js";import{h as zt}from"./chunk-7NW2DXMC.js";import"./chunk-VZW7F3WN.js";import{b as ai}from"./chunk-Z47G5CDW.js";import{a as oi}from"./chunk-YKT5AYVG.js";import{a as Le,b as ii,c as Ee,f as Ne,h as $,k as ri,l as Be,m as Fe,n as Ae}from"./chunk-R6X6GIVP.js";import"./chunk-7F5RVMY2.js";import{a as ce}from"./chunk-PMAHGPNS.js";import{a as Kt,b as Ie}from"./chunk-6UFAHL2C.js";import"./chunk-LGTIPYG5.js";import{c as F}from"./chunk-RATFGXZJ.js";import"./chunk-52N4NZUP.js";import{a as we,b as re}from"./chunk-F7RTV2IE.js";import"./chunk-COHRKCSJ.js";import{a as Qt}from"./chunk-SFX3C2FV.js";import"./chunk-PJFIGSYN.js";import{a as ne,b as $t,c as ae,d as jt}from"./chunk-QOQFJ3L2.js";import{k as Wt}from"./chunk-7GNJKWPI.js";import{c as Me}from"./chunk-LAW5LC3U.js";import{a as se}from"./chunk-ALVTPF3M.js";import{d as De}from"./chunk-3LPNFL6H.js";import{G as Vt,M as Re,o as Se}from"./chunk-L2A6TUU4.js";import"./chunk-6SY643VQ.js";import{b as Te}from"./chunk-UYNYVADX.js";import"./chunk-D7C3MHPO.js";import{$h as Gt,Bb as I,Ca as c,Cc as p,Dc as d,Di as Nt,E as w,Eb as lt,Ec as he,Ef as Pt,F as K,Fb as pt,Gb as s,Gi as ie,Hb as m,Ib as u,J as ot,Ja as x,Jb as h,Ji as oe,Ka as y,Lf as ee,Li as B,Mc as _t,Mf as wt,Nb as mt,Nc as de,Nj as k,Ob as dt,Pi as Bt,Q as He,Qb as S,Qj as kt,Ra as j,Si as Ft,Tb as v,Ti as Qe,Uc as ge,Ui as ye,Wb as g,Wh as St,Xb as ct,Xf as q,Xh as Rt,Yb as ut,Yf as D,Yh as Dt,Yi as H,Z as rt,Zf as T,Zg as N,Zh as Tt,Zi as At,_a as at,_g as _,_h as Mt,a as W,ai as It,aj as Ot,b as z,cj as qt,dh as L,eb as a,ec as ze,eh as U,ej as Pe,fi as Q,ga as We,gc as ht,ii as te,jc as b,ji as be,kc as O,lb as R,lc as P,na as nt,ni as Lt,pc as gt,qc as ft,qi as ve,ra as E,rb as M,rc as bt,rf as xt,sd as X,si as Et,tf as fe,ti as _e,uf as yt,we as A,wi as Ce,xb as st,xc as vt,xe as Ct,y as C,yc as V,yi as xe,zb as G}from"./chunk-KFM6X7QG.js";var Si=["*"],Ri=(n,e)=>e.label;function Di(n,e){if(n&1){let t=S();m(0,"div")(1,"dt"),b(2),p(3,"translate"),u(),m(4,"dd",3),v("click",function(){let o=x(t).$implicit;return y(o.action?o.action():null)}),b(5),u()()}if(n&2){let t=e.$implicit;a(2),P("",d(3,4,t.label),":"),a(2),ht("clickable",!!t.action),a(),P(" ",(t.value==null?null:t.value.toString())||"\u2013"," ")}}function Ti(n,e){if(n&1&&(m(0,"dl",2),lt(1,Di,6,6,"div",null,Ri),u(),h(3,"mat-divider")),n&2){let t=g();a(),pt(t.data())}}var Ci=(()=>{class n{constructor(){this.data=de()}static{this.\u0275fac=function(i){return new(i||n)}}static{this.\u0275cmp=R({type:n,selectors:[["ix-table-expandable-row"]],inputs:{data:[1,"data"]},ngContentSelectors:Si,decls:4,vars:1,consts:[[1,"ix-table-expandable-row"],[1,"actions"],[1,"details"],[3,"click"]],template:function(i,o){i&1&&(ct(),m(0,"div",0),G(1,Ti,4,0),m(2,"div",1),ut(3),u()()),i&2&&(a(),I(o.data()?1:-1))},dependencies:[qt,T,D],styles:[`[_nghost-%COMP%]{display:block}[_nghost-%COMP%]   .mat-divider[_ngcontent-%COMP%]{left:0;position:absolute;width:100%}[_nghost-%COMP%]   .details[_ngcontent-%COMP%]{margin:0;padding:16px 0}[_nghost-%COMP%]   .details[_ngcontent-%COMP%]   dt[_ngcontent-%COMP%]{display:inline-block;font-weight:700;margin-right:8px}[_nghost-%COMP%]   .details[_ngcontent-%COMP%]   dd[_ngcontent-%COMP%]{display:inline-block;margin:0}[_nghost-%COMP%]   .detail-label[_ngcontent-%COMP%]{margin-right:8px}[_nghost-%COMP%]   .actions[_ngcontent-%COMP%]{display:flex;flex:1;flex-wrap:wrap;gap:8px;padding:8px 0}[_nghost-%COMP%]   .actions[_ngcontent-%COMP%]     .mat-mdc-button .ix-icon{margin-right:8px}.clickable[_ngcontent-%COMP%]{color:var(--primary);cursor:pointer}
4/*# sourceMappingURL=ix-table-expandable-row.component-TUBZCSJ3.css.map */`],changeDetection:0})}}return n})();var Mi=function(n,e,t,i){var o=arguments.length,r=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,l;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")r=Reflect.decorate(n,e,t,i);else for(var f=n.length-1;f>=0;f--)(l=n[f])&&(r=(o<3?l(r):o>3?l(e,t,r):l(e,t))||r);return o>3&&r&&Object.defineProperty(e,t,r),r},Gi=n=>({name:n});function Ii(n,e){if(n&1&&h(0,"ix-checkbox",3),n&2){let t=g();s("formControl",t.deleteUsersCheckbox)("label",t.deleteUsersMessage)}}function Li(n,e){if(n&1){let t=S();m(0,"button",7),v("click",function(){x(t);let o=g();return y(o.onDelete())}),b(1),p(2,"translate"),u()}n&2&&(a(),P(" ",d(2,1,"Delete")," "))}var qe=class Ye{constructor(){this.loader=c(Qt),this.api=c(k),this.snackbar=c(ye),this.translate=c(q),this.dialogRef=c(St),this.group=c(Rt),this.errorHandler=c(H),this.requiredRoles=[L.AccountWrite],this.deleteUsersCheckbox=new Lt(!1,{nonNullable:!0}),this.deleteMessage='Are you sure you want to delete group <b>"{name}"</b>?'}get deleteUsersMessage(){return this.translate.instant("Delete {n, plural, one {# user} other {# users}} with this primary group?",{n:this.group.users.length})}onDelete(){this.api.call("group.delete",[this.group.id,{delete_users:this.deleteUsersCheckbox.value}]).pipe(this.loader.withLoader(),this.errorHandler.withErrorHandler(),_(this)).subscribe(()=>{this.snackbar.success(this.translate.instant("Group deleted")),this.dialogRef.close(!0)})}static{this.\u0275fac=function(t){return new(t||Ye)}}static{this.\u0275cmp=R({type:Ye,selectors:[["ix-delete-group-dialog"]],decls:12,vars:15,consts:[["mat-dialog-title",""],["mat-dialog-content",""],[1,"message",3,"innerHtml"],[1,"delete-checkbox",3,"formControl","label"],["mat-dialog-actions","",1,"form-actions"],["mat-button","","ixTest","cancel",3,"matDialogClose"],["mat-button","","color","warn","ixTest","delete",3,"click",4,"ixRequiresRoles"],["mat-button","","color","warn","ixTest","delete",3,"click"]],template:function(t,i){t&1&&(m(0,"h1",0),b(1),p(2,"translate"),u(),m(3,"div",1),h(4,"p",2),p(5,"translate"),G(6,Ii,1,2,"ix-checkbox",3),u(),m(7,"ix-form-actions",4)(8,"button",5),b(9),p(10,"translate"),u(),M(11,Li,3,3,"button",6),u()),t&2&&(a(),O(d(2,6,"Delete Group")),a(3),s("innerHtml",he(5,8,i.deleteMessage,V(13,Gi,i.group.group)),at),a(2),I(i.group.users.length?6:-1),a(2),s("matDialogClose",!1),a(),O(d(10,11,"Cancel")),a(2),s("ixRequiresRoles",i.requiredRoles))},dependencies:[Mt,Gt,se,ie,te,Et,oe,It,A,B,Tt,F,T,D],styles:[`[_nghost-%COMP%]{display:block;min-width:370px}.delete-checkbox[_ngcontent-%COMP%]{margin:0}.message[_ngcontent-%COMP%]{word-break:break-word}
5/*# sourceMappingURL=delete-group-dialog.component-TP5GWNZO.css.map */`],changeDetection:0})}};qe=Mi([N()],qe);var pe={groupIdTooltip:"The Group ID (GID) is a unique number used to identify a Unix group. Enter a number above 1000 for a group with user accounts. Groups used by a service must have an ID that matches the default port number used by the service.",nameTooltip:"Group name cannot begin with a hyphen (<i>-</i>) or contain a space, tab, or these characters: <i>, : + & # % ^ ( ) ! @ ~ * ? < > =</i>. <i>$</i> can only be used as the last character of the username.",privilegesTooltip:"Attaches privileges to the group. Only needed if you need users in this group access  to TrueNAS API or WebUI.",sudoTooltip:'Allow group members to use <a href="https://man7.org/linux/man-pages/man8/sudo.8.html" target="_blank">sudo</a>. Group members are prompted for their password when using <b>sudo</b>.',smbTooltip:"Makes the group available for permissions editors over SMB protocol (and the share ACL     editor). It is not used for SMB authentication or determining the user session token or internal     permissions checks."};var Ei=function(n,e,t,i){var o=arguments.length,r=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,l;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")r=Reflect.decorate(n,e,t,i);else for(var f=n.length-1;f>=0;f--)(l=n[f])&&(r=(o<3?l(r):o>3?l(e,t,r):l(e,t))||r);return o>3&&r&&Object.defineProperty(e,t,r),r};function Ni(n,e){if(n&1&&(m(0,"button",12),b(1),p(2,"translate"),u()),n&2){let t=g();
5s("disabled",t.form.invalid||t.isFormLoading()),a(),P(" ",d(2,2,"Save")," ")}}var me=class Ze{get isNew(){return!this.editingGroup}get title(){return this.isNew?this.translate.instant("Add Group"):this.translate.instant("Edit Group")}constructor(){this.fb=c(Nt),this.api=c(k),this.cdr=c(ge),this.errorHandler=c(H),this.formErrorHandler=c(De),this.translate=c(q),this.store$=c(ee),this.snackbar=c(ye),this.slideInRef=c(we),this.requiredRoles=[L.AccountWrite],this.isFormLoading=j(!1),this.initialGroupRelatedPrivilegesList=[],this.form=this.fb.group({gid:[null,[Q.required,Q.pattern(/^\d+$/)]],name:["",[Q.required,Q.pattern(ei.namePattern)]],sudo_commands:[[]],sudo_commands_all:[!1],sudo_commands_nopasswd:[[]],sudo_commands_nopasswd_all:[!1],smb:[!1],privileges:[[]]}),this.tooltips={gid:pe.groupIdTooltip,name:pe.nameTooltip,privileges:pe.privilegesTooltip,sudo:pe.sudoTooltip,smb:pe.smbTooltip},this.privilegeOptions$=this.api.call("privilege.query").pipe(w(e=>e.map(t=>({label:t.name,value:t.id})))),this.privilegesProvider=e=>this.api.call("privilege.query",[]).pipe(w(t=>t.map(o=>o.name).filter(o=>o.trim().toLowerCase().includes(e.trim().toLowerCase())))),this.ignoreTranslation=Ot,this.slideInRef.requireConfirmationWhen(()=>C(this.form.dirty)),this.editingGroup=this.slideInRef.getData()}ngOnInit(){this.setupForm(),this.getPrivilegesList()}setupForm(){this.setFormRelations(),this.editingGroup?(this.form.controls.gid.disable(),this.form.patchValue({gid:this.editingGroup.gid,name:this.editingGroup.group,sudo_commands:this.editingGroup.sudo_commands?.includes(J)?[]:this.editingGroup.sudo_commands,sudo_commands_all:!!this.editingGroup.sudo_commands?.includes(J),sudo_commands_nopasswd:this.editingGroup.sudo_commands_nopasswd?.includes(J)?[]:this.editingGroup.sudo_commands_nopasswd,sudo_commands_nopasswd_all:this.editingGroup.sudo_commands_nopasswd?.includes(J),smb:this.editingGroup.smb}),this.setNamesInUseValidator(this.editingGroup.group)):(this.api.call("group.get_next_gid").pipe(_(this)).subscribe(e=>{this.form.patchValue({gid:e}),this.cdr.markForCheck()}),this.setNamesInUseValidator())}onSubmit(){let e=this.form.value,t={name:e.name,smb:e.smb,sudo_commands:e.sudo_commands_all?[J]:e.sudo_commands,sudo_commands_nopasswd:e.sudo_commands_nopasswd_all?[J]:e.sudo_commands_nopasswd};this.isFormLoading.set(!0);let i;this.editingGroup?i=this.api.call("group.update",[this.editingGroup.id,t]):i=this.api.call("group.create",[z(W({},t),{gid:e.gid})]),i.pipe(E(o=>this.api.call("group.query",[[["id","=",o]]])),w(o=>o[0]),E(o=>this.togglePrivilegesForGroup(o.gid).pipe(w(()=>o))),_(this)).subscribe({next:o=>{let r=this.privilegesList.filter(l=>this.form.getRawValue().privileges.some(f=>f===l.id)).map(l=>l.builtin_name);this.isNew?(this.snackbar.success(this.translate.instant("Group added")),this.store$.dispatch(gi({group:z(W({},o),{roles:r})}))):(this.snackbar.success(this.translate.instant("Group updated")),this.store$.dispatch(fi({group:z(W({},o),{roles:r})}))),this.isFormLoading.set(!1),this.slideInRef.close({response:!0})},error:o=>{this.isFormLoading.set(!1),this.formErrorHandler.handleValidationErrors(o,this.form)}})}togglePrivilegesForGroup(e){let t=[],i=this.form.value.privileges;return i&&this.privilegesList.filter(r=>i.some(l=>r.id===l)).forEach(r=>{t.push(this.api.call("privilege.update",[r.id,this.mapPrivilegeToPrivilegeUpdate(r,Array.from(new Set([...r.local_groups.map(l=>l.gid),e])))]))}),this.existingPrivilegesRemoved&&this.privilegesList.filter(r=>this.existingPrivilegesRemoved.some(l=>r.id===l)).forEach(r=>{t.push(this.api.call("privilege.update",[r.id,this.mapPrivilegeToPrivilegeUpdate(r,r.local_groups.map(l=>l.gid).filter(l=>l!==e))]))}),t.length?K(t):C([])}getPrivilegesList(){this.api.call("privilege.query",[]).pipe(this.errorHandler.withErrorHandler(),_(this)).subscribe(e=>{this.initialGroupRelatedPrivilegesList=e.filter(t=>this.editingGroup?.gid&&t.local_groups.map(i=>i.gid).includes(this.editingGroup?.gid)),this.privilegesList=e,this.form.controls.privileges.patchValue(this.initialGroupRelatedPrivilegesList.map(t=>t.id))})}setNamesInUseValidator(e){this.api.call("group.query").pipe(_(this)).subscribe(t=>{let i=t.map(o=>o.group);e&&(i=i.filter(o=>o!==e)),this.form.controls.name.addValidators(Xt(i))})}mapPrivilegeToPrivilegeUpdate(e,t){return{local_groups:t,ds_groups:e.ds_groups.map(i=>i.gid),name:e.name,roles:e.roles,web_shell:e.web_shell}}setFormRelations(){this.form.controls.sudo_commands_all.valueChanges.pipe(_(this)).subscribe(e=>{e?this.form.controls.sudo_commands.disable():this.form.controls.sudo_commands.enable()}),this.form.controls.sudo_commands_nopasswd_all.valueChanges.pipe(_(this)).subscribe(e=>{e?this.form.controls.sudo_commands_nopasswd.disable():this.form.controls.sudo_commands_nopasswd.enable()})}get existingPrivilegesRemoved(){return Array.from(new Set(this.initialGroupRelatedPrivilegesList.filter(e=>!this.form.getRawValue().privileges.includes(e.id)).map(e=>e.id)))}static{this.\u0275fac=function(t){return new(t||Ze)}}static{this.\u0275cmp=R({type:Ze,selectors:[["ix-group-form"]],decls:26,vars:46,consts:[[3,"requiredRoles","title","loading"],[1,"ix-form-container",3,"submit","formGroup"],[3,"title"],["formControlName","gid","type","number",3,"label","required","tooltip"],["formControlName","name",3,"label","required","tooltip"],["formControlName","privileges",3,"label","autocompleteProvider","tooltip","resolveValue","resolveOptions","allowNewEntries"],["formControlName","sudo_commands",3,"label"],["formControlName","sudo_commands_all",3,"label"],["formControlName","sudo_commands_nopasswd",3,"label"],["formControlName","sudo_commands_nopasswd_all",3,"label"],["formControlName","smb",3,"label","tooltip"],["mat-button","","type","submit","color","primary","ixTest","save",3,"disabled",4,"ixRequiresRoles"],["mat-button","","type","submit","color","primary","ixTest","save",3,"disabled"]],template:function(t,i){t&1&&(h(0,"ix-modal-header",0),m(1,"mat-card")(2,"mat-card-content")(3,"form",1),v("submit",function(){return i.onSubmit()}),m(4,"ix-fieldset",2),p(5,"translate"),h(6,"ix-input",3),p(7,"translate"),h(8,"ix-input",4),p(9,"translate"),p(10,"translate"),h(11,"ix-chips",5),p(12,"translate"),p(13,"translate"),h(14,"ix-chips",6),p(15,"translate"),h(16,"ix-checkbox",7),p(17,"translate"),h(18,"ix-chips",8),p(19,"translate"),h(20,"ix-checkbox",9),p(21,"translate"),h(22,"
5ix-checkbox",10),p(23,"translate"),u(),m(24,"ix-form-actions"),M(25,Ni,3,4,"button",11),u()()()()),t&2&&(s("requiredRoles",i.requiredRoles)("title",i.title)("loading",i.isFormLoading()),a(3),s("formGroup",i.form),a(),s("title",d(5,24,"Group Configuration")),a(2),s("label",i.ignoreTranslation("GID"))("required",!0)("tooltip",d(7,26,i.tooltips.gid)),a(2),s("label",d(9,28,"Name"))("required",!0)("tooltip",d(10,30,i.tooltips.name)),a(3),s("label",d(12,32,"Privileges"))("autocompleteProvider",i.privilegesProvider)("tooltip",d(13,34,i.tooltips.privileges))("resolveValue",!0)("resolveOptions",i.privilegeOptions$)("allowNewEntries",!1),a(3),s("label",d(15,36,"Allowed sudo commands")),a(2),s("label",d(17,38,"Allow all sudo commands")),a(2),s("label",d(19,40,"Allowed sudo commands with no password")),a(2),s("label",d(21,42,"Allow all sudo commands with no password")),a(2),s("label",d(23,44,"SMB Group"))("tooltip",i.tooltips.smb),a(3),s("ixRequiresRoles",i.requiredRoles))},dependencies:[Ie,ne,ae,ie,ve,te,be,xe,_e,Ce,Se,Re,Me,se,oe,F,A,B,T,D],encapsulation:2,changeDetection:0})}};me=Ei([N()],me);var Bi=function(n,e,t,i){var o=arguments.length,r=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,l;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")r=Reflect.decorate(n,e,t,i);else for(var f=n.length-1;f>=0;f--)(l=n[f])&&(r=(o<3?l(r):o>3?l(e,t,r):l(e,t))||r);return o>3&&r&&Object.defineProperty(e,t,r),r},Fi=n=>[n],Ai=n=>[n,"members"],Oi=n=>[n,"edit"],qi=n=>[n,"delete"];function ki(n,e){if(n&1){let t=S();m(0,"button",2),v("click",function(){x(t);let o=g();return y(o.openGroupMembersForm())}),h(1,"ix-icon",3),m(2,"span"),b(3),p(4,"translate"),u()()}if(n&2){let t=g();s("ixTest",V(4,Ai,t.group().group)),a(3),O(d(4,2,"Members"))}}function Vi(n,e){if(n&1){let t=S();m(0,"button",2),v("click",function(){x(t);let o=g();return y(o.doEdit(o.group()))}),h(1,"ix-icon",4),m(2,"span"),b(3),p(4,"translate"),u()()}if(n&2){let t=g();s("ixTest",V(4,Oi,t.group().group)),a(3),O(d(4,2,"Edit"))}}function Ui(n,e){if(n&1){let t=S();m(0,"button",6),p(1,"translate"),v("click",function(){x(t);let o=g(2);return y(o.doDelete(o.group()))}),h(2,"ix-icon",7),m(3,"span"),b(4),p(5,"translate"),u()()}if(n&2){let t=g(2);s("disabled",t.isDeleteDisabled())("matTooltip",t.isDeleteDisabled()?d(1,4,t.deleteNotAllowedMsg):null)("ixTest",V(8,qi,t.group().group)),a(4),O(d(5,6,"Delete"))}}function $i(n,e){if(n&1&&(mt(0),G(1,Ui,6,10,"button",5),dt()),n&2){let t=g();a(),I(t.group().builtin?-1:1)}}var ke=class Ke{constructor(){this.slideIn=c(re),this.router=c(fe),this.matDialog=c(Dt),this.group=de.required(),this.colspan=de(),this.delete=_t(),this.deleteNotAllowedMsg="Groups with privileges or members cannot be deleted.",this.Role=L}doEdit(e){this.slideIn.open(me,{data:e})}isDeleteDisabled(){return!!this.group()?.roles?.length||!!this.group()?.users?.length}openGroupMembersForm(){this.router.navigate(["/","credentials","groups",this.group().id,"members"])}doDelete(e){this.matDialog.open(qe,{data:e}).afterClosed().pipe(_(this)).subscribe(t=>{t&&this.delete.emit(e.id)})}static{this.\u0275fac=function(t){return new(t||Ke)}}static{this.\u0275cmp=R({type:Ke,selectors:[["ix-group-details-row"]],inputs:{group:[1,"group"],colspan:[1,"colspan"]},outputs:{delete:"delete"},decls:5,vars:6,consts:[["mat-button","",3,"ixTest"],[4,"ixRequiresRoles"],["mat-button","",3,"click","ixTest"],["name","people"],["name","edit"],["mat-button","",3,"disabled","matTooltip","ixTest"],["mat-button","",3,"click","disabled","matTooltip","ixTest"],["name","mdi-delete"]],template:function(t,i){t&1&&(m(0,"td")(1,"ix-table-expandable-row"),G(2,ki,5,6,"button",0),G(3,Vi,5,6,"button",0),M(4,$i,2,1,"ng-container",1),u()()),t&2&&(st("colspan",i.colspan()),a(2),I(i.group().local?2:-1),a(),I(!i.group().builtin&&i.group().local&&!i.group().immutable?3:-1),a(),s("ixRequiresRoles",V(4,Fi,i.Role.AccountWrite)))},dependencies:[Ci,A,B,Ft,F,T,Bt,D],styles:[`[_nghost-%COMP%]{display:table-row}
6/*# sourceMappingURL=group-details-row.component-XBTPTGAJ.css.map */`],changeDetection:0})}};ke=Bi([N()],ke);
6var yi={hierarchy:["Credentials","Groups"],anchorRouterLink:["/credentials","groups"],elements:{list:{anchor:"groups-list",synonyms:["Local Groups"]},add:{hierarchy:["Add Group"],synonyms:["New Group","Create Group","Group","Add Local Group"],anchor:"add-group"},showBuiltIn:{hierarchy:["Show Built-in Groups"]}}};var ji=function(n,e,t,i){var o=arguments.length,r=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,l;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")r=Reflect.decorate(n,e,t,i);else for(var f=n.length-1;f>=0;f--)(l=n[f])&&(r=(o<3?l(r):o>3?l(e,t,r):l(e,t))||r);return o>3&&r&&Object.defineProperty(e,t,r),r},Hi=()=>["/credentials","groups","privileges"];function Wi(n,e){if(n&1){let t=S();m(0,"button",11),v("click",function(){x(t);let o=g();return y(o.doAdd())}),b(1),p(2,"translate"),u()}if(n&2){let t=g();s("ixUiSearch",t.searchableElements.elements.add)("color","primary"),a(),P(" ",d(2,3,"Add")," ")}}function zi(n,e){if(n&1){let t=S();m(0,"ix-group-details-row",12),v("delete",function(o){x(t);let r=g();return y(r.handleDeletedGroup(o))}),u()}if(n&2){let t=e.$implicit;s("group",t)}}var Ve=class Xe{constructor(){this.emptyService=c(Le),this.slideIn=c(re),this.cdr=c(ge),this.store$=c(ee),this.translate=c(q),this.requiredRoles=[L.AccountWrite],this.searchableElements=yi,this.dataProvider=new oi,this.columns=Ee([$({title:this.translate.instant("Group"),propertyName:"group"}),$({title:this.translate.instant("GID"),propertyName:"gid"}),le({title:this.translate.instant("Builtin"),propertyName:"builtin"}),le({title:this.translate.instant("Allows sudo commands"),getValue:e=>!!e.sudo_commands?.length}),le({title:this.translate.instant("Samba Authentication"),propertyName:"smb"}),$({title:this.translate.instant("Roles"),getValue:e=>e.roles.map(t=>this.translate.instant(U.get(t)||t)).join(", ")||this.translate.instant("N/A")})],{uniqueRowTag:e=>"group-"+e.group,ariaLabels:e=>[e.group,this.translate.instant("Group")]}),this.hideBuiltinGroups=!0,this.filterString="",this.groups=[],this.isLoading$=this.store$.select(Je).pipe(w(e=>e.isLoading)),this.emptyType$=K([this.isLoading$,this.store$.select(_i).pipe(w(e=>e===0)),this.store$.select(Je).pipe(w(e=>e.error))]).pipe(E(([e,t,i])=>{switch(!0){case e:return C(ce.Loading);case!!i:return C(ce.Errors);case t:return C(ce.NoPageData);default:return C(ce.NoSearchResults)}}))}get emptyConfigService(){return this.emptyService}ngOnInit(){this.store$.dispatch(hi()),this.getPreferences(),this.getGroups(),this.setDefaultSort()}toggleBuiltins(){this.store$.dispatch(Wt())}doAdd(){this.slideIn.open(me)}onListFiltered(e){this.filterString=e,this.dataProvider.setFilter({list:this.groups,query:e,columnKeys:["group","gid"]})}handleDeletedGroup(e){this.store$.dispatch(bi({id:e}))}getPreferences(){this.store$.pipe(Ht,_(this)).subscribe(e=>{this.hideBuiltinGroups=e.hideBuiltinGroups,this.cdr.markForCheck()})}getGroups(){this.store$.pipe(wt(vi),_(this)).subscribe({next:e=>{this.groups=e,this.filterString="",this.onListFiltered(this.filterString),this.cdr.markForCheck()},error:()=>{this.groups=[],this.dataProvider.setRows(this.groups),this.cdr.markForCheck()}})}setDefaultSort(){this.dataProvider.setSorting({active:1,direction:ii.Asc,propertyName:"gid"})}static{this.\u0275fac=function(t){return new(t||Xe)}}static{this.\u0275cmp=R({type:Xe,selectors:[["ix-group-list"]],decls:19,vars:28,consts:[[3,"search","value"],["color","primary","ixTest","show-built-in-groups",3,"change","checked"],[3,"ixUiSearch"],["mat-button","","color","accent","ixTest","privileges",3,"routerLink"],["mat-button","","ixTest","add-group",3,"ixUiSearch","color","click",4,"ixRequiresRoles"],[1,"table-container",3,"ixUiSearch"],[3,"ix-table-empty","emptyConfig"],["ix-table-head","",3,"columns","dataProvider"],["ix-table-body","",3,"columns","dataProvider","isLoading"],["ix-table-details-row","",3,"dataProvider"],[3,"dataProvider"],["mat-button","","ixTest","add-group",3,"click","ixUiSearch","color"],[3,"delete","group"]],template:function(t,i){t&1&&(m(0,"ix-page-header")(1,"ix-search-input1",0),v("search",function(r){return i.onListFiltered(r)}),u(),m(2,"mat-slide-toggle",1),v("change",function(){return i.toggleBuiltins()}),m(3,"label",2),b(4),p(5,"translate"),u()(),m(6,"a",3),b(7),p(8,"translate"),u(),M(9,W
6i,3,5,"button",4),u(),m(10,"div",5)(11,"ix-table",6),p(12,"async"),p(13,"async"),h(14,"thead",7),m(15,"tbody",8),p(16,"async"),M(17,zi,1,1,"ng-template",9),u()(),h(18,"ix-table-pager",10),u()),t&2&&(a(),s("value",i.filterString),a(),s("checked",!i.hideBuiltinGroups),a(),s("ixUiSearch",i.searchableElements.elements.showBuiltIn),a(),O(d(5,17,"Show Built-in Groups")),a(2),s("routerLink",vt(27,Hi)),a(),P(" ",d(8,19,"Privileges")," "),a(2),s("ixRequiresRoles",i.requiredRoles),a(),s("ixUiSearch",i.searchableElements.elements.list),a(),s("ix-table-empty",!d(12,21,i.dataProvider.currentPageCount$))("emptyConfig",i.emptyConfigService.defaultEmptyConfig(d(13,23,i.emptyType$))),a(3),s("columns",i.columns)("dataProvider",i.dataProvider),a(),s("columns",i.columns)("dataProvider",i.dataProvider)("isLoading",!!d(16,25,i.isLoading$)),a(2),s("dataProvider",i.dataProvider),a(),s("dataProvider",i.dataProvider))},dependencies:[ti,Ut,B,Te,Ct,yt,F,Ne,Ae,Fe,Be,ri,ke,Oe,T,Ge,D,X],styles:[`.table-container[_ngcontent-%COMP%]     ix-empty-row{background:var(--bg2);border-left:1px solid var(--contrast-lighter);border-right:1px solid var(--contrast-lighter)}
7/*# sourceMappingURL=group-list.component-Z5AH46MI.css.map */`],changeDetection:0})}};Ve=ji([N()],Ve);var Qi=function(n,e,t,i){var o=arguments.length,r=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,l;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")r=Reflect.decorate(n,e,t,i);else for(var f=n.length-1;f>=0;f--)(l=n[f])&&(r=(o<3?l(r):o>3?l(e,t,r):l(e,t))||r);return o>3&&r&&Object.defineProperty(e,t,r),r},Ji=n=>({name:n});function Yi(n,e){n&1&&h(0,"mat-progress-bar",1)}function Zi(n,e){n&1&&h(0,"ix-readonly-badge")}function Ki(n,e){if(n&1&&(m(0,"mat-card-title"),b(1),p(2,"translate"),G(3,Zi,1,0,"ix-readonly-badge"),p(4,"async"),u()),n&2){let t,i=g();a(),P(" ",he(2,2,"Manage members of {name} group",V(7,Ji,((t=i.group())==null?null:t.group)||""))," "),a(2),I(i.requiredRoles.length&&!d(4,5,i.hasRequiredRoles)?3:-1)}}function Xi(n,e){if(n&1){let t=S();m(0,"ix-dual-listbox",5),p(1,"translate"),p(2,"translate"),bt("destinationChange",function(o){x(t);let r=g();return ft(r.selectedMembers,o)||(r.selectedMembers=o),y(o)}),u()}if(n&2){let t=g();s("listItemIcon",t.iconMarker("mdi-account"))("sourceName",d(1,5,"All Users"))("targetName",d(2,7,"Group Members"))("source",t.users()),gt("destination",t.selectedMembers)}}function eo(n,e){if(n&1){let t=S();m(0,"button",6),v("click",function(){x(t);let o=g();return y(o.onSubmit())}),b(1),p(2,"translate"),u()}if(n&2){let t=g();s("disabled",t.isLoading()),a(),P(" ",d(2,2,"Save")," ")}}var Ue=class et{constructor(){this.api=c(k),this.activatedRoute=c(xt),this.router=c(fe),this.errorHandler=c(H),this.authService=c(kt),this.requiredRoles=[L.AccountWrite],this.iconMarker=Qe,this.selectedMembers=[],this.users=j([]),this.isLoading=j(!1),this.group=j(null)}get hasRequiredRoles(){return this.authService.hasRole(this.requiredRoles)}ngOnInit(){this.isLoading.set(!0),this.activatedRoute.params.pipe(E(e=>ot([this.api.call("group.query",[[["id","=",parseInt(e.pk)]]]),this.api.call("user.query",[[["local","=",!0]]])])),_(this)).subscribe(([e,t])=>{let i=e[0];this.group.set(i),this.users.set(t),this.selectedMembers=t.filter(o=>i.users.includes(o.id)),this.isLoading.set(!1)})}onCancel(){this.router.navigate(["/","credentials","groups"])}onSubmit(){this.isLoading.set(!0);let e=this.selectedMembers.map(t=>t.id);this.api.call("group.update",[this.group().id,{users:e}]).pipe(_(this)).subscribe({next:()=>{this.isLoading.set(!1),this.router.navigate(["/","credentials","groups"])},error:t=>{this.isLoading.set(!1),this.errorHandler.showErrorModal(t)}})}static{this.\u0275fac=function(t){return new(t||et)}}static{this.\u0275cmp=R({type:et,selectors:[["ix-group-members"]],decls:10,vars:7,consts:[[1,"form-card"],["mode","indeterminate"],["display","username","key","id","height","55vh",1,"padding-16",3,"listItemIcon","sourceName","targetName","source","destination"],["mat-button","","color","primary","ixTest","save",3,"disabled","click",4,"ixRequiresRoles"],["mat-button","","ixTest","cancel",3,"click"],["display","username","key","id","height","55vh",1,"padding-16",3,"destinationChange","listItemIcon","sourceName","targetName","source","destination"],["mat-button","","color","primary","ixTest","save",3,"click","disabled"]],template:function(t,i){if(t&1&&(m(0,"mat-card",0),G(1,Yi,1,0,"mat-progress-bar",1),G(2,Ki,5,9,"mat-card-title"),m(3,"mat-card-content"),G(4,Xi,3,9,"ix-dual-listbox",2),u(),m(5,"mat-card-actions"),M(6,eo,3,4,"button",3),m(7,"button",4),v("click",function(){return i.onCancel()}),b(8),p(9,"translate"),u()()()),t&2){let o;a(),I(i.isLoading()?1:-1),a(),I((o=i.group())!=null&&o.group?2:-1),a(2),I(i.users().length?4:-1),a(2),s("ixRequiresRoles",i.requiredRoles),a(2),O(d(9,5,"Cancel"))}},dependencies:[si,ne,At,$t,Kt,ae,jt,F,A,B,T,D,X],styles:[`mat-card-title[_ngcontent-%COMP%]{align-items:center;display:flex}mat-card-title[_ngcontent-%COMP%]   ix-readonly-badge[_ngcontent-%COMP%]{margin-left:8px}.padding-16[_ngcontent-%COMP%]{padding:16px}.form-card[_ngcontent-%COMP%]   .mat-mdc-card-title[_ngcontent-%COMP%]{margin-left:16px;margin-top:12px}
8/*# sourceMappingURL=group-members.component-LI22MVOK.css.map */`],changeDetection:0})}};Ue=Qi([N()],Ue);var Pi={minimalRolesTooltip:"Only Readonly Admin, Sharing Admin or Full Admin roles are supported in WebUI."};var to=function(n,e,t,i){var o=arguments.length,r=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,l;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")r=Reflect.decorate(n,e,t,i);else for(var f=n.length-1;f>=0;f--)(l=n[f])&&(r=(o<3?l(r):o>3?l(e,t,r):l(e,t))||r);return o>3&&r&&Object.defineProperty(e,t,r),r};function io(n,e){n&1&&(h(0,"ix-group-chips",4),p(1,"translate")),n&2&&s("label",d(1,1,"Directory Services Groups"))}function oo(n,e){if(n&1&&(m(0,"button",8),b(1),p(2,"translate"),u()),n&2){let t=g();s("disabled",!t.form.valid||t.isLoading()),a(),P(" ",d(2,2,"Save")," ")}}var $e=class tt{get isNew(){return!this.existingPrivilege}get title(){return this.isNew?this.translate.instant("New Privilege"):this.translate.instant("Edit Privilege")}constructor(){this.formBuilder=c(Zt),this.translate=c(q),this.api=c(k),this.errorHandler=c(De),this.store$=c(ee),this.dialog=c(Pe),this.slideInRef=c(we),this.requiredRoles=[L.PrivilegeWrite],this.GROUP_QUERY_LIMIT=50,this.isLoading=j(!1),this.form=this.formBuilder.group({name:["",[Q.required]],local_groups:[[]],ds_groups:[[]],web_shell:[!1],roles:[[]]}),this.helptext=Pi,this.isEnterprise=Pt(this.store$.select(zt)),this.rolesOptions$=this.api.call("privilege.roles").pipe(w(e=>e.toSorted((i,o)=>i.builtin===o.builtin?i.name.localeCompare(o.name):i.builtin?1:-1).map(i=>({label:this.translate.instant(U.get(i.name)||i.name),value:i.name})))),this.localGroupsProvider=e=>{let t=e?.trim().toLowerCase()||"",i=[["local","=",!0]];return t&&i.push(["group","^",t]),this.api.call("group.query",[i,{limit:this.GROUP_QUERY_LIMIT,order_by:["group"]}]).pipe(w(o=>{let r=o.map(l=>l.group);return t?r.filter(l=>l.toLowerCase().includes(t)):r}))},this.slideInRef.requireConfirmationWhen(()=>C(this.form.dirty)),this.existingPrivilege=this.slideInRef.getData()}ngOnInit(){this.existingPrivilege&&(this.setPrivilegeForEdit(this.existingPrivilege),this.existingPrivilege.builtin_name&&(this.form.controls.name.disable(),this.form.controls.roles.disable()))}setPrivilegeForEdit(e){this.form.patchValue(z(W({},e),{local_groups:e.local_groups.map(t=>t.group||this.translate.instant("Missing group - {gid}",{gid:t.gid})),ds_groups:e.ds_groups.map(t=>t.group)}))}onSubmit(){this.isLoading.set(!0),K([this.localGroupsUids$,this.dsGroupsUids$]).pipe(E(([e,t])=>{let i=z(W({},this.form.value),{local_groups:e,ds_groups:t});return this.existingPrivilege?this.api.call("privilege.update",[this.existingPrivilege.id,i]):this.api.call("privilege.create",[i])}),E(()=>this.store$.pipe(Yt)),E(e=>this.isEnterprise()&&!e.ds_auth?this.enableDsAuth():C(null)),We(()=>this.isLoading.set(!1)),_(this)).subscribe({next:()=>{this.slideInRef.close({response:!0})},error:e=>{this.errorHandler.handleValidationErrors(e,this.form)}})}enableDsAuth(){return this.dialog.confirm({title:this.translate.instant("Allow access"),message:this.translate.instant("Allow Directory Service users to access WebUI?"),buttonText:this.translate.instant("Allow")}).pipe(E(e=>e?this.api.call("system.general.update",[{ds_auth:!0}
8]).pipe(We(()=>this.store$.dispatch(Jt()))):C(null)))}get localGroupsUids$(){let e=this.form.value.local_groups;return e.length?this.api.call("group.query",[[["local","=",!0],["group","in",e]]]).pipe(w(t=>{let i=new Set(t.map(r=>r.group)),o=e.filter(r=>!i.has(r));if(o.length>0)throw new Error(this.translate.instant("The following local groups were not found: {groups}. They may have been deleted.",{groups:o.join(", ")}));return t.map(r=>r.gid)})):C([])}get dsGroupsUids$(){let e=this.form.value.ds_groups;return e.length?this.api.call("group.query",[[["local","=",!1],["group","in",e]]]).pipe(w(t=>{let i=new Set(t.map(r=>r.group)),o=e.filter(r=>!i.has(r));if(o.length>0)throw new Error(this.translate.instant("The following directory service groups were not found: {groups}. They may have been deleted.",{groups:o.join(", ")}));return t.map(r=>r.gid)})):C([])}static{this.\u0275fac=function(t){return new(t||tt)}}static{this.\u0275cmp=R({type:tt,selectors:[["ix-privilege-form"]],decls:17,vars:27,consts:[[3,"requiredRoles","title","loading"],[1,"ix-form-container",3,"submit","formGroup"],["formControlName","name",3,"label","required"],["formControlName","local_groups",3,"label","autocompleteProvider","allowNewEntries"],["formControlName","ds_groups",3,"label"],["formControlName","roles",3,"label","options","multiple","showSelectAll","hint"],["formControlName","web_shell",3,"label"],["type","submit","mat-button","","color","primary","ixTest","save",3,"disabled",4,"ixRequiresRoles"],["type","submit","mat-button","","color","primary","ixTest","save",3,"disabled"]],template:function(t,i){t&1&&(h(0,"ix-modal-header",0),m(1,"mat-card")(2,"mat-card-content")(3,"form",1),v("submit",function(){return i.onSubmit()}),m(4,"ix-fieldset"),h(5,"ix-input",2),p(6,"translate"),h(7,"ix-chips",3),p(8,"translate"),G(9,io,2,3,"ix-group-chips",4),h(10,"ix-select",5),p(11,"translate"),p(12,"translate"),h(13,"ix-checkbox",6),p(14,"translate"),u(),m(15,"ix-form-actions"),M(16,oo,3,4,"button",7),u()()()()),t&2&&(s("requiredRoles",i.requiredRoles)("title",i.title)("loading",i.isLoading()),a(3),s("formGroup",i.form),a(2),s("label",d(6,17,"Name"))("required",!0),a(2),s("label",d(8,19,"Local Groups"))("autocompleteProvider",i.localGroupsProvider)("allowNewEntries",!1),a(2),I(i.isEnterprise()?9:-1),a(),s("label",d(11,21,"Roles"))("options",i.rolesOptions$)("multiple",!0)("showSelectAll",!0)("hint",d(12,23,i.helptext.minimalRolesTooltip)),a(3),s("label",d(14,25,"Web Shell Access")),a(3),s("ixRequiresRoles",i.requiredRoles))},dependencies:[Ie,ne,ae,ie,ve,te,be,xe,_e,Ce,Se,Re,Me,ni,Vt,se,oe,F,A,B,T,D],encapsulation:2,changeDetection:0})}};$e=to([N()],$e);var wi={hierarchy:["Credentials","Groups","Privileges"],anchorRouterLink:["/credentials","groups","privileges"],elements:{list:{anchor:"privileges-list",synonyms:["Privileges List","RBAC","Roles","Permissions"]},add:{hierarchy:["Add Privilege"],synonyms:["Add Privilege","New Privilege","Create Privilege","Privilege"],anchor:"add-privilege"}}};var ro=function(n,e,t,i){var o=arguments.length,r=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,l;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")r=Reflect.decorate(n,e,t,i);else for(var f=n.length-1;f>=0;f--)(l=n[f])&&(r=(o<3?l(r):o>3?l(e,t,r):l(e,t))||r);return o>3&&r&&Object.defineProperty(e,t,r),r};function no(n,e){if(n&1){let t=S();m(0,"button",11),v("click",function(){x(t);let o=g();return y(o.openForm())}),b(1),p(2,"translate"),u()}if(n&2){let t=g();s("color","primary")("ixUiSearch",t.searchableElements.elements.add),a(),P(" ",d(2,3,"Add")," ")}}var je=class it{constructor(){this.slideIn=c(re),this.api=c(k),this.translate=c(q),this.dialogService=c(Pe),this.emptyService=c(Le),this.errorHandler=c(H),this.requiredRoles=[L.PrivilegeWrite],this.advancedSearchPlaceholder=this.translate.instant('Name ^ "Local" AND "Web Shell Access" = true'),this.searchProperties=[],this.searchableElements=wi,this.columns=Ee([$({title:this.translate.instant("Name"),propertyName:"name"}),$({title:this.translate.instant("Roles"),getValue:e=>e.roles.map(t=>this.translate.instant(U.get(t)||t)).join(", ")||this.translate.instant("N/A"),disableSorting:!0}),$({title:this.translate.instant("Local Groups"),getValue:e=>e.local_groups.length,disableSorting:!0}),$({title:this.translate.instant("DS Groups"),getValue:e=>e.ds_groups.length,disableSorting:!0}),le({title:this.translate.instant("Web Shell Access"),propertyName:"web_shell"}),ai({actions:[{iconName:"edit",tooltip:this.translate.instant("Edit"),onClick:e=>this.openForm(e)},{iconName:"mdi-delete",tooltip:this.translate.instant("Delete"),onClick:e=>this.doDelete(e),hidden:e=>C(!!e.builtin_name),requiredRoles:this.requiredRoles}]})],{uniqueRowTag:e=>"privilege-"+e.name,ariaLabels:e=>[e.name,this.translate.instant("Privilege")]}),this.privileges=[],this.pagination={pageSize:50,pageNumber:1},this.groupsSuggestions$=this.api.call("group.query",[[["local","=",!0]]]).pipe(w(e=>e.map(t=>({label:t.group,value:`"${t.group}"`}))),rt(1),nt({refCount:!0,bufferSize:1})),this.rolesSuggestions$=C(Object.values(L)).pipe(w(e=>e.map(t=>({label:this.translate.instant(U.get(t)||t),value:`"${this.translate.instant(U.get(t)||t)}"`}))))}ngOnInit(){this.dataProvider=new ui(this.api,"privilege.query"),this.dataProvider.paginationStrategy=new li,this.dataProvider.sortingStrategy=new pi,this.getPrivileges(),this.setSearchProperties()}openForm(e){this.slideIn.open($e,{data:e}).pipe(He(t=>!!t.response),_(this)).subscribe(()=>{this.getPrivileges()})}doDelete(e){this.dialogService.confirm({title:this.translate.instant("Delete Privilege"),message:this.translate.instant("Are you sure you want to delete the <b>{name}</b>?",{name:e.name}),buttonColor:"warn",buttonText:this.translate.instant("Delete")}).pipe(He(Boolean),E(()=>this.api.call("privilege.delete",[e.id])),_(this)).subscribe({next:()=>{this.getPrivileges()},error:t=>{this.errorHandler.showErrorModal(t)}})}onSearch(e){if(e){if(this.searchQuery=e,e?.isBasicQuery){let t=`(?i)${e.query||""}`,i=new mi().filter("name","~",t).getParams();this.dataProvider.setParams(i)}e&&!e.isBasicQuery&&this.dataProvider.setParams([e.filters]),this.dataProvider.load()}}setSearchProperties(){this.searchProperties=[ue("name",this.translate.instant("Name"),C([])),ci("web_shell",this.translate.instant("Web Shell Access")),ue("local_groups.*.name",this.translate.instant("Local Groups Name"),this.groupsSuggestions$),ue("ds_groups.*.name",this.translate.instant("DS Groups Name"),this.groupsSuggestions$),ue("roles",this.translate.instant("Roles"),this.rolesSuggestions$,U)]}getPrivileges(){this.dataProvider.load()}static{this.\u0275fac=function(t){return new(t||it)}}static{this.\u0275cmp=R({type:it,selectors:[["ix-privilege-list"]],decls:17,vars:24,consts:[["searchInput",""],[1,"search-container"],[1,"search-input",3,"runSearch","properties","query","advancedSearchPlaceholder"],[1,"search-button-wrapper"],["mat-button","","type","button","ixTest","search",3,"click"],["mat-button","","ixTest","add-privilege",3,"color","ixUiSearch","click",4,"ixRequiresRoles"],[1,"table-container"],[3,"ix-table-empty","emptyConfig","ixUiSearch"],["ix-table-head","",3,"columns","dataProvider"],["ix-table-body","",3,"columns","dataProvider","isLoading"],[3,"dataProvider","pageSize","currentPage"],["mat-button","","ixTest","add-privilege",3,"click","color","ixUiSearch"]],template:function(t,i){if(t&1){let o=S();m(0,"ix-page-header")(1,"div",1)(2,"ix-search-input2",2,0),v("runSearch",function(){x(o);let l=ze(3);return y(i.onSearch(l.query()))}),u(),m(4,"div",3)(5,"button",4),v("click",function(){x(o);let l=ze(3);return y(i.onSearch(l.query()))}),b(6),p(7,"translate"),u(),M(8,no,3,5,"button",5),u()()(),m(9,"div",6)(10,"ix-table",7),p(11,"async"),p(12,"async"),h(13,"thead",8)(14,"tbody",9),p(15,"async"),u(),h(16,"ix-table-pager",10),u()}t&2&&(a(2),s("properties",i.searchProperties)("query",i.searchQuery)("advancedSearchPlaceholder",i.advancedSearchPlaceholder),a(4),P(" ",d(7,16,"Search")," "),a(2),s("ixRequiresRoles",i.requiredRoles),a(2),s("ix-table-empty",!d(11,18,i.dataProvider.currentPageCount$))("emptyConfig",i.emptyService.defaultEmptyConfig(d(12,20,i.dataProvider.emptyType$)))("ixUiSearch",i.searchableElements.elements.list),a(3),s("columns",i.columns)("dataProvider",i.dataProvider),a(),s("columns",i.columns)("dataProvider",i.dataProvider)("isLoading",!!d(15,22,i.dataProvider.isLoading$)),a(2),s("dataProvider",i.dataProvider)("pageSize",+i.pagination.pageSize)("currentPage",+i.pagination.pageNumber))},dependencies:[A,B,F,Te,Ne,Ae,Fe,Be,Oe,T,Ge,di,D,X],styles:[`.search-container[_ngcontent-%COMP%]{align-items:flex-end;column-gap:12px;display:flex}@media (max-width: 1280px){.search-container[_ngcontent-%COMP%]{min-width:60vw}}@media (max-width: 767px){.search-container[_ngcontent-%COMP%]{display:grid;gap:8px;width:100%}}.search-container[_ngcontent-%COMP%]   .search-button-wrapper[_ngcontent-%COMP%]{display:flex;gap:8px;justify-content:flex-end}
9/*# sourceMappingURL=privilege-list.component-W6MU7BNY.css.map */`],changeDetection:0})}};je=ro([N()],je);var ps=[{path:"",component:Ve,data:{title:"Groups",breadcrumb:"Groups"}},{path:":pk/members",component:Ue,data:{title:"Update Members",breadcrumb:"Members"}},{path:"privileges",component:je,data:{title:"Privileges",breadcrumb:"Privileges"}}];export{ps as groupRoutes};
10//# sourceMappingURL=chunk-ZHV42YJ3.js.map
11
12//# debugId=e4e504a9-8d88-59de-a334-7bb99e477b21

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.