al0cam_AutoMover/Settings/Settings.ts
2025-10-25 20:02:46 +02:00

39 lines
1,020 B
TypeScript

import type AutoMoverPlugin from "main";
import type { ExclusionRule } from "Models/ExclusionRule";
import type { MovingRule } from "Models/MovingRule";
export interface AutoMoverSettings {
moveOnOpen: boolean;
// moveOnSave: boolean;
movingRules: MovingRule[];
exclusionRules: ExclusionRule[];
tagRules: MovingRule[];
automaticMoving: boolean;
timer: number | null; // in miliseconds
collapseSections: {
tutorial: boolean;
movingRules: boolean;
exclusionRules: boolean;
tagRules: boolean;
};
}
export const DEFAULT_SETTINGS: Partial<AutoMoverSettings> = {
moveOnOpen: true,
// moveOnSave: true,
movingRules: [],
exclusionRules: [],
tagRules: [],
automaticMoving: false,
timer: null,
collapseSections: {
tutorial: false,
movingRules: false,
exclusionRules: false,
tagRules: false,
},
};
function loadSettings(AutoMoverPlugin: AutoMoverPlugin): Partial<AutoMoverSettings> {
return Object.assign({}, DEFAULT_SETTINGS, AutoMoverPlugin.loadData());
}