ng-infinite-scroll
Advanced tools
Comparing version
@@ -1,9 +0,3 @@ | ||
/* ng-infinite-scroll - v1.2.0 - 2015-12-02 */ | ||
var mod; | ||
mod = angular.module('infinite-scroll', []); | ||
mod.value('THROTTLE_MILLISECONDS', null); | ||
mod.directive('infiniteScroll', [ | ||
/* ng-infinite-scroll - v1.3.0 - 2016-06-30 */ | ||
angular.module('infinite-scroll', []).value('THROTTLE_MILLISECONDS', null).directive('infiniteScroll', [ | ||
'$rootScope', '$window', '$interval', 'THROTTLE_MILLISECONDS', function($rootScope, $window, $interval, THROTTLE_MILLISECONDS) { | ||
@@ -91,8 +85,6 @@ return { | ||
later = function() { | ||
var context; | ||
previous = new Date().getTime(); | ||
$interval.cancel(timeout); | ||
timeout = null; | ||
func.call(); | ||
return context = null; | ||
return func.call(); | ||
}; | ||
@@ -104,3 +96,2 @@ return function() { | ||
if (remaining <= 0) { | ||
clearTimeout(timeout); | ||
$interval.cancel(timeout); | ||
@@ -124,4 +115,7 @@ timeout = null; | ||
unregisterEventListener(); | ||
return unregisterEventListener = null; | ||
unregisterEventListener = null; | ||
} | ||
if (checkInterval) { | ||
return $interval.cancel(checkInterval); | ||
} | ||
}); | ||
@@ -164,3 +158,3 @@ handleInfiniteScrollDistance = function(v) { | ||
} | ||
if (newContainer instanceof HTMLElement) { | ||
if (newContainer.nodeType && newContainer.nodeType === 1) { | ||
newContainer = angular.element(newContainer); | ||
@@ -175,3 +169,3 @@ } else if (typeof newContainer.append === 'function') { | ||
} else { | ||
throw new Exception("invalid infinite-scroll-container attribute."); | ||
throw new Error("invalid infinite-scroll-container attribute."); | ||
} | ||
@@ -189,5 +183,6 @@ }; | ||
if (immediateCheck) { | ||
return handler(); | ||
handler(); | ||
} | ||
}), 0); | ||
return $interval.cancel(checkInterval); | ||
})); | ||
} | ||
@@ -197,1 +192,5 @@ }; | ||
]); | ||
if (typeof module !== "undefined" && typeof exports !== "undefined" && module.exports === exports) { | ||
module.exports = 'infinite-scroll'; | ||
} |
@@ -1,2 +0,2 @@ | ||
/* ng-infinite-scroll - v1.2.0 - 2015-12-02 */ | ||
var mod;mod=angular.module("infinite-scroll",[]),mod.value("THROTTLE_MILLISECONDS",null),mod.directive("infiniteScroll",["$rootScope","$window","$interval","THROTTLE_MILLISECONDS",function(a,b,c,d){return{scope:{infiniteScroll:"&",infiniteScrollContainer:"=",infiniteScrollDistance:"=",infiniteScrollDisabled:"=",infiniteScrollUseDocumentBottom:"=",infiniteScrollListenForEvent:"@"},link:function(e,f,g){var h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;return z=angular.element(b),u=null,v=null,j=null,k=null,r=!0,y=!1,x=null,i=!1,q=function(a){return a=a[0]||a,isNaN(a.offsetHeight)?a.document.documentElement.clientHeight:a.offsetHeight},s=function(a){return a[0].getBoundingClientRect&&!a.css("none")?a[0].getBoundingClientRect().top+t(a):void 0},t=function(a){return a=a[0]||a,isNaN(window.pageYOffset)?a.document.documentElement.scrollTop:a.ownerDocument.defaultView.pageYOffset},p=function(){var b,d,g,h,l;return k===z?(b=q(k)+t(k[0].document.documentElement),g=s(f)+q(f)):(b=q(k),d=0,void 0!==s(k)&&(d=s(k)),g=s(f)-d+q(f)),y&&(g=q((f[0].ownerDocument||f[0].document).documentElement)),h=g-b,l=h<=q(k)*u+1,l?(j=!0,v?e.$$phase||a.$$phase?e.infiniteScroll():e.$apply(e.infiniteScroll):void 0):(i&&c.cancel(i),j=!1)},w=function(a,b){var d,e,f;return f=null,e=0,d=function(){var b;return e=(new Date).getTime(),c.cancel(f),f=null,a.call(),b=null},function(){var g,h;return g=(new Date).getTime(),h=b-(g-e),0>=h?(clearTimeout(f),c.cancel(f),f=null,e=g,a.call()):f?void 0:f=c(d,h,1)}},null!=d&&(p=w(p,d)),e.$on("$destroy",function(){return k.unbind("scroll",p),null!=x?(x(),x=null):void 0}),n=function(a){return u=parseFloat(a)||0},e.$watch("infiniteScrollDistance",n),n(e.infiniteScrollDistance),m=function(a){return v=!a,v&&j?(j=!1,p()):void 0},e.$watch("infiniteScrollDisabled",m),m(e.infiniteScrollDisabled),o=function(a){return y=a},e.$watch("infiniteScrollUseDocumentBottom",o),o(e.infiniteScrollUseDocumentBottom),h=function(a){return null!=k&&k.unbind("scroll",p),k=a,null!=a?k.bind("scroll",p):void 0},h(z),e.infiniteScrollListenForEvent&&(x=a.$on(e.infiniteScrollListenForEvent,p)),l=function(a){if(null!=a&&0!==a.length){if(a instanceof HTMLElement?a=angular.element(a):"function"==typeof a.append?a=angular.element(a[a.length-1]):"string"==typeof a&&(a=angular.element(document.querySelector(a))),null!=a)return h(a);throw new Exception("invalid infinite-scroll-container attribute.")}},e.$watch("infiniteScrollContainer",l),l(e.infiniteScrollContainer||[]),null!=g.infiniteScrollParent&&h(angular.element(f.parent())),null!=g.infiniteScrollImmediateCheck&&(r=e.$eval(g.infiniteScrollImmediateCheck)),i=c(function(){return r?p():void 0},0)}}}]); | ||
/* ng-infinite-scroll - v1.3.0 - 2016-06-30 */ | ||
angular.module("infinite-scroll",[]).value("THROTTLE_MILLISECONDS",null).directive("infiniteScroll",["$rootScope","$window","$interval","THROTTLE_MILLISECONDS",function(a,b,c,d){return{scope:{infiniteScroll:"&",infiniteScrollContainer:"=",infiniteScrollDistance:"=",infiniteScrollDisabled:"=",infiniteScrollUseDocumentBottom:"=",infiniteScrollListenForEvent:"@"},link:function(e,f,g){var h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;return z=angular.element(b),u=null,v=null,j=null,k=null,r=!0,y=!1,x=null,i=!1,q=function(a){return a=a[0]||a,isNaN(a.offsetHeight)?a.document.documentElement.clientHeight:a.offsetHeight},s=function(a){if(a[0].getBoundingClientRect&&!a.css("none"))return a[0].getBoundingClientRect().top+t(a)},t=function(a){return a=a[0]||a,isNaN(window.pageYOffset)?a.document.documentElement.scrollTop:a.ownerDocument.defaultView.pageYOffset},p=function(){var b,d,g,h,l;return k===z?(b=q(k)+t(k[0].document.documentElement),g=s(f)+q(f)):(b=q(k),d=0,void 0!==s(k)&&(d=s(k)),g=s(f)-d+q(f)),y&&(g=q((f[0].ownerDocument||f[0].document).documentElement)),h=g-b,l=h<=q(k)*u+1,l?(j=!0,v?e.$$phase||a.$$phase?e.infiniteScroll():e.$apply(e.infiniteScroll):void 0):(i&&c.cancel(i),j=!1)},w=function(a,b){var d,e,f;return f=null,e=0,d=function(){return e=(new Date).getTime(),c.cancel(f),f=null,a.call()},function(){var g,h;return g=(new Date).getTime(),h=b-(g-e),h<=0?(c.cancel(f),f=null,e=g,a.call()):f?void 0:f=c(d,h,1)}},null!=d&&(p=w(p,d)),e.$on("$destroy",function(){if(k.unbind("scroll",p),null!=x&&(x(),x=null),i)return c.cancel(i)}),n=function(a){return u=parseFloat(a)||0},e.$watch("infiniteScrollDistance",n),n(e.infiniteScrollDistance),m=function(a){if(v=!a,v&&j)return j=!1,p()},e.$watch("infiniteScrollDisabled",m),m(e.infiniteScrollDisabled),o=function(a){return y=a},e.$watch("infiniteScrollUseDocumentBottom",o),o(e.infiniteScrollUseDocumentBottom),h=function(a){if(null!=k&&k.unbind("scroll",p),k=a,null!=a)return k.bind("scroll",p)},h(z),e.infiniteScrollListenForEvent&&(x=a.$on(e.infiniteScrollListenForEvent,p)),l=function(a){if(null!=a&&0!==a.length){if(a.nodeType&&1===a.nodeType?a=angular.element(a):"function"==typeof a.append?a=angular.element(a[a.length-1]):"string"==typeof a&&(a=angular.element(document.querySelector(a))),null!=a)return h(a);throw new Error("invalid infinite-scroll-container attribute.")}},e.$watch("infiniteScrollContainer",l),l(e.infiniteScrollContainer||[]),null!=g.infiniteScrollParent&&h(angular.element(f.parent())),null!=g.infiniteScrollImmediateCheck&&(r=e.$eval(g.infiniteScrollImmediateCheck)),i=c(function(){return r&&p(),c.cancel(i)})}}}]),"undefined"!=typeof module&&"undefined"!=typeof exports&&module.exports===exports&&(module.exports="infinite-scroll"); |
{ | ||
"name": "ng-infinite-scroll", | ||
"version": "1.2.1", | ||
"version": "1.3.0", | ||
"description": "Infinite scrolling for AngularJS", | ||
@@ -9,2 +9,3 @@ "repository": { | ||
}, | ||
"main": "build/ng-infinite-scroll.js", | ||
"browser": "build/ng-infinite-scroll.js", | ||
@@ -15,5 +16,5 @@ "scripts": { | ||
"author": { | ||
"name": "Brandon Tilley", | ||
"email": "brandon@brandontilley.com", | ||
"url": "http://brandontilley.com" | ||
"name": "Michelle Tilley", | ||
"email": "michelle@michelletilley.net", | ||
"url": "http://michelletilley.net" | ||
}, | ||
@@ -20,0 +21,0 @@ "contributors": [ |
@@ -0,1 +1,5 @@ | ||
[**Maintainer help needed**: I'm looking for fellows that are willing to help me maintain and improve this project.](https://github.com/sroze/ngInfiniteScroll/issues/267) | ||
--- | ||
 | ||
@@ -28,6 +32,6 @@ | ||
* [Bower](http://bower.io/) via `bower install ngInfiniteScroll` | ||
* [NPM](https://www.npmjs.com) via `npm install --save ng-infinite-scroll` | ||
* [Nuget](https://www.nuget.org) via `PM> Install-Package ng-infinite-scroll` | ||
* Include the script tag on your page after the AngularJS and jQuery script tags (ngInfiniteScroll requires jQuery to run) | ||
* Include the script tag on your page after the AngularJS script tag (ngInfiniteScroll *doesn't* require jQuery) | ||
<script type='text/javascript' src='path/to/jquery.min.js'></script> | ||
<script type='text/javascript' src='path/to/angular.min.js'></script> | ||
@@ -34,0 +38,0 @@ <script type='text/javascript' src='path/to/ng-infinite-scroll.min.js'></script> |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
New author
Supply chain riskA new npm collaborator published a version of the package for the first time. New collaborators are usually benign additions to a project, but do indicate a change to the security surface area of a package.
Found 1 instance in 1 package
37409
1.61%227
0.44%72
5.88%1
Infinity%