diff options
Diffstat (limited to 'app/assets/javascripts/notes/components/noteable_discussion.vue')
-rw-r--r-- | app/assets/javascripts/notes/components/noteable_discussion.vue | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/app/assets/javascripts/notes/components/noteable_discussion.vue b/app/assets/javascripts/notes/components/noteable_discussion.vue index f6842fa240e..29740ddf6ae 100644 --- a/app/assets/javascripts/notes/components/noteable_discussion.vue +++ b/app/assets/javascripts/notes/components/noteable_discussion.vue @@ -68,7 +68,7 @@ export default { isReplying: false, isResolving: false, resolveAsThread: true, - isRepliesCollapsed: (!this.discussion.diff_discussion && this.discussion.resolved) || false, + isRepliesToggledByUser: false, }; }, computed: { @@ -189,6 +189,15 @@ export default { return isExpanded || this.alwaysExpanded || isResolvedNonDiffDiscussion; }, + isRepliesCollapsed() { + const { discussion, isRepliesToggledByUser } = this; + const { resolved, notes } = discussion; + const hasReplies = notes.length > 1; + + return ( + (!discussion.diff_discussion && resolved && hasReplies && !isRepliesToggledByUser) || false + ); + }, }, watch: { isReplying() { @@ -233,7 +242,7 @@ export default { this.toggleDiscussion({ discussionId: this.discussion.id }); }, toggleReplies() { - this.isRepliesCollapsed = !this.isRepliesCollapsed; + this.isRepliesToggledByUser = !this.isRepliesToggledByUser; }, showReplyForm() { this.isReplying = true; |