From 8bdb7b9e943b63bde2d29295d71c966e58ce80f9 Mon Sep 17 00:00:00 2001 From: Tamius Han Date: Sun, 25 Nov 2018 23:53:30 +0100 Subject: [PATCH] Extension settings and site settings prepared for adding buttons programmatically --- res/popup/js/popup.js | 28 +++------ res/popup/js/popupvars.js | 43 ++++++++++++++ res/popup/popup.html | 116 ++++++++++++++------------------------ 3 files changed, 93 insertions(+), 94 deletions(-) diff --git a/res/popup/js/popup.js b/res/popup/js/popup.js index 9479223..ada12d6 100644 --- a/res/popup/js/popup.js +++ b/res/popup/js/popup.js @@ -185,26 +185,6 @@ function configurePopupTabs(site) { showMenu(selectedMenu); } return; - // todo: this can potentially be removed - - // Determine which tabs can we touch. - // If extension is disabled, we can't touch 'site settings' and 'video settings' - // If extension is enabled, but site is disabled, we can't touch 'video settings' - var extensionEnabled = settings.extensionEnabled(); - var extensionEnabledForSite = settings.extensionEnabledForSite(site); - - - if (extensionEnabledForSite || extensionEnabled) { - tablist['videoSettings'].enable(); - } else { - tablist['videoSettings'].disable(); - } - - // if popup isn't being opened for the first time, there's no reason to switch - // we're already in this tab - if (!selectedMenu) { - showMenu('videoSettings'); - } } @@ -298,6 +278,14 @@ function configureGlobalTab() { } function configureSitesTab(site) { + const popupButtons = settings.getActionsForSite(site).filter(action => action.popup === true); + + const stretchButtons = popupButtons.filter(action => action.cmd.length === 1 && action.cmd[0].action === 'set-stretch'); + const alignButtons = popupButtons.filter(action => action.cmd.length === 1 && action.cmd[0].action === 'set-alignment'); + + processButtonsForPopupCategory(VideoPanel.elements.stretchSettings, stretchButtons); + processButtonsForPopupCategory(VideoPanel.elements.alignmentSettings, alignButtons); + return; // todo: revisit if (Debug.debug) { console.log("[popup.js] Configuring sites tab (SitePanel).", diff --git a/res/popup/js/popupvars.js b/res/popup/js/popupvars.js index 31ae789..3df444d 100644 --- a/res/popup/js/popupvars.js +++ b/res/popup/js/popupvars.js @@ -58,6 +58,49 @@ SitePanel.stretch['2'] = document.getElementById("_stretch_site_hybrid") SitePanel.stretch['3'] = document.getElementById("_stretch_site_conditional") //#endregion +//#region GlobalPanel +var GlobalPanel = {}; +GlobalPanel.elements = {}; +GlobalPanel.elements.extensionSettings = { + container: BaseElement.fromExisting(document.getElementById('_menu_settings_global_status')), + buttonContainer: BaseElement.fromExisting(document.getElementById('_menu_settings_global_status_buttons')) +} +GlobalPanel.elements.autoarSettings = { + container: BaseElement.fromExisting(document.getElementById('_menu_settings_global_autoar')), + buttonContainer: BaseElement.fromExisting(document.getElementById('_menu_settings_global_autoar_buttons')) +} +GlobalPanel.elements.stretchSettings = { + container: BaseElement.fromExisting(document.getElementById('_menu_settings_global_crop')), + buttonContainer: BaseElement.fromExisting(document.getElementById('_menu_settings_global_stretch_buttons')) +} +GlobalPanel.elements.alignmentSettings = { + container: BaseElement.fromExisting(document.getElementById('_menu_settings_global_alignment')), + buttonContainer: BaseElement.fromExisting(document.getElementById('_menu_settings_global_alignment_buttons')) +} +//#endregion + +//#region SitePanel +var SitePanel = {}; +GlobalPanel.elements = {}; +GlobalPanel.elements.extensionSettings = { + container: BaseElement.fromExisting(document.getElementById('_menu_settings_site_status')), + buttonContainer: BaseElement.fromExisting(document.getElementById('_menu_settings_site_status_buttons')) +} +GlobalPanel.elements.autoarSettings = { + container: BaseElement.fromExisting(document.getElementById('_menu_settings_site_autoar')), + buttonContainer: BaseElement.fromExisting(document.getElementById('_menu_settings_site_autoar_buttons')) +} +GlobalPanel.elements.stretchSettings = { + container: BaseElement.fromExisting(document.getElementById('_menu_settings_site_crop')), + buttonContainer: BaseElement.fromExisting(document.getElementById('_menu_settings_site_crop_buttons')) +}; +GlobalPanel.elements.alignmentSettings = { + container: BaseElement.fromExisting(document.getElementById('_menu_settings_site_alignment')), + buttonContainer: BaseElement.fromExisting(document.getElementById('_menu_settings_site_alignment_buttons')) +}; +//#endregion + + //#region VideoPanel var VideoPanel = {}; diff --git a/res/popup/popup.html b/res/popup/popup.html index a4b95a7..8fa7cc1 100644 --- a/res/popup/popup.html +++ b/res/popup/popup.html @@ -27,52 +27,31 @@