Newer
Older
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');
});
}