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 }