File tree Expand file tree Collapse file tree 2 files changed +13
-0
lines changed
arduino-ide-extension/src/browser/dialogs/firmware-uploader Expand file tree Collapse file tree 2 files changed +13
-0
lines changed Original file line number Diff line number Diff line change @@ -14,11 +14,13 @@ export const FirmwareUploaderComponent = ({
1414 firmwareUploader,
1515 updatableFqbns,
1616 flashFirmware,
17+ isOpen,
1718} : {
1819 availableBoards : AvailableBoard [ ] ;
1920 firmwareUploader : ArduinoFirmwareUploader ;
2021 updatableFqbns : string [ ] ;
2122 flashFirmware : ( firmware : FirmwareInfo , port : string ) => Promise < any > ;
23+ isOpen : any ;
2224} ) : React . ReactElement => {
2325 // boolean states for buttons
2426 const [ firmwaresFetching , setFirmwaresFetching ] = React . useState ( false ) ;
@@ -33,6 +35,9 @@ export const FirmwareUploaderComponent = ({
3335 const [ availableFirmwares , setAvailableFirmwares ] = React . useState <
3436 FirmwareInfo [ ]
3537 > ( [ ] ) ;
38+ React . useEffect ( ( ) => {
39+ setAvailableFirmwares ( [ ] ) ;
40+ } , [ isOpen ] ) ;
3641 const [ selectedFirmware , setSelectedFirmware ] =
3742 React . useState < FirmwareOption | null > ( null ) ;
3843
Original file line number Diff line number Diff line change @@ -25,6 +25,7 @@ export class UploadFirmwareDialogWidget extends ReactWidget {
2525
2626 protected updatableFqbns : string [ ] = [ ] ;
2727 protected availableBoards : AvailableBoard [ ] = [ ] ;
28+ protected isOpen = new Object ( ) ;
2829
2930 public busyCallback = ( busy : boolean ) => {
3031 return ;
@@ -54,6 +55,11 @@ export class UploadFirmwareDialogWidget extends ReactWidget {
5455 . finally ( ( ) => this . busyCallback ( false ) ) ;
5556 }
5657
58+ onCloseRequest ( msg : Message ) : void {
59+ super . onCloseRequest ( msg ) ;
60+ this . isOpen = new Object ( ) ;
61+ }
62+
5763 protected render ( ) : React . ReactNode {
5864 return (
5965 < form >
@@ -62,6 +68,7 @@ export class UploadFirmwareDialogWidget extends ReactWidget {
6268 firmwareUploader = { this . arduinoFirmwareUploader }
6369 flashFirmware = { this . flashFirmware . bind ( this ) }
6470 updatableFqbns = { this . updatableFqbns }
71+ isOpen = { this . isOpen }
6572 />
6673 </ form >
6774 ) ;
@@ -119,6 +126,7 @@ export class UploadFirmwareDialog extends AbstractDialog<void> {
119126 if ( this . busy ) {
120127 return ;
121128 }
129+ this . widget . close ( ) ;
122130 super . close ( ) ;
123131 }
124132
You can’t perform that action at this time.
0 commit comments