mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
librarymenu.js
This commit is contained in:
parent
f7c8d7b044
commit
ecccf00fcb
1 changed files with 29 additions and 30 deletions
|
@ -105,6 +105,7 @@ define(["dom", "layoutManager", "inputManager", "connectionManager", "events", "
|
||||||
|
|
||||||
function bindMenuEvents() {
|
function bindMenuEvents() {
|
||||||
mainDrawerButton = document.querySelector(".mainDrawerButton");
|
mainDrawerButton = document.querySelector(".mainDrawerButton");
|
||||||
|
|
||||||
if (mainDrawerButton) {
|
if (mainDrawerButton) {
|
||||||
mainDrawerButton.addEventListener("click", toggleMainDrawer);
|
mainDrawerButton.addEventListener("click", toggleMainDrawer);
|
||||||
}
|
}
|
||||||
|
@ -198,18 +199,20 @@ define(["dom", "layoutManager", "inputManager", "connectionManager", "events", "
|
||||||
html += '<h3 class="sidebarHeader">';
|
html += '<h3 class="sidebarHeader">';
|
||||||
html += globalize.translate("HeaderUser");
|
html += globalize.translate("HeaderUser");
|
||||||
html += "</h3>";
|
html += "</h3>";
|
||||||
|
|
||||||
if (appHost.supports("multiserver")) {
|
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" 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 += '<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>";
|
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");
|
var btnLogout = navDrawerScrollContainer.querySelector(".btnLogout");
|
||||||
|
|
||||||
if (btnLogout) {
|
if (btnLogout) {
|
||||||
btnLogout.addEventListener("click", onLogoutClick);
|
btnLogout.addEventListener("click", onLogoutClick);
|
||||||
}
|
}
|
||||||
|
@ -250,6 +253,7 @@ define(["dom", "layoutManager", "inputManager", "connectionManager", "events", "
|
||||||
pageUrls = pageUrls.split("|");
|
pageUrls = pageUrls.split("|");
|
||||||
selected = pageUrls.filter(isUrlInCurrentView).length > 0;
|
selected = pageUrls.filter(isUrlInCurrentView).length > 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (selected) {
|
if (selected) {
|
||||||
link.classList.add("navMenuOption-selected");
|
link.classList.add("navMenuOption-selected");
|
||||||
var title = "";
|
var title = "";
|
||||||
|
@ -377,6 +381,7 @@ define(["dom", "layoutManager", "inputManager", "connectionManager", "events", "
|
||||||
function addPluginPagesToMainMenu(links, pluginItems, section) {
|
function addPluginPagesToMainMenu(links, pluginItems, section) {
|
||||||
for (var i = 0, length = pluginItems.length; i < length; i++) {
|
for (var i = 0, length = pluginItems.length; i < length; i++) {
|
||||||
var pluginItem = pluginItems[i];
|
var pluginItem = pluginItems[i];
|
||||||
|
|
||||||
if (pluginItem.EnableInMainMenu && pluginItem.MenuSection === section) {
|
if (pluginItem.EnableInMainMenu && pluginItem.MenuSection === section) {
|
||||||
links.push({
|
links.push({
|
||||||
name: pluginItem.DisplayName,
|
name: pluginItem.DisplayName,
|
||||||
|
@ -416,15 +421,14 @@ define(["dom", "layoutManager", "inputManager", "connectionManager", "events", "
|
||||||
return getToolsMenuLinks(apiClient).then(function (items) {
|
return getToolsMenuLinks(apiClient).then(function (items) {
|
||||||
var item;
|
var item;
|
||||||
var menuHtml = "";
|
var menuHtml = "";
|
||||||
|
|
||||||
menuHtml += '<div class="drawerContent">';
|
menuHtml += '<div class="drawerContent">';
|
||||||
|
|
||||||
for (var i = 0; i < items.length; i++) {
|
for (var i = 0; i < items.length; i++) {
|
||||||
item = items[i];
|
item = items[i];
|
||||||
|
|
||||||
if (item.href) {
|
if (item.href) {
|
||||||
menuHtml += getToolsLinkHtml(item);
|
menuHtml += getToolsLinkHtml(item);
|
||||||
}
|
} else if (item.name) {
|
||||||
else if (item.name) {
|
|
||||||
menuHtml += '<h3 class="sidebarHeader">';
|
menuHtml += '<h3 class="sidebarHeader">';
|
||||||
menuHtml += item.name;
|
menuHtml += item.name;
|
||||||
menuHtml += "</h3>";
|
menuHtml += "</h3>";
|
||||||
|
@ -460,8 +464,8 @@ define(["dom", "layoutManager", "inputManager", "connectionManager", "events", "
|
||||||
|
|
||||||
for (var i = 0, length = items.length; i < length; i++) {
|
for (var i = 0, length = items.length; i < length; i++) {
|
||||||
var view = items[i];
|
var view = items[i];
|
||||||
|
|
||||||
list.push(view);
|
list.push(view);
|
||||||
|
|
||||||
if ("livetv" == view.CollectionType) {
|
if ("livetv" == view.CollectionType) {
|
||||||
view.ImageTags = {};
|
view.ImageTags = {};
|
||||||
view.icon = "live_tv";
|
view.icon = "live_tv";
|
||||||
|
@ -484,8 +488,7 @@ define(["dom", "layoutManager", "inputManager", "connectionManager", "events", "
|
||||||
if (elem) {
|
if (elem) {
|
||||||
if (show) {
|
if (show) {
|
||||||
elem.classList.remove("hide");
|
elem.classList.remove("hide");
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
elem.classList.add("hide");
|
elem.classList.add("hide");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -498,20 +501,18 @@ define(["dom", "layoutManager", "inputManager", "connectionManager", "events", "
|
||||||
showBySelector(".libraryMenuDownloads", false);
|
showBySelector(".libraryMenuDownloads", false);
|
||||||
showBySelector(".lnkSyncToOtherDevices", false);
|
showBySelector(".lnkSyncToOtherDevices", false);
|
||||||
return void showBySelector(".userMenuOptions", false);
|
return void showBySelector(".userMenuOptions", false);
|
||||||
}
|
} // FIXME: Potentially the same as above
|
||||||
|
|
||||||
|
|
||||||
// FIXME: Potentially the same as above
|
|
||||||
if (user.Policy.EnableContentDownloading) {
|
if (user.Policy.EnableContentDownloading) {
|
||||||
showBySelector(".lnkSyncToOtherDevices", true);
|
showBySelector(".lnkSyncToOtherDevices", true);
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
showBySelector(".lnkSyncToOtherDevices", false);
|
showBySelector(".lnkSyncToOtherDevices", false);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (user.Policy.EnableContentDownloading && appHost.supports("sync")) {
|
if (user.Policy.EnableContentDownloading && appHost.supports("sync")) {
|
||||||
showBySelector(".libraryMenuDownloads", true);
|
showBySelector(".libraryMenuDownloads", true);
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
showBySelector(".libraryMenuDownloads", false);
|
showBySelector(".libraryMenuDownloads", false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -529,9 +530,11 @@ define(["dom", "layoutManager", "inputManager", "connectionManager", "events", "
|
||||||
html += items.map(function (i) {
|
html += items.map(function (i) {
|
||||||
var icon = i.icon || imageHelper.getLibraryIcon(i.CollectionType);
|
var icon = i.icon || imageHelper.getLibraryIcon(i.CollectionType);
|
||||||
var itemId = i.Id;
|
var itemId = i.Id;
|
||||||
|
|
||||||
if (i.onclick) {
|
if (i.onclick) {
|
||||||
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>";
|
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("");
|
}).join("");
|
||||||
libraryMenuOptions.innerHTML = html;
|
libraryMenuOptions.innerHTML = html;
|
||||||
|
@ -592,23 +595,17 @@ define(["dom", "layoutManager", "inputManager", "connectionManager", "events", "
|
||||||
|
|
||||||
if (isChannelsPage && "channels" === itemId) {
|
if (isChannelsPage && "channels" === itemId) {
|
||||||
lnkMediaFolder.classList.add("navMenuOption-selected");
|
lnkMediaFolder.classList.add("navMenuOption-selected");
|
||||||
}
|
} else if (isLiveTvPage && "livetv" === itemId) {
|
||||||
else if (isLiveTvPage && "livetv" === itemId) {
|
|
||||||
lnkMediaFolder.classList.add("navMenuOption-selected");
|
lnkMediaFolder.classList.add("navMenuOption-selected");
|
||||||
}
|
} else if (isEditorPage && "editor" === itemId) {
|
||||||
else if (isEditorPage && "editor" === itemId) {
|
|
||||||
lnkMediaFolder.classList.add("navMenuOption-selected");
|
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");
|
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");
|
lnkMediaFolder.classList.add("navMenuOption-selected");
|
||||||
}
|
} else if (id && itemId == id) {
|
||||||
else if (id && itemId == id) {
|
|
||||||
lnkMediaFolder.classList.add("navMenuOption-selected");
|
lnkMediaFolder.classList.add("navMenuOption-selected");
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
lnkMediaFolder.classList.remove("navMenuOption-selected");
|
lnkMediaFolder.classList.remove("navMenuOption-selected");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -667,8 +664,7 @@ define(["dom", "layoutManager", "inputManager", "connectionManager", "events", "
|
||||||
|
|
||||||
if (title) {
|
if (title) {
|
||||||
LibraryMenu.setTitle(title);
|
LibraryMenu.setTitle(title);
|
||||||
}
|
} else if (page.classList.contains("standalonePage")) {
|
||||||
else if (page.classList.contains("standalonePage")) {
|
|
||||||
LibraryMenu.setDefaultTitle();
|
LibraryMenu.setDefaultTitle();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -697,6 +693,7 @@ define(["dom", "layoutManager", "inputManager", "connectionManager", "events", "
|
||||||
function refreshLibraryDrawer(user) {
|
function refreshLibraryDrawer(user) {
|
||||||
loadNavDrawer();
|
loadNavDrawer();
|
||||||
currentDrawerType = "library";
|
currentDrawerType = "library";
|
||||||
|
|
||||||
if (user) {
|
if (user) {
|
||||||
Promise.resolve(user);
|
Promise.resolve(user);
|
||||||
} else {
|
} else {
|
||||||
|
@ -729,9 +726,11 @@ define(["dom", "layoutManager", "inputManager", "connectionManager", "events", "
|
||||||
return new Promise(function (resolve, reject) {
|
return new Promise(function (resolve, reject) {
|
||||||
require(["navdrawer"], function (navdrawer) {
|
require(["navdrawer"], function (navdrawer) {
|
||||||
navDrawerInstance = new navdrawer(getNavDrawerOptions());
|
navDrawerInstance = new navdrawer(getNavDrawerOptions());
|
||||||
|
|
||||||
if (!layoutManager.tv) {
|
if (!layoutManager.tv) {
|
||||||
navDrawerElement.classList.remove("hide");
|
navDrawerElement.classList.remove("hide");
|
||||||
}
|
}
|
||||||
|
|
||||||
resolve(navDrawerInstance);
|
resolve(navDrawerInstance);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue