Skip to content
Snippets Groups Projects
execution-detail.component.html 3.06 KiB
Newer Older
<ng-container *ngIf="jobDetail; else loading">

  <p><b>SDM ID:</b> {{ job.jobspec_sdm_id }} </p>

  <p>
    <b>Lustre:</b>
    {{getConfigRootDataDirectory()}}/{{ jobDetail.queueName }}/{{ job.job_name }}
    <button type="button" class="btn btn-xs btn-outline-primary ml-3"
            (click)="copyToClipboard(getConfigRootDataDirectory() + '/' + jobDetail.queueName + '/' + job.job_name)">
      <fa-icon [icon]="faCopy"></fa-icon>
      Copy
    </button>
  </p>
  <p>
    <b>Weblog:</b>
    <a target="_blank" href="{{ weblogUrl }}">
      {{ weblogUrl }}
  <form [formGroup]="noteFormGroup" (ngSubmit)="updateNotes()" class="mb-2">
    <div class="row mt-3 mr-0">
      <div class="col-auto">
        <h4 class="pt-2">
          <fa-icon [icon]="faStickyNote"></fa-icon>
          Notes
        </h4>
        <button type="submit" class="btn btn-sm btn-outline-info bg-light">
          <fa-icon [icon]="faSave"></fa-icon>
          Save Notes
        </button>
      </div>
      <div class="col bg-dark text-light p-2 rounded" contenteditable="true" propValueAccessor="innerHTML"
           formControlName="notes" style="max-height: 400px; overflow-y: scroll; overflow-x: hidden;"></div>
    </div>
  </form>
  <div *ngIf="canSelectPlanes()">
    <h4 class="pt-2 border-top">
      Planes
    </h4>

    <div class="w-100" *ngFor="let plane of planeKeys" [formGroup]="planesFormGroup">
      <label><input type="checkbox" value="{{plane}}" checked/>{{plane}}</label>
  <div *ngIf="canSelectTiles()">
    <h4 class="pt-2 border-top">
      Tiles
    </h4>

    <div class="w-100" *ngFor="let tileName of tileNames" [formGroup]="tilesFormGroup">
      <label><input type="checkbox" value="{{tileName}}" formControlName="{{tileName}}" checked/>{{tileName}}</label>
  <div class="row no-gutters" *ngIf="canAcceptArchive(jobDetail.status, jobDetail.archiveStatus)">
    <div class="col">
      <button type="button" class="btn btn-success btn-sm" (click)="acceptQa()">Accept &amp; Archive</button>
    </div>
    <div class="col" *ngIf="jobDetail.queueName == 'quicklook'">
      <button type="button" class="btn btn-danger btn-sm" (click)="rejectQa()">Reject &amp; Archive</button>
    </div>
  </div>
  <h4 class="pt-2 border-top">
    <fa-icon [icon]="faList"></fa-icon>
    Job
  </h4>
  <app-jobspec [job]="job"></app-jobspec>

  <h4 class="mt-2">
    <fa-icon [icon]="faCheckCircle"></fa-icon>
    Tasks
  </h4>
  <div class="row m-0 py-2 mb-1 border-bottom" *ngFor="let task of jobDetail.tasks">
    <div class="col">
      <span *ngIf="task.pbsJobId">{{ task.pbsJobId }} - </span>{{ task.name }}
    </div>
    <div class="col">
      {{ task.startDate}} <span class="badge badge-light border mr-3">Start</span>
      {{ task.endDate}} <span class="badge badge-light border">End</span>
    </div>
    <div class="col-auto">
      <h6><span class="badge" [ngClass]="getTaskStatusBgClass(task.status)">
            {{ task.status }}
            </span></h6>
    </div>
  </div>
</ng-container>
<ng-template #loading>
  <app-loading></app-loading>
</ng-template>