
The Map Preview sub-tab now includes:
The Maps tab content is organised into sub-tabs:
| Sub-tab | Content |
|---|---|
| All | Show everything (previous behaviour) |
| Map Preview | Map display, palette, group filter, presets |
| Groups | Group table, filters, colours, boundaries |
| Neighbouring Areas | Area selection, shared district settings |
| Geographic Data | Upload/clear data, map position and zoom settings |
| Parish Allocations | CSV import and allocation management |
| Sub-tab labels no longer wrap onto multiple lines. |
ColourPaletteSelectorComponent — reusable ng-select with colour
swatches, palette data, and reapply button. Exports
COLOUR_PALETTE_OPTIONS and COLOUR_PALETTE_COLOURS for shared useSelectAllHeaderComponent — reusable select all/none header for
ng-select dropdowns. Refactored out of EnvironmentSelectComponent,
CollectionsMultiSelectComponent, and BackupsMultiSelectComponent
which now all use it20260330000000-backfill-area-group-geometry-source.ts — sets
geometrySource: "ons-districts" on all area groups in system config that lack this fieldgeometrySource on existing groupsColourPalette enum — 19 named palettesGroupPreset interface — name, groupNames[], colourPalette?Organisation.groupPresets — optional array of saved presetsStoredValue — added GROUPS_TABLE_HEIGHT, PARISH_TABLE_HEIGHT,
COLOUR_PALETTEpreviewAreaColors input — overrides backend colours for live previewpreviewSelectedGroups input — filters displayed groups in previewonOpacityChange() updates styles in place instead of rebuilding mapnativeBrowserDialogRestrictions array banning alert,
confirm, prompt and their window.* variants via
no-restricted-syntax selectorsalert(), confirm(), and prompt() are now banned by ESLint across the entire codebase. All UI interactions must use inline elements.alert() calls in the walk search proximity feature have been replaced with inline error messages.