all files / src/ module.ts

100% Statements 14/14
100% Branches 0/0
100% Functions 2/2
100% Lines 14/14
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27                          
import { Descriptor } from './descriptor';
import { ElementsManager } from './elements-manager';
import { DOMManager } from './dom-manager';
import { ScrollDetector } from './scroll-detector';
import { Scroller } from './scroller';
 
declare var angular;
 
export const scrollerModule = angular.module('angular-infinite-scroller', []);
 
scrollerModule.directive('infiniteScroller', () => {
    return {
        priority: 1000,
        restrict: 'A',
        transclude: 'element',
        link: (scope: ng.IScope, element: ng.IAugmentedJQuery, attr: ng.IAttributes, _ctrl, linker: ng.ITranscludeFunction) => {
            const descriptor = Descriptor.createFrom(scope, attr);
            const domManager = new DOMManager(element);
            const scrollDetector = new ScrollDetector(element);
            const elementsManager = new ElementsManager(descriptor, domManager, linker);
            const scroller = new Scroller(descriptor, scrollDetector, elementsManager);
 
            scroller.Subscribe();
        },
    };
});