Merge pull request #3372 from matrix-org/bwindels/fix-command-tab-complete

New composer: fix tab-complete in commands
pull/21833/head
Bruno Windels 2019-09-02 11:38:13 +00:00 committed by GitHub
commit 4329d8c4ef
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 11 additions and 6 deletions

View File

@ -268,7 +268,7 @@ export default class BasicMessageEditor extends React.Component {
handled = true;
// autocomplete or enter to send below shouldn't have any modifier keys pressed.
} else if (!(event.metaKey || event.altKey || event.shiftKey)) {
if (model.autoComplete) {
if (model.autoComplete && model.autoComplete.hasCompletions()) {
const autoComplete = model.autoComplete;
switch (event.key) {
case "ArrowUp":
@ -309,7 +309,11 @@ export default class BasicMessageEditor extends React.Component {
const position = model.positionForOffset(caret.offset, caret.atNodeEnd);
const range = model.startRange(position);
range.expandBackwardsWhile((index, offset, part) => {
return part.text[offset] !== " " && (part.type === "plain" || part.type === "pill-candidate");
return part.text[offset] !== " " && (
part.type === "plain" ||
part.type === "pill-candidate" ||
part.type === "command"
);
});
const {partCreator} = model;
// await for auto-complete to be open

View File

@ -40,6 +40,11 @@ export default class AutocompleteWrapperModel {
return this._getAutocompleterComponent().hasSelection();
}
hasCompletions() {
const ac = this._getAutocompleterComponent();
return ac && ac.countCompletions() > 0;
}
onEnter() {
this._updateCallback({close: true});
}

View File

@ -465,10 +465,6 @@ export class CommandPartCreator extends PartCreator {
}
class CommandPart extends PillCandidatePart {
acceptsInsertion(chr, i) {
return PlainPart.prototype.acceptsInsertion.call(this, chr, i);
}
get type() {
return "command";
}