Newer
Older
<page-header id="alertsheader_id">Alerts</page-header>
<div class="selectionCriteria">
<div class="panel">
<form name="filterForm" #filterForm="ngForm" (ngSubmit)="search()">
<!-- Processed -->
<mat-select placeholder="Processed" [(ngModel)]="filter.processed" name="processed" id="processed_id">
<mat-option [value]="''"></mat-option>
<mat-option *ngFor="let aprocessed of aProcessedValues" [value]="aprocessed">
<mat-select placeholder="Alert Type" [(ngModel)]="filter.alertType" name="alertType"
id="alerttype_id" (change)="onAlertTypeChanged(filter.alertType)">
<mat-option [value]="''"></mat-option>
<mat-option *ngFor="let atype of aTypes" [value]="atype">
<mat-form-field *ngIf="advancedSearch">
<input matInput placeholder="Alert Id" name="alertId" [(ngModel)]="filter.alertId"
<mat-select placeholder="Alert Level" [(ngModel)]="filter.alertLevel" name="alertLevel"
<mat-option [value]="''">
</mat-option>
<mat-option *ngFor="let alevel of aLevels" [value]="alevel">
<input [matDatepicker]="creationFromDatePicker"
placeholder="Creation From:"
appClearInvalid
[(ngModel)]="filter.creationFrom"
name="creationFrom"
[max]="timestampCreationFromMaxDate"
(dateChange)='onTimestampCreationFromChange($event)'
[type]="'datetime'" #timestampControl="ngModel" id="creationfrom_id" />
<mat-datepicker #creationFromDatePicker></mat-datepicker>
<input [matDatepicker]="creationToDatePicker"
placeholder="Creation To:" appClearInvalid
[(ngModel)]="filter.creationTo"
name="creationTo"
[min]="timestampCreationToMinDate"
[max]="timestampCreationToMaxDate"
(dateChange)='onTimestampCreationToChange($event)'
[type]="'datetime'"
#timestampControl="ngModel" id="creationto_id"/>
<mat-datepicker #creationToDatePicker></mat-datepicker>
<input [matDatepicker]="reportingFromDatePicker"
placeholder="Reporting From:" appClearInvalid
[(ngModel)]="filter.reportingFrom"
name="reportingFrom"
[max]="timestampReportingFromMaxDate"
(dateChange)='onTimestampReportingFromChange($event)'
[type]="'datetime'"
#timestampControl="ngModel" id="reportingfrom_id" *ngIf="advancedSearch" />
<mat-datepicker #reportingFromDatePicker></mat-datepicker>
<input [matDatepicker]="reportingToDatePicker"
placeholder="Reporting To:" appClearInvalid
[(ngModel)]="filter.reportingTo"
name="reportingTo"
[min]="timestampReportingToMinDate"
[max]="timestampReportingToMaxDate"
(dateChange)='onTimestampReportingToChange($event)'
[type]="'datetime'"
#timestampControl="ngModel" id="reportingto_id" *ngIf="advancedSearch" />
<mat-datepicker #reportingToDatePicker></mat-datepicker>
<!-- Alert Type Criteria -->
<div class="panel" *ngIf="isAlertTypeDefined()">
<mat-card-content>
<mat-form-field *ngFor="let item of items; let i = index">
<input matInput placeholder={{item}} name={{item}} [(ngModel)]="dynamicFilters[i]"
</mat-form-field>
</mat-card-content>
</mat-card>
</div>
<!-- Search Button and Basic/Advanced Search-->
<div class="searchArea">
<button mat-raised-button color="primary" [disabled]="!filterForm.form.valid" id="searchbutton_id">
<mat-icon>search</mat-icon>
<span>Search</span>
</button>
<a href="#" *ngIf="!advancedSearch" (click)="toggleAdvancedSearch()" id="advancedlink_id">Advanced</a>
<a href="#" *ngIf="advancedSearch" (click)="toggleAdvancedSearch()" id="basiclink_id">Basic</a>
</div>
</form>
</div>
</mat-card-content>
</mat-card>
<ng-template #rowProcessed let-row="row" let-value="value" ngx-datatable-cell-template>
<input autofocus type="checkbox" [checked]="value" id="processed{{row.$$index}}_id" (click)="setProcessedValue(row)"/>
</ng-template>
</div>
<div class="panel">
<div class="group-filter-button">
<span class="row-button">
<app-row-limiter [pageSizes]="rowLimiter.pageSizes"
(onPageSizeChanged)="changePageSize($event.value)"></app-row-limiter>
</span>
<span class="column-filter-button">
<app-column-picker [allColumns]="columnPicker.allColumns" [selectedColumns]="columnPicker.selectedColumns"
(onSelectedColumnsChanged)="columnPicker.changeSelectedColumns($event)"></app-column-picker>
</span>
<button mat-icon-button color="primary" [disabled]="!isSaveAsCSVButtonEnabled()" (click)="saveAsCSV()"
id="saveascsvbutton_id" matTooltip="Export as CSV">
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
<img src="assets/images/exportCSV.svg" width="30" height="30">
</button>
</div>
<!-- Data Table -->
<ngx-datatable
id="alertsTable"
class="material striped"
[rows]="rows"
[columns]="columnPicker.selectedColumns"
[columnMode]="'force'"
[headerHeight]="50"
[footerHeight]="50"
[rowHeight]="'auto'"
[scrollbarH]="true"
[externalPaging]="true"
[externalSorting]="true"
[loadingIndicator]="loading"
[count]="count"
[offset]="offset"
[limit]="rowLimiter.pageSize"
[sorts]="[{prop: 'Creation Time', dir: 'desc'}]"
(page)='onPage($event)'
(sort)="onSort($event)"
(activate)="onActivate($event)">
</ngx-datatable>
<div class="group-action-button">
<button id="alertsCancelButton" mat-raised-button color="primary" (click)="cancel()"
<button id="alertsSaveButton" mat-raised-button color="primary" (click)="save(false)"
<span>Save</span>
</button>
</div>
</div>