diff --git a/src/modals/daily-note-select-modal.ts b/src/modals/daily-note-select-modal.ts index 50baf80..bf2b671 100644 --- a/src/modals/daily-note-select-modal.ts +++ b/src/modals/daily-note-select-modal.ts @@ -1,7 +1,8 @@ -import { App, Modal, Setting } from 'obsidian'; +import { TodoItem } from 'core/types'; +import { App, Modal, Setting, TFile } from 'obsidian'; export class DailyNoteSelectModal extends Modal { - constructor(app: App, onSubmit: (result: string) => void) { + constructor(app: App, todo: TodoItem, file: TFile) { super(app); this.setTitle('Select a daily note'); @@ -9,7 +10,9 @@ export class DailyNoteSelectModal extends Modal { new Setting(this.contentEl) .setName('Date') .addMomentFormat((component) => { - + component.onChange((value) => { + name = value; + }); }); new Setting(this.contentEl) @@ -19,7 +22,8 @@ export class DailyNoteSelectModal extends Modal { .setCta() .onClick(() => { this.close(); - onSubmit(name); + // do some stuff + console.debug(name); })); } } diff --git a/src/views/todo-item-component.ts b/src/views/todo-item-component.ts index 766c6a3..9078c4e 100644 --- a/src/views/todo-item-component.ts +++ b/src/views/todo-item-component.ts @@ -64,6 +64,14 @@ export function createTodoItemEl( callbacks.onMoveClick(todo); }); }); + menu.addItem((item) => { + item + .setTitle('Move to daily note...') + .setIcon('arrow-right') + .onClick(() => { + callbacks.onMoveDailyNoteClick(todo); + }); + }); menu.showAtMouseEvent(evt); }); diff --git a/src/views/todo-sidebar-view.ts b/src/views/todo-sidebar-view.ts index 3f7d8ca..7ab8756 100644 --- a/src/views/todo-sidebar-view.ts +++ b/src/views/todo-sidebar-view.ts @@ -353,7 +353,9 @@ export class TodoSidebarView extends ItemView { }); } - private handleMoveDailyNoteClick(t: TodoItem, file: TFile): void { - + private handleMoveDailyNoteClick(todo: TodoItem, file: TFile): void { + void import('../modals/daily-note-select-modal').then(({ DailyNoteSelectModal }) => { + new DailyNoteSelectModal(this.app, todo, file).open(); + }); } }