Bookmarks: fix loading and displaying of the bookmarks

This commit is contained in:
Bart Visscher 2012-03-01 20:46:34 +01:00
parent 6ecbaf0041
commit 642ccd27ab
2 changed files with 19 additions and 4 deletions

View File

@ -17,7 +17,9 @@
} }
.bookmarks_list { .bookmarks_list {
margin-top: 36px; overflow: auto;
position: fixed;
top: 6.5em;
} }
.bookmarks_addBml { .bookmarks_addBml {

View File

@ -5,7 +5,11 @@ var bookmarks_sorting = 'bookmarks_sorting_recent';
$(document).ready(function() { $(document).ready(function() {
$('#bookmark_add_submit').click(addOrEditBookmark); $('#bookmark_add_submit').click(addOrEditBookmark);
$(window).scroll(updateOnBottom); $(window).resize(function () {
fillWindow($('.bookmarks_list'));
});
$(window).resize();
$($('.bookmarks_list')).scroll(updateOnBottom);
$('.bookmarks_list').empty(); $('.bookmarks_list').empty();
getBookmarks(); getBookmarks();
@ -21,7 +25,9 @@ function getBookmarks() {
url: 'ajax/updateList.php', url: 'ajax/updateList.php',
data: 'tag=' + encodeURI($('#bookmarkFilterTag').val()) + '&page=' + bookmarks_page + '&sort=' + bookmarks_sorting, data: 'tag=' + encodeURI($('#bookmarkFilterTag').val()) + '&page=' + bookmarks_page + '&sort=' + bookmarks_sorting,
success: function(bookmarks){ success: function(bookmarks){
bookmarks_page += 1; if (bookmarks.data.length) {
bookmarks_page += 1;
}
$('.bookmark_link').unbind('click', recordClick); $('.bookmark_link').unbind('click', recordClick);
$('.bookmark_delete').unbind('click', delBookmark); $('.bookmark_delete').unbind('click', delBookmark);
$('.bookmark_edit').unbind('click', showBookmark); $('.bookmark_edit').unbind('click', showBookmark);
@ -39,6 +45,9 @@ function getBookmarks() {
$('.bookmark_edit').click(showBookmark); $('.bookmark_edit').click(showBookmark);
bookmarks_loading = false; bookmarks_loading = false;
if (bookmarks.data.length) {
updateOnBottom()
}
} }
}); });
} }
@ -146,7 +155,11 @@ function updateBookmarksList(bookmark) {
function updateOnBottom() { function updateOnBottom() {
//check wether user is on bottom of the page //check wether user is on bottom of the page
if ($('body').height() <= ($(window).height() + $(window).scrollTop())) { var top = $('.bookmarks_list>:last-child').position().top;
var height = $('.bookmarks_list').height();
// use a bit of margin to begin loading before we are really at the
// bottom
if (top < height * 1.2) {
getBookmarks(); getBookmarks();
} }
} }