some backend JS support for an endless scroll directory

This commit is contained in:
friendica 2014-07-22 22:15:34 -07:00
parent 9e500494ff
commit 5c6a251213

View File

@ -384,6 +384,20 @@
}
function updatePageItems(mode,data) {
if(mode === 'append') {
$(data).each(function() {
$('#page-end').before($(this));
});
if(loadingPage) {
loadingPage = false;
}
}
}
function updateConvItems(mode,data) {
if(mode === 'update') {
@ -560,8 +574,6 @@ function updateConvItems(mode,data) {
function liveUpdate() {
if((src == null) || (stopped) || (! profile_uid)) { $('.like-rotator').spin(false); return; }
if(($('.comment-edit-text-full').length) || (in_progress)) {
@ -628,6 +640,37 @@ function updateConvItems(mode,data) {
}
function pageUpdate() {
in_progress = true;
var update_url;
var update_mode;
if(scroll_next) {
bParam_page = next_page;
page_load = true;
}
else {
bParam_page = 1;
}
update_url = baseurl + '/directory/?f=&page=' + bParam_page;
$("#page-spinner").spin('small');
update_mode = 'append';
$.get(update_url,function(data) {
page_load = false;
scroll_next = false;
updatePageItems(update_mode,data);
$("#page-spinner").spin(false);
in_progress = false;
});
}
function notify_popup_loader(notifyType) {
/* notifications template */
@ -1014,6 +1057,7 @@ $(document).ready(function() {
$(window).scroll(function () {
if(typeof buildCmd == 'function') {
// This is a content page with items and/or conversations
$('#more').hide();
$('#no-more').hide();
@ -1026,7 +1070,7 @@ $(window).scroll(function () {
if((pageHasMoreContent) && (! loadingPage)) {
$('#more').hide();
$('#no-more').hide();
// alert('scroll');
next_page++;
scroll_next = true;
loadingPage = true;
@ -1034,6 +1078,27 @@ $(window).scroll(function () {
}
}
}
else {
// This is some other kind of page - perhaps a directory
if($(window).scrollTop() + $(window).height() > $(document).height() - 200) {
$('#more').css("top","400");
$('#more').show();
}
if($(window).scrollTop() + $(window).height() > $(document).height() - 100) {
if((pageHasMoreContent) && (! loadingPage)) {
$('#more').hide();
$('#no-more').hide();
next_page++;
scroll_next = true;
loadingPage = true;
pageUpdate();
}
}
}
});
var chanviewFullSize = false;