All files / src/app/components/signals-values-table signals-values-table.component.html

86.9% Statements 73/84
56.25% Branches 9/16
57.14% Functions 4/7
93.33% Lines 42/45

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 712x 362x     724x   2x 724x 6x 2x 724x   2x             2x 2x 724x 2178x 6x 2x 2x   2x       214x 5x 5x 433x 5x 5x 433x 5x   428x 1284x 856x     10x 438x     1284x 428x     428x 433x 5x   15x     428x   5x   2x   724x 724x   2x  
<p-table showGridlines [value]="rows" [columns]="selectedColumns" [reorderableColumns]="true" [tableStyle]="{ 'min-width': '60rem' }" (onRowReorder)="onRowReorder($event)"
    [loading]="isLoading">
    <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>