diff --git a/server/src/uds/REST/methods/authenticators.py b/server/src/uds/REST/methods/authenticators.py index 0f56f0284..63d905a81 100644 --- a/server/src/uds/REST/methods/authenticators.py +++ b/server/src/uds/REST/methods/authenticators.py @@ -97,6 +97,7 @@ class Authenticators(ModelHandler): label_password=_(type_.label_password), create_users_supported=type_.create_user != auths.Authenticator.create_user, is_external=type_.external_source, + mfa_data_enabled=type_.mfa_data_enabled, mfa_supported=type_.provides_mfa(), ) # Not of my type diff --git a/server/src/uds/auths/IP/authenticator.py b/server/src/uds/auths/IP/authenticator.py index 84b80d201..c8824ee9d 100644 --- a/server/src/uds/auths/IP/authenticator.py +++ b/server/src/uds/auths/IP/authenticator.py @@ -37,6 +37,7 @@ import typing from django.utils.translation import gettext_noop as _ from uds.core import auths, types +from uds.core.types.states import State from uds.core.ui import gui from uds.core.util import net @@ -52,13 +53,15 @@ class IPAuth(auths.Authenticator): type_description = _('IP Authenticator') icon_file = 'auth.png' + # Allow mfa data on user form + mfa_data_enabled = True + needs_password = False label_username = _('IP') label_groupname = _('IP Range') block_user_on_failures = False - accepts_proxy = gui.CheckBoxField( label=_('Accept proxy'), default=False, @@ -90,6 +93,13 @@ class IPAuth(auths.Authenticator): ip = ip.split(':')[-1] return ip + def mfa_identifier(self, username: str) -> str: + try: + return self.db_obj().users.get(name=username.lower(), state=State.ACTIVE).mfa_data + except Exception: # nosec: This is a "not found" exception or any other db exception + pass + return '' + def get_groups(self, username: str, groups_manager: 'auths.GroupsManager') -> None: # these groups are a bit special. They are in fact ip-ranges, and we must check that the ip is in betwen # The ranges are stored in group names @@ -138,12 +148,14 @@ class IPAuth(auths.Authenticator): self.get_groups(ip, gm) if gm.has_valid_groups() and self.db_obj().is_user_allowed(ip, True): - return ('function setVal(element, value) {{\n' # nosec: no user input, password is always EMPTY - ' document.getElementById(element).value = value;\n' - '}}\n' - f'setVal("id_user", "{ip}");\n' - 'setVal("id_password", "");\n' - 'document.getElementById("loginform").submit();\n') + return ( + 'function setVal(element, value) {{\n' # nosec: no user input, password is always EMPTY + ' document.getElementById(element).value = value;\n' + '}}\n' + f'setVal("id_user", "{ip}");\n' + 'setVal("id_password", "");\n' + 'document.getElementById("loginform").submit();\n' + ) return 'alert("invalid authhenticator"); window.location.reload();' diff --git a/server/src/uds/auths/InternalDB/authenticator.py b/server/src/uds/auths/InternalDB/authenticator.py index 3a719c9b1..5b5d9d990 100644 --- a/server/src/uds/auths/InternalDB/authenticator.py +++ b/server/src/uds/auths/InternalDB/authenticator.py @@ -66,6 +66,9 @@ class InternalDBAuth(auths.Authenticator): # This is the only internal source external_source = False + # Allow mfa data on user form + mfa_data_enabled = True + unique_by_host = gui.CheckBoxField( label=_('Different user for each host'), order=1, @@ -99,7 +102,8 @@ class InternalDBAuth(auths.Authenticator): ip = request.ip_proxy if self.accepts_proxy.as_bool() else request.ip # pylint: disable=maybe-no-member if self.reverse_dns.as_bool(): try: - return str(dns.resolver.query(dns.reversename.from_address(ip).to_text(), 'PTR')[0]) # pyright: ignore[reportUnknownArgumentType] + ptr_resolv = dns.resolver.query(dns.reversename.from_address(ip).to_text(), 'PTR') + return str(ptr_resolv[0]) # pyright: ignore[reportUnknownArgumentType] except Exception: # if we can't get the reverse, we will use the ip pass @@ -108,7 +112,7 @@ class InternalDBAuth(auths.Authenticator): def mfa_identifier(self, username: str) -> str: try: return self.db_obj().users.get(name=username.lower(), state=State.ACTIVE).mfa_data - except Exception: # nosec: This is e controled pickle loading + except Exception: # nosec: This is a "not found" exception or any other db exception pass return '' @@ -127,7 +131,9 @@ class InternalDBAuth(auths.Authenticator): usr = auth.users.get(name=username, state=State.ACTIVE) parent = usr.uuid grps = [g for g in usr.groups.all()] - typing.cast(typing.Any, usr).id = typing.cast(typing.Any, usr).uuid = None # cast to avoid pylance error + typing.cast(typing.Any, usr).id = typing.cast(typing.Any, usr).uuid = ( + None # cast to avoid pylance error + ) if usr.real_name.strip() == '': usr.real_name = usr.name usr.name = ip_username diff --git a/server/src/uds/core/auths/authenticator.py b/server/src/uds/core/auths/authenticator.py index 6d7466a83..a7c10f00e 100644 --- a/server/src/uds/core/auths/authenticator.py +++ b/server/src/uds/core/auths/authenticator.py @@ -136,6 +136,9 @@ class Authenticator(Module): # : database, that are most authenticator (except Internal DB) # : So, external_source means that "user is kept at database only" external_source: typing.ClassVar[bool] = True + + # : Mark this authenticator as mfa data enabled (so mfa field appears on the user) + mfa_data_enabled: typing.ClassVar[bool] = False # : If we need to enter the password for this user when creating a new # : user at administration interface. Used basically by internal authenticator. diff --git a/server/src/uds/core/types/rest.py b/server/src/uds/core/types/rest.py index 611092db4..274e98221 100644 --- a/server/src/uds/core/types/rest.py +++ b/server/src/uds/core/types/rest.py @@ -52,6 +52,7 @@ class AuthenticatorTypeInfo(ExtraTypeInfo): label_password: str create_users_supported: bool is_external: bool + mfa_data_enabled: bool mfa_supported: bool def as_dict(self) -> TypeInfoDict: diff --git a/server/src/uds/static/admin/main.js b/server/src/uds/static/admin/main.js index 5ef3dd1fe..ecd94a0fd 100644 --- a/server/src/uds/static/admin/main.js +++ b/server/src/uds/static/admin/main.js @@ -14,7 +14,7 @@ ${e.map((t,o)=>`${o+1}) ${t.toString()}`).join(` `,tA=n=>(n.changingThisBreaksApplicationSecurity!==void 0&&(n=n.changingThisBreaksApplicationSecurity.replace(/<.*>/g,"")),n=""+n,'"'+n.replace('"','""')+'"'),ig=n=>{let i="";n.columns.forEach(o=>{i+=tA(o.title)+Jk}),i=i.slice(0,-1)+eA;let e=n.dataSource.data;for(let o of e){for(let r of n.columns){let a=o[r.name];switch(r.type){case _n.DATE:a=qn("SHORT_DATE_FORMAT",a);break;case _n.DATETIME:a=qn("SHORT_DATETIME_FORMAT",a);break;case _n.DATETIMESEC:a=qn("SHORT_DATE_FORMAT",a," H:i:s");break;case _n.TIME:a=qn("TIME_FORMAT",a);break;default:break}i+=tA(a)+Jk}i=i.slice(0,-1)+eA}let t=new Blob([i],{type:kW});setTimeout(()=>{(0,nA.saveAs)(t,n.title+".csv",{autoBom:!1})})};var dw=class{_document;_textarea;constructor(i,e){this._document=e;let t=this._textarea=this._document.createElement("textarea"),o=t.style;o.position="fixed",o.top=o.opacity="0",o.left="-999em",t.setAttribute("aria-hidden","true"),t.value=i,t.readOnly=!0,(this._document.fullscreenElement||this._document.body).appendChild(t)}copy(){let i=this._textarea,e=!1;try{if(i){let t=this._document.activeElement;i.select(),i.setSelectionRange(0,i.value.length),e=this._document.execCommand("copy"),t&&t.focus()}}catch{}return e}destroy(){let i=this._textarea;i&&(i.remove(),this._textarea=void 0)}},iA=(()=>{class n{_document=h(de);constructor(){}copy(e){let t=this.beginCopy(e),o=t.copy();return t.destroy(),o}beginCopy(e){return new dw(e,this._document)}static \u0275fac=function(t){return new(t||n)};static \u0275prov=P({token:n,factory:n.\u0275fac,providedIn:"root"})}return n})();var oA=(()=>{class n{static \u0275fac=function(t){return new(t||n)};static \u0275mod=J({type:n});static \u0275inj=X({})}return n})();var RW=["mat-menu-item",""],OW=[[["mat-icon"],["","matMenuItemIcon",""]],"*"],PW=["mat-icon, [matMenuItemIcon]","*"];function FW(n,i){n&1&&(fn(),c(0,"svg",2),M(1,"polygon",3),d())}var NW=["*"];function LW(n,i){if(n&1){let e=k();c(0,"div",0),b("click",function(){y(e);let o=_();return w(o.closed.emit("click"))})("@transformMenu.start",function(o){y(e);let r=_();return w(r._onAnimationStart(o))})("@transformMenu.done",function(o){y(e);let r=_();return w(r._onAnimationDone(o))}),c(1,"div",1),re(2),d()()}if(n&2){let e=_();Yt(e._classList),p("id",e.panelId)("@transformMenu",e._panelAnimationState),ee("aria-label",e.ariaLabel||null)("aria-labelledby",e.ariaLabelledby||null)("aria-describedby",e.ariaDescribedby||null)}}var uw=new R("MAT_MENU_PANEL"),_s=(()=>{class n{_elementRef=h(Q);_document=h(de);_focusMonitor=h(Pn);_parentMenu=h(uw,{optional:!0});_changeDetectorRef=h(Ee);role="menuitem";disabled=!1;disableRipple=!1;_hovered=new j;_focused=new j;_highlighted=!1;_triggersSubmenu=!1;constructor(){h(Mt).load(Dn),this._parentMenu?.addItem?.(this)}focus(e,t){this._focusMonitor&&e?this._focusMonitor.focusVia(this._getHostElement(),e,t):this._getHostElement().focus(t),this._focused.next(this)}ngAfterViewInit(){this._focusMonitor&&this._focusMonitor.monitor(this._elementRef,!1)}ngOnDestroy(){this._focusMonitor&&this._focusMonitor.stopMonitoring(this._elementRef),this._parentMenu&&this._parentMenu.removeItem&&this._parentMenu.removeItem(this),this._hovered.complete(),this._focused.complete()}_getTabIndex(){return this.disabled?"-1":"0"}_getHostElement(){return this._elementRef.nativeElement}_checkDisabled(e){this.disabled&&(e.preventDefault(),e.stopPropagation())}_handleMouseEnter(){this._hovered.next(this)}getLabel(){let e=this._elementRef.nativeElement.cloneNode(!0),t=e.querySelectorAll("mat-icon, .material-icons");for(let o=0;o{class n{_template=h(wt);_appRef=h(fi);_injector=h(Ae);_viewContainerRef=h(kt);_document=h(de);_changeDetectorRef=h(Ee);_portal;_outlet;_attached=new j;constructor(){}attach(e={}){this._portal||(this._portal=new On(this._template,this._viewContainerRef)),this.detach(),this._outlet||(this._outlet=new Ml(this._document.createElement("div"),null,this._appRef,this._injector));let t=this._template.elementRef.nativeElement;t.parentNode.insertBefore(this._outlet.outletElement,t),this._changeDetectorRef.markForCheck(),this._portal.attach(this._outlet,e),this._attached.next()}detach(){this._portal.isAttached&&this._portal.detach()}ngOnDestroy(){this._outlet&&this._outlet.dispose()}static \u0275fac=function(t){return new(t||n)};static \u0275dir=N({type:n,selectors:[["ng-template","matMenuContent",""]],features:[ye([{provide:aA,useExisting:n}])]})}return n})(),og={transformMenu:mn("transformMenu",[Ft("void",Me({opacity:0,transform:"scale(0.8)"})),xt("void => enter",It("120ms cubic-bezier(0, 0, 0.2, 1)",Me({opacity:1,transform:"scale(1)"}))),xt("* => void",It("100ms 25ms linear",Me({opacity:0})))]),fadeInItems:mn("fadeInItems",[Ft("showing",Me({opacity:1})),xt("void => *",[Me({opacity:0}),It("400ms 100ms cubic-bezier(0.55, 0, 0.55, 0.2)")])])},Ufe=og.fadeInItems,Hfe=og.transformMenu,VW=new R("mat-menu-default-options",{providedIn:"root",factory:BW});function BW(){return{overlapTrigger:!1,xPosition:"after",yPosition:"below",backdropClass:"cdk-overlay-transparent-backdrop"}}var jr=(()=>{class n{_elementRef=h(Q);_changeDetectorRef=h(Ee);_keyManager;_xPosition;_yPosition;_firstItemFocusRef;_allItems;_directDescendantItems=new Ji;_classList={};_panelAnimationState="void";_animationDone=new j;_isAnimating;parentMenu;direction;overlayPanelClass;backdropClass;ariaLabel;ariaLabelledby;ariaDescribedby;get xPosition(){return this._xPosition}set xPosition(e){this._xPosition=e,this.setPositionClasses()}get yPosition(){return this._yPosition}set yPosition(e){this._yPosition=e,this.setPositionClasses()}templateRef;items;lazyContent;overlapTrigger;hasBackdrop;set panelClass(e){let t=this._previousPanelClass,o=L({},this._classList);t&&t.length&&t.split(" ").forEach(r=>{o[r]=!1}),this._previousPanelClass=e,e&&e.length&&(e.split(" ").forEach(r=>{o[r]=!0}),this._elementRef.nativeElement.className=""),this._classList=o}_previousPanelClass;get classList(){return this.panelClass}set classList(e){this.panelClass=e}closed=new T;close=this.closed;panelId=h(ft).getId("mat-menu-panel-");_injector=h(Ae);constructor(){let e=h(VW);this.overlayPanelClass=e.overlayPanelClass||"",this._xPosition=e.xPosition,this._yPosition=e.yPosition,this.backdropClass=e.backdropClass,this.overlapTrigger=e.overlapTrigger,this.hasBackdrop=e.hasBackdrop}ngOnInit(){this.setPositionClasses()}ngAfterContentInit(){this._updateDirectDescendants(),this._keyManager=new ga(this._directDescendantItems).withWrap().withTypeAhead().withHomeAndEnd(),this._keyManager.tabOut.subscribe(()=>this.closed.emit("tab")),this._directDescendantItems.changes.pipe(Et(this._directDescendantItems),Tt(e=>yt(...e.map(t=>t._focused)))).subscribe(e=>this._keyManager.updateActiveItem(e)),this._directDescendantItems.changes.subscribe(e=>{let t=this._keyManager;if(this._panelAnimationState==="enter"&&t.activeItem?._hasFocus()){let o=e.toArray(),r=Math.max(0,Math.min(o.length-1,t.activeItemIndex||0));o[r]&&!o[r].disabled?t.setActiveItem(r):t.setNextItemActive()}})}ngOnDestroy(){this._keyManager?.destroy(),this._directDescendantItems.destroy(),this.closed.complete(),this._firstItemFocusRef?.destroy()}_hovered(){return this._directDescendantItems.changes.pipe(Et(this._directDescendantItems),Tt(t=>yt(...t.map(o=>o._hovered))))}addItem(e){}removeItem(e){}_handleKeydown(e){let t=e.keyCode,o=this._keyManager;switch(t){case 27:Ot(e)||(e.preventDefault(),this.closed.emit("keydown"));break;case 37:this.parentMenu&&this.direction==="ltr"&&this.closed.emit("keydown");break;case 39:this.parentMenu&&this.direction==="rtl"&&this.closed.emit("keydown");break;default:(t===38||t===40)&&o.setFocusOrigin("keyboard"),o.onKeydown(e);return}}focusFirstItem(e="program"){this._firstItemFocusRef?.destroy(),this._firstItemFocusRef=nn(()=>{let t=null;if(this._directDescendantItems.length&&(t=this._directDescendantItems.first._getHostElement().closest('[role="menu"]')),!t||!t.contains(document.activeElement)){let o=this._keyManager;o.setFocusOrigin(e).setFirstItemActive(),!o.activeItem&&t&&t.focus()}},{injector:this._injector})}resetActiveItem(){this._keyManager.setActiveItem(-1)}setElevation(e){}setPositionClasses(e=this.xPosition,t=this.yPosition){this._classList=Qe(L({},this._classList),{"mat-menu-before":e==="before","mat-menu-after":e==="after","mat-menu-above":t==="above","mat-menu-below":t==="below"}),this._changeDetectorRef.markForCheck()}_startAnimation(){this._panelAnimationState="enter"}_resetAnimation(){this._panelAnimationState="void"}_onAnimationDone(e){this._animationDone.next(e),this._isAnimating=!1}_onAnimationStart(e){this._isAnimating=!0,e.toState==="enter"&&this._keyManager.activeItemIndex===0&&(e.element.scrollTop=0)}_updateDirectDescendants(){this._allItems.changes.pipe(Et(this._allItems)).subscribe(e=>{this._directDescendantItems.reset(e.filter(t=>t._parentMenu===this)),this._directDescendantItems.notifyOnChanges()})}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=E({type:n,selectors:[["mat-menu"]],contentQueries:function(t,o,r){if(t&1&&(He(r,aA,5),He(r,_s,5),He(r,_s,4)),t&2){let a;$(a=q())&&(o.lazyContent=a.first),$(a=q())&&(o._allItems=a),$(a=q())&&(o.items=a)}},viewQuery:function(t,o){if(t&1&&se(wt,5),t&2){let r;$(r=q())&&(o.templateRef=r.first)}},hostVars:3,hostBindings:function(t,o){t&2&&ee("aria-label",null)("aria-labelledby",null)("aria-describedby",null)},inputs:{backdropClass:"backdropClass",ariaLabel:[0,"aria-label","ariaLabel"],ariaLabelledby:[0,"aria-labelledby","ariaLabelledby"],ariaDescribedby:[0,"aria-describedby","ariaDescribedby"],xPosition:"xPosition",yPosition:"yPosition",overlapTrigger:[2,"overlapTrigger","overlapTrigger",G],hasBackdrop:[2,"hasBackdrop","hasBackdrop",e=>e==null?null:G(e)],panelClass:[0,"class","panelClass"],classList:"classList"},outputs:{closed:"closed",close:"close"},exportAs:["matMenu"],features:[ye([{provide:uw,useExisting:n}]),ce],ngContentSelectors:NW,decls:1,vars:0,consts:[["tabindex","-1","role","menu",1,"mat-mdc-menu-panel",3,"click","id"],[1,"mat-mdc-menu-content"]],template:function(t,o){t&1&&(We(),x(0,LW,3,7,"ng-template"))},styles:['mat-menu{display:none}.mat-mdc-menu-content{margin:0;padding:8px 0;outline:0}.mat-mdc-menu-content,.mat-mdc-menu-content .mat-mdc-menu-item .mat-mdc-menu-item-text{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;flex:1;white-space:normal;font-family:var(--mat-menu-item-label-text-font, var(--mat-sys-label-large-font));line-height:var(--mat-menu-item-label-text-line-height, var(--mat-sys-label-large-line-height));font-size:var(--mat-menu-item-label-text-size, var(--mat-sys-label-large-size));letter-spacing:var(--mat-menu-item-label-text-tracking, var(--mat-sys-label-large-tracking));font-weight:var(--mat-menu-item-label-text-weight, var(--mat-sys-label-large-weight))}.mat-mdc-menu-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;box-sizing:border-box;outline:0;border-radius:var(--mat-menu-container-shape, var(--mat-sys-corner-extra-small));background-color:var(--mat-menu-container-color, var(--mat-sys-surface-container));box-shadow:var(--mat-menu-container-elevation-shadow, 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12));will-change:transform,opacity}.mat-mdc-menu-panel.ng-animating{pointer-events:none}.mat-mdc-menu-panel.ng-animating:has(.mat-mdc-menu-content:empty){display:none}@media(forced-colors: active){.mat-mdc-menu-panel{outline:solid 1px}}.mat-mdc-menu-panel .mat-divider{color:var(--mat-menu-divider-color, var(--mat-sys-surface-variant));margin-bottom:var(--mat-menu-divider-bottom-spacing, 8px);margin-top:var(--mat-menu-divider-top-spacing, 8px)}.mat-mdc-menu-item{display:flex;position:relative;align-items:center;justify-content:flex-start;overflow:hidden;padding:0;cursor:pointer;width:100%;text-align:left;box-sizing:border-box;color:inherit;font-size:inherit;background:none;text-decoration:none;margin:0;min-height:48px;padding-left:var(--mat-menu-item-leading-spacing, 12px);padding-right:var(--mat-menu-item-trailing-spacing, 12px);-webkit-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-mdc-menu-item::-moz-focus-inner{border:0}[dir=rtl] .mat-mdc-menu-item{padding-left:var(--mat-menu-item-trailing-spacing, 12px);padding-right:var(--mat-menu-item-leading-spacing, 12px)}.mat-mdc-menu-item:has(.material-icons,mat-icon,[matButtonIcon]){padding-left:var(--mat-menu-item-with-icon-leading-spacing, 12px);padding-right:var(--mat-menu-item-with-icon-trailing-spacing, 12px)}[dir=rtl] .mat-mdc-menu-item:has(.material-icons,mat-icon,[matButtonIcon]){padding-left:var(--mat-menu-item-with-icon-trailing-spacing, 12px);padding-right:var(--mat-menu-item-with-icon-leading-spacing, 12px)}.mat-mdc-menu-item,.mat-mdc-menu-item:visited,.mat-mdc-menu-item:link{color:var(--mat-menu-item-label-text-color, var(--mat-sys-on-surface))}.mat-mdc-menu-item .mat-icon-no-color,.mat-mdc-menu-item .mat-mdc-menu-submenu-icon{color:var(--mat-menu-item-icon-color, var(--mat-sys-on-surface-variant))}.mat-mdc-menu-item[disabled]{cursor:default;opacity:.38}.mat-mdc-menu-item[disabled]::after{display:block;position:absolute;content:"";top:0;left:0;bottom:0;right:0}.mat-mdc-menu-item:focus{outline:0}.mat-mdc-menu-item .mat-icon{flex-shrink:0;margin-right:var(--mat-menu-item-spacing, 12px);height:var(--mat-menu-item-icon-size, 24px);width:var(--mat-menu-item-icon-size, 24px)}[dir=rtl] .mat-mdc-menu-item{text-align:right}[dir=rtl] .mat-mdc-menu-item .mat-icon{margin-right:0;margin-left:var(--mat-menu-item-spacing, 12px)}.mat-mdc-menu-item:not([disabled]):hover{background-color:var(--mat-menu-item-hover-state-layer-color, color-mix(in srgb, var(--mat-sys-on-surface) calc(var(--mat-sys-hover-state-layer-opacity) * 100%), transparent))}.mat-mdc-menu-item:not([disabled]).cdk-program-focused,.mat-mdc-menu-item:not([disabled]).cdk-keyboard-focused,.mat-mdc-menu-item:not([disabled]).mat-mdc-menu-item-highlighted{background-color:var(--mat-menu-item-focus-state-layer-color, color-mix(in srgb, var(--mat-sys-on-surface) calc(var(--mat-sys-focus-state-layer-opacity) * 100%), transparent))}@media(forced-colors: active){.mat-mdc-menu-item{margin-top:1px}}.mat-mdc-menu-submenu-icon{width:var(--mat-menu-item-icon-size, 24px);height:10px;fill:currentColor;padding-left:var(--mat-menu-item-spacing, 12px)}[dir=rtl] .mat-mdc-menu-submenu-icon{padding-right:var(--mat-menu-item-spacing, 12px);padding-left:0}[dir=rtl] .mat-mdc-menu-submenu-icon polygon{transform:scaleX(-1);transform-origin:center}@media(forced-colors: active){.mat-mdc-menu-submenu-icon{fill:CanvasText}}.mat-mdc-menu-item .mat-mdc-menu-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}'],encapsulation:2,data:{animation:[og.transformMenu,og.fadeInItems]},changeDetection:0})}return n})(),lA=new R("mat-menu-scroll-strategy",{providedIn:"root",factory:()=>{let n=h(Lt);return()=>n.scrollStrategies.reposition()}});function jW(n){return()=>n.scrollStrategies.reposition()}var zW={provide:lA,deps:[Lt],useFactory:jW},rA=Wn({passive:!0});var rg=(()=>{class n{_overlay=h(Lt);_element=h(Q);_viewContainerRef=h(kt);_menuItemInstance=h(_s,{optional:!0,self:!0});_dir=h(jt,{optional:!0});_focusMonitor=h(Pn);_ngZone=h(te);_scrollStrategy=h(lA);_changeDetectorRef=h(Ee);_portal;_overlayRef=null;_menuOpen=!1;_closingActionsSubscription=ge.EMPTY;_hoverSubscription=ge.EMPTY;_menuCloseSubscription=ge.EMPTY;_parentMaterialMenu;_parentInnerPadding;_handleTouchStart=e=>{xd(e)||(this._openedBy="touch")};_openedBy=void 0;get _deprecatedMatMenuTriggerFor(){return this.menu}set _deprecatedMatMenuTriggerFor(e){this.menu=e}get menu(){return this._menu}set menu(e){e!==this._menu&&(this._menu=e,this._menuCloseSubscription.unsubscribe(),e&&(this._parentMaterialMenu,this._menuCloseSubscription=e.close.subscribe(t=>{this._destroyMenu(t),(t==="click"||t==="tab")&&this._parentMaterialMenu&&this._parentMaterialMenu.closed.emit(t)})),this._menuItemInstance?._setTriggersSubmenu(this.triggersSubmenu()))}_menu;menuData;restoreFocus=!0;menuOpened=new T;onMenuOpen=this.menuOpened;menuClosed=new T;onMenuClose=this.menuClosed;constructor(){let e=h(uw,{optional:!0});this._parentMaterialMenu=e instanceof jr?e:void 0,this._element.nativeElement.addEventListener("touchstart",this._handleTouchStart,rA)}ngAfterContentInit(){this._handleHover()}ngOnDestroy(){this._overlayRef&&(this._overlayRef.dispose(),this._overlayRef=null),this._element.nativeElement.removeEventListener("touchstart",this._handleTouchStart,rA),this._menuCloseSubscription.unsubscribe(),this._closingActionsSubscription.unsubscribe(),this._hoverSubscription.unsubscribe()}get menuOpen(){return this._menuOpen}get dir(){return this._dir&&this._dir.value==="rtl"?"rtl":"ltr"}triggersSubmenu(){return!!(this._menuItemInstance&&this._parentMaterialMenu&&this.menu)}toggleMenu(){return this._menuOpen?this.closeMenu():this.openMenu()}openMenu(){let e=this.menu;if(this._menuOpen||!e)return;let t=this._createOverlay(e),o=t.getConfig(),r=o.positionStrategy;this._setPosition(e,r),o.hasBackdrop=e.hasBackdrop==null?!this.triggersSubmenu():e.hasBackdrop,t.attach(this._getPortal(e)),e.lazyContent&&e.lazyContent.attach(this.menuData),this._closingActionsSubscription=this._menuClosingActions().subscribe(()=>this.closeMenu()),this._initMenu(e),e instanceof jr&&(e._startAnimation(),e._directDescendantItems.changes.pipe(pe(e.close)).subscribe(()=>{r.withLockedPosition(!1).reapplyLastPosition(),r.withLockedPosition(!0)}))}closeMenu(){this.menu?.close.emit()}focus(e,t){this._focusMonitor&&e?this._focusMonitor.focusVia(this._element,e,t):this._element.nativeElement.focus(t)}updatePosition(){this._overlayRef?.updatePosition()}_destroyMenu(e){if(!this._overlayRef||!this.menuOpen)return;let t=this.menu;this._closingActionsSubscription.unsubscribe(),this._overlayRef.detach(),this.restoreFocus&&(e==="keydown"||!this._openedBy||!this.triggersSubmenu())&&this.focus(this._openedBy),this._openedBy=void 0,t instanceof jr?(t._resetAnimation(),t.lazyContent?t._animationDone.pipe(je(o=>o.toState==="void"),Rt(1),pe(t.lazyContent._attached)).subscribe({next:()=>t.lazyContent.detach(),complete:()=>this._setIsMenuOpen(!1)}):this._setIsMenuOpen(!1)):(this._setIsMenuOpen(!1),t?.lazyContent?.detach())}_initMenu(e){e.parentMenu=this.triggersSubmenu()?this._parentMaterialMenu:void 0,e.direction=this.dir,e.focusFirstItem(this._openedBy||"program"),this._setIsMenuOpen(!0)}_setIsMenuOpen(e){e!==this._menuOpen&&(this._menuOpen=e,this._menuOpen?this.menuOpened.emit():this.menuClosed.emit(),this.triggersSubmenu()&&this._menuItemInstance._setHighlighted(e),this._changeDetectorRef.markForCheck())}_createOverlay(e){if(!this._overlayRef){let t=this._getOverlayConfig(e);this._subscribeToPositions(e,t.positionStrategy),this._overlayRef=this._overlay.create(t),this._overlayRef.keydownEvents().subscribe(o=>{this.menu instanceof jr&&this.menu._handleKeydown(o)})}return this._overlayRef}_getOverlayConfig(e){return new ki({positionStrategy:this._overlay.position().flexibleConnectedTo(this._element).withLockedPosition().withGrowAfterOpen().withTransformOriginOn(".mat-menu-panel, .mat-mdc-menu-panel"),backdropClass:e.backdropClass||"cdk-overlay-transparent-backdrop",panelClass:e.overlayPanelClass,scrollStrategy:this._scrollStrategy(),direction:this._dir||"ltr"})}_subscribeToPositions(e,t){e.setPositionClasses&&t.positionChanges.subscribe(o=>{this._ngZone.run(()=>{let r=o.connectionPair.overlayX==="start"?"after":"before",a=o.connectionPair.overlayY==="top"?"below":"above";e.setPositionClasses(r,a)})})}_setPosition(e,t){let[o,r]=e.xPosition==="before"?["end","start"]:["start","end"],[a,s]=e.yPosition==="above"?["bottom","top"]:["top","bottom"],[l,m]=[a,s],[f,v]=[o,r],D=0;if(this.triggersSubmenu()){if(v=o=e.xPosition==="before"?"start":"end",r=f=o==="end"?"start":"end",this._parentMaterialMenu){if(this._parentInnerPadding==null){let S=this._parentMaterialMenu.items.first;this._parentInnerPadding=S?S._getHostElement().offsetTop:0}D=a==="bottom"?this._parentInnerPadding:-this._parentInnerPadding}}else e.overlapTrigger||(l=a==="top"?"bottom":"top",m=s==="top"?"bottom":"top");t.withPositions([{originX:o,originY:l,overlayX:f,overlayY:a,offsetY:D},{originX:r,originY:l,overlayX:v,overlayY:a,offsetY:D},{originX:o,originY:m,overlayX:f,overlayY:s,offsetY:-D},{originX:r,originY:m,overlayX:v,overlayY:s,offsetY:-D}])}_menuClosingActions(){let e=this._overlayRef.backdropClick(),t=this._overlayRef.detachments(),o=this._parentMaterialMenu?this._parentMaterialMenu.closed:ie(),r=this._parentMaterialMenu?this._parentMaterialMenu._hovered().pipe(je(a=>a!==this._menuItemInstance),je(()=>this._menuOpen)):ie();return yt(e,o,r,t)}_handleMousedown(e){Cd(e)||(this._openedBy=e.button===0?"mouse":void 0,this.triggersSubmenu()&&e.preventDefault())}_handleKeydown(e){let t=e.keyCode;(t===13||t===32)&&(this._openedBy="keyboard"),this.triggersSubmenu()&&(t===39&&this.dir==="ltr"||t===37&&this.dir==="rtl")&&(this._openedBy="keyboard",this.openMenu())}_handleClick(e){this.triggersSubmenu()?(e.stopPropagation(),this.openMenu()):this.toggleMenu()}_handleHover(){!this.triggersSubmenu()||!this._parentMaterialMenu||(this._hoverSubscription=this._parentMaterialMenu._hovered().pipe(je(e=>e===this._menuItemInstance&&!e.disabled),Yr(0,lc)).subscribe(()=>{this._openedBy="mouse",this.menu instanceof jr&&this.menu._isAnimating?this.menu._animationDone.pipe(Rt(1),Yr(0,lc),pe(this._parentMaterialMenu._hovered())).subscribe(()=>this.openMenu()):this.openMenu()}))}_getPortal(e){return(!this._portal||this._portal.templateRef!==e.templateRef)&&(this._portal=new On(e.templateRef,this._viewContainerRef)),this._portal}static \u0275fac=function(t){return new(t||n)};static \u0275dir=N({type:n,selectors:[["","mat-menu-trigger-for",""],["","matMenuTriggerFor",""]],hostAttrs:[1,"mat-mdc-menu-trigger"],hostVars:3,hostBindings:function(t,o){t&1&&b("click",function(a){return o._handleClick(a)})("mousedown",function(a){return o._handleMousedown(a)})("keydown",function(a){return o._handleKeydown(a)}),t&2&&ee("aria-haspopup",o.menu?"menu":null)("aria-expanded",o.menuOpen)("aria-controls",o.menuOpen?o.menu.panelId:null)},inputs:{_deprecatedMatMenuTriggerFor:[0,"mat-menu-trigger-for","_deprecatedMatMenuTriggerFor"],menu:[0,"matMenuTriggerFor","menu"],menuData:[0,"matMenuTriggerData","menuData"],restoreFocus:[0,"matMenuTriggerRestoreFocus","restoreFocus"]},outputs:{menuOpened:"menuOpened",onMenuOpen:"onMenuOpen",menuClosed:"menuClosed",onMenuClose:"onMenuClose"},exportAs:["matMenuTrigger"]})}return n})(),cA=(()=>{class n{static \u0275fac=function(t){return new(t||n)};static \u0275mod=J({type:n});static \u0275inj=X({providers:[zW],imports:[Pr,me,ci,ro,me]})}return n})();var UW=(()=>{class n{static \u0275fac=function(t){return new(t||n)};static \u0275cmp=E({type:n,selectors:[["ng-component"]],hostAttrs:["cdk-text-field-style-loader",""],decls:0,vars:0,template:function(t,o){},styles:["textarea.cdk-textarea-autosize{resize:none}textarea.cdk-textarea-autosize-measuring{padding:2px 0 !important;box-sizing:content-box !important;height:auto !important;overflow:hidden !important}textarea.cdk-textarea-autosize-measuring-firefox{padding:2px 0 !important;box-sizing:content-box !important;height:0 !important}@keyframes cdk-text-field-autofill-start{/*!*/}@keyframes cdk-text-field-autofill-end{/*!*/}.cdk-text-field-autofill-monitored:-webkit-autofill{animation:cdk-text-field-autofill-start 0s 1ms}.cdk-text-field-autofill-monitored:not(:-webkit-autofill){animation:cdk-text-field-autofill-end 0s 1ms}"],encapsulation:2,changeDetection:0})}return n})(),uA=Wn({passive:!0}),mA=(()=>{class n{_platform=h(rt);_ngZone=h(te);_styleLoader=h(Mt);_monitoredElements=new Map;constructor(){}monitor(e){if(!this._platform.isBrowser)return kn;this._styleLoader.load(UW);let t=Mi(e),o=this._monitoredElements.get(t);if(o)return o.subject;let r=new j,a="cdk-text-field-autofilled",s=l=>{l.animationName==="cdk-text-field-autofill-start"&&!t.classList.contains(a)?(t.classList.add(a),this._ngZone.run(()=>r.next({target:l.target,isAutofilled:!0}))):l.animationName==="cdk-text-field-autofill-end"&&t.classList.contains(a)&&(t.classList.remove(a),this._ngZone.run(()=>r.next({target:l.target,isAutofilled:!1})))};return this._ngZone.runOutsideAngular(()=>{t.addEventListener("animationstart",s,uA),t.classList.add("cdk-text-field-autofill-monitored")}),this._monitoredElements.set(t,{subject:r,unlisten:()=>{t.removeEventListener("animationstart",s,uA)}}),r}stopMonitoring(e){let t=Mi(e),o=this._monitoredElements.get(t);o&&(o.unlisten(),o.subject.complete(),t.classList.remove("cdk-text-field-autofill-monitored"),t.classList.remove("cdk-text-field-autofilled"),this._monitoredElements.delete(t))}ngOnDestroy(){this._monitoredElements.forEach((e,t)=>this.stopMonitoring(t))}static \u0275fac=function(t){return new(t||n)};static \u0275prov=P({token:n,factory:n.\u0275fac,providedIn:"root"})}return n})();var pA=(()=>{class n{static \u0275fac=function(t){return new(t||n)};static \u0275mod=J({type:n});static \u0275inj=X({})}return n})();var mw=new R("MAT_INPUT_VALUE_ACCESSOR"),HW=["button","checkbox","file","hidden","image","radio","range","reset","submit"],WW=new R("MAT_INPUT_CONFIG"),pt=(()=>{class n{_elementRef=h(Q);_platform=h(rt);ngControl=h(Ai,{optional:!0,self:!0});_autofillMonitor=h(mA);_ngZone=h(te);_formField=h(Ro,{optional:!0});_uid=h(ft).getId("mat-input-");_previousNativeValue;_inputValueAccessor;_signalBasedValueAccessor;_previousPlaceholder;_errorStateTracker;_webkitBlinkWheelListenerAttached=!1;_config=h(WW,{optional:!0});_formFieldDescribedBy;_isServer;_isNativeSelect;_isTextarea;_isInFormField;focused=!1;stateChanges=new j;controlType="mat-input";autofilled=!1;get disabled(){return this._disabled}set disabled(e){this._disabled=oo(e),this.focused&&(this.focused=!1,this.stateChanges.next())}_disabled=!1;get id(){return this._id}set id(e){this._id=e||this._uid}_id;placeholder;name;get required(){return this._required??this.ngControl?.control?.hasValidator(rr.required)??!1}set required(e){this._required=oo(e)}_required;get type(){return this._type}set type(e){this._type=e||"text",this._validateType(),!this._isTextarea&&G0().has(this._type)&&(this._elementRef.nativeElement.type=this._type),this._ensureWheelDefaultBehavior()}_type="text";get errorStateMatcher(){return this._errorStateTracker.matcher}set errorStateMatcher(e){this._errorStateTracker.matcher=e}userAriaDescribedBy;get value(){return this._signalBasedValueAccessor?this._signalBasedValueAccessor.value():this._inputValueAccessor.value}set value(e){e!==this.value&&(this._signalBasedValueAccessor?this._signalBasedValueAccessor.value.set(e):this._inputValueAccessor.value=e,this.stateChanges.next())}get readonly(){return this._readonly}set readonly(e){this._readonly=oo(e)}_readonly=!1;disabledInteractive;get errorState(){return this._errorStateTracker.errorState}set errorState(e){this._errorStateTracker.errorState=e}_neverEmptyInputTypes=["date","datetime","datetime-local","month","time","week"].filter(e=>G0().has(e));constructor(){let e=h(co,{optional:!0}),t=h(Ea,{optional:!0}),o=h(ba),r=h(mw,{optional:!0,self:!0}),a=this._elementRef.nativeElement,s=a.nodeName.toLowerCase();r?oa(r.value)?this._signalBasedValueAccessor=r:this._inputValueAccessor=r:this._inputValueAccessor=a,this._previousNativeValue=this.value,this.id=this.id,this._platform.IOS&&this._ngZone.runOutsideAngular(()=>{a.addEventListener("keyup",this._iOSKeyupListener)}),this._errorStateTracker=new Or(o,this.ngControl,t,e,this.stateChanges),this._isServer=!this._platform.isBrowser,this._isNativeSelect=s==="select",this._isTextarea=s==="textarea",this._isInFormField=!!this._formField,this.disabledInteractive=this._config?.disabledInteractive||!1,this._isNativeSelect&&(this.controlType=a.multiple?"mat-native-select-multiple":"mat-native-select"),this._signalBasedValueAccessor&&jc(()=>{this._signalBasedValueAccessor.value(),this.stateChanges.next()})}ngAfterViewInit(){this._platform.isBrowser&&this._autofillMonitor.monitor(this._elementRef.nativeElement).subscribe(e=>{this.autofilled=e.isAutofilled,this.stateChanges.next()})}ngOnChanges(){this.stateChanges.next()}ngOnDestroy(){this.stateChanges.complete(),this._platform.isBrowser&&this._autofillMonitor.stopMonitoring(this._elementRef.nativeElement),this._platform.IOS&&this._elementRef.nativeElement.removeEventListener("keyup",this._iOSKeyupListener),this._webkitBlinkWheelListenerAttached&&this._elementRef.nativeElement.removeEventListener("wheel",this._webkitBlinkWheelListener)}ngDoCheck(){this.ngControl&&(this.updateErrorState(),this.ngControl.disabled!==null&&this.ngControl.disabled!==this.disabled&&(this.disabled=this.ngControl.disabled,this.stateChanges.next())),this._dirtyCheckNativeValue(),this._dirtyCheckPlaceholder()}focus(e){this._elementRef.nativeElement.focus(e)}updateErrorState(){this._errorStateTracker.updateErrorState()}_focusChanged(e){if(e!==this.focused){if(!this._isNativeSelect&&e&&this.disabled&&this.disabledInteractive){let t=this._elementRef.nativeElement;t.type==="number"?(t.type="text",t.setSelectionRange(0,0),t.type="number"):t.setSelectionRange(0,0)}this.focused=e,this.stateChanges.next()}}_onInput(){}_dirtyCheckNativeValue(){let e=this._elementRef.nativeElement.value;this._previousNativeValue!==e&&(this._previousNativeValue=e,this.stateChanges.next())}_dirtyCheckPlaceholder(){let e=this._getPlaceholder();if(e!==this._previousPlaceholder){let t=this._elementRef.nativeElement;this._previousPlaceholder=e,e?t.setAttribute("placeholder",e):t.removeAttribute("placeholder")}}_getPlaceholder(){return this.placeholder||null}_validateType(){HW.indexOf(this._type)>-1}_isNeverEmpty(){return this._neverEmptyInputTypes.indexOf(this._type)>-1}_isBadInput(){let e=this._elementRef.nativeElement.validity;return e&&e.badInput}get empty(){return!this._isNeverEmpty()&&!this._elementRef.nativeElement.value&&!this._isBadInput()&&!this.autofilled}get shouldLabelFloat(){if(this._isNativeSelect){let e=this._elementRef.nativeElement,t=e.options[0];return this.focused||e.multiple||!this.empty||!!(e.selectedIndex>-1&&t&&t.label)}else return this.focused&&!this.disabled||!this.empty}setDescribedByIds(e){let t=this._elementRef.nativeElement,o=t.getAttribute("aria-describedby"),r;if(o){let a=this._formFieldDescribedBy||e;r=e.concat(o.split(" ").filter(s=>s&&!a.includes(s)))}else r=e;this._formFieldDescribedBy=e,r.length?t.setAttribute("aria-describedby",r.join(" ")):t.removeAttribute("aria-describedby")}onContainerClick(){this.focused||this.focus()}_isInlineSelect(){let e=this._elementRef.nativeElement;return this._isNativeSelect&&(e.multiple||e.size>1)}_iOSKeyupListener=e=>{let t=e.target;!t.value&&t.selectionStart===0&&t.selectionEnd===0&&(t.setSelectionRange(1,1),t.setSelectionRange(0,0))};_webkitBlinkWheelListener=()=>{};_ensureWheelDefaultBehavior(){!this._webkitBlinkWheelListenerAttached&&this._type==="number"&&(this._platform.BLINK||this._platform.WEBKIT)&&(this._ngZone.runOutsideAngular(()=>{this._elementRef.nativeElement.addEventListener("wheel",this._webkitBlinkWheelListener)}),this._webkitBlinkWheelListenerAttached=!0),this._webkitBlinkWheelListenerAttached&&this._type!=="number"&&(this._elementRef.nativeElement.removeEventListener("wheel",this._webkitBlinkWheelListener),this._webkitBlinkWheelListenerAttached=!0)}_getReadonlyAttribute(){return this._isNativeSelect?null:this.readonly||this.disabled&&this.disabledInteractive?"true":null}static \u0275fac=function(t){return new(t||n)};static \u0275dir=N({type:n,selectors:[["input","matInput",""],["textarea","matInput",""],["select","matNativeControl",""],["input","matNativeControl",""],["textarea","matNativeControl",""]],hostAttrs:[1,"mat-mdc-input-element"],hostVars:21,hostBindings:function(t,o){t&1&&b("focus",function(){return o._focusChanged(!0)})("blur",function(){return o._focusChanged(!1)})("input",function(){return o._onInput()}),t&2&&(En("id",o.id)("disabled",o.disabled&&!o.disabledInteractive)("required",o.required),ee("name",o.name||null)("readonly",o._getReadonlyAttribute())("aria-disabled",o.disabled&&o.disabledInteractive?"true":null)("aria-invalid",o.empty&&o.required?null:o.errorState)("aria-required",o.required)("id",o.id),ne("mat-input-server",o._isServer)("mat-mdc-form-field-textarea-control",o._isInFormField&&o._isTextarea)("mat-mdc-form-field-input-control",o._isInFormField)("mat-mdc-input-disabled-interactive",o.disabledInteractive)("mdc-text-field__input",o._isInFormField)("mat-mdc-native-select-inline",o._isInlineSelect()))},inputs:{disabled:"disabled",id:"id",placeholder:"placeholder",name:"name",required:"required",type:"type",errorStateMatcher:"errorStateMatcher",userAriaDescribedBy:[0,"aria-describedby","userAriaDescribedBy"],value:"value",readonly:"readonly",disabledInteractive:[2,"disabledInteractive","disabledInteractive",G]},exportAs:["matInput"],features:[ye([{provide:Ma,useExisting:n}]),ce,Ze]})}return n})(),hA=(()=>{class n{static \u0275fac=function(t){return new(t||n)};static \u0275mod=J({type:n});static \u0275inj=X({imports:[me,fs,fs,pA,me]})}return n})();var fA=(()=>{let i=class i{transform(t){return xy(t)}};i.\u0275fac=function(o){return new(o||i)},i.\u0275pipe=Qo({name:"isEmpty",type:i,pure:!0,standalone:!1});let n=i;return n})(),yn=(()=>{let i=class i{transform(t){return!xy(t)}};i.\u0275fac=function(o){return new(o||i)},i.\u0275pipe=Qo({name:"notEmpty",type:i,pure:!0,standalone:!1});let n=i;return n})();var gA=(()=>{let i=class i{transform(t,o){let r;return o===void 0?r=(a,s)=>a>s?1:-1:r=(a,s)=>a[o]>s[o]?1:-1,t.sort(r)}};i.\u0275fac=function(o){return new(o||i)},i.\u0275pipe=Qo({name:"sort",type:i,pure:!0,standalone:!1});let n=i;return n})();var $W=["trigger"],qW=()=>[5,10,25,100,1e3];function YW(n,i){if(n&1&&M(0,"img",39),n&2){let e=_();p("src",e.icon,Se)}}function QW(n,i){if(n&1){let e=k();c(0,"button",47),b("click",function(){let o=y(e).$implicit,r=_(5);return w(r.newAction.emit({param:o,table:r}))}),d()}if(n&2){let e=i.$implicit,t=_(5);p("innerHTML",t.api.safeString(t.api.gui.icon(e.icon)+e.name),qt)}}function KW(n,i){if(n&1&&(ut(0),c(1,"button",44),g(2),d(),c(3,"mat-menu",45,3),x(5,QW,1,1,"button",46),gt(6,"sort"),d(),mt()),n&2){let e=i.$implicit,t=be(4);u(),p("matMenuTriggerFor",t),u(),Ge(e.key),u(),p("overlapTrigger",!1),u(2),p("ngForOf",Tb(6,4,e.value,"name"))}}function ZW(n,i){if(n&1&&(ut(0),c(1,"mat-menu",40,2),x(3,KW,7,7,"ng-container",41),gt(4,"keyvalue"),d(),c(5,"a",42)(6,"i",22),g(7,"insert_drive_file"),d(),c(8,"span",43)(9,"uds-translate"),g(10,"New"),d()(),c(11,"i",22),g(12,"arrow_drop_down"),d()(),mt()),n&2){let e=be(2),t=_(3);u(),p("overlapTrigger",!1),u(2),p("ngForOf",Ct(4,3,t.grpTypes)),u(2),p("matMenuTriggerFor",e)}}function XW(n,i){if(n&1){let e=k();c(0,"button",49),b("click",function(){let o=y(e).$implicit,r=_(4);return w(r.newAction.emit({param:o,table:r}))}),d()}if(n&2){let e=i.$implicit,t=_(4);p("innerHTML",t.api.safeString(t.api.gui.icon(e.icon)+e.name),qt)}}function JW(n,i){if(n&1&&(ut(0),c(1,"mat-menu",40,2),x(3,XW,1,1,"button",48),gt(4,"sort"),d(),c(5,"a",42)(6,"i",22),g(7,"insert_drive_file"),d(),c(8,"span",43)(9,"uds-translate"),g(10,"New"),d()(),c(11,"i",22),g(12,"arrow_drop_down"),d()(),mt()),n&2){let e=be(2),t=_(3);u(),p("overlapTrigger",!1),u(2),p("ngForOf",Tb(4,3,t.oTypes,"name")),u(2),p("matMenuTriggerFor",e)}}function eG(n,i){if(n&1&&(ut(0),x(1,ZW,13,5,"ng-container",13)(2,JW,13,6,"ng-container",13),mt()),n&2){let e=_(2);u(),p("ngIf",e.newGrouped),u(),p("ngIf",!e.newGrouped)}}function tG(n,i){if(n&1){let e=k();ut(0),c(1,"a",50),b("click",function(){y(e);let o=_(2);return w(o.newAction.emit({param:void 0,table:o}))}),c(2,"i",22),g(3,"insert_drive_file"),d(),c(4,"span",43)(5,"uds-translate"),g(6,"New"),d()()(),mt()}}function nG(n,i){if(n&1&&(ut(0),x(1,eG,3,2,"ng-container",13)(2,tG,7,0,"ng-container",13),mt()),n&2){let e=_();u(),p("ngIf",e.oTypes!==void 0&&e.oTypes.length!==0),u(),p("ngIf",e.oTypes!==void 0&&e.oTypes.length===0)}}function iG(n,i){if(n&1){let e=k();ut(0),c(1,"a",51),b("click",function(){y(e);let o=_();return w(o.emitIfSelection(o.editAction))}),c(2,"i",22),g(3,"edit"),d(),c(4,"span",43)(5,"uds-translate"),g(6,"Edit"),d()()(),mt()}if(n&2){let e=_();u(),p("disabled",e.selection.selected.length!==1)}}function oG(n,i){if(n&1){let e=k();ut(0),c(1,"a",51),b("click",function(){y(e);let o=_();return w(o.permissions())}),c(2,"i",22),g(3,"perm_identity"),d(),c(4,"span",43)(5,"uds-translate"),g(6,"Permissions"),d()()(),mt()}if(n&2){let e=_();u(),p("disabled",e.selection.selected.length!==1)}}function rG(n,i){if(n&1){let e=k();c(0,"a",53),b("click",function(){let o=y(e).$implicit,r=_(2);return w(r.emitCustom(o))}),d()}if(n&2){let e=i.$implicit,t=_(2);p("disabled",t.isCustomDisabled(e))("innerHTML",e.html,qt)}}function aG(n,i){if(n&1&&(ut(0),x(1,rG,1,2,"a",52),mt()),n&2){let e=_();u(),p("ngForOf",e.getcustomButtons())}}function sG(n,i){if(n&1){let e=k();ut(0),c(1,"a",54),b("click",function(){y(e);let o=_();return w(o.export())}),c(2,"i",22),g(3,"import_export"),d(),c(4,"span",43)(5,"uds-translate"),g(6,"Export CSV"),d()()(),mt()}}function lG(n,i){if(n&1){let e=k();ut(0),c(1,"a",55),b("click",function(){y(e);let o=_();return w(o.emitIfSelection(o.deleteAction,!0))}),c(2,"i",22),g(3,"delete_forever"),d(),c(4,"span",43)(5,"uds-translate"),g(6,"Delete"),d()()(),mt()}if(n&2){let e=_();u(),p("disabled",e.selection.isEmpty())}}function cG(n,i){if(n&1){let e=k();c(0,"button",56),b("click",function(){y(e);let o=_();return o.filterText="",w(o.applyFilter())}),c(1,"i",22),g(2,"clear"),d()()}}function dG(n,i){n&1&&M(0,"mat-header-cell")}function uG(n,i){n&1&&(c(0,"i",61),g(1,"check_box"),d())}function mG(n,i){n&1&&(c(0,"i",62),g(1,"check_box_outline_blank"),d())}function pG(n,i){if(n&1){let e=k();c(0,"mat-cell",59),b("click",function(o){let r=y(e).$implicit,a=_(2);return w(a.clickRow(r,o))}),x(1,uG,2,0,"i",60)(2,mG,2,0,"ng-template",null,4,gn),d()}if(n&2){let e=i.$implicit,t=be(3),o=_(2);u(),p("ngIf",o.selection.isSelected(e))("ngIfElse",t)}}function hG(n,i){n&1&&(ut(0,57),x(1,dG,1,0,"mat-header-cell",27)(2,pG,4,2,"mat-cell",58),mt())}function fG(n,i){n&1&&M(0,"mat-header-cell")}function gG(n,i){if(n&1){let e=k();c(0,"mat-cell")(1,"div",63),b("click",function(o){let r=y(e).$implicit,a=_();return a.detailAction.emit({param:r,table:a}),w(o.stopPropagation())}),c(2,"i",22),g(3,"subdirectory_arrow_right"),d()()()}}function _G(n,i){if(n&1&&(c(0,"mat-header-cell",67),g(1),d()),n&2){let e=_().$implicit;u(),Ge(e.title)}}function vG(n,i){if(n&1){let e=k();c(0,"mat-cell",68),b("click",function(o){let r=y(e).$implicit,a=_(2);return w(a.clickRow(r,o))})("contextmenu",function(o){let r=y(e).$implicit,a=_().$implicit,s=_();return w(s.onContextMenu(r,a,o))}),M(1,"div",69),d()}if(n&2){let e=i.$implicit,t=_().$implicit,o=_();u(),p("innerHtml",o.getRowColumn(e,t),qt)}}function bG(n,i){if(n&1&&(ut(0,64),x(1,_G,2,1,"mat-header-cell",65)(2,vG,2,1,"mat-cell",66),mt()),n&2){let e=i.$implicit;aa("matColumnDef",e.name)}}function yG(n,i){n&1&&M(0,"mat-header-row")}function wG(n,i){if(n&1&&M(0,"mat-row",70),n&2){let e=i.$implicit,t=_();p("ngClass",t.rowClass(e))}}function CG(n,i){if(n&1&&(c(0,"div",71),g(1),c(2,"uds-translate"),g(3,"Selected items"),d()()),n&2){let e=_();u(),O(" ",e.selection.selected.length," ")}}function xG(n,i){if(n&1){let e=k();c(0,"button",75),b("click",function(){y(e);let o=_(2);return w(o.copyToClipboard())}),c(1,"i",76),g(2,"content_copy"),d(),c(3,"uds-translate"),g(4,"Copy"),d()()}}function DG(n,i){if(n&1){let e=k();c(0,"button",75),b("click",function(){y(e);let o=_().item,r=_();return w(r.detailAction.emit({param:o,table:r}))}),c(1,"i",76),g(2,"subdirectory_arrow_right"),d(),c(3,"uds-translate"),g(4,"Detail"),d()()}}function SG(n,i){if(n&1){let e=k();c(0,"button",75),b("click",function(){y(e);let o=_(2);return w(o.emitIfSelection(o.editAction))}),c(1,"i",76),g(2,"edit"),d(),c(3,"uds-translate"),g(4,"Edit"),d()()}}function EG(n,i){if(n&1){let e=k();c(0,"button",75),b("click",function(){y(e);let o=_(2);return w(o.permissions())}),c(1,"i",76),g(2,"perm_identity"),d(),c(3,"uds-translate"),g(4,"Permissions"),d()()}}function MG(n,i){if(n&1){let e=k();c(0,"button",77),b("click",function(){let o=y(e).$implicit,r=_(2);return w(r.emitCustom(o))}),d()}if(n&2){let e=i.$implicit,t=_(2);p("disabled",t.isCustomDisabled(e))("innerHTML",e.html,qt)}}function IG(n,i){if(n&1){let e=k();c(0,"button",78),b("click",function(){y(e);let o=_(2);return w(o.emitIfSelection(o.deleteAction))}),c(1,"i",76),g(2,"delete_forever"),d(),c(3,"uds-translate"),g(4,"Delete"),d()()}}function TG(n,i){if(n&1){let e=k();c(0,"button",77),b("click",function(){let o=y(e).$implicit,r=_(3);return w(r.emitCustom(o))}),d()}if(n&2){let e=i.$implicit,t=_(3);p("disabled",t.isCustomDisabled(e))("innerHTML",e.html,qt)}}function kG(n,i){if(n&1&&(ut(0),M(1,"mat-divider"),x(2,TG,1,2,"button",73),mt()),n&2){let e=_(2);u(2),p("ngForOf",e.getCustomAccelerators())}}function AG(n,i){if(n&1&&x(0,xG,5,0,"button",72)(1,DG,5,0,"button",72)(2,SG,5,0,"button",72)(3,EG,5,0,"button",72)(4,MG,1,2,"button",73)(5,IG,5,0,"button",74)(6,kG,3,1,"ng-container",13),n&2){let e=_();p("ngIf",e.allowCopy===!0),u(),p("ngIf",e.detailAction.observed),u(),p("ngIf",e.editAction.observed),u(),p("ngIf",e.hasPermissions===!0),u(),p("ngForOf",e.getCustomMenu()),u(),p("ngIf",e.deleteAction.observed),u(),p("ngIf",e.hasAccelerators)}}var Ie=(()=>{let i=class i{constructor(t,o){this.api=t,this.clipboard=o,this.contextMenu={},this.paginator={},this.sort={},this.rest={},this.tableId="",this.pageSize=10,this.newGrouped=!1,this.allowCopy=!0,this.loaded=new T,this.rowSelected=new T,this.newAction=new T,this.editAction=new T,this.deleteAction=new T,this.customButtonAction=new T,this.detailAction=new T,this.title="",this.subtitle="",this.displayedColumns=[],this.columns=[],this.types=new Map,this.oTypes=[],this.grpTypes=new Map,this.rowStyleInfo=null,this.selection=new Rr(!0,[]),this.lastSel=null,this.dataSource=new $l([]),this.firstLoad=!0,this.loading=!1,this.lastClickInfo={time:0,x:-1e4,y:-1e4},this.clipValue="",this.contextMenuPosition={x:"0px",y:"0px"},this.filterText="",this.hasCustomButtons=!1,this.hasButtons=!1,this.hasActions=!1,this.hasAccelerators=!1}ngOnInit(){return H(this,null,function*(){this.customButtons===void 0||this.customButtons.length===0||!this.customButtonAction.observed?this.hasCustomButtons=!1:this.hasCustomButtons=!0,this.hasAccelerators=this.getCustomAccelerators().length>0,this.hasButtons=this.hasCustomButtons||this.detailAction.observed||this.editAction.observed||this.hasPermissions||this.deleteAction.observed,this.hasActions=this.hasButtons||this.customButtons!==void 0&&this.customButtons.length>0,this.tableId=this.tableId||this.rest.id,this.dataSource.paginator=this.paginator,this.dataSource.sort=this.sort,this.dataSource.sortingDataAccessor=(a,s)=>{if(!(s in a))return"";let l=a[s];return typeof l=="number"?l:typeof l=="string"?l.toLocaleLowerCase():(l===null&&(l=7226578800),l.changingThisBreaksApplicationSecurity&&(l=l.changingThisBreaksApplicationSecurity),(""+l).replace(/<(span|\/span)[^>]*>/g,"").toLocaleLowerCase())},this.dataSource.filterPredicate=(a,s)=>{try{this.columns.forEach(l=>{if((""+a[l.name]).replace(/<(span|\/span)[^>]*>/g,"").toLocaleLowerCase().includes(s))throw Error()})}catch{return!0}return!1},this.dataSource.sort.active=this.api.getFromStorage(this.tableId+"sort-column")||"name",this.dataSource.sort.direction=this.api.getFromStorage(this.tableId+"sort-direction")||"asc",this.filterText=this.api.getFromStorage(this.tableId+"filterValue")||"",this.applyFilter(),this.selection=new Rr(this.multiSelect===!0,[]);let t=this.rest.permision();t&Nr.MANAGEMENT||(this.newAction.unsubscribe(),this.editAction.unsubscribe(),this.deleteAction.unsubscribe(),this.customButtonAction.unsubscribe()),t!==Nr.ALL&&(this.hasPermissions=!1),this.icon!==void 0&&(this.icon=this.api.staticURL("admin/img/icons/"+this.icon+".png"));let o=yield this.rest.types(),r=yield this.rest.tableInfo();yield this.initialize(r,o)})}initialize(t,o){return H(this,null,function*(){this.oTypes=o,this.types=new Map,this.grpTypes=new Map;for(let a of o)if(this.types.set(a.type,a),a.group!==void 0){this.grpTypes.has(a.group)||this.grpTypes.set(a.group,[]);let s=this.grpTypes.get(a.group);s!==void 0&&s.push(a)}t["row-style"]!==void 0&&t["row-style"].field!==void 0?this.rowStyleInfo=t["row-style"]:this.rowStyleInfo=null,this.title=t.title,this.subtitle=t.subtitle||"",this.hasButtons&&this.displayedColumns.push("selection-column");let r=[];for(let a of t.fields)for(let s in a)if(a.hasOwnProperty(s)){let l=a[s];r.push({name:s,title:l.title,type:l.type===void 0?_n.ALPHANUMERIC:l.type,dict:l.dict}),(l.visible===void 0||l.visible)&&this.displayedColumns.push(s)}this.columns=r,this.detailAction.observed&&this.displayedColumns.push("detail-column"),yield this.overview()})}overview(){return H(this,null,function*(){if(!this.loading){this.selection.clear(),this.dataSource.data=[],this.loading=!0;try{let t=yield this.rest.overview();if(this.onItem)for(let o of t)this.onItem(o);this.dataSource.data=t,this.loaded.emit({param:this.firstLoad,table:this}),this.firstLoad=!1}finally{this.loading=!1}}})}getcustomButtons(){return this.customButtons?this.customButtons.filter(t=>t.type!==ct.ONLY_MENU&&t.type!==ct.ACCELERATOR):[]}getCustomMenu(){return this.customButtons?this.customButtons.filter(t=>t.type!==ct.ACCELERATOR):[]}getCustomAccelerators(){return this.customButtons?this.customButtons.filter(t=>t.type===ct.ACCELERATOR):[]}getRowColumn(t,o){let r=t[o.name];switch(o.type){case _n.IMAGE:return this.api.safeString(this.api.gui.icon(r,"48px"));case _n.DATE:r=qn("SHORT_DATE_FORMAT",r);break;case _n.DATETIME:r=qn("SHORT_DATETIME_FORMAT",r);break;case _n.TIME:r=qn("TIME_FORMAT",r);break;case _n.DATETIMESEC:r=qn("SHORT_DATE_FORMAT",r," H:i:s");break;case _n.ICON:typeof r=="string"&&(r=r.replace(//g,">"));try{r=this.api.gui.icon(this.types.get(t.type).icon)+r}catch{}return this.api.safeString(r);case _n.CALLBACK:break;case _n.DICTIONARY:try{r=o.dict[r]}catch{r=""}break}return typeof r=="string"&&(r=r.replace(/0&&(o===!0||r===1)&&t.emit({table:this,param:r})}isCustomDisabled(t){switch(t.type){case void 0:case ct.SINGLE_SELECT:return this.selection.selected.length!==1||t.disabled===!0;case ct.MULTI_SELECT:return this.selection.isEmpty()||t.disabled===!0;default:return!1}}emitCustom(t){!this.selection.selected.length&&t.type!==ct.ALWAYS||(t.type===ct.ACCELERATOR?this.api.navigation.goto(t.id,this.selection.selected[0],t.acceleratorProperties||[]):this.customButtonAction.emit({param:t,table:this}))}clickRow(t,o){let r=new Date().getTime();if((this.detailAction.observed||this.editAction.observed)&&Math.abs(this.lastClickInfo.x-o.x)<16&&Math.abs(this.lastClickInfo.y-o.y)<16&&r-this.lastClickInfo.time<250){this.selection.clear(),this.selection.select(t),this.detailAction.observed?this.detailAction.emit({param:t,table:this}):this.emitIfSelection(this.editAction,!1);return}this.lastClickInfo={time:r,x:o.x,y:o.y},this.doSelect(t,o)}doSelect(t,o){if(o.ctrlKey)this.lastSel=t,this.selection.toggle(t);else if(o.shiftKey){if(this.selection.isEmpty())this.selection.toggle(t);else if(this.selection.clear(),this.lastSel!==t){let r=!1,a=this.dataSource.sort?this.dataSource.sortData(this.dataSource.data,this.dataSource.sort):this.dataSource.data;for(let s of a){if((s===t||s===this.lastSel)&&(r=!r,r===!1)){this.selection.select(s);break}r&&this.selection.select(s)}}}else this.lastSel!==t&&this.selection.clear(),this.lastSel=t,this.selection.toggle(t);this.rowSelected.emit({param:null,table:this})}onContextMenu(t,o,r){r.preventDefault();let a=t[o.name];a.changingThisBreaksApplicationSecurity&&(a=a.changingThisBreaksApplicationSecurity.replace(/.*<\/span>/,"")),this.clipValue=""+a,this.hasActions&&(this.selection.clear(),this.selection.select(t),this.contextMenuPosition.x=r.clientX+"px",this.contextMenuPosition.y=r.clientY+"px",this.contextMenu.menuData={item:t},this.contextMenu.openMenu())}selectElement(t,o){(this.dataSource.sort?this.dataSource.sortData(this.dataSource.data,this.dataSource.sort):this.dataSource.data).forEach((a,s)=>{if(a[t]===o){let l=Math.floor(s/this.paginator.pageSize);this.selection.select(a),this.paginator.pageIndex=l,this.paginator.page.next({pageIndex:l,pageSize:this.paginator.pageSize,length:this.paginator.length})}})}export(){ig(this)}permissions(){this.selection.selected.length&&Xk.launch(this.api,this.rest,this.selection.selected[0])}keyDown(t){switch(t.keyCode){case 36:this.paginator.firstPage(),t.preventDefault();break;case 35:this.paginator.lastPage(),t.preventDefault();break;case 39:this.paginator.nextPage(),t.preventDefault();break;case 37:this.paginator.previousPage(),t.preventDefault();break}}};i.\u0275fac=function(o){return new(o||i)(C(B),C(iA))},i.\u0275cmp=E({type:i,selectors:[["uds-table"]],viewQuery:function(o,r){if(o&1&&(se($W,7),se(Lr,7),se(Vr,7)),o&2){let a;$(a=q())&&(r.contextMenu=a.first),$(a=q())&&(r.paginator=a.first),$(a=q())&&(r.sort=a.first)}},inputs:{rest:"rest",onItem:"onItem",icon:"icon",multiSelect:"multiSelect",allowExport:"allowExport",hasPermissions:"hasPermissions",customButtons:"customButtons",tableId:"tableId",pageSize:"pageSize",newGrouped:"newGrouped",allowCopy:"allowCopy"},outputs:{loaded:"loaded",rowSelected:"rowSelected",newAction:"newAction",editAction:"editAction",deleteAction:"deleteAction",customButtonAction:"customButtonAction",detailAction:"detailAction"},standalone:!1,decls:51,vars:30,consts:[["trigger","matMenuTrigger"],["contextMenu","matMenu"],["newMenu","matMenu"],["sub_menu","matMenu"],["uncheck",""],[1,"card"],[1,"card-header"],[1,"card-title"],[3,"src",4,"ngIf"],[1,"card-subtitle"],[1,"card-content"],[1,"header"],[1,"buttons"],[4,"ngIf"],[1,"navigation"],[1,"filter"],["matInput","",3,"keyup","ngModelChange","ngModel"],["matSuffix","","mat-icon-button","","aria-label","Clear",3,"click",4,"ngIf"],[1,"paginator"],[3,"pageSize","hidePageSize","pageSizeOptions","showFirstLastButtons"],[1,"reload"],["mat-icon-button","",3,"click"],[1,"material-icons"],["tabindex","0",1,"table",3,"keydown"],["matSort","",3,"matSortChange","dataSource"],["matColumnDef","selection-column",4,"ngIf"],["matColumnDef","detail-column"],[4,"matHeaderCellDef"],[4,"matCellDef"],[3,"matColumnDef",4,"ngFor","ngForOf"],[4,"matHeaderRowDef"],[3,"ngClass",4,"matRowDef","matRowDefColumns"],[3,"hidden"],[1,"loading"],["mode","indeterminate"],[1,"footer"],["class","selection",4,"ngIf"],[2,"position","fixed",3,"matMenuTriggerFor"],["matMenuContent",""],[3,"src"],[1,"wide-menu",3,"overlapTrigger"],[4,"ngFor","ngForOf"],["mat-raised-button","","color","primary",3,"matMenuTriggerFor"],[1,"button-text"],["mat-menu-item","",1,"main-button",3,"matMenuTriggerFor"],[3,"overlapTrigger"],["mat-menu-item","",3,"innerHTML","click",4,"ngFor","ngForOf"],["mat-menu-item","",3,"click","innerHTML"],["mat-menu-item","","class","main-button",3,"innerHTML","click",4,"ngFor","ngForOf"],["mat-menu-item","",1,"main-button",3,"click","innerHTML"],["mat-raised-button","","color","primary",1,"main-button",3,"click"],["mat-raised-button","",3,"click","disabled"],["mat-raised-button","",3,"disabled","innerHTML","click",4,"ngFor","ngForOf"],["mat-raised-button","",3,"click","disabled","innerHTML"],["mat-raised-button","",3,"click"],["mat-raised-button","","color","warn",3,"click","disabled"],["matSuffix","","mat-icon-button","","aria-label","Clear",3,"click"],["matColumnDef","selection-column"],[3,"click",4,"matCellDef"],[3,"click"],["class","material-icons check checked",4,"ngIf","ngIfElse"],[1,"material-icons","check","checked"],[1,"material-icons","check"],[1,"detail-launcher",3,"click"],[3,"matColumnDef"],["mat-sort-header","",4,"matHeaderCellDef"],[3,"click","contextmenu",4,"matCellDef"],["mat-sort-header",""],[3,"click","contextmenu"],[3,"innerHtml"],[3,"ngClass"],[1,"selection"],["mat-menu-item","",3,"click",4,"ngIf"],["mat-menu-item","",3,"disabled","innerHTML","click",4,"ngFor","ngForOf"],["mat-menu-item","","class","menu-warn",3,"click",4,"ngIf"],["mat-menu-item","",3,"click"],[1,"material-icons","spaced"],["mat-menu-item","",3,"click","disabled","innerHTML"],["mat-menu-item","",1,"menu-warn",3,"click"]],template:function(o,r){if(o&1){let a=k();c(0,"div",5)(1,"div",6)(2,"div",7),x(3,YW,1,1,"img",8),g(4),d(),c(5,"div",9),g(6),d()(),c(7,"div",10)(8,"div",11)(9,"div",12),x(10,nG,3,2,"ng-container",13)(11,iG,7,1,"ng-container",13)(12,oG,7,1,"ng-container",13)(13,aG,2,1,"ng-container",13)(14,sG,7,0,"ng-container",13)(15,lG,7,1,"ng-container",13),d(),c(16,"div",14)(17,"div",15)(18,"mat-form-field")(19,"mat-label")(20,"uds-translate"),g(21,"Filter"),d()(),c(22,"input",16),b("keyup",function(){return y(a),w(r.applyFilter())}),U("ngModelChange",function(l){return y(a),W(r.filterText,l)||(r.filterText=l),w(l)}),d(),x(23,cG,3,0,"button",17),gt(24,"notEmpty"),d()(),c(25,"div",18),M(26,"mat-paginator",19),d(),c(27,"div",20)(28,"a",21),b("click",function(){return y(a),w(r.overview())}),c(29,"i",22),g(30,"autorenew"),d()()()()(),c(31,"div",23),b("keydown",function(l){return y(a),w(r.keyDown(l))}),c(32,"mat-table",24),b("matSortChange",function(l){return y(a),w(r.sortChanged(l))}),x(33,hG,3,0,"ng-container",25),ut(34,26),x(35,fG,1,0,"mat-header-cell",27)(36,gG,4,0,"mat-cell",28),mt(),x(37,bG,3,1,"ng-container",29)(38,yG,1,0,"mat-header-row",30)(39,wG,1,1,"mat-row",31),d(),c(40,"div",32)(41,"div",33),M(42,"mat-progress-spinner",34),d()()(),c(43,"div",35),g(44," \xA0 "),x(45,CG,4,1,"div",36),d()(),M(46,"div",37,0),c(48,"mat-menu",null,1),x(50,AG,7,7,"ng-template",38),d()()}if(o&2){let a=be(49);u(3),p("ngIf",r.icon!==void 0),u(),O(" ",r.title," "),u(2),O(" ",r.subtitle," "),u(4),p("ngIf",r.newAction.observed),u(),p("ngIf",r.editAction.observed),u(),p("ngIf",r.hasPermissions===!0),u(),p("ngIf",r.hasCustomButtons),u(),p("ngIf",r.allowExport===!0),u(),p("ngIf",r.deleteAction.observed),u(7),z("ngModel",r.filterText),u(),p("ngIf",Ct(24,27,r.filterText)),u(3),p("pageSize",r.pageSize)("hidePageSize",!0)("pageSizeOptions",rl(29,qW))("showFirstLastButtons",!0),u(6),p("dataSource",r.dataSource),u(),p("ngIf",r.hasButtons),u(4),p("ngForOf",r.columns),u(),p("matHeaderRowDef",r.displayedColumns),u(),p("matRowDefColumns",r.displayedColumns),u(),p("hidden",!r.loading),u(5),p("ngIf",r.hasButtons&&r.selection.selected.length>0),u(),zn("left",r.contextMenuPosition.x)("top",r.contextMenuPosition.y),p("matMenuTriggerFor",a)}},dependencies:[Ei,$e,ue,lt,we,xe,xa,kh,Zn,jr,_s,sA,rg,fe,ke,uo,pt,Vf,jf,Wf,zf,Bf,Gf,Uf,Hf,$f,qf,Lr,Vr,Tf,Xf,eg,ae,NM,yn,gA],styles:[".mat-elevation-z0[_ngcontent-%COMP%], .mat-mdc-elevation-specific.mat-elevation-z0[_ngcontent-%COMP%]{box-shadow:var(--mat-app-elevation-shadow-level-0, none)}.mat-elevation-z1[_ngcontent-%COMP%], .mat-mdc-elevation-specific.mat-elevation-z1[_ngcontent-%COMP%]{box-shadow:var(--mat-app-elevation-shadow-level-1, none)}.mat-elevation-z2[_ngcontent-%COMP%], .mat-mdc-elevation-specific.mat-elevation-z2[_ngcontent-%COMP%]{box-shadow:var(--mat-app-elevation-shadow-level-2, none)}.mat-elevation-z3[_ngcontent-%COMP%], .mat-mdc-elevation-specific.mat-elevation-z3[_ngcontent-%COMP%]{box-shadow:var(--mat-app-elevation-shadow-level-3, none)}.mat-elevation-z4[_ngcontent-%COMP%], .mat-mdc-elevation-specific.mat-elevation-z4[_ngcontent-%COMP%]{box-shadow:var(--mat-app-elevation-shadow-level-4, none)}.mat-elevation-z5[_ngcontent-%COMP%], .mat-mdc-elevation-specific.mat-elevation-z5[_ngcontent-%COMP%]{box-shadow:var(--mat-app-elevation-shadow-level-5, none)}.mat-elevation-z6[_ngcontent-%COMP%], .mat-mdc-elevation-specific.mat-elevation-z6[_ngcontent-%COMP%]{box-shadow:var(--mat-app-elevation-shadow-level-6, none)}.mat-elevation-z7[_ngcontent-%COMP%], .mat-mdc-elevation-specific.mat-elevation-z7[_ngcontent-%COMP%]{box-shadow:var(--mat-app-elevation-shadow-level-7, none)}.mat-elevation-z8[_ngcontent-%COMP%], .mat-mdc-elevation-specific.mat-elevation-z8[_ngcontent-%COMP%]{box-shadow:var(--mat-app-elevation-shadow-level-8, none)}.mat-elevation-z9[_ngcontent-%COMP%], .mat-mdc-elevation-specific.mat-elevation-z9[_ngcontent-%COMP%]{box-shadow:var(--mat-app-elevation-shadow-level-9, none)}.mat-elevation-z10[_ngcontent-%COMP%], .mat-mdc-elevation-specific.mat-elevation-z10[_ngcontent-%COMP%]{box-shadow:var(--mat-app-elevation-shadow-level-10, none)}.mat-elevation-z11[_ngcontent-%COMP%], .mat-mdc-elevation-specific.mat-elevation-z11[_ngcontent-%COMP%]{box-shadow:var(--mat-app-elevation-shadow-level-11, none)}.mat-elevation-z12[_ngcontent-%COMP%], .mat-mdc-elevation-specific.mat-elevation-z12[_ngcontent-%COMP%]{box-shadow:var(--mat-app-elevation-shadow-level-12, none)}.mat-elevation-z13[_ngcontent-%COMP%], .mat-mdc-elevation-specific.mat-elevation-z13[_ngcontent-%COMP%]{box-shadow:var(--mat-app-elevation-shadow-level-13, none)}.mat-elevation-z14[_ngcontent-%COMP%], .mat-mdc-elevation-specific.mat-elevation-z14[_ngcontent-%COMP%]{box-shadow:var(--mat-app-elevation-shadow-level-14, none)}.mat-elevation-z15[_ngcontent-%COMP%], .mat-mdc-elevation-specific.mat-elevation-z15[_ngcontent-%COMP%]{box-shadow:var(--mat-app-elevation-shadow-level-15, none)}.mat-elevation-z16[_ngcontent-%COMP%], .mat-mdc-elevation-specific.mat-elevation-z16[_ngcontent-%COMP%]{box-shadow:var(--mat-app-elevation-shadow-level-16, none)}.mat-elevation-z17[_ngcontent-%COMP%], .mat-mdc-elevation-specific.mat-elevation-z17[_ngcontent-%COMP%]{box-shadow:var(--mat-app-elevation-shadow-level-17, none)}.mat-elevation-z18[_ngcontent-%COMP%], .mat-mdc-elevation-specific.mat-elevation-z18[_ngcontent-%COMP%]{box-shadow:var(--mat-app-elevation-shadow-level-18, none)}.mat-elevation-z19[_ngcontent-%COMP%], .mat-mdc-elevation-specific.mat-elevation-z19[_ngcontent-%COMP%]{box-shadow:var(--mat-app-elevation-shadow-level-19, none)}.mat-elevation-z20[_ngcontent-%COMP%], .mat-mdc-elevation-specific.mat-elevation-z20[_ngcontent-%COMP%]{box-shadow:var(--mat-app-elevation-shadow-level-20, none)}.mat-elevation-z21[_ngcontent-%COMP%], .mat-mdc-elevation-specific.mat-elevation-z21[_ngcontent-%COMP%]{box-shadow:var(--mat-app-elevation-shadow-level-21, none)}.mat-elevation-z22[_ngcontent-%COMP%], .mat-mdc-elevation-specific.mat-elevation-z22[_ngcontent-%COMP%]{box-shadow:var(--mat-app-elevation-shadow-level-22, none)}.mat-elevation-z23[_ngcontent-%COMP%], .mat-mdc-elevation-specific.mat-elevation-z23[_ngcontent-%COMP%]{box-shadow:var(--mat-app-elevation-shadow-level-23, none)}.mat-elevation-z24[_ngcontent-%COMP%], .mat-mdc-elevation-specific.mat-elevation-z24[_ngcontent-%COMP%]{box-shadow:var(--mat-app-elevation-shadow-level-24, none)}html[_ngcontent-%COMP%]{--mat-sys-on-surface: initial}.mat-app-background[_ngcontent-%COMP%]{background-color:var(--mat-app-background-color, var(--mat-sys-background, transparent));color:var(--mat-app-text-color, var(--mat-sys-on-background, inherit))}.header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;flex-wrap:wrap;margin:1rem 1rem 0rem}.buttons[_ngcontent-%COMP%]{display:flex;flex-direction:row;align-items:center;flex-wrap:wrap}.buttons[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{margin-right:1rem;margin-bottom:1rem}.buttons[_ngcontent-%COMP%] .material-icons[_ngcontent-%COMP%]{margin-right:.1rem}.buttons[_ngcontent-%COMP%] .mat-mdc-raised-button[_ngcontent-%COMP%]:hover:not([disabled]){background-color:#fafafa;color:#000}button.mat-mdc-menu-item[_ngcontent-%COMP%]{height:2rem;line-height:2rem}.navigation[_ngcontent-%COMP%]{display:flex;justify-content:flex-start;flex-wrap:wrap}.reload[_ngcontent-%COMP%]{margin-top:.5rem}.table[_ngcontent-%COMP%]{margin:0rem 1rem;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-o-user-select:none;user-select:none}.footer[_ngcontent-%COMP%]{margin:1em;display:flex;justify-content:flex-end}mat-cell[_ngcontent-%COMP%]:first-of-type, mat-header-cell[_ngcontent-%COMP%]:first-of-type{padding-left:.5rem}mat-row[_ngcontent-%COMP%]:hover{background-color:#a0b0d0;cursor:pointer}.check[_ngcontent-%COMP%]{margin-left:.5rem;font-size:1.5rem;width:1.5rem}mat-table[_ngcontent-%COMP%]{width:100%;font-weight:300}.mat-column-detail-column[_ngcontent-%COMP%]{max-width:1.5rem;justify-content:center;color:#000!important;padding-right:.5rem}.detail-launcher[_ngcontent-%COMP%]{display:none}.mat-mdc-row[_ngcontent-%COMP%]:hover .detail-launcher[_ngcontent-%COMP%]{display:block}.mat-column-selection-column[_ngcontent-%COMP%]{max-width:2rem;justify-content:center;color:#000!important}.menu-warn[_ngcontent-%COMP%]{color:red}.menu-link[_ngcontent-%COMP%]{color:#00f}.loading[_ngcontent-%COMP%]{margin-top:2rem;margin-bottom:2rem;display:flex;justify-content:center} .mat-mdc-menu-panel{min-height:3rem} .mat-mdc-menu-panel.mat-mdc-menu-panel{max-width:32rem} .mat-mdc-paginator-range-label{min-width:6em}.mat-mdc-menu-item[_ngcontent-%COMP%]{min-height:2.5rem} .dark-theme .mat-mdc-paginator-container{background-color:#303030} .dark-theme .buttons .mat-mdc-raised-button:hover:not([disabled]){background-color:#303030;color:#fff} .dark-theme .mat-column-detail-column{color:#fff!important} .dark-theme .mat-column-selection-column{color:#fff!important} .dark-theme .menu-warn{color:red} .dark-theme .menu-link{color:#00f}.filter[_ngcontent-%COMP%]{display:flex;align-items:center;width:16rem}.filter[_ngcontent-%COMP%] .mat-mdc-form-field-infix{min-height:3rem;padding-top:1rem!important;padding-bottom:1rem!important}.filter[_ngcontent-%COMP%] .mat-mdc-form-field-bottom-align{height:0px}.mat-column-token[_ngcontent-%COMP%]{overflow-wrap:anywhere}"]});let n=i;return n})();var _A='pause'+django.gettext("Maintenance")+"",RG='pause'+django.gettext("Exit maintenance mode")+"",OG='pause'+django.gettext("Enter maintenance mode")+"",pw=(()=>{let i=class i{constructor(t,o,r){this.route=t,this.rest=o,this.api=r,this.cButtons=[{id:"maintenance",html:_A,type:ct.SINGLE_SELECT}]}get customButtons(){return this.api.user.isAdmin?this.cButtons:[]}ngOnInit(){}onNew(t){this.api.gui.forms.typedNewForm(t,django.gettext("New provider"),!0)}onEdit(t){this.api.gui.forms.typedEditForm(t,django.gettext("Edit provider"),!0)}onDelete(t){this.api.gui.forms.deleteForm(t,django.gettext("Delete provider"))}onMaintenance(t){let o=t.table.selection.selected[0],r=o.maintenance_mode?django.gettext("Exit maintenance mode?"):django.gettext("Enter maintenance mode?");this.api.gui.questionDialog(django.gettext("Maintenance mode for")+" "+o.name,r).then(a=>{a&&this.rest.providers.maintenance(o.id).then(()=>{t.table.overview()})})}onRowSelect(t){let o=t.table;if(o.selection.selected.length>1||o.selection.selected.length===0){this.customButtons[0].html=_A;return}o.selection.selected[0].maintenance_mode?this.customButtons[0].html=RG:this.customButtons[0].html=OG}onDetail(t){this.api.navigation.gotoService(t.param.id)}processElement(t){t.maintenance_state=t.maintenance_mode?django.gettext("In Maintenance"):django.gettext("Active")}onLoad(t){t.param===!0&&t.table.selectElement("id",this.route.snapshot.paramMap.get("provider"))}};i.\u0275fac=function(o){return new(o||i)(C(Re),C(Z),C(B))},i.\u0275cmp=E({type:i,selectors:[["uds-providers"]],standalone:!1,decls:1,vars:7,consts:[["tableId","service-providers","icon","providers",3,"customButtonAction","newAction","editAction","deleteAction","rowSelected","detailAction","loaded","rest","onItem","multiSelect","allowExport","hasPermissions","customButtons","pageSize"]],template:function(o,r){o&1&&(c(0,"uds-table",0),b("customButtonAction",function(s){return r.onMaintenance(s)})("newAction",function(s){return r.onNew(s)})("editAction",function(s){return r.onEdit(s)})("deleteAction",function(s){return r.onDelete(s)})("rowSelected",function(s){return r.onRowSelect(s)})("detailAction",function(s){return r.onDetail(s)})("loaded",function(s){return r.onLoad(s)}),d()),o&2&&p("rest",r.rest.providers)("onItem",r.processElement)("multiSelect",!0)("allowExport",!0)("hasPermissions",!0)("customButtons",r.customButtons)("pageSize",r.api.config.admin.page_size)},dependencies:[Ie],styles:[".row-maintenance-true>mat-cell{color:#dc3131!important} .mat-column-services_count, .mat-column-user_services_count{max-width:7rem;justify-content:center} .mat-column-maintenance_state{max-width:10rem;justify-content:center}"]});let n=i;return n})();var po=class{constructor(i,e,t,o){this.title=i,this.data=e,this.columns=t,this.id=o,this.columnsDefinition=Array.from(t,r=>{let a={};return a[r.field]={visible:!0,title:r.title,type:r.type===void 0?_n.ALPHANUMERIC:r.type},a})}get(i){return Promise.resolve({})}getLogs(i){return Promise.resolve([])}overview(i){return typeof this.data=="function"?Promise.resolve(this.data()):Promise.resolve(this.data)}summary(i){return this.overview()}put(i,e){return Promise.resolve()}create(i){return Promise.resolve()}save(i,e){return Promise.resolve()}test(i,e){return Promise.resolve("")}delete(i){return Promise.resolve()}permision(){return Nr.ALL}getPermissions(i){return Promise.resolve([])}addPermission(i,e,t,o){return Promise.resolve({})}revokePermission(i){return Promise.resolve()}types(){return Promise.resolve([])}gui(i){return Promise.resolve({})}callback(i,e){return Promise.resolve([])}tableInfo(){return Promise.resolve({fields:this.columnsDefinition,title:this.title})}detail(i,e){return null}invoke(i,e){return Promise.resolve({})}};var PG=()=>[5,10,25,100,1e3];function FG(n,i){if(n&1){let e=k();c(0,"button",24),b("click",function(){y(e);let o=_();return o.filterText="",w(o.applyFilter())}),c(1,"i",8),g(2,"close"),d()()}}function NG(n,i){if(n&1&&(c(0,"mat-header-cell",28),g(1),d()),n&2){let e=_().$implicit;u(),Ge(e)}}function LG(n,i){if(n&1&&(c(0,"mat-cell"),M(1,"div",29),d()),n&2){let e=i.$implicit,t=_().$implicit,o=_();u(),p("innerHtml",o.getRowColumn(e,t),qt)}}function VG(n,i){if(n&1&&(ut(0,25),x(1,NG,2,1,"mat-header-cell",26)(2,LG,2,1,"mat-cell",27),mt()),n&2){let e=i.$implicit;p("matColumnDef",e)}}function BG(n,i){n&1&&M(0,"mat-header-row")}function jG(n,i){if(n&1&&M(0,"mat-row",30),n&2){let e=i.$implicit,t=_();p("ngClass",t.rowClass(e))}}var Ri=(()=>{let i=class i{constructor(t){this.api=t,this.rest={},this.itemId="",this.tableId="",this.pageSize=10,this.paginator={},this.sort={},this.filterText="",this.title="Logs",this.displayedColumns=["date","level","source","message"],this.columns=[],this.dataSource=new $l([]),this.selection=new Rr}ngOnInit(){this.tableId=this.tableId||this.rest.id,this.dataSource.paginator=this.paginator,this.dataSource.sort=this.sort,this.dataSource.sort.active=this.api.getFromStorage("logs-sort-column")||"date",this.dataSource.sort.direction=this.api.getFromStorage("logs-sort-direction")||"desc";for(let t of this.displayedColumns){let o=t==="date"?_n.DATETIMESEC:_n.ALPHANUMERIC;this.columns.push({name:t,title:t,type:o})}this.filterText=this.api.getFromStorage(this.tableId+"filterValue")||"",this.applyFilter(),this.overview()}overview(){return H(this,null,function*(){this.dataSource.data=yield this.rest.getLogs(this.itemId)})}selectElement(t,o){}getRowColumn(t,o){let r=t[o];return o==="date"?r=qn("SHORT_DATE_FORMAT",r," H:i:s"):o==="level"&&(r=iT(r)),r}rowClass(t){return["level-"+t.level]}applyFilter(){this.api.putOnStorage(this.tableId+"filterValue",this.filterText),this.dataSource.filter=this.filterText.trim().toLowerCase()}sortChanged(t){this.api.putOnStorage("logs-sort-column",t.active),this.api.putOnStorage("logs-sort-direction",t.direction)}export(){ig(this)}keyDown(t){switch(t.keyCode){case 36:this.paginator.firstPage(),t.preventDefault();break;case 35:this.paginator.lastPage(),t.preventDefault();break;case 39:this.paginator.nextPage(),t.preventDefault();break;case 37:this.paginator.previousPage(),t.preventDefault();break}}};i.\u0275fac=function(o){return new(o||i)(C(B))},i.\u0275cmp=E({type:i,selectors:[["uds-logs-table"]],viewQuery:function(o,r){if(o&1&&(se(Lr,7),se(Vr,7)),o&2){let a;$(a=q())&&(r.paginator=a.first),$(a=q())&&(r.sort=a.first)}},inputs:{rest:"rest",itemId:"itemId",tableId:"tableId",pageSize:"pageSize"},standalone:!1,decls:37,vars:14,consts:[[1,"card"],[1,"card-header"],[1,"card-title"],[3,"src"],[1,"card-content"],[1,"header"],[1,"buttons"],["mat-raised-button","",3,"click"],[1,"material-icons"],[1,"button-text"],[1,"navigation"],[1,"filter"],["matInput","",3,"keyup","ngModelChange","ngModel"],["mat-button","","matSuffix","","mat-icon-button","","aria-label","Clear",3,"click",4,"ngIf"],[1,"paginator"],[3,"pageSize","hidePageSize","pageSizeOptions","showFirstLastButtons"],[1,"reload"],["mat-icon-button","",3,"click"],["tabindex","0",1,"table",3,"keydown"],["matSort","",3,"matSortChange","dataSource"],[3,"matColumnDef",4,"ngFor","ngForOf"],[4,"matHeaderRowDef"],[3,"ngClass",4,"matRowDef","matRowDefColumns"],[1,"footer"],["mat-button","","matSuffix","","mat-icon-button","","aria-label","Clear",3,"click"],[3,"matColumnDef"],["mat-sort-header","",4,"matHeaderCellDef"],[4,"matCellDef"],["mat-sort-header",""],[3,"innerHtml"],[3,"ngClass"]],template:function(o,r){o&1&&(c(0,"div",0)(1,"div",1)(2,"div",2),M(3,"img",3),g(4," \xA0"),c(5,"uds-translate"),g(6,"Logs"),d()()(),c(7,"div",4)(8,"div",5)(9,"div",6)(10,"a",7),b("click",function(){return r.export()}),c(11,"i",8),g(12,"import_export"),d(),c(13,"span",9)(14,"uds-translate"),g(15,"Export"),d()()()(),c(16,"div",10)(17,"div",11)(18,"uds-translate"),g(19,"Filter"),d(),g(20,"\xA0 "),c(21,"mat-form-field")(22,"input",12),b("keyup",function(){return r.applyFilter()}),U("ngModelChange",function(s){return W(r.filterText,s)||(r.filterText=s),s}),d(),x(23,FG,3,0,"button",13),gt(24,"notEmpty"),d()(),c(25,"div",14),M(26,"mat-paginator",15),d(),c(27,"div",16)(28,"a",17),b("click",function(){return r.overview()}),c(29,"i",8),g(30,"autorenew"),d()()()()(),c(31,"div",18),b("keydown",function(s){return r.keyDown(s)}),c(32,"mat-table",19),b("matSortChange",function(s){return r.sortChanged(s)}),x(33,VG,3,1,"ng-container",20)(34,BG,1,0,"mat-header-row",21)(35,jG,1,1,"mat-row",22),d()(),M(36,"div",23),d()()),o&2&&(u(3),p("src",r.api.staticURL("admin/img/icons/logs.png"),Se),u(19),z("ngModel",r.filterText),u(),p("ngIf",Ct(24,11,r.filterText)),u(3),p("pageSize",r.pageSize)("hidePageSize",!0)("pageSizeOptions",rl(13,PG))("showFirstLastButtons",!0),u(6),p("dataSource",r.dataSource),u(),p("ngForOf",r.displayedColumns),u(),p("matHeaderRowDef",r.displayedColumns),u(),p("matRowDefColumns",r.displayedColumns))},dependencies:[Ei,$e,ue,lt,we,xe,xa,Te,kh,Zn,fe,uo,pt,Vf,jf,Wf,zf,Bf,Gf,Uf,Hf,$f,qf,Lr,Vr,Tf,ae,yn],styles:[".header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;flex-wrap:wrap;margin:1rem 1rem 0rem}.navigation[_ngcontent-%COMP%]{display:flex;justify-content:flex-start;flex-wrap:wrap}.reload[_ngcontent-%COMP%]{margin-top:.5rem}.table[_ngcontent-%COMP%]{margin:0rem 1rem;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-o-user-select:none;user-select:none}.mat-column-date[_ngcontent-%COMP%]{min-width:12rem;max-width:20rem}.mat-column-level[_ngcontent-%COMP%]{max-width:8rem;text-align:center}.mat-column-source[_ngcontent-%COMP%]{max-width:8rem} .level-60000>.mat-mdc-cell{color:#ff1e1e!important} .level-50000>.mat-mdc-cell{color:#ff1e1e!important} .level-40000>.mat-mdc-cell{color:#d65014!important}.filter[_ngcontent-%COMP%]{display:flex;align-items:center;width:16rem}.filter[_ngcontent-%COMP%] .mat-mdc-form-field-infix{min-height:3rem;padding-top:1rem!important;padding-bottom:1rem!important}.filter[_ngcontent-%COMP%] .mat-mdc-form-field-bottom-align{height:0px}"]});let n=i;return n})();function zG(n,i){n&1&&(c(0,"uds-translate"),g(1,"Services pools"),d())}function UG(n,i){n&1&&(c(0,"uds-translate"),g(1,"Logs"),d())}var HG=[{field:"name",title:django.gettext("Pool")},{field:"state",title:django.gettext("State")},{field:"user_services_count",title:django.gettext("User Services")}],vA=(()=>{let i=class i{constructor(t,o,r,a){this.api=t,this.rest=o,this.dialogRef=r,this.customButtons=[Mn.getGotoButton(zd,"id")],this.servicePools={},this.services=a.services,this.service=a.service}static launch(t,o,r){let a=window.innerWidth<800?"80%":"60%",s=t.gui.dialog.open(i,{width:a,position:{top:window.innerWidth<800?"0px":"7rem"},data:{service:r,services:o},disableClose:!1})}ngOnInit(){let t=()=>this.services.invoke(this.service.id+"/servicepools");this.servicePools=new po(django.gettext("Service pools"),t,HG,this.service.id+"infopsls")}};i.\u0275fac=function(o){return new(o||i)(C(B),C(Z),C(Ne),C(Ke))},i.\u0275cmp=E({type:i,selectors:[["uds-service-information"]],standalone:!1,decls:17,vars:8,consts:[["mat-dialog-title",""],["mat-tab-label",""],[3,"rest","customButtons","pageSize"],[1,"content"],[3,"rest","itemId","tableId","pageSize"],["mat-raised-button","","mat-dialog-close","","color","primary"]],template:function(o,r){o&1&&(c(0,"h4",0)(1,"uds-translate"),g(2,"Information for"),d(),g(3),d(),c(4,"mat-dialog-content")(5,"mat-tab-group")(6,"mat-tab"),x(7,zG,2,0,"ng-template",1),M(8,"uds-table",2),d(),c(9,"mat-tab"),x(10,UG,2,0,"ng-template",1),c(11,"div",3),M(12,"uds-logs-table",4),d()()()(),c(13,"mat-dialog-actions")(14,"button",5)(15,"uds-translate"),g(16,"Ok"),d()()()),o&2&&(u(3),O(" ",r.service.name,` `),u(5),p("rest",r.servicePools)("customButtons",r.customButtons)("pageSize",6),u(4),p("rest",r.services)("itemId",r.service.id)("tableId","serviceInfo-d-log"+r.service.id)("pageSize",5))},dependencies:[Te,Qt,Xe,et,Je,Jt,en,rn,ae,Ie,Ri],styles:[".mat-mdc-dialog-actions[_ngcontent-%COMP%]{justify-content:flex-end}.mat-column-count[_ngcontent-%COMP%], .mat-column-image[_ngcontent-%COMP%], .mat-column-state[_ngcontent-%COMP%]{max-width:7rem;justify-content:center}.navigation[_ngcontent-%COMP%]{margin-top:1rem;display:flex;justify-content:flex-end;flex-wrap:wrap}.reload[_ngcontent-%COMP%]{margin-top:.5rem}"]});let n=i;return n})();function WG(n,i){if(n&1&&(c(0,"div",3),M(1,"div",4)(2,"div",5),d()),n&2){let e=i.$implicit;u(),p("innerHTML",e.gui.label,qt),u(),p("innerHTML",e.value,qt)}}var ho=(()=>{let i=class i{constructor(t){this.api=t,this.gui=[]}ngOnInit(){this.processFields()}processFields(){if(!this.gui||!this.value)return;let t=this.gui.filter(o=>o.gui.type!==Xn.HIDDEN);for(let o of t){let r=this.value[o.name];switch(o.gui.type){case Xn.CHECKBOX:o.value=r?django.gettext("Yes"):django.gettext("No");break;case Xn.PASSWORD:o.value=django.gettext("(hidden)");break;case Xn.CHOICE:{let a=Pd.locateChoice(r,o);o.value=a.text;break}case Xn.MULTI_CHOICE:o.value=django.gettext("Selected items :")+r.length;break;case Xn.IMAGECHOICE:{let a=Pd.locateChoice(r,o);a.img&&(o.value=this.api.safeString(this.api.gui.icon(a.img)+" "+a.text));break}case Xn.INFO:continue;default:o.value=r}(o.value===""||o.value===void 0||o.value===null)&&(o.value="(empty)")}return t}};i.\u0275fac=function(o){return new(o||i)(C(B))},i.\u0275cmp=E({type:i,selectors:[["uds-information"]],inputs:{value:"value",gui:"gui"},standalone:!1,decls:4,vars:1,consts:[[1,"card"],[1,"card-content"],["class","item",4,"ngFor","ngForOf"],[1,"item"],[1,"label",3,"innerHTML"],[1,"value",3,"innerHTML"]],template:function(o,r){o&1&&(c(0,"div",0)(1,"div",1),x(2,WG,3,2,"div",2),d(),M(3,"div"),d()),o&2&&(u(2),p("ngForOf",r.processFields()))},dependencies:[$e],styles:[".card-content[_ngcontent-%COMP%]{padding:1rem;display:flex;flex-direction:column}.item[_ngcontent-%COMP%]{padding-bottom:.5rem;display:flex}.label[_ngcontent-%COMP%]{font-weight:700;width:32rem;overflow-x:hidden;text-overflow:ellipsis;text-align:end;margin-right:1rem;align-self:center}"]});let n=i;return n})();var GG=n=>["/services","providers",n];function $G(n,i){n&1&&(c(0,"uds-translate"),g(1,"Summary"),d())}function qG(n,i){if(n&1&&M(0,"uds-information",15),n&2){let e=_(2);p("value",e.provider)("gui",e.gui)}}function YG(n,i){n&1&&(c(0,"uds-translate"),g(1,"Services"),d())}function QG(n,i){n&1&&(c(0,"uds-translate"),g(1,"Usage"),d())}function KG(n,i){n&1&&(c(0,"uds-translate"),g(1,"Logs"),d())}function ZG(n,i){if(n&1){let e=k();c(0,"div",6)(1,"div",7)(2,"mat-tab-group",8),U("selectedIndexChange",function(o){y(e);let r=_();return W(r.selectedTab,o)||(r.selectedTab=o),w(o)}),c(3,"mat-tab"),x(4,$G,2,0,"ng-template",9),c(5,"div",10),x(6,qG,1,2,"uds-information",11),d()(),c(7,"mat-tab"),x(8,YG,2,0,"ng-template",9),c(9,"div",10)(10,"uds-table",12),b("newAction",function(o){y(e);let r=_();return w(r.onNewService(o))})("editAction",function(o){y(e);let r=_();return w(r.onEditService(o))})("deleteAction",function(o){y(e);let r=_();return w(r.onDeleteService(o))})("customButtonAction",function(o){y(e);let r=_();return w(r.onInformation(o))})("loaded",function(o){y(e);let r=_();return w(r.onLoad(o))}),d()()(),c(11,"mat-tab"),x(12,QG,2,0,"ng-template",9),c(13,"div",10)(14,"uds-table",13),b("deleteAction",function(o){y(e);let r=_();return w(r.onDeleteUsage(o))}),d()()(),c(15,"mat-tab"),x(16,KG,2,0,"ng-template",9),c(17,"div",10),M(18,"uds-logs-table",14),d()()()()()}if(n&2){let e=_();u(2),z("selectedIndex",e.selectedTab),p("@.disabled",!0),u(4),p("ngIf",e.provider&&e.gui),u(4),p("rest",e.services)("multiSelect",!0)("allowExport",!0)("customButtons",e.customButtons)("pageSize",e.api.config.admin.page_size)("tableId","providers-d-services"+e.provider.id),u(4),p("rest",e.usage)("multiSelect",!0)("allowExport",!0)("pageSize",e.api.config.admin.page_size)("tableId","providers-d-usage"+e.provider.id),u(4),p("rest",e.services.parentModel)("itemId",e.provider.id)("tableId","providers-d-log"+e.provider.id)}}var hw=(()=>{let i=class i{constructor(t,o,r){this.route=t,this.rest=o,this.api=r,this.customButtons=[{id:"info",html:'info '+django.gettext("Information")+"",type:ct.ONLY_MENU}],this.provider=null,this.gui=[],this.services={},this.usage={},this.selectedTab=1}ngOnInit(){let t=this.route.snapshot.paramMap.get("provider");t&&(this.services=this.rest.providers.detail(t,"services"),this.usage=this.rest.providers.detail(t,"usage"),this.services.parentModel.get(t).then(o=>{this.provider=o,this.services.parentModel.gui(o.type).then(r=>{this.gui=r})}))}onInformation(t){vA.launch(this.api,this.services,t.table.selection.selected[0])}onNewService(t){let o=django.gettext("New service")+": "+(t.param.name||"");this.api.gui.forms.typedNewForm(t,o,!1)}onEditService(t){let o=django.gettext("Edit service")+": "+(t.table.selection.selected[0].name||"");this.api.gui.forms.typedEditForm(t,o,!1)}onDeleteService(t){this.api.gui.forms.deleteForm(t,django.gettext("Delete service"))}onDeleteUsage(t){this.api.gui.forms.deleteForm(t,django.gettext("Delete user service"))}onLoad(t){if(t.param===!0){let o=this.route.snapshot.paramMap.get("service");if(o!==void 0){this.selectedTab=1;let r=t.table;r.dataSource.data.forEach(a=>{a.id===o&&r.selection.select(a)})}}}};i.\u0275fac=function(o){return new(o||i)(C(Re),C(Z),C(B))},i.\u0275cmp=E({type:i,selectors:[["uds-provider-detail"]],standalone:!1,decls:9,vars:6,consts:[[1,"detail"],[1,"mat-elevation-z4","title"],[3,"routerLink"],[1,"material-icons"],[3,"src"],["class","card",4,"ngIf"],[1,"card"],[1,"card-content"],["backgroundColor","primary",3,"selectedIndexChange","selectedIndex"],["mat-tab-label",""],[1,"content"],[3,"value","gui",4,"ngIf"],["icon","providers",3,"newAction","editAction","deleteAction","customButtonAction","loaded","rest","multiSelect","allowExport","customButtons","pageSize","tableId"],["icon","usage",3,"deleteAction","rest","multiSelect","allowExport","pageSize","tableId"],[3,"rest","itemId","tableId"],[3,"value","gui"]],template:function(o,r){o&1&&(c(0,"div",0)(1,"div",1)(2,"a",2)(3,"i",3),g(4,"arrow_back"),d()(),g(5," \xA0"),M(6,"img",4),g(7),d(),x(8,ZG,19,17,"div",5),d()),o&2&&(u(2),p("routerLink",Un(4,GG,r.services.parentId)),u(4),p("src",r.api.staticURL("admin/img/icons/services.png"),Se),u(),O(" \xA0",r.provider==null?null:r.provider.name," "),u(),p("ngIf",r.provider!==null))},dependencies:[ue,bn,Jt,en,rn,ae,Ie,Ri,ho],encapsulation:2});let n=i;return n})();var fw=(()=>{let i=class i{constructor(t,o,r){this.route=t,this.rest=o,this.api=r}ngOnInit(){}onNew(t){this.api.gui.forms.typedNewForm(t,django.gettext("New server"),!0)}onEdit(t){this.api.gui.forms.typedEditForm(t,django.gettext("Edit server"),!0)}onDelete(t){this.api.gui.forms.deleteForm(t,django.gettext("Delete server"))}onDetail(t){this.api.navigation.gotoServerDetail(t.param.id)}processElement(t){t.maintenance_state=t.maintenance_mode?django.gettext("In Maintenance"):django.gettext("Active")}onLoad(t){t.param===!0&&t.table.selectElement("id",this.route.snapshot.paramMap.get("server"))}};i.\u0275fac=function(o){return new(o||i)(C(Re),C(Z),C(B))},i.\u0275cmp=E({type:i,selectors:[["uds-servers"]],standalone:!1,decls:1,vars:7,consts:[["tableId","server-groups-table","icon","servers",3,"newAction","editAction","deleteAction","detailAction","loaded","rest","onItem","multiSelect","allowExport","hasPermissions","newGrouped","pageSize"]],template:function(o,r){o&1&&(c(0,"uds-table",0),b("newAction",function(s){return r.onNew(s)})("editAction",function(s){return r.onEdit(s)})("deleteAction",function(s){return r.onDelete(s)})("detailAction",function(s){return r.onDetail(s)})("loaded",function(s){return r.onLoad(s)}),d()),o&2&&p("rest",r.rest.serverGroups)("onItem",r.processElement)("multiSelect",!0)("allowExport",!0)("hasPermissions",!0)("newGrouped",!0)("pageSize",r.api.config.admin.page_size)},dependencies:[Ie],encapsulation:2});let n=i;return n})();var bA=(()=>{let i=class i{constructor(t,o,r){this.api=t,this.dialogRef=o,this.data=r,this.filename="",this.contains_header=!0,this.separator=",",this.result=[],this.title="Import CSV",this.help="Select a CSV file to import",r&&(this.title=r.title||this.title,this.help=r.help||this.help)}static launch(t,o){return H(this,null,function*(){let r=window.innerWidth<800?"60%":"40%",a=t.gui.dialog.open(i,{width:r,data:o,disableClose:!1});return new Promise((s,l)=>{a.afterClosed().subscribe(m=>{s({data:a.componentInstance.result})})})})}loadCSV(t){return H(this,null,function*(){let o=t.split(` `).map(a=>a.trim());if(o.length>=1024)return console.log("Too many lines, do not loaded (max is 1024)"),[];this.contains_header&&(o=o.slice(1));let r=[];for(let a of o){let s=a.split(this.separator);s.length===1&&s[0]===""||r.push(s)}return r})}onFileChange(t){return H(this,null,function*(){let o=t.target.files[0];if(!o)return;this.filename=o.name;let r=new FileReader,a=new Xt;r.onload=l=>{let m=r.result;a.resolve(m)},r.readAsText(o);let s=yield a;this.result=yield this.loadCSV(s)})}};i.\u0275fac=function(o){return new(o||i)(C(B),C(Ne),C(Ke))},i.\u0275cmp=E({type:i,selectors:[["uds-cvsimport"]],standalone:!1,decls:57,vars:8,consts:[["fileUpload",""],["mat-dialog-title",""],[3,"innerHTML"],[1,"content"],[1,"options"],[1,"field"],[3,"valueChange","value"],[3,"value"],["value",","],["value",";"],["value","|"],["value","tab"],[1,"upload"],["type","file","accept",".csv",1,"file-input",3,"change"],["type","text","matInput","","readonly","readonly",3,"ngModelChange","click","ngModel","placeholder","matTooltip"],["mat-raised-button","","mat-dialog-close","","color","primary"],["mat-raised-button","","mat-dialog-close","","color","warn",3,"click"]],template:function(o,r){if(o&1){let a=k();c(0,"h4",1)(1,"uds-translate"),g(2,"CVS Import options for"),d(),g(3,"\xA0"),M(4,"b",2),d(),c(5,"mat-dialog-content")(6,"div",3)(7,"div",4)(8,"div",5)(9,"mat-form-field")(10,"mat-label")(11,"uds-translate"),g(12,"Header"),d()(),c(13,"mat-select",6),U("valueChange",function(l){return y(a),W(r.contains_header,l)||(r.contains_header=l),w(l)}),c(14,"mat-option",7)(15,"uds-translate"),g(16,"CSV contains header line"),d()(),c(17,"mat-option",7)(18,"uds-translate"),g(19,"CSV DOES NOT contains header line"),d()()()()(),c(20,"div",5)(21,"mat-form-field")(22,"mat-label")(23,"uds-translate"),g(24,"Separator"),d()(),c(25,"mat-select",6),U("valueChange",function(l){return y(a),W(r.separator,l)||(r.separator=l),w(l)}),c(26,"mat-option",8)(27,"uds-translate"),g(28,"Use comma"),d(),g(29," (,)"),d(),c(30,"mat-option",9)(31,"uds-translate"),g(32,"Use semicolon"),d(),g(33," (;)"),d(),c(34,"mat-option",10)(35,"uds-translate"),g(36,"Use pipe"),d(),g(37," (|)"),d(),c(38,"mat-option",11)(39,"uds-translate"),g(40,"Use tab"),d(),g(41," (tab)"),d()()()()()(),c(42,"div",12)(43,"mat-form-field")(44,"mat-label")(45,"uds-translate"),g(46,"File"),d()(),c(47,"input",13,0),b("change",function(l){return y(a),w(r.onFileChange(l))}),d(),c(49,"input",14),U("ngModelChange",function(l){return y(a),W(r.filename,l)||(r.filename=l),w(l)}),b("click",function(){y(a);let l=be(48);return w(l.click())}),d()()()(),c(50,"mat-dialog-actions")(51,"button",15)(52,"uds-translate"),g(53,"Ok"),d()(),c(54,"button",16),b("click",function(){return y(a),w(r.filename="")}),c(55,"uds-translate"),g(56,"Cancel"),d()()()}o&2&&(u(4),p("innerHTML",r.title,qt),u(9),z("value",r.contains_header),u(),p("value",!0),u(3),p("value",!1),u(8),z("value",r.separator),u(24),z("ngModel",r.filename),p("placeholder","Click here to select file to import.")("matTooltip",r.help))},dependencies:[lt,we,xe,Te,ar,Qt,Xe,et,Je,fe,ke,pt,vt,nt,ae],styles:[".content[_ngcontent-%COMP%]{margin-top:.5rem;display:flex;flex-wrap:wrap;width:100%}.options[_ngcontent-%COMP%]{width:100%}mat-form-field[_ngcontent-%COMP%]{width:100%!important}.mat-mdc-form-field[_ngcontent-%COMP%]{min-width:100%}.file-input[_ngcontent-%COMP%]{display:none}"]});let n=i;return n})();var XG=n=>["/services","servers",n];function JG(n,i){n&1&&(c(0,"uds-translate"),g(1,"Summary"),d())}function e$(n,i){n&1&&(c(0,"uds-translate"),g(1,"Servers"),d())}function t$(n,i){if(n&1){let e=k();c(0,"div",6)(1,"div",7)(2,"mat-tab-group",8)(3,"mat-tab"),x(4,JG,2,0,"ng-template",9),c(5,"div",10),M(6,"uds-information",11),d()(),c(7,"mat-tab"),x(8,e$,2,0,"ng-template",9),c(9,"div",10)(10,"uds-table",12),b("newAction",function(o){y(e);let r=_();return w(r.onNew(o))})("editAction",function(o){y(e);let r=_();return w(r.onEdit(o))})("rowSelected",function(o){y(e);let r=_();return w(r.onRowSelect(o))})("deleteAction",function(o){y(e);let r=_();return w(r.onDelete(o))})("customButtonAction",function(o){y(e);let r=_();return w(r.customButtonAction(o))})("loaded",function(o){y(e);let r=_();return w(r.onLoad(o))}),d()()()()()()}if(n&2){let e=_();u(2),p("@.disabled",!0),u(4),p("value",e.server)("gui",e.gui),u(4),p("rest",e.servers)("multiSelect",!0)("allowExport",!0)("customButtons",e.customButtons)("pageSize",e.api.config.admin.page_size)("tableId","servers-d-servers"+e.server.id)}}var yA='pause'+django.gettext("Maintenance")+"",n$='pause'+django.gettext("Exit maintenance mode")+"",i$='pause'+django.gettext("Enter maintenance mode")+"",o$='import_export'+django.gettext("Import CSV")+"",wA=(()=>{let i=class i{constructor(t,o,r){this.route=t,this.rest=o,this.api=r,this.cButtons=[{id:"maintenance",html:yA,type:ct.SINGLE_SELECT}],this.server=null,this.gui=[],this.servers={}}get customButtons(){return this.api.user.isAdmin?this.cButtons:[]}ngOnInit(){return H(this,null,function*(){let t=this.route.snapshot.paramMap.get("server");t&&(this.servers=this.rest.serverGroups.detail(t,"servers"),this.server=yield this.servers.parentModel.get(t),this.gui=yield this.servers.parentModel.gui(this.server.type),this.server.type.startsWith("UNMANAGED")&&this.cButtons.push({id:"import-csv",html:o$,type:ct.ALWAYS}))})}onMaintenance(t){let o=t.table.selection.selected[0],r=o.maintenance_mode?django.gettext("Exit maintenance mode?"):django.gettext("Enter maintenance mode?");this.api.gui.questionDialog(django.gettext("Maintenance mode for")+" "+o.name,r).then(a=>{a&&this.servers.get(o.id+"/maintenance").then(()=>{t.table.overview()})})}onImportCSV(t){return H(this,null,function*(){let o=yield bA.launch(this.api,{title:django.gettext("Import Servers"),help:django.gettext('Format of file must be "hostname,ip,mac,...". All fields except hostname are optional. Separator can be configured.')});if(o.data.length==0)return;let r=yield this.servers.put({data:o.data},this.server.id+"/importcsv");r&&r.length>0&&this.api.gui.alert("Errors found importing data: ",r.slice(0,16).join(`
-`)),t.table.overview()})}customButtonAction(t){return H(this,null,function*(){if(t.param.id=="maintenance")return yield this.onMaintenance(t);if(t.param.id=="import-csv")return yield this.onImportCSV(t)})}onNew(t){this.api.gui.forms.typedNewForm(t,django.gettext("New server"),!0)}onEdit(t){this.api.gui.forms.typedEditForm(t,django.gettext("Edit server"),!0)}onDelete(t){this.api.gui.forms.deleteForm(t,django.gettext("Remove server from server group"),"hostname")}onRowSelect(t){let o=t.table;if(o.selection.selected.length>1||o.selection.selected.length===0){this.customButtons[0].html=yA;return}o.selection.selected[0].maintenance_mode?this.customButtons[0].html=n$:this.customButtons[0].html=i$}onLoad(t){if(t.param===!0){let o=this.route.snapshot.paramMap.get("server");if(o!==void 0){let r=t.table;r.dataSource.data.forEach(a=>{a.id===o&&r.selection.select(a)})}}}};i.\u0275fac=function(o){return new(o||i)(C(Re),C(Z),C(B))},i.\u0275cmp=E({type:i,selectors:[["uds-server-detail"]],standalone:!1,decls:9,vars:6,consts:[[1,"detail"],[1,"mat-elevation-z4","title"],[3,"routerLink"],[1,"material-icons"],[3,"src"],["class","card",4,"ngIf"],[1,"card"],[1,"card-content"],["backgroundColor","primary","selectedIndex","1"],["mat-tab-label",""],[1,"content"],[3,"value","gui"],["icon","servers",3,"newAction","editAction","rowSelected","deleteAction","customButtonAction","loaded","rest","multiSelect","allowExport","customButtons","pageSize","tableId"]],template:function(o,r){o&1&&(c(0,"div",0)(1,"div",1)(2,"a",2)(3,"i",3),g(4,"arrow_back"),d()(),g(5," \xA0"),M(6,"img",4),g(7),d(),x(8,t$,11,9,"div",5),d()),o&2&&(u(2),p("routerLink",Un(4,XG,r.servers.parentId)),u(4),p("src",r.api.staticURL("admin/img/icons/servers.png"),Se),u(),O(" \xA0",r.server==null?null:r.server.name," "),u(),p("ngIf",r.server!==null))},dependencies:[ue,bn,Jt,en,rn,ae,Ie,ho],styles:[".row-maintenance-true>mat-cell{color:orange!important}"]});let n=i;return n})();var gw=(()=>{let i=class i{constructor(t,o,r){this.api=t,this.route=o,this.rest=r}ngOnInit(){return H(this,null,function*(){let t=this.route.snapshot.paramMap.get("authenticator")})}onDetail(t){return H(this,null,function*(){this.api.navigation.gotoAuthenticatorDetail(t.param.id)})}onNew(t){return H(this,null,function*(){this.api.gui.forms.typedNewForm(t,django.gettext("New Authenticator"),!0)})}onEdit(t){return H(this,null,function*(){this.api.gui.forms.typedEditForm(t,django.gettext("Edit Authenticator"),!0)})}onDelete(t){return H(this,null,function*(){this.api.gui.forms.deleteForm(t,django.gettext("Delete Authenticator"))})}onLoad(t){return H(this,null,function*(){t.param===!0&&t.table.selectElement("id",this.route.snapshot.paramMap.get("authenticator"))})}processElement(t){t.visible=this.api.boolAsHumanString(t.visible)}};i.\u0275fac=function(o){return new(o||i)(C(B),C(Re),C(Z))},i.\u0275cmp=E({type:i,selectors:[["uds-authenticators"]],standalone:!1,decls:2,vars:6,consts:[["icon","authenticators",3,"newAction","editAction","deleteAction","detailAction","loaded","rest","multiSelect","allowExport","hasPermissions","onItem","pageSize"]],template:function(o,r){o&1&&(c(0,"div")(1,"uds-table",0),b("newAction",function(s){return r.onNew(s)})("editAction",function(s){return r.onEdit(s)})("deleteAction",function(s){return r.onDelete(s)})("detailAction",function(s){return r.onDetail(s)})("loaded",function(s){return r.onLoad(s)}),d()()),o&2&&(u(),p("rest",r.rest.authenticators)("multiSelect",!0)("allowExport",!0)("hasPermissions",!0)("onItem",r.processElement)("pageSize",r.api.config.admin.page_size))},dependencies:[Ie],encapsulation:2});let n=i;return n})();var _w=(()=>{let i=class i{constructor(t,o,r){this.api=t,this.route=o,this.rest=r}ngOnInit(){let t=this.route.snapshot.paramMap.get("mfa")}onNew(t){this.api.gui.forms.typedNewForm(t,django.gettext("New MFA"))}onEdit(t){this.api.gui.forms.typedEditForm(t,django.gettext("Edit MFA"))}onDelete(t){this.api.gui.forms.deleteForm(t,django.gettext("Delete MFA"))}onLoad(t){t.param===!0&&t.table.selectElement("id",this.route.snapshot.paramMap.get("mfa"))}};i.\u0275fac=function(o){return new(o||i)(C(B),C(Re),C(Z))},i.\u0275cmp=E({type:i,selectors:[["uds-mfas"]],standalone:!1,decls:2,vars:5,consts:[["icon","mfas",3,"newAction","editAction","deleteAction","loaded","rest","multiSelect","allowExport","hasPermissions","pageSize"]],template:function(o,r){o&1&&(c(0,"div")(1,"uds-table",0),b("newAction",function(s){return r.onNew(s)})("editAction",function(s){return r.onEdit(s)})("deleteAction",function(s){return r.onDelete(s)})("loaded",function(s){return r.onLoad(s)}),d()()),o&2&&(u(),p("rest",r.rest.mfas)("multiSelect",!0)("allowExport",!0)("hasPermissions",!0)("pageSize",r.api.config.admin.page_size))},dependencies:[Ie],encapsulation:2});let n=i;return n})();var r$=["panel"],a$=["*"];function s$(n,i){if(n&1){let e=k();c(0,"div",1,0),b("@panelAnimation.done",function(o){y(e);let r=_();return w(r._animationDone.next(o))}),re(2),d()}if(n&2){let e=i.id,t=_();Yt(t._classList),ne("mat-mdc-autocomplete-visible",t.showPanel)("mat-mdc-autocomplete-hidden",!t.showPanel)("mat-primary",t._color==="primary")("mat-accent",t._color==="accent")("mat-warn",t._color==="warn"),p("id",t.id)("@panelAnimation",t.isOpen?"visible":"hidden"),ee("aria-label",t.ariaLabel||null)("aria-labelledby",t._getPanelAriaLabelledby(e))}}var l$=mn("panelAnimation",[Ft("void, hidden",Me({opacity:0,transform:"scaleY(0.8)"})),xt(":enter, hidden => visible",[z1([It("0.03s linear",Me({opacity:1})),It("0.12s cubic-bezier(0, 0, 0.2, 1)",Me({transform:"scaleY(1)"}))])]),xt(":leave, visible => hidden",[It("0.075s linear",Me({opacity:0}))])]),vw=class{source;option;constructor(i,e){this.source=i,this.option=e}},CA=new R("mat-autocomplete-default-options",{providedIn:"root",factory:c$});function c$(){return{autoActiveFirstOption:!1,autoSelectActiveOption:!1,hideSingleSelectionIndicator:!1,requireSelection:!1}}var Yl=(()=>{class n{_changeDetectorRef=h(Ee);_elementRef=h(Q);_defaults=h(CA);_activeOptionChanges=ge.EMPTY;_animationDone=new T;_keyManager;showPanel=!1;get isOpen(){return this._isOpen&&this.showPanel}_isOpen=!1;_latestOpeningTrigger;_setColor(e){this._color=e,this._changeDetectorRef.markForCheck()}_color;template;panel;options;optionGroups;ariaLabel;ariaLabelledby;displayWith=null;autoActiveFirstOption;autoSelectActiveOption;requireSelection;panelWidth;disableRipple;optionSelected=new T;opened=new T;closed=new T;optionActivated=new T;set classList(e){this._classList=e,this._elementRef.nativeElement.className=""}_classList;get hideSingleSelectionIndicator(){return this._hideSingleSelectionIndicator}set hideSingleSelectionIndicator(e){this._hideSingleSelectionIndicator=e,this._syncParentProperties()}_hideSingleSelectionIndicator;_syncParentProperties(){if(this.options)for(let e of this.options)e._changeDetectorRef.markForCheck()}id=h(ft).getId("mat-autocomplete-");inertGroups;constructor(){let e=h(rt);this.inertGroups=e?.SAFARI||!1,this.autoActiveFirstOption=!!this._defaults.autoActiveFirstOption,this.autoSelectActiveOption=!!this._defaults.autoSelectActiveOption,this.requireSelection=!!this._defaults.requireSelection,this._hideSingleSelectionIndicator=this._defaults.hideSingleSelectionIndicator??!1}ngAfterContentInit(){this._keyManager=new kl(this.options).withWrap().skipPredicate(this._skipPredicate),this._activeOptionChanges=this._keyManager.change.subscribe(e=>{this.isOpen&&this.optionActivated.emit({source:this,option:this.options.toArray()[e]||null})}),this._setVisibility()}ngOnDestroy(){this._keyManager?.destroy(),this._activeOptionChanges.unsubscribe(),this._animationDone.complete()}_setScrollTop(e){this.panel&&(this.panel.nativeElement.scrollTop=e)}_getScrollTop(){return this.panel?this.panel.nativeElement.scrollTop:0}_setVisibility(){this.showPanel=!!this.options.length,this._changeDetectorRef.markForCheck()}_emitSelectEvent(e){let t=new vw(this,e);this.optionSelected.emit(t)}_getPanelAriaLabelledby(e){if(this.ariaLabel)return null;let t=e?e+" ":"";return this.ariaLabelledby?t+this.ariaLabelledby:e}_skipPredicate(){return!1}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=E({type:n,selectors:[["mat-autocomplete"]],contentQueries:function(t,o,r){if(t&1&&(He(r,nt,5),He(r,kd,5)),t&2){let a;$(a=q())&&(o.options=a),$(a=q())&&(o.optionGroups=a)}},viewQuery:function(t,o){if(t&1&&(se(wt,7),se(r$,5)),t&2){let r;$(r=q())&&(o.template=r.first),$(r=q())&&(o.panel=r.first)}},hostAttrs:[1,"mat-mdc-autocomplete"],inputs:{ariaLabel:[0,"aria-label","ariaLabel"],ariaLabelledby:[0,"aria-labelledby","ariaLabelledby"],displayWith:"displayWith",autoActiveFirstOption:[2,"autoActiveFirstOption","autoActiveFirstOption",G],autoSelectActiveOption:[2,"autoSelectActiveOption","autoSelectActiveOption",G],requireSelection:[2,"requireSelection","requireSelection",G],panelWidth:"panelWidth",disableRipple:[2,"disableRipple","disableRipple",G],classList:[0,"class","classList"],hideSingleSelectionIndicator:[2,"hideSingleSelectionIndicator","hideSingleSelectionIndicator",G]},outputs:{optionSelected:"optionSelected",opened:"opened",closed:"closed",optionActivated:"optionActivated"},exportAs:["matAutocomplete"],features:[ye([{provide:Td,useExisting:n}]),ce],ngContentSelectors:a$,decls:1,vars:0,consts:[["panel",""],["role","listbox",1,"mat-mdc-autocomplete-panel","mdc-menu-surface","mdc-menu-surface--open",3,"id"]],template:function(t,o){t&1&&(We(),x(0,s$,3,16,"ng-template"))},styles:["div.mat-mdc-autocomplete-panel{width:100%;max-height:256px;visibility:hidden;transform-origin:center top;overflow:auto;padding:8px 0;box-sizing:border-box;position:static;border-radius:var(--mat-autocomplete-container-shape, var(--mat-sys-corner-extra-small));box-shadow:var(--mat-autocomplete-container-elevation-shadow, 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12));background-color:var(--mat-autocomplete-background-color, var(--mat-sys-surface-container))}@media(forced-colors: active){div.mat-mdc-autocomplete-panel{outline:solid 1px}}.cdk-overlay-pane:not(.mat-mdc-autocomplete-panel-above) div.mat-mdc-autocomplete-panel{border-top-left-radius:0;border-top-right-radius:0}.mat-mdc-autocomplete-panel-above div.mat-mdc-autocomplete-panel{border-bottom-left-radius:0;border-bottom-right-radius:0;transform-origin:center bottom}div.mat-mdc-autocomplete-panel.mat-mdc-autocomplete-visible{visibility:visible}div.mat-mdc-autocomplete-panel.mat-mdc-autocomplete-hidden{visibility:hidden;pointer-events:none}mat-autocomplete{display:none}"],encapsulation:2,data:{animation:[l$]},changeDetection:0})}return n})();var d$={provide:bi,useExisting:ln(()=>bs),multi:!0};var xA=new R("mat-autocomplete-scroll-strategy",{providedIn:"root",factory:()=>{let n=h(Lt);return()=>n.scrollStrategies.reposition()}});function u$(n){return()=>n.scrollStrategies.reposition()}var m$={provide:xA,deps:[Lt],useFactory:u$},bs=(()=>{class n{_element=h(Q);_overlay=h(Lt);_viewContainerRef=h(kt);_zone=h(te);_changeDetectorRef=h(Ee);_dir=h(jt,{optional:!0});_formField=h(Ro,{optional:!0,host:!0});_document=h(de);_viewportRuler=h(Ii);_defaults=h(CA,{optional:!0});_overlayRef;_portal;_componentDestroyed=!1;_scrollStrategy=h(xA);_keydownSubscription;_outsideClickSubscription;_previousValue;_valueOnAttach;_valueOnLastKeydown;_positionStrategy;_manuallyFloatingLabel=!1;_closingActionsSubscription;_viewportSubscription=ge.EMPTY;_breakpointObserver=h(Il);_handsetLandscapeSubscription=ge.EMPTY;_canOpenOnNextFocus=!0;_valueBeforeAutoSelection;_pendingAutoselectedOption;_closeKeyEventStream=new j;_windowBlurHandler=()=>{this._canOpenOnNextFocus=this._document.activeElement!==this._element.nativeElement||this.panelOpen};_onChange=()=>{};_onTouched=()=>{};autocomplete;position="auto";connectedTo;autocompleteAttribute="off";autocompleteDisabled;_initialized=new j;_injector=h(Ae);constructor(){}_aboveClass="mat-mdc-autocomplete-panel-above";ngAfterViewInit(){this._initialized.next(),this._initialized.complete();let e=this._getWindow();typeof e<"u"&&this._zone.runOutsideAngular(()=>e.addEventListener("blur",this._windowBlurHandler))}ngOnChanges(e){e.position&&this._positionStrategy&&(this._setStrategyPositions(this._positionStrategy),this.panelOpen&&this._overlayRef.updatePosition())}ngOnDestroy(){let e=this._getWindow();typeof e<"u"&&e.removeEventListener("blur",this._windowBlurHandler),this._handsetLandscapeSubscription.unsubscribe(),this._viewportSubscription.unsubscribe(),this._componentDestroyed=!0,this._destroyPanel(),this._closeKeyEventStream.complete(),this._clearFromModal()}get panelOpen(){return this._overlayAttached&&this.autocomplete.showPanel}_overlayAttached=!1;openPanel(){this._openPanelInternal()}closePanel(){this._resetLabel(),this._overlayAttached&&(this.panelOpen&&this._zone.run(()=>{this.autocomplete.closed.emit()}),this.autocomplete._latestOpeningTrigger===this&&(this.autocomplete._isOpen=!1,this.autocomplete._latestOpeningTrigger=null),this._overlayAttached=!1,this._pendingAutoselectedOption=null,this._overlayRef&&this._overlayRef.hasAttached()&&(this._overlayRef.detach(),this._closingActionsSubscription.unsubscribe()),this._updatePanelState(),this._componentDestroyed||this._changeDetectorRef.detectChanges(),this._trackedModal&&_a(this._trackedModal,"aria-owns",this.autocomplete.id))}updatePosition(){this._overlayAttached&&this._overlayRef.updatePosition()}get panelClosingActions(){return yt(this.optionSelections,this.autocomplete._keyManager.tabOut.pipe(je(()=>this._overlayAttached)),this._closeKeyEventStream,this._getOutsideClickStream(),this._overlayRef?this._overlayRef.detachments().pipe(je(()=>this._overlayAttached)):ie()).pipe(le(e=>e instanceof Md?e:null))}optionSelections=Xi(()=>{let e=this.autocomplete?this.autocomplete.options:null;return e?e.changes.pipe(Et(e),Tt(()=>yt(...e.map(t=>t.onSelectionChange)))):this._initialized.pipe(Tt(()=>this.optionSelections))});get activeOption(){return this.autocomplete&&this.autocomplete._keyManager?this.autocomplete._keyManager.activeItem:null}_getOutsideClickStream(){return yt(mi(this._document,"click"),mi(this._document,"auxclick"),mi(this._document,"touchend")).pipe(je(e=>{let t=gi(e),o=this._formField?this._formField.getConnectedOverlayOrigin().nativeElement:null,r=this.connectedTo?this.connectedTo.elementRef.nativeElement:null;return this._overlayAttached&&t!==this._element.nativeElement&&this._document.activeElement!==this._element.nativeElement&&(!o||!o.contains(t))&&(!r||!r.contains(t))&&!!this._overlayRef&&!this._overlayRef.overlayElement.contains(t)}))}writeValue(e){Promise.resolve(null).then(()=>this._assignOptionValue(e))}registerOnChange(e){this._onChange=e}registerOnTouched(e){this._onTouched=e}setDisabledState(e){this._element.nativeElement.disabled=e}_handleKeydown(e){let t=e.keyCode,o=Ot(e);if(t===27&&!o&&e.preventDefault(),this._valueOnLastKeydown=this._element.nativeElement.value,this.activeOption&&t===13&&this.panelOpen&&!o)this.activeOption._selectViaInteraction(),this._resetActiveItem(),e.preventDefault();else if(this.autocomplete){let r=this.autocomplete._keyManager.activeItem,a=t===38||t===40;t===9||a&&!o&&this.panelOpen?this.autocomplete._keyManager.onKeydown(e):a&&this._canOpen()&&this._openPanelInternal(this._valueOnLastKeydown),(a||this.autocomplete._keyManager.activeItem!==r)&&(this._scrollToOption(this.autocomplete._keyManager.activeItemIndex||0),this.autocomplete.autoSelectActiveOption&&this.activeOption&&(this._pendingAutoselectedOption||(this._valueBeforeAutoSelection=this._valueOnLastKeydown),this._pendingAutoselectedOption=this.activeOption,this._assignOptionValue(this.activeOption.value)))}}_handleInput(e){let t=e.target,o=t.value;if(t.type==="number"&&(o=o==""?null:parseFloat(o)),this._previousValue!==o){if(this._previousValue=o,this._pendingAutoselectedOption=null,(!this.autocomplete||!this.autocomplete.requireSelection)&&this._onChange(o),!o)this._clearPreviousSelectedOption(null,!1);else if(this.panelOpen&&!this.autocomplete.requireSelection){let r=this.autocomplete.options?.find(a=>a.selected);if(r){let a=this._getDisplayValue(r.value);o!==a&&r.deselect(!1)}}if(this._canOpen()&&this._document.activeElement===e.target){let r=this._valueOnLastKeydown??this._element.nativeElement.value;this._valueOnLastKeydown=null,this._openPanelInternal(r)}}}_handleFocus(){this._canOpenOnNextFocus?this._canOpen()&&(this._previousValue=this._element.nativeElement.value,this._attachOverlay(this._previousValue),this._floatLabel(!0)):this._canOpenOnNextFocus=!0}_handleClick(){this._canOpen()&&!this.panelOpen&&this._openPanelInternal()}_floatLabel(e=!1){this._formField&&this._formField.floatLabel==="auto"&&(e?this._formField._animateAndLockLabel():this._formField.floatLabel="always",this._manuallyFloatingLabel=!0)}_resetLabel(){this._manuallyFloatingLabel&&(this._formField&&(this._formField.floatLabel="auto"),this._manuallyFloatingLabel=!1)}_subscribeToClosingActions(){let e=new Fe(o=>{nn(()=>{o.next()},{injector:this._injector})}),t=this.autocomplete.options.changes.pipe(Ht(()=>this._positionStrategy.reapplyLastPosition()),Yr(0));return yt(e,t).pipe(Tt(()=>this._zone.run(()=>{let o=this.panelOpen;return this._resetActiveItem(),this._updatePanelState(),this._changeDetectorRef.detectChanges(),this.panelOpen&&this._overlayRef.updatePosition(),o!==this.panelOpen&&(this.panelOpen?this._emitOpened():this.autocomplete.closed.emit()),this.panelClosingActions})),Rt(1)).subscribe(o=>this._setValueAndClose(o))}_emitOpened(){this.autocomplete.opened.emit()}_destroyPanel(){this._overlayRef&&(this.closePanel(),this._overlayRef.dispose(),this._overlayRef=null)}_getDisplayValue(e){let t=this.autocomplete;return t&&t.displayWith?t.displayWith(e):e}_assignOptionValue(e){let t=this._getDisplayValue(e);e==null&&this._clearPreviousSelectedOption(null,!1),this._updateNativeInputValue(t??"")}_updateNativeInputValue(e){this._formField?this._formField._control.value=e:this._element.nativeElement.value=e,this._previousValue=e}_setValueAndClose(e){let t=this.autocomplete,o=e?e.source:this._pendingAutoselectedOption;o?(this._clearPreviousSelectedOption(o),this._assignOptionValue(o.value),this._onChange(o.value),t._emitSelectEvent(o),this._element.nativeElement.focus()):t.requireSelection&&this._element.nativeElement.value!==this._valueOnAttach&&(this._clearPreviousSelectedOption(null),this._assignOptionValue(null),t._animationDone?t._animationDone.pipe(Rt(1)).subscribe(()=>this._onChange(null)):this._onChange(null)),this.closePanel()}_clearPreviousSelectedOption(e,t){this.autocomplete?.options?.forEach(o=>{o!==e&&o.selected&&o.deselect(t)})}_openPanelInternal(e=this._element.nativeElement.value){if(this._attachOverlay(e),this._floatLabel(),this._trackedModal){let t=this.autocomplete.id;Ol(this._trackedModal,"aria-owns",t)}}_attachOverlay(e){this.autocomplete;let t=this._overlayRef;t?(this._positionStrategy.setOrigin(this._getConnectedElement()),t.updateSize({width:this._getPanelWidth()})):(this._portal=new On(this.autocomplete.template,this._viewContainerRef,{id:this._formField?.getLabelId()}),t=this._overlay.create(this._getOverlayConfig()),this._overlayRef=t,this._viewportSubscription=this._viewportRuler.change().subscribe(()=>{this.panelOpen&&t&&t.updateSize({width:this._getPanelWidth()})}),this._handsetLandscapeSubscription=this._breakpointObserver.observe(rh.HandsetLandscape).subscribe(r=>{r.matches?this._positionStrategy.withFlexibleDimensions(!0).withGrowAfterOpen(!0).withViewportMargin(8):this._positionStrategy.withFlexibleDimensions(!1).withGrowAfterOpen(!1).withViewportMargin(0)})),t&&!t.hasAttached()&&(t.attach(this._portal),this._valueOnAttach=e,this._valueOnLastKeydown=null,this._closingActionsSubscription=this._subscribeToClosingActions());let o=this.panelOpen;this.autocomplete._isOpen=this._overlayAttached=!0,this.autocomplete._latestOpeningTrigger=this,this.autocomplete._setColor(this._formField?.color),this._updatePanelState(),this._applyModalPanelOwnership(),this.panelOpen&&o!==this.panelOpen&&this._emitOpened()}_handlePanelKeydown=e=>{(e.keyCode===27&&!Ot(e)||e.keyCode===38&&Ot(e,"altKey"))&&(this._pendingAutoselectedOption&&(this._updateNativeInputValue(this._valueBeforeAutoSelection??""),this._pendingAutoselectedOption=null),this._closeKeyEventStream.next(),this._resetActiveItem(),e.stopPropagation(),e.preventDefault())};_updatePanelState(){if(this.autocomplete._setVisibility(),this.panelOpen){let e=this._overlayRef;this._keydownSubscription||(this._keydownSubscription=e.keydownEvents().subscribe(this._handlePanelKeydown)),this._outsideClickSubscription||(this._outsideClickSubscription=e.outsidePointerEvents().subscribe())}else this._keydownSubscription?.unsubscribe(),this._outsideClickSubscription?.unsubscribe(),this._keydownSubscription=this._outsideClickSubscription=null}_getOverlayConfig(){return new ki({positionStrategy:this._getOverlayPosition(),scrollStrategy:this._scrollStrategy(),width:this._getPanelWidth(),direction:this._dir??void 0,panelClass:this._defaults?.overlayPanelClass})}_getOverlayPosition(){let e=this._overlay.position().flexibleConnectedTo(this._getConnectedElement()).withFlexibleDimensions(!1).withPush(!1);return this._setStrategyPositions(e),this._positionStrategy=e,e}_setStrategyPositions(e){let t=[{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top"},{originX:"end",originY:"bottom",overlayX:"end",overlayY:"top"}],o=this._aboveClass,r=[{originX:"start",originY:"top",overlayX:"start",overlayY:"bottom",panelClass:o},{originX:"end",originY:"top",overlayX:"end",overlayY:"bottom",panelClass:o}],a;this.position==="above"?a=r:this.position==="below"?a=t:a=[...t,...r],e.withPositions(a)}_getConnectedElement(){return this.connectedTo?this.connectedTo.elementRef:this._formField?this._formField.getConnectedOverlayOrigin():this._element}_getPanelWidth(){return this.autocomplete.panelWidth||this._getHostWidth()}_getHostWidth(){return this._getConnectedElement().nativeElement.getBoundingClientRect().width}_resetActiveItem(){let e=this.autocomplete;if(e.autoActiveFirstOption){let t=-1;for(let o=0;o .cdk-overlay-container [aria-modal="true"]');if(!e)return;let t=this.autocomplete.id;this._trackedModal&&_a(this._trackedModal,"aria-owns",t),Ol(e,"aria-owns",t),this._trackedModal=e}_clearFromModal(){if(this._trackedModal){let e=this.autocomplete.id;_a(this._trackedModal,"aria-owns",e),this._trackedModal=null}}static \u0275fac=function(t){return new(t||n)};static \u0275dir=N({type:n,selectors:[["input","matAutocomplete",""],["textarea","matAutocomplete",""]],hostAttrs:[1,"mat-mdc-autocomplete-trigger"],hostVars:7,hostBindings:function(t,o){t&1&&b("focusin",function(){return o._handleFocus()})("blur",function(){return o._onTouched()})("input",function(a){return o._handleInput(a)})("keydown",function(a){return o._handleKeydown(a)})("click",function(){return o._handleClick()}),t&2&&ee("autocomplete",o.autocompleteAttribute)("role",o.autocompleteDisabled?null:"combobox")("aria-autocomplete",o.autocompleteDisabled?null:"list")("aria-activedescendant",o.panelOpen&&o.activeOption?o.activeOption.id:null)("aria-expanded",o.autocompleteDisabled?null:o.panelOpen.toString())("aria-controls",o.autocompleteDisabled||!o.panelOpen||o.autocomplete==null?null:o.autocomplete.id)("aria-haspopup",o.autocompleteDisabled?null:"listbox")},inputs:{autocomplete:[0,"matAutocomplete","autocomplete"],position:[0,"matAutocompletePosition","position"],connectedTo:[0,"matAutocompleteConnectedTo","connectedTo"],autocompleteAttribute:[0,"autocomplete","autocompleteAttribute"],autocompleteDisabled:[2,"matAutocompleteDisabled","autocompleteDisabled",G]},exportAs:["matAutocompleteTrigger"],features:[ye([d$]),ce,Ze]})}return n})(),DA=(()=>{class n{static \u0275fac=function(t){return new(t||n)};static \u0275mod=J({type:n});static \u0275inj=X({providers:[m$],imports:[ci,Ll,me,ro,Ll,me]})}return n})();function p$(n,i){if(n&1&&(c(0,"div")(1,"uds-translate"),g(2,"Edit user"),d(),g(3),d()),n&2){let e=_();u(3),O(" ",e.user.name," ")}}function h$(n,i){n&1&&(c(0,"uds-translate"),g(1,"New user"),d())}function f$(n,i){if(n&1){let e=k();c(0,"mat-form-field")(1,"mat-label"),g(2),d(),c(3,"input",19),U("ngModelChange",function(o){y(e);let r=_();return W(r.user.name,o)||(r.user.name=o),w(o)}),d()()}if(n&2){let e=_();u(2),O(" ",e.authenticator.type_info.label_username," "),u(),z("ngModel",e.user.name),p("disabled",e.user.id)}}function g$(n,i){if(n&1&&(c(0,"mat-option",21),g(1),d()),n&2){let e=i.$implicit;p("value",e.id),u(),Er(" ",e.id," (",e.name,") ")}}function _$(n,i){if(n&1){let e=k();c(0,"mat-form-field")(1,"mat-label"),g(2),d(),c(3,"input",20),U("ngModelChange",function(o){y(e);let r=_();return W(r.user.name,o)||(r.user.name=o),w(o)}),b("input",function(o){y(e);let r=_();return w(r.filterUser(o))}),d(),c(4,"mat-autocomplete",null,1),x(6,g$,2,3,"mat-option",16),d()()}if(n&2){let e=be(5),t=_();u(2),O(" ",t.authenticator.type_info.label_username," "),u(),z("ngModel",t.user.name),p("matAutocomplete",e),u(3),p("ngForOf",t.users)}}function v$(n,i){if(n&1){let e=k();c(0,"mat-form-field")(1,"mat-label"),g(2),d(),c(3,"input",22),U("ngModelChange",function(o){y(e);let r=_();return W(r.user.password,o)||(r.user.password=o),w(o)}),d()()}if(n&2){let e=_();u(2),O(" ",e.authenticator.type_info.label_password," "),u(),z("ngModel",e.user.password)}}function b$(n,i){if(n&1){let e=k();c(0,"mat-form-field")(1,"mat-label")(2,"uds-translate"),g(3,"MFA"),d()(),c(4,"input",23),U("ngModelChange",function(o){y(e);let r=_();return W(r.user.mfa_data,o)||(r.user.mfa_data=o),w(o)}),d()()}if(n&2){let e=_();u(4),z("ngModel",e.user.mfa_data)}}function y$(n,i){if(n&1&&(c(0,"mat-option",21),g(1),d()),n&2){let e=i.$implicit;p("value",e.id),u(),O(" ",e.name," ")}}var yw=(()=>{let i=class i{constructor(t,o,r,a){this.api=t,this.rest=o,this.dialogRef=r,this.groups=[],this.onSave=new T(!0),this.users=[],this.authenticator=a.authenticator,this.user={id:void 0,name:"",real_name:"",comments:"",state:"A",is_admin:!1,staff_member:!1,password:"",role:"user",mfa:"",groups:[]},a.user!==void 0&&(this.user.id=a.user.id,this.user.name=a.user.name)}static launch(t,o,r){let a=window.innerWidth<800?"60%":"40%";return t.gui.dialog.open(i,{width:a,position:{top:window.innerWidth<800?"0px":"7rem"},data:{authenticator:o,user:r},disableClose:!1}).componentInstance.onSave}ngOnInit(){this.rest.authenticators.detail(this.authenticator.id,"groups").overview().then(t=>{this.groups=t}),this.user.id&&this.rest.authenticators.detail(this.authenticator.id,"users").get(this.user.id).then(t=>{this.user=t,this.user.role=t.is_admin?"admin":t.staff_member?"staff":"user"},t=>{this.dialogRef.close()})}roleChanged(t){this.user.is_admin=t==="admin",this.user.staff_member=t==="admin"||t==="staff"}filterUser(t){let o=t.target.value;this.rest.authenticators.search(this.authenticator.id,"user",o,100).then(r=>{this.users.length=0,r.forEach(a=>{this.users.push(a)})})}save(){this.rest.authenticators.detail(this.authenticator.id,"users").save(this.user).then(t=>{this.dialogRef.close(),this.onSave.emit(!0)})}};i.\u0275fac=function(o){return new(o||i)(C(B),C(Z),C(Ne),C(Ke))},i.\u0275cmp=E({type:i,selectors:[["uds-new-user"]],standalone:!1,decls:58,vars:12,consts:[["nousertitle",""],["auto","matAutocomplete"],["mat-dialog-title",""],[4,"ngIf","ngIfElse"],[1,"content"],[4,"ngIf"],["type","text","matInput","","autocomplete","new-real_name",3,"ngModelChange","ngModel"],["type","text","matInput","","autocomplete","new-comments",3,"ngModelChange","ngModel"],[3,"ngModelChange","ngModel"],["value","A"],["value","I"],[3,"ngModelChange","valueChange","ngModel"],["value","admin"],["value","staff"],["value","user"],["multiple","",3,"ngModelChange","ngModel"],[3,"value",4,"ngFor","ngForOf"],["mat-raised-button","","mat-dialog-close","","color","warn"],["mat-raised-button","","color","primary",3,"click"],["type","text","matInput","","autocomplete","new-username",3,"ngModelChange","ngModel","disabled"],["type","text","aria-label","Number","matInput","",3,"ngModelChange","input","ngModel","matAutocomplete"],[3,"value"],["type","password","matInput","","autocomplete","new-password",3,"ngModelChange","ngModel"],["type","text","matInput","",3,"ngModelChange","ngModel"]],template:function(o,r){if(o&1){let a=k();c(0,"h4",2),x(1,p$,4,1,"div",3)(2,h$,2,0,"ng-template",null,0,gn),d(),c(4,"mat-dialog-content")(5,"div",4),x(6,f$,4,3,"mat-form-field",5)(7,_$,7,4,"mat-form-field",5),c(8,"mat-form-field")(9,"mat-label")(10,"uds-translate"),g(11,"Real name"),d()(),c(12,"input",6),U("ngModelChange",function(l){return y(a),W(r.user.real_name,l)||(r.user.real_name=l),w(l)}),d()(),c(13,"mat-form-field")(14,"mat-label")(15,"uds-translate"),g(16,"Comments"),d()(),c(17,"input",7),U("ngModelChange",function(l){return y(a),W(r.user.comments,l)||(r.user.comments=l),w(l)}),d()(),c(18,"mat-form-field")(19,"mat-label")(20,"uds-translate"),g(21,"State"),d()(),c(22,"mat-select",8),U("ngModelChange",function(l){return y(a),W(r.user.state,l)||(r.user.state=l),w(l)}),c(23,"mat-option",9)(24,"uds-translate"),g(25,"Enabled"),d()(),c(26,"mat-option",10)(27,"uds-translate"),g(28,"Disabled"),d()()()(),c(29,"mat-form-field")(30,"mat-label")(31,"uds-translate"),g(32,"Role"),d()(),c(33,"mat-select",11),U("ngModelChange",function(l){return y(a),W(r.user.role,l)||(r.user.role=l),w(l)}),b("valueChange",function(l){return y(a),w(r.roleChanged(l))}),c(34,"mat-option",12)(35,"uds-translate"),g(36,"Admin"),d()(),c(37,"mat-option",13)(38,"uds-translate"),g(39,"Staff member"),d()(),c(40,"mat-option",14)(41,"uds-translate"),g(42,"User"),d()()()(),x(43,v$,4,2,"mat-form-field",5)(44,b$,5,1,"mat-form-field",5),c(45,"mat-form-field")(46,"mat-label")(47,"uds-translate"),g(48,"Groups"),d()(),c(49,"mat-select",15),U("ngModelChange",function(l){return y(a),W(r.user.groups,l)||(r.user.groups=l),w(l)}),x(50,y$,2,2,"mat-option",16),d()()()(),c(51,"mat-dialog-actions")(52,"button",17)(53,"uds-translate"),g(54,"Cancel"),d()(),c(55,"button",18),b("click",function(){return y(a),w(r.save())}),c(56,"uds-translate"),g(57,"Ok"),d()()()}if(o&2){let a=be(3);u(),p("ngIf",r.user.id)("ngIfElse",a),u(5),p("ngIf",r.authenticator.type_info.search_users_supported===!1||r.user.id),u(),p("ngIf",r.authenticator.type_info.search_users_supported===!0&&!r.user.id),u(5),z("ngModel",r.user.real_name),u(5),z("ngModel",r.user.comments),u(5),z("ngModel",r.user.state),u(11),z("ngModel",r.user.role),u(10),p("ngIf",r.authenticator.type_info.needs_password),u(),p("ngIf",!r.authenticator.type_info.is_external),u(5),z("ngModel",r.user.groups),u(),p("ngForOf",r.groups)}},dependencies:[$e,ue,lt,we,xe,Te,Qt,Xe,et,Je,fe,ke,pt,vt,nt,Yl,bs,ae],styles:[".mat-mdc-dialog-actions[_ngcontent-%COMP%]{justify-content:flex-end}.content[_ngcontent-%COMP%]{width:100%;margin-top:.5rem;display:flex;flex-wrap:wrap}.mat-mdc-form-field[_ngcontent-%COMP%]{width:100%}"]});let n=i;return n})();function w$(n,i){if(n&1&&(c(0,"div")(1,"uds-translate"),g(2,"Edit group"),d(),g(3),d()),n&2){let e=_();u(3),O(" ",e.group.name," ")}}function C$(n,i){n&1&&(c(0,"uds-translate"),g(1,"New group"),d())}function x$(n,i){if(n&1){let e=k();c(0,"mat-form-field")(1,"mat-label"),g(2),d(),c(3,"input",14),U("ngModelChange",function(o){y(e);let r=_(2);return W(r.group.name,o)||(r.group.name=o),w(o)}),d()()}if(n&2){let e=_(2);u(2),O(" ",e.authenticator.type_info.label_groupname," "),u(),z("ngModel",e.group.name),p("disabled",e.group.id)}}function D$(n,i){if(n&1&&(c(0,"mat-option",17),g(1),d()),n&2){let e=i.$implicit;p("value",e.id),u(),Er(" ",e.id," (",e.name,") ")}}function S$(n,i){if(n&1){let e=k();c(0,"mat-form-field")(1,"mat-label"),g(2),d(),c(3,"input",15),U("ngModelChange",function(o){y(e);let r=_(2);return W(r.group.name,o)||(r.group.name=o),w(o)}),b("input",function(o){y(e);let r=_(2);return w(r.filterGroup(o))}),d(),c(4,"mat-autocomplete",null,3),x(6,D$,2,3,"mat-option",16),d()()}if(n&2){let e=be(5),t=_(2);u(2),O(" ",t.authenticator.type_info.label_groupname," "),u(),z("ngModel",t.group.name),p("matAutocomplete",e),u(3),p("ngForOf",t.fltrGroup)}}function E$(n,i){if(n&1&&(ut(0),x(1,x$,4,3,"mat-form-field",13)(2,S$,7,4,"mat-form-field",13),mt()),n&2){let e=_();u(),p("ngIf",e.authenticator.type_info.search_groups_supported===!1||e.group.id),u(),p("ngIf",e.authenticator.type_info.search_groups_supported===!0&&!e.group.id)}}function M$(n,i){if(n&1){let e=k();c(0,"mat-form-field")(1,"mat-label")(2,"uds-translate"),g(3,"Meta group name"),d()(),c(4,"input",14),U("ngModelChange",function(o){y(e);let r=_();return W(r.group.name,o)||(r.group.name=o),w(o)}),d()()}if(n&2){let e=_();u(4),z("ngModel",e.group.name),p("disabled",e.group.id)}}function I$(n,i){if(n&1&&(c(0,"mat-option",17),g(1),d()),n&2){let e=i.$implicit;p("value",e.id),u(),O(" ",e.name," ")}}function T$(n,i){if(n&1){let e=k();ut(0),c(1,"mat-form-field")(2,"mat-label")(3,"uds-translate"),g(4,"Service Pools"),d()(),c(5,"mat-select",18),U("ngModelChange",function(o){y(e);let r=_();return W(r.group.pools,o)||(r.group.pools=o),w(o)}),x(6,I$,2,2,"mat-option",16),d()(),mt()}if(n&2){let e=_();u(5),z("ngModel",e.group.pools),u(),p("ngForOf",e.servicePools)}}function k$(n,i){if(n&1&&(c(0,"mat-option",17),g(1),d()),n&2){let e=_().$implicit;p("value",e.id),u(),O(" ",e.name," ")}}function A$(n,i){if(n&1&&(ut(0),x(1,k$,2,2,"mat-option",20),mt()),n&2){let e=i.$implicit;u(),p("ngIf",e.type==="group")}}function R$(n,i){if(n&1){let e=k();c(0,"mat-form-field")(1,"mat-label")(2,"uds-translate"),g(3,"Match mode"),d()(),c(4,"mat-select",8),U("ngModelChange",function(o){y(e);let r=_();return W(r.group.meta_if_any,o)||(r.group.meta_if_any=o),w(o)}),c(5,"mat-option",17)(6,"uds-translate"),g(7,"Any group"),d()(),c(8,"mat-option",17)(9,"uds-translate"),g(10,"All groups"),d()()()(),c(11,"mat-form-field")(12,"mat-label")(13,"uds-translate"),g(14,"Selected Groups"),d()(),c(15,"mat-select",18),U("ngModelChange",function(o){y(e);let r=_();return W(r.group.groups,o)||(r.group.groups=o),w(o)}),x(16,A$,2,1,"ng-container",19),d()()}if(n&2){let e=_();u(4),z("ngModel",e.group.meta_if_any),u(),p("value",!0),u(3),p("value",!1),u(7),z("ngModel",e.group.groups),u(),p("ngForOf",e.groups)}}var ww=(()=>{let i=class i{constructor(t,o,r,a){this.api=t,this.rest=o,this.dialogRef=r,this.onSave=new T(!0),this.servicePools=[],this.groups=[],this.fltrGroup=[],this.authenticator=a.authenticator,this.group={id:void 0,type:a.groupType,name:"",comments:"",meta_if_any:!1,skip_mfa:"I",state:"A",groups:[],pools:[]},a.group!==void 0&&(this.group.id=a.group.id,this.group.type=a.group.type,this.group.name=a.group.name)}static launch(t,o,r,a){let s=window.innerWidth<800?"60%":"40%";return t.gui.dialog.open(i,{width:s,position:{top:window.innerWidth<800?"0px":"7rem"},data:{authenticator:o,groupType:r,group:a},disableClose:!0}).componentInstance.onSave}ngOnInit(){let t=this.rest.authenticators.detail(this.authenticator.id,"groups");this.group.id!==void 0&&t.get(this.group.id).then(o=>{this.group=o},o=>{this.dialogRef.close()}),this.group.type==="meta"?t.summary().then(o=>this.groups=o):this.rest.servicesPools.summary().then(o=>this.servicePools=o)}filterGroup(t){let o=t.target.value;this.rest.authenticators.search(this.authenticator.id,"group",o,100).then(r=>{this.fltrGroup.length=0,r.forEach(a=>{this.fltrGroup.push(a)})})}getMatchValue(){return django.gettext("Match mode")+this.group.meta_if_any?django.gettext("Any"):django.gettext("All")}save(){this.rest.authenticators.detail(this.authenticator.id,"groups").save(this.group).then(t=>{this.dialogRef.close(),this.onSave.emit(!0)})}};i.\u0275fac=function(o){return new(o||i)(C(B),C(Z),C(Ne),C(Ke))},i.\u0275cmp=E({type:i,selectors:[["uds-new-group"]],standalone:!1,decls:46,vars:9,consts:[["nousertitle",""],["metafirst",""],["metasecond",""],["auto","matAutocomplete"],["mat-dialog-title",""],[4,"ngIf","ngIfElse"],[1,"content"],["type","text","matInput","",3,"ngModelChange","ngModel"],[3,"ngModelChange","ngModel"],["value","A"],["value","I"],["mat-raised-button","","mat-dialog-close","","color","warn"],["mat-raised-button","","color","primary",3,"click"],[4,"ngIf"],["type","text","matInput","",3,"ngModelChange","ngModel","disabled"],["type","text","aria-label","Number","matInput","",3,"ngModelChange","input","ngModel","matAutocomplete"],[3,"value",4,"ngFor","ngForOf"],[3,"value"],["multiple","",3,"ngModelChange","ngModel"],[4,"ngFor","ngForOf"],[3,"value",4,"ngIf"]],template:function(o,r){if(o&1){let a=k();c(0,"h4",4),x(1,w$,4,1,"div",5)(2,C$,2,0,"ng-template",null,0,gn),d(),c(4,"mat-dialog-content")(5,"div",6),x(6,E$,3,2,"ng-container",5)(7,M$,5,2,"ng-template",null,1,gn),c(9,"mat-form-field")(10,"mat-label")(11,"uds-translate"),g(12,"Comments"),d()(),c(13,"input",7),U("ngModelChange",function(l){return y(a),W(r.group.comments,l)||(r.group.comments=l),w(l)}),d()(),c(14,"mat-form-field")(15,"mat-label")(16,"uds-translate"),g(17,"State"),d()(),c(18,"mat-select",8),U("ngModelChange",function(l){return y(a),W(r.group.state,l)||(r.group.state=l),w(l)}),c(19,"mat-option",9)(20,"uds-translate"),g(21,"Enabled"),d()(),c(22,"mat-option",10)(23,"uds-translate"),g(24,"Disabled"),d()()()(),c(25,"mat-form-field")(26,"mat-label")(27,"uds-translate"),g(28,"Skip MFA"),d()(),c(29,"mat-select",8),U("ngModelChange",function(l){return y(a),W(r.group.skip_mfa,l)||(r.group.skip_mfa=l),w(l)}),c(30,"mat-option",9)(31,"uds-translate"),g(32,"Enabled"),d()(),c(33,"mat-option",10)(34,"uds-translate"),g(35,"Disabled"),d()()()(),x(36,T$,7,2,"ng-container",5)(37,R$,17,5,"ng-template",null,2,gn),d()(),c(39,"mat-dialog-actions")(40,"button",11)(41,"uds-translate"),g(42,"Cancel"),d()(),c(43,"button",12),b("click",function(){return y(a),w(r.save())}),c(44,"uds-translate"),g(45,"Ok"),d()()()}if(o&2){let a=be(3),s=be(8),l=be(38);u(),p("ngIf",r.group.id)("ngIfElse",a),u(5),p("ngIf",r.group.type==="group")("ngIfElse",s),u(7),z("ngModel",r.group.comments),u(5),z("ngModel",r.group.state),u(11),z("ngModel",r.group.skip_mfa),u(7),p("ngIf",r.group.type==="group")("ngIfElse",l)}},dependencies:[$e,ue,lt,we,xe,Te,Qt,Xe,et,Je,fe,ke,pt,vt,nt,Yl,bs,ae],styles:[".mat-mdc-dialog-actions[_ngcontent-%COMP%]{justify-content:flex-end}.content[_ngcontent-%COMP%]{width:100%;margin-top:.5rem;display:flex;flex-wrap:wrap}.mat-mdc-form-field[_ngcontent-%COMP%]{width:100%}.label-match[_ngcontent-%COMP%]{color:#0009;display:block;font-weight:400;left:0;line-height:18px;overflow:hidden;pointer-events:none;position:absolute;text-align:left;text-overflow:ellipsis;top:.5em;transform:matrix(.75,0,0,.75,0,-21.5);transform-origin:0px 0px;white-space:nowrap}"]});let n=i;return n})();function O$(n,i){n&1&&(c(0,"uds-translate"),g(1,"Groups"),d())}function P$(n,i){if(n&1&&(c(0,"mat-tab"),x(1,O$,2,0,"ng-template",2),M(2,"uds-table",6),d()),n&2){let e=_();u(2),p("rest",e.group)("pageSize",6)}}function F$(n,i){n&1&&(c(0,"uds-translate"),g(1,"Services Pools"),d())}function N$(n,i){if(n&1&&(c(0,"mat-tab"),x(1,F$,2,0,"ng-template",2),M(2,"uds-table",6),d()),n&2){let e=_();u(2),p("rest",e.servicesPools)("pageSize",6)}}function L$(n,i){n&1&&(c(0,"uds-translate"),g(1,"Assigned Services"),d())}function V$(n,i){if(n&1&&(c(0,"mat-tab"),x(1,L$,2,0,"ng-template",2),M(2,"uds-table",6),d()),n&2){let e=_();u(2),p("rest",e.userServices)("pageSize",6)}}function B$(n,i){n&1&&(c(0,"uds-translate"),g(1,"Logs"),d())}var j$=[{field:"name",title:django.gettext("Group")},{field:"comments",title:django.gettext("Comments")}],z$=[{field:"name",title:django.gettext("Pool")},{field:"state",title:django.gettext("State")},{field:"user_services_count",title:django.gettext("User Services")}],U$=[{field:"unique_id",title:django.gettext("Unique ID")},{field:"friendly_name",title:django.gettext("Friendly Name")},{field:"in_use",title:django.gettext("In Use")},{field:"ip",title:django.gettext("IP")},{field:"pool",title:django.gettext("Services Pool")}],SA=(()=>{let i=class i{constructor(t,o,r,a){this.api=t,this.rest=o,this.dialogRef=r,this.group={},this.servicesPools={},this.userServices={},this.users=a.users,this.user=a.user}static launch(t,o,r){let a=window.innerWidth<800?"80%":"60%",s=t.gui.dialog.open(i,{width:a,position:{top:window.innerWidth<800?"0px":"7rem"},data:{users:o,user:r},disableClose:!1})}ngOnInit(){return H(this,null,function*(){let t=()=>H(this,null,function*(){let a=yield this.rest.authenticators.detail(this.users.parentId,"users").get(this.user.id);return(yield this.rest.authenticators.detail(this.users.parentId,"groups").overview()).filter(l=>a.groups.includes(l.id))}),o=()=>H(this,null,function*(){return this.users.invoke(this.user.id+"/servicesPools")}),r=()=>H(this,null,function*(){return(yield this.users.invoke(this.user.id+"/userServices")).map(s=>(s.in_use=this.api.boolAsHumanString(s.in_use),s))});this.group=new po(django.gettext("Groups"),t,j$,this.user.id+"infogrp"),this.servicesPools=new po(django.gettext("Services Pools"),o,z$,this.user.id+"infopool"),this.userServices=new po(django.gettext("Assigned services"),r,U$,this.user.id+"userservpool")})}};i.\u0275fac=function(o){return new(o||i)(C(B),C(Z),C(Ne),C(Ke))},i.\u0275cmp=E({type:i,selectors:[["uds-user-information"]],standalone:!1,decls:20,vars:14,consts:[["mat-dialog-title",""],[4,"ngIf"],["mat-tab-label",""],[1,"content"],[3,"rest","itemId","tableId","pageSize"],["mat-raised-button","","mat-dialog-close","","color","primary"],[3,"rest","pageSize"]],template:function(o,r){o&1&&(c(0,"h4",0)(1,"uds-translate"),g(2,"Information for"),d(),g(3),d(),c(4,"mat-dialog-content")(5,"mat-tab-group"),x(6,P$,3,2,"mat-tab",1),gt(7,"notEmpty"),x(8,N$,3,2,"mat-tab",1),gt(9,"notEmpty"),x(10,V$,3,2,"mat-tab",1),gt(11,"notEmpty"),c(12,"mat-tab"),x(13,B$,2,0,"ng-template",2),c(14,"div",3),M(15,"uds-logs-table",4),d()()()(),c(16,"mat-dialog-actions")(17,"button",5)(18,"uds-translate"),g(19,"Ok"),d()()()),o&2&&(u(3),O(" ",r.user.name,` +`)),t.table.overview()})}customButtonAction(t){return H(this,null,function*(){if(t.param.id=="maintenance")return yield this.onMaintenance(t);if(t.param.id=="import-csv")return yield this.onImportCSV(t)})}onNew(t){this.api.gui.forms.typedNewForm(t,django.gettext("New server"),!0)}onEdit(t){this.api.gui.forms.typedEditForm(t,django.gettext("Edit server"),!0)}onDelete(t){this.api.gui.forms.deleteForm(t,django.gettext("Remove server from server group"),"hostname")}onRowSelect(t){let o=t.table;if(o.selection.selected.length>1||o.selection.selected.length===0){this.customButtons[0].html=yA;return}o.selection.selected[0].maintenance_mode?this.customButtons[0].html=n$:this.customButtons[0].html=i$}onLoad(t){if(t.param===!0){let o=this.route.snapshot.paramMap.get("server");if(o!==void 0){let r=t.table;r.dataSource.data.forEach(a=>{a.id===o&&r.selection.select(a)})}}}};i.\u0275fac=function(o){return new(o||i)(C(Re),C(Z),C(B))},i.\u0275cmp=E({type:i,selectors:[["uds-server-detail"]],standalone:!1,decls:9,vars:6,consts:[[1,"detail"],[1,"mat-elevation-z4","title"],[3,"routerLink"],[1,"material-icons"],[3,"src"],["class","card",4,"ngIf"],[1,"card"],[1,"card-content"],["backgroundColor","primary","selectedIndex","1"],["mat-tab-label",""],[1,"content"],[3,"value","gui"],["icon","servers",3,"newAction","editAction","rowSelected","deleteAction","customButtonAction","loaded","rest","multiSelect","allowExport","customButtons","pageSize","tableId"]],template:function(o,r){o&1&&(c(0,"div",0)(1,"div",1)(2,"a",2)(3,"i",3),g(4,"arrow_back"),d()(),g(5," \xA0"),M(6,"img",4),g(7),d(),x(8,t$,11,9,"div",5),d()),o&2&&(u(2),p("routerLink",Un(4,XG,r.servers.parentId)),u(4),p("src",r.api.staticURL("admin/img/icons/servers.png"),Se),u(),O(" \xA0",r.server==null?null:r.server.name," "),u(),p("ngIf",r.server!==null))},dependencies:[ue,bn,Jt,en,rn,ae,Ie,ho],styles:[".row-maintenance-true>mat-cell{color:orange!important}"]});let n=i;return n})();var gw=(()=>{let i=class i{constructor(t,o,r){this.api=t,this.route=o,this.rest=r}ngOnInit(){return H(this,null,function*(){let t=this.route.snapshot.paramMap.get("authenticator")})}onDetail(t){return H(this,null,function*(){this.api.navigation.gotoAuthenticatorDetail(t.param.id)})}onNew(t){return H(this,null,function*(){this.api.gui.forms.typedNewForm(t,django.gettext("New Authenticator"),!0)})}onEdit(t){return H(this,null,function*(){this.api.gui.forms.typedEditForm(t,django.gettext("Edit Authenticator"),!0)})}onDelete(t){return H(this,null,function*(){this.api.gui.forms.deleteForm(t,django.gettext("Delete Authenticator"))})}onLoad(t){return H(this,null,function*(){t.param===!0&&t.table.selectElement("id",this.route.snapshot.paramMap.get("authenticator"))})}processElement(t){t.visible=this.api.boolAsHumanString(t.visible)}};i.\u0275fac=function(o){return new(o||i)(C(B),C(Re),C(Z))},i.\u0275cmp=E({type:i,selectors:[["uds-authenticators"]],standalone:!1,decls:2,vars:6,consts:[["icon","authenticators",3,"newAction","editAction","deleteAction","detailAction","loaded","rest","multiSelect","allowExport","hasPermissions","onItem","pageSize"]],template:function(o,r){o&1&&(c(0,"div")(1,"uds-table",0),b("newAction",function(s){return r.onNew(s)})("editAction",function(s){return r.onEdit(s)})("deleteAction",function(s){return r.onDelete(s)})("detailAction",function(s){return r.onDetail(s)})("loaded",function(s){return r.onLoad(s)}),d()()),o&2&&(u(),p("rest",r.rest.authenticators)("multiSelect",!0)("allowExport",!0)("hasPermissions",!0)("onItem",r.processElement)("pageSize",r.api.config.admin.page_size))},dependencies:[Ie],encapsulation:2});let n=i;return n})();var _w=(()=>{let i=class i{constructor(t,o,r){this.api=t,this.route=o,this.rest=r}ngOnInit(){let t=this.route.snapshot.paramMap.get("mfa")}onNew(t){this.api.gui.forms.typedNewForm(t,django.gettext("New MFA"))}onEdit(t){this.api.gui.forms.typedEditForm(t,django.gettext("Edit MFA"))}onDelete(t){this.api.gui.forms.deleteForm(t,django.gettext("Delete MFA"))}onLoad(t){t.param===!0&&t.table.selectElement("id",this.route.snapshot.paramMap.get("mfa"))}};i.\u0275fac=function(o){return new(o||i)(C(B),C(Re),C(Z))},i.\u0275cmp=E({type:i,selectors:[["uds-mfas"]],standalone:!1,decls:2,vars:5,consts:[["icon","mfas",3,"newAction","editAction","deleteAction","loaded","rest","multiSelect","allowExport","hasPermissions","pageSize"]],template:function(o,r){o&1&&(c(0,"div")(1,"uds-table",0),b("newAction",function(s){return r.onNew(s)})("editAction",function(s){return r.onEdit(s)})("deleteAction",function(s){return r.onDelete(s)})("loaded",function(s){return r.onLoad(s)}),d()()),o&2&&(u(),p("rest",r.rest.mfas)("multiSelect",!0)("allowExport",!0)("hasPermissions",!0)("pageSize",r.api.config.admin.page_size))},dependencies:[Ie],encapsulation:2});let n=i;return n})();var r$=["panel"],a$=["*"];function s$(n,i){if(n&1){let e=k();c(0,"div",1,0),b("@panelAnimation.done",function(o){y(e);let r=_();return w(r._animationDone.next(o))}),re(2),d()}if(n&2){let e=i.id,t=_();Yt(t._classList),ne("mat-mdc-autocomplete-visible",t.showPanel)("mat-mdc-autocomplete-hidden",!t.showPanel)("mat-primary",t._color==="primary")("mat-accent",t._color==="accent")("mat-warn",t._color==="warn"),p("id",t.id)("@panelAnimation",t.isOpen?"visible":"hidden"),ee("aria-label",t.ariaLabel||null)("aria-labelledby",t._getPanelAriaLabelledby(e))}}var l$=mn("panelAnimation",[Ft("void, hidden",Me({opacity:0,transform:"scaleY(0.8)"})),xt(":enter, hidden => visible",[z1([It("0.03s linear",Me({opacity:1})),It("0.12s cubic-bezier(0, 0, 0.2, 1)",Me({transform:"scaleY(1)"}))])]),xt(":leave, visible => hidden",[It("0.075s linear",Me({opacity:0}))])]),vw=class{source;option;constructor(i,e){this.source=i,this.option=e}},CA=new R("mat-autocomplete-default-options",{providedIn:"root",factory:c$});function c$(){return{autoActiveFirstOption:!1,autoSelectActiveOption:!1,hideSingleSelectionIndicator:!1,requireSelection:!1}}var Yl=(()=>{class n{_changeDetectorRef=h(Ee);_elementRef=h(Q);_defaults=h(CA);_activeOptionChanges=ge.EMPTY;_animationDone=new T;_keyManager;showPanel=!1;get isOpen(){return this._isOpen&&this.showPanel}_isOpen=!1;_latestOpeningTrigger;_setColor(e){this._color=e,this._changeDetectorRef.markForCheck()}_color;template;panel;options;optionGroups;ariaLabel;ariaLabelledby;displayWith=null;autoActiveFirstOption;autoSelectActiveOption;requireSelection;panelWidth;disableRipple;optionSelected=new T;opened=new T;closed=new T;optionActivated=new T;set classList(e){this._classList=e,this._elementRef.nativeElement.className=""}_classList;get hideSingleSelectionIndicator(){return this._hideSingleSelectionIndicator}set hideSingleSelectionIndicator(e){this._hideSingleSelectionIndicator=e,this._syncParentProperties()}_hideSingleSelectionIndicator;_syncParentProperties(){if(this.options)for(let e of this.options)e._changeDetectorRef.markForCheck()}id=h(ft).getId("mat-autocomplete-");inertGroups;constructor(){let e=h(rt);this.inertGroups=e?.SAFARI||!1,this.autoActiveFirstOption=!!this._defaults.autoActiveFirstOption,this.autoSelectActiveOption=!!this._defaults.autoSelectActiveOption,this.requireSelection=!!this._defaults.requireSelection,this._hideSingleSelectionIndicator=this._defaults.hideSingleSelectionIndicator??!1}ngAfterContentInit(){this._keyManager=new kl(this.options).withWrap().skipPredicate(this._skipPredicate),this._activeOptionChanges=this._keyManager.change.subscribe(e=>{this.isOpen&&this.optionActivated.emit({source:this,option:this.options.toArray()[e]||null})}),this._setVisibility()}ngOnDestroy(){this._keyManager?.destroy(),this._activeOptionChanges.unsubscribe(),this._animationDone.complete()}_setScrollTop(e){this.panel&&(this.panel.nativeElement.scrollTop=e)}_getScrollTop(){return this.panel?this.panel.nativeElement.scrollTop:0}_setVisibility(){this.showPanel=!!this.options.length,this._changeDetectorRef.markForCheck()}_emitSelectEvent(e){let t=new vw(this,e);this.optionSelected.emit(t)}_getPanelAriaLabelledby(e){if(this.ariaLabel)return null;let t=e?e+" ":"";return this.ariaLabelledby?t+this.ariaLabelledby:e}_skipPredicate(){return!1}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=E({type:n,selectors:[["mat-autocomplete"]],contentQueries:function(t,o,r){if(t&1&&(He(r,nt,5),He(r,kd,5)),t&2){let a;$(a=q())&&(o.options=a),$(a=q())&&(o.optionGroups=a)}},viewQuery:function(t,o){if(t&1&&(se(wt,7),se(r$,5)),t&2){let r;$(r=q())&&(o.template=r.first),$(r=q())&&(o.panel=r.first)}},hostAttrs:[1,"mat-mdc-autocomplete"],inputs:{ariaLabel:[0,"aria-label","ariaLabel"],ariaLabelledby:[0,"aria-labelledby","ariaLabelledby"],displayWith:"displayWith",autoActiveFirstOption:[2,"autoActiveFirstOption","autoActiveFirstOption",G],autoSelectActiveOption:[2,"autoSelectActiveOption","autoSelectActiveOption",G],requireSelection:[2,"requireSelection","requireSelection",G],panelWidth:"panelWidth",disableRipple:[2,"disableRipple","disableRipple",G],classList:[0,"class","classList"],hideSingleSelectionIndicator:[2,"hideSingleSelectionIndicator","hideSingleSelectionIndicator",G]},outputs:{optionSelected:"optionSelected",opened:"opened",closed:"closed",optionActivated:"optionActivated"},exportAs:["matAutocomplete"],features:[ye([{provide:Td,useExisting:n}]),ce],ngContentSelectors:a$,decls:1,vars:0,consts:[["panel",""],["role","listbox",1,"mat-mdc-autocomplete-panel","mdc-menu-surface","mdc-menu-surface--open",3,"id"]],template:function(t,o){t&1&&(We(),x(0,s$,3,16,"ng-template"))},styles:["div.mat-mdc-autocomplete-panel{width:100%;max-height:256px;visibility:hidden;transform-origin:center top;overflow:auto;padding:8px 0;box-sizing:border-box;position:static;border-radius:var(--mat-autocomplete-container-shape, var(--mat-sys-corner-extra-small));box-shadow:var(--mat-autocomplete-container-elevation-shadow, 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12));background-color:var(--mat-autocomplete-background-color, var(--mat-sys-surface-container))}@media(forced-colors: active){div.mat-mdc-autocomplete-panel{outline:solid 1px}}.cdk-overlay-pane:not(.mat-mdc-autocomplete-panel-above) div.mat-mdc-autocomplete-panel{border-top-left-radius:0;border-top-right-radius:0}.mat-mdc-autocomplete-panel-above div.mat-mdc-autocomplete-panel{border-bottom-left-radius:0;border-bottom-right-radius:0;transform-origin:center bottom}div.mat-mdc-autocomplete-panel.mat-mdc-autocomplete-visible{visibility:visible}div.mat-mdc-autocomplete-panel.mat-mdc-autocomplete-hidden{visibility:hidden;pointer-events:none}mat-autocomplete{display:none}"],encapsulation:2,data:{animation:[l$]},changeDetection:0})}return n})();var d$={provide:bi,useExisting:ln(()=>bs),multi:!0};var xA=new R("mat-autocomplete-scroll-strategy",{providedIn:"root",factory:()=>{let n=h(Lt);return()=>n.scrollStrategies.reposition()}});function u$(n){return()=>n.scrollStrategies.reposition()}var m$={provide:xA,deps:[Lt],useFactory:u$},bs=(()=>{class n{_element=h(Q);_overlay=h(Lt);_viewContainerRef=h(kt);_zone=h(te);_changeDetectorRef=h(Ee);_dir=h(jt,{optional:!0});_formField=h(Ro,{optional:!0,host:!0});_document=h(de);_viewportRuler=h(Ii);_defaults=h(CA,{optional:!0});_overlayRef;_portal;_componentDestroyed=!1;_scrollStrategy=h(xA);_keydownSubscription;_outsideClickSubscription;_previousValue;_valueOnAttach;_valueOnLastKeydown;_positionStrategy;_manuallyFloatingLabel=!1;_closingActionsSubscription;_viewportSubscription=ge.EMPTY;_breakpointObserver=h(Il);_handsetLandscapeSubscription=ge.EMPTY;_canOpenOnNextFocus=!0;_valueBeforeAutoSelection;_pendingAutoselectedOption;_closeKeyEventStream=new j;_windowBlurHandler=()=>{this._canOpenOnNextFocus=this._document.activeElement!==this._element.nativeElement||this.panelOpen};_onChange=()=>{};_onTouched=()=>{};autocomplete;position="auto";connectedTo;autocompleteAttribute="off";autocompleteDisabled;_initialized=new j;_injector=h(Ae);constructor(){}_aboveClass="mat-mdc-autocomplete-panel-above";ngAfterViewInit(){this._initialized.next(),this._initialized.complete();let e=this._getWindow();typeof e<"u"&&this._zone.runOutsideAngular(()=>e.addEventListener("blur",this._windowBlurHandler))}ngOnChanges(e){e.position&&this._positionStrategy&&(this._setStrategyPositions(this._positionStrategy),this.panelOpen&&this._overlayRef.updatePosition())}ngOnDestroy(){let e=this._getWindow();typeof e<"u"&&e.removeEventListener("blur",this._windowBlurHandler),this._handsetLandscapeSubscription.unsubscribe(),this._viewportSubscription.unsubscribe(),this._componentDestroyed=!0,this._destroyPanel(),this._closeKeyEventStream.complete(),this._clearFromModal()}get panelOpen(){return this._overlayAttached&&this.autocomplete.showPanel}_overlayAttached=!1;openPanel(){this._openPanelInternal()}closePanel(){this._resetLabel(),this._overlayAttached&&(this.panelOpen&&this._zone.run(()=>{this.autocomplete.closed.emit()}),this.autocomplete._latestOpeningTrigger===this&&(this.autocomplete._isOpen=!1,this.autocomplete._latestOpeningTrigger=null),this._overlayAttached=!1,this._pendingAutoselectedOption=null,this._overlayRef&&this._overlayRef.hasAttached()&&(this._overlayRef.detach(),this._closingActionsSubscription.unsubscribe()),this._updatePanelState(),this._componentDestroyed||this._changeDetectorRef.detectChanges(),this._trackedModal&&_a(this._trackedModal,"aria-owns",this.autocomplete.id))}updatePosition(){this._overlayAttached&&this._overlayRef.updatePosition()}get panelClosingActions(){return yt(this.optionSelections,this.autocomplete._keyManager.tabOut.pipe(je(()=>this._overlayAttached)),this._closeKeyEventStream,this._getOutsideClickStream(),this._overlayRef?this._overlayRef.detachments().pipe(je(()=>this._overlayAttached)):ie()).pipe(le(e=>e instanceof Md?e:null))}optionSelections=Xi(()=>{let e=this.autocomplete?this.autocomplete.options:null;return e?e.changes.pipe(Et(e),Tt(()=>yt(...e.map(t=>t.onSelectionChange)))):this._initialized.pipe(Tt(()=>this.optionSelections))});get activeOption(){return this.autocomplete&&this.autocomplete._keyManager?this.autocomplete._keyManager.activeItem:null}_getOutsideClickStream(){return yt(mi(this._document,"click"),mi(this._document,"auxclick"),mi(this._document,"touchend")).pipe(je(e=>{let t=gi(e),o=this._formField?this._formField.getConnectedOverlayOrigin().nativeElement:null,r=this.connectedTo?this.connectedTo.elementRef.nativeElement:null;return this._overlayAttached&&t!==this._element.nativeElement&&this._document.activeElement!==this._element.nativeElement&&(!o||!o.contains(t))&&(!r||!r.contains(t))&&!!this._overlayRef&&!this._overlayRef.overlayElement.contains(t)}))}writeValue(e){Promise.resolve(null).then(()=>this._assignOptionValue(e))}registerOnChange(e){this._onChange=e}registerOnTouched(e){this._onTouched=e}setDisabledState(e){this._element.nativeElement.disabled=e}_handleKeydown(e){let t=e.keyCode,o=Ot(e);if(t===27&&!o&&e.preventDefault(),this._valueOnLastKeydown=this._element.nativeElement.value,this.activeOption&&t===13&&this.panelOpen&&!o)this.activeOption._selectViaInteraction(),this._resetActiveItem(),e.preventDefault();else if(this.autocomplete){let r=this.autocomplete._keyManager.activeItem,a=t===38||t===40;t===9||a&&!o&&this.panelOpen?this.autocomplete._keyManager.onKeydown(e):a&&this._canOpen()&&this._openPanelInternal(this._valueOnLastKeydown),(a||this.autocomplete._keyManager.activeItem!==r)&&(this._scrollToOption(this.autocomplete._keyManager.activeItemIndex||0),this.autocomplete.autoSelectActiveOption&&this.activeOption&&(this._pendingAutoselectedOption||(this._valueBeforeAutoSelection=this._valueOnLastKeydown),this._pendingAutoselectedOption=this.activeOption,this._assignOptionValue(this.activeOption.value)))}}_handleInput(e){let t=e.target,o=t.value;if(t.type==="number"&&(o=o==""?null:parseFloat(o)),this._previousValue!==o){if(this._previousValue=o,this._pendingAutoselectedOption=null,(!this.autocomplete||!this.autocomplete.requireSelection)&&this._onChange(o),!o)this._clearPreviousSelectedOption(null,!1);else if(this.panelOpen&&!this.autocomplete.requireSelection){let r=this.autocomplete.options?.find(a=>a.selected);if(r){let a=this._getDisplayValue(r.value);o!==a&&r.deselect(!1)}}if(this._canOpen()&&this._document.activeElement===e.target){let r=this._valueOnLastKeydown??this._element.nativeElement.value;this._valueOnLastKeydown=null,this._openPanelInternal(r)}}}_handleFocus(){this._canOpenOnNextFocus?this._canOpen()&&(this._previousValue=this._element.nativeElement.value,this._attachOverlay(this._previousValue),this._floatLabel(!0)):this._canOpenOnNextFocus=!0}_handleClick(){this._canOpen()&&!this.panelOpen&&this._openPanelInternal()}_floatLabel(e=!1){this._formField&&this._formField.floatLabel==="auto"&&(e?this._formField._animateAndLockLabel():this._formField.floatLabel="always",this._manuallyFloatingLabel=!0)}_resetLabel(){this._manuallyFloatingLabel&&(this._formField&&(this._formField.floatLabel="auto"),this._manuallyFloatingLabel=!1)}_subscribeToClosingActions(){let e=new Fe(o=>{nn(()=>{o.next()},{injector:this._injector})}),t=this.autocomplete.options.changes.pipe(Ht(()=>this._positionStrategy.reapplyLastPosition()),Yr(0));return yt(e,t).pipe(Tt(()=>this._zone.run(()=>{let o=this.panelOpen;return this._resetActiveItem(),this._updatePanelState(),this._changeDetectorRef.detectChanges(),this.panelOpen&&this._overlayRef.updatePosition(),o!==this.panelOpen&&(this.panelOpen?this._emitOpened():this.autocomplete.closed.emit()),this.panelClosingActions})),Rt(1)).subscribe(o=>this._setValueAndClose(o))}_emitOpened(){this.autocomplete.opened.emit()}_destroyPanel(){this._overlayRef&&(this.closePanel(),this._overlayRef.dispose(),this._overlayRef=null)}_getDisplayValue(e){let t=this.autocomplete;return t&&t.displayWith?t.displayWith(e):e}_assignOptionValue(e){let t=this._getDisplayValue(e);e==null&&this._clearPreviousSelectedOption(null,!1),this._updateNativeInputValue(t??"")}_updateNativeInputValue(e){this._formField?this._formField._control.value=e:this._element.nativeElement.value=e,this._previousValue=e}_setValueAndClose(e){let t=this.autocomplete,o=e?e.source:this._pendingAutoselectedOption;o?(this._clearPreviousSelectedOption(o),this._assignOptionValue(o.value),this._onChange(o.value),t._emitSelectEvent(o),this._element.nativeElement.focus()):t.requireSelection&&this._element.nativeElement.value!==this._valueOnAttach&&(this._clearPreviousSelectedOption(null),this._assignOptionValue(null),t._animationDone?t._animationDone.pipe(Rt(1)).subscribe(()=>this._onChange(null)):this._onChange(null)),this.closePanel()}_clearPreviousSelectedOption(e,t){this.autocomplete?.options?.forEach(o=>{o!==e&&o.selected&&o.deselect(t)})}_openPanelInternal(e=this._element.nativeElement.value){if(this._attachOverlay(e),this._floatLabel(),this._trackedModal){let t=this.autocomplete.id;Ol(this._trackedModal,"aria-owns",t)}}_attachOverlay(e){this.autocomplete;let t=this._overlayRef;t?(this._positionStrategy.setOrigin(this._getConnectedElement()),t.updateSize({width:this._getPanelWidth()})):(this._portal=new On(this.autocomplete.template,this._viewContainerRef,{id:this._formField?.getLabelId()}),t=this._overlay.create(this._getOverlayConfig()),this._overlayRef=t,this._viewportSubscription=this._viewportRuler.change().subscribe(()=>{this.panelOpen&&t&&t.updateSize({width:this._getPanelWidth()})}),this._handsetLandscapeSubscription=this._breakpointObserver.observe(rh.HandsetLandscape).subscribe(r=>{r.matches?this._positionStrategy.withFlexibleDimensions(!0).withGrowAfterOpen(!0).withViewportMargin(8):this._positionStrategy.withFlexibleDimensions(!1).withGrowAfterOpen(!1).withViewportMargin(0)})),t&&!t.hasAttached()&&(t.attach(this._portal),this._valueOnAttach=e,this._valueOnLastKeydown=null,this._closingActionsSubscription=this._subscribeToClosingActions());let o=this.panelOpen;this.autocomplete._isOpen=this._overlayAttached=!0,this.autocomplete._latestOpeningTrigger=this,this.autocomplete._setColor(this._formField?.color),this._updatePanelState(),this._applyModalPanelOwnership(),this.panelOpen&&o!==this.panelOpen&&this._emitOpened()}_handlePanelKeydown=e=>{(e.keyCode===27&&!Ot(e)||e.keyCode===38&&Ot(e,"altKey"))&&(this._pendingAutoselectedOption&&(this._updateNativeInputValue(this._valueBeforeAutoSelection??""),this._pendingAutoselectedOption=null),this._closeKeyEventStream.next(),this._resetActiveItem(),e.stopPropagation(),e.preventDefault())};_updatePanelState(){if(this.autocomplete._setVisibility(),this.panelOpen){let e=this._overlayRef;this._keydownSubscription||(this._keydownSubscription=e.keydownEvents().subscribe(this._handlePanelKeydown)),this._outsideClickSubscription||(this._outsideClickSubscription=e.outsidePointerEvents().subscribe())}else this._keydownSubscription?.unsubscribe(),this._outsideClickSubscription?.unsubscribe(),this._keydownSubscription=this._outsideClickSubscription=null}_getOverlayConfig(){return new ki({positionStrategy:this._getOverlayPosition(),scrollStrategy:this._scrollStrategy(),width:this._getPanelWidth(),direction:this._dir??void 0,panelClass:this._defaults?.overlayPanelClass})}_getOverlayPosition(){let e=this._overlay.position().flexibleConnectedTo(this._getConnectedElement()).withFlexibleDimensions(!1).withPush(!1);return this._setStrategyPositions(e),this._positionStrategy=e,e}_setStrategyPositions(e){let t=[{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top"},{originX:"end",originY:"bottom",overlayX:"end",overlayY:"top"}],o=this._aboveClass,r=[{originX:"start",originY:"top",overlayX:"start",overlayY:"bottom",panelClass:o},{originX:"end",originY:"top",overlayX:"end",overlayY:"bottom",panelClass:o}],a;this.position==="above"?a=r:this.position==="below"?a=t:a=[...t,...r],e.withPositions(a)}_getConnectedElement(){return this.connectedTo?this.connectedTo.elementRef:this._formField?this._formField.getConnectedOverlayOrigin():this._element}_getPanelWidth(){return this.autocomplete.panelWidth||this._getHostWidth()}_getHostWidth(){return this._getConnectedElement().nativeElement.getBoundingClientRect().width}_resetActiveItem(){let e=this.autocomplete;if(e.autoActiveFirstOption){let t=-1;for(let o=0;o .cdk-overlay-container [aria-modal="true"]');if(!e)return;let t=this.autocomplete.id;this._trackedModal&&_a(this._trackedModal,"aria-owns",t),Ol(e,"aria-owns",t),this._trackedModal=e}_clearFromModal(){if(this._trackedModal){let e=this.autocomplete.id;_a(this._trackedModal,"aria-owns",e),this._trackedModal=null}}static \u0275fac=function(t){return new(t||n)};static \u0275dir=N({type:n,selectors:[["input","matAutocomplete",""],["textarea","matAutocomplete",""]],hostAttrs:[1,"mat-mdc-autocomplete-trigger"],hostVars:7,hostBindings:function(t,o){t&1&&b("focusin",function(){return o._handleFocus()})("blur",function(){return o._onTouched()})("input",function(a){return o._handleInput(a)})("keydown",function(a){return o._handleKeydown(a)})("click",function(){return o._handleClick()}),t&2&&ee("autocomplete",o.autocompleteAttribute)("role",o.autocompleteDisabled?null:"combobox")("aria-autocomplete",o.autocompleteDisabled?null:"list")("aria-activedescendant",o.panelOpen&&o.activeOption?o.activeOption.id:null)("aria-expanded",o.autocompleteDisabled?null:o.panelOpen.toString())("aria-controls",o.autocompleteDisabled||!o.panelOpen||o.autocomplete==null?null:o.autocomplete.id)("aria-haspopup",o.autocompleteDisabled?null:"listbox")},inputs:{autocomplete:[0,"matAutocomplete","autocomplete"],position:[0,"matAutocompletePosition","position"],connectedTo:[0,"matAutocompleteConnectedTo","connectedTo"],autocompleteAttribute:[0,"autocomplete","autocompleteAttribute"],autocompleteDisabled:[2,"matAutocompleteDisabled","autocompleteDisabled",G]},exportAs:["matAutocompleteTrigger"],features:[ye([d$]),ce,Ze]})}return n})(),DA=(()=>{class n{static \u0275fac=function(t){return new(t||n)};static \u0275mod=J({type:n});static \u0275inj=X({providers:[m$],imports:[ci,Ll,me,ro,Ll,me]})}return n})();function p$(n,i){if(n&1&&(c(0,"div")(1,"uds-translate"),g(2,"Edit user"),d(),g(3),d()),n&2){let e=_();u(3),O(" ",e.user.name," ")}}function h$(n,i){n&1&&(c(0,"uds-translate"),g(1,"New user"),d())}function f$(n,i){if(n&1){let e=k();c(0,"mat-form-field")(1,"mat-label"),g(2),d(),c(3,"input",19),U("ngModelChange",function(o){y(e);let r=_();return W(r.user.name,o)||(r.user.name=o),w(o)}),d()()}if(n&2){let e=_();u(2),O(" ",e.authenticator.type_info.label_username," "),u(),z("ngModel",e.user.name),p("disabled",e.user.id)}}function g$(n,i){if(n&1&&(c(0,"mat-option",21),g(1),d()),n&2){let e=i.$implicit;p("value",e.id),u(),Er(" ",e.id," (",e.name,") ")}}function _$(n,i){if(n&1){let e=k();c(0,"mat-form-field")(1,"mat-label"),g(2),d(),c(3,"input",20),U("ngModelChange",function(o){y(e);let r=_();return W(r.user.name,o)||(r.user.name=o),w(o)}),b("input",function(o){y(e);let r=_();return w(r.filterUser(o))}),d(),c(4,"mat-autocomplete",null,1),x(6,g$,2,3,"mat-option",16),d()()}if(n&2){let e=be(5),t=_();u(2),O(" ",t.authenticator.type_info.label_username," "),u(),z("ngModel",t.user.name),p("matAutocomplete",e),u(3),p("ngForOf",t.users)}}function v$(n,i){if(n&1){let e=k();c(0,"mat-form-field")(1,"mat-label"),g(2),d(),c(3,"input",22),U("ngModelChange",function(o){y(e);let r=_();return W(r.user.password,o)||(r.user.password=o),w(o)}),d()()}if(n&2){let e=_();u(2),O(" ",e.authenticator.type_info.label_password," "),u(),z("ngModel",e.user.password)}}function b$(n,i){if(n&1){let e=k();c(0,"mat-form-field")(1,"mat-label")(2,"uds-translate"),g(3,"MFA"),d()(),c(4,"input",23),U("ngModelChange",function(o){y(e);let r=_();return W(r.user.mfa_data,o)||(r.user.mfa_data=o),w(o)}),d()()}if(n&2){let e=_();u(4),z("ngModel",e.user.mfa_data)}}function y$(n,i){if(n&1&&(c(0,"mat-option",21),g(1),d()),n&2){let e=i.$implicit;p("value",e.id),u(),O(" ",e.name," ")}}var yw=(()=>{let i=class i{constructor(t,o,r,a){this.api=t,this.rest=o,this.dialogRef=r,this.groups=[],this.onSave=new T(!0),this.users=[],this.authenticator=a.authenticator,this.user={id:void 0,name:"",real_name:"",comments:"",state:"A",is_admin:!1,staff_member:!1,password:"",role:"user",mfa:"",groups:[]},a.user!==void 0&&(this.user.id=a.user.id,this.user.name=a.user.name)}static launch(t,o,r){let a=window.innerWidth<800?"60%":"40%";return t.gui.dialog.open(i,{width:a,position:{top:window.innerWidth<800?"0px":"7rem"},data:{authenticator:o,user:r},disableClose:!1}).componentInstance.onSave}ngOnInit(){this.rest.authenticators.detail(this.authenticator.id,"groups").overview().then(t=>{this.groups=t}),this.user.id&&this.rest.authenticators.detail(this.authenticator.id,"users").get(this.user.id).then(t=>{this.user=t,this.user.role=t.is_admin?"admin":t.staff_member?"staff":"user"},t=>{this.dialogRef.close()})}roleChanged(t){this.user.is_admin=t==="admin",this.user.staff_member=t==="admin"||t==="staff"}filterUser(t){let o=t.target.value;this.rest.authenticators.search(this.authenticator.id,"user",o,100).then(r=>{this.users.length=0,r.forEach(a=>{this.users.push(a)})})}save(){this.rest.authenticators.detail(this.authenticator.id,"users").save(this.user).then(t=>{this.dialogRef.close(),this.onSave.emit(!0)})}};i.\u0275fac=function(o){return new(o||i)(C(B),C(Z),C(Ne),C(Ke))},i.\u0275cmp=E({type:i,selectors:[["uds-new-user"]],standalone:!1,decls:58,vars:12,consts:[["nousertitle",""],["auto","matAutocomplete"],["mat-dialog-title",""],[4,"ngIf","ngIfElse"],[1,"content"],[4,"ngIf"],["type","text","matInput","","autocomplete","new-real_name",3,"ngModelChange","ngModel"],["type","text","matInput","","autocomplete","new-comments",3,"ngModelChange","ngModel"],[3,"ngModelChange","ngModel"],["value","A"],["value","I"],[3,"ngModelChange","valueChange","ngModel"],["value","admin"],["value","staff"],["value","user"],["multiple","",3,"ngModelChange","ngModel"],[3,"value",4,"ngFor","ngForOf"],["mat-raised-button","","mat-dialog-close","","color","warn"],["mat-raised-button","","color","primary",3,"click"],["type","text","matInput","","autocomplete","new-username",3,"ngModelChange","ngModel","disabled"],["type","text","aria-label","Number","matInput","",3,"ngModelChange","input","ngModel","matAutocomplete"],[3,"value"],["type","password","matInput","","autocomplete","new-password",3,"ngModelChange","ngModel"],["type","text","matInput","",3,"ngModelChange","ngModel"]],template:function(o,r){if(o&1){let a=k();c(0,"h4",2),x(1,p$,4,1,"div",3)(2,h$,2,0,"ng-template",null,0,gn),d(),c(4,"mat-dialog-content")(5,"div",4),x(6,f$,4,3,"mat-form-field",5)(7,_$,7,4,"mat-form-field",5),c(8,"mat-form-field")(9,"mat-label")(10,"uds-translate"),g(11,"Real name"),d()(),c(12,"input",6),U("ngModelChange",function(l){return y(a),W(r.user.real_name,l)||(r.user.real_name=l),w(l)}),d()(),c(13,"mat-form-field")(14,"mat-label")(15,"uds-translate"),g(16,"Comments"),d()(),c(17,"input",7),U("ngModelChange",function(l){return y(a),W(r.user.comments,l)||(r.user.comments=l),w(l)}),d()(),c(18,"mat-form-field")(19,"mat-label")(20,"uds-translate"),g(21,"State"),d()(),c(22,"mat-select",8),U("ngModelChange",function(l){return y(a),W(r.user.state,l)||(r.user.state=l),w(l)}),c(23,"mat-option",9)(24,"uds-translate"),g(25,"Enabled"),d()(),c(26,"mat-option",10)(27,"uds-translate"),g(28,"Disabled"),d()()()(),c(29,"mat-form-field")(30,"mat-label")(31,"uds-translate"),g(32,"Role"),d()(),c(33,"mat-select",11),U("ngModelChange",function(l){return y(a),W(r.user.role,l)||(r.user.role=l),w(l)}),b("valueChange",function(l){return y(a),w(r.roleChanged(l))}),c(34,"mat-option",12)(35,"uds-translate"),g(36,"Admin"),d()(),c(37,"mat-option",13)(38,"uds-translate"),g(39,"Staff member"),d()(),c(40,"mat-option",14)(41,"uds-translate"),g(42,"User"),d()()()(),x(43,v$,4,2,"mat-form-field",5)(44,b$,5,1,"mat-form-field",5),c(45,"mat-form-field")(46,"mat-label")(47,"uds-translate"),g(48,"Groups"),d()(),c(49,"mat-select",15),U("ngModelChange",function(l){return y(a),W(r.user.groups,l)||(r.user.groups=l),w(l)}),x(50,y$,2,2,"mat-option",16),d()()()(),c(51,"mat-dialog-actions")(52,"button",17)(53,"uds-translate"),g(54,"Cancel"),d()(),c(55,"button",18),b("click",function(){return y(a),w(r.save())}),c(56,"uds-translate"),g(57,"Ok"),d()()()}if(o&2){let a=be(3);u(),p("ngIf",r.user.id)("ngIfElse",a),u(5),p("ngIf",r.authenticator.type_info.search_users_supported===!1||r.user.id),u(),p("ngIf",r.authenticator.type_info.search_users_supported===!0&&!r.user.id),u(5),z("ngModel",r.user.real_name),u(5),z("ngModel",r.user.comments),u(5),z("ngModel",r.user.state),u(11),z("ngModel",r.user.role),u(10),p("ngIf",r.authenticator.type_info.needs_password),u(),p("ngIf",r.authenticator.type_info.mfa_data_enabled),u(5),z("ngModel",r.user.groups),u(),p("ngForOf",r.groups)}},dependencies:[$e,ue,lt,we,xe,Te,Qt,Xe,et,Je,fe,ke,pt,vt,nt,Yl,bs,ae],styles:[".mat-mdc-dialog-actions[_ngcontent-%COMP%]{justify-content:flex-end}.content[_ngcontent-%COMP%]{width:100%;margin-top:.5rem;display:flex;flex-wrap:wrap}.mat-mdc-form-field[_ngcontent-%COMP%]{width:100%}"]});let n=i;return n})();function w$(n,i){if(n&1&&(c(0,"div")(1,"uds-translate"),g(2,"Edit group"),d(),g(3),d()),n&2){let e=_();u(3),O(" ",e.group.name," ")}}function C$(n,i){n&1&&(c(0,"uds-translate"),g(1,"New group"),d())}function x$(n,i){if(n&1){let e=k();c(0,"mat-form-field")(1,"mat-label"),g(2),d(),c(3,"input",14),U("ngModelChange",function(o){y(e);let r=_(2);return W(r.group.name,o)||(r.group.name=o),w(o)}),d()()}if(n&2){let e=_(2);u(2),O(" ",e.authenticator.type_info.label_groupname," "),u(),z("ngModel",e.group.name),p("disabled",e.group.id)}}function D$(n,i){if(n&1&&(c(0,"mat-option",17),g(1),d()),n&2){let e=i.$implicit;p("value",e.id),u(),Er(" ",e.id," (",e.name,") ")}}function S$(n,i){if(n&1){let e=k();c(0,"mat-form-field")(1,"mat-label"),g(2),d(),c(3,"input",15),U("ngModelChange",function(o){y(e);let r=_(2);return W(r.group.name,o)||(r.group.name=o),w(o)}),b("input",function(o){y(e);let r=_(2);return w(r.filterGroup(o))}),d(),c(4,"mat-autocomplete",null,3),x(6,D$,2,3,"mat-option",16),d()()}if(n&2){let e=be(5),t=_(2);u(2),O(" ",t.authenticator.type_info.label_groupname," "),u(),z("ngModel",t.group.name),p("matAutocomplete",e),u(3),p("ngForOf",t.fltrGroup)}}function E$(n,i){if(n&1&&(ut(0),x(1,x$,4,3,"mat-form-field",13)(2,S$,7,4,"mat-form-field",13),mt()),n&2){let e=_();u(),p("ngIf",e.authenticator.type_info.search_groups_supported===!1||e.group.id),u(),p("ngIf",e.authenticator.type_info.search_groups_supported===!0&&!e.group.id)}}function M$(n,i){if(n&1){let e=k();c(0,"mat-form-field")(1,"mat-label")(2,"uds-translate"),g(3,"Meta group name"),d()(),c(4,"input",14),U("ngModelChange",function(o){y(e);let r=_();return W(r.group.name,o)||(r.group.name=o),w(o)}),d()()}if(n&2){let e=_();u(4),z("ngModel",e.group.name),p("disabled",e.group.id)}}function I$(n,i){if(n&1&&(c(0,"mat-option",17),g(1),d()),n&2){let e=i.$implicit;p("value",e.id),u(),O(" ",e.name," ")}}function T$(n,i){if(n&1){let e=k();ut(0),c(1,"mat-form-field")(2,"mat-label")(3,"uds-translate"),g(4,"Service Pools"),d()(),c(5,"mat-select",18),U("ngModelChange",function(o){y(e);let r=_();return W(r.group.pools,o)||(r.group.pools=o),w(o)}),x(6,I$,2,2,"mat-option",16),d()(),mt()}if(n&2){let e=_();u(5),z("ngModel",e.group.pools),u(),p("ngForOf",e.servicePools)}}function k$(n,i){if(n&1&&(c(0,"mat-option",17),g(1),d()),n&2){let e=_().$implicit;p("value",e.id),u(),O(" ",e.name," ")}}function A$(n,i){if(n&1&&(ut(0),x(1,k$,2,2,"mat-option",20),mt()),n&2){let e=i.$implicit;u(),p("ngIf",e.type==="group")}}function R$(n,i){if(n&1){let e=k();c(0,"mat-form-field")(1,"mat-label")(2,"uds-translate"),g(3,"Match mode"),d()(),c(4,"mat-select",8),U("ngModelChange",function(o){y(e);let r=_();return W(r.group.meta_if_any,o)||(r.group.meta_if_any=o),w(o)}),c(5,"mat-option",17)(6,"uds-translate"),g(7,"Any group"),d()(),c(8,"mat-option",17)(9,"uds-translate"),g(10,"All groups"),d()()()(),c(11,"mat-form-field")(12,"mat-label")(13,"uds-translate"),g(14,"Selected Groups"),d()(),c(15,"mat-select",18),U("ngModelChange",function(o){y(e);let r=_();return W(r.group.groups,o)||(r.group.groups=o),w(o)}),x(16,A$,2,1,"ng-container",19),d()()}if(n&2){let e=_();u(4),z("ngModel",e.group.meta_if_any),u(),p("value",!0),u(3),p("value",!1),u(7),z("ngModel",e.group.groups),u(),p("ngForOf",e.groups)}}var ww=(()=>{let i=class i{constructor(t,o,r,a){this.api=t,this.rest=o,this.dialogRef=r,this.onSave=new T(!0),this.servicePools=[],this.groups=[],this.fltrGroup=[],this.authenticator=a.authenticator,this.group={id:void 0,type:a.groupType,name:"",comments:"",meta_if_any:!1,skip_mfa:"I",state:"A",groups:[],pools:[]},a.group!==void 0&&(this.group.id=a.group.id,this.group.type=a.group.type,this.group.name=a.group.name)}static launch(t,o,r,a){let s=window.innerWidth<800?"60%":"40%";return t.gui.dialog.open(i,{width:s,position:{top:window.innerWidth<800?"0px":"7rem"},data:{authenticator:o,groupType:r,group:a},disableClose:!0}).componentInstance.onSave}ngOnInit(){let t=this.rest.authenticators.detail(this.authenticator.id,"groups");this.group.id!==void 0&&t.get(this.group.id).then(o=>{this.group=o},o=>{this.dialogRef.close()}),this.group.type==="meta"?t.summary().then(o=>this.groups=o):this.rest.servicesPools.summary().then(o=>this.servicePools=o)}filterGroup(t){let o=t.target.value;this.rest.authenticators.search(this.authenticator.id,"group",o,100).then(r=>{this.fltrGroup.length=0,r.forEach(a=>{this.fltrGroup.push(a)})})}getMatchValue(){return django.gettext("Match mode")+this.group.meta_if_any?django.gettext("Any"):django.gettext("All")}save(){this.rest.authenticators.detail(this.authenticator.id,"groups").save(this.group).then(t=>{this.dialogRef.close(),this.onSave.emit(!0)})}};i.\u0275fac=function(o){return new(o||i)(C(B),C(Z),C(Ne),C(Ke))},i.\u0275cmp=E({type:i,selectors:[["uds-new-group"]],standalone:!1,decls:46,vars:9,consts:[["nousertitle",""],["metafirst",""],["metasecond",""],["auto","matAutocomplete"],["mat-dialog-title",""],[4,"ngIf","ngIfElse"],[1,"content"],["type","text","matInput","",3,"ngModelChange","ngModel"],[3,"ngModelChange","ngModel"],["value","A"],["value","I"],["mat-raised-button","","mat-dialog-close","","color","warn"],["mat-raised-button","","color","primary",3,"click"],[4,"ngIf"],["type","text","matInput","",3,"ngModelChange","ngModel","disabled"],["type","text","aria-label","Number","matInput","",3,"ngModelChange","input","ngModel","matAutocomplete"],[3,"value",4,"ngFor","ngForOf"],[3,"value"],["multiple","",3,"ngModelChange","ngModel"],[4,"ngFor","ngForOf"],[3,"value",4,"ngIf"]],template:function(o,r){if(o&1){let a=k();c(0,"h4",4),x(1,w$,4,1,"div",5)(2,C$,2,0,"ng-template",null,0,gn),d(),c(4,"mat-dialog-content")(5,"div",6),x(6,E$,3,2,"ng-container",5)(7,M$,5,2,"ng-template",null,1,gn),c(9,"mat-form-field")(10,"mat-label")(11,"uds-translate"),g(12,"Comments"),d()(),c(13,"input",7),U("ngModelChange",function(l){return y(a),W(r.group.comments,l)||(r.group.comments=l),w(l)}),d()(),c(14,"mat-form-field")(15,"mat-label")(16,"uds-translate"),g(17,"State"),d()(),c(18,"mat-select",8),U("ngModelChange",function(l){return y(a),W(r.group.state,l)||(r.group.state=l),w(l)}),c(19,"mat-option",9)(20,"uds-translate"),g(21,"Enabled"),d()(),c(22,"mat-option",10)(23,"uds-translate"),g(24,"Disabled"),d()()()(),c(25,"mat-form-field")(26,"mat-label")(27,"uds-translate"),g(28,"Skip MFA"),d()(),c(29,"mat-select",8),U("ngModelChange",function(l){return y(a),W(r.group.skip_mfa,l)||(r.group.skip_mfa=l),w(l)}),c(30,"mat-option",9)(31,"uds-translate"),g(32,"Enabled"),d()(),c(33,"mat-option",10)(34,"uds-translate"),g(35,"Disabled"),d()()()(),x(36,T$,7,2,"ng-container",5)(37,R$,17,5,"ng-template",null,2,gn),d()(),c(39,"mat-dialog-actions")(40,"button",11)(41,"uds-translate"),g(42,"Cancel"),d()(),c(43,"button",12),b("click",function(){return y(a),w(r.save())}),c(44,"uds-translate"),g(45,"Ok"),d()()()}if(o&2){let a=be(3),s=be(8),l=be(38);u(),p("ngIf",r.group.id)("ngIfElse",a),u(5),p("ngIf",r.group.type==="group")("ngIfElse",s),u(7),z("ngModel",r.group.comments),u(5),z("ngModel",r.group.state),u(11),z("ngModel",r.group.skip_mfa),u(7),p("ngIf",r.group.type==="group")("ngIfElse",l)}},dependencies:[$e,ue,lt,we,xe,Te,Qt,Xe,et,Je,fe,ke,pt,vt,nt,Yl,bs,ae],styles:[".mat-mdc-dialog-actions[_ngcontent-%COMP%]{justify-content:flex-end}.content[_ngcontent-%COMP%]{width:100%;margin-top:.5rem;display:flex;flex-wrap:wrap}.mat-mdc-form-field[_ngcontent-%COMP%]{width:100%}.label-match[_ngcontent-%COMP%]{color:#0009;display:block;font-weight:400;left:0;line-height:18px;overflow:hidden;pointer-events:none;position:absolute;text-align:left;text-overflow:ellipsis;top:.5em;transform:matrix(.75,0,0,.75,0,-21.5);transform-origin:0px 0px;white-space:nowrap}"]});let n=i;return n})();function O$(n,i){n&1&&(c(0,"uds-translate"),g(1,"Groups"),d())}function P$(n,i){if(n&1&&(c(0,"mat-tab"),x(1,O$,2,0,"ng-template",2),M(2,"uds-table",6),d()),n&2){let e=_();u(2),p("rest",e.group)("pageSize",6)}}function F$(n,i){n&1&&(c(0,"uds-translate"),g(1,"Services Pools"),d())}function N$(n,i){if(n&1&&(c(0,"mat-tab"),x(1,F$,2,0,"ng-template",2),M(2,"uds-table",6),d()),n&2){let e=_();u(2),p("rest",e.servicesPools)("pageSize",6)}}function L$(n,i){n&1&&(c(0,"uds-translate"),g(1,"Assigned Services"),d())}function V$(n,i){if(n&1&&(c(0,"mat-tab"),x(1,L$,2,0,"ng-template",2),M(2,"uds-table",6),d()),n&2){let e=_();u(2),p("rest",e.userServices)("pageSize",6)}}function B$(n,i){n&1&&(c(0,"uds-translate"),g(1,"Logs"),d())}var j$=[{field:"name",title:django.gettext("Group")},{field:"comments",title:django.gettext("Comments")}],z$=[{field:"name",title:django.gettext("Pool")},{field:"state",title:django.gettext("State")},{field:"user_services_count",title:django.gettext("User Services")}],U$=[{field:"unique_id",title:django.gettext("Unique ID")},{field:"friendly_name",title:django.gettext("Friendly Name")},{field:"in_use",title:django.gettext("In Use")},{field:"ip",title:django.gettext("IP")},{field:"pool",title:django.gettext("Services Pool")}],SA=(()=>{let i=class i{constructor(t,o,r,a){this.api=t,this.rest=o,this.dialogRef=r,this.group={},this.servicesPools={},this.userServices={},this.users=a.users,this.user=a.user}static launch(t,o,r){let a=window.innerWidth<800?"80%":"60%",s=t.gui.dialog.open(i,{width:a,position:{top:window.innerWidth<800?"0px":"7rem"},data:{users:o,user:r},disableClose:!1})}ngOnInit(){return H(this,null,function*(){let t=()=>H(this,null,function*(){let a=yield this.rest.authenticators.detail(this.users.parentId,"users").get(this.user.id);return(yield this.rest.authenticators.detail(this.users.parentId,"groups").overview()).filter(l=>a.groups.includes(l.id))}),o=()=>H(this,null,function*(){return this.users.invoke(this.user.id+"/servicesPools")}),r=()=>H(this,null,function*(){return(yield this.users.invoke(this.user.id+"/userServices")).map(s=>(s.in_use=this.api.boolAsHumanString(s.in_use),s))});this.group=new po(django.gettext("Groups"),t,j$,this.user.id+"infogrp"),this.servicesPools=new po(django.gettext("Services Pools"),o,z$,this.user.id+"infopool"),this.userServices=new po(django.gettext("Assigned services"),r,U$,this.user.id+"userservpool")})}};i.\u0275fac=function(o){return new(o||i)(C(B),C(Z),C(Ne),C(Ke))},i.\u0275cmp=E({type:i,selectors:[["uds-user-information"]],standalone:!1,decls:20,vars:14,consts:[["mat-dialog-title",""],[4,"ngIf"],["mat-tab-label",""],[1,"content"],[3,"rest","itemId","tableId","pageSize"],["mat-raised-button","","mat-dialog-close","","color","primary"],[3,"rest","pageSize"]],template:function(o,r){o&1&&(c(0,"h4",0)(1,"uds-translate"),g(2,"Information for"),d(),g(3),d(),c(4,"mat-dialog-content")(5,"mat-tab-group"),x(6,P$,3,2,"mat-tab",1),gt(7,"notEmpty"),x(8,N$,3,2,"mat-tab",1),gt(9,"notEmpty"),x(10,V$,3,2,"mat-tab",1),gt(11,"notEmpty"),c(12,"mat-tab"),x(13,B$,2,0,"ng-template",2),c(14,"div",3),M(15,"uds-logs-table",4),d()()()(),c(16,"mat-dialog-actions")(17,"button",5)(18,"uds-translate"),g(19,"Ok"),d()()()),o&2&&(u(3),O(" ",r.user.name,` `),u(3),p("ngIf",Ct(7,8,r.group)),u(2),p("ngIf",Ct(9,10,r.servicesPools)),u(2),p("ngIf",Ct(11,12,r.userServices)),u(5),p("rest",r.users)("itemId",r.user.id)("tableId","userInfo-d-log"+r.user.id)("pageSize",5))},dependencies:[ue,Te,Qt,Xe,et,Je,Jt,en,rn,ae,Ie,Ri,yn],styles:[".mat-mdc-dialog-actions[_ngcontent-%COMP%]{justify-content:flex-end}"]});let n=i;return n})();function H$(n,i){n&1&&(c(0,"uds-translate"),g(1,"Services Pools"),d())}function W$(n,i){if(n&1&&(c(0,"mat-tab"),x(1,H$,2,0,"ng-template",3),M(2,"uds-table",4),d()),n&2){let e=_();u(2),p("rest",e.servicesPools)("pageSize",6)}}function G$(n,i){n&1&&(c(0,"uds-translate"),g(1,"Users"),d())}function $$(n,i){if(n&1&&(c(0,"mat-tab"),x(1,G$,2,0,"ng-template",3),M(2,"uds-table",4),d()),n&2){let e=_();u(2),p("rest",e.users)("pageSize",6)}}function q$(n,i){n&1&&(c(0,"uds-translate"),g(1,"Groups"),d())}function Y$(n,i){if(n&1&&(c(0,"mat-tab"),x(1,q$,2,0,"ng-template",3),M(2,"uds-table",4),d()),n&2){let e=_();u(2),p("rest",e.groups)("pageSize",6)}}var Q$=[{field:"name",title:django.gettext("Pool")},{field:"state",title:django.gettext("State")},{field:"user_services_count",title:django.gettext("User Services")}],K$=[{field:"name",title:django.gettext("Name")},{field:"real_name",title:django.gettext("Real Name")},{field:"state",title:django.gettext("state")},{field:"last_access",title:django.gettext("Last access"),type:_n.DATETIME}],Z$=[{field:"name",title:django.gettext("Group")},{field:"comments",title:django.gettext("Comments")}],EA=(()=>{let i=class i{constructor(t,o,r,a){this.api=t,this.rest=o,this.dialogRef=r,this.data=a,this.users={},this.groups={},this.servicesPools={}}static launch(t,o,r){let a=window.innerWidth<800?"80%":"60%",s=t.gui.dialog.open(i,{width:a,position:{top:window.innerWidth<800?"0px":"7rem"},data:{group:r,groups:o},disableClose:!1})}ngOnInit(){let t=this.rest.authenticators.detail(this.data.groups.parentId,"groups"),o=()=>t.invoke(this.data.group.id+"/servicesPools"),r=()=>t.invoke(this.data.group.id+"/users").then(a=>a.map(s=>(s.state=s.state==="A"?django.gettext("Enabled"):s.state==="I"?django.gettext("Disabled"):django.gettext("Blocked"),s)));if(this.servicesPools=new po(django.gettext("Service pools"),o,Q$,this.data.group.id+"infopls"),this.users=new po(django.gettext("Users"),r,K$,this.data.group.id+"infousr"),this.data.group.type==="meta"){let a=()=>t.overview().then(s=>s.filter(l=>this.data.group.groups.includes(l.id)));this.groups=new po(django.gettext("Groups"),a,Z$,this.data.group.id+"infogrps")}}};i.\u0275fac=function(o){return new(o||i)(C(B),C(Z),C(Ne),C(Ke))},i.\u0275cmp=E({type:i,selectors:[["uds-group-information"]],standalone:!1,decls:15,vars:9,consts:[["mat-dialog-title",""],[4,"ngIf"],["mat-raised-button","","mat-dialog-close","","color","primary"],["mat-tab-label",""],[3,"rest","pageSize"]],template:function(o,r){o&1&&(c(0,"h4",0)(1,"uds-translate"),g(2,"Information for"),d()(),c(3,"mat-dialog-content")(4,"mat-tab-group"),x(5,W$,3,2,"mat-tab",1),gt(6,"notEmpty"),x(7,$$,3,2,"mat-tab",1),gt(8,"notEmpty"),x(9,Y$,3,2,"mat-tab",1),gt(10,"notEmpty"),d()(),c(11,"mat-dialog-actions")(12,"button",2)(13,"uds-translate"),g(14,"Ok"),d()()()),o&2&&(u(5),p("ngIf",Ct(6,3,r.servicesPools)),u(2),p("ngIf",Ct(8,5,r.users)),u(2),p("ngIf",Ct(10,7,r.groups)))},dependencies:[ue,Te,Qt,Xe,et,Je,Jt,en,rn,ae,Ie,yn],styles:[".mat-mdc-dialog-actions[_ngcontent-%COMP%]{justify-content:flex-end}"]});let n=i;return n})();var X$=n=>["/authenticators",n];function J$(n,i){n&1&&(c(0,"uds-translate"),g(1,"Summary"),d())}function e7(n,i){if(n&1&&M(0,"uds-information",16),n&2){let e=_(2);p("value",e.authenticator)("gui",e.gui)}}function t7(n,i){n&1&&(c(0,"uds-translate"),g(1,"Users"),d())}function n7(n,i){if(n&1){let e=k();c(0,"uds-table",17),b("loaded",function(o){y(e);let r=_(2);return w(r.onLoad(o))})("newAction",function(o){y(e);let r=_(2);return w(r.onNewUser(o))})("editAction",function(o){y(e);let r=_(2);return w(r.onEditUser(o))})("deleteAction",function(o){y(e);let r=_(2);return w(r.onDeleteUser(o))})("customButtonAction",function(o){y(e);let r=_(2);return w(r.onUserCustom(o))}),d()}if(n&2){let e=_(2);p("rest",e.users)("multiSelect",!0)("allowExport",!0)("tableId","authenticators-d-users"+e.authenticator.id)("customButtons",e.usersCustomButtons)("pageSize",e.api.config.admin.page_size)}}function i7(n,i){if(n&1){let e=k();c(0,"uds-table",18),b("loaded",function(o){y(e);let r=_(2);return w(r.onLoad(o))})("editAction",function(o){y(e);let r=_(2);return w(r.onEditUser(o))})("deleteAction",function(o){y(e);let r=_(2);return w(r.onDeleteUser(o))})("customButtonAction",function(o){y(e);let r=_(2);return w(r.onUserCustom(o))}),d()}if(n&2){let e=_(2);p("rest",e.users)("multiSelect",!0)("allowExport",!0)("tableId","authenticators-d-users"+e.authenticator.id)("customButtons",e.usersCustomButtons)("pageSize",e.api.config.admin.page_size)}}function o7(n,i){n&1&&(c(0,"uds-translate"),g(1,"Groups"),d())}function r7(n,i){n&1&&(c(0,"uds-translate"),g(1,"Logs"),d())}function a7(n,i){if(n&1){let e=k();c(0,"div",6)(1,"div",7)(2,"mat-tab-group",8),U("selectedIndexChange",function(o){y(e);let r=_();return W(r.selectedTab,o)||(r.selectedTab=o),w(o)}),c(3,"mat-tab"),x(4,J$,2,0,"ng-template",9),c(5,"div",10),x(6,e7,1,2,"uds-information",11),gt(7,"notEmpty"),d()(),c(8,"mat-tab"),x(9,t7,2,0,"ng-template",9),c(10,"div",10),x(11,n7,1,6,"uds-table",12)(12,i7,1,6,"uds-table",13),d()(),c(13,"mat-tab"),x(14,o7,2,0,"ng-template",9),c(15,"div",10)(16,"uds-table",14),b("loaded",function(o){y(e);let r=_();return w(r.onLoad(o))})("newAction",function(o){y(e);let r=_();return w(r.onNewGroup(o))})("editAction",function(o){y(e);let r=_();return w(r.onEditGroup(o))})("deleteAction",function(o){y(e);let r=_();return w(r.onDeleteGroup(o))})("customButtonAction",function(o){y(e);let r=_();return w(r.onGroupInformation(o))}),d()()(),c(17,"mat-tab"),x(18,r7,2,0,"ng-template",9),c(19,"div",10),M(20,"uds-logs-table",15),d()()()()()}if(n&2){let e=_();u(2),z("selectedIndex",e.selectedTab),p("@.disabled",!0),u(4),p("ngIf",Ct(7,14,e.gui)),u(5),p("ngIf",e.authenticator.type_info.create_users_supported),u(),p("ngIf",!e.authenticator.type_info.create_users_supported),u(4),p("rest",e.groups)("multiSelect",!0)("allowExport",!0)("customButtons",e.groupsCustomButtons)("tableId","authenticators-d-groups"+e.authenticator.id)("pageSize",e.api.config.admin.page_size),u(4),p("rest",e.rest.authenticators)("itemId",e.authenticator.id)("tableId","authenticators-d-log"+e.authenticator.id)}}var ag=(()=>{let i=class i{constructor(t,o,r){this.route=t,this.rest=o,this.api=r,this.groupsCustomButtons=[{id:"info",html:'info '+django.gettext("Information")+"",type:ct.ONLY_MENU}],this.usersCustomButtons=[{id:"info",html:'info '+django.gettext("Information")+"",type:ct.ONLY_MENU},{id:"clean-related",html:'clear_all '+django.gettext("Clean related (mfa,...)")+"",type:ct.ONLY_MENU},{id:"enable-client-logging",html:'assignment '+django.gettext("Enable client logging")+"",type:ct.ONLY_MENU}],this.authenticator=null,this.gui=[],this.users={},this.groups={},this.selectedTab=1,this.selectedTab=this.route.snapshot.paramMap.get("group")?2:1}ngOnInit(){let t=this.route.snapshot.paramMap.get("authenticator");t&&(this.users=this.rest.authenticators.detail(t,"users"),this.groups=this.rest.authenticators.detail(t,"groups"),this.rest.authenticators.get(t).then(o=>{this.authenticator=o,this.rest.authenticators.gui(o.type).then(r=>{this.gui=r})}))}onLoad(t){if(t.param===!0){let o=this.route.snapshot.paramMap.get("user"),r=this.route.snapshot.paramMap.get("group"),a=o||r;t.table.selectElement("id",a)}}processElement(t){t.maintenance_state=t.maintenance_mode?django.gettext("In Maintenance"):django.gettext("Active")}onNewUser(t){yw.launch(this.api,this.authenticator).subscribe(o=>t.table.overview())}onEditUser(t){yw.launch(this.api,this.authenticator,t.table.selection.selected[0]).subscribe(o=>t.table.overview())}onDeleteUser(t){this.api.gui.forms.deleteForm(t,django.gettext("Delete user"))}onNewGroup(t){ww.launch(this.api,this.authenticator,t.param.type).subscribe(o=>t.table.overview())}onEditGroup(t){ww.launch(this.api,this.authenticator,t.param.type,t.table.selection.selected[0]).subscribe(o=>t.table.overview())}onDeleteGroup(t){this.api.gui.forms.deleteForm(t,django.gettext("Delete group"))}onUserCustom(t){return H(this,null,function*(){t.param.id==="info"?SA.launch(this.api,this.users,t.table.selection.selected[0]):t.param.id==="clean-related"?(yield this.api.gui.questionDialog(django.gettext("Clean data"),django.gettext("Clean related data (mfa, ...)?"),!0))&&(yield this.users.invoke(t.table.selection.selected[0].id+"/clean_related"),this.api.gui.snackbar.open(django.gettext("Related data cleaned"),django.gettext("dismiss"),{duration:2e3}),t.table.overview()):t.param.id==="enable-client-logging"&&(yield this.api.gui.questionDialog(django.gettext("Client logging"),django.gettext("Enable client logging for user?"),!0))&&(yield this.users.invoke(t.table.selection.selected[0].id+"/enable_client_logging"),this.api.gui.snackbar.open(django.gettext("Client logging enabled"),django.gettext("dismiss"),{duration:2e3}),t.table.overview())})}onGroupInformation(t){EA.launch(this.api,this.groups,t.table.selection.selected[0])}};i.\u0275fac=function(o){return new(o||i)(C(Re),C(Z),C(B))},i.\u0275cmp=E({type:i,selectors:[["uds-authenticators-detail"]],standalone:!1,decls:10,vars:8,consts:[[1,"detail"],[1,"mat-elevation-z4","title"],[3,"routerLink"],[1,"material-icons"],[3,"src"],["class","card",4,"ngIf"],[1,"card"],[1,"card-content"],["backgroundColor","primary",3,"selectedIndexChange","selectedIndex"],["mat-tab-label",""],[1,"content"],[3,"value","gui",4,"ngIf"],["icon","users",3,"rest","multiSelect","allowExport","tableId","customButtons","pageSize","loaded","newAction","editAction","deleteAction","customButtonAction",4,"ngIf"],["icon","users",3,"rest","multiSelect","allowExport","tableId","customButtons","pageSize","loaded","editAction","deleteAction","customButtonAction",4,"ngIf"],["icon","groups",3,"loaded","newAction","editAction","deleteAction","customButtonAction","rest","multiSelect","allowExport","customButtons","tableId","pageSize"],[3,"rest","itemId","tableId"],[3,"value","gui"],["icon","users",3,"loaded","newAction","editAction","deleteAction","customButtonAction","rest","multiSelect","allowExport","tableId","customButtons","pageSize"],["icon","users",3,"loaded","editAction","deleteAction","customButtonAction","rest","multiSelect","allowExport","tableId","customButtons","pageSize"]],template:function(o,r){o&1&&(c(0,"div",0)(1,"div",1)(2,"a",2)(3,"i",3),g(4,"arrow_back"),d()(),g(5," \xA0"),M(6,"img",4),g(7),d(),x(8,a7,21,16,"div",5),gt(9,"notEmpty"),d()),o&2&&(u(2),p("routerLink",Un(6,X$,r.authenticator?r.authenticator.id:"")),u(4),p("src",r.api.staticURL("admin/img/icons/services.png"),Se),u(),O(" \xA0",r.authenticator==null?null:r.authenticator.name," "),u(),p("ngIf",Ct(9,4,r.authenticator)))},dependencies:[ue,bn,Jt,en,rn,ae,Ie,Ri,ho,yn],encapsulation:2});let n=i;return n})();var Cw=(()=>{let i=class i{constructor(t,o,r){this.api=t,this.route=o,this.rest=r}ngOnInit(){let t=this.route.snapshot.paramMap.get("osmanager")}onNew(t){this.api.gui.forms.typedNewForm(t,django.gettext("New OS Manager"),!1)}onEdit(t){this.api.gui.forms.typedEditForm(t,django.gettext("Edit OS Manager"),!1)}onDelete(t){this.api.gui.forms.deleteForm(t,django.gettext("Delete OS Manager"))}onLoad(t){t.param===!0&&t.table.selectElement("id",this.route.snapshot.paramMap.get("osmanager"))}};i.\u0275fac=function(o){return new(o||i)(C(B),C(Re),C(Z))},i.\u0275cmp=E({type:i,selectors:[["uds-osmanagers"]],standalone:!1,decls:2,vars:5,consts:[["icon","osmanagers",3,"newAction","editAction","deleteAction","loaded","rest","multiSelect","allowExport","hasPermissions","pageSize"]],template:function(o,r){o&1&&(c(0,"div")(1,"uds-table",0),b("newAction",function(s){return r.onNew(s)})("editAction",function(s){return r.onEdit(s)})("deleteAction",function(s){return r.onDelete(s)})("loaded",function(s){return r.onLoad(s)}),d()()),o&2&&(u(),p("rest",r.rest.osManagers)("multiSelect",!0)("allowExport",!0)("hasPermissions",!0)("pageSize",r.api.config.admin.page_size))},dependencies:[Ie],encapsulation:2});let n=i;return n})();var xw=(()=>{let i=class i{constructor(t,o,r){this.api=t,this.route=o,this.rest=r}ngOnInit(){let t=this.route.snapshot.paramMap.get("transport")}onNew(t){this.api.gui.forms.typedNewForm(t,django.gettext("New Transport"))}onEdit(t){this.api.gui.forms.typedEditForm(t,django.gettext("Edit Transport"))}onDelete(t){this.api.gui.forms.deleteForm(t,django.gettext("Delete Transport"))}processElement(t){try{t.allowed_oss=t.allowed_oss.join(", ")}catch{t.allowed_oss=""}}onLoad(t){t.param===!0&&t.table.selectElement("id",this.route.snapshot.paramMap.get("transport"))}};i.\u0275fac=function(o){return new(o||i)(C(B),C(Re),C(Z))},i.\u0275cmp=E({type:i,selectors:[["uds-transports"]],standalone:!1,decls:2,vars:7,consts:[["icon","transports",3,"newAction","editAction","deleteAction","loaded","rest","multiSelect","allowExport","hasPermissions","newGrouped","onItem","pageSize"]],template:function(o,r){o&1&&(c(0,"div")(1,"uds-table",0),b("newAction",function(s){return r.onNew(s)})("editAction",function(s){return r.onEdit(s)})("deleteAction",function(s){return r.onDelete(s)})("loaded",function(s){return r.onLoad(s)}),d()()),o&2&&(u(),p("rest",r.rest.transports)("multiSelect",!0)("allowExport",!0)("hasPermissions",!0)("newGrouped",!0)("onItem",r.processElement)("pageSize",r.api.config.admin.page_size))},dependencies:[Ie],styles:[".mat-column-priority{max-width:7rem;justify-content:center}"]});let n=i;return n})();var Dw=(()=>{let i=class i{constructor(t,o,r){this.api=t,this.route=o,this.rest=r}ngOnInit(){let t=this.route.snapshot.paramMap.get("network")}onNew(t){this.api.gui.forms.typedNewForm(t,django.gettext("New Network"),!1)}onEdit(t){this.api.gui.forms.typedEditForm(t,django.gettext("Edit Network"),!1)}onDelete(t){this.api.gui.forms.deleteForm(t,django.gettext("Delete Network"))}onLoad(t){t.param===!0&&t.table.selectElement("id",this.route.snapshot.paramMap.get("network"))}};i.\u0275fac=function(o){return new(o||i)(C(B),C(Re),C(Z))},i.\u0275cmp=E({type:i,selectors:[["uds-networks"]],standalone:!1,decls:2,vars:5,consts:[["icon","networks",3,"newAction","editAction","deleteAction","loaded","rest","multiSelect","allowExport","hasPermissions","pageSize"]],template:function(o,r){o&1&&(c(0,"div")(1,"uds-table",0),b("newAction",function(s){return r.onNew(s)})("editAction",function(s){return r.onEdit(s)})("deleteAction",function(s){return r.onDelete(s)})("loaded",function(s){return r.onLoad(s)}),d()()),o&2&&(u(),p("rest",r.rest.networks)("multiSelect",!0)("allowExport",!0)("hasPermissions",!0)("pageSize",r.api.config.admin.page_size))},dependencies:[Ie],encapsulation:2});let n=i;return n})();var Sw=(()=>{let i=class i{constructor(t,o,r){this.route=t,this.rest=o,this.api=r}ngOnInit(){}onNew(t){this.api.gui.forms.typedNewForm(t,django.gettext("New tunnel"),!0)}onEdit(t){this.api.gui.forms.typedEditForm(t,django.gettext("Edit tunnel"),!0)}onDelete(t){this.api.gui.forms.deleteForm(t,django.gettext("Delete tunnel"))}onDetail(t){this.api.navigation.gotoTunnelDetail(t.param.id)}processElement(t){t.maintenance_state=t.maintenance_mode?django.gettext("In Maintenance"):django.gettext("Active")}onLoad(t){t.param===!0&&t.table.selectElement("id",this.route.snapshot.paramMap.get("tunnel"))}};i.\u0275fac=function(o){return new(o||i)(C(Re),C(Z),C(B))},i.\u0275cmp=E({type:i,selectors:[["uds-tunnels"]],standalone:!1,decls:1,vars:6,consts:[["tableId","tunnels-table","icon","providers",3,"newAction","editAction","deleteAction","detailAction","loaded","rest","onItem","multiSelect","allowExport","hasPermissions","pageSize"]],template:function(o,r){o&1&&(c(0,"uds-table",0),b("newAction",function(s){return r.onNew(s)})("editAction",function(s){return r.onEdit(s)})("deleteAction",function(s){return r.onDelete(s)})("detailAction",function(s){return r.onDetail(s)})("loaded",function(s){return r.onLoad(s)}),d()),o&2&&p("rest",r.rest.tunnels)("onItem",r.processElement)("multiSelect",!0)("allowExport",!0)("hasPermissions",!0)("pageSize",r.api.config.admin.page_size)},dependencies:[Ie],encapsulation:2});let n=i;return n})();function s7(n,i){if(n&1&&(c(0,"mat-option",7),g(1),d()),n&2){let e=i.$implicit;p("value",e.id),u(),O(" ",e.name," ")}}var MA=(()=>{let i=class i{constructor(t,o,r,a){this.api=t,this.rest=o,this.dialogRef=r,this.done=new Xt,this.availTunnelServers=[],this.tunnelFilter="",this.serverId="",this.availTunnelServers=a.availableTunnelServers,this.tunnelId=a.tunnelId}static launch(t,o,r){return H(this,null,function*(){let a=window.innerWidth<800?"60%":"40%";return t.gui.dialog.open(i,{width:a,position:{top:window.innerWidth<800?"0px":"7rem"},data:{tunnelId:o,availableTunnelServers:r},disableClose:!1}).componentInstance.done})}ngOnInit(){return H(this,null,function*(){})}filteredTunnels(){if(!this.tunnelFilter)return this.availTunnelServers;let t=new Array;for(let o of this.availTunnelServers)o.name.toLocaleLowerCase().includes(this.tunnelFilter.toLocaleLowerCase())&&t.push(o);return t}save(){return H(this,null,function*(){if(this.serverId===""){this.api.gui.alert(django.gettext("Error"),django.gettext("Please, select a valid server"));return}this.dialogRef.close(),this.done.resolve(!0),yield this.rest.tunnels.assign(this.tunnelId,this.serverId)})}cancel(){return H(this,null,function*(){this.dialogRef.close(),this.done.resolve(!1)})}};i.\u0275fac=function(o){return new(o||i)(C(B),C(Z),C(Ne),C(Ke))},i.\u0275cmp=E({type:i,selectors:[["uds-new-tunnel"]],standalone:!1,decls:19,vars:3,consts:[["mat-dialog-title",""],[1,"content"],[3,"ngModelChange","ngModel"],[3,"changed","options"],[3,"value",4,"ngFor","ngForOf"],["mat-raised-button","","color","warn",3,"click"],["mat-raised-button","","color","primary",3,"click"],[3,"value"]],template:function(o,r){o&1&&(c(0,"h4",0)(1,"uds-translate"),g(2,"Assign new server to tunnel group"),d()(),c(3,"mat-dialog-content")(4,"div",1)(5,"mat-form-field")(6,"mat-label")(7,"uds-translate"),g(8,"Tunnel"),d()(),c(9,"mat-select",2),U("ngModelChange",function(s){return W(r.serverId,s)||(r.serverId=s),s}),c(10,"uds-cond-select-search",3),b("changed",function(s){return r.tunnelFilter=s}),d(),x(11,s7,2,2,"mat-option",4),d()()()(),c(12,"mat-dialog-actions")(13,"button",5),b("click",function(){return r.cancel()}),c(14,"uds-translate"),g(15,"Cancel"),d()(),c(16,"button",6),b("click",function(){return r.save()}),c(17,"uds-translate"),g(18,"Ok"),d()()()),o&2&&(u(9),z("ngModel",r.serverId),u(),p("options",r.availTunnelServers),u(),p("ngForOf",r.filteredTunnels()))},dependencies:[$e,we,xe,Te,Xe,et,Je,fe,ke,vt,nt,ae,pn],styles:[".mat-mdc-dialog-actions[_ngcontent-%COMP%]{justify-content:flex-end}.content[_ngcontent-%COMP%]{width:100%;margin-top:.5rem;display:flex;flex-wrap:wrap}.mat-mdc-form-field[_ngcontent-%COMP%]{width:100%}"]});let n=i;return n})();var l7=n=>["/connectivity","tunnels",n];function c7(n,i){n&1&&(c(0,"uds-translate"),g(1,"Summary"),d())}function d7(n,i){n&1&&(c(0,"uds-translate"),g(1,"Tunnel servers"),d())}function u7(n,i){if(n&1){let e=k();c(0,"div",6)(1,"div",7)(2,"mat-tab-group",8)(3,"mat-tab"),x(4,c7,2,0,"ng-template",9),c(5,"div",10),M(6,"uds-information",11),d()(),c(7,"mat-tab"),x(8,d7,2,0,"ng-template",9),c(9,"div",10)(10,"uds-table",12),b("newAction",function(o){y(e);let r=_();return w(r.onNew(o))})("rowSelected",function(o){y(e);let r=_();return w(r.onRowSelect(o))})("deleteAction",function(o){y(e);let r=_();return w(r.onDelete(o))})("customButtonAction",function(o){y(e);let r=_();return w(r.onMaintenance(o))})("loaded",function(o){y(e);let r=_();return w(r.onLoad(o))}),d()()()()()()}if(n&2){let e=_();u(2),p("@.disabled",!0),u(4),p("value",e.tunnel)("gui",e.gui),u(4),p("rest",e.servers)("multiSelect",!0)("allowExport",!0)("customButtons",e.customButtons)("pageSize",e.api.config.admin.page_size)("tableId","tunnels-d-servers"+e.tunnel.id)}}var IA='pause'+django.gettext("Maintenance")+"",m7='pause'+django.gettext("Exit maintenance mode")+"",p7='pause'+django.gettext("Enter maintenance mode")+"",TA=(()=>{let i=class i{constructor(t,o,r){this.route=t,this.rest=o,this.api=r,this.cButtons=[{id:"maintenance",html:IA,type:ct.SINGLE_SELECT}],this.tunnel=null,this.gui=[],this.servers={}}get customButtons(){return this.api.user.isAdmin?this.cButtons:[]}ngOnInit(){return H(this,null,function*(){let t=this.route.snapshot.paramMap.get("tunnel");t&&(this.servers=this.rest.tunnels.detail(t,"servers"),this.tunnel=yield this.servers.parentModel.get(t),this.gui=yield this.servers.parentModel.gui(),console.log(this.gui),console.log(this.tunnel))})}onMaintenance(t){let o=t.table.selection.selected[0],r=o.maintenance_mode?django.gettext("Exit maintenance mode?"):django.gettext("Enter maintenance mode?");this.api.gui.questionDialog(django.gettext("Maintenance mode for")+" "+o.name,r).then(a=>{a&&this.servers.get(o.id+"/maintenance").then(()=>{t.table.overview()})})}onNew(t){return H(this,null,function*(){let o=yield this.rest.tunnels.tunnels(this.tunnel.id);o.length==0?this.api.gui.alert(django.gettext("Error"),django.gettext("This tunnel already has all the tunnel servers available")):(yield MA.launch(this.api,this.tunnel.id,o))===!0&&t.table.overview()})}onDelete(t){this.api.gui.forms.deleteForm(t,django.gettext("Remove member from tunnel"))}onRowSelect(t){let o=t.table;if(o.selection.selected.length>1||o.selection.selected.length===0){this.customButtons[0].html=IA;return}o.selection.selected[0].maintenance_mode?this.customButtons[0].html=m7:this.customButtons[0].html=p7}onLoad(t){if(t.param===!0){let o=this.route.snapshot.paramMap.get("tunnel");if(o!==void 0){let r=t.table;r.dataSource.data.forEach(a=>{a.id===o&&r.selection.select(a)})}}}};i.\u0275fac=function(o){return new(o||i)(C(Re),C(Z),C(B))},i.\u0275cmp=E({type:i,selectors:[["uds-tunnels-detail"]],standalone:!1,decls:10,vars:8,consts:[[1,"detail"],[1,"mat-elevation-z4","title"],[3,"routerLink"],[1,"material-icons"],[3,"src"],["class","card",4,"ngIf"],[1,"card"],[1,"card-content"],["backgroundColor","primary","selectedIndex","1"],["mat-tab-label",""],[1,"content"],[3,"value","gui"],["icon","tunnels",3,"newAction","rowSelected","deleteAction","customButtonAction","loaded","rest","multiSelect","allowExport","customButtons","pageSize","tableId"]],template:function(o,r){o&1&&(c(0,"div",0)(1,"div",1)(2,"a",2)(3,"i",3),g(4,"arrow_back"),d()(),g(5," \xA0"),M(6,"img",4),g(7),d(),x(8,u7,11,9,"div",5),gt(9,"notEmpty"),d()),o&2&&(u(2),p("routerLink",Un(6,l7,r.servers.parentId)),u(4),p("src",r.api.staticURL("admin/img/icons/tunnels.png"),Se),u(),O(" \xA0",r.tunnel==null?null:r.tunnel.name," "),u(),p("ngIf",Ct(9,4,r.tunnel)))},dependencies:[ue,bn,Jt,en,rn,ae,Ie,ho,yn],styles:[".row-maintenance-true>mat-cell{color:orange!important}"]});let n=i;return n})();var Ew=(()=>{let i=class i{constructor(t,o,r){this.route=t,this.rest=o,this.api=r,this.customButtons=[Mn.getGotoButton(By,"provider_id"),Mn.getGotoButton(jy,"provider_id","service_id"),Mn.getGotoButton(Hy,"osmanager_id"),Mn.getGotoButton(Wy,"pool_group_id")],this.editing=!1}ngOnInit(){return H(this,null,function*(){})}onChange(t){return H(this,null,function*(){let o=["initial_srvs","cache_l1_srvs","max_srvs"];if(t.on===null||t.on.field.name==="service_id"){if(t.all.service_id.value===""){t.all.osmanager_id.gui.choices=[];for(let a of o)t.all[a].gui.readonly=!0;t.all.cache_l2_srvs.gui.readonly=!0;return}let r=yield this.rest.providers.service(t.all.service_id.value);if(t.all.allow_users_reset.gui.readonly=!r.info.can_reset,t.all.osmanager_id.gui.choices=[],this.editing||(t.all.osmanager_id.gui.readonly=!r.info.needs_osmanager),r.info.needs_osmanager===!0){let a=yield this.rest.osManagers.overview(),s=[];for(let l of a)for(let m of l.servicesTypes)r.info.services_type_provided==m&&s.push({id:l.id,text:l.name});s.length>0?t.all.osmanager_id.value=t.all.osmanager_id.value||s[0].id:t.all.osmanager_id.value="",t.all.osmanager_id.gui.choices=s}else t.all.osmanager_id.gui.choices=[{id:"",text:django.gettext("(This service does not requires an OS Manager)")}],t.all.osmanager_id.value="";for(let a of o)t.all[a].gui.readonly=!r.info.uses_cache;t.all.cache_l2_srvs.gui.readonly=r.info.uses_cache===!1||r.info.uses_cache_l2===!1,t.all.publish_on_save&&(t.all.publish_on_save.gui.readonly=!r.info.needs_publication)}})}onNew(t){return H(this,null,function*(){this.editing=!1,yield this.api.gui.forms.typedNewForm(t,django.gettext("New service Pool"),!1,[{name:"publish_on_save",value:!0,gui:{label:django.gettext("Publish on creation"),tooltip:django.gettext("If selected, will initiate the publication inmediatly after creation"),type:Xn.CHECKBOX,order:150,default:"true"}}],this.onChange.bind(this))})}onEdit(t){return H(this,null,function*(){return this.editing=!0,this.api.gui.forms.typedEditForm(t,django.gettext("Edit Service Pool"),!1,void 0,this.onChange.bind(this))})}onDelete(t){return H(this,null,function*(){return this.api.gui.forms.deleteForm(t,django.gettext("Delete service pool"),void 0,!0)})}processElement(t){t.visible=this.api.boolAsHumanString(t.visible),t.show_transports=this.api.boolAsHumanString(t.show_transports),typeof t.name!="string"&&(t.name=""),t.name=t.name.replace(//g,">"),t.restrained?(t.name='warning '+this.api.gui.icon(t.info.icon)+t.name,t.state="T"):(t.name=this.api.gui.icon(t.info.icon)+t.name,t.meta_member.length>0&&(t.state="V")),t.name=this.api.safeString(t.name),t.pool_group_name=this.api.safeString(this.api.gui.icon(t.pool_group_thumb)+t.pool_group_name)}onDetail(t){this.api.navigation.gotoServicePoolDetail(t.param.id)}onLoad(t){t.param===!0&&t.table.selectElement("id",this.route.snapshot.paramMap.get("pool"))}};i.\u0275fac=function(o){return new(o||i)(C(Re),C(Z),C(B))},i.\u0275cmp=E({type:i,selectors:[["uds-service-pools"]],standalone:!1,decls:1,vars:7,consts:[["icon","pools",3,"newAction","editAction","deleteAction","detailAction","loaded","rest","multiSelect","allowExport","hasPermissions","onItem","customButtons","pageSize"]],template:function(o,r){o&1&&(c(0,"uds-table",0),b("newAction",function(s){return r.onNew(s)})("editAction",function(s){return r.onEdit(s)})("deleteAction",function(s){return r.onDelete(s)})("detailAction",function(s){return r.onDetail(s)})("loaded",function(s){return r.onLoad(s)}),d()),o&2&&p("rest",r.rest.servicesPools)("multiSelect",!0)("allowExport",!0)("hasPermissions",!0)("onItem",r.processElement)("customButtons",r.customButtons)("pageSize",r.api.config.admin.page_size)},dependencies:[Ie],styles:[".mat-column-user_services_count, .mat-column-user_services_in_preparation, .mat-column-visible, .mat-column-state, .mat-column-usage{max-width:7rem;justify-content:center} .mat-column-show_transports{max-width:12rem;justify-content:center} .mat-column-pool_group_name{max-width:12rem} .row-state-T>.mat-mdc-cell{color:#d65014!important} .mat-column-user_services_count{max-width:10rem;justify-content:center} .mat-column-user_services_in_preparation{max-width:10rem;justify-content:center}"]});let n=i;return n})();function h7(n,i){if(n&1&&(c(0,"mat-option",8),g(1),d()),n&2){let e=i.$implicit;p("value",e.id),u(),O(" ",e.name," ")}}function f7(n,i){if(n&1&&(c(0,"mat-option",8),g(1),d()),n&2){let e=i.$implicit;p("value",e.id),u(),O(" ",e.name," ")}}var sg=(()=>{let i=class i{constructor(t,o,r,a){this.api=t,this.rest=o,this.dialogRef=r,this.done=new Xt,this.auths=[],this.users=[],this.userFilter="",this.authId="",this.userId="",this.userService=a.userService,this.userServices=a.userServices}static launch(t,o,r){let a=window.innerWidth<800?"60%":"40%";return t.gui.dialog.open(i,{width:a,position:{top:window.innerWidth<800?"0px":"7rem"},data:{userService:o,userServices:r},disableClose:!1}).componentInstance.done}ngOnInit(){return H(this,null,function*(){this.authId=this.userService.owner_info.auth_id||"",this.userId=this.userService.owner_info.user_id||"",this.auths=yield this.rest.authenticators.summary(),this.authChanged()})}changeAuth(t){this.userId="",this.authChanged()}filteredUsers(){if(!this.userFilter)return this.users;let t=new Array;return this.users.forEach(o=>{(this.userFilter===""||o.name.toLocaleLowerCase().includes(this.userFilter.toLocaleLowerCase()))&&t.push(o)}),t}save(){if(this.userId===""||this.authId===""){this.api.gui.alert(django.gettext("Error"),django.gettext("Please, select a valid user"));return}this.userServices.save({id:this.userService.id,auth_id:this.authId,user_id:this.userId}).then(()=>{this.dialogRef.close(),this.done.resolve(!0)})}cancel(){this.dialogRef.close(),this.done.resolve(!1)}authChanged(){return H(this,null,function*(){this.authId?this.users=yield this.rest.authenticators.detail(this.authId,"users").summary():this.users=[]})}};i.\u0275fac=function(o){return new(o||i)(C(B),C(Z),C(Ne),C(Ke))},i.\u0275cmp=E({type:i,selectors:[["uds-change-assigned-service-owner"]],standalone:!1,decls:25,vars:5,consts:[["mat-dialog-title",""],[1,"content"],[3,"ngModelChange","selectionChange","ngModel"],[3,"value",4,"ngFor","ngForOf"],[3,"ngModelChange","ngModel"],[3,"changed","options"],["mat-raised-button","","color","warn",3,"click"],["mat-raised-button","","color","primary",3,"click"],[3,"value"]],template:function(o,r){o&1&&(c(0,"h4",0)(1,"uds-translate"),g(2,"Change owner of assigned service"),d()(),c(3,"mat-dialog-content")(4,"div",1)(5,"mat-form-field")(6,"mat-label")(7,"uds-translate"),g(8,"Authenticator"),d()(),c(9,"mat-select",2),U("ngModelChange",function(s){return W(r.authId,s)||(r.authId=s),s}),b("selectionChange",function(s){return r.changeAuth(s)}),x(10,h7,2,2,"mat-option",3),d()(),c(11,"mat-form-field")(12,"mat-label")(13,"uds-translate"),g(14,"User"),d()(),c(15,"mat-select",4),U("ngModelChange",function(s){return W(r.userId,s)||(r.userId=s),s}),c(16,"uds-cond-select-search",5),b("changed",function(s){return r.userFilter=s}),d(),x(17,f7,2,2,"mat-option",3),d()()()(),c(18,"mat-dialog-actions")(19,"button",6),b("click",function(){return r.cancel()}),c(20,"uds-translate"),g(21,"Cancel"),d()(),c(22,"button",7),b("click",function(){return r.save()}),c(23,"uds-translate"),g(24,"Ok"),d()()()),o&2&&(u(9),z("ngModel",r.authId),u(),p("ngForOf",r.auths),u(5),z("ngModel",r.userId),u(),p("options",r.users),u(),p("ngForOf",r.filteredUsers()))},dependencies:[$e,we,xe,Te,Xe,et,Je,fe,ke,vt,nt,ae,pn],styles:[".mat-mdc-dialog-actions[_ngcontent-%COMP%]{justify-content:flex-end}.content[_ngcontent-%COMP%]{width:100%;margin-top:.5rem;display:flex;flex-wrap:wrap}.mat-mdc-form-field[_ngcontent-%COMP%]{width:100%}"]});let n=i;return n})();function g7(n,i){n&1&&(c(0,"uds-translate"),g(1,"New access rule for"),d())}function _7(n,i){n&1&&(c(0,"uds-translate"),g(1,"Edit access rule for"),d())}function v7(n,i){n&1&&(c(0,"uds-translate"),g(1,"Default fallback access for"),d())}function b7(n,i){if(n&1&&(c(0,"mat-option",11),g(1),d()),n&2){let e=i.$implicit;p("value",e.id),u(),O(" ",e.name," ")}}function y7(n,i){if(n&1){let e=k();ut(0),c(1,"mat-form-field")(2,"mat-label")(3,"uds-translate"),g(4,"Priority"),d()(),c(5,"input",8),U("ngModelChange",function(o){y(e);let r=_();return W(r.accessRule.priority,o)||(r.accessRule.priority=o),w(o)}),d()(),c(6,"mat-form-field")(7,"mat-label")(8,"uds-translate"),g(9,"Calendar"),d()(),c(10,"mat-select",3),U("ngModelChange",function(o){y(e);let r=_();return W(r.accessRule.calendar_id,o)||(r.accessRule.calendar_id=o),w(o)}),c(11,"uds-cond-select-search",9),b("changed",function(o){y(e);let r=_();return w(r.calendarsFilter=o)}),d(),x(12,b7,2,2,"mat-option",10),d()(),mt()}if(n&2){let e=_();u(5),z("ngModel",e.accessRule.priority),u(5),z("ngModel",e.accessRule.calendar_id),u(),p("options",e.calendars),u(),p("ngForOf",e.filtered(e.calendars,e.calendarsFilter))}}var Ql=(()=>{let i=class i{constructor(t,o,r,a){this.api=t,this.rest=o,this.dialogRef=r,this.onSave=new T(!0),this.calendars=[],this.calendarsFilter="",this.pool=a.pool,this.model=a.model,this.accessRule={id:void 0,priority:0,access:"ALLOW",calendar_id:""},a.accessRule&&(this.accessRule.id=a.accessRule.id)}static launch(t,o,r,a){let s=window.innerWidth<800?"80%":"60%";return t.gui.dialog.open(i,{width:s,position:{top:window.innerWidth<800?"0px":"7rem"},data:{pool:o,model:r,accessRule:a},disableClose:!1}).componentInstance.onSave}ngOnInit(){this.rest.calendars.summary().then(t=>{this.calendars=t}),this.accessRule.id!==void 0&&this.accessRule.id!==-1?this.model.get(this.accessRule.id).then(t=>{this.accessRule=t}):this.accessRule.id===-1&&this.model.parentModel.getFallbackAccess(this.pool.id).then(t=>this.accessRule.access=t)}filtered(t,o){return o?t.filter(r=>r.name.toLocaleLowerCase().includes(o.toLocaleLowerCase())):t}save(){let t=()=>{this.dialogRef.close(),this.onSave.emit(!0)};this.accessRule.id!==-1?this.model.save(this.accessRule).then(t):this.model.parentModel.setFallbackAccess(this.pool.id,this.accessRule.access).then(t)}};i.\u0275fac=function(o){return new(o||i)(C(B),C(Z),C(Ne),C(Ke))},i.\u0275cmp=E({type:i,selectors:[["uds-service-pools-access-calendars"]],standalone:!1,decls:24,vars:6,consts:[["mat-dialog-title",""],[4,"ngIf"],[1,"content"],[3,"ngModelChange","ngModel"],["value","ALLOW"],["value","DENY"],["mat-raised-button","","mat-dialog-close","","color","warn"],["mat-raised-button","","color","primary",3,"click"],["matInput","","type","number",3,"ngModelChange","ngModel"],[3,"changed","options"],[3,"value",4,"ngFor","ngForOf"],[3,"value"]],template:function(o,r){o&1&&(c(0,"h4",0),x(1,g7,2,0,"uds-translate",1)(2,_7,2,0,"uds-translate",1)(3,v7,2,0,"uds-translate",1),g(4),d(),c(5,"mat-dialog-content")(6,"div",2),x(7,y7,13,4,"ng-container",1),c(8,"mat-form-field")(9,"mat-label")(10,"uds-translate"),g(11,"Action"),d()(),c(12,"mat-select",3),U("ngModelChange",function(s){return W(r.accessRule.access,s)||(r.accessRule.access=s),s}),c(13,"mat-option",4),g(14," ALLOW "),d(),c(15,"mat-option",5),g(16," DENY "),d()()()()(),c(17,"mat-dialog-actions")(18,"button",6)(19,"uds-translate"),g(20,"Cancel"),d()(),c(21,"button",7),b("click",function(){return r.save()}),c(22,"uds-translate"),g(23,"Ok"),d()()()),o&2&&(u(),p("ngIf",r.accessRule.id===void 0),u(),p("ngIf",r.accessRule.id!==void 0&&r.accessRule.id!==-1),u(),p("ngIf",r.accessRule.id===-1),u(),O(" ",r.pool.name,` `),u(3),p("ngIf",r.accessRule.id!==-1),u(5),z("ngModel",r.accessRule.access))},dependencies:[$e,ue,lt,Gi,we,xe,Te,Qt,Xe,et,Je,fe,ke,pt,vt,nt,ae,pn],styles:[".mat-mdc-dialog-actions[_ngcontent-%COMP%]{justify-content:flex-end}.content[_ngcontent-%COMP%]{width:100%;margin-top:.5rem;display:flex;flex-wrap:wrap}.mat-mdc-form-field[_ngcontent-%COMP%]{width:100%}"]});let n=i;return n})();function w7(n,i){if(n&1&&(c(0,"mat-option",8),g(1),d()),n&2){let e=i.$implicit;p("value",e.id),u(),O(" ",e.name," ")}}function C7(n,i){if(n&1&&(ut(0),g(1),mt()),n&2){let e=_().$implicit;u(),O(" (",e.comments,")")}}function x7(n,i){if(n&1&&(c(0,"mat-option",8),g(1),x(2,C7,2,1,"ng-container",9),d()),n&2){let e=i.$implicit;p("value",e.id),u(),O(" ",e.name,""),u(),p("ngIf",e.comments)}}var lg=(()=>{let i=class i{constructor(t,o,r,a){this.api=t,this.rest=o,this.dialogRef=r,this.done=new Xt,this.model={},this.auths=[],this.authFilter="",this.groups=[],this.groupFilter="",this.authId="",this.groupId="",this.pool=a.pool,this.model=a.model}static launch(t,o,r){let a=window.innerWidth<800?"60%":"40%";return t.gui.dialog.open(i,{width:a,position:{top:window.innerWidth<800?"0px":"7rem"},data:{pool:o,model:r},disableClose:!1}).componentInstance.done}ngOnInit(){return H(this,null,function*(){this.auths=yield this.rest.authenticators.summary()})}changeAuth(t){return H(this,null,function*(){this.groupId="",this.authChanged()})}filteredGroups(){return!this.groupFilter||this.groupFilter.length<3?this.groups:this.groups.filter(t=>(t.name+t.comments).toLocaleLowerCase().includes(this.groupFilter.toLocaleLowerCase()))}filteredAuths(){return!this.authFilter||this.authFilter.length<3?this.auths:this.auths.filter(t=>t.name.toLocaleLowerCase().includes(this.authFilter.toLocaleLowerCase()))}save(){return H(this,null,function*(){if(this.groupId===""||this.authId===""){this.api.gui.alert(django.gettext("Error"),django.gettext("Please, select a valid group"));return}yield this.model.create({id:this.groupId}),this.dialogRef.close(),this.done.resolve(!0)})}cancel(){return H(this,null,function*(){this.dialogRef.close(),this.done.resolve(!1)})}authChanged(){return H(this,null,function*(){this.authId?this.groups=yield this.rest.authenticators.detail(this.authId,"groups").summary():this.groups=[]})}};i.\u0275fac=function(o){return new(o||i)(C(B),C(Z),C(Ne),C(Ke))},i.\u0275cmp=E({type:i,selectors:[["uds-service-pools-add-group"]],standalone:!1,decls:27,vars:7,consts:[["mat-dialog-title",""],[1,"content"],[3,"ngModelChange","selectionChange","ngModel"],[3,"changed","options"],[3,"value",4,"ngFor","ngForOf"],[3,"ngModelChange","ngModel"],["mat-raised-button","","color","warn",3,"click"],["mat-raised-button","","color","primary",3,"click"],[3,"value"],[4,"ngIf"]],template:function(o,r){o&1&&(c(0,"h4",0)(1,"uds-translate"),g(2,"New group for"),d(),g(3),d(),c(4,"mat-dialog-content")(5,"div",1)(6,"mat-form-field")(7,"mat-label")(8,"uds-translate"),g(9,"Authenticator"),d()(),c(10,"mat-select",2),U("ngModelChange",function(s){return W(r.authId,s)||(r.authId=s),s}),b("selectionChange",function(s){return r.changeAuth(s)}),c(11,"uds-cond-select-search",3),b("changed",function(s){return r.authFilter=s}),d(),x(12,w7,2,2,"mat-option",4),d()(),c(13,"mat-form-field")(14,"mat-label")(15,"uds-translate"),g(16,"Group"),d()(),c(17,"mat-select",5),U("ngModelChange",function(s){return W(r.groupId,s)||(r.groupId=s),s}),c(18,"uds-cond-select-search",3),b("changed",function(s){return r.groupFilter=s}),d(),x(19,x7,3,3,"mat-option",4),d()()()(),c(20,"mat-dialog-actions")(21,"button",6),b("click",function(){return r.cancel()}),c(22,"uds-translate"),g(23,"Cancel"),d()(),c(24,"button",7),b("click",function(){return r.save()}),c(25,"uds-translate"),g(26,"Ok"),d()()()),o&2&&(u(3),O(" ",r.pool.name,""),u(7),z("ngModel",r.authId),u(),p("options",r.auths),u(),p("ngForOf",r.filteredAuths()),u(5),z("ngModel",r.groupId),u(),p("options",r.groups),u(),p("ngForOf",r.filteredGroups()))},dependencies:[$e,ue,we,xe,Te,Xe,et,Je,fe,ke,vt,nt,ae,pn],styles:[".mat-mdc-dialog-actions[_ngcontent-%COMP%]{justify-content:flex-end}.content[_ngcontent-%COMP%]{width:100%;margin-top:.5rem;display:flex;flex-wrap:wrap}.mat-mdc-form-field[_ngcontent-%COMP%]{width:100%}"]});let n=i;return n})();function D7(n,i){if(n&1&&(ut(0),g(1),mt()),n&2){let e=_().$implicit;u(),O(" (",e.comments,")")}}function S7(n,i){if(n&1&&(c(0,"mat-option",7),g(1),x(2,D7,2,1,"ng-container",8),d()),n&2){let e=i.$implicit;p("value",e.id),u(),O(" ",e.name,""),u(),p("ngIf",e.comments)}}var kA=(()=>{let i=class i{constructor(t,o,r,a){this.api=t,this.rest=o,this.dialogRef=r,this.done=new Xt,this.transports=[],this.transportsFilter="",this.transportId="",this.servicePool=a.servicePool}static launch(t,o){let r=window.innerWidth<800?"60%":"40%";return t.gui.dialog.open(i,{width:r,position:{top:window.innerWidth<800?"0px":"7rem"},data:{servicePool:o},disableClose:!1}).componentInstance.done}ngOnInit(){return H(this,null,function*(){this.transports=(yield this.rest.transports.summary()).filter(t=>this.servicePool.info.allowed_protocols.includes(t.protocol))})}filteredTransports(){return this.transportsFilter?this.transports.filter(t=>t.name.toLocaleLowerCase().includes(this.transportsFilter.toLocaleLowerCase())):this.transports}save(){return H(this,null,function*(){if(this.transportId===""){this.api.gui.alert(django.gettext("Error"),django.gettext("Please, select a valid transport"));return}yield this.rest.servicesPools.detail(this.servicePool.id,"transports").create({id:this.transportId}),this.done.resolve(!0),this.dialogRef.close()})}cancel(){return H(this,null,function*(){this.done.resolve(!1),this.dialogRef.close()})}};i.\u0275fac=function(o){return new(o||i)(C(B),C(Z),C(Ne),C(Ke))},i.\u0275cmp=E({type:i,selectors:[["uds-service-pools-add-transport"]],standalone:!1,decls:20,vars:4,consts:[["mat-dialog-title",""],[1,"content"],[3,"ngModelChange","ngModel"],[3,"changed","options"],[3,"value",4,"ngFor","ngForOf"],["mat-raised-button","","color","warn",3,"click"],["mat-raised-button","","color","primary",3,"click"],[3,"value"],[4,"ngIf"]],template:function(o,r){o&1&&(c(0,"h4",0)(1,"uds-translate"),g(2,"New transport for"),d(),g(3),d(),c(4,"mat-dialog-content")(5,"div",1)(6,"mat-form-field")(7,"mat-label")(8,"uds-translate"),g(9,"Transport"),d()(),c(10,"mat-select",2),U("ngModelChange",function(s){return W(r.transportId,s)||(r.transportId=s),s}),c(11,"uds-cond-select-search",3),b("changed",function(s){return r.transportsFilter=s}),d(),x(12,S7,3,3,"mat-option",4),d()()()(),c(13,"mat-dialog-actions")(14,"button",5),b("click",function(){return r.cancel()}),c(15,"uds-translate"),g(16,"Cancel"),d()(),c(17,"button",6),b("click",function(){return r.save()}),c(18,"uds-translate"),g(19,"Ok"),d()()()),o&2&&(u(3),O(" ",r.servicePool.name,""),u(7),z("ngModel",r.transportId),u(),p("options",r.transports),u(),p("ngForOf",r.filteredTransports()))},dependencies:[$e,ue,we,xe,Te,Xe,et,Je,fe,ke,vt,nt,ae,pn],styles:[".mat-mdc-dialog-actions[_ngcontent-%COMP%]{justify-content:flex-end}.content[_ngcontent-%COMP%]{width:100%;margin-top:.5rem;display:flex;flex-wrap:wrap}.mat-mdc-form-field[_ngcontent-%COMP%]{width:100%}"]});let n=i;return n})();var AA=(()=>{let i=class i{constructor(t,o,r,a){this.api=t,this.rest=o,this.dialogRef=r,this.done=new Xt,this.reason="",this.servicePool=a.servicePool}static launch(t,o){let r=window.innerWidth<800?"60%":"40%";return t.gui.dialog.open(i,{width:r,position:{top:window.innerWidth<800?"0px":"7rem"},data:{servicePool:o},disableClose:!1}).componentInstance.done}ngOnInit(){}save(){this.rest.servicesPools.detail(this.servicePool.id,"publications").invoke("publish","changelog="+encodeURIComponent(this.reason)).then(()=>{this.dialogRef.close(),this.done.resolve(!0)})}cancel(){this.dialogRef.close(),this.done.resolve(!1)}};i.\u0275fac=function(o){return new(o||i)(C(B),C(Z),C(Ne),C(Ke))},i.\u0275cmp=E({type:i,selectors:[["uds-service-pools-new-publication"]],standalone:!1,decls:18,vars:2,consts:[["mat-dialog-title",""],[1,"content"],["matInput","","type","text",3,"ngModelChange","ngModel"],["mat-raised-button","","color","warn",3,"click"],["mat-raised-button","","color","primary",3,"click"]],template:function(o,r){o&1&&(c(0,"h4",0)(1,"uds-translate"),g(2,"New publication for"),d(),g(3),d(),c(4,"mat-dialog-content")(5,"div",1)(6,"mat-form-field")(7,"mat-label")(8,"uds-translate"),g(9,"Comments"),d()(),c(10,"input",2),U("ngModelChange",function(s){return W(r.reason,s)||(r.reason=s),s}),d()()()(),c(11,"mat-dialog-actions")(12,"button",3),b("click",function(){return r.cancel()}),c(13,"uds-translate"),g(14,"Cancel"),d()(),c(15,"button",4),b("click",function(){return r.save()}),c(16,"uds-translate"),g(17,"Ok"),d()()()),o&2&&(u(3),O(" ",r.servicePool.name,` `),u(7),z("ngModel",r.reason))},dependencies:[lt,we,xe,Te,Xe,et,Je,fe,ke,pt,ae],styles:[".mat-mdc-dialog-actions[_ngcontent-%COMP%]{justify-content:flex-end}.content[_ngcontent-%COMP%]{width:100%;margin-top:.5rem;display:flex;flex-wrap:wrap}.mat-mdc-form-field[_ngcontent-%COMP%]{width:100%}"]});let n=i;return n})();var RA=(()=>{let i=class i{constructor(t,o,r,a){this.api=t,this.rest=o,this.dialogRef=r,this.onSave=new T(!0),this.changeLogPubs={},this.servicePool=a.servicePool}static launch(t,o){let r=window.innerWidth<800?"80%":"60%",a=t.gui.dialog.open(i,{width:r,position:{top:window.innerWidth<800?"0px":"7rem"},data:{servicePool:o},disableClose:!1})}ngOnInit(){this.changeLogPubs=this.rest.servicesPools.detail(this.servicePool.id,"changelog")}};i.\u0275fac=function(o){return new(o||i)(C(B),C(Z),C(Ne),C(Ke))},i.\u0275cmp=E({type:i,selectors:[["uds-service-pools-publications-changelog"]],standalone:!1,decls:11,vars:4,consts:[["changeLog",""],["mat-dialog-title",""],["icon","publications",3,"rest","allowExport","tableId"],["mat-raised-button","","color","primary","mat-dialog-close",""]],template:function(o,r){o&1&&(c(0,"h4",1)(1,"uds-translate"),g(2,"Changelog of"),d(),g(3),d(),c(4,"mat-dialog-content"),M(5,"uds-table",2,0),d(),c(7,"mat-dialog-actions")(8,"button",3)(9,"uds-translate"),g(10,"Ok"),d()()()),o&2&&(u(3),O(" ",r.servicePool.name,` diff --git a/server/src/uds/templates/uds/admin/index.html b/server/src/uds/templates/uds/admin/index.html index 11b3e5094..b696580d7 100644 --- a/server/src/uds/templates/uds/admin/index.html +++ b/server/src/uds/templates/uds/admin/index.html @@ -102,6 +102,6 @@ - +