diff --git a/index.html b/index.html
index 39e59bf3..27d27e9e 100644
--- a/index.html
+++ b/index.html
@@ -3287,7 +3287,7 @@
-
+
diff --git a/modules/ui/burgs-overview.js b/modules/ui/burgs-overview.js
index 11006a03..14e2f959 100644
--- a/modules/ui/burgs-overview.js
+++ b/modules/ui/burgs-overview.js
@@ -7,8 +7,8 @@ function overviewBurgs() {
const body = document.getElementById("burgsBody");
updateFilter();
+ updateLockAllIcon();
burgsOverviewAddLines();
- setLockIcon();
$("#burgsOverview").dialog();
if (modules.overviewBurgs) return;
@@ -34,8 +34,7 @@ function overviewBurgs() {
document.getElementById("burgsListToLoad").addEventListener("change", function () {
uploadFile(this, importBurgNames);
});
- document.getElementById("burgsLockAll").addEventListener("click", setLockBurgs);
- document.getElementById("burgsLockAll").addEventListener("click", setLockIcon);
+ document.getElementById("burgsLockAll").addEventListener("click", toggleLockAll);
document.getElementById("burgsRemoveAll").addEventListener("click", triggerAllBurgsRemove);
document.getElementById("burgsInvertLock").addEventListener("click", invertLock);
@@ -565,41 +564,21 @@ function overviewBurgs() {
pack.burgs = pack.burgs.map(burg => ({...burg, lock: !burg.lock}));
burgsOverviewAddLines();
}
-
- function lockAllBurgs() {
- pack.burgs.forEach(burg => {
- burg.lock = true;
- });
+
+ function toggleLockAll() {
+ const activeBurgs = pack.burgs.filter(b => b.i && !b.removed);
+ const allLocked = activeBurgs.every(burg => burg.lock);
+
+ pack.burgs.forEach(burg => {
+ burg.lock = !allLocked;
+ });
+
burgsOverviewAddLines();
+ document.getElementById("burgsLockAll").className = allLocked ? "icon-lock" : "icon-lock-open";
}
-
- function unlockAllBurgs() {
- pack.burgs.forEach(burg => {
- burg.lock = false;
- });
- burgsOverviewAddLines();
- }
-
- function setLockBurgs() {
+
+ function updateLockAllIcon() {
const allLocked = pack.burgs.every(({lock, i, removed}) => lock || !i || removed);
-
- if (allLocked) {
- unlockAllBurgs();
- } else {
- lockAllBurgs();
- }
- setLockIcon();
- }
-
- function setLockIcon() {
- const allLocked = pack.burgs.every(({lock, i, removed}) => lock || !i || removed);
-
- if (allLocked) {
- burgsLockAll.classList.remove("icon-lock");
- burgsLockAll.classList.add("icon-lock-open");
- } else {
- burgsLockAll.classList.add("icon-lock");
- burgsLockAll.classList.remove("icon-lock-open");
- }
+ document.getElementById("burgsLockAll").className = allLocked ? "icon-lock-open" : "icon-lock";
}
}