diff --git a/polygerrit-ui/app/elements/diff/gr-diff-comment/gr-diff-comment.html b/polygerrit-ui/app/elements/diff/gr-diff-comment/gr-diff-comment.html
index 514bc80bfe..e1ebbf2db9 100644
--- a/polygerrit-ui/app/elements/diff/gr-diff-comment/gr-diff-comment.html
+++ b/polygerrit-ui/app/elements/diff/gr-diff-comment/gr-diff-comment.html
@@ -290,7 +290,8 @@ limitations under the License.
diff --git a/polygerrit-ui/app/elements/diff/gr-diff-comment/gr-diff-comment.js b/polygerrit-ui/app/elements/diff/gr-diff-comment/gr-diff-comment.js
index e45702cf36..c48f7ea7fb 100644
--- a/polygerrit-ui/app/elements/diff/gr-diff-comment/gr-diff-comment.js
+++ b/polygerrit-ui/app/elements/diff/gr-diff-comment/gr-diff-comment.js
@@ -113,10 +113,7 @@
},
commentSide: String,
- resolved: {
- type: Boolean,
- observer: '_toggleResolved',
- },
+ resolved: Boolean,
_numPendingDraftRequests: {
type: Object,
@@ -581,17 +578,10 @@
_handleToggleResolved() {
this.resolved = !this.resolved;
- },
-
- _toggleResolved(resolved, previousValue) {
- // Do not proceed if this call is for the initial definition of the
- // resolved property.
- if (previousValue === undefined) { return; }
-
// Modify payload instead of this.comment, as this.comment is passed from
// the parent by ref.
const payload = this._getEventPayload();
- payload.comment.unresolved = !resolved;
+ payload.comment.unresolved = !this.$.resolvedCheckbox.checked;
this.fire('comment-update', payload);
if (!this.editing) {
// Save the resolved state immediately.
diff --git a/polygerrit-ui/app/elements/diff/gr-diff-comment/gr-diff-comment_test.html b/polygerrit-ui/app/elements/diff/gr-diff-comment/gr-diff-comment_test.html
index c09e289dce..8c7894687a 100644
--- a/polygerrit-ui/app/elements/diff/gr-diff-comment/gr-diff-comment_test.html
+++ b/polygerrit-ui/app/elements/diff/gr-diff-comment/gr-diff-comment_test.html
@@ -636,7 +636,9 @@ limitations under the License.
test('draft prevent save when disabled', () => {
const saveStub = sandbox.stub(element, 'save');
+ element.showActions = true;
element.draft = true;
+ MockInteractions.tap(element.$.header);
MockInteractions.tap(element.$$('.edit'));
element._messageText = 'good news, everyone!';
element.flushDebouncer('fire-update');
@@ -680,7 +682,7 @@ limitations under the License.
assert.isFalse(element.$$('.resolve input').checked);
});
- test('resolved checkbox saves when !editing', () => {
+ test('resolved checkbox saves with tap when !editing', () => {
element.editing = false;
const save = sandbox.stub(element, 'save');
@@ -688,6 +690,9 @@ limitations under the License.
assert.isTrue(element.$$('.resolve input').checked);
element.comment = {unresolved: true};
assert.isFalse(element.$$('.resolve input').checked);
+ assert.isFalse(save.called);
+ MockInteractions.tap(element.$.resolvedCheckbox);
+ assert.isTrue(element.$$('.resolve input').checked);
assert.isTrue(save.called);
});