import { AfterContentInit, Component, Input, OnChanges, OnInit, SimpleChanges } from '@angular/core'; import { EnumIconOptions, TableColumn } from '../../../../models/fss-table.model'; @Component({ selector: 'fss-enum-icon-column', templateUrl: './enum-icon-column.component.html', styleUrls: ['./enum-icon-column.component.scss', '../../fss-column-wrapper/fss-column-wrapper.component.scss'] }) export class EnumIconColumnComponent implements OnInit, OnChanges, AfterContentInit { @Input() row: any; @Input() column!: TableColumn; @Input() value?: any; enumOption?: EnumIconOptions; constructor() { } ngAfterContentInit(): void { this.getEnumOption(); } ngOnChanges(changes: SimpleChanges): void { for (const propName in changes) { if (changes.hasOwnProperty(propName)) { switch (propName) { case 'value': this.getEnumOption(); break; } } } } ngOnInit(): void { } getEnumOption() { if (this.value != null && this.column.enumIconOptions != null) { this.enumOption = this.column.enumIconOptions.find(x => x.enumValue == this.value); } else { this.enumOption = undefined; } } }