@@ -32,15 +32,16 @@ const settings = (() => {
3232 setting . onChange ( $ ( e . target ) ) ;
3333 } ) ;
3434 const label = $ ( `<label for="${ key } ">` ) . html ( setting . name ) ;
35- if ( setting . disabled ) {
35+ const disabled = ( typeof setting . disabled === 'function' ? setting . disabled ( ) : setting . disabled ) === true ;
36+ if ( disabled ) {
3637 el . prop ( 'disabled' , true ) ;
3738 label . css ( {
3839 color : '#666' ,
3940 cursor : 'not-allowed' ,
4041 } ) ;
4142 }
4243 ret . append ( el , ' ' , label ) ;
43- if ( setting . note ) {
44+ if ( ! disabled && setting . note ) {
4445 const note = typeof setting . note === 'function' ? setting . note ( ) : setting . note ;
4546 if ( note ) { // Functions can return null
4647 ret . hover ( hover . show ( note ) ) ;
@@ -67,7 +68,7 @@ const settings = (() => {
6768 name : data . name || setting . key ,
6869 type : data . type || 'boolean' ,
6970 note : data . note ,
70- disabled : data . disabled === true ,
71+ disabled : data . disabled ,
7172 default : data . default ,
7273 options : data . options ,
7374 } ;
@@ -156,8 +157,20 @@ const settings = (() => {
156157 return dialog !== null ;
157158 }
158159
160+ function value ( key ) {
161+ let val = localStorage . getItem ( key ) ;
162+ const setting = { } ; // Get setting somehow
163+ if ( setting . type === 'boolean' ) {
164+ return val === '1' ;
165+ } else if ( setting . type === 'select' ) {
166+ // Current value,
167+ return val || setting . default || setting . options [ 0 ] ;
168+ }
169+ return val || setting . default ;
170+ }
171+
159172 return {
160- open, close, setDisplayName, isOpen,
173+ open, close, setDisplayName, isOpen, value ,
161174 register : add ,
162175 } ;
163176} ) ( ) ;
0 commit comments