import { Component, Input, ChangeDetectionStrategy } from '@angular/core';

import { Criterion } from '../store/model';

@Component({
    selector: 'app-url-display',
    templateUrl: 'url-display.component.html',
    styleUrls: ['url-display.component.css'],
    changeDetection: ChangeDetectionStrategy.OnPush
})
export class UrlDisplayComponent {
    @Input() apiPath: string;
    @Input() datasetName: string;
    @Input() criteriaList: Criterion[];
    @Input() outputList: number[];

    isLoading(): boolean {
        if (this.outputList.length > 0) {
            return false;
        }
        return true;
    }

    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;
    }
}