parent
5bf45be695
commit
a9474889c2
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1 +1 @@
|
||||
!function(e){function r(r){for(var n,i,a=r[0],c=r[1],f=r[2],p=0,s=[];p<a.length;p++)o[i=a[p]]&&s.push(o[i][0]),o[i]=0;for(n in c)Object.prototype.hasOwnProperty.call(c,n)&&(e[n]=c[n]);for(l&&l(r);s.length;)s.shift()();return u.push.apply(u,f||[]),t()}function t(){for(var e,r=0;r<u.length;r++){for(var t=u[r],n=!0,a=1;a<t.length;a++)0!==o[t[a]]&&(n=!1);n&&(u.splice(r--,1),e=i(i.s=t[0]))}return e}var n={},o={0:0},u=[];function i(r){if(n[r])return n[r].exports;var t=n[r]={i:r,l:!1,exports:{}};return e[r].call(t.exports,t,t.exports,i),t.l=!0,t.exports}i.e=function(e){var r=[],t=o[e];if(0!==t)if(t)r.push(t[2]);else{var n=new Promise((function(r,n){t=o[e]=[r,n]}));r.push(t[2]=n);var u,a=document.createElement("script");a.charset="utf-8",a.timeout=120,i.nc&&a.setAttribute("nonce",i.nc),a.src=function(e){return i.p+""+({}[e]||e)+"."+{1:"c7ef37d92d6c98e58e25",6:"bb075656f8b4a826eed4",7:"bada1b79d7bc28f5bfed"}[e]+".js"}(e);var c=new Error;u=function(r){a.onerror=a.onload=null,clearTimeout(f);var t=o[e];if(0!==t){if(t){var n=r&&("load"===r.type?"missing":r.type),u=r&&r.target&&r.target.src;c.message="Loading chunk "+e+" failed.\n("+n+": "+u+")",c.name="ChunkLoadError",c.type=n,c.request=u,t[1](c)}o[e]=void 0}};var f=setTimeout((function(){u({type:"timeout",target:a})}),12e4);a.onerror=a.onload=u,document.head.appendChild(a)}return Promise.all(r)},i.m=e,i.c=n,i.d=function(e,r,t){i.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:t})},i.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,r){if(1&r&&(e=i(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(i.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var n in e)i.d(t,n,(function(r){return e[r]}).bind(null,n));return t},i.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(r,"a",r),r},i.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},i.p="",i.oe=function(e){throw console.error(e),e};var a=window.webpackJsonp=window.webpackJsonp||[],c=a.push.bind(a);a.push=r,a=a.slice();for(var f=0;f<a.length;f++)r(a[f]);var l=c;t()}([]);
|
||||
!function(e){function r(r){for(var n,i,a=r[0],c=r[1],f=r[2],p=0,s=[];p<a.length;p++)o[i=a[p]]&&s.push(o[i][0]),o[i]=0;for(n in c)Object.prototype.hasOwnProperty.call(c,n)&&(e[n]=c[n]);for(l&&l(r);s.length;)s.shift()();return u.push.apply(u,f||[]),t()}function t(){for(var e,r=0;r<u.length;r++){for(var t=u[r],n=!0,a=1;a<t.length;a++)0!==o[t[a]]&&(n=!1);n&&(u.splice(r--,1),e=i(i.s=t[0]))}return e}var n={},o={0:0},u=[];function i(r){if(n[r])return n[r].exports;var t=n[r]={i:r,l:!1,exports:{}};return e[r].call(t.exports,t,t.exports,i),t.l=!0,t.exports}i.e=function(e){var r=[],t=o[e];if(0!==t)if(t)r.push(t[2]);else{var n=new Promise((function(r,n){t=o[e]=[r,n]}));r.push(t[2]=n);var u,a=document.createElement("script");a.charset="utf-8",a.timeout=120,i.nc&&a.setAttribute("nonce",i.nc),a.src=function(e){return i.p+""+({}[e]||e)+"."+{1:"c7ef37d92d6c98e58e25",6:"bb075656f8b4a826eed4",7:"207f6b0883d4876d89ed"}[e]+".js"}(e);var c=new Error;u=function(r){a.onerror=a.onload=null,clearTimeout(f);var t=o[e];if(0!==t){if(t){var n=r&&("load"===r.type?"missing":r.type),u=r&&r.target&&r.target.src;c.message="Loading chunk "+e+" failed.\n("+n+": "+u+")",c.name="ChunkLoadError",c.type=n,c.request=u,t[1](c)}o[e]=void 0}};var f=setTimeout((function(){u({type:"timeout",target:a})}),12e4);a.onerror=a.onload=u,document.head.appendChild(a)}return Promise.all(r)},i.m=e,i.c=n,i.d=function(e,r,t){i.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:t})},i.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,r){if(1&r&&(e=i(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(i.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var n in e)i.d(t,n,(function(r){return e[r]}).bind(null,n));return t},i.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(r,"a",r),r},i.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},i.p="",i.oe=function(e){throw console.error(e),e};var a=window.webpackJsonp=window.webpackJsonp||[],c=a.push.bind(a);a.push=r,a=a.slice();for(var f=0;f<a.length;f++)r(a[f]);var l=c;t()}([]);
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1,51 +1,47 @@
|
||||
<div fxLayout="column" fxLayoutAlign="center center" class="test-banner mx-1">
|
||||
<h5>Save your backup files in a redundant location</h5>
|
||||
</div>
|
||||
<div fxLayout="column">
|
||||
<div class="padding-gap">
|
||||
<mat-card>
|
||||
<mat-card-header>
|
||||
<mat-card-subtitle>
|
||||
<h2>Channels Backup</h2>
|
||||
</mat-card-subtitle>
|
||||
</mat-card-header>
|
||||
<mat-card-content>
|
||||
<div fxLayout="column" fxLayout.gt-sm="row wrap" fxFlex="100" fxLayoutAlign="space-between start">
|
||||
<h4 fxFlex="100">Backup folder location: {{selNode.channelBackupPath}}</h4>
|
||||
<button fxFlex="49" fxLayoutAlign="center center" mat-raised-button color="primary" tabindex="1" (click)="onBackupChannels({})">Backup All Channels</button>
|
||||
<button fxFlex="49" fxLayoutAlign="center center" mat-raised-button color="primary" tabindex="2" (click)="onVerifyChannels({})">Verify All Channels Backup</button>
|
||||
</div>
|
||||
</mat-card-content>
|
||||
</mat-card>
|
||||
<div fxLayout="column" fxLayoutAlign="space-between stretch" fxLayout.gt-md="row wrap">
|
||||
<h4 fxFlex="100">Save your backup files in a redundant location.</h4>
|
||||
<h4 fxFlex="100" class="mt-1">Backup folder location: {{selNode.channelBackupPath}}</h4>
|
||||
<div fxLayout="row" fxFlex.gt-sm="30" fxLayoutAlign.gt-sm="space-between start" fxLayoutAlign="start start" class="mt-2">
|
||||
<button fxFlex="48" fxLayoutAlign="center center" mat-stroked-button color="primary" tabindex="1" (click)="onVerifyChannels({})">Verify All Channels Backup</button>
|
||||
<button fxFlex="48" fxLayoutAlign="center center" mat-raised-button color="primary" tabindex="2" (click)="onBackupChannels({})">Backup All Channels</button>
|
||||
</div>
|
||||
</div>
|
||||
<div fxLayout="row" fxLayoutAlign="start center" class="padding-gap-x page-sub-title-container mt-minus-2">
|
||||
<div fxFlex="70"></div>
|
||||
<mat-form-field fxFlex="30">
|
||||
<input matInput (keyup)="applyFilter($event.target.value)" placeholder="Filter">
|
||||
</mat-form-field>
|
||||
</div>
|
||||
<div class="padding-gap">
|
||||
<mat-card>
|
||||
<mat-card-content class="table-card-content">
|
||||
<div fxLayout="row" fxLayoutAlign="start start">
|
||||
<mat-form-field fxFlex="30">
|
||||
<input matInput (keyup)="applyFilter($event.target.value)" placeholder="Filter">
|
||||
</mat-form-field>
|
||||
</div>
|
||||
<div perfectScrollbar class="table-container">
|
||||
<mat-progress-bar *ngIf="flgLoading[0]===true" mode="indeterminate"></mat-progress-bar>
|
||||
<table mat-table #table [dataSource]="channels" matSort [ngClass]="{'overflow-auto error-border': flgLoading[0]==='error','overflow-auto': true}">
|
||||
<ng-container matColumnDef="chan_point">
|
||||
<th mat-header-cell *matHeaderCellDef mat-sort-header> Channel Point </th>
|
||||
<td mat-cell *matCellDef="let channel">{{channel?.channel_point}}</td>
|
||||
</ng-container>
|
||||
<ng-container matColumnDef="backup">
|
||||
<th mat-header-cell *matHeaderCellDef>Backup</th>
|
||||
<td mat-cell *matCellDef="let channel"><mat-icon color="primary" (click)="onBackupChannels(channel)">save_alt</mat-icon></td>
|
||||
</ng-container>
|
||||
<ng-container matColumnDef="verify">
|
||||
<th mat-header-cell *matHeaderCellDef>Verify</th>
|
||||
<td mat-cell *matCellDef="let channel"><mat-icon color="primary" (click)="onVerifyChannels(channel)">verified_user</mat-icon></td>
|
||||
</ng-container>
|
||||
<tr mat-header-row *matHeaderRowDef="displayedColumns; sticky: flgSticky;"></tr>
|
||||
<tr mat-row *matRowDef="let row; columns: displayedColumns;" (click)="onChannelClick(row, $event)"></tr>
|
||||
</table>
|
||||
</div>
|
||||
</mat-card-content>
|
||||
</mat-card>
|
||||
<div perfectScrollbar fxLayout="row" fxLayoutAlign="start center" fxFlex="100" class="table-container">
|
||||
<mat-progress-bar *ngIf="flgLoading[0]===true" mode="indeterminate"></mat-progress-bar>
|
||||
<table mat-table #table [dataSource]="channels" matSort [ngClass]="{'overflow-auto error-border': flgLoading[0]==='error','overflow-auto': true}">
|
||||
<ng-container matColumnDef="chan_point">
|
||||
<th mat-header-cell *matHeaderCellDef mat-sort-header> Channel Point </th>
|
||||
<td mat-cell *matCellDef="let channel">{{channel?.channel_point}}</td>
|
||||
</ng-container>
|
||||
<ng-container matColumnDef="actions">
|
||||
<th mat-header-cell *matHeaderCellDef class="pr-3"><span fxLayoutAlign="end center">Actions</span></th>
|
||||
<td mat-cell *matCellDef="let channel" fxLayoutAlign="end center">
|
||||
<div fxFlex="100" class="bordered-box table-actions-select" fxLayoutAlign="center center">
|
||||
<mat-select placeholder="Actions" tabindex="1" class="mr-0">
|
||||
<mat-select-trigger></mat-select-trigger>
|
||||
<mat-option (click)="onChannelClick(channel, $event)">View Info</mat-option>
|
||||
<mat-option (click)="onBackupChannels(channel)">Backup</mat-option>
|
||||
<mat-option (click)="onVerifyChannels(channel)">Verify</mat-option>
|
||||
</mat-select>
|
||||
</div>
|
||||
</td>
|
||||
</ng-container>
|
||||
<ng-container matColumnDef="no_channel">
|
||||
<td mat-footer-cell *matFooterCellDef colspan="4">
|
||||
<p *ngIf="!channels.data || channels.data.length<1">No channels available.</p>
|
||||
</td>
|
||||
</ng-container>
|
||||
<tr mat-footer-row *matFooterRowDef="['no_channel']" [ngClass]="{'display-none': channels.data && channels.data.length>0}"></tr>
|
||||
<tr mat-header-row *matHeaderRowDef="displayedColumns; sticky: flgSticky;"></tr>
|
||||
<tr mat-row *matRowDef="let row; columns: displayedColumns;"></tr>
|
||||
</table>
|
||||
</div>
|
||||
<mat-paginator [pageSize]="pageSize" [pageSizeOptions]="pageSizeOptions" showFirstLastButtons class="mb-4"></mat-paginator>
|
||||
</div>
|
||||
|
@ -1,234 +1,197 @@
|
||||
<div fxLayout="column">
|
||||
<div fxFlex="100" class="padding-gap">
|
||||
<span class="page-title">Total Limbo Balance: {{pendingChannels.total_limbo_balance | number}} {{information?.smaller_currency_unit}}</span>
|
||||
<div class="">
|
||||
<mat-accordion displayMode="flat">
|
||||
<mat-expansion-panel>
|
||||
<mat-expansion-panel-header>
|
||||
<mat-panel-title>Pending Open Channels({{pendingOpenChannelsLength}})</mat-panel-title>
|
||||
<mat-progress-bar *ngIf="flgLoading[0]===true" mode="indeterminate"></mat-progress-bar>
|
||||
</mat-expansion-panel-header>
|
||||
<div perfectScrollbar fxLayout="row" fxLayoutAlign="start center" fxFlex="100" class="table-container">
|
||||
<mat-table #table [dataSource]="pendingOpenChannels" matSort [ngClass]="{'overflow-auto error-border bordered-box': flgLoading[0]==='error','overflow-auto bordered-box': true}">
|
||||
<ng-container matColumnDef="remote_node_pub">
|
||||
<mat-header-cell class="pl-2" *matHeaderCellDef mat-sort-header> Remote Node Pub </mat-header-cell>
|
||||
<mat-cell class="pl-2" *matCellDef="let channel">{{channel.channel.remote_node_pub}}</mat-cell>
|
||||
</ng-container>
|
||||
<ng-container matColumnDef="local_balance">
|
||||
<mat-header-cell fxLayoutAlign="end center" *matHeaderCellDef mat-sort-header arrowPosition="before">
|
||||
Local Balance </mat-header-cell>
|
||||
<mat-cell fxLayoutAlign="end center" *matCellDef="let channel">{{channel.channel.local_balance |
|
||||
number}}</mat-cell>
|
||||
</ng-container>
|
||||
<ng-container matColumnDef="commit_fee">
|
||||
<mat-header-cell fxLayoutAlign="end center" *matHeaderCellDef mat-sort-header arrowPosition="before">
|
||||
Commit Fee </mat-header-cell>
|
||||
<mat-cell fxLayoutAlign="end center" *matCellDef="let channel">{{channel.commit_fee | number}}
|
||||
</mat-cell>
|
||||
</ng-container>
|
||||
<ng-container matColumnDef="remote_balance">
|
||||
<mat-header-cell fxLayoutAlign="end center" *matHeaderCellDef mat-sort-header arrowPosition="before">
|
||||
Remote Balance </mat-header-cell>
|
||||
<mat-cell fxLayoutAlign="end center" *matCellDef="let channel">{{channel.channel.remote_balance |
|
||||
number}}</mat-cell>
|
||||
</ng-container>
|
||||
<ng-container matColumnDef="capacity">
|
||||
<mat-header-cell fxLayoutAlign="end center" *matHeaderCellDef mat-sort-header arrowPosition="before">
|
||||
Capacity </mat-header-cell>
|
||||
<mat-cell fxLayoutAlign="end center" *matCellDef="let channel">{{channel.channel.capacity |
|
||||
number}}</mat-cell>
|
||||
</ng-container>
|
||||
<ng-container matColumnDef="commit_weight">
|
||||
<mat-header-cell fxLayoutAlign="end center" *matHeaderCellDef mat-sort-header arrowPosition="before">
|
||||
Commit Weight </mat-header-cell>
|
||||
<mat-cell fxLayoutAlign="end center" *matCellDef="let channel">{{channel.commit_weight | number}}
|
||||
</mat-cell>
|
||||
</ng-container>
|
||||
<ng-container matColumnDef="fee_per_kw">
|
||||
<mat-header-cell fxLayoutAlign="end center" *matHeaderCellDef mat-sort-header arrowPosition="before">
|
||||
Fee Per KW </mat-header-cell>
|
||||
<mat-cell fxLayoutAlign="end center" *matCellDef="let channel">{{channel.fee_per_kw | number}}
|
||||
</mat-cell>
|
||||
</ng-container>
|
||||
<ng-container matColumnDef="confirmation_height">
|
||||
<mat-header-cell fxLayoutAlign="end center" *matHeaderCellDef mat-sort-header arrowPosition="before">
|
||||
Confirmation Height </mat-header-cell>
|
||||
<mat-cell fxLayoutAlign="end center" *matCellDef="let channel">{{channel.confirmation_height |
|
||||
number}}</mat-cell>
|
||||
</ng-container>
|
||||
<ng-container matColumnDef="channel_point">
|
||||
<mat-header-cell class="pl-2" *matHeaderCellDef mat-sort-header> Channel Point </mat-header-cell>
|
||||
<mat-cell class="pl-2" *matCellDef="let channel">{{channel.channel.channel_point}}</mat-cell>
|
||||
</ng-container>
|
||||
<mat-header-row *matHeaderRowDef="displayedOpenColumns"></mat-header-row>
|
||||
<mat-row fxLayoutAlign="stretch stretch" *matRowDef="let row; columns: displayedOpenColumns;"
|
||||
(click)="onOpenClick(row, $event)"></mat-row>
|
||||
</mat-table>
|
||||
</div>
|
||||
</mat-expansion-panel>
|
||||
<mat-expansion-panel>
|
||||
<mat-expansion-panel-header>
|
||||
<mat-panel-title>Pending Force Closing Channels({{pendingForceClosingChannelsLength}})</mat-panel-title>
|
||||
<mat-progress-bar *ngIf="flgLoading[0]===true" mode="indeterminate"></mat-progress-bar>
|
||||
</mat-expansion-panel-header>
|
||||
<div perfectScrollbar fxLayout="row" fxLayoutAlign="start center" fxFlex="100" class="table-container">
|
||||
<mat-table #table [dataSource]="pendingForceClosingChannels" matSort
|
||||
[ngClass]="{'overflow-auto error-border bordered-box': flgLoading[0]==='error','overflow-auto bordered-box': true}">
|
||||
<ng-container matColumnDef="remote_node_pub">
|
||||
<mat-header-cell class="pl-2" *matHeaderCellDef mat-sort-header> Remote Node Pub </mat-header-cell>
|
||||
<mat-cell class="pl-2" *matCellDef="let channel">{{channel.channel.remote_node_pub}}</mat-cell>
|
||||
</ng-container>
|
||||
<ng-container matColumnDef="recovered_balance">
|
||||
<mat-header-cell fxLayoutAlign="end center" *matHeaderCellDef mat-sort-header arrowPosition="before">
|
||||
Recovered Balance </mat-header-cell>
|
||||
<mat-cell fxLayoutAlign="end center" *matCellDef="let channel">{{channel.recovered_balance |
|
||||
number}}</mat-cell>
|
||||
</ng-container>
|
||||
<ng-container matColumnDef="limbo_balance">
|
||||
<mat-header-cell fxLayoutAlign="end center" *matHeaderCellDef mat-sort-header arrowPosition="before">
|
||||
Limbo Balance </mat-header-cell>
|
||||
<mat-cell fxLayoutAlign="end center" *matCellDef="let channel">{{channel.limbo_balance | number}}
|
||||
</mat-cell>
|
||||
</ng-container>
|
||||
<ng-container matColumnDef="blocks_til_maturity">
|
||||
<mat-header-cell fxLayoutAlign="end center" *matHeaderCellDef mat-sort-header arrowPosition="before">
|
||||
Block Till Maturity </mat-header-cell>
|
||||
<mat-cell fxLayoutAlign="end center" *matCellDef="let channel">{{channel.blocks_til_maturity |
|
||||
number}}</mat-cell>
|
||||
</ng-container>
|
||||
<ng-container matColumnDef="maturity_height">
|
||||
<mat-header-cell fxLayoutAlign="end center" *matHeaderCellDef mat-sort-header arrowPosition="before">
|
||||
Maturity Height </mat-header-cell>
|
||||
<mat-cell fxLayoutAlign="end center" *matCellDef="let channel">{{channel.maturity_height | number}}
|
||||
</mat-cell>
|
||||
</ng-container>
|
||||
<ng-container matColumnDef="local_balance">
|
||||
<mat-header-cell fxLayoutAlign="end center" *matHeaderCellDef mat-sort-header arrowPosition="before">
|
||||
Local Balance </mat-header-cell>
|
||||
<mat-cell fxLayoutAlign="end center" *matCellDef="let channel">{{channel.channel.local_balance |
|
||||
number}}</mat-cell>
|
||||
</ng-container>
|
||||
<ng-container matColumnDef="remote_balance">
|
||||
<mat-header-cell fxLayoutAlign="end center" *matHeaderCellDef mat-sort-header arrowPosition="before">
|
||||
Remote Balance </mat-header-cell>
|
||||
<mat-cell fxLayoutAlign="end center" *matCellDef="let channel">{{channel.channel.remote_balance |
|
||||
number}}</mat-cell>
|
||||
</ng-container>
|
||||
<ng-container matColumnDef="capacity">
|
||||
<mat-header-cell fxLayoutAlign="end center" *matHeaderCellDef mat-sort-header arrowPosition="before">
|
||||
Capacity </mat-header-cell>
|
||||
<mat-cell fxLayoutAlign="end center" *matCellDef="let channel">{{channel.channel.capacity |
|
||||
number}}</mat-cell>
|
||||
</ng-container>
|
||||
<ng-container matColumnDef="closing_txid">
|
||||
<mat-header-cell *matHeaderCellDef mat-sort-header> Transaction Id </mat-header-cell>
|
||||
<mat-cell *matCellDef="let channel">
|
||||
<div class="flex-ellipsis">{{channel.closing_txid}}</div>
|
||||
</mat-cell>
|
||||
</ng-container>
|
||||
<ng-container matColumnDef="channel_point">
|
||||
<mat-header-cell class="pl-2" *matHeaderCellDef mat-sort-header> Channel Point </mat-header-cell>
|
||||
<mat-cell class="pl-2" *matCellDef="let channel">{{channel.channel.channel_point}}</mat-cell>
|
||||
</ng-container>
|
||||
<mat-header-row *matHeaderRowDef="displayedForceClosingColumns"></mat-header-row>
|
||||
<mat-row fxLayoutAlign="stretch stretch" *matRowDef="let row; columns: displayedForceClosingColumns;"
|
||||
(click)="onForceClosingClick(row, $event)"></mat-row>
|
||||
</mat-table>
|
||||
</div>
|
||||
</mat-expansion-panel>
|
||||
<mat-expansion-panel>
|
||||
<mat-expansion-panel-header>
|
||||
<mat-panel-title>Pending Closing Channels({{pendingClosingChannelsLength}})</mat-panel-title>
|
||||
<mat-progress-bar *ngIf="flgLoading[0]===true" mode="indeterminate"></mat-progress-bar>
|
||||
</mat-expansion-panel-header>
|
||||
<div perfectScrollbar fxLayout="row" fxLayoutAlign="start center" fxFlex="100" class="table-container">
|
||||
<mat-table #table [dataSource]="pendingClosingChannels" matSort
|
||||
[ngClass]="{'overflow-auto error-border bordered-box': flgLoading[0]==='error','overflow-auto bordered-box': true}">
|
||||
<ng-container matColumnDef="remote_node_pub">
|
||||
<mat-header-cell class="pl-2" *matHeaderCellDef mat-sort-header> Remote Node Pub </mat-header-cell>
|
||||
<mat-cell class="pl-2" *matCellDef="let channel">{{channel.channel.remote_node_pub}}</mat-cell>
|
||||
</ng-container>
|
||||
<ng-container matColumnDef="local_balance">
|
||||
<mat-header-cell fxLayoutAlign="end center" *matHeaderCellDef mat-sort-header arrowPosition="before">
|
||||
Local Balance </mat-header-cell>
|
||||
<mat-cell fxLayoutAlign="end center" *matCellDef="let channel">{{channel.channel.local_balance |
|
||||
number}}</mat-cell>
|
||||
</ng-container>
|
||||
<ng-container matColumnDef="remote_balance">
|
||||
<mat-header-cell fxLayoutAlign="end center" *matHeaderCellDef mat-sort-header arrowPosition="before">
|
||||
Remote Balance </mat-header-cell>
|
||||
<mat-cell fxLayoutAlign="end center" *matCellDef="let channel">{{channel.channel.remote_balance |
|
||||
number}}</mat-cell>
|
||||
</ng-container>
|
||||
<ng-container matColumnDef="capacity">
|
||||
<mat-header-cell fxLayoutAlign="end center" *matHeaderCellDef mat-sort-header arrowPosition="before">
|
||||
Capacity </mat-header-cell>
|
||||
<mat-cell fxLayoutAlign="end center" *matCellDef="let channel">{{channel.channel.capacity |
|
||||
number}}</mat-cell>
|
||||
</ng-container>
|
||||
<ng-container matColumnDef="closing_txid">
|
||||
<mat-header-cell *matHeaderCellDef mat-sort-header> Transaction Id </mat-header-cell>
|
||||
<mat-cell *matCellDef="let channel">
|
||||
<div class="flex-ellipsis">{{channel.closing_txid}}</div>
|
||||
</mat-cell>
|
||||
</ng-container>
|
||||
<ng-container matColumnDef="channel_point">
|
||||
<mat-header-cell class="pl-2" *matHeaderCellDef mat-sort-header> Channel Point </mat-header-cell>
|
||||
<mat-cell class="pl-2" *matCellDef="let channel">{{channel.channel.channel_point}}</mat-cell>
|
||||
</ng-container>
|
||||
<mat-header-row *matHeaderRowDef="displayedClosingColumns"></mat-header-row>
|
||||
<mat-row fxLayoutAlign="stretch stretch" *matRowDef="let row; columns: displayedClosingColumns;"
|
||||
(click)="onClosingClick(row, $event)"></mat-row>
|
||||
</mat-table>
|
||||
</div>
|
||||
</mat-expansion-panel>
|
||||
<mat-expansion-panel>
|
||||
<mat-expansion-panel-header>
|
||||
<mat-panel-title>Waiting Close Channels({{pendingWaitClosingChannelsLength}})</mat-panel-title>
|
||||
<mat-progress-bar *ngIf="flgLoading[0]===true" mode="indeterminate"></mat-progress-bar>
|
||||
</mat-expansion-panel-header>
|
||||
<div perfectScrollbar fxLayout="row" fxLayoutAlign="start center" fxFlex="100" class="table-container">
|
||||
<mat-table #table [dataSource]="pendingWaitClosingChannels" matSort
|
||||
[ngClass]="{'overflow-auto error-border bordered-box': flgLoading[0]==='error','overflow-auto bordered-box': true}">
|
||||
<ng-container matColumnDef="remote_node_pub">
|
||||
<mat-header-cell class="pl-2" *matHeaderCellDef mat-sort-header> Remote Node Pub </mat-header-cell>
|
||||
<mat-cell class="pl-2" *matCellDef="let channel">{{channel.channel.remote_node_pub}}</mat-cell>
|
||||
</ng-container>
|
||||
<ng-container matColumnDef="limbo_balance">
|
||||
<mat-header-cell fxLayoutAlign="end center" *matHeaderCellDef mat-sort-header arrowPosition="before">
|
||||
Limbo Balance </mat-header-cell>
|
||||
<mat-cell fxLayoutAlign="end center" *matCellDef="let channel">{{channel.limbo_balance | number}}
|
||||
</mat-cell>
|
||||
</ng-container>
|
||||
<ng-container matColumnDef="local_balance">
|
||||
<mat-header-cell fxLayoutAlign="end center" *matHeaderCellDef mat-sort-header arrowPosition="before">
|
||||
Local Balance </mat-header-cell>
|
||||
<mat-cell fxLayoutAlign="end center" *matCellDef="let channel">{{channel.channel.local_balance |
|
||||
number}}</mat-cell>
|
||||
</ng-container>
|
||||
<ng-container matColumnDef="remote_balance">
|
||||
<mat-header-cell fxLayoutAlign="end center" *matHeaderCellDef mat-sort-header arrowPosition="before">
|
||||
Remote Balance </mat-header-cell>
|
||||
<mat-cell fxLayoutAlign="end center" *matCellDef="let channel">{{channel.channel.remote_balance |
|
||||
<div fxLayout="column" class="mb-2">
|
||||
<span class="page-title">Total Limbo Balance: {{pendingChannels.total_limbo_balance | number}} {{information?.smaller_currency_unit}}</span>
|
||||
<mat-accordion displayMode="flat" class="mt-1">
|
||||
<mat-progress-bar *ngIf="flgLoading[0]===true" mode="indeterminate"></mat-progress-bar>
|
||||
<mat-expansion-panel fxLayout="column" class="flat-expansion-panel">
|
||||
<mat-expansion-panel-header>
|
||||
<mat-panel-title>Pending Open Channels({{pendingOpenChannelsLength}})</mat-panel-title>
|
||||
</mat-expansion-panel-header>
|
||||
<div perfectScrollbar class="table-container">
|
||||
<mat-table #table [dataSource]="pendingOpenChannels" matSort [ngClass]="{'error-border bordered-box': flgLoading[0]==='error','bordered-box': true}">
|
||||
<ng-container matColumnDef="channel_point">
|
||||
<mat-header-cell class="pl-2" *matHeaderCellDef mat-sort-header> Channel Point </mat-header-cell>
|
||||
<mat-cell class="pl-2" *matCellDef="let channel">{{channel.channel.channel_point}}</mat-cell>
|
||||
</ng-container>
|
||||
<ng-container matColumnDef="commit_fee">
|
||||
<mat-header-cell fxLayoutAlign="end center" *matHeaderCellDef mat-sort-header arrowPosition="before">Commit Fee </mat-header-cell>
|
||||
<mat-cell fxLayoutAlign="end center" *matCellDef="let channel">{{channel.commit_fee | number}}</mat-cell>
|
||||
</ng-container>
|
||||
<ng-container matColumnDef="commit_weight">
|
||||
<mat-header-cell fxLayoutAlign="end center" *matHeaderCellDef mat-sort-header arrowPosition="before">Commit Weight </mat-header-cell>
|
||||
<mat-cell fxLayoutAlign="end center" *matCellDef="let channel">{{channel.commit_weight | number}}</mat-cell>
|
||||
</ng-container>
|
||||
<ng-container matColumnDef="capacity">
|
||||
<mat-header-cell fxLayoutAlign="end center" *matHeaderCellDef mat-sort-header arrowPosition="before">Capacity </mat-header-cell>
|
||||
<mat-cell fxLayoutAlign="end center" *matCellDef="let channel">{{channel.channel.capacity | number}}</mat-cell>
|
||||
</ng-container>
|
||||
<ng-container matColumnDef="actions">
|
||||
<mat-header-cell fxLayoutAlign="end center" class="pl-4 pr-3" *matHeaderCellDef>Actions</mat-header-cell>
|
||||
<td mat-cell *matCellDef="let channel" class="pl-4">
|
||||
<span fxLayoutAlign="end center">
|
||||
<button mat-stroked-button color="primary" type="button" tabindex="1" (click)="onPendingClick(channel,$event)">View Info</button>
|
||||
</span>
|
||||
</td>
|
||||
</ng-container>
|
||||
<ng-container matColumnDef="no_pending_open">
|
||||
<td mat-footer-cell *matFooterCellDef colspan="4">
|
||||
<p *ngIf="!pendingOpenChannels || !pendingOpenChannels.data || pendingOpenChannels.data.length<1">No pending open channels.</p>
|
||||
</td>
|
||||
</ng-container>
|
||||
<tr mat-footer-row fxLayoutAlign="start center" *matFooterRowDef="['no_pending_open']" [ngClass]="{'display-none': pendingOpenChannels && pendingOpenChannels.data && pendingOpenChannels.data.length>0}"></tr>
|
||||
<mat-header-row *matHeaderRowDef="displayedOpenColumns"></mat-header-row>
|
||||
<mat-row fxLayoutAlign="stretch stretch" *matRowDef="let row; columns: displayedOpenColumns;"
|
||||
(click)="onOpenClick(row, $event)"></mat-row>
|
||||
</mat-table>
|
||||
</div>
|
||||
</mat-expansion-panel>
|
||||
<mat-progress-bar *ngIf="flgLoading[0]===true" mode="indeterminate"></mat-progress-bar>
|
||||
<mat-expansion-panel fxLayout="column" class="flat-expansion-panel">
|
||||
<mat-expansion-panel-header>
|
||||
<mat-panel-title>Pending Force Closing Channels({{pendingForceClosingChannelsLength}})</mat-panel-title>
|
||||
</mat-expansion-panel-header>
|
||||
<div perfectScrollbar class="table-container">
|
||||
<mat-table #table [dataSource]="pendingForceClosingChannels" matSort [ngClass]="{'error-border bordered-box': flgLoading[0]==='error','bordered-box': true}">
|
||||
<ng-container matColumnDef="channel_point">
|
||||
<mat-header-cell *matHeaderCellDef mat-sort-header> Channel Point </mat-header-cell>
|
||||
<mat-cell *matCellDef="let channel">{{channel.channel.channel_point}}</mat-cell>
|
||||
</ng-container>
|
||||
<ng-container matColumnDef="recovered_balance">
|
||||
<mat-header-cell fxLayoutAlign="end center" *matHeaderCellDef mat-sort-header arrowPosition="before">Recovered Balance </mat-header-cell>
|
||||
<mat-cell fxLayoutAlign="end center" *matCellDef="let channel">{{channel.recovered_balance | number}}</mat-cell>
|
||||
</ng-container>
|
||||
<ng-container matColumnDef="limbo_balance">
|
||||
<mat-header-cell fxLayoutAlign="end center" *matHeaderCellDef mat-sort-header arrowPosition="before">Limbo Balance </mat-header-cell>
|
||||
<mat-cell fxLayoutAlign="end center" *matCellDef="let channel">{{channel.limbo_balance | number}}</mat-cell>
|
||||
</ng-container>
|
||||
<ng-container matColumnDef="capacity">
|
||||
<mat-header-cell fxLayoutAlign="end center" *matHeaderCellDef mat-sort-header arrowPosition="before">Capacity </mat-header-cell>
|
||||
<mat-cell fxLayoutAlign="end center" *matCellDef="let channel">{{channel.channel.capacity | number}}</mat-cell>
|
||||
</ng-container>
|
||||
<ng-container matColumnDef="actions">
|
||||
<mat-header-cell fxLayoutAlign="end center" class="pl-4 pr-3" *matHeaderCellDef>Actions</mat-header-cell>
|
||||
<td mat-cell *matCellDef="let channel" class="pl-4">
|
||||
<span fxLayoutAlign="end center">
|
||||
<button mat-stroked-button color="primary" type="button" tabindex="2" (click)="onPendingClick(channel,$event)">View Info</button>
|
||||
</span>
|
||||
</td>
|
||||
</ng-container>
|
||||
<ng-container matColumnDef="no_pending_force_closing">
|
||||
<td mat-footer-cell *matFooterCellDef colspan="4">
|
||||
<p *ngIf="!pendingForceClosingChannels || !pendingForceClosingChannels.data || pendingForceClosingChannels.data.length<1">No pending force closing channels.</p>
|
||||
</td>
|
||||
</ng-container>
|
||||
<tr mat-footer-row fxLayoutAlign="start center" *matFooterRowDef="['no_pending_force_closing']" [ngClass]="{'display-none': pendingForceClosingChannels && pendingForceClosingChannels.data && pendingForceClosingChannels.data.length>0}"></tr>
|
||||
<mat-header-row *matHeaderRowDef="displayedForceClosingColumns"></mat-header-row>
|
||||
<mat-row fxLayoutAlign="stretch stretch" *matRowDef="let row; columns: displayedForceClosingColumns;"
|
||||
(click)="onForceClosingClick(row, $event)"></mat-row>
|
||||
</mat-table>
|
||||
</div>
|
||||
</mat-expansion-panel>
|
||||
<mat-progress-bar *ngIf="flgLoading[0]===true" mode="indeterminate"></mat-progress-bar>
|
||||
<mat-expansion-panel fxLayout="column" class="flat-expansion-panel">
|
||||
<mat-expansion-panel-header>
|
||||
<mat-panel-title>Pending Closing Channels({{pendingClosingChannelsLength}})</mat-panel-title>
|
||||
</mat-expansion-panel-header>
|
||||
<div perfectScrollbar class="table-container">
|
||||
<mat-table #table [dataSource]="pendingClosingChannels" matSort
|
||||
[ngClass]="{'error-border bordered-box': flgLoading[0]==='error','bordered-box': true}">
|
||||
<ng-container matColumnDef="channel_point">
|
||||
<mat-header-cell class="pl-2" *matHeaderCellDef mat-sort-header> Channel Point </mat-header-cell>
|
||||
<mat-cell class="pl-2" *matCellDef="let channel">{{channel.channel.channel_point}}</mat-cell>
|
||||
</ng-container>
|
||||
<ng-container matColumnDef="local_balance">
|
||||
<mat-header-cell fxLayoutAlign="end center" *matHeaderCellDef mat-sort-header arrowPosition="before">
|
||||
Local Balance </mat-header-cell>
|
||||
<mat-cell fxLayoutAlign="end center" *matCellDef="let channel">{{channel.channel.local_balance |
|
||||
number}}</mat-cell>
|
||||
</ng-container>
|
||||
<ng-container matColumnDef="remote_balance">
|
||||
<mat-header-cell fxLayoutAlign="end center" *matHeaderCellDef mat-sort-header arrowPosition="before">
|
||||
Remote Balance </mat-header-cell>
|
||||
<mat-cell fxLayoutAlign="end center" *matCellDef="let channel">{{channel.channel.remote_balance |
|
||||
number}}</mat-cell>
|
||||
</ng-container>
|
||||
<ng-container matColumnDef="capacity">
|
||||
<mat-header-cell fxLayoutAlign="end center" *matHeaderCellDef mat-sort-header arrowPosition="before">
|
||||
Capacity </mat-header-cell>
|
||||
<mat-cell fxLayoutAlign="end center" *matCellDef="let channel">{{channel.channel.capacity |
|
||||
number}}</mat-cell>
|
||||
</ng-container>
|
||||
<ng-container matColumnDef="capacity">
|
||||
<mat-header-cell fxLayoutAlign="end center" *matHeaderCellDef mat-sort-header arrowPosition="before">
|
||||
Capacity </mat-header-cell>
|
||||
<mat-cell fxLayoutAlign="end center" *matCellDef="let channel">{{channel.channel.capacity |
|
||||
number}}</mat-cell>
|
||||
</ng-container>
|
||||
<ng-container matColumnDef="channel_point">
|
||||
<mat-header-cell class="pl-2" *matHeaderCellDef mat-sort-header> Channel Point </mat-header-cell>
|
||||
<mat-cell class="pl-2" *matCellDef="let channel">{{channel.channel.channel_point}}</mat-cell>
|
||||
</ng-container>
|
||||
<mat-header-row *matHeaderRowDef="displayedWaitClosingColumns"></mat-header-row>
|
||||
<mat-row fxLayoutAlign="stretch stretch" *matRowDef="let row; columns: displayedWaitClosingColumns;"
|
||||
(click)="onWaitClosingClick(row, $event)"></mat-row>
|
||||
</mat-table>
|
||||
</div>
|
||||
</mat-expansion-panel>
|
||||
</mat-accordion>
|
||||
</div>
|
||||
</div>
|
||||
</ng-container>
|
||||
<ng-container matColumnDef="actions">
|
||||
<mat-header-cell fxLayoutAlign="end center" class="pl-4 pr-3" *matHeaderCellDef>Actions</mat-header-cell>
|
||||
<td mat-cell *matCellDef="let channel" class="pl-4">
|
||||
<span fxLayoutAlign="end center">
|
||||
<button mat-stroked-button color="primary" type="button" tabindex="3" (click)="onPendingClick(channel,$event)">View Info</button>
|
||||
</span>
|
||||
</td>
|
||||
</ng-container>
|
||||
<ng-container matColumnDef="no_pending_closing">
|
||||
<td mat-footer-cell *matFooterCellDef colspan="4">
|
||||
<p *ngIf="!pendingClosingChannels || !pendingClosingChannels.data || pendingClosingChannels.data.length<1">No pending closing channels.</p>
|
||||
</td>
|
||||
</ng-container>
|
||||
<tr mat-footer-row fxLayoutAlign="start center" *matFooterRowDef="['no_pending_closing']" [ngClass]="{'display-none': pendingClosingChannels && pendingClosingChannels.data && pendingClosingChannels.data.length>0}"></tr>
|
||||
<mat-header-row *matHeaderRowDef="displayedClosingColumns"></mat-header-row>
|
||||
<mat-row fxLayoutAlign="stretch stretch" *matRowDef="let row; columns: displayedClosingColumns;"
|
||||
(click)="onClosingClick(row, $event)"></mat-row>
|
||||
</mat-table>
|
||||
</div>
|
||||
</mat-expansion-panel>
|
||||
<mat-progress-bar *ngIf="flgLoading[0]===true" mode="indeterminate"></mat-progress-bar>
|
||||
<mat-expansion-panel fxLayout="column" class="flat-expansion-panel">
|
||||
<mat-expansion-panel-header>
|
||||
<mat-panel-title>Waiting Close Channels({{pendingWaitClosingChannelsLength}})</mat-panel-title>
|
||||
</mat-expansion-panel-header>
|
||||
<div perfectScrollbar class="table-container">
|
||||
<mat-table #table [dataSource]="pendingWaitClosingChannels" matSort
|
||||
[ngClass]="{'error-border bordered-box': flgLoading[0]==='error','bordered-box': true}">
|
||||
<ng-container matColumnDef="channel_point">
|
||||
<mat-header-cell class="pl-2" *matHeaderCellDef mat-sort-header> Channel Point </mat-header-cell>
|
||||
<mat-cell class="pl-2" *matCellDef="let channel">{{channel.channel.channel_point}}</mat-cell>
|
||||
</ng-container>
|
||||
<ng-container matColumnDef="limbo_balance">
|
||||
<mat-header-cell fxLayoutAlign="end center" *matHeaderCellDef mat-sort-header arrowPosition="before">
|
||||
Limbo Balance </mat-header-cell>
|
||||
<mat-cell fxLayoutAlign="end center" *matCellDef="let channel">{{channel.limbo_balance | number}}
|
||||
</mat-cell>
|
||||
</ng-container>
|
||||
<ng-container matColumnDef="local_balance">
|
||||
<mat-header-cell fxLayoutAlign="end center" *matHeaderCellDef mat-sort-header arrowPosition="before">
|
||||
Local Balance </mat-header-cell>
|
||||
<mat-cell fxLayoutAlign="end center" *matCellDef="let channel">{{channel.channel.local_balance |
|
||||
number}}</mat-cell>
|
||||
</ng-container>
|
||||
<ng-container matColumnDef="remote_balance">
|
||||
<mat-header-cell fxLayoutAlign="end center" *matHeaderCellDef mat-sort-header arrowPosition="before">
|
||||
Remote Balance </mat-header-cell>
|
||||
<mat-cell fxLayoutAlign="end center" *matCellDef="let channel">{{channel.channel.remote_balance |
|
||||
number}}</mat-cell>
|
||||
</ng-container>
|
||||
<ng-container matColumnDef="capacity">
|
||||
<mat-header-cell fxLayoutAlign="end center" *matHeaderCellDef mat-sort-header arrowPosition="before">
|
||||
Capacity </mat-header-cell>
|
||||
<mat-cell fxLayoutAlign="end center" *matCellDef="let channel">{{channel.channel.capacity |
|
||||
number}}</mat-cell>
|
||||
</ng-container>
|
||||
<ng-container matColumnDef="actions">
|
||||
<mat-header-cell fxLayoutAlign="end center" class="pl-4 pr-3" *matHeaderCellDef>Actions</mat-header-cell>
|
||||
<td mat-cell *matCellDef="let channel" class="pl-4">
|
||||
<span fxLayoutAlign="end center">
|
||||
<button mat-stroked-button color="primary" type="button" tabindex="4" (click)="onPendingClick(channel,$event)">View Info</button>
|
||||
</span>
|
||||
</td>
|
||||
</ng-container>
|
||||
<ng-container matColumnDef="no_pending_wait_closing">
|
||||
<td mat-footer-cell *matFooterCellDef colspan="4">
|
||||
<p *ngIf="!pendingWaitClosingChannels || !pendingWaitClosingChannels.data || pendingWaitClosingChannels.data.length<1">No pending wait closing channels.</p>
|
||||
</td>
|
||||
</ng-container>
|
||||
<tr mat-footer-row fxLayoutAlign="start center" *matFooterRowDef="['no_pending_wait_closing']" [ngClass]="{'py-0': true, 'display-none': pendingWaitClosingChannels && pendingWaitClosingChannels.data && pendingWaitClosingChannels.data.length>0}"></tr>
|
||||
<mat-header-row *matHeaderRowDef="displayedWaitClosingColumns"></mat-header-row>
|
||||
<mat-row fxLayoutAlign="stretch stretch" *matRowDef="let row; columns: displayedWaitClosingColumns;"
|
||||
(click)="onWaitClosingClick(row, $event)"></mat-row>
|
||||
</mat-table>
|
||||
</div>
|
||||
</mat-expansion-panel>
|
||||
</mat-accordion>
|
||||
</div>
|
@ -1,6 +1,3 @@
|
||||
.flex-ellipsis {
|
||||
padding-right: 0;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
tr.mat-footer-row td.mat-footer-cell {
|
||||
border-bottom: none;
|
||||
}
|
Loading…
Reference in New Issue