view src/app/visualisations/vertical-scale.component.ts @ 403:40ea40ebc2b3

Have animation controlled by a prop, clearing up animation tasks when set to false. Wire up accordingly.
author Lucas Thompson <dev@lucas.im>
date Fri, 02 Jun 2017 19:12:38 +0100
parents a02e6ec4a9d2
children 64ed45a0bad3
line wrap: on
line source
/**
 * Created by lucas on 01/06/2017.
 */
import {VerticalScaleRenderer} from './waves-base.component';
import {
  ChangeDetectionStrategy,
  Component,
  ContentChildren,
  QueryList,
  AfterViewInit
} from '@angular/core';

@Component({
  selector: 'ugly-vertical-scale',
  template: '<ng-content></ng-content>',
  changeDetection: ChangeDetectionStrategy.OnPush
})
export class VerticalScaleComponent implements AfterViewInit {

  @ContentChildren(
    VerticalScaleRenderer
  ) bounded: QueryList<VerticalScaleRenderer>;
  protected cachedRange: [number, number];

  ngAfterViewInit(): void {
    this.bounded.forEach(component => {
      this.cachedRange = component.range;
      if (this.cachedRange) {
        component.renderScale(this.cachedRange);
      }
    });
  }
}