import { Component, Input, ChangeDetectionStrategy, Output, EventEmitter } from '@angular/core'; import { SearchMeta } from '../store/model'; import { Attribute } from 'src/app/metamodel/model'; @Component({ selector: 'app-datatable', templateUrl: 'datatable.component.html', styleUrls: ['datatable.component.css'], changeDetection: ChangeDetectionStrategy.OnPush }) export class DatatableComponent { @Input() datasetAttributeList: Attribute[]; @Input() searchMeta: SearchMeta; @Input() searchData: any[]; @Output() initSearchMeta: EventEmitter<{}> = new EventEmitter(); @Output() getSearchData: EventEmitter<number> = new EventEmitter(); initDatatable() { this.initSearchMeta.emit(); this.getSearchData.emit(1); } getAttributeRenderer(attributeName: string): string { const attribute = this.datasetAttributeList.find(attribute => attribute.name === attributeName); return attribute.renderer; } getAttributeUriAction(attributeName: string, datum: string): string { const attribute = this.datasetAttributeList.find(attribute => attribute.name === attributeName); // return attribute.uri_action + datum; return attribute.uri_action; } }