@@ -485,16 +485,14 @@ export default class BasicMessageEditor extends React.Component<IProps, IState>
485485 if ( model . autoComplete && model . autoComplete . hasCompletions ( ) ) {
486486 const autoComplete = model . autoComplete ;
487487 switch ( autocompleteAction ) {
488+ case AutocompleteAction . CompleteOrPrevSelection :
488489 case AutocompleteAction . PrevSelection :
489- autoComplete . onUpArrow ( event ) ;
490+ autoComplete . selectPreviousSelection ( ) ;
490491 handled = true ;
491492 break ;
493+ case AutocompleteAction . CompleteOrNextSelection :
492494 case AutocompleteAction . NextSelection :
493- autoComplete . onDownArrow ( event ) ;
494- handled = true ;
495- break ;
496- case AutocompleteAction . ApplySelection :
497- autoComplete . onTab ( event ) ;
495+ autoComplete . selectNextSelection ( ) ;
498496 handled = true ;
499497 break ;
500498 case AutocompleteAction . Cancel :
@@ -504,8 +502,10 @@ export default class BasicMessageEditor extends React.Component<IProps, IState>
504502 default :
505503 return ; // don't preventDefault on anything else
506504 }
507- } else if ( autocompleteAction === AutocompleteAction . ApplySelection ) {
508- this . tabCompleteName ( event ) ;
505+ } else if ( autocompleteAction === AutocompleteAction . CompleteOrPrevSelection
506+ || autocompleteAction === AutocompleteAction . CompleteOrNextSelection ) {
507+ // there is no current autocomplete window, try to open it
508+ this . tabCompleteName ( ) ;
509509 handled = true ;
510510 } else if ( event . key === Key . BACKSPACE || event . key === Key . DELETE ) {
511511 this . formatBarRef . current . hide ( ) ;
@@ -517,7 +517,7 @@ export default class BasicMessageEditor extends React.Component<IProps, IState>
517517 }
518518 } ;
519519
520- private async tabCompleteName ( event : React . KeyboardEvent ) {
520+ private async tabCompleteName ( ) {
521521 try {
522522 await new Promise < void > ( resolve => this . setState ( { showVisualBell : false } , resolve ) ) ;
523523 const { model} = this . props ;
@@ -540,7 +540,7 @@ export default class BasicMessageEditor extends React.Component<IProps, IState>
540540
541541 // Don't try to do things with the autocomplete if there is none shown
542542 if ( model . autoComplete ) {
543- await model . autoComplete . onTab ( event ) ;
543+ await model . autoComplete . startSelection ( ) ;
544544 if ( ! model . autoComplete . hasSelection ( ) ) {
545545 this . setState ( { showVisualBell : true } ) ;
546546 model . autoComplete . close ( ) ;
0 commit comments