forked from Mirrors/gomuks
web/composer: adjust enter and tab behavior for autocomplete
This commit is contained in:
parent
85817ea999
commit
acbbd2a1f9
1 changed files with 13 additions and 1 deletions
|
@ -206,9 +206,21 @@ const MessageComposer = () => {
|
||||||
} else if (fullKey === "Shift+Tab" || fullKey === "ArrowUp") {
|
} else if (fullKey === "Shift+Tab" || fullKey === "ArrowUp") {
|
||||||
autocompleteUpdate = { selected: (autocomplete.selected ?? 0) - 1 }
|
autocompleteUpdate = { selected: (autocomplete.selected ?? 0) - 1 }
|
||||||
} else if (fullKey === "Enter") {
|
} else if (fullKey === "Enter") {
|
||||||
autocompleteUpdate = autocomplete.selected !== undefined ? null : { selected: 0, close: true }
|
if (autocomplete.selected !== undefined) {
|
||||||
|
// Don't capture enter if a result is already selected
|
||||||
|
sendMessage(evt)
|
||||||
|
} else {
|
||||||
|
autocompleteUpdate = { selected: 0, close: true }
|
||||||
|
}
|
||||||
} else if (fullKey === "Escape") {
|
} else if (fullKey === "Escape") {
|
||||||
autocompleteUpdate = null
|
autocompleteUpdate = null
|
||||||
|
if (autocomplete.frozenQuery) {
|
||||||
|
setState({
|
||||||
|
text: state.text.slice(0, autocomplete.startPos)
|
||||||
|
+ autocomplete.frozenQuery
|
||||||
|
+ state.text.slice(autocomplete.endPos),
|
||||||
|
})
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (autocompleteUpdate !== undefined) {
|
if (autocompleteUpdate !== undefined) {
|
||||||
setAutocomplete(autocompleteUpdate && { ...autocomplete, ...autocompleteUpdate })
|
setAutocomplete(autocompleteUpdate && { ...autocomplete, ...autocompleteUpdate })
|
||||||
|
|
Loading…
Add table
Reference in a new issue