aboutsummaryrefslogtreecommitdiff
path: root/src/components/mentions_line/mentions_line.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/mentions_line/mentions_line.js')
-rw-r--r--src/components/mentions_line/mentions_line.js51
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..e52045ec
--- /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: {
+ mentions: {
+ required: true,
+ type: Array
+ }
+ },
+ data: () => ({ expanded: false }),
+ components: {
+ MentionLink
+ },
+ computed: {
+ oldStyle () {
+ return !this.mergedConfig.mentionsNewStyle
+ },
+ limit () {
+ return 6
+ },
+ mentionsComputed () {
+ return this.mentions.slice(0, this.limit)
+ },
+ extraMentions () {
+ return this.mentions.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