@@ -5,6 +5,7 @@ var tabEl,
55  wordWrapEl , 
66  sortingOrderEl , 
77  rawUnicodeEscapesEl , 
8+   contextMenusEl , 
89  options  =  { } , 
910  bucket  =  "JSON_FORMATTER_OPTIONS" ; 
1011
@@ -16,7 +17,8 @@ window.addEventListener("load", async () => {
1617  darkThemeEl  =  document . getElementById ( "dark_theme" ) ; 
1718  wordWrapEl  =  document . getElementById ( "word_wrap" ) ; 
1819  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" ) ; 
2022
2123  await  fetchExtensionSettings ( ) ; 
2224  console . log ( options ) ; 
@@ -46,6 +48,7 @@ window.addEventListener("load", async () => {
4648    wordWrapEl . value  =  options . wordWrap ; 
4749    sortingOrderEl . value  =  options . sortingOrder ; 
4850    rawUnicodeEscapesEl . value  =  options . rawUnicodeEscapes ; 
51+     contextMenusEl . value  =  options . contextMenus ; 
4952  } 
5053  async  function  fetchExtensionSettings ( )  { 
5154    // Get Options 
@@ -57,9 +60,10 @@ window.addEventListener("load", async () => {
5760      Object . assign ( options ,  globalThis . sharedData . defaultOptions ) ; 
5861    } 
5962    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" ) )  { 
6164        // still has old data format, update it to new format 
6265        let  newDataFormat  =  Object . assign ( { } ,  globalThis . sharedData . defaultOptions ) ; 
66+         console . log ( newDataFormat ) ; 
6367        if  ( data [ bucket ] . themeMode  ==  "auto" )  { 
6468          newDataFormat . colorScheme  =  "auto" ; 
6569        } 
@@ -71,8 +75,16 @@ window.addEventListener("load", async () => {
7175            newDataFormat . colorScheme  =  "light" ; 
7276          } 
7377        } 
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 ; 
7585
86+         newDataFormat  =  {  ...newDataFormat ,  ...data [ bucket ]  } ; 
87+         console . log ( newDataFormat ) ; 
7688        Object . assign ( options ,  newDataFormat ) ; 
7789        await  chrome . storage . local . set ( {  [ bucket ] : newDataFormat  } ) ; 
7890      } 
@@ -146,4 +158,10 @@ window.addEventListener("load", async () => {
146158    options . rawUnicodeEscapes  =  e . target . value  ==  "true"  ? true  : false ; 
147159    await  chrome . storage . local . set ( {  [ bucket ] : options  } ) ; 
148160  } ) ; 
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+   } ) ; 
149167} ) ; 
0 commit comments