diff --git a/src/controllers/selectserver.js b/src/controllers/selectserver.js index 3fac07cec1..e36ef832bd 100644 --- a/src/controllers/selectserver.js +++ b/src/controllers/selectserver.js @@ -11,56 +11,93 @@ define(["loading", "appRouter", "layoutManager", "appSettings", "apphost", "focu id: server.Id, server: server } - }), - html = items.map(function(item) { + }); + var html = items.map(function(item) { var cardImageContainer; - cardImageContainer = item.showIcon ? '' + item.icon + "" : '
'; + if (item.showIcon) { + cardImageContainer = '' + item.icon + ""; + } else { + cardImageContainer = ''; + } var cardBoxCssClass = "cardBox"; - layoutManager.tv && (cardBoxCssClass += " cardBox-focustransform"); + if (layoutManager.tv) { + cardBoxCssClass += " cardBox-focustransform"; + } var innerOpening = '" + globalize.translate("MessageNoServersAvailableToConnect") + "
"), itemsContainer.innerHTML = html, loading.hide() + var cardContainer = ''; + cardContainer += ''; + return cardContainer; + }).join(""); + var itemsContainer = view.querySelector(".servers"); + if (!items.length) { + html = '' + globalize.translate("MessageNoServersAvailableToConnect") + "
"; + } + itemsContainer.innerHTML = html; + loading.hide(); } function updatePageStyle(view, params) { - "1" == params.showuser ? (view.classList.add("libraryPage"), view.classList.remove("standalonePage"), view.classList.add("noSecondaryNavPage")) : (view.classList.add("standalonePage"), view.classList.remove("libraryPage"), view.classList.remove("noSecondaryNavPage")) + if (params.showuser == "1") { + view.classList.add("libraryPage"); + view.classList.remove("standalonePage"); + view.classList.add("noSecondaryNavPage"); + } else { + view.classList.add("standalonePage"); + view.classList.remove("libraryPage"); + view.classList.remove("noSecondaryNavPage"); + } } function showGeneralError() { - loading.hide(), alertText(globalize.translate("DefaultErrorMessage")) + loading.hide(); + alertText(globalize.translate("DefaultErrorMessage")); } function alertText(text) { alertTextWithOptions({ text: text - }) + }); } function alertTextWithOptions(options) { require(["alert"], function(alert) { - alert(options) - }) + alert(options); + }); } function showServerConnectionFailure() { - alertText(globalize.translate("MessageUnableToConnectToServer"), globalize.translate("HeaderConnectionFailure")) + alertText(globalize.translate("MessageUnableToConnectToServer"), globalize.translate("HeaderConnectionFailure")); } return function(view, params) { function connectToServer(server) { - loading.show(), connectionManager.connectToServer(server, { + loading.show(); + connectionManager.connectToServer(server, { enableAutoLogin: appSettings.enableAutoLogin() }).then(function(result) { loading.hide(); var apiClient = result.ApiClient; switch (result.State) { case "SignedIn": - Dashboard.onServerChanged(apiClient.getCurrentUserId(), apiClient.accessToken(), apiClient), Dashboard.navigate("home.html"); + Dashboard.onServerChanged(apiClient.getCurrentUserId(), apiClient.accessToken(), apiClient); + Dashboard.navigate("home.html"); break; case "ServerSignIn": - Dashboard.onServerChanged(null, null, apiClient), Dashboard.navigate("login.html?serverid=" + result.Servers[0].Id); + Dashboard.onServerChanged(null, null, apiClient); + Dashboard.navigate("login.html?serverid=" + result.Servers[0].Id); break; case "ServerUpdateNeeded": alertTextWithOptions({ @@ -69,17 +106,17 @@ define(["loading", "appRouter", "layoutManager", "appSettings", "apphost", "focu }); break; default: - showServerConnectionFailure() + showServerConnectionFailure(); } }) } function deleteServer(server) { - loading.show(), connectionManager.deleteServer(server.Id).then(function() { - loading.hide(), loadServers() - }, function() { - loading.hide(), loadServers() - }) + loading.show(); + connectionManager.deleteServer(server.Id).then(function() { + loading.hide(); + loadServers(); + }); } function onServerClick(server) { @@ -87,7 +124,8 @@ define(["loading", "appRouter", "layoutManager", "appSettings", "apphost", "focu menuItems.push({ name: globalize.translate("Connect"), id: "connect" - }), menuItems.push({ + }); + menuItems.push({ name: globalize.translate("Delete"), id: "delete" }); @@ -106,31 +144,37 @@ define(["loading", "appRouter", "layoutManager", "appSettings", "apphost", "focu } function onServersRetrieved(result) { - servers = result, renderSelectServerItems(view, result), layoutManager.tv && focusManager.autoFocus(view) + servers = result; + renderSelectServerItems(view, result); + if (layoutManager.tv) { + focusManager.autoFocus(view); + } } function loadServers() { - loading.show(), connectionManager.getAvailableServers().then(onServersRetrieved, function(result) { - onServersRetrieved([]) - }) + loading.show(); + connectionManager.getAvailableServers().then(onServersRetrieved); } + var servers; - layoutManager.desktop; updatePageStyle(view, params); + view.addEventListener("viewshow", function(e) { var isRestored = e.detail.isRestored; appRouter.setTitle(null); if (!isRestored) loadServers(); - }), view.querySelector(".servers").addEventListener("click", function(e) { + }); + view.querySelector(".servers").addEventListener("click", function(e) { var card = dom.parentWithClass(e.target, "card"); if (card) { var url = card.getAttribute("data-url"); - if (url) appRouter.show(url); - else { + if (url) { + appRouter.show(url); + } else { var id = card.getAttribute("data-id"); onServerClick(servers.filter(function(s) { - return s.Id === id - })[0]) + return s.Id === id; + })[0]); } } })