diff --git a/src/scripts/librarymenu.js b/src/scripts/librarymenu.js
index 9c303d3bde..6b64041966 100644
--- a/src/scripts/librarymenu.js
+++ b/src/scripts/librarymenu.js
@@ -105,6 +105,7 @@ define(["dom", "layoutManager", "inputManager", "connectionManager", "events", "
function bindMenuEvents() {
mainDrawerButton = document.querySelector(".mainDrawerButton");
+
if (mainDrawerButton) {
mainDrawerButton.addEventListener("click", toggleMainDrawer);
}
@@ -198,18 +199,20 @@ define(["dom", "layoutManager", "inputManager", "connectionManager", "events", "
html += '
";
+
if (appHost.supports("multiserver")) {
html += '";
}
+
html += '";
html += "";
- }
+ } // add buttons to navigation drawer
- // add buttons to navigation drawer
- navDrawerScrollContainer.innerHTML = html;
- // bind logout button click to method
+ navDrawerScrollContainer.innerHTML = html; // bind logout button click to method
+
var btnLogout = navDrawerScrollContainer.querySelector(".btnLogout");
+
if (btnLogout) {
btnLogout.addEventListener("click", onLogoutClick);
}
@@ -250,6 +253,7 @@ define(["dom", "layoutManager", "inputManager", "connectionManager", "events", "
pageUrls = pageUrls.split("|");
selected = pageUrls.filter(isUrlInCurrentView).length > 0;
}
+
if (selected) {
link.classList.add("navMenuOption-selected");
var title = "";
@@ -377,6 +381,7 @@ define(["dom", "layoutManager", "inputManager", "connectionManager", "events", "
function addPluginPagesToMainMenu(links, pluginItems, section) {
for (var i = 0, length = pluginItems.length; i < length; i++) {
var pluginItem = pluginItems[i];
+
if (pluginItem.EnableInMainMenu && pluginItem.MenuSection === section) {
links.push({
name: pluginItem.DisplayName,
@@ -416,15 +421,14 @@ define(["dom", "layoutManager", "inputManager", "connectionManager", "events", "
return getToolsMenuLinks(apiClient).then(function (items) {
var item;
var menuHtml = "";
-
menuHtml += '';
+
for (var i = 0; i < items.length; i++) {
item = items[i];
if (item.href) {
menuHtml += getToolsLinkHtml(item);
- }
- else if (item.name) {
+ } else if (item.name) {
menuHtml += '";
@@ -460,8 +464,8 @@ define(["dom", "layoutManager", "inputManager", "connectionManager", "events", "
for (var i = 0, length = items.length; i < length; i++) {
var view = items[i];
-
list.push(view);
+
if ("livetv" == view.CollectionType) {
view.ImageTags = {};
view.icon = "live_tv";
@@ -484,8 +488,7 @@ define(["dom", "layoutManager", "inputManager", "connectionManager", "events", "
if (elem) {
if (show) {
elem.classList.remove("hide");
- }
- else {
+ } else {
elem.classList.add("hide");
}
}
@@ -498,20 +501,18 @@ define(["dom", "layoutManager", "inputManager", "connectionManager", "events", "
showBySelector(".libraryMenuDownloads", false);
showBySelector(".lnkSyncToOtherDevices", false);
return void showBySelector(".userMenuOptions", false);
- }
+ } // FIXME: Potentially the same as above
+
- // FIXME: Potentially the same as above
if (user.Policy.EnableContentDownloading) {
showBySelector(".lnkSyncToOtherDevices", true);
- }
- else {
+ } else {
showBySelector(".lnkSyncToOtherDevices", false);
}
if (user.Policy.EnableContentDownloading && appHost.supports("sync")) {
showBySelector(".libraryMenuDownloads", true);
- }
- else {
+ } else {
showBySelector(".libraryMenuDownloads", false);
}
@@ -529,9 +530,11 @@ define(["dom", "layoutManager", "inputManager", "connectionManager", "events", "
html += items.map(function (i) {
var icon = i.icon || imageHelper.getLibraryIcon(i.CollectionType);
var itemId = i.Id;
+
if (i.onclick) {
i.onclick;
}
+
return '";
}).join("");
libraryMenuOptions.innerHTML = html;
@@ -592,23 +595,17 @@ define(["dom", "layoutManager", "inputManager", "connectionManager", "events", "
if (isChannelsPage && "channels" === itemId) {
lnkMediaFolder.classList.add("navMenuOption-selected");
- }
- else if (isLiveTvPage && "livetv" === itemId) {
+ } else if (isLiveTvPage && "livetv" === itemId) {
lnkMediaFolder.classList.add("navMenuOption-selected");
- }
- else if (isEditorPage && "editor" === itemId) {
+ } else if (isEditorPage && "editor" === itemId) {
lnkMediaFolder.classList.add("navMenuOption-selected");
- }
- else if (isMySyncPage && "manageoffline" === itemId && -1 != window.location.href.toString().indexOf("mode=download")) {
+ } else if (isMySyncPage && "manageoffline" === itemId && -1 != window.location.href.toString().indexOf("mode=download")) {
lnkMediaFolder.classList.add("navMenuOption-selected");
- }
- else if (isMySyncPage && "syncotherdevices" === itemId && -1 == window.location.href.toString().indexOf("mode=download")) {
+ } else if (isMySyncPage && "syncotherdevices" === itemId && -1 == window.location.href.toString().indexOf("mode=download")) {
lnkMediaFolder.classList.add("navMenuOption-selected");
- }
- else if (id && itemId == id) {
+ } else if (id && itemId == id) {
lnkMediaFolder.classList.add("navMenuOption-selected");
- }
- else {
+ } else {
lnkMediaFolder.classList.remove("navMenuOption-selected");
}
}
@@ -667,8 +664,7 @@ define(["dom", "layoutManager", "inputManager", "connectionManager", "events", "
if (title) {
LibraryMenu.setTitle(title);
- }
- else if (page.classList.contains("standalonePage")) {
+ } else if (page.classList.contains("standalonePage")) {
LibraryMenu.setDefaultTitle();
}
}
@@ -697,6 +693,7 @@ define(["dom", "layoutManager", "inputManager", "connectionManager", "events", "
function refreshLibraryDrawer(user) {
loadNavDrawer();
currentDrawerType = "library";
+
if (user) {
Promise.resolve(user);
} else {
@@ -729,9 +726,11 @@ define(["dom", "layoutManager", "inputManager", "connectionManager", "events", "
return new Promise(function (resolve, reject) {
require(["navdrawer"], function (navdrawer) {
navDrawerInstance = new navdrawer(getNavDrawerOptions());
+
if (!layoutManager.tv) {
navDrawerElement.classList.remove("hide");
}
+
resolve(navDrawerInstance);
});
});