From db5cbffb70e7ec4ba83a5e3db7fce712cd2932cf Mon Sep 17 00:00:00 2001 From: vcoppe Date: Tue, 11 Nov 2025 12:11:38 +0100 Subject: [PATCH] api for adding overlays from extensions --- .../layer-control/LayerControlSettings.svelte | 17 +- .../map/layer-control/LayerTreeNode.svelte | 3 + .../map/layer-control/extension-api.ts | 167 ++++++++++++++++++ .../lib/components/map/layer-control/utils.ts | 11 ++ 4 files changed, 194 insertions(+), 4 deletions(-) create mode 100644 website/src/lib/components/map/layer-control/extension-api.ts diff --git a/website/src/lib/components/map/layer-control/LayerControlSettings.svelte b/website/src/lib/components/map/layer-control/LayerControlSettings.svelte index 982ec6bb8..b6f3dbd70 100644 --- a/website/src/lib/components/map/layer-control/LayerControlSettings.svelte +++ b/website/src/lib/components/map/layer-control/LayerControlSettings.svelte @@ -20,6 +20,7 @@ import CustomLayers from './CustomLayers.svelte'; import { settings } from '$lib/logic/settings'; import { untrack } from 'svelte'; + import { extensionAPI } from './extension-api'; const { selectedBasemapTree, @@ -160,7 +161,11 @@ {#if selectedOverlay} {#if isSelected($selectedOverlayTree, selectedOverlay)} - {i18n._(`layers.label.${selectedOverlay}`)} + {#if extensionAPI.isLayerFromExtension(selectedOverlay)} + {extensionAPI.getLayerName(selectedOverlay)} + {:else} + {i18n._(`layers.label.${selectedOverlay}`)} + {/if} {:else if $customLayers.hasOwnProperty(selectedOverlay)} {$customLayers[selectedOverlay].name} {/if} @@ -169,9 +174,13 @@ {#each Object.keys(overlays) as id} {#if isSelected($selectedOverlayTree, id)} - {i18n._(`layers.label.${id}`)} + + {#if extensionAPI.isLayerFromExtension(id)} + {extensionAPI.getLayerName(id)} + {:else} + {i18n._(`layers.label.${id}`)} + {/if} + {/if} {/each} {#each Object.entries($customLayers) as [id, layer]} diff --git a/website/src/lib/components/map/layer-control/LayerTreeNode.svelte b/website/src/lib/components/map/layer-control/LayerTreeNode.svelte index 6ca8adb95..9a77ce8fc 100644 --- a/website/src/lib/components/map/layer-control/LayerTreeNode.svelte +++ b/website/src/lib/components/map/layer-control/LayerTreeNode.svelte @@ -7,6 +7,7 @@ import { anySelectedLayer } from './utils'; import { i18n } from '$lib/i18n.svelte'; import { settings } from '$lib/logic/settings'; + import { extensionAPI } from '$lib/components/map/layer-control/extension-api'; let { name, @@ -72,6 +73,8 @@