Catch pageup/down and ctrl-home/end at the top level
Make the scroll keys work when the focus is outside the message panel.
This commit is contained in:
parent
c5c9cad0cb
commit
8b8ee21765
7 changed files with 189 additions and 23 deletions
|
@ -132,6 +132,14 @@ module.exports = React.createClass({
|
|||
}
|
||||
},
|
||||
|
||||
/* jump to the top of the content.
|
||||
*/
|
||||
scrollToTop: function() {
|
||||
if (this.refs.scrollPanel) {
|
||||
this.refs.scrollPanel.scrollToTop();
|
||||
}
|
||||
},
|
||||
|
||||
/* jump to the bottom of the content.
|
||||
*/
|
||||
scrollToBottom: function() {
|
||||
|
@ -139,6 +147,26 @@ module.exports = React.createClass({
|
|||
this.refs.scrollPanel.scrollToBottom();
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* Page up/down.
|
||||
*
|
||||
* mult: -1 to page up, +1 to page down
|
||||
*/
|
||||
scrollRelative: function(mult) {
|
||||
if (this.refs.scrollPanel) {
|
||||
this.refs.scrollPanel.scrollRelative(mult);
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* Scroll up/down in response to a scroll key
|
||||
*/
|
||||
handleScrollKey: function(ev) {
|
||||
if (this.refs.scrollPanel) {
|
||||
this.refs.handleScrollKey(ev);
|
||||
}
|
||||
},
|
||||
|
||||
/* jump to the given event id.
|
||||
*
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue