mikejongbloet_obsidian-get-.../modal.ts
2023-04-02 21:46:46 +01:00

44 lines
851 B
TypeScript

import { App, Modal, Setting } from "obsidian";
export class InsertLinkModal extends Modal {
ticker: string;
onSubmit: (ticker: string) => void;
constructor(
app: App,
defaultTicker: string,
onSubmit: (ticker: string) => void
) {
super(app);
this.ticker = defaultTicker;
this.onSubmit = onSubmit;
}
onOpen() {
const { contentEl } = this;
contentEl.createEl("h1", { text: "Insert stock information" });
new Setting(contentEl).setName("Stock ticker").addText((text) =>
text.setValue(this.ticker).onChange((value) => {
this.ticker = value;
})
);
new Setting(contentEl).addButton((btn) =>
btn
.setButtonText("Get stock information")
.setCta()
.onClick(() => {
this.close();
this.onSubmit(this.ticker);
})
);
}
onClose() {
let { contentEl } = this;
contentEl.empty();
}
}