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       202x 4x 4x 408x 4x 4x 408x 4x   404x 1212x 808x     8x 412x     1212x 404x     404x 408x 4x   12x     404x   4x   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>