ref type to enum

This commit is contained in:
Grol Grol 2025-04-22 00:28:26 +03:00
parent f567160324
commit 01ed090ad6
3 changed files with 13 additions and 9 deletions

View file

@ -1,6 +1,6 @@
import { App, ButtonComponent, DropdownComponent, Notice, PluginSettingTab, Setting, TextComponent, ToggleComponent } from "obsidian";
import CheckboxSyncPlugin from "./main";
import { UnknownSymbolPolicy } from "./types";
import { UnknownSymbolPolicyEnum } from "./types";
export class CheckboxSyncPluginSettingTab extends PluginSettingTab {
plugin: CheckboxSyncPlugin;
@ -116,9 +116,9 @@ export class CheckboxSyncPluginSettingTab extends PluginSettingTab {
.addDropdown(dropdown => {
this.unknownPolicyDropdown = dropdown;
dropdown
.addOption('checked', 'Treat as Checked')
.addOption('unchecked', 'Treat as Unchecked')
.addOption('ignore', 'Ignore')
.addOption(UnknownSymbolPolicyEnum.Checked, 'Treat as Checked')
.addOption(UnknownSymbolPolicyEnum.Unchecked, 'Treat as Unchecked')
.addOption(UnknownSymbolPolicyEnum.Ignore, 'Ignore')
.setValue(this.plugin.settings.unknownSymbolPolicy)
.onChange(() => this.applyButton.setDisabled(false))
});
@ -178,7 +178,7 @@ export class CheckboxSyncPluginSettingTab extends PluginSettingTab {
try {
const checkedValue = this.checkedSymbolsInput.getValue();
const uncheckedValue = this.uncheckedSymbolsInput.getValue();
const policyValue = this.unknownPolicyDropdown.getValue() as UnknownSymbolPolicy;
const policyValue = this.unknownPolicyDropdown.getValue() as UnknownSymbolPolicyEnum;
const parentValue = this.parentToggle.getValue();
const childValue = this.childToggle.getValue();

View file

@ -3,7 +3,7 @@ import { CheckboxSyncPluginSettingTab } from "./CheckboxSyncPluginSettingTab";
import { CheckboxUtils } from "./checkboxUtils";
import FileStateHolder from "./FileStateHolder";
import SyncController from "./SyncController";
import { CheckboxSyncPluginSettings } from "./types";
import { CheckboxSyncPluginSettings, UnknownSymbolPolicyEnum } from "./types";
import { FileLoadEventHandler } from "./events/FileLoadEventHandler";
import { FileChangeEventHandler } from "./events/FileChangeEventHandler";
@ -13,7 +13,7 @@ const DEFAULT_SETTINGS: CheckboxSyncPluginSettings = {
enableAutomaticChildState: true,
checkedSymbols: ['x'],
uncheckedSymbols: [' '],
unknownSymbolPolicy: 'checked',
unknownSymbolPolicy: UnknownSymbolPolicyEnum.Checked,
};
export default class CheckboxSyncPlugin extends Plugin {

View file

@ -1,4 +1,8 @@
export type UnknownSymbolPolicy = 'checked' | 'unchecked' | 'ignore';
export enum UnknownSymbolPolicyEnum {
Checked = 'checked',
Unchecked = 'unchecked',
Ignore = 'ignore'
}
export interface CheckboxSyncPluginSettings {
xOnlyMode: boolean;
@ -6,5 +10,5 @@ export interface CheckboxSyncPluginSettings {
enableAutomaticChildState: boolean;
checkedSymbols: string[];
uncheckedSymbols: string[];
unknownSymbolPolicy: UnknownSymbolPolicy;
unknownSymbolPolicy: UnknownSymbolPolicyEnum;
}