|
88 | 88 | :show-new-messages-divider="showNewMessagesDivider"
|
89 | 89 | :text-formatting="textFormatting"
|
90 | 90 | :link-options="linkOptions"
|
91 |
| - :emojis-list="emojisList" |
92 | 91 | :hide-options="hideOptions"
|
93 | 92 | @message-added="onMessageAdded"
|
94 | 93 | @message-action-handler="messageActionHandler"
|
|
332 | 331 | <script>
|
333 | 332 | import InfiniteLoading from 'vue-infinite-loading'
|
334 | 333 | import vClickOutside from 'v-click-outside'
|
| 334 | +import { Database } from 'emoji-picker-element' |
335 | 335 |
|
336 | 336 | import Loader from '../../components/Loader/Loader'
|
337 | 337 | import SvgIcon from '../../components/SvgIcon/SvgIcon'
|
@@ -446,18 +446,14 @@ export default {
|
446 | 446 | selectedUsersTag: [],
|
447 | 447 | textareaCursorPosition: null,
|
448 | 448 | cursorRangePosition: null,
|
| 449 | + emojisDB: new Database(), |
449 | 450 | recorder: this.initRecorder(),
|
450 | 451 | isRecording: false,
|
451 | 452 | format: 'mp3'
|
452 | 453 | }
|
453 | 454 | },
|
454 | 455 |
|
455 | 456 | computed: {
|
456 |
| - emojisList() { |
457 |
| - const emojis = {} |
458 |
| - const emojisTable = Object.keys(emojis).map(key => emojis[key]) |
459 |
| - return Object.assign({}, ...emojisTable) |
460 |
| - }, |
461 | 457 | room() {
|
462 | 458 | return this.rooms.find(room => room.roomId === this.roomId) || {}
|
463 | 459 | },
|
@@ -734,13 +730,11 @@ export default {
|
734 | 730 |
|
735 | 731 | return { position, endPosition }
|
736 | 732 | },
|
737 |
| - updateEmojis(query) { |
| 733 | + async updateEmojis(query) { |
738 | 734 | if (!query) return
|
739 | 735 |
|
740 |
| - const emojisListKeys = Object.keys(this.emojisList) |
741 |
| - const matchingKeys = emojisListKeys.filter(key => key.startsWith(query)) |
742 |
| -
|
743 |
| - this.filteredEmojis = matchingKeys.map(key => this.emojisList[key]) |
| 736 | + const emojis = await this.emojisDB.getEmojiBySearchQuery(query) |
| 737 | + this.filteredEmojis = emojis.map(emoji => emoji.unicode) |
744 | 738 | },
|
745 | 739 | selectEmoji(emoji) {
|
746 | 740 | const { position, endPosition } = this.getCharPosition(':')
|
@@ -982,7 +976,7 @@ export default {
|
982 | 976 | el.style.height = el.scrollHeight - padding * 2 + 'px'
|
983 | 977 | },
|
984 | 978 | addEmoji(emoji) {
|
985 |
| - this.message += emoji.icon |
| 979 | + this.message += emoji.unicode |
986 | 980 | this.focusTextarea(true)
|
987 | 981 | },
|
988 | 982 | launchFilePicker() {
|
|
0 commit comments