mirror of https://github.com/vector-im/riot-web
Allow left/right arrow keys to navigate through the autocompletion list
parent
a6995ae10a
commit
6cb59f7071
|
@ -670,6 +670,31 @@ export default class MessageComposerInput extends React.Component {
|
||||||
|
|
||||||
onKeyDown = (ev: KeyboardEvent, change: Change, editor: Editor) => {
|
onKeyDown = (ev: KeyboardEvent, change: Change, editor: Editor) => {
|
||||||
this.suppressAutoComplete = false;
|
this.suppressAutoComplete = false;
|
||||||
|
this.direction = '';
|
||||||
|
|
||||||
|
// Navigate autocomplete list with arrow keys
|
||||||
|
if (this.autocomplete.state.completionList.length > 0) {
|
||||||
|
if (!(ev.ctrlKey || ev.shiftKey || ev.altKey || ev.metaKey)) {
|
||||||
|
switch (ev.keyCode) {
|
||||||
|
case KeyCode.LEFT:
|
||||||
|
this.moveAutocompleteSelection(true);
|
||||||
|
ev.preventDefault();
|
||||||
|
return true;
|
||||||
|
case KeyCode.RIGHT:
|
||||||
|
this.moveAutocompleteSelection(false);
|
||||||
|
ev.preventDefault();
|
||||||
|
return true;
|
||||||
|
case KeyCode.UP:
|
||||||
|
this.moveAutocompleteSelection(true);
|
||||||
|
ev.preventDefault();
|
||||||
|
return true;
|
||||||
|
case KeyCode.DOWN:
|
||||||
|
this.moveAutocompleteSelection(false);
|
||||||
|
ev.preventDefault();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// skip void nodes - see
|
// skip void nodes - see
|
||||||
// https://github.com/ianstormtaylor/slate/issues/762#issuecomment-304855095
|
// https://github.com/ianstormtaylor/slate/issues/762#issuecomment-304855095
|
||||||
|
|
Loading…
Reference in New Issue