refactor - sort layers

This commit is contained in:
Azgaar 2024-09-10 20:25:37 +02:00
parent aa8c3ab5fe
commit 50c6c56461

View file

@ -19,8 +19,8 @@ function getDefaultPresets() {
], ],
cultural: [ cultural: [
"toggleBorders", "toggleBorders",
"toggleCultures",
"toggleBurgIcons", "toggleBurgIcons",
"toggleCultures",
"toggleLabels", "toggleLabels",
"toggleRivers", "toggleRivers",
"toggleRoutes", "toggleRoutes",
@ -50,9 +50,9 @@ function getDefaultPresets() {
physical: ["toggleCoordinates", "toggleHeight", "toggleIce", "toggleRivers", "toggleScaleBar", "toggleVignette"], physical: ["toggleCoordinates", "toggleHeight", "toggleIce", "toggleRivers", "toggleScaleBar", "toggleVignette"],
poi: [ poi: [
"toggleBorders", "toggleBorders",
"toggleBurgIcons",
"toggleHeight", "toggleHeight",
"toggleIce", "toggleIce",
"toggleBurgIcons",
"toggleMarkers", "toggleMarkers",
"toggleRivers", "toggleRivers",
"toggleRoutes", "toggleRoutes",
@ -162,17 +162,18 @@ function removePreset() {
} }
function getCurrentPreset() { function getCurrentPreset() {
const layers = Array.from(byId("mapLayers").querySelectorAll("li:not(.buttonoff)")) const layers = Array.from(document.querySelectorAll("#mapLayers > li:not(.buttonoff)"))
.map(node => node.id) .map(node => node.id)
.sort(); .sort();
const defaultPresets = getDefaultPresets();
for (const preset in presets) { for (const preset in presets) {
if (JSON.stringify(presets[preset]) !== JSON.stringify(layers)) continue; if (JSON.stringify(presets[preset].sort()) === JSON.stringify(layers)) {
layersPreset.value = preset; layersPreset.value = preset;
removePresetButton.style.display = defaultPresets[preset] ? "none" : "inline-block"; const isDefault = getDefaultPresets()[preset];
savePresetButton.style.display = "none"; removePresetButton.style.display = isDefault ? "none" : "inline-block";
return; savePresetButton.style.display = "none";
return;
}
} }
layersPreset.value = "custom"; layersPreset.value = "custom";