From 9fa8fe5767a78873e5fe0ddbe7c53f2ebe69f61f Mon Sep 17 00:00:00 2001 From: vcoppe Date: Sat, 18 Oct 2025 09:36:55 +0200 Subject: [PATCH] fix copied & cut stores --- website/src/lib/components/Menu.svelte | 8 ++++---- website/src/lib/components/file-list/FileList.svelte | 8 ++++---- .../lib/components/file-list/FileListNodeLabel.svelte | 11 +++++------ website/src/lib/logic/file-actions.ts | 6 +++--- website/src/lib/logic/selection.ts | 2 ++ 5 files changed, 18 insertions(+), 17 deletions(-) diff --git a/website/src/lib/components/Menu.svelte b/website/src/lib/components/Menu.svelte index 735487a4..85834adc 100644 --- a/website/src/lib/components/Menu.svelte +++ b/website/src/lib/components/Menu.svelte @@ -71,7 +71,7 @@ } from '$lib/logic/file-actions'; import { fileStateCollection } from '$lib/logic/file-state'; import { fileActionManager } from '$lib/logic/file-action-manager'; - import { selection } from '$lib/logic/selection'; + import { copied, selection } from '$lib/logic/selection'; const { distanceUnits, @@ -317,10 +317,10 @@ 0 && - !allowedPastes[selection.copied[0].level].includes( + !allowedPastes[$copied[0].level].includes( $selection.getSelected().pop()?.level ))} onclick={pasteSelection} diff --git a/website/src/lib/components/file-list/FileList.svelte b/website/src/lib/components/file-list/FileList.svelte index f93bb6b9..3b8afa2f 100644 --- a/website/src/lib/components/file-list/FileList.svelte +++ b/website/src/lib/components/file-list/FileList.svelte @@ -10,7 +10,7 @@ import { settings } from '$lib/logic/settings'; import { fileStateCollection } from '$lib/logic/file-state'; import { createFile, pasteSelection } from '$lib/logic/file-actions'; - import { selection } from '$lib/logic/selection'; + import { selection, copied } from '$lib/logic/selection'; let { orientation, @@ -86,9 +86,9 @@ diff --git a/website/src/lib/components/file-list/FileListNodeLabel.svelte b/website/src/lib/components/file-list/FileListNodeLabel.svelte index ec3a4e52..49d239d0 100644 --- a/website/src/lib/components/file-list/FileListNodeLabel.svelte +++ b/website/src/lib/components/file-list/FileListNodeLabel.svelte @@ -37,7 +37,7 @@ import { editStyle } from '$lib/components/file-list/style/utils.svelte'; import { waypointPopup } from '$lib/components/map/gpx-layer/GPXLayerPopup'; import { getSymbolKey, symbols } from '$lib/assets/symbols'; - import { selection } from '$lib/logic/selection'; + import { selection, copied, cut } from '$lib/logic/selection'; import { map } from '$lib/components/map/map'; import { fileActions, pasteSelection } from '$lib/logic/file-actions'; @@ -151,8 +151,7 @@ { @@ -310,9 +309,9 @@ diff --git a/website/src/lib/logic/file-actions.ts b/website/src/lib/logic/file-actions.ts index 9783ed56..8acf740a 100644 --- a/website/src/lib/logic/file-actions.ts +++ b/website/src/lib/logic/file-actions.ts @@ -1,6 +1,6 @@ import { fileStateCollection } from '$lib/logic/file-state'; import { fileActionManager } from '$lib/logic/file-action-manager'; -import { selection } from '$lib/logic/selection'; +import { copied, cut, selection } from '$lib/logic/selection'; import { currentTool, Tool } from '$lib/components/toolbar/tools'; import type { SplitType } from '$lib/components/toolbar/tools/scissors/scissors'; import { @@ -927,7 +927,7 @@ export const fileActions = { }; export function pasteSelection() { - let fromItems = selection.copied; + let fromItems = get(copied); if (fromItems === undefined || fromItems.length === 0) { return; } @@ -1007,7 +1007,7 @@ export function pasteSelection() { } if (fromItems.length === toItems.length) { - moveItems(fromParent, toParent, fromItems, toItems, selection.cut); + moveItems(fromParent, toParent, fromItems, toItems, get(cut)); selection.resetCopied(); } } diff --git a/website/src/lib/logic/selection.ts b/website/src/lib/logic/selection.ts index 3f0db604..85314870 100644 --- a/website/src/lib/logic/selection.ts +++ b/website/src/lib/logic/selection.ts @@ -212,6 +212,8 @@ export class Selection { } export const selection = new Selection(); +export const copied = selection.copied; +export const cut = selection.cut; export function applyToOrderedItemsFromFile( selectedItems: ListItem[],