aboutsummaryrefslogtreecommitdiff
path: root/src/components/emoji-input
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/emoji-input')
-rw-r--r--src/components/emoji-input/emoji-input.js5
-rw-r--r--src/components/emoji-input/emoji-input.vue41
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>