mirror of https://github.com/vector-im/riot-web
Merge pull request #3375 from matrix-org/bwindels/cider-colononmention
New composer: share user pill postfix between autocomplete and insert mentionpull/21833/head
commit
c4d7df768d
|
@ -290,11 +290,12 @@ export default class SendMessageComposer extends React.Component {
|
|||
const member = this.props.room.getMember(userId);
|
||||
const displayName = member ?
|
||||
member.rawDisplayName : userId;
|
||||
const userPillPart = partCreator.userPill(displayName, userId);
|
||||
const caret = this._editorRef.getCaret();
|
||||
const position = model.positionForOffset(caret.offset, caret.atNodeEnd);
|
||||
const insertIndex = position.index + 1;
|
||||
const parts = partCreator.createMentionParts(insertIndex, displayName, userId);
|
||||
model.transform(() => {
|
||||
const addedLen = model.insert([userPillPart], position);
|
||||
const addedLen = model.insert(parts, position);
|
||||
return model.positionForOffset(caret.offset + addedLen, true);
|
||||
});
|
||||
// refocus on composer, as we just clicked "Mention"
|
||||
|
|
|
@ -106,9 +106,7 @@ export default class AutocompleteWrapperModel {
|
|||
if (completionId === "@room") {
|
||||
return [this._partCreator.atRoomPill(completionId)];
|
||||
} else {
|
||||
const pill = this._partCreator.userPill(text, completionId);
|
||||
const postfix = this._partCreator.plain(this._partIndex === 0 ? ": " : " ");
|
||||
return [pill, postfix];
|
||||
return this._partCreator.createMentionParts(this._partIndex, text, completionId);
|
||||
}
|
||||
}
|
||||
case "#":
|
||||
|
|
|
@ -442,6 +442,12 @@ export class PartCreator {
|
|||
const member = this._room.getMember(userId);
|
||||
return new UserPillPart(userId, displayName, member);
|
||||
}
|
||||
|
||||
createMentionParts(partIndex, displayName, userId) {
|
||||
const pill = this.userPill(displayName, userId);
|
||||
const postfix = this.plain(partIndex === 0 ? ": " : " ");
|
||||
return [pill, postfix];
|
||||
}
|
||||
}
|
||||
|
||||
// part creator that support auto complete for /commands,
|
||||
|
|
Loading…
Reference in New Issue