aboutsummaryrefslogtreecommitdiff
path: root/src/components/emoji-selector/emoji-selector.js
diff options
context:
space:
mode:
authorjared <jaredrmain@gmail.com>2019-04-08 11:50:12 -0400
committerjared <jaredrmain@gmail.com>2019-04-08 11:50:12 -0400
commit2ab915b48680b3c176a201700b2dd7e859329b05 (patch)
tree14ed8c9590d05344d1dc213cc7ac599818d2a476 /src/components/emoji-selector/emoji-selector.js
parent820a6543c7dc4e99d2a193c5ce05cc0c9453a8d8 (diff)
#101 - click outside of emoji implementation
Diffstat (limited to 'src/components/emoji-selector/emoji-selector.js')
-rw-r--r--src/components/emoji-selector/emoji-selector.js12
1 files changed, 12 insertions, 0 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} `)