You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
114 lines
6.5 KiB
HTML
114 lines
6.5 KiB
HTML
<div fxLayout="column">
|
|
<div fxFlex="100" class="padding-gap">
|
|
<mat-card>
|
|
<mat-card-header>
|
|
<mat-card-subtitle>
|
|
<h2>Routing Peers</h2>
|
|
<mat-progress-bar *ngIf="flgLoading[0]===true" mode="indeterminate"></mat-progress-bar>
|
|
</mat-card-subtitle>
|
|
</mat-card-header>
|
|
<mat-card-content>
|
|
<form fxLayout="column" fxLayoutAlign="space-between stretch" fxLayout.gt-md="row wrap"
|
|
(ngSubmit)="rpForm.form.valid && onRoutingPeersFetch()" #rpForm="ngForm" class="padding-gap">
|
|
<div fxFlex="69" fxLayoutAlign="space-between stretch">
|
|
<mat-form-field fxFlex="49" fxLayoutAlign="start">
|
|
<input matInput [matDatepicker]="startDatepicker" placeholder="Start Date" [max]="yesterday"
|
|
name="startDate" [(ngModel)]="startDate" tabindex="1" #strtDate="ngModel">
|
|
<mat-datepicker-toggle matSuffix [for]="startDatepicker"></mat-datepicker-toggle>
|
|
<mat-datepicker #startDatepicker [startAt]="startDate"></mat-datepicker>
|
|
</mat-form-field>
|
|
<mat-form-field fxFlex="49" fxLayoutAlign="start">
|
|
<input matInput [matDatepicker]="endDatepicker" [max]="today" placeholder="End Date" name="endDate"
|
|
[(ngModel)]="endDate" tabindex="2" #enDate="ngModel">
|
|
<mat-datepicker-toggle matSuffix [for]="endDatepicker"></mat-datepicker-toggle>
|
|
<mat-datepicker #endDatepicker [startAt]="endDate"></mat-datepicker>
|
|
</mat-form-field>
|
|
</div>
|
|
<div fxFlex="30" fxLayoutAlign="space-between stretch">
|
|
<button fxFlex="50" fxLayoutAlign="center center" mat-raised-button color="primary"
|
|
[disabled]="rpForm.invalid" type="submit" tabindex="3">Fetch</button>
|
|
<button fxFlex="50" fxLayoutAlign="center center" mat-stroked-button color="primary" class="ml-2" tabindex="4"
|
|
type="reset" (click)="resetData()">Clear</button>
|
|
</div>
|
|
</form>
|
|
</mat-card-content>
|
|
</mat-card>
|
|
</div>
|
|
<div class="padding-gap">
|
|
<mat-card fxLayout="column" fxLayoutAlign.gt-sm="space-between start" fxLayoutAlign.lt-md="space-between stretch" fxLayout.gt-sm="row wrap">
|
|
<div fxLayout="column" fxFlex="49" fxLayoutAlign="start stretch">
|
|
<mat-card-header fxFlex="100">
|
|
<mat-card-subtitle>
|
|
<h3>Incoming Traffic</h3>
|
|
</mat-card-subtitle>
|
|
</mat-card-header>
|
|
<mat-card-content class="table-card-content" fxFlex="100">
|
|
<div perfectScrollbar class="table-container">
|
|
<mat-progress-bar *ngIf="flgLoading[0]===true" mode="indeterminate"></mat-progress-bar>
|
|
<table mat-table #tableIn [dataSource]="RoutingPeersIncoming" matSort fxFlex="100"
|
|
[ngClass]="{'overflow-auto error-border': flgLoading[0]==='error','overflow-auto': true}">
|
|
<ng-container matColumnDef="chan_id">
|
|
<th mat-header-cell *matHeaderCellDef mat-sort-header>Chan Id</th>
|
|
<td mat-cell *matCellDef="let rPeer" class="ellipsis-parent"><span class="ellipsis-child">{{rPeer.chan_id}}</span></td>
|
|
</ng-container>
|
|
<ng-container matColumnDef="alias">
|
|
<th mat-header-cell *matHeaderCellDef mat-sort-header>Alias</th>
|
|
<td mat-cell *matCellDef="let rPeer">{{rPeer.alias}}</td>
|
|
</ng-container>
|
|
<ng-container matColumnDef="events">
|
|
<th mat-header-cell *matHeaderCellDef mat-sort-header arrowPosition="before">Events</th>
|
|
<td mat-cell *matCellDef="let rPeer"><span fxLayoutAlign="end center">{{rPeer.events | number}}</span>
|
|
</td>
|
|
</ng-container>
|
|
<ng-container matColumnDef="total_amount">
|
|
<th mat-header-cell *matHeaderCellDef mat-sort-header arrowPosition="before">Total Amount (Sats)</th>
|
|
<td mat-cell *matCellDef="let rPeer"><span
|
|
fxLayoutAlign="end center">{{rPeer.total_amount | number}}</span></td>
|
|
</ng-container>
|
|
<tr mat-header-row *matHeaderRowDef="displayedColumns; sticky: flgSticky;"></tr>
|
|
<tr mat-row *matRowDef="let row; columns: displayedColumns;"
|
|
(click)="onRoutingPeerClick(row, $event, 'in')"></tr>
|
|
</table>
|
|
</div>
|
|
</mat-card-content>
|
|
</div>
|
|
<div fxLayout="column" fxFlex="49" fxLayoutAlign="start stretch">
|
|
<mat-card-header fxFlex="100">
|
|
<mat-card-subtitle>
|
|
<h3>Outgoing Traffic</h3>
|
|
</mat-card-subtitle>
|
|
</mat-card-header>
|
|
<mat-card-content class="table-card-content" fxFlex="100">
|
|
<div perfectScrollbar class="table-container">
|
|
<mat-progress-bar *ngIf="flgLoading[0]===true" mode="indeterminate"></mat-progress-bar>
|
|
<table mat-table #tableOut [dataSource]="RoutingPeersOutgoing" matSort
|
|
[ngClass]="{'overflow-auto error-border': flgLoading[0]==='error','overflow-auto': true}">
|
|
<ng-container matColumnDef="chan_id">
|
|
<th mat-header-cell *matHeaderCellDef mat-sort-header>Chan Id</th>
|
|
<td mat-cell *matCellDef="let rPeer" class="ellipsis-parent"><span
|
|
class="ellipsis-child">{{rPeer.chan_id}}</span></td>
|
|
</ng-container>
|
|
<ng-container matColumnDef="alias">
|
|
<th mat-header-cell *matHeaderCellDef mat-sort-header>Alias</th>
|
|
<td mat-cell *matCellDef="let rPeer">{{rPeer.alias}}</td>
|
|
</ng-container>
|
|
<ng-container matColumnDef="events">
|
|
<th mat-header-cell *matHeaderCellDef mat-sort-header arrowPosition="before">Events</th>
|
|
<td mat-cell *matCellDef="let rPeer"><span fxLayoutAlign="end center">{{rPeer.events | number}}</span>
|
|
</td>
|
|
</ng-container>
|
|
<ng-container matColumnDef="total_amount">
|
|
<th mat-header-cell *matHeaderCellDef mat-sort-header arrowPosition="before">Total Amount (Sats)</th>
|
|
<td mat-cell *matCellDef="let rPeer"><span
|
|
fxLayoutAlign="end center">{{rPeer.total_amount | number}}</span></td>
|
|
</ng-container>
|
|
<tr mat-header-row *matHeaderRowDef="displayedColumns; sticky: flgSticky;"></tr>
|
|
<tr mat-row *matRowDef="let row; columns: displayedColumns;"
|
|
(click)="onRoutingPeerClick(row, $event, 'out')"></tr>
|
|
</table>
|
|
</div>
|
|
</mat-card-content>
|
|
</div>
|
|
</mat-card>
|
|
</div>
|
|
</div> |