define(["exports","./../modules/approuter.js","./../modules/loading/loading.js","./../modules/cardbuilder/cardbuilder.js","./../modules/common/servicelocator.js","./../modules/common/textencoding.js","./../modules/common/globalize.js","./../modules/common/input/api.js","./../modules/emby-apiclient/events.js","./../modules/emby-apiclient/connectionmanager.js","./../modules/emby-elements/emby-button/emby-button.js","./../modules/emby-elements/emby-itemscontainer/emby-itemscontainer.js","./../modules/viewmanager/baseview.js","./../components/activitylog.js"],function(_exports,_approuter,_loading,_cardbuilder,_servicelocator,_textencoding,_globalize,_api,_events,_connectionmanager,_embyButton,_embyItemscontainer,_baseview,_activitylog){function showActionSheet(options){return Emby.importModule("./modules/actionsheet/actionsheet.js").then(function(ActionSheet){return ActionSheet.show(options)})}function confirmRestartOrShutdown(options){return Emby.importModule("./modules/common/servershutdown.js").then(function(ServerShutdown){return ServerShutdown.confirmRestartOrShutdown(options)})}function buttonEnabled(elem,enabled){enabled?(elem.setAttribute("disabled",""),elem.removeAttribute("disabled")):elem.setAttribute("disabled","disabled")}function showEditServerNameDialog(view,apiClient){var options;options={label:_globalize.default.translate("LabelFriendlyServerName"),description:_globalize.default.translate("LabelFriendlyServerNameHelp"),value:view.querySelector(".serverNameHeader").innerHTML,confirmText:_globalize.default.translate("Save")},Emby.importModule("./modules/prompt/prompt.js").then(function(prompt){return prompt(options)}).then(function(value){_loading.default.show(),apiClient.getServerConfiguration().then(function(config){config.ServerName=value,apiClient.updateServerConfiguration(config).then(function(){view.querySelector(".serverNameHeader").innerHTML=_textencoding.default.htmlEncode(value),_loading.default.hide()})})})}Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0,require(["flexStyles","css!dashboard/dashboard.css"]);var SystemUpdateTaskKey="SystemUpdateTask";function restart(btn,apiClient){confirmRestartOrShutdown({apiClient:apiClient,type:"restart"}).then(function(){!function(apiClient){Emby.importModule("./modules/serverrestartdialog/serverrestartdialog.js").then(function(ServerRestartDialog){new ServerRestartDialog({apiClient:apiClient}).show()})}(apiClient)})}function shutdown(btn,apiClient){confirmRestartOrShutdown({apiClient:apiClient,type:"shutdown"}).then(function(){apiClient.shutdownServer()})}function getServerInfoRow(name,value){var html="";return html+""+''+_globalize.default.translate(name)+""+''+value+""+""}function showServerInfo(apiClient){apiClient.getSystemInfo().then(function(systemInfo){var options,html="",html=(html=(html=(html=(html=(html=(html=(html+='')+getServerInfoRow(_globalize.default.translate("Version"),systemInfo.Version))+function(name){var html="";return html+""+'"+'"+""}(_globalize.default.translate("Folders")))+getServerInfoRow(_globalize.default.translate("HeaderProgramData"),systemInfo.ProgramDataPath))+getServerInfoRow(_globalize.default.translate("Cache"),systemInfo.CachePath))+getServerInfoRow(_globalize.default.translate("Metadata"),systemInfo.InternalMetadataPath))+getServerInfoRow(_globalize.default.translate("Logs"),systemInfo.LogPath))+getServerInfoRow(_globalize.default.translate("HeaderTranscodingTemporaryFiles"),systemInfo.TranscodingTempPath);options={html:html+="
'+('

'+_globalize.default.translate(name)+"

")+"
'+"
",title:systemInfo.ServerName},Emby.importModule("./modules/common/dialogs/alert.js").then(function(alert){return alert(options)})})}function getActiveRecordingsListOptions(items){return{renderer:_cardbuilder.default,options:{shape:"auto",defaultShape:"backdrop",fields:["ParentName","Name","ChannelName","AirTime"],cardLayout:!1,centerText:!0,preferThumb:"auto",multiSelect:!1,showAirEndTime:!0},virtualScrollLayout:"vertical-grid"}}function sortSessions(a,b){return a.NowPlayingItem&&!b.NowPlayingItem?-1:b.NowPlayingItem&&!a.NowPlayingItem?1:0}function filterSessions(sessions,apiClient){for(var list=[],serverId=apiClient.serverId(),i=0,length=sessions.length;i'+versionText+"");systemInfo.SystemUpdateLevel&&"Release"!==systemInfo.SystemUpdateLevel?(versionText+=" "+_globalize.default.translate("Option"+systemInfo.SystemUpdateLevel).toLowerCase(),view.querySelector(".betaInfo").classList.remove("hide")):view.querySelector(".betaInfo").classList.add("hide"),view.querySelector(".appVersionNumber").innerHTML=versionText,systemInfo.SupportsHttps?view.querySelector(".ports").innerHTML=_globalize.default.translate("LabelRunningOnPorts",systemInfo.HttpServerPortNumber,systemInfo.HttpsPortNumber):view.querySelector(".ports").innerHTML=_globalize.default.translate("LabelRunningOnPort",systemInfo.HttpServerPortNumber),function(page,systemInfo){var localAccessHtml,localUrlElem=page.querySelector(".localUrl"),page=page.querySelector(".externalUrl");systemInfo.LocalAddress?(localAccessHtml=_globalize.default.translate("LabelLocalAccessUrl",''+systemInfo.LocalAddress+""),localUrlElem.innerHTML=localAccessHtml,localUrlElem.classList.remove("hide")):localUrlElem.classList.add("hide"),systemInfo.WanAddress?(localAccessHtml=systemInfo.WanAddress,localUrlElem=_globalize.default.translate("LabelRemoteAccessUrl",''+localAccessHtml+""),page.innerHTML=localUrlElem,page.classList.remove("hide")):page.classList.add("hide")}(view,systemInfo),systemInfo.CanSelfUpdate?(view.querySelector(".btnUpdateApplication").classList.remove("hide"),view.querySelector(".btnManualUpdateContainer").classList.add("hide")):(view.querySelector(".btnUpdateApplication").classList.add("hide"),view.querySelector(".btnManualUpdateContainer").classList.remove("hide")),"synology"===systemInfo.PackageName?view.querySelector(".btnManualUpdateContainer").innerHTML=_globalize.default.translate("SynologyUpdateInstructions"):view.querySelector(".btnManualUpdateContainer").innerHTML=''+_globalize.default.translate("PleaseUpdateManually")+"",systemInfo.IsInMaintenanceMode?view.querySelector(".maintenanceModeSection").classList.remove("hide"):view.querySelector(".maintenanceModeSection").classList.add("hide"),renderHasPendingRestart(view,apiClient,systemInfo.ServerName,systemInfo.HasPendingRestart,systemInfo.IsShuttingDown,systemInfo.HasUpdateAvailable)})}function pollScheduledTasks(view,apiClient){apiClient.getScheduledTasks().then(function(tasks){renderRunningTasks(view,tasks)})}function renderRunningTasks(view,tasks){var html="";(tasks=tasks.filter(function(t){return"Idle"!==t.State&&!t.IsHidden})).length?view.querySelector(".runningTasksContainer").classList.remove("hide"):view.querySelector(".runningTasksContainer").classList.add("hide"),tasks.filter(function(t){return t.Key===SystemUpdateTaskKey}).length?buttonEnabled(view.querySelector(".btnUpdateApplication"),!1):buttonEnabled(view.querySelector(".btnUpdateApplication"),!0);for(var i=0,length=tasks.length;i")+("
"+task.Name+"
")+'
',"Running"===task.State?html=(html=(html+='
')+'
')+'':"Cancelling"===task.State&&(html+=''+_globalize.default.translate("LabelStopping")+""),html=html+"
"+""}view.querySelector(".divRunningTasks").innerHTML=html}function setNowPlayingItems(items,instance){var itemsContainer=instance.nowPlayingSessionsItemsContainer;if(function(itemsContainer,items){for(var lookup={},i=0,length=items.length;i',""),this.onRestartRequired=function(e,apiClient){var view=this.view,serverId=this.serverId();apiClient.serverId()===serverId&&(serverId=view.querySelector(".serverNameHeader").innerHTML,renderHasPendingRestart(view,apiClient,serverId,!0))}.bind(this),this.onServerShuttingDown=function(e,apiClient){var view=this.view,serverId=this.serverId();apiClient.serverId()===serverId&&(serverId=view.querySelector(".serverNameHeader").innerHTML,renderHasPendingRestart(view,apiClient,serverId,!0,!0))}.bind(this),this.onServerRestarting=function(e,apiClient){var view=this.view,serverId=this.serverId();apiClient.serverId()===serverId&&(serverId=view.querySelector(".serverNameHeader").innerHTML,renderHasPendingRestart(view,apiClient,serverId,!0,!0))}.bind(this),this.onPackageInstalling=function(e,apiClient){var view=this.view,serverId=this.serverId();apiClient.serverId()===serverId&&(pollScheduledTasks(view,apiClient),reloadSystemInfo(view,apiClient))}.bind(this),this.onPackageInstallationCompleted=function(e,apiClient){var view=this.view,serverId=this.serverId();apiClient.serverId()===serverId&&(pollScheduledTasks(view,apiClient),reloadSystemInfo(view,apiClient))}.bind(this),this.onSessionsUpdate=function(e,apiClient,info){var serverId=this.serverId();apiClient.serverId()===serverId&&(this.paused?(this._activeSessions=null,this.nowPlayingSessionsItemsContainer.notifyRefreshNeeded()):setNowPlayingItems(filterSessions(info,apiClient),this))}.bind(this),this.onScheduledTasksUpdate=function(e,apiClient,info){var view=this.view,serverId=this.serverId();apiClient.serverId()===serverId&&renderRunningTasks(view,info)}.bind(this)}Object.assign(ServerDashboardView.prototype,_baseview.default.prototype),ServerDashboardView.prototype.onResume=function(options){_baseview.default.prototype.onResume.apply(this,arguments);var view,apiClient=this.getApiClient();apiClient&&(pollScheduledTasks(view=this.view,apiClient),function(apiClient){apiClient.startMessageListener("Sessions","0,1500,0,true,true"),apiClient.startMessageListener("ScheduledTasksInfo","0,1000")}(apiClient),_events.default.on(_api.default,"RestartRequired",this.onRestartRequired),_events.default.on(_api.default,"ServerShuttingDown",this.onServerShuttingDown),_events.default.on(_api.default,"ServerRestarting",this.onServerRestarting),_events.default.on(_api.default,"PackageInstalling",this.onPackageInstalling),_events.default.on(_api.default,"PackageInstallationCompleted",this.onPackageInstallationCompleted),_events.default.on(_api.default,"Sessions",this.onSessionsUpdate),_events.default.on(_api.default,"ScheduledTasksInfo",this.onScheduledTasksUpdate),function(){var apiClient=window.ApiClient;return apiClient?_connectionmanager.default.getRegistrationInfo("themes",apiClient,{viewOnly:!0}).then(function(result){return{IsMBSupporter:!0}},function(){return{IsMBSupporter:!1}}):Promise.reject()}().then(function(pluginSecurityInfo){!function(page,pluginSecurityInfo){page=page.querySelector(".supporterIconContainer"),pluginSecurityInfo.IsMBSupporter?(page.classList.remove("hide"),page.innerHTML=''):page.classList.add("hide")}(view,pluginSecurityInfo);var supporterPromotionElem=view.querySelector(".supporterPromotion"),pluginSecurityInfo=pluginSecurityInfo.IsMBSupporter;supporterPromotionElem?pluginSecurityInfo&&supporterPromotionElem.parentNode.removeChild(supporterPromotionElem):pluginSecurityInfo||(supporterPromotionElem='",view.querySelector(".dashboardContainer").insertAdjacentHTML("afterbegin",supporterPromotionElem))}),reloadSystemInfo(view,apiClient),this.activeRecordingsItemsContainer.resume(options),this.nowPlayingSessionsItemsContainer.resume(Object.assign(options,{refresh:!0})),apiClient)&&(this.userActivityLog?this.userActivityLog.resume(options):this.userActivityLog=new _activitylog.default({serverId:apiClient.serverId(),element:this.view.querySelector(".userActivityItems")}),this.serverActivityLog?this.serverActivityLog.resume(options):this.serverActivityLog=new _activitylog.default({serverId:apiClient.serverId(),element:this.view.querySelector(".serverActivityItems")}),function(view,apiClient){var swaggerUrl="https://swagger.emby.media";swaggerUrl=(swaggerUrl+="?api_key="+apiClient.accessToken())+"&url="+encodeURIComponent(apiClient.getUrl("openapi",{serverUrl:apiClient.serverAddress()})),(apiClient=view.querySelector(".swaggerLink")).setAttribute("href",swaggerUrl),_servicelocator.appHost.supports("externallinks")?apiClient.classList.remove("hide"):apiClient.classList.add("hide")}(this.view,apiClient),options.autoFocus)&&this.autoFocus()},ServerDashboardView.prototype.onPause=function(){_baseview.default.prototype.onPause.apply(this,arguments);var apiClient=this.getApiClient();apiClient&&!function(apiClient){apiClient.stopMessageListener("Sessions"),apiClient.stopMessageListener("ScheduledTasksInfo")}(apiClient),_events.default.off(_api.default,"RestartRequired",this.onRestartRequired),_events.default.off(_api.default,"ServerShuttingDown",this.onServerShuttingDown),_events.default.off(_api.default,"ServerRestarting",this.onServerRestarting),_events.default.off(_api.default,"PackageInstalling",this.onPackageInstalling),_events.default.off(_api.default,"PackageInstallationCompleted",this.onPackageInstallationCompleted),_events.default.off(_api.default,"Sessions",this.onSessionsUpdate),_events.default.off(_api.default,"ScheduledTasksInfo",this.onScheduledTasksUpdate),this.activeRecordingsItemsContainer.pause(),this.nowPlayingSessionsItemsContainer.pause(),this.userActivityLog&&this.userActivityLog.pause(),this.serverActivityLog&&this.serverActivityLog.pause()},ServerDashboardView.prototype.destroy=function(){_baseview.default.prototype.destroy.apply(this,arguments);var userActivityLog=this.userActivityLog,userActivityLog=(userActivityLog&&(userActivityLog.destroy(),this.userActivityLog=null),this.serverActivityLog);userActivityLog&&(userActivityLog.destroy(),this.serverActivityLog=null),this.activeRecordingsItemsContainer=null,this.nowPlayingSessionsItemsContainer=null,this._activeSessions=null,this.onRestartRequired=null,this.onServerShuttingDown=null,this.onServerRestarting=null,this.onPackageInstalling=null,this.onPackageInstallationCompleted=null,this.onSessionsUpdate=null,this.onScheduledTasksUpdate=null};_exports.default=ServerDashboardView});