import {Component, Input, OnInit} from '@angular/core'; import {JobSpec} from "../../../model/job"; import {ConfigurationService} from "../../../env/configuration.service"; import {faBullseye, faCheckSquare, faEdit, faFileAlt} from "@fortawesome/free-solid-svg-icons"; import {JobsService} from "../../../services/jobs.service"; import {AlertService} from "../../../services/alert.service"; @Component({ selector: 'app-jobspec-detail', templateUrl: './jobspec-detail.component.html', styleUrls: ['./jobspec-detail.component.scss'] }) export class JobspecDetailComponent implements OnInit { @Input() jobspec: JobSpec; public faBullseye = faBullseye; public faFileAlt = faFileAlt; public faCheckSquare = faCheckSquare; public faEdit = faEdit; constructor(private configService: ConfigurationService, private jobsService: JobsService, private alertService: AlertService) { } ngOnInit() { } getConfigUrl(): string { return this.configService.config.url; } canBeSubmitted(): boolean { return this.jobspec.executions.length < 1 || (!!this.jobspec.lastJob && (this.jobspec.lastJob.status === 'ERROR' || this.jobspec.lastJob.status === 'WAITING')); } submitJob(): void { this.alertService.info('Submitting Job...'); this.jobsService.submitJob(this.jobspec.id, this.jobspec.queueName).subscribe(response => { this.alertService.success('Job Submitted'); }, error => { this.alertService.error('Job Submition Failed'); }); } }