import { ItemView, WorkspaceLeaf } from "./deps"; import GlobalHistoryComponent from "./GlobalHistory.svelte"; import type ObsidianLiveSyncPlugin from "./main"; export const VIEW_TYPE_GLOBAL_HISTORY = "global-history"; export class GlobalHistoryView extends ItemView { component: GlobalHistoryComponent; plugin: ObsidianLiveSyncPlugin; icon: "clock"; title: string; navigation: true; getIcon(): string { return "clock"; } constructor(leaf: WorkspaceLeaf, plugin: ObsidianLiveSyncPlugin) { super(leaf); this.plugin = plugin; } getViewType() { return VIEW_TYPE_GLOBAL_HISTORY; } getDisplayText() { return "Vault history"; } // eslint-disable-next-line require-await async onOpen() { this.component = new GlobalHistoryComponent({ target: this.contentEl, props: { plugin: this.plugin, }, }); } // eslint-disable-next-line require-await async onClose() { this.component.$destroy(); } }