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     680x     14x 14x 14x   14x 1360x 2x 2x 2x 2x 2x 2x   14x   1374x     14x       14x 14x 14x 14x 14x 1360x 3x   14x   14x   15879x 15224x 15879x 15879x 15879x 15224x   1040x 70x   655x   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>