1+ /*
2+ * Copyright (c) 2023 by frostime. All Rights Reserved.
3+ * @Author : frostime
4+ * @Date : 2023-09-16 18:05:00
5+ * @FilePath : /src/libs/setting-utils.ts
6+ * @LastEditTime : 2023-09-16 18:17:03
7+ * @Description : A utility for siyuan plugin settings
8+ */
9+
110import { Plugin , Setting } from 'siyuan' ;
211
312export class SettingUtils {
@@ -33,6 +42,9 @@ export class SettingUtils {
3342 item . value = data ?. [ key ] ?? item . value ;
3443 }
3544 }
45+ this . plugin . data [ this . name ] = this . dump ( ) ;
46+ console . log ( data ) ;
47+ return data ;
3648 }
3749
3850 async save ( ) {
@@ -89,12 +101,15 @@ export class SettingUtils {
89101 case 'slider' :
90102 let sliderElement : HTMLInputElement = document . createElement ( 'input' ) ;
91103 sliderElement . type = 'range' ;
92- sliderElement . className = 'b3-slider fn__size200' ;
104+ sliderElement . className = 'b3-slider fn__size200 b3-tooltips b3-tooltips__n ' ;
93105 sliderElement . ariaLabel = item . value ;
94106 sliderElement . min = item . slider ?. min . toString ( ) ?? '0' ;
95107 sliderElement . max = item . slider ?. max . toString ( ) ?? '100' ;
96108 sliderElement . step = item . slider ?. step . toString ( ) ?? '1' ;
97109 sliderElement . value = item . value ;
110+ sliderElement . onchange = ( ) => {
111+ sliderElement . ariaLabel = sliderElement . value ;
112+ }
98113 itemElement = sliderElement ;
99114 break ;
100115 case 'textinput' :
@@ -154,6 +169,7 @@ export class SettingUtils {
154169 private updateValue ( key : string ) {
155170 let item = this . settings . get ( key ) ;
156171 let element = this . elements . get ( key ) as any ;
172+ console . log ( element , element ?. value ) ;
157173 switch ( item . type ) {
158174 case 'checkbox' :
159175 item . value = element . checked ;
@@ -162,7 +178,7 @@ export class SettingUtils {
162178 item . value = element . value ;
163179 break ;
164180 case 'slider' :
165- item . value = element . value ;
181+ item . value = parseInt ( element . value ) ;
166182 break ;
167183 case 'textinput' :
168184 item . value = element . value ;
0 commit comments