39 lines
818 B
TypeScript
39 lines
818 B
TypeScript
import { App, PluginSettingTab, Setting } from 'obsidian';
|
|
import MyPlugin from './main';
|
|
|
|
export interface MyPluginSettings {
|
|
mySetting: string;
|
|
}
|
|
|
|
export const DEFAULT_SETTINGS: MyPluginSettings = {
|
|
mySetting: 'default',
|
|
};
|
|
|
|
export class SampleSettingTab extends PluginSettingTab {
|
|
plugin: MyPlugin;
|
|
|
|
constructor(app: App, plugin: MyPlugin) {
|
|
super(app, plugin);
|
|
this.plugin = plugin;
|
|
}
|
|
|
|
display(): void {
|
|
const { containerEl } = this;
|
|
|
|
containerEl.empty();
|
|
|
|
new Setting(containerEl)
|
|
.setName('Settings #1')
|
|
.setDesc("It's a secret")
|
|
.addText((text) =>
|
|
text
|
|
.setPlaceholder('Enter your secret')
|
|
.setValue(this.plugin.settings.mySetting)
|
|
.onChange(async (value) => {
|
|
this.plugin.settings.mySetting = value;
|
|
await this.plugin.saveSettings();
|
|
}),
|
|
);
|
|
}
|
|
}
|