diff --git a/src/UI/ThemeViewGUI.svelte b/src/UI/ThemeViewGUI.svelte index 0197ba58e7..f617e85ecf 100644 --- a/src/UI/ThemeViewGUI.svelte +++ b/src/UI/ThemeViewGUI.svelte @@ -66,71 +66,70 @@ import OpenJosm from "./Base/OpenJosm.svelte" export let state: ThemeViewState - let layout = state.layout + let layout = state.layout - let maplibremap: UIEventSource = state.map - let selectedElement: UIEventSource = state.selectedElement - let selectedLayer: UIEventSource = state.selectedLayer + let maplibremap: UIEventSource = state.map + let selectedElement: UIEventSource = state.selectedElement + let selectedLayer: UIEventSource = state.selectedLayer - let currentZoom = state.mapProperties.zoom - let showCrosshair = state.userRelatedState.showCrosshair - let arrowKeysWereUsed = state.mapProperties.lastKeyNavigation - let centerFeatures = state.closestFeatures.features - $: console.log("Centerfeatures are", $centerFeatures) - const selectedElementView = selectedElement.map( - (selectedElement) => { - // Svelte doesn't properly reload some of the legacy UI-elements - // As such, we _reconstruct_ the selectedElementView every time a new feature is selected - // This is a bit wasteful, but until everything is a svelte-component, this should do the trick - const layer = selectedLayer.data - if (selectedElement === undefined || layer === undefined) { - return undefined - } + let currentZoom = state.mapProperties.zoom + let showCrosshair = state.userRelatedState.showCrosshair + let arrowKeysWereUsed = state.mapProperties.lastKeyNavigation + let centerFeatures = state.closestFeatures.features + const selectedElementView = selectedElement.map( + (selectedElement) => { + // Svelte doesn't properly reload some of the legacy UI-elements + // As such, we _reconstruct_ the selectedElementView every time a new feature is selected + // This is a bit wasteful, but until everything is a svelte-component, this should do the trick + const layer = selectedLayer.data + if (selectedElement === undefined || layer === undefined) { + return undefined + } - if (!(layer.tagRenderings?.length > 0) || layer.title === undefined) { - return undefined - } + if (!(layer.tagRenderings?.length > 0) || layer.title === undefined) { + return undefined + } - const tags = state.featureProperties.getStore(selectedElement.properties.id) - return new SvelteUIElement(SelectedElementView, { - state, - layer, - selectedElement, - tags, - }).SetClass("h-full w-full") - }, - [selectedLayer] - ) + const tags = state.featureProperties.getStore(selectedElement.properties.id) + return new SvelteUIElement(SelectedElementView, { + state, + layer, + selectedElement, + tags, + }).SetClass("h-full w-full") + }, + [selectedLayer], + ) - const selectedElementTitle = selectedElement.map( - (selectedElement) => { - // Svelte doesn't properly reload some of the legacy UI-elements - // As such, we _reconstruct_ the selectedElementView every time a new feature is selected - // This is a bit wasteful, but until everything is a svelte-component, this should do the trick - const layer = selectedLayer.data - if (selectedElement === undefined || layer === undefined) { - return undefined - } + const selectedElementTitle = selectedElement.map( + (selectedElement) => { + // Svelte doesn't properly reload some of the legacy UI-elements + // As such, we _reconstruct_ the selectedElementView every time a new feature is selected + // This is a bit wasteful, but until everything is a svelte-component, this should do the trick + const layer = selectedLayer.data + if (selectedElement === undefined || layer === undefined) { + return undefined + } - const tags = state.featureProperties.getStore(selectedElement.properties.id) - return new SvelteUIElement(SelectedElementTitle, { state, layer, selectedElement, tags }) - }, - [selectedLayer] - ) + const tags = state.featureProperties.getStore(selectedElement.properties.id) + return new SvelteUIElement(SelectedElementTitle, { state, layer, selectedElement, tags }) + }, + [selectedLayer], + ) - let mapproperties: MapProperties = state.mapProperties - let featureSwitches: FeatureSwitchState = state.featureSwitches - let availableLayers = state.availableLayers - let userdetails = state.osmConnection.userDetails - let currentViewLayer = layout.layers.find((l) => l.id === "current_view") - let rasterLayer: Store = state.mapProperties.rasterLayer - let rasterLayerName = - rasterLayer.data?.properties?.name ?? AvailableRasterLayers.maptilerDefaultLayer.properties.name - onDestroy( - rasterLayer.addCallbackAndRunD((l) => { - rasterLayerName = l.properties.name - }) - ) + let mapproperties: MapProperties = state.mapProperties + let featureSwitches: FeatureSwitchState = state.featureSwitches + let availableLayers = state.availableLayers + let userdetails = state.osmConnection.userDetails + let currentViewLayer = layout.layers.find((l) => l.id === "current_view") + let rasterLayer: Store = state.mapProperties.rasterLayer + let rasterLayerName = + rasterLayer.data?.properties?.name ?? AvailableRasterLayers.maptilerDefaultLayer.properties.name + onDestroy( + rasterLayer.addCallbackAndRunD((l) => { + rasterLayerName = l.properties.name + }), + )
@@ -214,7 +213,7 @@ state.guistate.openFilterView()}> - + @@ -231,16 +230,17 @@
- {#if $arrowKeysWereUsed !== undefined} -
- {#each $centerFeatures as feat, i (feat.properties.id)} -
- {i + 1}. - -
- {/each} -
+ {#if $centerFeatures.length > 0} +
+ {#each $centerFeatures as feat, i (feat.properties.id)} +
+ {i + 1}. + +
+ {/each} +
+ {/if} {/if}
@@ -257,7 +257,7 @@ mapproperties.zoom.update((z) => z - 1)}> - + @@ -350,7 +350,7 @@
- +
@@ -374,7 +374,7 @@
- +
@@ -389,7 +389,7 @@ new CopyrightPanel(state)} slot="content3" />
- +
@@ -441,12 +441,12 @@ - + - + @@ -495,7 +495,7 @@
- +
@@ -513,7 +513,7 @@
- +