Do not block reply dialog if attention set was modified
Change-Id: Ibae1bb972346117a4919ee91b249696312410ee5
diff --git a/polygerrit-ui/app/elements/change/gr-reply-dialog/gr-reply-dialog.js b/polygerrit-ui/app/elements/change/gr-reply-dialog/gr-reply-dialog.js
index 3fb8442..0690a87 100644
--- a/polygerrit-ui/app/elements/change/gr-reply-dialog/gr-reply-dialog.js
+++ b/polygerrit-ui/app/elements/change/gr-reply-dialog/gr-reply-dialog.js
@@ -281,7 +281,7 @@
type: Boolean,
computed: '_computeSendButtonDisabled(canBeStarted, ' +
'draftCommentThreads, draft, _reviewersMutated, _labelsChanged, ' +
- '_includeComments, disabled, _commentEditing)',
+ '_includeComments, disabled, _commentEditing, _attentionModified)',
observer: '_sendDisabledChanged',
},
draftCommentThreads: {
@@ -1028,7 +1028,8 @@
_computeSendButtonDisabled(
canBeStarted, draftCommentThreads, text, reviewersMutated,
- labelsChanged, includeComments, disabled, commentEditing) {
+ labelsChanged, includeComments, disabled, commentEditing,
+ attentionModified) {
// Polymer 2: check for undefined
if ([
canBeStarted,
@@ -1039,14 +1040,15 @@
includeComments,
disabled,
commentEditing,
+ attentionModified,
].includes(undefined)) {
return undefined;
}
-
if (commentEditing || disabled) { return true; }
if (canBeStarted === true) { return false; }
const hasDrafts = includeComments && draftCommentThreads.length;
- return !hasDrafts && !text.length && !reviewersMutated && !labelsChanged;
+ return !hasDrafts && !text.length && !reviewersMutated && !labelsChanged &&
+ !attentionModified;
}
_computePatchSetWarning(patchNum, labelsChanged) {
diff --git a/polygerrit-ui/app/elements/change/gr-reply-dialog/gr-reply-dialog_test.js b/polygerrit-ui/app/elements/change/gr-reply-dialog/gr-reply-dialog_test.js
index 456adb5..29f1e8a 100644
--- a/polygerrit-ui/app/elements/change/gr-reply-dialog/gr-reply-dialog_test.js
+++ b/polygerrit-ui/app/elements/change/gr-reply-dialog/gr-reply-dialog_test.js
@@ -1235,7 +1235,8 @@
/* labelsChanged= */ false,
/* includeComments= */ false,
/* disabled= */ false,
- /* commentEditing= */ false
+ /* commentEditing= */ false,
+ /* attentionModified= */ false
));
});
@@ -1250,7 +1251,24 @@
/* labelsChanged= */ false,
/* includeComments= */ false,
/* disabled= */ false,
- /* commentEditing= */ false
+ /* commentEditing= */ false,
+ /* attentionModified= */ false
+ ));
+ });
+
+ test('_computeSendButtonDisabled_attentionModified true', () => {
+ const fn = element._computeSendButtonDisabled.bind(element);
+ // Mock everything false
+ assert.isFalse(fn(
+ /* canBeStarted= */ false,
+ /* draftCommentThreads= */ [],
+ /* text= */ '',
+ /* reviewersMutated= */ false,
+ /* labelsChanged= */ false,
+ /* includeComments= */ false,
+ /* disabled= */ false,
+ /* commentEditing= */ false,
+ /* attentionModified= */ true
));
});
@@ -1265,7 +1283,8 @@
/* labelsChanged= */ false,
/* includeComments= */ true,
/* disabled= */ false,
- /* commentEditing= */ false
+ /* commentEditing= */ false,
+ /* attentionModified= */ false
));
});
@@ -1280,7 +1299,8 @@
/* labelsChanged= */ false,
/* includeComments= */ false,
/* disabled= */ false,
- /* commentEditing= */ false
+ /* commentEditing= */ false,
+ /* attentionModified= */ false
));
});
@@ -1295,7 +1315,8 @@
/* labelsChanged= */ false,
/* includeComments= */ false,
/* disabled= */ false,
- /* commentEditing= */ false
+ /* commentEditing= */ false,
+ /* attentionModified= */ false
));
});
@@ -1310,7 +1331,8 @@
/* labelsChanged= */ false,
/* includeComments= */ false,
/* disabled= */ false,
- /* commentEditing= */ false
+ /* commentEditing= */ false,
+ /* attentionModified= */ false
));
});
@@ -1325,7 +1347,8 @@
/* labelsChanged= */ true,
/* includeComments= */ false,
/* disabled= */ false,
- /* commentEditing= */ false
+ /* commentEditing= */ false,
+ /* attentionModified= */ false
));
});
@@ -1340,7 +1363,8 @@
/* labelsChanged= */ true,
/* includeComments= */ false,
/* disabled= */ true,
- /* commentEditing= */ false
+ /* commentEditing= */ false,
+ /* attentionModified= */ false
));
assert.isTrue(fn(
/* buttonLabel= */ 'Send',
@@ -1350,7 +1374,8 @@
/* labelsChanged= */ true,
/* includeComments= */ false,
/* disabled= */ false,
- /* commentEditing= */ true
+ /* commentEditing= */ true,
+ /* attentionModified= */ false
));
});