diff options
| author | Shpuld Shpuldson <shpuld@gmail.com> | 2017-08-16 00:15:00 +0300 |
|---|---|---|
| committer | Shpuld Shpuldson <shpuld@gmail.com> | 2017-08-16 00:15:00 +0300 |
| commit | c4920f2d8694436bb1a7de7a90ac3a39297a7f54 (patch) | |
| tree | 8412ba1afa550b4939757efa0832a61d9a040c9f /src/components/conversation/conversation.js | |
| parent | acf3fd5d91b41cfed08d70c63eab7feb79769a10 (diff) | |
| parent | dbad99cb4fac4750a881773c9add317a8a4d9664 (diff) | |
Merge branch 'develop' of ssh.gitgud.io:lambadalambda/pleroma-fe into feature/profile-editing
Diffstat (limited to 'src/components/conversation/conversation.js')
| -rw-r--r-- | src/components/conversation/conversation.js | 29 |
1 files changed, 17 insertions, 12 deletions
diff --git a/src/components/conversation/conversation.js b/src/components/conversation/conversation.js index 059028f9..89fcfddb 100644 --- a/src/components/conversation/conversation.js +++ b/src/components/conversation/conversation.js @@ -1,4 +1,4 @@ -import { find, filter, sortBy } from 'lodash' +import { reduce, find, filter, sortBy } from 'lodash' import { statusType } from '../../modules/statuses.js' import Status from '../status/status.vue' @@ -33,6 +33,21 @@ const conversation = { const statuses = this.$store.state.statuses.allStatuses const conversation = filter(statuses, { statusnet_conversation_id: conversationId }) return sortAndFilterConversation(conversation) + }, + replies () { + let i = 1 + return reduce(this.conversation, (result, {id, in_reply_to_status_id}) => { + const irid = Number(in_reply_to_status_id) + if (irid) { + result[irid] = result[irid] || [] + result[irid].push({ + name: `#${i}`, + id: id + }) + } + i++ + return result + }, {}) } }, components: { @@ -59,18 +74,8 @@ const conversation = { } }, 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 + return this.replies[id] || [] }, focused (id) { if (this.statusoid.retweeted_status) { |
