feat(ui): add AreaDropdown and exclusive toggle with layers panel
New AreaDropdown component for quick station selection (filters by allowed systems, ESC to close) MapComponent: toggle AreaDropdown via MapMarkerIcon; auto-hide MapLayersControlPanel when dropdown is open and vice versa fix(alarms): hasActiveAlarm now checks Statis[].Alarm for both array and object shapes fix(panel): Kabelstrecken now auto-enables TALAS (system-1) when turned on; keeps behavior to disable polylines when TALAS is unchecked; persists visibility to localStorage and emits visibilityChanged Minor: imports, state wiring, and render guards updated Affected files: MapComponent.js MapLayersControlPanel.js AreaDropdown.js (new)
This commit is contained in:
@@ -23,4 +23,4 @@ NEXT_PUBLIC_USE_MOCKS=true
|
|||||||
# z.B. http://10.10.0.13/xyz/index.aspx -> basePath in config.json auf /xyz setzen
|
# z.B. http://10.10.0.13/xyz/index.aspx -> basePath in config.json auf /xyz setzen
|
||||||
# basePath wird jetzt in public/config.json gepflegt
|
# basePath wird jetzt in public/config.json gepflegt
|
||||||
# App-Versionsnummer
|
# App-Versionsnummer
|
||||||
NEXT_PUBLIC_APP_VERSION=1.1.366
|
NEXT_PUBLIC_APP_VERSION=1.1.367
|
||||||
|
|||||||
@@ -24,4 +24,4 @@ NEXT_PUBLIC_USE_MOCKS=false
|
|||||||
# basePath wird jetzt in public/config.json gepflegt
|
# basePath wird jetzt in public/config.json gepflegt
|
||||||
|
|
||||||
# App-Versionsnummer
|
# App-Versionsnummer
|
||||||
NEXT_PUBLIC_APP_VERSION=1.1.366
|
NEXT_PUBLIC_APP_VERSION=1.1.367
|
||||||
|
|||||||
@@ -1160,7 +1160,13 @@ const MapComponent = ({ locations, onLocationUpdate, lineCoordinates }) => {
|
|||||||
)}
|
)}
|
||||||
{/* Marker-Icon (line-md) */}
|
{/* Marker-Icon (line-md) */}
|
||||||
<button
|
<button
|
||||||
onClick={() => setShowAreaDropdown(v => !v)}
|
onClick={() =>
|
||||||
|
setShowAreaDropdown(v => {
|
||||||
|
const next = !v;
|
||||||
|
if (next) setShowLayersPanel(false); // Dropdown öffnen -> Panel schließen
|
||||||
|
return next;
|
||||||
|
})
|
||||||
|
}
|
||||||
aria-label="Marker"
|
aria-label="Marker"
|
||||||
className="rounded-full bg-white/90 hover:bg-white shadow p-1"
|
className="rounded-full bg-white/90 hover:bg-white shadow p-1"
|
||||||
title="Marker"
|
title="Marker"
|
||||||
@@ -1211,7 +1217,13 @@ const MapComponent = ({ locations, onLocationUpdate, lineCoordinates }) => {
|
|||||||
</button>
|
</button>
|
||||||
{/* Lupe: Koordinaten-Suche ein-/ausblenden */}
|
{/* Lupe: Koordinaten-Suche ein-/ausblenden */}
|
||||||
<button
|
<button
|
||||||
onClick={() => setShowLayersPanel(v => !v)}
|
onClick={() =>
|
||||||
|
setShowLayersPanel(v => {
|
||||||
|
const next = !v;
|
||||||
|
if (next) setShowAreaDropdown(false); // Panel öffnen -> Dropdown schließen
|
||||||
|
return next;
|
||||||
|
})
|
||||||
|
}
|
||||||
aria-label={showLayersPanel ? "Layer-Panel ausblenden" : "Layer-Panel einblenden"}
|
aria-label={showLayersPanel ? "Layer-Panel ausblenden" : "Layer-Panel einblenden"}
|
||||||
className="rounded-full bg-white/90 hover:bg-white shadow p-1"
|
className="rounded-full bg-white/90 hover:bg-white shadow p-1"
|
||||||
title={showLayersPanel ? "Layer-Panel ausblenden" : "Layer-Panel einblenden"}
|
title={showLayersPanel ? "Layer-Panel ausblenden" : "Layer-Panel einblenden"}
|
||||||
|
|||||||
4
package-lock.json
generated
4
package-lock.json
generated
@@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"name": "nodemap",
|
"name": "nodemap",
|
||||||
"version": "1.1.366",
|
"version": "1.1.367",
|
||||||
"lockfileVersion": 3,
|
"lockfileVersion": 3,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "nodemap",
|
"name": "nodemap",
|
||||||
"version": "1.1.366",
|
"version": "1.1.367",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@emotion/react": "^11.13.3",
|
"@emotion/react": "^11.13.3",
|
||||||
"@emotion/styled": "^11.13.0",
|
"@emotion/styled": "^11.13.0",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "nodemap",
|
"name": "nodemap",
|
||||||
"version": "1.1.366",
|
"version": "1.1.367",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@emotion/react": "^11.13.3",
|
"@emotion/react": "^11.13.3",
|
||||||
"@emotion/styled": "^11.13.0",
|
"@emotion/styled": "^11.13.0",
|
||||||
|
|||||||
Reference in New Issue
Block a user