diff options
| author | Shpuld Shpuldson <shpuld@gmail.com> | 2017-06-15 23:25:19 +0300 |
|---|---|---|
| committer | Shpuld Shpuldson <shpuld@gmail.com> | 2017-06-15 23:25:19 +0300 |
| commit | e0e8965c08c09fee16d17e312c3788e13cdd1c88 (patch) | |
| tree | 53e6c4eebd4328f868c2d3f6eb0b26b3c3e1951d /src/components/conversation/conversation.js | |
| parent | 44923afbee23ef7bd22c20d25bf7776b284f5f88 (diff) | |
| parent | 7d46e3965d06e039537066eeb5fac99ebcab978d (diff) | |
update branch and fix merge conflicts
Diffstat (limited to 'src/components/conversation/conversation.js')
| -rw-r--r-- | src/components/conversation/conversation.js | 42 |
1 files changed, 39 insertions, 3 deletions
diff --git a/src/components/conversation/conversation.js b/src/components/conversation/conversation.js index 281b0183..059028f9 100644 --- a/src/components/conversation/conversation.js +++ b/src/components/conversation/conversation.js @@ -1,4 +1,4 @@ -import { filter, sortBy } from 'lodash' +import { find, filter, sortBy } from 'lodash' import { statusType } from '../../modules/statuses.js' import Status from '../status/status.vue' @@ -8,6 +8,16 @@ const sortAndFilterConversation = (conversation) => { } const conversation = { + data () { + return { + highlight: null, + preview: { + x: 0, + y: 0, + status: null + } + } + }, props: [ 'statusoid', 'collapsable' @@ -22,7 +32,6 @@ const conversation = { const conversationId = this.status.statusnet_conversation_id const statuses = this.$store.state.statuses.allStatuses const conversation = filter(statuses, { statusnet_conversation_id: conversationId }) - return sortAndFilterConversation(conversation) } }, @@ -41,6 +50,7 @@ const conversation = { const conversationId = this.status.statusnet_conversation_id this.$store.state.api.backendInteractor.fetchConversation({id: conversationId}) .then((statuses) => this.$store.dispatch('addNewStatuses', { statuses })) + .then(() => this.setHighlight(this.statusoid.id)) } else { const id = this.$route.params.id this.$store.state.api.backendInteractor.fetchStatus({id}) @@ -48,12 +58,38 @@ const conversation = { .then(() => this.fetchConversation()) } }, - focused: function (id) { + getReplies (id) { + let res = [] + id = Number(id) + let i + for (i = 0; i < this.conversation.length; i++) { + if (Number(this.conversation[i].in_reply_to_status_id) === id) { + res.push({ + name: `#${i}`, + id: this.conversation[i].id + }) + } + } + return res + }, + focused (id) { if (this.statusoid.retweeted_status) { return (id === this.statusoid.retweeted_status.id) } else { return (id === this.statusoid.id) } + }, + setHighlight (id) { + this.highlight = Number(id) + }, + setPreview (id, x, y) { + if (id) { + this.preview.x = x + this.preview.y = y + this.preview.status = find(this.conversation, { id: id }) + } else { + this.preview.status = null + } } } } |
