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     674x     14x 14x 14x   14x 1348x 2x 2x 2x 2x 2x 2x   14x   1362x     14x       14x 14x 14x 14x 14x 1348x 3x   14x   14x   15387x 14732x 15387x 15387x 15387x 14732x   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>