Mercurial > hg > ugly-duckling
annotate src/app/visualisations/vertical-scale.component.ts @ 388:5f775358c3cf
Introduce vertical-scale component which is a polymorphic container, the child components know how to render their own scales.
author | Lucas Thompson <dev@lucas.im> |
---|---|
date | Thu, 01 Jun 2017 10:02:37 +0100 |
parents | |
children | a02e6ec4a9d2 |
rev | line source |
---|---|
dev@388 | 1 /** |
dev@388 | 2 * Created by lucas on 01/06/2017. |
dev@388 | 3 */ |
dev@388 | 4 import {VerticallyBounded} from "./waves-base.component"; |
dev@388 | 5 import { |
dev@388 | 6 ChangeDetectionStrategy, |
dev@388 | 7 Component, |
dev@388 | 8 ContentChildren, |
dev@388 | 9 QueryList, |
dev@388 | 10 AfterViewInit |
dev@388 | 11 } from "@angular/core"; |
dev@388 | 12 |
dev@388 | 13 @Component({ |
dev@388 | 14 selector: 'ugly-vertical-scale', |
dev@388 | 15 template: '<ng-content></ng-content>', |
dev@388 | 16 changeDetection: ChangeDetectionStrategy.OnPush |
dev@388 | 17 }) |
dev@388 | 18 export class VerticalScaleComponent implements AfterViewInit { |
dev@388 | 19 |
dev@388 | 20 @ContentChildren(VerticallyBounded) bounded: QueryList<VerticallyBounded>; |
dev@388 | 21 |
dev@388 | 22 ngAfterViewInit(): void { |
dev@388 | 23 this.bounded.forEach(component => { |
dev@388 | 24 const range = component.range; |
dev@388 | 25 if (range) { |
dev@388 | 26 component.renderScale(range); |
dev@388 | 27 } |
dev@388 | 28 }); |
dev@388 | 29 } |
dev@388 | 30 } |