1
0
mirror of https://github.com/matrix-org/matrix-react-sdk.git synced 2025-11-20 16:22:28 +03:00

Merge pull request #3070 from matrix-org/t3chguy/fuzzier-emojis

Be somewhat fuzzier when matching emojis to complete on space
This commit is contained in:
Michael Telatynski
2019-06-06 12:39:00 +01:00
committed by GitHub

View File

@@ -533,21 +533,24 @@ export default class MessageComposerInput extends React.Component {
// The first matched group includes just the matched plaintext emoji // The first matched group includes just the matched plaintext emoji
const emoticonMatch = REGEX_EMOTICON_WHITESPACE.exec(text.slice(0, currentStartOffset)); const emoticonMatch = REGEX_EMOTICON_WHITESPACE.exec(text.slice(0, currentStartOffset));
if (emoticonMatch) { if (emoticonMatch) {
const data = EMOJIBASE.find(e => e.emoticon === emoticonMatch[1]); const query = emoticonMatch[1].toLowerCase().replace("-", "");
const unicodeEmoji = data ? data.unicode : ''; const data = EMOJIBASE.find(e => e.emoticon ? e.emoticon.toLowerCase() === query : false);
const range = Range.create({ // only perform replacement if we found a match, otherwise we would be not letting user type
anchor: { if (data) {
key: editorState.startText.key, const range = Range.create({
offset: currentStartOffset - emoticonMatch[1].length - 1, anchor: {
}, key: editorState.startText.key,
focus: { offset: currentStartOffset - emoticonMatch[1].length - 1,
key: editorState.startText.key, },
offset: currentStartOffset - 1, focus: {
}, key: editorState.startText.key,
}); offset: currentStartOffset - 1,
change = change.insertTextAtRange(range, unicodeEmoji); },
editorState = change.value; });
change = change.insertTextAtRange(range, data.unicode);
editorState = change.value;
}
} }
} }
} }