UNPKG

angular2-infinite-scroll

Version:
29 lines 4.39 kB
"use strict"; var core_1 = require('@angular/core'); var Observable_1 = require('rxjs/Observable'); require('rxjs/add/observable/fromEvent'); require('rxjs/add/observable/timer'); require('rxjs/add/observable/of'); require('rxjs/add/operator/debounce'); require('rxjs/add/operator/throttle'); require('rxjs/add/operator/filter'); require('rxjs/add/operator/mergeMap'); var ScrollRegister = (function () { function ScrollRegister() { } ScrollRegister.prototype.attachEvent = function (options) { var scroller$ = Observable_1.Observable.fromEvent(options.container, 'scroll')[options.throttleType](function () { return Observable_1.Observable.timer(options.throttleDuration); }) .filter(options.filterBefore) .mergeMap(function (ev) { return Observable_1.Observable.of(options.mergeMap(ev)); }) .subscribe(options.scrollHandler); return scroller$; }; ScrollRegister.decorators = [ { type: core_1.Injectable }, ]; /** @nocollapse */ ScrollRegister.ctorParameters = function () { return []; }; return ScrollRegister; }()); exports.ScrollRegister = ScrollRegister; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsLXJlZ2lzdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic2Nyb2xsLXJlZ2lzdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxxQkFBdUMsZUFBZSxDQUFDLENBQUE7QUFDdkQsMkJBQTJCLGlCQUFpQixDQUFDLENBQUE7QUFFN0MsUUFBTywrQkFBK0IsQ0FBQyxDQUFBO0FBQ3ZDLFFBQU8sMkJBQTJCLENBQUMsQ0FBQTtBQUNuQyxRQUFPLHdCQUF3QixDQUFDLENBQUE7QUFDaEMsUUFBTyw0QkFBNEIsQ0FBQyxDQUFBO0FBQ3BDLFFBQU8sNEJBQTRCLENBQUMsQ0FBQTtBQUNwQyxRQUFPLDBCQUEwQixDQUFDLENBQUE7QUFDbEMsUUFBTyw0QkFBNEIsQ0FBQyxDQUFBO0FBYXBDO0lBQUE7SUFlQSxDQUFDO0lBZEMsb0NBQVcsR0FBWCxVQUFhLE9BQTZCO1FBQ3hDLElBQU0sU0FBUyxHQUFpQix1QkFBVSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxDQUM5RSxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUMsY0FBTSxPQUFBLHVCQUFVLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxFQUExQyxDQUEwQyxDQUFDO2FBQ3ZFLE1BQU0sQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDO2FBQzVCLFFBQVEsQ0FBQyxVQUFDLEVBQU8sSUFBSyxPQUFBLHVCQUFVLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBbkMsQ0FBbUMsQ0FBQzthQUMxRCxTQUFTLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3BDLE1BQU0sQ0FBQyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUNJLHlCQUFVLEdBQTBCO1FBQzNDLEVBQUUsSUFBSSxFQUFFLGlCQUFVLEVBQUU7S0FDbkIsQ0FBQztJQUNGLGtCQUFrQjtJQUNYLDZCQUFjLEdBQW1FLGNBQU0sT0FBQSxFQUM3RixFQUQ2RixDQUM3RixDQUFDO0lBQ0YscUJBQUM7QUFBRCxDQUFDLEFBZkQsSUFlQztBQWZZLHNCQUFjLGlCQWUxQixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29udGFpbmVyUmVmIH0gZnJvbSAnLi9tb2RlbHMnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMvT2JzZXJ2YWJsZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzL1N1YnNjcmlwdGlvbic7XG5pbXBvcnQgJ3J4anMvYWRkL29ic2VydmFibGUvZnJvbUV2ZW50JztcbmltcG9ydCAncnhqcy9hZGQvb2JzZXJ2YWJsZS90aW1lcic7XG5pbXBvcnQgJ3J4anMvYWRkL29ic2VydmFibGUvb2YnO1xuaW1wb3J0ICdyeGpzL2FkZC9vcGVyYXRvci9kZWJvdW5jZSc7XG5pbXBvcnQgJ3J4anMvYWRkL29wZXJhdG9yL3Rocm90dGxlJztcbmltcG9ydCAncnhqcy9hZGQvb3BlcmF0b3IvZmlsdGVyJztcbmltcG9ydCAncnhqcy9hZGQvb3BlcmF0b3IvbWVyZ2VNYXAnO1xuXG5cbmV4cG9ydCBpbnRlcmZhY2UgU2Nyb2xsUmVnaXN0ZXJDb25maWcge1xuICBjb250YWluZXI6IENvbnRhaW5lclJlZjtcbiAgdGhyb3R0bGVUeXBlOiBzdHJpbmc7XG4gIHRocm90dGxlRHVyYXRpb246IG51bWJlcjtcbiAgZmlsdGVyQmVmb3JlOiBGdW5jdGlvbjtcbiAgbWVyZ2VNYXA6IEZ1bmN0aW9uO1xuICBzY3JvbGxIYW5kbGVyOiBGdW5jdGlvbjtcbn1cblxuXG5leHBvcnQgY2xhc3MgU2Nyb2xsUmVnaXN0ZXIge1xuICBhdHRhY2hFdmVudCAob3B0aW9uczogU2Nyb2xsUmVnaXN0ZXJDb25maWcpOiBTdWJzY3JpcHRpb24ge1xuICAgIGNvbnN0IHNjcm9sbGVyJDogU3Vic2NyaXB0aW9uID0gT2JzZXJ2YWJsZS5mcm9tRXZlbnQob3B0aW9ucy5jb250YWluZXIsICdzY3JvbGwnKVxuICAgICAgW29wdGlvbnMudGhyb3R0bGVUeXBlXSgoKSA9PiBPYnNlcnZhYmxlLnRpbWVyKG9wdGlvbnMudGhyb3R0bGVEdXJhdGlvbikpXG4gICAgICAuZmlsdGVyKG9wdGlvbnMuZmlsdGVyQmVmb3JlKVxuICAgICAgLm1lcmdlTWFwKChldjogYW55KSA9PiBPYnNlcnZhYmxlLm9mKG9wdGlvbnMubWVyZ2VNYXAoZXYpKSlcbiAgICAgIC5zdWJzY3JpYmUob3B0aW9ucy5zY3JvbGxIYW5kbGVyKTtcbiAgICByZXR1cm4gc2Nyb2xsZXIkO1xuICB9XG5zdGF0aWMgZGVjb3JhdG9yczogRGVjb3JhdG9ySW52b2NhdGlvbltdID0gW1xueyB0eXBlOiBJbmplY3RhYmxlIH0sXG5dO1xuLyoqIEBub2NvbGxhcHNlICovXG5zdGF0aWMgY3RvclBhcmFtZXRlcnM6ICgpID0+ICh7dHlwZTogYW55LCBkZWNvcmF0b3JzPzogRGVjb3JhdG9ySW52b2NhdGlvbltdfXxudWxsKVtdID0gKCkgPT4gW1xuXTtcbn1cblxuaW50ZXJmYWNlIERlY29yYXRvckludm9jYXRpb24ge1xuICB0eXBlOiBGdW5jdGlvbjtcbiAgYXJncz86IGFueVtdO1xufVxuIl19