|
|
|
@ -12,7 +12,7 @@
|
|
|
|
|
(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]="lastMonthDay"
|
|
|
|
|
<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>
|
|
|
|
@ -35,78 +35,81 @@
|
|
|
|
|
</mat-card>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="padding-gap">
|
|
|
|
|
<mat-card fxLayout="column" fxLayoutAlign="space-between start" fxLayout.gt-md="row wrap">
|
|
|
|
|
<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">
|
|
|
|
|
<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-elevation-z8">
|
|
|
|
|
<mat-progress-bar *ngIf="flgLoading[0]===true" mode="indeterminate"></mat-progress-bar>
|
|
|
|
|
<table mat-table #tableIn [dataSource]="RoutingPeersIncoming" matSort fxFlex="100"
|
|
|
|
|
[ngClass]="{'mat-elevation-z8 overflow-auto error-border': flgLoading[0]==='error','mat-elevation-z8 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">{{rPeer.chan_id}}</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">
|
|
|
|
|
<mat-progress-bar *ngIf="flgLoading[0]===true" mode="indeterminate"></mat-progress-bar>
|
|
|
|
|
<table mat-table #tableIn [dataSource]="RoutingPeersIncoming" matSort fxFlex="100"
|
|
|
|
|
[ngClass]="{'mat-elevation-z8 overflow-auto error-border': flgLoading[0]==='error','mat-elevation-z8 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-elevation-z8">
|
|
|
|
|
<mat-progress-bar *ngIf="flgLoading[0]===true" mode="indeterminate"></mat-progress-bar>
|
|
|
|
|
<table mat-table #tableOut [dataSource]="RoutingPeersOutgoing" matSort
|
|
|
|
|
[ngClass]="{'mat-elevation-z8 overflow-auto error-border': flgLoading[0]==='error','mat-elevation-z8 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">{{rPeer.chan_id}}</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-progress-bar *ngIf="flgLoading[0]===true" mode="indeterminate"></mat-progress-bar>
|
|
|
|
|
<table mat-table #tableOut [dataSource]="RoutingPeersOutgoing" matSort
|
|
|
|
|
[ngClass]="{'mat-elevation-z8 overflow-auto error-border': flgLoading[0]==='error','mat-elevation-z8 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>
|