Toggle left diff on Shift+A
Feature: Issue 3926
Change-Id: Ia52334f2aefeae4b3f115e5779da3b61af25ba11
diff --git a/polygerrit-ui/app/elements/diff/gr-diff-view/gr-diff-view.js b/polygerrit-ui/app/elements/diff/gr-diff-view/gr-diff-view.js
index 3c3536b..d6a3bc0 100644
--- a/polygerrit-ui/app/elements/diff/gr-diff-view/gr-diff-view.js
+++ b/polygerrit-ui/app/elements/diff/gr-diff-view/gr-diff-view.js
@@ -230,7 +230,13 @@
}
break;
case 65: // 'a'
- if (!this._loggedIn) { return; }
+ if (e.shiftKey) { // Hide left diff.
+ e.preventDefault();
+ this.$.diff.toggleLeftDiff();
+ break;
+ }
+
+ if (!this._loggedIn) { break; }
this.set('changeViewState.showReplyDialog', true);
/* falls through */ // required by JSHint
diff --git a/polygerrit-ui/app/elements/diff/gr-diff-view/gr-diff-view_test.html b/polygerrit-ui/app/elements/diff/gr-diff-view/gr-diff-view_test.html
index ede18f6..0a4d6b6 100644
--- a/polygerrit-ui/app/elements/diff/gr-diff-view/gr-diff-view_test.html
+++ b/polygerrit-ui/app/elements/diff/gr-diff-view/gr-diff-view_test.html
@@ -47,6 +47,13 @@
element = fixture('basic');
});
+ test('toggle left diff with a hotkey', function() {
+ var toggleLeftDiffStub = sinon.stub(element.$.diff, 'toggleLeftDiff');
+ MockInteractions.pressAndReleaseKeyOn(element, 65, 'shift'); // 'a'
+ assert.isTrue(toggleLeftDiffStub.calledOnce);
+ toggleLeftDiffStub.restore();
+ });
+
test('keyboard shortcuts', function() {
element._changeNum = '42';
element._patchRange = {