1
0
Fork 0
mirror of https://github.com/jellyfin/jellyfin-web synced 2025-03-30 19:56:21 +00:00

librarymenu.js

This commit is contained in:
grafixeyehero 2019-10-08 01:01:20 +03:00
parent f7c8d7b044
commit ecccf00fcb

View file

@ -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 += '<h3 class="sidebarHeader">';
html += globalize.translate("HeaderUser");
html += "</h3>";
if (appHost.supports("multiserver")) {
html += '<a is="emby-linkbutton" class="navMenuOption lnkMediaFolder" data-itemid="selectserver" href="selectserver.html?showuser=1"><i class="md-icon navMenuOptionIcon">wifi</i><span class="navMenuOptionText">' + globalize.translate("ButtonSelectServer") + "</span></a>";
}
html += '<a is="emby-linkbutton" class="navMenuOption lnkMediaFolder btnLogout" data-itemid="logout" href="#"><i class="md-icon navMenuOptionIcon">exit_to_app</i><span class="navMenuOptionText">' + globalize.translate("ButtonSignOut") + "</span></a>";
html += "</div>";
}
} // 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 += '<div class="drawerContent">';
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 += '<h3 class="sidebarHeader">';
menuHtml += item.name;
menuHtml += "</h3>";
@ -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 '<a is="emby-linkbutton" data-itemid="' + itemId + '" class="lnkMediaFolder navMenuOption" href="' + getItemHref(i, i.CollectionType) + '"><i class="md-icon navMenuOptionIcon">' + icon + '</i><span class="sectionName navMenuOptionText">' + i.Name + "</span></a>";
}).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);
});
});