Nettoyer le contour de dalle et la référence à la bulle quand on change d'onglet

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Antoine Jacquin
2026-09-27 18:23:46 +02:00
parent 45455aec93
commit 375d53c0b1
2 changed files with 20 additions and 4 deletions

View File

@ -601,7 +601,10 @@ function showTilePopup(data, latlng) {
showTilePopup.data = data;
const btn = el('tilePopDetails');
if (btn) btn.addEventListener('click', openTileDetails);
tilePopup.on('remove', () => { if (el('tileView').hidden && tileSel) { map.removeLayer(tileSel); tileSel = null; } });
tilePopup.on('remove', () => {
tilePopup = null;
if (el('tileView').hidden && tileSel) { map.removeLayer(tileSel); tileSel = null; }
});
}
function openTileDetails() {
@ -616,12 +619,19 @@ function openTileDetails() {
showTileInfo(data, lastTileQuery);
}
// Masque #tileView et retire le contour de sélection, sans toucher aux
// onglets (utilisé par closeTileViews et par openTab, qui ne doit pas
// se rappeler lui-même via closeTileViews).
function hideTileView() {
el('tileView').hidden = true;
if (tileSel) { map.removeLayer(tileSel); tileSel = null; }
}
// Ferme la bulle, sinon la fiche ; renvoie true si quelque chose a été fermé.
function closeTileViews() {
if (tilePopup) { tilePopup.remove(); tilePopup = null; return true; }
if (!el('tileView').hidden) {
el('tileView').hidden = true;
if (tileSel) { map.removeLayer(tileSel); tileSel = null; }
hideTileView();
openTab(tileReturnTab || 'view');
return true;
}
@ -1218,7 +1228,7 @@ function panelRender() {
function openTab(tab) {
if (!panelTabs().includes(tab)) return;
el('tileView').hidden = true;
if (!el('tileView').hidden) hideTileView();
const before = PANEL.sheet;
// Onglet actif retouché sur téléphone : le volet change de hauteur.
if (isPhone() && tab === PANEL.tab && PANEL.sheet !== 'closed') {