From a024fd89919efb6648738ea18fbadbd24982a732 Mon Sep 17 00:00:00 2001 From: Bruno Windels Date: Fri, 24 May 2019 12:38:01 +0200 Subject: [PATCH] port tab completion from MessageComposerInput --- src/editor/autocomplete.js | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/src/editor/autocomplete.js b/src/editor/autocomplete.js index fa07ec56ff..ceaf18c444 100644 --- a/src/editor/autocomplete.js +++ b/src/editor/autocomplete.js @@ -39,8 +39,24 @@ export default class AutocompleteWrapperModel { this._updateCallback({close: true}); } - onTab() { - //forceCompletion here? + async onTab(e) { + const acComponent = this._getAutocompleterComponent(); + + if (acComponent.state.completionList.length === 0) { + // Force completions to show for the text currently entered + await acComponent.forceComplete(); + // Select the first item by moving "down" + await acComponent.onDownArrow(); + } else { + if (e.shiftKey) { + await acComponent.onUpArrow(); + } else { + await acComponent.onDownArrow(); + } + } + this._updateCallback({ + close: true, + }); } onUpArrow() {