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 68957x 14x   1914x 14x     663x     14x 14x 14x   14x 1326x 2x 2x 2x 2x 2x 2x   14x   1340x     14x       14x 14x 14x 14x 14x 1326x 3x   14x   14x   15343x 14688x 15343x 15343x 15343x 14688x   920x 70x   655x   14x     1914x 14x 14x 1914x       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>