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 68975x 14x   1950x 14x     686x     14x 14x 14x   14x 1372x 2x 2x 2x 2x 2x 2x   14x   1386x     14x       14x 14x 14x 14x 14x 1372x 3x   14x   14x   15815x 15160x 15815x 15815x 15815x 15160x   920x 70x   655x   14x     1950x 14x 14x 1950x       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>