diff options
| author | Henry Jameson <me@hjkos.com> | 2019-03-30 12:31:50 +0200 |
|---|---|---|
| committer | Henry Jameson <me@hjkos.com> | 2019-03-30 12:31:50 +0200 |
| commit | 9f4a9bff464e43e1c01d621e8c55db6105d327de (patch) | |
| tree | 3124790d8a00ef148acb199efeac59594879f875 /src/components/emoji-input/emoji-input.vue | |
| parent | e89a62200532a4d61de35d73299c33555aad8bed (diff) | |
| parent | 0117f6af9f8ae600e613402590de4c9364806967 (diff) | |
Merge remote-tracking branch 'upstream/develop' into minimal-scopes-mode
* upstream/develop: (173 commits)
Fix: Change condition
fix typo
update store according to retweeted status
#433 - update sort by for conversation
display replies_count right after reply icon
expose replies_count from mastodon api
Apparently, MastoAPI gives status in ancestors if you try opening a repeat...
make side drawer use gesture service and fix its animations
review/remove error hiding
errata
review
#433 - sort conversation for retweets and clean up
Revert "Merge branch 'revert-987b5162' into 'develop'"
Revert "Merge branch 'mastoapi/friends-tl' into 'develop'"
Add await to login action'
Remove console log
Fix warnings in user profile routing
Add tests for gesture service, fix bug with perpendicular directions
#255 - clean up autocomplete form
#255 - clean up user settings page with self-closing html tags
...
Diffstat (limited to 'src/components/emoji-input/emoji-input.vue')
| -rw-r--r-- | src/components/emoji-input/emoji-input.vue | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/src/components/emoji-input/emoji-input.vue b/src/components/emoji-input/emoji-input.vue new file mode 100644 index 00000000..338b77cd --- /dev/null +++ b/src/components/emoji-input/emoji-input.vue @@ -0,0 +1,64 @@ +<template> + <div class="emoji-input"> + <input + v-if="type !== 'textarea'" + :class="classname" + :type="type" + :value="value" + :placeholder="placeholder" + @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 + v-else + :class="classname" + :value="value" + :placeholder="placeholder" + @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"> + <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 }" + > + <span v-if="emoji.img"> + <img :src="emoji.img" /> + </span> + <span v-else>{{emoji.utf}}</span> + <span>{{emoji.shortcode}}</span> + </div> + </div> + </div> + </div> +</template> + +<script src="./emoji-input.js"></script> + +<style lang="scss"> +@import '../../_variables.scss'; + +.emoji-input { + .form-control { + width: 100%; + } +} +</style> |
