diff options
| author | dave <starpumadev@gmail.com> | 2019-03-11 10:52:28 -0400 |
|---|---|---|
| committer | dave <starpumadev@gmail.com> | 2019-03-11 10:52:28 -0400 |
| commit | 4f455eefe5af2914d7dece40e027ed35ec8a21b3 (patch) | |
| tree | 4a69d4c6c5b65ef650ee951a70a61a1a80da6562 | |
| parent | 09736691ea79e66c9e41d6f723384769088eb2d0 (diff) | |
#433: do not remove the reply dialog
5 files changed, 41 insertions, 12 deletions
diff --git a/src/components/conversation/conversation.js b/src/components/conversation/conversation.js index 48b8aaaa..95e484cd 100644 --- a/src/components/conversation/conversation.js +++ b/src/components/conversation/conversation.js @@ -30,7 +30,8 @@ const conversation = { }, props: [ 'statusoid', - 'collapsable' + 'collapsable', + 'replying' ], computed: { status () { @@ -102,6 +103,9 @@ const conversation = { }, setHighlight (id) { this.highlight = id + }, + toggleReplying () { + this.$emit('toggleReplying') } } } diff --git a/src/components/conversation/conversation.vue b/src/components/conversation/conversation.vue index 5528fef6..42d009c9 100644 --- a/src/components/conversation/conversation.vue +++ b/src/components/conversation/conversation.vue @@ -10,14 +10,19 @@ <div class="timeline"> <status v-for="status in conversation" - @goto="setHighlight" :key="status.id" - :inlineExpanded="collapsable" :statusoid="status" - :expandable='false' :focused="focused(status.id)" + @goto="setHighlight" + @toggleReplying="toggleReplying" + :replying="replying && status.id === statusId" + :key="status.id" + :inlineExpanded="collapsable" + :statusoid="status" + :expandable='false' + :focused="focused(status.id)" :inConversation='true' :highlight="highlight" :replies="getReplies(status.id)" - class="status-fadein"> - </status> + class="status-fadein" + /> </div> </div> </div> diff --git a/src/components/status/status.js b/src/components/status/status.js index 9e18fe15..20ca86a6 100644 --- a/src/components/status/status.js +++ b/src/components/status/status.js @@ -25,11 +25,11 @@ const Status = { 'replies', 'isPreview', 'noHeading', - 'inlineExpanded' + 'inlineExpanded', + 'replying' ], data () { return { - replying: false, expanded: false, unmuted: false, userExpanded: false, @@ -307,7 +307,7 @@ const Status = { } }, toggleReplying () { - this.replying = !this.replying + this.$emit('toggleReplying') }, gotoOriginal (id) { // only handled by conversation, not status_or_conversation diff --git a/src/components/status_or_conversation/status_or_conversation.js b/src/components/status_or_conversation/status_or_conversation.js index 441552ca..749f7665 100644 --- a/src/components/status_or_conversation/status_or_conversation.js +++ b/src/components/status_or_conversation/status_or_conversation.js @@ -5,7 +5,8 @@ const statusOrConversation = { props: ['statusoid'], data () { return { - expanded: false + expanded: false, + replying: false } }, components: { @@ -15,6 +16,9 @@ const statusOrConversation = { methods: { toggleExpanded () { this.expanded = !this.expanded + }, + toggleReplying () { + this.replying = !this.replying } } } diff --git a/src/components/status_or_conversation/status_or_conversation.vue b/src/components/status_or_conversation/status_or_conversation.vue index 9647d5eb..43a60c3a 100644 --- a/src/components/status_or_conversation/status_or_conversation.vue +++ b/src/components/status_or_conversation/status_or_conversation.vue @@ -1,7 +1,23 @@ <template> <div> - <conversation v-if="expanded" @toggleExpanded="toggleExpanded" :collapsable="true" :statusoid="statusoid"></conversation> - <status v-if="!expanded" @toggleExpanded="toggleExpanded" :expandable="true" :inConversation="false" :focused="false" :statusoid="statusoid"></status> + <conversation + v-if="expanded" + @toggleExpanded="toggleExpanded" + @toggleReplying="toggleReplying" + :replying="replying" + :collapsable="true" + :statusoid="statusoid" + /> + <status + v-else + @toggleExpanded="toggleExpanded" + @toggleReplying="toggleReplying" + :replying="replying" + :expandable="true" + :inConversation="false" + :focused="false" + :statusoid="statusoid" + /> </div> </template> |
