Add daily note modal click action

This commit is contained in:
2026-03-19 11:14:48 -07:00
parent 0b2e0ce1b6
commit 17ce7efbd1
3 changed files with 20 additions and 6 deletions

View File

@@ -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);
}));
}
}

View File

@@ -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);
});

View File

@@ -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();
});
}
}