From 5c067d0a4bed95a1553c543dee0872767cd46099 Mon Sep 17 00:00:00 2001 From: Stephen Boissiere Date: Wed, 25 Jun 2014 19:05:37 +0100 Subject: [PATCH] Increment version, repeat scroll until filled, missing brackets --- build/ng-infinite-scroll.js | 5 +++-- build/ng-infinite-scroll.min.js | 4 ++-- component.json | 4 ++-- src/infinite-scroll.coffee | 6 +++++- 4 files changed, 12 insertions(+), 7 deletions(-) diff --git a/build/ng-infinite-scroll.js b/build/ng-infinite-scroll.js index 15cf14a..a530bee 100644 --- a/build/ng-infinite-scroll.js +++ b/build/ng-infinite-scroll.js @@ -1,4 +1,4 @@ -/* ng-infinite-scroll - v1.1.2 - 2014-05-21 */ +/* ng-infinite-scroll - v1.1.2 - 2014-06-25 */ var mod; mod = angular.module('infinite-scroll', []); @@ -41,10 +41,11 @@ mod.directive('infiniteScroll', [ elementBottom = $(document).height(); } remaining = elementBottom - containerBottom; - shouldScroll = remaining <= container.height() * scrollDistance + 1; + shouldScroll = remaining <= container.height() * (scrollDistance + 1); if (shouldScroll) { checkWhenEnabled = true; if (scrollEnabled) { + $timeout((function() {}, handler()), 0); if (scope.$$phase || $rootScope.$$phase) { return scope.infiniteScroll(); } else { diff --git a/build/ng-infinite-scroll.min.js b/build/ng-infinite-scroll.min.js index c66ac42..0267ad9 100644 --- a/build/ng-infinite-scroll.min.js +++ b/build/ng-infinite-scroll.min.js @@ -1,2 +1,2 @@ -/* ng-infinite-scroll - v1.1.2 - 2014-05-21 */ -var mod;mod=angular.module("infinite-scroll",[]),mod.value("THROTTLE_MILLISECONDS",null),mod.directive("infiniteScroll",["$rootScope","$window","$timeout","THROTTLE_MILLISECONDS",function(n,i,t,l){return{scope:{infiniteScroll:"&",infiniteScrollContainer:"=",infiniteScrollDistance:"=",infiniteScrollDisabled:"=",infiniteScrollUseDocumentBottom:"="},link:function(e,o,r){var c,u,f,a,s,S,m,h,d,v,p,g,D;return i=angular.element(i),v=null,p=null,u=null,f=null,d=!0,D=!1,h=function(){var t,l,r,c,a;return f===i?(t=f.height()+f.scrollTop(),r=o.offset().top+o.height()):(t=f.height(),l=0,void 0!==f.offset()&&(l=f.offset().top),r=o.offset().top-l+o.height()),D&&(r=$(document).height()),c=r-t,a=f.height()*v+1>=c,a?(u=!0,p?e.$$phase||n.$$phase?e.infiniteScroll():e.$apply(e.infiniteScroll):void 0):u=!1},g=function(n,i){var l,e,o;return o=null,e=0,l=function(){var i;return e=(new Date).getTime(),t.cancel(o),o=null,n.call(),i=null},function(){var r,c;return r=(new Date).getTime(),c=i-(r-e),0>=c?(clearTimeout(o),t.cancel(o),o=null,e=r,n.call()):o?void 0:o=t(l,c)}},null!=l&&(h=g(h,l)),e.$on("$destroy",function(){return f.off("scroll",h)}),S=function(n){return v=parseInt(n,10)||0},e.$watch("infiniteScrollDistance",S),S(e.infiniteScrollDistance),s=function(n){return p=!n,p&&u?(u=!1,h()):void 0},e.$watch("infiniteScrollDisabled",s),s(e.infiniteScrollDisabled),m=function(n){return D=n},e.$watch("infiniteScrollUseDocumentBottom",m),m(e.infiniteScrollUseDocumentBottom),c=function(n){return null!=f&&f.off("scroll",h),f="function"==typeof n.last&&n!==i?n.last():n,null!=n?f.on("scroll",h):void 0},c(i),a=function(n){if(null!=n&&0!==n.length){if(n=angular.element(n),null!=n)return c(n);throw new Exception("invalid infinite-scroll-container attribute.")}},e.$watch("infiniteScrollContainer",a),a(e.infiniteScrollContainer||[]),null!=r.infiniteScrollParent&&c(angular.element(o.parent())),null!=r.infiniteScrollImmediateCheck&&(d=e.$eval(r.infiniteScrollImmediateCheck)),t(function(){return d?h():void 0},0)}}}]); \ No newline at end of file +/* ng-infinite-scroll - v1.1.2 - 2014-06-25 */ +var mod;mod=angular.module("infinite-scroll",[]),mod.value("THROTTLE_MILLISECONDS",null),mod.directive("infiniteScroll",["$rootScope","$window","$timeout","THROTTLE_MILLISECONDS",function(n,i,t,l){return{scope:{infiniteScroll:"&",infiniteScrollContainer:"=",infiniteScrollDistance:"=",infiniteScrollDisabled:"=",infiniteScrollUseDocumentBottom:"="},link:function(e,o,r){var c,u,f,a,s,S,m,h,d,v,p,g,D;return i=angular.element(i),v=null,p=null,u=null,f=null,d=!0,D=!1,h=function(){var l,r,c,a,s;return f===i?(l=f.height()+f.scrollTop(),c=o.offset().top+o.height()):(l=f.height(),r=0,void 0!==f.offset()&&(r=f.offset().top),c=o.offset().top-r+o.height()),D&&(c=$(document).height()),a=c-l,s=f.height()*(v+1)>=a,s?(u=!0,p?(t(h(),0),e.$$phase||n.$$phase?e.infiniteScroll():e.$apply(e.infiniteScroll)):void 0):u=!1},g=function(n,i){var l,e,o;return o=null,e=0,l=function(){var i;return e=(new Date).getTime(),t.cancel(o),o=null,n.call(),i=null},function(){var r,c;return r=(new Date).getTime(),c=i-(r-e),0>=c?(clearTimeout(o),t.cancel(o),o=null,e=r,n.call()):o?void 0:o=t(l,c)}},null!=l&&(h=g(h,l)),e.$on("$destroy",function(){return f.off("scroll",h)}),S=function(n){return v=parseInt(n,10)||0},e.$watch("infiniteScrollDistance",S),S(e.infiniteScrollDistance),s=function(n){return p=!n,p&&u?(u=!1,h()):void 0},e.$watch("infiniteScrollDisabled",s),s(e.infiniteScrollDisabled),m=function(n){return D=n},e.$watch("infiniteScrollUseDocumentBottom",m),m(e.infiniteScrollUseDocumentBottom),c=function(n){return null!=f&&f.off("scroll",h),f="function"==typeof n.last&&n!==i?n.last():n,null!=n?f.on("scroll",h):void 0},c(i),a=function(n){if(null!=n&&0!==n.length){if(n=angular.element(n),null!=n)return c(n);throw new Exception("invalid infinite-scroll-container attribute.")}},e.$watch("infiniteScrollContainer",a),a(e.infiniteScrollContainer||[]),null!=r.infiniteScrollParent&&c(angular.element(o.parent())),null!=r.infiniteScrollImmediateCheck&&(d=e.$eval(r.infiniteScrollImmediateCheck)),t(function(){return d?h():void 0},0)}}}]); \ No newline at end of file diff --git a/component.json b/component.json index 851e241..bc9eba5 100644 --- a/component.json +++ b/component.json @@ -1,8 +1,8 @@ { "name": "nginfinitescroll", - "repo": "sroze/nginfinitescroll", + "repo": "olduwansteve/nginfinitescroll", "description": "Infinite scrolling for AngularJS", - "version": "1.1.3", + "version": "1.1.4", "keywords": ["scroll", "infinite", "angular", "angularjs"], "scripts": ["build/ng-infinite-scroll.min.js"], "dependencies":{}, diff --git a/src/infinite-scroll.coffee b/src/infinite-scroll.coffee index 11fe31d..35b761e 100644 --- a/src/infinite-scroll.coffee +++ b/src/infinite-scroll.coffee @@ -42,12 +42,16 @@ mod.directive 'infiniteScroll', ['$rootScope', '$window', '$timeout', 'THROTTLE_ elementBottom = $(document).height() remaining = elementBottom - containerBottom - shouldScroll = remaining <= container.height() * scrollDistance + 1 + shouldScroll = remaining <= container.height() * (scrollDistance + 1) if shouldScroll checkWhenEnabled = true if scrollEnabled + # Always schedule another check to see if the container is full after the call + $timeout (-> + handler() + ), 0 if scope.$$phase || $rootScope.$$phase scope.infiniteScroll() else