mirror of
https://github.com/yzh503/obsidian-aicommander-plugin.git
synced 2026-07-22 07:40:26 +00:00
44 lines
898 B
TypeScript
44 lines
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();
|
||
|
|
}
|
||
|
|
}
|