import { Component, OnInit, Input, Output, EventEmitter, OnDestroy } from '@angular/core'; import {FilterInfo} from '../types/filter-info'; @Component({ selector: 'ics-filter-heading', templateUrl: './filter-heading.component.html', styleUrls: ['./filter-heading.component.scss'] }) export class FilterHeadingComponent implements OnInit, OnDestroy { @Input() filterInfo: FilterInfo; @Output() instantiated: EventEmitter; @Output() filterSet: EventEmitter; constructor() { this.instantiated = new EventEmitter(); this.filterSet = new EventEmitter(); } ngOnInit() { // filter instantiated this.instantiated.emit(this.filterInfo); // since every filter need to be resolved and heading is static, resolve it directly. this.resolve(); } resolve() { this.filterSet.emit(this.filterInfo); } ngOnDestroy() { this.filterInfo = this.instantiated = this.filterSet = undefined; } }