Use the rawDisplayName for the user provider completion

to make sure that the length of text in the decoration (See <Pill>) is equal to the length of text in the completion (underlying text range that the Entity covers).
This commit is contained in:
Luke Barnard 2017-08-08 10:28:11 +01:00
parent 8af6d6fc9f
commit 1743c047bd

View file

@ -54,7 +54,9 @@ export default class UserProvider extends AutocompleteProvider {
completions = this.matcher.match(command[0]).map((user) => {
const displayName = (user.name || user.userId || '').replace(' (IRC)', ''); // FIXME when groups are done
return {
completion: displayName,
// Length of completion should equal length of text in decorator. draft-js
// relies on the length of the entity === length of the text in the decoration.
completion: user.rawDisplayName,
suffix: range.start === 0 ? ': ' : ' ',
href: 'https://matrix.to/#/' + user.userId,
component: (