1import{a as dn,b as fn,c as hn}from"./chunk-QZ5LQOFA.js";import{a as un}from"./chunk-332V4C7F.js";import{a as Xo,b as mn}from"./chunk-UQH2J6IT.js";import{a as _n,b as Zo,d as ea,e as ta}from"./chunk-SXJIWRDR.js";import{a as xe}from"./chunk-ZI2VRKGG.js";import{a as ri}from"./chunk-MBKXSFQM.js";import{Aa as Qo,Ba as we,Ca as _i,F as Xt,Fa as wi,Ga as Ko,H as ae,Ha as Yo,I as mr,J as Go,Ka as Jo,M as Bo,N as $o,P as pn,Ra as Oe,S as He,Sa as Ot,Ta as H,U as he,Ua as $i,V as At,Va as ze,W as Ae,X as Ii,Xa as ki,Y as qo,b as Q,ba as jo,bb as Dt,ca as pt,da as Ho,f as rn,ha as q,ja as mt,jb as Ze,kb as ai,ma as di,n as Po,o as je,p as Ft,pa as zo,r as No,s as oi,wa as Ei,x as cn,xa as Bi,y as Ie,ya as ui,za as Wo}from"./chunk-JQO2TWQ6.js";import{A as Pt,C as Qt,I as Xe,J as St,m as tt,w as yt,z as Je}from"./chunk-FJGCPGIF.js";import{g as Lo}from"./chunk-4RNQWIV6.js";import{a as nn,b as ei,c as xi,d as on,e as Gi,g as Ro,i as $e,l as an,m as Ye,o as se,p as ot}from"./chunk-CJHUNIC5.js";import{a as Be}from"./chunk-7ZMQM2WN.js";import{a as mi}from"./chunk-UOFOCZLC.js";import{a as Mi,b as oe}from"./chunk-7EJNEQFC.js";import{B as Ce,D as ft,E as pe,M as Lt,O as X,P as Vo,R as B,S as Fe,T as Pe,b as Y,d as G,f as $,g as J,h as it,j as Kt,k as j,m as at,n as ne,o as sn,p as xt,q as Ti,r as Ao,s as Yt,t as Jt,u as ee,v as te,w as Oo,x as Do,y as ln}from"./chunk-6BME2YS5.js";import{$a as Ji,$b as Ne,$c as wo,A as Ki,Aa as ho,Ab as ht,Ad as V,B as ao,Ba as _e,Bb as gt,C as Rt,Cb as ut,D as ro,Dc as nt,Fa as go,Fb as E,Fc as To,Gb as bo,H as so,Hb as b,Ib as yo,J as Ci,Jb as d,Jc as Mo,Kc as Ht,Lc as bt,N as F,Na as vi,Nb as K,Nc as Io,O as lo,Ob as z,Oc as zt,Pb as W,Q as co,Qb as N,Qc as tn,R as pi,Ra as o,Rc as Le,Sb as fe,T as We,Tb as Xi,U as po,Ub as m,V as Bt,Vb as _,Wb as M,Xb as vt,Xc as Si,Yb as Gn,Yc as Eo,Z,_ as mo,_a as R,_b as Ve,a as qe,ac as Ge,b as Ct,ba as uo,bb as bi,bc as So,bd as Ue,ca as _t,cc as Zi,db as T,f as pr,fa as lt,fc as xo,g as ci,ga as dt,gc as ni,ha as _o,hc as Re,hd as ko,ia as et,ib as k,ic as Ut,j as jt,ja as be,jb as Co,jd as me,kb as vo,kd as Wt,l as Wi,la as fo,lc as c,ld as de,mb as C,mc as p,n as Ke,nc as Te,ob as v,oc as en,od as Et,pa as ce,pb as Ni,pc as Bn,qa as Yi,qb as ke,qc as I,qd as Me,r as ue,rb as ye,rd as Uo,sb as Se,t as O,ta as h,tb as u,u as Qi,ub as r,ud as ge,vb as s,vc as ct,vd as Fo,w as no,wa as y,wb as g,wd as P,x as U,xa as S,xb as ii,xd as D,y as gi,yb as yi,z as oo,zb as Nn}from"./chunk-BUIIXSYE.js";var Tt=(()=>{class n{constructor(){this._unsavedChanges=!1}initialize(){this.resetUnsavedChangesFlag()}trackChanges(e){this._unsavedChanges=e}hasUnsavedChanges(){return this._unsavedChanges}resetUnsavedChangesFlag(){this._unsavedChanges=!1}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275prov=ce({token:n,factory:n.\u0275fac,providedIn:"root"})}}return n})();var Vt=()=>ci(null,null,function*(){let n=h(Tt),l=h(B);if(n.hasUnsavedChanges()){let e=l.open(ae);e.componentInstance.title="common.unsaved_changes.title",e.componentInstance.text="common.unsaved_changes.text",e.componentInstance.saveButtonText="common.unsaved_changes.submit_text";try{let t=yield e.result;return t.preset&&n.resetUnsavedChangesFlag(),t.preset}catch(t){return!1}}else return!0});var Zt=(()=>{class n{constructor(){this._httpClient=h(Ue),this._configService=h(Me)}getLocations(e,t){let i=`${this._configService.baseConfig.baseUrl}${this._configService.baseConfig.extension}/locations`;return this._httpClient.get(i,{observe:"response"}).pipe(U(a=>se.isAccepted(a.status)?e&&t?this.sortLocal(a.body,e,t):a.body:null),F(()=>O(null)))}searchLocations(e,t,i,a="name",f="asc"){let x=`${this._configService.baseConfig.baseUrl}${this._configService.baseConfig.extension}/locations/search`;t!=null&&i!=null&&(x+=`?pageSize=${i}&pageNumber=${t}`),x+=`&sortField=${a}&sortDir=${f}`;let w={name:e??""};return this._httpClient.post(x,w,{observe:"response"}).pipe(U(function(L){return se.isAccepted(L.status)?L.body:null}),F(()=>O(null)))}getMaxLocations(){let e=`${this._configService.baseConfig.baseUrl}${this._configService.baseConfig.extension}/locations/maxlocations`;return this._httpClient.get(e,{observe:"response"}).pipe(U(function(t){return se.isAccepted(t.status)?t.body:null}),F(()=>O(null)))}getLocationById(e){let t=`${this._configService.baseConfig.baseUrl}${this._configService.baseConfig.extension}/locations/${e}`;return this._httpClient.get(t,{observe:"response"}).pipe(U(function(i){return se.isAccepted(i.status)?i.body:null}),F(()=>O(null)))}updateLocation(e){let t=`${this._configService.baseConfig.baseUrl}${this._configService.baseConfig.extension}/locations`;return this._httpClient.put(t,e,{observe:"response"}).pipe(U(i=>i.status===tt.OK),F(()=>O(!1)))}createLocation(e){let t=`${this._configService.baseConfig.baseUrl}${this._configService.baseConfig.extension}/locations`;return this._httpClient.post(t,e,{observe:"response"}).pipe(U(i=>se.isAccepted(i.status)?{locationId:i.body.id,name:e.name,description:e.description,alternativeNames:e.alternativeNames,lockedNames:e.lockedNames}:null))}deleteLocation(e){let t=[e],i=`${this._configService.baseConfig.baseUrl}${this._configService.baseConfig.extension}/locations/delete`;return this._httpClient.post(i,t,{observe:"response"}).pipe(U(function(a){return a.status===tt.OK}),F(()=>O(null)))}sortLocal(e,t,i){if(t==null||i==null)return null;let a=i.toLowerCase()==="asc"?1:-1;return e.sort((f,x)=>f.name.localeCompare(x.name)*a)}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275prov=ce({token:n,factory:n.\u0275fac,providedIn:"root"})}}return n})();var ve=(function(n){return n[n.EMPTY=0]="EMPTY",n[n.READONLY=1]="READONLY",n[n.STANDARD=2]="STANDARD",n[n.CUSTOM=3]="CUSTOM",n})(ve||{});var Mt=(()=>{class n{constructor(){this._httpClient=h(Ue),this._authService=h(ot),this._authStorage=h(nn),this._configService=h(Me),this._roles=je,this._componentActive=!0,this.additionalStandardRoleNames=[this._roles.EDITOR,this._roles.ORDER_MANAGER],this._rolesSubject=ne
1w Ke(null),this.roles$=this._rolesSubject.asObservable(),this._authStorage.tokenChanged().pipe(_t(),et(()=>this._componentActive)).subscribe(()=>this.initRoles())}getRole(e){return this.roles$.pipe(U(t=>t.find(i=>i.roleId===e)))}changeRole(e){let{baseUrl:t,extension:i}=this._configService.baseConfig,a=`${t}${i}/roles`;return this._httpClient.put(a,e,{observe:"response"}).pipe(U(f=>{if(se.isAccepted(f.status)){let x=this.mapCustomRoleRequestDtoToRoleResponseDto(e);x.tenantId=this._authService.userInfo.tenantId;let w=this._rolesSubject.getValue();return w=w.map(L=>L.roleId===x.roleId?x:L),this._rolesSubject.next(w),!0}return!1}))}deleteRole(e){let{baseUrl:t,extension:i}=this._configService.baseConfig,a=`${t}${i}/roles/${e}`;return this._httpClient.delete(a,{observe:"response"}).pipe(U(f=>{if(se.isAccepted(f.status)){let w=this._rolesSubject.getValue().filter(L=>L.roleId!==e);this._rolesSubject.next(w)}return f}))}getAllTenantSpecificCustomRoles(){let{baseUrl:e,extension:t}=this._configService.baseConfig,i=`${e}${t}/roles/custom`;return this._httpClient.get(i)}createCustomRole(e){let{baseUrl:t,extension:i}=this._configService.baseConfig,a=`${t}${i}/roles`;return this._httpClient.post(a,e,{observe:"response"}).pipe(U(f=>{if(se.isAccepted(f.status)){let x=this.mapCustomRoleRequestDtoToRoleResponseDto(e);x.tenantId=this._authService.userInfo.tenantId;let w=this._rolesSubject.getValue();return w.push(x),this._rolesSubject.next(w),f.body.id}return null}),F(f=>{throw f.status}))}getRightsOfRightPackages(e){let{baseUrl:t,extension:i}=this._configService.baseConfig,a=`${t}${i}/rights-mapping/rights`;return this._httpClient.post(a,e)}getRightPackagesByRights(e){let{baseUrl:t,extension:i}=this._configService.baseConfig,a=`${t}${i}/rights-mapping/keys-for-rights`;return this._httpClient.post(a,e)}mapRoles(e){return e.map(i=>{let a=ve.EMPTY;return i.name===je.READ_AND_REQUEST?a=ve.READONLY:this.additionalStandardRoleNames.some(x=>x===i.name)?a=ve.STANDARD:!this.additionalStandardRoleNames.some(x=>x===i.name)&&!Object.values(je).includes(i.name)&&(a=ve.CUSTOM),Ct(qe
1({},i),{parentRole:a,toolTip:this.getToolTipName(i.name)})}).filter(i=>i.name)}refreshRoles(){return this.requestRoles().pipe(be(e=>this._rolesSubject.next(e)))}initRoles(){this.requestRoles().subscribe(e=>{e&&this._rolesSubject.next(e)})}requestRoles(){let{baseUrl:e,extension:t}=this._configService.baseConfig,i=`${e}${t}/roles`;return this._httpClient.get(i).pipe(uo())}getToolTipName(e){switch(e){case this._roles.ADMIN:return"user_management.roles.admin";case this._roles.EDITOR:return"user_management.roles.editor";case this._roles.READONLY:return"user_management.roles.read_only";case this._roles.READ_AND_REQUEST:return"user_management.roles.read_and_request";case this._roles.ORDER_MANAGER:return"user_management.roles.order_manager";case this._roles.STANDARD:return"user_management.roles.standard";default:return""}}mapCustomRoleRequestDtoToRoleResponseDto(e){return{roleId:e.roleId,name:e.name,tenantId:null,rights:e.rights}}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275prov=ce({token:n,factory:n.\u0275fac,providedIn:"root"})}}return n})();var ia=(()=>{class n{transform(e){return e.value.toString()}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275pipe=bi({name:"dynamicGroupOutput",type:n,pure:!0})}}return n})();function dr(n,l){n&1&&Nn(0,"span",4)}function ur(n,l){if(n&1&&C(0,dr,1,0,"span",4),n&2){let e=l.$implicit;v(e.fieldName?0:-1)}}function _r(n,l){if(n&1&&ye(0,ur,1,1,null,null,ke),n&2){let e=d(4);Se(e.searchFields)}}function fr(n,l){if(n&1&&(ii(0,"span",0),m(1),yi()),n&2){let e=d(2).$implicit;o(),_(e.operator)}}function hr(n,l){if(n&1&&(ii(0,"span",2),m(1),c(2,"dynamicGroupOutput"),yi()),n&2){let e=d(2).$implicit;bo("id",e.fieldName),o(),M(" ",p(2,2,e)," ")}}function gr(n,l){if(n&1&&(C(0,_r,2,0),C(1,fr,2,1,"span",0),ii(2,"span",1),m(3),yi(),C(4,hr,3,4,"span",2),Nn(5,"span",3)),n&2){let e=d(),t=e.$implicit,i=e.$index,a=d(2);v(i===0?0:-1),o(),v(i!==0?1:-1),o(2),M(" ",a.getTranslationText(t.fieldName)," "),o(),v(t.value?4:-1)}}function Cr(n,l){if(n&1&&C(0,gr,6,4),n&2){let e=l.$implicit;v(e.fieldName?0:-1)}}function vr(n,l){if(n&1&&ye(0,Cr,1,1,null,null,ke),n&2){let e=d();Se(e.searchFields)}}var na=(()=>{class n{constructor(){this._groupService=h(pt),this.searchFields=[]}getTranslationText(e){return this._groupService.getDynamicGroupSelectOptions().find(i=>i.value===e)?.text}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275cmp=R({type:n,selectors:[["app-dynamic-group-criteria"]],inputs:{searchFields:"searchFields"},decls:1,vars:1,consts:[["data-cy","operator",1,"operator"],["data-cy","fieldLabel",1,"label-with-colon-bold"],["data-cy","fieldValue",1,"field-value",3,"id"],[1,"bracket-close"],[1,"bracket-open"]],template:function(t,i){t&1&&C(0,vr,2,0),t&2&&v((i.searchFields==null?null:i.searchFields.length)>0?0:-1)},dependencies:[ia],styles:['@charset "UTF-8";.field-value[_ngcontent-%COMP%], .operator[_ngcontent-%COMP%]{margin-right:calc(var(--spacer) / 4)}.bracket-open[_ngcontent-%COMP%]:after{content:"\\a0(\\a0"}.bracket-close[_ngcontent-%COMP%]:after{content:"\\a0)\\a0"}']})}}return n})();function br(n,l){n&1&&g(0,"app-spinner")}function yr(n,l){if(n&1&&(ht(0,6),So(1),c(2,"transloco"),g(3,"app-checkbox",8),gt()),n&2){let e=l.$implicit,t=l.$index,i=d(2),a=i.nautosTitleUtils.isNautosCollectionTitle(e.title),f=a?i.nautosTitleUtils.cutNautosCollectionFromTitle(e.title):e.title,x=a?p(2,3,"licenses.document_management.subscription.bestcollection_license")+" "+f:f;o(3),u("formControlName",t)("label",x),k("data-cy",e.title)}}function Sr(n,l){if(n&1){let e=E();r(0,"form",1)(1,"div",3),g(2,"input",4),c(3,"transloco"),r(4,"div",5),ye(5,yr,4,5,"ng-container",6,ke),s(),r(7,"app-pagination",7),b("pageChange",function(i){y(e);let a=d();return S(a.onPageChange(i))}),s()()()}if(n&2){let e=d();u("formGroup",e.addLicenseForm),o(2),u("appAutoFocus",!0)("placeholder",p(3,6,"licenses.search_licenses")),o(3),Se(e.displayLicenses),o(2),u("collectionSize",e.totalCount)("page",e.pageNumber)("pageSize",e.perPage)}}var gn=(()=>{class n{constructor(){this._formBuilder=h(Ce),this._licenseService=h(wi),this.modalService=h(B),this.nautosTitleUtils=ki,this.isPending=!1,this.pageNumber=1,this.perPage=20,this.isDisabled=!1,this._globalListOfLicensesToAdd=[],this._subscriptions=[],this._displayLicenses=[]}get licensesFormArray(){return this.addLicenseForm.get("licenses")}get displayLicenses(){return this._displayLicenses}ngOnInit(){this.addLicenseForm=this._formBuilder.group({licenses:this._formBuilder.array([]),searchValue:this._formBuilder.control("")}),this.subscripteFromControlValueChanges(),this.isPending=!0,this.getLicensesResult()}
1ngOnDestroy(){this._subscriptions.forEach(e=>e.unsubscribe())}onAddMemberToLicense(){this.isDisabled=!0,this.modalService.close({passedLicenses:this._globalListOfLicensesToAdd})}onPageChange(e){this.isPending=!0,this.pageNumber=e,this.getLicensesResult()}displayLicensesResult(e){this.totalCount=e.count,this._displayLicenses=[],this.licensesFormArray.clear(),e.items.forEach(t=>{let i=ai.licenseSummaryResponseDtoToLicenseSummaryModel(t);this._displayLicenses.push(i);let a=this._globalListOfLicensesToAdd.map(f=>f.id).includes(t.id);this.licensesFormArray.push(this._formBuilder.control(a))}),this.isPending=!1}subscripteFromControlValueChanges(){this._subscriptions.push(this.addLicenseForm.get("licenses").valueChanges.subscribe(e=>{this.isPending||e.forEach((t,i)=>{let a=this._displayLicenses[i],f=this._globalListOfLicensesToAdd.findIndex(x=>x.id===a.id);t&&f===-1?this._globalListOfLicensesToAdd.push(a):!t&&f!==-1&&this._globalListOfLicensesToAdd.splice(f,1)})})),this._subscriptions.push(this.addLicenseForm.get("searchValue").valueChanges.pipe(pi(200),Bt(),dt(e=>this._licenseService.getLicensesPagedAndFiltered(this.pageNumber,this.perPage,"title",ze.DESC,e)),be(e=>this.displayLicensesResult(e))).subscribe())}getLicensesResult(){let e=this.addLicenseForm.get("searchValue").value;this._licenseService.getLicensesPagedAndFiltered(this.pageNumber,this.perPage,"title",ze.DESC,e).subscribe(t=>this.displayLicensesResult(t))}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275cmp=R({type:n,selectors:[["app-add-license-modal"]],decls:4,vars:4,consts:[["modalTitle","user_management.add_license",3,"border"],[3,"formGroup"],[3,"cancelButtonClick","saveButtonClick","isSaveButtonDisabled"],[1,"modal-body"],["formControlName","searchValue","type","text","data-cy","searchLicense",3,"appAutoFocus","placeholder"],[1,"scroll-box"],["formArrayName","licenses"],["data-cy","pagination",3,"pageChange","collectionSize","page","pageSize"],[1,"one-line-text",3,"formControlName","label"]],template:function(t,i){t&1&&(C(0,br,1,0,"app-spinner"),g(1,"app-modal-header",0),C(2,Sr,8,8,"form",1),r(3,"app-modal-footer",2),b("cancelButtonClick",function(){return i.modalService.dismiss()})("saveButtonClick",function(){return i.onAddMemberToLicense()}),s()),t&2&&(v(i.isPending?0:-1),o(),u("border",!0),o(),v(i.isPending?-1:2),o(),u("isSaveButtonDisabled",i.isDisabled))},dependencies:[Be,Ie,Fe,Pe,Dt,pe,ne,Y,$,J,te,ee,Jt,Xe,D,P],styles:["app-checkbox[_ngcontent-%COMP%]{display:block;min-height:2rem}"]})}}return n})();function xr(n,l){n&1&&g(0,"app-spinner")}function Tr(n,l){if(n&1){let e=E();ht(0),r(1,"app-checkbox",7),c(2,"displayUserFullName"),Ge("ngModelChange",function(i){let a=y(e).$implicit;return Ne(a.isSelected,i)||(a.isSelected=i),S(i)}),b("ngModelChange",function(i){let a=y(e).$implicit,f=d(2);return S(f.onSelectUser(a,i))}),s(),gt()}if(n&2){let e=l.$implicit;o(),u("label",p(2,3,e)),Ve("ngModel",e.isSelected),k("data-cy",e.username)}}function Mr(n,l){if(n&1){let e=E();r(0,"div",2)(1,"input",4,0),c(3,"transloco"),Ge("ngModelChange",function(i){y(e);let a=d();return Ne(a.searchValue,i)||(a.searchValue=i),S(i)}),b("ngModelChange",function(){y(e);let i=d();return S(i.onChangeSearchUser())}),s(),r(4,"cdk-virtual-scroll-viewport",5),b("scrolledIndexChange",function(){y(e);let i=d();return S(i.onUserScrollChanged())}),T(5,Tr,3,5,"ng-container",6),s()()}if(n&2){let e=d();o(),u("appAutoFocus",!0),Ve("ngModel",e.searchValue),u("placeholder",p(3,4,"user_management.search_users")),o(4),u("cdkVirtualForOf",e.displayUsers)}}var $n=30,oa=(()=>{class n{constructor(){this.modalService=h(B),this._userService=h(we),this.isPending=!1,this.globalListOfUsersToAdd=[],this.allUsers=[],this._lastUserPage=0,this._usersLoading=!1,this._isLastUserPage=!1}ngOnInit(){this.isPending=!0,this._userService.filterUsersWhichAreNotInGroup(this.currentGroupId,this.searchValue,this._lastUserPage,$n).subscribe(e=>{e.length>0&&(this.displayUsers=e,this._lastUserPage++,this.isPending=!1)})}onSelectUser(e,t){let i=this.globalListOfUsersToAdd.findIndex(a=>a.id===e.id);i===-1&&t?this.globalListOfUsersToAdd.push(e):this.globalListOfUsersToAdd.splice(i,1)}onAddMemberToGroup(){this.modalService.close({passedUsers:this.globalListOfUsersToAdd})}onUserScrollChanged(){this._usersLoading||this._isLastUserPage||this.virtualScroll.measureScrollOffset("bottom")<110&&(this._usersLoading=!0,this._userService.filterUsersWhichAreNotInGroup(this.currentGroupId,this.searchValue,this._lastUserPage,$n).subscribe(e=>{e.length>0?(this.displayUsers=this.displayUsers.concat(e),this._lastUserPage++):this._isLastUserPage=!0,this._usersLoading=!1}))}onChangeSearchUser(){this._lastInputTimeStamp=Date.now(),setTimeout(()=>{Date.now()-this._lastInputTimeStamp<500||(this._lastUserPage=0,this._userService.filterUsersWhichAreNotInGroup(this.currentGroupId,this.searchValue,this._lastUserPage,$n).subscribe(e=>{this.displayUsers=e,this._isLastUserPage=!1,this._lastUserPage++}))},500)}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275cmp=R({type:n,selectors:[["app-group-add-user-modal"]],viewQuery:function(t,i){if(t&1&&K(Je,5),t&2){let a;
1z(a=W())&&(i.virtualScroll=a.first)}},decls:4,vars:3,consts:[["searchInput",""],["modalTitle","user_management.groups.add_user",3,"border"],[1,"modal-body"],[3,"cancelButtonClick","saveButtonClick"],["id","userSearchInput","name","userSearchInput","type","text","data-cy","searchUser",3,"ngModelChange","appAutoFocus","ngModel","placeholder"],["itemSize","30",1,"scroll-box",3,"scrolledIndexChange"],[4,"cdkVirtualFor","cdkVirtualForOf"],[1,"one-line-text",3,"ngModelChange","label","ngModel"]],template:function(t,i){t&1&&(C(0,xr,1,0,"app-spinner"),g(1,"app-modal-header",1),C(2,Mr,6,6,"div",2),r(3,"app-modal-footer",3),b("cancelButtonClick",function(){return i.modalService.dismiss()})("saveButtonClick",function(){return i.onAddMemberToGroup()}),s()),t&2&&(v(i.isPending?0:-1),o(),u("border",!0),o(),v(i.isPending?-1:2))},dependencies:[Be,Je,Ie,ft,Y,$,at,Fe,Pe,Qt,yt,Pt,Xe,D,dn,P],styles:["app-checkbox[_ngcontent-%COMP%]{display:block;min-height:2rem}"]})}}return n})();var Ir=["lockForm"];function Er(n,l){}function wr(n,l){}var Cn=(()=>{class n{constructor(){this.modalService=h(B)}onSubmit(){this.lockForm?.valid&&this.modalService.close({groupIds:this.selectedGroups.map(e=>e.groupId),groups:this.selectedGroups,reason:this.lockForm.value.reason})}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275cmp=R({type:n,selectors:[["app-group-lock-modal"]],viewQuery:function(t,i){if(t&1&&K(Ir,7),t&2){let a;
1z(a=W())&&(i.lockForm=a.first)}},inputs:{selectedGroups:"selectedGroups"},decls:18,vars:4,consts:[["tableHeader",""],["tableCell",""],["lockForm","ngForm"],["modalTitle","user_management.groups.lock_group"],[1,"modal-body"],["data-cy","table",3,"items"],["tableColumn","","columnText","common.name","itemProperty","name"],["tableColumn","","columnText","user_management.users.title","itemProperty","userCount"],["tableColumn","","itemProperty","lock"],["autocomplete","off",3,"ngSubmit"],[1,"form-group"],["for","lock-reason"],["ngModel","","name","lock-reason","id","lock-reason","rows","3","data-cy","lockReason"],["saveButtonText","user_management.lock","saveButtonClass","btn-alert",3,"cancelButtonClick","saveButtonClick"]],template:function(t,i){t&1&&(g(0,"app-modal-header",3),r(1,"div",4)(2,"app-table",5),g(3,"div",6)(4,"div",7),r(5,"div",8),T(6,Er,0,0,"ng-template",null,0,I)(8,wr,0,0,"ng-template",null,1,I),s()(),r(10,"form",9,2),b("ngSubmit",function(){return i.onSubmit()}),r(12,"div",10)(13,"label",11),m(14),c(15,"transloco"),s(),g(16,"textarea",12),s()()(),r(17,"app-modal-footer",13),b("cancelButtonClick",function(){return i.modalService.dismiss()})("saveButtonClick",function(){return i.onSubmit()}),s()),t&2&&(o(2),u("items",i.selectedGroups),o(12),_(p(15,2,"user_management.reason")))},dependencies:[Pe,Fe,q,ne,Y,$,J,at,Kt,D,H,P],encapsulation:2})}}return n})();function kr(n,l){if(n&1&&(r(0,"div",2),m(1),s()),n&2){let e=l.$implicit;o(),_(e)}}function Rr(n,l){if(n&1&&g(0,"div",4),n&2){let e=d();fe("selected",e.isRowSelected)}}function Ur(n,l){if(n&1&&(r(0,"ul")(1,"li"),m(2),s()()),n&2){let e=l.$implicit;o(2),_(e)}}function Fr(n,l){if(n&1&&ye(0,Ur,3,1,"ul",null,ke),n&2){let e=d();Se(e.fieldValues)}}var It=(()=>{class n{constructor(){this.hasGradient=!1,this.count=3,this.isRowSelected=!1,this.showTooltip=!0,this._fieldValues=[],this._max=0}set fieldValues(e){this._fieldValues=e,this.calcShowGradient()}get fieldValues(){return this._fieldValues}ngOnInit(){this.calcShowGradient()}calcShowGradient(){let e=this._fieldValues?this._fieldValues.length:0;this._max=Math.min(e,this.count),this.isGradient=this.hasGradient&&this._max===this.count}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275cmp=R({type:n,selectors:[["app-box-list"]],inputs:{hasGradient:"hasGradient",count:"count",fieldValues:"fieldValues",isRowSelected:"isRowSelected",showTooltip:"showTooltip"},decls:7,vars:6,consts:[["tip",""],["placement","bottom top","container","body",1,"container-list",3,"ngbTooltip"],[1,"list-item","ellipsicated"],[1,"list-item-gradient",3,"selected"],[1,"list-item-gradient"]],template:function(t,i){if(t&1&&(r(0,"div",1),ye(1,kr,2,1,"div",2,ke),c(3,"slice"),C(4,Rr,1,2,"div",3),s(),T(5,Fr,2,0,"ng-template",null,0,I)),t&2){let a=N(6);u("ngbTooltip",i.showTooltip?a:""),o(),Se(en(3,2,i.fieldValues,0,i.count)),o(3),v(i.isGradient?4:-1)}},dependencies:[Le,X,tn],styles:["[_nghost-%COMP%]{display:inline-block}.container-list[_ngcontent-%COMP%]{display:flex;gap:calc(var(--spacer) / 4);flex-wrap:wrap;position:relative}.container-list[_ngcontent-%COMP%] .list-item[_ngcontent-%COMP%]{background-color:var(--color-gray-lighter);border-radius:var(--border-radius);display:inline-block;height:1.5rem;max-width:12rem;padding-inline:calc(var(--spacer) / 2);white-space:nowrap}.container-list[_ngcontent-%COMP%] .list-item-gradient[_ngcontent-%COMP%]{background:linear-gradient(to right,transparent,var(--color-background));height:100%;position:absolute;right:0;width:5rem}.container-list[_ngcontent-%COMP%] .list-item-gradient[_ngcontent-%COMP%]:hover{background:linear-gradient(to right,transparent,var(--color-gray-lighter))}ul[_ngcontent-%COMP%]{flex-direction:row;padding:0}ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{list-style:none;padding-block:calc(var(--spacer) / 2)}"]})}}return n})();function Pr(n,l){if(n&1&&(r(0,"span",7),m(1),s()),n&2){let e=d();o(),M(" ",e.user.costCenters.join(", ")," ")}}function Lr(n,l){n&1&&(r(0,"span",8),m(1,"-"),s())}function Ar(n,l){n&1&&(m(0),c(1,"transloco"),g(2,"app-icon",19)),n&2&&M(" ",p(1,1,"common.yes")," ")}function Or(n,l){n&1&&(m(0),c(1,"transloco"),g(2,"app-icon",20)),n&2&&M(" ",p(1,1,"common.no")," ")}var vn=(()=>{class n{set user(e){this._user=e}get user(){return this._user}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275cmp=R({type:n,selectors:[["app-user-mini-detail
1s"]],inputs:{user:"user"},decls:92,vars:64,consts:[[1,"grid-item"],[1,"label-bold"],["data-cy","email",1,"value"],["data-cy","salutation",1,"value"],["data-cy","phoneNumber",1,"value"],["data-cy","layoutLanguage",1,"value"],["data-cy","abbreviation",1,"value"],["data-cy","costCenter"],[1,"value"],["data-cy","location",1,"value"],["data-cy","info",1,"value"],["data-cy","language",1,"value"],["data-cy","lastLogin",1,"value"],["data-cy","company",1,"value"],["data-cy","effectiveUntil",1,"value"],["data-cy","textIsActive",1,"value"],["data-cy","department",1,"value"],["data-cy","licenses",1,"label-bold"],[3,"fieldValues","showTooltip"],["name","check-mark-filled","data-cy","iconIsUserActive",1,"icon-success"],["name","cross-filled","data-cy","iconIsUserActive",1,"icon-alert"]],template:function(t,i){t&1&&(r(0,"div",0)(1,"span",1),m(2),c(3,"transloco"),s(),r(4,"span",2),m(5),s()(),r(6,"div",0)(7,"span",1),m(8),c(9,"transloco"),s(),r(10,"span",3),m(11),s()(),r(12,"div",0)(13,"span",1),m(14),c(15,"transloco"),s(),r(16,"span",4),m(17),s()(),r(18,"div",0)(19,"span",1),m(20),c(21,"transloco"),s(),r(22,"span",5),m(23),s()(),r(24,"div",0)(25,"span",1),m(26),c(27,"transloco"),s(),r(28,"span",6),m(29),s()(),r(30,"div",0)(31,"span",1),m(32),c(33,"transloco"),s(),C(34,Pr,2,1,"span",7)(35,Lr,2,0,"span",8),s(),r(36,"div",0)(37,"span",1),m(38),c(39,"transloco"),s(),r(40,"span",9),m(41),s()(),r(42,"div",0)(43,"span",1),m(44),c(45,"transloco"),s(),r(46,"span",10),m(47),s()(),r(48,"div",0)(49,"span",1),m(50),c(51,"transloco"),s(),r(52,"span",11),m(53),s()(),r(54,"div",0)(55,"span",1),m(56),c(57,"transloco"),s(),r(58,"span",12),m(59),c(60,"date"),s()(),r(61,"div",0)(62,"span",1),m(63),c(64,"transloco"),s(),r(65,"span",13),m(66),s()(),r(67,"div",0)(68,"span",1),m(69),c(70,"transloco"),s(),r(71,"span",14),m(72),s()(),r(73,"div",0)(74,"span",1),m(75),c(76,"transloco"),s(),r(77,"span",15),C(78,Ar,3,3)(79,Or,3,3),s()(),r(80,"div",0)(81,"span",1),m(82),c(83,"transloco"),s(),r(84,"span",16),m(85),s()(),r(86,"div",0)(87,"span",17),m(88),c(89,"transloco"),s(),r(90,"div"),g(91,"app-box-list",18),s()()),t&2&&(o(2),_(p(3,31,"user_management.users.email")),o(3),_(i.user.email||"-"),o(3),_(p(9,33,"user_management.users.salutation")),o(3),_(i.user.salutation||"-"),o(3),_(p(15,35,"user_management.users.phone_number")),o(3),_(i.user.phoneNumber||"-"),o(3),_(p(21,37,"user_management.users.layout_language")),o(3),_(i.user.layoutLanguage||"-"),o(3),_(p(27,39,"user_management.users.abbreviation")),o(3),_(i.user.abbreviation||"-"),o(3),_(p(33,41,"user_management.cost_center")),o(2),v(i.user.costCenters!=null&&i.user.costCenters.length?34:35),o(4),_(p(39,43,"user_management.users.location")),o(3),_(i.user.location||"-"),o(3),_(p(45,45,"user_management.users.information")),o(3),_(i.user.info||"-"),o(3),_(p(51,47,"common.language")),o(3),_(i.user.language||"-"),o(3),_(p(57,49,"user_management.users.last_login_short")),o(3),M("",i.user.lastLogin?Te(60,51,i.user.lastLogin,"dd.MM.yyyy - HH:mm"):"-"," "),o(4),_(p(64,54,"user_management.users.company")),o(3),_(i.user.company||"-"),o(3),_(p(70,56,"user_management.users.effective_until")),o(3),_(i.user.effectiveUntil||"-"),o(3),_(p(76,58,"user_management.users.active")),o(3),v(i.user.active?78:79),o(4),_(p(83,60,"user_management.users.department")),o(3),_(i.user.department||"-"),o(3),M("",p(89,62,"licenses.assigned_licenses")," "),o(3),u("fieldValues",i.user.licenseNames)("showTooltip",!0))},dependencies:[It,V,D,zt,P],styles:["[_nghost-%COMP%]{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(5,auto);gap:var(--spacer)}.grid-item[_ngcontent-%COMP%]{display:flex;flex-direction:column}"]})}}return n})();function Dr(n,l){if(n&1){let e=E();r(0,"div",4)(1,"input",6),b("change",function(){y(e);let i=d().$implicit,a=d();return S(a.roleChange(i))}),s(),r(2,"label",7),m(3),s()()}if(n&2){let e=d().$implicit,t=d();k("data-cy",e==null?null:e.name),o(),u("id",e==null?null:e.name)("value",e.roleId),k("checked",e.roleId===t.formGroup.controls.role.value),o(),u("for",e==null?null:e.name),o(),_(e==null?null:e.name)}}function Vr(n,l){if(n&1&&(r(0,"div",4),g(1,"input",8),r(2,"label",7),m(3),s()()),n&2){let e=d().$implicit,t=d();k("data-cy",e==null?null:e.name),o(),u("id",t.emptyGuid)("value",t.emptyGuid)("disabled",!0),o(),u("for",e==null?null:e.name),o(),_(e==null?null:e.name)}
1}function Nr(n,l){if(n&1&&(r(0,"div"),g(1,"app-icon",9),c(2,"transloco"),c(3,"transloco"),s()),n&2){let e=d().$implicit;o(),u("ngbTooltip",p(2,3,"user_management.roles.custom_roles")),k("aria-label",p(3,5,"user_management.roles.custom_roles"))("data-cy",(e==null?null:e.name)+"Info")}}function Gr(n,l){if(n&1&&(r(0,"div"),g(1,"app-icon",9),c(2,"transloco"),c(3,"transloco"),s()),n&2){let e=d(),t=e.$implicit,i=e.$index,a=d();o(),u("ngbTooltip",p(2,3,a.allRoles[i].toolTip)),k("aria-label",p(3,5,a.allRoles[i].toolTip))("data-cy",(t==null?null:t.name)+"Info")}}function Br(n,l){if(n&1){let e=E();r(0,"div",5)(1,"app-select",10),b("itemSelected",function(i){y(e);let a=d(2);return S(a.onCustomRoleChange(i))}),s()()}if(n&2){let e=d(2);o(),u("isMandatory",!0)("items",e.availableCustomRoles)("showUnselectItem",!0)}}function $r(n,l){if(n&1&&(r(0,"div",11),g(1,"app-checkbox",12)(2,"app-icon",9),c(3,"transloco"),c(4,"transloco"),s()),n&2){let e=l.$index,t=d(3);o(),u("formControlName",e)("label",t.readOnlyAdditiveRoles[e]==null?null:t.readOnlyAdditiveRoles[e].name),k("data-cy",t.readOnlyAdditiveRoles[e]==null?null:t.readOnlyAdditiveRoles[e].name),o(),u("ngbTooltip",p(3,6,t.readOnlyAdditiveRoles[e]==null?null:t.readOnlyAdditiveRoles[e].toolTip)),k("aria-label",p(4,8,t.readOnlyAdditiveRoles[e]==null?null:t.readOnlyAdditiveRoles[e].toolTip))("data-cy",(t.readOnlyAdditiveRoles[e]==null?null:t.readOnlyAdditiveRoles[e].name)+"Info")}}function qr(n,l){if(n&1&&ye(0,$r,5,10,"div",11,ke),n&2){let e=d(2);Se(e.formGroup.controls.readOnlyAdditiveRoles.controls)}}function jr(n,l){if(n&1&&(r(0,"div",13),g(1,"app-checkbox",12)(2,"app-icon",9),c(3,"transloco"),c(4,"transloco"),s()),n&2){let e=l.$index,t=d(3);o(),u("formControlName",e)("label",t.standardAdditiveRoles[e]==null?null:t.standardAdditiveRoles[e].name),k("data-cy",t.standardAdditiveRoles[e]==null?null:t.standardAdditiveRoles[e].name),o(),u("ngbTooltip",p(3,6,t.standardAdditiveRoles[e]==null?null:t.standardAdditiveRoles[e].toolTip)),k("aria-label",p(4,8,t.standardAdditiveRoles[e]==null?null:t.standardAdditiveRoles[e].toolTip))("data-cy",(t.standardAdditiveRoles[e]==null?null:t.standardAdditiveRoles[e].name)+"Info")}}function Hr(n,l){if(n&1&&ye(0,jr,5,10,"div",13,ke),n&2){let e=d(2);Se(e.formGroup.controls.standardAdditiveRoles.controls)}}function zr(n,l){if(n&1&&(r(0,"div",3)(1,"div"),C(2,Dr,4,6,"div",4),C(3,Vr,4,6,"div",4),s(),C(4,Nr,4,7,"div")(5,Gr,4,7,"div"),s(),C(6,Br,2,3,"div",5),C(7,qr,2,0),C(8,Hr,2,0)),n&2){let e=l.$implicit,t=d();o(),fe("custom-role",e.parentRole===t.additiveRolesType.CUSTOM),o(),v(e.parentRole!==t.additiveRolesType.CUSTOM||t.isCustomRolesSelectionEnabled?2:-1),o(),v(e.parentRole===t.additiveRolesType.CUSTOM&&!t.isCustomRolesSelectionEnabled?3:-1),o(),v(t.isCustomRolesSelectionEnabled&&e.parentRole===t.additiveRolesType.CUSTOM?4:5),o(2),v(t.isCustomRolesSelectionEnabled&&e.parentRole===t.additiveRolesType.CUSTOM?6:-1),o(),v(e.name===t.appRoles.READONLY?7:-1),o(),v(e.name===t.appRoles.STANDARD?8:-1)}}var Ui=(()=>{class n{constructor(){this._availableCustomRoles=[],this.additiveRolesType=ve,this.appRoles=je,this.emptyGuid=$e}set availableCustomRoles(e){this._availableCustomRoles=e,this.isCustomRolesSelectionEnabled=this.availableCustomRoles.length>0}get availableCustomRoles(){return this._availableCustomRoles}ngOnInit(){this.availableCustomRoles.find(e=>e.value===this.selectedCustomRoleForm)||this.formGroup.controls.selectedCustomRole.disable(),this.isCustomRolesSelectionEnabled||(this.availableRoles=this.availableRoles.filter(e=>e.parentRole!==ve.CUSTOM))}roleChange(e){this.formGroup.controls.standardAdditiveRoles.controls.forEach(t=>{e.name===this.appRoles.STANDARD?t.enable():(t.setValue(!1),t.disable())}),this.formGroup.controls.readOnlyAdditiveRoles.controls.forEach(t=>{e.name===this.appRoles.READONLY?t.enable():(t.setValue(!1),t.disable())}),e.parentRole===ve.CUSTOM&&this.isCustomRolesSelectionEnabled?this.formGroup.controls.selectedCustomRole.enable():(this.formGroup.controls.selectedCustomRole.setValue(null),this.formGroup.controls.selectedCustomRole.disable())}onCustomRoleChange(e){this.formGroup.controls.selectedCustomRole.setValue(e)}get selectedCustomRoleForm(){return this.formGroup.get("selectedCustomRole").value}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275cmp=R({type:n,selectors:[["app-role-selection"]],inputs:{formGroup:"formGroup",allRoles:"allRoles",availableRoles:"availableRoles",standardAdditiveRoles:"standardAdditiveRoles",readOnlyAdditiveRoles:"readOnlyAdditiveRoles",availableCustomRoles:"availableCustomRoles"},decls:7,vars:4,consts:[[3,"formGroup"],[1,"label","mandatory"],[1,"roles"],[1,"role"],[1,"form-check"],[1,"role","custom-role-selection"],["formControlName","role","type","radio",1,"form-check-input",3,"change","id","value"],[1,"form-check-label",3,"for"],["type","radio",1,"form-check-input",3,"id","value","disabled"],["name","info",1,"icon-cl
1ickable",3,"ngbTooltip"],["label","common.name","labelPosition","left","formControlName","selectedCustomRole","data-cy","customRoles",3,"itemSelected","isMandatory","items","showUnselectItem"],["formArrayName","readOnlyAdditiveRoles",1,"role"],[1,"additive-role",3,"formControlName","label"],["formArrayName","standardAdditiveRoles",1,"role"]],template:function(t,i){t&1&&(r(0,"form",0)(1,"p",1),m(2),c(3,"transloco"),s(),r(4,"div",2),ye(5,zr,9,8,null,null,ke),s()()),t&2&&(u("formGroup",i.formGroup),o(2),_(p(3,2,"user_management.users.roles")),o(3),Se(i.availableRoles))},dependencies:[Ie,V,X,pe,ne,Y,xt,$,J,te,ee,Jt,q,D,mt,P],styles:[".roles[_ngcontent-%COMP%]{border:var(--border);border-radius:var(--border-radius);min-width:25rem;padding:var(--spacer)}.roles[_ngcontent-%COMP%] .additive-role[_ngcontent-%COMP%]{padding-left:var(--spacer)}.roles[_ngcontent-%COMP%] .role[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center}.roles[_ngcontent-%COMP%] .custom-role[_ngcontent-%COMP%]{justify-items:end}.roles[_ngcontent-%COMP%] .custom-role-selection[_ngcontent-%COMP%]{padding:calc(var(--spacer) / 4) calc(var(--spacer) * 2) calc(var(--spacer) / 2) calc(var(--spacer) * 1.5)}.roles[_ngcontent-%COMP%] .custom-role-selection[_ngcontent-%COMP%] app-select[_ngcontent-%COMP%]{width:100%}"]})}}return n})();var bn=class{constructor(l,e){this.value=l,this.label=e}};var yn=class n{static apply(l,e=!1){return new n(l,e)}static remove(l){return new bn(l.costCenter,l.costCenter)}constructor(l,e=!1){this.costCenter=l,this.selected=e,this.value=this.costCenter,this.text=this.costCenter}};var Sn=class{constructor(l,e,t,i){this.roleId=l,this.tenantId=e,this.name=t,this.rights=i}};var xn=class n{static apply(l,e=!1){return new n(l.rights,l.roleId,l.tenantId,l.name,e)}static remove(l){return new Sn(l.roleId,l.tenantId,l.name,l.rights)}constructor(l,e,t,i,a=!1){this.rights=l,this.roleId=e,this.tenantId=t,this.name=i,this.selected=a,this.value=this.roleId,this.text=this.name}};var si=(()=>{class n{static getRolesAsSelectableRoles(e){if(e!=null){let t=[];for(let i of e){let a=xn.apply(i);t.push(a)}return t.sort((i,a)=>i.text.localeCompare(a.text)),t}return null}static getCostsAsSelectableCosts(e){if(e!=null){let t=[];for(let i of e){let a=yn.apply(i);t.push(a)}return t}return null}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275prov=ce({token:n,factory:n.\u0275fac,providedIn:"root"})}}return n})();var Wr=["groupUserTable"],Qr=["groupLicenseTable"],Kr=["licenseTableTemplate"],Yr=(n,l)=>({date:n,user:l}),Jr=n=>({count:n});function Xr(n,l){if(n&1){let e=E();r(0,"button",27),b("click",function(){y(e);let i=d();return S(i.onDeleteGroup())}),m(1),c(2,"transloco"),s()}
1n&2&&(o(),M(" ",p(2,1,"common.delete")," "))}function Zr(n,l){if(n&1){let e=E();r(0,"button",28),b("click",function(){y(e);let i=d();return S(i.onLockGroup())}),m(1),c(2,"transloco"),s()}n&2&&(o(),M(" ",p(2,1,"user_management.lock")," "))}function es(n,l){n&1&&(r(0,"span"),m(1),c(2,"transloco"),s()),n&2&&(o(),_(p(2,1,"common.save")))}function ts(n,l){n&1&&g(0,"app-icon",18)}function is(n,l){if(n&1&&(r(0,"p",32)(1,"span",34),m(2),c(3,"transloco"),s(),r(4,"span",35),m(5),s()()),n&2){let e=d(2);o(2),_(p(3,2,"user_management.reason")),o(3),_(e.currentGroup.lock.reason)}}function ns(n,l){if(n&1){let e=E();r(0,"div",19)(1,"p",29),m(2),c(3,"transloco"),s(),r(4,"div",30)(5,"div")(6,"p",31),m(7),c(8,"date"),c(9,"transloco"),s(),C(10,is,6,4,"p",32),s(),r(11,"button",33),b("click",function(){y(e);let i=d();return S(i.onUnlockGroup())}),m(12),c(13,"transloco"),s()()()}if(n&2){let e=d();o(2),M(" ",p(3,4,"user_management.groups.group_is_locked")," "),o(5),M(" ",Te(9,9,"user_management.groups.group_was_locked_on_by",Ut(14,Yr,Te(8,6,e.currentGroup.lock.time,"dd.MM.yyyy"),e.currentGroup.lock.nameOfExecutingUser))," "),o(3),v(e.currentGroup.lock!=null&&e.currentGroup.lock.reason?10:-1),o(2),M(" ",p(13,12,"user_management.lift_suspension")," ")}}function os(n,l){n&1&&(r(0,"div",20)(1,"p",36),m(2),c(3,"transloco"),s(),r(4,"p",37),m(5),c(6,"transloco"),s()()),n&2&&(o(2),M(" ",p(3,2,"user_management.groups.information_box_system_group_title")," "),o(3),M(" ",p(6,4,"user_management.groups.information_box_system_group_content")," "))}function as(n,l){if(n&1&&(r(0,"div",23),m(1),s()),n&2){let e=d();o(),M(" ",e.currentGroup.name," ")}}function rs(n,l){n&1&&(r(0,"p",39),m(1),c(2,"transloco"),s()),n&2&&(o(),M(" ",p(2,1,"common.please_fill_this_field")," "))}function ss(n,l){n&1&&(r(0,"p",39),m(1),c(2,"transloco"),s()),n&2&&(o(),M(" ",p(2,1,"user_management.groups.group_name_already_in_use")," "))}function ls(n,l){if(n&1&&(r(0,"div",24),g(1,"input",38),C(2,rs,3,3,"p",39),C(3,ss,3,3,"p",39),s()),n&2){let e=d();u("formGroup",e.groupForm),o(),u("appAutoFocus",!0),o(),v(!e.groupForm.controls.name.valid&&e.groupForm.touched&&(e.groupForm.controls.name.errors!=null&&e.groupForm.controls.name.errors.required)?2:-1),o(),v(e.groupForm.controls.name.errors!=null&&e.groupForm.controls.name.errors.invalidName?3:-1)}}function cs(n,l){if(n&1&&(r(0,"div",25)(1,"div",21),g(2,"app-role-selection",40),s(),r(3,"div",41)(4,"p",42),m(5),c(6,"transloco"),s(),r(7,"p",43),m(8),c(9,"transloco"),s()()()),n&2){let e=d();o(2),u("availableRoles",e.availableRoles)("formGroup",e.groupForm)("standardAdditiveRoles",e.standardAdditiveRoles)("readOnlyAdditiveRoles",e.readOnlyAdditiveRoles)("allRoles",e.roles)("availableCustomRoles",e.customRoles),o(3),M(" ",p(6,8,"user_management.groups.info_title")," "),o(3),M(" ",p(9,10,"user_management.groups.info_text")," ")}}function ps(n,l){n&1&&(r(0,"div",21)(1,"span",44),m(2),c(3,"transloco"),s(),r(4,"span",45),m(5),c(6,"transloco"),s()()),n&2&&(o(2),M("",p(3,2,"user_management.users.role")," "),o(3),M(" ",p(6,4,"user_management.role_management.read_only_role")," "))}function ms(n,l){n&1&&ut(0)}function ds(n,l){if(n&1&&(r(0,"section"),T(1,ms,1,0,"ng-container",46),s()),n&2){d();let e=N(33);o(),u("ngTemplateOutlet",e)}}function us(n,l){if(n&1){let e=E();r(0,"app-select",84),b("itemSelected",function(){y(e);let i=d(5);return S(i.itemSelected())}),s()}if(n&2){let e=d(5);u("items",e.operators)}}function _s(n,l){if(n&1){let e=E();r(0,"input",85),b("input",function(){y(e);let i=d(5);return S(i.onTextInput())}),s()}}function fs(n,l){if(n&1){let e=E();r(0,"app-select",86),b("itemSelected",function(){y(e);let i=d(5);return S(i.fetchUserList())}),s()}if(n&2){let e=d().$index,t=d(4);u("items",t.getSelectOptions("select",e))("showUnselectItem",!0)("itemsVisible",t.getSelectOptions("select",e).length+1)}}function hs(n,l){if(n&1){let e=E();r(0,"button",87),c(1,"transloco"),c(2,"transloco"),b("click",function(){y(e);let i=d().$index,a=d(4);return S(a.removeField(i))}),g(3,"app-icon",88),s()}n&2&&(u("ngbTooltip",p(1,2,"search.extended_search.remove_search_field")),k("aria-label",p(2,4,"search.extended_search.remove_search_field")))}function gs(n,l){if(n&1){let e=E();r(0,"div",73)(1,"div",77),C(2,us,1,1,"app-select",78),s(),r(3,"app-select",79),b("itemSelected",function(){y(e);let i=d(4);return S(i.itemSelected())}),s(),r(4,"div",80),C(5,_s,1,0,"input",81),C(6,fs,1,3,"app-select",82),C(7,hs,4,6,"button",83),s()()}if(n&2){let e=l.$index,t=d(4);u("formGroupName",e),o(2),v(e>0?2:-1),o(),u("items",t.getSelectOptions("dynamicFields",e))("showUnselectItem",!0),o(2),v(t.isInputType("text",e)?5:-1),o(),v(t.isInputType("select",e)?6:-1),o(),v(e!==0||t.groupForm.controls.dynamicGroupFilters.controls.length>1?7:-1)}}function Cs(n,l){if(n&1){let e=E();g(0,"app-dynamic-group-criteria",71),r(1,"div",72),ye(2,gs,8,7,"div",73,Ni),s(),r(4,"button",74),b("click",function(i){y(e);let a=d(3);return S(a.addUserField(i))}),g(5,"app-icon",75),r(6,"span",76),m(7),c(8,"transloco"),s()()}if(n&2){let e=d(3);u("searchFields",e.searchFields),o(2),Se(e.groupForm.controls.dynamicGroupFilters.controls),o(5),M(" ",p(8,2,"user_management.groups.add_another_field")," ")}}function vs(n,l){if(n&1){let e=E();r(0,"div")(1,"p",64),m(2),c(3,"transloco"),s(),r(4,"div")(5,"div",65)(6,"input",66),b("change",function(){y(e);let i=d(2);return S(i.groupTypeChanged("staticGroup"))}),s(),r(7,"label",67),m(8),c(9,"transloco"),s()(),r(10,"div",68)(11,"input",69),b("change",function(){y(e);let i=d(2);return S(i.groupTypeChanged("dynamicGroup"))}),s(),r(12,"label",70),m(13),c(14,"transloco"),s()()()(),C(15,Cs,9,4)}if(n&2){let e=d(2);o(2),_(p(3,6,"common.type")),o(4),u("checked",!(e.currentGroup!=null&&e.currentGroup.isDynamicGroup)),o(2),M(" ",p(9,8,"user_management.groups.group_types.static_group")," "),o(3),u("checked",e.currentGroup==null?null:e.currentGroup.isDynamicGroup),o(2),M(" ",p(14,10,"user_management.groups.group_types.dynamic_group")," "),o(2),v(e.groupForm&&e.isDynamicGroupActive?15:-1)}}function bs(n,l){if(n&1&&(r(0,"span",51),m(1),c(2,"transloco"),s()),n&2){d();let e=N(18);o(),M(" ",Te(2,1,"user_management.groups.users_selected",Re(4,Jr,(e==null||e.selectedRows==null?null:e.selectedRows.length)??0))," ")}}function ys(n,l){if(n&1){let e=E();r(0,"button",89),b("click",function(){y(e);let i=d(2);return S(i.onAddUsersToGroup())}),m(1),c(2,"transloco"),s()}n&2&&(u("disabled",!1),o(),M(" ",p(2,2,"user_management.groups.add_user")," "))}function Ss(n,l){if(n&1){let e=E();r(0,"button",90),c(1,"transloco"),c(2,"transloco"),b("click",function(){y(e);let i=d(3);return S(i.onUnlinkUsers())}),g(3,"app-icon",91),s()}n&2&&(u("ngbTooltip",p(1,2,"user_management.unlink")),k("aria-label",p(2,4,"user_management.unlink")))}function xs(n,l){n&1&&T(0,Ss,4,6,"ng-template",null,5,I)}
1function Ts(n,l){if(n&1&&g(0,"app-user-mini-details",92),n&2){let e=l.item,t=d(2);u("user",t.getUserDetails(e))}}function Ms(n,l){if(n&1){let e=E();r(0,"button",94),c(1,"transloco"),c(2,"transloco"),b("click",function(){y(e);let i=d().item,a=d(2);return S(a.onUnlinkUser(i.id))}),g(3,"app-icon",91),s()}n&2&&(u("ngbTooltip",p(1,2,"user_management.unlink")),k("aria-label",p(2,4,"user_management.unlink")))}function Is(n,l){if(n&1&&C(0,Ms,4,6,"button",93),n&2){let e=d(2);v(e.isDynamicGroupActive?-1:0)}}function Es(n,l){if(n&1&&(r(0,"span",95),m(1),s()),n&2){let e=l.item;o(),vt("",e.surname,", ",e.forename)}}function ws(n,l){if(n&1){let e=E();r(0,"span",96),b("click",function(){let i=y(e).item,a=d(2);return S(a.callUser(i))})("keydown.enter",function(){let i=y(e).item,a=d(2);return S(a.callUser(i))}),m(1),s()}if(n&2){let e=l.item;o(),M(" ",e.username," ")}}function ks(n,l){if(n&1&&(r(0,"div",97),g(1,"app-box-list",98),s()),n&2){let e=l.item,t=d(2);o(),u("fieldValues",t.getRoleNameList(e))}}function Rs(n,l){n&1&&(r(0,"div",63),g(1,"app-icon",99),r(2,"p",100),m(3),c(4,"transloco"),s()()),n&2&&(o(3),_(p(4,1,"user_management.users.no_users_assigned")))}function Us(n,l){if(n&1){let e=E();r(0,"section",26)(1,"div",47),C(2,vs,16,12),r(3,"div",48)(4,"div",49)(5,"h2"),m(6),c(7,"transloco"),s(),g(8,"app-record-count",50),C(9,bs,3,6,"span",51),s(),C(10,ys,3,4,"button",52),s(),r(11,"div",53)(12,"app-table-menu",54,1)(14,"div",55),C(15,xs,2,0),s()(),r(16,"app-pagination",56),b("pageChange",function(i){y(e);let a=d();return S(a.onUsersPageChange(i))}),s()(),r(17,"app-table",57,2)(19,"div",58),T(20,Ts,1,1,"ng-template",null,3,I),s(),r(22,"div",59),T(23,Is,1,1,"ng-template",null,4,I),s(),r(25,"div",60),T(26,Es,2,2,"ng-template",null,4,I),s(),r(28,"div",61),T(29,ws,2,1,"ng-template",null,4,I),s(),r(31,"div",62),T(32,ks,2,1,"ng-template",null,4,I),s()(),C(34,Rs,5,3,"div",63),s()()}if(n&2){let e=N(13),t=N(18),i=d();u("formGroup",i.groupForm),o(2),v(i.isNautosProActive?2:-1),o(4),_(p(7,16,"user_management.users.title")),o(2),u("count",i.totalUsers),o(),v(i.isDynamicGroupActive?-1:9),o(),v(i.isDynamicGroupActive?-1:10),o(2),u("appTable",t),o(3),v(i.isDynamicGroupActive?-1:15),o(),u("collectionSize",i.totalUsers)("page",i.usersCurrentPage)("tableMenu",e)("pageSize",i.usersHitsPerPage),o(),u("items",i.usersOfCurrentGroup)("hasExpandedRow",!0)("hasCheckboxColumn",!i.isDynamicGroupActive),o(17),v(i.usersOfCurrentGroup.length===0?34:-1)}}function Fs(n,l){if(n&1){let e=E();r(0,"button",109),c(1,"transloco"),c(2,"transloco"),b("click",function(){y(e);let i=d(2);return S(i.onUnlinkLicenses())}),g(3,"app-icon",110),s()}n&2&&(u("ngbTooltip",p(1,2,"user_management.unlink")),k("aria-label",p(2,4,"user_management.unlink")))}function Ps(n,l){if(n&1){let e=E();r(0,"app-table-filter",113),b("filterClose",function(){y(e),d();let i=N(1);return S(i.close())})("filter",function(i){y(e);let a=d(3);return S(a.onFilterLicenses(i))})("resetFilter",function(){y(e);let i=d(3);return S(i.onResetLicenseFilters())}),s()}if(n&2){let e=d(3);u("activeFilter",e.currentLicenseTitleFilter)}}function Ls(n,l){if(n&1&&(r(0,"button",111,8),c(2,"transloco"),g(3,"app-icon",112),T(4,Ps,1,1,"ng-template",null,9,I),s()),n&2){let e=N(5),t=d(2);
1u("ngbPopover",e),k("aria-label",p(2,3,"common.table.open_filter")),o(3),u("ngClass",t.currentLicenseTitleFilter?"icon-filter-active":"icon-filter-inactive")}}function As(n,l){if(n&1){let e=E();r(0,"button",114),c(1,"transloco"),c(2,"transloco"),b("click",function(){let i=y(e).item,a=d(2);return S(a.onUnlinkLicense(i.id))}),g(3,"app-icon",91),s()}n&2&&(u("ngbTooltip",p(1,2,"user_management.unlink")),k("aria-label",p(2,4,"user_management.unlink")))}function Os(n,l){n&1&&(g(0,"app-icon",115),c(1,"transloco"),c(2,"transloco")),n&2&&(u("ngbTooltip",p(1,2,"licenses.multi_license")),k("aria-label",p(2,4,"licenses.multi_license")))}function Ds(n,l){n&1&&(g(0,"app-icon",116),c(1,"transloco"),c(2,"transloco")),n&2&&(u("ngbTooltip",p(1,2,"licenses.single_license")),k("aria-label",p(2,4,"licenses.single_license")))}function Vs(n,l){if(n&1&&C(0,Os,3,6,"app-icon",115)(1,Ds,3,6,"app-icon",116),n&2){let e=l.item,t=d(2);v(t.isMultiUserLicense(e)?0:1)}}function Ns(n,l){n&1&&(m(0),c(1,"transloco")),n&2&&M(" ",p(1,1,"licenses.document_management.subscription.bestcollection_license")," ")}function Gs(n,l){if(n&1){let e=E();r(0,"span",117),b("click",function(){let i=y(e).item,a=d(2);return S(a.callLicense(i))})("keydown.enter",function(){let i=y(e).item,a=d(2);return S(a.callLicense(i))}),C(1,Ns,2,3),m(2),s()}if(n&2){let e=l.item,t=d(2),i=t.nautosTitleUtils.isNautosCollectionTitle(e.title),a=i?t.nautosTitleUtils.cutNautosCollectionFromTitle(e.title):e.title;o(),v(i?1:-1),o(),M(" ",a," ")}}function Bs(n,l){if(n&1&&g(0,"app-icon",118),n&2){let e=d().item;u("ngbTooltip",e.description),k("aria-label",e.description)}}function $s(n,l){if(n&1&&C(0,Bs,1,2,"app-icon",118),n&2){let e=l.item;v(e.description&&e.description.trim()?0:-1)}}function qs(n,l){if(n&1&&(r(0,"span",119),m(1),c(2,"transloco"),s()),n&2){let e=l.item,t=d(2);o(),_(p(2,1,t.getLicenseType(e)))}}function js(n,l){if(n&1&&(r(0,"span",120),m(1),c(2,"date"),s()),n&2){let e=l.item;o(),_(Te(2,1,e.createdOn,"yyyy-MM-dd"))}}function Hs(n,l){if(n&1&&(r(0,"span",121),m(1),c(2,"date"),s()),n&2){let e=l.item;o(),_(Te(2,1,e.changedOn,"yyyy-MM-dd"))}}function zs(n,l){n&1&&(r(0,"div",63),g(1,"app-icon",122),r(2,"p",123),m(3),c(4,"transloco"),s()()),n&2&&(o(3),_(p(4,1,"licenses.no_licenses_assigned")))}function Ws(n,l){if(n&1){let e=E();r(0,"div",101)(1,"div",102)(2,"h2"),m(3),c(4,"transloco"),s(),r(5,"button",103),b("click",function(){y(e);let i=d();return S(i.onAddLicenses())}),m(6),c(7,"transloco"),s()(),r(8,"div",53)(9,"app-table-menu",54,1)(11,"div",55),T(12,Fs,4,6,"ng-template",null,5,I),s()(),r(14,"app-pagination",56),b("pageChange",function(i){y(e);let a=d();return S(a.onLicensePageChange(i))}),s()(),r(15,"app-table",104,6),T(17,Ls,6,5,"ng-template",null,7,I),r(19,"div",59),T(20,As,4,6,"ng-template",null,4,I),s(),r(22,"div",59),T(23,Vs,2,1,"ng-template",null,4,I),s(),r(25,"div",105),T(26,Gs,3,2,"ng-template",null,4,I),s(),r(28,"div",58),T(29,$s,1,1,"ng-template",null,4,I),s(),r(31,"div",106),T(32,qs,3,3,"ng-template",null,4,I),s(),r(34,"div",107),T(35,js,3,4,"ng-template",null,4,I),s(),r(37,"div",108),T(38,Hs,3,4,"ng-template",null,4,I),s()(),C(40,zs,5,3,"div",63),s()}if(n&2){let e=N(10),t=N(16),i=d();o(3),_(p(4,10,"licenses.title")),o(2),u("disabled",!1),o(),M(" ",p(7,12,"user_management.add_license")," "),o(3),u("appTable",t),o(5),u("collectionSize",i.totalLicenses)("page",i.licensesCurrentPage)("tableMenu",e)("pageSize",i.licensesHitsPerPage),o(),u("items",i.licensesOfCurrentGroup),o(25),v(i.licensesOfCurrentGroup.length===0?40:-1)}}var qn=(()=>{class n{constructor(){this._licenseConfig=h(mn),this._authService=h(ot),this._changeDetectorRef=h(ct),this._feedbackService=h(oe),this._formBuilder=h(Ce),this._groupService=h(pt),this._userService=h(we),this._licenseService=h(wi),this._locationService=h(Zt),this._modalService=h(B),this._roleService=h(Mt),this._route=h(me),this._router=h(de),this._tenantStateService=h(Ft),this._translocoService=h(ge),this._uiService=h(St),this.nautosTitleUtils=ki,this.availableRoles=[],this.currentLicenseTitleFilter="",this.customRoles=[],this.isEditMode=!1,this.isLicenseTableVisible=!0,this.isLoading=!1,this.licensesCurrentPage=this._licenseConfig.defaultPage,this.licensesHitsPerPage=this._licenseConfig.defaultPerPage,this.usersCurrentPage=this._licenseConfig.defaultPage,this.usersHitsPerPage=this._licenseConfig.defaultPerPage,this.licensesOfCurrentGroup=[],this.readOnlyAdditiveRoles=[],this.roles=[],this.standardAdditiveRoles=[],this.totalLicenses=0,this.totalUsers=0,this.hasGroupTypeChanged=!1,this.openModalFor=new _e,this._groupNames=[],this._isComponentActive=!0,this._isInitialized=!1,this._isReadOnlyGroup=!1,this._selectableLocations=[],this._selectableRoles=[],this._usersOfCurrentGroup=[],this._allUserIds=[],this._defaultOperator="AN
1D",this._groupRoles=je,this._initialLicensesOfCurrentGroup=[],this._subscriptions=[],this._userDetails=new Map}get standardAdditiveRolesFormArray(){return this.groupForm.get("standardAdditiveRoles")}get readOnlyAdditiveRolesFormArray(){return this.groupForm.get("readOnlyAdditiveRoles")}get selectedCustomRoleFormControl(){return this.groupForm&&this.groupForm.get("selectedCustomRole")}get isReadOnlyGroup(){return this._isReadOnlyGroup}get usersOfCurrentGroup(){return this._usersOfCurrentGroup}set usersOfCurrentGroup(e){this._isInitialized&&this.cacheUserDetails(e.filter(t=>!this._usersOfCurrentGroup.includes(t))),this._usersOfCurrentGroup=e,this._isInitialized=!0}ngOnInit(){this.isLicenseTableVisible=this._authService.userHasOnePermission([je.ADMIN,Q.VIEW_DOCUMENT_MANAGEMENT,Q.EDIT_DOCUMENT_MANAGEMENT,Q.VIEW_LICENSE_PANEL,Q.EDIT_LICENSE_PANEL]);let{id:e}=this._route.snapshot.params;this._tenantKey=localStorage.getItem(Ye),this.buildOperatorDropdownFields(),this.groupForm=this._formBuilder.group({groupId:e??"",name:["",[G.required,G.minLength(1),this.nameExists()]],userAccountIds:[""],roleIds:[""],role:"",standardAdditiveRoles:this._formBuilder.array([]),readOnlyAdditiveRoles:this._formBuilder.array([]),selectedCustomRole:new j($e,[_i.validGuidValidator,G.required]),isDynamicGroup:!1,dynamicGroupFilters:this._formBuilder.array([])}),this.groupForm.valueChanges.pipe(et(()=>this._isComponentActive)).subscribe(i=>{this.searchFields=[...i.dynamicGroupFilters],this._changeDetectorRef.markForCheck()}),this._locationService.getLocations().subscribe(i=>{this._selectableLocations=i.map(a=>({text:a.name,value:a.name}))});let t=this._roleService.roles$.subscribe(i=>{if(i?.length){let a=this._roleService.mapRoles(i);return this.roles=a,a.forEach(f=>{switch(f.parentRole){case ve.STANDARD:this.standardAdditiveRoles.push(f),this.standardAdditiveRolesFormArray&&this.standardAdditiveRolesFormArray.push(new j(!1));break;case ve.READONLY:this.readOnlyAdditiveRoles.push(f),this.readOnlyAdditiveRolesFormArray&&this.readOnlyAdditiveRolesFormArray.push(new j({value:!1,disabled:!0}));break;case ve.CUSTOM:this.customRoles.push({text:f.name,value:f.roleId});break;default:Object.values(je).includes(f.name)&&this.availableRoles.push(f),f.name===this._groupRoles.STANDARD&&this.groupForm&&this.groupForm.controls.role.setValue(f.roleId,{emitEvent:!1});break}}),this._selectableRoles=si.getRolesAsSelectableRoles(i).map(f=>({text:f.text,value:f.name})),this._translocoService.selectTranslate("user_management.role_management.custom_role").subscribe(f=>{this.availableRoles.some(x=>x.parentRole===ve.CUSTOM)||this.availableRoles.push({parentRole:ve.CUSTOM,name:f,roleId:$e})}),a}return ue});this._subscriptions.push(t),this._groupService.getAllGroupsForTenant().subscribe(i=>{this._groupNames=i.map(a=>a.name)}),this._translocoService.langChanges$.pipe().subscribe(()=>{this._dynamicExpressionOptions=this._groupService.getDynamicGroupSelectOptions()}),e&&this.patchGroupValue(e)}removeField(e){this.dynamicGroupFilters.removeAt(e),this.dynamicGroupFilters.length===0?this.buildAndPushNewFieldToArray():this.fetchUserList()}addUserField(e){e.stopPropagation(),this.buildAndPushNewFieldToArray(),this._changeDetectorRef.detectChanges()}onTextInput(){this._typeaheadTimer&&clearTimeout(this._typeaheadTimer),this._typeaheadTimer=setTimeout(()=>{this.fetchUserList()},500)}get dynamicGroupFilters(){return this.groupForm.controls.dynamicGroupFilters}get isNautosProActive(){return this._tenantStateService.isNautosProActive()}get isDynamicGroupActive(){return this.groupForm.controls.isDynamicGroup.value}isInputType(e,t){let i=this.groupForm.controls.dynamicGroupFilters.controls,a=this._dynamicExpressionOptions.find(f=>f.value===i[t].value.fieldName);switch(e){case"text":return a?.format?a?.format==="text":!0;case"select":return a?.format==="select";default:return!0}}onSave(){if(!this.groupForm.valid){this.groupForm.markAllAsTouched();return}let e=[];this.standardAdditiveRolesFormArray.controls.forEach((le,re)=>{le.value&&e.push(this.standardAdditiveRoles[re].roleId)}
1),this.readOnlyAdditiveRolesFormArray.controls.forEach((le,re)=>{le.value&&e.push(this.readOnlyAdditiveRoles[re].roleId)});let t;this.selectedCustomRoleFormControl.value&&this.selectedCustomRoleFormControl.value!==$e?t=[this.selectedCustomRoleFormControl.value]:t=[this.groupForm.controls.role.value,...e].filter(le=>!!le);let i=[],a=[];this.groupForm.value.isDynamicGroup?a=this.dynamicGroupFilters.value.filter(le=>le.fieldName!==null):i=this._allUserIds;let f=this.groupForm.controls.isDynamicGroup.value,x=this.licensesOfCurrentGroup.filter(le=>!this._initialLicensesOfCurrentGroup.includes(le)),w=this._initialLicensesOfCurrentGroup.filter(le=>!this.licensesOfCurrentGroup.includes(le)),L=this.groupForm.controls.groupId.value;if(L){let le={groupId:L,roleIds:t,userAccountIds:i,name:this.groupForm.controls.name.value,dynamicGroupFilters:a,isDynamicGroup:f};this.saveGroup(le,x,w)}else{let le={name:this.groupForm.controls.name.value,roleIds:t,userAccountIds:i,dynamicGroupFilters:a,isDynamicGroup:f};this.totalUsers>100||this.hasGroupTypeChanged||this.isDynamicGroupActive?this.createGroupFireAndForget(le,x):this.createGroup(le,x)}}ngOnDestroy(){this._isComponentActive=!1,this._subscriptions.forEach(e=>e.unsubscribe())}onCancel(){this._router.navigate([`${this._tenantKey}/groups`])}onAddLicenses(){this._modalService.open(gn).result.then(t=>{if(t?.passedLicenses){let i=t.passedLicenses.map(a=>JSON.parse(JSON.stringify(a)));this.licensesOfCurrentGroup=[...this.licensesOfCurrentGroup,...i],this.licensesOfCurrentGroup=Ze.removeDuplicates(this.licensesOfCurrentGroup,"id"),this.currentGroup&&(this.currentGroup.hasLicenses=this.licensesOfCurrentGroup.length>0)}})}onLockGroup(){let e=this._modalService.open(Cn);e.componentInstance.selectedGroups=[this.currentGroup],e.result.then(t=>{if(t&&typeof t!="string"&&t.groups&&Object.hasOwn(t,"reason")){let{userAccountId:i,forename:a,surname:f,username:x}=this._authService.userInfo;this._groupService.lockGroup(this.currentGroup,t.reason).subscribe(w=>{w?(this.currentGroup.lock={idOfExecutingUser:i,nameOfExecutingUser:`${a} ${f} (${x})`,reason:t.reason,time:new Date().toISOString(),lockType:0,groupId:t.groups[0].groupId},this._feedbackService.showSuccessModal("user_management.groups.group_successfully_locked")):this._feedbackService.showErrorModal()})}})}onUnlockGroup(){this._groupService.unlockGroup(this.currentGroup).subscribe(e=>{e?(this.currentGroup.lock=void 0,this._feedbackService.showSuccessModal("user_management.groups.group_successfully_unlocked")):this._feedbackService.showErrorModal()})}onDeleteGroup(){let e=this._modalService.open(ae);e.componentInstance.isDeleteConfirmation=!0,e.componentInstance.title="user_management.groups.delete_group",this._subscriptions.push(this._translocoService.selectTranslate("user_management.groups.do_you_want_to_delete_group_x",{groupName:this.currentGroup.name}).subscribe(t=>e.componentInstance.text=t)),e.result.then(t=>{t.preset&&this._groupService.deleteGroups([this.currentGroup.groupId]).subscribe(i=>{i?(this._groupService.refreshGroups(),this._feedbackService.showSuccessModal("user_management.groups.group_successfully_deleted",`${this._tenantKey}/groups`)):this._feedbackService.showErrorModal(void 0,`${this._tenantKey}/groups`)})})}onAddUsersToGroup(){let e=this._modalService.open(oa);e.componentInstance.currentGroupId=this.currentGroup?.groupId,e.result.then(t=>{if(t?.passedUsers){let i=t.passedUsers.map(a=>JSON.parse(JSON.stringify(a)));this.usersOfCurrentGroup=[...this.usersOfCurrentGroup,...i],this.usersOfCurrentGroup=Ze.removeDuplicates(this.usersOfCurrentGroup,"id"),this._allUserIds=[...this._allUserIds,...i.map(a=>a.id)],this._allUserIds=Ze.removeDuplicates(this._allUserIds),this.totalUsers=this._allUserIds.length}})}onUnlinkUser(e){this.confirmAndUnlinkUsers([e],"user_management.groups.user_removal_hint")}onUnlinkUsers(){let t=this.groupUserTable.selectedRows.map(a=>a.item.id),i=t.length>1?"user_management.groups.users_removal_hint":"user_management.groups.user_removal_hint";this.confirmAndUnlinkUsers(t,i)}onUnlinkLicense(e){this.confirmAndUnlinkLicenses([e])}onUnlinkLicenses(){let t=this.groupLicenseTable.selectedRows.map(i=>qe({},i.item));this.confirmAndUnlinkLicenses(t)}onFilterLicenses(e){this.currentLicenseTitleFilter=e,this.requestLicenses(this.currentLicenseTitleFilter)}onResetLicenseFilters(){this.currentLicenseTitleFilter=void 0,this.requestLicenses(this.currentLicenseTitleFilter)}onLicensePageChange(e){this.licensesCurrentPage=e,this.requestLicenses(this.currentLicenseTitleFilter)}onUsersPageChange(e){this.usersCurrentPage=e,this.fetchUserList()}isMultiUserLicense(e){return e.users.length>1||e.groups.length>0}getLicenseType(e){return"licenses."+e.licenseType.toLowerCase()+"_license"}callLicense(e){this._router.navigate([`${this._tenantKey}/licenses/edit`,e.id])}callUser(e){this._router.navigate([`${this._tenantKey}/users/user`,e.id])}groupTypeChanged(e){this.isNautosProActive&&(this.usersCurrentPage=this._licenseConfig.defaultPage,this.hasGroupTypeChanged=!0,e==="dynamicGroup"?(this.groupForm.patchValue({isDynamicGroup:!0}),this._groupUsersCache=[...this.usersOfCurrentGroup],this.usersOfCurrentGroup=[],this.dynamicGroupFilters.length===0?this.buildAndPushNewFieldToArray():this.fetchDynamicUserList()):(this.usersOfCurrentGroup=[],this.groupForm.patchValue({isDynamicGroup:!1}),this.totalUsers=this._allUserIds.length,this._groupUsersCache?.length>0&&(this.usersOfCurrentGroup=[...this._groupUsersCache],this._groupUsersCache=[])))}getRoleNameList(e){return e?.roles?e.roles.map(t=>t.name):[]}itemSelected(){this.fetchUserList()}getSelectOptions(e,t){switch(e){case"select":{let i=this._dynamicExpressionOptions.find(a=>a.value===this.groupForm.controls.dynamicGroupFilters.controls[t].value.fieldName);return i.value==="role"?this._selectableRoles:i.value==="location"?this._selectableLocations:[]}case"dynamicFields":{let i=this._translocoService?.getActiveLang?.()??"de",a=new Intl.Collator(i,{sensitivity:"base",numeric:!0});return this._dynamicExpressionOptions.map(f=>Ct(qe({},f),{disabled:!1})).sort((f,x)=>a.compare(f.text??"",x.text??""))}default:return[]}}fetchUserList(){this.isDynamicGroupActive?this.fetchDynamicUserList():this.fetchStaticUserList()}getUserDetails(e){return this._userDetails.get(e.id)}confirmAndUnlinkLicenses(e){let t=this._modalService.open(ae);t.componentInstance.isUnlinkConfirmation=!0,t.componentInstance.title="user_management.unlink_license_title",t.componentInstance.text="user_management.groups.license_removal_hint",t.result.then(i=>{if(i.preset){let a=Array.isArray(e)?e.map(f=>typeof f=="string"?f:f.id):[e];this.licensesOfCurrentGroup=this.licensesOfCurrentGroup.filter(f=>!a.includes(f.id)),this.totalLicenses-=a.length}})}confirmAndUnlinkUsers(e,t){let i=this._modalService.open(ae);i.componentInstance.isUnlinkConfirmation=!0,i.componentInstance.title="user_management.groups.unlink_user_title",i.componentInstance.text=t,i.result.then(a=>{a.preset&&(this.usersOfCurrentGroup=this.usersOfCurrentGroup.filter(f=>!e.includes(f.id)),this._allUserIds=this._allUserIds.filter(f=>!e.includes(f)),this.totalUsers=this._allUserIds.length,e.length>1&&this.groupUserTable.selectedRows.forEach(x=>{x.selectedForm.patchValue({selected:!1}),this.groupUserTable.onSelectStatusChange(x)}))})}fetchStaticUserList(){this._uiService.showSpinner(),this._groupService.getUsersByGroup(this.currentGroup.groupId,this.usersCurrentPage,this.usersHitsPerPage).pipe(We(1),be(e=>{this.fetchStaticUserCount(),this.usersOfCurrentGroup=e??[],this.cacheUserDetails(e),this._uiService.hide
1Spinner()})).subscribe()}fetchDynamicUserList(){let e=!!this.dynamicGroupFilters.value.some(i=>i.value!==""),t=!!this.dynamicGroupFilters.value.some(i=>i.fieldName!==null);e&&t?(this._uiService.showSpinner(),this.usersOfCurrentGroup=[],this._groupService.getUserListForDynamicGroup(this.dynamicGroupFilters.value,this.usersCurrentPage,this.usersHitsPerPage).subscribe(i=>{this.fetchDynamicUserCount(),this.usersOfCurrentGroup=i??[],this.cacheUserDetails(i),this._uiService.hideSpinner()})):this.totalUsers=0}cacheUserDetails(e){e.forEach(t=>this._userDetails.set(t.id,t))}patchGroupValue(e){this._uiService.showSpinner(),this._groupService.getGroupWithUsers(e).pipe(dt(t=>{if(t){this._uiService.hideSpinner(),this.currentGroup=t,this.isLicenseTableVisible=this._authService.userHasPermission(Q.VIEW_LICENSE_PANEL),this.isEditMode=!0;let i=this._roleService.mapRoles(t.roles),a=i.find(Qe=>Qe.parentRole===ve.EMPTY||Qe.parentRole===ve.CUSTOM);this.currentGroup.isSystemGroup?(this._isReadOnlyGroup=!0,this.groupForm.controls.role.disable()):this.enableOrDisableAdditiveRoleCheckboxes(a),a.parentRole===ve.CUSTOM&&(this.selectedCustomRoleFormControl.enable(),this.selectedCustomRoleFormControl.setValue(a.roleId));let x=this.availableRoles.find(Qe=>Qe.name===je.READONLY)?.roleId??"",w=a?.roleId||x,L=t.users.filter(Qe=>!!Qe).map(Qe=>Qe.id);this._allUserIds=L;let le=t.roles.filter(Qe=>!!Qe).map(Qe=>Qe.roleId);a.parentRole===ve.CUSTOM?this.groupForm.patchValue({groupId:t.groupId,name:t.name,userAccountIds:L,roleIds:le,role:$e,isDynamicGroup:t.isDynamicGroup}):this.groupForm.patchValue({groupId:t.groupId,name:t.name,userAccountIds:L,roleIds:le,role:w,isDynamicGroup:t.isDynamicGroup}),t.dynamicGroupFilters?.length>0?this.buildDynamicGroupFilters(t.dynamicGroupFilters):this.buildAndPushNewFieldToArray();let re=i.filter(Qe=>Qe.parentRole===ve.STANDARD);this.standardAdditiveRolesFormArray.controls.forEach((Qe,On)=>{let Dn=this.standardAdditiveRoles[On].roleId;re.find(Vn=>Vn.roleId===Dn)&&Qe.setValue(!0)});let hi=i.filter(Qe=>Qe.parentRole===ve.READONLY);this.readOnlyAdditiveRolesFormArray.controls.forEach((Qe,On)=>{let Dn=this.readOnlyAdditiveRoles[On].roleId;hi.find(Vn=>Vn.roleId===Dn)&&Qe.setValue(!0)});let zi=[];return t.license.forEach(Qe=>{zi.push(this._licenseService.getLicenseSummaryById(Qe))}),Ki(...zi).pipe(F(()=>ue))}return ue}),Z(()=>{this.fetchUserList()})).subscribe(t=>{t&&(this.licensesOfCurrentGroup.push(t),this._initialLicensesOfCurrentGroup.push(t))})}buildAndPushNewFieldToArray(){let e=this._formBuilder.group({fieldName:this._formBuilder.control(null),value:this._formBuilder.control(""),operator:this._defaultOperator});this.dynamicGroupFilters.push(e),this._changeDetectorRef.detectChanges(),this.totalUsers=0}saveGroup(e,t,i){this.isLoading=!0,this.isReadOnlyGroup?this.handleLicenseChanges(e.groupId,t,i).subscribe({next:()=>{this._feedbackService.showSuccessModal("user_management.groups.group_successfully_edited",`${this._tenantKey}/groups`)},error:()=>{this._feedbackService.showErrorModal()},complete:()=>{this.isLoading=!1}}):this.totalUsers>100||this.hasGroupTypeChanged||this.isDynamicGroupActive?this.updateGroupFireAndForget(e,t,i):this.updateGroup(e,t,i)}requestLicenses(e){this._subscriptions.push(this._licenseService.getLicensesPagedAndFiltered(this.licensesCurrentPage,this.licensesHitsPerPage,"title",ze.DESC,void 0,e,[this.currentGroup.groupId]).pipe(We(1)).subscribe({next:t=>{t&&(this.totalLicenses=t.count,this.licensesOfCurrentGroup=t.items.map(i=>ai.licenseSummaryResponseDtoToLicenseSummaryModel(i)))}}))}nameExists(){return e=>this._groupNames.includes(e.value)&&this.currentGroup?.name!==e.value?{invalidName:{name:e.value}}:null}buildDynamicGroupFilters(e){e.forEach(t=>{let i=this._formBuilder.group({fieldName:this._formBuilder.control(t.fieldName),value:this._formBuilder.control(t.value),operator:this._formBuilder.control(t.operator)});this.dynamicGroupFilters.push(i),this._changeDetectorRef.detectChanges()}),this.fetchUserList()}enableOrDisableAdditiveRoleCheckboxes(e){this.standardAdditiveRolesFormArray.controls.forEach(t=>{e.name===je.STANDARD?t.enable():t.disable()}
1),this.readOnlyAdditiveRolesFormArray.controls.forEach(t=>{e.name===je.READONLY?t.enable():t.disable()})}fetchDynamicUserCount(){let e=this.dynamicGroupFilters.value.some(i=>i.value?.trim()!==""),t=!!this.dynamicGroupFilters.value.some(i=>i.fieldName!==null);e&&t&&this._groupService.getUserCountForDynamicGroup(this.dynamicGroupFilters.value).pipe(We(1),be(i=>{this.totalUsers=i})).subscribe()}fetchStaticUserCount(){this._groupService.getStaticUserCount(this.currentGroup.groupId).pipe(We(1),be(e=>{this.totalUsers=e})).subscribe()}buildOperatorDropdownFields(){this.operators=[{text:"AND",value:"AND"},{text:"OR",value:"OR"},{text:"NOT",value:"NOT"}]}updateGroup(e,t,i){this._groupService.updateGroup(e).pipe(F(()=>(this._feedbackService.showErrorModal(),ue)),Z(()=>{this.handleLicenseChanges(e.groupId,t,i).subscribe(),this.isLoading=!1})).subscribe(a=>{a?this._feedbackService.showSuccessModal("user_management.groups.group_successfully_edited",`${this._tenantKey}/groups`):this._feedbackService.showErrorModal()})}updateGroupFireAndForget(e,t,i){this._groupService.updateGroupFireAndForget(e),this.handleLicenseChanges(e.groupId,t,i).subscribe(),this._feedbackService.showSuccessModal("user_management.groups.group_edit_requested",`${this._tenantKey}/groups`)}createGroup(e,t){this.isLoading=!0,this._groupService.createGroup(e).pipe(co(i=>i?(this._feedbackService.showSuccessModal("user_management.groups.group_successfully_created",`${this._tenantKey}/groups`),this._authService.userHasPermission(Q.EDIT_LICENSE_PANEL)&&t.length>0?this._licenseService.addGroupMembersToLicenses([i],t.map(f=>f.id)):ue):ue),F(()=>(this._feedbackService.showErrorModal(),ue)),Z(()=>this.isLoading=!1)).subscribe()}createGroupFireAndForget(e,t){this._groupService.createGroupFireAndForget(e),this._feedbackService.showSuccessModal("user_management.groups.group_creation_requested",`${this._tenantKey}/groups`),this._authService.userHasPermission(Q.EDIT_LICENSE_PANEL)&&t.length>0&&this._licenseService.addGroupMembersToLicenses([cn()],t.map(a=>a.id))}handleLicenseChanges(e,t,i){let a=[],f=this._authService.userHasPermission(Q.EDIT_LICENSE_PANEL);return f&&t.length>0&&a.push(this._licenseService.addGroupMembersToLicenses([e],t.map(x=>x.id))),f&&i.length>0&&a.push(this._licenseService.unlinkGroupMembersFromLicenses([e],i.map(x=>x.id))),a.length>0?Rt(a).pipe():O()}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275cmp=R({type:n,selectors:[["app-group-detail"]],viewQuery:function(t,i){if(t&1&&K(Wr,5)(Qr,5)(Kr,7),t&2){let a;
vendor: 6,203 bytes, line 1
1z(a=W())&&(i.groupUserTable=a.first),z(a=W())&&(i.groupLicenseTable=a.first),z(a=W())&&(i.licenseTableTemplate=a.first)}},outputs:{openModalFor:"openModalFor"},decls:34,vars:26,consts:[["licenseTableTemplate",""],["tableMenu",""],["groupUserTable",""],["tableExpand",""],["tableCell",""],["menuAnimatedButtons",""],["groupLicenseTable",""],["tableCheckboxColumnHeader",""],["filterPopover","ngbPopover"],["filterPopoverContent",""],[3,"ngSubmit","focusInvalidInput"],[1,"detail-container"],[1,"header",3,"scrollToTopButton"],[1,"buttons"],["type","button","data-cy","deleteGroup",1,"btn-alert"],["type","button","data-cy","lockGroup",1,"btn-alert-outline"],["type","button","data-cy","cancelGroup",1,"btn-primary-outline",3,"click"],["type","submit","data-cy","saveGroup",1,"btn-primary"],["name","loading-spinner"],["data-cy","alertBox",1,"box-alert"],[1,"box-info"],[1,"content-row"],[1,"label","mandatory"],["data-cy","groupName",1,"text-bold"],[3,"formGroup"],[1,"roles-with-info"],["data-cy","userList",3,"formGroup"],["type","button","data-cy","deleteGroup",1,"btn-alert",3,"click"],["type","button","data-cy","lockGroup",1,"btn-alert-outline",3,"click"],["data-cy","lockedGroupInfoTitle",1,"box-title"],[1,"box-content"],["data-cy","lockedUserText"],["data-cy","lockReason",1,"lock-reason"],["type","button","data-cy","unlockGroup",1,"btn-alert-outline",3,"click"],[1,"label-with-colon"],["data-cy","lockReason"],["data-cy","systemGroupInfoTitle",1,"box-title"],["data-cy","systemGroupInfoText",1,"box-content"],["id","group-name","formControlName","name","type","text","data-cy","groupName",1,"group-name",3,"appAutoFocus"],["data-cy","errorMessage",1,"text-alert"],["data-cy","groupRoles",3,"availableRoles","formGroup","standardAdditiveRoles","readOnlyAdditiveRoles","allRoles","availableCustomRoles"],["data-cy","infoBox",1,"box-info"],["data-cy","infoTitle",1,"box-title"],["data-cy","infoText",1,"box-content"],[1,"label"],["data-cy","role",1,"text-bold"],[4,"ngTemplateOutlet"],["data-cy","userTable",1,"user-table"],[1,"user-header"],[1,"user-count-container"],[3,"count"],["data-cy","numberOfSelectedUsers"],["type","button","data-cy","addUsers",1,"btn-primary-outline",3,"disabled"],[1,"container-menu-pagination"],[3,"appTable"],["menu",""],["data-cy","pagination",3,"pageChange","collectionSize","page","tableMenu","pageSize"],["id","group-user-table","data-cy","table",3,"items","hasExpandedRow","hasCheckboxColumn"],["tableColumn",""],["tableColumn","","styleClasses","button-column"],["tableColumn","","columnText","common.name","itemProperty","username"],["tableColumn","","columnText","user_management.users.username"],["tableColumn","","columnText","user_management.users.role","itemProperty","role","data-cy","roles"],[1,"no-content"],[1,"label-top","mandatory"],["data-cy","staticList",1,"form-check"],["name","groupType","type","radio","id","staticList","value","staticGroup",1,"form-check-input",3,"change","checked"],["for","staticList",1,"form-check-label"],["data-cy","dynamicList",1,"form-check"],["name","groupType","type","radio","id","dynamicList","value","dynamicGroup",1,"form-check-input",3,"change","checked"],["for","dynamicList",1,"form-check-label"],["data-cy","dynamicSearchCriteria",3,"searchFields"],["formArrayName","dynamicGroupFilters",1,"fields"],["data-cy","dynamicUserList",1,"dynamic-userlist",3,"formGroupName"],["type","button",1,"btn-icon-text",3,"click"],["name","add"],["data-cy","addDynamicField"],[1,"operator"],["label","search.extended_search.dynamic_operator_field","formControlName","operator","data-cy","dynamicSearchFieldOperator",3,"items"],["label","common.metadata_label.custom_field","formControlName","fieldName","data-cy","fieldLabel",3,"itemSelected","items","showUnselectItem"],[1,"field-value"],["formControlName","value","type","text","data-cy","fieldValue"],["formControlName","value","data-cy","fieldValue",3,"items","showUnselectItem","itemsVisible"],["type","button","data-cy","deleteDynamicField",1,"btn-icon",3,"ngbTooltip"],["label","search.extended_search.dynamic_operator_field","formControlName","operator","data-cy","dynamicSearchFieldOperator",3,"itemSelected","items"],["formControlName","value","type","text","data-cy","fieldValue",3,"input"],["formControlName","value","data-cy","fieldValue",3,"itemSelected","items","showUnselectItem","itemsVisible"],["type","button","data-cy","deleteDynamicField",1,"btn-icon",3,"click","ngbTooltip"],["name","delete"],["type","button","data-cy","addUsers",1,"btn-primary-outline",3,"click","disabled"],["type","button","data-cy","iconUnlinkUsers",1,"btn-menu-animated",3,"click","ngbTooltip"],["name","cross"],["data-cy","miniDetails",3,"user"],["type","button","data-cy","iconUnlinkUser",1,"btn-icon",3,"ngbTooltip"],["type","button","data-cy","iconUnlinkUser",1,"btn-icon",3,"click","ngbTooltip"],["data-cy","name"],["data-cy","username",1,"link","ellipsicated",3,"click","keydown.enter"],["data-cy","roles"],[3,"fieldValues"],["sprite","icons-large","name","user-empty-large","data-cy","iconNoUsers",1,"icon-inactive"],["data-cy","textNoUsers"],["data-cy","licenseTable"],[1,"license-header"],["type","button","data-cy","addLicense",1,"btn-primary-outline",3,"click","disabled"],["id","group-license-table","data-cy","table",3,"items"],["tableColumn","","columnText","common.name"],["tableColumn","","columnText","licenses.license_type"],["tableColumn","","columnText","common.created"],["tableColumn","","columnText","common.changed"],["type","button",1,"btn-menu-animated",3,"click","ngbTooltip"],["name","cross","data-cy","iconUnlinkLicenses"],["popoverClass","filter-container","placement","bottom-left top-left","autoClose","outside","container","body","type","button",1,"btn-filter",3,"ngbPopover"],["name","filter","data-cy","iconFilter",3,"ngClass"],["filterLabel","licenses.detail.name","data-cy","filter",3,"filterClose","filter","resetFilter","activeFilter"],["type","button","data-cy","iconUnlinkLicense",1,"btn-icon",3,"click","ngbTooltip"],["name","group",1,"icon-inactive",3,"ngbTooltip"],["name","user",1,"icon-inactive",3,"ngbTooltip"],["data-cy","licenseName",1,"link","ellipsicated",3,"click","keydown.enter"],["name","info","placement","top",1,"icon-cl
1ickable",3,"ngbTooltip"],["data-cy","licenseType"],["data-cy","createdOn"],["data-cy","changedOn"],["sprite","icons-large","name","licenses-empty-large","data-cy","iconNoLicenses",1,"icon-inactive"],["data-cy","textNoLicenses"]],template:function(t,i){t&1&&(r(0,"form",10),b("ngSubmit",function(){return i.isLoading?null:i.onSave()}),r(1,"div",11)(2,"div",12)(3,"h1"),m(4),c(5,"transloco"),c(6,"transloco"),s(),r(7,"div",13),C(8,Xr,3,3,"button",14),C(9,Zr,3,3,"button",15),r(10,"button",16),b("click",function(){return i.onCancel()}),m(11),c(12,"transloco"),s(),r(13,"button",17),C(14,es,3,3,"span")(15,ts,1,0,"app-icon",18),s()()(),C(16,ns,14,17,"div",19),r(17,"section"),C(18,os,7,6,"div",20),r(19,"h2"),m(20),c(21,"transloco"),s(),r(22,"div",21)(23,"p",22),m(24),c(25,"transloco"),s(),C(26,as,2,1,"div",23)(27,ls,4,4,"div",24),s(),C(28,cs,10,12,"div",25),C(29,ps,7,6,"div",21),s(),C(30,ds,2,1,"section"),C(31,Us,35,18,"section",26),s()(),T(32,Ws,41,14,"ng-template",null,0,I)),t&2&&(u("focusInvalidInput",!0),o(2),u("scrollToTopButton",!0),o(2),M(" ",i.groupForm!=null&&i.groupForm.controls.groupId.value?p(5,16,"user_management.groups.edit_group"):p(6,18,"user_management.groups.create_group")," "),o(4),v(i.isEditMode&&!(i.currentGroup!=null&&i.currentGroup.isSystemGroup)?8:-1),o(),v(i.isEditMode&&!(i.currentGroup!=null&&i.currentGroup.isSystemGroup)&&!(i.currentGroup!=null&&i.currentGroup.lock)?9:-1),o(2),M(" ",p(12,20,"common.cancel")," "),o(3),v(i.isLoading?15:14),o(2),v(i.currentGroup&&(i.currentGroup!=null&&i.currentGroup.lock)?16:-1),o(2),v(i.isEditMode&&(i.currentGroup!=null&&i.currentGroup.isSystemGroup)?18:-1),o(2),_(p(21,22,"common.properties")),o(4),M(" ",p(25,24,"user_management.groups.group_name")," "),o(2),v(i.isEditMode&&(i.currentGroup!=null&&i.currentGroup.isSystemGroup)?26:27),o(2),v(!(i.currentGroup!=null&&i.currentGroup.isSystemGroup)&&(i.availableRoles==null?null:i.availableRoles.length)>0?28:-1),o(),v(i.currentGroup!=null&&i.currentGroup.isSystemGroup?29:-1),o(),v(i.isLicenseTableVisible?30:-1),o(),v(i.currentGroup!=null&&i.currentGroup.isSystemGroup?-1:31))},dependencies:[Be,It,Le,nt,Ht,na,At,V,qo,Ae,Lt,X,Dt,pe,ne,Y,$,J,te,ee,Yt,Jt,He,Ui,Ii,q,Kt,he,un,Oe,D,vn,mt,H,zt,P],styles:[".detail-container[_ngcontent-%COMP%] section[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:calc(var(--spacer) * 2)}.detail-container[_ngcontent-%COMP%] section[_ngcontent-%COMP%]:not(:first-child){gap:var(--spacer)}.detail-container[_ngcontent-%COMP%] section[_ngcontent-%COMP%]:not(:last-child){border-bottom:var(--border);padding-bottom:var(--spacer)}.detail-container[_ngcontent-%COMP%] .content-row[_ngcontent-%COMP%]{display:flex;flex-flow:column wrap;position:relative}.detail-container[_ngcontent-%COMP%] .content-row[_ngcontent-%COMP%] .group-name[_ngcontent-%COMP%]{max-width:25rem}.detail-container[_ngcontent-%COMP%] .user-table[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:var(--spacer)}.detail-container[_ngcontent-%COMP%] .user-table[_ngcontent-%COMP%] .dynamic-userlist[_ngcontent-%COMP%]{display:flex;gap:var(--spacer);flex-wrap:wrap}.detail-container[_ngcontent-%COMP%] .user-table[_ngcontent-%COMP%] .dynamic-userlist[_ngcontent-%COMP%]:not(:first-child){padding-top:1rem}.detail-container[_ngcontent-%COMP%] .user-table[_ngcontent-%COMP%] .dynamic-userlist[_ngcontent-%COMP%] > app-select[_ngcontent-%COMP%], .detail-container[_ngcontent-%COMP%] .user-table[_ngcontent-%COMP%] .dynamic-userlist[_ngcontent-%COMP%] div[_ngcontent-%COMP%], .detail-container[_ngcontent-%COMP%] .user-table[_ngcontent-%COMP%] .dynamic-userlist[_ngcontent-%COMP%] input[_ngcontent-%COMP%], .detail-container[_ngcontent-%COMP%] .user-table[_ngcontent-%COMP%] .dynamic-userlist[_ngcontent-%COMP%] div[_ngcontent-%COMP%] > app-select[_ngcontent-%COMP%]{display:flex;min-width:22rem}.detail-container[_ngcontent-%COMP%] .user-table[_ngcontent-%COMP%] .btn-icon-text[_ngcontent-%COMP%]{width:fit-content}.detail-container[_ngcontent-%COMP%] .license-header[_ngcontent-%COMP%], .detail-container[_ngcontent-%COMP%] .user-header[_ngcontent-%COMP%]{display:flex;gap:var(--spacer);justify-content:space-between}.detail-container[_ngcontent-%COMP%] .license-header[_ngcontent-%COMP%] button[_ngcontent-%COMP%], .detail-container[_ngcontent-%COMP%] .user-header[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{width:fit-content}.detail-container[_ngcontent-%COMP%] .license-header[_ngcontent-%COMP%] .user-count-container[_ngcontent-%COMP%], .detail-container[_ngcontent-%COMP%] .user-header[_ngcontent-%COMP%] .user-count-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;margin-top:calc(var(--spacer/2))}.detail-container[_ngcontent-%COMP%] .roles-with-info[_ngcontent-%COMP%]{display:flex;gap:calc(var(--spacer) * 2)}@media(width<=48rem){.detail-container[_ngcontent-%COMP%] .roles-with-info[_ngcontent-%COMP%]{flex-wrap:wrap}}.detail-container[_ngcontent-%COMP%] .field-value[_ngcontent-%COMP%]{align-items:flex-end}"]})}}return n})();function Qs(n,l){if(n&1){let e=E();r(0,"button",14),b("click",function(){y(e);let i=d();return S(i.resetAllFilters())}),m(1),c(2,"transloco"),s()}
1n&2&&(o(),M(" ",p(2,1,"common.reset")," "))}var aa=(()=>{class n{constructor(){this.filterClose=new _e,this.filter=new _e,this.resetFilter=new _e}ngOnInit(){this.form=new it({groupname:new j(this.groupFilter.groupname),licensename:new j(this.groupFilter.licensename)})}filterOnEnter(e){e.key==="Enter"&&this.onFilter()}onFilter(){let e={groupname:this.form.get("groupname").value,licensename:this.form.get("licensename").value};this.filter.emit(e),this.filterClose.emit()}onFilterClose(){this.filterClose.emit()}resetAllFilters(){this.form.reset(),this.resetFilter.emit()}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275cmp=R({type:n,selectors:[["app-group-list-filter"]],inputs:{groupFilter:"groupFilter"},outputs:{filterClose:"filterClose",filter:"filter",resetFilter:"resetFilter"},decls:25,vars:21,consts:[[1,"filter",3,"formGroup"],[1,"filter-header"],["data-cy","filterTitle",1,"title"],["type","button","data-cy","resetFilter",1,"btn-filter-reset"],["type","button",1,"btn-filter-close",3,"click","ngbTooltip"],["name","cross","data-cy","iconCloseFilter"],[1,"filter-body"],[1,"field"],["for","filter-group"],["type","text","id","filter-group","formControlName","groupname","data-cy","searchGroup",3,"keydown","appAutoFocus"],["for","filter-license"],["type","text","id","filter-license","formControlName","licensename","data-cy","searchLicense",3,"keydown"],[1,"filter-footer"],["type","button","data-cy","applyFilter",1,"btn-primary-outline",3,"click"],["type","button","data-cy","resetFilter",1,"btn-filter-reset",3,"click"]],template:function(t,i){t&1&&(r(0,"form",0)(1,"div",1)(2,"span",2),m(3),c(4,"transloco"),s(),C(5,Qs,3,3,"button",3),r(6,"button",4),c(7,"transloco"),c(8,"transloco"),b("click",function(){return i.onFilterClose()}),g(9,"app-icon",5),s()(),r(10,"div",6)(11,"div",7)(12,"label",8),m(13),c(14,"transloco"),s(),r(15,"input",9),b("keydown",function(f){return i.filterOnEnter(f)}),s()(),r(16,"div",7)(17,"label",10),m(18),c(19,"transloco"),s(),r(20,"input",11),b("keydown",function(f){return i.filterOnEnter(f)}),s()()(),r(21,"div",12)(22,"button",13),b("click",function(){return i.onFilter()}),m(23),c(24,"transloco"),s()()()),t&2&&(u("formGroup",i.form),o(3),_(p(4,9,"common.table.filter")),o(2),v(i.groupFilter.groupname||i.groupFilter.licensename?5:-1),o(),u("ngbTooltip",p(7,11,"common.table.close_filter")),k("aria-label",p(8,13,"common.table.close_filter")),o(7),_(p(14,15,"user_management.groups.group_name")),o(2),u("appAutoFocus",!0),o(3),_(p(19,17,"licenses.detail.name")),o(5),M(" ",p(24,19,"common.apply")," "))},dependencies:[Be,V,X,pe,ne,Y,$,J,te,ee,D,P],encapsulation:2})}}return n})();var Ys=n=>({hide:n}),Js=n=>({count:n});function Xs(n,l){n&1&&g(0,"app-record-count",8),n&2&&u("count",l.length)}function Zs(n,l){n&1&&(r(0,"span",10),m(1),c(2,"transloco"),s()),n&2&&(o(),M(" (",p(2,1,"user_management.groups.unselectable_system_groups_note"),") "))}function el(n,l){if(n&1){let e=E();r(0,"button",22),c(1,"transloco"),c(2,"transloco"),b("click",function(){y(e);let i=d();return S(i.deleteGroups())}),g(3,"app-icon",23),s()}if(n&2){let e=d();u("ngbTooltip",p(1,3,"user_management.groups.delete_groups"))("disabled",e.systemGroupIsSelected),k("aria-label",p(2,5,"user_management.groups.delete_groups"))}}function tl(n,l){if(n&1){let e=E();r(0,"app-group-list-filter",26),b("filterClose",function(){y(e),d();let i=N(1);return S(i.close())})("filter",function(i){y(e);let a=d(2);return S(a.onFilter(i))})("resetFilter",function(){y(e);let i=d(2);return S(i.onResetFilters())}),s()}if(n&2){let e=d(2);u("groupFilter",e.groupFilter)}}function il(n,l){if(n&1&&(r(0,"button",24,4),c(2,"transloco"),g(3,"app-icon",25),T(4,tl,1,1,"ng-template",null,5,I),s()),n&2){let e=N(5),t=d();
1u("ngbPopover",e),k("aria-label",p(2,3,"common.table.open_filter")),o(3),u("ngClass",t.groupFilter.groupname||t.groupFilter.licensename?"icon-filter-active":"icon-clickable-dark")}}function nl(n,l){}function ol(n,l){if(n&1){let e=E();r(0,"button",29),c(1,"transloco"),c(2,"transloco"),b("click",function(){y(e);let i=d(2).item,a=d();return S(a.lockGroup(i))}),g(3,"app-icon",30),s()}n&2&&(u("ngbTooltip",p(1,2,"user_management.groups.lock_group")),k("aria-label",p(2,4,"user_management.groups.lock_group")))}function al(n,l){if(n&1){let e=E();r(0,"button",31),c(1,"transloco"),c(2,"transloco"),b("click",function(){y(e);let i=d(2).item,a=d();return S(a.unlockGroup(i))}),g(3,"app-icon",32),s()}n&2&&(u("ngbTooltip",p(1,2,"user_management.groups.unlock_group")),k("aria-label",p(2,4,"user_management.groups.unlock_group")))}function rl(n,l){if(n&1&&C(0,ol,4,6,"button",27)(1,al,4,6,"button",28),n&2){let e=d().item;v(e.lock===null?0:1)}}function sl(n,l){if(n&1&&C(0,rl,2,1),n&2){let e=l.item;v(e.isSystemGroup?-1:0)}}function ll(n,l){if(n&1){let e=E();r(0,"span",33),b("click",function(){let i=y(e).item,a=d();return S(a.navigateToItem(i))})("keydown.enter",function(){let i=y(e).item,a=d();return S(a.navigateToItem(i))}),m(1),s()}if(n&2){let e=l.item;o(),M(" ",e.name," ")}}function cl(n,l){if(n&1&&(r(0,"div",34),m(1),s()),n&2){let e=l.item;o(),_(e.userCount)}}function pl(n,l){if(n&1&&(r(0,"div",35),g(1,"app-box-list",36),s()),n&2){let e=l.item,t=d();o(),u("fieldValues",t.getRoleNameList(e))("showTooltip",!1)}}function ml(n,l){n&1&&(r(0,"div",21),g(1,"app-icon",37),r(2,"p",38),m(3),c(4,"transloco"),s()()),n&2&&(o(3),M(" ",p(4,1,"user_management.groups.no_groups_found")," "))}var sa=(()=>{class n{constructor(){this._searchConfig=h(Lo),this._feedbackService=h(oe),this._groupService=h(pt),this._modalService=h(B),this._route=h(me),this._router=h(de),this._translocoService=h(ge),this._uiService=h(St),this.menuAction=$i,this.isPending=!1,this.groupFilter={groupname:"",licensename:""},this.isFiltered=!1,this.systemGroupIsSelected=!1,this._subscriptions=[],this._filterOpen=!0,this._hitsPerPage=this._searchConfig.defaultPerPage,this._currentPage=this._searchConfig.defaultPage}get config(){return this._searchConfig}get currentPage(){return this._currentPage}set currentPage(e){this._currentPage=e}get hitsPerPage(){return this._hitsPerPage}set hitsPerPage(e){this._hitsPerPage=e}get groupTable(){return this._groupTable}set groupTable(e){this._groupTable=e}get filterOpen(){return this._filterOpen}get groupTableSize(){return this._groupTable?.rows?.length??0}get selectedNonSystemCount(){return this.groupTable?.selectedRows?this.groupTable.selectedRows.filter(e=>!e.item.isSystemGroup&&e.selectedFormGroup.value).length:0}get hasSystemGroupSelected(){return!!this.groupTable?.selectedRows?.some(e=>e.item.isSystemGroup)}ngOnInit(){this.setLoadingAndShowSpinner(),this._groupService.refreshGroups(),this.groupCollection$=this._groupService.groupCollection$.pipe(lt(void 0),be(e=>{e&&this.setLoadedAndHideSpinner()}),_t({refCount:!0}))}ngOnDestroy(){for(let e of this._subscriptions)e&&e.unsubscribe()}navigateToItem(e){e?.groupId&&this._router.navigate(["./group",e.groupId],{relativeTo:this._route})}deleteGroups(){let e=this.selectedItemsWithoutSystemGroup.map(i=>i.item),t=this._modalService.open(ae);t.componentInstance.isDeleteConfirmation=!0,t.componentInstance.title=e.length===1?"user_management.groups.delete_group":"user_management.groups.delete_groups",e.length===1?this._subscriptions.push(this._translocoService.selectTranslate("user_management.groups.do_you_want_to_delete_group_x",{groupName:e[0].name}).subscribe(i=>t.componentInstance.text=i)):t.componentInstance.text="user_management.groups.do_you_want_to_delete_the_groups",t.result.then(i=>{i?.preset&&this._groupService.deleteGroups(e.map(a=>a.groupId)).pipe(Z(()=>{this.setLoadedAndHideSpinner()})).subscribe(a=>{a?(this.selectedItemsWithoutSystemGroup.forEach(f=>{f.selectedForm.patchValue({selected:!1}),this.groupTable.onSelectStatusChange(f)}),this._feedbackService.showSuccessModal(e.length===1?"user_management.groups.group_successfully_deleted":"user_management.groups.groups_successfully_deleted")):this._feedbackService.showErrorModal()})})}unlockGroup(e){this.setLoadingAndShowSpinner(),this._subscriptions.push(this._groupService.unlockGroups([e]).pipe(We(1),Z(()=>this.setLoadedAndHideSpinner())).subscribe(()=>{this._groupService.refreshGroups(),this._feedbackService.showSuccessModal("user_management.groups.group_successfully_unlocked")}))}lockGroup(e){let t=this._modalService.open(Cn);t.componentInstance.selectedGroups=[e],t.result.then(i=>{i&&i.groupIds&&Object.hasOwn(i,"reason")&&this._subscriptions.push(this._groupService.lockGroups(i.groupIds,i.reason).pipe(We(1)).subscribe({next:a=>{a===!0?(this._feedbackService.showSuccessModal("user_management.groups.group_successfully_locked",""),this._groupService.refreshGroups()):this._feedbackService.showErrorModal()},error:()=>{this._feedbackService.showErrorModal()}}))})}getRoleNameList(e){return e?.roles?e.roles.map(t=>t.name):[]}callCreateGroup(){this._router.navigate(["./create"],{relativeTo:this._route})}onFilter(e){this.groupFilter=e,this._groupService.setFilter(e),this.isFiltered=!0}onResetFilters(){this.groupFilter={},this._groupService.setFilter(this.groupFilter),this.isFiltered=!1}onStateChange(e){if(e.changeType===Ot.SORT){let t=e.sortAsc?ze.ASC:ze.DESC;this._groupService.setSort(e.sortBy,t)}}onRowSelect(e){this.systemGroupIsSelected=!1,e.length===1&&e[0].item.isSystemGroup&&(this.systemGroupIsSelected=!0),this.selectedItemsWithoutSystemGroup=e.filter(t=>!t.item.isSystemGroup)}setLoadedAndHideSpinner(){this.isPending=!1,this._uiService.hide
1Spinner()}setLoadingAndShowSpinner(){this.isPending=!0,this._uiService.showSpinner()}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275cmp=R({type:n,selectors:[["app-group-list"]],viewQuery:function(t,i){if(t&1&&K(H,7),t&2){let a;z(a=W())&&(i.groupTable=a.first)}},decls:42,vars:30,consts:[["menuAnimatedButtons",""],["tableCheckboxColumnHeader",""],["tableHeader",""],["tableCell",""],["filterPopover","ngbPopover"],["filterPopoverContent",""],[1,"overview-container",3,"ngClass"],[1,"header"],[3,"count"],["data-cy","numberOfSelectedEntries"],[1,"text-italic"],["type","button","data-cy","createGroup",1,"btn-primary",3,"click"],[1,"container-menu-pagination"],[3,"appTable"],["menu",""],[1,"container-table"],["sortBy","name","data-cy","table",3,"stateChange","rowsSelected","items"],["tableColumn","","itemProperty","groupId","styleClasses","button-column"],["tableColumn","","columnText","common.name","itemProperty","name",3,"sortable"],["tableColumn","","columnText","user_management.user","itemProperty","userCount",3,"sortable"],["tableColumn","","columnText","user_management.users.roles","itemProperty","roles.name"],[1,"no-content"],["type","button","data-cy","iconDeleteGroups",1,"btn-menu-animated",3,"click","ngbTooltip","disabled"],["name","delete"],["popoverClass","filter-container","placement","bottom-left","autoClose","outside","type","button",1,"btn-filter",3,"ngbPopover"],["name","filter","data-cy","iconFilter",3,"ngClass"],["data-cy","filter",3,"filterClose","filter","resetFilter","groupFilter"],["type","button","data-cy","iconLockGroup",1,"btn-icon",3,"ngbTooltip"],["type","button","data-cy","iconUnlockGroup",1,"btn-icon",3,"ngbTooltip"],["type","button","data-cy","iconLockGroup",1,"btn-icon",3,"click","ngbTooltip"],["name","unavailable"],["type","button","data-cy","iconUnlockGroup",1,"btn-icon",3,"click","ngbTooltip"],["name","unavailable",1,"icon-alert"],["data-cy","groupName",1,"link-bold","ellipsicated",3,"click","keydown.enter"],["data-cy","userCount"],["data-cy","roles"],[3,"fieldValues","showTooltip"],["sprite","icons-large","name","groups-empty-large","data-cy","iconNoGroups",1,"icon-inactive"],["data-cy","textNoGroups"]],template:function(t,i){if(t&1&&(r(0,"div",6)(1,"div",7)(2,"div")(3,"h1"),m(4),c(5,"transloco"),s(),C(6,Xs,1,1,"app-record-count",8),c(7,"async"),r(8,"p",9),m(9),c(10,"transloco"),c(11,"transloco"),C(12,Zs,3,3,"span",10),s()(),r(13,"button",11),b("click",function(){return i.callCreateGroup()}),m(14),c(15,"transloco"),s()(),r(16,"div",12)(17,"app-table-menu",13)(18,"div",14),T(19,el,4,7,"ng-template",null,0,I),s()()(),r(21,"div",15)(22,"app-table",16),c(23,"async"),b("stateChange",function(f){return i.onStateChange(f)})("rowsSelected",function(f){return i.onRowSelect(f)}),T(24,il,6,5,"ng-template",null,1,I),r(26,"div",17),T(27,nl,0,0,"ng-template",null,2,I)(29,sl,1,1,"ng-template",null,3,I),s(),r(31,"div",18),T(32,ll,2,1,"ng-template",null,3,I),s(),r(34,"div",19),T(35,cl,2,1,"ng-template",null,3,I),s(),r(37,"div",20),T(38,pl,2,2,"ng-template",null,3,I),s()(),C(40,ml,5,3,"div",21),c(41,"async"),s()()),t&2){let a,f;u("ngClass",Re(26,Ys,i.isPending)),o(4),_(p(5,11,"user_management.groups.title")),o(2),v((a=p(7,13,i.groupCollection$))?6:-1,a),o(3),M(" ",i.selectedNonSystemCount===1?p(10,15,"search.hitlist.element_selected"):Te(11,17,"search.hitlist.elements_selected",Re(28,Js,i.selectedNonSystemCount))," "),o(3),v(i.hasSystemGroupSelected?12:-1),o(2),M(" ",p(15,20,"user_management.groups.create_group")," "),o(3),u("appTable",i.groupTable),o(5),u("items",p(23,22,i.groupCollection$)),o(9),u("sortable",!0),o(3),u("sortable",!0),o(6),v(((f=p(41,24,i.groupCollection$))==null?null:f.length)===0?40:-1)}},dependencies:[It,aa,V,Ae,He,q,nt,Lt,X,he,Oe,H,bt,P],encapsulation:2})}}return n})();var la=(()=>{class n{static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275cmp=R({type:n,selectors:[["app-group-management"]],decls:1,vars:0,template:function(t,i){t&1&&g(0,"router-outlet")},dependencies:[Et,Wt],encapsulation:2})}}return n})();var li=(()=>{class n{constructor(){this._httpClient=h(Ue),this._authService=h(ot),this._configService=h(Me),this._ipRangeCollectionSubject=ne
1w Ke([]),this.ipRangeCollection$=this._ipRangeCollectionSubject.asObservable(),this._filter={},this.refreshIpRanges()}ngOnDestroy(){this._ipRangeCollectionSubscription&&this._ipRangeCollectionSubscription.unsubscribe()}getIpRangeById(e){let t=`${this._configService.baseConfig.baseUrl}${this._configService.baseConfig.extension}/ipranges/${e}`;return this._httpClient.get(t,{observe:"response"}).pipe(U(function(i){return se.isAccepted(i.status)?i.body:null}),F(()=>O(null)))}getUserById(e){let t=`${this._configService.baseConfig.baseUrl}${this._configService.baseConfig.extension}/useraccounts/${e}`;return this._httpClient.get(t,{observe:"response"}).pipe(U(function(i){return se.isAccepted(i.status)?i.body:null}),F(()=>O(null)))}uploadIpRangesFile(e){let i={headers:this.getUploadHeaders()},a=`${this._configService.baseConfig.baseUrl}${this._configService.baseConfig.extension}/ipranges/import`,f=new FormData;return f.append("File",e,e.name),this._httpClient.post(a,f,i)}createIpRange(e,t){let i=`${this._configService.baseConfig.baseUrl}${this._configService.baseConfig.extension}/ipranges`;return this._httpClient.post(i,e,{observe:"response"}).pipe(U(a=>{if(se.isAccepted(a.status)){let f={rangeId:a.body.id,tenantId:this._authService.userInfo.tenantId,userAccountId:e.userAccountId,addressRange:e.addressRange,lowerIpAddress:"",upperIpAddress:"",lowerHexIPAddress:"",upperHexIPAddress:"",username:t.username},x=this._ipRangeCollectionSubject.getValue();return x.push(f),this._ipRangeCollectionSubject.next(x),a.body.id}return null}))}updateIpRange(e){let t=`${this._configService.baseConfig.baseUrl}${this._configService.baseConfig.extension}/ipranges/${e.rangeId}`;return this._httpClient.put(t,e,{observe:"response"}).pipe(U(i=>i.status===tt.OK))}deleteIpRanges(e){let t=e.map(a=>a.rangeId),i=`${this._configService.baseConfig.baseUrl}${this._configService.baseConfig.extension}/ipranges/delete`;return new jt(a=>{this._httpClient.post(i,t,{observe:"response"}).subscribe({next:f=>{f?.status&&se.isAccepted(f.status)?(this.ipRangeCollection$.subscribe(x=>{let w=x.filter(L=>!e.map(le=>le.rangeId).includes(L.rangeId));x.length>w.length&&this._ipRangeCollectionSubject.next(w)}),a.next(!0)):a.next(!1)},error:f=>{a.error(f)},complete:()=>{a.complete()}})})}assignUserToIpRanges(e,t){let i=e.map(f=>f.rangeId),a=`${this._configService.baseConfig.baseUrl}${this._configService.baseConfig.extension}/ipranges/assignuser/${t}`;return new jt(f=>{this._httpClient.post(a,i,{observe:"response"}).subscribe({next:x=>{x?.status&&se.isAccepted(x.status)?f.next(!0):f.next(!1)},error:x=>{f.error(x)},complete:()=>{f.complete()}})})}filterIpRanges(e){this.refreshLocalIpRanges(e)}refreshIpRanges(){let e={};this.refreshLocalIpRanges(e)}setSort(e,t){this._sortField=e,this._sortDir=t,!(this._sortField==null||this._sortDir==null)&&this.refreshIpRanges()}getConfigurationStatus(){let e=`${this._configService.baseConfig.baseUrl}${this._configService.baseConfig.extension}/ipranges/configuration`;return this._httpClient.get(e)}refreshLocalIpRanges(e){this._filter=e,this._ipRangeCollectionSubscription&&this._ipRangeCollectionSubscription.unsubscribe(),this._ipRangeCollectionSubscription=this.getIpRangesWithUser().subscribe(t=>{let i=this._filter.username?t.filter(a=>a.username?.startsWith(this._filter.username)):t;this.sortLocal(i),this._ipRangeCollectionSubject.next(i)})}sortLocal(e){if(this._sortField==null||this._sortDir==null)return;let t=new Map([["lowerIpAddress","lowerHexIPAddress"],["upperIpAddress","upperHexIPAddress"]]),i=t.has(this._sortField)?t.get(this._sortField):this._sortField,a=this._sortDir.toLowerCase()==="asc"?1:-1;e.sort((f,x)=>this.stringComparer(f[i]??"",x[i]??"",t.has(this._sortField))*a)}stringComparer(e,t,i=!1){return i&&e.length!==t.length?e.length>t.length?1:-1:e.localeCompare(t)}getIpRangesWithUser(){let e=`${this._configService.baseConfig.baseUrl}${this._configService.baseConfig.extension}/ipranges/any`,t=this._httpClient.get(e),i=`${this._configService.baseConfig.baseUrl}${this._configService.baseConfig.extension}/useraccounts/any/thumbnail`,a={includePaperbin:!0},f=this._httpClient.post(i,a,{observe:"body"});return Rt([t,f]).pipe(F(()=>O(null)),U(([x,w])=>x&&w?x.map(L=>qe(qe({},L),w.find(le=>le.id===L.userAccountId))):null),_t())}getUploadHeaders(){let e=new Si;return e=e.append("Content-Type","empty"),e=e.append("Accept","*/*"),e=e.append("Response-Type","blob"),e}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275prov=ce({token:n,factory:n.\u0275fac,providedIn:"root"})}}return n})();var In=class{static ipOrRange(){return l=>{let e=l.value?.trim();
1return e?e.includes("-")?ul(e)?null:{invalidIPRange:!0}:e.includes("*")?hl(e)?null:{invalidIPRange:!0}:null:null}}};function qi(n){return En(n)||dl(n)}function En(n){return/^(\d{1,3}\.){3}\d{1,3}$/.test(n)&&n.split(".").every(e=>parseInt(e,10)<=255)}function dl(n){let l=/^([0-9a-fA-F]{0,4}:){7}[0-9a-fA-F]{0,4}$/,e=/^(([0-9a-fA-F]{0,4}:){1,7}|:)(:[0-9a-fA-F]{0,4}){1,7}$|^::$/;return l.test(n)||e.test(n)}function ul(n){let l=_l(n);if(l===-1)return!1;let e=n.substring(0,l).trim(),t=n.substring(l+1).trim();return!qi(e)||!qi(t)||!ca(e,t)||!qi(e)||!qi(t)||!ca(e,t)?!1:fl(e,t)}function _l(n){for(let l=0;l<n.length;l++)if(n[l]==="-"&&qi(n.substring(0,l).trim()))return l;return-1}function ca(n,l){return En(n)===En(l)}function fl(n,l){if(En(n)){let i=n.split("."),a=l.split(".");return i[0]===a[0]&&i[1]===a[1]}let e=n.split(":"),t=l.split(":");return Mn(e[0])===Mn(t[0])&&Mn(e[1])===Mn(t[1])}function Mn(n){return n.padStart(4,"0").toLowerCase()}function hl(n){return n.includes(":")?Cl(n):gl(n)}function gl(n){let l=n.split(".");if(l.length!==4)return!1;let e=!1;for(let t of l)if(t==="*")e=!0;else{if(e)return!1;{let i=parseInt(t,10);if(isNaN(i)||i<0||i>255)return!1}}return e}function Cl(n){let l=n.split(":");if(l.length!==8)return!1;let e=!1;for(let t of l)if(t==="*")e=!0;else{if(e)return!1;if(!/^[0-9a-fA-F]{1,4}$/.test(t))return!1}return e}var vl=(n,l)=>({id:n,title:l}),bl=n=>[n],yl=()=>[],ma=n=>({range:n}),Sl=(n,l)=>({range:n,range2:l}),xl=n=>({address:n});function Tl(n,l){if(n&1){let e=E();r(0,"button",20),b("click",function(){y(e);let i=d();return S(i.onDeleteIpRange())}),r(1,"span"),m(2),c(3,"transloco"),s()()}n&2&&(o(2),_(p(3,1,"common.delete")))}function Ml(n,l){n&1&&(r(0,"span"),m(1),c(2,"transloco"),s()),n&2&&(o(),_(p(2,1,"common.save")))}function Il(n,l){n&1&&g(0,"app-icon",8)}function El(n,l){n&1&&(r(0,"p",15),m(1),c(2,"transloco"),s()),n&2&&(o(),M(" ",p(2,1,"common.please_fill_this_field")," "))}function wl(n,l){if(n&1&&(r(0,"p",15),m(1),c(2,"transloco"),s()),n&2){let e=d();o(),M(" ",Te(2,1,"user_management.sso.ip_ranges.ip_range_invalid",Re(4,ma,e.iprangeForm.controls.addressRange.value))," ")}}function kl(n,l){if(n&1&&(r(0,"p",15),m(1),c(2,"transloco"),s()),n&2){let e=d();o(),M(" ",Te(2,1,"user_management.sso.ip_ranges.ip_range_overlap",Ut(4,Sl,e.backendError.params[0],e.backendError.params[1]))," ")}}function Rl(n,l){if(n&1&&(r(0,"p",15),m(1),c(2,"transloco"),s()),n&2){let e=d();o(),M(" ",Te(2,1,"user_management.sso.ip_ranges.ip_range_invalid",Re(4,ma,e.backendError.params[0]))," ")}}function Ul(n,l){if(n&1&&(r(0,"p",15),m(1),c(2,"transloco"),s()),n&2){let e=d();o(),M(" ",Te(2,1,"user_management.sso.ip_ranges.ip_address_invalid",Re(4,xl,e.backendError.params[0]))," ")}}function Fl(n,l){n&1&&(r(0,"p",15),m(1),c(2,"transloco"),s()),n&2&&(o(),M(" ",p(2,1,"user_management.sso.ip_ranges.ip_range_not_found")," "))}function Pl(n,l){n&1&&(r(0,"p",19),m(1),c(2,"transloco"),s()),n&2&&(o(),M(" ",p(2,1,"user_management.sso.ip_ranges.user_not_found")," "))}var Ll={addressRange:""},pa={id:$e,username:""},jn=(()=>{class n{constructor(){this._feedbackService=h(oe),this._formBuilder=h(Ce),this._ipRangeService=h(li),this._modalService=h(B),this._route=h(me),this._router=h(de),this._translocoService=h(ge),this._userService=h(we),this.isPending=!1,this.currentIpRange=Ze.clone(Ll),this.currentUser=Ze.clone(pa),this._subscriptions=[]}ngOnInit(){this._tenantKey=localStorage.getItem(Ye);let{id:e}=this._route.snapshot.params;this.iprangeForm=this._formBuilder.group({rangeId:"",addressRange:["",[G.required,In.ipOrRange()]],userAccountId:$e,username:""}),e&&this.patchIpRangeValue(e)}ngOnDestroy(){this._subscriptions.forEach(e=>e.unsubscribe())}get ipRangeTitleKey(){return this.iprangeForm?.controls.rangeId?.value?"user_management.sso.ip_ranges.edit_ip_range":"user_management.sso.ip_ranges.create_ip_range"}onCancel(){this._router.navigate(["../"],{relativeTo:this._route})}onSubmit(){if(!this.iprangeForm.valid)this.iprangeForm.markAllAsTouched();else if(this.iprangeForm.controls.rangeId.value){let e={rangeId:this.iprangeForm.controls.rangeId.value,addressRange:this.iprangeForm.controls.addressRange.value,userAccountId:this.iprangeForm.controls.userAccountId.value};this.saveIpRange(e)}else{let e={addressRange:this.iprangeForm.controls.addressRange.value,userAccountId:this.iprangeForm.controls.userAccountId.value};this.createIpRange(e)}}onDeleteIpRange(){let e=this._modalService.open(ae);e.componentInstance.isDeleteConfirmation=!0,e.componentInstance.title="user_management.sso.ip_ranges.delete_ip_range",this._subscriptions.push(this._translocoService.selectTranslate("user_management.sso.ip_ranges.do_you_want_to_delete_ip_range_x",{iprangeDefinition:this.currentIpRange.addressRange}).subscribe(t=>e.componentInstance.text=t)),e.result.then(t=>{t.preset&&(this.isPending=!0,this._subscriptions.push(this._ipRangeService.deleteIpRanges([this.currentIpRange]).pipe(We(1),Z(()=>this.isPending=!1)).subscribe(i=>{i?(this._ipRangeService.refreshIpRanges(),this._feedbackService.showSuccessModal("user_management.sso.ip_ranges.ip_range_successfully_deleted",`${this._tenantKey}
1/settings/ip-ranges`)):this._feedbackService.showErrorModal("common.error",`${this._tenantKey}/settings/ip-ranges`)})))})}onSelectUserAction(){let e=this._modalService.open(_n);e.componentInstance.title="user_management.sso.ip_ranges.assign_user",e.componentInstance.loadUsersFn=this._userService.getAllUsers.bind(this._userService,!1),e.componentInstance.init(),e.result.then(t=>{if(t?.passedUser){let i=t.passedUser;this.setCurrentUser(i)}})}onRemoveUserAction(){this.setCurrentUser(Ze.clone(pa))}onResetResponseError(){this.backendError=void 0}isUserAccountLinked(){return!this.currentUser.id||this.currentUser.id!==$e}patchIpRangeValue(e){this._subscriptions.push(this._ipRangeService.getIpRangeById(e).subscribe(t=>{t&&(this.currentIpRange=t,this.iprangeForm.patchValue({rangeId:t.rangeId,addressRange:t.addressRange,userAccountId:t.userAccountId}),t.userAccountId&&t.userAccountId!==$e&&this.patchIpRangeUserValue(t.userAccountId))}))}patchIpRangeUserValue(e){this._subscriptions.push(this._ipRangeService.getUserById(e).subscribe(t=>{t&&this.setCurrentUser(t)}))}createIpRange(e){this.setResponseError(),this.isPending=!0,this._subscriptions.push(this._ipRangeService.createIpRange(e,this.currentUser).pipe(U(t=>{t&&this._feedbackService.showSuccessModal("user_management.sso.ip_ranges.ip_range_successfully_created",`${this._tenantKey}/settings/ip-ranges`)}),F(t=>(this.setResponseError(t),ue)),Z(()=>this.isPending=!1)).subscribe())}saveIpRange(e){this.setResponseError(),this.isPending=!0,this._subscriptions.push(this._ipRangeService.updateIpRange(e).pipe(F(t=>(this.setResponseError(t),ue)),Z(()=>this.isPending=!1)).subscribe(t=>{t?this._feedbackService.showSuccessModal("user_management.sso.ip_ranges.ip_range_successfully_edited",`${this._tenantKey}/settings/ip-ranges`):this._feedbackService.showErrorModal()}))}setResponseError(e){this.onResetResponseError(),e?.error&&ri.isLocalizable(e.error)&&(this.backendError=new ri(e.error))}setCurrentUser(e){this.onResetResponseError(),this.currentUser=e,this.currentIpRange.userAccountId=e.id;let t=e.username?`${e.surname}, ${e.forename} (${e.username})`:"";this.iprangeForm.patchValue({userAccountId:this.currentUser.id,username:t})}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275cmp=R({type:n,selectors:[["app-ip-ranges-detail"]],decls:39,vars:41,consts:[[3,"ngSubmit","focusInvalidInput"],[1,"detail-container"],[1,"header"],["data-cy","ipRangeDetailTitle"],[1,"buttons"],["type","button","data-cy","deleteIpRange",1,"btn-alert"],["type","button","data-cy","cancelIpRange",1,"btn-primary-outline",3,"click"],["type","submit","data-cy","saveIpRange",1,"btn-primary"],["name","loading-spinner"],[1,"content"],[1,"form-row"],["for","addressRange",1,"mandatory"],["name","info","placement","bottom-left","data-cy","tooltipIpRange",1,"icon-clickable",3,"ngbTooltip"],[3,"formGroup"],["formControlName","addressRange","type","text","data-cy","ipRangeDefinition",3,"keydown","appAutoFocus"],["data-cy","errorMessage",1,"text-alert"],[1,"form-row",3,"formGroup"],["for","username"],["label","user_management.sso.ip_ranges.assign_user","data-cy","selectUser",3,"add","remove","chips"],[1,"text-alert"],["type","button","data-cy","deleteIpRange",1,"btn-alert",3,"click"]],template:function(t,i){t&1&&(r(0,"form",0),b("ngSubmit",function(){return i.isPending?null:i.onSubmit()}),r(1,"div",1)(2,"div",2)(3,"h2",3),m(4),c(5,"transloco"),s(),r(6,"div",4),C(7,Tl,4,3,"button",5),r(8,"button",6),b("click",function(){return i.onCancel()}),r(9,"span"),m(10),c(11,"transloco"),s()(),r(12,"button",7),C(13,Ml,3,3,"span"),C(14,Il,1,0,"app-icon",8),s()()(),r(15,"div",9)(16,"div",10)(17,"div")(18,"label",11),m(19),c(20,"transloco"),s(),g(21,"app-icon",12),c(22,"transloco"),c(23,"transloco"),s(),r(24,"div",13)(25,"input",14),b("keydown",function(){return i.onResetResponseError()}),s(),C(26,El,3,3,"p",15),C(27,wl,3,6,"p",15),C(28,kl,3,7,"p",15),C(29,Rl,3,6,"p",15),C(30,Ul,3,6,"p",15),C(31,Fl,3,3,"p",15),s()(),r(32,"div",16)(33,"label",17),m(34),c(35,"transloco"),s(),r(36,"div")(37,"app-chip-input",18),b("add",function(){return i.onSelectUserAction()})("remove",function(){return i.onRemoveUserAction()}),s(),C(38,Pl,3,3,"p",19),s()()()()()),t&2&&(u("focusInvalidInput",!0),o(4),_(p(5,23,i.ipRangeTitleKey)),o(3),v(i.currentIpRange&&(i.currentIpRange!=null&&i.currentIpRange.rangeId)?7:-1),o(3),_(p(11,25,"common.cancel")),o(3),v(i.isPending?-1:13),o(),v(i.isPending?14:-1),o(5),M(" ",p(20,27,"user_management.sso.ip_ranges.ip_address_or_ip_range")," "),o(2),u("ngbTooltip",p(22,29,"user_management.sso.ip_ranges.ip_range_information")),k("aria-label",p(23,31,"user_management.sso.ip_ranges.ip_range_information")),o(3),fe("not-valid",!i.iprangeForm.controls.addressRange.valid&&i.iprangeForm.touched||i.backendError),u("formGroup",i.iprangeForm),o(),u("appAutoFocus",!0),o(),v(!i.iprangeForm.controls.addressRange.valid&&i.iprangeForm.touched&&i.iprangeForm.controls.addressRange.value===""?26:-1),o(),v(!i.iprangeForm.controls.addressRange.valid&&i.iprangeForm.touched&&i.iprangeForm.controls.addressRange.value!==""?27:-1),o(),v(i.backendError&&i.backendError.message==="iprangeoverlap"?28:-1),o(),v(i.backendError&&i.backendError.message==="invalidiprange"&&i.iprangeForm.touched?29:-1),o(),v(i.backendError&&i.backendError.message==="invalidipaddress"?30:-1),o(),v(i.backendError&&i.backendError.message==="iprangenotfound"?31:-1),o(),u("formGroup",i.iprangeForm),o(2),_(p(35,33,"user_management.user")),o(3),u("chips",i.currentUser.username!==""?Re(38,bl,Ut(35,vl,i.currentUser.id,i.currentUser.forename+" "+i.currentUser.surname+" ("+i.currentUser.username+")")):ni(40,yl)),o(),v(i.backendError&&i.backendError.message==="useraccountnotfound"?38:-1))},dependencies:[Be,fn,At,V,X,pe,ne,Y,$,J,te,ee,q,Kt,D,P],styles:[".detail-container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:calc(var(--spacer) * 1.5);max-width:50rem}.detail-container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .form-row[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap}.detail-container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .form-row[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]{flex:1;position:relative}@media(width<=62rem){.detail-container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .form-row[_ngcontent-%COMP%]{flex-direction:column}}"]})}}return n})();var da=n=>({count:n}),Al=(n,l)=>({range:n,range2:l}),Ol=n=>({range:n}),Dl=n=>({address:n});function Vl(n,l){n&1&&g(0,"app-icon",6)}function Nl(n,l){n&1&&g(0,"app-icon",7)}function Gl(n,l){n&1&&(r(0,"div",12),g(1,"app-icon",17),r(2,"span"),m(3),c(4,"transloco"),s()()),n&2&&(o(3),_(p(4,1,"common.copied")))}function Bl(n,l){if(n&1&&(r(0,"span",19),m(1),c(2,"transloco"),c(3,"transloco"),s()),n&2){let e=d(3);o(),_(e.uploadResponse.rangeCount===1?p(2,1,"user_management.sso.ip_ranges.upload.range_successfully_added"):Te(3,3,"user_management.sso.ip_ranges.upload.x_ranges_successfully_added",Re(6,da,e.uploadResponse.rangeCount)))}}function $l(n,l){if(n&1&&(r(0,"div",15),g(1,"app-icon",18),C(2,Bl,4,8,"span",19),s()),n&2){let e=d(2);o(2),v(e.uploadResponse!=null&&e.uploadResponse.rangeCount?2:-1)}}function ql(n,l){if(n&1&&(r(0,"span",22),m(1),c(2,"transloco"),c(3,"transloco"),s()),n&2){let e=d(3);o(),_(e.uploadErrors.length===1?p(2,1,"user_management.sso.ip_ranges.upload.range_could_not_be_processed"):Te(3,3,"user_management.sso.ip_ranges.upload.x_ranges_could_not_be_processed",Re(6,da,e.uploadErrors.length)))}}function jl(n,l){if(n&1&&(r(0,"div"),m(1),c(2,"transloco"),s()),n&2){let e=d().$implicit;o(),M(" ",Te(2,1,"user_management.sso.ip_ranges.ip_range_overlap",Ut(4,Al,e.params[0],e.params[1]))," ")}}function Hl(n,l){if(n&1&&(r(0,"div"),m(1),c(2,"transloco"),s()),n&2){let e=d().$implicit;o(),M(" ",Te(2,1,"user_management.sso.ip_ranges.ip_range_invalid",Re(4,Ol,e.params[0]))," ")}}function zl(n,l){if(n&1&&(r(0,"div"),m(1),c(2,"transloco"),s()),n&2){let e=d().$implicit;o(),M(" ",Te(2,1,"user_management.sso.ip_ranges.ip_address_invali
1d",Re(4,Dl,e.params[0]))," ")}}function Wl(n,l){if(n&1&&(C(0,jl,3,7,"div"),C(1,Hl,3,6,"div"),C(2,zl,3,6,"div")),n&2){let e=l.$implicit;v(e.message==="iprangeoverlap"?0:-1),o(),v(e.message==="invalidiprange"?1:-1),o(),v(e.message==="invalidipaddress"?2:-1)}}function Ql(n,l){if(n&1&&(r(0,"div",16)(1,"div",20),g(2,"app-icon",21),C(3,ql,4,8,"span",22),s(),r(4,"div",23),ye(5,Wl,3,3,null,null,ke),s()()),n&2){let e=d(2);o(3),v(e.uploadErrors!=null&&e.uploadErrors.length?3:-1),o(2),Se(e.uploadErrors)}}function Kl(n,l){if(n&1){let e=E();r(0,"div",5),C(1,Vl,1,0,"app-icon",6),C(2,Nl,1,0,"app-icon",7),r(3,"h3",8),m(4),c(5,"transloco"),s()(),r(6,"div",9)(7,"button",10),c(8,"transloco"),c(9,"transloco"),b("click",function(){y(e);let i=d();return S(i.onCopyToClipboard())}),g(10,"app-icon",11),s(),C(11,Gl,5,3,"div",12),s(),r(12,"div",13)(13,"label",14),m(14),c(15,"transloco"),s(),C(16,$l,3,1,"div",15),C(17,Ql,7,1,"div",16),s()}if(n&2){let e=d();o(),v(e.uploadSuccess?1:-1),o(),v(e.uploadSuccess?-1:2),o(2),_(p(5,9,e.reportMessage)),o(3),u("ngbTooltip",p(8,11,"common.copy_to_clipboard")),k("aria-label",p(9,13,"common.copy_to_clipboard")),o(4),v(e.isCopySuccess?11:-1),o(3),M(" ",p(15,15,"common.import.protocol")),o(2),v(e.uploadSuccess?16:-1),o(),v(!e.uploadSuccess&&e.uploadErrors.length>0?17:-1)}}function Yl(n,l){if(n&1&&(r(0,"div",30),m(1),c(2,"transloco"),s()),n&2){let e=d(2);o(),M(" ",p(2,1,e.errorMessage)," ")}}function Jl(n,l){if(n&1&&(r(0,"div",31),m(1),s()),n&2){let e=d(2);o(),_(e.fileName)}}function Xl(n,l){if(n&1){let e=E();r(0,"form",3)(1,"p",24),m(2),c(3,"transloco"),s(),r(4,"div")(5,"div",25),b("click",function(){y(e);let i=N(13);return S(i.click())})("fileDropped",function(i){y(e);let a=d();return S(a.onAddUploadFile(i))})("keydown.enter",function(){y(e);let i=N(13);return S(i.click())}),r(6,"div",26),g(7,"app-icon",27),r(8,"span",28)(9,"u"),m(10),c(11,"transloco"),s()()(),r(12,"input",29,0),b("change",function(i){y(e);let a=d();return S(a.onAddUploadFile(i))}),s()(),C(14,Yl,3,3,"div",30),s(),C(15,Jl,2,1,"div",31),s()}if(n&2){let e=d();u("formGroup",e.uploadForm),o(2),_(p(3,5,"common.file_upload")),o(8),_(p(11,7,"common.file_upload_hint")),o(4),v(e.errorMessage?14:-1),o(),v(e.fileName?15:-1)}}var ua=(()=>{class n{constructor(){this._clipboardService=h(Yo),this._ipRangeService=h(li),this._modalService=h(B),this.isCopySuccess=!1,this.isUploading=!1,this.responseAvailable=!1,this.uploadErrors=[],this.uploadForm=new it({file:new j("")}),this._subscriptions=[]}onCopyToClipboard(){this._clipboardService.copyFromMultipleClasses(["report-summary","error-details"]).subscribe({next:()=>{this.isCopySuccess=!0},error:e=>console.error("Could not copy report: ",e)})}ngOnDestroy(){this._subscriptions.forEach(e=>e.unsubscribe())}onClose(){this.uploadSuccess&&this._ipRangeService.refreshIpRanges(),this._modalService.close()}onSave(){if(this.errorMessage=void 0,this.isUploading=!0,this._file||(this.errorMessage="common.please_choose_a_file"),this.errorMessage){this.isUploading=!1;return}this._file&&this._subscriptions.push(this._ipRangeService.uploadIpRangesFile(this._file).pipe(F(()=>(this.onUploadFailed(),ue)),Z(()=>this.isUploading=!1)).subscribe(e=>{e&&this.onResultAvailable(e)}))}onAddUploadFile(e){let t;if(e instanceof FileList)t=e;else{let i=e.target;if(!i.files?.length)return;t=i.files}this._file=t[0],this.fileName=t[0].name,this.errorMessage=void 0}onResultAvailable(e){this.responseAvailable=!0,e?(this.uploadResponse=e,e.errors.length===0?(this.uploadSuccess=e.rangeCount>0,this.uploadSuccess?this.reportMessage="common.import.import_successful":this.reportMessage="common.import.import_failed"):(this.uploadSuccess=!1,this.reportMessage="common.import.import_failed",this.uploadErrors=e.errors.map(t=>new ri(t)))):this.onUploadFailed()}onUploadFailed(){this.uploadSuccess=!1,this.uploadResponse={rangeCount:0,errors:[]},this.reportMessage="common.import.import_failed",this.errorMessage="common.import.file_could_not_be_parsed"}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275cmp=R({type:n,selectors:[["app-iprange-upload-modal"]],decls:5,vars:6,consts:[["fileInput",""],[3,"modalTitle"],[1,"modal-body"],[3,"formGroup"],[3,"cancelButtonClick","saveButtonClick","cancelButtonText","isBusy","isSaveButtonVisible"],[1,"report-status"],["sprite","icons-large","name","check-mark-large","data-cy","iconImport",1,"icon-success"],["sprite","icons-large","name","cross-large","data-cy","iconImport",1,"icon-alert"],["data-cy","reportStatus"],[1,"btn-copy"],["type","button",1,"btn-icon",3,"click","ngbTooltip"],["name","copy"],[1,"copy-success"],[1,"report-container"],["for","protocol","data-cy","reportTitle",1,"label-bold"],["
1id","protocol",1,"report-summary"],[1,"scroll-box"],["name","check-mark"],["name","check-mark-filled",1,"icon-success"],["data-cy","uploadSuccessMessage"],[1,"report-summary"],["name","cross-filled",1,"icon-alert"],["data-cy","uploadErrorMessage"],["data-cy","reportErrorMessage",1,"error-details"],[1,"label-bold-top"],["dragAndDrop","",1,"upload-file-container",3,"click","fileDropped","keydown.enter"],[1,"upload-disclaimer"],["name","cloud-upload","data-cy","iconFileUpload"],[1,"upload-disclaimer-message"],["hidden","","type","file","formControlName","file","accept",".csv, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel","data-cy","uploadFile",3,"change"],["data-cy","errorMessage",1,"text-alert"],["data-cy","fileName"]],template:function(t,i){t&1&&(g(0,"app-modal-header",1),r(1,"div",2),C(2,Kl,18,17),C(3,Xl,16,9,"form",3),s(),r(4,"app-modal-footer",4),b("cancelButtonClick",function(){return i.onClose()})("saveButtonClick",function(){return i.onSave()}),s()),t&2&&(u("modalTitle",i.uploadResponse?"common.import.protocol":"user_management.sso.ip_ranges.upload.title"),o(2),v(i.uploadResponse?2:-1),o(),v(i.uploadResponse?-1:3),o(),u("cancelButtonText",i.uploadResponse?"common.close":"common.cancel")("isBusy",i.isUploading)("isSaveButtonVisible",!i.responseAvailable))},dependencies:[pn,V,Fe,Pe,X,pe,ne,Y,$,J,te,ee,D,P],styles:[".report-container[_ngcontent-%COMP%]{border-top:var(--border);max-height:30vh;overflow:hidden auto;margin-top:var(--spacer);padding-top:var(--spacer)}.report-container[_ngcontent-%COMP%] .report-summary[_ngcontent-%COMP%]{align-items:center;display:flex;gap:calc(var(--spacer) / 2)}.report-container[_ngcontent-%COMP%] .error-details[_ngcontent-%COMP%]{margin-left:38px}.report-status[_ngcontent-%COMP%]{align-items:center;display:flex;flex-direction:column;gap:var(--spacer);margin-bottom:calc(var(--spacer) * 3)}.btn-copy[_ngcontent-%COMP%]{display:flex;justify-content:flex-end;margin-bottom:var(--spacer);margin-right:calc(var(--spacer) / 4);position:relative}.btn-copy[_ngcontent-%COMP%] .copy-success[_ngcontent-%COMP%]{align-items:center;color:var(--color-success);display:flex;position:absolute;top:calc(var(--spacer) * 2);right:calc(var(--spacer) / 3)}"]})}}return n})();function Zl(n,l){if(n&1){let e=E();r(0,"button",12),b("click",function(){y(e);let i=d();return S(i.resetAllFilters())}),r(1,"span",13),m(2),c(3,"transloco"),s()()}n&2&&(o(2),_(p(3,1,"common.reset")))}var _a=(()=>{class n{constructor(){this.filterClose=new _e,this.filter=new _e,this.resetFilter=new _e}ngOnInit(){this.form=new it({username:new j(this.iprangeFilter.username)})}filterOnEnter(e){e.key==="Enter"&&this.onFilter()}onFilter(){let e={username:this.form.get("username").value};this.filter.emit(e),this.filterClose.emit()}onFilterClose(){this.filterClose.emit()}resetAllFilters(){this.form.reset(),this.resetFilter.emit()}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275cmp=R({type:n,selectors:[["app-ip-ranges-list-filter"]],inputs:{iprangeFilter:"iprangeFilter"},outputs:{filterClose:"filterClose",filter:"filter",resetFilter:"resetFilter"},decls:20,vars:17,consts:[[1,"filter",3,"formGroup"],[1,"filter-header"],["data-cy","filterTitle",1,"title"],["type","button",1,"btn-filter-reset"],["type","button",1,"btn-filter-close",3,"click","ngbTooltip"],["name","cross","data-cy","iconCloseFilter"],[1,"filter-body"],[1,"field"],["for","filter-username"],["type","text","id","filter-username","formControlName","username","data-cy","searchUsername",3,"keydown"],[1,"filter-footer"],["type","button","data-cy","applyFilter",1,"btn-primary-outline",3,"click"],["type","button",1,"btn-filter-reset",3,"click"],["data-cy","resetFilter"]],template:function(t,i){t&1&&(r(0,"form",0)(1,"div",1)(2,"span",2),m(3),c(4,"transloco"),s(),C(5,Zl,4,3,"button",3),r(6,"button",4),c(7,"transloco"),c(8,"transloco"),b("click",function(){return i.onFilterClose()}),g(9,"app-icon",5),s()(),r(10,"div",6)(11,"div",7)(12,"label",8),m(13),c(14,"transloco"),s(),r(15,"input",9),b("keydown",function(f){return i.filterOnEnter(f)}),s()()(),r(16,"div",10)(17,"button",11),b("click",function(){return i.onFilter()}),m(18),c(19,"transloco"),s()()()),t&2&&(u("formGroup",i.form),o(3),_(p(4,7,"common.table.filter")),o(2),v(i.iprangeFilter.username?5:-1),o(),u("ngbTooltip",p(7,9,"common.table.close_filter")),k("aria-label",p(8,11,"common.table.close_filter")),o(7),_(p(14,13,"user_management.users.username")),o(5),M(" ",p(19,15,"common.apply")," "))},dependencies:[V,X,pe,ne,Y,$,J,te,ee,D,P],encapsulation:2})}}return n})();var ec=n=>({count:n});function tc(n,l){n&1&&(m(0),c(1,"transloco")),n&2&&M(" ",p(1,1,"search.hitlist.element_selected")," ")}function ic(n,l){if(n&1&&(m(0),c(1,"transloco")),n&2){let e=d();M(" ",Te(1,1,"search.hitlist.elements_selected",Re(4,ec,e.iprangeTable==null?null:e.iprangeTable.selectedRows.length))," ")}}function nc(n,l){if(n&1){let e=E();r(0,"div",23)(1,"button",24),c(2,"transloco"),c(3,"transloco"),b("click",function(){y(e);let i=d();return S(i.assignUser())}),g(4,"app-icon",25),s(),r(5,"button",26),c(6,"transloco"),c(7,"transloco"),b("click",function(){y(e);let i=d();return S(i.deleteIpRanges())}),g(8,"app-icon",27),s()()}
1n&2&&(o(),u("ngbTooltip",p(2,4,"user_management.sso.ip_ranges.assign_user")),k("aria-label",p(3,6,"user_management.sso.ip_ranges.assign_user")),o(4),u("ngbTooltip",p(6,8,"user_management.sso.ip_ranges.delete_ip_ranges")),k("aria-label",p(7,10,"user_management.sso.ip_ranges.delete_ip_ranges")))}function oc(n,l){if(n&1){let e=E();r(0,"button",28),c(1,"transloco"),c(2,"transloco"),b("click",function(){y(e);let i=d();return S(i.uploadIpRangesFile())}),g(3,"app-icon",29),s()}n&2&&(u("ngbTooltip",p(1,2,"user_management.sso.ip_ranges.upload.description")),k("aria-label",p(2,4,"user_management.sso.ip_ranges.upload.description")))}function ac(n,l){if(n&1){let e=E();r(0,"app-ip-ranges-list-filter",32),b("filterClose",function(){y(e),d();let i=N(1);return S(i.close())})("filter",function(i){y(e);let a=d(2);return S(a.onFilter(i))})("resetFilter",function(){y(e);let i=d(2);return S(i.onResetFilters())}),s()}if(n&2){let e=d(2);u("iprangeFilter",e.iprangeFilter)}}function rc(n,l){if(n&1&&(r(0,"button",30,5),c(2,"transloco"),g(3,"app-icon",31),s(),T(4,ac,1,1,"ng-template",null,6,I)),n&2){let e=N(5),t=d();
1u("ngbPopover",e),k("aria-label",p(2,3,"common.table.open_filter")),o(3),u("ngClass",t.iprangeFilter.username?"icon-filter-active":"icon-filter-inactive")}}function sc(n,l){if(n&1){let e=E();r(0,"span",33),b("click",function(){let i=y(e).item,a=d();return S(a.navigateToItem(i))})("keydown.enter",function(){let i=y(e).item,a=d();return S(a.navigateToItem(i))}),m(1),s()}if(n&2){let e=l.item;o(),_(e.addressRange)}}function lc(n,l){if(n&1){let e=E();r(0,"span",34),b("click",function(){let i=y(e).item,a=d();return S(a.navigateToItem(i))})("keydown.enter",function(){let i=y(e).item,a=d();return S(a.navigateToItem(i))}),m(1),s()}if(n&2){let e=l.item;o(),_(e.lowerIpAddress)}}function cc(n,l){if(n&1){let e=E();r(0,"span",35),b("click",function(){let i=y(e).item,a=d();return S(a.navigateToItem(i))})("keydown.enter",function(){let i=y(e).item,a=d();return S(a.navigateToItem(i))}),m(1),s()}if(n&2){let e=l.item;o(),_(e.upperIpAddress)}}function pc(n,l){if(n&1){let e=E();r(0,"span",36),b("click",function(){let i=y(e).item,a=d();return S(a.navigateToItem(i))})("keydown.enter",function(){let i=y(e).item,a=d();return S(a.navigateToItem(i))}),m(1),s()}if(n&2){let e=l.item;o(),_(e.username)}}function mc(n,l){}function dc(n,l){n&1&&(g(0,"app-icon",37),c(1,"transloco"),c(2,"transloco")),n&2&&(u("ngbTooltip",p(1,2,"user_management.users.delete_user")),k("aria-label",p(2,4,"user_management.users.delete_user")))}function uc(n,l){n&1&&(g(0,"app-icon",37),c(1,"transloco"),c(2,"transloco")),n&2&&(u("ngbTooltip",p(1,2,"user_management.sso.ip_ranges.user_locked")),k("aria-label",p(2,4,"user_management.sso.ip_ranges.user_locked")))}function _c(n,l){if(n&1&&C(0,dc,3,6,"app-icon",37)(1,uc,3,6,"app-icon",37),n&2){let e=l.item;v(e.removed?0:e.locked?1:-1)}}function fc(n,l){if(n&1&&(r(0,"div",22),g(1,"app-icon",38),r(2,"p",39),m(3),c(4,"transloco"),s()()),n&2){let e=d();o(3),_(p(4,1,e.noIpRangesMessageKey))}}var fa=(()=>{class n{constructor(){this._feedbackService=h(oe),this._iprangeService=h(li),this._modalService=h(B),this._route=h(me),this._router=h(de),this._translocoService=h(ge),this._userService=h(we),this.iprangeFilter={username:""},this.isPending=!1,this._subscriptions=[]}get iprangeTable(){return this._iprangeTable}set iprangeTable(e){this._iprangeTable=e}ngOnInit(){this._iprangeService.refreshIpRanges(),this.iprangeCollection$=this._iprangeService.ipRangeCollection$,this.iprangeCollection$.subscribe(e=>{this.totalCount=e.length})}ngOnDestroy(){this._subscriptions.forEach(e=>e.unsubscribe())}createIpRange(){this._router.navigate(["create"],{relativeTo:this._route})}navigateToItem(e){e?.rangeId&&this._router.navigate([e.rangeId],{relativeTo:this._route})}deleteIpRanges(){let e=this._iprangeTable.selectedRows,t=e.map(a=>a.item),i=this._modalService.open(ae);i.componentInstance.isDeleteConfirmation=!0,i.componentInstance.title=t.length===1?"user_management.sso.ip_ranges.delete_ip_range":"user_management.sso.ip_ranges.delete_ip_ranges",t.length===1?this._subscriptions.push(this._translocoService.selectTranslate("user_management.sso.ip_ranges.do_you_want_to_delete_ip_range_x",{iprangeDefinition:t[0].addressRange}).subscribe(a=>i.componentInstance.text=a)):i.componentInstance.text="user_management.sso.ip_ranges.do_you_want_to_delete_the_ip_ranges",i.result.then(a=>{a?.preset&&(this.isPending=!0,this._subscriptions.push(this._iprangeService.deleteIpRanges(t).subscribe(f=>{f&&(e.forEach(x=>{x.selectedForm.patchValue({selected:!1}),this.iprangeTable.onSelectStatusChange(x)}),this._feedbackService.showSuccessModal(t.length===1?"user_management.sso.ip_ranges.ip_range_successfully_deleted":"user_management.sso.ip_ranges.ip_ranges_successfully_deleted"),this.isPending=!1)})))})}assignUser(){let e=this._iprangeTable.selectedRows,t=e.map(a=>a.item),i=this._modalService.open(_n);i.componentInstance.title="user_management.sso.ip_ranges.assign_user",i.componentInstance.loadUsersFn=this._userService.getAllUsers.bind(this._userService,!1),i.componentInstance.init(),i.result.then(a=>{if(a?.passedUser){let f=a.passedUser;this.isPending=!0,this._subscriptions.push(this._iprangeService.assignUserToIpRanges(t,f.id).subscribe(x=>{x&&(e.forEach(w=>{w.selectedForm.patchValue({selected:!1}),this.iprangeTable.onSelectStatusChange(w)}),t.forEach(w=>{w.userAccountId=f.id,w.username=f.username,w.locked=f.locked,w.removed=f.removed}),this._feedbackService.showSuccessModal("user_management.sso.ip_ranges.user_successfully_assigned"),this.isPending=!1)}))}})}onFilter(e){this.iprangeFilter=e,this._iprangeService.filterIpRanges(this.iprangeFilter)}onResetFilters(){this.iprangeFilter={username:""},this._iprangeService.refreshIpRanges()}onStateChange(e){if(e.changeType===Ot.SORT){let t=e.sortAsc?ze.ASC:ze.DESC;this._iprangeService.setSort(e.sortBy,t)}}uploadIpRangesFile(){this._modalService.open(ua)}get noIpRangesMessageKey(){return this.iprangeFilter?.username?"user_management.sso.ip_ranges.no_ranges_found":"user_management.sso.ip_ranges.no_ranges_created"}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275cmp=R({type:n,selectors:[["app-ip-ranges-list"]],viewQuery:function(t,i){if(t&1&&K(H,7),t&2){let a;
1z(a=W())&&(i.iprangeTable=a.first)}},decls:43,vars:19,consts:[["menuAnimatedButtons",""],["menuStaticButtons",""],["tableCheckboxColumnHeader",""],["tableCell",""],["tableHeader",""],["filterPopover","ngbPopover"],["filterPopoverContent",""],[1,"overview-container"],[1,"header"],["data-cy","ipRangesTitle"],[3,"count"],["data-cy","numberOfSelectedEntries"],["type","button","data-cy","createIpRange",1,"btn-primary",3,"click"],[1,"container-menu-pagination"],[3,"appTable"],["menu",""],["sortBy","addressRange","data-cy","table",3,"stateChange","items"],["tableColumn","","columnText","user_management.sso.ip_ranges.ip_range","itemProperty","addressRange",3,"sortable"],["tableColumn","","columnText","user_management.sso.ip_ranges.ip_range_from","itemProperty","lowerIpAddress",3,"sortable"],["tableColumn","","columnText","user_management.sso.ip_ranges.ip_range_to","itemProperty","upperIpAddress",3,"sortable"],["tableColumn","","columnText","user_management.user","itemProperty","username",3,"sortable"],["tableColumn","","itemProperty","username"],[1,"no-content"],[1,"btn-group"],["type","button","data-cy","iconAssignUser",1,"btn-menu-animated",3,"click","ngbTooltip"],["name","user"],["type","button","data-cy","iconDeleteIpRanges",1,"btn-menu-animated",3,"click","ngbTooltip"],["name","delete"],["type","button","data-cy","iconCsvImport",1,"btn-menu-static",3,"click","ngbTooltip"],["name","csv-import"],["popoverClass","filter-container","placement","bottom-left","autoClose","outside","type","button",1,"btn-filter",3,"ngbPopover"],["name","filter","data-cy","iconFilter",3,"ngClass"],[3,"filterClose","filter","resetFilter","iprangeFilter"],["data-cy","ipRangeDefinition",1,"link-bold",3,"click","keydown.enter"],["data-cy","ipRangeFrom",1,"link",3,"click","keydown.enter"],["data-cy","iprangeTo",1,"link",3,"click","keydown.enter"],["data-cy","ipRangeUsername",1,"link",3,"click","keydown.enter"],["name","info",1,"icon-clickable",3,"ngbTooltip"],["sprite","icons-large","name","cross-large","data-cy","iconNoIpRanges",1,"icon-inactive"],["data-cy","textNoIpRanges"]],template:function(t,i){t&1&&(r(0,"div",7)(1,"div",8)(2,"div")(3,"h2",9),m(4),c(5,"transloco"),s(),g(6,"app-record-count",10),r(7,"p",11),C(8,tc,2,3)(9,ic,2,6),s()(),r(10,"button",12),b("click",function(){return i.createIpRange()}),r(11,"span"),m(12),c(13,"transloco"),s()()(),r(14,"div",13)(15,"app-table-menu",14)(16,"div",15),T(17,nc,9,12,"ng-template",null,0,I)(19,oc,4,6,"ng-template",null,1,I),s()()(),r(21,"app-table",16),c(22,"async"),b("stateChange",function(f){return i.onStateChange(f)}),T(23,rc,6,5,"ng-template",null,2,I),r(25,"div",17),T(26,sc,2,1,"ng-template",null,3,I),s(),r(28,"div",18),T(29,lc,2,1,"ng-template",null,3,I),s(),r(31,"div",19),T(32,cc,2,1,"ng-template",null,3,I),s(),r(34,"div",20),T(35,pc,2,1,"ng-template",null,3,I),s(),r(37,"div",21),T(38,mc,0,0,"ng-template",null,4,I)(40,_c,2,1,"ng-template",null,3,I),s()(),C(42,fc,5,3,"div",22),s()),t&2&&(fe("hide",i.isPending),o(4),_(p(5,13,"user_management.sso.ip_ranges.ip_ranges")),o(2),u("count",i.totalCount),o(2),v((i.iprangeTable==null?null:i.iprangeTable.selectedRows.length)===1?8:9),o(4),_(p(13,15,"user_management.sso.ip_ranges.create_ip_range")),o(3),u("appTable",i.iprangeTable),o(6),u("items",p(22,17,i.iprangeCollection$)),o(4),u("sortable",!0),o(3),u("sortable",!0),o(3),u("sortable",!0),o(3),u("sortable",!0),o(8),v(i.totalCount===0?42:-1))},dependencies:[Le,nt,V,_a,Ae,Lt,X,He,q,he,Oe,D,H,bt,P],encapsulation:2})}}return n})();var Fi=(()=>{class n{constructor(){this._httpClient=h(Ue),this._authStorage=h(nn),this._configService=h(Me),this._authService=h(ot),this._costCentersSubject=new Ke([]),this.costCenters$=this._costCentersSubject.asObservable(),this.refreshCostCenters(),this._authStorage.tokenChanged().subscribe(()=>this.refreshCostCenters())}ngOnDestroy(){this._costCenterSubscription&&this._costCenterSubscription.unsubscribe()}refreshCostCenters(){this._costCenterSubscription&&this._costCenterSubscription.unsubscribe(),this._authService.userHasPermission(Q.USER_PANEL)&&(this._costCenterSubscription=this.requestCostCenters().subscribe(e=>{this._costCentersSubject.next(e)}))}requestCostCenters(){let{baseUrl:e,extension:t}=this._configService.baseConfig,i=`${e}${t}/useraccounts/costcenters`;return this._httpClient.get(i).pipe(_t())}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275prov=ce({token:n,factory:n.\u0275fac,providedIn:"root"})}}return n})();var Pi=(()=>{class n{constructor(){this._newLocation=new Ke(null),this._changedLocation=new Ke(null)}get newLocation(){return this._newLocation.asObservable()}get chagedLocation(){return this._changedLocation.asObservable()}passNewLocation(e){e&&this._newLocation.next(e)}passChangedLocation(e){if(e){let t={locationId:e.locationId,name:e.name,description:e.description,alternativeNames:e.alternativeNames,lockedNames:e.lockedNames,usersCount:e.usersCount};this._changedLocation.next(t)}}clearState(){this._newLocation.next(null),this._changedLocation.next(null)}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275prov=ce({token:n,factory:n.\u0275fac})}}return n})();function hc(n,l){n&1&&g(0,"app-spinner")}function gc(n,l){n&1&&(r(0,"div",9),g(1,"app-icon",11),r(2,"p",12),m(3),c(4,"transloco"),s()()),n&2&&(o(3),_(p(4,1,"user_management.locations.no_users_in_other_locations")))}function Cc(n,l){n&1&&(r(0,"div",9),g(1,"app-icon",11),r(2,"p"),m(3),c(4,"transloco"),s()()),n&2&&(o(3),_(p(4,1,"user_management.users.no_users_found")))}function vc(n,l){if(n&1){let e=E();r(0,"div",15)(1,"app-checkbox",16),c(2,"displayUserFullName"),Ge("ngModelChange",function(i){let a=y(e).$implicit;return Ne(a.isSelected,i)||(a.isSelected=i),S(i)}),b("ngModelChange",function(i){let a=y(e).$implicit,f=d(3);return S(f.onSelectUser(a,i))}),s(),r(3,"div",8),m(4),s()()}if(n&2){let e=l.$implicit;o(),u("label",p(2,5,e)),Ve("ngModel",e.isSelected),u("fixedWidth",400),k("data-cy",e.username),o(3),_(e.location)}}function bc(n,l){if(n&1){let e=E();r(0,"cdk-virtual-scroll-viewport",13),b("scrolledIndexChange",function(){y(e);let i=d(2);return S(i.onUserScrollChanged())}),T(1,vc,5,7,"div",14),s()}if(n&2){let e=d(2);
1o(),u("cdkVirtualForOf",e.displayUsers)}}function yc(n,l){if(n&1){let e=E();r(0,"div",2)(1,"input",4,0),c(3,"transloco"),Ge("ngModelChange",function(i){y(e);let a=d();return Ne(a.searchValue,i)||(a.searchValue=i),S(i)}),b("ngModelChange",function(){y(e);let i=d();return S(i.onChangeSearchUser())}),s(),r(4,"p",5),m(5),c(6,"transloco"),s(),r(7,"div",6)(8,"div",7),m(9),c(10,"transloco"),s(),r(11,"div",8),m(12),c(13,"transloco"),s()(),C(14,gc,5,3,"div",9),C(15,Cc,5,3,"div",9),C(16,bc,2,1,"cdk-virtual-scroll-viewport",10),s()}if(n&2){let e=d();o(),u("appAutoFocus",!0),Ve("ngModel",e.searchValue),u("placeholder",p(3,9,"user_management.search_users")),o(4),_(p(6,11,"user_management.locations.users_add_note")),o(4),_(p(10,13,"common.name")),o(3),_(p(13,15,"user_management.users.location")),o(2),v(e.displayUsers?-1:14),o(),v((e.displayUsers==null?null:e.displayUsers.length)===0?15:-1),o(),v((e.displayUsers==null?null:e.displayUsers.length)>0?16:-1)}}var Hn=30,ha=(()=>{class n{constructor(){this.modalService=h(B),this._userService=h(we),this.isPending=!1,this.globalListOfUsersToAdd=[],this._lastUserPage=0,this._usersLoading=!1,this._isLastUserPage=!1}ngOnInit(){this.isPending=!0,this._userService.filterUsersWhichAreNotAssignedToLocation(this.currenLocation,this.searchValue,this._lastUserPage,Hn).subscribe(e=>{e.length>0&&(this.displayUsers=e,this._lastUserPage++),this.isPending=!1})}onSelectUser(e,t){let i=this.globalListOfUsersToAdd.findIndex(a=>a.id===e.id);i===-1&&t?this.globalListOfUsersToAdd.push(e):this.globalListOfUsersToAdd.splice(i,1)}onAddMemberToLocation(){let e=this.globalListOfUsersToAdd.map(t=>Qo.toUserVM(t,t.roles,t.costCenters));this.modalService.close({passedUsers:e})}onUserScrollChanged(){this._usersLoading||this._isLastUserPage||this.virtualScroll.measureScrollOffset("bottom")<110&&(this._usersLoading=!0,this._userService.filterUsersWhichAreNotAssignedToLocation(this.currenLocation,this.searchValue,this._lastUserPage,Hn).subscribe(e=>{e.length>0?(this.displayUsers=this.displayUsers.concat(e),this._lastUserPage++):this._isLastUserPage=!0,this._usersLoading=!1}))}onChangeSearchUser(){this._lastInputTimeStamp=Date.now(),setTimeout(()=>{Date.now()-this._lastInputTimeStamp<500||(this._lastUserPage=0,this._userService.filterUsersWhichAreNotAssignedToLocation(this.currenLocation,this.searchValue,this._lastUserPage,Hn).subscribe(e=>{this.displayUsers=e,this._isLastUserPage=!1,this._lastUserPage++}))},500)}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275cmp=R({type:n,selectors:[["app-location-add-user-modal"]],viewQuery:function(t,i){if(t&1&&K(Je,5),t&2){let a;
1z(a=W())&&(i.virtualScroll=a.first)}},decls:4,vars:3,consts:[["searchInput",""],["modalTitle","user_management.groups.add_user",3,"border"],[1,"modal-body"],["saveButtonText","common.add",3,"cancelButtonClick","saveButtonClick"],["id","userSearchInput","name","userSearchInput","type","text","data-cy","searchUser",3,"ngModelChange","appAutoFocus","ngModel","placeholder"],["data-cy","infoText"],[1,"user-header"],[1,"username"],[1,"location"],[1,"no-content"],["itemSize","30",1,"scroll-box"],["sprite","icons-large","name","user-empty-large","data-cy","iconNoUsers",1,"icon-inactive"],["data-cy","textNoUsers"],["itemSize","30",1,"scroll-box",3,"scrolledIndexChange"],["class","user",4,"cdkVirtualFor","cdkVirtualForOf"],[1,"user"],[3,"ngModelChange","label","ngModel","fixedWidth"]],template:function(t,i){t&1&&(C(0,hc,1,0,"app-spinner"),g(1,"app-modal-header",1),C(2,yc,17,17,"div",2),r(3,"app-modal-footer",3),b("cancelButtonClick",function(){return i.modalService.dismiss()})("saveButtonClick",function(){return i.onAddMemberToLocation()}),s()),t&2&&(v(i.isPending?0:-1),o(),u("border",!0),o(),v(i.isPending?-1:2))},dependencies:[Be,Ie,ft,Y,$,at,V,Fe,Pe,Qt,yt,Pt,Je,Xe,D,dn,P],styles:[".user-header[_ngcontent-%COMP%]{font-family:var(--font-family-bold);background-color:var(--color-gray-light);display:table;height:3rem}.user-header[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{display:table-cell;vertical-align:middle;padding:0 var(--spacer)}.user-header[_ngcontent-%COMP%] > div.username[_ngcontent-%COMP%]{width:27rem}.no-content[_ngcontent-%COMP%]{height:calc(50vh - 96px)}.user[_ngcontent-%COMP%]{display:flex;margin-left:var(--spacer);min-height:2rem}.user[_ngcontent-%COMP%] app-checkbox[_ngcontent-%COMP%]{width:27rem}.user[_ngcontent-%COMP%] div[_ngcontent-%COMP%]{display:inline-block}.user[_ngcontent-%COMP%] div.location[_ngcontent-%COMP%]{width:230px;float:right;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}"]})}}return n})();function Sc(n,l){n&1&&g(0,"app-spinner")}function xc(n,l){if(n&1&&(r(0,"span"),m(1),s()),n&2){let e=d().$implicit;o(),_(e.name)}}function Tc(n,l){if(n&1){let e=E();r(0,"div",8)(1,"div",11)(2,"input",12),b("change",function(){let i=y(e).$implicit,a=d(2);return S(a.selectedLocationId=i.locationId)}),s(),r(3,"label",13),m(4),s(),T(5,xc,2,1,"ng-template",null,1,I),s()()}if(n&2){let e=l.$implicit;o(2),u("id",e.locationId),o(),u("for",e.locationId),o(),M(" ",e.name," ")}}function Mc(n,l){if(n&1){let e=E();r(0,"div",3)(1,"input",5,0),c(3,"transloco"),Ge("ngModelChange",function(i){y(e);let a=d();return Ne(a.searchValue,i)||(a.searchValue=i),S(i)}),b("ngModelChange",function(){y(e);let i=d();return S(i.onChangeSearchLocation())}),s(),r(4,"p",6),m(5),c(6,"transloco"),s(),r(7,"div",7)(8,"div",8),m(9),c(10,"transloco"),s()(),r(11,"cdk-virtual-scroll-viewport",9),b("scrolledIndexChange",function(){y(e);let i=d();return S(i.onLocationScrollChanged())}),T(12,Tc,7,3,"div",10),s()()}if(n&2){let e=d();o(),u("appAutoFocus",!0),Ve("ngModel",e.searchValue),u("placeholder",p(3,6,"user_management.locations.search_locations")),o(4),_(p(6,8,"user_management.locations.change_location_note")),o(4),_(p(10,10,"user_management.users.location")),o(3),u("cdkVirtualForOf",e.displayLocations)}}var Ic=30,ga=(()=>{class n{constructor(){this.modalService=h(B),this._locationService=h(Zt),this.isPending=!1,this._lastLocationPage=0,this._locationsLoading=!1,this._isLastLocationPage=!1}ngOnInit(){this.isPending=!0,this.getLocationsExcept(this.selectedLocationId).subscribe(e=>{e.length>0?(this.displayLocations=e,this._lastLocationPage++,this.isPending=!1):this._isLastLocationPage=!0})}onChangeLocation(){this.modalService.close({passedLocationId:this.selectedLocationId})}onLocationScrollChanged(){this._locationsLoading||this._isLastLocationPage||this.virtualScroll.measureScrollOffset("bottom")<110&&(this._locationsLoading=!0,this.getLocationsExcept(this.selectedLocationId).subscribe(e=>{e.length>0?(this.displayLocations=this.displayLocations.concat(e),this._lastLocationPage++):this._isLastLocationPage=!0,this._locationsLoading=!1}))}onChangeSearchLocation(){this._lastInputTimeStamp=Date.now(),setTimeout(()=>{Date.now()-this._lastInputTimeStamp<500||(this._lastLocationPage=0,this.getLocationsExcept(this.selectedLocationId).subscribe(e=>{this.displayLocations=e,this._isLastLocationPage=!1,this._lastLocationPage++}))},500)}getLocationsExcept(e){return this._locationService.searchLocations(this.searchValue,this._lastLocationPage,Ic).pipe(U(t=>t.filter(i=>i.locationId!==e)))}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275cmp=R({type:n,selectors:[["app-user-change-location-modal"]],viewQuery:function(t,i){if(t&1&&K(Je,5),t&2){let a;
1z(a=W())&&(i.virtualScroll=a.first)}},inputs:{selectedLocationId:"selectedLocationId"},decls:4,vars:3,consts:[["searchInput",""],["tooltip",""],["modalTitle","user_management.locations.change_location",3,"border"],[1,"modal-body"],[3,"cancelButtonClick","saveButtonClick"],["id","locationSearchInput","name","locationSearchInput","type","text","data-cy","searchLocation",3,"ngModelChange","appAutoFocus","ngModel","placeholder"],["data-cy","infoText"],[1,"location-header"],[1,"location"],["itemSize","30",1,"scroll-box",3,"scrolledIndexChange"],["class","location",4,"cdkVirtualFor","cdkVirtualForOf"],[1,"form-check"],["name","location-radio","type","radio",1,"form-check-input",3,"change","id"],["data-cy","location",1,"form-check-label",3,"for"]],template:function(t,i){t&1&&(C(0,Sc,1,0,"app-spinner"),g(1,"app-modal-header",2),C(2,Mc,13,12,"div",3),r(3,"app-modal-footer",4),b("cancelButtonClick",function(){return i.modalService.dismiss()})("saveButtonClick",function(){return i.onChangeLocation()}),s()),t&2&&(v(i.isPending?0:-1),o(),u("border",!0),o(),v(i.isPending?-1:2))},dependencies:[Be,Je,ft,Y,$,at,Fe,Pe,Qt,yt,Pt,Xe,D,P],styles:[".location-header[_ngcontent-%COMP%]{font-family:var(--font-family-bold);margin:var(--spacer) -1rem 0 -1rem;background-color:var(--color-gray-light);display:table;width:calc(100% + 32px);height:3rem}.location-header[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{display:table-cell;vertical-align:middle;padding:0 var(--spacer)}.scroll-box[_ngcontent-%COMP%]{margin:0 -1rem 0 calc(var(--spacer) * -.125)}.scroll-box[_ngcontent-%COMP%] .location[_ngcontent-%COMP%]{padding-left:calc(var(--spacer) * .125)}.scroll-box[_ngcontent-%COMP%] .location[_ngcontent-%COMP%]:first-child{padding-top:var(--spacer)}"]})}}return n})();var zn=()=>({standalone:!0});function Ec(n,l){if(n&1){let e=E();r(0,"button",18),b("click",function(){y(e);let i=d();return S(i.resetAllFilters())}),m(1),c(2,"transloco"),s()}
1n&2&&(o(),M(" ",p(2,1,"common.reset")," "))}var wn=(()=>{class n{constructor(){this._userService=h(we),this._translocoService=h(ge),this.filterClose=new _e,this.filter=new _e,this.resetFilter=new _e,this.filterChain={},this.additionalRolePlaceholder=null,this.costCenterPlaceholder=null,this._selectableRoles=[],this._selectableCosts=[],this._selectableAdditionalRoles=[],this.showResetFilter=!1}get selectableAdditionalRoles(){return this._selectableAdditionalRoles}set selectableAdditionalRoles(e){this._selectableAdditionalRoles=e}get selectableRoles(){return this._selectableRoles}set selectableRoles(e){this._selectableRoles=e}get selectableCosts(){return this._selectableCosts}set selectableCosts(e){this._selectableCosts=e}ngOnInit(){this.filterChain=this._userService.filter,this.showResetFilter=this.checkFilterHasValue(),this.roles=this.selectableRoles.map(e=>({text:e.text,value:e.text})),this.activeStates=[{text:this._translocoService.translate("common.yes"),value:!0},{text:this._translocoService.translate("common.no"),value:!1}]}filterOnEnter(e){e.key==="Enter"&&this.onFilter()}onFilter(){this.filter.emit(this.filterChain),this.filterClose.emit()}onFilterClose(){this.filterClose.emit()}resetAllFilters(){this.resetFilter.emit(),this.showResetFilter=!1}onSearchChange(e){this.filterChain.trunk=e}onUsernameChange(e){this.filterChain.username=e}onLicenseNameChange(e){this.filterChain.licenseTitle=e}onCostCenterChange(e){this._currentCost=e.target.value,this.filterChain.costCenter=this._currentCost,this.showResetFilter=this.checkFilterHasValue()}checkFilterHasValue(){return!!(this.filterChain.trunk||this.filterChain.username||this.filterChain.licenseTitle||this.filterChain.roleName||this.filterChain.costCenter||this.filterChain.isUserActive!=null)}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275cmp=R({type:n,selectors:[["app-user-list-filter"]],inputs:{filterChain:"filterChain",selectableRoles:"selectableRoles",selectableCosts:"selectableCosts"},outputs:{filterClose:"filterClose",filter:"filter",resetFilter:"resetFilter"},decls:34,vars:38,consts:[[1,"filter"],[1,"filter-header"],["data-cy","filterTitle",1,"title"],["type","button","data-cy","resetFilter",1,"btn-filter-reset"],["type","button",1,"btn-filter-close",3,"click","ngbTooltip"],["name","cross","data-cy","iconCloseFilter"],[1,"filter-body"],[1,"field"],["for","filter-fulltext"],["type","text","id","filter-fulltext","data-cy","searchFreeText",3,"keydown","ngModelChange","appAutoFocus","ngModel","ngModelOptions"],["for","filter-username"],["type","text","id","filter-username","data-cy","searchUsername",3,"keydown","ngModelChange","ngModel","ngModelOptions"],["for","filter-license"],["type","text","id","filter-license","data-cy","searchLicense",3,"keydown","ngModelChange","ngModel","ngModelOptions"],["label","user_management.users.role","name","userFilterRole","data-cy","filterRole",3,"ngModelChange","items","ngModel","showUnselectItem"],["label","user_management.users.active","name","userFilterActive","data-cy","filterActive",3,"ngModelChange","items","ngModel","showUnselectItem"],[1,"filter-footer"],["type","button","data-cy","applyFilter",1,"btn-primary-outline",3,"click"],["type","button","data-cy","resetFilter",1,"btn-filter-reset",3,"click"]],template:function(t,i){t&1&&(r(0,"div",0)(1,"div",1)(2,"span",2),m(3),c(4,"transloco"),s(),C(5,Ec,3,3,"button",3),r(6,"button",4),c(7,"transloco"),c(8,"transloco"),b("click",function(){return i.onFilterClose()}),g(9,"app-icon",5),s()(),r(10,"div",6)(11,"div",7)(12,"label",8),m(13),c(14,"transloco"),s(),r(15,"input",9),b("keydown",function(f){return i.filterOnEnter(f)})("ngModelChange",function(f){return i.onSearchChange(f)}),s()(),r(16,"div",7)(17,"label",10),m(18),c(19,"transloco"),s(),r(20,"input",11),b("keydown",function(f){return i.filterOnEnter(f)})("ngModelChange",function(f){return i.onUsernameChange(f)}),s()(),r(21,"div",7)(22,"label",12),m(23),c(24,"transloco"),s(),r(25,"input",13),b("keydown",function(f){return i.filterOnEnter(f)})("ngModelChange",function(f){return i.onLicenseNameChange(f)}),s()(),r(26,"div",7)(27,"app-select",14),Ge("ngModelChange",function(f){return Ne(i.filterChain.roleName,f)||(i.filterChain.roleName=f),f}),s()(),r(28,"div",7)(29,"app-select",15),Ge("ngModelChange",function(f){return Ne(i.filterChain.isUserActive,f)||(i.filterChain.isUserActive=f),f}),s()()(),r(30,"div",16)(31,"button",17),b("click",function(){return i.onFilter()}),m(32),c(33,"transloco"),s()()()),t&2&&(o(3),_(p(4,21,"common.table.filter")),o(2),v(i.showResetFilter?5:-1),o(),u("ngbTooltip",p(7,23,"common.table.close_filter")),k("aria-label",p(8,25,"common.table.close_filter")),o(7),_(p(14,27,"common.metadata_label.fulltext")),o(2),u("appAutoFocus",!0)("ngModel",i.filterChain.trunk)("ngModelOptions",ni(35,zn)),o(3),_(p(19,29,"user_management.users.username")),o(2),u("ngModel",i.filterChain.username)("ngModelOptions",ni(36,zn)),o(3),_(p(24,31,"licenses.detail.name")),o(2),u("ngModel",i.filterChain.licenseTitle)("ngModelOptions",ni(37,zn)),o(2),u("items",i.roles),Ve("ngModel",i.filterChain.roleName),u("showUnselectItem",!0),o(2),u("items",i.activeStates),Ve("ngModel",i.filterChain.isUserActive),u("showUnselectItem",!0),o(3),M(" ",p(33,33,"common.apply")," "))},dependencies:[Be,ft,Y,$,at,V,X,q,D,mt,P],encapsulation:2})}}return n})();function wc(n,l){n&1&&(m(0),c(1,"transloco")),n&2&&M(" ",p(1,1,"user_management.locations.edit_location")," ")}function kc(n,l){n&1&&(m(0),c(1,"transloco")),n&2&&M(" ",p(1,1,"user_management.locations.create_location")," ")}function Rc(n,l){if(n&1){let e=E();r(0,"button",49),b("click",function(){y(e);let i=d();return S(i.onCheckDelete())}),m(1),c(2,"transloco"),s()}
1n&2&&(o(),M(" ",p(2,1,"common.delete")," "))}function Uc(n,l){n&1&&g(0,"app-icon",13)}function Fc(n,l){n&1&&T(0,Uc,1,0,"app-icon",50)}function Pc(n,l){n&1&&(r(0,"span",14),m(1),c(2,"transloco"),s()),n&2&&(o(),_(p(2,1,"common.save")))}function Lc(n,l){n&1&&(r(0,"p",18),m(1),c(2,"transloco"),s()),n&2&&(o(),M(" ",p(2,1,"common.please_fill_this_field")," "))}function Ac(n,l){n&1&&(r(0,"p",18),m(1),c(2,"transloco"),s()),n&2&&(o(),M(" ",p(2,1,"user_management.locations.location_name_already_in_use")," "))}function Oc(n,l){if(n&1){let e=E();r(0,"div",26),g(1,"input",51),r(2,"button",52),c(3,"transloco"),c(4,"transloco"),b("click",function(){let i=y(e).$index,a=d();return S(a.onRemoveAlternativeName(i))}),g(5,"app-icon",53),s()()}if(n&2){let e=l.$index;o(),u("formControlName",e)("id","alternative-name"+e),k("aria-label","alternative-name"+e),o(),u("ngbTooltip",p(3,5,"common.delete")),k("aria-label",p(4,7,"common.delete"))}}function Dc(n,l){if(n&1){let e=E();r(0,"div",26),g(1,"input",54),r(2,"button",55),c(3,"transloco"),c(4,"transloco"),b("click",function(){let i=y(e).$index,a=d();return S(a.onRemoveLockedName(i))}),g(5,"app-icon",53),s()()}if(n&2){let e=l.$index;o(),u("formControlName",e)("id","blocked-name"+e),k("aria-label","blocked-name"+e),o(),u("ngbTooltip",p(3,5,"common.delete")),k("aria-label",p(4,7,"common.delete"))}}function Vc(n,l){if(n&1){let e=E();r(0,"button",56),b("click",function(){y(e);let i=d();return S(i.onAddUsersToLocation())}),m(1),c(2,"transloco"),s()}n&2&&(u("disabled",!1),o(),M(" ",p(2,2,"user_management.groups.add_user")," "))}function Nc(n,l){if(n&1){let e=E();r(0,"button",59),c(1,"transloco"),c(2,"transloco"),b("click",function(){y(e);let i=d(2);return S(i.changeLocation())}),g(3,"app-icon",60),s()}n&2&&(u("ngbTooltip",p(1,2,"user_management.locations.change_location")),k("aria-label",p(2,4,"user_management.locations.change_location")))}function Gc(n,l){if(n&1&&(r(0,"div",57),C(1,Nc,4,6,"button",58),s()),n&2){let e=d();o(),v(e.currentLocation!=null&&e.currentLocation.isLastLocation?-1:1)}}function Bc(n,l){if(n&1){let e=E();r(0,"app-user-list-filter",63),b("filterClose",function(){y(e),d();let i=N(1);return S(i.close())})("filter",function(i){y(e);let a=d(2);return S(a.onFilter(i))})("resetFilter",function(){y(e);let i=d(2);return S(i.onResetFilter())}),s()}if(n&2){let e=d(2);u("selectableCosts",e.selectableCosts)("selectableRoles",e.selectableRoles)}}function $c(n,l){if(n&1&&(r(0,"button",61,4),c(2,"transloco"),g(3,"app-icon",62),s(),T(4,Bc,1,2,"ng-template",null,5,I)),n&2){let e=N(5),t=d();
1u("ngbPopover",e),k("aria-label",p(2,3,"common.table.open_filter")),o(3),u("ngClass",t.usersAreFiltered?"icon-filter-active":"icon-filter-inactive")}}function qc(n,l){if(n&1){let e=E();r(0,"span",64),b("click",function(){let i=y(e).item,a=d();return S(a.callUser(i))})("keydown.enter",function(){let i=y(e).item,a=d();return S(a.callUser(i))}),m(1),s()}if(n&2){let e=l.item;o(),vt(" ",e.surname,", ",e.forename," ")}}function jc(n,l){if(n&1){let e=E();r(0,"span",65),b("click",function(){let i=y(e).item,a=d();return S(a.callUser(i))})("keydown.enter",function(){let i=y(e).item,a=d();return S(a.callUser(i))}),m(1),s()}if(n&2){let e=l.item;o(),_(e.user.username)}}function Hc(n,l){if(n&1&&(r(0,"div",66),g(1,"app-box-list",67),s()),n&2){let e=l.item,t=d();o(),u("fieldValues",t.getGroupNamesByUserId(e))}}function zc(n,l){if(n&1&&(r(0,"div",68),g(1,"app-box-list",67),s()),n&2){let e=l.item;o(),u("fieldValues",e.roleNames)}}function Wc(n,l){if(n&1&&(r(0,"div",69),m(1),s()),n&2){let e=l.item;o(),_(e.costCenters)}}function Qc(n,l){if(n&1&&(r(0,"span",70),m(1),s()),n&2){let e=l.item;o(),_(e.department)}}function Kc(n,l){if(n&1&&(r(0,"div",48),g(1,"app-icon",71),r(2,"p",72),m(3),c(4,"transloco"),c(5,"transloco"),s()()),n&2){let e=d();o(3),M(" ",e.usersAreFiltered?p(4,1,"user_management.users.no_users_found"):p(5,3,"user_management.users.no_users_assigned")," ")}}var Wn=(()=>{class n{get userTable(){return this._userTable}set userTable(e){this._userTable=e}constructor(){this._licenseManagementConfig=h(Xo),this._authService=h(ot),this._changeDetectorRef=h(ct),this._costService=h(Fi),this._feedbackService=h(oe),this._formBuilder=h(Ce),this._groupService=h(pt),this._locationService=h(Zt),this._locationStateService=h(Pi),this._modalService=h(B),this._roleService=h(Mt),this._route=h(me),this._router=h(de),this._userService=h(we),this.requesting=!1,this.isAdmin=!1,this.usersAreFiltered=!1,this.usersTotalCount=0,this.locations=[],this._componentActive=!0,this._groups=[],this._initialUsers=[],this._page=this._licenseManagementConfig.defaultPage,this._perPage=this._licenseManagementConfig.defaultPerPage,this._selectableCosts=[],this._selectableRoles=[],this._users=[],this._usersSelectedForLocationChange=[],this._subscriptions=[];let e=this._authService.userInfo.roles.split(",").map(t=>t.trim().toLowerCase());this.isAdmin=e.includes("admin")}ngOnInit(){let{id:e}=this._route.snapshot.params;this._tenantKey=localStorage.getItem(Ye),this.locationForm=this._formBuilder.group({locationId:e??"",name:["",[G.required,G.minLength(1),this.nameExists()]],description:"",alternativeNames:this._formBuilder.array([]),lockedNames:this._formBuilder.array([])}),e&&this.patchLocationValue(e);let t=this._roleService.roles$.pipe(F(()=>ue)),i=this._costService.costCenters$.pipe(F(()=>ue)),a=this._groupService.groupCollection$.pipe(F(()=>ue));gi([t,i,a]).pipe(lt([void 0,void 0,void 0]),be(([f,x,w])=>{f&&x&&w&&(this._selectableRoles=si.getRolesAsSelectableRoles(f),this._selectableCosts=si.getCostsAsSelectableCosts(x),this._groups=w)}),et(()=>this._componentActive)).subscribe(),this._locationService.getLocations().subscribe(f=>{this.locations=f})}ngOnDestroy(){this._userService.resetFilter(),this._subscriptions.forEach(e=>e.unsubscribe()),this._componentActive=!1}set page(e){this._page=e}get page(){return this._page}set perPage(e){this._perPage=e}get perPage(){return this._perPage}get users(){return this._users}set users(e){this._users=e}get selectableRoles(){return this._selectableRoles}get selectableCosts(){return this._selectableCosts}onPageChange(e){this.page=e,this.reloadUsers()}onFilter(e){this._userService.setFilter(e),this.callUpdateUserList(),this.usersAreFiltered=this.isFilterSet(e)}onSortChange(e){if(e.changeType===Ot.SORT){let t=e.sortAsc?ze.ASC:ze.DESC;this._userService.changeSort(e.sortBy,t),this.reloadUsers()}}onResetFilter(){this.usersTotalCount=void 0,this._userService.resetFilter(!1),this.callUpdateUserList(),this.usersAreFiltered=!1}callUpdateUserList(){this._page=0,this.reloadUsers()}get alternativeNames(){return this.locationForm.get("alternativeNames")}get lockedNames(){return this.locationForm.get("lockedNames")}onCreateAlternativeName(){this.alternativeNames.push(new j(""))}onRemoveAlternativeName(e){this.alternativeNames.removeAt(e)}onCreateLockedName(){this.lockedNames.push(new j(""))}onRemoveLockedName(e){this.lockedNames.removeAt(e)}onCancel(){this._router.navigate([this.currentLocation?"../../":"../"],{relativeTo:this._route})}onSubmit(){if(!this.locationForm.valid)this.locationForm.markAllAsTouched();else if(this.locationForm.controls.locationId.value){let e={locationId:this.locationForm.controls.locationId.value,name:this.locationForm.controls.name.value,description:this.locationForm.controls.description.value,alternativeNames:this.alternativeNames.controls.filter(t=>t.value).map(t=>
1t.value),lockedNames:this.lockedNames.controls.filter(t=>t.value).map(t=>t.value),usersCount:this.currentLocation.usersCount};this.saveLocation(e)}else{let e={name:this.locationForm.controls.name.value,description:this.locationForm.controls.description.value,alternativeNames:this.alternativeNames.controls.filter(t=>t.value).map(t=>t.value),lockedNames:this.lockedNames.controls.filter(t=>t.value).map(t=>t.value),usersCount:0};this.createLocation(e)}}onLocationNameChange(e){this.currentLocation.name=e.target.value}getGroupNamesByUserId(e){return we.getGroupNames(this._groups,e.groups)}callUser(e){this._router.navigate(["../../../users/user",e.id],{relativeTo:this._route})}onAddUsersToLocation(){let e=this._modalService.open(ha,{windowClass:"modal-large"});e.componentInstance.currenLocation=this.currentLocation?.name,e.result.then(t=>{t?.passedUsers&&(this._users=[...this._users,...t.passedUsers],this.usersTotalCount=this.currentLocation.usersCount=this.usersTotalCount+t.passedUsers.length)})}createLocation(e){this.requesting=!0,this._subscriptions.push(this._locationService.createLocation(e).pipe(U(t=>{t&&(this._feedbackService.showSuccessModal("user_management.locations.location_successfully_created",`${this._tenantKey}/locations`),this._locationStateService.passNewLocation(t))}),F(()=>(this._feedbackService.showErrorModal(),ue)),Z(()=>this.requesting=!1)).subscribe())}saveLocation(e){this.requesting=!0,this._subscriptions.push(this._locationService.updateLocation(e).pipe(F(()=>(this._feedbackService.showErrorModal(),ue)),Z(()=>this.requesting=!1)).subscribe(t=>{if(t){this._locationStateService.passChangedLocation(e);let i=this.users.filter(f=>!this._initialUsers.map(x=>x.id).includes(f.id)),a=[];i.length>0&&a.push(this._userService.setLocationForUsers(this.currentLocation.locationId,i.map(f=>f.id))),this._usersSelectedForLocationChange.length>0&&a.push(this._userService.setLocationForUsers(this._selectedLocationId,this._usersSelectedForLocationChange.map(f=>f.id))),a.length>0?Rt(a).pipe(be(f=>{f.every(x=>x===!0)?this._feedbackService.showSuccessModal("user_management.locations.location_successfully_edited",`${this._tenantKey}/locations`):this._feedbackService.showErrorModal()})).subscribe():this._feedbackService.showSuccessModal("user_management.locations.location_successfully_edited",`${this._tenantKey}/locations`)}else this._feedbackService.showErrorModal()}))}patchLocationValue(e){this._subscriptions.push(this._locationService.getLocationById(e).pipe(be(t=>{t&&(this.currentLocation=t,this.locationForm.patchValue({locationId:t.locationId,name:t.name,description:t.description}),t.alternativeNames.forEach(i=>this.alternativeNames.push(new j(i))),t.lockedNames.forEach(i=>this.lockedNames.push(new j(i))),this._userService.filter.location=t.name)})).subscribe(()=>{this.reloadUsers()}))}onCheckDelete(){this.currentLocation.hasUsers?this._feedbackService.showInfoModal("user_management.locations.delete_location","user_management.locations.cannot_delete_location_with_users",Mi.DELETE):this.deleteLocation()}changeLocation(){let e=this._modalService.open(ga);e.componentInstance.selectedLocationId=this.currentLocation.locationId,e.result.then(t=>{t?.passedLocationId&&(this._selectedLocationId=t.passedLocationId,this._usersSelectedForLocationChange=this._userTable.selectedRows.map(i=>i.item),this._users=this._users.filter(i=>!this._usersSelectedForLocationChange.includes(i)),this.usersTotalCount=this.currentLocation.usersCount=this.usersTotalCount-this._userTable.selectedRows.length)})}deleteLocation(){let e=this._modalService.open(ae);e.componentInstance.isDeleteConfirmation=!0,e.componentInstance.title="user_management.locations.delete_location",e.componentInstance.text="user_management.locations.do_you_want_to_delete_location",e.result.then(t=>{if(t?.preset){let i=this.locationForm.controls.locationId.value;this._locationService.deleteLocation(i).subscribe(a=>{a?this._feedbackService.showSuccessModal("user_management.locations.location_successfully_deleted",`${this._tenantKey}/locations`):this._feedbackService.showErrorModal("user_management.locations.location_could_not_be_deleted",`${this._tenantKey}/locations`)})}})}reloadUsers(){this._userService.getUsersVM(this._userService.requestUsers(this._page,this._perPage)).pipe(We(1),lt(void 0)).subscribe(e=>{e&&(this.users=e,this._initialUsers=Ze.cloneDeep(this.users),this._changeDetectorRef.markForCheck())}),this._userService.requestUsersCount().pipe(lt(void 0),We(2)).subscribe(e=>{this.usersTotalCount=e})}isFilterSet(e){return!!(e.trunk||e.username||e.licenseTitle||e.roleName||e.costCenter)}nameExists(){return e=>this.locations.map(i=>i.name).includes(e.value)&&this.currentLocation?.name!==e.value?{invalidName:{name:e.value}}:null}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275cmp=R({type:n,selectors:[["app-location-detail"]],viewQuery:function(t,i){if(t&1&&K(H,7),t&2){let a;
1z(a=W())&&(i.userTable=a.first)}},decls:99,vars:59,consts:[["tableMenu",""],["menuAnimatedButtons",""],["tableCheckboxColumnHeader",""],["tableCell",""],["filterPopover","ngbPopover"],["filterPopoverContent",""],[3,"ngSubmit","keydown.enter","focusInvalidInput","formGroup"],[1,"detail-container"],[1,"header"],[1,"buttons"],["type","button","data-cy","deleteLocation",1,"btn-alert"],["type","button","data-cy","cancelLocation",1,"btn-primary-outline",3,"click"],["type","submit",1,"btn-primary"],["name","loading-spinner"],["data-cy","saveLocation"],[1,"content-row"],["for","location-name",1,"mandatory"],["formControlName","name","type","text","data-cy","locationName","id","location-name",3,"appAutoFocus"],["data-cy","errorMessage",1,"text-alert"],[3,"formGroup"],["for","location-description"],["formControlName","description","rows","3","data-cy","locationDescription","id","location-description"],["for","alternative-names"],["name","info",1,"icon-clickable",3,"ngbTooltip"],[1,"list",3,"formGroup"],["formArrayName","alternativeNames"],[1,"entry"],["type","button",1,"btn-icon-text",3,"click"],["name","add"],["data-cy","addAlternativeName"],["for","blocked-names"],["formArrayName","lockedNames"],["data-cy","addBlockedName"],[1,"user-header"],[3,"count"],["type","button","data-cy","addUsers",1,"btn-primary-outline",3,"disabled"],[1,"container-menu-pagination"],[3,"appTable"],["menu",""],["data-cy","pagination",3,"pageChange","collectionSize","page","tableMenu","pageSize"],[1,"container-table"],["sortBy","surname","data-cy","table",3,"stateChange","items"],["tableColumn","","columnText","common.name","itemProperty","surname",3,"sortable"],["tableColumn","","columnText","user_management.users.username","itemProperty","username",3,"sortable"],["tableColumn","","columnText","user_management.groups.title","itemProperty","groups",3,"sortable"],["tableColumn","","columnText","user_management.users.roles","itemProperty","roles",3,"sortable"],["tableColumn","","columnText","user_management.users.cost_centers","itemProperty","costCenters",3,"sortable"],["tableColumn","","columnText","user_management.users.department","itemProperty","department",3,"sortable"],[1,"no-content"],["type","button","data-cy","deleteLocation",1,"btn-alert",3,"click"],["name","loading-spinner",4,"ngIf"],["type","text","data-cy","alternativeName",3,"formControlName","id"],["type","button","data-cy","iconDeleteAlternativeName",1,"btn-icon",3,"click","ngbTooltip"],["name","delete"],["type","text","data-cy","blockedName",3,"formControlName","id"],["type","button","data-cy","iconDeleteBlockedName",1,"btn-icon",3,"click","ngbTooltip"],["type","button","data-cy","addUsers",1,"btn-primary-outline",3,"click","disabled"],[1,"btn-group"],["type","button","data-cy","iconChangeLocation",1,"btn-menu-animated",3,"ngbTooltip"],["type","button","data-cy","iconChangeLocation",1,"btn-menu-animated",3,"click","ngbTooltip"],["name","location-change"],["popoverClass","filter-container","placement","bottom-left","autoClose","outside","type","button",1,"btn-filter",3,"ngbPopover"],["name","filter","data-cy","iconFilter",3,"ngClass"],["data-cy","filter",3,"filterClose","filter","resetFilter","selectableCosts","selectableRoles"],["data-cy","name",1,"link-bold",3,"click","keydown.enter"],["data-cy","username",1,"link",3,"click","keydown.enter"],["data-cy","groups"],[3,"fieldValues"],["data-cy","roles"],["data-cy","costCenters"],["data-cy","department"],["sprite","icons-large","name","user-empty-large","data-cy","iconNoUsers",1,"icon-inactive"],["data-cy","textNoUsers"]],template:function(t,i){if(t&1&&(r(0,"form",6),b("ngSubmit",function(){return i.onSubmit()})("keydown.enter",function(f){return f.preventDefault()}),r(1,"div",7)(2,"div",8)(3,"h1"),C(4,wc,2,3)(5,kc,2,3),s(),r(6,"div",9),C(7,Rc,3,3,"button",10),r(8,"button",11),b("click",function(){return i.onCancel()}),m(9),c(10,"transloco"),s(),r(11,"button",12),C(12,Fc,1,0,"app-icon",13)(13,Pc,3,3,"span",14),s()()(),r(14,"section")(15,"h2"),m(16),c(17,"transloco"),s(),r(18,"div",15)(19,"div")(20,"label",16),m(21),c(22,"transloco"),s(),g(23,"input",17),C(24,Lc,3,3,"p",18),C(25,Ac,3,3,"p",18),s(),r(26,"div",19)(27,"label",20),m(28),c(29,"transloco"),s(),g(30,"textarea",21),s()(),r(31,"div",15)(32,"div")(33,"label",22),m(34),c(35,"transloco"),s(),g(36,"app-icon",23),c(37,"transloco"),c(38,"transloco"),r(39,"div",24),ht(40,25),ye(41,Oc,6,9,"div",26,Ni),gt(),s(),r(43,"button",27),b("click",function(){return i.onCreateAlternativeName()}),g(44,"app-icon",28),r(45,"span",29),m(46),c(47,"transloco"),s()()(),r(48,"div")(49,"label",30),m(50),c(51,"transloco"),s(),r(52,"div",24),ht(53,31),ye(54,Dc,6,9,"div",26,Ni),gt(),s(),r(56,"button",27),b("click",function(){return i.onCreateLockedName()}),g(57,"app-icon",28),r(58,"span",32),m(59),c(60,"transloco"),s()()()()(),r(61,"section")(62,"div",33)(63,"div")(64,"h2"),m(65),c(66,"transloco"),s(),g(67,"app-record-count",34),s(),C(68,Vc,3,4,"button",35),s(),r(69,"div",36)(70,"app-table-menu",37,0)(72,"div",38),T(73,Gc,2,1,"ng-template",null,1,I),s()(),r(75,"app-pagination",39),b("pageChange",function(f){return i.onPageChange(f)}),s()(),r(76,"div",40)(77,"app-table",41),b("stateChange",function(f){return i.onSortChange(f)}),T(78,$c,6,5,"ng-template",null,2,I),r(80,"div",42),T(81,qc,2,2,"ng-template",null,3,I),s(),r(83,"div",43),T(84,jc,2,1,"ng-template",null,3,I),s(),r(86,"div",44),T(87,Hc,2,1,"ng-template",null,3,I),s(),r(89,"div",45),T(90,zc,2,1,"ng-template",null,3,I),s(),r(92,"div",46),T(93,Wc,2,1,"ng-template",null,3,I),s(),r(95,"div",47),T(96,Qc,2,1,"ng-template",null,3,I),s()(),C(98,Kc,6,5,"div",48),s()()()()),t&2){let a=N(71);u("focusInvalidInput",!0)("formGroup",i.locationForm),o(4),v(i.locationForm!=null&&i.locationForm.controls.locationId.value?4:5),o(3),v(i.currentLocation&&!i.currentLocation.isLastLocation&&i.isAdmin?7:-1),o(2),M(" ",p(10,37,"common.cancel")," "),o(3),v(i.requesting?12:13),o(4),_(p(17,39,"common.properties")),o(5),_(p(22,41,"common.name")),o(2),u("appAutoFocus",!0),o(),v(!i.locationForm.controls.name.valid&&!(i.locationForm.controls.name.errors!=null&&i.locationForm.controls.name.errors.invalidName)&&i.locationForm.touched?24:-1),o(),v(i.locationForm.controls.name.errors!=null&&i.locationForm.controls.name.errors.invalidName?25:-1),o(),u("formGroup",i.locationForm),o(2),_(p(29,43,"common.description")),o(6),_(p(35,45,"user_management.locations.alternative_names")),o(2),u("ngbTooltip",p(37,47,"user_management.locations.alternative_names_tip")),k("aria-label",p(38,49,"user_management.locations.alternative_names_tip")),o(3),u("formGroup",i.locationForm),o(2),Se(i.alternativeNames.controls),o(5),M(" ",p(47,51,"user_management.locations.add_alternative_name")," "),o(4),_(p(51,53,"user_management.locations.locked_values")),o(2),u("formGroup",i.locationForm),o(2),Se(i.lockedNames.c
1ontrols),o(5),_(p(60,55,"user_management.locations.add_locked_name")),o(6),_(p(66,57,"user_management.users.title")),o(2),u("count",i.usersTotalCount),o(),v(i.currentLocation&&!i.currentLocation.isLastLocation?68:-1),o(2),u("appTable",i.userTable),o(5),u("collectionSize",i.usersTotalCount)("page",i.page)("tableMenu",a)("pageSize",i.perPage),o(2),u("items",i.users),o(3),u("sortable",!0),o(3),u("sortable",!0),o(3),u("sortable",!0),o(3),u("sortable",!0),o(3),u("sortable",!0),o(3),u("sortable",!0),o(3),v(i.usersTotalCount===0?98:-1)}},dependencies:[q,nt,To,ne,Y,$,J,Lt,X,te,ee,Jt,Be,It,At,V,Ae,Dt,He,he,Oe,wn,H,P],styles:[".detail-container[_ngcontent-%COMP%] section[_ngcontent-%COMP%]{width:100%}.detail-container[_ngcontent-%COMP%] section[_ngcontent-%COMP%]:not(:last-child){border-bottom:var(--border);padding-bottom:var(--spacer)}.detail-container[_ngcontent-%COMP%] .user-header[_ngcontent-%COMP%]{display:flex;gap:var(--spacer);justify-content:space-between}.detail-container[_ngcontent-%COMP%] .user-header[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{width:fit-content}.detail-container[_ngcontent-%COMP%] .content-row[_ngcontent-%COMP%]{align-items:baseline;display:flex;gap:var(--spacer)}.detail-container[_ngcontent-%COMP%] .content-row.values[_ngcontent-%COMP%]{align-items:center}.detail-container[_ngcontent-%COMP%] .content-row[_ngcontent-%COMP%] .text-alert[_ngcontent-%COMP%]{position:relative}.detail-container[_ngcontent-%COMP%] .content-row[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]{flex:1}.detail-container[_ngcontent-%COMP%] .content-row[_ngcontent-%COMP%] > *[_ngcontent-%COMP%] .list[_ngcontent-%COMP%]{display:flex;flex-direction:column}.detail-container[_ngcontent-%COMP%] .content-row[_ngcontent-%COMP%] > *[_ngcontent-%COMP%] .list[_ngcontent-%COMP%] .entry[_ngcontent-%COMP%]{display:flex;flex-direction:row;margin-bottom:calc(var(--spacer) / 2)}@media(width<=48rem){.detail-container[_ngcontent-%COMP%] .content-row[_ngcontent-%COMP%]{flex-direction:column}.detail-container[_ngcontent-%COMP%] .content-row[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]{width:100%}}"]})}}return n})();var Yc=n=>({hide:n});function Jc(n,l){if(n&1){let e=E();r(0,"button",13),b("click",function(){y(e);let i=d();return S(i.callCreateLocation())}),m(1),c(2,"transloco"),s()}
1n&2&&(o(),M(" ",p(2,1,"user_management.locations.create_location")," "))}function Xc(n,l){n&1&&(r(0,"p",6),m(1),c(2,"transloco"),s()),n&2&&(o(),_(p(2,1,"user_management.locations.max_locations_info")))}function Zc(n,l){}function ep(n,l){if(n&1){let e=E();r(0,"span",14),b("click",function(){let i=y(e).item,a=d();return S(a.navigateToItem(i))})("keydown.enter",function(){let i=y(e).item,a=d();return S(a.navigateToItem(i))}),m(1),s()}if(n&2){let e=l.item;o(),M(" ",e.name," ")}}function tp(n,l){if(n&1&&(r(0,"div",15),g(1,"app-box-list",16),s()),n&2){let e=l.item;o(),u("fieldValues",e.alternativeNames)("count",8)}}function ip(n,l){if(n&1&&(r(0,"div",17),g(1,"app-box-list",16),s()),n&2){let e=l.item;o(),u("fieldValues",e.lockedNames)("count",8)}}function np(n,l){if(n&1&&(r(0,"span",18),m(1),s()),n&2){let e=l.item;o(),_(e.usersCount)}}var Ca=(()=>{class n{constructor(){this._router=h(de),this._route=h(me),this._locationService=h(Zt),this._locationStateService=h(Pi),this.locations=[],this.isPending=!1,this.maxLocations=1,this._subscriptions=[]}get locationTable(){return this._locationTable}set locationTable(e){this._locationTable=e}ngOnInit(){this.loadMaxLocations(),this._subscriptions.push(this._locationService.getLocations().subscribe(e=>{this.locations=e,this.loadNewAndChangedLocations()}))}ngOnDestroy(){this._subscriptions.forEach(e=>e.unsubscribe())}callCreateLocation(){this._router.navigate(["./create"],{relativeTo:this._route})}navigateToItem(e){e?.locationId&&this._router.navigate(["./location",e.locationId],{relativeTo:this._route})}onStateChange(e){if(e.changeType===Ot.SORT){let t=e.sortAsc?ze.ASC:ze.DESC;this._subscriptions.push(this._locationService.getLocations(e.sortBy,t).subscribe(i=>this.locations=i))}}loadNewAndChangedLocations(){this._subscriptions.push(this._locationStateService.newLocation.pipe(We(1),Bt()).subscribe(e=>{e?.locationId&&this.locations.filter(i=>i.locationId===e.locationId).length<1&&this.locations.push(e)})),this._subscriptions.push(this._locationStateService.chagedLocation.pipe(We(1),Bt()).subscribe(e=>{if(e){let t=this.locations.findIndex(i=>i.locationId===e.locationId);this.locations[t]=e}})),this._locationStateService.clearState()}loadMaxLocations(){this._subscriptions.push(this._locationService.getMaxLocations().subscribe(e=>{e!==null&&(this.maxLocations=e)}))}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275cmp=R({type:n,selectors:[["app-location-list"]],viewQuery:function(t,i){if(t&1&&K(H,7),t&2){let a;
1z(a=W())&&(i.locationTable=a.first)}},decls:25,vars:12,consts:[["tableCheckboxColumnHeader",""],["tableCell",""],[1,"overview-container",3,"ngClass"],[1,"header"],[3,"count"],["type","button","data-cy","createLocation",1,"btn-primary"],["data-cy","infoBox",1,"box-info"],[1,"container-table"],["sortBy","name","data-cy","table",3,"stateChange","hasCheckboxColumn","items"],["tableColumn","","columnText","common.name","itemProperty","name",3,"sortable"],["tableColumn","","columnText","user_management.locations.alternative_names","itemProperty","alternativeNames"],["tableColumn","","columnText","user_management.locations.locked_values","itemProperty","lockedNames"],["tableColumn","","columnText","user_management.user","itemProperty","usersCount"],["type","button","data-cy","createLocation",1,"btn-primary",3,"click"],["data-cy","locationName",1,"link-bold",3,"click","keydown.enter"],["data-cy","alternativeNames"],[3,"fieldValues","count"],["data-cy","lockedNames"],["data-cy","usersCount"]],template:function(t,i){t&1&&(r(0,"div",2)(1,"div",3)(2,"div")(3,"h1"),m(4),c(5,"transloco"),s(),g(6,"app-record-count",4),s(),C(7,Jc,3,3,"button",5),s(),C(8,Xc,3,3,"p",6),r(9,"div",7)(10,"app-table",8),b("stateChange",function(f){return i.onStateChange(f)}),T(11,Zc,0,0,"ng-template",null,0,I),r(13,"div",9),T(14,ep,2,1,"ng-template",null,1,I),s(),r(16,"div",10),T(17,tp,2,2,"ng-template",null,1,I),s(),r(19,"div",11),T(20,ip,2,2,"ng-template",null,1,I),s(),r(22,"div",12),T(23,np,2,1,"ng-template",null,1,I),s()()()()),t&2&&(u("ngClass",Re(10,Yc,i.isPending)),o(4),_(p(5,8,"user_management.locations.title")),o(2),u("count",i.locations.length),o(),v((i.locations==null?null:i.locations.length)<i.maxLocations?7:-1),o(),v((i.locations==null?null:i.locations.length)>=i.maxLocations?8:-1),o(2),u("hasCheckboxColumn",!1)("items",i.locations),o(3),u("sortable",!0))},dependencies:[q,nt,It,He,he,H,P],encapsulation:2})}}return n})();var va=(()=>{class n{static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275cmp=R({type:n,selectors:[["ng-component"]],decls:1,vars:0,template:function(t,i){t&1&&g(0,"router-outlet")},dependencies:[Et,Wt],encapsulation:2})}}return n})();var De=(function(n){return n[n.SAML=0]="SAML",n[n.LDAP=1]="LDAP",n[n.SHIBBOLETH=2]="SHIBBOLETH",n[n.SAML_V2=3]="SAML_V2",n})(De||{});var Nt=(()=>{class n{constructor(){this._httpClient=h(Ue),this._configService=h(Me),this._fixedFields=["Username","Email","Forename","Surname","Roles","Location"],this._idpCollectionSubject=ne
1w Ke([]),this.idpCollection$=this._idpCollectionSubject.asObservable(),this._hasFetchedConnections=!1,this._connectionNamesSubject=new Ke([])}getAllIdpConnections(){let e=this.getUrl("sso/saml2");return this._httpClient.get(e,{observe:"response"}).pipe(U(t=>se.isAccepted(t.status)?(this._hasFetchedConnections=!0,this._connectionNamesSubject.next(t.body.map(i=>i.name)),t.body):null),F(()=>O(null)))}getConnectionNames(){return this._connectionNamesSubject.asObservable().pipe(dt(e=>e.length===0&&!this._hasFetchedConnections?this.getAllIdpConnections().pipe(dt(()=>this._connectionNamesSubject.asObservable())):O(e)))}getConnectionById(e){let t=this.getUrl(`sso/saml2/${e}`);return this._httpClient.get(t,{observe:"response"}).pipe(U(i=>se.isAccepted(i.status)?this.convertSamlConnectionResponseDtoToSamlConnectionModel(i.body):null),F(()=>O(null)))}createConnection(e,t){let i=this.getUrl("sso/saml2"),f={headers:n.getHeaders(),observe:"response"},x=new FormData;return t&&x.append("File",t,t.name),x.append("connectionId",e.connectionId),x.append("entityId",e.entityId),x.append("name",e.name),x.append("federationMetadataUrl",e.metadataUrl),x.append("isActive",e.isActive.toString()),this._httpClient.post(i,x,f).pipe(U(w=>!!se.isAccepted(w.status)),F(()=>O(!1)))}updateConnection(e,t){let i=this.convertIdpConnectionModelToIdpConnectionRequestDto(e),a=this.getUrl("sso/saml2");i.federationMetadataUrl=e.metadataUrl;let x={headers:n.getHeaders(),observe:"response"};e.file&&(t=e.file);let w=new FormData;return t&&w.append("File",t,t.name),w.append("connectionId",e.connectionId),w.append("entityId",e.entityId),w.append("name",e.name),w.append("federationMetadataUrl",e.metadataUrl??""),w.append("signAuthenticationRequest",e.signAuthRequest?.toString()??"false"),w=this.addClaimTypeMappingsToCreateFormData(w,e),w=this.addRoleMappingsToCreateFormData(w,e),this._httpClient.put(a,w,x).pipe(U(L=>L.status===tt.OK),F(()=>O(!1)))}activateConnection(e){let t=this.getUrl(`sso/saml2/${e}/activate`);return this._httpClient.put(t,{}).pipe(U(()=>!0),F(()=>O(!1)))}deleteConnection(e){let t=this.getUrl(`sso/saml2/${e}`);return new jt(i=>{this._httpClient.delete(t,{observe:"response"}).subscribe({next:a=>{if(a?.status&&se.isAccepted(a.status)){let f=this._idpCollectionSubject.value.filter(x=>x.connectionId!==e);this._idpCollectionSubject.next(f),i.next(!0)}else i.next(!1)},error:a=>{i.error(a)},complete:()=>{i.complete()}})})}addRoleMappingsToCreateFormData(e,t){return t.roleMappings.forEac
1h((i,a)=>{e.append(`roleMappings[${a}].nautosRole`,i.nautosRole||""),e.append(`roleMappings[${a}].regularExpressionOrMatchingValue`,i.regex||""),e.append(`roleMappings[${a}].priority`,i.priority?.toString()||(a+1).toString()),e.append(`roleMappings[${a}].description`,i.description||"")}),e}addClaimTypeMappingsToUpdateFormData(e,t){return t.claimTypeMappings.length<1?e.append("ClaimToNautosAttributeMappings[]","[]"):t.claimTypeMappings.forEach((i,a)=>{e.append(`ClaimToNautosAttributeMappings[${a}].nautosUserAttribute`,i.nautosUserAttribute||""),e.append(`ClaimToNautosAttributeMappings[${a}].identityProviderClaimType.uri`,i.identityProviderClaimType?.uri?.toString()||""),e.append(`ClaimToNautosAttributeMappings[${a}].identityProviderClaimType.description`,i.identityProviderClaimType?.description?.toString()||""),e.append(`ClaimToNautosAttributeMappings[${a}].identityProviderClaimType.displayName`,i.identityProviderClaimType?.displayName?.toString()||""),e.append(`ClaimToNautosAttributeMappings[${a}].synchronizationStrategy`,i.synchronizationStrategy?.toString()||""),e.append(`ClaimToNautosAttributeMappings[${a}].description`,i.description||""),e.append(`ClaimToNautosAttributeMappings[${a}].fixedValue`,i.fixedValue||""),e.append(`ClaimToNautosAttributeMappings[${a}].regularExpression`,i.regularExpression??""),e.append(`ClaimToNautosAttributeMappings[${a}].isOptional`,i.isOptional?.toString()||"")}),e}addRoleMappingsToUpdateFormData(e,t){return t.roleMappings.length<1?e.append("RoleToNautosRoleMappings[]","[]"):t.roleMappings.forEac
1h((i,a)=>{e.append(`RoleToNautosRoleMappings[${a}].nautosRole`,i.nautosRole||""),e.append(`RoleToNautosRoleMappings[${a}].regularExpressionOrMatchingValue`,i.regex||""),e.append(`RoleToNautosRoleMappings[${a}].priority`,i.priority?.toString()||(a+1).toString()),e.append(`RoleToNautosRoleMappings[${a}].isAdditionalRole`,"false"),e.append(`RoleToNautosRoleMappings[${a}].description`,i.description||"")}),e}addClaimTypeMappingsToIdpConnection(e,t){let i=this.getUrl(`sso/saml2/${e}/claim/userattributes`);return this._httpClient.post(i,t,{observe:"response"})}updateClaimTypeMapOfIdpConnection(e,t){let i=`${this._configService.baseConfig.baseUrl}${this._configService.baseConfig.extension}/sso/saml2/${e}/claim`;return this._httpClient.put(i,t,{observe:"response"}).pipe(U(a=>a.status===tt.OK),F(()=>O(!1)))}removeClaimTypeMapFromIdpConnection(e,t){let i=this.getUrl(`sso/saml2/${e}/claim/userattributes/delete`);return this._httpClient.post(i,t,{observe:"response"}).pipe(U(a=>a.status===tt.OK),F(()=>O(!1)))}getOfferedClaimTypes(e){let t=this.getUrl(`sso/saml2/${e}/offeredclaims`);return this._httpClient.get(t,{observe:"response"}).pipe(U(i=>i.body??O([])),F(i=>(console.error(i),O([]))))}addRoleMapToIdpConnection(e,t){let i=this.getUrl(`sso/saml2/${e}/claim/roles`);return this._httpClient.post(i,t,{observe:"response"})}updateRoleMapOfIdpConnection(e,t){let i=this.getUrl(`sso/saml2/${e}/claim/roles`);return this._httpClient.put(i,t,{observe:"response"}).pipe(U(a=>a.status===tt.OK))}downloadMetadataXml(e){return this._httpClient.get(e,{responseType:"blob"})}getAllNautosUserAttributes(){let e=this.getUrl("sso/attributes",2);return this._httpClient.get(e,{observe:"response"}).pipe(U(t=>se.isAccepted(t.status)?t.body:null),F(()=>O(null)))}addClaimTypeMappingsToCreateFormData(e,t){let i=0;
1return t.claimTypeMappings.forEach(a=>{e.append(`claimTypeMappings[${i}].nautosUserAttribute`,a.nautosUserAttribute||""),e.append(`claimTypeMappings[${i}].identityProviderClaimType.uri`,a.identityProviderClaimType?.uri?.toString()||""),e.append(`claimTypeMappings[${i}].identityProviderClaimType.description`,a.identityProviderClaimType?.description?.toString()||""),e.append(`claimTypeMappings[${i}].identityProviderClaimType.displayName`,a.identityProviderClaimType?.displayName?.toString()||""),e.append(`claimTypeMappings[${i}].synchronizationStrategy`,a.synchronizationStrategy?.toString()||""),e.append(`claimTypeMappings[${i}].description`,a.description||""),e.append(`claimTypeMappings[${i}].fixedValue`,a.fixedValue||""),e.append(`claimTypeMappings[${i}].regularExpression`,a.regularExpression??""),e.append(`claimTypeMappings[${i}].isOptional`,a.isOptional?.toString()||""),i++}),e}getUrl(e,t=1){let i=`${this._configService.baseConfig.baseUrl}${this._configService.baseConfig.extension}/${e}`;return t.toString()==="2"&&(i=i.replace("/v1/","/v2/")),i}refreshIdpConnections(){this._idpCollectionSubscription&&this._idpCollectionSubscription.unsubscribe(),this._idpCollectionSubscription=this.getAllIdpConnections().subscribe(e=>{this.sortLocal(e),this._idpCollectionSubject.next(e)})}sortLocal(e){if(this._sortField==null||this._sortDir==null)return;let t=this._sortDir.toLowerCase()==="asc"?1:-1;e.sort((i,a)=>i.name.localeCompare(a.name)*t)}static getHeaders(){let e=new Si;return e=e.append("Content-Type","empty"),e=e.append("Accept","*/*"),e=e.append("Response-Type","text/csv"),e}convertIdpConnectionModelToIdpConnectionRequestDto(e){return{connectionId:e.connectionId,entityId:e.entityId,name:e.name,federationMetadataUrl:e.metadataUrl,isActive:e.isActive,signAuthenticationRequest:e.signAuthRequest,file:null}}convertSamlConnectionResponseDtoToSamlConnectionModel(e){return{name:e.name,connectionId:e.connectionId,entityId:e.entityId,metadataUrl:e.federationMetadataUrl,filename:e.fileName,claimTypes:e.claimTypes,claimTypeMappings:e.claimTypeMappings.map(i=>this.convertClaimTypeMappingDtoToClaimTypeMappingModel(i)),roleMappings:e.roleMappings.map(i=>this.convertRoleMappingDtoToRoleMappingModel(i)),isActive:!0,certificateThumbprint:e.certificateThumbprint,certificateIssuer:e.certificateIssuer,certificateSubject:e.certificateSubject,certificateEnddate:e.certificateEnddate,type:De.SAML}}convertRoleMappingDtoToRoleMappingModel(e){return{roleMapId:e.roleMapId,nautosRole:e.nautosRole,regex:e.regularExpressionOrMatchingValue??e.regex,priority:e.priority,description:e.description,isSelectable:!0}}convertClaimTypeMappingDtoToClaimTypeMappingModel(e){return{nautosUserAttribute:e.nautosAttribute??e.nautosUserAttribute,identityProviderClaimType:e.identityProviderClaimType,synchronizationStrategy:e.mappingMode??e.synchronizationStrategy,description:e.description??"",fixedValue:e.fixedClaimValue??e.fixedValue??"",regularExpression:e.regularExpression??"",isOptional:e.isOptional,options:void 0,isSelectable:!this._fixedFields.includes(e.nautosUserAttribute.toString())}}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275prov=ce({token:n,factory:n.\u0275fac,providedIn:"root"})}}return n})();var ba=(()=>{class n{constructor(){this._httpClient=h(Ue),this._configService=h(Me),this._loginParameterUrls={passwordLogin:"nautos.de/api/v2/Auth?tenantKey={tenantKey}&login=PasswordLogin",ipAddressLogin:"nautos.de/api/v2/Auth?tenantKey={tenantKey}&login=ipAddressLogin",saml2:"nautos.de/api/v2/Auth?tenantKey={tenantKey}&login=saml&idpid=[x]"}}getSsoSettings(){let e=this.getUrl("sso",2);return this._httpClient.get(e,{observe:"response"}).pipe(U(t=>se.isAccepted(t.status)?this.tenantLoginSettingsDtoToSsoOptionsModel(t.body):null),F(()=>O(null)))}setSsoSettings(e){let t=this.getUrl("sso",2),i=this.ssoOptionsModelToTenantLoginSettingsDto(e);return this._httpClient.put(t,i,{observe:"response"}).pipe(U(a=>a.status===tt.OK))}ssoOptionsModelToTenantLoginSettingsDto(e){let t={passwordLogin:"PasswordLogin",ipAddressLogin:"IpAddressLogin",ldap:"Ldap",saml2:"Saml2",shibboleth:"Shibboleth"},i=[];return Object.keys(t).forEach(a=>{i.push({name:a,isEnabled:e.parameters[a]?.active??!1})}),{authenticationMethodViaBaseUrl:{name:e.loginOption??"PasswordLogin",isEnabled:!0},authenticationMethodViaUrlParameters:i,logoutSettings:{logoutDisabled:e.logoutOption==="LogoutDisabled",routeToDefaultLogoutPage:e.logoutOption==="NautosLogoutPage",routeToCustomLogoutPage:e.logoutOption==="CustomLogoutPage",routeToLoginPage:e.logoutOption==="ReturnToLoginDialog",customLogoutPageUrl:e.logoutOption==="CustomLogoutPage"?e.logoutUrl:""},autoCreationLocationForSamlActivated:e?.autoCreationLocationForSamlActivated??!1}}tenantLoginSettingsDtoToSsoOptionsModel(e){let t={logoutDisabled:"LogoutDisabled",routeToDefaultLogoutPage:"NautosLogoutPage",routeToCustomLogoutPage:"CustomLogoutPage",routeToLoginDialog:"ReturnToLoginPage"},i="",a={};for(let f in e.logoutSettings)e.logoutSettings[f]===!0&&(i=t[f]);return e.authenticationMethodViaUrlParameters=e.authenticationMethodViaUrlParameters.filter(f=>f.name!=="openId").map(f=>(a[f.name]={active:f.isEnabled,url:this._loginParameterUrls[mi.firstCharToLower(f.name)]},a[f.name])),{loginOption:e.authenticationMethodViaBaseUrl.name,logoutOption:i,logoutUrl:e.logoutSettings.customLogoutPageUrl,parameters:a,autoCreationLocationForSamlActivated:e?.autoCreationLocationForSamlActivated??!1}}getUrl(e,t=1){let i=`${this._configService.baseConfig.baseUrl}${this._configService.baseConfig.extension}/${e}`;return t.toString()==="2"&&(i=i.replace("/v1/","/v2/")),i}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275prov=ce({token:n,factory:n.\u0275fac,providedIn:"root"})}}return n})();function op(n,l){n&1&&(r(0,"div",3),m(1,"Loading"),s())}function ap(n,l){n&1&&(r(0,"span"),m(1),c(2,"transloco"),s()),n&2&&(o(),_(p(2,1,"common.save")))}function rp(n,l){n&1&&g(0,"app-icon",7)}function sp(n,l){if(n&1&&ut(0,16),n&2){d(4);let e=N(7);u("ngTemplateOutlet",e)}}function lp(n,l){if(n&1&&ut(0,16),n&2){d(4);let e=N(5);u("ngTemplateOutlet",e)}}function cp(n,l){if(n&1&&ut(0,16),n&2){d(4);let e=N(3);u("ngTemplateOutlet",e)}}function pp(n,l){if(n&1){let e=E();r(0,"div",11)(1,"div",12)(2,"input",13),b("change",function(){y(e);let i=d(3);return S(i.updateInputValidators())}),s(),r(3,"label",14),m(4),c(5,"transloco"),s()(),r(6,"div",15),C(
17,sp,1,1,"ng-container",16),C(8,lp,1,1,"ng-container",16),C(9,cp,1,1,"ng-container",16),s()()}if(n&2){let e=l.$implicit,t=l.$index,i=d(3);o(),k("data-cy","loginOption"+e.value),o(),u("id","loginOption"+t)("value",e.value),k("disabled",e.disabled)("checked",i.isLoginOptionSelected(e.value)),o(),u("for","loginOption"+t),o(),_(p(5,11,e.text)),o(2),k("data-cy","loginOptionStatus"+e.value),o(),v(i.activeLoginOption!==e.value?7:-1),o(),v(e.value===i.allLoginOptions.SAML&&i.activeLoginOption===i.allLoginOptions.SAML&&!i.isSamlConfigured||e.value===i.allLoginOptions.IP_LOGIN&&i.activeLoginOption===i.allLoginOptions.IP_LOGIN&&!i.isIpLoginConfigured?8:-1),o(),v((e.value!==i.allLoginOptions.SAML||i.isSamlConfigured)&&(e.value!==i.allLoginOptions.IP_LOGIN||i.isIpLoginConfigured)&&i.activeLoginOption===e.value?9:-1)}}function mp(n,l){if(n&1&&(r(0,"div"),ye(1,pp,10,13,"div",11,ke),s()),n&2){let e=d(2);o(),Se(e.loginOptions)}}function dp(n,l){if(n&1&&ut(0,16),n&2){d(5);let e=N(7);u("ngTemplateOutlet",e)}}function up(n,l){if(n&1&&ut(0,16),n&2){d(5);let e=N(5);u("ngTemplateOutlet",e)}}function _p(n,l){if(n&1&&ut(0,16),n&2){d(5);let e=N(3);u("ngTemplateOutlet",e)}}function fp(n,l){if(n&1&&(r(0,"div",11)(1,"div",12),g(2,"app-checkbox",17),r(3,"span",18),m(4),s()(),r(5,"div",15),C(6,dp,1,1,"ng-container",16),C(7,up,1,1,"ng-container",16),C(8,_p,1,1,"ng-container",16),s()()),n&2){let e=d().$implicit,t=d(3);o(2),u("formControlName",e.value.toString())("label",e.text),k("data-cy","loginParameter"+e.value),o(2),M("(",e.url,")"),o(),k("data-cy","loginParameterStatus"+e.value),o(),v(e.active?-1:6),o(),v(e.value===t.loginParams.IP_LOGIN&&e.active&&!t.isIpLoginConfigured?7:-1),o(),v((e.value!==t.loginParams.IP_LOGIN||t.isIpLoginConfigured)&&e.active?8:-1)}}function hp(n,l){if(n&1&&C(0,fp,9,8,"div",11),n&2){let e=l.$implicit;v(e.value?0:-1)}}function gp(n,l){if(n&1&&(r(0,"div",10),ye(1,hp,1,1,null,null,ke),s()),n&2){let e=d(2);o(),Se(e.loginParameters)}}function Cp(n,l){n&1&&(r(0,"p",24),m(1),c(2,"transloco"),s()),n&2&&(o(),M(" ",p(2,1,"common.please_fill_this_field")," "))}function vp(n,l){n&1&&(r(0,"p",24),m(1),c(2,"transloco"),s()),n&2&&(o(),M(" ",p(2,1,"user_management.logout_options.logout_url_invalid")," "))}function bp(n,l){if(n&1&&(r(0,"div")(1,"label",21),m(2),c(3,"transloco"),s(),r(4,"div",22),g(5,"input",23),C(6,Cp,3,3,"p",24),C(7,vp,3,3,"p",24),s()()),n&2){let e=d(4);fe("not-valid",e.checkFieldNotValid("logoutUrl")),o(2),_(p(3,5,"user_management.logout_options.logout_page")),o(4),v(e.ssoOptionsForm.get("logoutUrl").errors&&e.ssoOptionsForm.get("logoutUrl").errors.required?6:-1),o(),v(e.ssoOptionsForm.get("logoutUrl").errors&&e.ssoOptionsForm.get("logoutUrl").errors.pattern?7:-1)}}function yp(n,l){if(n&1){let e=E();r(0,"div",11)(1,"div")(2,"input",19),b("change",function(){y(e);let i=d(3);return S(i.updateInputValidators())}),s(),r(3,"label",14),m(4),c(5,"transloco"),s(),C(6,bp,8,7,"div",20),s()()}if(n&2){let e=l.$implicit,t=l.$index,i=d(3);o(),k("data-cy","logoutOption"+e.value),o(),u("id","logoutOption"+t)("value",e.value),k("disabled",e.disabled||e.value==="ReturnToLoginDialog"&&i.activeLoginOption!=="PasswordLogin"?"":null)("checked",i.isLogoutOptionSelected(e.value)),o(),u("for","logoutOption"+t),o(),_(p(5,8,e.text)),o(2),v(i.isCustomLogoutPageVisible(e.value)?6:-1)}}function Sp(n,l){if(n&1&&(r(0,"section")(1,"p",9),m(2),c(3,"transloco"),s(),ye(4,yp,7,10,"div",11,ke),s()),n&2){let e=d(2);o(2),M(" ",p(3,1,"user_management.logout_options.logout_option")," "),o(2),Se(e.logoutOptions)}}function xp(n,l){if(n&1&&(r(0,"section")(1,"p",25),m(2),c(3,"transloco"),s(),r(4,"div",8),g(5,"app-checkbox",26),s()()),n&2){let e=d(2);o(2),M(" ",p(3,2,"user_management.sso.settings.unknown_location_sso")," "),o(2),u("formGroup",e.ssoOptionsForm)}}function Tp(n,l){if(n&1){let e=E();r(0,"div",3)(1,"div",4)(2,"h2"),m(3),c(4,"transloco"),s(),r(5,"div",5)(6,"button",6),b("click",function(){y(e);let i=d();return S(i.isPending?null:i.onSave())}),C(7,ap,3,3,"span"),C(8,rp,1,0,"app-icon",7),s()()(),r(9,"div",8)(10,"section")(11,"p",9),m(12),c(13,"transloco"),s(),C(14,mp,3,0,"div"),s(),r(15,"section")(16,"p",9),m(17),c(18,"transloco"),s(),C(19,gp,3,0,"div",10),s(),C(20,Sp,6,3,"section"),s(),C(21,xp,6,4,"section"),s()}if(n&2){let e,t=d();o(3),_(p(4,10,"user_management.sso.settings.general")),o(4),v(t.isPending?-1:7),o(),v(t.isPending?8:-1),o(),u("formGroup",t.ssoOptionsForm),o(3),_(p(13,12,t.generalLabel)),o(2),v((t.loginOptions==null?null:t.loginOptions.length)>0?14:-1),o(3),M(" ",p(18,14,"user_management.logout_options.headline_url_parameter")," "),o(2),v((t.loginParameters==null?null:t.loginParameters.length)>0?19:-1),o(),v(t.ssoOptionsForm.get("loginOption").value!==t.allLoginOptions.PASSWORD_LOGIN?20:-1),o(),v(((e=t.ssoOptionsForm.get("loginOption"))==null?null:e.value)===t.allLoginOptions.SAML||((e=t.ssoOptionsForm.get("loginOption"))==null?null:e.value)===t.allLoginOptions.SSO_V2?21:-1)}}function Mp(n,l){n&1&&(g(0,"app-icon",27),r(1,"span",28),m(2),c(3,"transloco"),s()),n&2&&(o(2),_(p(3,1,"common.activated")))}function Ip(n,l){n&1&&(g(0,"app-icon",29),r(1,"span",28),m(2),c(3,"transloco"),s()),n&2&&(o(2),_(p(3,1,"user_management.sso.general.activated_unconfigured")))}function Ep(n,l){n&1&&(g(0,"app-icon",30),r(1,"span",28),m(2),c(3,"transloco"),s()),n&2&&(o(2),_(p(3,1,"common.deactivated")))}var ya=(()=>{class n{constructor(){this._userConfig=h(Ei),this._configService=h(Me),this._feedbackService=h(oe),this._formBuilder=h(Ce),this._samlService=h(Nt),this._ipRangeService=h(li),this._ssoService=h(ba),this._tenantStateService=h(Ft),this._translocoService=h(ge),this._unsavedChangesService=h(Tt),this.isPending=!1,this.isLoading=!0,this.allLoginOptions=ei,this.loginParams=on,this.loginOptions=[],this.loginParameters=[],this.logoutOptions=[],this.isSamlConfigured=!1,this.isIpLoginConfigured=!1,this.generalLabel="",this.autoCreationLocationForSamlActivated=!1,this._subscriptions=[],this._isIntranet=!1,this._urlRegex=/^https?:\/\/(?:www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b(?:[-a-zA-Z0-9()@:%_\+.~#?&\/=]*)$/,this.activeSsoSettings={loginOption:ei.PASSWORD_LOGIN,logoutOption:null,logoutUrl:null,parameters:null,autoCreationLocationForSamlActivated:!1}}get activeLoginOption(){return this._initialSsoOptions?.loginOption}ngOnInit(){let e=this._configService.baseConfig.baseUrl.replace("/api","");this._unsavedChangesService.initialize(),this._isIntranet=localStorage.getItem(an)==="true",this._subscriptions.push(this._samlService.getAllIdpConnections().subscribe(t=>{this.isSamlConfigured=t?.length>0})),this._subscriptions.push(this._ipRangeService.getConfigurationStatus().subscribe(t=>{this.isIpLoginConfigured=t})),this._subscriptions.push(this._tenantStateService.tenant$.subscribe(t=>{t&&(this._tenantInfo=t,this.generalLabel=this._tenantInfo&&this._translocoService.translate("user_management.login_options.headline")+`${e}/${t.tenantKey}
1`,this.initForms(),this.getSsoSettings(),this.initializeLoginOptions(t))}))}ngOnDestroy(){this._subscriptions.forEach(e=>e.unsubscribe())}checkFieldNotValid(e){return!this.ssoOptionsForm.get(e).valid&&this.ssoOptionsForm.get(e).touched}updateInputValidators(){this.ssoOptionsForm.get("loginOption").value!==ei.PASSWORD_LOGIN?this.ssoOptionsForm.get("logoutOption").setValidators([G.required]):this.ssoOptionsForm.get("logoutOption").clearValidators(),this.ssoOptionsForm.get("loginOption").value!==ei.PASSWORD_LOGIN&&this.ssoOptionsForm.get("logoutOption").value===xi.GOTO_CUSTOM_LOGOUT_PAGE?this.ssoOptionsForm.get("logoutUrl").setValidators([G.required,G.pattern(this._urlRegex)]):(this.ssoOptionsForm.get("logoutUrl").clearValidators(),this.ssoOptionsForm.get("logoutUrl").updateValueAndValidity())}isLoginOptionSelected(e){return e===this.ssoOptionsForm.get("loginOption").value}isLogoutOptionSelected(e){return e.toString().toUpperCase()===this.ssoOptionsForm.get("logoutOption")?.value?.toString().toUpperCase()}isCustomLogoutPageVisible(e){let t=this.ssoOptionsForm.get("logoutOption").value;return e===xi.GOTO_CUSTOM_LOGOUT_PAGE&&t===xi.GOTO_CUSTOM_LOGOUT_PAGE}onSave(){if(!this.ssoOptionsForm.valid){this.ssoOptionsForm.markAllAsTouched();return}let e=this.getFormValue();e.logoutOption!==xi.GOTO_CUSTOM_LOGOUT_PAGE&&(e.logoutUrl=""),e.loginOption===ei.PASSWORD_LOGIN&&(e.logoutOption=xi.GOTO_LOGIN_PAGE),this.isPending=!0;let t=this._unsavedChangesService.hasUnsavedChanges();this._unsavedChangesService.resetUnsavedChangesFlag(),this._subscriptions.push(this._ssoService.setSsoSett
1ings(e).pipe(Z(()=>this.isPending=!1)).subscribe(i=>{i?(this._unsavedChangesService.resetUnsavedChangesFlag(),this._initialSsoOptions=Ze.clone(e),this.activeSsoSettings=e,this.setFormValue(this.activeSsoSettings),this._feedbackService.showSuccessModal("user_management.sso.general.settings_saved_successfully")):(this._unsavedChangesService.trackChanges(t),this._feedbackService.showErrorModal())}))}initForms(){this.logoutOptions=this._userConfig.userDetail.ssoLogoutOptions,this.loginParameters=this._userConfig.userDetail.ssoLoginParameters,this.ssoOptionsForm=this._formBuilder.group({loginOption:null,logoutOption:null,logoutUrl:null,loginParameters:new it({passwordLogin:new j(!1),ipAddressLogin:new j(!1),saml2:new j(!1)}),autoCreationLocationForSamlActivated:!1})}getSsoSettings(){this.isPending=!0,this._subscriptions.push(this._ssoService.getSsoSettings().pipe(Z(()=>this.isPending=!1)).subscribe(e=>{e&&(this.activeSsoSettings=e,this._initialSsoOptions=Ze.clone(e),Object.keys(e.parameters).forEach(t=>{this.loginParameters.forEach(i=>{if(i.value===mi.firstCharToLower(t)){let a=e.parameters[t].url?.replace("{tenantKey}",this._tenantInfo?.tenantKey);i.active=e.parameters[t].active,i.url=a}return i})}),this.setFormValue(this.activeSsoSettings))}))}initializeLoginOptions(e){let t=this._userConfig.userDetail.ssoLoginOptions.map(a=>a);e?.isSsoAllowed||(t=t.filter(a=>a.value!==ei.SAML&&a.value!==ei.LDAP)),this._isIntranet||(t=t.filter(a=>a.value!==ei.LDAP)),t=t.map(a=>(a.active=a.value===this.activeSsoSettings.loginOption,a)),this.loginOptions=t;let i=this._userConfig.userDetail.ssoLoginParameters;e?.isSsoAllowed||(i=i.filter(a=>a.value===on.IP_LOGIN||a.value===on.USERNAME_AND_PASSWORD),i=i.map(a=>(a.active=!1,a.url="",a))),this.loginParameters=i,this.isLoading=!1}getFormValue(){let e=this.activeSsoSettings.parameters?.ipAddressLogin??{active:!1},t=this.activeSsoSettings.parameters?.passwordLogin??{active:!1},i=this.activeSsoSettings.parameters?.saml2??{active:!1};return e.active=this.ssoOptionsForm.get("loginParameters.ipAddressLogin")?.value??!1,t.active=this.ssoOptionsForm.get("loginParameters.passwordLogin")?.value??!1,i.active=this.ssoOptionsForm.get("loginParameters.saml2")?.value??!1,{loginOption:this.ssoOptionsForm.get("loginOption").value,logoutOption:this.ssoOptionsForm.get("logoutOption").value??"NautosLogoutPage",logoutUrl:this.ssoOptionsForm.get("logoutUrl").value,parameters:{ipAddressLogin:e,passwordLogin:t,saml2:i},autoCreationLocationForSamlActivated:this.ssoOptionsForm.get("autoCreationLocationForSamlActivated").value}}setFormValue(e){Object.keys(e).forEach(t=>{this.ssoOptionsForm.contains(t)&&this.ssoOptionsForm.get(t).value!==e[t]&&this.ssoOptionsForm.get(t).setValue(e[t])}),Object.keys(e.parameters).forEach(t=>{let i=this.ssoOptionsForm.get("loginParameters");if(i.get(t)){let a=e.parameters[t].active??!1;i.get(t).setValue(a)}}),this.loginParameters.forEach(t=>{t.active=e.parameters[t.value.toString()]?.active}),this.updateInputValidators(),this.ssoOptionsForm.valueChanges.subscribe(t=>{let i=this.hasFormChanged(t);this._unsavedChangesService.trackChanges(i)})}hasFormChanged(e){if(!e)return!1;let t=!1;if(Object.keys(e).forEach(i=>{i!=="loginParameters"&&this.ssoOptionsForm.contains(i)&&this.ssoOptionsForm.get(i).value&&this.ssoOptionsForm.get(i).value!==this._initialSsoOptions[i]&&(t=!0)}),!t){let i=this.ssoOptionsForm.get("loginParameters");Object.keys(e.loginParameters).forEach(a=>{if(i.get(a)){let f=i.get(a).value;(this._initialSsoOptions.parameters[a]?.active??!1)!==f&&(t=!0)}})}return t}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275cmp=R({type:n,selectors:[["ng-component"]],decls:8,vars:2,consts:[["connectionActivated",""],["connectionActivatedUnconfigured",""],["connectionDeactivated",""],[1,"detail-container"],[1,"header"],[1,"buttons"],["type","submit","data-cy","saveSsoOptions",1,"btn-primary",3,"click"],["name","loading-spinner"],[1,"content",3,"formGroup"],[1,"label-bold-top","mandatory"],["formGroupName","loginParameters"],[1,"form-check"],[1,"options"],["type","radio","formControlName","loginOption",1,"form-check-input",3,"change","id","value"],[1,"form-check-label",3,"for"],[1,"status"],[3,"ngTemplateOutlet"],[3,"formControlName","label"],["data-cy","url",1,"url"],["type","radio","formControlName","logoutOption",1,"form-check-input",3,"change","id","value"],[3,"not-valid"],["for","logoutUrl",1,"mandatory"],[1,"logout-url"],["id","logoutUrl","name","logoutUrl","type","text","formControlName","logoutUrl","data-cy","logoutUrl"],["data-cy","urlErrorMessage",1,"text-alert"],[1,"label-bold-top"],["label","user_management.sso.settings.automatically_create_location_if_not_exists_via_saml2","formControlName","autoCreationLocationForSamlActivated"],["name","check-mark-filled","data-cy","iconStatus",1,"icon-success"],["data-cy","statusMessage"],["name","alert","data-cy","iconStatus",1,"icon-warning"],["name","cross-filled","data-cy","iconStatus",1,"icon-alert"]],template:function(t,i){t&1&&(C(0,op,2,0,"div",3),C(1,Tp,22,16,"div",3),T(2,Mp,4,3,"ng-template",null,0,I)(4,Ip,4,3,"ng-template",null,1,I)(6,Ep,4,3,"ng-template",null,2,I)),t&2&&(v(i.isLoading?0:-1),o(),v(i.isLoading?-1:1))},dependencies:[Ie,Le,Ht,V,pe,Y,xt,$,J,te,ee,Yt,D,P],styles:[".detail-container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:var(--spacer)}.detail-container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] section[_ngcontent-%COMP%] > label[_ngcontent-%COMP%]{margin-bottom:var(--spacer)}.detail-container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] section[_ngcontent-%COMP%] .form-check[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap}.detail-container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] section[_ngcontent-%COMP%] .form-check[_ngcontent-%COMP%] app-checkbox[_ngcontent-%COMP%]{margin-left:-1.5em}.detail-container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] section[_ngcontent-%COMP%] .form-check[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{margin-left:calc(var(--spacer) / 2)}.detail-container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] section[_ngcontent-%COMP%] .form-check[_ngcontent-%COMP%] .logout-url[_ngcontent-%COMP%]{max-width:25rem;position:relative}.detail-container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] section[_ngcontent-%COMP%] .form-check[_ngcontent-%COMP%] .options[_ngcontent-%COMP%]{display:flex;justify-content:flex-start;min-width:20rem}.detail-container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] section[_ngcontent-%COMP%] .form-check[_ngcontent-%COMP%] .options[_ngcontent-%COMP%] .url[_ngcontent-%COMP%]{margin-left:var(--spacer)}.detail-container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] section[_ngcontent-%COMP%] .form-check[_ngcontent-%COMP%] .status[_ngcontent-%COMP%]{align-items:center;display:flex;justify-content:flex-start;min-width:20rem}"]})}}return n})();var kn=(()=>{class n{constructor(){this._authService=h(ot),this._userService=h(we),this._decentralgroups=[]}getDecentralGroup(e){this.refreshTenant();let t=this._decentralgroups.find(i=>i.id===e);return t?O(t):this._userService.getDecentralGroup().pipe(U(i=>i.map(a=>({id:a.id,orderManager:a.orderManager,users:(a.users??[]).map(this.toReducedUserModel),groups:a.groups??[]}))),be(i=>this._decentralgroups=i),U(i=>i.find(a=>a.id===e)))}clear(){this._decentralgroups=[]}updateDecentralGroup(e){this._decentralgroups=this._decentralgroups.filter(t=>t.id!==e.id),this._decentralgroups.push(e)}getDecentralGroups(){return this.refreshTenant(),this._decentralgroups.length>0?O(this._decentralgroups):this._userService.getDecentralGroup().pipe(U(e=>e.map(t=>({id:t.id,orderManager:t.orderManager,users:(t.users??[]).map(this.toReducedUserModel),groups:t.groups??[]}))),be(e=>this._decentralgroups=e))}removeGroup(e){this._decentralgroups=this._decentralgroups.filter(t=>t.id!==e)}toReducedUserModel(e){return{userId:e.userAccountId,username:e.username,forename:e.forename,surname:e.surname}}refreshTenant(){let e=this._authService.userInfo.tenantId;e!==this._currentTenantId&&this.clear(),this._currentTenantId=e}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275prov=ce({token:n,factory:n.\u0275fac,providedIn:"root"})}}return n})();function wp(n,l){if(n&1){let e=E();r(0,"button",14),c(1,"transloco"),c(2,"transloco"),b("click",function(){y(e);let i=d(),a=N(15);return S(i.bulkRemove.emit(a.selectedRows))}),g(3,"app-icon",15),s()}n&2&&(u("ngbTooltip",p(1,2,"licenses.detail.remove_groups")),k("aria-label",p(2,4,"licenses.detail.remove_groups")))}function kp(n,l){if(n&1){let e=E();r(0,"button",16),c(1,"transloco"),c(2,"transloco"),b("click",function(){let i=y(e).item,a=d();return S(a.remove.emit(i.groupId))}),g(3,"app-icon",17),s()}n&2&&(u("ngbTooltip",p(1,2,"user_management.unlink")),k("aria-label",p(2,4,"user_management.unlink")))}function Rp(n,l){if(n&1&&(r(0,"span",18),m(1),s()),n&2){let e=l.item;o(),_(e.name)}
1}function Up(n,l){if(n&1&&(r(0,"span",19),m(1),s()),n&2){let e=l.item;o(),_(e.userCount)}}function Fp(n,l){n&1&&(r(0,"div",13),g(1,"app-icon",20),r(2,"p",21),m(3),c(4,"transloco"),s()()),n&2&&(o(3),_(p(4,1,"user_management.groups.no_groups_assigned")))}var Sa=(()=>{class n{constructor(){this.add=new _e,this.bulkRemove=new _e,this.remove=new _e}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275cmp=R({type:n,selectors:[["app-add-groups"]],inputs:{groups:"groups"},outputs:{add:"add",bulkRemove:"bulkRemove",remove:"remove"},decls:26,vars:10,consts:[["menuAnimatedButtons",""],["groupMembersTable",""],["tableCell",""],["data-cy","groups",1,"groups"],[1,"sub-header-actions"],["data-cy","addGroups","type","button",1,"btn-primary-outline",3,"click"],[1,"container-menu-pagination"],[3,"appTable"],["menu",""],["data-cy","table","id","license-group-table",3,"items"],["styleClasses","button-column","tableColumn",""],["columnText","common.name","itemProperty","name","tableColumn","",3,"sortable"],["columnText","common.count_number","itemProperty","name","tableColumn",""],[1,"no-content"],["type","button",1,"btn-menu-animated",3,"click","ngbTooltip"],["data-cy","iconUnlinkGroups","name","cross"],["data-cy","iconUnlinkGroup","type","button",1,"btn-icon",3,"click","ngbTooltip"],["name","cross"],["data-cy","groupName"],["data-cy","userCount"],["data-cy","iconNoGroups","name","groups-empty-large","sprite","icons-large",1,"icon-inactive"],["data-cy","textNoGroups"]],template:function(t,i){if(t&1&&(r(0,"section",3)(1,"div",4)(2,"h2"),m(3),c(4,"transloco"),s(),r(5,"button",5),b("click",function(){return i.add.emit()}),r(6,"span"),m(7),c(8,"transloco"),s()()(),r(9,"div",6)(10,"app-table-menu",7)(11,"div",8),T(12,wp,4,6,"ng-template",null,0,I),s()()(),r(14,"app-table",9,1)(16,"div",10),T(17,kp,4,6,"ng-template",null,2,I),s(),r(19,"div",11),T(20,Rp,2,1,"ng-template",null,2,I),s(),r(22,"div",12),T(23,Up,2,1,"ng-template",null,2,I),s()(),C(25,Fp,5,3,"div",13),s()),t&2){let a=N(15);o(3),_(p(4,6,"user_management.groups.title")),o(4),_(p(8,8,"licenses.add_users_or_groups")),o(3),u("appTable",a),o(4),u("items",i.groups),o(5),u("sortable",!0),o(6),v(i.groups.length===0?25:-1)}},dependencies:[V,Ae,X,q,he,Oe,D,H,P],encapsulation:2})}}return n})();function Pp(n,l){if(n&1){let e=E();r(0,"button",14),c(1,"transloco"),c(2,"transloco"),b("click",function(){y(e);let i=d(),a=N(15);return S(i.bulkRemoveUsers.emit(a.selectedRows))}),g(3,"app-icon",15),s()}n&2&&(u("ngbTooltip",p(1,2,"licenses.detail.remove_users")),k("aria-label",p(2,4,"licenses.detail.remove_users")))}function Lp(n,l){if(n&1){let e=E();r(0,"button",16),c(1,"transloco"),c(2,"transloco"),b("click",function(){let i=y(e).item,a=d();return S(a.removeUser.emit(i.userId))}),g(3,"app-icon",17),s()}n&2&&(u("ngbTooltip",p(1,2,"user_management.unlink")),k("aria-label",p(2,4,"user_management.unlink")))}function Ap(n,l){if(n&1&&(r(0,"span",18),m(1),s()),n&2){let e=l.item;o(),vt("",e.surname,", ",e.forename)}}function Op(n,l){if(n&1&&(r(0,"span",19),m(1),s()),n&2){let e=l.item;o(),_(e.username)}}function Dp(n,l){n&1&&(r(0,"div",13),g(1,"app-icon",20),r(2,"p",21),m(3),c(4,"transloco"),s()()),n&2&&(o(3),_(p(4,1,"user_management.users.no_users_assigned")))}var xa=(()=>{class n{constructor(){this.addUser=new _e,this.bulkRemoveUsers=new _e,this.removeUser=new _e}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275cmp=R({type:n,selectors:[["app-add-users"]],inputs:{users:"users"},outputs:{addUser:"addUser",bulkRemoveUsers:"bulkRemoveUsers",removeUser:"removeUser"},decls:26,vars:10,consts:[["menuAnimatedButtons",""],["userMembersTable",""],["tableCell",""],["data-cy","userList",1,"users"],[1,"sub-header-actions"],["data-cy","addUsers","type","button",1,"btn-primary-outline",3,"click"],[1,"container-menu-pagination"],[3,"appTable"],["menu",""],["data-cy","table","id","license-user-table",3,"items"],["styleClasses","button-column","tableColumn",""],["columnText","common.name","tableColumn","",3,"sortable"],["columnText","user_management.users.username","tableColumn",""],[1,"no-content"],["data-cy","iconUnlinkUsers","type","button",1,"btn-menu-animated",3,"click","ngbTooltip"],["name","cross"],["type","button",1,"btn-icon",3,"click","ngbTooltip"],["data-cy","iconUnlinkUser","name","cross"],["data-cy","name"],["data-cy","username"],["data-cy","iconNoUsers","name","user-empty-large","sprite","icons-large",1,"icon-inactive"],["data-cy","textNoUsers"]],template:function(t,i){if(t&1&&(r(0,"section",3)(1,"div",4)(2,"h2"),m(3),c(4,"transloco"),s(),r(5,"button",5),b("click",function(){return i.addUser.emit()}),r(6,"span"),m(7),c(8,"transloco"),s()()(),r(9,"div",6)(10,"app-table-menu",7)(11,"div",8),T(12,Pp,4,6,"ng-template",null,0,I),s()()(),r(14,"app-table",9,1)(16,"div",10),T(17,Lp,4,6,"ng-template",null,2,I),s(),r(19,"div",11),T(20,Ap,2,2,"ng-template",null,2,I),s(),r(22,"div",12),T(23,Op,2,1,"ng-template",null,2,I),s()(),C(25,Dp,5,3,"div",13),s()),t&2){let a=N(15);o(3),_(p(4,6,"user_management.user")),o(4),_(p(8,8,"licenses.add_users_or_groups")),o(3),u("appTable",a),o(4),u("items",i.users),o(5),u("sortable",!0),o(6),v((i.users==null?null:i.users.length)===0?25:-1)}},dependencies:[Ae,V,X,q,he,Oe,D,H,P],encapsulation:2})}}return n})();var Vp=(n,l)=>l.username;function Np(n,l){n&1&&g(0,"app-spinner")}function Gp(n,l){if(n&1){let e=E();r(0,"div",21)(1,"app-checkbox",22),Ge("ngModelChange",function(i){let a=y(e).$implicit;return Ne(a.isSelected,i)||(a.isSelected=i),S(i)}),b("ngModelChange",function(i){let a=y(e).$implicit,f=d(2);return S(f.onSelectMemberCandidateChange(i,a,void 0))}),s()()}if(n&2){let e=l.$implicit;o(),u("label",e.surname+", "+e.forename+" ("+e.name+")"),Ve("ngModel",e.isSelected)}}function Bp(n,l){if(n&1&&(r(0,"li"),m(1),s()),n&2){let e=l.$implicit;
1o(),Gn("",e.surname,", ",e.forename," (",e.username,")")}}function $p(n,l){n&1&&ye(0,Bp,2,3,"li",null,Vp),n&2&&Se(l)}function qp(n,l){if(n&1&&(r(0,"ul",25),C(1,$p,2,0),c(2,"usersInGroup"),c(3,"async"),s()),n&2){let e,t=d().$implicit;o(),v((e=p(3,3,p(2,1,t.groupId)))?1:-1,e)}}function jp(n,l){if(n&1){let e=E();ht(0),r(1,"div",21)(2,"app-icon",23),b("click",function(){let i=y(e).$implicit,a=d(2);return S(a.onCollapsibleCandidateSwitch(i.groupId))})("keydown.enter",function(){let i=y(e).$implicit,a=d(2);return S(a.onCollapsibleCandidateSwitch(i.groupId))})("keydown.space",function(){let i=y(e).$implicit,a=d(2);return S(a.onCollapsibleCandidateSwitch(i.groupId))}),s(),r(3,"app-checkbox",24),Ge("ngModelChange",function(i){let a=y(e).$implicit;return Ne(a.isSelected,i)||(a.isSelected=i),S(i)}),b("ngModelChange",function(i){let a=y(e).$implicit,f=d(2);return S(f.onSelectMemberCandidateChange(i,void 0,a))}),s()(),C(4,qp,4,5,"ul",25),gt()}if(n&2){let e=l.$implicit,t=d(2);o(2),fe("without-users",e.userCount===0),u("direction",e.userCount===0?"right":t.clickedGroupId===e.groupId&&e.userCount>0?"down":"right"),o(),u("label",e.name),Ve("ngModel",e.isSelected),o(),v(t.clickedGroupId===e.groupId&&e.userCount>0?4:-1)}}function Hp(n,l){if(n&1&&(r(0,"span"),m(1),s()),n&2){let e=d().item;o(),Gn("",e.surname,", ",e.forename," (",e.name,")")}}function zp(n,l){if(n&1&&(r(0,"span"),m(1),s()),n&2){let e=d().item;o(),_(e.name)}}function Wp(n,l){if(n&1&&(r(0,"div",26),g(1,"app-icon",27),C(2,Hp,2,3,"span"),C(3,zp,2,1,"span"),s()),n&2){let e=l.item;o(),u("name",e.isGroup?"group":"user"),o(),v(e.isGroup?-1:2),o(),v(e.isGroup?3:-1)}}function Qp(n,l){if(n&1){let e=E();r(0,"button",28),c(1,"transloco"),c(2,"transloco"),b("click",function(){let i=y(e).item,a=d(2);return S(a.removeUserOrGroup(i))}),g(3,"app-icon",29),s()}n&2&&(u("ngbTooltip",p(1,2,"common.remove")),k("aria-label",p(2,4,"common.remove")))}function Kp(n,l){if(n&1){let e=E();r(0,"div",2)(1,"div",4)(2,"div")(3,"label",5),m(4),c(5,"transloco"),s(),r(6,"input",6),c(7,"transloco"),Ge("ngModelChange",function(i){y(e);let a=d();return Ne(a.searchInputUser,i)||(a.searchInputUser=i),S(i)}),b("ngModelChange",function(i){y(e);let a=d();return S(a.onChangeSearchUser(i))}),s(),r(8,"div",7)(9,"cdk-virtual-scroll-viewport",8),b("scrolledIndexChange",function(){y(e);let i=d();return S(i.onUserScrollChanged())}),T(10,Gp,2,2,"div",9),s(),r(11,"button",10),c(12,"transloco"),c(13,"transloco"),b("click",function(){y(e);let i=d();return S(i.onApplyMembers())}),g(14,"app-icon",11),s()()(),r(15,"div")(16,"label",12),m(17),c(18,"transloco"),s(),r(19,"input",13),c(20,"transloco"),Ge("ngModelChange",function(i){y(e);let a=d();return Ne(a.searchInputGroup,i)||(a.searchInputGroup=i),S(i)}),b("ngModelChange",function(i){y(e);let a=d();return S(a.onChangeSearchGroup(i))}),s(),r(21,"div",7)(22,"cdk-virtual-scroll-viewport",14)(23,"div"),T(24,jp,5,6,"ng-container",15),s()(),r(25,"button",10),c(26,"transloco"),c(27,"transloco"),b("click",function(){y(e);let i=d();return S(i.onApplyMembers())}),g(28,"app-icon",16),s()()()(),r(29,"div",17)(30,"app-table",18),b("stateChange",function(i){y(e);let a=d();return S(a.onSortChange(i))}),r(31,"div",19),T(32,Wp,4,3,"ng-template",null,0,I),s(),r(34,"div",20),T(35,Qp,4,6,"ng-template",null,0,I),s()()()()}if(n&2){let e=d();o(4),_(p(5,16,"user_management.user")),o(2),u("appAutoFocus",!0)("placeholder",p(7,18,"user_management.search_users")),Ve("ngModel",e.searchInputUser),o(4),u("cdkVirtualForOf",e.displayUsers),o(),u("ngbTooltip",p(12,20,"user_management.groups.add_user")),k("aria-label",p(13,22,"user_management.groups.add_user")),o(6),_(p(18,24,"user_management.groups.title")),o(2),u("placeholder",p(20,26,"user_management.search_groups")),Ve("ngModel",e.searchInputGroup),o(5),u("cdkVirtualForOf",e.displayGroups),o(),u("ngbTooltip",p(26,28,"user_management.users.add_group")),k("aria-label",p(27,30,"user_management.users.add_group")),o(5),u("hasCheckboxColumn",!1)("items",e.licenseMembers),o(4),u("columnWidth",50)}}var Ta=(()=>{class n{constructor(){this.modalService=h(B),this._userService=h(we),this._groupService=h(pt),this.isPending=!1,this.usersIsPending=!1,this.groupsIsPending=!1,this.groupMembersArePending=!1,this.displayUsers=[],this.displayGroups=[],this.candidateGroupMembers=[],this.licenseMemberGroupMembers=[],this.licenseMemberCandidates=[],this.licenseMembers=[],this.licenseMemberUserCandidates=[],this.licenseMemberUsers=[],this._allDisplayGroups=[],this._defaultSortField="surname",this._defaultSortDirection="asc",this._lastUserPage=0,this._usersLoading=!1,this._isLastUserPage=!1}ngOnInit(){this.isPending=!0,this.usersIsPending=!0,this.groupsIsPending=!0,this._userService.changeSort(this._defaultSortField,this._defaultSortDirection),this._usersSubscription=this._userService.requestUsers(this._lastUserPage,15,!0).subscribe(e=>{this.displayUsers=e?.map(t=>({id:t.id,name:t.username,forename:t.forename,surname:t.surname,isSelected:this.userOrGroupIsMember(t.id)})),this._lastUserPage++,this.isPending=!1,this.usersIsPending=!1}),this._groupsSubscription=this._groupService.getAllGroupsForTenant().subscribe(e=>{this._allDisplayGroups=e?.map(t=>({groupId:t.groupId,name:t.name,isSelected:this.userOrGroupIsMember(t.groupId),userCount:t.userCount})),this.displayGroups=this._allDisplayGroups,this.groupsIsPending=!1})}ngOnDestroy(){this._usersSubscription&&this._usersSubscription.unsubscribe(),this._groupsSubscription&&this._groupsSubscription.unsubscribe(),this._groupMembersSubscription&&this._groupMembersSubscription.unsubscribe()}onUserScrollChanged(){this._usersLoading||this._isLastUserPage||this.virtualScroll.measureScrollOffset("bottom")<110&&(this._usersLoading=!0,this._userService.filterFullUsers(this.searchInputUser,this._lastUserPage,15).subscribe(e=>{e.length>0?(this._lastUserPage++,this.displayUsers=this.displayUsers.concat(e.map(t=>({id:t.id,name:t.username,forename:t.forename,surname:t.surname,isSelected:this.userOrGroupIsMember(t.id)})))):this._isLastUserPage=!0,this._usersLoading=!1}))}onChangeSearchUser(e){this._lastInputTimeStamp=Date.now(),setTimeout(()=>{Date.now()-this._lastInputTimeStamp<500||(this._lastUserPage=0,this._userService.filterFullUsers(e,this._lastUserPage,15).subscribe(t=>{this.displayUsers=t?.map(i=>({id:i.id,name:i.username,forename:i.forename,surname:i.surname,isSelected:this.userOrGroupIsMember(i.id)})),this._lastUserPage++,this._isLastUserPage=!1}))},500)}onChangeSearchGroup(e){this.displayGroups=this._allDisplayGroups.filter(t=>t.name.toLocaleLowerCase().includes(e.toLocaleLowerCase()))}userOrGroupIsMember(e){return this.licenseMembers.findIndex(t=>t.id===e)>-1}onSelectMemberCandidateChange(e,t,i){t&&(e?(this.licenseMemberCandidates.push({name:t.forename+" "+t.surname,id:t.
1id,isGroup:!1}),this.licenseMemberUserCandidates.push(t)):(this.licenseMemberCandidates=this.licenseMemberCandidates.filter(a=>a.id!==t.id),this.licenseMemberUserCandidates=this.licenseMemberUserCandidates.filter(a=>a.id!==t.id))),i&&(e?this.licenseMemberCandidates.push({name:i.name,id:i.groupId,isGroup:!0}):this.licenseMemberCandidates=this.licenseMemberCandidates.filter(a=>a.id!==i.groupId))}removeUserOrGroup(e){this.licenseMemberCandidates=this.licenseMemberCandidates.filter(t=>t.id!==e.id),this.licenseMemberUserCandidates=this.licenseMemberUserCandidates.filter(t=>t.id!==e.id),this.onApplyMembers(),this.deselectDisplayedUserOrGroup(e),e.isGroup||(this.licenseMemberUsers=this.licenseMemberUsers.filter(t=>t.id!==e.id))}onApplyMembers(){let e=this.licenseMemberCandidates.filter(t=>t.isGroup);this.licenseMembers=[...this.licenseMemberUserCandidates,...e],this.licenseMemberUsers=[...this.licenseMemberUserCandidates]}onCollapsibleCandidateSwitch(e){this.groupMembersArePending=!0,this.clickedGroupId=this.clickedGroupId===e?"":e,this.clickedGroupId!==""&&(this._groupMembersSubscription=this._groupService.getGroupWithUsers(e).subscribe(t=>{this.candidateGroupMembers=t.users,this.groupMembersArePending=!1}))}onCollapsibleMembersSwitch(e){this.groupMembersArePending=!0,this.clickedGroupId=this.clickedGroupId===e?"":e,this.clickedGroupId!==""&&(this._groupMembersSubscription=this._groupService.getGroupWithUsers(e).subscribe(t=>{this.licenseMemberGroupMembers=t.users,this.groupMembersArePending=!1}))}groupWasClickedBefore(e){return this.clickedGroupId?this.clickedGroupId===e:!1}onSortChange(e){e.changeType===Ot.SORT&&(this.licenseMembers.sort((t,i)=>t.name.localeCompare(i.name)),e.sortAsc===!1&&this.licenseMembers.reverse())}onPassMembers(){let e=[];this.licenseMembers.forEach(t=>{let i=this._allDisplayGroups.find(a=>a.groupId===t.id);i&&e.push(i)}),this.modalService.close({passedUsers:this.licenseMemberUsers,passedGroups:e})}deselectDisplayedUserOrGroup(e){if(e.isGroup){let t=this.displayGroups.find(i=>i.groupId===e.id);t&&(t.isSelected=!1)}else{let t=this.displayUsers.find(i=>i.id===e.id);t&&(t.isSelected=!1)}}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275cmp=R({type:n,selectors:[["app-add-member-modal"]],viewQuery:function(t,i){if(t&1&&K(Je,5),t&2){let a;
1z(a=W())&&(i.virtualScroll=a.first)}},decls:4,vars:2,consts:[["tableCell",""],["modalTitle","licenses.add_users_or_groups"],[1,"modal-body","scroll-box"],[3,"cancelButtonClick","saveButtonClick"],[1,"container-users"],["for","search-users"],["id","search-users","type","text","data-cy","searchUser",3,"ngModelChange","appAutoFocus","placeholder","ngModel"],[1,"list-wrapper"],["itemSize","23",1,"list-container",3,"scrolledIndexChange"],["class","list-item",4,"cdkVirtualFor","cdkVirtualForOf"],["type","button",1,"btn-add",3,"click","ngbTooltip"],["name","arrow","direction","right","data-cy","addUsers"],["for","search-groups"],["id","search-groups","type","text","data-cy","searchGroup",3,"ngModelChange","placeholder","ngModel"],["itemSize","30",1,"list-container"],[4,"cdkVirtualFor","cdkVirtualForOf"],["name","arrow","direction","right","data-cy","addGroups"],[1,"user-group-table"],["data-cy","table",3,"stateChange","hasCheckboxColumn","items"],["tableColumn","","columnText","user_management.user_group","itemProperty","name"],["tableColumn","","itemProperty","remove",3,"columnWidth"],[1,"list-item"],[3,"ngModelChange","label","ngModel"],["name","chevron","tabindex","0",3,"click","keydown.enter","keydown.space","direction"],[1,"member-checkbox",3,"ngModelChange","label","ngModel"],[1,"expanded"],[1,"table-icons"],["data-cy","iconUserOrGroup",1,"icon-clickable-dark",3,"name"],["type","button",1,"btn-icon",3,"click","ngbTooltip"],["name","cross","data-cy","removeUserOrGroup"]],template:function(t,i){t&1&&(C(0,Np,1,0,"app-spinner"),g(1,"app-modal-header",1),C(2,Kp,37,32,"div",2),r(3,"app-modal-footer",3),b("cancelButtonClick",function(){return i.modalService.dismiss()})("saveButtonClick",function(){return i.onPassMembers()}),s()),t&2&&(v(i.isPending?0:-1),o(2),v(i.isPending?-1:2))},dependencies:[Be,Je,Ie,Le,ft,Y,$,at,V,Fe,Pe,X,Qt,yt,Pt,q,Xe,he,D,H,bt,P,Ho],styles:[".modal-body[_ngcontent-%COMP%]{flex-direction:row;gap:calc(var(--spacer) * 2)}.modal-body[_ngcontent-%COMP%] .container-users[_ngcontent-%COMP%]{display:flex;flex:1;flex-direction:column;gap:var(--spacer)}.modal-body[_ngcontent-%COMP%] .container-users[_ngcontent-%COMP%] .list-wrapper[_ngcontent-%COMP%]{border:var(--border);background-color:var(--color-gray-lighter);margin-block:calc(var(--spacer) / 2);padding:calc(var(--spacer) / 2);position:relative}.modal-body[_ngcontent-%COMP%] .container-users[_ngcontent-%COMP%] .list-wrapper[_ngcontent-%COMP%] .list-container[_ngcontent-%COMP%]{height:200px;overflow:auto}.modal-body[_ngcontent-%COMP%] .container-users[_ngcontent-%COMP%] .list-wrapper[_ngcontent-%COMP%] .list-container[_ngcontent-%COMP%] .expanded[_ngcontent-%COMP%]{margin-bottom:calc(var(--spacer) / 2);margin-left:calc(var(--spacer) * 2)}.modal-body[_ngcontent-%COMP%] .container-users[_ngcontent-%COMP%] .list-wrapper[_ngcontent-%COMP%] .list-container[_ngcontent-%COMP%] .list-item[_ngcontent-%COMP%]{display:flex;align-items:center;min-height:2rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal-body[_ngcontent-%COMP%] .container-users[_ngcontent-%COMP%] .list-wrapper[_ngcontent-%COMP%] .list-container[_ngcontent-%COMP%] .list-item[_ngcontent-%COMP%] .without-users[_ngcontent-%COMP%]{margin-left:2px}.modal-body[_ngcontent-%COMP%] .container-users[_ngcontent-%COMP%] .list-wrapper[_ngcontent-%COMP%] .btn-add[_ngcontent-%COMP%]{color:var(--color-background);position:absolute;right:-2.5rem;height:2.5rem;width:2.5rem;top:50%;transform:translate(-50%,-50%);background-color:var(--color-primary);border:none;border-radius:var(--border-radius)}.modal-body[_ngcontent-%COMP%] .user-group-table[_ngcontent-%COMP%]{flex:1.5;margin-top:1.8rem}.scroll-box[_ngcontent-%COMP%]{height:75vh}"]})}}return n})();function Yp(n,l){n&1&&(r(0,"h2"),m(1),c(2,"transloco"),s()),n&2&&(o(),_(p(2,1,"orders.decentral.edit")))}function Jp(n,l){n&1&&(r(0,"h2"),m(1),c(2,"transloco"),s()),n&2&&(o(),_(p(2,1,"orders.decentral.create")))}var Qn=(()=>{class n{constructor(){this._decentralGroupService=h(kn),this._feedbackService=h(oe),this._formBuilder=h(Ce),this._modalService=h(B),this._route=h(me),this._router=h(de),this._transloco=h(ge),this._userService=h(we),this.added=new _e,this.users=[],this.availableOrderManagers=[],this.groups=[],this._managerKey="manager",this._availableOrderManagersUsers=[]}onRemoveGroup(e){this.groups=this.groups.filter(t=>t.groupId!==e)}onBulkRemoveGroups(e){let t=e.map(i=>i.item);this.groups=this.groups.filter(i=>!t.includes(i))}onRemoveUser(e){this.users=this.users.filter(t=>t.userId!==e)}onRemoveUsers(e){let t=e.map(i=>i.item);this.users=this.users.filter(i=>!t.includes(i))}ngOnInit(){this.form=this._formBuilder.group({manager:[]}),this.id=this._route.snapshot.paramMap.get("id"),this.id?(this._userService.requestOrderManagersForGroup(this.id).pipe(be(e=>{this._availableOrderManagersUsers=e,this.availableOrderManagers=this.sortOrderManagers(e)})).subscribe(),this.patchValues(this.id)):this._userService.requestAvailableOrderManagers().pipe(be(e=>{this._availableOrderManagersUsers=e,this.availableOrderManagers=this.sortOrderManagers(e)})).subscribe()}onAddGroup(){this.onAddUser()}onAddUser(){let e=this._modalService.open(Ta,{windowClass:"modal-extra-large"}),t=[...this.users.map(a=>({name:a.username,isGroup:!1,id:a.userId,forename:a.forename,surname:a.surname})),...this.groups.map(a=>({name:a.name,isGroup:!0,id:a.groupId}))],i=this.users.map(a=>({id:a.userId,name:a.username,forename:a.forename,surname:a.surname,isSelected:!0}));e.componentInstance.licenseMemberCandidates=[...t],e.componentInstance.licenseMembers=[...t],e.componentInstance.licenseMemberUsers=[...i],e.componentInstance.licenseMemberUserCandidates=[...i],e.componentInstance.usersToPass=[...this.users.map(a=>({id:a.userId,name:a.username,forename:a.forename,surname:a.surname}))],e.componentInstance.groupsToPass=[...this.groups.map(a=>({groupId:a.groupId,name:a.name,userCount:a.userCount}))],e.result.then(a=>{this.users=a.passedUsers.map(f=>({userId:f.id,username:f.name,forename:f.forename,surname:f.surname})),this.groups=a.passedGroups})}
1onAbort(){if(this.id){this._router.navigate(["../../"],{relativeTo:this._route});return}this._router.navigate(["../"],{relativeTo:this._route}).then(()=>{this.users=[],this.groups=[]})}onSave(){let e={id:this.id?this.id:null,orderManagerId:this.form.get(this._managerKey).value,userAccountIds:this.users.map(i=>i.userId),groupIds:this.groups.map(i=>i.groupId)};if(this.form.get(this._managerKey).addValidators(G.required),this.form.updateValueAndValidity(),this.form.markAllAsTouched(),!e.orderManagerId){this._feedbackService.showErrorModal(this._transloco.translate("orders.decentral.error_missing_order_manager"));return}this.form.valid&&this._userService.putDecentralGroup(e).subscribe({next:i=>{if(this._feedbackService.showSuccessModal("orders.decentral.save_success"),this._decentralGroupService.updateDecentralGroup({id:i,orderManager:this._availableOrderManagersUsers.filter(a=>a.id===this.form.get(this._managerKey).value)[0],users:this.users,groups:this.groups}),this.id){this._router.navigate(["../../"],{relativeTo:this._route});return}this._router.navigate(["../"],{relativeTo:this._route})},error:i=>{console.error(i),this._feedbackService.showErrorModal()}})}sortOrderManagers(e){return e.sort((t,i)=>t.name.localeCompare(i.name)).map(t=>({text:t.name+" ("+t.username+")",value:t.id}))}patchValues(e){this._decentralGroupService.getDecentralGroup(e).pipe(be(t=>{this.groups=t.groups,this.users=t.users,this.form.get(this._managerKey).setValue(t.orderManager.id)})).subscribe()}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275cmp=R({type:n,selectors:[["app-decentral-user-management"]],outputs:{added:"added"},decls:17,vars:13,consts:[[1,"detail-container",3,"ngSubmit","formGroup"],[1,"header"],[1,"buttons"],["type","submit","data-cy","cancel",1,"btn-primary-outline",3,"click"],["type","submit","data-cy","save",1,"btn-primary"],[1,"order-manager"],["formControlName","manager","label","orders.decentral.manager","data-cy","orderManager",3,"isMandatory","items","showUnselectItem"],[3,"addUser","bulkRemoveUsers","removeUser","users"],[3,"add","bulkRemove","remove","groups"]],template:function(t,i){t&1&&(r(0,"form",0),b("ngSubmit",function(){return i.onSave()}),r(1,"div",1),C(2,Yp,3,3,"h2")(3,Jp,3,3,"h2"),r(4,"div",2)(5,"button",3),b("click",function(){return i.onAbort()}),r(6,"span"),m(7),c(8,"transloco"),s()(),r(9,"button",4)(10,"span"),m(11),c(12,"transloco"),s()()()(),r(13,"div",5),g(14,"app-select",6),s(),r(15,"app-add-users",7),b("addUser",function(){return i.onAddUser()})("bulkRemoveUsers",function(f){return i.onRemoveUsers(f)})("removeUser",function(f){return i.onRemoveUser(f)}),s(),r(16,"app-add-groups",8),b("add",function(){return i.onAddGroup()})("bulkRemove",function(f){return i.onBulkRemoveGroups(f)})("remove",function(f){return i.onRemoveGroup(f)}),s()()),t&2&&(u("formGroup",i.form),o(2),v(i.id?2:3),o(5),_(p(8,9,"common.cancel")),o(4),_(p(12,11,"common.save")),o(3),u("isMandatory",!0)("items",i.availableOrderManagers)("showUnselectItem",!0),o(),u("users",i.users),o(),u("groups",i.groups))},dependencies:[q,ne,$,J,te,ee,Sa,xa,mt,P],styles:[".order-manager[_ngcontent-%COMP%]{display:flex}.order-manager[_ngcontent-%COMP%] app-select[_ngcontent-%COMP%]{width:fit-content;min-width:20rem}"]})}}return n})();var Ma=(()=>{class n{transform(e){return this.getNames(e)}getUserNames(e){return e?e.map(t=>({text:`${t.surname}, ${t.forename} (${t.username})`,icon:"user"}))??[]:[]}getGroupNames(e){return e?e.map(t=>({text:t.name,icon:"group"}))??[]:[]}getNames(e){return[...this.getGroupNames(e.groups),...this.getUserNames(e.users)]}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275pipe=bi({name:"getNamesWithIcons",type:n,pure:!0})}}return n})();function Xp(n,l){if(n&1&&(r(0,"div",2),g(1,"app-icon",4),r(2,"span"),m(3),s()()),n&2){let e=l.$implicit;o(),u("name",Zi(e.icon)),o(2),_(e.text)}}function Zp(n,l){if(n&1&&g(0,"div",5),n&2){let e=d();fe("selected",e.isRowSelected)}}function em(n,l){if(n&1&&(r(0,"ul")(1,"li"),m(2),s()()),n&2){let e=l.$implicit;o(2),_(e.text)}}function tm(n,l){if(n&1&&ye(0,em,3,1,"ul",null,ke),n&2){let e=d();Se(e.fieldValues)}}var Ia=(()=>{class n{constructor(){this.hasGradient=!1,this._fieldValues=[],this.count=3,this._max=0,this.isRowSelected=!1,this.showTooltip=!0}set fieldValues(e){this._fieldValues=e,this.calcShowGradient()}get fieldValues(){return this._fieldValues}ngOnInit(){this.calcShowGradient()}calcShowGradient(){let e=this._fieldValues?this._fieldValues.length:0;this._max=Math.min(e,this.count),this.isGradient=this.hasGradient&&this._max===this.count}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275cmp=R({type:n,selectors:[["app-box-list-with-icon"]],inputs:{hasGradient:"hasGradient",count:"count",fieldValues:"fieldValues",isRowSelected:"isRowSelected",showTooltip:"showTooltip"},decls:7,vars:6,consts:[["tip",""],["placement","bottom top","container","body",1,"container-list",3,"ngbTooltip"],[1,"list-item","ellipsicated"],[1,"list-item-gradient",3,"selected"],[3,"name"],[1,"list-item-gradient"]],template:function(t,i){if(t&1&&(r(0,"div",1),ye(1,Xp,4,3,"div",2,ke),c(3,"slice"),C(4,Zp,1,2,"div",3),s(),T(5,tm,2,0,"ng-template",null,0,I)),t&2){let a=N(6);u("ngbTooltip",i.showTooltip?a:""),o(),Se(en(3,2,i.fieldValues,0,i.count)),o(3),v(i.isGradient?4:-1)}},dependencies:[Le,V,X,tn],styles:["[_nghost-%COMP%]{display:inline-block}.container-list[_ngcontent-%COMP%]{display:flex;gap:calc(var(--spacer) / 4);flex-wrap:wrap;position:relative}.container-list[_ngcontent-%COMP%] .list-item[_ngcontent-%COMP%]{align-items:center;background-color:var(--color-gray-lighter);border-radius:var(--border-radius);
1display:flex;height:2.5rem;padding-inline:calc(var(--spacer) / 2);white-space:nowrap}.container-list[_ngcontent-%COMP%] .list-item[_ngcontent-%COMP%] app-icon[_ngcontent-%COMP%]{padding-right:calc(var(--spacer) / 2)}.container-list[_ngcontent-%COMP%] .list-item-gradient[_ngcontent-%COMP%]{background:linear-gradient(to right,transparent,var(--color-background));height:100%;position:absolute;right:0;width:5rem}.container-list[_ngcontent-%COMP%] .list-item-gradient[_ngcontent-%COMP%]:hover{background:linear-gradient(to right,transparent,var(--color-gray-lighter))}ul[_ngcontent-%COMP%]{flex-direction:row;padding:0}ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{list-style:none;padding-block:calc(var(--spacer) / 2)}"]})}}return n})();function im(n,l){if(n&1){let e=E();r(0,"button",12),c(1,"transloco"),c(2,"transloco"),b("click",function(){let i=y(e).item,a=d();return S(a.onRemove(i.id))}),g(3,"app-icon",13),s()}n&2&&(u("ngbTooltip",p(1,2,"common.remove")),k("aria-label",p(2,4,"common.remove")))}function nm(n,l){if(n&1){let e=E();r(0,"div",14),b("click",function(){let i=y(e).item,a=d();return S(a.onEdit(i.id))})("keydown.enter",function(){let i=y(e).item,a=d();return S(a.onEdit(i.id))}),g(1,"app-icon",15),r(2,"span",16),m(3),s()()}if(n&2){let e=l.item;o(3),vt("",e.orderManager==null?null:e.orderManager.name," (",e.orderManager==null?null:e.orderManager.username,")")}}function om(n,l){if(n&1&&(r(0,"div",17)(1,"span",18),m(2),s()()),n&2){let e=l.item;o(2),_(e.orderManager==null?null:e.orderManager.roles[0].name)}}function am(n,l){if(n&1&&(r(0,"div",19),g(1,"app-box-list-with-icon",20),c(2,"getNamesWithIcons"),s()),n&2){let e=l.item;o(),u("fieldValues",p(2,1,e))}}function rm(n,l){n&1&&(r(0,"div",11),g(1,"app-icon",21),r(2,"p",22),m(3),c(4,"transloco"),s()()),n&2&&(o(3),_(p(4,1,"user_management.users.no_users_assigned")))}var Ea=(()=>{class n{constructor(){this._decentralGroupService=h(kn),this._feedbackService=h(oe),this._route=h(me),this._router=h(de),this._userService=h(we),this.managementGroups=[]}ngOnInit(){this._decentralGroupService.getDecentralGroups().subscribe(e=>{e.forEach(t=>{t.orderManager.roles=this.filterManagerRoles(t.orderManager.roles)}),this.managementGroups=e})}onEdit(e){this._router.navigate(["managementgroup/"+e],{relativeTo:this._route})}onRemove(e){this._userService.deleteManagementGroup(e).subscribe({next:t=>{this.managementGroups=this.managementGroups.filter(i=>i.id!==e),this._decentralGroupService.removeGroup(e)},error:t=>{console.error(t),this._feedbackService.showErrorModal()}})}onAddEntries(){this._router.navigate(["managementgroup"],{relativeTo:this._route})}filterManagerRoles(e){return e.filter(t=>t.name===je.ADMIN||t.name===je.ORDER_MANAGER)}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275cmp=R({type:n,selectors:[["app-decentral-order-management"]],decls:25,vars:15,consts:[["tableCell",""],[1,"header"],[1,"title"],["type","button","data-cy","addOrderAssignment",1,"btn-primary-outline",3,"click"],[1,"box-info"],["data-cy","infoBox",1,"box-content"],[3,"hasCheckboxColumn","items"],["styleClasses","button-column","tableColumn",""],["columnText","orders.decentral.manager","itemProperty","read","tableColumn","",3,"sortable"],["columnText","user_management.users.roles","itemProperty","read","tableColumn","",3,"sortable"],["columnText","orders.decentral.can_see","itemProperty","read","tableColumn","",3,"sortable"],[1,"no-content"],["type","button","data-cy","removeAssignment",1,"btn-icon",3,"click","ngbTooltip"],["name","cross"],[1,"table-icons","link",3,"click","keydown.enter"],["name","user","data-cy","iconUserGroup",1,"icon-clickable-dark"],["data-cy","orderManager"],[1,"table-icons"],["data-cy","roles"],["data-cy","isLimitedTo",1,"table-icons"],[3,"fieldValues"],["data-cy","iconNoUsers","name","user-empty-large","sprite","icons-large",1,"icon-inactive"],["data-cy","textNoUsers"]],template:function(t,i){t&1&&(r(0,"div",1)(1,"h2",2),m(2),c(3,"transloco"),s(),r(4,"button",3),b("click",function(){return i.onAddEntries()}),m(5),c(6,"transloco"),s()(),r(7,"div",4)(8,"p",5),m(9),c(10,"transloco"),s()(),r(11,"app-table",6)(12,"div",7),T(13,im,4,6,"ng-template",null,0,I),s(),r(15,"div",8),T(16,nm,4,2,"ng-template",null,0,I),s(),r(18,"div",9),T(19,om,3,1,"ng-template",null,0,I),s(),r(21,"div",10),T(22,am,3,3,"ng-template",null,0,I),s()(),C(24,rm,5,3,"div",11)),t&2&&(o(2),_(p(3,9,"orders.decentral.title")),o(3),M(" ",p(6,11,"orders.decentral.add_entry")," "),o(4),_(p(10,13,"orders.decentral.info")),o(2),u("hasCheckboxColumn",!1)("items",i.managementGroups),o(4),u("sortable",!0),o(3),u("sortable",!0),o(3),u("sortable",!0),o(3),v(!i.managementGroups||(i.managementGroups==null?null:i.managementGroups.length)===0?24:-1))},dependencies:[Ia,V,X,q,he,D,H,Ma,P],encapsulation:2})}}return n})();function sm(n,l){n&1&&(r(0,"span"),m(1),c(2,"transloco"),s()),n&2&&(o(),_(p(2,1,"common.save")))}function lm(n,l){n&1&&g(0,"app-icon",5)}function cm(n,l){if(n&1&&g(0,"app-checkbox",7),n&2){let e=d();u("formControl",e.orderReleaseEnabledControl)}}function pm(n,l){n&1&&(r(0,"div",8)(1,"p",9),m(2),c(3,"transloco"),s(),r(4,"p",10),m(5),c(6,"transloco"),s()()),n&2&&(o(2),M(" ",p(3,2,"orders.deactivated_orders_info_title")," "),o(3),M(" ",p(6,4,"orders.deactivated_orders_info_text")," "))}function mm(n,l){n&1&&(r(0,"section"),g(1,"app-decentral-order-management",11),s())}var wa=(()=>{class n{constructor(){this._authService=h(ot),this._feedbackService=h(oe),this._modalService=h(B),this._tenantStateService=h(Ft),this._orderManagementService=h(Po),this._fb=h(Ce),this.orderManagementDisabledControl
1=this._fb.control(!1),this.orderReleaseEnabledControl=this._fb.control(!1),this.orderSettingsForm=this._fb.group({orderManagementDisabled:this.orderManagementDisabledControl,orderReleaseEnabled:this.orderReleaseEnabledControl}),this.isPending=!1}get isNautosProActive(){return this._tenantStateService.isNautosProActive()}ngOnInit(){this.loadSettings().subscribe(e=>{this.orderReleaseEnabledControl.patchValue(e.isOrderReleaseEnabled),this.orderManagementDisabledControl.patchValue(e.isOrderManagementDisabled)}),this.orderManagementDisabledControl.valueChanges.subscribe(e=>{e?this.orderReleaseEnabledControl.disable():this.orderReleaseEnabledControl.enable()})}onSave(){if(!this.orderSettingsForm.dirty){this._feedbackService.showSuccessModal("orders.deactivate_orders_saved_successfully");return}if(this.isPending=!0,this.orderManagementDisabledControl.dirty&&this.orderManagementDisabledControl.value)this.confirmedUpdate("orders.deactivate_orders_title","orders.deactivate_orders_text");else if(this.orderReleaseEnabledControl.dirty&&!this.orderReleaseEnabledControl.value)this.confirmedUpdate("orders.deactivate_orders_release_title","orders.deactivate_orders_release_text");else{this.updateSettings();return}}loadSettings(){return this._tenantStateService.getTenantData(this._authService.userInfo.tenantId).pipe(U(e=>{let t=!e.isOrderManagementEnabled,i=e.isOrderReleaseEnabled;return{isOrderManagementDisabled:t,isOrderReleaseEnabled:i}}))}confirmedUpdate(e,t){let i=this._modalService.open(ae);i.componentInstance.title=e,i.componentInstance.text=t,i.componentInstance.saveButtonText="orders.deactivate",i.result.then(a=>{a.preset?this.updateSettings():(this.isPending=!1,this.orderSettingsForm.markAsPristine())}).catch(()=>{this.isPending=!1,this.orderSettingsForm.markAsPristine()})}updateSettings(){let e=[];
1if(this.orderManagementDisabledControl.dirty&&e.push(this._tenantStateService.updateIsOrderManagementEnabled(!this.orderManagementDisabledControl.value).pipe()),this.orderReleaseEnabledControl.dirty&&e.push(this._orderManagementService.updateReleaseLevelEnabled(this.orderReleaseEnabledControl.value).pipe()),e.length===0){this.isPending=!1,this.orderSettingsForm.markAsPristine();return}Rt(e).pipe(Z(()=>{this.isPending=!1,this.orderSettingsForm.markAsPristine(),this.loadSettings().subscribe({next:t=>{this.orderManagementDisabledControl.patchValue(t.isOrderManagementDisabled),this.orderReleaseEnabledControl.patchValue(t.isOrderReleaseEnabled)}})})).subscribe({next:()=>{this._feedbackService.showSuccessModal("orders.deactivate_orders_saved_successfully")},error:()=>{this._feedbackService.showErrorModal()}})}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275cmp=R({type:n,selectors:[["app-order-management-settings"]],decls:15,vars:9,consts:[[3,"ngSubmit"],[1,"detail-container"],[1,"header"],[1,"buttons"],["type","submit","data-cy","save",1,"btn-primary"],["name","loading-spinner"],["label","orders.deactivate_orders_title","data-cy","deactivateOrders",3,"formControl"],["label","orders.activate_orders_release_title","data-cy","activateOrderRelease",3,"formControl"],["data-cy","alertBox",1,"box-alert"],["data-cy","infoTitle",1,"box-title"],["data-cy","infoText",1,"box-content"],["data-cy","orderAssignments"]],template:function(t,i){t&1&&(r(0,"form",0),b("ngSubmit",function(){return i.isPending?null:i.onSave()}),r(1,"div",1)(2,"div",2)(3,"h2"),m(4),c(5,"transloco"),s(),r(6,"div",3)(7,"button",4),C(8,sm,3,3,"span"),C(9,lm,1,0,"app-icon",5),s()()(),r(10,"section"),g(11,"app-checkbox",6),C(12,cm,1,1,"app-checkbox",7),C(13,pm,7,6,"div",8),s(),C(14,mm,2,0,"section"),s()()),t&2&&(o(4),_(p(5,7,"orders.title")),o(4),v(i.isPending?-1:8),o(),v(i.isPending?9:-1),o(2),u("formControl",i.orderManagementDisabledControl),o(),v(i.isNautosProActive?12:-1),o(),v(i.orderManagementDisabledControl.value&&i.orderManagementDisabledControl.pristine?13:-1),o(),v(i.isNautosProActive?14:-1))},dependencies:[Ie,Ea,V,pe,ne,$,J,Ao,q,Kt,D,P],styles:["section[_ngcontent-%COMP%]{margin-bottom:calc(var(--spacer) * 2)}"]})}}return n})();function dm(n,l){n&1&&(r(0,"span"),m(1),c(2,"transloco"),s()),n&2&&(o(),_(p(2,1,"common.save")))}function um(n,l){n&1&&g(0,"app-icon",6)}var ka=(()=>{class n{constructor(){this._documentAccessService=h(No),this._feedbackService=h(oe),this._formBuilder=h(Ce)}ngOnInit(){this.proxyForm=this._formBuilder.group({encryptDocumentUrl:!1}),this.loadProxySettings()}onSave(){this.isPending=!0,this._documentAccessService.changeProxySettings(this.proxyForm.controls.encryptDocumentUrl.value).pipe(U(e=>{e&&this._feedbackService.showSuccessModal("user_management.proxy_settings_saved_successfully")}),F(()=>(this._feedbackService.showErrorModal(),ue)),Z(()=>this.isPending=!1)).subscribe()}loadProxySettings(){this._documentAccessService.getProxySettings().subscribe(e=>{e&&this.proxyForm.patchValue({encryptDocumentUrl:e.encryptDocumentUrl})})}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275cmp=R({type:n,selectors:[["app-proxy"]],decls:12,vars:6,consts:[["ngForm","ngForm"],[3,"ngSubmit","formGroup"],[1,"detail-container"],[1,"header"],[1,"buttons"],["type","submit","data-cy","save",1,"btn-primary"],["name","loading-spinner"],["label","user_management.sso.settings.proxy","formControlName","encryptDocumentUrl","data-cy","encryptUrl"]],template:function(t,i){t&1&&(r(0,"form",1,0),b("ngSubmit",function(){return i.isPending?null:i.onSave()}),r(2,"div",2)(3,"div",3)(4,"h2"),m(5),c(6,"transloco"),s(),r(7,"div",4)(8,"button",5),C(9,dm,3,3,"span"),C(10,um,1,0,"app-icon",6),s()()(),g(11,"app-checkbox",7),s()()),t&2&&(u("formGroup",i.proxyForm),o(5),_(p(6,4,"user_management.sso.settings.proxy")),o(4),v(i.isPending?-1:9),o(),v(i.isPending?10:-1))},dependencies:[Ie,V,pe,ne,$,J,te,ee,D,P],encapsulation:2})}}return n})();var Ra=(()=>{class n{constructor(){this._httpClient=h(Ue),this._configService=h(Me)}getTargetSystemConfig(){let e=`${this._configService.baseConfig.baseUrl}${this._configService.baseConfig.extension}/documentaccess/reqif/target-system`;return this._httpClient.get(e,{observe:"response"}).pipe(U(t=>se.isAccepted(t.status)?t.body:null),F(()=>O(null)))}createTargetSystemConfig(e){let t=`${this._configService.baseConfig.baseUrl}${this._configService.baseConfig.extension}/documentaccess/reqif/target-system`;return this._httpClient.post(t,e,{observe:"response"}).pipe(U(i=>se.isAccepted(i.status)),F(()=>O(!1)))}updateTargetSystemConfig(e){let t=`${this._configService.baseConfig.baseUrl}${this._configService.baseConfig.extension}/documentaccess/reqif/target-system`;return this._httpClient.put(t,e,{observe:"response"}).pipe(U(i=>se.isAccepted(i.status)),F(()=>O(!1)))}getAllTargetSystemSettings(){let e=`${this._configService.baseConfig.baseUrl}${this._configService.baseConfig.extension}/documentaccess/reqif/target-systems`;return this._httpClient.get(e,{observe:"response"}).pipe(U(t=>se.isAccepted(t.status)?t.body:null),F(()=>O(null)))}getConverterVersion(){let e=`${this._configService.baseConfig.baseUrl}${this._configService.baseConfig.extension}/documentaccess/reqif/converter-version`;return this._httpClient.get(e,{observe:"response"}).pipe(U(t=>se.isAccepted(t.status)?t.body:null),F(()=>O(null)))}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275prov=ce({token:n,factory:n.\u0275fac,providedIn:"root"})}}return n})();function _m(n,l){n&1&&(r(0,"span"),m(1),c(2,"transloco"),s()),n&2&&(o(),_(p(2,1,"common.save")))}function fm(n,l){n&1&&g(0,"app-icon",6)}function hm(n,l){if(n&1&&(r(0,"span"),m(1),s()),n&2){let e=d();o(),M(" (",e.converterReleaseDate,")")}}var Ua=(()=>{class n{constructor(){this._feedbackService=h(oe),this._formBuilder=h(Ce),this._reqifService=h(Ra),this._route=h(me),this._router=h(de),this._uiService=h(St),this.targetSystemSelectOptions=[],this.reqifSettingsForm=this._formBuilder.group({targetSystemId:new j(null)})}ngOnInit(){this.loadConverterVersion(),this.loadAllTargetSystems()}onCancel(){this._router.navigate(["../"],{relativeTo:this._route})}onSaveTargetSystemSettings(){this._uiService.showSpinner(),this.isPending=!0,this._tenantHasTargetSystemConfig?this.updateExistingTargetSystemConfig():this.createNewTargetSystemConfig()}createNewTargetSystemConfig(){this._reqifService.createTargetSystemConfig({targetSystemId:this.reqifSettingsForm.value.targetSystemId}).pipe(be(e=>{e?this._feedbackService.showSuccessModal("user_management.sso.settings.reqif.target_system_config_saved_successfully"):this._feedbackService.showErrorModal("user_management.sso.settings.reqif.target_system_config_saved_successfully")}),Z(()=>
1{this._uiService.hideSpinner(),this.isPending=!1})).subscribe()}updateExistingTargetSystemConfig(){this._reqifService.updateTargetSystemConfig({targetSystemId:this.reqifSettingsForm.value.targetSystemId}).pipe(be(e=>{e?this._feedbackService.showSuccessModal("user_management.sso.settings.reqif.target_system_config_saved_successfully"):this._feedbackService.showErrorModal("user_management.sso.settings.reqif.target_system_config_saved_successfully")}),Z(()=>{this._uiService.hideSpinner(),this.isPending=!1})).subscribe()}loadAllTargetSystems(){this._reqifService.getAllTargetSystemSettings().subscribe(e=>{this.targetSystemSelectOptions=e.map(t=>({text:t.name,value:t.id})),this.loadTargetSystemConfig()})}loadTargetSystemConfig(){this._reqifService.getTargetSystemConfig().pipe(be(e=>{e&&(this.reqifSettingsForm.controls.targetSystemId.setValue(e.targetSystemId),this._tenantHasTargetSystemConfig=!0)}),F(e=>(e.status===Xt.NOT_FOUND&&(this._tenantHasTargetSystemConfig=!1),O(!1)))).subscribe()}loadConverterVersion(){this._reqifService.getConverterVersion().subscribe(e=>{this.converterVersion=e.converterVersion,this.converterReleaseDate=e.converterReleaseDate})}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275cmp=R({type:n,selectors:[["ng-component"]],decls:22,vars:16,consts:[[3,"formGroup"],[1,"detail-container"],[1,"header"],[1,"buttons"],["type","button","data-cy","cancelReqifSettings",1,"btn-primary-outline",3,"click"],["type","submit","data-cy","saveReqifSettings",1,"btn-primary",3,"click"],["name","loading-spinner"],[1,"content"],["label","user_management.sso.settings.reqif.target_system","id","target-systems","formControlName","targetSystemId","data-cy","selectTargetSystem",3,"items","showUnselectItem"],[1,"label-top"],["data-cy","converterVersion"]],template:function(t,i){t&1&&(r(0,"form",0)(1,"div",1)(2,"div",2)(3,"h2"),m(4),c(5,"transloco"),s(),r(6,"div",3)(7,"button",4),b("click",function(){return i.onCancel()}),m(8),c(9,"transloco"),s(),r(10,"button",5),b("click",function(){return i.isPending?null:i.onSaveTargetSystemSettings()}),C(11,_m,3,3,"span"),C(12,fm,1,0,"app-icon",6),s()()(),r(13,"div",7),g(14,"app-select",8),r(15,"div")(16,"p",9),m(17),c(18,"transloco"),s(),r(19,"span",10),m(20),s(),C(21,hm,2,1,"span"),s()()()()),t&2&&(u("formGroup",i.reqifSettingsForm),o(4),_(p(5,10,"licenses.document_management.reqif.title")),o(4),M(" ",p(9,12,"common.cancel")," "),o(3),v(i.isPending?-1:11),o(),v(i.isPending?12:-1),o(2),u("items",i.targetSystemSelectOptions)("showUnselectItem",!1),o(3),_(p(18,14,"user_management.sso.settings.reqif.converter_version")),o(3),M(" ",i.converterVersion),o(),v(i.converterReleaseDate?21:-1))},dependencies:[V,pe,ne,$,J,te,ee,q,D,mt,P],styles:[".content[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:calc(var(--spacer) * 2);max-width:25rem}"]})}}return n})();var Rn=(()=>{class n{constructor(){this._customRoleNames=new Ke([])}get customRoleNames(){return this._customRoleNames.asObservable()}passCustomRoleNames(e){this._customRoleNames.next(e??[])}clearState(){this._customRoleNames.next([])}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275prov=ce({token:n,factory:n.\u0275fac,providedIn:"root"})}}return n})();function gm(n,l){if(n&1){let e=E();r(0,"button",16),b("click",function(){y(e);let i=d(2);return S(i.onDeleteCustomRole())}),r(1,"span"),m(2),c(3,"transloco"),s()()}n&2&&(o(2),_(p(3,1,"common.delete")))}function Cm(n,l){n&1&&(r(0,"span"),m(1),c(2,"transloco"),s()),n&2&&(o(),_(p(2,1,"common.save")))}function vm(n,l){n&1&&g(0,"app-icon",9)}function bm(n,l){n&1&&(r(0,"p",13),m(1),c(2,"transloco"),s()),n&2&&(o(),M(" ",p(2,1,"user_management.role_management.custom_role_name_already_used")," "))}function ym(n,l){n&1&&(r(0,"p",13),m(1),c(2,"transloco"),s()),n&2&&(o(),M(" ",p(2,1,"common.please_fill_this_field")," "))}function Sm(n,l){n&1&&(r(0,"div",15)(1,"h4"),m(2),c(3,"transloco"),s(),g(4,"app-checkbox",17),r(5,"h4"),m(6),c(7,"transloco"),s(),g(8,"app-checkbox",18),r(9,"div",19),g(10,"app-checkbox",20),s(),r(11,"h4"),m(12),c(13,"transloco"),s(),g(14,"app-checkbox",21)(15,"app-checkbox",22),r(16,"div",19),g(17,"app-checkbox",23),s(),r(18,"h4"),m(19),c(20,"transloco"),s(),g(21,"app-checkbox",24),r(22,"div",19),g(23,"app-checkbox",25),s(),r(24,"h4"),m(25),c(26,"transloco"),s(),g(27,"app-checkbox",26),r(28,"h4"),m(29),c(30,"transloco"),s(),g(31,"app-checkbox",27)(32,"app-checkbox",28)(33,"app-checkbox",29),s()),n&2&&(o(2),_(p(3,6,"search.title")),o(4),_(p(7,8,"favorites.favorite.title")),o(6),_(p(13,10,"orders.title")),o(7),_(p(20,12,"licenses.title")),o(6),_(p(26,14,"company_data.title")),o(4),_(p(30,16,"user_management.management")))}function xm(n,l){if(n&1){let e=E();r(0,"form",1),b("ngSubmit",function(){y(e);let i=d();return S(i.isPending?null:i.onSubmit())}),r(1,"div",2)(2,"div",3)(3,"h2",4),m(4),c(5,"transloco"),c(6,"transloco"),s(),r(7,"div",5),C(8,gm,4,3,"button",6),r(9,"button",7),b("click",function(){y(e);let i=d();return S(i.onCancel())}),r(10,"span"),m(11),c(12,"transloco"),s()(),r(13,"button",8),C(14,Cm,3,3,"span"),C(15,vm,1,0,"app-icon",9),s()()(),r(16,"div",10)(17,"section")(18,"h3"),m(19),c(20,"transloco"),s(),r(21,"div")(22,"label",11),m(23),c(24,"transloco"),s(),r(25,"div")(26,"input",12),b("keyup",function(){y(e);let i=d();return S(i.onResetResponseError())}),s(),C(27,bm,3,3,"p",13),C(28,ym,3,3,"p",13),s()(),r(29,"div")(30,"p",14),m(31),c(32,"transloco"),s(),r(33,"span"),m(34),c(35,"transloco"),s()()(),r(36,"section")(37,"h3"),m(38),c(39,"transloco"),s(),C(40,Sm,34,18,"div",15),s()()()()}if(n&2){let e=d();u("formGroup",e.customRoleForm)("focusInvalidInput",!0),o(4),M(" ",e.isCreateMode?p(5,17,"user_management.role_management.create_role"):p(6,19,"user_management.role_management.edit_role_title")," "),o(4),v(e.isCreateMode?-1:8),o(3),_(p(12,21,"common.cancel")),o(3),v(e.isPending?-1:14),o(),v(e.isPending?15:-1),o(4),_(p(20,23,"common.properties")),o(4),_(p(24,25,"common.name")),o(2),fe("not-valid",!(e.customRoleForm.controls.name!=null&&e.customRoleForm.controls.name.valid)&&e.customRoleForm.touched||e.backendError),o(2),v(e.customRoleForm.controls.name.errors!=null&&e.customRoleForm.controls.name.errors.invalidName?27:-1),o(),v(!e.customRoleForm.controls.name.valid&&!(e.customRoleForm.controls.name.errors!=null&&e.customRoleForm.controls.name.errors.invalidName)&&e.customRoleForm.touched?28:-1),o(3),_(p(32,27,"user_management.role_management.base_role")),o(3),_(p(35,29,"user_management.role_management.read_only_role")),o(4),_(p(39,31,"common.rights")),o(2),v((e.availableRightPackages==null?null:e.availableRightPackages.length)>0?40:-1)}}var Kn=(()=>{class n{constructor(){this._customRoleStateService=h(Rn),this._feedbackService=h(oe),this._formBuilder=h(Ce),this._modalService=h(B),this._roleService=h(Mt),this._route=h(me),this._router=h(de),this._translocoService=h(ge),this.isPending=!1,this.isCreateMode=!1,this.currentCustomRole={},this.availableRightPackages=["search_configuration","manage_own_favorites_and_notes","share_favorites_and_notes","show_license_and_document_management","manage_user_group_location_company","show_document_management_readonly","company_data","read_orders","order_documents_from_result_lists","release_orders","show_statistics_and_downloads","admin_settings"],this._subscriptions=[]}ngOnInit(){this.isPending=!0,this.initForm(),this.getRightPackageControl("share_favorites_and_notes").disable(),this.getRightPackageControl("release_orders").disable(),this._subscriptions.push(this.getRightPackageControl("manage_own_favorites_and_notes").valueChanges.subscribe(e=>{e?this.getRightPackageControl("share_favorites_and_notes").enable():(this.getRightPackageControl("share_favorites_and_notes").setValue(!1),this.getRightPackageControl("share_favorites_and_notes").disable())}),this.getRightPackageControl("order_documents_from_result_lists").valueChanges.subscribe(e=>{e?this.getRightPackageControl("release_orders").enable():(this.getRightPackageControl("release_orders").setValue(!1),this.getRightPackageControl("release_orders").disable())}),this.getRightPackageControl("show_document_management_readonly").valueChanges.subscribe(e=>{e?this.getRightPackageControl("show_license_and_document_management").enable():(this.getRightPackageControl("show_license_and_document_management").setValue(!1),this.getRightPackageControl("show_license_and_document_management").disable())})),this._tenantKey=localStorage.getItem(Ye),this._route.snapshot.url[1].path==="create"?(this.isCreateMode=!0,this.isPending=!1,this.loadAndPatchRightPackages()):this._subscriptions.push(this._roleService.refreshRoles().subscribe(()=>{this._subscriptions.push(this._route.paramMap.pipe(U(e=>e.get("id")),dt(e=>this._roleService.getRole(e)),be(e=>{if(!e)throw new Error("Cant get role data.");this.currentCustomRole=e,this.customRoleForm.controls.name?.setValue(e.name)}
1),dt(e=>this._roleService.getRightPackagesByRights(e.rights).pipe(U(t=>({rightPackagesOfCurrentRole:t,rightPackagesResponse:this.availableRightPackages})))),be(({rightPackagesOfCurrentRole:e})=>{this.availableRightPackages.forEach(t=>{let i=e?.includes(t);this.getRightPackageControl(t).setValue(i)}),this.isPending=!1}),F(()=>ue)).subscribe())}))}ngOnDestroy(){this._subscriptions.forEach(e=>e.unsubscribe())}onSubmit(){if(!this.customRoleForm.valid){this.customRoleForm.markAllAsTouched();return}let e=this.availableRightPackages.filter(t=>this.getRightPackageControl(t).value);this._roleService.getRightsOfRightPackages(e).subscribe(t=>{let i={roleId:this.isCreateMode?$e:this.currentCustomRole.roleId,name:this.customRoleForm.controls.name.value,rights:t};this.isCreateMode?this.createCustomRole(i):this.changeCustomRole(i),this.loadAndPatchRightPackages(e)})}onResetResponseError(){this.backendError=void 0}onCancel(){this._router.navigate(["../"],{relativeTo:this._route})}onDeleteCustomRole(){let e=this._modalService.open(ae),t=`${this._tenantKey}/settings/role-management`;e.componentInstance.isDeleteConfirmation=!0,e.componentInstance.title="user_management.role_management.delete_custom_role",this._subscriptions.push(this._translocoService.selectTranslate("user_management.role_management.do_you_want_to_delete_custom_role_x",{roleName:this.currentCustomRole.name}).subscribe(i=>e.componentInstance.text=i)),e.result.then(i=>{i.preset&&(this.isPending=!0,this._subscriptions.push(this._roleService.deleteRole(this.currentCustomRole.roleId).pipe(be(a=>{a?(this._roleService.refreshRoles(),this._feedbackService.showSuccessModal("user_management.role_management.custom_role_successfully_deleted",t)):this._feedbackService.showErrorModal(void 0,t)}),F(a=>(a.status===Xt.FORBIDDEN&&this._feedbackService.showInfoModal("user_management.role_management.delete_custom_role","user_management.role_management.cannot_delete_custom_role_with_users_or_group",Mi.DELETE),ue)),Z(()=>this.isPending=!1)).subscribe()))})}initForm(){let e={};this.availableRightPackages.forEach(t=>{e[t]=new j(!1)}),this.customRoleForm=this._formBuilder.group({roleId:"",name:["",[G.required,G.minLength(1),this.nameExists()]],rightPackages:this._formBuilder.group(e)})}createCustomRole(e){this.isPending=!0,this._subscriptions.push(this._roleService.createCustomRole(e).pipe(U(t=>{t&&this._feedbackService.showSuccessModal("user_management.role_management.role_successfully_created",`${this._tenantKey}/settings/role-management`)}),F(()=>(this._feedbackService.showErrorModal(),ue)),Z(()=>this.isPending=!1)).subscribe())}changeCustomRole(e){this.isPending=!0,this._subscriptions.push(this._roleService.changeRole(e).pipe(U(t=>{t&&this._feedbackService.showSuccessModal("user_management.role_management.role_successfully_changed",`${this._tenantKey}/settings/role-management`)}),F(t=>(this.setResponseError(t),ue)),Z(()=>this.isPending=!1)).subscribe())}setResponseError(e){this.onResetResponseError(),e?.error&&ri.isLocalizable(e.error)&&(this.backendError=new ri(e.error))}loadAndPatchRightPackages(e){this.availableRightPackages.forEach(t=>{let i=e?.includes(t);this.getRightPackageControl(t).setValue(i)})}nameExists(){return e=>{if(!e.value)return null;let t=e.value.toLowerCase();if(!this.isCreateMode&&this.currentCustomRole?.name&&this.currentCustomRole.name.toLowerCase()===t)return null;let i=!1;return this._customRoleStateService.customRoleNames.subscribe(a=>{i=a.some(f=>f.toLowerCase()===t)}),Object.values(je).some(a=>a.toLowerCase()===t)&&(i=!0),Object.values(Q).some(a=>a.toLowerCase()===t)&&(i=!0),i?{invalidName:!0}:null}}getRightPackageControl(e){return this.customRoleForm.get("rightPackages").get(e)}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275cmp=R({type:n,selectors:[["app-custom-role-detail"]],decls:1,vars:1,consts:[[3,"formGroup","focusInvalidInput"],[3,"ngSubmit","formGroup","focusInvalidInput"],[1,"detail-container"],[1,"header"],["data-cy","customRoleDetailTitle"],[1,"buttons"],["type","button","data-cy","deleteCustomRole",1,"btn-alert"],["type","button","data-cy","cancelCustomRole",1,"btn-primary-outline",3,"click"],["type","submit","data-cy","saveCustomRole",1,"btn-primary"],["name","loading-spinner"],[1,"content"],["for","role-name",1,"mandatory"],["id","role-name","formControlName","name","type","text","data-cy","customRoleName",3,"keyup"],["data-cy","errorMessage",1,"text-alert"],[1,"label-top"],["formGroupName","rightPackages",1,"roles"],["type","button","data-cy","deleteCustomRole",1,"btn-alert",3,"click"],["formControlName","search_configuration","label","user_management.role_management.rights.search_configuration","data-cy","rightSearch"],["formControlName","manage_own_favorites_and_notes","label","user_management.role_management.rights.manage_own_folders","data-cy","rightFolders"],[1,"additive-right"],["formControlName","share_favorites_and_notes","label","user_management.role_management.rights.share_folders","data-cy","rightShareFolders"],["formControlName","read_orders","label","user_management.role_management.rights.read_orders","data-cy","rightReadOrders"],["formControlName","order_documents_from_result_lists","label","user_management.role_management.rights.order_documents_from_result_lists","data-cy","rightOrders"],["formControlName","release_orders","label","user_management.role_management.rights.release_orders"],["formControlName","show_document_management_readonly","label","user_management.role_management.rights.show_document_management","data-cy","rightShowDocumentManagement"],["formControlName","show_license_and_document_management","label","user_management.role_management.rights.show_license_and_document_management","data-cy","rightLicensesDocuments"],["formControlName","company_data","label","user_management.role_management.rights.company_data","data-cy","rightCompanyData"],["formControlName","manage_user_group_location_company","label","user_management.role_management.rights.manage_user_group_location_company","data-cy","rightUsersGroupsLocations"],["formControlName","show_statistics_and_downloads","label","user_management.role_management.rights.show_statistics_and_downloads","data-cy","rightStatistics"],["formControlName","admin_settings","label","user_management.role_management.rights.admin_settings","data-cy","rightSettings"]],template:function(t,i){t&1&&C(0,xm,41,33,"form",0),t&2&&v(i.currentCustomRole&&i.customRoleForm?0:-1)},dependencies:[Ie,At,V,pe,ne,Y,$,J,te,ee,Yt,D,P],styles:[".content[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:var(--spacer)}.content[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{max-width:50rem}.content[_ngcontent-%COMP%] .additive-right[_ngcontent-%COMP%]{margin-left:calc(var(--spacer) * 2)}.content[_ngcontent-%COMP%] section[_ngcontent-%COMP%]:not(:last-child){border-bottom:var(--border);padding-bottom:var(--spacer)}.label-top[_ngcontent-%COMP%]{margin-top:var(--spacer)}.roles[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:calc(var(--spacer) / 2)}
1.roles[_ngcontent-%COMP%] h4[_ngcontent-%COMP%]{margin-top:1rem;margin-bottom:0}"]})}}return n})();function Tm(n,l){if(n&1){let e=E();r(0,"span",12),b("click",function(){let i=y(e).item,a=d();return S(a.navigateToItem(i))})("keydown.enter",function(){let i=y(e).item,a=d();return S(a.navigateToItem(i))}),m(1),s()}if(n&2){let e=l.item;o(),M(" ",e.name," ")}}function Mm(n,l){if(n&1){let e=E();r(0,"span",13),b("click",function(){let i=y(e).item,a=d();return S(a.navigateToItem(i))})("keydown.enter",function(){let i=y(e).item,a=d();return S(a.navigateToItem(i))}),m(1),s()}if(n&2){let e=l.item;o(),M(" ",e.assignedToUsersCount," ")}}function Im(n,l){if(n&1){let e=E();r(0,"span",14),b("click",function(){let i=y(e).item,a=d();return S(a.navigateToItem(i))})("keydown.enter",function(){let i=y(e).item,a=d();return S(a.navigateToItem(i))}),m(1),s()}if(n&2){let e=l.item;o(),M(" ",e.assignedToGroupsCount," ")}}function Em(n,l){if(n&1){let e=E();r(0,"span",15),b("click",function(){let i=y(e).item,a=d();return S(a.navigateToItem(i))})("keydown.enter",function(){let i=y(e).item,a=d();return S(a.navigateToItem(i))}),r(1,"span"),m(2),c(3,"date"),g(4,"br"),m(5),c(6,"date"),s()()}if(n&2){let e=l.item;o(2),_(Te(3,2,e.dateLastChanged,"dd.MM.yyyy")),o(3),_(Te(6,5,e.dateLastChanged,"HH:mm"))}}function wm(n,l){n&1&&(r(0,"div",11),g(1,"app-icon",16),r(2,"p",17),m(3),c(4,"transloco"),s()()),n&2&&(o(3),M(" ",p(4,1,"user_management.role_management.no_custom_rules_created")," "))}var Fa=(()=>{class n{constructor(){this._customRoleStateService=h(Rn),this._roleService=h(Mt),this._route=h(me),this._router=h(de),this.isPending=!1,this.customRoles=[]}ngOnInit(){this._customRoleSubscription=this._roleService.getAllTenantSpecificCustomRoles().subscribe(e=>{this.totalCount=e.length,this.customRoles=e})}ngOnDestroy(){this._customRoleSubscription.unsubscribe()}navigateToItem(e){e&&e.roleId&&this._router.navigate([e.roleId],{relativeTo:this._route})}createCustomRole(){this._customRoleStateService.passCustomRoleNames(this.customRoles.map(e=>e.name)),this._router.navigate(["create"],{relativeTo:this._route})}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275cmp=R({type:n,selectors:[["app-custom-role-list"]],decls:24,vars:12,consts:[["tableCell",""],[1,"overview-container"],[1,"header"],["data-cy","customRolesTitle"],[3,"count"],["type","button","data-cy","createRole",1,"btn-primary",3,"click"],["data-cy","table",3,"items","hasCheckboxColumn"],["tableColumn","","columnText","common.name"],["tableColumn","","columnText","user_management.users.title"],["tableColumn","","columnText","user_management.groups.title"],["tableColumn","","columnText","common.updatedOn"],[1,"no-content"],["data-cy","customRoleName",1,"link-bold",3,"click","keydown.enter"],["data-cy","usersCount",1,"link",3,"click","keydown.enter"],["data-cy","groupsCount",1,"link",3,"click","keydown.enter"],["data-cy","customRoleChangeDate",1,"link",3,"click","keydown.enter"],["sprite","icons-large","name","cross-large","data-cy","iconNoCustomRoles",1,"icon-inactive"],["data-cy","textNoCustomRoles"]],template:function(t,i){t&1&&(r(0,"div",1)(1,"div",2)(2,"div")(3,"h2",3),m(4),c(5,"transloco"),s(),g(6,"app-record-count",4),s(),r(7,"button",5),b("click",function(){return i.createCustomRole()}),m(8),c(9,"transloco"),s()(),r(10,"app-table",6)(11,"div",7),T(12,Tm,2,1,"ng-template",null,0,I),s(),r(14,"div",8),T(15,Mm,2,1,"ng-template",null,0,I),s(),r(17,"div",9),T(18,Im,2,1,"ng-template",null,0,I),s(),r(20,"div",10),T(21,Em,7,8,"ng-template",null,0,I),s()(),C(23,wm,5,3,"div",11),s()),t&2&&(fe("hide",i.isPending),o(4),_(p(5,8,"user_management.role_management.title")),o(2),u("count",i.totalCount),o(2),M(" ",p(9,10,"user_management.role_management.create_role")," "),o(2),u("items",i.customRoles)("hasCheckboxColumn",!1),o(13),v(i.totalCount===0?23:-1))},dependencies:[Le,V,He,q,he,H,zt,P],encapsulation:2})}}return n})();var Un=(()=>{class n{constructor(){this._httpClient=h(Ue),this._configService=h(Me),this._ldapConnectionCollectionSubject=ne
1w Ke([]),this.ldapConnectionCollection$=this._ldapConnectionCollectionSubject.asObservable()}removeAttributeMapFromIdpConnection(e,t){let i=`${this._configService.baseConfig.baseUrl}${this._configService.baseConfig.extension}/sso/ldap/${e}/claim/userattributes/delete`;return this._httpClient.post(i,t,{observe:"response"}).pipe(U(a=>a.status===tt.OK))}addRoleMapToIdpConnection(e,t){let i=`${this._configService.baseConfig.baseUrl}${this._configService.baseConfig.extension}/sso/ldap/${e}/claim/roles`;return this._httpClient.post(i,t,{observe:"response"})}updateRoleMapOfIdpConnection(e,t){let i=`${this._configService.baseConfig.baseUrl}${this._configService.baseConfig.extension}/sso/ldap/${e}/claim/roles`;return this._httpClient.put(i,t,{observe:"response"}).pipe(U(a=>a.status===tt.OK))}removeRoleMapFromIdpConnection(e,t){let i=`${this._configService.baseConfig.baseUrl}${this._configService.baseConfig.extension}/sso/ldap/${e}/claim/roles/delete`;return this._httpClient.post(i,t,{observe:"response"}).pipe(U(a=>a.status===tt.OK))}getAllNautosUserAttributes(){let e=`${this._configService.baseConfig.baseUrl}${this._configService.baseConfig.extension}/sso/ldap/userattributes`;return this._httpClient.get(e,{observe:"response"}).pipe(U(t=>se.isAccepted(t.status)?t.body:null),F(()=>O(null)))}refreshLdapConnections(){this._ldapConnectionCollectionSubscription&&this._ldapConnectionCollectionSubscription.unsubscribe(),this._ldapConnectionCollectionSubscription=this.getAllLdapConnections().subscribe(e=>{this._ldapConnectionCollectionSubject.next(e)})}getLdapConnectionById(e){let t=`${this._configService.baseConfig.baseUrl}${this._configService.baseConfig.extension}/sso/ldap/${e}`;return this._httpClient.get(t,{observe:"response"}).pipe(U(function(i){return se.isAccepted(i.status)?this.LdapConnectionDtoToModel(i.body):null}))}getAllLdapConnections(){let e=`${this._configService.baseConfig.baseUrl}${this._configService.baseConfig.extension}/sso/ldap`;return this._httpClient.get(e,{observe:"response"}).pipe(U(t=>se.isAccepted(t.status)?t.body:null),F(()=>O(null)))}createLdapConnection(e){let t=`${this._configService.baseConfig.baseUrl}${this._configService.baseConfig.extension}/sso/ldap`;return this._httpClient.post(t,e,{observe:"response"}).pipe(U(i=>se.isAccepted(i.status)?i.body.id:null),F(()=>O(null)))}updateLdapConnection(e){let t=`${this._configService.baseConfig.baseUrl}${this._configService.baseConfig.extension}/sso/ldap`;return this._httpClient.put(t,e,{observe:"response"}).pipe(U(i=>i.status===tt.OK))}deleteLdapConnection(e){let t=`${this._configService.baseConfig.baseUrl}${this._configService.baseConfig.extension}/sso/ldap/${e}`;return this._httpClient.delete(t,{observe:"response"}).pipe(U(i=>{if(i?.status&&se.isAccepted(i.status)){let a=this._ldapConnectionCollectionSubject.value.filter(f=>f.id!==e);return this._ldapConnectionCollectionSubject.next(a),!0}else return!1}),F(()=>O(null)))}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275prov=ce({token:n,factory:n.\u0275fac,providedIn:"root"})}}return n})();var Li=(()=>{class n{constructor(){this._httpClient=h(Ue),this._configService=h(Me)}getRoleNamesForMapping(){let e=`${this._configService.baseConfig.baseUrl}${this._configService.baseConfig.extension}/roles/rolenamesformapping`;return this._httpClient.get(e,{observe:"response"}).pipe(U(function(t){return se.isAccepted(t.status)?[...new Set(t.body)]:null}),F(()=>O(null)))}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275prov=ce({token:n,factory:n.\u0275fac,providedIn:"root"})}}return n})();var qt=(()=>{class n{transform(e){return Ro[e]}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275pipe=bi({name:"userAttributeToTransloco",type:n,pure:!0})}}return n})();function km(n,l){if(n&1&&(ht(0,4),g(1,"app-checkbox",5),gt()),n&2){let e=l.$implicit,t=l.$index,i=d(2);o(),u("formControlName",t)("label",i.labels[e])}}function Rm(n,l){if(n&1&&(r(0,"form",2),ye(1,km,2,2,"ng-container",4,ke),s()),n&2){let e=d();u("formGroup",e.formGroup),o(),Se(e.listElements)}}var ti=(()=>{class n{constructor(){this._formBuilder=h(Ce),this._userAttributeToTranslocoPipe=h(qt),this.modalService=h(B),this.title="user_management.sso.add_user_attribute",this.listElements=[],this.isValid=!1,this.labels={},this._componentActive=!0}get checkboxGroupForm(){return this.formGroup.get("checkboxGroup")}ngOnInit(){this.formGroup=this._formBuilder.group({checkboxGroup:this._formBuilder.array([])}
1),this.listElements.forEach(()=>{this.checkboxGroupForm.push(this._formBuilder.control(!1))}),this.checkboxGroupForm.valueChanges.pipe(et(()=>this._componentActive)).subscribe(()=>{this.validate(this.checkboxGroupForm.value)}),this.listElements.forEach(e=>{let t=this._userAttributeToTranslocoPipe.transform(e)??e;this.labels[e]=t})}onSave(){let e=[];this.checkboxGroupForm.value.forEach((t,i)=>{t&&e.push(this.listElements[i])}),this.modalService.close({passedElements:e})}ngOnDestroy(){this._componentActive=!1}validate(e){this.isValid=e.some(t=>t===!0)}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275cmp=R({type:n,selectors:[["app-sso-add-map-modal"]],inputs:{title:"title",listElements:"listElements"},features:[xo([qt])],decls:4,vars:5,consts:[[3,"modalTitle","border"],[1,"modal-body"],[3,"formGroup"],[3,"cancelButtonClick","saveButtonClick","border","isSaveButtonDisabled"],["formArrayName","checkboxGroup"],["data-cy","userField",3,"formControlName","label"]],template:function(t,i){t&1&&(g(0,"app-modal-header",0),r(1,"div",1),C(2,Rm,3,1,"form",2),s(),r(3,"app-modal-footer",3),b("cancelButtonClick",function(){return i.modalService.dismiss()})("saveButtonClick",function(){return i.onSave()}),s()),t&2&&(u("modalTitle",i.title)("border",!0),o(2),v(i.listElements?2:-1),o(),u("border",!1)("isSaveButtonDisabled",!i.isValid))},dependencies:[Ie,Fe,Pe,pe,ne,$,J,te,ee,Jt],encapsulation:2})}}return n})();var Um=n=>({"background-color":n});function Fm(n,l){if(n&1){let e=E();r(0,"label",14)(1,"input",15),b("change",function(){let i=y(e).$implicit,a=d(2);return S(a.onSelectSyncStrategy(i))}),s(),m(2),s()}if(n&2){let e=l.$implicit;o(),u("value",e),o(),M(" ",e," ")}}function Pm(n,l){if(n&1&&(r(0,"div",6)(1,"label",12),m(2),c(3,"transloco"),s(),r(4,"div",13),ye(5,Fm,3,2,"label",14,ke),s()()),n&2){let e=d();o(2),_(p(3,1,"user_management.sso.sync_strategy")),o(3),Se(e.syncStrategyTypes)}}function Lm(n,l){n&1&&(r(0,"p",20),m(1),c(2,"transloco"),s()),n&2&&(o(),M(" ",p(2,1,"common.please_fill_this_field")," "))}function Am(n,l){if(n&1&&(r(0,"label",16),m(1),c(2,"transloco"),s(),r(3,"div",6)(4,"label",17),m(5),c(6,"transloco"),s(),r(7,"div",18),g(8,"input",19),C(9,Lm,3,3,"p",20),s()(),r(10,"div",6)(11,"label",21),m(12),c(13,"transloco"),s(),r(14,"div",18),g(15,"input",22),s()(),r(16,"div",6)(17,"label",9),m(18),c(19,"transloco"),s(),r(20,"div",18),g(21,"input",23),s()()),n&2){let e,t=d();o(),_(p(2,6,"user_management.sso.adfs.claim_idp_name")),o(4),M(" ",p(6,8,"user_management.sso.adfs.identity_provider_claim_type_name")," "),o(3),u("required",!t.isFixedValueView),o(),v(t.claimMapForm!=null&&t.claimMapForm.touched&&(!(t.claimMapForm==null||(e=t.claimMapForm.get("idpClaimType.uri"))==null)&&e.hasError("required"))?9:-1),o(3),M(" ",p(13,10,"user_management.sso.adfs.identity_provider_claim_type_display_name")," "),o(6),M(" ",p(19,12,"user_management.sso.adfs.identity_provider_claim_type_description")," ")}}function Om(n,l){n&1&&(r(0,"p",26),m(1),c(2,"transloco"),s()),n&2&&(o(),M(" ",p(2,1,"common.please_fill_this_field")," "))}function Dm(n,l){if(n&1&&(r(0,"div",6)(1,"label",24),m(2),c(3,"transloco"),s(),r(4,"div"),g(5,"input",25),C(6,Om,3,3,"p",26),s()()),n&2){let e,t=d();o(2),M(" ",p(3,3,"user_management.sso.fixed_value")," "),o(3),u("required",t.isFixedValueView),o(),v(t.claimMapForm!=null&&t.claimMapForm.touched&&(!(t.claimMapForm==null||(e=t.claimMapForm.get("fixedValue"))==null)&&e.hasError("required"))?6:-1)}}function Vm(n,l){n&1&&(r(0,"div",6)(1,"label",27),m(2),c(3,"transloco"),s(),g(4,"input",28),s()),n&2&&(o(2),_(p(3,1,"user_management.sso.regexp")))}function Nm(n,l){if(n&1){let e=E();r(0,"div",34),b("click",function(){let i=y(e).$implicit,a=d(3);return S(a.onContainerClick(i))})("keydown.enter",function(){let i=y(e).$implicit,a=d(3);return S(a.onContainerClick(i))}),r(1,"div",35)(2,"label",36),m(3),s()(),r(4,"div",35)(5,"label",36),m(6),c(7,"truncate"),s()(),r(8,"div",35)(9,"label",36),m(10),c(11,"truncate"),s()()()}if(n&2){let e,t=l.$implicit,i=l.$index,a=d(3);u("ngStyle",Re(11,Um,t.uri===(a.claimMapForm==null||(e=a.claimMapForm.get("idpClaimType.uri"))==null?null:e.value)?"#edfaff":"transparent")),o(2),u("for","claim"+i),o(),M("",t.displayName," "),o(2),u("for","claim"+i),o(),_(p(7,7,t.uri)),o(3),u("for","claim"+i),o(),_(p(11,9,t.description))}}function Gm(n,l){if(n&1&&(r(0,"div",32),ye(1,Nm,12,13,"div",33,ke),s()),n&2){let e=d(2);o(),Se(e.idpClaimTypes)}}function Bm(n,l){if(n&1){let e=E();r(0,"div")(1,"button",29),b("click",function(){y(e);let i=d();return S(i.toggleIdpClaimTypesOpen())}),g(2,"app-icon",30),r(3,"span",31),m(4),c(5,"transloco"),s()(),C(6,Gm,3,0,"div",32),s()}if(n&2){let e=d();o(2),u("direction",e.idpClaimTypesOpen?"down":"right"),o(2),M(" ",p(5,3,"user_management.sso.adfs.claim_types_offered")," "),o(2),v(e.idpClaimTypesOpen?6:-1)}}var Ai=(()=>{class n{constructor(){this.modalService=h(B),this._changeDetectorRef=h(ct),this._formBuilder=h(Ce),this.requiredFields=["Username","Email","Forename","Surename","Roles","Location"],this.syncStrategyTypes=Object.values(Gi),this.claimTypes=[],this.idpClaimTypesOpen=!0}get nautosAttribute(){return this._nautosAttribute.toUpperCase()}ngOnInit(){this.idpClaimTypesOpen=!1}editClaimTypeMap(e){let t=e.synchronizationStrategy?.toLowerCase()?.startsWith("fix");
1this._nautosAttribute=e.nautosUserAttribute,this.claimMapForm||(this.claimMapForm=this._formBuilder.group({claimTypeMapId:e.claimTypeMapId,nautosUserAttribute:e.nautosUserAttribute,idpClaimType:this._formBuilder.group({uri:[""],displayName:[""],description:[""]}),regularExpression:[""],fixedValue:[""],synchronizationStrategy:[""],description:[""],isOptional:[{value:e.isOptional,disabled:this.requiredFields.includes(e.nautosUserAttribute)}]})),e&&this.claimMapForm.patchValue({synchronizationStrategy:e.synchronizationStrategy?.toUpperCase()??Gi.UPDATE,description:e.description,fixedValue:t?e.fixedValue:"",idpClaimType:t||!e.identityProviderClaimType?{uri:"",description:"",displayName:""}:e.identityProviderClaimType,regularExpression:t?"":e.regularExpression,isOptional:e.isOptional}),this.isFixedValueView=t,this.showSyncStrategyTypes=e.synchronizationStrategy!=="None",this._changeDetectorRef.detectChanges()}onSelectSyncStrategy(e){this.claimMapForm.patchValue({synchronizationStrategy:e}),this._changeDetectorRef.detectChanges(),this.isFixedValueView=e.toLowerCase().startsWith("fix"),this.isFixedValueView&&this.claimMapForm.controls.idpClaimType?this.claimMapForm.controls.idpClaimType.disable():this.claimMapForm.controls.idpClaimType.enable(),this.isFixedValueView&&this.claimMapForm.controls.fixedValue?this.claimMapForm.controls.fixedValue.enable():this.claimMapForm.controls.fixedValue.disable()}onSubmit(){if(this.claimMapForm.markAllAsTouched(),this.claimMapForm.valid){let e=this.claimMapForm.controls,t=e.synchronizationStrategy.value.toLowerCase().startsWith("fix");this.modalService.close({passedClaimTypeMap:{claimTypeMapId:e.claimTypeMapId.value,nautosUserAttribute:e.nautosUserAttribute.value,identityProviderClaimType:t?null:e.idpClaimType.value,regularExpression:t?"":e.regularExpression.value,fixedValue:t?e.fixedValue.value:null,synchronizationStrategy:e.synchronizationStrategy.value,description:e.description.value,isOptional:e.isOptional.value}})}}toggleIdpClaimTypesOpen(){this.idpClaimTypesOpen=!this.idpClaimTypesOpen}onContainerClick(e){this.claimMapForm.patchValue({idpClaimType:{uri:e.uri,displayName:e.displayName,description:e.description}})}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275cmp=R({type:n,selectors:[["app-sso-claimtype-map-modal"]],inputs:{idpClaimTypes:"idpClaimTypes"},decls:27,vars:21,consts:[["modalTitle","user_management.sso.adfs.claim_assign",3,"border"],[3,"formGroup"],[1,"modal-body"],[1,"user-attribute"],["for","claim-sync",1,"label-bold","label-with-colon"],["data-cy","userAttribute"],[1,"content-row"],["for","claim-description",1,"label-bold"],["id","claim-description","type","text","data-cy","description","formControlName","description"],["for","provider-description"],["formControlName","isOptional"],[3,"cancelButtonClick","saveButtonClick"],["for","sync-strategy",1,"label-bold"],[1,"sync-strategy","form-check"],["data-cy","syncStrategy"],["type","radio","formControlName","synchronizationStrategy",1,"form-check-input",3,"change","value"],["for","idp-name",1,"label-bold"],["for","claimed-name",1,"mandatory"],["formGroupName","idpClaimType"],["id","claimed-name","type","text","data-cy","idpAttribute","formControlName","uri",3,"required"],[1,"text-alert"],["for","displayed-name"],["id","displayed-name","type","text","data-cy","idpName","formControlName","displayName"],["id","provider-description","type","text","data-cy","idpDescription","formControlName","description"],["for","fixed-value",1,"label-bold","mandatory"],["id","fixed-value","type","text","formControlName","fixedValue","data-cy","fixedValue",3,"required"],["data-cy","errorMessage",1,"text-alert"],["for","claim-regexp",1,"label-bold"],["id","claim-regexp","type","text","data-cy","regExp","formControlName","regularExpression"],["type","button",1,"btn-collapse",3,"click"],["name","chevron",3,"direction"],[1,"idp-claim-dropdown-items"],[1,"scroll-box"],[1,"idp-claim-container",3,"ngStyle"],[1,"idp-claim-container",3,"click","keydown.enter","ngStyle"],[1,"idp-claim-row"],[3,"for"]],template:function(t,i){t&1&&(g(0,"app-modal-header",0),r(1,"form",1)(2,"div",2)(3,"div",3)(4,"label",4),m(5),c(6,"transloco"),s(),r(7,"span",5),m(8),c(9,"userAttributeToTransloco"),c(10,"transloco"),s()(),C(11,Pm,7,3,"div",6),C(12,Am,22,14),C(13,Dm,7,5,"div",6),C(14,Vm,5,3,"div",6),r(15,"div",6)(16,"label",7),m(17),c(18,"transloco"),s(),g(19,"input",8),s(),r(20,"div",6)(21,"label",9),m(22),c(23,"transloco"),s(),g(24,"app-checkbox",10),s(),C(25,Bm,7,5,"div"),s()(),r(26,"app-modal-footer",11),b("cancelButtonClick",function(){return i.modalService.dismiss()})("saveButtonClick",function(){return i.onSubmit()}),s()),t&2&&(u("border",!0),o(),u("formGroup",i.claimMapForm),o(4),M(" ",p(6,11,"user_management.sso.user_attribute")," "),o(3),M(" ",p(10,15,p(9,13,i.claimMapForm==null||i.claimMapForm.controls==null||i.claimMapForm.controls.nautosUserAttribute==null?null:i.claimMapForm.controls.nautosUserAttribute.value))," "),o(3),v(i.showSyncStrategyTypes?11:-1),o(),v(i.isFixedValueView?-1:12),o(),v(i.isFixedValueView?13:-1),o(),v(i.isFixedValueView?-1:14),o(3),_(p(18,17,"common.description")),o(5),_(p(23,19,"user_management.sso.adfs.claim_type_optional")),o(3),v(i.idpClaimTypes.length>0?25:-1))},dependencies:[Ie,Le,Mo,V,Fe,Pe,pe,ne,Y,xt,$,J,ln,te,ee,Yt,D,P,jo,qt],styles:[".content-row[_ngcontent-%COMP%]{display:flex;gap:var(--spacer)}.content-row[_ngcontent-%COMP%] > label[_ngcontent-%COMP%]{margin-bottom:0;max-width:33%;min-width:33%}.content-row[_ngcontent-%COMP%] > [_ngcontent-%COMP%]:last-child{width:66%}.content-row[_ngcontent-%COMP%] > .sync-strategy[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:calc(var(--spacer) / 2)}.content-row[_ngcontent-%COMP%] > .sync-strategy[_ngcontent-%COMP%] > label[_ngcontent-%COMP%]{margin-bottom:0}
1.user-attribute[_ngcontent-%COMP%]{border-bottom:var(--border);padding-bottom:var(--spacer)}.btn-collapse[_ngcontent-%COMP%]{border-block:var(--border);height:3rem;margin-block:var(--spacer)}.idp-claim-container[_ngcontent-%COMP%]{border:var(--border);display:flex;flex-direction:column;margin-block:var(--spacer);padding:calc(var(--spacer) / 2)}.idp-claim-row[_ngcontent-%COMP%]{display:flex;gap:calc(var(--spacer) / 2)}"]})}}return n})();function $m(n,l){if(n&1){let e=E();r(0,"div",1)(1,"div")(2,"label",3),m(3),c(4,"transloco"),s(),r(5,"span",4),m(6),s()(),r(7,"div")(8,"label",5),m(9),c(10,"transloco"),s(),r(11,"input",6),Ge("ngModelChange",function(i){y(e);let a=d();return Ne(a.currentRoleMap.regex,i)||(a.currentRoleMap.regex=i),S(i)}),s()(),r(12,"div")(13,"label",7),m(14),c(15,"transloco"),s(),r(16,"input",8),Ge("ngModelChange",function(i){y(e);let a=d();return Ne(a.currentRoleMap.priority,i)||(a.currentRoleMap.priority=i),S(i)}),s()(),r(17,"div")(18,"label",9),m(19),c(20,"transloco"),s(),r(21,"input",10),Ge("ngModelChange",function(i){y(e);let a=d();return Ne(a.currentRoleMap.description,i)||(a.currentRoleMap.description=i),S(i)}),s()()()}if(n&2){let e=d();o(3),_(p(4,8,"user_management.users.role")),o(3),M(" ",e.currentRoleMap.nautosRole),o(3),_(p(10,10,"user_management.sso.adfs.role_map_ad_group")),o(2),Ve("ngModel",e.currentRoleMap.regex),o(3),_(p(15,12,"user_management.sso.priority")),o(2),Ve("ngModel",e.currentRoleMap.priority),o(3),_(p(20,14,"common.description")),o(2),Ve("ngModel",e.currentRoleMap.description)}}var Oi=(()=>{class n{constructor(){this.modalService=h(B)}onSave(){this.modalService.close({passedRoleMap:this.currentRoleMap})}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275cmp=R({type:n,selectors:[["app-sso-edit-role-map-modal"]],inputs:{currentRoleMap:"currentRoleMap"},decls:3,vars:3,consts:[["modalTitle","user_management.sso.adfs.role_map",3,"border"],[1,"modal-body"],[3,"cancelButtonClick","saveButtonClick","border"],["for","role",1,"label-with-colon"],["id","role","data-cy","roleName"],["for","group"],["id","group","type","text","data-cy","mapping",3,"ngModelChange","ngModel"],["for","priority"],["id","priority","type","number","data-cy","priority",3,"ngModelChange","ngModel"],["for","role-map-description"],["id","role-map-description","type","text","data-cy","description",3,"ngModelChange","ngModel"]],template:function(t,i){t&1&&(g(0,"app-modal-header",0),C(1,$m,22,16,"div",1),r(2,"app-modal-footer",2),b("cancelButtonClick",function(){return i.modalService.dismiss()})("saveButtonClick",function(){return i.onSave()}),s()),t&2&&(u("border",!0),o(),v(i.currentRoleMap?1:-1),o(),u("border",!1))},dependencies:[ft,Y,sn,$,at,Fe,Pe,D,P],encapsulation:2})}}return n})();var qm=["claimTable"],jm=["roleTable"];function Hm(n,l){if(n&1){let e=E();r(0,"button",31),b("click",function(){y(e);let i=d();return S(i.onDeleteConnection())}),m(1),c(2,"transloco"),s()}
1n&2&&(o(),M(" ",p(2,1,"common.delete")," "))}function zm(n,l){n&1&&g(0,"app-icon",10)}function Wm(n,l){n&1&&(r(0,"span"),m(1),c(2,"transloco"),s()),n&2&&(o(),_(p(2,1,"common.save")))}function Qm(n,l){n&1&&(r(0,"p",15),m(1),c(2,"transloco"),s()),n&2&&(o(),_(p(2,1,"common.please_fill_this_field")))}function Km(n,l){n&1&&(r(0,"p",15),m(1),c(2,"transloco"),s()),n&2&&(o(),_(p(2,1,"common.please_fill_this_field")))}function Ym(n,l){n&1&&(r(0,"p",15),m(1),c(2,"transloco"),s()),n&2&&(o(),M(" ",p(2,1,"common.please_fill_this_field")," "))}function Jm(n,l){n&1&&(r(0,"p",15),m(1),c(2,"transloco"),s()),n&2&&(o(),_(p(2,1,"common.please_fill_this_field")))}function Xm(n,l){n&1&&(r(0,"p",15),m(1),c(2,"transloco"),s()),n&2&&(o(),_(p(2,1,"common.please_fill_this_field")))}function Zm(n,l){n&1&&(r(0,"p",15),m(1),c(2,"transloco"),s()),n&2&&(o(),_(p(2,1,"common.please_fill_this_field")))}function ed(n,l){if(n&1){let e=E();r(0,"button",53),c(1,"transloco"),c(2,"transloco"),b("click",function(){y(e);let i=d(2);return S(i.onDeleteAttributeMaps())}),g(3,"app-icon",54),s()}n&2&&(u("ngbTooltip",p(1,2,"user_management.sso.delete_claims")),k("aria-label",p(2,4,"user_management.sso.delete_claims")))}function td(n,l){if(n&1){let e=E();r(0,"button",55),b("click",function(){let i=y(e).item,a=d(2);return S(a.onEditAttributeMap(i))}),g(1,"app-icon",56),s()}}function id(n,l){if(n&1&&(r(0,"span",57),m(1),c(2,"userAttributeToTransloco"),c(3,"transloco"),s()),n&2){let e=l.item;o(),_(p(3,3,p(2,1,e.nautosUserAttribute)))}}function nd(n,l){if(n&1&&(r(0,"span",58),m(1),s()),n&2){let e=l.item;o(),_(e.synchronizationStrategy)}}function od(n,l){if(n&1&&(r(0,"div",59),m(1),s(),r(2,"div",60),m(3),s(),r(4,"div",61),m(5),s()),n&2){let e=l.item;o(),_(e.identityProviderClaimType==null?null:e.identityProviderClaimType.displayName),o(2),_(e.identityProviderClaimType==null?null:e.identityProviderClaimType.uri),o(2),_(e.identityProviderClaimType==null?null:e.identityProviderClaimType.description)}}function ad(n,l){if(n&1&&(r(0,"span",62),m(1),s()),n&2){let e=l.item;o(),_(e.fixedValue)}}function rd(n,l){if(n&1&&(r(0,"span",63),m(1),s()),n&2){let e=l.item;o(),_(e.regularExpression)}}function sd(n,l){if(n&1&&(r(0,"span"),m(1),s()),n&2){let e=l.item;o(),_(e.description)}}function ld(n,l){if(n&1){let e=E();r(0,"button",64),c(1,"transloco"),c(2,"transloco"),b("click",function(){y(e);let i=d(2);return S(i.onDeleteRoleMaps())}),g(3,"app-icon",54),s()}n&2&&(u("ngbTooltip",p(1,2,"user_management.sso.delete_role_maps")),k("aria-label",p(2,4,"user_management.sso.delete_role_maps")))}function cd(n,l){if(n&1){let e=E();r(0,"button",65),b("click",function(){let i=y(e).item,a=d(2);return S(a.onEditRoleMap(i))}),g(1,"app-icon",56),s()}}function pd(n,l){if(n&1&&(r(0,"span",66),m(1),s()),n&2){let e=l.item;o(),_(e.nautosRole)}}function md(n,l){if(n&1&&(r(0,"span",67),m(1),s()),n&2){let e=l.item;o(),_(e.regex)}}function dd(n,l){if(n&1&&(r(0,"span",68),m(1),s()),n&2){let e=l.item;o(),_(e.priority)}}function ud(n,l){if(n&1&&(r(0,"span",69),m(1),s()),n&2){let e=l.item;o(),_(e.description)}}function _d(n,l){n&1&&(r(0,"div",52),g(1,"app-icon",70),r(2,"p",71),m(3),c(4,"transloco"),s()()),n&2&&(o(3),_(p(4,1,"user_management.sso.no_roles")))}function fd(n,l){if(n&1){let e=E();r(0,"section")(1,"div",32)(2,"h3"),m(3),c(4,"transloco"),s(),r(5,"button",33),b("click",function(){y(e);let i=d();return S(i.onAddAttributeMap())}),r(6,"span"),m(7),c(8,"transloco"),s()()(),r(9,"div",34)(10,"app-table-menu",35)(11,"div",36),T(12,ed,4,6,"ng-template",null,0,I),s()()(),r(14,"div",37)(15,"app-table",38,1)(17,"div",39),T(18,td,2,0,"ng-template",null,2,I),s(),r(20,"div",40),T(21,id,4,5,"ng-template",null,2,I),s(),r(23,"div",41),T(24,nd,2,1,"ng-template",null,2,I),s(),r(26,"div",42),T(27,od,6,3,"ng-template",null,2,I),s(),r(29,"div",43),T(30,ad,2,1,"ng-template",null,2,I),s(),r(32,"div",44),T(33,rd,2,1,"ng-template",null,2,I),s(),r(35,"div",45),T(36,sd,2,1,"ng-template",null,2,I),s()()()(),r(38,"section")(39,"div",32)(40,"h3"),m(41),c(42,"transloco"),s(),r(43,"button",33),b("click",function(){y(e);let i=d();return S(i.onAddRoleMap())}),r(44,"span",46),m(45),c(46,"transloco"),s()()(),r(47,"div",34)(48,"app-table-menu",35)(49,"div",36),T(50,ld,4,6,"ng-template",null,0,I),s()()(),r(52,"div",37)(53,"app-table",47,3)(55,"div",48),T(56,cd,2,0,"ng-template",null,2,I),s(),r(58,"div",49),T(59,pd,2,1,"ng-template",null,2,I),s(),r(61,"div",50),T(62,md,2,1,"ng-template",null,2,I),s(),r(64,"div",51),T(65,dd,2,1,"ng-template",null,2,I),s(),r(67,"div",45),T(68,ud,2,1,"ng-template",null,2,I),s()(),C(70,_d,5,3,"div",52),s()()}if(n&2){let e=N(16),t=N(54),i=d();o(3),_(p(4,9,"user_management.sso.ldap.user_attributes_assign")),o(4),_(p(8,11,"user_management.sso.add_user_attribute")),o(3),u("appTable",e),o(5),u("items",i.currentConnection.claimTypeMappings),o(26),_(p(42,13,"user_management.sso.roles_map")),o(4),_(p(46,15,"user_management.sso.add_role")),o(3),u("appTable",t),o(5),u("items",i.currentConnection.roleMappings),o(17),v(i.numberOfRoles===0?70:-1)}}var hd=["Username","Email","Surname","Forename","Roles","Location"],Yn=(()=>{class n{constructor(){this._feedbackService=h(oe),this._formBuilder=h(Ce),this._ldapService=h(Un),this._mappingHelperService=h(Li),this._modalService=h(B),this._route=h(me),this._router=h(de),this._translocoService=h(ge),this._unsavedChangesService=h(Tt),this.isPending=!1,this.formIsSent=!1,this._subscriptions=[]}set claimTable(e){this._claimTable=e}get claimTable(){return this._claimTable}set roleTable(e){this._roleTable=e}ngOnInit(){this._tenantKey=localStorage.getItem(Ye);let{id:e}=this._route.snapshot.params;this.ldapForm=this._formBuilder.group({connectionId:e??"",name:["",[G.required,G.minLength(1)]],server:["",[G.required,G.minLength(1)]],portNumber:[389,[G.required,G.min(1),G.max(65535)]],useSsl:!1,useWindowsAccountAuthentication:!1,priority:[1,[G.required,G.min(1)]],baseDN:["",[G.required,G.minLength(1)]],bindPassword:["",[G.required,G.minLength(1)]],searchFilter:"",bindUsername:["",[G.required,G.minLength(1)]]}),e&&this.patchIdpConnection(e)}
1onDestroy(){this._subscriptions.forEach(e=>e.unsubscribe())}onViewLogs(){this._router.navigate(["../../logging"],{relativeTo:this._route})}onCancel(){this._router.navigate(["../"],{relativeTo:this._route})}onSave(){if(!this.formGroupIsValid())return;this.isPending=!0,this.formIsSent=!0;let e={name:this.ldapForm.controls.name.value.trim(),server:this.ldapForm.controls.server.value.trim(),portNumber:this.ldapForm.controls.portNumber.value,useSsl:this.ldapForm.controls.useSsl.value,priority:this.ldapForm.controls.priority.value,useAnonymousBind:!1,bindPassword:this.ldapForm.controls.bindPassword.value,useWindowsAccountAuthentication:this.ldapForm.controls.useWindowsAccountAuthentication.value,baseDN:this.ldapForm.controls.baseDN.value.trim(),searchFilter:this.ldapForm.controls.searchFilter.value.trim(),bindUsername:this.ldapForm.controls.bindUsername.value.trim()};this.ldapForm.valid?this.ldapForm.controls.connectionId.value?(e.connectionId=this.ldapForm.controls.connectionId.value,this.updateConnection(e)):this.createConnection(e):(this.ldapForm.markAllAsTouched(),this.isPending=!1)}get numberOfClaimTypes(){return this.currentConnection.claimTypeMappings.length??0}get numberOfRoles(){return this.currentConnection.roleMappings.length??0}createConnection(e){this._subscriptions.push(this._ldapService.createLdapConnection(e).pipe(U(t=>{t&&this._feedbackService.showSuccessModal("user_management.sso.ldap.ldap_connection_successfully_created",`${this._tenantKey}/settings/sso/ldap/${t}`)}),F(()=>(this._feedbackService.showErrorModal("user_management.sso.ldap.ldap_connection_could_not_be_created"),ue)),Z(()=>this.isPending=!1)).subscribe())}updateConnection(e){this._subscriptions.push(this._ldapService.updateLdapConnection(e).pipe(F(()=>(this._feedbackService.showErrorModal(),ue)),Z(()=>this.isPending=!1)).subscribe(t=>{t?this._feedbackService.showSuccessModal("user_management.sso.adfs.idp_connection_successfully_edited",`${this._tenantKey}/sso/ldap`):this._feedbackService.showErrorModal()}))}onDeleteConnection(){let e=this._modalService.open(ae);e.componentInstance.isDeleteConfirmation=!0,e.componentInstance.title="user_management.sso.adfs.delete_idp_connection",this._subscriptions.push(this._translocoService.selectTranslate("user_management.sso.adfs.do_you_want_to_delete_idp_connection_x",{name:this.currentConnection.name}).subscribe(t=>e.componentInstance.text=t)),e.result.then(t=>{t.preset&&(this.isPending=!0,this._subscriptions.push(this._ldapService.deleteLdapConnection(this.currentConnection.id).pipe(Z(()=>this.isPending=!1)).subscribe(i=>{i?(this._ldapService.refreshLdapConnections(),this._feedbackService.showSuccessModal("user_management.sso.adfs.idp_connection_successfully_deleted",`${this._tenantKey}/sso/ldap`)):this._feedbackService.showErrorModal(void 0,`${this._tenantKey}/sso/ldap`)})))})}onAddAttributeMap(){this._subscriptions.push(this._ldapService.getAllNautosUserAttributes().subscribe(e=>{let t=this._modalService.open(ti);t.componentInstance.listElements=e.filter(i=>!this.currentConnection.claimTypeMappings.map(a=>a.nautosUserAttribute).includes(i)),t.componentInstance.title="user_management.sso.add_user_attribute",t.result.then(i=>{i?.passedElements&&this.checkChanges()})}))}onDeleteAttributeMaps(){let e=this._modalService.open(ae);e.componentInstance.isDeleteConfirmation=!0,e.componentInstance.title="user_management.sso.adfs.delete_claim_map_header",e.componentInstance.text="user_management.sso.delete_claim_map",e.result.then(t=>{if(t.preset){let f=this._claimTable.selectedRows.map(x=>x.item).map(x=>x.claimTypeMapId);this._subscriptions.push(this._ldapService.removeAttributeMapFromIdpConnection(this.currentConnection.id,f).pipe(F(()=>(this._feedbackService.showErrorModal(),ue)),Z(()=>this.isPending=!1)).subscribe(x=>{x?(this.currentConnection.claimTypeMappings=this.currentConnection.claimTypeMappings.filter(w=>!f.includes(w.claimTypeMapId)),this._feedbackService.showSuccessModal("user_management.sso.adfs.claim_map_successfully_deleted")):this._feedbackService.showErrorModal()}))}})}onEditAttributeMap(e){let t=this._modalService.open(Ai,{windowClass:"modal-large"});t.componentInstance.editClaimTypeMap(e,this.currentConnection.claimTypes),t.componentInstance.showSyncStrategyTypes=e.nautosUserAttribute!=="Username",t.result.then(i=>{if(i?.passedClaimTypeMap){let a=i.passedClaimTypeMap;this.isPending=!0,e.synchronizationStrategy=a.synchronizationStrategy,e.description=a.description,e.regularExpression=a.regularExpression,e.fixedValue=a.fixedValue,e.identityProvi
1derClaimType=a.identityProviderClaimType}})}claimTypeMapCanBeDeleted(e){return!hd.includes(e)}onAddRoleMap(){this._subscriptions.push(this._mappingHelperService.getRoleNamesForMapping().subscribe(e=>{let t=this._modalService.open(ti,{windowClass:"modal-extra-large"});t.componentInstance.listElements=e.filter(i=>!this.currentConnection.roleMappings.map(a=>a.nautosRole).includes(i)),t.componentInstance.title="user_management.sso.add_role",t.result.then(i=>{i?.passedElements&&this._subscriptions.push(this._ldapService.addRoleMapToIdpConnection(this.currentConnection.id,i.passedElements).pipe(F(()=>(this._feedbackService.showErrorModal(),ue)),Z(()=>this.isPending=!1)).subscribe(a=>{if(a.body&&a.status===tt.OK){let f=i.passedElements.map(x=>({roleMapId:a.body.filter(w=>w.nautosRoleName===x)[0].roleMapId,nautosRole:x}));this.currentConnection.roleMappings||(this.currentConnection.roleMappings=[]),this.currentConnection.roleMappings=[...this.currentConnection.roleMappings,...f],this._feedbackService.showSuccessModal("user_management.sso.adfs.role_map_successfully_added")}else this._feedbackService.showErrorModal()}))})}))}onEditRoleMap(e){let t=this._modalService.open(Oi);t.componentInstance.currentRoleMap=Ze.clone(e),t.result.then(i=>{i?.passedRoleMap&&(this.isPending=!0,this._subscriptions.push(this._ldapService.updateRoleMapOfIdpConnection(this.currentConnection.id,i.passedRoleMap).pipe(Z(()=>this.isPending=!1)).subscribe(a=>{a?(this.currentConnection.roleMappings[this.currentConnection.roleMappings.indexOf(e)]=i.passedRoleMap,this._feedbackService.showSuccessModal("user_management.sso.adfs.role_map_successfully_edited")):this._feedbackService.showErrorModal()})))})}onDeleteRoleMaps(){let e=this._modalService.open(ae);e.componentInstance.isDeleteConfirmation=!0,e.componentInstance.title="user_management.sso.adfs.delete_role_map_header",e.componentInstance.text="user_management.sso.adfs.delete_role_map_header",e.result.then(t=>{if(t.preset){let f=this._roleTable.selectedRows.map(x=>x.item).map(x=>x.roleMapId);this._subscriptions.push(this._ldapService.removeRoleMapFromIdpConnection(this.currentConnection.id,f).pipe(F(()=>(this._feedbackService.showErrorModal(),ue)),Z(()=>this.isPending=!1)).subscribe(()=>{this.currentConnection.roleMappings=this.currentConnection.roleMappings.filter(x=>!f.includes(x.roleMapId)),this._feedbackService.showSuccessModal("user_management.sso.adfs.role_map_successfully_deleted")}))}})}isFieldValid(e){return this.ldapForm.get(e).valid||!this.ldapForm.get(e).touched||this.formIsSent}patchIdpConnection(e){this._subscriptions.push(this._ldapService.getLdapConnectionById(e).subscribe(t=>{if(t){this.currentConnection=t;let i={connectionId:t.id,name:t.name,server:t.server,portNumber:t.portNumber,useSsl:t.useSsl,useWindowsAccountAuthentication:t.useWindowsAccountAuthentication,priority:t.priority,bindUsername:t.bindUsername,bindPassword:t.bindPassword,baseDN:t.baseDN,searchFilter:t.searchFilter};this.ldapForm.patchValue(i)}}))}formGroupIsValid(){let e=!0;return this.ldapForm.controls.name.valid||(this.ldapForm.controls.name.markAsTouched(),e=!1),this.ldapForm.controls.server.valid||(this.ldapForm.controls.server.markAsTouched(),e=!1),this.ldapForm.controls.portNumber.valid||(this.ldapForm.controls.portNumber.markAsTouched(),e=!1),this.ldapForm.controls.baseDN.valid||(this.ldapForm.controls.baseDN.markAsTouched(),e=!1),e}checkChanges(e){let t=this.hasFormChanged(e);this._unsavedChangesService.trackChanges(t)}hasFormChanged(e){return!!e}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275cmp=R({type:n,selectors:[["app-sso-ldap-detail"]],viewQuery:function(t,i){if(t&1&&K(qm,5,H)(jm,5,H),t&2){let a;
1z(a=W())&&(i.claimTable=a.first),z(a=W())&&(i.roleTable=a.first)}},decls:70,vars:50,consts:[["menuAnimatedButtons",""],["claimTable",""],["tableCell",""],["roleTable",""],[1,"detail-container"],[1,"header"],[1,"buttons"],["type","button","data-cy","deleteConnection",1,"btn-alert"],["type","button","data-cy","cancelConnection",1,"btn-primary-outline",3,"click"],["type","submit","data-cy","saveConnection",1,"btn-primary",3,"click"],["name","loading-spinner"],[1,"form-row"],["for","name",1,"mandatory"],[3,"formGroup"],["id","name","type","text","formControlName","name","data-cy","connectionName"],[1,"text-alert"],["for","ldap_server",1,"mandatory"],["id","ldap_server","type","text","formControlName","server"],["for","ldap_server_port",1,"mandatory"],["id","ldap_server_port","type","number","placeholder","389","formControlName","portNumber","min","1","max","65535"],["label","user_management.sso.ldap.use_ssl","formControlName","useSsl"],[1,"form-row",3,"formGroup"],["label","user_management.sso.ldap.use_windows_auth","formControlName","useWindowsAccountAuthentication"],["for","priority"],["id","priority","type","number","placeholder","1","formControlName","priority","min","1","max","5"],["for","bindUsername",1,"mandatory"],["id","bindUsername","type","text","formControlName","bindUsername"],["for","bindPassword",1,"mandatory"],["id","bindPassword","type","password","formControlName","bindPassword"],["for","baseDN",1,"mandatory"],["id","baseDN","type","text","formControlName","baseDN"],["type","button","data-cy","deleteConnection",1,"btn-alert",3,"click"],[1,"attributes-roles"],["type","button",1,"btn-primary-outline",3,"click"],[1,"container-menu-pagination"],[3,"appTable"],["menu",""],[1,"container-table"],["id","attribute-map-table",3,"items"],["tableColumn","","styleClasses","button-column"],["tableColumn","","columnText","user_management.sso.user_attribute"],["tableColumn","","columnText","user_management.sso.sync_strategy"],["tableColumn","","columnText","user_management.sso.ldap.claim_idp_name"],["tableColumn","","columnText","user_management.sso.fixed_value"],["tableColumn","","columnText","user_management.sso.regexp"],["tableColumn","","columnText","common.description"],["data-cy","addFieldRole"],["id","role-map-table",3,"items"],["tableColumn",""],["tableColumn","","columnText","user_management.sso.add_role"],["tableColumn","","columnText","user_management.sso.adfs.role_map_ad_group"],["tableColumn","","columnText","user_management.sso.priority"],[1,"no-content"],["type","button","data-cy","deleteAttributes",1,"btn-menu-animated",3,"click","ngbTooltip"],["name","delete"],["type","button",1,"btn-icon",3,"click"],["name","edit"],["data-cy","userAttribute"],["data-cy","syncStrategy"],["data-cy","idpName"],["data-cy","idpAttribute"],["data-cy","idpDescription"],["data-cy","fixedValue"],["data-cy","regExp"],["type","button","data-cy","iconDeleteRoles",1,"btn-menu-animated",3,"click","ngbTooltip"],["type","button","data-cy","iconEditRole",1,"btn-icon",3,"click"],["data-cy","roleName"],["data-cy","mapping"],["data-cy","priority"],["data-cy","description"],["sprite","icons-large","name","cross-large","data-cy","iconNoRoles",1,"icon-inactive"],["data-cy","textNoRoles"]],template:function(t,i){t&1&&(r(0,"div",4)(1,"div",5)(2,"h2"),m(3),c(4,"transloco"),c(5,"transloco"),s(),r(6,"div",6),C(7,Hm,3,3,"button",7),r(8,"button",8),b("click",function(){return i.onCancel()}),m(9),c(10,"transloco"),s(),r(11,"button",9),b("click",function(){return i.isPending?null:i.onSave()}),C(12,zm,1,0,"app-icon",10)(13,Wm,3,3,"span"),s()()(),r(14,"h3"),m(15),c(16,"transloco"),s(),r(17,"div",11)(18,"label",12),m(19),c(20,"transloco"),s(),r(21,"div",13),g(22,"input",14),C(23,Qm,3,3,"p",15),s()(),r(24,"div",11)(25,"label",16),m(26),c(27,"transloco"),s(),r(28,"div",13),g(29,"input",17),C(30,Km,3,3,"p",15),s()(),r(31,"div",11)(32,"label",18),m(33),c(34,"transloco"),s(),r(35,"div",13),g(36,"input",19),C(37,Ym,3,3,"p",15),s()(),r(38,"div",13),g(39,"app-checkbox",20),s(),r(40,"div",21),g(41,"app-checkbox",22),s(),r(42,"div",11)(43,"label",23),m(44),c(45,"transloco"),s(),r(46,"div",13),g(47,"input",24),s()(),r(48,"div",11)(49,"label",25),m(50),c(51,"transloco"),s(),r(52,"div",13),g(53,"input",26),C(54,Jm,3,3,"p",15),s()(),r(55,"div",11)(56,"label",27),m(57),c(58,"transloco"),s(),r(59,"div",13),g(60,"input",28),C(61,Xm,3,3,"p",15),s()(),r(62,"div",11)(63,"label",29),m(64),c(65,"transloco"),s(),r(66,"div",13),g(67,"input",30),C(68,Zm,3,3,"p",15),s()(),C(69,fd,71,17),s()),t&2&&(o(3),M(" ",i.ldapForm!=null&&i.ldapForm.controls.connectionId.value?p(4,28,"user_management.sso.settings.ldap"):p(5,30,"user_management.sso.ldap.create_ldap_connection")," "),o(4),v(i.currentConnection!=null&&i.currentConnection.id?7:-1),o(2),M(" ",p(10,32,"common.cancel")," "),o(3),v(i.isPending?12:13),o(3),_(p(16,34,"common.properties")),o(4),_(p(20,36,"common.name")),o(2),u("formGroup",i.ldapForm),o(2),v(i.isFieldValid("name")?-1:23),o(3),_(p(27,38,"user_management.sso.ldap.server")),o(2),u("formGroup",i.ldapForm),o(2),v(i.isFieldValid("server")?-1:30),o(3),_(p(34,40,"user_management.sso.ldap.port_number")),o(2),u("formGroup",i.ldapForm),o(2),v(i.isFieldValid("portNumber")?-1:37),o(),u("formGroup",i.ldapForm),o(2),u("formGroup",i.ldapForm),o(4),_(p(45,42,"user_management.sso.priority")),o(2),u("formGroup",i.ldapForm),o(4),_(p(51,44,"user_management.sso.ldap.bind_user")),o(2),u("formGroup",i.ldapForm),o(2),v(i.isFieldValid("bindUsername")?-1:54),o(3),_(p(58,46,"user_management.sso.ldap.bind_password")),o(2),u("formGroup",i.ldapForm),o(2),v(i.isFieldValid("bindPassword")?-1:61),o(3),_(p(65,48,"user_management.sso.ldap.base_distinguished_name")),o(2),u("formGroup",i.ldapForm),o(2),v(i.isFieldValid("baseDN")?-1:68),o(),v(i.currentConnection?69:-1))},dependencies:[Ie,V,Ae,X,pe,Y,sn,$,J,Do,Oo,te,ee,q,Oe,D,H,P,qt],styles:[".detail-container[_ngcontent-%COMP%] .form-row[_ngcontent-%COMP%]{display:flex;gap:var(--spacer);flex-wrap:wrap;min-height:60px}.detail-container[_ngcontent-%COMP%] .form-row[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]{flex:1}.detail-container[_ngcontent-%COMP%] .form-row[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]:last-child{flex:2}.detail-container[_ngcontent-%COMP%] .form-row[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]:last-child > *[_ngcontent-%COMP%]{width:60%;max-width:60%}.detail-container[_ngcontent-%COMP%] .row[_ngcontent-%COMP%]{display:flex;flex-flow:row nowrap}.detail-container[_ngcontent-%COMP%] .row[_ngcontent-%COMP%] .form-check-input[_ngcontent-%COMP%]{margin:0 calc(var(--spacer) / 2) calc(var(--spacer) / 2) var(--spacer)}.detail-container[_ngcontent-%COMP%] .row[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{line-height:1rem}.detail-container[_ngcontent-%COMP%] section[_ngcontent-%COMP%]:not(:last-child){border-bottom:var(--border);margin-bottom:var(--spacer);padding-bottom:var(--spacer)}.detail-container[_ngcontent-%COMP%] .attributes-roles[_ngcontent-%COMP%]{display:flex;gap:var(--spacer);flex-wrap:wrap;justify-content:space-between}"]})}}return n})();function gd(n,l){n&1&&g(0,"app-record-count",4),n&2&&u("count",l.length)}function Cd(n,l){if(n&1){let e=E();r(0,"div",12),b("click",function(){let i=y(e).item,a=d();return S(a.navigateToItem(i))})("keydown.enter",function(){let i=y(e).item,a=d();return S(a.navigateToItem(i))}),m(1),s()}if(n&2){let e=l.item;o(),M(" ",e.priority," ")}}function vd(n,l){if(n&1){let e=E();r(0,"div",13),b("click",function(){let i=y(e).item,a=d();return S(a.navigateToItem(i))})("keydown.enter",function(){let i=y(e).item,a=d();return S(a.navigateToItem(i))}),m(1),s()}if(n&2){let e=l.item;o(),M(" ",e.name," ")}}function bd(n,l){if(n&1){let e=E();r(0,"div",14),b("click",function(){let i=y(e).item,a=d();return S(a.navigateToItem(i))})("keydown.enter",function(){let i=y(e).item,a=d();return S(a.navigateToItem(i))}),m(1),s()}if(n&2){let e=l.item;o(),M(" ",e.server," ")}}function yd(n,l){if(n&1){let e=E();
1r(0,"button",15),b("click",function(){let i=y(e).item,a=d();return S(a.onDeleteLdapConnection(i))}),g(1,"app-icon",16),s()}}function Sd(n,l){n&1&&(r(0,"div",11),g(1,"app-icon",17),r(2,"p",18),m(3),c(4,"transloco"),s()()),n&2&&(o(3),_(p(4,1,"user_management.sso.adfs.no_ldap_connections")))}var Pa=(()=>{class n{constructor(){this._feedbackService=h(oe),this._ldapService=h(Un),this._modalService=h(B),this._route=h(me),this._router=h(de),this._translocoService=h(ge),this.isPending=!1,this._subscriptions=[]}get ldapConnectionTable(){return this._ldapConnectionTable}set ldapConnectionTable(e){this._ldapConnectionTable=e}ngOnInit(){this._tenantKey=localStorage.getItem(Ye),this._ldapService.refreshLdapConnections(),this.ldapConnectionCollection$=this._ldapService.ldapConnectionCollection$.pipe(_t()),this.ldapConnectionCollection$.subscribe(e=>{this.connections=e})}onDestroy(){this._subscriptions.forEach(e=>e.unsubscribe())}createLdapConnection(){this._router.navigate(["create"],{relativeTo:this._route})}navigateToItem(e){e?.id&&this._router.navigate([e.id],{relativeTo:this._route})}onDeleteLdapConnection(e){let t=this._modalService.open(ae);t.componentInstance.isDeleteConfirmation=!0,t.componentInstance.title="user_management.sso.adfs.delete_idp_connection",this._subscriptions.push(this._translocoService.selectTranslate("user_management.sso.adfs.do_you_want_to_delete_idp_connection_x",{name:e.name}).subscribe(i=>t.componentInstance.text=i)),t.result.then(i=>{i.preset&&(this.isPending=!0,this._subscriptions.push(this._ldapService.deleteLdapConnection(e.id).pipe(Z(()=>this.isPending=!1)).subscribe(a=>{a?this._feedbackService.showSuccessModal("user_management.sso.adfs.idp_connection_successfully_deleted",`${this._tenantKey}/sso/ldap`):this._feedbackService.showErrorModal(void 0,`${this._tenantKey}/sso/ldap`)})))})}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275cmp=R({type:n,selectors:[["app-sso-ldap-list"]],viewQuery:function(t,i){if(t&1&&K(H,7),t&2){let a;
1z(a=W())&&(i.ldapConnectionTable=a.first)}},decls:25,vars:14,consts:[["tableCell",""],[1,"overview-container"],[1,"header"],["data-cy","ldapTitle"],[3,"count"],["type","button","data-cy","createLdapConnection",1,"btn-primary","new_ldap_connection_button",3,"click"],[3,"items","hasCheckboxColumn"],["tableColumn","","columnText","user_management.sso.priority","itemProperty","priority"],["tableColumn","","columnText","user_management.sso.connection_name","itemProperty","name"],["tableColumn","","columnText","user_management.sso.ldap.server","itemProperty","primaryLDAPServer"],["tableColumn",""],[1,"no-content"],["data-cy","priority",1,"link-bold",3,"click","keydown.enter"],["data-cy","definition",1,"link-bold",3,"click","keydown.enter"],["data-cy","ldapServer",1,"link-bold",3,"click","keydown.enter"],["type","button","data-cy","iconDeleteConnection",1,"btn-icon",3,"click"],["name","delete"],["sprite","icons-large","name","cross-large","data-cy","iconNoLdap",1,"icon-inactive"],["data-cy","textNoLdap"]],template:function(t,i){if(t&1&&(r(0,"div",1)(1,"div",2)(2,"div")(3,"h2",3),m(4),c(5,"transloco"),s(),C(6,gd,1,1,"app-record-count",4),c(7,"async"),s(),r(8,"button",5),b("click",function(){return i.createLdapConnection()}),m(9),c(10,"transloco"),s()(),r(11,"app-table",6)(12,"div",7),T(13,Cd,2,1,"ng-template",null,0,I),s(),r(15,"div",8),T(16,vd,2,1,"ng-template",null,0,I),s(),r(18,"div",9),T(19,bd,2,1,"ng-template",null,0,I),s(),r(21,"div",10),T(22,yd,2,0,"ng-template",null,0,I),s()(),C(24,Sd,5,3,"div",11),s()),t&2){let a;fe("hide",i.isPending),o(4),_(p(5,8,"user_management.sso.settings.ldap")),o(2),v((a=p(7,10,i.ldapConnectionCollection$))?6:-1,a),o(3),M(" ",p(10,12,"user_management.sso.ldap.create_ldap_connection")," "),o(2),u("items",i.connections)("hasCheckboxColumn",!1),o(13),v((i.connections==null?null:i.connections.length)===0||!i.connections?24:-1)}},dependencies:[Le,V,He,q,D,H,bt,P],encapsulation:2})}}return n})();function xd(n,l){if(n&1){let e=E();ii(0,"div",1),c(1,"async"),ii(2,"button",2),yo("click",function(){let i=y(e).$implicit,a=d();return S(a.onSelectSetting(i))}),ii(3,"span"),m(4),c(5,"transloco"),yi()()()}if(n&2){let e=l.$implicit,t=l.$index,i=d();fe("disabled",e.disabled)("selected",p(1,6,i.activeRouteIndex$)===t),k("data-cy",e.value),o(4),_(p(5,8,e.text))}}var La=(()=>{class n{constructor(){this._changeDetectorRef=h(ct),this._route=h(me),this._router=h(de),this._tenantStateService=h(Ft),this.items=[],this._adfsActive="adfs",this.activeRouteIndex$=O(0),this.itemsChanged=new Ke(!1),this._isIntranet=!1,this._componentActive=!0}ngOnChanges(e){e.items&&this.itemsChanged.next(!0)}ngOnInit(){let e=this._router.events.pipe(Ci(t=>t instanceof ko),lt(0));this.activeRouteIndex$=so(e,this.itemsChanged).pipe(dt(()=>ci(this,null,function*(){return this.getActiveRoute()}))),this._tenantStateService.tenant$.pipe(et(()=>this._componentActive)).subscribe(t=>{t?.isSsoAllowed===!1?this.items=this.items.filter(i=>i.value!==this._adfsActive).filter(i=>this._isIntranet||i.value!=="ldap"):this.items=this.items.filter(i=>this._isIntranet||i.value!=="ldap")})}onSelectSetting(e){this._router.navigate([e.value],{relativeTo:this._route})}getActiveRoute(){if(this._router.url!=="/"&&this.items){let e=0;return this.items.forEach((t,i)=>{this._router.url.indexOf(t.value)>-1&&(e=i)}),this._changeDetectorRef.markForCheck(),e}return null}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275cmp=R({type:n,selectors:[["app-sso-setting-list"]],inputs:{items:"items"},features:[go],decls:2,vars:0,consts:[[1,"sso-setting-row",3,"disabled","selected"],[1,"sso-setting-row"],["type","button",1,"btn-icon-text",3,"click"]],template:function(t,i){t&1&&ye(0,xd,6,10,"div",0,ke),t&2&&Se(i.items)},dependencies:[q,bt,P],styles:[".sso-setting-row[_ngcontent-%COMP%]{border-bottom:var(--border);margin:1px}.sso-setting-row[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{color:var(--color-primary-dark);justify-content:flex-start;padding-inline:calc(var(--spacer) / 2);width:100%}.sso-setting-row[_ngcontent-%COMP%]:first-child{border-top:var(--border)}.sso-setting-row.selected[_ngcontent-%COMP%]{background-color:var(--color-gray-lighter)}.sso-setting-row.selected[_ngcontent-%COMP%] > button[_ngcontent-%COMP%]{color:var(--color-primary)}"]})}}return n})();var Aa=(()=>{class n{constructor(){this._userDetailConfig=h(Ei),this._tenantStateService=h(Ft),this._adfsActive="adfs",this._isIntranet=!1,this._componentActive=!0}ngOnInit(){this._isIntranet=localStorage.getItem(an)==="true",this.items=this._userDetailConfig.userDetail.ssoSett
1ings,this._tenantStateService.tenant$.pipe(et(()=>this._componentActive)).subscribe(e=>{e?.isSsoAllowed===!1?this.items=this.items.filter(t=>t.value!==this._adfsActive&&(this._isIntranet||!t.value.toString().includes("ldap"))&&t.value!=="sso/v1"&&t.value!=="sso/v2"):(this.items=this.items.filter(t=>this._isIntranet||!t.value.toString().includes("ldap")),!this.items.find(t=>t.value==="reqif")&&e?.modules.find(t=>t.bvNumber==="31840")!==void 0&&(this.items=[...this.items,{value:"reqif",text:"licenses.document_management.reqif.title"}])),this.appendOrderManagement(),this._tenantStateService.isNautosProActive()&&this.appendCustomRoles()})}appendOrderManagement(){this.items=this.items.filter(e=>e.value!=="order-management"),this.items.push({value:"order-management",text:"orders.title"})}appendCustomRoles(){this.items=this.items.filter(e=>e.value!=="role-management"),this.items.push({value:"role-management",text:"user_management.role_management.title"})}ngOnDestroy(){this._componentActive=!1}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275cmp=R({type:n,selectors:[["ng-component"]],decls:8,vars:4,consts:[[1,"sso-management-container"],[1,"menu"],[3,"items"],[1,"sso-content"]],template:function(t,i){t&1&&(r(0,"div",0)(1,"div",1)(2,"h1"),m(3),c(4,"transloco"),s(),g(5,"app-sso-setting-list",2),s(),r(6,"div",3),g(7,"router-outlet"),s()()),t&2&&(o(3),_(p(4,2,"user_management.settings")),o(2),u("items",i.items))},dependencies:[q,Wt,Et,La,P],styles:[".sso-management-container[_ngcontent-%COMP%]{display:flex}.sso-management-container[_ngcontent-%COMP%] .menu[_ngcontent-%COMP%]{flex:1;margin-right:calc(var(--spacer) * 2);transition:var(--transition)}.sso-management-container[_ngcontent-%COMP%] .menu[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{margin-bottom:calc(var(--spacer) * 2)}.sso-management-container[_ngcontent-%COMP%] .sso-content[_ngcontent-%COMP%]{border-left:var(--border);flex:4;min-height:30rem;padding-left:calc(var(--spacer) * 2);padding-right:2px;padding-top:2px;overflow:visible}"]})}}return n})();var Oa=(()=>{class n{constructor(){this._httpClient=h(Ue),this._configService=h(Me)}isStatisticsEnabled(){let e=`${this._configService.baseConfig.baseUrl}${this._configService.baseConfig.extension}/statistics/enabled`;return this._httpClient.get(e)}toggleStatistics(e){let t=`${this._configService.baseConfig.baseUrl}${this._configService.baseConfig.extension}/statistics/enabled`;return this._httpClient.post(t,e)}requestStatisticsCsvExport(e,t,i){let a=`${this._configService.baseConfig.baseUrl}${this._configService.baseConfig.extension}/export/csv/statistics`,f={filterFrom:e??void 0,filterTo:t??"",type:i??void 0};return this._httpClient.post(a,f,{observe:"response"})}deleteStatistics(){let e=`${this._configService.baseConfig.baseUrl}${this._configService.baseConfig.extension}/statistics`;return this._httpClient.delete(e,{observe:"response"}).pipe(U(t=>!!(t&&se.isAccepted(t.status))),F(()=>O(!1)))}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275prov=ce({token:n,factory:n.\u0275fac,providedIn:"root"})}}return n})();var Da=(()=>{class n{constructor(){this._value="",this.dateChanged=new _e,this.modalOpened=new _e}set value(e){this._value=e}get value(){return this._value}ngOnInit(){this.dateForm=new it({currentDate:new j(this.value)})}openModal(){this.modalOpened.emit()}onDateChanged(){let e=this.hasDayInput?/^(?:19|20)\d{2}(?:-(?:0[1-9]|1[0-2])(?:-(?:0[1-9]|[12]\d|3[01]))?)?$/gi:/(19|20)\d{2}-(0[1-9]|1[0-2])/gi,t=this.dateForm.controls.currentDate.value,i,a=!1;t?.length===0?(t="",a=!0,this.dateForm.controls.currentDate.patchValue("")):t&&(i=t.match(e)?.[0],a=!!i,i&&(t=i,this.dateForm.controls.currentDate.patchValue(i),a=!0)),a&&this.dateChanged.emit({fieldName:this.fieldName,currentDate:t})}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275cmp=R({type:n,selectors:[["app-date-input"]],inputs:{value:"value",fieldName:"fieldName",hasDayInput:"hasDayInput"},outputs:{dateChanged:"dateChanged",modalOpened:"modalOpened"},decls:10,vars:12,consts:[["dateInput",""],[1,"input-container"],[3,"formGroup"],[1,"input-group"],["type","text","formControlName","currentDate",3,"keyup","value","placeholder"],["type","button",1,"btn-icon-border",3,"click","ngbTooltip"],["name","add"]],template:function(t,i){t&1&&(r(0,"div",1)(1,"form",2)(2,"div",3)(3,"input",4,0),c(5,"transloco"),b("keyup",function(){return i.onDateChanged()}),s(),r(6,"button",5),c(7,"transloco"),c(8,"transloco"),b("click",function(){return i.openModal()}),g(9,"app-icon",6),s()()()()),t&2&&(o(),u("formGroup",i.dateForm),o(2),u("value",i.value)("placeholder",p(5,6,i.hasDayInput?"common.date_format_with_day":"common.date_format")),k("data-cy",i.fieldName),o(3),u("ngbTooltip",p(7,8,"common.datepicker.choose_date")),k("aria-label",p(8,10,"common.datepicker.choose_date")))},dependencies:[pe,ne,Y,$,J,te,ee,V,X,D,P],encapsulation:2})}}return n})();var Va=(()=>{class n{constructor(){this._modalService=h(B),this.datesChanged=new _e}openModal(){let e=this._modalService.open(hn);e.componentInstance.selectedFrom=this.startDate,e.componentInstance.selectedUntil=this.endDate,e.componentInstance.hasDayPicker=this.hasDayInput,e.result.then(t=>
1{t[0]&&(this.startDate=this.formatDate(t[0])),t[1]&&(this.endDate=this.formatDate(t[1])),this.datesChanged.emit({startDate:this.startDate,endDate:this.endDate})})}dateChanged(e){e?.fieldName&&(this[e.fieldName]=e.currentDate),this.datesChanged.emit({startDate:this.startDate,endDate:this.endDate})}formatDate(e){return this.hasDayInput?oi.getDateFormattedWithDay(e):oi.getDateFormatted(e)}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275cmp=R({type:n,selectors:[["app-date-picker"]],inputs:{startDate:"startDate",endDate:"endDate",languageJsonKey:"languageJsonKey",hasDayInput:"hasDayInput"},outputs:{datesChanged:"datesChanged"},decls:9,vars:10,consts:[["for","date"],["id","date",1,"container-dates"],["fieldName","startDate",3,"dateChanged","modalOpened","hasDayInput","value"],["fieldName","endDate",3,"dateChanged","modalOpened","hasDayInput","value"]],template:function(t,i){t&1&&(r(0,"label",0),m(1),c(2,"transloco"),s(),r(3,"div",1)(4,"app-date-input",2),b("dateChanged",function(f){return i.dateChanged(f)})("modalOpened",function(){return i.openModal()}),s(),r(5,"span"),m(6),c(7,"transloco"),s(),r(8,"app-date-input",3),b("dateChanged",function(f){return i.dateChanged(f)})("modalOpened",function(){return i.openModal()}),s()()),t&2&&(o(),_(p(2,6,i.languageJsonKey)),o(3),u("hasDayInput",i.hasDayInput)("value",i.startDate),o(2),_(p(7,8,"search.extended_search.to")),o(2),u("hasDayInput",i.hasDayInput)("value",i.endDate))},dependencies:[Da,D,P],styles:[".container-dates[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;gap:calc(var(--spacer) / 2)}"]})}}return n})();var Td=["selectedExportSelects"];function Md(n,l){n&1&&g(0,"app-icon",8)}function Id(n,l){if(n&1&&(r(0,"span"),m(1),s()),n&2){let e=d().$implicit;o(),_(e("common.save"))}}function Ed(n,l){if(n&1){let e=E();r(0,"div",2)(1,"div",3)(2,"h1"),m(3),s(),r(4,"div",4)(5,"button",5),b("click",function(){y(e);let i=d();return S(i.onDeleteStatistics())}),r(6,"span"),m(7),s()(),r(8,"button",6),b("click",function(){y(e);let i=d();return S(i.onCancel())}),r(9,"span"),m(10),s()(),r(11,"button",7),b("click",function(){y(e);let i=d();return S(i.isPending?null:i.onSaveStatisticsEnabled())}),C(12,Md,1,0,"app-icon",8)(13,Id,2,1,"span"),s()()(),r(14,"p",9),m(15),s(),r(16,"h2"),m(17),s(),r(18,"form",10)(19,"div",11),g(20,"app-checkbox",12)(21,"app-checkbox",13)(22,"app-checkbox",14),s(),r(23,"div",15)(24,"app-select",16,0),b("itemSelected",function(){y(e);let i=d();return S(i.onSelectionChanged())}),s(),r(26,"app-date-picker",17),b("datesChanged",function(i){y(e);let a=d();return S(a.onDatesChanged(i))}),s(),r(27,"button",18),b("click",function(){y(e);let i=d();return S(i.onCreateStatistics())}),r(28,"span"),m(29),s()()()()()}if(n&2){let e=l.$implicit,t=d();o(3),_(e("user_management.statistics.title")),o(4),_(e("user_management.statistics.delete")),o(3),_(e("common.cancel")),o(2),v(t.isPending?12:13),o(3),_(e("user_management.statistics.info_text")),o(2),_(e("user_management.statistics.collect")),o(),u("formGroup",t.statisticsEnabledForm),o(6),u("items",t.statisticTypes),o(2),u("languageJsonKey","user_management.statistics.period")("startDate",t.startDate),o(3),_(e("user_management.statistics.create_statistics."+t.statisticsTranslocoStrings[t.statisticsType]))}}var Na=(()=>{class n{constructor(){this._feedbackService=h(oe),this._modalService=h(B),this._statisticsService=h(Oa),this.isPending=!0,this.statisticsTranslocoStrings={documentAccessStatistics:"document_access_statistics",loginStatistics:"login_statistics",orderStatistics:"order_statistics"},this._statisticsTypesStrings=["documentAccessStatistics","loginStatistics","orderStatistics"]}ngOnInit(){this.buildForms(),this.startDate=oi.getDateFormatted(new Date),this.statisticsType="documentAccessStatistics",this.initExportTypeFields(this._statisticsTypesStrings),this._statisticsService.isStatisticsEnabled().pipe(Z(()=>{this.isPending=!1,this.statisticsEnabledForm.controls.statisticsSettings.patchValue(this._statisticsSettings)})).subscribe({next:e=>{this._statisticsSettings=e},error:()=>{this._statisticsSettings.loginStatisticsEnabled=!1,this._statisticsSettings.documentAccessStatisticsEnabled=!1,this._statisticsSettings.orderStatisticsEnabled=!1}})}onCreateStatistics(){this.requestStatisticsCsvExport()}onCancel(){this.statisticsEnabledForm.controls.statisticsSettings.patchValue(this._statisticsSettings)}onSaveStatisticsEnabled(){let e=this.statisticsEnabledForm.controls.statisticsSettings.value;this._statisticsService.toggleStatistics(e).subscribe({next:t=>{this._statisticsSettings=t,e?this._feedbackService.showSuccessModal("user_management.statistics.success_activate"):this._feedbackService.showSuccessModal("user_management.statistics.success_deactivate")},error:()=>{this._feedbackService.showErrorModal(),this._statisticsSettings=e}})}onDatesChanged(e){this.startDate=e.startDate,this._endDate=e.endDate}onSelectionChanged(){this.statisticsType=this.statisticsEnabledForm.controls.statisticsType.value}onDeleteStatistics(){let e=this._modalService.open(ae);e.componentInstance.isDeleteConfirmation=!0,e.componentInstance.title="user_management.statistics.delete",e.componentInstance.text="user_management.statistics.delete_warning",e.result.then(t=>{t.preset?this._statisticsService.deleteStatistics().pipe(Z(()=>this.isPending=!1)).subscribe(i=>{i?(this._feedbackService.showSuccessModal("user_management.statistics.delete_progress"),this.isPending=!1):this._feedbackService.showErrorModal()}):this.isPending=!1})}initExportTypeFields(e){this.statisticTypes=e.map(t=>({text:`user_management.statistics.${this.statisticsTranslocoStrings[t]}`,value:t}))}requestStatisticsCsvExport(){this._statisticsService.requestStatisticsCsvExport(this.startDate,this._endDate,this.statisticsType).subscribe({next:e=>{e.status===tt.ACCEPTED?this._feedbackService.showInfoModal("user_management.statistics.create_statistics."+this.statisticsTranslocoStrings[this.statisticsType],"user_management.statistics.info_modal."+this.statisticsTranslocoStrings[this.statisticsType],Mi.STATISTICS):this._feedbackService.showErrorModal()},error:e=>{e.status===Xt.TOO_MANY_REQUESTS?this._feedbackService.showErrorModal("common.export.too_many_requests"):this._feedbackService.showErrorModal()}})}buildForms(){this.statisticsEnabledForm=new it({statisticsSettings:new it({documentAccessStatisticsEnabled:new j(!1),loginStatisticsEnabled:new j(!1),orderStatisticsEnabled:new j(!1)}),statisticsType:new j(this.statisticsType)})}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275cmp=R({type:n,selectors:[["app-statistics"]],viewQuery:function(t,i){if(t&1&&K(Td,5),t&2){let a;
1z(a=W())&&(i.selectedExportSelects=a)}},decls:1,vars:0,consts:[["selectedExportSelects",""],["class","detail-container",4,"transloco"],[1,"detail-container"],[1,"header"],[1,"buttons"],["type","button","data-cy","delete",1,"btn-alert",3,"click"],["type","button","data-cy","cancelStatistics",1,"btn-primary-outline",3,"click"],["type","submit","data-cy","saveStatistics",1,"btn-primary",3,"click"],["name","loading-spinner"],["data-cy","infoText",1,"box-info"],[3,"formGroup"],["formGroupName","statisticsSettings",1,"statistics-activation"],["formControlName","documentAccessStatisticsEnabled","label","user_management.statistics.document_access_statistics","data-cy","toggleDocumentAccessStatistics"],["formControlName","loginStatisticsEnabled","label","user_management.statistics.login_statistics","data-cy","toggleLoginStatistics"],["formControlName","orderStatisticsEnabled","label","user_management.statistics.order_statistics","data-cy","toggleOrderStatistics"],[1,"statistics-create"],["label","user_management.statistics.type","formControlName","statisticsType","data-cy","statisticType",3,"itemSelected","items"],[3,"datesChanged","languageJsonKey","startDate"],["type","button","data-cy","export",1,"btn-primary-outline",3,"click"]],template:function(t,i){t&1&&T(0,Ed,30,11,"div",1)},dependencies:[Ie,Va,V,pe,ne,$,J,te,ee,Yt,q,Fo,D,mt],styles:[".detail-container[_ngcontent-%COMP%]{min-height:70vh}form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:calc(var(--spacer) * 2)}form[_ngcontent-%COMP%] .statistics-activation[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:var(--spacer)}form[_ngcontent-%COMP%] .statistics-create[_ngcontent-%COMP%]{display:flex;gap:calc(var(--spacer) * 2);flex-wrap:wrap;align-items:flex-end}form[_ngcontent-%COMP%] .statistics-create[_ngcontent-%COMP%] app-select[_ngcontent-%COMP%]{min-width:15rem}"]})}}return n})();var Ga=[{display:"Deutsch",value:"de"},{display:"English",value:"en"},{display:"Fran\xE7ais",value:"fr"}];var Di=(()=>{class n{constructor(){this._httpClient=h(Ue),this._configService=h(Me),this._companyCollectionSubject=ne
1w Ke([]),this.companyCollection$=this._companyCollectionSubject.asObservable(),this._baseUrlWithExtension=`${this._configService.baseConfig.baseUrl}${this._configService.baseConfig.extension}`}getAllCompaniesForTenant(){let e=`${this._baseUrlWithExtension}/companies`;return this._httpClient.get(e)}getAllCustomerNumbersForTenant(e){let t=`${this._baseUrlWithExtension}/tenants/${e}/subcustomernumbers`;return this._httpClient.get(t)}getCompanyDetail(e){let t=`${this._baseUrlWithExtension}/companies/${e}`;return this._httpClient.get(t)}createCompany(e){let t=`${this._baseUrlWithExtension}/companies`;return this._httpClient.post(t,e)}changeCompanyProperties(e){let t=`${this._baseUrlWithExtension}/companies`;return this._httpClient.put(t,e)}removeCompanies(e){let t=`${this._baseUrlWithExtension}/companies`;return this._httpClient.delete(t,{body:e}).pipe(U(i=>i??[]))}refreshCompanies(){this._companyCollectionSubscription?.unsubscribe(),this._companyCollectionSubscription=this.getAllCompaniesForTenant().pipe(lt(void 0)).subscribe(e=>{this._companyCollectionSubject.next(e)})}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275prov=ce({token:n,factory:n.\u0275fac,providedIn:"root"})}}return n})();var Ba=(()=>{class n{constructor(){this._httpClient=h(Ue),this._configService=h(Me)}getTenantType(e){let t=`${this._configService.baseConfig.baseUrl}${this._configService.baseConfig.extension}/tenants/tenanttype/${e}`;return this._httpClient.get(t)}getSsoAllowedStatus(){let e=`${this._configService.baseConfig.baseUrl}${this._configService.baseConfig.extension}/tenants/ssologinallowed`;return this._httpClient.get(e)}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275prov=ce({token:n,factory:n.\u0275fac,providedIn:"root"})}}return n})();var Fn=(()=>{class n{constructor(){this._inServiceLifetimeEditedOrCeatedUsers=new Map,this._inServiceLifetimeDeletedUsers=new Map,this._uuidRegex=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i}cacheUserAsEditedOrCreated(e){e?.id&&this._uuidRegex.exec(e.id)&&this._inServiceLifetimeEditedOrCeatedUsers.set(e.id,e)}isUserCachedAsEditedOrCreated(e){return this._uuidRegex.exec(e)?this._inServiceLifetimeEditedOrCeatedUsers.has(e):!1}getEditedOrCreatedUserFromCache(e){return this._uuidRegex.exec(e)?this._inServiceLifetimeEditedOrCeatedUsers.get(e)??null:null}clearCache(){this._inServiceLifetimeDeletedUsers.clear(),this._inServiceLifetimeEditedOrCeatedUsers.clear()}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275prov=ce({token:n,factory:n.\u0275fac,providedIn:"root"})}}return n})();var wt=class{constructor(l,e,t=!1){this.value=l,this.text=e,this.selected=t}};var wd=["lockForm"];function kd(n,l){n&1&&(r(0,"p"),m(1),c(2,"transloco"),s()),n&2&&(o(),_(p(2,1,"user_management.users.hint_user_list")))}function Rd(n,l){if(n&1&&(r(0,"div",14),m(1),s()),n&2){let e=l.item;o(),vt("",e.surname,", ",e.forename)}}function Ud(n,l){if(n&1&&(r(0,"div",15),m(1),s()),n&2){let e=l.item;o(),_(e.username)}}function Fd(n,l){if(n&1&&(r(0,"p",12),m(1),c(2,"transloco"),s()),n&2){let e=d();o(),_(p(2,1,e.selectUserError))}}var ji=(()=>{class n{constructor(){this.modalService=h(B),this._userService=h(we),this._authService=h(ot),this.invalidUsersSelected=!1,this.selectCol=!0,this.selectionUpdated=new _e,this.lockReason="",this.selectUserError="",this._subscriptions=[],this._sortColumns=[new wt("surname","Name"),new wt("username","Username"),new wt("costCenter","Kostenst.")],this._currentSortColumn=this._sortColumns[0],this._sortRevert=!1}get tableComponent(){return this._tableComponent}set tableComponent(e){this._tableComponent=e}get selectedUsersClone(){return this._selectedUsersClone}set sortColumns(e){this._sortColumns=e}get sortColumns(){return this._sortColumns}set currentSortColumn(e){this._currentSortColumn=e}get currentSortColumn(){return this._currentSortColumn}set sortRevert(e){this._sortRevert=e}get sortRevert(){return this._sortRevert}ngOnInit(){this._selectedUsersClone=this.selectedUsers,this.sortResult()}ngOnDestroy(){this._subscriptions.forEach(e=>e.unsubscribe())}onLock(){let e=this._tableComponent.selectedRows.map(t=>t.item);if(this.lockForm.valid&&e.length>0){let t=this.lockForm.value,i=new Date,a,x=this._tableComponent.selectedRows.map(w=>w.item);this._subscriptions.push(this._authService.userInfo$.subscribe({next:w=>{w?.username&&(a=w.username,this._subscriptions.push(this._userService.getUserByUsern
1ame(a).subscribe(L=>{let le=x.map(re=>({lockedById:L.id,reason:t.reason,time:i.toISOString(),userAccountId:re.id}));this.modalService.close({users:le})})))}}))}else this.selectUserError="user_management.users.please_select_a_user"}toggleSortRevert(){this.sortRevert=!this.sortRevert,this.sortResult()}sortSelect(e){if(this.currentSortColumn.value===e)this.toggleSortRevert();else{let t=this.sortColumns.filter(i=>i.value===e);this.currentSortColumn=t.length>0?t[0]:this.currentSortColumn,this.sortResult()}}rowClick(e){let t=this._tableComponent.selectedRows.map(a=>a.item);!e.row.selectedForm.value.selected||t.length>0?this.selectUserError="":this.selectUserError="user_management.users.please_select_a_user"}sortResult(){this.selectedUsersClone.sort((e,t)=>e[this.currentSortColumn.value].localeCompare(t[this.currentSortColumn.value])),this.sortRevert&&this.selectedUsersClone.reverse()}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275cmp=R({type:n,selectors:[["app-user-lock-modal"]],viewQuery:function(t,i){if(t&1&&K(wd,7)(H,7),t&2){let a;
1z(a=W())&&(i.lockForm=a.first),z(a=W())&&(i.tableComponent=a.first)}},inputs:{selectedUsers:"selectedUsers",invalidUsersSelected:"invalidUsersSelected",selectCol:"selectCol"},outputs:{selectionUpdated:"selectionUpdated"},decls:21,vars:7,consts:[["table",""],["tableCell",""],["lockForm","ngForm"],["modalTitle","user_management.users.lock_user"],[1,"modal-body"],["data-cy","table",1,"scroll-box",3,"rowClick","items"],["tableColumn","","columnText","common.name"],["tableColumn","","columnText","user_management.users.username"],["autocomplete","off",3,"ngSubmit"],[1,"form-group"],["for","lock-reason"],["id","lock-reason","name","reason","data-cy","lockReason",3,"ngModelChange","ngModel"],["data-cy","errorMessage",1,"text-alert"],["saveButtonText","user_management.lock","saveButtonClass","btn-alert",3,"cancelButtonClick","saveButtonClick"],["data-cy","lockedName"],["data-cy","lockedUsername"]],template:function(t,i){if(t&1){let a=E();g(0,"app-modal-header",3),r(1,"div",4),C(2,kd,3,3,"p"),r(3,"app-table",5,0),b("rowClick",function(x){return i.rowClick(x)}),r(5,"div",6),T(6,Rd,2,2,"ng-template",null,1,I),s(),r(8,"div",7),T(9,Ud,2,1,"ng-template",null,1,I),s()(),r(11,"div")(12,"form",8,2),b("ngSubmit",function(){return i.onLock()}),r(14,"div",9)(15,"label",10),m(16),c(17,"transloco"),s(),r(18,"textarea",11),Ge("ngModelChange",function(x){return y(a),Ne(i.lockReason,x)||(i.lockReason=x),S(x)}),s()(),C(19,Fd,3,3,"p",12),s()()(),r(20,"app-modal-footer",13),b("cancelButtonClick",function(){return i.modalService.dismiss()})("saveButtonClick",function(){return i.onLock()}),s()}t&2&&(o(2),v(i.invalidUsersSelected?2:-1),o(),u("items",i.selectedUsers),o(13),_(p(17,5,"user_management.reason")),o(2),Ve("ngModel",i.lockReason),o(),v(i.selectUserError&&i.selectUserError!==""?19:-1))},dependencies:[ft,ne,Y,$,J,at,Kt,Fe,Pe,q,he,D,H,P],encapsulation:2})}}return n})();function Pd(n,l){n&1&&g(0,"app-spinner")}function Ld(n,l){if(n&1){let e=E();ht(0),r(1,"app-checkbox",7),Ge("ngModelChange",function(i){let a=y(e).$implicit;return Ne(a.isSelected,i)||(a.isSelected=i),S(i)}),b("ngModelChange",function(i){let a=y(e).$implicit,f=d(2);return S(f.onSelectGroup(a,i))}),s(),gt()}if(n&2){let e=l.$implicit;o(),u("label",e.name),Ve("ngModel",e.isSelected)}}function Ad(n,l){if(n&1){let e=E();r(0,"div",2)(1,"input",4,0),c(3,"transloco"),Ge("ngModelChange",function(i){y(e);let a=d();return Ne(a.searchValue,i)||(a.searchValue=i),S(i)}),b("ngModelChange",function(){y(e);let i=d();return S(i.onChangeSearchGroup())}),s(),r(4,"cdk-virtual-scroll-viewport",5),b("scrolledIndexChange",function(){y(e);let i=d();return S(i.onGroupScrollChanged())}),T(5,Ld,2,2,"ng-container",6),s()()}if(n&2){let e=d();o(),u("appAutoFocus",!0),Ve("ngModel",e.searchValue),u("placeholder",p(3,4,"user_management.search_groups")),o(4),u("cdkVirtualForOf",e.displayGroups)}}var Jn=30,Pn=(()=>{class n{constructor(){this._groupService=h(pt),this.modalService=h(B),this.isPending=!1,this.checkedList=[],this._subscriptions=[],this._lastGroupPage=0,this._groupsLoading=!1,this._isLastGroupPage=!1}ngOnInit(){this.isPending=!0,this._groupService.filterGroupsThumbnails(this.searchValue,this._lastGroupPage,Jn).subscribe(e=>{if(e.length>0){this.displayGroups=e;for(let t of e)this.selectedUsers.filter(a=>a.groups&&a.groups.indexOf(t.id)>-1).length>0&&(this.displayGroups.find(a=>a.id===t.id).isSelected=!0);this._lastGroupPage++,this.isPending=!1}})}ngOnDestroy(){this._subscriptions.forEach(e=>e.unsubscribe())}onAddUsersToGroups(){let e=this.selectedUsers.map(i=>i.id),t=this.displayGroups.filter(i=>i.isSelected).map(i=>i.id);this._groupService.addUsersToGroups(e,t).pipe(be(()=>{this.modalService.close({preset:t})}),F(()=>(this.modalService.dismiss(),O(!1)))).subscribe()}onSelectGroup(e,t){this.displayGroups.find(i=>i.id===e.id).isSelected=t}onGroupScrollChanged(){this._groupsLoading||this._isLastGroupPage||this.virtualScroll.measureScrollOffset("bottom")<110&&(this._groupsLoading=!0,this._groupService.filterGroupsThumbnails(this.searchValue,this._lastGroupPage,Jn).subscribe(e=>{e.length>0?(this.displayGroups=this.displayGroups.concat(e),this._lastGroupPage++):this._isLastGroupPage=!0,this._groupsLoading=!1}))}onChangeSearchGroup(){this._lastInputTimeStamp=Date.now(),setTimeout(()=>{Date.now()-this._lastInputTimeStamp<500||(this._lastGroupPage=0,this._groupService.filterGroupsThumbnails(this.searchValue,this._lastGroupPage,Jn).subscribe(e=>{this.displayGroups=e,this._isLastGroupPage=!1,this._lastGroupPage++}))},500)}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275cmp=R({type:n,selectors:[["app-add-group-to-user-modal"]],viewQuery:function(t,i){if(t&1&&K(Je,5),t&2){let a;
1z(a=W())&&(i.virtualScroll=a.first)}},inputs:{selectedUsers:"selectedUsers"},decls:4,vars:4,consts:[["searchInput",""],["modalTitle","user_management.users.add_group",3,"border"],[1,"modal-body"],[3,"cancelButtonClick","saveButtonClick","border"],["id","groupSearchInput","name","groupSearchInput","type","text","data-cy","searchGroup",3,"ngModelChange","appAutoFocus","ngModel","placeholder"],["itemSize","30",1,"scroll-box",3,"scrolledIndexChange"],[4,"cdkVirtualFor","cdkVirtualForOf"],["data-cy","group",1,"one-line-text",3,"ngModelChange","label","ngModel"]],template:function(t,i){t&1&&(C(0,Pd,1,0,"app-spinner"),g(1,"app-modal-header",1),C(2,Ad,6,6,"div",2),r(3,"app-modal-footer",3),b("cancelButtonClick",function(){return i.modalService.dismiss()})("saveButtonClick",function(){return i.onAddUsersToGroups()}),s()),t&2&&(v(i.isPending?0:-1),o(),u("border",!0),o(),v(i.isPending?-1:2),o(),u("border",!0))},dependencies:[Be,Je,Ie,ft,Y,$,at,Fe,Pe,Qt,yt,Pt,Xe,D,P],styles:["app-checkbox[_ngcontent-%COMP%]{display:block;min-height:2rem}"]})}}return n})();function Od(n,l){if(n&1){let e=E();r(0,"button",14),c(1,"transloco"),c(2,"transloco"),b("click",function(){y(e);let i=d();return S(i.onUnlinkUserFromGroups())}),g(3,"app-icon",15),s()}if(n&2){let e=d();u("disabled",e.unlinkAllGroupsIsDisabled)("ngbTooltip",p(1,3,"user_management.unlink")),k("aria-label",p(2,5,"user_management.unlink"))}}function Dd(n,l){n&1&&g(0,"span",16)}function Vd(n,l){if(n&1){let e=E();r(0,"button",18),c(1,"transloco"),c(2,"transloco"),b("click",function(){y(e);let i=d().item,a=d();return S(a.onUnlinkUserFromGroup(i.groupId))}),g(3,"app-icon",15),s()}n&2&&(u("ngbTooltip",p(1,2,"user_management.unlink")),k("aria-label",p(2,4,"user_management.unlink")))}function Nd(n,l){if(n&1&&C(0,Vd,4,6,"button",17),n&2){let e=l.item;v(!e.isSystemGroup&&!e.isDynamicGroup?0:-1)}}function Gd(n,l){n&1&&(r(0,"div",13),g(1,"app-icon",19),r(2,"p",20),m(3),c(4,"transloco"),s()()),n&2&&(o(3),_(p(4,1,"user_management.groups.no_groups_assigned")))}var $a=(()=>{class n{constructor(){this._feedbackService=h(oe),this._groupService=h(pt),this._modalService=h(B),this.totalCountOfGroups=0,this.unlinkAllGroupsIsDisabled=!1,this.isEditMode=!1}set userGroupTable(e){e&&(this._userGroupTable=e)}get userGroupTable(){return this._userGroupTable}ngOnInit(){this._groupService.refreshGroups(),this._groupService.groupCollection$.subscribe(()=>{this.updateUserGroups()})}ngOnDestroy(){this.unlinkGroupSubscription&&this.unlinkGroupSubscription.unsubscribe(),this.userGroupsSubscription&&this.userGroupsSubscription.unsubscribe()}onUnlinkUserFromGroup(e){let t=this._modalService.open(ae);t.componentInstance.isUnlinkConfirmation=!0,t.componentInstance.title="user_management.users.unlink_group_title",t.componentInstance.text="user_management.users.unlink_group_text",t.result.then(i=>{if(i.preset){this.userGroupsSubscription&&this.userGroupsSubscription.unsubscribe();let a=[this.user.id];this.unlinkGroupSubscription=this._groupService.unlinkUsersFromGroup(e,a).subscribe(()=>{this.userGroupCollection=this.userGroupCollection.filter(f=>f.groupId!==e)})}})}onUnlinkUserFromGroups(){let e=this._modalService.open(ae);e.componentInstance.isUnlinkConfirmation=!0,e.componentInstance.title="user_management.users.unlink_group_title",e.componentInstance.text="user_management.users.unlink_group_text",e.result.then(t=>{if(t.preset){this.userGroupsSubscription&&this.userGroupsSubscription.unsubscribe();let f=this.userGroupTable.selectedRows.map(x=>x.item).filter(x=>!x.isSystemGroup&&!x.isDynamicGroup).map(x=>x.groupId);this.unlinkGroupSubscription=this._groupService.unlinkUserFromGroups(f,this.user.id).subscribe(()=>{this.userGroupCollection=this.userGroupCollection.filter(x=>!f.includes(x.groupId))})}})}onLinkUserToGroup(){this.user.groups=[],this.userGroupCollection.forEach(t=>{this.user.groups.push(t.groupId)});let e=this._modalService.open(Pn);e.componentInstance.selectedUsers=[this.user],e.result.then(t=>{let i=[];if(t?.preset){for(let a of t.preset)this.userGroupCollection.filter(f=>f.groupId===a).length<1&&i.push(a);this._groupService.getGroupsById(i).subscribe(a=>{a.length>0&&(this.userGroupCollection.push(...a),this._feedbackService.showSuccessModal(i.length===1?"user_management.users.user_successfully_linked_to_group":"user_management.users.users_successfully_linked_to_group"))})}})}updateUserGroups(){this.userGroupCollection=this._groupService.getGroupsForUser(this.user),this.userGroupCollection&&(this.totalCountOfGroups=this.userGroupCollection.length)}onRowSelect(e){this.unlinkAllGroupsIsDisabled=!1;let t=e.filter(i=>i.item.isDynamicGroup??i.item.isSystemGroup);e.length===t.length&&(this.unlinkAllGroupsIsDisabled=!0)}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275cmp=R({type:n,selectors:[["app-user-groups"]],viewQuery:function(t,i){if(t&1&&K(H,5),t&2){let a;
1z(a=W())&&(i.userGroupTable=a.first)}},inputs:{user:"user",isEditMode:"isEditMode"},decls:22,vars:11,consts:[["menuAnimatedButtons",""],["userGroupTable",""],["tableHeader",""],["tableCell",""],[1,"group-header"],["type","button","data-cy","addGroup",1,"btn-primary-outline",3,"click","disabled"],[1,"container-menu-pagination"],[3,"appTable"],["menu",""],["data-cy","table",3,"rowsSelected","items","showDynamicGroupControl"],["tableColumn","","itemProperty","id","styleClasses","button-column"],["tableColumn","","columnText","common.name","itemProperty","name"],["tableColumn","","columnText","user_management.users.user_count","itemProperty","userCount"],[1,"no-content"],["type","button","data-cy","iconUnlinkGroups",1,"btn-menu-animated",3,"click","disabled","ngbTooltip"],["name","cross"],[1,"icon-active"],["type","button","data-cy","iconUnlinkGroup",1,"btn-icon",3,"ngbTooltip"],["type","button","data-cy","iconUnlinkGroup",1,"btn-icon",3,"click","ngbTooltip"],["sprite","icons-large","name","groups-empty-large","data-cy","iconNoGroups",1,"icon-inactive"],["data-cy","textNoGroups"]],template:function(t,i){if(t&1&&(r(0,"div",4)(1,"h2"),m(2),c(3,"transloco"),s(),r(4,"button",5),b("click",function(){return i.onLinkUserToGroup()}),m(5),c(6,"transloco"),s()(),r(7,"div",6)(8,"app-table-menu",7)(9,"div",8),T(10,Od,4,7,"ng-template",null,0,I),s()()(),r(12,"app-table",9,1),b("rowsSelected",function(f){return i.onRowSelect(f)}),r(14,"div",10),T(15,Dd,1,0,"ng-template",null,2,I)(17,Nd,1,1,"ng-template",null,3,I),s(),g(19,"div",11)(20,"div",12),s(),C(21,Gd,5,3,"div",13)),t&2){let a=N(13);o(2),_(p(3,7,"user_management.groups.title")),o(2),u("disabled",!i.isEditMode),o(),M(" ",p(6,9,"user_management.users.add_group")," "),o(3),u("appTable",a),o(4),u("items",i.userGroupCollection)("showDynamicGroupControl",!1),o(9),v(i.userGroupCollection&&i.userGroupCollection.length===0?21:-1)}},dependencies:[V,Ae,X,q,he,Oe,D,H,P],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column}.group-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between}.group-header[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{width:fit-content}"]})}}return n})();var Bd=["searchInput"];function $d(n,l){n&1&&g(0,"app-spinner")}function qd(n,l){if(n&1){let e=E();r(0,"div",4)(1,"label",6),m(2),s(),r(3,"input",7),b("change",function(){let i=y(e).$implicit,a=d();return S(a.onSelectElement(i))}),s(),g(4,"label",8),s()}if(n&2){let e=l.$implicit,t=l.$index,i=d();o(),u("for","element"+t),o(),_(e),o(),u("id","element"+t)("value",e),k("checked",e===i.formSelectListElement.controls.selectedElementId.value),o(),u("for","element"+t)}}var qa=(()=>{class n{constructor(){this._changeDetectorRef=h(ct),this._formBuilder=h(Ce),this.modalService=h(B),this.isPending=!1,this.formSelectListElement=new it({}),this.elemtsToShow=[],this.modalTitle="",this.searchBarTitle="",this.searchBarPlaceholder="",this.saveBtnClicked=new _e}set searchInput(e){e&&!this._searchInput&&(this._searchInput=e,this._changeDetectorRef.detectChanges())}get searchInput(){return this._searchInput}ngOnInit(){this.formSelectListElement=this._formBuilder.group({selectedElementId:""})}onSelectElement(e){this.formSelectListElement.controls.selectedElementId.setValue(e)}onSave(){let e=this.elemtsToShow.find(t=>t===this.formSelectListElement.controls.selectedElementId.value);this.onSelectElement(""),this.saveBtnClicked.emit(),this.modalService.close({selectedElement:e})}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275cmp=R({type:n,selectors:[["app-select-single-list-element-modal"]],viewQuery:function(t,i){if(t&1&&K(Bd,5),t&2){let a;
1z(a=W())&&(i.searchInput=a.first)}},inputs:{elemtsToShow:"elemtsToShow",modalTitle:"modalTitle",searchBarTitle:"searchBarTitle",searchBarPlaceholder:"searchBarPlaceholder"},outputs:{saveBtnClicked:"saveBtnClicked"},decls:8,vars:5,consts:[[3,"modalTitle","border"],[1,"modal-body"],["itemSize","30",1,"scroll-box"],[3,"formGroup"],[1,"form-check"],[3,"cancelButtonClick","saveButtonClick","isSaveButtonDisabled"],["data-cy","location",3,"for"],["type","radio","formControlName","selectedElementId",1,"form-check-input",3,"change","id","value"],[1,"form-check-label",3,"for"]],template:function(t,i){t&1&&(C(0,$d,1,0,"app-spinner"),g(1,"app-modal-header",0),r(2,"div",1)(3,"cdk-virtual-scroll-viewport",2),ht(4,3),ye(5,qd,5,6,"div",4,ke),gt(),s()(),r(7,"app-modal-footer",5),b("cancelButtonClick",function(){return i.modalService.dismiss()})("saveButtonClick",function(){return i.onSave()}),s()),t&2&&(v(i.isPending?0:-1),o(),u("modalTitle",i.modalTitle)("border",!0),o(3),u("formGroup",i.formSelectListElement),o(),Se(i.elemtsToShow),o(2),u("isSaveButtonDisabled",i.formSelectListElement.controls.selectedElementId.value===""))},dependencies:[Je,Fe,Pe,pe,Y,xt,$,J,te,ee,q,yt,Xe],encapsulation:2})}}return n})();function ja(){return n=>n}var jd=["tree"];function Hd(n,l){n&1&&ut(0)}function zd(n,l){if(n&1&&T(0,Hd,1,0,"ng-container",8),n&2){d(2);let e=N(10);u("ngTemplateOutlet",e)}}function Wd(n,l){n&1&&ut(0)}function Qd(n,l){if(n&1&&T(0,Wd,1,0,"ng-container",8),n&2){d(2);let e=N(8);u("ngTemplateOutlet",e)}}function Kd(n,l){if(n&1&&(C(0,zd,1,1,"ng-container"),c(1,"hasPermissions"),C(2,Qd,1,1,"ng-container")),n&2){let e=d();v(e.treeNodes.length>0||p(1,2,e.permissions.EDIT_FAVORITES)?0:-1),o(2),v(e.isReadOnlyUser?2:-1)}}function Yd(n,l){if(n&1&&(r(0,"p",9),m(1),c(2,"transloco"),c(3,"transloco"),s()),n&2){let e=d(2);o(),M(" ",e.favoritesFolderType===e.folderType.Folder?p(2,1,"favorites.favorite.no_folder_shared_yet"):p(3,3,"favorites.note.no_folder_shared_yet")," ")}}function Jd(n,l){if(n&1&&C(0,Yd,4,5,"p",9),n&2){let e=d();v(e.treeNodes.length<1&&e.isOpen&&!e.isPending?0:-1)}}function Xd(n,l){if(n&1&&(r(0,"div",12)(1,"button",13),g(2,"app-icon",14),r(3,"span",15),m(4),s()()()),n&2){let e=l.$implicit;fe("no-search-match",e.matchesSearch===!1),o(),fe("node-content-wrapper-focused",e.isFocused),u("ngbTooltip",e.fullPath&&e.isSharedWithMe?e.fullPath:""),o(),u("name",e.icon)("ngClass",e.isSharedWithMe||e.isSharedFromMe?"icon-success":"icon-clickable-dark"),o(2),_(e.title)}}function Zd(n,l){if(n&1&&(r(0,"app-tree",11,2),T(2,Xd,5,8,"ng-template",null,3,I),s()),n&2){let e=d(2);u("hideCheckboxes",!0)("rootNodes",e.treeNodes)("getChildFn",e.getChildFn)("openFirst",!0)("selectOnTextClick",!1)("treeNodeDoesntHaveChildren",e.treeNodeDoesntHaveChildren)}}function eu(n,l){if(n&1&&(r(0,"div",10),vo("collapse-leave"),Co("collapse-enter"),C(1,Zd,4,6,"app-tree",11),s()),n&2){let e=d();o(),v(e.isOpen?1:-1)}}var Ha=(()=>{class n{constructor(){this._favoritesService=h(rn),this.folderType=di,this.isPending=!1,this.permissions=Q,this.treeNodeDoesntHaveChildren=!0,this.openPanel=new _e,this.closePanel=new _e,this.getChildren=new _e,this.leaveSharedFolder=new _e,this._isOpen=!1,this._searchTerm="",this._isDisabled=!1}set isExpanded(e){e?setTimeout(()=>{this._isExpanded=e},100):this._isExpanded=e}get isExpanded(){return this._isExpanded}get isOpen(){return this._isOpen}set isOpen(e){this._isOpen=e}get isDisabled(){return this._isDisabled}get favoritesFolderType(){return this._panelId===ui?di.Note:di.Folder}get panelTitle(){return this._panelTitle}set panelTitle(e){this._panelTitle=e}set panelId(e){this._panelId=e,this.favoritesOrNotesTranslationKey=e===ui?"favorites.note.create_folder":"favorites.favorite.create_folder"}get headerIconName(){return this._headerIconName}set headerIconName(e){this._headerIconName=e}get searchTerm(){return this._searchTerm}set searchTerm(e){this._searchTerm=e}get treeNodes(){return this._treeNodes}set treeNodes(e){this._treeNodes=e.map(t=>(t.icon=this._favoritesService.getNodeIcon(t),t)),this.treeNodeDoesntHaveChildren=!this._treeNodes.some(t=>t.hasChildren),this.isPending=!1}ngOnInit(){this._panelId===Bi||this._panelId===ui||(this._isDisabled=!0)}togglePanel(){this._isDisabled||(this.isPending=!0,this._isOpen=!this._isOpen,this._isOpen?this.openPanel.emit(this._panelId):this.closePanel.emit())}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275cmp=R({type:n,selectors:[["app-user-folder-tree-panel"]],viewQuery:function(t,i){if(t&1&&K(jd,5),t&2){let a;
1z(a=W())&&(i.tree=a.first)}},inputs:{isReadOnlyUser:"isReadOnlyUser",getChildFn:"getChildFn",rootFolderId:"rootFolderId",isExpanded:"isExpanded",isOpen:"isOpen",panelTitle:"panelTitle",panelId:"panelId",headerIconName:"headerIconName",searchTerm:"searchTerm",treeNodes:"treeNodes"},outputs:{openPanel:"openPanel",closePanel:"closePanel",getChildren:"getChildren",leaveSharedFolder:"leaveSharedFolder"},decls:11,vars:9,consts:[["readonly_favorites",""],["editWithResults",""],["tree",""],["nodeTemplate",""],["type","button","data-cy","toggleFolderType",1,"btn-collapse-small",3,"click"],["name","chevron",3,"direction"],[3,"name"],[3,"hidden"],[4,"ngTemplateOutlet"],[1,"no-folders"],[1,"collapsible-content"],[3,"hideCheckboxes","rootNodes","getChildFn","openFirst","selectOnTextClick","treeNodeDoesntHaveChildren"],[1,"folder-container"],["type","button",1,"btn-icon-text",3,"ngbTooltip"],["sprite","icons-folders","data-cy","iconFolder",3,"name","ngClass"],["data-cy","folderName",1,"one-line-text"]],template:function(t,i){t&1&&(r(0,"button",4),b("click",function(){return i.togglePanel()}),g(1,"app-icon",5)(2,"app-icon",6),r(3,"span",7),m(4),c(5,"transloco"),s()(),C(6,Kd,3,4),T(7,Jd,1,1,"ng-template",null,0,I)(9,eu,2,1,"ng-template",null,1,I)),t&2&&(o(),fe("disabled",i.isDisabled),u("direction",i.isOpen?"down":"right"),o(),u("name",i.headerIconName),o(),u("hidden",!i.isExpanded),o(),_(p(5,7,i.panelTitle)),o(2),v(i.isPending?-1:6))},dependencies:[Le,nt,Ht,V,X,q,D,zo,$o,P],styles:[".folder-container[_ngcontent-%COMP%]{display:flex;align-items:center;height:2.5rem;width:100%}.folder-container[_ngcontent-%COMP%] .btn-icon[_ngcontent-%COMP%]{height:2.25rem;margin-right:2px;min-height:2.25rem;min-width:2.25rem}.folder-container[_ngcontent-%COMP%] .btn-icon-text[_ngcontent-%COMP%]{color:var(--color-primary-dark);font-family:var(--font-family-regular);height:2.25rem;min-height:2.25rem;justify-content:flex-start;line-height:1.5;margin-left:2px;width:100%}.folder-container[_ngcontent-%COMP%] .btn-icon-text[_ngcontent-%COMP%]:active, .folder-container[_ngcontent-%COMP%] .btn-icon-text[_ngcontent-%COMP%]:focus, .folder-container[_ngcontent-%COMP%] .btn-icon-text[_ngcontent-%COMP%]:hover{text-decoration:none}.folder-container[_ngcontent-%COMP%] .show-observation[_ngcontent-%COMP%]{color:var(--color-gray-dark);cursor:default}.folder-container[_ngcontent-%COMP%] .show-observation[_ngcontent-%COMP%] svg.icon-bell-off[_ngcontent-%COMP%]{color:pink}.btn-collapse-small[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:nth-child(2){margin-left:calc(var(--spacer) / -2)}.container-create-folder[_ngcontent-%COMP%]{border-bottom:var(--border);padding:calc(var(--spacer) / 2) calc(var(--spacer) / 4)}.container-create-folder[_ngcontent-%COMP%] > button[_ngcontent-%COMP%]{justify-content:flex-start;width:100%}.disabled[_ngcontent-%COMP%]{cursor:not-allowed;pointer-events:none}.no-folders[_ngcontent-%COMP%]{font-family:var(--font-family-italic);margin:var(--spacer)}.collapsible-content[_ngcontent-%COMP%]{min-height:0;overflow:hidden}.collapse-enter[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_collapse-enter .2s ease-in}.collapse-leave[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_collapse-leave .2s ease-in}@keyframes _ngcontent-%COMP%_collapse-enter{0%{grid-template-rows:0fr;opacity:0}to{grid-template-rows:1fr;opacity:1}}@keyframes _ngcontent-%COMP%_collapse-leave{0%{grid-template-rows:1fr;opacity:1}to{grid-template-rows:0fr;opacity:0}}"]})}}return n})();var tu=["userLicenseTable"],iu=["costCenter"],nu=(n,l)=>({id:n,title:l}),ou=n=>[n],au=()=>[],ru=(n,l)=>({date:n,user:l}),su=n=>({date:n});function lu(n,l){if(n&1){let e=E();r(0,"button",72),b("click",function(){y(e);let i=d(2);return S(i.onDeleteUser())}),m(1),c(2,"transloco"),s()}
1n&2&&(o(),M(" ",p(2,1,"common.delete")," "))}function cu(n,l){n&1&&g(0,"app-icon",17)}function pu(n,l){n&1&&(r(0,"span",18),m(1),c(2,"transloco"),s()),n&2&&(o(),_(p(2,1,"common.save")))}function mu(n,l){if(n&1&&(r(0,"p",75),m(1),c(2,"date"),c(3,"transloco"),s()),n&2){let e=d(3);o(),M(" ",Te(3,4,"user_management.users.user_was_locked_on_by",Ut(7,ru,Te(2,1,e.user==null?null:e.user.lock.time,"dd.MM.yyyy"),e.user==null?null:e.user.lock.nameOfExecutingUser))," ")}}function du(n,l){if(n&1&&(r(0,"p",75),m(1),c(2,"date"),c(3,"transloco"),s()),n&2){let e=d(3);o(),M(" ",Te(3,4,"user_management.users.user_was_locked_on_by_system",Re(7,su,Te(2,1,e.user==null?null:e.user.lock.time,"dd.MM.yyyy")))," ")}}function uu(n,l){if(n&1&&(r(0,"p",76)(1,"span",78),m(2),c(3,"transloco"),s(),r(4,"span",79),m(5),s()()),n&2){let e=d(3);o(2),_(p(3,2,"user_management.reason")),o(3),_(e.user==null?null:e.user.lock.reason)}}function _u(n,l){if(n&1){let e=E();r(0,"button",80),b("click",function(){y(e);let i=d(3);return S(i.onUnlockUser())}),m(1),c(2,"transloco"),s()}
1n&2&&(o(),M(" ",p(2,1,"user_management.lift_suspension")," "))}function fu(n,l){if(n&1&&(r(0,"div",19)(1,"p",73),m(2),c(3,"transloco"),s(),r(4,"div",74)(5,"div"),C(6,mu,4,10,"p",75),C(7,du,4,9,"p",75),C(8,uu,6,4,"p",76),s(),C(9,_u,3,3,"button",77),s()()),n&2){let e=d(2);o(2),M(" ",p(3,5,"user_management.users.user_is_locked")," "),o(4),v((e.user==null?null:e.user.lock.idOfExecutingUser)!==e.emptyGuid?6:-1),o(),v((e.user==null?null:e.user.lock.idOfExecutingUser)===e.emptyGuid?7:-1),o(),v(e.user!=null&&e.user.lock.reason?8:-1),o(),v(e.isEditMode?9:-1)}}function hu(n,l){if(n&1&&(r(0,"div")(1,"p",81),m(2),c(3,"transloco"),s(),r(4,"p",82),m(5),s()()),n&2){let e=d(2);o(2),_(p(3,2,"user_management.users.username")),o(3),_(e.user.username)}}function gu(n,l){n&1&&(r(0,"p",85),m(1),c(2,"transloco"),s()),n&2&&(o(),M(" ",p(2,1,"user_management.users.username_already_assigned")," "))}function Cu(n,l){n&1&&(r(0,"p",85),m(1),c(2,"transloco"),s()),n&2&&(o(),M(" ",p(2,1,"common.please_fill_this_field")," "))}function vu(n,l){n&1&&(r(0,"p",85),m(1),c(2,"transloco"),s()),n&2&&(o(),M(" ",p(2,1,"user_management.users.username_invalid")," "))}function bu(n,l){if(n&1&&(r(0,"div",21)(1,"label",83),m(2),c(3,"transloco"),s(),g(4,"input",84),C(5,gu,3,3,"p",85),C(6,Cu,3,3,"p",85),C(7,vu,3,3,"p",85),s()),n&2){let e=d(2);o(2),_(p(3,5,"user_management.users.username")),o(2),u("appAutoFocus",!0),o(),v(e.userFormGroup.touched&&(e.userFormGroup.controls.username.errors!=null&&e.userFormGroup.controls.username.errors.usernameTaken)?5:-1),o(),v(!e.userFormGroup.get("username").valid&&e.userFormGroup.touched&&(e.userFormGroup.controls.username.errors!=null&&e.userFormGroup.controls.username.errors.required)?6:-1),o(),v(!e.userFormGroup.get("username").valid&&e.userFormGroup.touched&&(e.userFormGroup.controls.username.errors!=null&&e.userFormGroup.controls.username.errors.invalidCharacters)?7:-1)}}function yu(n,l){n&1&&(r(0,"p",24),m(1),c(2,"transloco"),s()),n&2&&(o(),M(" ",p(2,1,"common.please_fill_this_field")," "))}function Su(n,l){n&1&&(r(0,"p",27),m(1),c(2,"transloco"),s()),n&2&&(o(),M(" ",p(2,1,"common.please_fill_this_field")," "))}function xu(n,l){n&1&&(r(0,"p",30),m(1),c(2,"transloco"),s()),n&2&&(o(),M(" ",p(2,1,"user_management.users.please_use_valid_email")," "))}function Tu(n,l){n&1&&(r(0,"p",30),m(1),c(2,"transloco"),s()),n&2&&(o(),M(" ",p(2,1,"common.please_fill_this_field")," "))}function Mu(n,l){n&1&&(r(0,"p",35),m(1),c(2,"transloco"),s()),n&2&&(o(),M(" ",p(2,1,"user_management.users.location_needs_to_be_assigned")," "))}function Iu(n,l){if(n&1&&g(0,"app-role-selection",36),n&2){let e=d(2);u("availableRoles",e.availableRoles)("formGroup",e.userFormGroup)("standardAdditiveRoles",e.standardAdditiveRoles)("readOnlyAdditiveRoles",e.readOnlyAdditiveRoles)("allRoles",e.roles)("availableCustomRoles",e.customRoles)}}function Eu(n,l){n&1&&(r(0,"div",44)(1,"p",86),m(2),c(3,"transloco"),s(),r(4,"p",87),m(5),c(6,"transloco"),s()()),n&2&&(o(2),_(p(3,2,"common.password")),o(3),M(" ",p(6,4,"user_management.users.password_policy_email")," "))}function wu(n,l){n&1&&(r(0,"p",65),m(1),c(2,"transloco"),s()),n&2&&(o(),M(" ",p(2,1,"common.date_format_with_day_error")," "))}function ku(n,l){if(n&1){let e=E();r(0,"div",66)(1,"button",88),b("click",function(){y(e);let i=d(2);return S(i.onLockUser())}),r(2,"span",89),m(3),c(4,"transloco"),s()()()}n&2&&(o(3),_(p(4,1,"user_management.lock")))}function Ru(n,l){n&1&&(r(0,"section")(1,"h2"),m(2),c(3,"transloco"),s(),g(4,"app-checkbox",90),s()),n&2&&(o(2),_(p(3,1,"user_management.options_title")))}function Uu(n,l){n&1&&(r(0,"div",44)(1,"p",91),m(2),c(3,"transloco"),s(),r(4,"p",92),m(5),c(6,"transloco"),s()()),n&2&&(o(2),M(" ",p(3,2,"user_management.information_box_title")," "),o(3),M(" ",p(6,4,"user_management.information_box_content")," "))}function Fu(n,l){if(n&1){let e=E();r(0,"button",107),c(1,"transloco"),c(2,"transloco"),b("click",function(){y(e);let i=d(3);return S(i.onUnlinkLicenses())}),g(3,"app-icon",108),s()}n&2&&(u("ngbTooltip",p(1,2,"user_management.unlink")),k("aria-label",p(2,4,"user_management.unlink")))}function Pu(n,l){if(n&1){let e=E();r(0,"app-table-filter",111),b("filterClose",function(){y(e),d();let i=N(1);return S(i.close())})("filter",function(i){y(e);let a=d(4);return S(a.onFilterLicenses(i))})("resetFilter",function(){y(e);let i=d(4);return S(i.onResetLicenseFilters())}),s()}if(n&2){let e=d(4);u("activeFilter",e.currentLicenseTitleFilter)}}function Lu(n,l){if(n&1&&(r(0,"button",109,5),c(2,"transloco"),g(3,"app-icon",110),s(),T(4,Pu,1,1,"ng-template",null,6,I)),n&2){let e=N(5),t=d(3);
1u("ngbPopover",e),k("aria-label",p(2,3,"common.table.open_filter")),o(3),u("ngClass",t.currentLicenseTitleFilter?"icon-filter-active":"icon-filter-inactive")}}function Au(n,l){if(n&1){let e=E();r(0,"button",112),c(1,"transloco"),c(2,"transloco"),b("click",function(){let i=y(e).item,a=d(3);return S(a.onUnlinkLicense(i))}),g(3,"app-icon",108),s()}n&2&&(u("ngbTooltip",p(1,2,"user_management.unlink")),k("aria-label",p(2,4,"user_management.unlink")))}function Ou(n,l){if(n&1&&(g(0,"app-icon",113),c(1,"transloco"),c(2,"transloco"),c(3,"transloco"),c(4,"transloco")),n&2){let e=l.item,t=d(3);u("name",t.isMultiUserLicense(e)?"group":"user")("ngbTooltip",t.isMultiUserLicense(e)?p(1,3,"licenses.multi_license"):p(2,5,"licenses.single_license")),k("aria-label",t.isMultiUserLicense(e)?p(3,7,"licenses.multi_license"):p(4,9,"licenses.single_license"))}}function Du(n,l){n&1&&(m(0),c(1,"transloco")),n&2&&M(" ",p(1,1,"licenses.document_management.subscription.bestcollection_license")," ")}function Vu(n,l){if(n&1){let e=E();r(0,"span",114),b("click",function(){let i=y(e).item,a=d(3);return S(a.callLicense(i))})("keydown.enter",function(){let i=y(e).item,a=d(3);return S(a.callLicense(i))}),C(1,Du,2,3),m(2),s()}if(n&2){let e=l.item,t=d(3),i=t.nautosTitleUtils.isNautosCollectionTitle(e.title),a=i?t.nautosTitleUtils.cutNautosCollectionFromTitle(e.title):e.title;o(),v(i?1:-1),o(),M(" ",a," ")}}function Nu(n,l){if(n&1&&m(0),n&2){let e=d(2).item;_(e.description)}}function Gu(n,l){if(n&1&&(r(0,"div",115)(1,"div",116),g(2,"app-icon",117),s()(),T(3,Nu,1,1,"ng-template",null,7,I)),n&2){let e=N(4);u("ngbTooltip",e)}}function Bu(n,l){if(n&1&&C(0,Gu,5,1),n&2){let e=l.item;v(e.description&&e.description.trim()?0:-1)}}function $u(n,l){if(n&1&&(r(0,"span",118),m(1),c(2,"transloco"),s()),n&2){let e=l.item,t=d(3);o(),_(p(2,1,t.getLicenseType(e)))}}function qu(n,l){if(n&1&&(r(0,"span",119),m(1),c(2,"date"),s()),n&2){let e=l.item;o(),_(Te(2,1,e.createdOn,"yyyy-MM-dd"))}}function ju(n,l){if(n&1&&(r(0,"span",120),m(1),c(2,"date"),s()),n&2){let e=l.item;o(),_(Te(2,1,e.changedOn,"yyyy-MM-dd"))}}function Hu(n,l){n&1&&(r(0,"div",106),g(1,"app-icon",121),r(2,"p",122),m(3),c(4,"transloco"),s()()),n&2&&(o(3),_(p(4,1,"licenses.no_licenses_assigned")))}function zu(n,l){if(n&1){let e=E();r(0,"section",70)(1,"div",93)(2,"h2"),m(3),c(4,"transloco"),s(),r(5,"button",94),b("click",function(){y(e);let i=d(2);return S(i.onAddNewUserLicense())}),m(6),c(7,"transloco"),s()(),r(8,"div",95)(9,"app-table-menu",96,0)(11,"div",97),T(12,Fu,4,6,"ng-template",null,1,I),s()(),r(14,"app-pagination",98),b("pageChange",function(i){y(e);let a=d(2);return S(a.onLicensePageChange(i))}),s()(),r(15,"div",68)(16,"app-table",99,2),T(18,Lu,6,5,"ng-template",null,3,I),r(20,"div",100),T(21,Au,4,6,"ng-template",null,4,I),s(),r(23,"div",100),T(24,Ou,5,11,"ng-template",null,4,I),s(),r(26,"div",101),T(27,Vu,3,2,"ng-template",null,4,I),s(),r(29,"div",102),T(30,Bu,1,1,"ng-template",null,4,I),s(),r(32,"div",103),T(33,$u,3,3,"ng-template",null,4,I),s(),r(35,"div",104),T(36,qu,3,4,"ng-template",null,4,I),s(),r(38,"div",105),T(39,ju,3,4,"ng-template",null,4,I),s()()(),C(41,Hu,5,3,"div",106),s()}if(n&2){let e=N(10),t=N(17),i=d(2);o(3),_(p(4,11,"licenses.title")),o(2),u("disabled",!i.isEditMode),o(),M(" ",p(7,13,"user_management.add_license")," "),o(3),u("appTable",t),o(5),u("collectionSize",i.totalCountOflicenses)("page",i.licensePageNumber)("tableMenu",e)("pageSize",i.licensePageSize),o(2),u("items",i.allDisplayedLicenses),o(10),u("sortable",!0),o(15),v(i.allDisplayedLicenses.length===0?41:-1)}}function Wu(n,l){if(n&1){let e=E();r(0,"app-user-folder-tree-panel",127,8),b("openPanel",function(i){y(e);let a=d(3);return S(a.onOpenPanel(i,!0))}),s()}if(n&2){let e=d(3);u("panelId",e.navigationPanelInfos[0].panelId)("panelTitle",e.navigationPanelInfos[0].panelTitle)("rootFolderId",e.rootFolderId)("headerIconName",e.navigationPanelInfos[0].headerIconName)("treeNodes",e.rootFavNodes)("getChildFn",e.getChildren)("isOpen",!0)("isReadOnlyUser",e.isReadOnlyUser)("isExpanded",!0)}}function Qu(n,l){if(n&1){let e=E();r(0,"app-user-folder-tree-panel",127,8),b("openPanel",function(i){y(e);let a=d(3);return S(a.onOpenPanel(i,!0))}),s()}if(n&2){let e=d(3);u("panelId",e.navigationPanelInfos[1].panelId)("panelTitle",e.navigationPanelInfos[1].panelTitle)("rootFolderId",e.rootFolderId)("headerIconName",e.navigationPanelInfos[1].headerIconName)("treeNodes",e.rootNoteNodes)("getChildFn",e.getChildren)("isOpen",!0)("isReadOnlyUser",e.isReadOnlyUser)("isExpanded",!0)}}function Ku(n,l){if(n&1&&(r(0,"section",71)(1,"div",123)(2,"h2"),m(3),c(4,"transloco"),s(),g(5,"app-record-count",124),s(),r(6,"div",125),T(7,Wu,2,9,"app-user-folder-tree-panel",126)(8,Qu,2,9,"app-user-folder-tree-panel",126),s()()),n&2){let e=d(2);o(3),_(p(4,4,"favorites.favorites_and_notes")),o(2),u("count",e.totalFolderCount),o(2),u("permissions",e.navigationPanelInfos[0].permissions),o(),u("permissions",e.navigationPanelInfos[1].permissions)}}function Yu(n,l){if(n&1){let e=E();r(0,"form",10),b("ngSubmit",function(){y(e);let i=d();return S(i.requesting?null:i.onSubmit())})("keydown.enter",function(i){y(e);let a=d();return S(a.$asInputElement(i.target).id!=="costCenter"||a.getCurrentCostCenterValue()==="")}),r(1,"div",11)(2,"div",12)(3,"h1"),m(4),c(5,"transloco"),c(6,"transloco"),s(),r(7,"div",13),C(8,lu,3,3,"button",14),r(9,"button",15),b("
1click",function(){y(e);let i=d();return S(i.onCancel())}),m(10),c(11,"transloco"),s(),r(12,"button",16),C(13,cu,1,0,"app-icon",17)(14,pu,3,3,"span",18),s()()(),r(15,"section")(16,"h2"),m(17),c(18,"transloco"),s(),C(19,fu,10,7,"div",19),r(20,"div",20),C(21,hu,6,4,"div")(22,bu,8,7,"div",21),r(23,"div",21)(24,"label",22),m(25),c(26,"transloco"),s(),g(27,"input",23),C(28,yu,3,3,"p",24),s(),r(29,"div",21)(30,"label",25),m(31),c(32,"transloco"),s(),g(33,"input",26),C(34,Su,3,3,"p",27),s(),r(35,"div",21)(36,"label",28),m(37),c(38,"transloco"),s(),g(39,"input",29),C(40,xu,3,3,"p",30),C(41,Tu,3,3,"p",30),s(),g(42,"app-select",31),r(43,"div",32)(44,"label",33),m(45),c(46,"transloco"),s(),r(47,"app-chip-input",34),b("add",function(){y(e);let i=d();return S(i.onChangeLocation())})("remove",function(){y(e);let i=d();return S(i.onRemoveLocation())}),s(),C(48,Mu,3,3,"p",35),s(),C(49,Iu,1,6,"app-role-selection",36),r(50,"div")(51,"div")(52,"p",37),m(53),c(54,"transloco"),s(),r(55,"span",38),m(56),c(57,"date"),s()(),r(58,"div",39)(59,"p",40),m(60),c(61,"transloco"),s(),r(62,"div"),g(63,"app-icon",41),r(64,"span",42),m(65),c(66,"transloco"),c(67,"transloco"),s()()()(),r(68,"div"),g(69,"app-select",43),C(70,Eu,7,6,"div",44),s(),r(71,"div")(72,"label",45),m(73),c(74,"transloco"),s(),g(75,"input",46),s(),r(76,"div")(77,"label",47),m(78),c(79,"transloco"),s(),g(80,"input",48),s(),r(81,"div")(82,"label",49),m(83),c(84,"transloco"),s(),g(85,"input",50),s(),r(86,"div")(87,"label",51),m(88),c(89,"transloco"),s(),g(90,"input",52),s(),r(91,"div")(92,"label",53),m(93),c(94,"transloco"),s(),g(95,"input",54),s(),r(96,"div")(97,"div",55)(98,"label",56),m(99),c(100,"transloco"),s(),g(101,"input",57),s()(),r(102,"div")(103,"label",58),m(104),c(105,"transloco"),s(),g(106,"input",59),s(),r(107,"div")(108,"label",60),m(109),c(110,"transloco"),s(),r(111,"div",61)(112,"input",62),c(113,"transloco"),b("change",function(i){y(e);let a=d();return S(a.onEffectiveUntilValueChange(i))}),s(),r(114,"button",63),c(115,"transloco"),c(116,"transloco"),b("click",function(){y(e);let i=d();return S(i.openDatepickerModal())}),g(117,"app-icon",64),s()(),C(118,wu,3,3,"p",65),s()(),C(119,ku,5,3,"div",66),s(),C(120,Ru,5,3,"section"),r(121,"section",67),C(122,Uu,7,6,"div",44),r(123,"div",68),g(124,"app-user-groups",69),s()(),C(125,zu,42,15,"section",70),C(126,Ku,9,6,"section",71),s()()}if(n&2){let e,t,i=d();u("focusInvalidInput",!0)("formGroup",i.userFormGroup),o(2),u("scrollToTopButton",!0),o(2),M(" ",i.isEditMode?p(5,61,"user_management.users.edit_user"):p(6,63,"user_management.users.create_user")," "),o(4),v(i.isEditMode?8:-1),o(2),M(" ",p(11,65,"common.cancel")," "),o(3),v(i.requesting?13:14),o(4),_(p(18,67,"common.properties")),o(2),v(i.user.lock!==null&&i.isEditMode?19:-1),o(2),v(i.isEditMode&&i.isSsoTenant?21:22),o(4),_(p(26,69,"user_management.users.first_name")),o(3),v(i.checkFieldNotValid("forename")?28:-1),o(3),_(p(32,71,"user_management.users.last_name")),o(3),v(i.checkFieldNotValid("surname")?34:-1),o(3),_(p(38,73,"user_management.users.email")),o(3),v((e=i.userFormGroup.get("email").errors)!=null&&e.email?40:-1),o(),v(i.checkFieldNotValid("email")&&!((t=i.userFormGroup.get("email").errors)!=null&&t.email)?41:-1),o(),u("isMandatory",!0)("items",i.layoutLanguageSelectOptions),o(),u("formGroup",i.userFormGroup),o(2),_(p(46,75,"user_management.users.location")),o(2),fe("invalid-focus",!i.userFormGroup.get("location").valid&&i.userFormGroup.get("location").touched),u("chips",i.user.location!==""?Re(113,ou,Ut(110,nu,i.user.location,i.user.location)):ni(115,au)),o(),v(i.checkFieldNotValid("location")?48:-1),o(),v((i.availableRoles==null?null:i.availableRoles.length)>0?49:-1),o(4),M(" ",p(54,77,"user_management.users.last_login_label")," "),o(3),_(Te(57,79,i.user==null?null:i.user.lastLogin,"dd.MM.yyyy - HH:mm")),o(4),_(p(61,82,"user_management.users.active")),o(3),Xi(i.user.active?"icon-success":"icon-alert"),u("name",i.user.active?"check-mark-filled":"cross-filled"),o(2),M(" ",i.user.active?p(66,84,"common.yes"):p(67,86,"common.no")," "),o(4),u("isMandatory",!0)("items",i.companySelectOptions),o(),v(i.maySpecifyPassword?-1:70),o(3),M(" ",p(74,88,"user_management.users.salutation")),o(5),_(p(79,90,"user_management.users.abbreviation")),o(5),_(p(84,92,"user_management.users.information")),o(5),_(p(89,94,"user_management.users.department")),o(5),_(p(94,96,"user_management.users.phone_number")),o(6),_(p(100,98,"user_management.cost_center")),o(2),u("ngbTypeahead",i.onCostCenterKeyup),o(3),_(p(105,100,"common.language")),o(5),_(p(110,102,"user_management.users.effective_until")),o(3),fe("invalid",i.effectiveUntilIsValid===!1),u("disabled",!((i.user.lock===null||i.user.lock===void 0)&&i.isEditMode))("placeholder",p(113,104,"common.date_format_with_day"))("value",(i.effectiveUntil==null||i.effectiveUntil[0]==null||i.effectiveUntil[0].value==null?null:i.effectiveUntil[0].value.toString())||null),o(2),u("disabled",!((i.user.lock===null||i.user.lock===void 0)&&i.isEditMode))("ngbTooltip",p(115,106,"common.datepicker.choose_date")),k("aria-label",p(116,108,"common.datepicker.choose_date")),o(4),v(i.effectiveUntilIsValid===!1?118:-1),o(),v((i.user.lock===null||i.user.lock===void 0)&&i.isEditMode?119:-1),o(),v(i.isOrderManagementEnabled?120:-1),o(2),v(i.isEditMode?-1:122),o(2),u("user",i.user)("isEditMode",i.isEditMode),o(),v(i.showLicenses?125:-1),o(),v(i.isNautosPro?126:-1)}}var Xn=(()=>{class n{get totalFolderCount(){return this._totalFolderCount}get isReadOnlyUser(){return this._isReadOnlyUser}get isNautosPro(){return this._tenantStateService.isNautosProActive()}constructor(){this._licenseConfig=h(mn),this._userDetailConfig=h(Ei),this._favoritesService=h(rn),this._authService=h(ot),this._changeDetectorRef=h(ct),this._costService=h(Fi),this._feedbackService=h(oe),this._licenseService=h(wi),this._locationService=h(Zt),this._modalService=h(B),this._roleService=h(Mt),this._route=h(me),this._router=h(de),this._tenantService=h(Ba),this._tenantStateService=h(Ft),this._translocoService=h(ge),this._uiService=h(St),this._userCacheService=h(Fn),this._userService=h(we),this._tenantCompanyService=h(Di),this.nautosTitleUtils=ki,this.allDisplayedLicenses=[],this.availableRoles=[],this.customRoles=[],this.effectiveUntil=[],this.effectiveUntilIsValid=!0,this.isEditMode=!1,this.isOrderManagementEnabled=!0,this.isSsoTenant=!0,this.licensePageNumber=this._licenseConfig.defaultPage,this.licensePageSize=this._licenseConfig.defaultPerPage,this.maySpecifyPassword=!1,this.readOnlyAdditiveRoles=[],this.readonly=!0,this.emptyGuid=$e,this.requesting=!1,this.roles=[],this.showLicenses=!0,this.standardAdditiveRoles=[],this.totalCountOflicenses=0,this.rootNodes=[],this.rootFavNodes=[],this.rootNoteNodes=[],this.favsOrNotesTranslationKey="favorite",this._totalFolderCount=0,this._isReadOnlyUser=!0,this._componentActive=!0,this._formIsSent=!1,this._favoriteFolderId="favoriteFolderId",this._folderType="folderType",this._checkedRoleList=[],this._defaultLayoutLanguage="de",this._roles=je,this.$asInputElement=ja(),this.onCostCenterKeyup=e=>e.pipe(pi(200),Bt(),Ci(t=>t.length>1),dt(t=>this._costService.costCenters$.pipe(U(i=>t.length<2?[]:i.filter(a=>mi.isNullOrEmpty(a)?!1:a&&a.toLowerCase().indexOf(t.toLowerCase())>-1).slice(0,10)),F(()=>O([]))))),this.getChildren=e=>this._favoritesService.getChildFolders(e.id,e.isSharedWithMe).pipe(_t(),U(t=>(this._changeDetectorRef.detectChanges(),t.map(i=>(i.icon=this._favoritesService.getNodeIcon(i),i)))),F(()=>O([]))),this.layoutLanguageSelectOptions=Ga.map(e=>({text:e.display,value:e.value})),this.navigationPanelInfos=this._userDetailConfig.userDetail.navigationPanelInfo,this._tenantCompanyService.getAllCompaniesForTenant().subscribe(e=>{this.companySelectOptions=e.map(t=>({text:t.name,value:t.name}))})}ngOnInit(){if(this._uiService.showSpinner(),this._tenantKey=localStorage.getItem(Ye),this.isEditMode=!1,this._tenantService.getSsoAllowedStatus().subscribe(e=>{this.isSsoTenant=e}),this._route.snapshot.url[0].path==="create"){this.isEditMode=!1,this.readonly=!1;let e={};
1e.roles=[],e.costCenters=[],this.user=e,this._uiService.hideSpinner(),this.initForm(),this._locationService.getLocations().subscribe(t=>{this.user.location=t?t[0]?.name:"",this.userFormGroup.controls.location.setValue(t[0].name)})}else this.isEditMode=!0,this.readonly=!1;this._checkedRoleList.splice(0),this.requestCurrentUser(),this._roleSubscription=this._roleService.roles$.subscribe(e=>{if(e?.length){let t=this._roleService.mapRoles(e);return this.roles=t,t.forEach(i=>{switch(i.parentRole){case ve.STANDARD:this.standardAdditiveRoles.push(i),this.standardAdditiveRolesFormArray&&this.standardAdditiveRolesFormArray.push(new j(!1));break;case ve.READONLY:this.readOnlyAdditiveRoles.push(i),this.readOnlyAdditiveRolesFormArray&&this.readOnlyAdditiveRolesFormArray.push(new j({value:!1,disabled:!0}));break;case ve.CUSTOM:this.customRoles.push({text:i.name,value:i.roleId});break;default:Object.values(je).includes(i.name)&&this.availableRoles.push(i),i.name===this._roles.STANDARD&&this.userFormGroup&&this.userFormGroup.controls.role.setValue(i.roleId,{emitEvent:!1});break}}),this._translocoService.selectTranslate("user_management.role_management.custom_role").subscribe(i=>{this.availableRoles.find(a=>a.parentRole===ve.CUSTOM)||this.availableRoles.push({parentRole:ve.CUSTOM,name:i,roleId:$e})}),t}return ue}),this._userInfo=this._authService.userInfo,this._authService.userInfo$.pipe(et(()=>this._componentActive)).subscribe({next:e=>{this._userInfo=e}}),this._tenantStateService.tenant$.pipe(et(()=>this._componentActive)).subscribe(e=>{e&&(this.isOrderManagementEnabled=e.isOrderManagementEnabled)}),this._route.paramMap.subscribe(e=>ci(this,null,function*(){let t=e.get(this._folderType),i=e.get("id");this._isReadOnlyUser=yield this.checkReadOnlyUser(i),this.getRootFavFolder(i),this.getRootNoteFolder(i),this.loadFolderCounts(i),t===Zo.NOTES?this.onOpenPanel(ta):this.onOpenPanel(ea)}))}ngAfterViewInit(){this.costCenterInput&&(this._costCenterSubscription=ro(this.costCenterInput.nativeElement,"keyup").pipe(et(()=>this._componentActive),Ci(e=>e.key==="Enter"),U(e=>e.target.value),Ci(e=>!mi.isNullOrEmpty(e)),Bt()).subscribe(e=>{this.user.costCenters.indexOf(e)===-1&&(this.user.costCenters.push(e),this.user.costCenters.sort((t,i)=>t.toLocaleLowerCase().localeCompare(i.toLocaleLowerCase())),this.costCenterInput.nativeElement.value="")}
1))}ngOnDestroy(){this._roleSubscription&&this._roleSubscription.unsubscribe(),this._costCenterSubscription&&this._costCenterSubscription.unsubscribe(),this._costSubscription&&this._costSubscription.unsubscribe(),this._createUserSubscription&&this._createUserSubscription.unsubscribe(),this._saveRolesSubscription&&this._saveRolesSubscription.unsubscribe(),this._updateUserSubscription&&this._updateUserSubscription.unsubscribe(),this._lockUserSubscription&&this._lockUserSubscription.unsubscribe(),this._unlockUserSubscription&&this._unlockUserSubscription.unsubscribe(),this._routerSubscription&&this._routerSubscription.unsubscribe(),this._unlinkLicenseSubscription&&this._unlinkLicenseSubscription.unsubscribe(),this._componentActive=!1}onOpenPanel(e,t=!1){switch(e){case Bi:this.favsOrNotesTranslationKey="favorite";break;case ui:this.favsOrNotesTranslationKey="note";break}this._route.paramMap.subscribe(i=>{switch(t?this.selectedItemId=null:this.selectedItemId=i.get(this._favoriteFolderId),e){case Bi:this.getRootFavFolder(i.get("id"));break;case ui:this.getRootNoteFolder(i.get("id"));break}})}onChangeLocation(){let e=this._modalService.open(qa);e.componentInstance.modalTitle="user_management.users.assign_location",e.componentInstance.searchBarTitle="user_management.locations.title",this._translocoService.selectTranslate("user_management.locations.search_locations").subscribe(t=>e.componentInstance.searchBarPlaceholder=t),this._locationService.getLocations().subscribe(t=>{e.componentInstance.elemtsToShow=t.map(i=>i.name)}),e.result.then(t=>{t?.selectedElement&&(this.user.location=t.selectedElement,this.userFormGroup.controls.location.setValue(t.selectedElement))})}onRemoveLocation(){this.user.location="",this.userFormGroup.controls.location.setValue(""),this.userFormGroup.controls.location.markAsTouched()}callLicense(e){this._router.navigate(["../../../licenses/edit",e.id],{relativeTo:this._route})}onDeleteUser(){let e=this._modalService.open(ae);e.componentInstance.isDeleteConfirmation=!0,e.componentInstance.title="user_management.users.delete_user",this._translocoService.selectTranslate("user_management.users.do_you_want_to_delete_user_x",{firstName:this.user.forename,lastName:this.user.surname}).pipe(We(1)).subscribe(t=>e.componentInstance.text=t),e.result.then(t=>{t?.preset&&this._userService.deleteUsers([this.user.id]).subscribe({next:()=>this.showDeleteSuccess(),error:()=>this.showDeleteError()})})}onLockUser(){let e=this._modalService.open(ji);e.componentInstance.selectedUsers=[this.user],e.componentInstance.selectCol=!1,e.result.then(t=>{this._lockUserSubscription&&this._lockUserSubscription.unsubscribe(),this._lockUserSubscription=this._userService.lockUsers(t.users).subscribe({next:i=>{if(i===!0){let{userAccountId:a,forename:f,surname:x,username:w}=this._authService.userInfo,L=t.users.filter(le=>le.userAccountId===this.user.id);if(L.length>0){let le=L[0],re={idOfExecutingUser:a,nameOfExecutingUser:`${f} ${x} (${w})`,reason:le.reason,time:le.time,lockType:0,groupId:""};this.user.lock=re,this.user.lock.nameOfExecutingUser=re.nameOfExecutingUser,this.user.lock.time=re.time;let hi=new Date(new Date().setDate(new Date().getDate()-1));this.user.effectiveUntil=hi,this.patchEffectiveUntilDate(hi),this._userCacheService.cacheUserAsEditedOrCreated(this.user)}}this._feedbackService.showSuccessModal("user_management.users.user_successfully_locked"),this._userService.resetFilter(),this.userFormGroup.controls.locked.patchValue(!0)},error:()=>{this._feedbackService.showErrorModal()}})})}onUnlockUser(){this.unlockUser().subscribe({next:()=>{this.user.lock=null,this.userFormGroup.controls.locked.patchValue(!1),this.user.effectiveUntil=null,this.patchEffectiveUntilDate(null),this._userCacheService.cacheUserAsEditedOrCreated(this.user)}})}unlockUser(){return new jt(e=>{this.user.lock=null,this._userCacheService.cacheUserAsEditedOrCreated(this.user),this._unlockUserSubscription&&this._unlockUserSubscription.unsubscribe(),this._unlockUserSubscription=this._userService.unlockUser(this.user.id).subscribe({next:t=>{this._userService.resetFilter(),e.next(t),this._feedbackService.showSuccessModal("user_management.users.user_successfully_unlocked")},error:t=>{e.next(!1),e.error(t),this._feedbackService.showErrorModal()}})})}onFilterLicenses(e){this._authService.userHasPermission(Q.VIEW_LICENSE_PANEL)&&(this.currentLicenseTitleFilter=e,this._licenseService.getLicensesPagedAndFiltered(this.licensePageNumber,this.licensePageSize,"title",ze.DESC,void 0,this.currentLicenseTitleFilter,this.user.groups,this.user.id).subscribe(t=>{this.totalCountOflicenses=t.count,t&&(this.allDisplayedLicenses=t.items.map(i=>
1ai.licenseSummaryResponseDtoToLicenseSummaryModel(i)))}))}onResetLicenseFilters(){this.currentLicenseTitleFilter=void 0,this.onFilterLicenses(this.currentLicenseTitleFilter)}onLicensePageChange(e){this.licensePageNumber=e,this._licenseService.getLicensesPagedAndFiltered(this.licensePageNumber,this.licensePageSize,"title",ze.DESC,void 0,void 0,void 0,this.user.id).subscribe(t=>{this.totalCountOflicenses=t.count,t.items.length>0&&(this.allDisplayedLicenses=t.items.map(i=>ai.licenseSummaryResponseDtoToLicenseSummaryModel(i)))})}onUnlinkLicense(e){if(!this.canUnlinkLicense(e)){this._feedbackService.showInfoModal("user_management.unlink_license_title","user_management.users.unlink_license_is_locked");return}let t=this._modalService.open(ae);t.componentInstance.isUnlinkConfirmation=!0,t.componentInstance.title="user_management.unlink_license_title",t.componentInstance.text="user_management.users.license_removal_hint",t.result.then(i=>{i?.preset&&(this._unlinkLicenseSubscription?.unsubscribe(),this._unlinkLicenseSubscription=this._licenseService.unlinkUserMembersFromLicenses([this.user.id],[e.id]).subscribe(a=>{a&&(this.allDisplayedLicenses=this.allDisplayedLicenses.filter(f=>f.id!==e.id),--this.totalCountOflicenses)}))})}canUnlinkLicense(e){return this.getNumberOfLicensesAssignedViaGroup([e])<=0}checkFieldNotValid(e){return!this.userFormGroup.get(e).valid&&(this.userFormGroup.get(e).touched||this._formIsSent)}onCancel(){this._router.navigate([`${this._tenantKey}/users`])}onAddNewUserLicense(){this._modalService.open(gn).result.then(t=>{if(t?.passedLicenses){let i=t.passedLicenses.map(a=>JSON.parse(JSON.stringify(a)));this.allDisplayedLicenses=[...this.allDisplayedLicenses,...i.filter(a=>!this.licenseIsAssignedViaGroup(a))],this._licenseService.addUserMembersToLicenses([this.user.id],i.map(a=>a.id)).subscribe(),this._feedbackService.showSuccessModal("user_management.license_successfully_applied")}})}onUnlinkLicenses(){let e=this.userLicenseTable.selectedRows,t=e.map(x=>x.item).map(x=>JSON.parse(JSON.stringify(x))),i=this.getNumberOfLicensesAssignedViaGroup(t),a=t.length-i,f=this._modalService.open(ae);f.componentInstance.isUnlinkConfirmation=!0,a===1?f.componentInstance.title="user_management.unlink_license_title":a>1&&this._translocoService.selectTranslate("user_management.unlink_license_title").subscribe(x=>f.componentInstance.title=x),i===1?f.componentInstance.text="user_management.users.license_assignment_cannot_be_removed_because_of_group":i>1?this._translocoService.selectTranslate("user_management.users.license_assignment_for_x_number_cannot_be_removed_because_of_group",{count:a}).subscribe(x=>f.componentInstance.text=x):f.componentInstance.text="user_management.users.license_removal_hint",f.result.then(x=>{x.preset&&(this._unlinkLicenseSubscription&&this._unlinkLicenseSubscription.unsubscribe(),this.allDisplayedLicenses=this.allDisplayedLicenses.filter(w=>!t.map(L=>L.id).includes(w.id)||this.licenseIsAssignedViaGroup(w)),this.totalCountOflicenses=this.totalCountOflicenses-(t.length-i),this._unlinkLicenseSubscription=this._licenseService.unlinkUserMembersFromLicenses([this.user.id],t.map(w=>w.id)).subscribe(()=>{e.forEach(w=>{w.selectedForm.patchValue({selected:!1}),this.userLicenseTable.onSelectStatusChange(w)})}))})}getLicenseType(e){return"licenses."+e.licenseType.toLowerCase()+"_license"}isMultiUserLicense(e){return e.users.length>1||e.groups.length>0}createUser(){this.requesting=!0;let e=this.userFormGroup.controls.locked.value;if(this._formIsSent=!0,this.userFormGroup.valid){let t=[],i=new Map;this.user=qe(qe({},this.user),this.userFormGroup.value),this.user.salutation=this.userFormGroup.controls.salutation.value,this.user.abbreviation=this.userFormGroup.controls.abbreviation.value,this.user.costCenters=this.userFormGroup.controls.costCenter.value?[this.userFormGroup.controls.costCenter.value]:[],this.user.info=this.userFormGroup.controls.info.value,this.user.company=this.userFormGroup.controls.company.value,this.user.department=this.userFormGroup.controls.department.value,this.user.phoneNumber=this.userFormGroup.controls.phoneNumber.value,this.user.location=this.userFormGroup.controls.location.value,this.user.language=this.userFormGroup.controls.language.value,this.user.effectiveUntil=this.userFormGroup.controls.effectiveUntil.value,this.user.isOrderEmailNotificationActivated=this.userFormGroup.controls.ordernotification.value,this._createUserSubscription&&this._createUserSubscription.unsubscribe();let a=this._userService.createUser(this.user);this.maySpecifyPassword||(a=this._userService.createUserInvitation(this.user)),new jt(x=>{this._createUserSubscription=a.subscribe({next:w=>{this._userCacheService.cacheUserAsEditedOrCreated(this.user),this._userService.resetFilter(),this._saveRolesSubscription&&this._saveRolesSubscription.unsubscribe(),t.push("roles"),e&&this.user.lock==null&&t.push("lock"),!e&&this.user.lock!=null&&t.push("unlock"),this._saveRolesSubscription=this.saveRolesForUser(w.id).subscribe({next:L=>{x.next({key:"roles",value:L})},error:()=>{x.next({key:"roles",value:!1})}}),e&&this.user.lock==null&&this.lockUser(w).subscribe({next:L=>{x.next({key:"lock",value:L})},error:()=>{x.next({key:"lock",value:!1})}}),!e&&this.user.lock!=null&&this.unlockUser().subscribe({next:L=>{x.next({key:"unlock",value:L})},error:()=>{x.next({key:"unlock",value:!1})}})}})}).subscribe({next:x=>{if(x.value===!1){this.requesting=!1,this._feedbackService.showErrorModal();return}if(i.set(x.key,x.value),t.length<=i.size){let w=!0;for(let L of t)if(!i.has(L)||i.get(L)===!1){w=!1;break}w?(this.requesting=!1,this._feedbackService.showSuccessModal("user_management.users.user_successfully_created",`${this._tenantKey}/users`)):(this.requesting=!1,this._feedbackService.showErrorModal())}},error:()=>{this.requesting=!1,this._feedbackService.showErrorModal()}})}else this.requesting=!1}saveUser(){this.requesting=!0;let e=this.userFormGroup.controls.locked.value;if(this.userFormGroup.valid){let t=this.userFormGroup.get("password").value,i=this.userFormGroup.get("passwordVerify").value,a={surname:this.userFormGroup.get("surname").value,forename:this.userFormGroup.get("forename").value,salutation:this.userFormGroup.get("salutation").value,abbreviation:this.userFormGroup.get("abbreviation").value,costCenters:this.userFormGroup.get("costCenter").value?this.userFormGroup.get("costCenter").value.split(";").map(L=>L.trim()):[],info:this.userFormGroup.get("info").value,company:this.userFormGroup.get("company").value,department:this.userFormGroup.get("department").value,phoneNumber:this.userFormGroup.get("phoneNumber").value,location:this.userFormGroup.get("location").value,language:this.userFormGroup.get("language").value,effectiveUntil:this.userFormGroup.get("effectiveUntil").value,layoutLanguage:this.userFormGroup.get("layoutLanguage").value,email:this.userFormGroup.get("email").value,username:this.userFormGroup.get("username").value,isOrderEmailNotificationActivated:this.userFormGroup.get("ordernotification").value};t&&t!==""&&t===i?a.password=t:a.password=null;let f=[],x=new Map;this.user=qe(qe({},this.user),a),this.user.costCenters=a.costCenters,this._userCacheService.cacheUserAsEditedOrCreated(this.user),this._updateUserSubscription&&this._updateUserSubscription.unsubscribe(),new jt(L=>{this._updateUserSubscription=this._userService.updateUser(this.user).subscribe({next:le=>{this._saveRolesSubscription&&this._saveRolesSubscription.unsubscribe(),f.pu
1sh("roles"),e&&this.user.lock==null&&f.push("lock"),!e&&this.user.lock!=null&&f.push("unlock"),this._saveRolesSubscription=this.saveRolesForUser(le.id).subscribe({next:re=>{L.next({key:"roles",value:re})},error:()=>{L.next({key:"roles",value:!1})}}),e&&this.user.lock==null&&this.lockUser(le).subscribe({next:re=>{L.next({key:"lock",value:re})},error:()=>{L.next({key:"lock",value:!1})}}),!e&&this.user.lock!=null&&this.unlockUser().subscribe({next:re=>{L.next({key:"unlock",value:re})},error:()=>{L.next({key:"unlock",value:!1})}})},error:()=>{this.requesting=!1,this._feedbackService.showErrorModal()},complete:()=>{this.requesting=!1}})}).subscribe({next:L=>{if(L.value===!1){this.requesting=!1,this._feedbackService.showErrorModal();return}if(x.set(L.key,L.value),f.length<=x.size){let le=!0;for(let re of f)if(!x.has(re)||x.get(re)===!1){le=!1;break}le?(this.requesting=!1,this._feedbackService.showSuccessModal("user_management.users.user_successfully_edited",`${this._tenantKey}/users`)):(this.requesting=!1,this._feedbackService.showErrorModal())}},error:()=>{this.requesting=!1,this._feedbackService.showErrorModal()}})}else this.requesting=!1}onSubmit(){this.userFormGroup.markAllAsTouched(),this.userFormGroup.updateValueAndValidity(),this.isEditMode?this.saveUser():this.createUser()}getNumberOfLicensesAssignedViaGroup(e){return e.filter(t=>this.licenseIsAssignedViaGroup(t)).length}licenseIsAssignedViaGroup(e){return e.groups.map(t=>t.groupId).filter(t=>this.user.groups.includes(t)).length>0}initForm(){let e=[G.required,G.minLength(5)],t=[G.required];this.maySpecifyPassword||(e=[],t=[]),this.userFormGroup=new it({forename:new j({value:this.user.forename,disabled:this.readonly},G.required),surname:new j({value:this.user.surname,disabled:this.readonly},G.required),username:new j({value:this.user.username,disabled:this.readonly},{updateOn:"change",asyncValidators:[this.validateUsername(this.user.username,this._userService)],validators:[G.required]}),layoutLanguage:new j({value:this.user.layoutLanguage||this._defaultLayoutLanguage,disabled:this.readonly}),password:new j(this.user.password,e),passwordVerify:new j(null,t),costCenter:new j({value:this.user.costCenters.join(";"),disabled:this.readonly}),role:new j(null),standardAdditiveRoles:new Ti([]),readOnlyAdditiveRoles:new Ti([]),selectedCustomRole:new j($e,[_i.validGuidValidator,G.required]),email:new j({value:this.user.email,disabled:this.readonly},[G.required,G.email]),salutation:new j({value:this.user.salutation,disabled:this.readonly}),abbreviation:new j({value:this.user.abbreviation,disabled:this.readonly}),info:new j({value:this.user.info,disabled:this.readonly}),company:new j({value:this.user.company,disabled:this.readonly}),department:new j({value:this.user.department,disabled:this.readonly}),phoneNumber:new j({value:this.user.phoneNumber,disabled:this.readonly}),location:new j({value:this.user.location,disabled:this.readonly},G.required),language:new j({value:this.user.language,disabled:this.readonly}),effectiveUntil:new j({value:this.user.effectiveUntil,disabled:this.readonly}),locked:new j({value:this.user.lock!=null,disabled:this.readonly}),ordernotification:new j({value:this.user.isOrderEmailNotificationActivated||!this.isEditMode,disabled:this.readonly})})}requestCurrentUser(){this._route.params.subscribe(e=>{let t=e.id;t&&(this._userCacheService.isUserCachedAsEditedOrCreated(t)?(this.user=this._userCacheService.getEditedOrCreatedUserFromCache(t),this.initForm(),this.showLicenses=this._authService.userHasPermission(Q.EDIT_LICENSE_PANEL)):this._userService.getUserDetail(t).pipe(fo(this._translocoService.langChanges$),Z(()=>this._uiService.hideSpinner())).subscribe(([i])=>{if(i){this.user=i;let a=new Date(this.user.effectiveUntil);this._changeDetectorRef.markForCheck(),this.user.effectiveUntil&&this.patchEffectiveUntilDate(a),this._licenseService.getLicensesPagedAndFiltered(this.licensePageNumber,this.licensePageSize,"title",ze.DESC,void 0,void 0,this.user.groups,t).subscribe(f=>{f&&(this.totalCountOflicenses=f.count,f.items.length>0&&(this.allDisplayedLicenses=f.items.map(x=>
1ai.licenseSummaryResponseDtoToLicenseSummaryModel(x))))}),this.initForm(),this.patchCurrentUserRoleCheckboxes(i),this.enableOrDisableAdditiveRoleCheckboxes(),this.showLicenses=this._authService.userHasPermission(Q.EDIT_LICENSE_PANEL)}}))})}get standardAdditiveRolesFormArray(){return this.userFormGroup&&this.userFormGroup.get("standardAdditiveRoles")}get readOnlyAdditiveRolesFormArray(){return this.userFormGroup&&this.userFormGroup.get("readOnlyAdditiveRoles")}get selectedCustomRoleFormControl(){return this.userFormGroup&&this.userFormGroup.get("selectedCustomRole")}enableOrDisableAdditiveRoleCheckboxes(){let e=this.user.roles.some(i=>i.name===this._roles.STANDARD);this.standardAdditiveRolesFormArray.controls.forEach(i=>{e?i.enable():i.disable()});let t=this.user.roles.some(i=>i.name===this._roles.READONLY);this.readOnlyAdditiveRolesFormArray.controls.forEach(i=>{t?i.enable():i.disable()})}patchCurrentUserRoleCheckboxes(e){this.roles.forEach(t=>{let i=e.roles.findIndex(a=>a.roleId===t.roleId)>-1;if(t.parentRole===ve.STANDARD){this.standardAdditiveRolesFormArray.push(new j(i));return}if(t.parentRole===ve.READONLY){this.readOnlyAdditiveRolesFormArray.push(new j(i));return}if(t.parentRole===ve.CUSTOM){if(i){this.userFormGroup.controls.role.setValue(t.roleId),this.userFormGroup.controls.selectedCustomRole.setValue(t.roleId);let a=this.availableRoles.find(f=>!f.roleId||f.roleId===$e);a&&(a.roleId=t.roleId)}return}i&&this.userFormGroup.controls.role.setValue(t.roleId)})}getCurrentCostCenterValue(){return this.costCenterInput.nativeElement.value}saveRolesForUser(e){let t=[],i=this.user.roles.map(w=>w.roleId),a=this.roles.find(w=>w.roleId===this.userFormGroup.controls.role.value||w.roleId===this.userFormGroup.controls.selectedCustomRole.value);t.push(a),this.standardAdditiveRolesFormArray.controls.forEach((w,L)=>{w.value&&t.push(this.standardAdditiveRoles[L])}),this.readOnlyAdditiveRolesFormArray.controls.forEach((w,L)=>{w.value&&t.push(this.readOnlyAdditiveRoles[L])}),this.selectedCustomRoleFormControl.value&&t.some(w=>w.parentRole===ve.CUSTOM)&&(t=[{roleId:this.selectedCustomRoleFormControl.value}]);let f=i.filter(w=>!t.map(L=>L.roleId).includes(w)),x=[];return f.length&&x.push(this._userService.removeRolesFromUsers([e],f)),t.length&&x.push(this._userService.addRolesToUsers([e],t.map(w=>w.roleId)).pipe(be(w=>{w&&(this.user.roles=t,this._userCacheService.cacheUserAsEditedOrCreated(this.user))}))),Ki(...x).pipe(po(200),lo((w,L)=>w&&L,!0),F(()=>O(!1)))}lockUser(e){let{userAccountId:t,forename:i,surname:a,username:f}=this._authService.userInfo;return new jt(x=>{let w={reason:"user_management.lock_info_cause",lockedById:this._userInfo.userAccountId,time:new Date().toISOString(),userAccountId:e.id};this.user.lock={idOfExecutingUser:t,nameOfExecutingUser:`${i} ${a} (${f})`,reason:w.reason,time:w.time,lockType:0,groupId:""},this._userCacheService.cacheUserAsEditedOrCreated(this.user),this._userService.lockUsers([w]).subscribe({next:L=>{this.userFormGroup.controls.locked.patchValue(!0),x.next(L)},error:L=>{x.next(!1),x.error(L)}})})}openDatepickerModal(){let e=this._modalService.open(hn);if(e.componentInstance.showUntil=!1,e.componentInstance.hasDayPicker=!0,this.userFormGroup.controls.effectiveUntil.value){let t=new Date(this.userFormGroup.controls.effectiveUntil.value);e.componentInstance.selectedFrom=oi.getYearString(t)}e.componentInstance.modalHeaderDisplayTitle="common.datepicker.choose_date",e.result.then(t=>{if(t){let i=new Date(t[0]);this.patchEffectiveUntilDate(i)}})}patchEffectiveUntilDate(e){this.userFormGroup&&this.userFormGroup.patchValue({effectiveUntil:e}),this.effectiveUntil.unshift({text:new Date(e).toLocaleDateString("de-DE",{day:"2-digit",month:"2-digit",year:"numeric"}),value:e?oi.getYearString(e):null})}onEffectiveUntilValueChange(e){let i=e.target.value;this.effectiveUntilIsValid=!0;let a=_i.isDateValid(i.toString(),"YYYY-MM-DD");i.toString().length>=1&&!a?(this.userFormGroup.controls.effectiveUntil.setErrors({incorrectFormat:!0}),this.effectiveUntilIsValid=!1):i?.toString().length?this.patchEffectiveUntilDate(new Date(i)):this.patchEffectiveUntilDate(null)}validateUsername(e,t){return i=>/^[^\p{C}\p{So}]{3,100}$/u.test(i.value)?i.value===e?O(null):i.valueChanges.pipe(pi(200),Bt(),dt(f=>t.isUsernameAvailable(f)),U(f=>(i.markAsTouched(),f?null:{usernameTaken:!0}
1)),mo()):O({invalidCharacters:!0})}showDeleteError(){this._feedbackService.showErrorModal(void 0,`${this._tenantKey}/users`)}showDeleteSuccess(){this._feedbackService.showSuccessModal("user_management.users.user_successfully_deleted",`${this._tenantKey}/users`)}getRootFavFolder(e=null){this._favoritesService.getRootFolderAndNotification(di.Folder,!1,this.selectedItemId,e).subscribe(t=>{if(this.rootFavNodes.length===1&&t.some(i=>i.id===this.rootFavNodes[0].id)){let i=t.findIndex(a=>a.id===this.rootFavNodes[0].id);t[i]=this.rootFavNodes[0]}t=t??[],this.rootFavNodes=this._isReadOnlyUser?t.filter(i=>i.isSharedWithMe):t,this.rootFolderId=this.rootFavNodes[0].id,this.selectedItemId&&(this.selectedSharedItemId=this.selectedItemId,this.selectedItemId=null,this.getRootFavFolder(e))})}getRootNoteFolder(e=null){this._favoritesService.getRootFolderAndNotification(di.Note,!1,this.selectedItemId,e).subscribe(t=>{if(this.rootNoteNodes.length===1&&t.some(i=>i.id===this.rootNoteNodes[0].id)){let i=t.findIndex(a=>a.id===this.rootNoteNodes[0].id);t[i]=this.rootNoteNodes[0]}t=t??[],this.rootNoteNodes=this._isReadOnlyUser?t.filter(i=>i.isSharedWithMe):t,this.rootFolderId=this.rootNoteNodes[0].id,this.selectedItemId&&(this.selectedSharedItemId=this.selectedItemId,this.selectedItemId=null,this.getRootNoteFolder(e))})}checkReadOnlyUser(e){return ci(this,null,function*(){try{let t=yield no(this._userService.getUser(e));return we.hasRole(je.READONLY,t.roles.map(i=>i.name.trim().toLowerCase()),!0)}catch(t){return console.error("Checking user for read only role failed",t),!1}})}loadFolderCounts(e){this._favoritesService.getFolderCountForUser(e,this._isReadOnlyUser).subscribe(t=>{this._totalFolderCount=t})}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275cmp=R({type:n,selectors:[["app-user-detail"]],viewQuery:function(t,i){if(t&1&&K(tu,5)(iu,5),t&2){let a;
vendor: 5,177 bytes, line 1
1z(a=W())&&(i.userLicenseTable=a.first),z(a=W())&&(i.costCenterInput=a.first)}},decls:1,vars:1,consts:[["tableMenu",""],["menuAnimatedButtons",""],["userLicenseTable",""],["tableCheckboxColumnHeader",""],["tableCell",""],["filterPopover","ngbPopover"],["filterPopoverContent",""],["tip",""],["navigationPanel",""],["novalidate","",3,"focusInvalidInput","formGroup"],["novalidate","",3,"ngSubmit","keydown.enter","focusInvalidInput","formGroup"],[1,"detail-container"],[1,"header",3,"scrollToTopButton"],[1,"buttons"],["type","button","data-cy","deleteUser",1,"btn-alert"],["type","button","data-cy","cancelUser",1,"btn-primary-outline",3,"click"],["type","submit",1,"btn-primary"],["name","loading-spinner"],["data-cy","saveUser"],["data-cy","alertBox",1,"box-alert"],[1,"content"],[1,"mandatory-field"],["for","first-name",1,"mandatory"],["id","first-name","name","forename","type","text","formControlName","forename","data-cy","firstName"],["data-cy","firstNameErrorMessage",1,"text-alert"],["for","last-name",1,"mandatory"],["id","last-name","name","surname","type","text","formControlName","surname","data-cy","lastName"],["data-cy","lastNameErrorMessage",1,"text-alert"],["for","email",1,"mandatory"],["id","email","name","email","type","email","formControlName","email","data-cy","email"],["data-cy","emailErrorMessage",1,"text-alert"],["label","user_management.users.layout_language","id","layout-language","formControlName","layoutLanguage","data-cy","layoutLanguage",3,"isMandatory","items"],[1,"mandatory-field",3,"formGroup"],["for","location",1,"mandatory"],["id","location","tabindex","-1","label","user_management.users.assign_location","data-cy","location",3,"add","remove","chips"],[1,"text-alert"],["data-cy","userRoles",3,"availableRoles","formGroup","standardAdditiveRoles","readOnlyAdditiveRoles","allRoles","availableCustomRoles"],["data-cy","lastLogin",1,"label"],["data-cy","lastLoginTime",1,"info-value","text-bold"],[1,"user-active"],[1,"label"],["data-cy","iconIsUserActive",3,"name"],["data-cy","textIsActive",1,"text-bold"],["label","user_management.users.company","id","company","formControlName","company","data-cy","company",3,"isMandatory","items"],["data-cy","infoBox",1,"box-info"],["for","salutation"],["id","salutation","type","text","formControlName","salutation","data-cy","salutation"],["for","abbreviation"],["id","abbreviation","type","text","formControlName","abbreviation","data-cy","abbreviation"],["for","info"],["id","info","formControlName","info","type","text","data-cy","info"],["for","department"],["id","department","name","department","type","text","formControlName","department","data-cy","department"],["for","phone-number"],["id","phone-number","type","text","formControlName","phoneNumber","data-cy","phoneNumber"],[1,"form-group"],["for","cost-center"],["id","cost-center","type","text","name","costCenter","formControlName","costCenter","container","body","data-cy","costCenter",3,"ngbTypeahead"],["for","language"],["id","language","type","text","formControlName","language","data-cy","language"],["for","effective-until"],[1,"input-group"],["type","text","maxlength","10","data-cy","effectiveUntil",3,"change","disabled","placeholder","value"],["type","button","data-cy","addEffectiveUntil",1,"btn-icon-border",3,"click","disabled","ngbTooltip"],["name","add"],["data-cy","effectiveUntilErrorMessage",1,"text-alert"],[1,"lock-user"],["data-cy","groups"],[1,"container-table"],["data-cy","table",3,"user","isEditMode"],["data-cy","licenseTable"],["data-cy","folder-section"],["type","button","data-cy","deleteUser",1,"btn-alert",3,"click"],["data-cy","lockedUserTitle",1,"box-title"],[1,"box-content"],["data-cy","lockedUserText"],[1,"lock-reason"],["type","button","data-cy","unlockUser",1,"btn-alert-outline"],[1,"label-with-colon"],["data-cy","lockReason"],["type","button","data-cy","unlockUser",1,"btn-alert-outline",3,"click"],["for","username",1,"label"],["data-cy","username",1,"text-bold"],["for","username",1,"mandatory"],["id","username","name","username","type","text","formControlName","username","data-cy","username",3,"appAutoFocus"],["data-cy","usernameErrorMessage",1,"text-alert"],["data-cy","infoBoxTitle",1,"box-title"],["data-cy","infoBoxText",1,"box-content"],["type","button","data-cy","lockUser",1,"btn-alert-outline",3,"click"],["data-cy","lockUser"],["fieldId","ordernotification","formControlName","ordernotification","label","user_management.options_settings_order_notification","data-cy","orderNotification"],["data-cy","addGroupsLicensesInfoTitle",1,"box-title"],["data-cy","addGroupsLicensesInfoText",1,"box-content"],[1,"license-header"],["type","button","data-cy","addLicense",1,"btn-primary-outline",3,"click","disabled"],[1,"container-menu-pagination"],[3,"appTable"],["menu",""],["data-cy","pagination",3,"pageChange","collectionSize","page","tableMenu","pageSize"],["data-cy","table",3,"items"],["tableColumn","","styleClasses","button-column"],["tableColumn","","columnText","common.name",3,"sortable"],["tableColumn",""],["tableColumn","","columnText","licenses.license_type"],["tableColumn","","columnText","common.created"],["tableColumn","","columnText","common.changed"],[1,"n
1o-content"],["type","button","data-cy","unlinkLicenses",1,"btn-menu-animated",3,"click","ngbTooltip"],["name","cross"],["popoverClass","filter-container","placement","bottom-left top-left","autoClose","outside","container","body","type","button",1,"btn-filter",3,"ngbPopover"],["name","filter","data-cy","iconFilter",3,"ngClass"],["filterLabel","licenses.detail.name","data-cy","filter",3,"filterClose","filter","resetFilter","activeFilter"],["type","button","data-cy","iconUnlinkLicense",1,"btn-icon",3,"click","ngbTooltip"],["data-cy","iconUserOrGroup",1,"icon-inactive",3,"name","ngbTooltip"],["data-cy","licenseName",1,"link-bold","ellipsicated",3,"click","keydown.enter"],["placement","top",1,"list",3,"ngbTooltip"],[1,"list-item","d-inline-flex","justify-content-center","align-items-center"],["name","info",1,"icon-clickable"],["data-cy","licenseType"],["data-cy","createdOn"],["data-cy","changedOn"],["sprite","icons-large","name","licenses-empty-large","data-cy","iconNoLicenses",1,"icon-inactive"],["data-cy","textNoLicenses"],[1,"favorites-header"],[3,"count"],[1,"folder-panels"],["data-cy","folderNavigation",3,"panelId","panelTitle","rootFolderId","headerIconName","treeNodes","getChildFn","isOpen","isReadOnlyUser","isExpanded","openPanel",4,"permissions"],["data-cy","folderNavigation",3,"openPanel","panelId","panelTitle","rootFolderId","headerIconName","treeNodes","getChildFn","isOpen","isReadOnlyUser","isExpanded"]],template:function(t,i){t&1&&C(0,Yu,127,116,"form",9),t&2&&v(i.user&&i.userFormGroup?0:-1)},dependencies:[Be,Ie,fn,Le,nt,At,V,Ae,Lt,X,Vo,Dt,pe,ne,Y,$,J,te,ee,Ui,Ii,q,Bo,he,un,Oe,D,$a,mt,H,Ha,He,zt,P],styles:['.detail-container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%]{display:grid;gap:var(--spacer);grid-template-columns:repeat(auto-fit,minmax(min(25rem,100%),1fr))}.detail-container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .mandatory-field[_ngcontent-%COMP%]{position:relative}.detail-container[_ngcontent-%COMP%] .lock-user[_ngcontent-%COMP%]{display:flex;margin-top:var(--spacer);justify-content:flex-end}.detail-container[_ngcontent-%COMP%] section[_ngcontent-%COMP%]:not(:last-child){border-bottom:var(--border);padding-bottom:var(--spacer)}.detail-container[_ngcontent-%COMP%] .license-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;gap:var(--spacer)}.detail-container[_ngcontent-%COMP%] .license-header[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{width:fit-content}.info-value[_ngcontent-%COMP%]:empty:before{content:"-"}.user-active[_ngcontent-%COMP%]{margin-top:calc(var(--spacer) * 2)}.user-active[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{display:flex;align-items:center}.favorites-header[_ngcontent-%COMP%]{padding-top:var(--spacer);padding-bottom:calc(var(--spacer) * 2)}.folder-panels[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:calc(var(--spacer) / 4)}']})}}return n})();var za=(()=>{class n{constructor(){this.modalService=h(B),this._uiService=h(St),this._roleService=h(Mt),this._translocoService=h(ge),this.roles=[],this.customRoles=[],this.availableRoles=[],this.standardAdditiveRoles=[],this.readOnlyAdditiveRoles=[],this._roles=je,this._allRolesIdentical=!0}get roleSelected(){return!!this.userFormGroup.controls.role.value}ngOnInit(){this._roleSubscription=this._roleService.roles$.subscribe({next:e=>{if(e?.length){let t=this._roleService.mapRoles(e);return this.roles=t,t.forEach(i=>{switch(i.parentRole){case ve.STANDARD:this.standardAdditiveRoles.push(i),this.standardAdditiveRolesFormArray&&this.standardAdditiveRolesFormArray.push(new j(!1));break;case ve.READONLY:this.readOnlyAdditiveRoles.push(i),this.readOnlyAdditiveRolesFormArray&&this.readOnlyAdditiveRolesFormArray.push(new j({value:!1,disabled:!0}));break;case ve.CUSTOM:this.customRoles.push({text:i.name,value:i.roleId});break;default:this.availableRoles.push(i),i.name===this._roles.STANDARD&&this.userFormGroup&&this.userFormGroup.controls.role.setValue(i.roleId);break}}),this._translocoService.selectTranslate("user_management.role_management.custom_role").subscribe(i=>{this.availableRoles.find(a=>a.parentRole===ve.CUSTOM)||this.availableRoles.push({parentRole:ve.CUSTOM,name:i,roleId:$e})}),t}return null}}),this.initForm(),this.requestCurrentUser(),this._uiService.hide
1Spinner()}ngOnDestroy(){this._roleSubscription&&this._roleSubscription.unsubscribe()}get selectedCustomRoleFormControl(){return this.userFormGroup&&this.userFormGroup.get("selectedCustomRole")}onAddUsersToRoles(){let e=this.selectedUsers.map(re=>re.id),t=[],i=this.userFormGroup.controls.role.value,a=this.selectedCustomRoleFormControl.value;a&&a!==$e&&(i=a);let f=this.selectedUsers.map(re=>re.roles),x=[];for(let re of f){let hi=re.map(zi=>zi.roleId);x=x.concat(hi)}let w=this.userFormGroup.controls.standardAdditiveRoles.value,L=this.userFormGroup.controls.readOnlyAdditiveRoles.value;if(i&&t.push(i),t.length<1)return;for(let re=0;re<w.length;re++)w[re]&&t.push(this.standardAdditiveRoles[re].roleId);for(let re=0;re<L.length;re++)L[re]&&t.push(this.readOnlyAdditiveRoles[re].roleId);let le=Ze.removeDuplicates(x.filter(re=>!t.includes(re)));this.modalService.close({userIds:e,roleIds:t,removeRoleIds:le})}get standardAdditiveRolesFormArray(){return this.userFormGroup&&this.userFormGroup.get("standardAdditiveRoles")}get readOnlyAdditiveRolesFormArray(){return this.userFormGroup&&this.userFormGroup.get("readOnlyAdditiveRoles")}enableOrDisableAdditiveRoleCheckboxes(){let e=this.user.roles.some(a=>a.name===this._roles.STANDARD);this.standardAdditiveRolesFormArray.controls.forEach(a=>{e&&this._allRolesIdentical?a.enable():a.disable()});let t=this.user.roles.some(a=>a.name===this._roles.READONLY);this.readOnlyAdditiveRolesFormArray.controls.forEach(a=>{t&&this._allRolesIdentical?a.enable():a.disable()}),this.user.roles.some(a=>this.customRoles.some(f=>f.value===a.roleId))&&this._allRolesIdentical?this.userFormGroup.controls.selectedCustomRole.enable():this.userFormGroup.controls.selectedCustomRole.disable()}patchCurrentUserRoleCheckboxes(e){let t=e.roles;if(this.selectedUsers.length>1){let a=this.selectedUsers.map(x=>x.roles.map(w=>w.roleId).sort((w,L)=>w.localeCompare(L))),f=a[0].join(",");this._allRolesIdentical=a.every(x=>x.join(",")===f),this._allRolesIdentical||(t=[])}let i=null;t&&t.length>0&&(i=t[0].roleId),i&&this.customRoles.find(a=>a.value===i)?(this.userFormGroup.controls.selectedCustomRole.setValue(i),this.userFormGroup.controls.role.setValue($e)):(this.userFormGroup.controls.role.setValue(i),this.userFormGroup.controls.selectedCustomRole.setValue($e)),this.roles.forEach(a=>{if(a.parentRole===ve.STANDARD){let x={value:t.some(w=>w.roleId===a.roleId),disabled:!this._allRolesIdentical};this.standardAdditiveRolesFormArray.push(new j(x))}else if(a.parentRole===ve.READONLY){let x={value:t.some(w=>w.roleId===a.roleId),disabled:!this._allRolesIdentical};this.readOnlyAdditiveRolesFormArray.push(new j(x))}})}initForm(){this.userFormGroup=new it({role:new j(null),standardAdditiveRoles:new Ti([]),readOnlyAdditiveRoles:new Ti([]),selectedCustomRole:new j($e,[_i.validGuidValidator,G.required])})}requestCurrentUser(){this.user=this.selectedUsers[0],this.initForm(),this.patchCurrentUserRoleCheckboxes(this.user),this.enableOrDisableAdditiveRoleCheckboxes()}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275cmp=R({type:n,selectors:[["app-user-add-to-role-modal"]],inputs:{selectedUsers:"selectedUsers"},decls:4,vars:8,consts:[["modalTitle","user_management.users.change_role"],[1,"modal-body"],[3,"availableRoles","formGroup","standardAdditiveRoles","readOnlyAdditiveRoles","allRoles","availableCustomRoles"],[3,"cancelButtonClick","saveButtonClick","border","isSaveButtonDisabled"]],template:function(t,i){t&1&&(g(0,"app-modal-header",0),r(1,"div",1),g(2,"app-role-selection",2),s(),r(3,"app-modal-footer",3),b("cancelButtonClick",function(){return i.modalService.dismiss()})("saveButtonClick",function(){return i.onAddUsersToRoles()}),s()),t&2&&(o(2),u("availableRoles",i.availableRoles)("formGroup",i.userFormGroup)("standardAdditiveRoles",i.standardAdditiveRoles)("readOnlyAdditiveRoles",i.readOnlyAdditiveRoles)("allRoles",i.roles)("availableCustomRoles",i.customRoles),o(),u("border",!1)("isSaveButtonDisabled",!i.userFormGroup.controls.role.value))},dependencies:[Fe,Pe,Ui],encapsulation:2})}}return n})();var Wa=pr(mr());var Ju=n=>({count:n});function Xu(n,l){n&1&&g(0,"app-spinner")}function Zu(n,l){if(n&1){let e=E();r(0,"div",27)(1,"button",28),c(2,"transloco"),c(3,"transloco"),b("click",function(){y(e);let i=d();return S(i.addGroups())}),g(4,"app-icon",29),s(),r(5,"button",30),c(6,"transloco"),c(7,"transloco"),b("click",function(){y(e);let i=d();return S(i.addRoles())}),g(8,"app-icon",31),s(),r(9,"button",32),c(10,"transloco"),c(11,"transloco"),b("click",function(){y(e);let i=d();return S(i.showPasswordActionsConfirmationDialog())}),g(12,"app-icon",33),s(),r(13,"button",34),c(14,"transloco"),c(15,"transloco"),b("click",function(){y(e);let i=d();return S(i.lockUsers())}),g(16,"app-icon",35),s(),r(17,"button",36),c(18,"transloco"),c(19,"transloco"),b("click",function(){y(e);let i=d();return S(i.onDeleteUsers())}),g(20,"app-icon",37),s()()}
1n&2&&(o(),u("ngbTooltip",p(2,10,"user_management.users.add_user_to_group")),k("aria-label",p(3,12,"user_management.users.add_user_to_group")),o(4),u("ngbTooltip",p(6,14,"user_management.users.change_role")),k("aria-label",p(7,16,"user_management.users.change_role")),o(4),u("ngbTooltip",p(10,18,"user_management.users.send_set_or_reset_password_message")),k("aria-label",p(11,20,"user_management.users.send_set_or_reset_password_message")),o(4),u("ngbTooltip",p(14,22,"user_management.users.lock_user")),k("aria-label",p(15,24,"user_management.users.lock_user")),o(4),u("ngbTooltip",p(18,26,"user_management.users.delete_user")),k("aria-label",p(19,28,"user_management.users.delete_user")))}function e_(n,l){if(n&1){let e=E();r(0,"div",27)(1,"button",38),c(2,"transloco"),c(3,"transloco"),b("click",function(){y(e);let i=d();return S(i.requestCsvExport())}),g(4,"app-icon",39),s(),r(5,"button",40),c(6,"transloco"),c(7,"transloco"),b("click",function(){y(e);let i=d();return S(i.onRequestUserUpload())}),g(8,"app-icon",41),s()()}n&2&&(o(),u("ngbTooltip",p(2,4,"user_management.users.export_csv")),k("aria-label",p(3,6,"user_management.users.export_csv")),o(4),u("ngbTooltip",p(6,8,"user_management.users.upload_users")),k("aria-label",p(7,10,"user_management.users.upload_users")))}function t_(n,l){if(n&1&&g(0,"app-user-mini-details",42),n&2){let e=l.item;u("user",e)}}function i_(n,l){if(n&1){let e=E();r(0,"app-user-list-filter",45),b("filterClose",function(){y(e),d();let i=N(1);return S(i.close())})("filter",function(i){y(e);let a=d(2);return S(a.onFilter(i))})("resetFilter",function(){y(e);let i=d(2);return S(i.onResetFilter())}),s()}if(n&2){let e=d(2);u("selectableCosts",e.selectableCosts)("selectableRoles",e.selectableRoles)}}function n_(n,l){if(n&1&&(r(0,"button",43,7),c(2,"transloco"),g(3,"app-icon",44),s(),T(4,i_,1,2,"ng-template",null,8,I)),n&2){let e=N(5),t=d();
1u("ngbPopover",e),k("aria-label",p(2,3,"common.table.open_filter")),o(3),u("ngClass",t.isFiltered?"icon-filter-active":"icon-filter-inactive")}}function o_(n,l){}function a_(n,l){if(n&1){let e=E();r(0,"button",48),c(1,"transloco"),c(2,"transloco"),b("click",function(){y(e);let i=d().item,a=d();return S(a.lockUser(i))}),g(3,"app-icon",35),s()}n&2&&(u("ngbTooltip",p(1,2,"user_management.users.lock_user")),k("aria-label",p(2,4,"user_management.users.lock_user")))}function r_(n,l){if(n&1){let e=E();r(0,"button",49),c(1,"transloco"),c(2,"transloco"),b("click",function(){y(e);let i=d().item,a=d();return S(a.unlockUser(i))}),g(3,"app-icon",50),s()}n&2&&(u("ngbTooltip",p(1,2,"user_management.users.unlock_user")),k("aria-label",p(2,4,"user_management.users.unlock_user")))}function s_(n,l){if(n&1&&(C(0,a_,4,6,"button",46),C(1,r_,4,6,"button",47)),n&2){let e=l.item;v(e.lock===null?0:-1),o(),v(e.lock!==null?1:-1)}}function l_(n,l){if(n&1){let e=E();r(0,"span",51),b("click",function(){let i=y(e).item,a=d();return S(a.callUser(i))})("keydown.enter",function(){let i=y(e).item,a=d();return S(a.callUser(i))}),m(1),s()}if(n&2){let e=l.item;o(),vt(" ",e.surname,", ",e.forename," ")}}function c_(n,l){if(n&1){let e=E();r(0,"span",52),b("click",function(){let i=y(e).item,a=d();return S(a.callUser(i))})("keydown.enter",function(){let i=y(e).item,a=d();return S(a.callUser(i))}),m(1),s()}if(n&2){let e=l.item;o(),_(e.username)}}function p_(n,l){if(n&1&&(r(0,"div",53),g(1,"app-box-list",54),s()),n&2){let e=l.item,t=d();o(),u("fieldValues",t.resolveUserGroupNames(e))}}function m_(n,l){if(n&1&&(r(0,"div",55),g(1,"app-box-list",56),s()),n&2){let e=l.item,t=d();o(),u("fieldValues",t.getRoleNames(e))("showTooltip",!1)}}function d_(n,l){if(n&1&&(r(0,"div",26),g(1,"app-icon",57),r(2,"p",58),m(3),c(4,"transloco"),c(5,"transloco"),s()()),n&2){let e=d();o(3),M(" ",e.isFiltered?p(4,1,"user_management.users.no_users_found"):p(5,3,"user_management.users.no_users_created")," ")}}var Qa=(()=>{class n{constructor(){this._changeDetectorRef=h(ct),this._costService=h(Fi),this._feedbackService=h(oe),this._groupService=h(pt),this._modalService=h(B),this._roleService=h(Mt),this._route=h(me),this._router=h(de),this._translocoService=h(ge),this._userCacheService=h(Fn),this._userService=h(we),this.isFiltered=!1,this._componentActive=!0,this._roles=[],this._groups=[],this._filterAvailable=!1,this._users=[],this._sortColumns=[new wt("surname","Name"),new wt("username","Username"),new wt("mandat","Mandanten"),new wt("roles","Rollen"),new wt("costCenter","Kostenst."),new wt("locked","Sperrung")],this._sortRevert=!1,this._currentSortColumn=this._sortColumns[0],this._isAllSelected=!1,this._page=1,this._perPage=25,this._selectState=0,this._selectableRoles=[],this._selectableCosts=[],this.isPending=!1}get userTable(){return this._userTable}set userTable(e){this._userTable=e}get users(){return this._users}set users(e){this._users=e}set roles(e){this._roles=e}get roles(){return this._roles}get costs(){return this._costs}set costs(e){this._costs=e}set filterAvailable(e){this._filterAvailable=e}get filterAvailable(){return this._filterAvailable}set sortColumns(e){this._sortColumns=e}get sortColumns(){return this._sortColumns}set currentSortColumn(e){this._currentSortColumn=e}get currentSortColumn(){return this._currentSortColumn}set sortRevert(e){this._sortRevert=e}get sortRevert(){return this._sortRevert}set isAllSelected(e){this._isAllSelected=e}get isAllSelected(){return this._isAllSelected}set page(e){this._page=e}get page(){return this._page}set perPage(e){this._perPage=e}get perPage(){return this._perPage}set selectState(e){this._selectState=e}get selectState(){return this._selectState}get selectableRoles(){return this._selectableRoles}get selectableCosts(){return this._selectableCosts}ngOnInit(){this.setLoadingAndShowSpinner(),this.callUpdateUserList(),this._userService.changeSort("surname","asc");let e=this._roleService.roles$.pipe(F(()=>(this.setLoadedAndHideSpinner(),ue))),t=this._costService.costCenters$.pipe(F(()=>(this.setLoadedAndHideSpinner(),ue))),i=this._groupService.groupCollection$.pipe(F(()=>(this.setLoadedAndHideSpinner(),ue)));gi([e,t,i]).pipe(lt([void 0,void 0,void 0]),be(([a,f,x])=>{a&&f&&x&&(this._selectableRoles=si.getRolesAsSelectableRoles(a),this._selectableCosts=si.getCostsAsSelectableCosts(f),this._groups=x,this._roles=a)}),et(()=>this._componentActive)).subscribe(),this._userCacheService.clearCache()}ngOnDestroy(){this._userService.resetFilter(!1),this._componentActive=!1,this._roleSubscription&&this._roleSubscription.unsubscribe(),this._costSubscription&&this._costSubscription.unsubscribe(),this._lockUserSubscription&&this._lockUserSubscription.unsubscribe(),this._unlockUserSubscription&&this._unlockUserSubscription.unsubscribe(),this._groupsSubscription&&this._groupsSubscription.unsubscribe()}callCreateUser(){this._router.navigate(["./create"],{relativeTo:this._route})}getRoleNames(e){return e.roles?.map(t=>t.name)??[]}onSortChange(e){if(e.changeType===Ot.SORT){this.setLoadingAndShowSpinner();let t=e.sortAsc?ze.ASC:ze.DESC;this._userService.changeSort(e.sortBy,t),this.reloadUsers()}}showPasswordActionsConfirmationDialog(){let e=this._userTable.selectedRows.map(i=>i.item.id),t=this._modalService.open(ae);t.componentInstance.title="user_management.users.send_set_or_reset_password_title",t.componentInstance.saveButtonClass="btn-primary",t.componentInstance.saveButtonText="common.ok",t.componentInstance.text=e.length===1?"user_management.users.send_set_or_reset_password_message_single_user":"user_management.users.send_set_or_reset_password_message_multiple_users",t.result.then(i=>{i?.preset&&this.sendSetPasswordMessage(e)})}sendSetPasswordMessage(e){this._userService.reSendInvitationMessage(e).pi
1pe(F(()=>(this.showSetPasswordErrorModal(),ue))).subscribe({next:t=>{if(t){let{successCount:i,errorCount:a}=t.reduce((f,x)=>{let w=f.successCount,L=f.errorCount;return x.success?w+=1:L+=1,{successCount:w,errorCount:L}},{errorCount:0,successCount:0});a>=0&&i===0?this.showSetPasswordErrorModal():this.showSetPasswordSuccessModal(i,a)}}})}onResetFilter(){this.totalCount=void 0,this._userService.resetFilter(!1),this.callUpdateUserList(),this.isFiltered=!1}requestCsvExport(){this.setLoadingAndShowSpinner(),this._userService.requestCsvExport().subscribe(e=>{let t=new Date,a=`Nautos-Userexport-${`${t.getFullYear()}-${(t.getMonth()+1).toString().padStart(2,"0")}-${t.getDate().toString().padStart(2,"0")}`}.csv`,f="text/csv;charset=UTF-8",x=new Blob([e],{type:f});(0,Wa.saveAs)(x,a),this.setLoadedAndHideSpinner(),this._feedbackService.showSuccessModal("common.export.export_successful")})}onPageChange(e){this.setLoadingAndShowSpinner(),this.page=e,this.reloadUsers()}callUser(e){this._router.navigate(["./user",e.id],{relativeTo:this._route})}onFilter(e){this._userService.setFilter(e),this.callUpdateUserList(),this.isFiltered=this.isFilterSet(e)}unlockUser(e){this._unlockUserSubscription&&this._unlockUserSubscription.unsubscribe();let t=this._users.findIndex(i=>i.id===e.id);t!==-1&&(this._users[t].lock=null),this._unlockUserSubscription=this._userService.unlockUser(e.id).pipe(F(()=>(this._feedbackService.showErrorModal(),ue))).subscribe(i=>{i&&this._feedbackService.showSuccessModal("user_management.users.user_successfully_unlocked")})}lockUser(e){let t=this._modalService.open(ji);t.componentInstance.selectedUsers=[e],t.result.then(i=>{i?.users&&(this._lockUserSubscription&&this._lockUserSubscription.unsubscribe(),this._users.filter(a=>a.id===i.users[0].userAccountId).length===1&&(this._users.filter(a=>a.id===i.users[0].userAccountId)[0].lock={idOfExecutingUser:"",nameOfExecutingUser:"",reason:"",time:"",lockType:0,groupId:""}),this._lockUserSubscription=this._userService.lockUsers(i.users).subscribe({next:()=>{this._feedbackService.showSuccessModal("user_management.users.user_successfully_locked")},error:()=>{this._feedbackService.showErrorModal()}}))})}lockUsers(){let e=this._modalService.open(ji),i=this._userTable.selectedRows.map(a=>a.item);e.componentInstance.selectedUsers=i,e.result.then(a=>{a&&a!=="Close click"&&(this._lockUserSubscription&&this._lockUserSubscription.unsubscribe(),this._users.forEach(f=>{a.users.forEach(x=>{f.id===x.userAccountId&&(f.lock={idOfExecutingUser:"",nameOfExecutingUser:"",reason:"",time:"",lockType:0,groupId:""})})}),this._feedbackService.showSuccessModal(i.length===1?"user_management.users.user_successfully_locked":"user_management.users.users_successfully_locked"),this._lockUserSubscription=this._userService.lockUsers(a.users).subscribe())})}onRequestUserUpload(){let e=this._modalService.open(Jo);e.componentInstance.csvImportKey=Ko.user,e.componentInstance.extendedModal=!1,e.componentInstance.completed.subscribe(()=>{this.callUpdateUserList()})}onDeleteUsers(){if(this.userTable?.selectedRows){let e=this.userTable.selectedRows.map(t=>t.item);if(e&&e.length>0){let t=this._modalService.open(ae);if(t.componentInstance.isDeleteConfirmation=!0,t.componentInstance.title="user_management.users.delete_user",e.length===1){let i=this._translocoService.translate("user_management.users.do_you_want_to_delete_user_x",{firstName:e[0].forename,lastName:e[0].surname});t.componentInstance.text=i}else t.componentInstance.title="user_management.users.delete_users",t.componentInstance.text="user_management.users.do_you_want_to_delete_the_users";t.result.then(i=>{i?.preset===!0&&this._userService.deleteUsers(e.map(a=>a.id)).subscribe({next:a=>{if(a===!0){let f=e.map(x=>x.id);this.totalCount-=f.length,this._users=this._users.filter(x=>!f.includes(x.id)),this._feedbackService.showSuccessModal(e.length===1?"user_management.users.user_successfully_deleted":"user_management.users.users_successfully_deleted")}else this._feedbackService.showErrorModal()},error:()=>{this._feedbackService.showErrorModal()}})})}}}addRoles(){let e=this._modalService.open(za),i=this._userTable.selectedRows.map(a=>a.item);e.componentInstance.selectedUsers=i,e.result.then(a=>{this.saveRolesForUsers(a.roleIds,a.removeRoleIds,a.userIds).pipe(oo(f=>f?O(void 0):Qi(()=>new Error("Assigning roles failed")))).subscribe({next:()=>{let f=this._roles.filter(x=>a.roleIds.includes(x.roleId));
1this.users.forEach(x=>{a.userIds.includes(x.id)&&(x.roles=f)}),this._feedbackService.showSuccessModal(i.length===1?"user_management.users.user_successfully_assigned_to_role":"user_management.users.users_successfully_assigned_to_roles")},error:()=>{this._feedbackService.showErrorModal()}})})}addGroups(){let e=this._modalService.open(Pn),i=this._userTable.selectedRows.map(a=>a.item);e.componentInstance.selectedUsers=i,e.result.then(a=>{if(a?.preset){let f=this.users.filter(w=>i.includes(w));f.forEach(w=>{let L=[];if(a.preset)for(let le of a.preset)w.groups.filter(re=>re===le).length<1&&L.push(le);this._groupService.getGroupsById(L).subscribe(le=>{le.forEach(re=>{w.groups.push(re.groupId)})})});let x=!0;this._groupService.addUsersToGroups(f.map(w=>w.id),a.preset).pipe(et(()=>x)).subscribe(()=>{x=!1})}a!=="Cancel click"&&this._feedbackService.showSuccessModal(i.length===1?"user_management.users.user_successfully_linked_to_group":"user_management.users.users_successfully_linked_to_group")})}resolveUserGroupNames(e){return we.getGroupNames(this._groups,e.groups)}callUpdateUserList(){this._page=1,this.reloadUsers()}reloadUsers(){this.setLoadingAndShowSpinner(),this._userService.requestUsersForList(this.page,this.perPage).pipe(We(1),lt(void 0)).subscribe(e=>{e&&(this.users=e,this.setLoadedAndHideSpinner(),this._changeDetectorRef.markForCheck())}),this._userService.requestUsersCount().pipe(lt(void 0),We(2)).subscribe(e=>{this.totalCount=e})}saveRolesForUsers(e,t,i){let a=t?.length?this._userService.removeRolesFromUsers(i,t):O(!0),f=e?.length?this._userService.addRolesToUsers(i,e):O(!0);return Rt([a,f]).pipe(U(([x,w])=>x&&w),F(()=>O(!1)))}showSetPasswordSuccessModal(e,t){let i=this._translocoService.translate(t===0?"sign_up.resend_invitation.resend_invitation_success_only":"sign_up.resend_invitation.resend_invitation_success",{successCount:e,errorCount:t});this._feedbackService.showSuccessModal(i)}showSetPasswordErrorModal(){this._feedbackService.showErrorModal()}setLoadedAndHideSpinner(){this.isPending=!1}setLoadingAndShowSpinner(){this.isPending=!0}isFilterSet(e){return!!e.trunk||!!e.username||!!e.licenseTitle||!!e.roleName||!!e.costCenter||e.isUserActive!=null}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275cmp=R({type:n,selectors:[["app-user-list"]],viewQuery:function(t,i){if(t&1&&K(H,7),t&2){let a;
1z(a=W())&&(i.userTable=a.first)}},decls:49,vars:32,consts:[["tableMenu",""],["menuAnimatedButtons",""],["menuStaticButtons",""],["tableExpand",""],["tableExpandColumnHeader",""],["tableHeader",""],["tableCell",""],["filterPopover","ngbPopover"],["filterPopoverContent",""],[1,"overview-container"],[1,"header"],[3,"count"],["data-cy","numberOfSelectedEntries"],["type","button","data-cy","createUser",1,"btn-primary",3,"click"],[1,"container-menu-pagination"],[3,"appTable"],["menu",""],["data-cy","pagination",3,"pageChange","collectionSize","page","tableMenu","pageSize"],[1,"container-table"],["sortBy","surname","data-cy","table",3,"stateChange","items","hasExpandedRow","customColSpan"],["tableColumn",""],["tableColumn","","itemProperty","userId","styleClasses","button-column",3,"sortable"],["tableColumn","","columnText","common.name","itemProperty","surname",3,"sortable"],["tableColumn","","columnText","user_management.users.username","itemProperty","username",3,"sortable"],["tableColumn","","columnText","user_management.groups.title","itemProperty","groups",3,"sortable"],["tableColumn","","columnText","user_management.users.roles","itemProperty","roles",3,"sortable"],[1,"no-content"],[1,"btn-group"],["type","button",1,"btn-menu-animated",3,"click","ngbTooltip"],["name","group","data-cy","addGroups"],["type","button","data-cy","iconChangeUserRole",1,"btn-menu-animated",3,"click","ngbTooltip"],["name","user-role"],["type","button","data-cy","iconSendPassword",1,"btn-menu-animated",3,"click","ngbTooltip"],["name","send-password"],["type","button","data-cy","lockUsers",1,"btn-menu-animated",3,"click","ngbTooltip"],["name","unavailable"],["type","button","data-cy","iconDeleteUsers",1,"btn-menu-animated",3,"click","ngbTooltip"],["name","delete"],["type","button","data-cy","iconCsvExport",1,"btn-menu-static",3,"click","ngbTooltip"],["name","csv-export"],["type","button","data-cy","iconCsvImport",1,"btn-menu-static",3,"click","ngbTooltip"],["name","csv-import"],["data-cy","miniDetails",3,"user"],["popoverClass","filter-container","placement","bottom-left","autoClose","outside","type","button",1,"btn-filter",3,"ngbPopover"],["name","filter","data-cy","iconFilter",3,"ngClass"],["data-cy","filter",3,"filterClose","filter","resetFilter","selectableCosts","selectableRoles"],["type","button","data-cy","iconLockUser",1,"btn-icon",3,"ngbTooltip"],["type","button","data-cy","iconUnlockUser",1,"btn-icon",3,"ngbTooltip"],["type","button","data-cy","iconLockUser",1,"btn-icon",3,"click","ngbTooltip"],["type","button","data-cy","iconUnlockUser",1,"btn-icon",3,"click","ngbTooltip"],["name","unavailable",1,"icon-alert"],["data-cy","name",1,"link-bold",3,"click","keydown.enter"],["data-cy","username",1,"link",3,"click","keydown.enter"],["data-cy","groups"],[3,"fieldValues"],["data-cy","roles"],[3,"fieldValues","showTooltip"],["sprite","icons-large","name","user-empty-large","data-cy","iconNoUsers",1,"icon-inactive"],["data-cy","textNoUsers"]],template:function(t,i){if(t&1&&(C(0,Xu,1,0,"app-spinner"),r(1,"div",9)(2,"div",10)(3,"div")(4,"h1"),m(5),c(6,"transloco"),s(),g(7,"app-record-count",11),r(8,"p",12),m(9),c(10,"transloco"),c(11,"transloco"),s()(),r(12,"button",13),b("click",function(){return i.callCreateUser()}),m(13),c(14,"transloco"),s()(),r(15,"div",14)(16,"app-table-menu",15,0)(18,"div",16),T(19,Zu,21,30,"ng-template",null,1,I)(21,e_,9,12,"ng-template",null,2,I),s()(),r(23,"app-pagination",17),b("pageChange",function(f){return i.onPageChange(f)}),s()(),r(24,"div",18)(25,"app-table",19),b("stateChange",function(f){return i.onSortChange(f)}),r(26,"div",20),T(27,t_,1,1,"ng-template",null,3,I),s(),T(29,n_,6,5,"ng-template",null,4,I),r(31,"div",21),T(32,o_,0,0,"ng-template",null,5,I)(34,s_,2,2,"ng-template",null,6,I),s(),r(36,"div",22),T(37,l_,2,2,"ng-template",null,6,I),s(),r(39,"div",23),T(40,c_,2,1,"ng-template",null,6,I),s(),r(42,"div",24),T(43,p_,2,1,"ng-template",null,6,I),s(),r(45,"div",25),T(46,m_,2,2,"ng-template",null,6,I),s()(),C(48,d_,6,5,"div",26),s()()),t&2){let a=N(17);v(i.isPending?0:-1),o(),fe("hide",i.isPending),o(4),_(p(6,21,"user_management.users.title")),o(2),u("count",i.totalCount),o(2),M(" ",(i.userTable==null||i.userTable.selectedRows==null?null:i.userTable.selectedRows.length)===1?p(10,23,"search.hitlist.element_selected"):Te(11,25,"search.hitlist.elements_selected",Re(30,Ju,(i.userTable==null||i.userTable.selectedRows==null?null:i.userTable.selectedRows.length)??0))," "),o(4),M(" ",p(14,28,"user_management.users.create_user")," "),o(3),u("appTable",i.userTable),o(7),u("collectionSize",i.totalCount)("page",i.page)("tableMenu",a)("pageSize",i.perPage),o(2),u("items",i.users)("hasExpandedRow",!0)("customColSpan",4),o(6),u("sortable",!0),o(5),u("sortable",!0),o(3),u("sortable",!0),o(3),u("sortable",!0),o(3),u("sortable",!0),o(3),v(i.totalCount===0?48:-1)}},dependencies:[It,Le,nt,V,Ae,Lt,X,Dt,He,q,Xe,he,Oe,D,wn,vn,H,P],encapsulation:2})}}return n})();var Ka=(()=>{class n{static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275cmp=R({type:n,selectors:[["app-user-management"]],decls:1,vars:0,template:function(t,i){t&1&&g(0,"router-outlet")},dependencies:[Et,Wt],encapsulation:2})}}return n})();var Ya=(()=>{class n{constructor(){this._httpClient=h(Ue),this._configService=h(Me)}deleteLogEntries(e){let t=`${this._configService.baseConfig.baseUrl}${this._configService.baseConfig.extension}/log/delete`;return this._httpClient.post(t,e,{observe:"response"}).pipe(U(i=>{if(se.isAccepted(i.status))return!0;throw new Error("Failed to delete log entries.")}),F(()=>O(null)))}getLoggingSettings(){let e=`${this._configService.baseConfig.baseUrl}${this._configService.baseConfig.extension}/log/settings`;return this._httpClient.get(e,{observe:"response"}).pipe(U(t=>se.isAccepted(t.status)?t.body:null),F(()=>O(null)))}saveLoggingSettings(e){let t=`${this._configService.baseConfig.baseUrl}${this._configService.baseConfig.extension}/log/settings`;return this._httpClient.post(t,e,{observe:"response"}).pipe(U(i=>{if(se.isAccepted(i.status))return!0;throw new Error("Failed to save logging settings.")}),F(()=>O(!1)))}getAllLoggingLevels(){let e=`${this._configService.baseConfig.baseUrl}${this._configService.baseConfig.extension}/log/settings/levels`;return this._httpClient.get(e,{observe:"response"}).pipe(U(t=>se.isAccepted(t.status)?t.body:null),F(()=>O(null)))}getLogsPagedAndFiltered(e,t,i){let a=`${this._configService.baseConfig.baseUrl}${this._configService.baseConfig.extension}/log`,f=new Eo().set("page",e.toString()).set("size",t.toString());return this._httpClient.post(a,i,{params:f,observe:"response"}).pipe(U(x=>se.isAccepted(x.status)?x.body:null),F(()=>O(null)))}getTotalCount(){let e=`${this._configService.baseConfig.baseUrl}${this._configService.baseConfig.extension}/log/count`;return this._httpClient.get(e,{observe:"response"}).pipe(U(t=>se.isAccepted(t.status)?t.body:null),F(()=>O(null)))}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275prov=ce({token:n,factory:n.\u0275fac,providedIn:"root"})}}return n})();function __(n,l){n&1&&g(0,"app-icon",8)}
1function f_(n,l){n&1&&(r(0,"span"),m(1),c(2,"transloco"),s()),n&2&&(o(),_(p(2,1,"common.save")))}function h_(n,l){if(n&1){let e=E();r(0,"button",23),c(1,"transloco"),c(2,"transloco"),b("click",function(){y(e);let i=d();return S(i.onTableMenuAction(i.menuAction.DELETE))}),g(3,"app-icon",24),s()}n&2&&(u("ngbTooltip",p(1,2,"user_management.sso.settings.delete_log")),k("aria-label",p(2,4,"user_management.sso.settings.delete_log")))}function g_(n,l){if(n&1&&(r(0,"div",25),m(1),c(2,"date"),c(3,"date"),s()),n&2){let e=l.item,t=d();o(),vt(" ",Bn(2,2,e.creationTime,"dd.MM.yyyy","",t.languageId)," ",Bn(3,7,e.creationTime,"shortTime","",t.languageId)," ")}}function C_(n,l){if(n&1&&(r(0,"div",26),m(1),s()),n&2){let e=l.item;o(),_(e.options)}}function v_(n,l){if(n&1&&(r(0,"div",27),m(1),s()),n&2){let e=l.item;o(),_(e.message)}}function b_(n,l){if(n&1&&(r(0,"div",28),m(1),s()),n&2){let e=l.item;o(),_(e.status)}}function y_(n,l){n&1&&(r(0,"div",22),g(1,"app-icon",29),r(2,"p",30),m(3),c(4,"transloco"),s()()),n&2&&(o(3),_(p(4,1,"user_management.sso.settings.no_logging")))}var Ja=(()=>{class n{get logEntryTable(){return this._logEntryTable}set logEntryTable(e){this._logEntryTable=e}constructor(){this._changeDetectorRef=h(ct),this._feedbackService=h(oe),this._formBuilder=h(Ce),this._loggingService=h(Ya),this._translocoService=h(ge),this._uiService=h(St),this._unsavedChangesService=h(Tt),this.isPending=!1,this.logEntries=[],this.logLevelsSelectOptions=[],this.menuAction=$i,this.pageNumber=0,this.pageSize=25,this.totalCount=0,this._selectedRows=[],this._subscriptions=[],this._filter={username:null,roleId:null,status:null,loginOption:null},this.logSettingsForm=this._formBuilder.group({logLevel:[null,[G.required,G.min(0)]],isEnabled:!1})}ngOnInit(){this._unsavedChangesService.initialize(),this.languageId=this._translocoService.getActiveLang(),this.loadLogLevels(),this.loadLogSettings(),this.onPageChange(0),this._changeDetectorRef.markForCheck()}ngOnDestroy(){this._subscriptions.forEach(e=>e.unsubscribe())}loadLogSettings(){this._loggingService.getLoggingSettings().subscribe(e=>{this.logSettingsForm=new it({logLevel:new j({value:e.logLevel,disabled:!1},[G.required,G.min(0)]),isEnabled:new j({value:e.isEnabled,disabled:!1})}),this._initialSettings=e,this.logSettingsForm.valueChanges.subscribe(t=>{let i=this.hasFormChanged(t);this._unsavedChangesService.trackChanges(i)})})}hasFormChanged(e){return this._initialSettings.isEnabled!==e.isEnabled}loadLogLevels(){this._loggingService.getAllLoggingLevels().subscribe(e=>{this.logLevelsSelectOptions=e.map((t,i)=>({text:t,value:i}))})}onDeleteLog(e){this._loggingService.deleteLogEntries(e).subscribe(t=>{t?(this.onPageChange(0),this._feedbackService.showSuccessModal("user_management.sso.settings.logging_delete_success")):this._feedbackService.showErrorModal()})}onSaveLoggingSettings(){this._uiService.showSpinner(),this.isPending=!0,this._loggingService.saveLoggingSettings(this.logSettingsForm.value).subscribe(e=>{e?this._feedbackService.showSuccessModal("user_management.logging_settings_saved_successfully"):this._feedbackService.showErrorModal("user_management.logging_settings_save_error"),this._unsavedChangesService.resetUnsavedChangesFlag()}).add(()=>{this._uiService.hideSpinner(),this.isPending=!1})}onPageChange(e){this._uiService.showSpinner(),this.pageNumber=e,this._loggingService.getLogsPagedAndFiltered(Math.max(this.pageNumber-1,0),this.pageSize,this._filter).subscribe({next:t=>{this.logEntries=t},complete:()=>{this._uiService.hideSpinner()}}),this._loggingService.getTotalCount().subscribe(t=>{this.totalCount=t})}onTableMenuAction(e){let i=this._selectedRows.map(a=>a.item.id);e===$i.DELETE&&this.onDeleteLog(i)}onRowsSelected(e){this._selectedRows=e}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275cmp=R({type:n,selectors:[["app-logging-list"]],viewQuery:function(t,i){if(t&1&&K(H,7),t&2){let a;
1z(a=W())&&(i.logEntryTable=a.first)}},decls:35,vars:13,consts:[["tableMenu",""],["menuAnimatedButtons",""],["logTable",""],["tableCell",""],[1,"detail-container"],[1,"header"],[1,"buttons"],["type","submit","data-cy","saveLogSettings",1,"btn-primary",3,"click"],["name","loading-spinner"],[3,"formGroup"],["label","user_management.sso.settings.enable_logging","formControlName","isEnabled","data-cy","enableLogging"],["label","user_management.sso.settings.logging_level","formControlName","logLevel","data-cy","logLevel",3,"items"],[1,"container-menu-pagination"],[3,"appTable"],["menu",""],["data-cy","pagination",3,"pageChange","collectionSize","page","tableMenu","pageSize"],[1,"container-table"],["data-cy","table",3,"rowsSelected","items"],["tableColumn","","columnText","common.date","itemProperty","creationTime"],["tableColumn","","columnText","user_management.sso.general.login_option","itemProperty","options"],["tableColumn","","columnText","user_management.sso.logging.message","itemProperty","message"],["tableColumn","","columnText","common.status","itemProperty","status"],[1,"no-content"],["type","button","data-cy","iconDeleteLog",1,"btn-menu-animated",3,"click","ngbTooltip"],["name","delete"],["data-cy","logDate"],["data-cy","logOptions"],["data-cy","logMessage"],["data-cy","logStatus"],["sprite","icons-large","name","cross-large","data-cy","iconNoLog",1,"icon-inactive"],["data-cy","textNoLog"]],template:function(t,i){if(t&1&&(r(0,"div",4)(1,"div",5)(2,"h2"),m(3),c(4,"transloco"),s(),r(5,"div",6)(6,"button",7),b("click",function(){return i.isPending?null:i.onSaveLoggingSettings()}),C(7,__,1,0,"app-icon",8)(8,f_,3,3,"span"),s()()(),r(9,"form",9),g(10,"app-checkbox",10)(11,"app-select",11),r(12,"div",12)(13,"app-table-menu",13,0)(15,"div",14),T(16,h_,4,6,"ng-template",null,1,I),s()(),r(18,"app-pagination",15),b("pageChange",function(f){return i.onPageChange(f)}),s()(),r(19,"div",16)(20,"app-table",17,2),b("rowsSelected",function(f){return i.onRowsSelected(f)}),r(22,"div",18),T(23,g_,4,12,"ng-template",null,3,I),s(),r(25,"div",19),T(26,C_,2,1,"ng-template",null,3,I),s(),r(28,"div",20),T(29,v_,2,1,"ng-template",null,3,I),s(),r(31,"div",21),T(32,b_,2,1,"ng-template",null,3,I),s()(),C(34,y_,5,3,"div",22),s()()()),t&2){let a=N(14),f=N(21);o(3),_(p(4,11,"user_management.sso.settings.logging")),o(4),v(i.isPending?7:8),o(2),u("formGroup",i.logSettingsForm),o(2),u("items",i.logLevelsSelectOptions),o(2),u("appTable",f),o(5),u("collectionSize",i.totalCount)("page",i.pageNumber)("tableMenu",a)("pageSize",i.pageSize),o(2),u("items",i.logEntries),o(14),v(i.totalCount===0?34:-1)}},dependencies:[Ie,V,Ae,X,Dt,q,ne,$,J,te,ee,he,Oe,D,mt,H,zt,P],styles:[".detail-container[_ngcontent-%COMP%] app-checkbox[_ngcontent-%COMP%], .detail-container[_ngcontent-%COMP%] app-select[_ngcontent-%COMP%]{margin-block:calc(var(--spacer) * 2);max-width:24rem}"]})}}return n})();var S_=["claimTable"],x_=["roleTable"],T_=(n,l)=>({mandatory:n,error:l});function M_(n,l){if(n&1&&(r(0,"h2",8),m(1),c(2,"transloco"),c(3,"transloco"),s()),n&2){let e=d();o(),M(" ",e.idpForm.controls.connectionId.value?p(2,1,"user_management.sso.adfs.edit_idp_connection"):p(3,3,"user_management.sso.adfs.create_idp_connection")," ")}}function I_(n,l){if(n&1){let e=E();r(0,"button",23),b("click",function(){y(e);let i=d();return S(i.onDeleteIdpConnection())}),r(1,"span"),m(2),c(3,"transloco"),s()()}n&2&&(o(2),_(p(3,1,"common.delete")))}function E_(n,l){n&1&&g(0,"app-icon",13)}function w_(n,l){n&1&&(r(0,"span"),m(1),c(2,"transloco"),s()),n&2&&(o(),_(p(2,1,"common.save")))}function k_(n,l){if(n&1){let e=E();r(0,"div",14)(1,"label",24),m(2),c(3,"transloco"),s(),r(4,"div",25)(5,"a",26),g(6,"app-icon",27),m(7),c(8,"transloco"),s(),r(9,"button",28),b("click",function(){y(e);let i=d();return S(i.downloadMetadataXml())}),g(10,"app-icon",29),r(11,"span"),m(12),c(13,"transloco"),s()()()()}if(n&2){let e=d();o(2),M(" ",p(3,5,"user_management.sso.adfs.service_provider_metadata_url")," "),o(3),u("href",Zi(e.serviceProviderMetadataUrl),vi),o(2),M(" ",p(8,7,"user_management.sso.adfs.view_file")," "),o(5),_(p(13,9,"common.file_download"))}}function R_(n,l){n&1&&(r(0,"p",30),m(1),c(2,"transloco"),s()),n&2&&(o(),M(" ",p(2,1,"common.please_fill_this_field")," "))}function U_(n,l){n&1&&(r(0,"p",30),m(1),c(2,"transloco"),s()),n&2&&(o(),M(" ",p(2,1,"user_management.sso.connection_name_already_in_use")," "))}function F_(n,l){n&1&&(r(0,"p",30),m(1),c(2,"transloco"),s()),n&2&&(o(),M(" ",p(2,1,"user_management.sso.connection_name_limit_exceeded")," "))}function P_(n,l){if(n&1&&(C(0,R_,3,3,"p",30),C(1,U_,3,3,"p",30),C(2,F_,3,3,"p",30)),n&2){let e=d();v(e.idpForm.controls.name.errors.required?0:-1),o(),v(!e.idpForm.controls.name.errors.required&&!e.idpForm.controls.name.errors.charLimitExceeded&&e.idpForm.controls.name.errors.invalidName?1:-1),o(),v(!e.idpForm.controls.name.errors.required&&e.idpForm.controls.name.errors.charLimitExceeded?2:-1)}}function L_(n,l){n&1&&(r(0,"p",39),m(1),c(2,"transloco"),s()),n&2&&(o(),M(" ",p(2,1,"common.please_fill_this_field")," "))}function A_(n,l){if(n&1&&(g(0,"input",38),C(1,L_,3,3,"p",39)),n&2){let e=d(2);o(),v(e.idpForm.touched&&!e.idpForm.controls.checkMetadataUrl.valid?1:-1)}}function O_(n,l){n&1&&(r(0,"span",43),m(1),c(2,"transloco"),s()),n&2&&(o(),M(" ",p(2,1,"common.file_upload_hint")," "))}function D_(n,l){if(n&1&&(r(0,"span",44),m(1),s()),n&2){let e=d(3);o(),_(e.uploadFile.name)}}function V_(n,l){if(n&1&&(r(0,"span",44),m(1),s()),n&2){let e=d(3);o(),_(e.currentConnection.filename)}}function N_(n,l){if(n&1&&(r(0,"p",46),m(1),c(2,"transloco"),s()),n&2){let e=d(3);o(),M(" ",p(2,1,e.fileUploadErrorMessage)," ")}}function G_(n,l){if(n&1){let e=E();
1r(0,"div",40),b("click",function(){y(e);let i=N(7),a=d(2);return a.fileUploadErrorMessage="",S(i.click())})("keydown.enter",function(){y(e);let i=N(7),a=d(2);return a.fileUploadErrorMessage="",S(i.click())})("fileDropped",function(i){y(e);let a=d(2);return S(a.onAddUploadFile(i))}),r(1,"div",41),g(2,"app-icon",42),C(3,O_,3,3,"span",43),C(4,D_,2,1,"span",44),C(5,V_,2,1,"span",44),r(6,"input",45,0),b("change",function(i){y(e);let a=d(2);return S(a.onAddUploadFile(i))}),s()()(),C(8,N_,3,3,"p",46)}if(n&2){let e=d(2);o(3),v(!(e.uploadFile!=null&&e.uploadFile.name)&&!e.currentConnection.filename?3:-1),o(),v(e.uploadFile!=null&&e.uploadFile.name?4:-1),o(),v(e.currentConnection.filename?5:-1),o(3),v(e.fileUploadErrorMessage?8:-1)}}function B_(n,l){if(n&1&&(r(0,"div",14)(1,"div",5)(2,"div",31),g(3,"input",32),r(4,"label",33),m(5),c(6,"transloco"),s()(),r(7,"div",34),g(8,"input",35),r(9,"label",36),m(10),c(11,"transloco"),s()()(),r(12,"div",37),C(13,A_,2,1),C(14,G_,9,4),s()()),n&2){let e=d();o(),u("formGroup",e.xmlMetadataForm),o(2),u("checked",e.xmlMetadataForm.get("metadataType").value==="url"),o(2),M(" ",p(6,7,"user_management.sso.adfs.idp_xml_url")," "),o(3),u("checked",e.xmlMetadataForm.get("metadataType").value==="file"),o(2),M(" ",p(11,9,"user_management.sso.adfs.idp_xml_file")," "),o(3),v(e.xmlMetadataForm.get("metadataType").value==="url"?13:-1),o(),v(e.xmlMetadataForm.get("metadataType").value==="file"?14:-1)}}function $_(n,l){n&1&&(r(0,"p",21),m(1),c(2,"transloco"),s()),n&2&&(o(),_(p(2,1,"common.please_fill_this_field")))}function q_(n,l){if(n&1&&(r(0,"div",14)(1,"span",48),m(2),c(3,"transloco"),s(),r(4,"span",51),m(5),s()()),n&2){let e=d(2);o(2),_(p(3,2,"user_management.sso.adfs.certificate_enddate")),o(3),_(e.currentConnection.certificateEnddate)}}function j_(n,l){if(n&1&&(r(0,"div",14)(1,"span",48),m(2),c(3,"transloco"),s(),r(4,"span"),m(5),s()()),n&2){let e=d(2);o(2),_(p(3,2,"user_management.sso.adfs.idp_url")),o(3),_(e.currentConnection.idpUrl)}}function H_(n,l){if(n&1&&(r(0,"div"),C(1,q_,6,4,"div",14),C(2,j_,6,4,"div",14),r(3,"div",47)(4,"span",48),m(5),c(6,"transloco"),s(),r(7,"span"),m(8),s()(),r(9,"div",49)(10,"span",48),m(11),c(12,"transloco"),s(),r(13,"span"),m(14),s()(),r(15,"div",50)(16,"span",48),m(17),c(18,"transloco"),s(),r(19,"span"),m(20),s()()()),n&2){let e=d();o(),v(e.currentConnection.certificateEnddate?1:-1),o(),v(e.currentConnection.idpUrl?2:-1),o(3),_(p(6,8,"user_management.sso.adfs.idp_certificate_thumbprint")),o(3),_(e.currentConnection.certificateThumbprint),o(3),_(p(12,10,"user_management.sso.adfs.idp_certificate_issuer")),o(3),_(e.currentConnection.certificateIssuer),o(3),_(p(18,12,"user_management.sso.adfs.idp_certificate_subjectname")),o(3),_(e.currentConnection.certificateSubject)}}function z_(n,l){n&1&&(r(0,"div",22)(1,"p",52),m(2),c(3,"transloco"),s(),r(4,"p",53),m(5),c(6,"transloco"),s()()),n&2&&(o(2),_(p(3,2,"user_management.sso.adfs.info_title")),o(3),_(p(6,4,"user_management.sso.adfs.info_text")))}function W_(n,l){if(n&1){let e=E();r(0,"button",77),c(1,"transloco"),c(2,"transloco"),b("click",function(){y(e);let i=d(2);return S(i.onDeleteClaimTypeMaps())}),g(3,"app-icon",78),s()}n&2&&(u("ngbTooltip",p(1,2,"user_management.sso.delete_claims")),k("aria-label",p(2,4,"user_management.sso.delete_claims")))}function Q_(n,l){if(n&1){let e=E();r(0,"button",79),c(1,"transloco"),c(2,"transloco"),b("click",function(){let i=y(e).item,a=d(2);return S(a.onEditClaimTypeMap(i))}),g(3,"app-icon",80),s()}n&2&&(u("ngbTooltip",p(1,2,"common.edit")),k("aria-label",p(2,4,"common.edit")))}function K_(n,l){n&1&&m(0," \xA0 ")}function Y_(n,l){if(n&1&&(r(0,"span",81),m(1),c(2,"userAttributeToTransloco"),c(3,"transloco"),s(),C(4,K_,1,0)),n&2){let e=l.item;Xi(Ut(8,T_,!e.isOptional,e.identityProviderClaimType&&!e.identityProviderClaimType.uri)),o(),M(" ",p(3,6,p(2,4,e.nautosUserAttribute))," "),o(3),v(e.identityProviderClaimType?4:-1)}}function J_(n,l){if(n&1&&(r(0,"span",82),m(1),c(2,"transloco"),s()),n&2){let e=l.item;o(),M(" ",p(2,1,e.isOptional?"common.yes":"common.no")," ")}}function X_(n,l){if(n&1&&(r(0,"span",83),m(1),c(2,"uppercase"),s()),n&2){let e=l.item;o(),_(p(2,1,e.synchronizationStrategy))}}function Z_(n,l){if(n&1&&(r(0,"div",84),m(1),s(),r(2,"div",85),m(3),s(),r(4,"div",86),m(5),s()),n&2){let e=l.item;
1o(),_(e.identityProviderClaimType==null?null:e.identityProviderClaimType.displayName),o(2),_(e.identityProviderClaimType==null?null:e.identityProviderClaimType.uri),o(2),_(e.identityProviderClaimType==null?null:e.identityProviderClaimType.description)}}function e0(n,l){if(n&1&&(r(0,"div",87),m(1),s()),n&2){let e=l.item;o(),_(e.fixedValue)}}function t0(n,l){if(n&1&&(r(0,"div",88),m(1),s()),n&2){let e=l.item;o(),_(e.regularExpression)}}function i0(n,l){if(n&1&&(r(0,"div",89),m(1),s()),n&2){let e=l.item;o(),_(e.description)}}function n0(n,l){n&1&&(r(0,"div",71),g(1,"app-icon",90),r(2,"p",91),m(3),c(4,"transloco"),s()()),n&2&&(o(3),M(" ",p(4,1,"user_management.sso.no_user_attributes")," "))}function o0(n,l){if(n&1){let e=E();r(0,"button",92),c(1,"transloco"),c(2,"transloco"),b("click",function(){y(e);let i=d(2);return S(i.onDeleteRoleMaps())}),g(3,"app-icon",78),s()}n&2&&(u("ngbTooltip",p(1,2,"user_management.sso.delete_role_maps")),k("aria-label",p(2,4,"user_management.sso.delete_role_maps")))}function a0(n,l){if(n&1){let e=E();r(0,"button",93),c(1,"transloco"),c(2,"transloco"),b("click",function(){let i=y(e).item,a=d(2);return S(a.onEditRoleMap(i))}),g(3,"app-icon",80),s()}n&2&&(u("ngbTooltip",p(1,2,"common.edit")),k("aria-label",p(2,4,"common.edit")))}function r0(n,l){if(n&1&&(r(0,"span",94),m(1),s()),n&2){let e=l.item;o(),_(e.nautosRole)}}function s0(n,l){if(n&1&&(r(0,"span",95),m(1),s()),n&2){let e=l.item;o(),_(e.regex)}}function l0(n,l){if(n&1&&(r(0,"span",96),m(1),s()),n&2){let e=l.item;o(),_(e.priority)}}function c0(n,l){if(n&1&&(r(0,"span",89),m(1),s()),n&2){let e=l.item;o(),_(e.description)}}function p0(n,l){n&1&&(r(0,"div",71),g(1,"app-icon",97),r(2,"p",98),m(3),c(4,"transloco"),s()()),n&2&&(o(3),_(p(4,1,"user_management.sso.no_roles")))}function m0(n,l){if(n&1){let e=E();r(0,"section")(1,"div",54)(2,"h3"),m(3),c(4,"transloco"),r(5,"span"),g(6,"app-icon",55),c(7,"transloco"),c(8,"transloco"),s()(),r(9,"button",56),b("click",function(){y(e);let i=d();return S(i.onAddClaimTypeMap())}),r(10,"span",57),m(11),c(12,"transloco"),s()()(),r(13,"div",58)(14,"app-table-menu",59)(15,"div",60),T(16,W_,4,6,"ng-template",null,1,I),s()()(),r(18,"div",61)(19,"app-table",62,2)(21,"div",63),T(22,Q_,4,6,"ng-template",null,3,I),s(),r(24,"div",64),T(25,Y_,5,11,"ng-template",null,3,I),s(),r(27,"div",65),T(28,J_,3,3,"ng-template",null,3,I),s(),r(30,"div",66),T(31,X_,3,3,"ng-template",null,3,I),s(),r(33,"div",67),T(34,Z_,6,3,"ng-template",null,3,I),s(),r(36,"div",68),T(37,e0,2,1,"ng-template",null,3,I),s(),r(39,"div",69),T(40,t0,2,1,"ng-template",null,3,I),s(),r(42,"div",70),T(43,i0,2,1,"ng-template",null,3,I),s()(),C(45,n0,5,3,"div",71),s()(),r(46,"section")(47,"div",54)(48,"h3"),m(49),c(50,"transloco"),s(),r(51,"button",56),b("click",function(){y(e);let i=d();return S(i.onAddRoleMap())}),r(52,"span",72),m(53),c(54,"transloco"),s()()(),r(55,"div",58)(56,"app-table-menu",59)(57,"div",60),T(58,o0,4,6,"ng-template",null,1,I),s()()(),r(60,"div",61)(61,"app-table",73,4)(63,"div",63),T(64,a0,4,6,"ng-template",null,3,I),s(),r(66,"div",74),T(67,r0,2,1,"ng-template",null,3,I),s(),r(69,"div",75),T(70,s0,2,1,"ng-template",null,3,I),s(),r(72,"div",76),T(73,l0,2,1,"ng-template",null,3,I),s(),r(75,"div",70),T(76,c0,2,1,"ng-template",null,3,I),s()(),C(78,p0,5,3,"div",71),s()()}if(n&2){let e=N(20),t=N(62),i=d();o(3),M(" ",p(4,12,"user_management.sso.adfs.user_attributes_assign")," "),o(3),u("ngbTooltip",p(7,14,"user_management.sso.adfs.company_claim_info")),k("aria-label",p(8,16,"user_management.sso.adfs.company_claim_info")),o(5),M(" ",p(12,18,"user_management.sso.add_user_attribute")," "),o(3),u("appTable",e),o(5),u("items",i.currentConnection.claimTypeMappings),o(26),v(i.numberOfClaimTypes===0?45:-1),o(4),_(p(50,20,"user_management.sso.roles_map")),o(4),_(p(54,22,"user_management.sso.add_role")),o(3),u("appTable",t),o(5),u("items",i.currentConnection.roleMappings),o(17),v(i.numberOfRoles===0?78:-1)}}var d0={name:"",isActive:!1,connectionId:"",signAuthRequest:!1,autoSignAuthRequestsBasedOnMetadata:!1,metadataUrl:"",useMetadataUrl:!1,claimTypeMappings:[],roleMappings:[],type:De.SAML_V2,certificateEnddate:"",certificateThumbprint:"",certificateIssuer:"",certificateSubject:""},Xa=["Username","Email","Surname","Forename","Roles","Location"],eo=(()=>{class n{constructor(){this._configService=h(Me),this._feedbackService=h(oe),this._fileSaverService=h(Go),this._formBuilder=h(Ce),this._mappingHelperService=h(Li),this._modalService=h(B),this._route=h(me),this._router=h(de),this._samlService=h(Nt),this._translocoService=h(ge),this._unsavedChangesService=h(Tt),this.canSave=!0,this.currentConnection=Ze.clone(d0),this.isPending=!0,this._claimTypeMappingsToDelete=[],this._connectionNames=[],this._maxFileSizeMb=5,this._subscriptions=[],this._usedRolePrios=[]}get connectionId(){return this._connectionId}set claimTable(e){this._claimTable=e}get claimTable(){return this._claimTable}set roleTable(e){this._roleTable=e}get roleTable(){return this._roleTable}ngOnInit(){this._unsavedChangesService.initialize(),this._tenantKey=localStorage.getItem(Ye);let{id:e}=this._route.snapshot.params;this._connectionId=e;let t={connectionId:e??"",entityId:"",name:[""],checkMetadataUrl:["",[G.required,G.minLength(1)]],signAuthenticationRequest:!1};this.idpForm=this._formBuilder.group(t),this._initialConfiguration=t,this.xmlMetadataForm=this._formBuilder.group({metadataType:["url"],metadataUrl:"",filename:""}),e&&(this._samlService.getOfferedClaimTypes(this.connectionId).subscribe(i=>{this._offeredClaimTypes=i}),this.removeRequiredValidator("checkMetadataUrl"),this.patchIdpConnection(e)),this.xmlMetadataForm.get("metadataType").valueChanges.subscribe(()=>{this.checkUrlInput()}),this.idpForm.get("checkMetadataUrl").valueChanges.subscribe(()=>{this.checkUrlInput()}),this.idpForm.valueChanges.subscribe(i=>{let a=this.hasFormChanged(i);this._unsavedChangesService.trackChanges(a)}),this._samlService.getConnectionNames().subscribe(i=>{this._connectionNames=i}),this._samlService.getOfferedClaimTypes(this.connectionId).subscribe(i=>{this._offeredClaimTypes=i}
1),this.updateValidators(),this.isPending=!1}ngOnDestroy(){this._subscriptions.forEach(e=>e.unsubscribe())}onCancel(){this._unsavedChangesService.resetUnsavedChangesFlag(),this._router.navigate(["../"],{relativeTo:this._route})}onSave(){this.isPending=!0;let e=!this.idpForm.get("name").valid;Object.values(this.idpForm.controls).forEach(x=>{x.markAsTouched(),x.updateValueAndValidity()});let t=!this.idpForm.get("connectionId").value,i=!!this.idpForm.get("checkMetadataUrl").value,a=!!this.uploadFile,f=t&&!a&&!i;if(f&&(this.fileUploadErrorMessage="common.please_choose_a_file"),e||f){this.isPending=!1;return}this.saveConnection(),this._unsavedChangesService.resetUnsavedChangesFlag()}get numberOfClaimTypes(){return this.currentConnection.claimTypeMappings.length??0}get numberOfRoles(){return this.currentConnection.roleMappings.length??0}onDeleteIdpConnection(){let e=this._modalService.open(ae);e.componentInstance.isDeleteConfirmation=!0,e.componentInstance.title="user_management.sso.adfs.delete_idp_connection",this._subscriptions.push(this._translocoService.selectTranslate("user_management.sso.adfs.do_you_want_to_delete_idp_connection_x",{name:this.currentConnection.name}).subscribe(t=>e.componentInstance.text=t)),e.result.then(t=>{t.preset&&(this.isPending=!0,this._subscriptions.push(this._samlService.deleteConnection(this.currentConnection.connectionId).pipe(Z(()=>this.isPending=!1)).subscribe(i=>{i?(this._samlService.refreshIdpConnections(),this._feedbackService.showSuccessModal("user_management.sso.adfs.idp_connection_successfully_deleted",`${this._tenantKey}/settings/sso/v1`)):this._feedbackService.showErrorModal("common.error",`${this._tenantKey}/settings/sso/v1`)})))})}onAddClaimTypeMap(){this._subscriptions.push(this._samlService.getAllNautosUserAttributes().subscribe(e=>{let t=this._modalService.open(ti);t.componentInstance.listElements=e.filter(i=>!this.currentConnection.claimTypeMappings.map(a=>a.nautosUserAttribute).includes(i.name)).map(i=>i.name),t.componentInstance.title="user_management.sso.add_user_attribute",t.result.then(i=>{i?.passedElements&&(this.addClaimTypeMappings(i.passedElements),this.checkChanges())})}))}onEditClaimTypeMap(e){let t=this._modalService.open(Ai,{windowClass:"modal-large"});t.componentInstance.idpClaimTypes=this._offeredClaimTypes??[],t.componentInstance.editClaimTypeMap(e,[]),t.componentInstance.showSyncStrategyTypes=e.nautosUserAttribute!=="Username",t.result.then(i=>{i?.passedClaimTypeMap&&(this.currentConnection.claimTypeMappings=this.currentConnection.claimTypeMappings.map(a=>a.nautosUserAttribute===i.passedClaimTypeMap.nautosUserAttribute?i.passedClaimTypeMap:a),this.checkChanges())})}onDeleteClaimTypeMaps(){let t=this._claimTable.selectedRows.map(i=>i.item);this._claimTypeMappingsToDelete=this._claimTypeMappingsToDelete.concat(t),this.checkChanges(),this.currentConnection.claimTypeMappings=this.currentConnection.claimTypeMappings.filter(i=>!this._claimTypeMappingsToDelete.map(f=>f.nautosUserAttribute).includes(i.nautosUserAttribute)||Xa.includes(i.nautosUserAttribute)||!i.isOptional)}claimTypeMapCanBeDeleted(e){return!Xa.includes(e)}onAddRoleMap(){this._subscriptions.push(this._mappingHelperService.getRoleNamesForMapping().subscribe(e=>{let t=this._modalService.open(ti),i=e.filter(a=>!this.currentConnection.roleMappings.map(f=>f.nautosRole).includes(a));t.componentInstance.listElements=i,t.componentInstance.title="user_management.sso.add_role",t.result.then(a=>{if(a?.passedElements){let f=a.passedElements.map(x=>({roleMapId:null,nautosRole:x,priority:this.getSmallestUnusedPrio()}));this.checkChanges(),this.currentConnection.roleMappings||(this.currentConnection.roleMappings=[]),this.currentConnection.roleMappings=[...this.currentConnection.roleMappings,...f]}})}))}onEditRoleMap(e){let t=this._modalService.open(Oi);t.componentInstance.currentRoleMap=Ze.clone(e),t.result.then(i=>{i?.passedRoleMap&&(this.currentConnection.roleMappings=this.currentConnection.roleMappings.map(a=>a.nautosRole===i.passedRoleMap.nautosRole?i.passedRoleMap:a),this.checkChanges())})}onDeleteRoleMaps(){let i=this._roleTable.selectedRows.map(a=>a.item).map(a=>a.roleMapId);this.currentConnection.roleMappings=this.currentConnection.roleMappings.filter(a=>!i.includes(a.roleMapId))}onAddUploadFile(e){let t;if(e.target?t=e.target.files:t=e,t.length>1){this._feedbackService.showErrorModal("user_management.sso.adfs.choose_only_one_file");return}if(parseFloat((t[0].size/(1024*1024)).toFixed(2))>this._maxFileSizeMb){this._feedbackService.showErrorModal(this._translocoService.translate("search.document_upload.hosted_file.file_too_big",{fileSizeLimit:`${this._maxFileSizeMb} MB`}));return}this.uploadFile=t[0],this.currentConnection.file=t[0],this.checkChanges()}downloadMetadataXml(){this._subscriptions.push(this._samlService.downloadMetadataXml(this.serviceProviderMetadataUrl).subscribe({next:e=>{this._fileSaverService.save(e,"NautosFederationMetadata.xml")},error:()=>{this._feedbackService.showErrorModal()}}))}addClaimTypeMappings(e){let t=[];e.forEach(i=>
1{t.push({claimTypeMapId:null,description:"",fixedValue:"",identityProviderClaimType:{uri:"",displayName:"",description:""},nautosUserAttribute:i,regularExpression:"",synchronizationStrategy:"UPDATE",isOptional:!0})}),this.currentConnection.claimTypeMappings.push(...t)}createOrUpdateConnectionIfItsValid(e){return this.idpForm.valid?this.idpForm.controls.connectionId.value?(e.connectionId=this.idpForm.controls.connectionId.value,this.updateIdpConnection(e)):this.createIdpConnection(e):(this.idpForm.markAllAsTouched(),this.isPending=!1,O(!1))}createIdpConnection(e){return this._samlService.createConnection(e,this.uploadFile)}saveConnection(){let e=Ct(qe({},this.currentConnection),{name:this.idpForm.get("name").value,connectionId:this.idpForm.get("connectionId").value,entityId:this.idpForm.get("entityId").value,signAuthRequest:this.idpForm.get("signAuthenticationRequest").value,autoSignAuthRequestsBasedOnMetadata:this.idpForm.get("signAuthenticationRequest").value,metadataUrl:this.idpForm.get("checkMetadataUrl").value,useMetadataUrl:!!this.idpForm.get("checkMetadataUrl").value,claimTypeMappings:this.currentConnection.claimTypeMappings,roleMappings:this.currentConnection.roleMappings,useDefaultPseudonymity:this.currentConnection.useDefaultPseudonyms,file:this.uploadFile});this.createOrUpdateConnectionIfItsValid(e).subscribe(t=>{let i=!!t,a=!!e.connectionId,f=`${this._tenantKey}/settings/sso/v1`;if(!i)this._feedbackService.showErrorModal(void 0,f);else{let x=a?"user_management.sso.adfs.idp_connection_successfully_edited":"user_management.sso.adfs.idp_connection_successfully_created";this._samlService.refreshIdpConnections(),this._feedbackService.showSuccessModal(x,f),this._unsavedChangesService.resetUnsavedChangesFlag()}})}updateIdpConnection(e){return this._samlService.updateConnection(e)}patchIdpConnection(e){this._subscriptions.push(this._samlService.getConnectionById(e).subscribe(t=>{if(t){this.currentConnection=t;let i={connectionId:t.connectionId,entityId:t.entityId,name:t.name,checkMetadataUrl:t.metadataUrl,signAuthenticationRequest:t.signAuthRequest};this._initialConfiguration=i,this.serviceProviderMetadataUrl=`${this._configService.baseConfig.baseUrl}${this._configService.baseConfig.extension}/tenants/${this._tenantKey}/nautos/connections/${this.currentConnection.connectionId}/FederationMetadata.xml`,this.idpForm.patchValue(i);let a=t.filename!=null?"file":"url";this.xmlMetadataForm.get("metadataType").patchValue(a),this.xmlMetadataForm.get("filename").patchValue(t.filename),this.xmlMetadataForm.get("metadataUrl").patchValue(t.metadataUrl),this.currentConnection.roleMappings.forEac
1h(f=>{this._usedRolePrios.push(f.priority)})}}))}checkChanges(e){let t=this.hasFormChanged(e);this._unsavedChangesService.trackChanges(t)}hasFormChanged(e){let t=!1;return e&&Object.keys(e).forEach(i=>{e[i]!==this._initialConfiguration[i]&&(t=!0)}),this.uploadFile&&(t=!0),t}checkUrlInput(){let e=this.xmlMetadataForm.get("metadataType").value==="url",t=this.idpForm.get("checkMetadataUrl").touched;e&&t&&!this.idpForm.get("checkMetadataUrl").value?this.idpForm.controls.checkMetadataUrl.setErrors({incorrect:!0}):this.idpForm.controls.checkMetadataUrl.setErrors(null)}removeRequiredValidator(e){let t=this.idpForm.get(e);if(t){let i=t.validator?[G.minLength(1)]:null;t.setValidators(i),t.updateValueAndValidity()}}nameAlreadyUsed(){return this.idpForm?.controls?e=>this._connectionNames.some(i=>i.toLowerCase()===e.value.toLowerCase())&&this.currentConnection?.name.toLowerCase()!==e.value.toLowerCase()?{invalidName:{name:e.value}}:null:null}nameCharLimitExceeded(){return e=>e.value.toLowerCase().length>200?{charLimitExceeded:{name:e.value}}:null}getSmallestUnusedPrio(){if(!this._usedRolePrios)return null;this._usedRolePrios.sort((t,i)=>t-i);let e=1;for(;this._usedRolePrios.includes(e);)e++;return this._usedRolePrios.push(e),e}updateValidators(){this.idpForm.get("name").addValidators([G.required,G.minLength(1),this.nameAlreadyUsed(),this.nameCharLimitExceeded()]),this.idpForm.get("checkMetadataUrl").addValidators([G.required,G.minLength(1)])}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275cmp=R({type:n,selectors:[["app-sso-saml-idp-detail"]],viewQuery:function(t,i){if(t&1&&K(S_,5,H)(x_,5,H),t&2){let a;
vendor: 4,528 bytes, lines 1-2
1z(a=W())&&(i.claimTable=a.first),z(a=W())&&(i.roleTable=a.first)}},decls:40,vars:36,consts:[["fileInput",""],["menuAnimatedButtons",""],["claimTable",""],["tableCell",""],["roleTable",""],[3,"formGroup"],[1,"detail-container"],[1,"header"],["data-cy","samlDetailTitle"],[1,"buttons"],["type","button","data-cy","deleteConnection",1,"btn-alert"],["type","button","data-cy","cancelConnection",1,"btn-primary-outline",3,"click"],["type","submit","data-cy","saveConnection",1,"btn-primary",3,"click","disabled"],["name","loading-spinner"],[1,"form-row"],[1,"form-row",3,"formGroup"],["for","name",1,"mandatory"],["id","name","formControlName","name","type","text","data-cy","connectionName"],["for","entityId"],["name","info","data-cy","iconEntityId",1,"icon-clickable",3,"ngbTooltip"],["id","entityId","formControlName","entityId","type","text","data-cy","entityId"],[1,"text-alert"],["data-cy","infoBox",1,"box-info"],["type","button","data-cy","deleteConnection",1,"btn-alert",3,"click"],["for","sp_metadata_url"],["id","sp_metadata_url",1,"metadata-url"],["target","_blank","rel","noopener noreferrer","data-cy","serviceProvider",1,"btn-icon-text",3,"href"],["name","arrow","direction","right"],["type","button","data-cy","downloadXml",1,"btn-icon-text",3,"click"],["name","cloud-download"],["data-cy","connectionNameErrorMessage",1,"text-alert"],["data-cy","url",1,"form-check"],["type","radio","id","metadata-url","formControlName","metadataType","value","url",1,"form-check-input",3,"checked"],["for","metadata-url",1,"mandatory"],["data-cy","xml",1,"form-check"],["type","radio","id","metadata-file","formControlName","metadataType","value","file",1,"form-check-input",3,"checked"],["for","metadata-file",1,"mandatory"],[1,"file-input"],["type","text","id","xml_url","formControlName","checkMetadataUrl","data-cy","idpUrl",1,"idp-metadata-url"],["data-cy","idpUrlErrorMessage",1,"text-alert"],["dragAndDrop","","id","file-upload",1,"upload-file-container",3,"click","keydown.enter","fileDropped"],[1,"upload-disclaimer"],["name","cloud-upload","data-cy","iconFileUpload"],["data-cy","uploadMessage"],["data-cy","fileName"],["hidden","","type","file","data-cy","uploadFile",3,"change"],["data-cy","fileErrorMessage",1,"text-alert"],["data-cy","idpCertificateThumbprint",1,"form-row"],[1,"label"],["data-cy","idpCertificateIssuer",1,"form-row"],["data-cy","idpCertificateSubject",1,"form-row"],["id","idp-xml-url"],["data-cy","infoTitle",1,"box-title"],["data-cy","infoText",1,"box-content"],[1,"attributes-roles"],["name","info","data-cy","iconCompanyClaim",1,"icon-clickable",3,"ngbTooltip"],["type","button",1,"btn-primary-outline",3,"click"],["data-cy","addUserAttribute"],[1,"container-menu-pagination"],[3,"appTable"],["menu",""],[1,"container-table"],["id","claim-map-table","data-cy","userAttributeTable",3,"items"],["tableColumn","","styleClasses","button-column"],["tableColumn","","columnText","user_management.sso.user_attribute"],["tableColumn","","columnText","user_management.sso.optional"],["tableColumn","","columnText","user_management.sso.sync_strategy"],["tableColumn","","columnText","user_management.sso.adfs.claim_idp_name"],["tableColumn","","columnText","user_management.sso.fixed_value"],["tableColumn","","columnText","user_management.sso.regexp"],["tableColumn","","columnText","common.description"],[1,"no-content"],["data-cy","addFieldRole"],["id","role-map-table","data-cy","roleTable",3,"items"],["tableColumn","","columnText","user_management.users.role"],["tableColumn","","columnText","user_management.sso.adfs.role_map_ad_group"],["tableColumn","","columnText","user_management.sso.priority"],["type","button","data-cy","iconDeleteAttributes",1,"btn-menu-animated",3,"click","ngbTooltip"],["name","delete"],["type","button","data-cy","iconEditUserAttribute",1,"btn-icon",3,"click","ngbTooltip"],["name","edit"],["data-cy","userAttribute",1,"text-bold"],["data-cy","optional"],["data-cy","syncStrategy"],["data-cy","idpName"],["data-cy","idpAttribute"],["data-cy","idpDescription"],["data-cy","fixedValue"],["data-cy","regExp"],["data-cy","description"],["sprite","icons-large","name","cross-large","data-cy","iconNoConnections",1,"icon-inactive"],["data-cy",`textNoConnectio 2 ns`],["type","button","data-cy","iconDeleteRoles",1,"btn-menu-animated",3,"click","ngbTooltip"],["type","button","data-cy","iconEditRole",1,"btn-icon",3,"click","ngbTooltip"],["data-cy","roleName"],["data-cy","mapping"],["data-cy","priority"],["name","cross-large","data-cy","iconNoR
2oles",1,"icon-inactive"],["data-cy","textNoRoles"]],template:function(t,i){t&1&&(r(0,"form",5)(1,"div",6)(2,"div",7),C(3,M_,4,5,"h2",8),r(4,"div",9),C(5,I_,4,3,"button",10),r(6,"button",11),b("click",function(){return i.onCancel()}),r(7,"span"),m(8),c(9,"transloco"),s()(),r(10,"button",12),b("click",function(){return i.isPending?null:i.onSave()}),C(11,E_,1,0,"app-icon",13)(12,w_,3,3,"span"),s()()(),r(13,"section")(14,"h3"),m(15),c(16,"transloco"),s(),C(17,k_,14,11,"div",14),r(18,"div",15)(19,"label",16),m(20),c(21,"transloco"),s(),r(22,"div"),g(23,"input",17),C(24,P_,3,3),s()(),C(25,B_,15,11,"div",14),r(26,"div",14)(27,"div")(28,"label",18),m(29),c(30,"transloco"),s(),g(31,"app-icon",19),c(32,"transloco"),c(33,"transloco"),s(),r(34,"div",5),g(35,"input",20),C(36,$_,3,3,"p",21),s()(),C(37,H_,21,14,"div"),s(),C(38,z_,7,6,"div",22),C(39,m0,79,24),s()()),t&2&&(u("formGroup",i.idpForm),o(3),v(i.idpForm?3:-1),o(2),v(i.currentConnection&&(i.currentConnection!=null&&i.currentConnection.connectionId)?5:-1),o(3),_(p(9,24,"common.cancel")),o(2),u("disabled",!i.canSave),o(),v(i.isPending?11:12),o(4),_(p(16,26,"common.properties")),o(2),v(i.currentConnection&&(i.currentConnection!=null&&i.currentConnection.connectionId)?17:-1),o(),fe("not-valid",!i.idpForm.controls.name.valid&&i.idpForm.touched),u("formGroup",i.idpForm),o(2),_(p(21,28,"user_management.sso.connection_name")),o(4),v(!i.idpForm.controls.name.valid&&i.idpForm.touched?24:-1),o(),v(i.xmlMetadataForm?25:-1),o(4),_(p(30,30,"user_management.sso.adfs.entity_id")),o(2),u("ngbTooltip",p(32,32,"user_management.sso.adfs.entity_id_info")),k("aria-label",p(33,34,"user_management.sso.adfs.entity_id_info")),o(3),fe("not-valid",!i.idpForm.controls.entityId.valid&&i.idpForm.touched),u("formGroup",i.idpForm),o(2),v(!i.idpForm.controls.entityId.valid&&i.idpForm.touched?36:-1),o(),v(i.idpForm!=null&&i.idpForm.controls.connectionId.value?37:-1),o(),v(i.idpForm!=null&&i.idpForm.controls.connectionId.value?-1:38),o(),v(i.idpForm!=null&&i.idpForm.controls.connectionId.value?39:-1))},dependencies:[Le,pn,V,Ae,X,pe,ne,Y,xt,$,J,te,ee,q,he,Oe,D,H,Io,P,qt],styles:['.detail-container[_ngcontent-%COMP%] section[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:var(--spacer);margin-block:var(--spacer);width:100%}.detail-container[_ngcontent-%COMP%] section[_ngcontent-%COMP%]:not(:last-child){border-bottom:var(--border);margin-bottom:var(--spacer);padding-bottom:var(--spacer)}.detail-container[_ngcontent-%COMP%] section[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin-bottom:var(--spacer)}.detail-container[_ngcontent-%COMP%] section[_ngcontent-%COMP%] .form-row[_ngcontent-%COMP%]{display:flex;gap:var(--spacer);flex-wrap:wrap;align-items:center;margin-bottom:var(--spacer);position:relative}.detail-container[_ngcontent-%COMP%] section[_ngcontent-%COMP%] .form-row[_ngcontent-%COMP%] > [_ngcontent-%COMP%]:first-child{flex:1;margin-bottom:0}.detail-container[_ngcontent-%COMP%] section[_ngcontent-%COMP%] .form-row[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]{flex:2}.detail-container[_ngcontent-%COMP%] section[_ngcontent-%COMP%] .form-row[_ngcontent-%COMP%] > .metadata-url[_ngcontent-%COMP%]{align-items:center;display:flex;flex:2;font-family:var(--font-family-bold)}.detail-container[_ngcontent-%COMP%] section[_ngcontent-%COMP%] .form-row[_ngcontent-%COMP%] > .metadata-url[_ngcontent-%COMP%] .btn-icon-text[_ngcontent-%COMP%]{color:var(--color-primary-dark);text-decoration:underline}.detail-container[_ngcontent-%COMP%] section[_ngcontent-%COMP%] .attributes-roles[_ngcontent-%COMP%]{display:flex;gap:var(--spacer);flex-wrap:wrap;justify-content:space-between}span.mandatory[_ngcontent-%COMP%]:after{text-wrap:nowrap;content:" *"}']})}}return n})();var u0=n=>({hide:n});function _0(n,l){if(n&1){let e=E();r(0,"div",10)(1,"input",11),b("change",function(){let i=y(e).item,a=d();return S(a.onSetActiveConnection(i))}),s()()}if(n&2){let e=l.item;o(),u("id","connection_"+e.connectionId)("value",e)("checked",e.isActive)}}function f0(n,l){if(n&1){let e=E();r(0,"button",12),c(1,"transloco"),c(2,"transloco"),b("click",function(){let i=y(e).item,a=d();return S(a.onDeleteIdpConnection(i))}),g(3,"app-icon",13),s()}n&2&&(u("ngbTooltip",p(1,2,"common.delete")),k("aria-label",p(2,4,"common.delete")))}function h0(n,l){if(n&1){let e=E();r(0,"span",14),b("click",function(){let i=y(e).item,a=d();return S(a.navigateToItem(i))})("keydown.enter",function(){let i=y(e).item,a=d();return S(a.navigateToItem(i))}),m(1),s()}if(n&2){let e=l.item;o(),M(" ",e.name," ")}}function g0(n,l){n&1&&(r(0,"div",9),g(1,"app-icon",15),r(2,"p",16),m(3),c(4,"transloco"),s()()),n&2&&(o(3),_(p(4,1,"user_management.sso.adfs.no_connections")))}var Za=(()=>{class n{constructor(){this._feedbackService=h(oe),this._modalService=h(B),this._route=h(me),this._router=h(de),this._samlService=h(Nt),this._translocoService=h(ge),this._unsavedChangesService=h(Tt),this.isPending=!1,this._subscriptions=[]}get idpTable(){return this._idpTable}set idpTable(e){this._idpTable=e}ngOnInit(){this._unsavedChangesService.initialize(),this._tenantKey=localStorage.getItem(Ye),this._samlService.refreshIdpConnections(),this.idpCollection$=this._samlService.idpCollection$.pipe(_t()),this.idpCollection$.subscribe(e=>{this.totalCount=e?.length??0})}
2ngOnDestroy(){this._subscriptions.forEach(e=>e.unsubscribe())}createIdpConnection(){this._router.navigate(["create"],{relativeTo:this._route})}navigateToItem(e){e?.connectionId&&this._router.navigate([e.connectionId],{relativeTo:this._route})}onSetActiveConnection(e){e.isActive=!0,this._samlService.activateConnection(e.connectionId).subscribe({next:()=>this._feedbackService.showSuccessModal("user_management.sso.adfs.idp_connection_successfully_activated"),error:()=>this._feedbackService.showErrorModal()})}onDeleteIdpConnection(e){let t=this._modalService.open(ae);t.componentInstance.isDeleteConfirmation=!0,t.componentInstance.title="user_management.sso.adfs.delete_idp_connection",this._subscriptions.push(this._translocoService.selectTranslate("user_management.sso.adfs.do_you_want_to_delete_idp_connection_x",{name:e.name}).subscribe(i=>t.componentInstance.text=i)),t.result.then(i=>{i.preset&&(this.isPending=!0,this._subscriptions.push(this._samlService.deleteConnection(e.connectionId).pipe(Z(()=>this.isPending=!1)).subscribe(a=>{a?this._feedbackService.showSuccessModal("user_management.sso.adfs.idp_connection_successfully_deleted",`${this._tenantKey}/settings/sso/v1`):this._feedbackService.showErrorModal("common.error",`${this._tenantKey}/settings/sso/v1`)})))})}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275cmp=R({type:n,selectors:[["app-sso-saml-idp-list"]],viewQuery:function(t,i){if(t&1&&K(H,7),t&2){let a;
2z(a=W())&&(i.idpTable=a.first)}},decls:22,vars:15,consts:[["tableCell",""],[1,"overview-container",3,"ngClass"],[1,"header"],[3,"count"],["type","button","data-cy","createIdpConnection",1,"btn-primary",3,"click"],["data-cy","table",3,"items","hasCheckboxColumn"],["tableColumn","","styleClasses","button-column","columnText","user_management.sso.adfs.idp_connection_active","itemProperty","federationMetadataUrl"],["tableColumn","","styleClasses","button-column"],["tableColumn","","columnText","user_management.sso.connection_name","itemProperty","name"],[1,"no-content"],["data-cy","tableRowRadioButton",1,"form-check"],["type","radio","name","activeConnection",1,"form-check-input",3,"change","id","value","checked"],["type","button","data-cy","iconDeleteConnection",1,"btn-icon",3,"click","ngbTooltip"],["name","delete"],["data-cy","connectionName",1,"link-bold",3,"click","keydown.enter"],["sprite","icons-large","name","cross-large","data-cy","iconNoConnections",1,"icon-inactive"],["data-cy","textNoConnections"]],template:function(t,i){t&1&&(r(0,"div",1)(1,"div",2)(2,"div")(3,"h2"),m(4),c(5,"transloco"),s(),g(6,"app-record-count",3),s(),r(7,"button",4),b("click",function(){return i.createIdpConnection()}),m(8),c(9,"transloco"),s()(),r(10,"app-table",5),c(11,"async"),r(12,"div",6),T(13,_0,2,3,"ng-template",null,0,I),s(),r(15,"div",7),T(16,f0,4,6,"ng-template",null,0,I),s(),r(18,"div",8),T(19,h0,2,1,"ng-template",null,0,I),s()(),C(21,g0,5,3,"div",9),s()),t&2&&(u("ngClass",Re(13,u0,i.isPending)),o(4),_(p(5,7,"user_management.sso.settings.sso_v1")),o(2),u("count",i.totalCount),o(2),M(" ",p(9,9,"user_management.sso.adfs.create_idp_connection")," "),o(2),u("items",p(11,11,i.idpCollection$))("hasCheckboxColumn",!1),o(11),v(i.totalCount===0?21:-1))},dependencies:[V,X,He,q,nt,he,D,H,bt,P],encapsulation:2})}}return n})();var Hi=(function(n){return n.NONE="None",n.UPDATE="Update",n.INSERT="Insert",n.FIXINSERT="FixInsert",n.FIXUPDATE="FixUpdate",n})(Hi||{});var Ln=(()=>{class n{constructor(){this._httpClient=h(Ue),this._configService=h(Me),this._samlService=h(Nt),this._fixedFields=["Username","Email","Forename","Surname","Roles","Location"],this._connectionsSubject=new Ke([]),this.getIdpConnections().subscribe()}getConnections(){return this._connectionsSubject.asObservable()}getUsedIndexes(){return this._connections?O(this.calculateUsedIndexes()):this.getIdpConnections().pipe(U(()=>this.calculateUsedIndexes()))}
2calculateUsedIndexes(){if(!this._connections||this._connections.length===0)return[];let e=new Set;return this._connections.forEach(i=>{e.add(i.index)}),Array.from(e).sort()}getIdpConnections(){let e=this.getUrl("sso/all",2);return this._httpClient.get(e).pipe(U(t=>(this._connections=t.map(i=>this.convertSamlV2ConnectionDtoToIdpConnectionModel(i)),this._connectionsSubject.next(this._connections),this._connections)),F(()=>O([])))}getIdpConnectionById(e){let t=this.getUrl(`sso/${e}`,2);return this._httpClient.get(t).pipe(U(i=>this.convertIdpConnectionDtoToModel(i)))}deleteIdpConnection(e){let t=this.getUrl(`sso/${e}`,2);return this._httpClient.delete(t).pipe(U(()=>(this.getIdpConnections().subscribe(),!0)),F(()=>O(!1)))}saveIdpConnection(e,t,i=!1){let a;return e.connectionId?a=e.type===De.SHIBBOLETH?this.updateShibbolethConnection(e):this.updateIdpConnection(e,t):a=e.type===De.SHIBBOLETH?this.createShibbolethConnection(e,i):this.createIdpConnection(e,t),a.pipe(U(()=>(this.getIdpConnections().subscribe(),!0)),F(()=>O(!1)))}createShibbolethConnection(e,t=!1){let i={name:e.name,idpId:Number.parseInt(e.index.toString(),10),identityProviderEntityId:e.entityId,identityProviderUrl:e.idpUrl,useDefaultPseudonyms:t},a={observe:"response"},f=this.getUrl("sso/Shibboleth",2);return this._httpClient.post(f,i,a).pipe(U(x=>x),F(()=>O(!1)))}static getHeaders(){let e=new Si;return e=e.append("Content-Type","empty"),e=e.append("Accept","*/*"),e=e.append("Response-Type","text/csv"),e}updateShibbolethConnection(e){let t=this.getUrl("sso/Shibboleth",2),i={observe:"response"},a={connectionId:e.connectionId,idpId:e.index,claimToNautosAttributeMappings:e.claimTypeMappings.map(f=>this.convertClaimTypeMappingToClaimTypeMappingV2Dto(f)),roleToNautosRoleMappings:e.roleMappings.map(f=>this.convertRoleMappingToRoleMappingV2Dto(f))};return this._httpClient.put(t,a,i).pipe(U(f=>f),F(()=>O(!1)))}convertClaimTypeMappingToClaimTypeMappingV2Dto(e){return{nautosAttribute:e.nautosUserAttribute,mappingMode:e.synchronizationStrategy,claimName:e.identityProviderClaimType?.uri,regularExpression:e.regularExpression,fixedClaimValue:e.fixedValue,isOptional:e.isOptional,description:e.description}}convertRoleMappingToRoleMappingV2Dto(e){return{nautosRole:e.nautosRole,regularExpressionOrMatchingValue:e.regex,priority:e.priority??0,description:e.description}}createIdpConnection(e,t){let a={headers:n.getHeaders(),observe:"response"},f=e.useMetadataUrl.toString()??"false",x=new FormData;x.append("IdpId",e.index.toString()),x.append("Name",e.name),x.append("SignAuthRequest",e.signAuthRequest.toString()),x.append("AutoSignAuthRequestBasedOnMetadata",e.autoSignAuthRequestsBasedOnMetadata.toString()),x.append("UseMetadataUrl",f),x.append("MetadataUrl",e.metadataUrl),t&&x.append("File",t),this.addCreateMappings(e,x);let w=this.getUrl("sso/Saml2",2);return this._httpClient.post(w,x,a).pipe(U(L=>L),F(()=>O(!1)))}updateIdpConnection(e,t){let a={headers:n.getHeaders(),observe:"response"},f=new FormData,x=e.useMetadataUrl??!1,w=e.autoSignAuthRequestsBasedOnMetadata,L=e.signAuthRequest??!1;e.autoSignAuthRequestsBasedOnMetadata&&(L=!1),f.append("SamlV2ConnectionId",e.connectionId),f.append("name",e.name),f.append("idpId",e.index.toString()),f.append("signAuthRequest",L.toString()),f.append("autoSignAuthRequestBasedOnMetadata",w.toString()),f.append("useMetadataUrl",x.toString()),f.append("metadataUrl",e.metadataUrl??null),f.append("entityId",e.entityId),f.append("name",e.name),f.append("federationMetadataUrl",e.metadataUrl),f.append("isActive",e.isActive.toString()),this.addUpdateMappings(e,f),t&&f.append("File",t);let le=this.getUrl("sso/Saml2",2);return this._httpClient.put(le,f,a).pipe(U(re=>re),F(()=>O(!1)))}addCreateMappings(e,t){let i=this.addClaimTypeMappingsToUpdateFormData(t,e);return this._samlService.addRoleMappingsToCreateFormData(i,e)}addUpdateMappings(e,t){let i=this.addClaimTypeMappingsToUpdateFormData(t,e);return this._samlService.addRoleMappingsToUpdateFormData(i,e)}addClaimTypeMappingsToUpdateFormData(e,t){return t.claimTypeMappings.length<1?e.append("ClaimToNautosAttributeMappings[]","[]"):t.claimTypeMappings.forEac
2h((i,a)=>{e.append(`ClaimToNautosAttributeMappings[${a}].nautosAttribute`,i.nautosUserAttribute||""),e.append(`ClaimToNautosAttributeMappings[${a}].mappingMode`,this.normalizeMappingMode(i.synchronizationStrategy)),e.append(`ClaimToNautosAttributeMappings[${a}].claimName`,i.identityProviderClaimType?.uri?.toString()||""),e.append(`ClaimToNautosAttributeMappings[${a}].claimDisplayName`,i.identityProviderClaimType?.displayName?.toString()||""),e.append(`ClaimToNautosAttributeMappings[${a}].claimDescription`,i.identityProviderClaimType?.description?.toString()||""),e.append(`ClaimToNautosAttributeMappings[${a}].regularExpression`,i.regularExpression??""),e.append(`ClaimToNautosAttributeMappings[${a}].fixedClaimValue`,i.fixedValue||""),e.append(`ClaimToNautosAttributeMappings[${a}].isOptional`,i.isOptional?.toString()||""),e.append(`ClaimToNautosAttributeMappings[${a}].description`,i.description||"")}),e}normalizeMappingMode(e){let t=e.toString().toUpperCase();return Hi[t]??Hi.NONE}activateIdpConnection(e){let t=this.getUrl(`sso/${e}/activate`,2);return this._httpClient.put(t,{}).pipe(U(()=>!0),F(()=>O(!1)))}deactivateIdpConnection(e){let t=this.getUrl(`sso/${e}/deactivate`,2);return this._httpClient.put(t,{}).pipe(U(()=>!0),F(()=>O(!1)))}convertSamlV2ConnectionDtoToIdpConnectionModel(e){let t=e.type.toString().toUpperCase().includes("SAML")?De.SAML_V2:De.SHIBBOLETH;return{name:e.name,connectionId:e.samlV2ConnectionId,entityId:e.entityId,index:Number.parseInt(e.idpId.toString(),10),signAuthRequest:!1,claimTypeMappings:[],roleMappings:[],type:t,certificateEnddate:e.certificateExpirationDate??null,certificateIssuer:e.certificateIssuer??null,certificateSubject:e.certificateSubject??null,certificateThumbprint:e.certificateThumbprint??null,isActive:e.isActive??!1,useDefaultPseudonymity:e.useDefaultPseudonyms}}convertClaimTypeMappingDtoToClaimTypeMappingModel(e){return e.nautosAttribute.toString().toUpperCase()==="USERNAME"&&(e.mappingMode=Hi.NONE),{nautosUserAttribute:e.nautosAttribute,identityProviderClaimType:{uri:e.claimName??"",displayName:e?.claimDisplayName??"",description:e.claimDescription??""},synchronizationStrategy:e.mappingMode?.toUpperCase()??"",description:e.description??"",fixedValue:e.fixedClaimValue??"",regularExpression:e.regularExpression??"",isOptional:e.isOptional??!0,options:null,isSelectable:!this._fixedFields.includes(e.nautosAttribute.toString())}}convertIdpConnectionDtoToModel(e){let{type:t,roleToNautosRoleMappings:i,claimToNautosAttributeMappings:a,useDefaultPseudonyms:f}=e,x=t.toString().toUpperCase()==="SHIBBOLETH"?De.SHIBBOLETH:De.SAML_V2,w=i?.map(re=>Ct(qe({},re),{regex:re.regularExpressionOrMatchingValue??"",isSelectable:x!==De.SHIBBOLETH||!f}))??[],L=a?.map(this.convertClaimTypeMappingDtoToClaimTypeMappingModel.bind(this))??[];return{name:e.name,connectionId:e.samlV2ConnectionId,autoSignAuthRequestsBasedOnMetadata:e.autoSignAuthRequestsBasedOnMetadata,signAuthRequest:e.signAuthRequest,useMetadataUrl:e.useMetadataUrl,metadataUrl:e.metadataUrl??"",claimTypeMappings:L,roleMappings:w,type:x,index:Number.parseInt(e.idpId.toString(),10),entityId:e.entityId??e.identityProviderEntityId,certificateEnddate:e.certificateExpirationDate,certificateThumbprint:e.certificateThumbprint,certificateIssuer:e.certificateIssuer,certificateSubject:e.certificateSubject,isActive:e.isActive??!1,fileName:e.fileName??void 0,idpUrl:e.idpUrl??e.identityProviderUrl??"",useDefaultPseudonymity:e.useDefaultPseudonyms}}getUrl(e,t=1){return`${`${this._configService.baseConfig.baseUrl}`}${t===1?"/v1/":"/v2/"}${e}`}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275prov=ce({token:n,factory:n.\u0275fac,providedIn:"root"})}}return n})();var Vi=(()=>{class n{constructor(){this._configService=h(Me),this._httpClient=h(Ue)}getInstitutes(){let e=this.loadPage(1,10,""),t=this.loadPage(1,10,"");return Rt({national:e,international:t})}loadPage(e,t=10,i=""){let a=this.getUrl(`/sso/shib/all?pageSize=${t}&pageNumber=${e}`,2);return i.length>2&&(a=`${a}&name=${i}`),this._httpClient.get(a).pipe(U(x=>(x&&typeof x=="object"&&!Array.isArray(x)&&(x=Object.keys(x).map(L=>x[L])),x.map(L=>
2({name:L.identityProviderDisplayName,entityId:L.identityProviderEntityId,shortName:L.identityProviderName,url:L.identityProviderUrl,imageUrl:L.imageUrl})))),F(()=>O([])))}setConnectionConfig(e){this._connectionConfig=e}getConnectionConfig(){return this._connectionConfig}clearConnectionConfig(){this._connectionConfig=void 0}getUrl(e,t=1){return`${`${this._configService.baseConfig.baseUrl}`}${t===1?"/v1":"/v2"}${e}`}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275prov=ce({token:n,factory:n.\u0275fac,providedIn:"root"})}}return n})();var er=(()=>{class n{constructor(){this._samlService=h(Nt),this._claimTypeMappings=[],this._claimTypeMappingIdsToDelete=[],this._claimTypeMappingNamesToUpdate=[],this._roleMappings=[],this._roleMappingIdsToDelete=[],this._roleMappingNamesToUpdate=[]}set connection(e){this._connection=e,this._claimTypeMappings=e.claimTypeMappings}set ssoMode(e){this._ssoMode=e}get ssoMode(){return this._ssoMode}set claimTypeMappings(e){this._claimTypeMappings=e}get claimTypeMappings(){return this._claimTypeMappings.filter(e=>!this._connection.claimTypeMappings.map(t=>t.nautosUserAttribute).includes(e))}set roleMappings(e){this._roleMappings=e}addClaimTypeMappings(e){for(let i of e)if(this._claimTypeMappings.some(f=>f.nautosUserAttribute===i))return!1;let t=e.map(i=>({claimTypeMapId:null,description:"",fixedValue:"",identityProviderClaimType:{uri:"",displayName:"",description:""},nautosUserAttribute:i,regularExpression:"",synchronizationStrategy:"UPDATE",isOptional:!0,isSelectable:!0}));return this._claimTypeMappings.push(...t),!0}haveMappingsChanged(){let e=this._claimTypeMappingIdsToDelete.length,t=this._claimTypeMappingNamesToUpdate.length,i=this.extractClaimTypeMappingsToAdd().length,a=this._roleMappingIdsToDelete.length,f=this._roleMappingNamesToUpdate.length,x=this.extractRoleMappingsToAdd().length;return e+t+i+a+f+x>0}addRoleMappings(e){let t=e.filter(i=>!this._roleMappings.some(f=>f.nautosRole===i.nautosRole)).map(i=>({roleMapId:null,nautosRole:i.nautosRole,regex:"",priority:0,description:"",isSelectable:!0}));this._roleMappings.push(...t)}extractClaimTypeMappingsToAdd(){return this.claimTypeMappings.filter(e=>!e.claimTypeMapId).map(e=>e.nautosUserAttribute)}extractRoleMappingsToAdd(){return this._roleMappings.filter(e=>!e.roleMapId).map(e=>e.nautosRole)}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275prov=ce({token:n,factory:n.\u0275fac,providedIn:"root"})}}return n})();var C0=["claimTable"],v0=["roleTable"],b0=n=>({mandatory:n});function y0(n,l){if(n&1){let e=E();r(0,"button",27),b("click",function(){y(e);let i=d(2);return S(i.onDeleteConnection())}),m(1),c(2,"transloco"),s()}
2n&2&&(o(),M(" ",p(2,1,"common.delete")," "))}function S0(n,l){n&1&&g(0,"app-icon",14)}function x0(n,l){n&1&&(r(0,"span"),m(1),c(2,"transloco"),s()),n&2&&(o(),_(p(2,1,"common.save")))}function T0(n,l){if(n&1&&(r(0,"div",15)(1,"span",28),m(2),c(3,"transloco"),s(),r(4,"span"),m(5),s()()),n&2){let e=d(2);o(2),_(p(3,2,"user_management.sso.ldap.nautos_metadata_xml")),o(3),_(e.connection==null?null:e.connection.metadataUrl)}}function M0(n,l){if(n&1&&(r(0,"span",18),m(1),s()),n&2){let e=d(2);o(),_(e.idpForm.get("name").value)}}function I0(n,l){n&1&&g(0,"input",19),n&2&&u("required",!0)}function E0(n,l){n&1&&(r(0,"p",29),m(1),c(2,"transloco"),s()),n&2&&(o(),M(" ",p(2,1,"common.please_fill_this_field")," "))}function w0(n,l){n&1&&(r(0,"p",29),m(1),c(2,"transloco"),s()),n&2&&(o(),M(" ",p(2,1,"user_management.sso.connection_name_already_in_use")," "))}function k0(n,l){n&1&&(r(0,"p",29),m(1),c(2,"transloco"),s()),n&2&&(o(),M(" ",p(2,1,"user_management.sso.connection_name_limit_exceeded")," "))}function R0(n,l){if(n&1&&(C(0,E0,3,3,"p",29),C(1,w0,3,3,"p",29),C(2,k0,3,3,"p",29)),n&2){let e=d(2);v(e.idpForm.controls.name.errors.required&&e.idpForm.controls.name.touched?0:-1),o(),v(!e.idpForm.controls.name.errors.required&&!e.idpForm.controls.name.errors.charLimitExceeded&&e.idpForm.controls.name.errors.invalidName?1:-1),o(),v(!e.idpForm.controls.name.errors.required&&e.idpForm.controls.name.errors.charLimitExceeded?2:-1)}}function U0(n,l){if(n&1&&(r(0,"p",23),m(1),c(2,"transloco"),s()),n&2){let e=d(2);o(),_(p(2,1,e.indexErrorMessage))}}function F0(n,l){if(n&1&&ut(0,24),n&2){d(2);let e=N(2);u("ngTemplateOutlet",e)}}function P0(n,l){if(n&1&&ut(0,24),n&2){d(2);let e=N(4);u("ngTemplateOutlet",e)}}function L0(n,l){if(n&1&&(r(0,"div",15)(1,"span",28),m(2),c(3,"transloco"),s(),r(4,"span"),m(5),s()()),n&2){let e=d(3);o(2),_(p(3,2,"user_management.sso.adfs.idp_url")),o(3),_(e.connection.idpUrl)}}function A0(n,l){if(n&1&&(r(0,"div")(1,"div",15)(2,"span",28),m(3),c(4,"transloco"),s(),r(5,"span"),m(6),s()(),C(7,L0,6,4,"div",15),r(8,"div",30)(9,"span",28),m(10),c(11,"transloco"),s(),r(12,"span"),m(13),s()(),r(14,"div",31)(15,"span",28),m(16),c(17,"transloco"),s(),r(18,"span"),m(19),s()(),r(20,"div",32)(21,"span",28),m(22),c(23,"transloco"),s(),r(24,"span"),m(25),s()()()),n&2){let e=d(2);o(3),_(p(4,9,"user_management.sso.adfs.certificate_enddate")),o(3),_(e.connection.certificateEnddate),o(),v(e.connection.idpUrl?7:-1),o(3),_(p(11,11,"user_management.sso.adfs.idp_certificate_thumbprint")),o(3),_(e.connection.certificateThumbprint),o(3),_(p(17,13,"user_management.sso.adfs.idp_certificate_issuer")),o(3),_(e.connection.certificateIssuer),o(3),_(p(23,15,"user_management.sso.adfs.idp_certificate_subjectname")),o(3),_(e.connection.certificateSubject)}}function O0(n,l){if(n&1&&(r(0,"div",25)(1,"p",33),m(2),c(3,"transloco"),s(),r(4,"div")(5,"div",34),g(6,"input",35),r(7,"label",36),m(8),c(9,"transloco"),s()(),r(10,"div",37),g(11,"input",38),r(12,"label",39),m(13),c(14,"transloco"),s()(),r(15,"div",40),g(16,"input",41),r(17,"label",42),m(18),c(19,"transloco"),s()()()()),n&2){let e=d(2);u("formGroup",e.idpForm),o(2),_(p(3,5,"user_management.sso.adfs.sign_auth_request")),o(6),_(p(9,7,"user_management.sso.adfs.automatic")),o(5),_(p(14,9,"common.yes")),o(5),_(p(19,11,"common.no"))}}function D0(n,l){if(n&1){let e=E();r(0,"button",64),b("click",function(){y(e);let i=d(3);return S(i.onAddClaimTypeMap())}),r(1,"span",65),m(2),c(3,"transloco"),s()()}n&2&&(o(2),_(p(3,1,"user_management.sso.add_user_attribute")))}function V0(n,l){if(n&1){let e=E();r(0,"button",66),c(1,"transloco"),c(2,"transloco"),b("click",function(){y(e);let i=d(3);return S(i.onDeleteClaimTypeMaps())}),g(3,"app-icon",67),s()}n&2&&(u("ngbTooltip",p(1,2,"user_management.sso.delete_claims")),k("aria-label",p(2,4,"user_management.sso.delete_claims")))}function N0(n,l){if(n&1){let e=E();r(0,"button",69),c(1,"transloco"),c(2,"transloco"),b("click",function(){y(e);let i=d().item,a=d(3);return S(a.onEditClaimTypeMap(i))}),g(3,"app-icon",70),s()}n&2&&(u("ngbTooltip",p(1,2,"common.edit")),k("aria-label",p(2,4,"common.edit")))}function G0(n,l){if(n&1&&C(0,N0,4,6,"button",68),n&2){let e=l.item,t=d(3);v(!t.connection.useDefaultPseudonymity||e.nautosUserAttribute.toLowerCase()==="username"?0:-1)}}function B0(n,l){if(n&1&&(r(0,"span",71),m(1),c(2,"userAttributeToTransloco"),c(3,"transloco"),s()),n&2){let e=l.item;u("ngClass",Re(6,b0,!e.isOptional)),o(),_(p(3,4,p(2,2,e.nautosUserAttribute)))}}function $0(n,l){if(n&1&&(r(0,"span",72),m(1),c(2,"transloco"),s()),n&2){let e=l.item;o(),_(p(2,1,e.isOptional?"common.yes":"common.no"))}}function q0(n,l){if(n&1&&(r(0,"span",73),m(1),s()),n&2){let e=l.item;o(),_(e.synchronizationStrategy)}}function j0(n,l){if(n&1&&(r(0,"div",74),m(1),s(),r(2,"div",75),m(3),s(),r(4,"div",76),m(5),s()),n&2){let e=l.item;
2o(),_(e.identityProviderClaimType==null?null:e.identityProviderClaimType.displayName),o(2),_(e.identityProviderClaimType==null?null:e.identityProviderClaimType.uri),o(2),_(e.identityProviderClaimType==null?null:e.identityProviderClaimType.description)}}function H0(n,l){if(n&1&&(r(0,"span",77),m(1),s()),n&2){let e=l.item;o(),_(e.fixedValue)}}function z0(n,l){if(n&1&&(r(0,"span",78),m(1),s()),n&2){let e=l.item;o(),_(e.regularExpression)}}function W0(n,l){if(n&1&&(r(0,"span",79),m(1),s()),n&2){let e=l.item;o(),_(e.description)}}function Q0(n,l){if(n&1){let e=E();r(0,"button",64),b("click",function(){y(e);let i=d(3);return S(i.onAddRoleMap())}),r(1,"span",80),m(2),c(3,"transloco"),s()()}n&2&&(o(2),_(p(3,1,"user_management.sso.add_role")))}function K0(n,l){if(n&1){let e=E();r(0,"button",81),c(1,"transloco"),c(2,"transloco"),b("click",function(){y(e);let i=d(4);return S(i.onDeleteRoleMaps())}),g(3,"app-icon",67),s()}n&2&&(u("ngbTooltip",p(1,2,"user_management.sso.delete_role_maps")),k("aria-label",p(2,4,"user_management.sso.delete_role_maps")))}function Y0(n,l){if(n&1&&(r(0,"app-table-menu",47)(1,"div",48),T(2,K0,4,6,"ng-template",null,2,I),s()()),n&2){d();let e=N(52);u("appTable",e)}}function J0(n,l){if(n&1){let e=E();r(0,"button",83),b("click",function(){y(e);let i=d().item,a=d(3);return S(a.onEditRoleMap(i))}),g(1,"app-icon",70),s()}}function X0(n,l){if(n&1&&C(0,J0,2,0,"button",82),n&2){let e=d(3);v(e.connection.useDefaultPseudonymity?-1:0)}}function Z0(n,l){if(n&1&&(r(0,"div",84),m(1),s()),n&2){let e=l.item;o(),_(e.nautosRole)}}function ef(n,l){if(n&1&&(r(0,"div",85),m(1),s()),n&2){let e=l.item;o(),_(e.regex)}}function tf(n,l){if(n&1&&(r(0,"div",86),m(1),s()),n&2){let e=l.item;o(),_(e.priority)}}function nf(n,l){if(n&1&&(r(0,"div",79),m(1),s()),n&2){let e=l.item;o(),_(e.description)}}function of(n,l){n&1&&(r(0,"div",63),g(1,"app-icon",87),r(2,"p",88),m(3),c(4,"transloco"),s()()),n&2&&(o(3),_(p(4,1,"user_management.sso.no_roles")))}function af(n,l){if(n&1&&(r(0,"section")(1,"div",43)(2,"h3"),m(3),c(4,"transloco"),r(5,"span"),g(6,"app-icon",44),c(7,"transloco"),c(8,"transloco"),s()(),C(9,D0,4,3,"button",45),s(),r(10,"div",46)(11,"app-table-menu",47)(12,"div",48),T(13,V0,4,6,"ng-template",null,2,I),s()()(),r(15,"div",49)(16,"app-table",50,3)(18,"div",51),T(19,G0,1,1,"ng-template",null,4,I),s(),r(21,"div",52),T(22,B0,4,8,"ng-template",null,4,I),s(),r(24,"div",53),T(25,$0,3,3,"ng-template",null,4,I),s(),r(27,"div",54),T(28,q0,2,1,"ng-template",null,4,I),s(),r(30,"div",55),T(31,j0,6,3,"ng-template",null,4,I),s(),r(33,"div",56),T(34,H0,2,1,"ng-template",null,4,I),s(),r(36,"div",57),T(37,z0,2,1,"ng-template",null,4,I),s(),r(39,"div",58),T(40,W0,2,1,"ng-template",null,4,I),s()()()(),r(42,"section")(43,"div",43)(44,"h3"),m(45),c(46,"transloco"),s(),C(47,Q0,4,3,"button",45),s(),r(48,"div",46),C(49,Y0,4,1,"app-table-menu",47),s(),r(50,"div",49)(51,"app-table",59,5)(53,"div",51),T(54,X0,1,1,"ng-template",null,4,I),s(),r(56,"div",60),T(57,Z0,2,1,"ng-template",null,4,I),s(),r(59,"div",61),T(60,ef,2,1,"ng-template",null,4,I),s(),r(62,"div",62),T(63,tf,2,1,"ng-template",null,4,I),s(),r(65,"div",58),T(66,nf,2,1,"ng-template",null,4,I),s()(),C(68,of,5,3,"div",63),s()()),n&2){let e=N(17),t=d(2);o(3),M(" ",p(4,11,"user_management.sso.adfs.user_attributes_assign")," "),o(3),u("ngbTooltip",p(7,13,"user_management.sso.adfs.company_claim_info")),k("aria-label",p(8,15,"user_management.sso.adfs.company_claim_info")),o(3),v(t.connection.useDefaultPseudonymity?-1:9),o(2),u("appTable",e),o(5),u("items",t.connection.claimTypeMappings),o(29),_(p(46,17,"user_management.sso.roles_map")),o(2),v(t.connection.useDefaultPseudonymity?-1:47),o(2),v(t.connection.useDefaultPseudonymity?-1:49),o(2),u("items",t.connection.roleMappings),o(17),v(t.numberOfRoles===0?68:-1)}}function rf(n,l){n&1&&(r(0,"div",26)(1,"p",89),m(2),c(3,"transloco"),s(),r(4,"p",90),m(5),c(6,"transloco"),s()()),n&2&&(o(2),_(p(3,2,"user_management.sso.adfs.info_title")),o(3),_(p(6,4,"user_management.sso.adfs.info_text")))}function sf(n,l){if(n&1){let e=E();r(0,"div",7)(1,"div",8)(2,"h2",9),m(3),c(4,"transloco"),s(),r(5,"div",10),C(6,y0,3,3,"button",11),r(7,"button",12),b("click",function(){y(e);let i=d();return S(i.onCancel())}),m(8),c(9,"transloco"),s(),r(10,"button",13),b("click",function(){y(e);let i=d();return S(i.isPending?null:i.onSave())}),C(11,S0,1,0,"app-icon",14)(12,x0,3,3,"span"),s()()(),r(13,"section")(14,"h3"),m(15),c(16,"transloco"),s(),C(17,T0,6,4,"div",15),r(18,"div",15)(19,"label",16),m(20),c(21,"transloco"),s(),r(22,"div",17),C(23,M0,2,1,"span",18),C(24,I0,1,1,"input",19),C(25,R0,3,3),s()(),r(26,"div",20)(27,"label",21),m(28),c(29,"transloco"),s(),r(30,"div",17),g(31,"input",22),C(32,U0,3,3,"p",23),s()(),C(33,F0,1,1,"ng-container",24)(34,P0,1,1,"ng-container",24),C(35,A0,26,17,"div"),C(36,O0,20,13,"div",25),s(),C(37,af,69,19),C(38,rf,7,6,"div",26),s()}if(n&2){let e=d();o(3),_(p(4,20,e.pageTitle)),o(3),v(e.connection!=null&&e.connection.connectionId?6:-1),o(2),M(" ",p(9,22,"common.cancel")," "),o(3),v(e.isPending?11:12),o(4),_(p(16,24,"common.properties")),o(2),v(e.connection&&(e.connection!=null&&e.connection.connectionId)?17:-1),o(3),_(p(21,26,"user_management.sso.connection_name")),o(2),u("formGroup",e.idpForm),o(),v(e.connectionType===e.connectionTypes.SHIBBOLETH?23:-1),o(),v(e.connectionType!==e.connectionTypes.SHIBBOLETH?24:-1),o(),v(!e.idpForm.controls.name.valid&&e.idpForm.touched?25:-1),o(),u("formGroup",e.idpForm),o(2),_(p(29,28,"user_management.sso.index")),o(2),u("formGroup",e.idpForm),o(2),v(e.isFieldValid("index")?-1:32),o(),v(e.connection.type===e.connectionTypes.SHIBBOLETH?33:34),o(2),v(e.idpForm!=null&&e.idpForm.controls.connectionId.value?35:-1),o(),v(e.connection.type!==e.connectionTypes.SHIBBOLETH?3
26:-1),o(),v(e.connection.connectionId?37:-1),o(),v(e.connection.connectionId?-1:38)}}function lf(n,l){if(n&1&&(r(0,"div",15)(1,"label",91),m(2),c(3,"transloco"),s(),r(4,"span",92),m(5),s()(),r(6,"div",15)(7,"label",91),m(8),c(9,"transloco"),s(),r(10,"span",93),m(11),s()()),n&2){let e=d();o(2),_(p(3,4,"user_management.sso.idp_entity_id")),o(3),_(e.idpForm.get("entityId").value),o(3),_(p(9,6,"user_management.sso.shibboleth_idp_url")),o(3),_(e.idpForm.get("idpUrl").value)}}function cf(n,l){n&1&&(r(0,"p",103),m(1),c(2,"transloco"),s()),n&2&&(o(),M(" ",p(2,1,"common.please_fill_this_field")," "))}function pf(n,l){if(n&1&&(r(0,"div"),g(1,"input",102),C(2,cf,3,3,"p",103),s()),n&2){let e=d(2);o(),u("required",!0),o(),v(e.isFieldValid("metadataUrl")?-1:2)}}function mf(n,l){n&1&&(r(0,"span",107),m(1),c(2,"transloco"),s()),n&2&&(o(),_(p(2,1,"common.file_upload_hint")))}function df(n,l){if(n&1&&(r(0,"span",108),m(1),s()),n&2){let e=d(3);o(),_(e.uploadFile.name)}}function uf(n,l){if(n&1&&(r(0,"span",108),m(1),s()),n&2){let e=d(3);o(),_(e.connection.fileName)}}function _f(n,l){if(n&1){let e=E();r(0,"div",104),b("click",function(){y(e);let i=N(7),a=d(2);return a.fileUploadErrorMessage="",S(i.click())})("keydown.enter",function(){y(e);let i=N(7),a=d(2);return a.fileUploadErrorMessage="",S(i.click())})("fileDropped",function(i){y(e);let a=d(2);return S(a.onAddUploadFile(i))}),r(1,"div",105),g(2,"app-icon",106),C(3,mf,3,3,"span",107),C(4,df,2,1,"span",108),C(5,uf,2,1,"span",108),r(6,"input",109,6),b("change",function(i){y(e);let a=d(2);return S(a.onAddUploadFile(i))}),s()()()}if(n&2){let e=d(2);o(3),v(!(e.uploadFile!=null&&e.uploadFile.name)&&!e.connection.fileName?3:-1),o(),v(e.uploadFile!=null&&e.uploadFile.name?4:-1),o(),v(e.connection.fileName&&!e.uploadFile?5:-1)}}function ff(n,l){if(n&1&&(r(0,"p",101),m(1),c(2,"transloco"),s()),n&2){let e=d(2);o(),M(" ",p(2,1,e.fileUploadErrorMessage)," ")}}function hf(n,l){if(n&1&&(r(0,"div",20)(1,"div")(2,"div",94),g(3,"input",95),r(4,"label",96),m(5),c(6,"transloco"),s()(),r(7,"div",97),g(8,"input",98),r(9,"label",99),m(10),c(11,"transloco"),s()()(),r(12,"div",17),C(13,pf,3,2,"div"),C(14,_f,8,3,"div",100),C(15,ff,3,3,"p",101),s()()),n&2){let e=d();u("formGroup",e.idpForm),o(5),_(p(6,7,"user_management.sso.adfs.idp_xml_url")),o(5),_(p(11,9,"user_management.sso.adfs.idp_xml_file")),o(2),u("formGroup",e.idpForm),o(),v(e.idpForm.get("metadataType").value==="url"?13:-1),o(),v(e.idpForm.get("metadataType").value==="file"?14:-1),o(),v(e.fileUploadErrorMessage&&e.idpForm.get("metadataType").value==="file"?15:-1)}}var to=(()=>{class n{constructor(){this._configurationService=h(er),this._feedbackService=h(oe),this._formBuilder=h(Ce),this._idpService=h(Ln),this._mappingHelperService=h(Li),this._modalService=h(B),this._route=h(me),this._router=h(de),this._samlService=h(Nt),this._shibbolethService=h(Vi),this._translocoService=h(ge),this._unsavedChangesService=h(Tt),this.connectionTypes=De,this.isPending=!1,this._connectionNames=[],this._isEditMode=!1,this._useDefaultPseudonymity=!1,this._usedIndexes=[],this._fixedFields=["Username","Email","Forename","Surname","Roles","Location"],this._maxFileSize=5,this._subscriptions=[],this._usedRolePrios=[]}set claimTable(e){this._claimTable=e}get claimTable(){return this._claimTable}set roleTable(e){this._roleTable=e}ngOnInit(){this._tenantKey=localStorage.getItem(Ye),this._connectionId=this._route.snapshot.params.id,this.loadUsedIndexList(),this._connectionId?(this._isEditMode=!0,this._idpService.getIdpConnectionById(this._connectionId).subscribe(e=>{this.connection=e,this._initialConnection=e,this.connectionType=this.connection.type,this.inititalizeConnection(this.connection)})):(this._isEditMode=!1,this.connectionType=history.state.type??De.SAML_V2,this.inititalizeConnection(null)),this._idpService.getConnections().subscribe(e=>{this._connectionNames=e.map(t=>t.name)}),this._samlService.getAllNautosUserAttributes().subscribe(e=>{this._claimTypes=e})}onDestroy(){this._shibbolethService.clearConnectionConfig(),this._subscriptions.forEach(e=>e.unsubscribe())}onAddUploadFile(e){let t=this.extractFiles(e);if(t.length>1){this._feedbackService.showErrorModal("user_management.sso.adfs.choose_only_one_file");return}if(parseFloat((t[0].size/(1024*1024)).toFixed(2))>this._maxFileSize){this._feedbackService.showErrorModal(this._translocoService.translate("search.document_upload.hosted_file.file_too_big",{fileSizeLimit:`${this._maxFileSize} MB`}));return}this.uploadFile=t[0]}onDeleteConnection(){let e=this._modalService.open(ae);e.componentInstance.isDeleteConfirmation=!0,e.componentInstance.title=this.connection.type===De.SHIBBOLETH?"user_management.sso.adfs.delete_shibboleth_connection":"user_management.sso.adfs.delete_idp_connection";let t=this.connection.type===De.SHIBBOLETH?"user_management.sso.adfs.do_you_want_to_delete_shibboleth_connection_x":"user_management.sso.adfs.do_you_want_to_delete_idp_connection_x";return this._subscriptions.push(this._translocoService.selectTranslate(t,{name:this.connection.name}).subscribe(i=>e.componentInstance.text=i)),e.result.then(i=>{i.preset&&(this.isPending=!0,this._subscriptions.push(this._idpService.deleteIdpConnection(this.connection.connectionId).pipe(Z(()=>this.isPending=!1)).subscribe(a=>{this._unsavedChangesService.resetUnsavedChangesFlag(),a?(this._samlService.refreshIdpConnections(),this._feedbackService.showSuccessModal("user_management.sso.adfs.idp_connection_successfully_deleted",`${this._tenantKey}
2/settings/sso/v2`)):this._feedbackService.showErrorModal("common.error",`${this._tenantKey}/settings/sso/v2`)})))}),!0}onSave(){this.isPending=!0;let e=!this.idpForm.get("name").valid,t=!this.idpForm.get("index").valid,i=!!(this.idpForm.get("metadataUrl").value&&this.idpForm.get("metadataType").value==="url"),a=!!this.uploadFile,f=!this._isEditMode&&!a&&!i&&this.connection.type!==De.SHIBBOLETH;if(Object.values(this.idpForm.controls).forEach(x=>{x.markAsTouched()}),f&&this.idpForm.get("metadataType").value==="file"&&(this.fileUploadErrorMessage="common.please_choose_a_file"),e||f||t){this.isPending=!1;return}this.connection.index=this.idpForm.get("index").value,this.connection.metadataUrl=this.idpForm.get("metadataUrl").value,this.idpForm.get("signAuthRequest").value?.toLowerCase()==="auto"?(this.connection.signAuthRequest=!1,this.connection.autoSignAuthRequestsBasedOnMetadata=!0):(this.connection.signAuthRequest=this.idpForm.get("signAuthRequest").value,this.connection.autoSignAuthRequestsBasedOnMetadata=!1),this.connection.useMetadataUrl=i,this.saveConnection().subscribe(x=>{this._unsavedChangesService.resetUnsavedChangesFlag();let w=!!this.connection.connectionId;if(x){let L=w?"user_management.sso.adfs.idp_connection_successfully_edited":"user_management.sso.adfs.idp_connection_successfully_created";this._feedbackService.showSuccessModal(L,`${this._tenantKey}/settings/sso/v2`)}else this._feedbackService.showErrorModal()})}get numberOfClaimTypes(){return this.connection.claimTypeMappings.length??0}get numberOfRoles(){return this.connection.roleMappings.length??0}inititalizeConnection(e){if(e)this.connection=e;else{let t,i=this.connectionType,a,f="",x="";if(this.connectionType===De.SHIBBOLETH){let L=this._shibbolethService.getConnectionConfig();L?(t=L.institute.entityId,f=L.institute.name,i=De.SHIBBOLETH,x=L.institute.url,this._useDefaultPseudonymity=L.usePseudonymity):this._router.navigate(["../"],{relativeTo:this._route})}let w=this.getSmallestUnusedIndex();this.connection={name:f,connectionId:a,entityId:t,metadataUrl:"",signAuthRequest:!1,autoSignAuthRequestsBasedOnMetadata:!0,useMetadataUrl:!1,claimTypeMappings:[],roleMappings:[],type:i,certificateEnddate:"",certificateIssuer:"",certificateSubject:"",certificateThumbprint:"",isActive:!1,index:w,idpUrl:x}}this.initForm(),this.idpForm.updateValueAndValidity(),this.connection.connectionId?this.pageTitle=this.connection.type===De.SHIBBOLETH?"user_management.sso.adfs.edit_shibboleth_connection":"user_management.sso.adfs.edit_idp_connection":this.pageTitle=this.connection.type===De.SHIBBOLETH?"user_management.sso.adfs.create_shibboleth_connection":"user_management.sso.adfs.create_idp_connection",this.connection?.type!==De.SHIBBOLETH&&this._connectionId&&this.patchIdpConnection(),this.connection.roleMappings.forEac
2h(t=>{this._usedRolePrios.push(t.priority)}),this.updateValidators(),this.idpForm.valueChanges.subscribe(()=>{this.checkChanges(this.connection,this._initialConnection),this._unsavedChangesService.trackChanges(!0)}),this.idpForm.get("name").valueChanges.subscribe(t=>{this.connection.name=t,this.idpForm.get("name").markAsTouched()}),this.idpForm.get("index").valueChanges.subscribe(t=>{let i=Number.parseInt(t,10),a=this.idpForm.get("index").errors,f=!!a?.required,x=!!(a?.min??a?.max),w=Number.isNaN(i)&&!f,L=this.connection.connectionId?this._usedIndexes.includes(i)&&this.connection.index!==i:this._usedIndexes.includes(i);f?(this.idpForm.get("index").setErrors({required:!0}),this.indexErrorMessage="common.please_fill_this_field"):w||x?(this.idpForm.get("index").setErrors({incorrect:!0}),this.indexErrorMessage="user_management.sso.index_error"):L&&(this.idpForm.get("index").setErrors({incorrect:!0}),this.indexErrorMessage="user_management.sso.index_duplicate"),this.idpForm.get("index").markAsTouched()})}initForm(){let e=this.connection.autoSignAuthRequestsBasedOnMetadata,t=this.connection.signAuthRequest.toString();e&&(t="auto"),this.idpForm=this._formBuilder.group({name:[this.connection.name,[G.required,this.nameAlreadyUsed()]],connectionId:[this.connection.connectionId,G.required],entityId:[this.connection.entityId,G.required],idpUrl:this.connection.idpUrl??"",index:[this.connection.index,[G.required,G.min(0),G.max(99),this.indexAlreadyUsed()]],signAuthRequest:[t],autoSignAuthRequest:[e],metadataUrl:[this.connection.metadataUrl,[G.required,G.pattern("https?://.+")]],metadataType:[this.connection.fileName?"file":"url"],claimTypeMappings:[this.connection.claimTypeMappings],roleMappings:[this.connection.roleMappings],type:[this.connection.type]})}saveConnection(){return this._idpService.saveIdpConnection(this.connection,this.uploadFile,this._useDefaultPseudonymity)}onCancel(){this._unsavedChangesService.resetUnsavedChangesFlag(),this._router.navigate(["../"],{relativeTo:this._route})}isFieldValid(e){let t=this.idpForm.get(e).valid;return!this.idpForm.get(e).touched||t}onAddClaimTypeMap(){let e=this._modalService.open(ti),t=this.connection.claimTypeMappings.map(a=>a.nautosUserAttribute),i=this._claimTypes.filter(a=>!t.includes(a.name));e.componentInstance.listElements=i.map(a=>a.name),e.componentInstance.title="user_management.sso.add_user_attribute",e.result.then(a=>{a?.passedElements&&(this.connection.claimTypeMappings||(this.connection.claimTypeMappings=[]),a.passedElements.map(f=>{let x={claimTypeMapId:null,nautosUserAttribute:f,identityProviderClaimType:{uri:"",displayName:"",description:""},synchronizationStrategy:Gi.UPDATE,description:"",fixedValue:null,regularExpression:null,isOptional:!0,isSelectable:!0};this.connection.claimTypeMappings=[...this.connection.claimTypeMappings,x]}))})}onEditClaimTypeMap(e){let t=this._modalService.open(Ai,{windowClass:"modal-large"});t.componentInstance.idpClaimTypes=this._offeredClaimTypes??[],t.componentInstance.editClaimTypeMap(e,this._claimTypes),t.componentInstance.showSyncStrategyTypes=e.nautosUserAttribute!=="Username",t.result.then(i=>{if(i?.passedClaimTypeMap){let a=i.passedClaimTypeMap;e.synchronizationStrategy=a.synchronizationStrategy,e.description=a.description,e.regularExpression=a.regularExpression,e.fixedValue=a.fixedValue,e.identityProviderClaimType=a.identityProviderClaimType,e.isOptional=a.isOptional,this.checkChanges(this.connection,this._initialConnection)}})}onDeleteClaimTypeMap(e){this.connection.claimTypeMappings=this.connection.claimTypeMappings.filter(t=>t.nautosUserAttribute!==e)}onDeleteClaimTypeMaps(){let i=this._claimTable.selectedRows.map(a=>a.item).map(a=>a.nautosUserAttribute);this.connection.claimTypeMappings=this.connection.claimTypeMappings.filter(a=>!i.includes(a.nautosUserAttribute)||this._fixedFields.includes(a.nautosUserAttribute)||!a.isOptional)}claimTypeMapCanBeDeleted(e){return this._fixedFields.includes(e.nautosUserAttribute)}onAddRoleMap(){this._subscriptions.push(this._mappingHelperService.getRoleNamesForMapping().subscribe(e=>{let t=this._modalService.open(ti),i=e.filter(a=>!this.connection.roleMappings.map(f=>f.nautosRole).includes(a));t.componentInstance.listElements=i,t.componentInstance.title="user_management.sso.add_role",t.result.then(a=>{if(a?.passedElements){let f=a.passedElements.map(x=>({roleMapId:null,nautosRole:x,priority:this.getSmallestUnusedPrio()}));this._configurationService.addRoleMappings(f),this.checkChanges(this.connection,this._initialConnection),this.connection.roleMappings||(this.connection.roleMappings=[]),this.connection.roleMappings=[...this.connection.roleMappings,...f]}})}))}onEditRoleMap(e){let t=this._modalService.open(Oi);t.componentInstance.currentRoleMap=Ze.clone(e),t.result.then(i=>{i?.passedRoleMap&&(this.connection.roleMappings=this.connection.roleMappings.map(a=>a.nautosRole===i.passedRoleMap.nautosRole?i.passedRoleMap:a),this._unsavedChangesService.trackChanges(!1))})}onDeleteRoleMaps(){let i=this._roleTable.selectedRows.map(a=>a.item).map(a=>a.nautosRole);this.connection.roleMappings=this.connection.roleMappings.filter(a=>!i.includes(a.nautosRole))}roleMapCanBeDeleted(e){return!!e.nautosRole}patchIdpConnection(){if(this.connection){this._configurationService.connection=this.connection;
2let e=this.connection.fileName?"file":"url";this.idpForm.patchValue({connectionId:this.connection.connectionId,name:this.connection.name,signAuthRequest:this.connection.signAuthRequest.toString(),entityId:this.connection.entityId,index:this.connection.index,autoSignAuthRequest:"auto",metadataUrl:this.connection.metadataUrl,metadataType:e,claimTypeMappings:this.connection.claimTypeMappings,roleMappings:this.connection.roleMappings,type:this.connection.type})}}loadUsedIndexList(){this._idpService.getUsedIndexes().subscribe(e=>{this._usedIndexes=e,this._usedIndexes.includes(this.connection?.index)&&this.idpForm.get("index").patchValue(this.getSmallestUnusedIndex())})}getSmallestUnusedIndex(){if(!this._usedIndexes)return null;this._usedIndexes.sort((e,t)=>e-t);for(let e=0;e<this._usedIndexes.length;e++)if(this._usedIndexes[e]!==e)return e;return this._usedIndexes.length}extractFiles(e){return this.isFileList(e)?e:this.isInputEvent(e)?e.target.files:null}isFileList(e){return e instanceof FileList}isInputEvent(e){return e instanceof Event&&e.target instanceof HTMLInputElement&&!!e.target.files}checkChanges(e,t){if(e===t)return this._unsavedChangesService.trackChanges(!1),!0;if(e==null||t==null||typeof e!="object"||typeof t!="object")return this._unsavedChangesService.trackChanges(!0),!1;let i=Object.keys(e),a=Object.keys(t);if(i.length!==a.length)return this._unsavedChangesService.trackChanges(!0),!1;for(let f of i)if(!a.includes(f)||!this.checkChanges(e[f],t[f]))return this._unsavedChangesService.trackChanges(!0),!1;return this._unsavedChangesService.trackChanges(!1),!0}getSmallestUnusedPrio(){if(!this._usedRolePrios)return null;this._usedRolePrios.sort((t,i)=>t-i);let e=1;for(;this._usedRolePrios.includes(e);)e++;return this._usedRolePrios.push(e),e}updateValidators(){this.idpForm.get("name").setValidators([G.required,G.minLength(1),this.nameAlreadyUsed(),this.nameCharLimitExceeded()]),this.idpForm.get("index").setValidators([G.required,G.min(0),G.max(99),this.indexAlreadyUsed()])}indexAlreadyUsed(){return e=>{let t=Number.parseInt(e.value,10);return(this.connection.connectionId?this._usedIndexes.includes(t)&&this.connection.index!==t:this._usedIndexes.includes(t))?{indexAlreadyUsed:!0}:null}}nameAlreadyUsed(){return e=>this._connectionNames.some(i=>i.toLowerCase()===e.value.toLowerCase())&&this.connection?.name.toLowerCase()!==e.value.toLowerCase()?{invalidName:{name:e.value}}:null}nameCharLimitExceeded(){return e=>e.value.length>200?{charLimitExceeded:{name:e.value}}:null}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275cmp=R({type:n,selectors:[["app-idp-detail"]],viewQuery:function(t,i){if(t&1&&K(C0,5,H)(v0,5,H),t&2){let a;
2z(a=W())&&(i.claimTable=a.first),z(a=W())&&(i.roleTable=a.first)}},decls:5,vars:1,consts:[["shibbolet",""],["saml",""],["menuAnimatedButtons",""],["claimTable",""],["tableCell",""],["roleTable",""],["fileInput",""],[1,"detail-container"],[1,"header"],["data-cy","samlDetailTitle"],[1,"buttons"],["type","button","data-cy","deleteConnection",1,"btn-alert"],["type","button","data-cy","cancelConnection",1,"btn-primary-outline",3,"click"],["type","submit","data-cy","saveConnection",1,"btn-primary",3,"click"],["name","loading-spinner"],[1,"form-row"],["for","name",1,"mandatory"],[3,"formGroup"],["id","name","data-cy","connectionName"],["type","text","formControlName","name","data-cy","connectionName",3,"required"],[1,"form-row",3,"formGroup"],["for","index",1,"mandatory"],["id","index","type","text","formControlName","index","data-cy","index"],["data-cy","indexErrorMessage",1,"text-alert"],[3,"ngTemplateOutlet"],["data-cy","authentication",1,"form-row",3,"formGroup"],["data-cy","infoBox",1,"box-info"],["type","button","data-cy","deleteConnection",1,"btn-alert",3,"click"],[1,"label"],["data-cy","connectionNameErrorMessage",1,"text-alert"],["data-cy","idpCertificateThumbprint",1,"form-row"],["data-cy","idpCertificateIssuer",1,"form-row"],["data-cy","idpCertificateSubject",1,"form-row"],[1,"label-top"],["data-cy","authenticationAutomatic",1,"form-check"],["id","automatic","type","radio","formControlName","signAuthRequest","value","auto",1,"form-check-input"],["for","automatic"],["data-cy","authenticationYes",1,"form-check"],["id","yes","type","radio","formControlName","signAuthRequest","value","true",1,"form-check-input"],["for","yes"],["data-cy","authenticationNo",1,"form-check"],["id","no","type","radio","formControlName","signAuthRequest","value","false",1,"form-check-input"],["for","no"],[1,"attributes-roles"],["name","info","data-cy","iconCompanyClaim",1,"icon-clickable",3,"ngbTooltip"],["type","button",1,"btn-primary-outline"],[1,"container-menu-pagination"],[3,"appTable"],["menu",""],[1,"container-table"],["id","attribute-map-table",3,"items"],["tableColumn","","styleClasses","button-column"],["tableColumn","","columnText","user_management.sso.user_attribute"],["tableColumn","","columnText","user_management.sso.optional"],["tableColumn","","columnText","user_management.sso.sync_strategy"],["tableColumn","","columnText","user_management.sso.adfs.claim_idp_name"],["tableColumn","","columnText","user_management.sso.fixed_value"],["tableColumn","","columnText","user_management.sso.regexp"],["tableColumn","","columnText","common.description"],["id","role-map-table",3,"items"],["tableColumn","","columnText","user_management.users.role"],["tableColumn","","columnText","user_management.sso.adfs.role_map_ad_group"],["tableColumn","","columnText","user_management.sso.priority"],[1,"no-content"],["type","button",1,"btn-primary-outline",3,"click"],["data-cy","addUserAttribute"],["type","button","data-cy","deleteAttributes",1,"btn-menu-animated",3,"click","ngbTooltip"],["name","delete"],["type","button","data-cy","iconEditUserAttribute",1,"btn-icon",3,"ngbTooltip"],["type","button","data-cy","iconEditUserAttribute",1,"btn-icon",3,"click","ngbTooltip"],["name","edit"],["data-cy","userAttribute",1,"text-bold",3,"ngClass"],["data-cy","optional"],["data-cy","syncStrategy"],["data-cy","idpName"],["data-cy","idpAttribute"],["data-cy","idpDescription"],["data-cy","fixedValue"],["data-cy","regExp"],["data-cy","description"],["data-cy","addFieldRole"],["type","button","data-cy","iconDeleteRoles",1,"btn-menu-animated",3,"click","ngbTooltip"],["type","button","data-cy","iconEditRole",1,"btn-icon"],["type","button","data-cy","iconEditRole",1,"btn-icon",3,"click"],["data-cy","roleName"],["data-cy","mapping"],["data-cy","priority"],["sprite","icons-large","name","cross-large","data-cy","iconNoRoles",1,"icon-inactive"],["data-cy","textNoRoles"],["data-cy","infoTitle",1,"box-title"],["data-cy","infoText",1,"box-content"],["for","idp-metadata-xml"],["data-cy","entityId"],["data-cy","shibboletUrl"],["data-cy","url",1,"form-check"],["type","radio","id","metadata-url","formControlName","metadataType","value","url",1,"form-check-input"],["for","metadata-url",1,"mandatory"],["data-cy","xml",1,"form-check"],["type","radio","id","metadata-file","formControlName","metadataType","value","file",1,"form-check-input"],["for","metadata-file",1,"mandatory"],["id","file-upload",1,"upload-file-container"],["data-cy","fileErrorMessage",1,"text-alert"],["type","text","id","xml_url","formControlName","metadataUrl","data-cy","idpUrl",1,"idp-metadata-url",3,"required"],["data-cy","idpUrlErrorMessage",1,"text-alert"],["id","file-upload",1,"upload-file-container",3,"click","keydown.enter","fileDropped"],[1,"upload-disclaimer"],["name","cloud-upload","data-cy","iconFileUpload"],["data-cy","uploadMessage"],["data-cy","fileName"],["hidden","","type","file","data-cy","uploadFile",3,"change"]],template:function(t,i){t&1&&(C(0,sf,39,30,"div",7),T(1,lf,12,8,"ng-template",null,0,I)(3,hf,16,11,"ng-template",null,1,I)),t&2&&v(i.connection?0:-1)},dependencies:[V,Ae,X,pe,Y,xt,$,J,ln,te,ee,q,nt,Ht,he,Oe,D,H,P,qt],styles:['.detail-container[_ngcontent-%COMP%] section[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:var(--spacer);width:100%}.detail-container[_ngcontent-%COMP%] section[_ngcontent-%COMP%]:not(:last-child){border-bottom:var(--border);margin-bottom:var(--spacer);padding-bottom:var(--spacer)}.detail-container[_ngcontent-%COMP%] section[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin-bottom:var(--spacer)}.detail-container[_ngcontent-%COMP%] section[_ngcontent-%COMP%] .form-row[_ngcontent-%COMP%]{display:flex;gap:var(--spacer);flex-wrap:wrap;align-items:center;margin-bottom:var(--spacer);position:relative}.detail-container[_ngcontent-%COMP%] section[_ngcontent-%COMP%] .form-row[_ngcontent-%COMP%] > [_ngcontent-%COMP%]:first-child{flex:1;margin-bottom:0}.detail-container[_ngcontent-%COMP%] section[_ngcontent-%COMP%] .form-row[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]{flex:2}.detail-container[_ngcontent-%COMP%] section[_ngcontent-%COMP%] .attributes-roles[_ngcontent-%COMP%]{display:flex;gap:var(--spacer);flex-wrap:wrap;justify-content:space-between}span.mandatory[_ngcontent-%COMP%]{text-wrap:nowrap}span.mandatory[_ngcontent-%COMP%]:after{content:" *"}']})}}return n})();
2var Gt=class extends Error{constructor(l,e,t){super(l),this.cause=e,this.status=t,this.name="Samlv2MetadataUrlLoadError"}};var tr=(()=>{class n{constructor(){this._httpClient=h(Ue),this._appConfigService=h(Me)}static{this._metadataUrlPath="/v2/sso/metadata/url"}getMetadataUrl(){return ao(()=>{let e=this.buildEndpointUrl(n._metadataUrlPath);return this._httpClient.get(e).pipe(U(t=>this.extractMetadataUrl(t)))}).pipe(F(e=>Qi(()=>this.toMetadataUrlLoadError(e))))}extractMetadataUrl(e){if(!this.isMetadataUrlResponse(e))throw new Gt("The backend response for the SAML metadata URL does not match the expected format.");let t=e.metadataUrl.trim();if(t.length===0)throw new Gt("The backend response contains an empty SAML metadata URL.");return t}isMetadataUrlResponse(e){return typeof e!="object"||e===null?!1:typeof e.metadataUrl=="string"}buildEndpointUrl(e){let t=this._appConfigService.baseConfig.baseUrl;if(t==null)throw new Gt("The API base URL is not configured.");let i=t.trim().replace(/\/+$/,"");return i.length===0?e:`${i}${e}`}toMetadataUrlLoadError(e){return e instanceof Gt?e:e instanceof wo?e.status===0?new Gt("The SAML metadata URL could not be loaded due to a network, CORS, or connectivity issue.",e,e.status):new Gt(`The SAML metadata URL could not be loaded (HTTP ${e.status}).`,e,e.status):new Gt("An unexpected error occurred while loading the SAML metadata URL.",e)}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275prov=ce({token:n,factory:n.\u0275fac,providedIn:"root"})}}return n})();var gf=["instituteContainer"];function Cf(n,l){n&1&&ut(0)}function vf(n,l){if(n&1&&T(0,Cf,1,0,"ng-container",21),n&2){let e=l.$implicit;d();let t=N(41);u("ngTemplateOutlet",t)("ngTemplateOutletContext",e)}}function bf(n,l){if(n&1){let e=E();r(0,"button",22),b("click",function(){let i=y(e).entityId,a=d();return S(a.onSelectInstitute(i))}),r(1,"span",23),m(2),s(),r(3,"span",24)(4,"img",25),b("error",function(i){y(e);let a=d();return S(a.onImageError(i))}),s()()()}if(n&2){let e=l.name,t=l.imageUrl,i=l.entityId,a=d();fe("selected",a.selectedInstituteId===i),u("disabled",a.checkIfInstituteAlreadyHasConnection(e)),o(2),_(e),o(2),u("src",t,vi)("alt",e)}}var ir=(()=>{class n{constructor(){this.modalService=h(B),this._formBuilder=h(Ce),this._shibbolethService=h(Vi),this.institutes=[],this.connections=[],this._searchSubject=new Wi,this._losPageNumber=1}ngOnInit(){this._shibbolethService.getInstitutes().subscribe(e=>{this.institutes.national=e?.national,this.institutes.international=e?.international,this.institutesList=this.institutes.national}),this._searchSubscription=this._searchSubject.pipe(pi(300),Bt(),dt(e=>this._shibbolethService.loadPage(1,10,e))).subscribe(e=>{this.institutesList=e}),this.buildForms()}ngAfterViewInit(){this.instituteContainer.nativeElement.addEventListener("scroll",this.onScroll.bind(this))}ngOnDestroy(){this.instituteContainer.nativeElement.removeEventListener("scroll",this.onScroll.bind(this)),this._searchSubscription.unsubscribe()}onSave(){let e=this.connectionForm.get("instituteId").value,t=this.institutesList.filter(f=>f.entityId===e);if(!Array.isArray(t)||t.length!==1)return;let i=t[0],a={usePseudonymity:this.connectionForm.get("usePseudonymity").value,institute:i};this._shibbolethService.setConnectionConfig(a),this.modalService.close(a)}onPseudonymitySettingsChanged(e){this.connectionForm.get("usePseudonymity").patchValue(e)}buildForms(){this.connectionForm=this._formBuilder.group({useNationalList:this._formBuilder.control(!0),instituteId:this._formBuilder.control(""),instituteName:this._formBuilder.control(""),usePseudonymity:this._formBuilder.control(!0)})}isScrolledToBottom(){let e=this.instituteContainer.nativeElement;return e.scrollHeight-e.scrollTop===e.clientHeight}onScroll(){this.isScrolledToBottom()&&this.loadOnScroll()}loadOnScroll(){this._losPageNumber++;let e=this.connectionForm.get("useNationalList").value?"national":"international";this._shibbolethService.loadPage(this._losPageNumber).subscribe(t=>{t.length&&(this.institutes[e]=this.institutes[e].concat(t),this.institutesList=this.institutes[e])})}onToggleRegion(e){let t=e!=="international";this.connectionForm.get("useNationalList").patchValue(t),this.connectionForm.get("useNationalList").value?this.institutesList=this.institutes.national:this.institutesList=this.institutes.international}onImageError(e){let t=e.target;t.style.display="none"}onKeyReleased(e){if(e.key==="Enter")this.onSave();else{let t=this.connectionForm.get("instituteName").value;this._searchSubject.next(t)}}onSelectInstitute(e){this.connectionForm.get("instituteId").patchValue(e),this.selectedInstituteId=e}checkIfInstituteAlreadyHasConnection(e){return!!this.connections.find(t=>t.name===e)}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275cmp=R({type:n,selectors:[["app-sso-create-shibboleth-modal"]],viewQuery:function(t,i){if(t&1&&K(gf,5),t&2){let a;
2z(a=W())&&(i.instituteContainer=a.first)}},decls:42,vars:29,consts:[["focusable",""],["instituteContainer",""],["entryTemplate",""],["modalTitle","user_management.sso.adfs.create_shibboleth_connection",3,"border"],[1,"modal-body"],[3,"formGroup"],[1,"btn-group"],["type","button","data-cy","germany",1,"btn-primary-outline",3,"click"],["type","button","data-cy","international",1,"btn-primary-outline",3,"click"],[1,"institute-search"],["for","institute-search-field"],["id","institute-search-field","type","text","formControlName","instituteName","data-cy","searchInstitute",3,"keyup"],["for","institutes",1,"label-top"],["id","institutes",1,"scroll-box"],["data-cy","pseudonymitySettings",1,"form-check"],["type","radio","name","usePseudonymity","id","usePseudonymity","formControlName","usePseudonymity",1,"form-check-input",3,"change","value"],["for","usePseudonymity"],["data-cy","emptySettings",1,"form-check"],["type","radio","name","usePseudonymity","id","dontUsePseudonymity","formControlName","usePseudonymity",1,"form-check-input",3,"change","value"],["for","dontUsePseudonymity"],[3,"cancelButtonClick","saveButtonClick"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],["type","button","data-cy","institute",1,"btn-icon-text",3,"click","disabled"],[1,"name"],[1,"image-container"],[3,"error","src","alt"]],template:function(t,i){t&1&&(g(0,"app-modal-header",3),r(1,"div",4)(2,"form",5)(3,"section")(4,"div",6)(5,"button",7),b("click",function(){return i.onToggleRegion("national")}),m(6),c(7,"transloco"),s(),r(8,"button",8),b("click",function(){return i.onToggleRegion("international")}),m(9),c(10,"transloco"),s()(),r(11,"div",9)(12,"label",10),m(13),c(14,"transloco"),s(),r(15,"input",11,0),b("keyup",function(f){return i.onKeyReleased(f)}),s()()(),r(17,"section")(18,"p",12),m(19),c(20,"transloco"),s(),r(21,"div",13,1),ye(23,vf,1,2,"ng-container",null,ke),s()(),r(25,"section")(26,"p"),m(27),c(28,"transloco"),s(),r(29,"div",14)(30,"input",15),b("change",function(){return i.onPseudonymitySettingsChanged(!0)}),s(),r(31,"label",16),m(32),c(33,"transloco"),s()(),r(34,"div",17)(35,"input",18),b("change",function(){return i.onPseudonymitySettingsChanged(!1)}),s(),r(36,"label",19),m(37),c(38,"transloco"),s()()()()(),r(39,"app-modal-footer",20),b("cancelButtonClick",function(){return i.modalService.dismiss()})("saveButtonClick",function(){return i.onSave()}),s(),T(40,bf,5,6,"ng-template",null,2,I)),t&2&&(u("border",!0),o(2),u("formGroup",i.connectionForm),o(3),fe("active",i.connectionForm.controls.useNationalList.value),o(),M(" ",p(7,15,"user_management.sso.shibboleth.germany")," "),o(2),fe("active",i.connectionForm.controls.useNationalList.value),o(),M(" ",p(10,17,"user_management.sso.shibboleth.international")," "),o(4),_(p(14,19,"search.title")),o(6),M(" ",p(20,21,"user_management.sso.shibboleth.choose_an_institute")," "),o(4),Se(i.institutesList),o(4),_(p(28,23,"user_management.sso.shibboleth.description_pseudonymity")),o(3),u("value",!0),o(2),_(p(33,25,"user_management.sso.shibboleth.use_predefined_pseudonymity")),o(3),u("value",!1),o(2),_(p(38,27,"user_management.sso.shibboleth.use_individual_settings")))},dependencies:[Le,Ht,Fe,Pe,pe,ne,Y,xt,$,J,te,ee,D,P],styles:["form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:var(--spacer)}form[_ngcontent-%COMP%] section[_ngcontent-%COMP%] .btn-group[_ngcontent-%COMP%]{display:flex;margin-bottom:var(--spacer)}form[_ngcontent-%COMP%] section[_ngcontent-%COMP%] .btn-group[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{width:50%}form[_ngcontent-%COMP%] section[_ngcontent-%COMP%] .btn-group[_ngcontent-%COMP%] button.active[_ngcontent-%COMP%]{color:#fff;background-color:var(--color-primary)}form[_ngcontent-%COMP%] section[_ngcontent-%COMP%] .scroll-box[_ngcontent-%COMP%]{border:var(--border);height:30vh;padding:var(--spacer)}form[_ngcontent-%COMP%] section[_ngcontent-%COMP%] .scroll-box[_ngcontent-%COMP%] .btn-icon-text[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;font-family:var(--font-family-default);width:100%}form[_ngcontent-%COMP%] section[_ngcontent-%COMP%] .scroll-box[_ngcontent-%COMP%] .btn-icon-text[_ngcontent-%COMP%] .name[_ngcontent-%COMP%]{margin-left:var(--spacer)}form[_ngcontent-%COMP%] section[_ngcontent-%COMP%] .scroll-box[_ngcontent-%COMP%] .btn-icon-text[_ngcontent-%COMP%] .image-container[_ngcontent-%COMP%]{display:flex;justify-content:center;min-width:8rem}form[_ngcontent-%COMP%] section[_ngcontent-%COMP%] .scroll-box[_ngcontent-%COMP%] .btn-icon-text[_ngcontent-%COMP%] .image-container[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{max-height:2rem;overflow:hidden}form[_ngcontent-%COMP%] section[_ngcontent-%COMP%] .scroll-box[_ngcontent-%COMP%] .btn-icon-text[_ngcontent-%COMP%]:not(:last-child){border-bottom:var(--border)}form[_ngcontent-%COMP%] section[_ngcontent-%COMP%] .scroll-box[_ngcontent-%COMP%] .selected[_ngcontent-%COMP%]{background-color:var(--color-gray-light);font-family:var(--font-family-bold)}"]})}}return n})();function yf(n,l){if(n&1&&(r(0,"a",9),m(1),s()),n&2){let e=d();u("href",e.metadataUrl,vi),o(),M(" ",e.metadataUrl," ")}}function Sf(n,l){if(n&1&&(r(0,"div",18),g(1,"app-checkbox",19),s()),n&2){let e=l.item;o(),u("formControlName",e.connectionId)}}function xf(n,l){if(n&1){let e=E();r(0,"button",20),c(1,"transloco"),c(2,"transloco"),b("click",function(){let i=y(e).item,a=d(2);return S(a.onDeleteIdpConnection(i))}),g(3,"app-icon",21),s()}n&2&&(u("ngbTooltip",p(1,2,"common.delete")),k("aria-label",p(2,4,"common.delete")))}function Tf(n,l){if(n&1){let e=E();r(0,"span",22),b("click",function(){let i=y(e).item,a=d(2);return S(a.navigateToItem(i))})("keydown.enter",function(){let i=y(e).item,a=d(2);return S(a.navigateToItem(i))}),m(1),s()}if(n&2){let e=l.item;o(),M(" ",e.name," ")}}function Mf(n,l){if(n&1){let e=E();r(0,"span",23),b("click",function(){let i=y(e).item,a=d(2);return S(a.navigateToItem(i))})("keydown.enter",function(){let i=y(e).item,a=d(2);return S(a.navigateToItem(i))}),m(1),s()}if(n&2){let e=l.item;o(),M(" ",e.index," ")}}function If(n,l){if(n&1){let e=E();r(0,"span",24),b("click",function(){let i=y(e).item,a=d(2);return S(a.navigateToItem(i))})("keydown.enter",function(){let i=y(e).item,a=d(2);return S(a.navigateToItem(i))}),m(1),s()}if(n&2){let e=l.item,t=d(2);o(),M(" ",t.connectionTypes[e.type]," ")}}function Ef(n,l){if(n&1&&(r(0,"form",10)(1,"app-table",12)(2,"div",13),T(3,Sf,2,1,"ng-template",null,0,I),s(),r(5,"div",14),T(6,xf,4,6,"ng-template",null,0,I),s(),r(8,"div",15),T(9,Tf,2,1,"ng-template",null,0,I),s(),r(11,"div",16),T(12,Mf,2,1,"ng-template",null,0,I),s(),r(14,"div",17),T(15,If,2,1,"ng-template",null,0,I),s()()()),n&2){let e=d();u("formGroup",e.activationForm),o(),u("items",e.connections)("hasCheckboxColumn",!1)}}function wf(n,l){n&1&&(r(0,"div",11),g(1,"app-icon",25),r(2,"p",26),m(3),c(4,"transloco"),s()()),n&2&&(o(3),_(p(4,1,"user_management.sso.adfs.no_connections")))}var nr=(()=>{class n{constructor(){this._feedbackService=h(oe),this._formBuilder=h(Ce),this._idpService=h(Ln),this._modalService=h(B),this._route=h(me),this._router=h(de),this._shibbolethService=h(Vi),this._translocoService=h(ge),this._samlv2MetadataService=h(tr),this._destroyRef=h(ho),this.connectionTypes={0:"SAML",1:"LDAP",2:"Shibboleth",3:"SAML v2"},this.isPending=!1,this.connections=[],this.metadataUrl=null,this.metadataUrlLoadError=null,this.isMetadataUrlLoading=!1,this._subscriptions=[],this._destroy$=new Wi}get idpTable(){return this._idpTable}get totalCount(){return this.connections.length??0}set idpTable(e){this._idpTable=e}ngOnInit(){this.loadMetadataUrl(),this._idpService.getConnections().subscribe(e=>{this.connections=e,this.initializeForms()})}ngOnDestroy(){this._destroy$.next(),this._destroy$.complete(),this._subscriptions.forEach(e
2=>e.unsubscribe())}onDeleteIdpConnection(e){let t=this._modalService.open(ae);t.componentInstance.isDeleteConfirmation=!0,t.componentInstance.title=e.type===De.SHIBBOLETH?"user_management.sso.adfs.delete_shibboleth_connection":"user_management.sso.adfs.delete_idp_connection";let i=e.type===De.SHIBBOLETH?"user_management.sso.adfs.do_you_want_to_delete_shibboleth_connection_x":"user_management.sso.adfs.do_you_want_to_delete_idp_connection_x";this._translocoService.selectTranslate(i,{name:e.name}).pipe(_o(this._destroy$),F(()=>O(null))).subscribe(a=>{a&&(t.componentInstance.text=a)}),t.result.then(a=>{a.preset&&this._idpService.deleteIdpConnection(e.connectionId).subscribe(f=>{f?this._feedbackService.showSuccessModal("user_management.sso.adfs.idp_connection_successfully_deleted"):this._feedbackService.showErrorModal()})})}navigateToItem(e){e&&(e.connectionId||e.connectionId===0)&&this._router.navigate([e.connectionId],{relativeTo:this._route})}createIdpConnection(){this._router.navigate(["create"],{relativeTo:this._route,state:{type:De.SAML_V2}})}createShibbolethConnection(){this._modalService.open(ir,{windowClass:"modal-large"}).result.then(t=>{t&&(this._shibbolethService.setConnectionConfig(t),this._router.navigate(["create"],{relativeTo:this._route,state:{type:De.SHIBBOLETH}}))})}onCancel(){this._router.navigate(["../"],{relativeTo:this._route})}setupChangeHandlers(){Object.keys(this.activationForm.controls).forEach(e=>{let i=this.activationForm.get(e).valueChanges.subscribe(a=>{this.handleActivationChange(e,a)});this._subscriptions.push(i)})}initializeForms(){let e={};this.connections.forEach(t=>{e[t.connectionId]=new j(t.isActive)}),this.activationForm=this._formBuilder.group(e),this.setupChangeHandlers()}handleActivationChange(e,t){t?this._idpService.activateIdpConnection(e).subscribe():this._idpService.deactivateIdpConnection(e).subscribe()}loadMetadataUrl(){this.isMetadataUrlLoading=!0,this.metadataUrl=null,this.metadataUrlLoadError=null,this._samlv2MetadataService.getMetadataUrl().pipe(Z(()=>{this.isMetadataUrlLoading=!1}),Uo(this._destroyRef)).subscribe({next:e=>{this.metadataUrl=e},error:e=>{console.error("metadataUrl error:",e),this.metadataUrl=null,this.metadataUrlLoadError=this.toUserErrorMessage(e)}})}toUserErrorMessage(e){return e instanceof Gt?e.message:""}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275cmp=R({type:n,selectors:[["app-idp-list"]],viewQuery:function(t,i){if(t&1&&K(H,7),t&2){let a;
2z(a=W())&&(i.idpTable=a.first)}},decls:21,vars:18,consts:[["tableCell",""],[1,"overview-container"],[1,"header"],[3,"count"],[1,"buttons"],["type","button","data-cy","createShibbolethConnection",1,"btn-primary",3,"click"],["type","button","data-cy","createIdpConnection",1,"btn-primary",3,"click"],[1,"metadata-url-info"],[1,"label-with-colon"],["rel","noopener noreferrer","target","_blank",3,"href"],[3,"formGroup"],[1,"no-content"],["data-cy","table",3,"items","hasCheckboxColumn"],["tableColumn","","styleClasses","button-column","columnText","user_management.sso.adfs.idp_connection_active","itemProperty","federationMetadataUrl"],["tableColumn","","styleClasses","button-column"],["tableColumn","","columnText","user_management.sso.connection_name","itemProperty","name"],["tableColumn","","columnText","user_management.sso.index","itemProperty","idpId"],["tableColumn","","columnText","user_management.sso.idp_type","itemProperty","name"],[1,"form-check"],["data-cy","tableRowCheckbox",3,"formControlName"],["type","button","data-cy","iconDeleteConnection",1,"btn-icon",3,"click","ngbTooltip"],["name","delete"],["data-cy","connectionName",1,"link-bold",3,"click","keydown.enter"],["data-cy","index",1,"link",3,"click","keydown.enter"],["data-cy","connectionType",1,"link",3,"click","keydown.enter"],["sprite","icons-large","name","cross-large","data-cy","iconNoConnections",1,"icon-inactive"],["data-cy","textNoConnections"]],template:function(t,i){t&1&&(r(0,"div",1)(1,"div",2)(2,"div")(3,"h2"),m(4),c(5,"transloco"),s(),g(6,"app-record-count",3),s(),r(7,"div",4)(8,"button",5),b("click",function(){return i.createShibbolethConnection()}),m(9),c(10,"transloco"),s(),r(11,"button",6),b("click",function(){return i.createIdpConnection()}),m(12),c(13,"transloco"),s()()(),r(14,"div",7)(15,"span",8),m(16),c(17,"transloco"),s(),C(18,yf,2,2,"a",9),s(),C(19,Ef,17,3,"form",10),C(20,wf,5,3,"div",11),s()),t&2&&(fe("hide",i.isPending),o(4),_(p(5,10,"user_management.sso.settings.sso_v2")),o(2),u("count",i.totalCount),o(3),M(" ",p(10,12,"user_management.sso.adfs.create_shibboleth_connection")," "),o(3),M(" ",p(13,14,"user_management.sso.adfs.create_idp_connection")," "),o(4),_(p(17,16,"user_management.sso.metadata_url")),o(2),v(i.metadataUrl?18:-1),o(),v(i.activationForm?19:-1),o(),v(i.totalCount===0?20:-1))},dependencies:[Ie,Le,V,X,He,q,ne,$,J,te,ee,he,D,H,P],styles:[".buttons[_ngcontent-%COMP%]{display:flex;gap:var(--spacer);flex-wrap:wrap}.form-check[_ngcontent-%COMP%]{max-height:1rem;padding-left:0}.metadata-url-info[_ngcontent-%COMP%]{margin-block:var(--spacer)}"]})}}return n})();var or=(()=>{class n{static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275cmp=R({type:n,selectors:[["app-company-management"]],decls:1,vars:0,template:function(t,i){t&1&&g(0,"router-outlet")},dependencies:[Et,Wt],encapsulation:2})}}return n})();var kt=(function(n){return n.AliasAlreadyExists="AliasAlreadyExists",n.DefaultCompanyUserDelete="DefaultCompanyUserDelete",n.DefaultCompanyRename="DefaultCompanyRename",n.DefaultCompany="DefaultCompany",n.NameAlreadyExists="NameAlreadyExists",n.UsersAssigned="UsersAssigned",n.LastCompany="LastCompany",n})(kt||{});var kf=n=>({count:n});function Rf(n,l){n&1&&g(0,"app-spinner")}function Uf(n,l){if(n&1){let e=E();r(0,"button",15),c(1,"transloco"),c(2,"transloco"),c(3,"transloco"),b("click",function(){y(e);let i=d();return S(i.onDeleteCompanies())}),g(4,"app-icon",16),s()}if(n&2){let e=d();u("ngbTooltip",(e.companyTable==null||e.companyTable.selectedRows==null?null:e.companyTable.selectedRows.length)===1?p(1,2,"user_management.company_management.delete_company"):p(2,4,"user_management.company_management.delete_companies")),k("aria-label",p(3,6,"user_management.company_management.delete_company"))}}function Ff(n,l){if(n&1){let e=E();r(0,"span",17),b("click",function(){let i=y(e).item,a=d();return S(a.onEditCompany(i))})("keydown.enter",function(){let i=y(e).item,a=d();return S(a.onEditCompany(i))}),m(1),s()}if(n&2){let e=l.item;o(),M(" ",e.name," ")}}function Pf(n,l){if(n&1&&(r(0,"div",18),m(1),s()),n&2){let e=l.item;o(),_(e.customerNumber)}}function Lf(n,l){if(n&1&&(r(0,"div",19),m(1),s()),n&2){let e=l.item;o(),_(e.userCount)}}var ar=(()=>{class n{constructor(){this._changeDetectorRef=h(ct),this._companyService=h(Di),this._feedbackService=h(oe),this._modalService=h(B),this._route=h(me),this._router=h(de),this._translocoService=h(ge),this._uiService=h(St),this.isPending=!1}get companyTable(){return this._companyTable.selectedRows=this._companyTable.selectedRows.filter(e=>!e.item.isDefaultCompany),this._companyTable}set companyTable(e){this._companyTable=e}ngOnInit(){this.setLoadingAndShowSpinner(),this._companyService.refreshCompanies(),this.companyCollection$=this._companyService.companyCollection$.pipe(lt(void 0),U(e=>this.prepareCompaniesForTable(e)),be(e=>{e&&(this.totalCount=e.length,this.setLoadedAndHideSpinner())}),_t({refCount:!0})),this.setLoadedAndHideSpinner()}onCreateCompany(){this._router.navigate(["./create"],{relativeTo:this._route})}onEditCompany(e){e?.companyId&&this._router.navigate(["./company",e.companyId],{relativeTo:this._route})}onDeleteCompanies(){if(this.companyTable?.selectedRows){let e=this.companyTable.selectedRows.map(t=>t.item).filter(t=>!t.isDefaultCompany);if(e&&e.length>0){let t=this._modalService.open(ae);t.componentInstance.isDeleteConfirmation=!0,t.componentInstance.title="user_management.company_management.delete_company",e.length===1?t.componentInstance.text=this._translocoService.translate("user_management.company_management.do_you_want_to_delete_company_x",{companyName:e[0].name}):(t.componentInstance.title="user_management.company_management.delete_selected_companies",t.componentInstance.text="user_management.company_management.do_you_want_to_delete_the_companies"),t.result.then(i=>{i?.preset===!0&&this._companyService.removeCompanies(e.map(a=>a.companyId)).subscribe({next:a=>{a?(this.totalCount-=a.length,this.companyTable.selectedRows=[],this._changeDetectorRef.detectChanges(),this._companyService.refreshCompanies(),this._feedbackService.showSuccessModal(e.length===1?"user_management.company_management.company_
2successfully_deleted":"user_management.company_management.companies_successfully_deleted")):this._feedbackService.showErrorModal()},error:a=>this.handleDeleteError(a)})})}}}prepareCompaniesForTable(e){return e?.map(t=>Ct(qe({},t),{isDefault:t.isDefaultCompany}))}handleDeleteError(e){if(e.status===Xt.CONFLICT)switch(e.error?.code){case kt.UsersAssigned:this._feedbackService.showInfoModal("user_management.company_management.delete_company_not_possible_title","user_management.company_management.delete_company_conflict_users_assigned");return;case kt.DefaultCompany:this._feedbackService.showInfoModal("user_management.company_management.delete_company_not_possible_title","user_management.company_management.delete_company_conflict_default_company");return;case kt.LastCompany:this._feedbackService.showInfoModal("user_management.company_management.delete_company_not_possible_title","user_management.company_management.delete_company_conflict_last_company");return}this._feedbackService.showErrorModal()}setLoadedAndHideSpinner(){this.isPending=!1,this._uiService.hideSpinner()}setLoadingAndShowSpinner(){this.isPending=!0,this._uiService.showSpinner()}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275cmp=R({type:n,selectors:[["app-company-list"]],viewQuery:function(t,i){if(t&1&&K(H,7),t&2){let a;
2z(a=W())&&(i.companyTable=a.first)}},decls:32,vars:25,consts:[["menuAnimatedButtons",""],["tableCell",""],[1,"overview-container"],[1,"header"],[3,"count"],["data-cy","numberOfSelectedEntries"],["type","button","data-cy","createCompany",1,"btn-primary",3,"click"],[1,"container-menu-pagination"],[3,"appTable"],["menu",""],[1,"container-table"],["sortBy","name","dinCtrlShiftSelect","","data-cy","table",3,"items"],["tableColumn","","columnText","common.name","itemProperty","name",3,"sortable"],["tableColumn","","columnText","common.customer_number","itemProperty","customerNumber",3,"sortable"],["tableColumn","","columnText","user_management.user","itemProperty","userCount",3,"sortable"],["type","button","data-cy","iconDeleteCompanies",1,"btn-menu-animated",3,"click","ngbTooltip"],["name","delete"],["data-cy","companyName",1,"link-bold","ellipsicated",3,"click","keydown.enter"],["data-cy","customerNumber"],["data-cy","userCount"]],template:function(t,i){t&1&&(C(0,Rf,1,0,"app-spinner"),r(1,"div",2)(2,"div",3)(3,"div")(4,"h1"),m(5),c(6,"transloco"),s(),g(7,"app-record-count",4),r(8,"p",5),m(9),c(10,"transloco"),c(11,"transloco"),s()(),r(12,"button",6),b("click",function(){return i.onCreateCompany()}),m(13),c(14,"transloco"),s()(),r(15,"div",7)(16,"app-table-menu",8)(17,"div",9),T(18,Uf,5,8,"ng-template",null,0,I),s()()(),r(20,"div",10)(21,"app-table",11),c(22,"async"),r(23,"div",12),T(24,Ff,2,1,"ng-template",null,1,I),s(),r(26,"div",13),T(27,Pf,2,1,"ng-template",null,1,I),s(),r(29,"div",14),T(30,Lf,2,1,"ng-template",null,1,I),s()()()()),t&2&&(v(i.isPending?0:-1),o(),fe("hide",i.isPending),o(4),_(p(6,12,"user_management.company_management.title")),o(2),u("count",i.totalCount),o(2),M(" ",(i.companyTable==null||i.companyTable.selectedRows==null?null:i.companyTable.selectedRows.length)===1?p(10,14,"search.hitlist.element_selected"):Te(11,16,"search.hitlist.elements_selected",Re(23,kf,(i.companyTable==null||i.companyTable.selectedRows==null?null:i.companyTable.selectedRows.length)??0))," "),o(4),M(" ",p(14,19,"user_management.company_management.create_company")," "),o(3),u("appTable",i.companyTable),o(5),u("items",p(22,21,i.companyCollection$)),o(2),u("sortable",!0),o(3),u("sortable",!1),o(3),u("sortable",!1))},dependencies:[V,Ae,He,Xe,he,Oe,H,X,P,bt],encapsulation:2})}}return n})();function Af(n,l){n&1&&g(0,"app-spinner")}function Of(n,l){if(n&1){let e=E();r(0,"div",7)(1,"app-checkbox",8),Ge("ngModelChange",function(i){let a=y(e).$implicit;return Ne(a.isSelected,i)||(a.isSelected=i),S(i)}),b("ngModelChange",function(i){let a=y(e).$implicit,f=d(2);return S(f.onSelectMemberCandidateChange(i,a))}),s()()}if(n&2){let e=l.$implicit;o(),u("label",e.name+" ("+e.username+")"),Ve("ngModel",e.isSelected),k("data-cy",e.username)}}function Df(n,l){if(n&1){let e=E();r(0,"div",1)(1,"div")(2,"label",3),m(3),c(4,"transloco"),s(),r(5,"input",4),c(6,"transloco"),Ge("ngModelChange",function(i){y(e);let a=d();return Ne(a.searchInputUser,i)||(a.searchInputUser=i),S(i)}),b("ngModelChange",function(i){y(e);let a=d();return S(a.onChangeSearchUser(i))}),s(),r(7,"cdk-virtual-scroll-viewport",5),b("scrolledIndexChange",function(){y(e);let i=d();return S(i.onUserScrollChanged())}),T(8,Of,2,3,"div",6),s()()()}if(n&2){let e=d();o(3),_(p(4,5,"user_management.user")),o(2),u("appAutoFocus",!0)("placeholder",p(6,7,"user_management.search_users")),Ve("ngModel",e.searchInputUser),o(3),u("cdkVirtualForOf",e.displayUsers)}}var rr=(()=>{class n{constructor(){this.modalService=h(B),this._userService=h(we),this.saveButtonText="common.save",this.isPending=!1,this.usersIsPending=!1,this.displayUsers=[],this.companyMembers=[],this.companyMemberUserCandidates=[],this._defaultSortField="surname",this._defaultSortDirection="asc",this._lastUserPage=0,this._usersLoading=!1,this._isLastUserPage=!1}ngOnInit(){this.isPending=!0,this.usersIsPending=!0,this._userService.changeSort(this._defaultSortField,this._defaultSortDirection),this._usersSubscription=this._userService.requestUsers(this._lastUserPage,15,!0).subscribe(e=>{this.displayUsers=e?.filter(t=>!this.userIsCompanyMember(t.username)).map(t=>this.toCompanyUserDto(t)),this._lastUserPage++,this.isPending=!1,this.usersIsPending=!1})}ngOnDestroy(){this._usersSubscription&&this._usersSubscription.unsubscribe()}onUserScrollChanged(){this._usersLoading||this._isLastUserPage||this.virtualScroll.measureScrollOffset("bottom")<110&&(this._usersLoading=!0,this._userService.filterFullUsers(this.searchInputUser,this._lastUserPage,15).subscribe(e=>{e.length>0?(this._lastUserPage++,this.displayUsers=this.displayUsers.concat(e.filter(t=>!this.userIsCompanyMember(t.username)).map(t=>this.toCompanyUserDto(t)))):this._isLastUserPage=!0,this._usersLoading=!1}))}onChangeSearchUser(e){this._lastInputTimeStamp=Date.now(),setTimeout(()=>{Date.now()-this._lastInputTimeStamp<500||(this._lastUserPage=0,this._userService.filterFullUsers(e,this._lastUserPage,15).subscribe(t=>{this.displayUsers=t?.filter(i=>!this.userIsCompanyMember(i.username)).map(i=>this.toCompanyUserDto(i)),this._lastUserPage++,this._isLastUserPage=!1}))},500)}onSelectMemberCandidateChange(e,t){t&&(e?this.companyMemberUserCandidates.push(t):this.companyMemberUserCandidates=this.companyMemberUserCandidates.filter(i=>i.username!==t.username))}onPassMembers(){this.modalService.close({passedUsers:this.companyMemberUserCandidates})}userIsMember(e){return this.companyMemberUserCandidates.some(t=>t.username===e)}userIsCompanyMember(e){return this.companyMembers.some(t=>t.username===e)}toCompanyUserDto(e){return{userId:e.id,name:e.surname+", "+e.forename,username:e.username,groups:e.groups,roles:e.roles.map(t=>t.name),costCenters:e.costCenters,department:e.department,isSelected:this.userIsMember(e.username)}}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275cmp=R({type:n,selectors:[["app-add-user-modal"]],viewQuery:function(t,i){if(t&1&&K(Je,5),t&2){let a;
2z(a=W())&&(i.virtualScroll=a.first)}},inputs:{saveButtonText:"saveButtonText"},decls:4,vars:3,consts:[["modalTitle","user_management.groups.add_user"],[1,"modal-body"],[3,"cancelButtonClick","saveButtonClick","saveButtonText"],["for","search-users"],["id","search-users","type","text","data-cy","searchUser",3,"ngModelChange","appAutoFocus","placeholder","ngModel"],["itemSize","30",1,"scroll-box",3,"scrolledIndexChange"],["class","list-item",4,"cdkVirtualFor","cdkVirtualForOf"],[1,"list-item"],[1,"one-line-text",3,"ngModelChange","label","ngModel"]],template:function(t,i){t&1&&(C(0,Af,1,0,"app-spinner"),g(1,"app-modal-header",0),C(2,Df,9,9,"div",1),r(3,"app-modal-footer",2),b("cancelButtonClick",function(){return i.modalService.dismiss()})("saveButtonClick",function(){return i.onPassMembers()}),s()),t&2&&(v(i.isPending?0:-1),o(2),v(i.isPending?-1:2),o(),u("saveButtonText",i.saveButtonText))},dependencies:[q,Y,$,at,yt,Pt,Je,Xe,Be,Pe,Ie,Fe,P],styles:["app-checkbox[_ngcontent-%COMP%]{display:block;min-height:2rem}"]})}}return n})();var An=class{constructor(){this.isDefaultCompany=!1,this.users=[]}};function Vf(n,l){n&1&&g(0,"app-spinner")}function Nf(n,l){if(n&1){let e=E();r(0,"button",18),c(1,"transloco"),c(2,"transloco"),b("click",function(){y(e),d();let i=N(6),a=d();return S(a.bulkRemoveUsers.emit(i.selectedRows))}),g(3,"app-icon",19),s()}n&2&&(u("ngbTooltip",p(1,2,"licenses.detail.remove_users")),k("aria-label",p(2,4,"licenses.detail.remove_users")))}function Gf(n,l){if(n&1){let e=E();r(0,"button",20),c(1,"transloco"),c(2,"transloco"),b("click",function(){let i=y(e).item,a=d(2);return S(a.removeUser.emit(i.username))}),g(3,"app-icon",21),s()}n&2&&(u("ngbTooltip",p(1,2,"user_management.unlink")),k("aria-label",p(2,4,"user_management.unlink")))}function Bf(n,l){if(n&1&&(r(0,"span",22),m(1),s()),n&2){let e=l.item;o(),_(e.name)}}function $f(n,l){if(n&1&&(r(0,"span",23),m(1),s()),n&2){let e=l.item;o(),_(e.username)}}function qf(n,l){if(n&1&&(r(0,"div",24),g(1,"app-box-list",25),s()),n&2){let e=l.item,t=d(2);o(),u("fieldValues",t.getGroupNames(e))("showTooltip",!1)}}function jf(n,l){if(n&1&&(r(0,"div",26),g(1,"app-box-list",25),s()),n&2){let e=l.item,t=d(2);o(),u("fieldValues",t.getRoleNames(e))("showTooltip",!1)}}function Hf(n,l){if(n&1&&(r(0,"span",27),m(1),s()),n&2){let e=l.item;o(),_(e.costCenters)}}function zf(n,l){if(n&1&&(r(0,"span",28),m(1),s()),n&2){let e=l.item;o(),_(e.department)}}function Wf(n,l){n&1&&(r(0,"div",17),g(1,"app-icon",29),r(2,"p",30),m(3),c(4,"transloco"),s()()),n&2&&(o(3),_(p(4,1,"user_management.users.no_users_assigned")))}function Qf(n,l){if(n&1&&(r(0,"div",6)(1,"app-table-menu",7)(2,"div",8),T(3,Nf,4,6,"ng-template",null,0,I),s()()(),r(5,"app-table",9,1)(7,"div",10),T(8,Gf,4,6,"ng-template",null,2,I),s(),r(10,"div",11),T(11,Bf,2,1,"ng-template",null,2,I),s(),r(13,"div",12),T(14,$f,2,1,"ng-template",null,2,I),s(),r(16,"div",13),T(17,qf,2,2,"ng-template",null,2,I),s(),r(19,"div",14),T(20,jf,2,2,"ng-template",null,2,I),s(),r(22,"div",15),T(23,Hf,2,1,"ng-template",null,2,I),s(),r(25,"div",16),T(26,zf,2,1,"ng-template",null,2,I),s()(),C(28,Wf,5,3,"div",17)),n&2){let e=N(6),t=d();o(),u("appTable",e),o(4),u("items",t.users),o(5),u("sortable",!0),o(18),v((t.users==null?null:t.users.length)===0?28:-1)}}var sr=(()=>{class n{constructor(){this._groupService=h(pt),this.addUser=new _e,this.bulkRemoveUsers=new _e,this.removeUser=new _e,this._groups=[],this._componentActive=!0}ngOnInit(){let e=this._groupService.groupCollection$.pipe(F(()=>ue));gi([e]).pipe(lt([void 0]),be(([t])=>{t&&(this._groups=t)}),et(()=>this._componentActive)).subscribe()}ngOnDestroy(){this._componentActive=!1}getGroupNames(e){return we.getGroupNames(this._groups,e.groups)??[]}getRoleNames(e){return e.roles??[]}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275cmp=R({type:n,selectors:[["app-add-company-users"]],inputs:{users:"users"},outputs:{addUser:"addUser",bulkRemoveUsers:"bulkRemoveUsers",removeUser:"removeUser"},decls:11,vars:7,consts:[["menuAnimatedButtons",""],["userMembersTable",""],["tableCell",""],["data-cy","userList",1,"users"],[1,"sub-header-actions"],["data-cy","addUsers","type","button",1,"btn-primary-outline",3,"click"],[1,"container-menu-pagination"],[3,"appTable"],["menu",""],["data-cy","table","id","company-user-table",3,"items"],["styleClasses","button-column","tableColumn",""],["columnText","common.name","tableColumn","",3,"sortable"],["columnText","user_management.users.username","tableColumn",""],["columnText","user_management.users.groups","tableColumn",""],["columnText","user_management.users.roles","tableColumn",""],["columnText","user_management.users.cost_centers","tableColumn",""],["columnText","user_management.users.department","tableColumn",""],[1,"no-content"],["data-cy","iconUnlinkUsers","type","button",1,"btn-menu-animated",3,"click","ngbTooltip"],["name","cross"],["type","button",1,"btn-icon",3,"click","ngbTooltip"],["data-cy","iconUnlinkUser","name","cross"],["data-cy","name"],["data-cy","username"],["data-cy","groups"],[3,"fieldValues","showTooltip"],["data-cy","roles"],["data-cy","costCenters"],["data-cy","department"],["data-cy","iconNoUsers","name","user-empty-large","sprite","icons-large",1,"icon-inactive"],["data-cy","textNoUsers"]],template:function(t,i){t&1&&(r(0,"section",3)(1,"div",4)(2,"h2"),m(3),c(4,"transloco"),s(),r(5,"button",5),b("click",function(){return i.addUser.emit()}),r(6,"span"),m(7),c(8,"transloco"),s()()(),C(9,Vf,1,0,"app-spinner")(10,Qf,29,4),s()),t&2&&(o(3),_(p(4,3,"user_management.user")),o(4),_(p(8,5,"user_management.groups.add_user")),o(2),v(i.users?10:9))},dependencies:[q,X,Ae,he,Oe,H,V,It,Xe,P],encapsulation:2})}}return n})();var Kf=["companyNameInput"];function Yf(n,l){n&1&&(m(0),c(1,"transloco")),n&2&&M(" ",p(1,1,"user_management.company_management.edit_company")," ")}function Jf(n,l){n&1&&(m(0),c(1,"transloco")),n&2&&M(" ",p(1,1,"user_management.company_management.create_company")," ")}function Xf(n,l){if(n&1){let e=E();r(0,"button",19),b("click",function(){y(e);let i=d(2);return S(i.onDeleteCompany())}),m(1),c(2,"transloco"),s()}
2n&2&&(o(),M(" ",p(2,1,"common.delete")," "))}function Zf(n,l){n&1&&g(0,"app-icon",9)}function eh(n,l){n&1&&(r(0,"span"),m(1),c(2,"transloco"),s()),n&2&&(o(),_(p(2,1,"common.save")))}function th(n,l){if(n&1&&(r(0,"div",13),m(1),s()),n&2){let e,t=d(2);o(),M(" ",(e=t.companyFormGroup.get("name"))==null?null:e.value," ")}}function ih(n,l){n&1&&(r(0,"p",21),m(1),c(2,"transloco"),s()),n&2&&(o(),M(" ",p(2,1,"common.please_fill_this_field")," "))}function nh(n,l){n&1&&(r(0,"p",21),m(1),c(2,"transloco"),s()),n&2&&(o(),M(" ",p(2,1,"user_management.company_management.company_name_already_exists")," "))}function oh(n,l){if(n&1&&(g(0,"input",20,1),C(2,ih,3,3,"p",21),C(3,nh,3,3,"p",21)),n&2){let e,t,i=d(2);u("appAutoFocus",!i.isEditMode)("appAutoFocusSelect",!0),o(2),v(i.validationTriggered&&((e=i.companyFormGroup.get("name"))!=null&&e.hasError("required"))?2:-1),o(),v(i.validationTriggered&&((t=i.companyFormGroup.get("name"))!=null&&t.hasError("nameAlreadyExists"))?3:-1)}}function ah(n,l){if(n&1){let e=E();r(0,"div",4)(1,"h1"),C(2,Yf,2,3)(3,Jf,2,3),s(),r(4,"div",5),C(5,Xf,3,3,"button",6),r(6,"button",7),b("click",function(){y(e);let i=d();return S(i.onCancel())}),m(7),c(8,"transloco"),s(),r(9,"button",8),C(10,Zf,1,0,"app-icon",9)(11,eh,3,3,"span"),s()()(),r(12,"section")(13,"h2"),m(14),c(15,"transloco"),s(),r(16,"div",10)(17,"div",11)(18,"label",12),m(19),c(20,"transloco"),s(),C(21,th,2,1,"div",13)(22,oh,4,4),s(),r(23,"div",14)(24,"label",15),m(25),c(26,"transloco"),s(),g(27,"input",16,0),s()(),r(29,"div",10)(30,"app-select",17),b("itemSelected",function(i){y(e);let a=d();return S(a.companyFormGroup.patchValue({customerNumber:i}))}),s()()(),r(31,"app-add-company-users",18),b("addUser",function(){y(e);let i=d();return S(i.onAddNewMember())})("bulkRemoveUsers",function(i){y(e);let a=d();return S(a.unlinkUserMembers(i))})("removeUser",function(i){y(e);let a=d();return S(a.unlinkUserMember(i))}),s()}if(n&2){let e=d();u("scrollToTopButton",!0),o(2),v(e.isEditMode?2:3),o(3),v(e.isEditMode&&!e.isDefaultCompany?5:-1),o(2),M(" ",p(8,12,"common.cancel")," "),o(3),v(e.isLoading?10:11),o(4),_(p(15,14,"common.properties")),o(5),_(p(20,16,"common.company_name")),o(2),v(e.isDefaultCompany?21:22),o(4),_(p(26,18,"user_management.company_management.alternative_name")),o(5),u("isMandatory",!0)("items",e.customerNumberSelectOptions),o(),u("users",e.company==null?null:e.company.users)}}var io=(()=>{class n{constructor(){this._authService=h(ot),this._feedbackService=h(oe),this._companyService=h(Di),this._modalService=h(B),this._route=h(me),this._router=h(de),this._translocoService=h(ge),this._fb=h(Ce),this.isCompanyDetailLoaded=!1,this.isEditMode=!1,this.isLoading=!1,this.validationTriggered=!1,this.company=new An,this.companyFormGroup=this._fb.group({name:[""],alias:[""],customerNumber:[null,G.required]})}ngOnInit(){let{id:e}=this._route.snapshot.params;this.isEditMode=!!e,this._tenantKey=localStorage.getItem(Ye),this.company.users=[],this.company.isDefaultCompany=!1,e?(this.isCompanyDetailLoaded=!1,this._companyService.getAllCustomerNumbersForTenant(this.getTenantId()).subscribe(t=>{this.setCustomerNumberSelectOptions(t),this._companyService.getCompanyDetail(e).subscribe(i=>{i&&(this.company=i,this.addCustomerNumberSelectOption(i.customerNumber),this.companyFormGroup.patchValue({name:i.name,alias:i.alias,customerNumber:i.customerNumber})),this.isCompanyDetailLoaded=!0})})):(this.isCompanyDetailLoaded=!1,this._companyService.getAllCustomerNumbersForTenant(this.getTenantId()).subscribe(t=>{this.setCustomerNumberSelectOptions(t),this.customerNumberSelectOptions.length>0&&this.companyFormGroup.patchValue({customerNumber:this.customerNumberSelectOptions[this.customerNumberSelectOptions.length-1].value}),this.isCompanyDetailLoaded=!0}))}onCreate(){if(this.isLoading)return;this.isLoading=!0;let e=this.companyFormGroup.getRawValue();this._createCompanyId??=cn();let t={companyId:this._createCompanyId,name:e.name,alias:e.alias,customerNumber:e.customerNumber,users:this.company.users,isDefaultCompany:!1};this._companyService.createCompany(t).pipe(Z(()=>{this.isLoading=!1,this._companyService.refreshCompanies()})).subscribe({next:()=>{this.showCreateSuccess()},error:i=>this.handleError(i)})}onSave(){if(this.isLoading)return;this.isLoading=!0;let e=this.companyFormGroup.getRawValue(),t=Ct(qe({},this.company),{name:this.isDefaultCompany?this.company.name:e.name,alias:e.alias,customerNumber:e.customerNumber,users:this.company.users,isDefaultCompany:this.company.isDefaultCompany});this._companyService.changeCompanyProperties(t).pipe(Z(()=>{this.isLoading=!1,this._companyService.refreshCompanies()})).subscribe({next:()=>{this.showEditSuccess()},error:i=>this.handleError(i)})}onSubmit(){if(!this.isLoading){if(this.validationTriggered=!0,this.companyFormGroup.get("name")?.value?.trim().length<=0){this.setCompanyNameRequiredError();return}if(this.clearCompanyNameError("required"),this.clearCompanyNameError("nameAlreadyExists"),this.companyFormGroup.invalid){this.companyFormGroup.markAllAsTouched();return}this.isEditMode?this.onSave():this.onCreate()}}onDeleteCompany(){let e=this._modalService.open(ae);e.componentInstance.isDeleteConfirmation=!0,e.componentInstance.title="user_management.company_management.delete_company",this._translocoService.selectTranslate("user_management.company_management.do_you_want_to_delete_company_x",{companyName:this.company.name}).pipe(We(1)).subscribe(t=>e.componentInstance.text=t),e.result.then(t=>{t?.preset&&this._companyService.removeCompanies([this.company.companyId]).subscribe({next:()=>{this.showDeleteSuccess()},error:i=>this.handleError(i)})})}onCancel(){this._router.navigate([`${this._tenantKey}/companies`])}onAddNewMember(){let e=this._modalService.open(rr);e.componentInstance.saveButtonText="common.adopt";let t=[...this.company.users];e.componentInstance.companyMemberUserCandidates=[],e.componentInstance.companyMembers=[...t],e.result.then(i=>{if(i?.passedUsers){let a=new Set(this.company.users.map(x=>x.username)),f=i.passedUsers.filter(x=>!a.has(x.username));this.company.users=[...this.company.users,...f]}},()=>{})}unlinkUserMember(e){this.company.users=this.company.users.filter(t=>t.username!==e)}unlinkUserMembers(e){let t=e.map(i=>i.item);this.company.users=this.company.users.filter(i=>!t.includes(i))}setCompanyNameAlreadyExistsError(){let e=this.companyFormGroup.get("name");e?.setErrors(Ct(qe({},e.errors),{nameAlreadyExists:!0})),e?.markAsTouched(),setTimeout(()=>{this._companyNameInput?.nativeElement.focus()})}get isDefaultCompany(){return!!this.company?.isDefaultCompany}setCompanyNameRequiredError(){let e=this.companyFormGroup.get("name");e?.setErrors(Ct(qe({},e.errors),{required:!0})),e?.markAsTouched(),setTimeout(()=>{this._companyNameInput?.nativeElement.focus()})}clearCompanyNameError(e){let t=this.companyFormGroup.get("name");if(!t?.errors?.[e])return;let i=qe({},t.errors);delete i[e],t.setErrors(Object.keys(i).length>0?i:null)}setCustomerNumberSelectOptions(e){this.customerNumberSelectOptions=e.map(t=>({text:t,value:t}))}addCustomerNumberSelectOption(e){!e||this.customerNumberSelectOptions.some(t=>t.value===e)||this.customerNumberSelectOptions.push({text:e,value:e})}showDeleteSuccess(){this._feedbackService.showSuccessModal("user_management.company_management.company_
2successfully_deleted",`${this._tenantKey}/companies`)}showEditSuccess(){this._feedbackService.showSuccessModal("user_management.company_management.company_successfully_edited",`${this._tenantKey}/companies`)}showCreateSuccess(){this._feedbackService.showSuccessModal("user_management.company_management.company_successfully_created",`${this._tenantKey}/companies`)}getTenantId(){return this._authService.userInfo.tenantId}handleError(e){if(e.status===Xt.CONFLICT)switch(e.error?.code){case kt.AliasAlreadyExists:this._feedbackService.showInfoModal("user_management.company_management.company_failed_title","user_management.company_management.company_alias_already_exists");return;case kt.DefaultCompanyRename:this._feedbackService.showInfoModal("user_management.company_management.company_failed_title","user_management.company_management.company_conflict_default_company_name");return;case kt.DefaultCompanyUserDelete:this._feedbackService.showInfoModal("user_management.company_management.company_failed_title","user_management.company_management.company_conflict_default_company_user");return;case kt.NameAlreadyExists:this.setCompanyNameAlreadyExistsError();return;case kt.UsersAssigned:this._feedbackService.showInfoModal("user_management.company_management.delete_company_not_possible_title","user_management.company_management.delete_company_conflict_users_assigned");return;case kt.DefaultCompany:this._feedbackService.showInfoModal("user_management.company_management.delete_company_not_possible_title","user_management.company_management.delete_company_conflict_default_company");return;case kt.LastCompany:this._feedbackService.showInfoModal("user_management.company_management.delete_company_not_possible_title","user_management.company_management.delete_company_conflict_last_company");return}this._feedbackService.showErrorModal()}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275cmp=R({type:n,selectors:[["app-company-detail"]],viewQuery:function(t,i){if(t&1&&K(Kf,5),t&2){let a;
2z(a=W())&&(i._companyNameInput=a.first)}},decls:3,vars:3,consts:[["companyAliasInput",""],["companyNameInput",""],[3,"ngSubmit","formGroup","focusInvalidInput"],[1,"detail-container"],[1,"header",3,"scrollToTopButton"],[1,"buttons"],["type","button","data-cy","deleteCompany",1,"btn-alert"],["type","button","data-cy","cancelCompany",1,"btn-primary-outline",3,"click"],["type","submit","data-cy","saveCompany",1,"btn-primary"],["name","loading-spinner"],[1,"content-row"],[1,"company-name"],["for","company-name",1,"mandatory"],["id","company-name","data-cy","companyName",1,"readonly-value"],[1,"company-alias"],["for","company-alias"],["data-cy","companyAlias","id","company-alias","type","text","formControlName","alias"],["label","common.customer_number","id","customer-number","formControlName","customerNumber","data-cy","customerNumber",3,"itemSelected","isMandatory","items"],[3,"addUser","bulkRemoveUsers","removeUser","users"],["type","button","data-cy","deleteCompany",1,"btn-alert",3,"click"],["data-cy","companyName","id","company-name","type","text","formControlName","name",3,"appAutoFocus","appAutoFocusSelect"],[1,"text-alert","ng-star-inserted"]],template:function(t,i){t&1&&(r(0,"form",2),b("ngSubmit",function(){return i.isLoading?null:i.onSubmit()}),r(1,"div",3),C(2,ah,32,20),s()()),t&2&&(u("formGroup",i.companyFormGroup)("focusInvalidInput",!0),o(2),v(i.isCompanyDetailLoaded?2:-1))},dependencies:[sr,Be,At,V,pe,ne,Y,$,J,te,ee,Ii,mt,q,P],styles:[".content-row[_ngcontent-%COMP%]{display:flex;gap:var(--spacer);flex-wrap:wrap;margin-bottom:var(--spacer);max-width:50rem}.content-row[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]{flex:1}@media(width<=75rem){.content-row[_ngcontent-%COMP%]{flex:45%}}@media(width<=36rem){.content-row[_ngcontent-%COMP%]{flex-direction:column;width:100%}}.content-row[_ngcontent-%COMP%] .company-name[_ngcontent-%COMP%]{position:relative}.content-row[_ngcontent-%COMP%] .license-type[_ngcontent-%COMP%]{align-items:center;display:flex;gap:calc(var(--spacer) / 2)}app-add-users[_ngcontent-%COMP%], section[_ngcontent-%COMP%]:not(:last-child){border-bottom:var(--border);padding-bottom:var(--spacer)}.text-alert[_ngcontent-%COMP%]{position:static}.btn-primary-outline[aria-invalid=true][_ngcontent-%COMP%]{border:1px solid var(--color-alert)}"]})}}return n})();var rh=[{path:":tenant/users",component:Ka,canActivate:[xe],data:{permissions:[Q.USER_PANEL]},children:[{path:"",component:Qa},{path:"create",component:Xn,canActivate:[xe],data:{permissions:[Q.USER_PANEL]}},{path:"user/:id",component:Xn,canActivate:[xe],data:{permissions:[Q.USER_PANEL]}}]},{path:":tenant/locations",component:va,canActivate:[xe],data:{permissions:[Q.GROUP_PANEL]},children:[{path:"",component:Ca,canActivate:[xe],data:{permissions:[Q.GROUP_PANEL]}},{path:"create",component:Wn,canActivate:[xe],data:{permissions:[Q.GROUP_PANEL]}},{path:"location/:id",component:Wn,canActivate:[xe],data:{permissions:[Q.GROUP_PANEL]}}]},{path:":tenant/companies",component:or,canActivate:[xe],data:{permissions:[Q.COMPANY_PANEL]},children:[{path:"",component:ar},{path:"create",component:io,canActivate:[xe],data:{permissions:[Q.COMPANY_PANEL]}},{path:"company/:id",component:io,canActivate:[xe],data:{permissions:[Q.COMPANY_PANEL]}}]},{path:":tenant/groups",component:la,canActivate:[xe],data:{permissions:[Q.GROUP_PANEL]},children:[{path:"",component:sa,canActivate:[xe],data:{permissions:[Q.GROUP_PANEL]}},{path:"create",component:qn,canActivate:[xe],data:{permissions:[Q.GROUP_PANEL]}},{path:"group/:id",component:qn,canActivate:[xe],data:{permissions:[Q.GROUP_PANEL]}}]},{path:":tenant/settings",component:Aa,canActivate:[xe],data:{permissions:[Q.SETTINGS_ADMIN]},children:[{path:"",redirectTo:"login-options",pathMatch:"full"},{path:"login-options",component:ya,canActivate:[xe],canDeactivate:[Vt],data:{permissions:[Q.SETTINGS_ADMIN]}},{path:"ip-ranges",component:fa,canActivate:[xe],data:{permissions:[Q.SETTINGS_ADMIN]}},{path:"ip-ranges/create",component:jn,canActivate:[xe],data:{permissions:[Q.SETTINGS_ADMIN]}},{path:"ip-ranges/:id",component:jn,canActivate:[xe],data:{permissions:[Q.SETTINGS_ADMIN]}},{path:"sso/v1",component:Za,canActivate:[xe],canDeactivate:[Vt],data:{permissions:[Q.SETTINGS_ADMIN]}},{path:"sso/v1/create",component:eo,canActivate:[xe],canDeactivate:[Vt],data:{permissions:[Q.SETTINGS_ADMIN]}},{path:"sso/v1/:id",component:eo,canActivate:[xe],canDeactivate:[Vt],data:{permissions:[Q.GROUP_PANEL,Q.SETTINGS_ADMIN]}},{path:"sso/ldap",component:Pa,canActivate:[xe],canDeactivate:[Vt],data:{permissions:[Q.SETTINGS_ADMIN]}},{path:"sso/ldap/create",component:Yn,canActivate:[xe],canDeactivate:[Vt],data:{permissions:[Q.SETTINGS_ADMIN]}},{path:"sso/ldap/:id",component:Yn,canActivate:[xe],canDeactivate:[Vt],data:{permissions:[Q.SETTINGS_ADMIN]}},{path:"sso/v2",component:nr,canActivate:[xe],canDeactivate:[Vt],data:{permissions:[Q.SETTINGS_ADMIN]}},{path:"sso/v2/create",component:to,canActivate:[xe],canDeactivate:[Vt],data:{permissions:[Q.SETTINGS_ADMIN]}},{path:"sso/v2/:id",component:to,canActivate:[xe],canDeactivate:[Vt],data:{permissions:[Q.SETTINGS_ADMIN]}},{path:"logging",component:Ja,canActivate:[xe],canDeactivate:[Vt],data:{permissions:[Q.SETTINGS_ADMIN]}},{path:"proxy",component:ka,canActivate:[xe],data:{permissions:[Q.SETTINGS_ADMIN]}},{path:"reqif",component:Ua,canActivate:[xe],data:{permissions:[Q.SETTINGS_ADMIN]}}
2,{path:"order-management",component:wa,canActivate:[xe],data:{permissions:[Q.SETTINGS_ADMIN]}},{path:"order-management/managementgroup/:id",component:Qn,canActivate:[xe],data:{permissions:[Q.SETTINGS_ADMIN]}},{path:"order-management/managementgroup",component:Qn,canActivate:[xe],data:{permissions:[Q.SETTINGS_ADMIN]}},{path:"role-management",component:Fa,canActivate:[xe],data:{permissions:[Q.SETTINGS_ADMIN]}},{path:"role-management/create",component:Kn,canActivate:[xe],data:{permissions:[Q.SETTINGS_ADMIN]}},{path:"role-management/:id",component:Kn,canActivate:[xe],data:{permissions:[Q.GROUP_PANEL,Q.SETTINGS_ADMIN]}}]},{path:":tenant/statistics",component:Na,canActivate:[xe],data:{permissions:[Q.USER_PANEL,Q.STATISTICTS_PANEL]},children:[]}],lr=(()=>{class n{static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275mod=Ji({type:n})}static{this.\u0275inj=Yi({imports:[Et.forChild(rh),Et]})}}return n})();var OD=(()=>{class n{static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275mod=Ji({type:n})}static{this.\u0275inj=Yi({providers:[Pi],imports:[Wo,lr,q]})}}return n})();export{Ba as a,Ga as b,Tt as c,Vt as d,It as e,Sa as f,xa as g,Ta as h,Va as i,OD as j};
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.