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

Commit 896ae6f

Browse files
committed
default pagination size
1 parent 3c63792 commit 896ae6f

File tree

1 file changed

+46
-22
lines changed

1 file changed

+46
-22
lines changed

src/settings/handlers/rows/PaginationSizeHandler.ts

Lines changed: 46 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -13,31 +13,55 @@ export class PaginationSizeHandler extends AbstractSettingsHandler {
1313
settingTitle = t("settings_pagination_size_title");
1414
slider: SliderComponent;
1515
handle(settingHandlerResponse: SettingHandlerResponse): SettingHandlerResponse {
16-
const { local, containerEl, view } = settingHandlerResponse;
17-
if (local) {
18-
const pagination_size_promise = async (value: number): Promise<void> => {
16+
const { local, containerEl, view, settingsManager } = settingHandlerResponse;
17+
18+
const pagination_size_promise = async (value: number): Promise<void> => {
19+
if (local) {
1920
// update settings
2021
view.diskConfig.updateConfig({ pagination_size: value });
21-
};
22-
// Local settings support
23-
new Setting(containerEl)
24-
.setName(this.settingTitle)
25-
.setDesc(t("settings_pagination_size_desc"))
26-
.addSlider((slider) => {
27-
this.slider = slider;
28-
slider.setDynamicTooltip()
29-
.setValue(view.diskConfig.yaml.config.pagination_size)
30-
.setLimits(LIMITS.MIN, LIMITS.MAX, LIMITS.STEP)
31-
.onChange(pagination_size_promise);
32-
}).addExtraButton((cb) => {
33-
cb.setIcon("reset")
34-
.setTooltip(t("settings_default_values"))
35-
.onClick(async (): Promise<void> => {
36-
view.diskConfig.updateConfig({ font_size: DEFAULT_SETTINGS.local_settings.pagination_size });
37-
this.slider.setValue(DEFAULT_SETTINGS.local_settings.pagination_size);
38-
});
22+
} else {
23+
// set debug mode
24+
const update_local_settings = settingsManager.plugin.settings.local_settings;
25+
update_local_settings.pagination_size = value;
26+
// update settings
27+
await settingsManager.plugin.updateSettings({
28+
local_settings: update_local_settings
3929
});
40-
}
30+
}
31+
};
32+
// Local settings support
33+
new Setting(containerEl)
34+
.setName(this.settingTitle)
35+
.setDesc(t("settings_pagination_size_desc"))
36+
.addSlider((slider) => {
37+
this.slider = slider;
38+
slider.setDynamicTooltip()
39+
.setValue(
40+
local ?
41+
view.diskConfig.yaml.config.pagination_size :
42+
settingsManager.plugin.settings.local_settings.pagination_size
43+
)
44+
.setLimits(LIMITS.MIN, LIMITS.MAX, LIMITS.STEP)
45+
.onChange(pagination_size_promise);
46+
}).addExtraButton((cb) => {
47+
cb.setIcon("reset")
48+
.setTooltip(t("settings_default_values"))
49+
.onClick(async (): Promise<void> => {
50+
if (local) {
51+
view.diskConfig.updateConfig({ font_size: DEFAULT_SETTINGS.local_settings.pagination_size });
52+
} else {
53+
// set debug mode
54+
const update_local_settings = settingsManager.plugin.settings.local_settings;
55+
update_local_settings.pagination_size = DEFAULT_SETTINGS.local_settings.pagination_size;
56+
// update settings
57+
await settingsManager.plugin.updateSettings({
58+
local_settings: update_local_settings
59+
});
60+
}
61+
this.slider.setValue(DEFAULT_SETTINGS.local_settings.pagination_size);
62+
});
63+
});
64+
4165
return this.goNext(settingHandlerResponse);
4266
}
4367
}

0 commit comments

Comments
 (0)