functional undo-redo

This commit is contained in:
vcoppe
2024-04-30 22:35:54 +02:00
parent 667c94a4c4
commit f24a7ba427
7 changed files with 118 additions and 40 deletions

View File

@@ -14,6 +14,22 @@ export const fileOrder = writable<string[]>([]);
export const selectedFiles = writable<Set<string>>(new Set());
export const selectFiles = writable<{ [key: string]: (fileId?: string) => void }>({});
filestore.subscribe((files) => { // Update selectedFiles if a file is deleted
let deletedFileIds: string[] = [];
get(selectedFiles).forEach((fileId) => {
if (!files.find((f) => f._data.id === fileId)) {
deletedFileIds.push(fileId);
}
});
if (deletedFileIds.length > 0) {
selectedFiles.update((selectedFiles) => {
deletedFileIds.forEach((fileId) => selectedFiles.delete(fileId));
return selectedFiles;
});
}
});
export const gpxData = writable(new GPXFiles([]).getTrackPointsAndStatistics());
function updateGPXData() {