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[],