@@ -19,11 +19,14 @@ function dec2hex(i, len) {
1919 return "0x" + ( i + 0x10000 ) . toString ( 16 ) . substr ( - len ) . toUpperCase ( ) ;
2020}
2121
22+ _ ( 'reset' ) . addEventListener ( 'click' , postWithFeedback ( 'Reset LR1121 Firmware' , 'An error occurred resetting the custom firmware flag' , '/reset?lr1121' , null ) )
23+
2224function loadData ( ) {
23- xmlhttp = new XMLHttpRequest ( ) ;
25+ let xmlhttp = new XMLHttpRequest ( ) ;
2426 xmlhttp . onreadystatechange = function ( ) {
2527 if ( this . readyState === 4 && this . status === 200 ) {
2628 const data = JSON . parse ( this . responseText ) ;
29+ if ( data [ 'manual' ] ) _ ( 'manual_upload' ) . style . display = 'block' ;
2730 _ ( 'radio_type1' ) . textContent = dec2hex ( data [ 'radio1' ] [ 'type' ] , 2 )
2831 _ ( 'radio_hardware1' ) . textContent = dec2hex ( data [ 'radio1' ] [ 'hardware' ] , 2 )
2932 _ ( 'radio_firmware1' ) . textContent = dec2hex ( data [ 'radio1' ] [ 'firmware' ] , 4 )
@@ -68,6 +71,10 @@ function fileSelectHandler(e) {
6871}
6972
7073function uploadFile ( file ) {
74+ mui . overlay ( 'on' , {
75+ 'keyboard' : false ,
76+ 'static' : true
77+ } )
7178 _ ( 'upload_btn' ) . disabled = true
7279 try {
7380 const formdata = new FormData ( ) ;
@@ -84,6 +91,7 @@ function uploadFile(file) {
8491 }
8592 catch ( e ) {
8693 _ ( 'upload_btn' ) . disabled = false
94+ mui . overlay ( 'off' )
8795 }
8896}
8997
@@ -94,68 +102,34 @@ function progressHandler(event) {
94102 _ ( 'status' ) . innerHTML = percent + '% uploaded... please wait' ;
95103}
96104
97- function completeHandler ( event ) {
105+ async function completeHandler ( event ) {
98106 _ ( 'status' ) . innerHTML = '' ;
99107 _ ( 'progressBar' ) . value = 0 ;
100- _ ( 'upload_btn' ) . disabled = false
101108 const data = JSON . parse ( event . target . responseText ) ;
102109 if ( data . status === 'ok' ) {
103- function showMessage ( ) {
104- cuteAlert ( {
105- type : 'success' ,
106- title : 'Update Succeeded' ,
107- message : data . msg
108- } ) ;
109- }
110110 // This is basically a delayed display of the success dialog with a fake progress
111111 let percent = 0 ;
112- const interval = setInterval ( ( ) => {
112+ const interval = setInterval ( async ( ) => {
113113 percent = percent + 2 ;
114114 _ ( 'progressBar' ) . value = percent ;
115115 _ ( 'status' ) . innerHTML = percent + '% flashed... please wait' ;
116116 if ( percent === 100 ) {
117117 clearInterval ( interval ) ;
118118 _ ( 'status' ) . innerHTML = '' ;
119119 _ ( 'progressBar' ) . value = 0 ;
120- showMessage ( ) ;
120+ _ ( 'upload_btn' ) . disabled = false
121+ mui . overlay ( 'off' )
122+ await cuteAlert ( {
123+ type : 'success' ,
124+ title : 'Update Succeeded' ,
125+ message : data . msg
126+ } ) ;
121127 }
122128 } , 100 ) ;
123- } else if ( data . status === 'mismatch' ) {
124- cuteAlert ( {
125- type : 'question' ,
126- title : 'Targets Mismatch' ,
127- message : data . msg ,
128- confirmText : 'Flash anyway' ,
129- cancelText : 'Cancel'
130- } ) . then ( ( e ) => {
131- const xmlhttp = new XMLHttpRequest ( ) ;
132- xmlhttp . onreadystatechange = function ( ) {
133- if ( this . readyState === 4 ) {
134- _ ( 'status' ) . innerHTML = '' ;
135- _ ( 'progressBar' ) . value = 0 ;
136- if ( this . status === 200 ) {
137- const data = JSON . parse ( this . responseText ) ;
138- cuteAlert ( {
139- type : 'info' ,
140- title : 'Force Update' ,
141- message : data . msg
142- } ) ;
143- } else {
144- cuteAlert ( {
145- type : 'error' ,
146- title : 'Force Update' ,
147- message : 'An error occurred trying to force the update'
148- } ) ;
149- }
150- }
151- } ;
152- xmlhttp . open ( 'POST' , '/forceupdate' , true ) ;
153- const data = new FormData ( ) ;
154- data . append ( 'action' , e ) ;
155- xmlhttp . send ( data ) ;
156- } ) ;
157129 } else {
158- cuteAlert ( {
130+ _ ( 'upload_btn' ) . disabled = false
131+ mui . overlay ( 'off' )
132+ await cuteAlert ( {
159133 type : 'error' ,
160134 title : 'Update Failed' ,
161135 message : data . msg
@@ -167,7 +141,8 @@ function errorHandler(event) {
167141 _ ( 'status' ) . innerHTML = '' ;
168142 _ ( 'progressBar' ) . value = 0 ;
169143 _ ( 'upload_btn' ) . disabled = false
170- cuteAlert ( {
144+ mui . overlay ( 'off' )
145+ return cuteAlert ( {
171146 type : 'error' ,
172147 title : 'Update Failed' ,
173148 message : event . target . responseText
@@ -178,7 +153,8 @@ function abortHandler(event) {
178153 _ ( 'status' ) . innerHTML = '' ;
179154 _ ( 'progressBar' ) . value = 0 ;
180155 _ ( 'upload_btn' ) . disabled = false
181- cuteAlert ( {
156+ mui . overlay ( 'off' )
157+ return cuteAlert ( {
182158 type : 'info' ,
183159 title : 'Update Aborted' ,
184160 message : event . target . responseText
0 commit comments