Emoji fuzzysearching
This commit is contained in:
parent
6823fc2c29
commit
4a56870c08
@ -45,17 +45,26 @@ $(function() {
|
|||||||
|
|
||||||
// Autocompletion Strategies
|
// Autocompletion Strategies
|
||||||
|
|
||||||
|
const emojiSearchTerms = Object.keys(emojiMap);
|
||||||
const emojiStrategy = {
|
const emojiStrategy = {
|
||||||
id: "emoji",
|
id: "emoji",
|
||||||
match: /\B:([-+\w]*):?$/,
|
match: /\B:([-+\w]*):?$/,
|
||||||
search(term, callback) {
|
search(term, callback) {
|
||||||
callback(Object.keys(emojiMap).filter((name) => name.indexOf(term) === 0));
|
const results = fuzzy.filter(
|
||||||
|
term,
|
||||||
|
emojiSearchTerms,
|
||||||
|
{
|
||||||
|
pre: "<b>",
|
||||||
|
post: "</b>"
|
||||||
|
}
|
||||||
|
);
|
||||||
|
callback(results.map((el) => [el.string, el.original]));
|
||||||
},
|
},
|
||||||
template(value) {
|
template([string, original]) {
|
||||||
return `<span class="emoji">${emojiMap[value]}</span> ${value}`;
|
return `<span class="emoji">${emojiMap[original]}</span> ${string}`;
|
||||||
},
|
},
|
||||||
replace(value) {
|
replace([, original]) {
|
||||||
return emojiMap[value];
|
return emojiMap[original];
|
||||||
},
|
},
|
||||||
index: 1
|
index: 1
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user