Skip to content
Snippets Groups Projects
dataset-tabs.component.ts 1.14 KiB
Newer Older
  • Learn to ignore specific revisions
  • François Agneray's avatar
    François Agneray committed
    import { Component, Input, Output, EventEmitter, ChangeDetectionStrategy } from '@angular/core';
    
    
    Tifenn Guillas's avatar
    Tifenn Guillas committed
    import { Project, Dataset, Family } from '../../../metamodel/model';
    
    François Agneray's avatar
    François Agneray committed
    
    @Component({
        selector: 'app-dataset-tabs',
        templateUrl: 'dataset-tabs.component.html',
    
        styleUrls: ['dataset-tabs.component.css'],
    
    François Agneray's avatar
    François Agneray committed
        changeDetection: ChangeDetectionStrategy.OnPush
    })
    export class DatasetTabsComponent {
        @Input() projectList: Project[];
    
        @Input() 
        set datasetList(datasetList: Dataset[]) {
            this.datasets = datasetList;
            if (datasetList.length === 1) {
                this.select.emit(datasetList[0].name);
            }
        }
    
        @Input() datasetFamilyList: Family[];
    
    François Agneray's avatar
    François Agneray committed
        @Input() datasetSelected: string;
        @Output() select: EventEmitter<string> = new EventEmitter();
    
        
        datasets: Dataset[];
    
    François Agneray's avatar
    François Agneray committed
    
    
        getDatasetListByFamily(idFamily: number): Dataset[] {
    
            return this.datasets
    
                .filter(d => d.id_dataset_family === idFamily)
                .sort((a, b) => a.display - b.display);
    
        getProject(dataset: Dataset): Project {
            return this.projectList.find(project => project.name === dataset.project_name);
    
    François Agneray's avatar
    François Agneray committed
        }
    }