From 84c5df8ea4152fe6d81e177b369646ee78cfc8fa Mon Sep 17 00:00:00 2001 From: Bill Thornton Date: Tue, 26 Jan 2021 13:07:04 -0500 Subject: [PATCH] Merge pull request #2327 from MrChip53/library-menu-edit Edit admin dashboard menu for plugins (cherry picked from commit 0ff9615b47ec2c05b4090d8a80586eb29b510e91) Signed-off-by: Joshua M. Boniface --- src/scripts/libraryMenu.js | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/src/scripts/libraryMenu.js b/src/scripts/libraryMenu.js index e23b309f42..91b0775a8c 100644 --- a/src/scripts/libraryMenu.js +++ b/src/scripts/libraryMenu.js @@ -464,6 +464,7 @@ import Headroom from 'headroom.js'; pageIds: ['liveTvSettingsPage'], icon: 'dvr' }); + addPluginPagesToMainMenu(links, pluginItems, 'livetv'); links.push({ divider: true, name: globalize.translate('TabAdvanced') @@ -504,14 +505,27 @@ import Headroom from 'headroom.js'; pageIds: ['scheduledTasksPage', 'scheduledTaskPage'], icon: 'schedule' }); - addPluginPagesToMainMenu(links, pluginItems); + if (hasUnsortedPlugins(pluginItems)) { + links.push({ + divider: true, + name: globalize.translate('TabPlugins') + }); + addPluginPagesToMainMenu(links, pluginItems); + } return links; } - function addPluginPagesToMainMenu(links, pluginItems, section) { - for (let i = 0, length = pluginItems.length; i < length; i++) { - const pluginItem = pluginItems[i]; + function hasUnsortedPlugins(pluginItems) { + for (const pluginItem of pluginItems) { + if (pluginItem.EnableInMainMenu && pluginItem.MenuSection === undefined) { + return true; + } + } + return false; + } + function addPluginPagesToMainMenu(links, pluginItems, section) { + for (const pluginItem of pluginItems) { if (pluginItem.EnableInMainMenu && pluginItem.MenuSection === section) { links.push({ name: pluginItem.DisplayName,