UNPKG

4.39 kBJavaScriptView Raw
1"use strict";
2var core_1 = require('@angular/core');
3var Observable_1 = require('rxjs/Observable');
4require('rxjs/add/observable/fromEvent');
5require('rxjs/add/observable/timer');
6require('rxjs/add/observable/of');
7require('rxjs/add/operator/debounce');
8require('rxjs/add/operator/throttle');
9require('rxjs/add/operator/filter');
10require('rxjs/add/operator/mergeMap');
11var ScrollRegister = (function () {
12 function ScrollRegister() {
13 }
14 ScrollRegister.prototype.attachEvent = function (options) {
15 var scroller$ = Observable_1.Observable.fromEvent(options.container, 'scroll')[options.throttleType](function () { return Observable_1.Observable.timer(options.throttleDuration); })
16 .filter(options.filterBefore)
17 .mergeMap(function (ev) { return Observable_1.Observable.of(options.mergeMap(ev)); })
18 .subscribe(options.scrollHandler);
19 return scroller$;
20 };
21 ScrollRegister.decorators = [
22 { type: core_1.Injectable },
23 ];
24 /** @nocollapse */
25 ScrollRegister.ctorParameters = function () { return []; };
26 return ScrollRegister;
27}());
28exports.ScrollRegister = ScrollRegister;
29//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsLXJlZ2lzdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic2Nyb2xsLXJlZ2lzdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxxQkFBdUMsZUFBZSxDQUFDLENBQUE7QUFDdkQsMkJBQTJCLGlCQUFpQixDQUFDLENBQUE7QUFFN0MsUUFBTywrQkFBK0IsQ0FBQyxDQUFBO0FBQ3ZDLFFBQU8sMkJBQTJCLENBQUMsQ0FBQTtBQUNuQyxRQUFPLHdCQUF3QixDQUFDLENBQUE7QUFDaEMsUUFBTyw0QkFBNEIsQ0FBQyxDQUFBO0FBQ3BDLFFBQU8sNEJBQTRCLENBQUMsQ0FBQTtBQUNwQyxRQUFPLDBCQUEwQixDQUFDLENBQUE7QUFDbEMsUUFBTyw0QkFBNEIsQ0FBQyxDQUFBO0FBYXBDO0lBQUE7SUFlQSxDQUFDO0lBZEMsb0NBQVcsR0FBWCxVQUFhLE9BQTZCO1FBQ3hDLElBQU0sU0FBUyxHQUFpQix1QkFBVSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxDQUM5RSxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUMsY0FBTSxPQUFBLHVCQUFVLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxFQUExQyxDQUEwQyxDQUFDO2FBQ3ZFLE1BQU0sQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDO2FBQzVCLFFBQVEsQ0FBQyxVQUFDLEVBQU8sSUFBSyxPQUFBLHVCQUFVLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBbkMsQ0FBbUMsQ0FBQzthQUMxRCxTQUFTLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3BDLE1BQU0sQ0FBQyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUNJLHlCQUFVLEdBQTBCO1FBQzNDLEVBQUUsSUFBSSxFQUFFLGlCQUFVLEVBQUU7S0FDbkIsQ0FBQztJQUNGLGtCQUFrQjtJQUNYLDZCQUFjLEdBQW1FLGNBQU0sT0FBQSxFQUM3RixFQUQ2RixDQUM3RixDQUFDO0lBQ0YscUJBQUM7QUFBRCxDQUFDLEFBZkQsSUFlQztBQWZZLHNCQUFjLGlCQWUxQixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29udGFpbmVyUmVmIH0gZnJvbSAnLi9tb2RlbHMnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMvT2JzZXJ2YWJsZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzL1N1YnNjcmlwdGlvbic7XG5pbXBvcnQgJ3J4anMvYWRkL29ic2VydmFibGUvZnJvbUV2ZW50JztcbmltcG9ydCAncnhqcy9hZGQvb2JzZXJ2YWJsZS90aW1lcic7XG5pbXBvcnQgJ3J4anMvYWRkL29ic2VydmFibGUvb2YnO1xuaW1wb3J0ICdyeGpzL2FkZC9vcGVyYXRvci9kZWJvdW5jZSc7XG5pbXBvcnQgJ3J4anMvYWRkL29wZXJhdG9yL3Rocm90dGxlJztcbmltcG9ydCAncnhqcy9hZGQvb3BlcmF0b3IvZmlsdGVyJztcbmltcG9ydCAncnhqcy9hZGQvb3BlcmF0b3IvbWVyZ2VNYXAnO1xuXG5cbmV4cG9ydCBpbnRlcmZhY2UgU2Nyb2xsUmVnaXN0ZXJDb25maWcge1xuICBjb250YWluZXI6IENvbnRhaW5lclJlZjtcbiAgdGhyb3R0bGVUeXBlOiBzdHJpbmc7XG4gIHRocm90dGxlRHVyYXRpb246IG51bWJlcjtcbiAgZmlsdGVyQmVmb3JlOiBGdW5jdGlvbjtcbiAgbWVyZ2VNYXA6IEZ1bmN0aW9uO1xuICBzY3JvbGxIYW5kbGVyOiBGdW5jdGlvbjtcbn1cblxuXG5leHBvcnQgY2xhc3MgU2Nyb2xsUmVnaXN0ZXIge1xuICBhdHRhY2hFdmVudCAob3B0aW9uczogU2Nyb2xsUmVnaXN0ZXJDb25maWcpOiBTdWJzY3JpcHRpb24ge1xuICAgIGNvbnN0IHNjcm9sbGVyJDogU3Vic2NyaXB0aW9uID0gT2JzZXJ2YWJsZS5mcm9tRXZlbnQob3B0aW9ucy5jb250YWluZXIsICdzY3JvbGwnKVxuICAgICAgW29wdGlvbnMudGhyb3R0bGVUeXBlXSgoKSA9PiBPYnNlcnZhYmxlLnRpbWVyKG9wdGlvbnMudGhyb3R0bGVEdXJhdGlvbikpXG4gICAgICAuZmlsdGVyKG9wdGlvbnMuZmlsdGVyQmVmb3JlKVxuICAgICAgLm1lcmdlTWFwKChldjogYW55KSA9PiBPYnNlcnZhYmxlLm9mKG9wdGlvbnMubWVyZ2VNYXAoZXYpKSlcbiAgICAgIC5zdWJzY3JpYmUob3B0aW9ucy5zY3JvbGxIYW5kbGVyKTtcbiAgICByZXR1cm4gc2Nyb2xsZXIkO1xuICB9XG5zdGF0aWMgZGVjb3JhdG9yczogRGVjb3JhdG9ySW52b2NhdGlvbltdID0gW1xueyB0eXBlOiBJbmplY3RhYmxlIH0sXG5dO1xuLyoqIEBub2NvbGxhcHNlICovXG5zdGF0aWMgY3RvclBhcmFtZXRlcnM6ICgpID0+ICh7dHlwZTogYW55LCBkZWNvcmF0b3JzPzogRGVjb3JhdG9ySW52b2NhdGlvbltdfXxudWxsKVtdID0gKCkgPT4gW1xuXTtcbn1cblxuaW50ZXJmYWNlIERlY29yYXRvckludm9jYXRpb24ge1xuICB0eXBlOiBGdW5jdGlvbjtcbiAgYXJncz86IGFueVtdO1xufVxuIl19
\No newline at end of file