ObsidianSimpleTimeTracker/src/settings-tab.ts

39 lines
1.7 KiB
TypeScript
Raw Normal View History

2022-09-28 13:18:37 +02:00
import { App, PluginSettingTab, Setting } from "obsidian";
2022-09-27 15:36:25 +02:00
import SimpleTimeTrackerPlugin from "./main";
2022-09-28 13:18:37 +02:00
import { defaultSettings } from "./settings";
2022-09-27 15:36:25 +02:00
export class SimpleTimeTrackerSettingsTab extends PluginSettingTab {
plugin: SimpleTimeTrackerPlugin;
constructor(app: App, plugin: SimpleTimeTrackerPlugin) {
super(app, plugin);
this.plugin = plugin;
}
display(): void {
this.containerEl.empty();
2022-09-27 22:15:16 +02:00
this.containerEl.createEl("h2", { text: "Super Simple Time Tracker Settings" });
2022-09-27 15:36:25 +02:00
2022-09-28 13:18:37 +02:00
new Setting(this.containerEl)
.setName("Timestamp Display Format")
.setDesc(createFragment(f => {
f.createSpan({ text: "The way that timestamps in time tracker tables should be displayed. Uses " });
f.createEl("a", { text: "moment.js", href: "https://momentjs.com/docs/#/parsing/string-format/" });
f.createSpan({ text: " syntax. Clear to reset to default." });
}))
.addText(t => {
t.setValue(String(this.plugin.settings.timestampFormat));
t.onChange(async v => {
this.plugin.settings.timestampFormat = v.length ? v : defaultSettings.timestampFormat;
await this.plugin.saveSettings();
});
});
2022-09-27 15:36:25 +02:00
this.containerEl.createEl("hr");
this.containerEl.createEl("p", { text: "If you like this plugin and want to support its development, you can do so through my website by clicking this fancy image!" });
this.containerEl.createEl("a", { href: "https://ellpeck.de/support" })
.createEl("img", { attr: { src: "https://ellpeck.de/res/generalsupport.png" }, cls: "simple-time-tracker-support" });
}
}