Skip to content
Snippets Groups Projects
Commit 08b52a0e authored by Stefan Galinski's avatar Stefan Galinski :video_game:
Browse files

[BUGFIX] Next news not loaded if there is no scrollbar

parent a77cf4f5
No related branches found
No related tags found
No related merge requests found
......@@ -67,44 +67,50 @@ SG.ElementScrollBrowser.prototype = {
}
this.url = $('.tx-pagebrowse-next a').attr('href');
$(window).on(
'scroll', function() {
var recordLockedOrNotInPosition = this.lock || !this.checkPosition();
var urlIsInvalid = typeof this.url === 'undefined' || this.url === this.lastUrl;
if (recordLockedOrNotInPosition || urlIsInvalid) {
return;
}
this.lock = true;
$.ajax(
{
url: this.url,
success: function(response) {
var results = $(response).find('.tx-sgnews-list');
results.each(function(index, result) {
var $result = $(result);
var children = $result.children();
if (!children.length) {
return;
}
var $resultList = $('.tx-sgnews-list-' + $result.data('category'));
if (!$resultList.length) {
$resultList = $('.tx-sgnews-list');
}
$resultList.append(children);
this.loadIndicator = $resultList.children(':last');
});
this.lastUrl = this.url;
this.url = $(response).find('.tx-pagebrowse-next a').attr('href');
this.lock = false;
}.bind(this)
}
);
}.bind(this)
$(window).on('scroll', this.checkAndLoad.bind(this));
// initial check
this.checkAndLoad();
},
/**
* Checks and loads the next page if required
*/
checkAndLoad: function() {
var recordLockedOrNotInPosition = this.lock || !this.checkPosition();
var urlIsInvalid = typeof this.url === 'undefined' || this.url === this.lastUrl;
if (recordLockedOrNotInPosition || urlIsInvalid) {
return;
}
this.lock = true;
$.ajax(
{
url: this.url,
success: function(response) {
var results = $(response).find('.tx-sgnews-list');
results.each(function(index, result) {
var $result = $(result);
var children = $result.children();
if (!children.length) {
return;
}
var $resultList = $('.tx-sgnews-list-' + $result.data('category'));
if (!$resultList.length) {
$resultList = $('.tx-sgnews-list');
}
$resultList.append(children);
this.loadIndicator = $resultList.children(':last');
});
this.lastUrl = this.url;
this.url = $(response).find('.tx-pagebrowse-next a').attr('href');
this.lock = false;
}.bind(this)
}
);
},
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment