aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDym Sohin <re@dym.sh>2020-09-21 18:10:55 +0200
committerDym Sohin <re@dym.sh>2020-09-21 18:10:55 +0200
commitcff202241b6eff8f6b381866e00a0392080d05a2 (patch)
tree3e03e84be6f2b38a97176a9735f86ada8355e47d
parentf1e1f20a8d89abf7920997c12d5c7b48cdb2d628 (diff)
improved algorithm, possibly speed too
-rw-r--r--src/components/emoji_picker/emoji_picker.js9
-rw-r--r--src/components/react_button/react_button.js9
2 files changed, 12 insertions, 6 deletions
diff --git a/src/components/emoji_picker/emoji_picker.js b/src/components/emoji_picker/emoji_picker.js
index 28ab0376..29c559df 100644
--- a/src/components/emoji_picker/emoji_picker.js
+++ b/src/components/emoji_picker/emoji_picker.js
@@ -11,14 +11,17 @@ const filterByKeyword = (list, keyword = '') => {
if (keyword === '') return list
const keywordLowercase = keyword.toLowerCase()
- const orderedEmojiList = []
+ let orderedEmojiList = []
for (const emoji of list) {
const indexOfKeyword = emoji.displayText.toLowerCase().indexOf(keywordLowercase)
if (indexOfKeyword > -1) {
- orderedEmojiList.splice(indexOfKeyword, 0, emoji)
+ if (!Array.isArray(orderedEmojiList[keywordLowercase])) {
+ orderedEmojiList[keywordLowercase] = []
+ }
+ orderedEmojiList[keywordLowercase].push(emoji)
}
}
- return orderedEmojiList
+ return orderedEmojiList.flat()
}
const EmojiPicker = {
diff --git a/src/components/react_button/react_button.js b/src/components/react_button/react_button.js
index 28ce884a..16014405 100644
--- a/src/components/react_button/react_button.js
+++ b/src/components/react_button/react_button.js
@@ -29,14 +29,17 @@ const ReactButton = {
emojis () {
if (this.filterWord !== '') {
const filterWordLowercase = this.filterWord.toLowerCase()
- const orderedEmojiList = []
+ let orderedEmojiList = []
for (const emoji of this.$store.state.instance.emoji) {
const indexOfFilterWord = emoji.displayText.toLowerCase().indexOf(filterWordLowercase)
if (indexOfFilterWord > -1) {
- orderedEmojiList.splice(indexOfFilterWord, 0, emoji)
+ if (!Array.isArray(orderedEmojiList[indexOfFilterWord])) {
+ orderedEmojiList[indexOfFilterWord] = []
+ }
+ orderedEmojiList[indexOfFilterWord].push(emoji)
}
}
- return orderedEmojiList
+ return orderedEmojiList.flat()
}
return this.$store.state.instance.emoji || []
},