"use strict";(self.webpackChunknginx_manager=self.webpackChunknginx_manager||[]).push([[792],{9082:(x,G,r)=>{var C=r(345),t=r(3953),X=r(1562),d=r(177),a=r(389),F=r(8658),y=r(3816),m=r(7901),S=r(6381),T=r(6354),g=r(9323),p=r(6802),h=function(i){return i.install="install",i.uninstall="uninstall",i.upgrade="upgrade",i}(h||{}),R=r(4355);let P=(()=>{class i{get nativeWindow(){return window}static#t=this.\u0275fac=function(s){return new(s||i)};static#e=this.\u0275prov=t.jDH({token:i,factory:i.\u0275fac,providedIn:"root"})}return i})(),U=(()=>{class i{static#t=this.nginxPackage="ea-nginx";static#e=this.nginxStandalonePackage="ea-nginx-standalone";static#n=this.hitProvisionEnd=!1;constructor(e,s,n,o){this.apiClient=e,this.alertService=n,this.winRef=o}installNginx(){return this._provisionPackage([{type:h.install,pkgName:i.nginxPackage}])}uninstallNginx(){return this._provisionPackage([{type:h.uninstall,pkgName:i.nginxPackage}])}uninstallStandaloneNginx(){return this._provisionPackage([{type:h.uninstall,pkgName:i.nginxStandalonePackage},{type:h.install,pkgName:i.nginxPackage},{type:h.upgrade,pkgName:i.nginxPackage}])}tailInstallProgress(e,s){const n=new g.m(g.R.JsonApi,{method:"package_manager_get_build_log",arguments:[new p.e("build",e),new p.e("offset",s)]});return this.apiClient.post(n).pipe((0,T.T)(o=>{if(o.success)return{offset:o.data?.offset,content:o.data?.content,isInProgress:1===o.data?.still_running};throw o.errors}))}_getStartMessage(e,s){let n="";return n=e?"Uninstallation process started for the NGINX standalone package.":s===h.install?"Installation process started for the NGINX package.":"Uninstallation process started for the NGINX package.",n}_getEndMessage(e,s){let n="";return n=e?"Completed the uninstallation process for the NGINX standalone package.":s===h.install?"Completed the installation process for the NGINX package.":"Completed the uninstallation process for the NGINX package.",n}parseTailLogInfo(e,s,n,o){let c="",f=!1,I=!1,M=!1;return s.forEach(u=>{if(u===`-- ${e} --`){const w=this._getStartMessage(n,o);c+=`<p><strong>${w}</strong></p>\r\n`}else if(u===`-- /${e} --`){const w=this._getEndMessage(n,o);c+=`<span><strong>${w}</strong></span>\r\n`,i.hitProvisionEnd=!0,M=!I}else u===`-- error(${e}) --`?(f=!0,I=!0):u===`-- /error(${e}) --`?(f=!1,c+="\r\n"):/.*Installed:$/.test(u)||/.*Removed:$/.test(u)?i.hitProvisionEnd=!0:i.hitProvisionEnd&&/^.*ea-nginx/.test(u)&&(M=!0,i.hitProvisionEnd=!1);/Error:.*/gm.test(u)&&(u=`<span class='text-danger'>${u}</span>`,I=!0),u=u.replace(/&/gm,"&").replace(/</gm,"<").replace(/>/gm,">").replace(/'/gm,"'").replace(/"/gm,"""),f&&(u.startsWith("--")?c+="<span class='text-danger'><strong>Error</strong></span>\r\n":u=`<span class='text-danger'>${u}</span>`),u.startsWith("--")?c+="\r\n":c+=`${u}\r\n`}),{content:c,hasError:I,provisionSuccess:M}}_provisionPackage(e){const s=new g.m(g.R.JsonApi,{method:"package_manager_submit_actions",arguments:e.map(n=>new p.e(n.type,n.pkgName))});return this.apiClient.post(s).pipe((0,T.T)(n=>{if(n.success)return n.data=n.data.build,n.data;throw n.errors}))}static#i=this.\u0275fac=function(s){return new(s||i)(t.KVO(R.gB),t.KVO(S.h),t.KVO(a.uE),t.KVO(P))};static#s=this.\u0275prov=t.jDH({token:i,factory:i.\u0275fac,providedIn:"root"})}return i})();var D=r(980),B=r(5877);let j=(()=>{class i{constructor(){this.hasNginxCaching=!1,this.hasNginxStandalone=!1,this.hasExternalNginx=!1}static#t=this.\u0275fac=function(s){return new(s||i)};static#e=this.\u0275prov=t.jDH({token:i,factory:i.\u0275fac,providedIn:"root"})}return i})();function A(i,l){if(1&i&&(t.j41(0,"cp-callout",17),t.nrm(1,"p",18),t.k0s()),2&i){const e=t.XpG(3);t.R7$(),t.Y8G("innerHtml",e.hasExternalNginxMessage,t.npT)}}function Y(i,l){if(1&i&&(t.j41(0,"section",5)(1,"div",6)(2,"div",7)(3,"div",8),t.nrm(4,"img",9),t.k0s()(),t.j41(5,"div",10)(6,"div",11)(7,"span",12),t.EFF(8,"NGINX"),t.k0s(),t.j41(9,"sup"),t.EFF(10,"\xae"),t.k0s(),t.j41(11,"p",13),t.EFF(12),t.k0s(),t.nrm(13,"p",14),t.DNE(14,A,2,1,"cp-callout",15),t.k0s(),t.j41(15,"button",16),t.EFF(16),t.k0s()()()()),2&i){const e=t.XpG(2);t.R7$(4),t.Y8G("src",e.getStartedImageUrl,t.B4B),t.R7$(8),t.SpI(" ",e.locale.maketext("Reverse proxy with caching[comment,sub heading title]")," "),t.R7$(),t.Y8G("innerHTML",e.nginxSubText,t.npT),t.R7$(),t.Y8G("ngIf",e.hasExternalNginx),t.R7$(2),t.SpI(" ",e.locale.maketext("Install")," ")}}function V(i,l){if(1&i&&(t.j41(0,"section",19)(1,"cp-callout",20),t.nrm(2,"p",18),t.j41(3,"button",21),t.EFF(4),t.k0s()()()),2&i){const e=t.XpG(2);t.R7$(2),t.Y8G("innerHtml",e.hasNginxStandaloneMessage,t.npT),t.R7$(2),t.SpI(" ",e.locale.maketext("Switch to [asis,NGINX] Reverse Proxy Mode")," ")}}function H(i,l){if(1&i&&(t.j41(0,"div",2),t.DNE(1,Y,17,5,"section",3)(2,V,5,2,"section",4),t.k0s()),2&i){const e=t.XpG();t.R7$(),t.Y8G("ngIf",!e.hasNginxStandalone),t.R7$(),t.Y8G("ngIf",e.hasNginxStandalone)}}function L(i,l){if(1&i&&t.nrm(0,"p",18),2&i){const e=t.XpG(3);t.Y8G("innerHtml",e.nginxInstallSuccessHelpMessage,t.npT)}}function z(i,l){if(1&i){const e=t.RV6();t.j41(0,"button",35),t.bIt("click",function(){t.eBV(e);const n=t.XpG(3);return t.Njj(n.goToSystemSettings())}),t.EFF(1),t.k0s()}if(2&i){const e=t.XpG(3);t.R7$(),t.SpI(" ",e.locale.maketext("Go to [asis,NGINX] Manager")," ")}}function W(i,l){if(1&i&&(t.j41(0,"div",30),t.nrm(1,"span",31)(2,"p",32),t.DNE(3,L,1,1,"p",33)(4,z,2,1,"button",34),t.k0s()),2&i){const e=t.XpG(2);t.R7$(2),t.Y8G("innerHtml",e.nginxInstallSuccessMessage,t.npT),t.R7$(),t.Y8G("ngIf",e.showNginxInstallSuccessHelpMessage),t.R7$(),t.Y8G("ngIf",e.showGoToNginxButton)}}function J(i,l){if(1&i&&(t.j41(0,"div",36),t.nrm(1,"i",37)(2,"span",18),t.k0s()),2&i){const e=t.XpG(2);t.R7$(2),t.Y8G("innerHtml",e.provisionInProcessMessage,t.npT)}}function K(i,l){if(1&i){const e=t.RV6();t.j41(0,"a",38),t.bIt("click",function(){t.eBV(e);const n=t.XpG(2);return t.Njj(n.goBack())}),t.EFF(1),t.k0s()}if(2&i){const e=t.XpG(2);t.R7$(),t.SpI(" ",e.locale.maketext("Go Back")," ")}}function Q(i,l){if(1&i&&(t.j41(0,"a",39),t.EFF(1),t.k0s()),2&i){const e=t.XpG(2);t.Y8G("href",e.whmHomeUrl,t.B4B),t.R7$(),t.SpI(" ",e.locale.maketext("Go to Homepage")," ")}}function Z(i,l){if(1&i&&(t.j41(0,"section",22)(1,"div",6)(2,"div",23),t.DNE(3,W,5,3,"div",24),t.k0s(),t.DNE(4,J,3,1,"div",25),t.j41(5,"div",26)(6,"pre",27),t.EFF(7," "),t.nrm(8,"span",18),t.EFF(9,"\n "),t.k0s()()(),t.j41(10,"div",6)(11,"div",23),t.DNE(12,K,2,1,"a",28)(13,Q,2,2,"a",29),t.k0s()()()),2&i){const e=t.XpG();t.R7$(3),t.Y8G("ngIf",e.showNginxInstallSuccess),t.R7$(),t.Y8G("ngIf",e.tailNginxInstallation.isRunning),t.R7$(4),t.Y8G("innerHtml",e.tailNginxInstallation.tailContent,t.npT),t.R7$(4),t.Y8G("ngIf",e.showGoBackLink),t.R7$(),t.Y8G("ngIf",e.showGoHomeLink)}}let k=(()=>{class i{constructor(e,s,n,o,c,f){this.installNginxService=e,this.locale=s,this.router=n,this.alertService=o,this.appDataService=c,this.winRef=f,this.hasExternalNginx=!1,this.hasNginxStandalone=!1,this.tailNginxInstallation={provisionType:null,showInstallView:!1,timerHandle:null,timerInterval:1e3,scrollTimerHandle:null,scrollTimerInterval:100,buildId:-1,offset:-1,isRunning:!1,tailContent:"",hasError:!1,provisionSuccess:!1,success:!1,successMsg:"",resultSummary:""}}get hasExternalNginxMessage(){return this.locale.maketext("The system detected a version of [asis,NGINX] that [asis,cPanel] did not provide. You can not use a non-[asis,cPanel]-provided package with a [asis,cPanel]-provided package. If you click install, conflicts will occur.")}get hasNginxStandaloneMessage(){return this.locale.maketext("The system detected the [asis,NGINX] standalone package. [asis,cPanel] does not support [asis,NGINX] caching in standalone mode. To use caching, use [asis,NGINX] in reverse proxy mode.")}get provisionInProcessMessage(){let e="";return e=this.locale.maketext(this.hasNginxStandalone?"Uninstalling [asis,NGINX] standalone package \u2026":this.tailNginxInstallation.provisionType===h.install?"Installing [asis,NGINX] \u2026":"Uninstalling [asis,NGINX] reverse proxy \u2026"),e}get showGoHomeLink(){return this.tailNginxInstallation.provisionType===h.uninstall&&this.tailNginxInstallation.success&&!this.hasNginxStandalone&&!this.tailNginxInstallation.isRunning}get showGoBackLink(){return this.tailNginxInstallation.hasError&&!this.tailNginxInstallation.provisionSuccess||this.showGoHomeLink}get showGoToNginxButton(){return this.tailNginxInstallation.provisionType===h.install&&this.tailNginxInstallation.success}get whmHomeUrl(){return`${this.winRef.nativeWindow.PAGE.cp_security_token}/`}get getStartedImageUrl(){return this.winRef.nativeWindow.PAGE.nginx_manager_image_url}get nginxSubText(){return this.locale.maketext("Installing [asis,NGINX] will enable [asis,NGINX] caching on all user accounts by default. When the installation is complete, you can change this setting in the [asis,NGINX] Manager interface. For more information, read our documentation[output,url,_1, NGINX reverse proxy with caching,target,_2].","https://go.cpanel.net/ea-nginx","_blank")}get nginxInstallSuccessMessage(){return this.tailNginxInstallation.successMsg}get nginxInstallSuccessHelpMessage(){return this.locale.maketext("[asis,NGINX] caching is enabled for all user accounts. You can change these settings in the [asis,NGINX] Manager interface.")}get showNginxInstallSuccessHelpMessage(){return this.tailNginxInstallation.success&&this.tailNginxInstallation.provisionType===h.install}get showNginxInstallSuccess(){return this.tailNginxInstallation.success}ngOnInit(){this.hasNginxStandalone=this.appDataService?.hasNginxStandalone,this.hasExternalNginx=this.appDataService?.hasExternalNginx,this.initRoutesOnCondition()}initRoutesOnCondition(){"/install/nginx"===this.router.url?this.installNginx():"/uninstall/standalone"===this.router.url?this.uninstallStandaloneNginx():"/uninstall/nginx"===this.router.url?this.uninstallNginx():this.appDataService?.hasNginxCaching&&!this.appDataService?.hasNginxStandalone&&this.router.navigate(["system"])}installNginx(){this.tailNginxInstallation.showInstallView=!0,this.tailNginxInstallation.provisionType=h.install,this.installNginxService.installNginx().subscribe(e=>{this.tailNginxInstallation.buildId=e,this.tailNginxInstallation.offset=0,this.showProvisionProgress(!1)},e=>{e.forEach(s=>{this.alertService.error(s.message)})})}uninstallNginx(){this.tailNginxInstallation.showInstallView=!0,this.tailNginxInstallation.provisionType=h.uninstall,this.installNginxService.uninstallNginx().subscribe(e=>{this.tailNginxInstallation.buildId=e,this.tailNginxInstallation.offset=0,this.showProvisionProgress(!1)},e=>{e.forEach(s=>{this.alertService.error(s.message)})})}uninstallStandaloneNginx(){this.tailNginxInstallation.showInstallView=!0,this.tailNginxInstallation.provisionType=h.install,this.installNginxService.uninstallStandaloneNginx().subscribe(e=>{this.tailNginxInstallation.buildId=e,this.tailNginxInstallation.offset=0,this.showProvisionProgress(!0)},e=>{e.forEach(s=>{this.alertService.error(s.message)})})}showProvisionProgress(e){this.tailNginxInstallation.timerHandle=(0,B.Y)(this.tailNginxInstallation.timerInterval).subscribe(()=>{this.installNginxService.tailInstallProgress(this.tailNginxInstallation.buildId,this.tailNginxInstallation.offset).pipe((0,D.j)(()=>{this.tailNginxInstallation.isRunning||this.tailNginxInstallation.timerHandle.unsubscribe()})).subscribe(s=>{if(this.tailNginxInstallation.offset===s.offset)return;this.tailNginxInstallation.isRunning=s.isInProgress||!1,this.tailNginxInstallation.offset=s.offset;const n=this.installNginxService.parseTailLogInfo(this.tailNginxInstallation.buildId,s.content,e,this.tailNginxInstallation.provisionType);if(this.tailNginxInstallation.tailContent+=n.content,this.tailNginxInstallation.provisionSuccess||(this.tailNginxInstallation.provisionSuccess=n.provisionSuccess),this.tailNginxInstallation.hasError||(this.tailNginxInstallation.hasError=n.hasError),this.tailNginxInstallation.scrollTimerHandle=this.winRef.nativeWindow.setTimeout(()=>{const o=document.getElementById("log");o&&(o.scrollTop=o.scrollHeight)},this.tailNginxInstallation.scrollTimerInterval),!s.isInProgress){if(this.tailNginxInstallation.buildId=-1,this.tailNginxInstallation.offset=-1,this.tailNginxInstallation.hasError){const o=this._getProvisionFailureMsg();this.alertService.error(o)}this.tailNginxInstallation.provisionSuccess&&(this.tailNginxInstallation.successMsg=this._getProvisionSuccessMsg(),this.tailNginxInstallation.success=!0,this.tailNginxInstallation.provisionType===h.uninstall&&(this.appDataService.hasNginxCaching=!1))}},s=>{s.forEach(n=>{this.alertService.error(n.message)}),this.tailNginxInstallation.isRunning=!1})})}goToSystemSettings(){this.router.navigate(["system"])}goBack(){this.alertService.clear(),this.router.navigate(["getStarted"])}_getProvisionSuccessMsg(){let e="";return e=this.locale.maketext(this.hasNginxStandalone?"[asis,NGINX] standalone package uninstalled. You are now using [asis,NGINX] in reverse proxy mode.":this.tailNginxInstallation.provisionType===h.install?"[asis,NGINX] reverse proxy is now installed.":"[asis,NGINX] reverse proxy is now uninstalled."),e}_getProvisionFailureMsg(){let e="";return e=this.locale.maketext(this.tailNginxInstallation.provisionSuccess?"An error occurred during the provision process. Check the log for more information.":this.hasNginxStandalone?"Failed to uninstall the [asis,NGINX] standalone package. Check the log for more information.":this.tailNginxInstallation.provisionType===h.install?"Failed to install the [asis,NGINX] reverse proxy. Check the log for more information.":"Failed to uninstall the [asis,NGINX] reverse proxy. Check the log for more information."),e}static#t=this.\u0275fac=function(s){return new(s||i)(t.rXU(U),t.rXU(S.h),t.rXU(m.Ix),t.rXU(a.uE),t.rXU(j),t.rXU(P))};static#e=this.\u0275cmp=t.VBU({type:i,selectors:[["cp-install-nginx"]],decls:2,vars:2,consts:[["class","intro-content",4,"ngIf"],["id","provision-nginx-view",4,"ngIf"],[1,"intro-content"],["id","get-started-section","class","get-started-content",4,"ngIf"],["id","switch-from-standalone-section",4,"ngIf"],["id","get-started-section",1,"get-started-content"],[1,"row"],[1,"col-xs-12","col-md-3"],[1,"nginx-logo"],["alt","NGINX",1,"pull-right","flip",3,"src"],[1,"col-xs-12","col-md-9"],[1,"get-started"],[1,"heading"],[1,"sub-heading"],[1,"subtext",3,"innerHTML"],["id","external-nginx-message","calloutType","warning",4,"ngIf"],["id","btn-install-nginx","routerLink","/install/nginx",1,"btn","btn-primary","installButton"],["id","external-nginx-message","calloutType","warning"],[3,"innerHtml"],["id","switch-from-standalone-section"],["id","standalone-nginx-message","calloutType","warning"],["id","btn-switch-to-reverse-proxy","routerLink","/uninstall/standalone",1,"btn","btn-primary"],["id","provision-nginx-view"],[1,"col-xs-12","col-sm-9"],["class","alert alert-success",4,"ngIf"],["class","col-xs-12 col-sm-9 installingProcess",4,"ngIf"],["dir","ltr",1,"col-xs-12","col-sm-9"],["id","log",1,"tail-log"],["href","javascript:void(0)","id","go-back-link","class","goBackBtn pull-left flip",3,"click",4,"ngIf"],["id","go-home-link","class","goBackBtn pull-right flip",3,"href",4,"ngIf"],[1,"alert","alert-success"],["aria-hidden","true",1,"fa-check-circle","fas","type-icon"],[1,"install-success-message",3,"innerHtml"],[3,"innerHtml",4,"ngIf"],["id","system-settings-btn","class","btn btn-primary",3,"click",4,"ngIf"],["id","system-settings-btn",1,"btn","btn-primary",3,"click"],[1,"col-xs-12","col-sm-9","installingProcess"],["aria-hidden","true",1,"fas","fa-spinner","fa-spin"],["href","javascript:void(0)","id","go-back-link",1,"goBackBtn","pull-left","flip",3,"click"],["id","go-home-link",1,"goBackBtn","pull-right","flip",3,"href"]],template:function(s,n){1&s&&t.DNE(0,H,3,2,"div",0)(1,Z,14,5,"section",1),2&s&&(t.Y8G("ngIf",!n.tailNginxInstallation.showInstallView),t.R7$(),t.Y8G("ngIf",n.tailNginxInstallation.showInstallView))},dependencies:[d.bT,a.GV,m.Wk],styles:[".intro-content[_ngcontent-%COMP%]{margin:auto;width:75%}.get-started-content[_ngcontent-%COMP%]{padding-top:25px}.nginx-logo[_ngcontent-%COMP%]{margin:10px 0}.nginx-logo[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{height:165px;width:165px;display:block}.get-started[_ngcontent-%COMP%]{display:inline-block;padding-bottom:20px}.heading[_ngcontent-%COMP%]{font-size:30px;letter-spacing:10px;margin-top:20px;margin-bottom:10px;font-weight:500}.get-started[_ngcontent-%COMP%] sup[_ngcontent-%COMP%]{top:-10px;font-size:130%}.sub-heading[_ngcontent-%COMP%]{font-size:18px}.subtext[_ngcontent-%COMP%]{margin-top:20px}.installButton[_ngcontent-%COMP%]{font-size:16px;padding:12px 25px}.installingProcess[_ngcontent-%COMP%]{padding-bottom:15px}.installingProcess[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{font-size:16px}html[dir=ltr][_ngcontent-%COMP%] .installingProcess[_ngcontent-%COMP%] span[_ngcontent-%COMP%], [dir=ltr][_ngcontent-%COMP%] .installingProcess[_ngcontent-%COMP%] span[_ngcontent-%COMP%], [dir=ltr][_nghost-%COMP%] .installingProcess[_ngcontent-%COMP%] span[_ngcontent-%COMP%], html[dir=ltr][_nghost-%COMP%] .installingProcess[_ngcontent-%COMP%] span[_ngcontent-%COMP%], html[dir=ltr] [_nghost-%COMP%] .installingProcess[_ngcontent-%COMP%] span[_ngcontent-%COMP%], [dir=ltr][_nghost-%COMP%] .installingProcess[_ngcontent-%COMP%] span[_ngcontent-%COMP%], [dir=ltr] [_nghost-%COMP%] .installingProcess[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{padding-left:5px}html[dir=rtl][_ngcontent-%COMP%] .installingProcess[_ngcontent-%COMP%] span[_ngcontent-%COMP%], [dir=rtl][_ngcontent-%COMP%] .installingProcess[_ngcontent-%COMP%] span[_ngcontent-%COMP%], [dir=rtl][_nghost-%COMP%] .installingProcess[_ngcontent-%COMP%] span[_ngcontent-%COMP%], html[dir=rtl][_nghost-%COMP%] .installingProcess[_ngcontent-%COMP%] span[_ngcontent-%COMP%], html[dir=rtl] [_nghost-%COMP%] .installingProcess[_ngcontent-%COMP%] span[_ngcontent-%COMP%], [dir=rtl][_nghost-%COMP%] .installingProcess[_ngcontent-%COMP%] span[_ngcontent-%COMP%], [dir=rtl] [_nghost-%COMP%] .installingProcess[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{padding-right:5px}.tail-log[_ngcontent-%COMP%]{height:500px;white-space:pre-wrap}.goBackBtn[_ngcontent-%COMP%]{text-decoration:underline}.install-success-message[_ngcontent-%COMP%]{font-size:20px}@media screen and (max-width: 992px){.nginx-logo[_ngcontent-%COMP%] > img[_ngcontent-%COMP%]{float:none!important;margin:0 auto}.installButton[_ngcontent-%COMP%]{font-size:18px;width:100%}.get-started[_ngcontent-%COMP%]{text-align:center}.subtext[_ngcontent-%COMP%]{text-align:justify}}html[dir=rtl][_nghost-%COMP%] .calloutText[_ngcontent-%COMP%] strong[_ngcontent-%COMP%], html[dir=rtl] [_nghost-%COMP%] .calloutText[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{padding-right:0;padding-left:5px}"]})}return i})(),O=(()=>{class i{constructor(e){this.apiClient=e}toggleCaching(e,s){const n=[new p.e("enabled",!0===e?1:0)];s&&s.length>0&&n.push(...s.map(c=>new p.e("user",c)));const o=new g.m(g.R.JsonApi,{method:"nginxmanager_set_cache_config",arguments:n});return this.apiClient.post(o)}clearCache(e){const s=[];e&&e.length>0&&s.push(...e.map(o=>new p.e("user",o)));const n=new g.m(g.R.JsonApi,{method:"nginxmanager_clear_cache",arguments:s});return this.apiClient.post(n)}resetToDefault(){const e=new g.m(g.R.JsonApi,{method:"nginxmanager_reset_users_cache_config"});return this.apiClient.post(e)}rebuildConfig(e){const s=[];e&&e.length>0&&s.push(...e.map(o=>new p.e("user",o)));const n=new g.m(g.R.JsonApi,{method:"nginxmanager_rebuild_cache_config",arguments:s});return this.apiClient.post(n)}getSystemNginxConfig(e){const s=[new p.e("merge",!0===e?1:0)],n=new g.m(g.R.JsonApi,{method:"nginxmanager_get_cache_config_system",arguments:s});return this.apiClient.get(n)}getUserNginxConfig(e,s,n){const o=[new p.e("merge",!0===s?1:0)];n&&n.length>0&&o.push(...n.map(f=>new p.e("user",f)));const c=new g.m(g.R.JsonApi,{method:"nginxmanager_get_cache_config_users",arguments:o,...e});return this.apiClient.get(c)}restartNginx(){const e=new g.m(g.R.JsonApi,{method:"restartservice",arguments:[new p.e("service","nginx"),new p.e("queue_task","0")]});return this.apiClient.post(e)}static#t=this.\u0275fac=function(s){return new(s||i)(t.KVO(R.gB))};static#e=this.\u0275prov=t.jDH({token:i,factory:i.\u0275fac,providedIn:"root"})}return i})();const q=i=>({"callout callout-warning":i});function tt(i,l){if(1&i){const e=t.RV6();t.j41(0,"section",24)(1,"cp-toggle-switch",25),t.bIt("toggleStatus",function(){t.eBV(e);const n=t.XpG();return t.Njj(n.toggleDefaultCacheSetting())}),t.k0s()()}if(2&i){const e=t.XpG();t.R7$(),t.FS9("onText",e.locale.maketext("Enabled")),t.FS9("offText",e.locale.maketext("Disabled")),t.Y8G("toggleState",e.defaultCacheSetting.toggleState)("labelPosition",e.defaultCacheSetting.labelPosition)}}function et(i,l){if(1&i&&(t.j41(0,"section",26)(1,"div",27),t.nrm(2,"i",28)(3,"span",29),t.k0s()()),2&i){const e=t.XpG();t.R7$(3),t.Y8G("innerHtml",e.locale.maketext("Loading system default for NGINX caching \u2026"),t.npT)}}function nt(i,l){if(1&i){const e=t.RV6();t.j41(0,"cp-callout",30)(1,"div",31)(2,"strong"),t.EFF(3),t.k0s(),t.nrm(4,"p",32),t.k0s(),t.j41(5,"div")(6,"button",33),t.bIt("click",function(){t.eBV(e);const n=t.XpG();return t.Njj(n.resetToSystemDefault())}),t.EFF(7),t.k0s(),t.j41(8,"button",34),t.bIt("click",function(){t.eBV(e);const n=t.XpG();return t.Njj(n.cancelReset())}),t.EFF(9),t.k0s()()()}if(2&i){const e=t.XpG();t.R7$(3),t.JRh(e.locale.maketext("Warning:")),t.R7$(),t.Y8G("innerHTML",e.locale.maketext("This action will remove any user specific settings for all users and set them to use the system default settings."),t.npT),t.R7$(2),t.FS9("title",e.locale.maketext("Reset all user accounts to use the system default configuration.")),t.R7$(),t.SpI(" ",e.locale.maketext("Reset users to system default")," "),t.R7$(),t.Y8G("title",e.locale.maketext("Cancel user reset to default")),t.R7$(),t.SpI(" ",e.locale.maketext("Cancel")," ")}}function it(i,l){if(1&i&&(t.j41(0,"p")(1,"strong"),t.EFF(2),t.k0s()()),2&i){const e=t.XpG();t.R7$(2),t.JRh(e.locale.maketext("Are you sure you want to continue?"))}}function st(i,l){if(1&i){const e=t.RV6();t.j41(0,"div",35)(1,"button",36),t.bIt("click",function(){t.eBV(e);const n=t.XpG();return t.Njj(n.onUninstallClicked())}),t.EFF(2),t.k0s()()}if(2&i){const e=t.XpG();t.R7$(2),t.SpI(" ",e.locale.maketext("Uninstall [asis,NGINX] reverse proxy[comment,header title]")," ")}}function at(i,l){if(1&i){const e=t.RV6();t.j41(0,"div",37)(1,"button",38),t.bIt("click",function(){t.eBV(e);const n=t.XpG();return t.Njj(n.uninstallNginx())}),t.EFF(2),t.k0s(),t.j41(3,"button",39),t.bIt("click",function(){t.eBV(e);const n=t.XpG();return t.Njj(n.cancelUninstall())}),t.EFF(4),t.k0s()()}if(2&i){const e=t.XpG();t.R7$(2),t.SpI(" ",e.locale.maketext("Uninstall")," "),t.R7$(),t.Y8G("title",e.locale.maketext("Do not uninstall [asis,NGINX] reverse proxy.")),t.R7$(),t.SpI(" ",e.locale.maketext("Cancel")," ")}}let ot=(()=>{class i{constructor(e,s,n,o){this.locale=e,this.systemSettingsService=s,this.alertService=n,this.router=o,this.loadingDefaultCacheSetting=!0,this.defaultCacheSetting={toggleState:a.pv.toggleOff,labelPosition:a.Jr.right,isDisabled:!1},this.clearCacheAction={buttonClass:"btn btn-sm btn-default button-bar",buttonState:a.kj.enabled},this.restartNginxAction={buttonClass:"btn btn-sm btn-default button-bar",buttonState:a.kj.enabled},this.rebuildConfigAction={buttonClass:"btn btn-sm btn-default button-bar",buttonState:a.kj.enabled},this.resetToSystemDefaultAction={buttonClass:"btn btn-sm btn-default button-bar",buttonState:a.kj.enabled},this.showResetWarning=!1,this.showUninstallConfirmation=!1}ngOnInit(){this.loadDefaultCacheSetting()}loadDefaultCacheSetting(){this.systemSettingsService.getSystemNginxConfig().subscribe(e=>{e.success?(this.defaultCacheSetting.toggleState=e.data.system.enabled?a.pv.toggleOn:a.pv.toggleOff,this.loadingDefaultCacheSetting=!1):e.errors.forEach(s=>{this.alertService.error(s.message)})})}toggleDefaultCacheSetting(){const e=this.defaultCacheSetting.toggleState;this.defaultCacheSetting.toggleState=a.pv.toggleUpdating,e===a.pv.toggleOn?this.systemSettingsService.toggleCaching(!1).subscribe(s=>{s.success?(this.defaultCacheSetting.toggleState=a.pv.toggleOff,this.alertService.success(this.locale.maketext("[asis,NGINX] caching for the system set to off."))):(s.errors.forEach(n=>{this.alertService.error(n.message)}),this.defaultCacheSetting.toggleState=e)}):this.systemSettingsService.toggleCaching(!0).subscribe(s=>{s.success?(this.defaultCacheSetting.toggleState=a.pv.toggleOn,this.alertService.success(this.locale.maketext("[asis,NGINX] caching for the system set to on."))):(s.errors.forEach(n=>{this.alertService.error(n.message)}),this.defaultCacheSetting.toggleState=e)})}clearCache(){this.clearCacheAction.buttonState=a.kj.loading,this.systemSettingsService.clearCache().subscribe(e=>{e.success?(this.clearCacheAction.buttonState=a.kj.enabled,this.alertService.success(this.locale.maketext("[asis,NGINX] caching successfully cleared."))):(e.errors.forEach(s=>{this.alertService.error(s.message)}),this.clearCacheAction.buttonState=a.kj.enabled)})}restartNginx(){this.restartNginxAction.buttonState=a.kj.loading,this.systemSettingsService.restartNginx().subscribe(e=>{if(e.success){const s=e?.meta.properties.output.raw;/nginx (re)?started successfully.[\r\n]$/.test(s)?this.alertService.success(this.locale.maketext("[asis,NGINX] service restarted.")):this.alertService.error(s)}else e.errors.forEach(s=>{this.alertService.error(s.message)});this.restartNginxAction.buttonState=a.kj.enabled})}rebuildConfig(){this.rebuildConfigAction.buttonState=a.kj.loading,this.systemSettingsService.rebuildConfig().subscribe(e=>{e.success?(this.rebuildConfigAction.buttonState=a.kj.enabled,this.alertService.success(this.locale.maketext("[asis,NGINX] configuration successfully rebuilt."))):(e.errors.forEach(s=>{this.alertService.error(s.message)}),this.rebuildConfigAction.buttonState=a.kj.enabled)})}resetToSystemDefault(){this.showResetWarning=!1,this.resetToSystemDefaultAction.buttonState=a.kj.loading,this.systemSettingsService.resetToDefault().subscribe(e=>{e.success?(this.resetToSystemDefaultAction.buttonState=a.kj.enabled,this.alertService.success(this.locale.maketext("All user accounts set to use the [asis,NGINX] system default configuration."))):(e.errors.forEach(s=>{this.alertService.error(s.message)}),this.resetToSystemDefaultAction.buttonState=a.kj.enabled)})}handleShowResetWarning(){this.showResetWarning=!0,this.resetToSystemDefaultAction.buttonState=a.kj.disabled}cancelReset(){this.showResetWarning=!1,this.resetToSystemDefaultAction.buttonState=a.kj.enabled}uninstallNginx(){this.router.navigate(["uninstall/nginx"])}onUninstallClicked(){this.showUninstallConfirmation=!0}cancelUninstall(){this.showUninstallConfirmation=!1}static#t=this.\u0275fac=function(s){return new(s||i)(t.rXU(S.h),t.rXU(O),t.rXU(a.uE),t.rXU(m.Ix))};static#e=this.\u0275cmp=t.VBU({type:i,selectors:[["cp-nginx-mgr-system-settings"]],decls:38,vars:29,consts:[["id","systemSettingsSection"],[1,"row"],[1,"col-xs-12","col-md-10"],[1,"panel","panel-default","defaultSetting"],[1,"row","panel-body"],["id","default-cache-setting-header",1,"col-xs-12","col-sm-4"],[1,"col-xs-12","col-sm-8"],["id","default-cache-setting-section",4,"ngIf"],["id","loading-section","class","notifyLoading",4,"ngIf"],[1,"col-xs-12"],["id","default-cache-help-text",1,"help-block",3,"innerHtml"],[1,"panel-footer"],["id","btn-clear-cache",3,"click","buttonClass","buttonState","title"],["id","btn-restart-nginx",3,"click","buttonClass","buttonState","title"],["id","btn-rebuild-config",3,"click","buttonClass","buttonState","title"],["id","btn-reset-to-default",3,"click","buttonClass","buttonState","title"],["id","resetUsersWarning","calloutType","warning",4,"ngIf"],["id","uninstallSection"],[1,"panel","panel-default","uninstall-section",3,"ngClass"],[1,"panel-heading"],[1,"widget-title"],[4,"ngIf"],["class","margin-top-20 margin-bottom-20",4,"ngIf"],["id","confirm-uninstall","class","margin-top-20 margin-bottom-20",4,"ngIf"],["id","default-cache-setting-section"],["id","toggleSwitchDefaultSetting",3,"toggleStatus","onText","offText","toggleState","labelPosition"],["id","loading-section",1,"notifyLoading"],[1,"processing-spinner"],["aria-hidden","true",1,"fas","fa-spinner","fa-spin","spinner"],[3,"innerHtml"],["id","resetUsersWarning","calloutType","warning"],[1,"warningText"],[3,"innerHTML"],["id","resetConfirmBtn",1,"btn","btn-primary","btn-sm",3,"click","title"],["id","cancelResetBtn","type","button",1,"btn","btn-sm","btn-link",3,"click","title"],[1,"margin-top-20","margin-bottom-20"],["id","btn-uninstall-nginx",1,"btn","btn-sm","btn-default",3,"click"],["id","confirm-uninstall",1,"margin-top-20","margin-bottom-20"],["id","btn-confirm-uninstall-nginx",1,"btn","btn-sm","btn-default",3,"click"],["id","btn-cancel-uninstall-nginx","type","button",1,"btn","btn-sm","btn-link",3,"click","title"]],template:function(s,n){1&s&&(t.j41(0,"section",0)(1,"div",1)(2,"div",2)(3,"div",3)(4,"div",4)(5,"h3",5),t.EFF(6),t.k0s(),t.j41(7,"div",6),t.DNE(8,tt,2,4,"section",7)(9,et,4,1,"section",8),t.k0s(),t.j41(10,"div",9),t.nrm(11,"span",10),t.k0s()(),t.j41(12,"div",11)(13,"div",1)(14,"div",9)(15,"cp-action-button",12),t.bIt("click",function(){return n.clearCache()}),t.EFF(16),t.k0s(),t.j41(17,"cp-action-button",13),t.bIt("click",function(){return n.restartNginx()}),t.EFF(18),t.k0s(),t.j41(19,"cp-action-button",14),t.bIt("click",function(){return n.rebuildConfig()}),t.EFF(20),t.k0s(),t.j41(21,"cp-action-button",15),t.bIt("click",function(){return n.handleShowResetWarning()}),t.EFF(22),t.k0s()()()(),t.DNE(23,nt,10,6,"cp-callout",16),t.k0s()()()(),t.j41(24,"section",17)(25,"div",1)(26,"div",2)(27,"div",18)(28,"div",19)(29,"span",20),t.EFF(30),t.k0s()(),t.j41(31,"div",4)(32,"div",9),t.DNE(33,it,3,1,"p",21),t.j41(34,"p"),t.EFF(35),t.k0s(),t.DNE(36,st,3,1,"div",22)(37,at,5,3,"div",23),t.k0s()()()()()()),2&s&&(t.R7$(6),t.SpI(" ",n.locale.maketext("Use caching by default[comment,label]")," "),t.R7$(2),t.Y8G("ngIf",!n.loadingDefaultCacheSetting),t.R7$(),t.Y8G("ngIf",n.loadingDefaultCacheSetting),t.R7$(2),t.Y8G("innerHtml",n.locale.maketext("The default setting applies to all new accounts and any accounts that do not explicitly set caching."),t.npT),t.R7$(4),t.FS9("title",n.locale.maketext("Clear the cache for all user accounts.")),t.Y8G("buttonClass",n.clearCacheAction.buttonClass)("buttonState",n.clearCacheAction.buttonState),t.R7$(),t.SpI(" ",n.locale.maketext("Clear Cache For All Users")," "),t.R7$(),t.FS9("title",n.locale.maketext("Restart the [asis,NGINX] service.")),t.Y8G("buttonClass",n.restartNginxAction.buttonClass)("buttonState",n.restartNginxAction.buttonState),t.R7$(),t.SpI(" ",n.locale.maketext("Restart [asis,NGINX]")," "),t.R7$(),t.FS9("title",n.locale.maketext("Rebuild the [asis,NGINX] service configuration.")),t.Y8G("buttonClass",n.rebuildConfigAction.buttonClass)("buttonState",n.rebuildConfigAction.buttonState),t.R7$(),t.SpI(" ",n.locale.maketext("Rebuild Configuration")," "),t.R7$(),t.FS9("title",n.locale.maketext("Reset all user accounts to use the system default configuration.")),t.Y8G("buttonClass",n.resetToSystemDefaultAction.buttonClass)("buttonState",n.resetToSystemDefaultAction.buttonState),t.R7$(),t.SpI(" ",n.locale.maketext("Reset users to system default")," "),t.R7$(),t.Y8G("ngIf",n.showResetWarning),t.R7$(4),t.Y8G("ngClass",t.eq3(27,q,n.showUninstallConfirmation)),t.R7$(3),t.SpI(" ",n.locale.maketext("Uninstall [asis,NGINX] reverse proxy[comment,header title]")," "),t.R7$(3),t.Y8G("ngIf",n.showUninstallConfirmation),t.R7$(2),t.SpI(" ",n.locale.maketext("Uninstalling [asis,NGINX] reverse proxy will remove caching for all users and their websites.")," "),t.R7$(),t.Y8G("ngIf",!n.showUninstallConfirmation),t.R7$(),t.Y8G("ngIf",n.showUninstallConfirmation))},dependencies:[d.YU,d.bT,a.GV,a.CK,a.C7],styles:[".defaultSetting[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin-top:0;padding-top:10px}.defaultSetting[_ngcontent-%COMP%] .toggle-switch-wrapper{margin-top:5px}.notifyLoading[_ngcontent-%COMP%]{padding-top:10px}.warningText[_ngcontent-%COMP%]{display:inline-flex}.warningText[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{padding-left:5px;padding-right:5px}.panel-default[_ngcontent-%COMP%] > .panel-heading[_ngcontent-%COMP%]{background:#0000;border:none;color:#333}.uninstall-section[_ngcontent-%COMP%]{margin:15px 0;padding:15px}"]})}return i})();var _=r(6153),lt=r(686),E=r(8391);class rt{constructor(l="",e="",s=!1){this.account=l,this.owner=e,this.nginxCacheStatus=s}}class ct{constructor(l="",e){this.userName=l,this.model=e,this.selected=!1,this.clearCacheButton={buttonClass:"btn btn-outline-primary btn-sm mobile-float",buttonState:a.kj.enabled},this.nginxCacheToggle={toggleState:a.pv.toggleOff,labelPosition:a.Jr.right,isDisabled:!1},this.nginxCacheToggle.toggleState=e.nginxCacheStatus?a.pv.toggleOn:a.pv.toggleOff}}var b=r(7376),v=r(3151),N=r(9417);function gt(i,l){if(1&i&&(t.j41(0,"div",2)(1,"div",3)(2,"cp-callout",4)(3,"pre",5),t.EFF(4),t.k0s()()()()),2&i){const e=t.XpG();t.R7$(4),t.JRh(e.loadFailureMessage)}}function ht(i,l){if(1&i){const e=t.RV6();t.j41(0,"li",36)(1,"div")(2,"cp-page-size-selector",39),t.bIt("optionSelected",function(n){t.eBV(e);const o=t.XpG(3);return t.Njj(o.onPageSizeSelected(n))}),t.k0s()()()}if(2&i){const e=t.XpG(3);t.R7$(2),t.Y8G("pageSizeOptions",e.pagination.pageSizes)("selectedPageSize",e.pagination.pageSize)}}function ut(i,l){1&i&&t.nrm(0,"li",40)}function pt(i,l){if(1&i){const e=t.RV6();t.j41(0,"ul",33),t.DNE(1,ht,3,2,"li",34)(2,ut,1,0,"li",35),t.j41(3,"li",36)(4,"a",37),t.bIt("click",function(){t.eBV(e);const n=t.XpG(2);return t.Njj(n.loadUserList())}),t.nrm(5,"i",38),t.EFF(6),t.k0s()()()}if(2&i){const e=t.XpG(2);t.R7$(),t.Y8G("ngIf",e.showPageSizeSelector),t.R7$(),t.Y8G("ngIf",e.showPageSizeSelector),t.R7$(4),t.SpI(" ",e.locale.maketext("Refresh")," ")}}function dt(i,l){if(1&i&&t.nrm(0,"i"),2&i){const e=t.XpG(2).$implicit,s=t.XpG(2);t.HbH(s.sortDirClass),t.BMQ("title",e.title)}}function mt(i,l){if(1&i){const e=t.RV6();t.j41(0,"a",44),t.bIt("click",function(){t.eBV(e);const n=t.XpG().$implicit,o=t.XpG(2);return t.Njj(o.changeSort(n.key))}),t.nrm(1,"span",45),t.EFF(2," \xa0 "),t.DNE(3,dt,1,3,"i",46),t.k0s()}if(2&i){const e=t.XpG().$implicit,s=t.XpG(2);t.R7$(),t.Y8G("innerHtml",e.title,t.npT),t.R7$(2),t.Y8G("ngIf",e.key===s.tableMetaData.sorts[0].column)}}function ft(i,l){if(1&i&&t.nrm(0,"span",45),2&i){const e=t.XpG().$implicit;t.Y8G("innerHtml",e.title,t.npT)}}function _t(i,l){if(1&i&&(t.j41(0,"th",41),t.DNE(1,mt,4,2,"a",42)(2,ft,1,1,"span",43),t.k0s()),2&i){const e=l.$implicit;t.Y8G("ngClass",e.cssClasses),t.R7$(),t.Y8G("ngIf",e.isSortable),t.R7$(),t.Y8G("ngIf",!e.isSortable&&""!==e.title)}}function bt(i,l){if(1&i){const e=t.RV6();t.qex(0),t.j41(1,"tr",48)(2,"td",49)(3,"input",50),t.mxI("ngModelChange",function(n){const o=t.eBV(e).$implicit;return t.DH7(o.selected,n)||(o.selected=n),t.Njj(n)}),t.bIt("change",function(){const n=t.eBV(e).$implicit,o=t.XpG(3);return t.Njj(o.onRowSelectionChanged(n))}),t.k0s()(),t.j41(4,"td")(5,"span",51),t.EFF(6),t.k0s()(),t.j41(7,"td",52)(8,"span",51),t.EFF(9),t.k0s()(),t.j41(10,"td")(11,"cp-toggle-switch",53),t.bIt("toggleStatus",function(){const n=t.eBV(e).$implicit,o=t.XpG(3);return t.Njj(o.toggleNginxCacheForUser(n))}),t.k0s()(),t.j41(12,"td")(13,"cp-action-button",54),t.bIt("click",function(){const n=t.eBV(e).$implicit,o=t.XpG(3);return t.Njj(o.clearCacheForUser(n))}),t.EFF(14),t.k0s()()(),t.bVm()}if(2&i){const e=l.$implicit,s=t.XpG(3);t.R7$(),t.Mz_("id","",e.userName,"-user-list-row"),t.R7$(2),t.R50("ngModel",e.selected),t.BMQ("aria-label",s.locale.maketext("Select single row.")),t.R7$(3),t.JRh(e.userName),t.R7$(3),t.JRh(e.model.owner),t.R7$(2),t.Mz_("id","",e.userName,"-nginx-cache-toggle"),t.FS9("onText",s.locale.maketext("Enabled")),t.FS9("offText",s.locale.maketext("Disabled")),t.Y8G("toggleState",e.nginxCacheToggle.toggleState)("labelPosition",e.nginxCacheToggle.labelPosition)("isDisabled",e.nginxCacheToggle.isDisabled),t.R7$(2),t.Mz_("id","",e.userName,"-btn-clear-cache"),t.FS9("title",s.locale.maketext("Clear [asis,NGINX] cache.")),t.Y8G("buttonClass",e.clearCacheButton.buttonClass)("buttonState",e.clearCacheButton.buttonState),t.R7$(),t.SpI(" ",s.locale.maketext("Clear Cache")," ")}}function xt(i,l){if(1&i&&(t.j41(0,"tbody"),t.DNE(1,bt,15,19,"ng-container",47),t.k0s()),2&i){const e=t.XpG(2);t.R7$(),t.Y8G("ngForOf",e.displayRows)}}function St(i,l){if(1&i&&(t.j41(0,"tbody")(1,"tr",55)(2,"td"),t.EFF(3),t.k0s()()()),2&i){const e=t.XpG(2);t.R7$(2),t.BMQ("colspan",e.emptyRowColSpan),t.R7$(),t.SpI(" ",e.locale.maketext("The account list is empty.")," ")}}function Ct(i,l){if(1&i&&(t.j41(0,"tbody")(1,"tr",56)(2,"td"),t.EFF(3),t.k0s()()()),2&i){const e=t.XpG(2);t.R7$(2),t.BMQ("colspan",e.emptyRowColSpan),t.R7$(),t.SpI(" ",e.locale.maketext("No results match your query.")," ")}}function kt(i,l){if(1&i&&(t.j41(0,"tbody")(1,"tr",57)(2,"td"),t.nrm(3,"span",58),t.j41(4,"span",59),t.EFF(5),t.k0s()()()()),2&i){const e=t.XpG(2);t.R7$(2),t.BMQ("colspan",e.emptyRowColSpan),t.R7$(3),t.JRh(e.locale.maketext("Loading user accounts \u2026"))}}function vt(i,l){if(1&i){const e=t.RV6();t.j41(0,"div",2)(1,"div",3)(2,"div",2)(3,"div",6)(4,"cp-search",7),t.bIt("valueChange",function(n){t.eBV(e);const o=t.XpG();return t.Njj(o.changeFilter(n))}),t.k0s()(),t.j41(5,"div",8)(6,"div",9)(7,"div",10)(8,"cp-pagination",11),t.bIt("pageChanged",function(n){t.eBV(e);const o=t.XpG();return t.Njj(o.onPageChanged(n))}),t.k0s()()()()(),t.j41(9,"div",12)(10,"div",3)(11,"div",13)(12,"div",14)(13,"label",15)(14,"input",16),t.mxI("ngModelChange",function(n){t.eBV(e);const o=t.XpG();return t.DH7(o.selectAllState,n)||(o.selectAllState=n),t.Njj(n)}),t.bIt("change",function(){t.eBV(e);const n=t.XpG();return t.Njj(n.toggleSelectAll())}),t.k0s()()(),t.j41(15,"cp-action-button",17),t.bIt("click",function(){t.eBV(e);const n=t.XpG();return t.Njj(n.bulkEnableCache())}),t.EFF(16),t.k0s(),t.j41(17,"cp-action-button",18),t.bIt("click",function(){t.eBV(e);const n=t.XpG();return t.Njj(n.bulkDisableCache())}),t.EFF(18),t.k0s(),t.j41(19,"cp-action-button",19),t.bIt("click",function(){t.eBV(e);const n=t.XpG();return t.Njj(n.bulkClearCache())}),t.EFF(20),t.k0s()(),t.j41(21,"div",20)(22,"div",21)(23,"button",22),t.nrm(24,"i",23)(25,"span",24),t.k0s(),t.DNE(26,pt,7,3,"ul",25),t.k0s()()()(),t.j41(27,"section",26)(28,"table",27)(29,"thead")(30,"tr"),t.DNE(31,_t,3,3,"th",28),t.k0s()(),t.DNE(32,xt,2,1,"tbody",29)(33,St,4,2,"tbody",29)(34,Ct,4,2,"tbody",29)(35,kt,6,2,"tbody",29),t.k0s()(),t.j41(36,"div",30)(37,"div",3)(38,"div",31)(39,"cp-pagination",32),t.bIt("pageChanged",function(n){t.eBV(e);const o=t.XpG();return t.Njj(o.onPageChanged(n))}),t.k0s()()()()()()}if(2&i){const e=t.XpG();t.R7$(4),t.FS9("label",e.searchHelpText),t.FS9("placeholder",e.searchHelpText),t.R7$(4),t.Y8G("selectedPage",e.pagination.currentPage)("totalItems",e.totalRecords)("maxPagesVisible",e.maxItemsPerPage)("pageSize",e.pageSize),t.R7$(6),t.R50("ngModel",e.selectAllState),t.BMQ("aria-label",e.locale.maketext("Select all rows.")),t.R7$(),t.FS9("title",e.locale.maketext("Enable [asis,NGINX] caching for selected users.")),t.Y8G("buttonClass",e.bulkEnableCacheButton.buttonClass)("buttonState",e.bulkEnableCacheButtonState),t.R7$(),t.SpI(" ",e.locale.maketext("Enable [asis,NGINX] cache[comment,button title]")," "),t.R7$(),t.FS9("title",e.locale.maketext("Disable [asis,NGINX] caching for selected users.")),t.Y8G("buttonClass",e.bulkDisableCacheButton.buttonClass)("buttonState",e.bulkDisableCacheButtonState),t.R7$(),t.SpI(" ",e.locale.maketext("Disable [asis,NGINX] cache[comment,button title]")," "),t.R7$(),t.FS9("title",e.locale.maketext("Clear [asis,NGINX] cache for selected users.")),t.Y8G("buttonClass",e.bulkClearCacheButton.buttonClass)("buttonState",e.bulkClearCacheButtonState),t.R7$(),t.SpI(" ",e.locale.maketext("Clear [asis,NGINX] cache[comment,button title]")," "),t.R7$(3),t.BMQ("aria-label",e.locale.maketext("Table Settings")),t.R7$(8),t.Y8G("ngForOf",e.tableHeaders),t.R7$(),t.Y8G("ngIf",e.showList),t.R7$(),t.Y8G("ngIf",e.showWhenListIsEmpty),t.R7$(),t.Y8G("ngIf",e.showWhenSearchIsEmpty),t.R7$(),t.Y8G("ngIf",e.showLoadingMessage),t.R7$(4),t.Y8G("selectedPage",e.pagination.currentPage)("totalItems",e.totalRecords)("maxPagesVisible",e.maxItemsPerPage)("pageSize",e.pageSize)}}const Nt=[{path:"getStarted",component:k,pathMatch:"full"},{path:"install/nginx",component:k},{path:"uninstall/nginx",component:k},{path:"uninstall/standalone",component:k},{path:"system",component:ot,data:{id:"system",tab:"system"}},{path:"user",component:(()=>{class i{constructor(e,s,n){this.locale=e,this.systemSettingsService=s,this.alertService=n,this.displayRows=[],this.userList=[],this.loadingData=!0,this.loadFailureMessage="",this.searchHelpText="",this.checkedCount=0,this.selectAllState=!1,this.pagination={pageSizes:[20,50,100,500,1e3],currentPage:1,pageSize:20,maxSize:2,disable:!1,totalItems:0},this.tableMetaData={sorts:[new _.FU("user",_.UE.Ascending)],pager:new lt.is(this.pagination.currentPage,this.pagination.pageSize)},this.bulkEnableCacheButton={buttonClass:"btn btn-sm btn-default button-bar",buttonState:a.kj.disabled},this.bulkDisableCacheButton={buttonClass:"btn btn-sm btn-default button-bar",buttonState:a.kj.disabled},this.bulkClearCacheButton={buttonClass:"btn btn-sm btn-default button-bar",buttonState:a.kj.disabled}}get showLoadingMessage(){return this.loadingData&&""===this.loadFailureMessage}get showFailureMessageOnLoad(){return!this.loadingData&&""!==this.loadFailureMessage}get emptyRowColSpan(){return this.tableHeaders.length+1}get showList(){return!this.loadingData&&this.displayRows.length>0}get showWhenListIsEmpty(){return!this.loadingData&&0===this.userList.length&&0===this.tableMetaData.filters?.length}get showWhenSearchIsEmpty(){return!this.loadingData&&0===this.userList.length&&0!==this.tableMetaData.filters?.length}get sortDirClass(){return this.tableMetaData.sorts[0].direction===_.UE.Ascending?"icon-arrow-up":"icon-arrow-down"}get disablePagination(){return this.pagination.disable}get showPageSizeSelector(){return this.pagination.totalItems>(0,b.min)(this.pagination.pageSizes)}get totalRecords(){return this.pagination.totalItems}get pageSize(){return this.pagination.pageSize}get maxItemsPerPage(){return this.pagination.maxSize}get bulkEnableCacheButtonState(){return this.bulkEnableCacheButton.buttonState===a.kj.loading?this.bulkEnableCacheButton.buttonState:0===this.checkedCount?a.kj.disabled:a.kj.enabled}get bulkDisableCacheButtonState(){return this.bulkDisableCacheButton.buttonState===a.kj.loading?this.bulkDisableCacheButton.buttonState:0===this.checkedCount?a.kj.disabled:a.kj.enabled}get bulkClearCacheButtonState(){return this.bulkClearCacheButton.buttonState===a.kj.loading?this.bulkClearCacheButton.buttonState:0===this.checkedCount?a.kj.disabled:a.kj.enabled}ngOnInit(){this.tableHeaders=[{key:"checkbox",title:"",cssClasses:["bulkAction","hidden-xs"],isSortable:!1},{key:"user",title:this.locale.maketext("Account"),cssClasses:["account-column"],isSortable:!0},{key:"owner",title:this.locale.maketext("Owner"),cssClasses:["account-column","hidden-xs"],isSortable:!0},{key:"config.enabled",title:this.locale.maketext("[asis,NGINX] caching[comment,table header title]"),cssClasses:[],isSortable:!0},{key:"actions",title:"",cssClasses:[],isSortable:!1}],this.searchHelpText=this.locale.maketext("Search for account or owner."),this.loadUserList()}changeSort(e){if(this.tableMetaData.sorts){const s=this.tableMetaData.sorts.findIndex(n=>n.column===e);if(-1!==s)return this.tableMetaData.sorts[s].direction=this.tableMetaData.sorts[s].direction===_.UE.Ascending?_.UE.Descending:_.UE.Ascending,void this.loadUserList()}this.tableMetaData.sorts=[new _.FU(e,_.UE.Descending)],this.loadUserList()}changeFilter(e){this.tableMetaData.filters=[new E.d("*",E.t.Contains,e)],1!==this.pagination.currentPage&&(this.pagination.currentPage=1,this.tableMetaData.pager.page=this.pagination.currentPage),this.loadUserList()}onPageChanged(e){this.pagination.currentPage!==e.page&&(this.pagination.currentPage=e.page,this.tableMetaData.pager.page=this.pagination.currentPage,this.loadUserList())}onPageSizeSelected(e){e!==this.pagination.pageSize&&(this.pagination.pageSize=e,this.tableMetaData.pager.pageSize=this.pagination.pageSize,this.loadUserList())}loadUserList(){this.loadingData=!0,this.systemSettingsService.getUserNginxConfig(this.tableMetaData,!0).subscribe(e=>{e.success?(this.userList=e.data.map(s=>new rt(s.user,s.owner,s.config.enabled)),this.displayRows=this.userList.map(s=>new ct(s.account,s)),this._updatePaginationMetadata(e.meta),this.checkedCount=0,this.selectAllState=!1):e.hasErrors&&e.errors.length>0&&e.errors.forEach(s=>{this.alertService.error(s.message)}),this.loadingData=!1},e=>{this.loadFailureMessage=e,this.loadingData=!1},()=>{this.loadingData=!1})}clearCacheForUser(e){e.clearCacheButton.buttonState=a.kj.loading,this.systemSettingsService.clearCache([e.userName]).subscribe(s=>{s.success?(e.clearCacheButton.buttonState=a.kj.enabled,this.alertService.success(this.locale.maketext("[asis,NGINX] caching successfully cleared for \u201c[_1]\u201d.",e.userName))):(s.errors.forEach(n=>{this.alertService.error(n.message)}),e.clearCacheButton.buttonState=a.kj.enabled)})}toggleNginxCacheForUser(e){const s=e.nginxCacheToggle.toggleState;e.nginxCacheToggle.toggleState=a.pv.toggleUpdating,s===a.pv.toggleOn?this.systemSettingsService.toggleCaching(!1,[e.userName]).subscribe(n=>{n.success?(e.nginxCacheToggle.toggleState=a.pv.toggleOff,this.alertService.success(this.locale.maketext("[asis,NGINX] caching is disabled for \u201c[_1]\u201d.",e.userName))):(n.errors.forEach(o=>{this.alertService.error(o.message)}),e.nginxCacheToggle.toggleState=s)}):this.systemSettingsService.toggleCaching(!0,[e.userName]).subscribe(n=>{n.success?(e.nginxCacheToggle.toggleState=a.pv.toggleOn,this.alertService.success(this.locale.maketext("[asis,NGINX] caching is enabled for \u201c[_1]\u201d.",e.userName))):(n.errors.forEach(o=>{this.alertService.error(o.message)}),e.nginxCacheToggle.toggleState=s)})}onRowSelectionChanged(e){e.selected?this.checkedCount++:this.checkedCount--,this.selectAllState=this.checkedCount===this.userList.length}toggleSelectAll(){0!==this.userList.length&&(this.checkedCount=this.selectAllState?this.userList.length:0,this.displayRows.forEach(e=>{e.selected=this.selectAllState}))}_bulkToggleCache(e,s){s.buttonState=a.kj.loading;const n=(0,b.map)((0,b.filter)(this.displayRows,["selected",!0]),o=>o.userName);this.systemSettingsService.toggleCaching(e,n).subscribe(o=>{if(o.success){const c=this.locale.maketext(e?"[asis,NGINX] caching is enabled for the selected users.":"[asis,NGINX] caching is disabled for the selected users.");this.alertService.success(c),this.loadUserList()}else o.errors.forEach(c=>{this.alertService.error(c.message)});s.buttonState=a.kj.enabled})}bulkEnableCache(){this._bulkToggleCache(!0,this.bulkEnableCacheButton)}bulkDisableCache(){this._bulkToggleCache(!1,this.bulkDisableCacheButton)}bulkClearCache(){this.bulkClearCacheButton.buttonState=a.kj.loading;const e=(0,b.map)((0,b.filter)(this.displayRows,["selected",!0]),s=>s.userName);this.systemSettingsService.clearCache(e).subscribe(s=>{s.success?(this.alertService.success(this.locale.maketext("[asis,NGINX] caching successfully cleared for the selected users.")),this.loadUserList()):s.errors.forEach(n=>{this.alertService.error(n.message)}),this.bulkClearCacheButton.buttonState=a.kj.enabled})}_updatePaginationMetadata(e){this.pagination.totalItems=e.totalRecords,this.pagination.disable=this.pagination.totalItems>(0,b.min)(this.pagination.pageSizes)}static#t=this.\u0275fac=function(s){return new(s||i)(t.rXU(S.h),t.rXU(O),t.rXU(a.uE))};static#e=this.\u0275cmp=t.VBU({type:i,selectors:[["cp-user-settings"]],decls:3,vars:2,consts:[["id","user-settings"],["class","row",4,"ngIf"],[1,"row"],[1,"col-xs-12"],["id","load-failure-message","calloutType","danger"],[1,"unlink-error-pre"],[1,"col-xs-12","col-sm-6","col-md-4","search-container"],["id","search-user-list","autofocus","true",3,"valueChange","label","placeholder"],[1,"col-xs-12","col-sm-6","col-md-8"],[1,"hidden-xs","hidden-sm"],[1,"pull-right","text-right","flip"],["id","user-list-pagination",3,"pageChanged","selectedPage","totalItems","maxPagesVisible","pageSize"],[1,"row","action-bar"],[1,"pull-left","flip","hidden-xs"],[1,"table-action-button-container"],[1,"table-action-button-label","table-action-button-sm"],["type","checkbox","name","checkAllInList","id","checkAllInList",3,"ngModelChange","change","ngModel"],["id","bulk-enable-cache",3,"click","buttonClass","buttonState","title"],["id","bulk-disable-cache",3,"click","buttonClass","buttonState","title"],["id","bulk-clear-cache",3,"click","buttonClass","buttonState","title"],[1,"pull-right","flip"],["dropdown","","auto-close","outsideClick",1,"btn-group","pull-right"],["id","table-settings-dropdown","type","button","dropdownToggle","",1,"btn","btn-default","btn-sm","dropdown-toggle","button-bar"],[1,"fas","fa-cog"],[1,"caret"],["id","table-settings-menu","class","dropdown-menu dropdown-menu-right","role","menu","aria-labelledby","table-settings-dropdown",4,"dropdownMenu"],[1,"list-section"],["id","user-table",1,"table","table-striped","responsive-table","details-table"],[3,"ngClass",4,"ngFor","ngForOf"],[4,"ngIf"],[1,"row","visible-sm-block","visible-xs-block","hidden-lg","hidden-md"],["id","page-container-bottom",1,"pull-right","flip"],["id","user-list-pagination-bottom",3,"pageChanged","selectedPage","totalItems","maxPagesVisible","pageSize"],["id","table-settings-menu","role","menu","aria-labelledby","table-settings-dropdown",1,"dropdown-menu","dropdown-menu-right"],["role","menuitem",4,"ngIf"],["class","divider",4,"ngIf"],["role","menuitem"],[3,"click"],[1,"fas","fa-sync-alt"],["id","user-list-page-selector",3,"optionSelected","pageSizeOptions","selectedPageSize"],[1,"divider"],[3,"ngClass"],["class","sort-link","href","javascript:void(0)",3,"click",4,"ngIf"],[3,"innerHtml",4,"ngIf"],["href","javascript:void(0)",1,"sort-link",3,"click"],[3,"innerHtml"],[3,"class",4,"ngIf"],[4,"ngFor","ngForOf"],[1,"data-row",3,"id"],[1,"bulkActionColumn","hidden-xs"],["type","checkbox",3,"ngModelChange","change","ngModel"],[1,"account-name","collapse-text"],[1,"hidden-xs"],[3,"toggleStatus","id","onText","offText","toggleState","labelPosition","isDisabled"],[3,"click","id","buttonClass","buttonState","title"],["id","emptyListRow",1,"info","empty-row"],["id","emptySearchRow",1,"info","empty-row"],["id","loadingRow",1,"info","empty-row"],[1,"fas","fa-spinner","fa-spin"],[1,"loading-text"]],template:function(s,n){1&s&&(t.j41(0,"div",0),t.DNE(1,gt,5,1,"div",1)(2,vt,40,30,"div",1),t.k0s()),2&s&&(t.R7$(),t.Y8G("ngIf",n.showFailureMessageOnLoad),t.R7$(),t.Y8G("ngIf",!n.showFailureMessageOnLoad))},dependencies:[d.YU,d.Sq,d.bT,a.GV,a.CK,a.C7,a.Sy,a.eK,a.br,v.hs,v.UL,v.Kk,N.Zm,N.BC,N.vS],styles:[".account-name[_ngcontent-%COMP%]{display:table-cell;min-width:150px}.account-column[_ngcontent-%COMP%]{min-width:150px}.padding-bottom-20[_ngcontent-%COMP%]{padding-bottom:20px}.search-container[_ngcontent-%COMP%]{margin-top:20px}html[dir=ltr][_ngcontent-%COMP%] .loading-text[_ngcontent-%COMP%], [dir=ltr][_ngcontent-%COMP%] .loading-text[_ngcontent-%COMP%], [dir=ltr][_nghost-%COMP%] .loading-text[_ngcontent-%COMP%], html[dir=ltr][_nghost-%COMP%] .loading-text[_ngcontent-%COMP%], html[dir=ltr] [_nghost-%COMP%] .loading-text[_ngcontent-%COMP%], [dir=ltr][_nghost-%COMP%] .loading-text[_ngcontent-%COMP%], [dir=ltr] [_nghost-%COMP%] .loading-text[_ngcontent-%COMP%]{padding-left:5px}html[dir=rtl][_ngcontent-%COMP%] .loading-text[_ngcontent-%COMP%], [dir=rtl][_ngcontent-%COMP%] .loading-text[_ngcontent-%COMP%], [dir=rtl][_nghost-%COMP%] .loading-text[_ngcontent-%COMP%], html[dir=rtl][_nghost-%COMP%] .loading-text[_ngcontent-%COMP%], html[dir=rtl] [_nghost-%COMP%] .loading-text[_ngcontent-%COMP%], [dir=rtl][_nghost-%COMP%] .loading-text[_ngcontent-%COMP%], [dir=rtl] [_nghost-%COMP%] .loading-text[_ngcontent-%COMP%]{padding-right:5px}"]})}return i})(),data:{id:"user",tab:"user"}},{path:"",redirectTo:"getStarted",pathMatch:"full"},{path:"**",redirectTo:"getStarted",pathMatch:"full"}];let It=(()=>{class i{static#t=this.\u0275fac=function(s){return new(s||i)};static#e=this.\u0275mod=t.$C({type:i});static#n=this.\u0275inj=t.G2t({imports:[m.iI.forRoot(Nt),m.iI]})}return i})();const yt=["mgrTabSet"];function Pt(i,l){if(1&i){const e=t.RV6();t.j41(0,"tabset",null,0)(2,"tab",5),t.bIt("selectTab",function(){t.eBV(e);const n=t.XpG();return t.Njj(n.routeTo("/system"))}),t.k0s(),t.j41(3,"tab",6),t.bIt("selectTab",function(){t.eBV(e);const n=t.XpG();return t.Njj(n.routeTo("/user"))}),t.k0s()()}if(2&i){const e=t.XpG();t.R7$(2),t.FS9("heading",e.locale.maketext("System Settings")),t.R7$(),t.FS9("heading",e.locale.maketext("User Settings"))}}let Mt=(()=>{class i{constructor(e,s,n,o,c,f){this.router=e,this.route=s,this.locale=n,this.appDataService=o,this._window=c,this.ngZone=f,this.showTabSet=!0}ngOnInit(){this.initNavigationTab(),this.initNginxFlags()}initNginxFlags(){this.appDataService.hasNginxCaching=this._window.nativeWindow.PAGE.has_ea_nginx,this.appDataService.hasNginxStandalone=this._window.nativeWindow.PAGE.has_ea_nginx_standalone,this.appDataService.hasExternalNginx=this._window.nativeWindow.PAGE.has_external_nginx}initNavigationTab(){this.router.events.subscribe(e=>{if(e instanceof m.wF){const s=this.route.root.firstChild.snapshot.data.tab;this.showTabSet="/system"===e.url||"/user"===e.url;const n=(0,b.find)(this.mgrTabSet?.tabs,["id",s]);n&&(n.active=!0)}})}routeTo(e){this.ngZone.run(()=>this.router.navigate([e]))}static#t=this.\u0275fac=function(s){return new(s||i)(t.rXU(m.Ix),t.rXU(m.nX),t.rXU(S.h),t.rXU(j),t.rXU(P),t.rXU(t.SKi))};static#e=this.\u0275cmp=t.VBU({type:i,selectors:[["cp-nginx-manager-root"]],viewQuery:function(s,n){if(1&s&&t.GBs(yt,5),2&s){let o;t.mGM(o=t.lsd())&&(n.mgrTabSet=o.first)}},decls:5,vars:1,consts:[["mgrTabSet",""],["position","top-right"],["id","content"],[4,"ngIf"],[1,"body"],["id","system",3,"selectTab","heading"],["id","user",3,"selectTab","heading"]],template:function(s,n){1&s&&(t.nrm(0,"cp-alert-list",1),t.j41(1,"div",2),t.DNE(2,Pt,4,2,"tabset",3),t.j41(3,"div",4),t.nrm(4,"router-outlet"),t.k0s()()),2&s&&(t.R7$(2),t.Y8G("ngIf",n.showTabSet))},dependencies:[d.bT,a.Ab,m.n3,y.V6,y.fw],styles:[".body[_ngcontent-%COMP%]{margin-top:30px}"]})}return i})(),wt=(()=>{class i{static#t=this.\u0275fac=function(s){return new(s||i)};static#e=this.\u0275mod=t.$C({type:i,bootstrap:[Mt]});static#n=this.\u0275inj=t.G2t({providers:[{provide:d.kB,useValue:window.PAGE.base},a.uE],imports:[d.MD,C.Bb,a.jM,a.Zi,a.sb,It,F.B,a.ho,X.q1,y.jr.forRoot(),a.pt,a.tq,a.x6,a.Qg,v.zE.forRoot(),N.YN]})}return i})();(0,t.SmG)(),C.sG().bootstrapModule(wt).catch(i=>console.error(i))}},x=>{x.O(0,[128,996,538],()=>x(x.s=9082)),x.O()}]);