Skip to content
Snippets Groups Projects
url-display.component.ts 925 B
Newer Older
  • Learn to ignore specific revisions
  • Tifenn Guillas's avatar
    Tifenn Guillas committed
    import { Component, Input, ChangeDetectionStrategy } from '@angular/core';
    
    François Agneray's avatar
    François Agneray committed
    
    import { Criterion } from '../store/model';
    
    @Component({
        selector: 'app-url-display',
        templateUrl: 'url-display.component.html',
    
    Tifenn Guillas's avatar
    Tifenn Guillas committed
        styleUrls: ['url-display.component.css'],
    
    François Agneray's avatar
    François Agneray committed
        changeDetection: ChangeDetectionStrategy.OnPush
    })
    export class UrlDisplayComponent {
        @Input() apiPath: string;
        @Input() datasetName: string;
        @Input() criteriaList: Criterion[];
        @Input() outputList: number[];
    
    
    Tifenn Guillas's avatar
    Tifenn Guillas committed
        isLoading(): boolean {
    
    Tifenn Guillas's avatar
    Tifenn Guillas committed
            if (this.outputList.length > 0) {
    
    Tifenn Guillas's avatar
    Tifenn Guillas committed
                return false;
    
    Tifenn Guillas's avatar
    Tifenn Guillas committed
            }
            return true;
        }
    
    
    François Agneray's avatar
    François Agneray committed
        getUrl() {
    
            let query = this.apiPath + '/data/' + this.datasetName + '?a=' + this.outputList.join(';');
            if (this.criteriaList.length > 0) {
                query += '&c=' + this.criteriaList.map(criterion => criterion.getCriterionStr()).join(';');
            }
            return query;
    
    François Agneray's avatar
    François Agneray committed
        }
    }