summaryrefslogtreecommitdiffstats
path: root/js-old/directive
diff options
context:
space:
mode:
authorDevlin Junker <devlin.junker@gmail.com>2022-11-09 21:52:11 -0800
committerBenjamin Brahmer <info@b-brahmer.de>2022-11-17 14:50:53 +0100
commitc6b4bcc00e5202e85388a0624d149e8b1df386f8 (patch)
tree7063a29710dfd0a363f3462fee8a0e8185488e15 /js-old/directive
parent760c44288256b104b662ade7a892a6ec0b898851 (diff)
upmerging master into vue-rewrite
Signed-off-by: Devlin Junker <devlin.junker@gmail.com>
Diffstat (limited to 'js-old/directive')
-rw-r--r--js-old/directive/NewsScroll.js18
1 files changed, 13 insertions, 5 deletions
diff --git a/js-old/directive/NewsScroll.js b/js-old/directive/NewsScroll.js
index 44271b72b..a5e620b80 100644
--- a/js-old/directive/NewsScroll.js
+++ b/js-old/directive/NewsScroll.js
@@ -8,10 +8,19 @@
* @copyright Bernhard Posselt 2014
*/
app.directive('newsScroll', function ($timeout, ITEM_AUTO_PAGE_SIZE,
- MARK_READ_TIMEOUT, SCROLL_TIMEOUT) {
+ MARK_READ_TIMEOUT, SCROLL_TIMEOUT, NC_MAJOR_VERSION) {
'use strict';
var timer;
+
+ var scrollElement = function() {
+ // This should be in sync with the same function in js/gui/KeyboardShortcuts.js
+ if (NC_MAJOR_VERSION >= 25) {
+ return $('#app-content');
+ }
+ return $(window);
+ };
+
// autopaging
var autoPage = function (limit, elem, scope) {
var counter = 0;
@@ -49,8 +58,7 @@ app.directive('newsScroll', function ($timeout, ITEM_AUTO_PAGE_SIZE,
articles.forEach(function(article) {
// distance to top + height
var distTop = article.offsetTop + article.offsetHeight;
- var scrollTop = window.pageYOffset ||
- document.documentElement.scrollTop;
+ var scrollTop = window.pageYOffset || scrollElement().scrollTop();
if (distTop < scrollTop) {
ids.push(parseInt(article.dataset.id, 10));
} else {
@@ -100,11 +108,11 @@ app.directive('newsScroll', function ($timeout, ITEM_AUTO_PAGE_SIZE,
}
};
- $(document).on('scroll', scrollHandler);
+ scrollElement().on('scroll', scrollHandler);
// remove scroll handler if element is destroyed
scope.$on('$destroy', function () {
- $(document).off('scroll', scrollHandler);
+ scrollElement().off('scroll', scrollHandler);
});
}
};