diff --git a/umap/static/umap/css/bar.css b/umap/static/umap/css/bar.css
index 8631f788..b62249e7 100644
--- a/umap/static/umap/css/bar.css
+++ b/umap/static/umap/css/bar.css
@@ -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;
diff --git a/umap/static/umap/js/modules/schema.js b/umap/static/umap/js/modules/schema.js
index 900243d8..60101690 100644
--- a/umap/static/umap/js/modules/schema.js
+++ b/umap/static/umap/js/modules/schema.js
@@ -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'],
diff --git a/umap/static/umap/js/modules/ui/bar.js b/umap/static/umap/js/modules/ui/bar.js
index d6055b17..d75ddb42 100644
--- a/umap/static/umap/js/modules/ui/bar.js
+++ b/umap/static/umap/js/modules/ui/bar.js
@@ -180,7 +180,7 @@ const BOTTOM_BAR_TEMPLATE = `
-
+
`
@@ -233,7 +233,7 @@ export class BottomBar extends WithTemplate {
this.elements.layers.hidden = true
} else {
this.elements.layers.appendChild(Utils.loadTemplate(``))
- 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' : ''
diff --git a/umap/static/umap/js/modules/umap.js b/umap/static/umap/js/modules/umap.js
index f7dfeaef..abccd5d3 100644
--- a/umap/static/umap/js/modules/umap.js
+++ b/umap/static/umap/js/modules/umap.js
@@ -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(