import {Component, Input, OnInit} from '@angular/core'; export type AssetType = null | 'analogline' | 'announcement' | 'auxillarytrunk' | 'callclassifier' | 'controllan' | 'cotrunk' | 'dataline' | 'digitalline' | 'disk' | 'ds1interface' | 'expansion' | 'hybline' | 'ipmediaprocessor' | 'ipserverinterface' | 'maintenancetest' | 'memory' | 'misc' | 'processor' | 'procinterface' | 'tone' | 'voicemail'; export const AssertList: Record = { analogline: 'analogline', announcement: 'announcement', auxillarytrunk: 'auxillarytrunk', callclassifier: 'callclassifier', controllan: 'controllan', cotrunk: 'cotrunk', dataline: 'dataline', digitalline: 'digitalline', disk: 'disk', ds1interface: 'ds1interface', expansion: 'expansion', hybline: 'hybline', ipmediaprocessor: 'ipmediaprocessor', ipserverinterface: 'ipserverinterface', maintenancetest: 'maintenancetest', memory: 'memory', misc: 'misc', processor: 'processor', procinterface: 'procinterface', tone: 'tone', voicemail: 'voicemail', }; @Component({ selector: 'onguard-asset-icon', templateUrl: './asset-icon.component.html', styleUrls: ['./asset-icon.component.scss'] }) export class AssetIconComponent implements OnInit { @Input() type: AssetType = 'misc'; @Input() width = 62; @Input() height = 62; public url: string; constructor() { } ngOnInit(): void { if (!this.type || !AssertList[this.type]) { this.type = 'misc'; } this.url = `assets/images/assets-icons/${AssertList[this.type]}.svg`; } }