@@ -24,6 +24,11 @@ class USBWorkflow extends Workflow {
2424 this . _messageCallback = null ;
2525 this . _btnSelectHostFolderCallback = null ;
2626 this . _btnUseHostFolderCallback = null ;
27+ this . buttonStates = [
28+ { request : false , select : false } ,
29+ { request : true , select : false } ,
30+ { request : false , select : true } ,
31+ ] ;
2732 }
2833
2934 async init ( params ) {
@@ -140,7 +145,7 @@ class USBWorkflow extends Workflow {
140145 }
141146 console . log ( this . _serialDevice ) ;
142147 if ( this . _serialDevice != null ) {
143- this . _connectionStep ( 2 ) ;
148+ this . connectionStep ( 2 ) ;
144149 return true ;
145150 }
146151
@@ -156,6 +161,12 @@ class USBWorkflow extends Workflow {
156161 btnUseHostFolder = modal . querySelector ( '#useHostFolder' ) ;
157162 lblWorkingfolder = modal . querySelector ( '#workingFolder' ) ;
158163
164+ // Map the button states to the buttons
165+ this . connectButtons = {
166+ request : btnRequestSerialDevice ,
167+ select : btnSelectHostFolder ,
168+ } ;
169+
159170 btnRequestSerialDevice . disabled = true ;
160171 btnSelectHostFolder . disabled = true ;
161172 let serialConnect = async ( event ) => {
@@ -191,13 +202,13 @@ class USBWorkflow extends Workflow {
191202 if ( stepOne = modal . querySelector ( '.step:first-of-type' ) ) {
192203 stepOne . classList . add ( "hidden" ) ;
193204 }
194- this . _connectionStep ( 1 ) ;
205+ this . connectionStep ( 1 ) ;
195206 } else {
196207 // If not, hide all steps beyond the message
197208 modal . querySelectorAll ( '.step:not(:first-of-type)' ) . forEach ( ( stepItem ) => {
198209 stepItem . classList . add ( "hidden" ) ;
199210 } ) ;
200- this . _connectionStep ( 0 ) ;
211+ this . connectionStep ( 0 ) ;
201212 }
202213
203214 // Hide the last step until we determine that we need it
@@ -250,7 +261,6 @@ class USBWorkflow extends Workflow {
250261
251262 // Workflow specific Functions
252263 async _switchToDevice ( device ) {
253-
254264 device . removeEventListener ( "message" , this . _messageCallback ) ;
255265 this . _messageCallback = this . onSerialReceive . bind ( this ) ;
256266 device . addEventListener ( "message" , this . _messageCallback ) ;
@@ -365,21 +375,6 @@ print(binascii.hexlify(microcontroller.cpu.uid).decode('ascii').upper())`
365375 async showInfo ( documentState ) {
366376 return await this . infoDialog . open ( this , documentState ) ;
367377 }
368-
369- // Handle the different button states for various connection steps
370- _connectionStep ( step ) {
371- const buttonStates = [
372- { request : false , select : false } ,
373- { request : true , select : false } ,
374- { request : true , select : true } ,
375- ] ;
376-
377- if ( step < 0 ) step = 0 ;
378- if ( step > buttonStates . length - 1 ) step = buttonStates . length - 1 ;
379-
380- btnRequestSerialDevice . disabled = ! buttonStates [ step ] . request ;
381- btnSelectHostFolder . disabled = ! buttonStates [ step ] . select ;
382- }
383378}
384379
385380export { USBWorkflow } ;
0 commit comments