mirror of
https://git.tt-rss.org/git/tt-rss.git
synced 2025-12-13 02:45:56 +00:00
implement keyboard-related changes discussed in https://community.tt-rss.org/t/changing-the-amount-of-scroll-by-arrow-key/3452/7
This commit is contained in:
@@ -7,6 +7,33 @@ define(["dojo/_base/declare"], function (declare) {
|
||||
hotkey_prefix: 0,
|
||||
hotkey_prefix_pressed: false,
|
||||
hotkey_prefix_timeout: 0,
|
||||
Scrollable: {
|
||||
scrollByPages: function (elem, page_offset, event) {
|
||||
if (!elem) return;
|
||||
|
||||
/* keep a line or so from the previous page */
|
||||
const offset = (elem.offsetHeight - (page_offset > 0 ? 50 : -50)) * page_offset;
|
||||
|
||||
this.scroll(elem, offset, event);
|
||||
},
|
||||
scroll: function(elem, offset, event) {
|
||||
if (!elem) return;
|
||||
|
||||
if (event && event.repeat) {
|
||||
elem.addClassName("forbid-smooth-scroll");
|
||||
window.clearTimeout(this._scroll_reset_timeout);
|
||||
|
||||
this._scroll_reset_timeout = window.setTimeout(() => {
|
||||
if (elem) elem.removeClassName("forbid-smooth-scroll");
|
||||
}, 250)
|
||||
|
||||
} else {
|
||||
elem.removeClassName("forbid-smooth-scroll");
|
||||
}
|
||||
|
||||
elem.scrollTop += offset;
|
||||
},
|
||||
},
|
||||
constructor: function() {
|
||||
window.onerror = this.Error.onWindowError;
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user