aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/components/emoji-selector/emoji-selector.js12
-rw-r--r--src/components/emoji-selector/emoji-selector.vue6
2 files changed, 15 insertions, 3 deletions
diff --git a/src/components/emoji-selector/emoji-selector.js b/src/components/emoji-selector/emoji-selector.js
index 6d45df1f..969b880b 100644
--- a/src/components/emoji-selector/emoji-selector.js
+++ b/src/components/emoji-selector/emoji-selector.js
@@ -3,6 +3,12 @@ const filterByKeyword = (list, keyword = '') => {
}
const EmojiSelector = {
+ mounted () {
+ document.body.addEventListener('click', this.outsideClicked)
+ },
+ destroyed () {
+ document.body.removeEventListener('click', this.outsideClicked)
+ },
data () {
return {
open: false,
@@ -14,6 +20,12 @@ const EmojiSelector = {
togglePanel () {
this.open = !this.open
},
+ insideClicked (e) {
+ e.stopPropagation()
+ },
+ outsideClicked () {
+ this.open = false
+ },
onEmoji (emoji) {
const value = emoji.image_url ? `:${emoji.shortcode}:` : emoji.utf
this.$emit('emoji', ` ${value} `)
diff --git a/src/components/emoji-selector/emoji-selector.vue b/src/components/emoji-selector/emoji-selector.vue
index d5d63543..98d2642e 100644
--- a/src/components/emoji-selector/emoji-selector.vue
+++ b/src/components/emoji-selector/emoji-selector.vue
@@ -1,6 +1,6 @@
<template>
- <div class="emoji-dropdown">
- <span class="emoji-dropdown-toggle" @click="togglePanel">
+ <div class="emoji-dropdown" @click.prevent="insideClicked">
+ <span class="emoji-dropdown-toggle" @click.prevent="togglePanel">
<i class="icon-smile"></i>
</span>
<div class="emoji-dropdown-menu panel panel-default" v-if="open">
@@ -48,7 +48,7 @@
&-toggle {
cursor: pointer;
position: absolute;
- top: -25px;
+ top: -23px;
right: 2px;
line-height: 1;