mirror of
https://github.com/groldsf/obsidian_check_plugin.git
synced 2026-07-22 05:37:48 +00:00
51 lines
No EOL
2 KiB
TypeScript
51 lines
No EOL
2 KiB
TypeScript
import { App, PluginSettingTab, Setting } from "obsidian";
|
|
import CheckboxSyncPlugin from "./main";
|
|
|
|
export class CheckboxSyncPluginSettingTab extends PluginSettingTab {
|
|
plugin: CheckboxSyncPlugin;
|
|
|
|
constructor(app: App, plugin: CheckboxSyncPlugin) {
|
|
super(app, plugin);
|
|
this.plugin = plugin;
|
|
}
|
|
|
|
display(): void {
|
|
const { containerEl } = this;
|
|
containerEl.empty();
|
|
|
|
new Setting(containerEl)
|
|
.setName("X-Only Mode")
|
|
.setDesc("When enabled, only 'x' marks a task as complete. When disabled, any character except space marks a task as complete")
|
|
.addToggle((toggle) =>
|
|
toggle
|
|
.setValue(this.plugin.settings.xOnlyMode)
|
|
.onChange(async (value) => {
|
|
await this.plugin.updateSettings(settings => {
|
|
settings.xOnlyMode = value;
|
|
});
|
|
})
|
|
);
|
|
|
|
new Setting(containerEl)
|
|
.setName('Update parent checkbox state automatically')
|
|
.setDesc('If enabled, the state of a parent checkbox will be automatically updated based on the state of its children (all children checked = parent checked). If disabled, only manually changing a parent will affect its children.')
|
|
.addToggle(toggle => toggle
|
|
.setValue(this.plugin.settings.enableAutomaticParentState)
|
|
.onChange(async (value) => {
|
|
await this.plugin.updateSettings(settings => {
|
|
settings.enableAutomaticParentState = value;
|
|
});
|
|
}));
|
|
|
|
new Setting(containerEl)
|
|
.setName('Update child checkbox state automatically')
|
|
.setDesc('If enabled, changing the state of a parent checkbox will automatically update the state of all its direct and nested children. If disabled, changing a parent checkbox will not affect its children.')
|
|
.addToggle(toggle => toggle
|
|
.setValue(this.plugin.settings.enableAutomaticChildState)
|
|
.onChange(async (value) => {
|
|
await this.plugin.updateSettings(settings => {
|
|
settings.enableAutomaticChildState = value;
|
|
});
|
|
}));
|
|
}
|
|
} |