Add an event to open reply dialog
This will allow inner components or plugins to
open reply dialog when needed.
Change-Id: I0bef453e83899c9e519f5c1a017f6240b8928de4
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 ddaf82d..1cd9f3f 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
@@ -476,6 +476,9 @@
this.addEventListener('diff-comments-modified',
() => this._handleReloadCommentThreads());
+
+ this.addEventListener('open-reply-dialog',
+ e => this._openReplyDialog());
}
/** @override */
diff --git a/polygerrit-ui/app/elements/change/gr-change-view/gr-change-view_test.js b/polygerrit-ui/app/elements/change/gr-change-view/gr-change-view_test.js
index 6bb15c5..ff8cbac 100644
--- a/polygerrit-ui/app/elements/change/gr-change-view/gr-change-view_test.js
+++ b/polygerrit-ui/app/elements/change/gr-change-view/gr-change-view_test.js
@@ -1726,6 +1726,20 @@
})));
});
+ test('show reply dialog on open-reply-dialog event', done => {
+ sinon.stub(element, '_openReplyDialog');
+ element.dispatchEvent(
+ new CustomEvent('open-reply-dialog', {
+ composed: true,
+ bubbles: true,
+ detail: {},
+ }));
+ flush(() => {
+ assert.isTrue(element._openReplyDialog.calledOnce);
+ done();
+ });
+ });
+
test('reply from comment adds quote text', () => {
const e = {detail: {message: {message: 'quote text'}}};
element._handleMessageReply(e);