Use comment's collapsed state if set Default to the same as before when not set Change-Id: Ie1ee844ec29c5d4425762f9de18a730dfa9c8f7a
diff --git a/polygerrit-ui/app/elements/shared/gr-comment-thread/gr-comment-thread.js b/polygerrit-ui/app/elements/shared/gr-comment-thread/gr-comment-thread.js index f4e4d80..ccfc44c 100644 --- a/polygerrit-ui/app/elements/shared/gr-comment-thread/gr-comment-thread.js +++ b/polygerrit-ui/app/elements/shared/gr-comment-thread/gr-comment-thread.js
@@ -295,7 +295,9 @@ // False if it's an unresolved comment under UNRESOLVED_EXPAND_COUNT. const resolvedThread = !this.unresolved || this._orderedComments.length - i - 1 >= UNRESOLVED_EXPAND_COUNT; - comment.collapsed = !isRobotComment && resolvedThread; + if (comment.collapsed === undefined) { + comment.collapsed = !isRobotComment && resolvedThread; + } } } }
diff --git a/polygerrit-ui/app/elements/shared/gr-comment-thread/gr-comment-thread_test.html b/polygerrit-ui/app/elements/shared/gr-comment-thread/gr-comment-thread_test.html index d7c493c..a6a5767 100644 --- a/polygerrit-ui/app/elements/shared/gr-comment-thread/gr-comment-thread_test.html +++ b/polygerrit-ui/app/elements/shared/gr-comment-thread/gr-comment-thread_test.html
@@ -646,17 +646,23 @@ assert.isTrue(element.unresolved); }); - test('_setInitialExpandedState', () => { + test('_setInitialExpandedState with unresolved', () => { element.unresolved = true; element._setInitialExpandedState(); for (let i = 0; i < element.comments.length; i++) { assert.isFalse(element.comments[i].collapsed); } + }); + + test('_setInitialExpandedState without unresolved', () => { element.unresolved = false; element._setInitialExpandedState(); for (let i = 0; i < element.comments.length; i++) { assert.isTrue(element.comments[i].collapsed); } + }); + + test('_setInitialExpandedState with robot_ids', () => { for (let i = 0; i < element.comments.length; i++) { element.comments[i].robot_id = 123; } @@ -665,6 +671,16 @@ assert.isFalse(element.comments[i].collapsed); } }); + + test('_setInitialExpandedState with collapsed state', () => { + element.comments[0].collapsed = false; + element.unresolved = false; + element._setInitialExpandedState(); + assert.isFalse(element.comments[0].collapsed); + for (let i = 1; i < element.comments.length; i++) { + assert.isTrue(element.comments[i].collapsed); + } + }); }); test('_computeHostClass', () => {