@@ -423,11 +423,12 @@ export class Navigation {
423423 this . setState ( workspace , Constants . STATE . NOWHERE ) ;
424424 const cursor = workspace . getCursor ( ) ;
425425 if ( cursor ) {
426- if ( cursor . getCurNode ( ) ) {
427- this . passiveFocusIndicator . show ( cursor . getCurNode ( ) ) ;
426+ const curNode = cursor . getCurNode ( ) ;
427+ if ( curNode ) {
428+ this . passiveFocusIndicator . show ( curNode ) ;
428429 }
429430 // It's initially null so this is a valid state despite the types.
430- cursor . setCurNode ( null as never ) ;
431+ cursor . setCurNode ( null ) ;
431432 }
432433 }
433434
@@ -544,20 +545,21 @@ export class Navigation {
544545 const flyoutCursor = this . getFlyoutCursor ( workspace ) ;
545546 if ( ! flyoutCursor ) return ;
546547
547- if (
548- flyoutCursor . getCurNode ( ) &&
549- ! this . isFlyoutItemDisposed ( flyoutCursor . getCurNode ( ) )
550- )
551- return ;
548+ const curNode = flyoutCursor . getCurNode ( ) ;
549+ if ( curNode && ! this . isFlyoutItemDisposed ( curNode ) ) return ;
552550
553551 const flyoutContents = flyout . getContents ( ) ;
554552 const firstFlyoutItem = flyoutContents [ 0 ] ;
555553 if ( ! firstFlyoutItem ) return ;
556- if ( firstFlyoutItem . button ) {
557- const astNode = Blockly . ASTNode . createButtonNode ( firstFlyoutItem . button ) ;
554+ if ( firstFlyoutItem . getElement ( ) instanceof Blockly . FlyoutButton ) {
555+ const astNode = Blockly . ASTNode . createButtonNode (
556+ firstFlyoutItem . getElement ( ) as Blockly . FlyoutButton ,
557+ ) ;
558558 flyoutCursor . setCurNode ( astNode ! ) ;
559- } else if ( firstFlyoutItem . block ) {
560- const astNode = Blockly . ASTNode . createStackNode ( firstFlyoutItem . block ) ;
559+ } else if ( firstFlyoutItem . getElement ( ) instanceof Blockly . BlockSvg ) {
560+ const astNode = Blockly . ASTNode . createStackNode (
561+ firstFlyoutItem . getElement ( ) as Blockly . BlockSvg ,
562+ ) ;
561563 flyoutCursor . setCurNode ( astNode ! ) ;
562564 }
563565 }
0 commit comments