PageSourceSearch

https://customer.vitelglobal.com/plugin/js/ng-infinite-scroll.js

js vitelglobal.com collected 2026-10-01 13:04:54 UTC 2,139 bytes, 61 lines download raw bytes

1/* ng-infinite-scroll - v1.0.0 - 2013-02-23 */
2var mod;
3
4mod = angular.module('infinite-scroll', []);
5
6mod.directive('infiniteScroll', [
7  '$rootScope', '$window', '$timeout', function($rootScope, $window, $timeout) {
8    return {
9      link: function(scope, elem, attrs) {
10        var checkWhenEnabled, handler, scrollDistance, scrollEnabled;
11        $window = angular.element($window);
12        scrollDistance = 0;
13        if (attrs.infiniteScrollDistance != null) {
14          scope.$watch(attrs.infiniteScrollDistance, function(value) {
15            return scrollDistance = parseInt(value, 10);
16          });
17        }
18        scrollEnabled = true;
19        checkWhenEnabled = false;
20        if (attrs.infiniteScrollDisabled != null) {
21          scope.$watch(attrs.infiniteScrollDisabled, function(value) {
22            scrollEnabled = !value;
23            if (scrollEnabled && checkWhenEnabled) {
24              checkWhenEnabled = false;
25              return handler();
26            }
27          });
28        }
29        handler = function() {
30          var elementBottom, remaining, shouldScroll, windowBottom;
31          windowBottom = $window.height() + $window.scrollTop();
32          elementBottom = elem.offset().top + elem.height();
33          remaining = elementBottom - windowBottom;
34          shouldScroll = remaining <= $window.height() * scrollDistance;
35          if (shouldScroll && scrollEnabled) {
36            if ($rootScope.$$phase) {
37              return scope.$eval(attrs.infiniteScroll);
38            } else {
39              return scope.$apply(attrs.infiniteScroll);
40            }
41          } else if (shouldScroll) {
42            return checkWhenEnabled = true;
43          }
44        };
45        $window.on('scroll', handler);
46        scope.$on('$destroy', function() {
47          return $window.off('scroll', handler);
48        });
49        return $timeout((function() {
50          if (attrs.infiniteScrollImmediateCheck) {
51            if (scope.$eval(attrs.infiniteScrollImmediateCheck)) {
52              return handler();
53            }
54          } else {
55            return handler();
56          }
57        }), 0);
58      }
59    };
60  }
61]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.