Mercurial > hg > ugly-duckling
changeset 284:f0c9c9d860e7
Introduce app level, injectable, observable for dimension changes.
author | Lucas Thompson <dev@lucas.im> |
---|---|
date | Thu, 04 May 2017 16:57:57 +0100 |
parents | a2ba82a51115 |
children | 2d7da410ba46 |
files | src/app/app.module.ts |
diffstat | 1 files changed, 13 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/app/app.module.ts Thu May 04 15:33:20 2017 +0100 +++ b/src/app/app.module.ts Thu May 04 16:57:57 2017 +0100 @@ -28,6 +28,7 @@ import {AnalysisItemComponent} from './analysis-item/analysis-item.component'; import {ProgressBarComponent} from './progress-bar/progress-bar'; import {UglyMaterialModule} from './ugly-material.module'; +import {Observable} from 'rxjs/Observable'; export function createAudioContext(): AudioContext { return new ( @@ -92,6 +93,16 @@ }; } +export interface Dimension { + width: number; + height: number; +} +export function createWindowDimensionObservable(): Observable<Dimension> { + return Observable.fromEvent(window, 'resize', () => ({ + height: window.innerHeight, + width: window.innerWidth + })).share(); +} @NgModule({ declarations: [ AppComponent, @@ -121,7 +132,8 @@ {provide: 'MediaRecorderFactory', useFactory: createMediaRecorderFactory}, {provide: 'PiperRepoUri', useValue: 'assets/remote-extractors.json'}, {provide: 'UrlResourceLifetimeManager', useFactory: createUrlResourceManager}, - {provide: 'ResourceReader', useFactory: createResourceReader} + {provide: 'ResourceReader', useFactory: createResourceReader}, + {provide: 'DimensionObservable', useFactory: createWindowDimensionObservable} ], bootstrap: [AppComponent] })