feat: allow to hide the layer switcher from bottom bar

This commit is contained in:
David Larlet 2025-04-11 10:44:01 -04:00
parent 15972bab3d
commit 495286c261
No known key found for this signature in database
GPG key ID: 3E2953A359E7E7BD
4 changed files with 10 additions and 3 deletions

View file

@ -167,7 +167,7 @@
.umap-caption-bar .umap-map-author {
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 {
content: '|';
padding-inline-start: 10px;

View file

@ -275,6 +275,12 @@ export const SCHEMA = {
label: translate('Label key'),
inheritable: true,
},
layerSwitcher: {
type: Boolean,
impacts: ['ui'],
label: translate('Do you want to display layer switcher in caption bar?'),
default: true,
},
licence: {
type: String,
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-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>
<select data-ref=layers></select>
<select data-ref="layers"></select>
</div>
`
@ -233,7 +233,7 @@ export class BottomBar extends WithTemplate {
this.elements.layers.hidden = true
} else {
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())
for (const datalayer of datalayers) {
const selected = visible.length === 1 && datalayer.isVisible() ? 'selected' : ''

View file

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