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.
79 lines
3.8 KiB
HTML
79 lines
3.8 KiB
HTML
<div fxLayout="column">
|
|
<div class="padding-gap">
|
|
<mat-card>
|
|
<mat-card-header>
|
|
<mat-card-subtitle>
|
|
<h2>Query Routes</h2>
|
|
</mat-card-subtitle>
|
|
</mat-card-header>
|
|
<mat-card-content>
|
|
<form fxLayout="column" fxLayoutAlign="space-between stretch" fxLayout.gt-md="row wrap"
|
|
(ngSubmit)="queryRoutesForm.form.valid && onQueryRoutes()" #queryRoutesForm="ngForm">
|
|
<mat-form-field fxFlex="50" fxLayoutAlign="start end">
|
|
<input matInput placeholder="Destination Pubkey" name="destinationPubkey" [(ngModel)]="destinationPubkey"
|
|
tabindex="1" required #destPubkey="ngModel">
|
|
</mat-form-field>
|
|
<mat-form-field fxFlex="20" fxLayoutAlign="start end">
|
|
<input matInput placeholder="Amount (Sats)" name="amount" [(ngModel)]="amount" tabindex="2" type="number"
|
|
step="1000" min="0" required #destAmount="ngModel">
|
|
</mat-form-field>
|
|
<div fxFlex="15" fxLayoutAlign="start start">
|
|
<button fxFlex="90" fxLayoutAlign="center center" mat-raised-button color="primary"
|
|
[disabled]="destPubkey.invalid || destAmount.invalid" type="submit" tabindex="3">
|
|
<p *ngIf="(destPubkey.invalid && (destPubkey.dirty || destPubkey.touched) || (destAmount.invalid && (destAmount.dirty || destAmount.touched))); else queryText">Invalid Pubkey/Amount
|
|
</p>
|
|
<ng-template #queryText>
|
|
<p>Query</p>
|
|
</ng-template>
|
|
</button>
|
|
</div>
|
|
<div fxFlex="15" fxLayoutAlign="start start">
|
|
<button fxFlex="90" fxLayoutAlign="center center" mat-stroked-button color="accent" tabindex="4" type="reset"
|
|
(click)="resetData()">Clear</button>
|
|
</div>
|
|
</form>
|
|
</mat-card-content>
|
|
</mat-card>
|
|
</div>
|
|
<div class="padding-gap">
|
|
<mat-card>
|
|
<mat-card-content class="table-card-content">
|
|
<div perfectScrollbar class="table-container">
|
|
<mat-progress-bar *ngIf="flgLoading[0]===true" mode="indeterminate"></mat-progress-bar>
|
|
<table mat-table #table [dataSource]="qrHops" matSort
|
|
[ngClass]="{'overflow-auto error-border': flgLoading[0]==='error','overflow-auto': true}">
|
|
<ng-container matColumnDef="hop_sequence">
|
|
<th mat-header-cell *matHeaderCellDef mat-sort-header> Hop </th>
|
|
<td mat-cell *matCellDef="let hop"> {{hop?.hop_sequence}} </td>
|
|
</ng-container>
|
|
<ng-container matColumnDef="pubkey_alias">
|
|
<th mat-header-cell *matHeaderCellDef mat-sort-header> Node </th>
|
|
<td mat-cell *matCellDef="let hop"> {{hop?.pubkey_alias}} </td>
|
|
</ng-container>
|
|
<ng-container matColumnDef="chan_id">
|
|
<th mat-header-cell *matHeaderCellDef mat-sort-header> Channel </th>
|
|
<td mat-cell *matCellDef="let hop"> {{hop?.chan_id}} </td>
|
|
</ng-container>
|
|
<ng-container matColumnDef="chan_capacity">
|
|
<th mat-header-cell *matHeaderCellDef mat-sort-header arrowPosition="before"> Capacity (sats) </th>
|
|
<td mat-cell *matCellDef="let hop"><span fxLayoutAlign="end center"> {{hop?.chan_capacity | number}}
|
|
</span></td>
|
|
</ng-container>
|
|
<ng-container matColumnDef="amt_to_forward_msat">
|
|
<th mat-header-cell *matHeaderCellDef mat-sort-header arrowPosition="before"> Amount To Fwd (msats) </th>
|
|
<td mat-cell *matCellDef="let hop"><span fxLayoutAlign="end center"> {{hop?.amt_to_forward_msat | number}}
|
|
</span></td>
|
|
</ng-container>
|
|
<ng-container matColumnDef="fee_msat">
|
|
<th mat-header-cell *matHeaderCellDef mat-sort-header arrowPosition="before"> Fee (msat) </th>
|
|
<td mat-cell *matCellDef="let hop"><span fxLayoutAlign="end center"> {{hop?.fee_msat | number}} </span>
|
|
</td>
|
|
</ng-container>
|
|
<tr mat-header-row *matHeaderRowDef="displayedColumns; sticky: flgSticky;"></tr>
|
|
<tr mat-row *matRowDef="let row; columns: displayedColumns;" (click)="onHopClick(row, $event)"></tr>
|
|
</table>
|
|
</div>
|
|
</mat-card-content>
|
|
</mat-card>
|
|
</div>
|
|
</div> |