From df1a866cb6441ab459602349985f509d86c094c0 Mon Sep 17 00:00:00 2001 From: Guilhem Moulin Date: Mon, 22 Jan 2024 02:34:21 +0100 Subject: Fix popover absolute placement after unanchoring. We need to place it under .ol-overlaycontainer-stopevent. Unfortunately this messes its positions upon entering fullscreen, so we dispose it instead. --- main.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/main.js b/main.js index 051ef5f..62eccdb 100644 --- a/main.js +++ b/main.js @@ -336,6 +336,12 @@ if (window.location !== window.parent.location) { map.addControl(control); control.addEventListener('enterfullscreen', function() { + const popover = Popover.getInstance(popup); + if (popover !== null) { + /* dispose popover as entering fullscreen messes up its position */ + popover.dispose(); + } + const btn = control.element.getElementsByTagName('button')[0]; btn.classList.replace(classInactive, classActive); btn.title = titleActive; @@ -919,7 +925,7 @@ map.addLayer(new VectorTileLayer({ header.appendChild(btnNext); header.appendChild(btnClose); - const container0 = map.getViewport().querySelector('.ol-overlay-container.ol-selectable'); + const container0 = map.getViewport().getElementsByClassName('ol-overlaycontainer-stopevent')[0]; map.on('singleclick', function(event) { /* clear the features list */ features.length = 0; -- cgit v1.2.3