Skip to content
This repository was archived by the owner on Jul 28, 2025. It is now read-only.

Commit aaec849

Browse files
committed
reworking de settings
1 parent 9ca2895 commit aaec849

File tree

7 files changed

+69
-35
lines changed

7 files changed

+69
-35
lines changed

dist/main.js

Lines changed: 30 additions & 17 deletions
Large diffs are not rendered by default.

src/Settings.ts

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,27 @@ import { DatabaseView } from "DatabaseView";
55
import { LOGGER } from "services/Logger";
66
import { developer_settings_section } from "settings/DeveloperSection";
77

8+
interface GlobalSettings {
9+
enable_debug_mode: boolean;
10+
logger_level_info: string;
11+
}
812

13+
interface LocalSettings {
14+
enable_show_state: boolean;
15+
}
916
export interface DatabaseSettings {
10-
enable_debug_mode: boolean;
11-
logger_level_info: string;
17+
global_settings: GlobalSettings;
18+
local_settings: LocalSettings;
1219
}
1320

1421
export const DEFAULT_SETTINGS: DatabaseSettings = {
22+
global_settings:{
1523
enable_debug_mode: false,
16-
logger_level_info: "error"
24+
logger_level_info: 'error'
25+
},
26+
local_settings:{
27+
enable_show_state: false
28+
}
1729
};
1830

1931
export type SettingRetriever = <K extends keyof DatabaseSettings>(
@@ -117,6 +129,6 @@ export class DBFolderSettingTab extends PluginSettingTab {
117129

118130
export function loadServicesThatRequireSettings(settings: DatabaseSettings) {
119131
/** Init logger */
120-
LOGGER.setDebugMode(settings.enable_debug_mode);
121-
LOGGER.setLevelInfo(settings.logger_level_info);
132+
LOGGER.setDebugMode(settings.global_settings.enable_debug_mode);
133+
LOGGER.setLevelInfo(settings.global_settings.logger_level_info);
122134
}

src/components/styles/DragableStyle.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ const DraggableStyle = (styleProps:any) => ({
55
userSelect: "none",
66

77
// change background colour if dragging
8-
background: styleProps.dragableProps.isDragging ? "lightgreen" : "grey",
8+
// background: styleProps.dragableProps.isDragging ? "lightgreen" : "grey",
99

1010
...(!styleProps.dragableProps.isDragging && { transform: "translate(0,0)" }),
1111
...(styleProps.dragableProps.isDropAnimating && { transitionDuration: "0.001s" })

src/settings/DeveloperSection.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import { add_setting_header } from 'settings/SettingsComponents';
22
import { SettingHandler } from 'settings/handlers/AbstractSettingHandler';
3-
import { DebugToggleHandler } from 'settings/handlers/DebugToggleSettingHandler';
3+
import { LoggerToggleHandler } from 'settings/handlers/developer/LoggerToggleHandler';
44
import { SettingsManager } from 'Settings';
5-
import { DropDownLevelInfoHandler } from 'settings/handlers/DropDownLevelInfoHandler';
5+
import { LoggerLevelInfoDropDownHandler } from 'settings/handlers/developer/LoggerLevelInfoDropDownHandler';
66

77
/**
88
* developer settings section
@@ -27,7 +27,7 @@ export function developer_settings_section(settingsManager: SettingsManager, con
2727
*/
2828
function getHandlers(): SettingHandler[] {
2929
return [
30-
new DebugToggleHandler(),
31-
new DropDownLevelInfoHandler()
30+
new LoggerToggleHandler(),
31+
new LoggerLevelInfoDropDownHandler()
3232
];
3333
}

src/settings/handlers/DropDownLevelInfoHandler.ts renamed to src/settings/handlers/developer/LoggerLevelInfoDropDownHandler.ts

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@ import { LOGGER } from "services/Logger";
33
import { SettingsManager } from "Settings";
44
import { AbstractSettingsHandler } from "settings/handlers/AbstractSettingHandler";
55

6-
export class DropDownLevelInfoHandler extends AbstractSettingsHandler {
6+
export class LoggerLevelInfoDropDownHandler extends AbstractSettingsHandler {
77
settingTitle: string = 'Enable debug mode';
88
handle(settingsManager: SettingsManager, containerEl: HTMLElement, local: boolean): [string, string][] {
9-
if(!local && settingsManager.plugin.settings.enable_debug_mode){
9+
if(!local && settingsManager.plugin.settings.global_settings.enable_debug_mode){
1010
new Setting(containerEl)
1111
.setName('Select level info of logs')
1212
.setDesc(
@@ -18,10 +18,14 @@ export class DropDownLevelInfoHandler extends AbstractSettingsHandler {
1818
dropdown.addOption('warn', 'warn');
1919
dropdown.addOption('error', 'error');
2020
dropdown.setValue(
21-
settingsManager.plugin.settings.logger_level_info
21+
settingsManager.plugin.settings.global_settings.logger_level_info
2222
);
2323
dropdown.onChange((value) => {
24-
settingsManager.plugin.updateSettings({ logger_level_info: value });
24+
// set dropdown value
25+
const update_global_settings = settingsManager.plugin.settings.global_settings;
26+
update_global_settings.logger_level_info = value;
27+
// update settings
28+
settingsManager.plugin.updateSettings({ global_settings: update_global_settings });
2529
LOGGER.setLevelInfo(value);
2630
});
2731
});

src/settings/handlers/DebugToggleSettingHandler.ts renamed to src/settings/handlers/developer/LoggerToggleHandler.ts

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,20 @@
1-
import { Setting } from "obsidian";
21
import { LOGGER } from "services/Logger";
32
import { SettingsManager } from "Settings";
43
import { add_toggle } from "settings/SettingsComponents";
54
import { AbstractSettingsHandler } from "settings/handlers/AbstractSettingHandler";
6-
export class DebugToggleHandler extends AbstractSettingsHandler {
5+
export class LoggerToggleHandler extends AbstractSettingsHandler {
76
settingTitle: string = 'Enable debug mode';
87
handle(settingsManager: SettingsManager, containerEl: HTMLElement, local: boolean): [string, string][] {
98
// pass if modal opened from local settings
109
if(!local){
1110
let debug_togle_promise = async (value: boolean): Promise<void> => {
12-
await settingsManager.plugin.updateSettings({ enable_debug_mode: value });
11+
// set debug mode
12+
const update_global_settings = settingsManager.plugin.settings.global_settings;
13+
update_global_settings.enable_debug_mode = value;
14+
// update settings
15+
await settingsManager.plugin.updateSettings({
16+
global_settings:update_global_settings
17+
});
1318
LOGGER.setDebugMode(value);
1419
// Force refresh of settings
1520
settingsManager.constructSettingBody(containerEl, local);
@@ -18,7 +23,7 @@ export class DebugToggleHandler extends AbstractSettingsHandler {
1823
containerEl,
1924
this.settingTitle,
2025
"This will log all the errors and warnings in the console",
21-
settingsManager.plugin.settings.enable_debug_mode,
26+
settingsManager.plugin.settings.global_settings.enable_debug_mode,
2227
debug_togle_promise);
2328
}
2429
// Check next handler

src/settings/handlers/developer/TableStateToggleHandler.ts

Whitespace-only changes.

0 commit comments

Comments
 (0)