From 9bf3bb6e138a6c1557d4721cfb3ef7cfd8c99757 Mon Sep 17 00:00:00 2001 From: poanse <50020771+poanse@users.noreply.github.com> Date: Fri, 20 Feb 2026 03:58:33 +0300 Subject: [PATCH] added undo redo buttons --- src/TaskmapView.ts | 3 +- src/Tooltip.ts | 15 +- src/components/SettingsButton.svelte | 141 ++++++++++++++++++ src/components/SettingsPanel.svelte | 55 +++++++ src/components/Task.svelte | 17 ++- src/components/TaskText.svelte | 2 +- src/components/TaskmapContainer.svelte | 8 +- src/data/Action.ts | 10 ++ ...oryManager.ts => HistoryManager.svelte.ts} | 8 +- src/data/VersionedData.ts | 28 +++- src/types.ts | 7 + 11 files changed, 277 insertions(+), 17 deletions(-) create mode 100644 src/components/SettingsButton.svelte create mode 100644 src/components/SettingsPanel.svelte rename src/data/{HistoryManager.ts => HistoryManager.svelte.ts} (84%) diff --git a/src/TaskmapView.ts b/src/TaskmapView.ts index 0c9eeb2..fe4fa3e 100644 --- a/src/TaskmapView.ts +++ b/src/TaskmapView.ts @@ -7,7 +7,7 @@ import TaskmapContainer from "./components/TaskmapContainer.svelte"; import { deserializeProjectData, updateFile } from "./SaveManager"; import type TaskmapPlugin from "./main"; import { VersionedData } from "./data/VersionedData"; -import { HistoryManager } from "./data/HistoryManager"; +import { HistoryManager } from "./data/HistoryManager.svelte"; export const TASKMAP_VIEW_TYPE = "taskmap-view"; @@ -47,6 +47,7 @@ export class TaskmapView extends TextFileView { this.app, new NodePositionsCalculator(), ); + this.contentEl.addClass("taskmap-view-container"); this.taskmapContainer = mount(TaskmapContainer, { target: this.contentEl, props: { diff --git a/src/Tooltip.ts b/src/Tooltip.ts index 2177ff4..39fdcf7 100644 --- a/src/Tooltip.ts +++ b/src/Tooltip.ts @@ -1,5 +1,5 @@ import { setTooltip } from "obsidian"; -import { IconCode } from "./types"; +import { IconCode, SettingsIconCode } from "./types"; /** * Svelte Action to add an Obsidian-native tooltip to an element. @@ -54,3 +54,16 @@ export function getTooltipText(code: IconCode) { return "placeholder tooltip"; } } + +export function getTooltipTextSettings(code: SettingsIconCode) { + switch (code) { + case SettingsIconCode.SETTINGS_MENU: + return "WIP (Settings)"; + case SettingsIconCode.SETTINGS_REDO: + return "Redo"; + case SettingsIconCode.SETTINGS_UNDO: + return "Undo"; + default: + return "placeholder tooltip"; + } +} diff --git a/src/components/SettingsButton.svelte b/src/components/SettingsButton.svelte new file mode 100644 index 0000000..f04915f --- /dev/null +++ b/src/components/SettingsButton.svelte @@ -0,0 +1,141 @@ + + +
+ + diff --git a/src/components/SettingsPanel.svelte b/src/components/SettingsPanel.svelte new file mode 100644 index 0000000..c069c5d --- /dev/null +++ b/src/components/SettingsPanel.svelte @@ -0,0 +1,55 @@ + + +{#if !context.taskDraggingManager.isDragging} +