File

projects/atft/src/lib/animation/timeline-emitter/timeline-emitter.component.ts

Implements

AfterViewInit OnDestroy OnChanges OnInit

Metadata

Index

Properties
Methods
Inputs

Constructor

constructor()

Inputs

autostart
Type : boolean
Default value : false

Methods

Public ngAfterViewInit
ngAfterViewInit()
Returns : void
Public ngOnChanges
ngOnChanges(changes: SimpleChanges)
Parameters :
Name Type Optional
changes SimpleChanges No
Returns : void
ngOnDestroy
ngOnDestroy()
Returns : void
ngOnInit
ngOnInit()
Returns : void
Public start
start()
Returns : void

Properties

emitSteps
Type : QueryList<EmitStepComponent>
Decorators :
@ContentChildren(EmitStepComponent, {descendants: true})
import {
  AfterViewInit,
  Component,
  ContentChildren,
  Input,
  OnChanges,
  OnDestroy,
  OnInit,
  QueryList,
  SimpleChanges
} from '@angular/core';
import {EmitStepComponent} from "./emit-step.component";

@Component({
  selector: 'atft-timeline-emitter',
  template: '<ng-content></ng-content>'
})
export class TimelineEmitterComponent implements AfterViewInit, OnDestroy, OnChanges, OnInit {

  @ContentChildren(EmitStepComponent, {descendants: true}) emitSteps!: QueryList<EmitStepComponent>;
  @Input() autostart = false;

  constructor() {
    console.log('TimelineEmitterComponent.constructor');
  }

  public ngAfterViewInit() {
    console.log('TimelineEmitterComponent.ngAfterViewInit', this.emitSteps);
    if (this.autostart) {
      this.start()
    }
  }

  ngOnDestroy(): void {
    console.log('TimelineEmitterComponent.ngOnDestroy');
  }

  public ngOnChanges(changes: SimpleChanges) {
    console.log('TimelineEmitterComponent.ngOnChanges', changes);
  }

  ngOnInit(): void {
    console.log('TimelineEmitterComponent.ngOnInit', this.emitSteps);
  }

  public start() {
    console.log('TimelineEmitterComponent.start');
    this.emitSteps?.forEach(i => {
      console.log('TimelineEmitterComponent.start setTimeout on', i.ms);
      setTimeout(() => {
        i.action.emit()
      }, i.ms)
    })
  }

}
Legend
Html element
Component
Html element with directive

results matching ""

    No results matching ""