diff --git a/CHANGELOG.md b/CHANGELOG.md index 8e33ce2b..7efe4b4d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -66,6 +66,9 @@ properties exposed by the live NGI GeoPackage. - Hardened shared AOI geometry normalization to persist valid 2D polygons when an authoritative source supplies harmless zero-valued Z coordinates. +- Kept map rectangle and full-area selection available for coverage inspection + when a selected national theme has not yet been materialized, without + querying an unrelated active dataset. ## Sprint 240 Operational forest, agriculture, nature and soil themes (2026-07-17) diff --git a/backend/tests/test_rc4_national_coverage.py b/backend/tests/test_rc4_national_coverage.py index f635c4f3..3d91fc19 100644 --- a/backend/tests/test_rc4_national_coverage.py +++ b/backend/tests/test_rc4_national_coverage.py @@ -210,3 +210,5 @@ def test_frontend_prefers_materialized_national_workspace_and_resolves_drawn_bbo assert "externalApi.resolveCoverage" in coverage_hook assert "coverage.outside_supported_scope" in map_workspace assert "coverageStatusLabel" in map_workspace + assert "coverageSelectionAvailable" in map_workspace + assert "activeThemeAvailable && !regionalPartitionedThemeActive" in map_workspace diff --git a/docs/CODEX_EXECUTION_LOG.md b/docs/CODEX_EXECUTION_LOG.md index 2b3e4f7f..64758a7c 100644 --- a/docs/CODEX_EXECUTION_LOG.md +++ b/docs/CODEX_EXECUTION_LOG.md @@ -35,6 +35,11 @@ a separate live-only PostGIS constraint: AdminVector AOI boundaries carry a zero-valued Z coordinate while `areas.geometry` is intentionally 2D. Shared AOI normalization now removes Z before validation and persistence. +- Live API persistence subsequently completed with one national workspace, + eight scope areas and six ready authoritative datasets. A second operator + run reused the same project and dataset identifiers. Browser acceptance then + exposed and closed a map guard that had prevented coverage-only selection + when the chosen theme was honestly unavailable. - Froze the RC geography as all Belgian land plus the separately labelled territorial sea, EEZ and continental shelf. diff --git a/frontend/src/components/map/MapWorkspace.tsx b/frontend/src/components/map/MapWorkspace.tsx index c2ddc2d7..a13607e1 100644 --- a/frontend/src/components/map/MapWorkspace.tsx +++ b/frontend/src/components/map/MapWorkspace.tsx @@ -974,6 +974,7 @@ export function MapWorkspace({ const onDemandThemeActive = analysisMode === 'current' && Boolean(activeOnDemandMapProduct) const regionalOnDemandThemeActive = regionalScopeSelected && onDemandThemeActive const activeThemeAvailable = Boolean(activeThemeDataset) || onDemandThemeActive + const coverageSelectionAvailable = analysisMode === 'current' && Boolean(selectedProjectId && selectedMapArea) useEffect(() => { if ( @@ -1525,7 +1526,7 @@ export function MapWorkspace({ const analyzeSelection = async (bbox: VectorSelectionBBox, areaId?: string) => { setSelectionBbox(bbox) const tasks: Array> = [loadAllThemeResults(bbox, areaId)] - if (!regionalPartitionedThemeActive && !onDemandThemeActive) { + if (activeThemeAvailable && !regionalPartitionedThemeActive && !onDemandThemeActive) { tasks.push(onRunMapSelectionExtract(bbox, areaId)) } if (analysisMode === 'evolution' && earlierDatasetId && laterDatasetId) { @@ -1914,6 +1915,8 @@ export function MapWorkspace({

{bboxSelectionMode ? 'Sleep nu een rechthoek op de kaart.' + : !activeThemeAvailable + ? 'Teken een rechthoek om de databeschikbaarheid voor dit gebied te controleren.' : regionalRasterThemeActive ? 'Teken een rechthoek; de juiste gemeentelijke rasters worden automatisch gecombineerd.' : onDemandThemeActive @@ -1927,7 +1930,7 @@ export function MapWorkspace({