UNPKG

rfx-parallax

Version:
56 lines 6.16 kB
import { isPlatformBrowser } from '@angular/common'; import { Inject, Injectable, PLATFORM_ID } from '@angular/core'; import { Subject } from 'rxjs'; import * as i0 from "@angular/core"; export class ResizeEventService { constructor(platformId) { this.platformId = platformId; this.subjectResize = new Subject(); this.resizeEvent = this.onResizeEvent.bind(this); this.isBrowser = isPlatformBrowser(platformId); } ngOnDestroy() { this.destroyListener(); } /** * Create window resize listener. */ createListener() { if (this.isBrowser) { window.addEventListener('resize', this.resizeEvent, { passive: true }); } } /** * Destroy window resize listener. */ destroyListener() { if (this.isBrowser) { window.removeEventListener('resize', this.resizeEvent); } } /** * Trigger window resize event. */ onResizeEvent() { this.subjectResize.next(undefined); } /** * Get window resize event. * @return {Observable<undefined>} - Window resize event. */ getResize() { return this.subjectResize.asObservable(); } } ResizeEventService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: ResizeEventService, deps: [{ token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Injectable }); ResizeEventService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: ResizeEventService, providedIn: 'root' }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: ResizeEventService, decorators: [{ type: Injectable, args: [{ providedIn: 'root' }] }], ctorParameters: function () { return [{ type: Object, decorators: [{ type: Inject, args: [PLATFORM_ID] }] }]; } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXplLWV2ZW50LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yZngtcGFyYWxsYXgvc3JjL2xpYi9zZXJ2aWNlcy9yZXNpemUtZXZlbnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBYSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0UsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFLM0MsTUFBTSxPQUFPLGtCQUFrQjtJQWU3QixZQUMrQixVQUFrQjtRQUFsQixlQUFVLEdBQVYsVUFBVSxDQUFRO1FBRS9DLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxPQUFPLEVBQWEsQ0FBQztRQUM5QyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2pELElBQUksQ0FBQyxTQUFTLEdBQUcsaUJBQWlCLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRDs7T0FFRztJQUNJLGNBQWM7UUFDbkIsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2xCLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1NBQ3hFO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0ksZUFBZTtRQUNwQixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDbEIsTUFBTSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7U0FDeEQ7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSyxhQUFhO1FBQ25CLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRDs7O09BR0c7SUFDSSxTQUFTO1FBQ2QsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzNDLENBQUM7OytHQTFEVSxrQkFBa0Isa0JBZ0JuQixXQUFXO21IQWhCVixrQkFBa0IsY0FGakIsTUFBTTsyRkFFUCxrQkFBa0I7a0JBSDlCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzBEQWlCNEMsTUFBTTswQkFBOUMsTUFBTTsyQkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIE9uRGVzdHJveSwgUExBVEZPUk1fSUQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgUmVzaXplRXZlbnRTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuICAvKipcclxuICAgKiBTdWJzY3JpYmUgdG8gd2luZG93IHJlc2l6ZSBjaGFuZ2VzLlxyXG4gICAqIEB0eXBlIHtTdWJqZWN0PHVuZGVmaW5lZD59XHJcbiAgICovXHJcbiAgcHJpdmF0ZSBzdWJqZWN0UmVzaXplOiBTdWJqZWN0PHVuZGVmaW5lZD47XHJcblxyXG4gIC8qKlxyXG4gICAqIFdpbmRvdyByZXNpemUgbGlzdGVuZXIuXHJcbiAgICogQHR5cGUge0V2ZW50TGlzdGVuZXJPckV2ZW50TGlzdGVuZXJPYmplY3R9XHJcbiAgICovXHJcbiAgcHJpdmF0ZSByZXNpemVFdmVudDogRXZlbnRMaXN0ZW5lck9yRXZlbnRMaXN0ZW5lck9iamVjdDtcclxuXHJcbiAgcHJpdmF0ZSBpc0Jyb3dzZXI6IGJvb2xlYW47XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQEluamVjdChQTEFURk9STV9JRCkgcHJpdmF0ZSBwbGF0Zm9ybUlkOiBPYmplY3RcclxuICApIHtcclxuICAgIHRoaXMuc3ViamVjdFJlc2l6ZSA9IG5ldyBTdWJqZWN0PHVuZGVmaW5lZD4oKTtcclxuICAgIHRoaXMucmVzaXplRXZlbnQgPSB0aGlzLm9uUmVzaXplRXZlbnQuYmluZCh0aGlzKTtcclxuICAgIHRoaXMuaXNCcm93c2VyID0gaXNQbGF0Zm9ybUJyb3dzZXIocGxhdGZvcm1JZCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmRlc3Ryb3lMaXN0ZW5lcigpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ3JlYXRlIHdpbmRvdyByZXNpemUgbGlzdGVuZXIuXHJcbiAgICovXHJcbiAgcHVibGljIGNyZWF0ZUxpc3RlbmVyKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuaXNCcm93c2VyKSB7XHJcbiAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdyZXNpemUnLCB0aGlzLnJlc2l6ZUV2ZW50LCB7IHBhc3NpdmU6IHRydWUgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEZXN0cm95IHdpbmRvdyByZXNpemUgbGlzdGVuZXIuXHJcbiAgICovXHJcbiAgcHVibGljIGRlc3Ryb3lMaXN0ZW5lcigpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmlzQnJvd3Nlcikge1xyXG4gICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigncmVzaXplJywgdGhpcy5yZXNpemVFdmVudCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBUcmlnZ2VyIHdpbmRvdyByZXNpemUgZXZlbnQuXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBvblJlc2l6ZUV2ZW50KCk6IHZvaWQge1xyXG4gICAgdGhpcy5zdWJqZWN0UmVzaXplLm5leHQodW5kZWZpbmVkKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldCB3aW5kb3cgcmVzaXplIGV2ZW50LlxyXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8dW5kZWZpbmVkPn0gLSBXaW5kb3cgcmVzaXplIGV2ZW50LlxyXG4gICAqL1xyXG4gIHB1YmxpYyBnZXRSZXNpemUoKTogT2JzZXJ2YWJsZTx1bmRlZmluZWQ+IHtcclxuICAgIHJldHVybiB0aGlzLnN1YmplY3RSZXNpemUuYXNPYnNlcnZhYmxlKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==