@@ -5,6 +5,7 @@ var tabEl,
5
5
wordWrapEl ,
6
6
sortingOrderEl ,
7
7
rawUnicodeEscapesEl ,
8
+ contextMenusEl ,
8
9
options = { } ,
9
10
bucket = "JSON_FORMATTER_OPTIONS" ;
10
11
@@ -16,7 +17,8 @@ window.addEventListener("load", async () => {
16
17
darkThemeEl = document . getElementById ( "dark_theme" ) ;
17
18
wordWrapEl = document . getElementById ( "word_wrap" ) ;
18
19
sortingOrderEl = document . getElementById ( "sorting_order" ) ;
19
- rawUnicodeEscapesEl = document . getElementById ( "raw_unicode_escapes" ) ;
20
+ rawUnicodeEscapesEl = document . getElementById ( "raw_unicode_escapes" )
21
+ contextMenusEl = document . getElementById ( "context_menus" ) ;
20
22
21
23
await fetchExtensionSettings ( ) ;
22
24
console . log ( options ) ;
@@ -46,6 +48,7 @@ window.addEventListener("load", async () => {
46
48
wordWrapEl . value = options . wordWrap ;
47
49
sortingOrderEl . value = options . sortingOrder ;
48
50
rawUnicodeEscapesEl . value = options . rawUnicodeEscapes ;
51
+ contextMenusEl . value = options . contextMenus ;
49
52
}
50
53
async function fetchExtensionSettings ( ) {
51
54
// Get Options
@@ -57,9 +60,10 @@ window.addEventListener("load", async () => {
57
60
Object . assign ( options , globalThis . sharedData . defaultOptions ) ;
58
61
}
59
62
else {
60
- if ( ! data [ bucket ] . hasOwnProperty ( "themes" ) || ! data [ bucket ] . hasOwnProperty ( "colorScheme" ) || ! data [ bucket ] . hasOwnProperty ( "wordWrap" ) || ! data [ bucket ] . hasOwnProperty ( "sortingOrder" ) ) {
63
+ if ( ! data [ bucket ] . hasOwnProperty ( "themes" ) || ! data [ bucket ] . hasOwnProperty ( "colorScheme" ) || ! data [ bucket ] . hasOwnProperty ( "wordWrap" ) || ! data [ bucket ] . hasOwnProperty ( "sortingOrder" ) || ! data [ bucket ] . hasOwnProperty ( "rawUnicodeEscapes" ) || ! data [ bucket ] . hasOwnProperty ( "contextMenus" ) ) {
61
64
// still has old data format, update it to new format
62
65
let newDataFormat = Object . assign ( { } , globalThis . sharedData . defaultOptions ) ;
66
+ console . log ( newDataFormat ) ;
63
67
if ( data [ bucket ] . themeMode == "auto" ) {
64
68
newDataFormat . colorScheme = "auto" ;
65
69
}
@@ -71,8 +75,16 @@ window.addEventListener("load", async () => {
71
75
newDataFormat . colorScheme = "light" ;
72
76
}
73
77
}
74
- newDataFormat . tab = data [ bucket ] . defaultTab ;
78
+ if ( data [ bucket ] . defaultTab ) {
79
+ newDataFormat . tab = data [ bucket ] . defaultTab ;
80
+ }
81
+
82
+ delete data [ bucket ] . themeMode ;
83
+ delete data [ bucket ] . currentTheme ;
84
+ delete data [ bucket ] . defaultTab ;
75
85
86
+ newDataFormat = { ...newDataFormat , ...data [ bucket ] } ;
87
+ console . log ( newDataFormat ) ;
76
88
Object . assign ( options , newDataFormat ) ;
77
89
await chrome . storage . local . set ( { [ bucket ] : newDataFormat } ) ;
78
90
}
@@ -146,4 +158,10 @@ window.addEventListener("load", async () => {
146
158
options . rawUnicodeEscapes = e . target . value == "true" ? true : false ;
147
159
await chrome . storage . local . set ( { [ bucket ] : options } ) ;
148
160
} ) ;
161
+
162
+ contextMenusEl . addEventListener ( "input" , async ( e ) => {
163
+ if ( options . contextMenus == e . target . value ) return ;
164
+ options . contextMenus = e . target . value == "true" ? true : false ;
165
+ await chrome . storage . local . set ( { [ bucket ] : options } ) ;
166
+ } ) ;
149
167
} ) ;
0 commit comments