Merge "PolyGerrit: Add next/previous page key binding"
This commit is contained in:
@@ -76,6 +76,11 @@
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
|
listeners: {
|
||||||
|
'next-page': '_handleNextPage',
|
||||||
|
'previous-page': '_handlePreviousPage',
|
||||||
|
},
|
||||||
|
|
||||||
attached: function() {
|
attached: function() {
|
||||||
this.fire('title-change', {title: this._query});
|
this.fire('title-change', {title: this._query});
|
||||||
},
|
},
|
||||||
@@ -132,5 +137,17 @@
|
|||||||
_hideNextArrow: function(loading, changesPerPage) {
|
_hideNextArrow: function(loading, changesPerPage) {
|
||||||
return loading || !this._changes || this._changes.length < changesPerPage;
|
return loading || !this._changes || this._changes.length < changesPerPage;
|
||||||
},
|
},
|
||||||
|
|
||||||
|
_handleNextPage() {
|
||||||
|
if (this._hideNextArrow(this._offset)) { return; }
|
||||||
|
page.show(this._computeNavLink(
|
||||||
|
this._query, this._offset, 1, this._changesPerPage));
|
||||||
|
},
|
||||||
|
|
||||||
|
_handlePreviousPage() {
|
||||||
|
if (this._hidePrevArrow(this._offset)) { return; }
|
||||||
|
page.show(this._computeNavLink(
|
||||||
|
this._query, this._offset, -1, this._changesPerPage));
|
||||||
|
},
|
||||||
});
|
});
|
||||||
})();
|
})();
|
||||||
|
@@ -17,6 +17,18 @@
|
|||||||
Polymer({
|
Polymer({
|
||||||
is: 'gr-change-list',
|
is: 'gr-change-list',
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fired when next page key shortcut was pressed.
|
||||||
|
*
|
||||||
|
* @event next-page
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fired when previous page key shortcut was pressed.
|
||||||
|
*
|
||||||
|
* @event previous-page
|
||||||
|
*/
|
||||||
|
|
||||||
hostAttributes: {
|
hostAttributes: {
|
||||||
tabindex: 0,
|
tabindex: 0,
|
||||||
},
|
},
|
||||||
@@ -82,7 +94,9 @@
|
|||||||
keyBindings: {
|
keyBindings: {
|
||||||
'j': '_handleJKey',
|
'j': '_handleJKey',
|
||||||
'k': '_handleKKey',
|
'k': '_handleKKey',
|
||||||
|
'n ]': '_handleNKey',
|
||||||
'o enter': '_handleEnterKey',
|
'o enter': '_handleEnterKey',
|
||||||
|
'p [': '_handlePKey',
|
||||||
},
|
},
|
||||||
|
|
||||||
attached: function() {
|
attached: function() {
|
||||||
@@ -206,6 +220,20 @@
|
|||||||
page.show(this._changeURLForIndex(this.selectedIndex));
|
page.show(this._changeURLForIndex(this.selectedIndex));
|
||||||
},
|
},
|
||||||
|
|
||||||
|
_handleNKey: function(e) {
|
||||||
|
if (this.shouldSuppressKeyboardShortcut(e)) { return; }
|
||||||
|
|
||||||
|
e.preventDefault();
|
||||||
|
this.fire('next-page');
|
||||||
|
},
|
||||||
|
|
||||||
|
_handlePKey: function(e) {
|
||||||
|
if (this.shouldSuppressKeyboardShortcut(e)) { return; }
|
||||||
|
|
||||||
|
e.preventDefault();
|
||||||
|
this.fire('previous-page');
|
||||||
|
},
|
||||||
|
|
||||||
_changeURLForIndex: function(index) {
|
_changeURLForIndex: function(index) {
|
||||||
var changeEls = this._getListItems();
|
var changeEls = this._getListItems();
|
||||||
if (index < changeEls.length && changeEls[index]) {
|
if (index < changeEls.length && changeEls[index]) {
|
||||||
|
Reference in New Issue
Block a user