-
Hartung, Michael authoredHartung, Michael authored
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
task-list.component.html 5.68 KiB
<div class="content">
<div
class="list is-hoverable"
[ngClass]="{ 'text-normal': drugstoneConfig.smallStyle }"
>
<a
*ngFor="let task of analysis.tasks"
class="list-item box small-box"
[class.is-active]="task.token === token"
>
<div *ngIf="!task.info.startedAt">
<div class="columns mb-0">
<div class="column is-8">
<span class="is-capitalized"
><i
class="fa"
[class.fa-capsules]="task.info.target === 'drug'"
[class.fa-crosshairs]="task.info.target === 'drug-target'"
></i>
{{ algorithmNames[task.info.algorithm] }}</span
>
</div>
<div class="column">
<app-fa-solid-icon
classString="is-pulled-right has-text-warning"
icon="pause"
></app-fa-solid-icon>
</div>
</div>
<div class="columns mb-0">
<div class="column is-8 pt-0 pb-0">
<small
*ngIf="
task.stats.queueLength > 0 && task.stats.queuePosition === 1
"
>
Queued: 1 other task to finish
</small>
<small
*ngIf="task.stats.queueLength > 0 && task.stats.queuePosition > 1"
>
Queued: {{ task.stats.queuePosition }} other tasks to finish
</small>
<small
*ngIf="
task.stats.queueLength === 0 || task.stats.queuePosition === 0
"
>
Execution imminent...
</small>
</div>
<div class="column pt-0 pb-0">
<a
(click)="analysis.removeTask(task.token)"
class="has-text-danger is-pulled-right"
>
<app-fa-solid-icon icon="trash"></app-fa-solid-icon>
</a>
</div>
</div>
</div>
<div *ngIf="!task.info.done && !task.info.failed && task.info.startedAt">
<div class="columns mb-0">
<div class="column is-8">
<span class="is-capitalized"
><i
class="fa"
[class.fa-capsules]="task.info.target === 'drug'"
[class.fa-crosshairs]="task.info.target === 'drug-target'"
></i>
{{ algorithmNames[task.info.algorithm] }}</span
>
</div>
<div class="column">
<app-fa-solid-icon
classString="is-pulled-right"
icon="spinner"
></app-fa-solid-icon>
</div>
</div>
<div class="columns mb-0">
<div class="column is-8 pt-0 pb-0">
<small>Started {{ task.info.startedAt | date: "short" }}</small>
</div>
<div class="column pt-0 pb-0">
<a
(click)="analysis.removeTask(task.token)"
class="has-text-danger is-pulled-right"
>
<app-fa-solid-icon icon="trash"></app-fa-solid-icon>
</a>
</div>
</div>
<progress
class="progress is-success"
[value]="task.info.progress * 100"
max="100"
></progress>
</div>
<div
*ngIf="task.info.done"
(click)="open(task.token)"
pTooltip="Show analysis results"
[tooltipStyleClass]="'drgstn drgstn-tooltip drgstn-tooltip-top'"
tooltipPosition="top"
>
<div class="columns mb-0">
<div class="column is-8">
<span class="is-capitalized"
><i
class="fa"
[class.fa-capsules]="task.info.target === 'drug'"
[class.fa-crosshairs]="task.info.target === 'drug-target'"
></i>
{{ algorithmNames[task.info.algorithm] }}</span
>
</div>
<div class="column">
<app-fa-solid-icon
classString="is-pulled-right has-text-success"
icon="check"
></app-fa-solid-icon>
</div>
</div>
<div class="columns mb-0">
<div class="column is-8 pt-0 pb-0">
<small>Finished {{ task.info.finishedAt | date: "short" }}</small>
</div>
<div class="column pt-0 pb-0">
<a
(click)="analysis.removeTask(task.token)"
class="has-text-danger is-pulled-right"
>
<app-fa-solid-icon icon="trash"></app-fa-solid-icon>
</a>
</div>
</div>
</div>
<div *ngIf="task.info.failed">
<div class="columns mb-0">
<div class="column is-8">
<span class="is-capitalized"
><i
class="fa"
[class.fa-capsules]="task.info.target === 'drug'"
[class.fa-crosshairs]="task.info.target === 'drug-target'"
></i>
{{ algorithmNames[task.info.algorithm] }}</span
>
</div>
<div class="column">
<app-fa-solid-icon
classString="is-pulled-right"
icon="exclamation-triangle"
></app-fa-solid-icon>
</div>
</div>
<div class="columns mb-0">
<div class="column is-8 pt-0 pb-0 has-text-danger">
<small class="status-field">{{ task.info.status }}</small>
</div>
<div class="column pt-0 pb-0">
<a
(click)="analysis.removeTask(task.token)"
class="has-text-danger is-pulled-right"
>
<app-fa-solid-icon icon="trash"></app-fa-solid-icon>
</a>
</div>
</div>
</div>
</a>
</div>
</div>