From f00cc25f0309855747bc6fddd866e779d4c44492 Mon Sep 17 00:00:00 2001 From: Chris <57076668+MrChip53@users.noreply.github.com> Date: Mon, 11 Jan 2021 21:20:09 -0600 Subject: [PATCH 1/4] Add plugin divider and allow plugins to be listed under Live TV --- src/scripts/libraryMenu.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/scripts/libraryMenu.js b/src/scripts/libraryMenu.js index e23b309f42..559177198b 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,6 +505,10 @@ import Headroom from 'headroom.js'; pageIds: ['scheduledTasksPage', 'scheduledTaskPage'], icon: 'schedule' }); + links.push({ + divider: true, + name: globalize.translate('TabPlugins') + }); addPluginPagesToMainMenu(links, pluginItems); return links; } From 52df57e83331b6ad0dca32a16dc143859ac65c71 Mon Sep 17 00:00:00 2001 From: Chris <57076668+MrChip53@users.noreply.github.com> Date: Mon, 11 Jan 2021 21:34:31 -0600 Subject: [PATCH 2/4] Add check for non-zero unsorted plugins --- src/scripts/libraryMenu.js | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/src/scripts/libraryMenu.js b/src/scripts/libraryMenu.js index 559177198b..f16218a00d 100644 --- a/src/scripts/libraryMenu.js +++ b/src/scripts/libraryMenu.js @@ -505,14 +505,28 @@ import Headroom from 'headroom.js'; pageIds: ['scheduledTasksPage', 'scheduledTaskPage'], icon: 'schedule' }); - links.push({ - divider: true, - name: globalize.translate('TabPlugins') - }); - addPluginPagesToMainMenu(links, pluginItems); + if (hasUnsortedPlugins(pluginItems)) { + links.push({ + divider: true, + name: globalize.translate('TabPlugins') + }); + addPluginPagesToMainMenu(links, pluginItems); + } + return links; } + function hasUnsortedPlugins(pluginItems) { + for (let i = 0, length = pluginItems.length; i < length; i++) { + const pluginItem = pluginItems[i]; + + if (pluginItem.EnableInMainMenu && pluginItem.MenuSection === undefined) { + return true; + } + } + return false; + } + function addPluginPagesToMainMenu(links, pluginItems, section) { for (let i = 0, length = pluginItems.length; i < length; i++) { const pluginItem = pluginItems[i]; From 1b4bc83d2414ea1dd99d76af0ab0963e04f859e5 Mon Sep 17 00:00:00 2001 From: Chris <57076668+MrChip53@users.noreply.github.com> Date: Mon, 11 Jan 2021 21:42:48 -0600 Subject: [PATCH 3/4] Update libraryMenu.js Remove trailing space --- src/scripts/libraryMenu.js | 1 - 1 file changed, 1 deletion(-) diff --git a/src/scripts/libraryMenu.js b/src/scripts/libraryMenu.js index f16218a00d..79b310014d 100644 --- a/src/scripts/libraryMenu.js +++ b/src/scripts/libraryMenu.js @@ -512,7 +512,6 @@ import Headroom from 'headroom.js'; }); addPluginPagesToMainMenu(links, pluginItems); } - return links; } From 774aa45ae7874edf0c5c6360a13e2a3c77790105 Mon Sep 17 00:00:00 2001 From: Chris <57076668+MrChip53@users.noreply.github.com> Date: Sun, 24 Jan 2021 16:26:14 -0600 Subject: [PATCH 4/4] Optimize for loops --- src/scripts/libraryMenu.js | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/src/scripts/libraryMenu.js b/src/scripts/libraryMenu.js index 79b310014d..91b0775a8c 100644 --- a/src/scripts/libraryMenu.js +++ b/src/scripts/libraryMenu.js @@ -516,9 +516,7 @@ import Headroom from 'headroom.js'; } function hasUnsortedPlugins(pluginItems) { - for (let i = 0, length = pluginItems.length; i < length; i++) { - const pluginItem = pluginItems[i]; - + for (const pluginItem of pluginItems) { if (pluginItem.EnableInMainMenu && pluginItem.MenuSection === undefined) { return true; } @@ -527,9 +525,7 @@ import Headroom from 'headroom.js'; } function addPluginPagesToMainMenu(links, pluginItems, section) { - for (let i = 0, length = pluginItems.length; i < length; i++) { - const pluginItem = pluginItems[i]; - + for (const pluginItem of pluginItems) { if (pluginItem.EnableInMainMenu && pluginItem.MenuSection === section) { links.push({ name: pluginItem.DisplayName,