From 66a9116524620e97d0879fafe8c78b8f0807738a Mon Sep 17 00:00:00 2001 From: mingchia-andy-liu Date: Sun, 29 Apr 2018 14:40:42 +0800 Subject: [PATCH] Fix delete warning message #1051 - Include the number of tabs that will be closed when container is deleted - Insert the warning message to the `span` tag that was originally there --- src/js/background/backgroundLogic.js | 4 +++- src/js/popup.js | 19 +++++++++++++++++-- src/popup.html | 2 +- 3 files changed, 21 insertions(+), 4 deletions(-) diff --git a/src/js/background/backgroundLogic.js b/src/js/background/backgroundLogic.js index 124631d..89f9159 100644 --- a/src/js/background/backgroundLogic.js +++ b/src/js/background/backgroundLogic.js @@ -227,7 +227,9 @@ const backgroundLogic = { }); identitiesOutput[cookieStoreId] = { hasHiddenTabs: !!containerState.hiddenTabs.length, - hasOpenTabs: !!openTabs.length + hasOpenTabs: !!openTabs.length, + numberOfHiddenTabs: containerState.hiddenTabs.length, + numberOfOpenTabs: openTabs.length }; return; }); diff --git a/src/js/popup.js b/src/js/popup.js index 18eec68..e0db6fe 100644 --- a/src/js/popup.js +++ b/src/js/popup.js @@ -177,7 +177,9 @@ const Logic = { name: "Default", cookieStoreId, icon: "default-tab", - color: "default-tab" + color: "default-tab", + numberOfHiddenTabs: 0, + numberOfOpenTabs: 0 }; // Handle old style rejection with null and also Promise.reject new style try { @@ -248,6 +250,8 @@ const Logic = { if (stateObject) { identity.hasOpenTabs = stateObject.hasOpenTabs; identity.hasHiddenTabs = stateObject.hasHiddenTabs; + identity.numberOfHiddenTabs = stateObject.numberOfHiddenTabs; + identity.numberOfOpenTabs = stateObject.numberOfOpenTabs; } return identity; }); @@ -1074,9 +1078,20 @@ Logic.registerPanel(P_CONTAINER_DELETE, { prepare() { const identity = Logic.currentIdentity(); - // Populating the panel: name and icon + // Populating the panel: name, icon, and warning message document.getElementById("delete-container-name").textContent = identity.name; + const totalNumberOfTabs = identity.numberOfHiddenTabs + identity.numberOfOpenTabs; + if (totalNumberOfTabs > 0) { + let warningMessage = `If you remove this container now, ${totalNumberOfTabs} `; + warningMessage += totalNumberOfTabs > 1 + ? "container tabs will be closed." + : "container tab will be closed."; + document.getElementById("delete-container-tab-warning").textContent = warningMessage; + } else { + document.getElementById("delete-container-tab-warning").textContent = ""; + } + const icon = document.getElementById("delete-container-icon"); icon.setAttribute("data-identity-icon", identity.icon); icon.setAttribute("data-identity-color", identity.color); diff --git a/src/popup.html b/src/popup.html index a28dd32..4cd8219 100644 --- a/src/popup.html +++ b/src/popup.html @@ -204,7 +204,7 @@

Remove This Container

-

If you remove this container now, container tabs will be closed. Are you sure you want to remove this Container?

+

Are you sure you want to remove this Container?