From 316012cfe4fb24715aee15859d259a5770b19386 Mon Sep 17 00:00:00 2001 From: vcoppe Date: Wed, 5 Jun 2024 23:37:55 +0200 Subject: [PATCH] fix bugs --- gpx/src/gpx.ts | 4 ++-- .../CollapsibleTreeNode.svelte | 13 +++++++------ .../file-list/FileListNodeContent.svelte | 19 +++++++++++-------- .../src/lib/components/gpx-layer/GPXLayer.ts | 2 +- .../toolbar/tools/routing/Routing.ts | 2 +- .../toolbar/tools/routing/RoutingControls.ts | 2 +- website/src/lib/stores.ts | 4 ++-- 7 files changed, 25 insertions(+), 21 deletions(-) diff --git a/gpx/src/gpx.ts b/gpx/src/gpx.ts index d5fc971f..bc083ee5 100644 --- a/gpx/src/gpx.ts +++ b/gpx/src/gpx.ts @@ -221,7 +221,7 @@ export class GPXFile extends GPXTreeNode{ } reverse() { - return this._reverse(); + return this._reverse(this.getEndTimestamp(), this.getStartTimestamp()); } reverseTrack(trackIndex: number) { @@ -349,7 +349,7 @@ export class Track extends GPXTreeNode { return produce(this, (draft) => { let og = getOriginal(draft); // Read as much as possible from the original object because it is faster let trkseg = og.trkseg.slice(); - trkseg[segmentIndex] = trkseg[segmentIndex]._reverse(); + trkseg[segmentIndex] = trkseg[segmentIndex]._reverse(trkseg[segmentIndex].getEndTimestamp(), trkseg[segmentIndex].getStartTimestamp()); draft.trkseg = freeze(trkseg); // Pre-freeze the array, faster as well }); } diff --git a/website/src/lib/components/collapsible-tree/CollapsibleTreeNode.svelte b/website/src/lib/components/collapsible-tree/CollapsibleTreeNode.svelte index 60951e24..7284fd94 100644 --- a/website/src/lib/components/collapsible-tree/CollapsibleTreeNode.svelte +++ b/website/src/lib/components/collapsible-tree/CollapsibleTreeNode.svelte @@ -2,7 +2,7 @@ import * as Collapsible from '$lib/components/ui/collapsible'; import { Button } from '$lib/components/ui/button'; import { ChevronDown, ChevronLeft, ChevronRight } from 'lucide-svelte'; - import { getContext, setContext } from 'svelte'; + import { getContext, onMount, setContext } from 'svelte'; import { get, type Writable } from 'svelte/store'; export let id: string | number; @@ -18,15 +18,16 @@ let fullId = `${parentId}.${id}`; setContext('collapsible-tree-parent-id', fullId); - open.update((value) => { - if (!value.hasOwnProperty(fullId)) { - value[fullId] = defaultState === 'open'; + onMount(() => { + if (!get(open).hasOwnProperty(fullId)) { + open.update((value) => { + value[fullId] = defaultState === 'open'; + return value; + }); } - return value; }); export function openNode() { - if (get(open)[fullId]) return; open.update((value) => { value[fullId] = true; return value; diff --git a/website/src/lib/components/file-list/FileListNodeContent.svelte b/website/src/lib/components/file-list/FileListNodeContent.svelte index 0e2bdaa9..f731ed63 100644 --- a/website/src/lib/components/file-list/FileListNodeContent.svelte +++ b/website/src/lib/components/file-list/FileListNodeContent.svelte @@ -9,13 +9,15 @@ }; let dragging: Writable = writable(null); + + let updating = false;