Skip to content
This repository was archived by the owner on May 14, 2025. It is now read-only.

Commit 6b94094

Browse files
oodamienBoykoAlex
authored andcommitted
Tasks enhancement
- Task definition: add the page Task Execution (list) - Task definition: launch and destroy actions are moved in the header page - Launch: fix the cancel action
1 parent b9508ac commit 6b94094

17 files changed

+743
-65
lines changed

ui/src/app/tasks/components/tasks.interface.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,3 +18,11 @@ export interface TaskCreateParams {
1818
definition: string;
1919
name: string;
2020
}
21+
22+
export interface TaskExecutionListParams extends ListParams {
23+
task: string;
24+
page: number;
25+
size: number;
26+
sort: string;
27+
order: string;
28+
}
Lines changed: 114 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,114 @@
1+
<div *ngIf="executions$ | async as executions; else loading">
2+
3+
<div id="executions-list">
4+
5+
<div id="filters" class="pui-filter" style="margin-top: 0.4rem">
6+
7+
<div class="pui-filter-center">
8+
<div style="height: 34px">
9+
&nbsp;
10+
</div>
11+
</div>
12+
13+
<div class="pui-filter-actions">
14+
<div class="pui-filter-right" style="text-align: right">
15+
<button (click)="refresh(executions.params)" name="app-refresh" type="button" class="btn btn-default btn-icon"
16+
title="Refresh">
17+
<span class="glyphicon glyphicon-refresh"></span>
18+
</button>
19+
</div>
20+
</div>
21+
</div>
22+
23+
<table *ngIf="executions.page?.items && executions.page.items.length > 0"
24+
class="table table-hover table-actions" id="taskExecutionsTable">
25+
<thead>
26+
<tr>
27+
<th style="width: 140px">
28+
<app-sort id="sort-id" (change)="applySort(executions.params, $event)" [value]="'TASK_EXECUTION_ID'"
29+
[sort]="executions.params">
30+
Execution Id
31+
</app-sort>
32+
</th>
33+
<th nowrap="">
34+
<app-sort id="sort-startdate" (change)="applySort(executions.params, $event)" [value]="'START_TIME'"
35+
[sort]="executions.params">
36+
Start Date
37+
</app-sort>
38+
</th>
39+
<th nowrap="">
40+
<app-sort id="sort-enddate" (change)="applySort(executions.params, $event)" [value]="'END_TIME'"
41+
[sort]="executions.params">
42+
End Date
43+
</app-sort>
44+
</th>
45+
<th nowrap="">
46+
<app-sort id="sort-exitcode" (change)="applySort(executions.params, $event)" [value]="'EXIT_CODE'"
47+
[sort]="executions.params">
48+
Exit Code
49+
</app-sort>
50+
</th>
51+
<th>&nbsp;</th>
52+
</tr>
53+
</thead>
54+
<tbody>
55+
<ng-container
56+
*ngFor="let item of executions.page.items | paginate: executions.page.getPaginationInstance(); index as i">
57+
<tr>
58+
<td>
59+
<a (click)="details(item)" style="cursor: pointer">
60+
#{{ item.executionId }}
61+
</a>
62+
</td>
63+
<td>
64+
{{ item.startTime }}
65+
</td>
66+
<td>
67+
{{ item.endTime }}
68+
</td>
69+
<td>
70+
{{ item.exitCode }}
71+
</td>
72+
<td class="table-actions" width="10px" nowrap="">
73+
<div class="actions" role="group">
74+
<button type="button" name="task-details{{ i }}" (click)="details(item)" class="btn btn-default"
75+
title="Details">
76+
<span class="glyphicon glyphicon-search"></span>
77+
</button>
78+
</div>
79+
</td>
80+
</tr>
81+
</ng-container>
82+
</tbody>
83+
</table>
84+
85+
<div class="row">
86+
<div class="col-xs-12">
87+
<div id="pagination" *ngIf="executions.page && executions.page.totalPages > 1">
88+
<pagination-controls *ngIf="executions.page.items.length > 0 "
89+
(pageChange)="getPage(executions.params, $event)"></pagination-controls>
90+
</div>
91+
</div>
92+
<div class="col-xs-12" *ngIf="executions.page && executions.page?.totalElements > 0">
93+
<app-pager [page]="executions.params.page" [total]="executions.page.totalElements"
94+
[size]="executions.params.size" (onSizeChange)="changeSize(executions.params, $event)">
95+
</app-pager>
96+
</div>
97+
</div>
98+
99+
<div *ngIf="executions.page" id="empty" style="padding-top:1.5rem">
100+
101+
<div *ngIf="isExecutionsEmpty(executions.page)" class="text-center">
102+
<div class="alert alert-warning" style="display:inline-block;margin:0 auto">
103+
<strong>No execution.</strong>
104+
</div>
105+
</div>
106+
107+
</div>
108+
109+
</div>
110+
111+
</div>
112+
<ng-template #loading>
113+
<app-loader></app-loader>
114+
</ng-template>

0 commit comments

Comments
 (0)