UNPKG

md2

Version:

Angular2 based Material Design components, directives and services are Accordion, Autocomplete, Chips(Tags), Collapse, Colorpicker, Data Table, Datepicker, Dialog(Modal), Menu, Multiselect, Select, Tabs, Tags(Chips), Toast and Tooltip.

64 lines 2.73 kB
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; var __metadata = (this && this.__metadata) || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; import { Directive, ElementRef, NgZone, Renderer2 } from '@angular/core'; import { Subject } from 'rxjs/Subject'; import { ScrollDispatcher } from './scroll-dispatcher'; import 'rxjs/add/observable/fromEvent'; /** * Sends an event when the directive's element is scrolled. Registers itself with the * ScrollDispatcher service to include itself as part of its collection of scrolling events that it * can be listened to through the service. */ var Scrollable = (function () { function Scrollable(_elementRef, _scroll, _ngZone, _renderer) { this._elementRef = _elementRef; this._scroll = _scroll; this._ngZone = _ngZone; this._renderer = _renderer; this._elementScrolled = new Subject(); } Scrollable.prototype.ngOnInit = function () { var _this = this; this._scrollListener = this._ngZone.runOutsideAngular(function () { return _this._renderer.listen(_this.getElementRef().nativeElement, 'scroll', function (event) { _this._elementScrolled.next(event); }); }); this._scroll.register(this); }; Scrollable.prototype.ngOnDestroy = function () { this._scroll.deregister(this); if (this._scrollListener) { this._scrollListener(); this._scrollListener = null; } }; /** * Returns observable that emits when a scroll event is fired on the host element. */ Scrollable.prototype.elementScrolled = function () { return this._elementScrolled.asObservable(); }; Scrollable.prototype.getElementRef = function () { return this._elementRef; }; return Scrollable; }()); Scrollable = __decorate([ Directive({ selector: '[cdk-scrollable], [cdkScrollable]' }), __metadata("design:paramtypes", [ElementRef, ScrollDispatcher, NgZone, Renderer2]) ], Scrollable); export { Scrollable }; //# sourceMappingURL=scrollable.js.map