initialize missing settings

This commit is contained in:
vcoppe
2025-11-09 18:45:20 +01:00
parent 59710d2e1a
commit 39b8d2e70d
2 changed files with 15 additions and 2 deletions

View File

@@ -6,7 +6,7 @@
import Map from '$lib/components/map/Map.svelte'; import Map from '$lib/components/map/Map.svelte';
import LayerControl from '$lib/components/map/layer-control/LayerControl.svelte'; import LayerControl from '$lib/components/map/layer-control/LayerControl.svelte';
import OpenIn from '$lib/components/embedding/OpenIn.svelte'; import OpenIn from '$lib/components/embedding/OpenIn.svelte';
import { readable, writable } from 'svelte/store'; import { writable } from 'svelte/store';
import type { GPXFile } from 'gpx'; import type { GPXFile } from 'gpx';
import { import {
allowedEmbeddingBasemaps, allowedEmbeddingBasemaps,
@@ -17,7 +17,6 @@
import { settings } from '$lib/logic/settings'; import { settings } from '$lib/logic/settings';
import { fileStateCollection } from '$lib/logic/file-state'; import { fileStateCollection } from '$lib/logic/file-state';
import { gpxStatistics, slicedGPXStatistics } from '$lib/logic/statistics'; import { gpxStatistics, slicedGPXStatistics } from '$lib/logic/statistics';
import { GPXStatisticsTree } from '$lib/logic/statistics-tree';
import { loadFile } from '$lib/logic/file-actions'; import { loadFile } from '$lib/logic/file-actions';
import { selection } from '$lib/logic/selection'; import { selection } from '$lib/logic/selection';
import { untrack } from 'svelte'; import { untrack } from 'svelte';
@@ -41,6 +40,8 @@
directionMarkers, directionMarkers,
} = settings; } = settings;
settings.initialize();
function applyOptions() { function applyOptions() {
let downloads: Promise<GPXFile | null>[] = getFilesFromEmbeddingOptions(options).map( let downloads: Promise<GPXFile | null>[] = getFilesFromEmbeddingOptions(options).map(
(url) => { (url) => {

View File

@@ -98,6 +98,10 @@ export class SettingInitOnFirstRead<V> {
}); });
} }
initialize() {
this.set(this._initial);
}
disconnectFromDatabase() { disconnectFromDatabase() {
this._subscription?.unsubscribe(); this._subscription?.unsubscribe();
this._subscription = null; this._subscription = null;
@@ -174,4 +178,12 @@ export const settings = {
} }
} }
}, },
initialize() {
for (const key in settings) {
const setting = (settings as any)[key];
if (setting instanceof SettingInitOnFirstRead) {
setting.initialize();
}
}
},
}; };