lock unlock in burgs-overview.js

Added a way to check if burgs are locked or unlocked with the lock all button, so it works in any situations about locking.
This commit is contained in:
Ángel Montero Lamas 2021-12-29 20:44:14 +01:00
parent c12650fe9b
commit 2e4a61f759
2 changed files with 20 additions and 8 deletions

View file

@ -3284,7 +3284,7 @@
<button id="addNewBurg" data-tip="Add a new burg. Hold Shift to add multiple" class="icon-plus"></button> <button id="addNewBurg" data-tip="Add a new burg. Hold Shift to add multiple" class="icon-plus"></button>
<button id="burgsExport" data-tip="Save burgs-related data as a text file (.csv)" class="icon-download"></button> <button id="burgsExport" data-tip="Save burgs-related data as a text file (.csv)" class="icon-download"></button>
<button id="burgNamesImport" data-tip="Rename burgs in bulk" class="icon-upload"></button> <button id="burgNamesImport" data-tip="Rename burgs in bulk" class="icon-upload"></button>
<button id="burgsonoff" data-tip="Lock / Unlock all burgs" class="icon-lock" value="Off"></button> <button id="burgsonoff" data-tip="Lock / Unlock all burgs" class="icon-lock"></button>
<button id="burgsRemoveAll" data-tip="Remove all unlocked burgs except for capitals. To remove a capital remove its state first" class="icon-trash"></button> <button id="burgsRemoveAll" data-tip="Remove all unlocked burgs except for capitals. To remove a capital remove its state first" class="icon-trash"></button>
</div> </div>
</div> </div>

View file

@ -8,6 +8,7 @@ function overviewBurgs() {
const body = document.getElementById("burgsBody"); const body = document.getElementById("burgsBody");
updateFilter(); updateFilter();
burgsOverviewAddLines(); burgsOverviewAddLines();
setlockburgs();
$("#burgsOverview").dialog(); $("#burgsOverview").dialog();
if (modules.overviewBurgs) return; if (modules.overviewBurgs) return;
@ -36,6 +37,12 @@ function overviewBurgs() {
document.getElementById("burgsonoff").addEventListener("click", burgsonoff); document.getElementById("burgsonoff").addEventListener("click", burgsonoff);
document.getElementById("burgsRemoveAll").addEventListener("click", triggerAllBurgsRemove); document.getElementById("burgsRemoveAll").addEventListener("click", triggerAllBurgsRemove);
document.getElementById("burgsInvertLock").addEventListener("click", invertLock); document.getElementById("burgsInvertLock").addEventListener("click", invertLock);
document.getElementById("burgsonoff").addEventListener("click", function (toggleIcons) {
var target = toggleIcons.target;
target.classList.toggle("icon-lock");
target.classList.toggle("icon-lock-open");
}, false);
function refreshBurgsEditor() { function refreshBurgsEditor() {
updateFilter(); updateFilter();
@ -559,10 +566,15 @@ function overviewBurgs() {
burgsOverviewAddLines(); burgsOverviewAddLines();
} }
function setlockburgs() {
(pack.burgs.filter(b => b.lock)).length === pack.burgs.length ? burgsonoff.value = "true" : burgsonoff.value = "false"; //Only true if all of them are locked
}
function invertLock() { function invertLock() {
pack.burgs = pack.burgs.map(burg => ({...burg, lock: !burg.lock})); pack.burgs = pack.burgs.map(burg => ({...burg, lock: !burg.lock}));
burgsOverviewAddLines(); burgsOverviewAddLines();
} }
function lockAllBurgs() { function lockAllBurgs() {
pack.burgs.forEach(burg => { pack.burgs.forEach(burg => {
burg.lock = true;}); burg.lock = true;});
@ -575,12 +587,12 @@ function overviewBurgs() {
} }
function burgsonoff(){ function burgsonoff(){
const currentvalue = document.getElementById('burgsonoff').value; const currentvalue = document.getElementById('burgsonoff').value;
if(currentvalue == "Off"){ if(currentvalue == "true"){
lockAllBurgs();
document.getElementById("burgsonoff").value="On";
}else{
unlockAllBurgs(); unlockAllBurgs();
document.getElementById("burgsonoff").value="Off"; document.getElementById("burgsonoff").value="false";
}else{
lockAllBurgs();
document.getElementById("burgsonoff").value="true";
} }
} }
} }