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 348x     696x   2x 696x 6x 2x 696x   2x             2x 2x 696x 2094x 6x 2x 2x   2x       212x 5x 5x 429x 5x 5x 429x 5x   424x 1272x 848x     10x 434x     1272x 424x     424x 429x 5x   15x     424x   5x   2x   696x 696x   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>