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
This commit is contained in:
mingchia-andy-liu 2018-04-29 14:40:42 +08:00 committed by Jonathan Kingston
parent cb7ac6ca5e
commit 66a9116524
3 changed files with 21 additions and 4 deletions

View file

@ -227,7 +227,9 @@ const backgroundLogic = {
}); });
identitiesOutput[cookieStoreId] = { identitiesOutput[cookieStoreId] = {
hasHiddenTabs: !!containerState.hiddenTabs.length, hasHiddenTabs: !!containerState.hiddenTabs.length,
hasOpenTabs: !!openTabs.length hasOpenTabs: !!openTabs.length,
numberOfHiddenTabs: containerState.hiddenTabs.length,
numberOfOpenTabs: openTabs.length
}; };
return; return;
}); });

View file

@ -177,7 +177,9 @@ const Logic = {
name: "Default", name: "Default",
cookieStoreId, cookieStoreId,
icon: "default-tab", 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 // Handle old style rejection with null and also Promise.reject new style
try { try {
@ -248,6 +250,8 @@ const Logic = {
if (stateObject) { if (stateObject) {
identity.hasOpenTabs = stateObject.hasOpenTabs; identity.hasOpenTabs = stateObject.hasOpenTabs;
identity.hasHiddenTabs = stateObject.hasHiddenTabs; identity.hasHiddenTabs = stateObject.hasHiddenTabs;
identity.numberOfHiddenTabs = stateObject.numberOfHiddenTabs;
identity.numberOfOpenTabs = stateObject.numberOfOpenTabs;
} }
return identity; return identity;
}); });
@ -1074,9 +1078,20 @@ Logic.registerPanel(P_CONTAINER_DELETE, {
prepare() { prepare() {
const identity = Logic.currentIdentity(); 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; 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"); const icon = document.getElementById("delete-container-icon");
icon.setAttribute("data-identity-icon", identity.icon); icon.setAttribute("data-identity-icon", identity.icon);
icon.setAttribute("data-identity-color", identity.color); icon.setAttribute("data-identity-color", identity.color);

View file

@ -204,7 +204,7 @@
</div> </div>
<div class="panel-content delete-container-confirm"> <div class="panel-content delete-container-confirm">
<h4 class="delete-container-confirm-title">Remove This Container</h4> <h4 class="delete-container-confirm-title">Remove This Container</h4>
<p>If you remove this container now, <span id="delete-container-tab-count"></span> container tabs will be closed. Are you sure you want to remove this Container?</p> <p><span id="delete-container-tab-warning"></span> Are you sure you want to remove this Container?</p>
</div> </div>
<div class="panel-footer"> <div class="panel-footer">
<a href="#" class="button expanded secondary footer-button cancel-button" id="delete-container-cancel-link">Cancel</a> <a href="#" class="button expanded secondary footer-button cancel-button" id="delete-container-cancel-link">Cancel</a>