Add hook for notifying when the commit message changes
Motivation for doing this is to detect in Chromium plugin when 'TBR=' is
used and warn that users still have to CR+1 a change to land via the CQ.
More details in
https://bugs.chromium.org/p/chromium/issues/detail?id=665882
Change-Id: I034dd2a14fac10c6ad0ccdbb6a4e101bf6600a58
diff --git a/polygerrit-ui/app/elements/change/gr-change-view/gr-change-view.js b/polygerrit-ui/app/elements/change/gr-change-view/gr-change-view.js
index 688cd0a..eadbb9d 100644
--- a/polygerrit-ui/app/elements/change/gr-change-view/gr-change-view.js
+++ b/polygerrit-ui/app/elements/change/gr-change-view/gr-change-view.js
@@ -146,6 +146,8 @@
_handleCommitMessageSave: function(e) {
var message = e.detail.content;
+ this.$.jsAPI.handleCommitMessage(this._change, message);
+
this.$.commitMessageEditor.disabled = true;
this._saveCommitMessage(message).then(function(resp) {
this.$.commitMessageEditor.disabled = false;
diff --git a/polygerrit-ui/app/elements/shared/gr-js-api-interface/gr-js-api-interface.js b/polygerrit-ui/app/elements/shared/gr-js-api-interface/gr-js-api-interface.js
index bb407aa..20f8a2f 100644
--- a/polygerrit-ui/app/elements/shared/gr-js-api-interface/gr-js-api-interface.js
+++ b/polygerrit-ui/app/elements/shared/gr-js-api-interface/gr-js-api-interface.js
@@ -19,6 +19,7 @@
LABEL_CHANGE: 'labelchange',
SHOW_CHANGE: 'showchange',
SUBMIT_CHANGE: 'submitchange',
+ COMMIT_MSG_EDIT: 'commitmsgedit',
COMMENT: 'comment',
REVERT: 'revert',
POST_REVERT: 'postrevert',
@@ -130,6 +131,18 @@
});
},
+ handleCommitMessage: function(change, msg) {
+ this._getEventCallbacks(EventType.COMMIT_MSG_EDIT).forEach(
+ function(cb) {
+ try {
+ cb(change, msg);
+ } catch (err) {
+ console.error(err);
+ }
+ }
+ );
+ },
+
_handleComment: function(detail) {
this._getEventCallbacks(EventType.COMMENT).forEach(function(cb) {
try {
diff --git a/polygerrit-ui/app/elements/shared/gr-js-api-interface/gr-js-api-interface_test.html b/polygerrit-ui/app/elements/shared/gr-js-api-interface/gr-js-api-interface_test.html
index 766da84..ec4d13b 100644
--- a/polygerrit-ui/app/elements/shared/gr-js-api-interface/gr-js-api-interface_test.html
+++ b/polygerrit-ui/app/elements/shared/gr-js-api-interface/gr-js-api-interface_test.html
@@ -139,6 +139,17 @@
assert.isTrue(errorStub.calledOnce);
});
+ test('commitmsgedit event', function(done) {
+ var testMsg = 'Test CL commit message';
+ plugin.on(element.EventType.COMMIT_MSG_EDIT, throwErrFn);
+ plugin.on(element.EventType.COMMIT_MSG_EDIT, function(change, msg) {
+ assert.deepEqual(msg, testMsg);
+ assert.isTrue(errorStub.calledOnce);
+ done();
+ });
+ element.handleCommitMessage(null, testMsg);
+ });
+
test('labelchange event', function(done) {
var testChange = {_number: 42};
plugin.on(element.EventType.LABEL_CHANGE, throwErrFn);