diff options
| author | jared <jaredrmain@gmail.com> | 2019-04-05 14:51:25 -0400 |
|---|---|---|
| committer | jared <jaredrmain@gmail.com> | 2019-04-05 14:51:25 -0400 |
| commit | b4e53576f29d247bd890e890316d2ed026a3d057 (patch) | |
| tree | 3330c6091a8f24ed2dd5d9a8c76d04fb14336a12 /src/components/emoji-selector/emoji-selector.js | |
| parent | 093f0b23f749fefc5e8fd514e708731d1e1d3e94 (diff) | |
#101 - bind scroll event, highlight relevent section by tabs
Diffstat (limited to 'src/components/emoji-selector/emoji-selector.js')
| -rw-r--r-- | src/components/emoji-selector/emoji-selector.js | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/src/components/emoji-selector/emoji-selector.js b/src/components/emoji-selector/emoji-selector.js index 133506b7..6d45df1f 100644 --- a/src/components/emoji-selector/emoji-selector.js +++ b/src/components/emoji-selector/emoji-selector.js @@ -6,7 +6,8 @@ const EmojiSelector = { data () { return { open: false, - keyword: '' + keyword: '', + activeGroup: 'standard' } }, methods: { @@ -17,6 +18,20 @@ const EmojiSelector = { const value = emoji.image_url ? `:${emoji.shortcode}:` : emoji.utf this.$emit('emoji', ` ${value} `) this.open = false + }, + highlight (key) { + const ref = this.$refs['group-' + key] + const top = ref[0].offsetTop + this.$refs['emoji-groups'].scrollTop = top + 1 + this.activeGroup = key + }, + scrolledGroup (e) { + const top = e.target.scrollTop + Object.keys(this.emojis).forEach(key => { + if (this.$refs['group-' + key][0].offsetTop < top) { + this.activeGroup = key + } + }) } }, computed: { |
