feat: allow to hide the layer switcher from bottom bar (#2639)

This commit is contained in:
David Larlet 2025-04-11 10:58:54 -04:00 committed by GitHub
commit 5e3170891a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 10 additions and 3 deletions

View file

@ -167,7 +167,7 @@
.umap-caption-bar .umap-map-author { .umap-caption-bar .umap-map-author {
margin-inline-end: 10px; margin-inline-end: 10px;
} }
.umap-caption-bar > button + button:after, .umap-caption-bar:has(select:not([hidden])) > button + button:after,
.umap-caption-bar > button + button:before { .umap-caption-bar > button + button:before {
content: '|'; content: '|';
padding-inline-start: 10px; padding-inline-start: 10px;

View file

@ -275,6 +275,12 @@ export const SCHEMA = {
label: translate('Label key'), label: translate('Label key'),
inheritable: true, inheritable: true,
}, },
layerSwitcher: {
type: Boolean,
impacts: ['ui'],
label: translate('Do you want to display layer switcher in caption bar?'),
default: true,
},
licence: { licence: {
type: String, type: String,
impacts: ['ui'], impacts: ['ui'],

View file

@ -180,7 +180,7 @@ const BOTTOM_BAR_TEMPLATE = `
<button class="umap-about-link flat" type="button" title="${translate('Open caption')}" data-ref="caption">${translate('Open caption')}</button> <button class="umap-about-link flat" type="button" title="${translate('Open caption')}" data-ref="caption">${translate('Open caption')}</button>
<button class="umap-open-browser-link flat" type="button" title="${translate('Browse data')}" data-ref="browse">${translate('Browse data')}</button> <button class="umap-open-browser-link flat" type="button" title="${translate('Browse data')}" data-ref="browse">${translate('Browse data')}</button>
<button class="umap-open-browser-link flat" type="button" title="${translate('Filter data')}" data-ref="filter">${translate('Filter data')}</button> <button class="umap-open-browser-link flat" type="button" title="${translate('Filter data')}" data-ref="filter">${translate('Filter data')}</button>
<select data-ref=layers></select> <select data-ref="layers"></select>
</div> </div>
` `
@ -233,7 +233,7 @@ export class BottomBar extends WithTemplate {
this.elements.layers.hidden = true this.elements.layers.hidden = true
} else { } else {
this.elements.layers.appendChild(Utils.loadTemplate(`<option value=""></option>`)) this.elements.layers.appendChild(Utils.loadTemplate(`<option value=""></option>`))
this.elements.layers.hidden = false this.elements.layers.hidden = !this._umap.getProperty('layerSwitcher')
const visible = datalayers.filter((datalayer) => datalayer.isVisible()) const visible = datalayers.filter((datalayer) => datalayer.isVisible())
for (const datalayer of datalayers) { for (const datalayer of datalayers) {
const selected = visible.length === 1 && datalayer.isVisible() ? 'selected' : '' const selected = visible.length === 1 && datalayer.isVisible() ? 'selected' : ''

View file

@ -836,6 +836,7 @@ export default class Umap {
'properties.displayPopupFooter', 'properties.displayPopupFooter',
'properties.captionBar', 'properties.captionBar',
'properties.captionMenus', 'properties.captionMenus',
'properties.layerSwitcher',
]) ])
const builder = new MutatingForm(this, UIFields, { umap: this }) const builder = new MutatingForm(this, UIFields, { umap: this })
const controlsOptions = DomUtil.createFieldset( const controlsOptions = DomUtil.createFieldset(