From 3479b00d8336a88bc385fda6bed67a4529ce7d1e Mon Sep 17 00:00:00 2001 From: ekke Date: Tue, 23 Jun 2026 20:27:50 +0000 Subject: [PATCH] Add Location toggle-off fix + INSPIRE HILUCS workshop PPTX MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Default interaction mode changed from 'addLocation' to 'none' so that opening the app does not silently arm the Add-Location cursor; users must explicitly click the Add button to enter that mode. - Add button now toggles: a second click returns to 'none' mode, matching the behaviour of the Measure and Draw buttons. - All other tool buttons (Circle, Line, Area, Draw) now return to 'none' on toggle-off instead of re-activating Add-Location. - Removed the hard-coded 'active' CSS class from the Add button in index.html, consistent with the new default state. - Added INSPIRE_HILUCS_Workshop.pptx (13 slides) as a workshop reference deck covering INSPIRE Land Use Data Specifications, the HILUCS hierarchy (3 levels, 13 top-level classes), example HILUCS↔LUPMIS2 zone-code mappings, and a structured PROs/CONs analysis for LUSPA adoption, including a pragmatic localisation recommendation. Co-Authored-By: Claude Sonnet 4.6 --- INSPIRE_HILUCS_Workshop.pptx | Bin 0 -> 329635 bytes index.html | 2 +- main.js | 36 +++++++++++++++++++++++------------ 3 files changed, 25 insertions(+), 13 deletions(-) create mode 100644 INSPIRE_HILUCS_Workshop.pptx diff --git a/INSPIRE_HILUCS_Workshop.pptx b/INSPIRE_HILUCS_Workshop.pptx new file mode 100644 index 0000000000000000000000000000000000000000..581de48eaa7ff7a45de27d3f1f1f9a12663cda61 GIT binary patch literal 329635 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
- diff --git a/main.js b/main.js index 386a209..2a03d02 100644 --- a/main.js +++ b/main.js @@ -140,10 +140,14 @@ let embedBridge = null; const EMBED_CONFIG = (typeof window !== 'undefined' && window.LUPMIS_EMBED) || null; const IS_EMBED_PERMIT = !!(EMBED_CONFIG && EMBED_CONFIG.mode === 'permit'); -// Current interaction mode: 'addLocation' | 'measureCircle' | 'measureLine' | 'measureArea' -// In embed permit mode we don't want the default Add-Location click to fire, -// so start the mode in a neutral state. -let currentMode = IS_EMBED_PERMIT ? 'embed-permit' : 'addLocation'; +// Current interaction mode: 'none' | 'addLocation' | 'measureCircle' | +// 'measureLine' | 'measureArea' | 'draw' | 'embed-permit'. +// Default is 'none' — a neutral state where map clicks do not trigger +// the Add-Location popup. Users explicitly opt into Add-Location by +// pressing the Add button in the bottom dock; pressing it again toggles +// the mode back off. Measurement / Draw tools also return to 'none' +// when toggled off, rather than implicitly re-entering Add-Location. +let currentMode = IS_EMBED_PERMIT ? 'embed-permit' : 'none'; // ============================================================================ // Application Initialization @@ -705,11 +709,18 @@ function initUI() { } }; - // Add Location mode button + // Add Location mode button — toggles. Clicking it once activates the + // mode (subsequent map-clicks open the Add-Location popup); clicking it + // again returns to the neutral 'none' mode so accidental map taps don't + // trigger the popup. if (addLocationBtn) { addLocationBtn.addEventListener('click', () => { - console.log('[Button] Add Location clicked'); - setMode('addLocation', addLocationBtn); + console.log('[Button] Add Location clicked, currentMode is:', currentMode); + if (currentMode === 'addLocation') { + setMode('none', null); // toggle off + } else { + setMode('addLocation', addLocationBtn); // activate + } }); } @@ -718,8 +729,9 @@ function initUI() { measureCircleBtn.addEventListener('click', () => { console.log('[Button] Circle clicked, currentMode is:', currentMode); if (currentMode === 'measureCircle') { - // Toggle off - return to addLocation mode - setMode('addLocation', addLocationBtn); + // Toggle off — return to the neutral 'none' mode (no implicit + // Add-Location re-activation). + setMode('none', null); } else { setMode('measureCircle', measureCircleBtn); } @@ -731,7 +743,7 @@ function initUI() { measureLineBtn.addEventListener('click', () => { console.log('[Button] Line clicked, currentMode is:', currentMode); if (currentMode === 'measureLine') { - setMode('addLocation', addLocationBtn); + setMode('none', null); } else { setMode('measureLine', measureLineBtn); } @@ -743,7 +755,7 @@ function initUI() { measureAreaBtn.addEventListener('click', () => { console.log('[Button] Area clicked, currentMode is:', currentMode); if (currentMode === 'measureArea') { - setMode('addLocation', addLocationBtn); + setMode('none', null); } else { setMode('measureArea', measureAreaBtn); } @@ -755,7 +767,7 @@ function initUI() { drawBtn.addEventListener('click', () => { console.log('[Button] Draw clicked, currentMode is:', currentMode); if (currentMode === 'draw') { - setMode('addLocation', addLocationBtn); + setMode('none', null); } else { setMode('draw', drawBtn); }