yzh503_obsidian-aicommander.../src/modal.ts
2023-03-16 04:09:43 +11:00

44 lines
No EOL
898 B
TypeScript

import { App, Modal, Setting } from "obsidian";
export class PromptModal extends Modal {
prompt: string;
onSubmit: (prompt: string) => void;
constructor(
app: App,
defaultprompt: string,
onSubmit: (prompt: string) => void
) {
super(app);
this.prompt = defaultprompt;
this.onSubmit = onSubmit;
}
onOpen() {
const { contentEl } = this;
contentEl.createEl("h1", { text: "" });
new Setting(contentEl).setName("Generate text from prompt").addText((text) =>
text.setValue(this.prompt).onChange((value) => {
this.prompt = value;
})
);
new Setting(contentEl).addButton((btn) =>
btn
.setButtonText("Submit")
.setCta()
.onClick(() => {
this.close();
this.onSubmit(this.prompt);
})
);
}
onClose() {
const { contentEl } = this;
contentEl.empty();
}
}