Skip to content
Snippets Groups Projects
Commit dec8483d authored by Daniel Nemergut's avatar Daniel Nemergut
Browse files

WS-1568 Execution status filtering

parent 02d724b6
No related branches found
No related tags found
3 merge requests!1390Catch up with Main,!1308Catchup with main 2.8.1,!1290WS-1568 Execution status filtering
Pipeline #9245 passed
......@@ -50,7 +50,7 @@
<br />
<div>
<app-filter-menu *ngIf="showFilterMenu" [state]="statesToFilter" [daStaff]="qaStaff['DA']" [aodStaff]="qaStaff['AOD']" [srdpStatus]="srdpOptions" [filters]="filters" (filterMenuEventEmitter)="emitFilterEvent($event)"></app-filter-menu>
<app-filter-menu *ngIf="showFilterMenu" [state]="statesToFilter" [exec_status]="execStatusToFilter" [daStaff]="qaStaff['DA']" [aodStaff]="qaStaff['AOD']" [srdpStatus]="srdpOptions" [filters]="filters" (filterMenuEventEmitter)="emitFilterEvent($event)"></app-filter-menu>
<mat-paginator #requestPaginator
[length]="(sortedActiveRequests$ | async)?.length"
[pageSize]="pageSize"
......@@ -82,6 +82,9 @@
><i class="text-dark small fas fa-arrow-up"></i
></span>
</button>
<button class="btn bg-transparent border-0 btn-light btn-sm" (click)="toggleFilterMenu()">
<span><i class="text-dark small fas fa-filter"></i></span>
</button>
</th>
<th>SDM ID</th>
<th>Bands</th>
......
......@@ -80,6 +80,7 @@ export class ActiveCapabilityRequestsComponent implements OnInit, OnDestroy {
private paramsObj: any;
private filters: any;
public showFilterMenu = false;
private notSubmittedState = "Latest version has not been submitted";
private newParams: Params;
private filterSets = {};
private availableFilters: any;
......@@ -88,6 +89,7 @@ export class ActiveCapabilityRequestsComponent implements OnInit, OnDestroy {
// Filter sets
public statesSet = new Set<string>();
public execStatusSet = new Set<string>();
public daSet = new Set<string>();
public aodSet = new Set<string>();
public srdpSet = new Set<string>();
......@@ -123,6 +125,20 @@ export class ActiveCapabilityRequestsComponent implements OnInit, OnDestroy {
{"name":"Cancelled"},
{"name":"Failed"},
]
public execStatusToFilter = [
{"name":"Not submitted", "filter_val":this.notSubmittedState},
{"name":"Start", "filter_val":"Start"},
{"name":"Queued", "filter_val":"Queued"},
{"name":"Executing", "filter_val":"Executing"},
{"name":"Ingesting", "filter_val":"Ingesting"},
{"name":"Awaiting QA", "filter_val":"Awaiting QA"},
{"name":"Stage 2 Review", "filter_val":"Stage 2 Review"},
{"name":"QA Closed", "filter_val":"QA Closed"},
{"name":"Failed", "filter_val":"Failed"},
{"name":"Error", "filter_val":"Error"},
{"name":"Cancelled", "filter_val":"Cancelled"},
{"name":"Complete", "filter_val":"Complete"},
]
public srdpOptions = [
{"name":"true"},
{"name":"false"},
......@@ -274,6 +290,7 @@ export class ActiveCapabilityRequestsComponent implements OnInit, OnDestroy {
private setupAvailableFilters() {
this.availableFilters = {
'state': this.statesToFilter,
'exec_status': this.execStatusToFilter,
'is_srdp': this.srdpOptions,
'obs_min': this.obsDateOptions,
'obs_max': this.obsDateOptions
......@@ -328,7 +345,11 @@ export class ActiveCapabilityRequestsComponent implements OnInit, OnDestroy {
}
public filterFrontendFilters(activeRequests: any): any {
if (this.filters && (this.filters.hasOwnProperty("is_srdp") || this.filters.hasOwnProperty("obs_min") || this.filters.hasOwnProperty("obs_max"))) {
if (this.filters && (
this.filters.hasOwnProperty("is_srdp") ||
this.filters.hasOwnProperty("obs_min") ||
this.filters.hasOwnProperty("obs_max") ||
this.filters.hasOwnProperty("exec_status"))) {
// SRDP filter
if (this.filters.hasOwnProperty("is_srdp")) {
return activeRequests.filter(r => {
......@@ -363,6 +384,12 @@ export class ActiveCapabilityRequestsComponent implements OnInit, OnDestroy {
});
return filteredDates;
}
// Execution Status filter
else if (this.filters.hasOwnProperty("exec_status")) {
return activeRequests.filter(r => {
return this.filters.exec_status.includes(this.getExecutionStatusName(r));
});
}
} else {
// return unfiltered activeRequests
return activeRequests
......@@ -496,7 +523,7 @@ export class ActiveCapabilityRequestsComponent implements OnInit, OnDestroy {
}
if (request.state === 'Created' ||
(request.state === 'Submitted' && request.versions[request.versions.length - 1].state === 'Created')) {
statusName = "Latest version has not been submitted";
statusName = this.notSubmittedState;
}
return statusName;
......@@ -595,6 +622,8 @@ export class ActiveCapabilityRequestsComponent implements OnInit, OnDestroy {
switch(s) {
case "state":
return this.statesSet
case "exec_status":
return this.execStatusSet
case "assigned_da":
return this.daSet
case "assigned_aod":
......
......@@ -8,6 +8,14 @@
</div>
</div>
<div class="bg-light p-2">
<p>Execution Status</p>
<div *ngFor="let s of exec_status" class="form-check">
<input class="form-check-input" type="checkbox" [id]="s.name" [value]="s.filter_val" (change)="addFilter(s.filter_val, 'exec_status', $event.target.checked)" [checked]="s.isChecked" />
<label class="form-check-label" [for]="s.name">{{s.name}}</label>
</div>
</div>
<div class="bg-light p-2">
<p>DA staff</p>
<div *ngFor="let da of daStaff" class="form-check">
......
......@@ -34,6 +34,7 @@ export interface Filter {
export class FilterMenuComponent implements OnInit {
@Input() state: any;
@Input() exec_status: any;
@Input() daStaff: any;
@Input() aodStaff: any;
@Input() srdpStatus: any;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment