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

92.38% Statements 97/105
81.25% Branches 13/16
50% Functions 4/8
97.72% Lines 43/44

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 68973x 14x   1946x 14x     692x     14x 14x 14x   14x 1384x 2x 2x 2x 2x 2x 2x   14x   1398x     14x       14x 14x 14x 14x 14x 1384x 3x   14x   14x   16041x 15376x 16041x 16041x 16041x 15376x   1080x 80x   665x   14x     1946x 14x 14x 1946x       14x  
@if (!signals) {
  <div class="skeleton-block"></div>
}
@if (signals) {
  <p-table #signals_table [value]="signals.items" [tableStyle]="{ 'min-width': '50rem' }" [paginator]="true" [rows]="rows"
    [rowsPerPageOptions]="filteredRowsPerPageOptions" [showCurrentPageReport]="true" [first]="offset" [totalRecords]="signals.total"
    currentPageReportTemplate="{first} - {last} of {totalRecords} signals" [rowHover]="true" [lazy]="true"
    [globalFilterFields]="['ticker']" (onPage)="onTableEvent($event)" (onLazyLoad)="loadEvents($event)">
    <ng-template pTemplate="caption">
      <div class="columns">
        <div class="column">
          Signals
        </div>
        <div class="column is-flex is-justify-content-right">
          <span>
            @if (searchValue && searchValue.length>0) {
              <button class="button" (click)="clearFilter()">
                <span class="icon is-small center">
                  <i class="iconoir-xmark-circle"></i>
                </span>
                <span>Clear filter</span>
              </button>
            }
          </span>
          <span>
            <input class="input" type="text" (input)="applyFilterGlobal($event)" placeholder="Filter" [(ngModel)]="searchValue"/>
          </span>
        </div>
      </div>
    </ng-template>
    <ng-template pTemplate="header">
      <tr>
        <th pSortableColumn="signal_id">Ticker <p-sortIcon field="signal_id"></p-sortIcon></th>
        <th pSortableColumn="status">Status <p-sortIcon field="status"></p-sortIcon></th>
        <th pSortableColumn="unit">Unit <p-sortIcon field="unit"></p-sortIcon></th>
        <th pSortableColumn="type">Type <p-sortIcon field="type"></p-sortIcon></th>
        <th pSortableColumn="frequency">Frequency <p-sortIcon field="frequency"></p-sortIcon></th>
        @if (displaySignalDialog) {
          <th></th>
        }
      </tr>
    </ng-template>
    <ng-template pTemplate="body" let-signal>
      <tr>
        <td [routerLink]="['/signals', signal.signal_id]">{{ signal.ticker }}</td>
        <td [routerLink]="['/signals', signal.signal_id]"><p-tag [value]="signal.status.status" [severity]="getSeverity(signal.status.status)"></p-tag></td>
        <td [routerLink]="['/signals', signal.signal_id]">{{ signal.unit }}</td>
        <td [routerLink]="['/signals', signal.signal_id]">{{ signal.type }}</td>
        <td [routerLink]="['/signals', signal.signal_id]">{{ signal.frequency }}</td>
        @if (displaySignalDialog) {
          <td>
            <i class="pi pi-eye open-icon" aria-hidden="true" (click)="showSignal(signal)" [id]="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">
      @if (selectedSignal) {
        <app-signal-card [signalId]="selectedSignal.signal_id"></app-signal-card>
      }
    </div>
</p-dialog>