File tree 2 files changed +13
-0
lines changed
arduino-ide-extension/src/browser/dialogs/firmware-uploader
2 files changed +13
-0
lines changed Original file line number Diff line number Diff line change @@ -14,11 +14,13 @@ export const FirmwareUploaderComponent = ({
14
14
firmwareUploader,
15
15
updatableFqbns,
16
16
flashFirmware,
17
+ isOpen,
17
18
} : {
18
19
availableBoards : AvailableBoard [ ] ;
19
20
firmwareUploader : ArduinoFirmwareUploader ;
20
21
updatableFqbns : string [ ] ;
21
22
flashFirmware : ( firmware : FirmwareInfo , port : string ) => Promise < any > ;
23
+ isOpen : any ;
22
24
} ) : React . ReactElement => {
23
25
// boolean states for buttons
24
26
const [ firmwaresFetching , setFirmwaresFetching ] = React . useState ( false ) ;
@@ -33,6 +35,9 @@ export const FirmwareUploaderComponent = ({
33
35
const [ availableFirmwares , setAvailableFirmwares ] = React . useState <
34
36
FirmwareInfo [ ]
35
37
> ( [ ] ) ;
38
+ React . useEffect ( ( ) => {
39
+ setAvailableFirmwares ( [ ] ) ;
40
+ } , [ isOpen ] ) ;
36
41
const [ selectedFirmware , setSelectedFirmware ] =
37
42
React . useState < FirmwareOption | null > ( null ) ;
38
43
Original file line number Diff line number Diff line change @@ -25,6 +25,7 @@ export class UploadFirmwareDialogWidget extends ReactWidget {
25
25
26
26
protected updatableFqbns : string [ ] = [ ] ;
27
27
protected availableBoards : AvailableBoard [ ] = [ ] ;
28
+ protected isOpen = new Object ( ) ;
28
29
29
30
public busyCallback = ( busy : boolean ) => {
30
31
return ;
@@ -54,6 +55,11 @@ export class UploadFirmwareDialogWidget extends ReactWidget {
54
55
. finally ( ( ) => this . busyCallback ( false ) ) ;
55
56
}
56
57
58
+ onCloseRequest ( msg : Message ) : void {
59
+ super . onCloseRequest ( msg ) ;
60
+ this . isOpen = new Object ( ) ;
61
+ }
62
+
57
63
protected render ( ) : React . ReactNode {
58
64
return (
59
65
< form >
@@ -62,6 +68,7 @@ export class UploadFirmwareDialogWidget extends ReactWidget {
62
68
firmwareUploader = { this . arduinoFirmwareUploader }
63
69
flashFirmware = { this . flashFirmware . bind ( this ) }
64
70
updatableFqbns = { this . updatableFqbns }
71
+ isOpen = { this . isOpen }
65
72
/>
66
73
</ form >
67
74
) ;
@@ -119,6 +126,7 @@ export class UploadFirmwareDialog extends AbstractDialog<void> {
119
126
if ( this . busy ) {
120
127
return ;
121
128
}
129
+ this . widget . close ( ) ;
122
130
super . close ( ) ;
123
131
}
124
132
You can’t perform that action at this time.
0 commit comments