@@ -1248,23 +1248,24 @@ function web_editor(config) {
1248
1248
}
1249
1249
}
1250
1250
1251
- // Show error message
1252
- $ ( "#flashing-overlay-error" ) . html (
1253
- '<div>' +
1254
- '<strong>' + ( ( err . message === undefined ) ? "WebUSB Error" : err . message ) + '</strong><br>' +
1255
- errorDescription +
1256
- '<div class="modal-msg-links">' +
1257
- ( err . name === 'device-disconnected'
1251
+ var errorHTML = '<div><strong>' + ( ( err . message === undefined ) ? "WebUSB Error" : err . message ) + '</strong><br >' +
1252
+ errorDescription + '</div>' + '<div class="flashing-overlay-buttons"><hr />' +
1253
+ ( ( err . name === 'device-disconnected' && $ ( "#flashing-overlay-error" ) . html ( ) === "" )
1258
1254
? ""
1259
- : '<br >< a href="#" id="flashing-overlay-download">' +
1260
- config [ "translate" ] [ "webusb" ] [ "download" ] +
1261
- '</a> | ' ) +
1255
+ : '<a href="#" id="flashing-overlay-download">' +
1256
+ config [ "translate" ] [ "webusb" ] [ "download" ] +
1257
+ '</a> | ' ) +
1262
1258
'<a href="#" onclick="flashErrorClose()">' +
1263
1259
config [ "translate" ] [ "webusb" ] [ "close" ] +
1264
- '</a>' +
1265
- '</div>' +
1266
- '</div>'
1267
- ) ;
1260
+ '</a></div>' ;
1261
+
1262
+ // Show error message
1263
+ if ( $ ( "#flashing-overlay-error" ) . html ( ) == "" ) {
1264
+ $ ( "#flashing-overlay-error" ) . html ( errorHTML ) ;
1265
+ } else {
1266
+ $ ( ".flashing-overlay-buttons" ) . hide ( ) ; // Hide previous buttons
1267
+ $ ( "#flashing-overlay-error" ) . append ( "<hr />" + errorHTML ) ;
1268
+ }
1268
1269
1269
1270
// Attach download handler
1270
1271
$ ( "#flashing-overlay-download" ) . click ( doDownload ) ;
@@ -1275,6 +1276,10 @@ function web_editor(config) {
1275
1276
}
1276
1277
1277
1278
function doDisconnect ( ) {
1279
+
1280
+ // Remove disconnect listenr
1281
+ navigator . usb . removeEventListener ( 'disconnect' , showDisconnectError ) ;
1282
+
1278
1283
// Hide serial and disconnect if open
1279
1284
if ( $ ( "#repl" ) . css ( 'display' ) != 'none' ) {
1280
1285
$ ( "#repl" ) . hide ( ) ;
@@ -1393,17 +1398,16 @@ function web_editor(config) {
1393
1398
var timeTaken = ( new Date ( ) . getTime ( ) - startTime ) ;
1394
1399
var details = { "flash-type" : ( usePartialFlashing ? "partial-flash" : "full-flash" ) , "event-type" : "flash-time" , "message" : timeTaken } ;
1395
1400
document . dispatchEvent ( new CustomEvent ( 'webusb' , { detail : details } ) ) ;
1396
- } )
1397
- . catch ( webusbErrorHandler )
1398
- . finally ( function ( ) {
1399
- // Remove event listener
1400
- window . removeEventListener ( "unhandledrejection" , webusbErrorHandler ) ;
1401
1401
1402
1402
// Close overview
1403
1403
setTimeout ( function ( ) {
1404
1404
$ ( "#flashing-overlay-container" ) . hide ( ) ;
1405
1405
} , 500 ) ;
1406
-
1406
+ } )
1407
+ . catch ( webusbErrorHandler )
1408
+ . finally ( function ( ) {
1409
+ // Remove event listener
1410
+ window . removeEventListener ( "unhandledrejection" , webusbErrorHandler ) ;
1407
1411
} ) ;
1408
1412
}
1409
1413
0 commit comments