@@ -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