diff options
Diffstat (limited to 'src/components/emoji-input')
| -rw-r--r-- | src/components/emoji-input/emoji-input.js | 5 | ||||
| -rw-r--r-- | src/components/emoji-input/emoji-input.vue | 41 |
2 files changed, 25 insertions, 21 deletions
diff --git a/src/components/emoji-input/emoji-input.js b/src/components/emoji-input/emoji-input.js index a5bb6eaf..64932f0e 100644 --- a/src/components/emoji-input/emoji-input.js +++ b/src/components/emoji-input/emoji-input.js @@ -23,7 +23,8 @@ const EmojiInput = { if (matchedEmoji.length <= 0) { return false } - return map(take(matchedEmoji, 5), ({shortcode, image_url, utf}, index) => ({ + // eslint-disable-next-line camelcase + return map(take(matchedEmoji, 5), ({ shortcode, image_url, utf }, index) => ({ shortcode: `:${shortcode}:`, utf: utf || '', // eslint-disable-next-line camelcase @@ -98,7 +99,7 @@ const EmojiInput = { onInput (e) { this.$emit('input', e.target.value) }, - setCaret ({target: {selectionStart}}) { + setCaret ({ target: { selectionStart } }) { this.caret = selectionStart } } diff --git a/src/components/emoji-input/emoji-input.vue b/src/components/emoji-input/emoji-input.vue index 338b77cd..6a3be036 100644 --- a/src/components/emoji-input/emoji-input.vue +++ b/src/components/emoji-input/emoji-input.vue @@ -9,13 +9,13 @@ @input="onInput" @click="setCaret" @keyup="setCaret" - @keydown="onKeydown" - @keydown.down="cycleForward" - @keydown.up="cycleBackward" - @keydown.shift.tab="cycleBackward" - @keydown.tab="cycleForward" - @keydown.enter="replaceEmoji" - /> + @keydown.exact="onKeydown" + @keydown.down.exact="cycleForward" + @keydown.up.exact="cycleBackward" + @keydown.shift.tab.exact="cycleBackward" + @keydown.tab.exact="cycleForward" + @keydown.enter.exact="replaceEmoji" + > <textarea v-else :class="classname" @@ -24,27 +24,30 @@ @input="onInput" @click="setCaret" @keyup="setCaret" - @keydown="onKeydown" - @keydown.down="cycleForward" - @keydown.up="cycleBackward" - @keydown.shift.tab="cycleBackward" - @keydown.tab="cycleForward" - @keydown.enter="replaceEmoji" - ></textarea> - <div class="autocomplete-panel" v-if="suggestions"> + @keydown.exact="onKeydown" + @keydown.down.exact="cycleForward" + @keydown.up.exact="cycleBackward" + @keydown.shift.tab.exact="cycleBackward" + @keydown.tab.exact="cycleForward" + @keydown.enter.exact="replaceEmoji" + /> + <div + v-if="suggestions" + class="autocomplete-panel" + > <div class="autocomplete-panel-body"> <div v-for="(emoji, index) in suggestions" :key="index" - @click="replace(emoji.utf || (emoji.shortcode + ' '))" class="autocomplete-item" :class="{ highlighted: emoji.highlighted }" + @click="replace(emoji.utf || (emoji.shortcode + ' '))" > <span v-if="emoji.img"> - <img :src="emoji.img" /> + <img :src="emoji.img"> </span> - <span v-else>{{emoji.utf}}</span> - <span>{{emoji.shortcode}}</span> + <span v-else>{{ emoji.utf }}</span> + <span>{{ emoji.shortcode }}</span> </div> </div> </div> |
