mirror of
https://github.com/element-hq/element-web
synced 2024-11-28 04:21:57 +03:00
share user pill postfix between autocomplete and insert mention
where we decide to add a colon only if the composer is empty
This commit is contained in:
parent
c219f925c6
commit
c595371845
3 changed files with 10 additions and 5 deletions
|
@ -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 "#":
|
||||
|
|
|
@ -441,6 +441,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 a new issue