diff options
| author | Henry Jameson <me@hjkos.com> | 2021-06-08 14:34:47 +0300 |
|---|---|---|
| committer | Henry Jameson <me@hjkos.com> | 2021-06-08 14:34:47 +0300 |
| commit | 2f383c2c0197b94b30fdc4c5e0c742c7e104be20 (patch) | |
| tree | 7b4b025a8f4f32fb413ad617f7c9e74b72ae2c16 /src/components/mentions_line/mentions_line.js | |
| parent | 73127f0e2587ae2e06c3480451e9ea7fce3ce4c7 (diff) | |
moved mentions into a separate component - MentionLine, added collapsing
of mentions when there's too many of 'em
Diffstat (limited to 'src/components/mentions_line/mentions_line.js')
| -rw-r--r-- | src/components/mentions_line/mentions_line.js | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/src/components/mentions_line/mentions_line.js b/src/components/mentions_line/mentions_line.js new file mode 100644 index 00000000..837935ec --- /dev/null +++ b/src/components/mentions_line/mentions_line.js @@ -0,0 +1,51 @@ +import MentionLink from 'src/components/mention_link/mention_link.vue' +import { mapGetters } from 'vuex' + +const MentionsLine = { + name: 'MentionsLine', + props: { + attentions: { + required: true, + type: Object + } + }, + data: () => ({ expanded: false }), + components: { + MentionLink + }, + computed: { + oldStyle () { + return this.mergedConfig.mentionsOldStyle + }, + limit () { + return 1 + }, + mentions () { + return this.attentions.slice(0, this.limit) + }, + extraMentions () { + return this.attentions.slice(this.limit) + }, + manyMentions () { + return this.extraMentions.length > 0 + }, + buttonClasses () { + return [ + this.oldStyle + ? 'button-unstyled' + : 'button-default -sublime', + this.oldStyle + ? '-oldStyle' + : '-newStyle' + ] + }, + ...mapGetters(['mergedConfig']), + }, + methods: { + toggleShowMore () { + this.expanded = !this.expanded + } + } +} + +export default MentionsLine |
