Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 | 327x 654x 2x 654x 6x 2x 654x 2x 2x 2x 654x 1968x 6x 2x 2x 2x 226x 5x 5x 457x 5x 5x 457x 5x 452x 1356x 904x 10x 462x 1356x 452x 452x 457x 5x 15x 452x 5x 2x 654x 654x 2x | <p-table showGridlines [value]="rows" [columns]="selectedColumns" [reorderableColumns]="true" [tableStyle]="{ 'min-width': '60rem' }" (onRowReorder)="onRowReorder($event)">
<ng-template #caption>
<div class="toolbar">
<app-multi-select-signals [selectionLimit]="signalsSelectionLimit" (finishedLoadingSignals)="handleSignalsLoaded()"/>
<div class="toolbar-element">
<app-refresh-rate-selector
[isResponseSlowerThanRefresh]="isResponseSlowerThanRefresh"
(selectionChanged)="handleRefreshRateChange($event)">
</app-refresh-rate-selector>
<p-multiselect display="chip" [options]="columns" [(ngModel)]="selectedColumns" optionLabel="label" selectedItemsLabel="{0} columns selected" [style]="{ 'min-width': '200px' }" placeholder="Choose Columns" />
</div>
</div>
</ng-template>
<ng-template #header let-columns>
<tr>
<th>Device</th>
<th>Signal</th>
<th *ngFor="let col of selectedColumns" pReorderableColumn>
{{col.label}}
</th>
<th></th>
</tr>
</ng-template>
<ng-template #body
let-row
let-columns="columns"
let-index="rowIndex">
<tr [pReorderableRow]="index">
<td>
<span class="pi pi-bars" pReorderableRowHandle></span>
{{ signalToDeviceName.get(row.signal) ?? row.signal.signal_id.split('.')[0] }}
</td>
<td>
{{ row.signal.signal_id.split('.')[1] }}
</td>
<td *ngFor="let column of columns" >
<ng-container *ngIf="column.onSample && row.sample !== undefined">
@if (row.sample[column.field] !== null && row.signal.data_type === 'epoch' && (column.field === 'value' || column.field === 'forced_value')) {
{{ row.sample[column.field] * 1000 | date:'yyyy/MM/dd - HH:mm:ss' }}
}
@else {
{{ row.sample[column.field] }}
}
</ng-container>
<ng-container *ngIf="!column.onSample">
<div *ngIf="column.field === 'status'">
<p-badge [value]="row.signal['status'].status" [severity]="row.signal['status'].status === 'up' ? 'success' : 'danger' " />
</div>
<div *ngIf="column.field !== 'status'">
{{row.signal[column.field]}}
</div>
</ng-container>
</td>
<td>
<i class="pi pi-eye open-icon" aria-hidden="true" (click)="showSignal(row.signal)" [id]="row.signal.signal_id"></i>
</td>
</tr>
</ng-template>
</p-table>
<p-dialog class="signal-card-dialog" header="Signal details" [modal]="true" [(visible)]="signalDialogVisible" (onHide)="hideSignal()">
<div class="card-container"><app-signal-card *ngIf="selectedSignal" [signalId]="selectedSignal.signal_id"></app-signal-card></div>
</p-dialog>
|