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 346x     692x   2x 692x 6x 2x 692x   2x             2x 2x 692x 2082x 6x 2x 2x   2x       224x 5x 5x 453x 5x 5x 453x 5x   448x 1344x 896x     10x 458x     1344x 448x     448x 453x 5x   15x     448x   5x   2x   692x 692x   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>