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] = {
hasHiddenTabs: !!containerState.hiddenTabs.length,
hasOpenTabs: !!openTabs.length
hasOpenTabs: !!openTabs.length,
numberOfHiddenTabs: containerState.hiddenTabs.length,
numberOfOpenTabs: openTabs.length
};
return;
});

View file

@ -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);

View file

@ -204,7 +204,7 @@
</div>
<div class="panel-content delete-container-confirm">
<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 class="panel-footer">
<a href="#" class="button expanded secondary footer-button cancel-button" id="delete-container-cancel-link">Cancel</a>