From 0dfeb6ede9f704cc283854cc0bd1a752c0452a5c Mon Sep 17 00:00:00 2001 From: Yohan Boniface Date: Mon, 17 Mar 2025 21:52:00 +0100 Subject: [PATCH] chore: use toggle to switch visibility in datalayer switcher --- umap/static/umap/js/modules/data/layer.js | 6 +++--- umap/static/umap/js/modules/ui/bar.js | 6 +----- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/umap/static/umap/js/modules/data/layer.js b/umap/static/umap/js/modules/data/layer.js index 761945b0..e46d920a 100644 --- a/umap/static/umap/js/modules/data/layer.js +++ b/umap/static/umap/js/modules/data/layer.js @@ -960,11 +960,11 @@ export class DataLayer extends ServerStored { this.propagateHide() } - toggle() { + toggle(status) { // From now on, do not try to how/hidedataChanged // automatically this layer. this._forcedVisibility = true - if (!this.isVisible()) this.show() + if (!this.isVisible() || status) this.show() else this.hide() } @@ -1252,7 +1252,7 @@ export class DataLayer extends ServerStored { this ) } - DomEvent.on(toggle, 'click', this.toggle, this) + DomEvent.on(toggle, 'click', () => this.toggle()) DomEvent.on(zoomTo, 'click', this.zoomTo, this) container.classList.add(this.getHidableClass()) container.classList.toggle('off', !this.isVisible()) diff --git a/umap/static/umap/js/modules/ui/bar.js b/umap/static/umap/js/modules/ui/bar.js index 32f64e0c..146ec3b3 100644 --- a/umap/static/umap/js/modules/ui/bar.js +++ b/umap/static/umap/js/modules/ui/bar.js @@ -194,11 +194,7 @@ export class BottomBar extends WithTemplate { const select = this.elements.layers const selected = select.options[select.selectedIndex].value this._umap.eachDataLayer((datalayer) => { - if (datalayer.id === selected) { - datalayer.show() - } else { - datalayer.hide() - } + datalayer.toggle(datalayer.id === selected) }) }) this.redraw()