diff options
Diffstat (limited to 'Resources/friendship/ui')
| -rw-r--r-- | Resources/friendship/ui/LikeList.js | 29 |
1 files changed, 18 insertions, 11 deletions
diff --git a/Resources/friendship/ui/LikeList.js b/Resources/friendship/ui/LikeList.js index 187848c..0d49d74 100644 --- a/Resources/friendship/ui/LikeList.js +++ b/Resources/friendship/ui/LikeList.js @@ -226,6 +226,7 @@ } } + ll_view.setData(Array()); if (e.data.length > 0) { var tuples = []; @@ -246,8 +247,10 @@ ll_view.footerTitle = "0 / " + fs.data.reverseChronoLikedIDs.length + " loaded"; + fs.data.isQueryingMore = true; fs.core.fetchMoreLikes(fs.data.NUM_LIKES_PER_FETCH); } else { + fs.data.isQueryingMore = false; ll_view.footerTitle = "0 / 0 loaded"; Ti.App.fireEvent('app:hide.loader'); } @@ -260,20 +263,24 @@ } ll_view.footerTitle = fs.data.numLikesFetched + " / " + fs.data.reverseChronoLikedIDs.length + " loaded"; - /* - if (fs.data.numLikesFetched < fs.data.reverseChronoLikedIDs.length) { - fs.core.fetchMoreLikes(fs.data.NUM_LIKES_PER_FETCH); - } - */ - // TODO: when UI scrolls to bottom, can call this (might need mutex) + fs.data.isQueryingMore = false; + Ti.App.fireEvent('app:hide.loader'); }); - ll_view.addEventListener("scrollEnd", function(e) { - Ti.API.info("scroll ended"); - Ti.API.info(e.contentOffset.y); - Ti.API.info(ll_view.height); - }); + ll_view.addEventListener("scroll", function(e) { + if (fs.app.isAndroid && (e.totalItemCount < e.firstVisibleItem + e.visibleItemCount + 3) + || (!fs.app.isAndroid && (e.contentOffset.y + e.size.height + 100 > e.contentSize.height))) { + if (fs.data.numLikesFetched < fs.data.reverseChronoLikedIDs.length) { + if (!fs.data.isQueryingMore) { + fs.data.isQueryingMore = true; + fs.core.fetchMoreLikes(fs.data.NUM_LIKES_PER_FETCH); + } + } else { + fs.data.isQueryingMore = false; + } + } + }); return ll_view; }; |
