Keep national coverage selection available
This commit is contained in:
@@ -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)
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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<Promise<unknown>> = [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({
|
||||
<p>
|
||||
{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({
|
||||
<div className="geo-map-actions">
|
||||
<button
|
||||
className={bboxSelectionMode ? 'primary-action geo-draw-active' : 'primary-action'}
|
||||
disabled={!activeThemeAvailable || (analysisMode === 'evolution' && activeTemporalSeries.length < 2) || mapSelectionLoading || themeResultsLoading}
|
||||
disabled={(!activeThemeAvailable && !coverageSelectionAvailable) || (analysisMode === 'evolution' && activeTemporalSeries.length < 2) || mapSelectionLoading || themeResultsLoading}
|
||||
type="button"
|
||||
onClick={startBboxSelection}
|
||||
>
|
||||
@@ -1935,7 +1938,7 @@ export function MapWorkspace({
|
||||
</button>
|
||||
<button
|
||||
className="secondary-action"
|
||||
disabled={!activeThemeAvailable || regionalRasterThemeActive || regionalOnDemandThemeActive || (analysisMode === 'evolution' && activeTemporalSeries.length < 2) || !selectedAreaBbox || mapSelectionLoading || themeResultsLoading}
|
||||
disabled={(!activeThemeAvailable && !coverageSelectionAvailable) || regionalRasterThemeActive || regionalOnDemandThemeActive || (analysisMode === 'evolution' && activeTemporalSeries.length < 2) || !selectedAreaBbox || mapSelectionLoading || themeResultsLoading}
|
||||
type="button"
|
||||
title={
|
||||
regionalRasterThemeActive || regionalOnDemandThemeActive
|
||||
|
||||
Reference in New Issue
Block a user