LND Pending tables fixed

This commit is contained in:
ShahanaFarooqui 2022-10-27 16:04:16 -07:00
parent 6163f24268
commit 44dbc2691d
33 changed files with 231 additions and 172 deletions

View File

@ -72,11 +72,11 @@ export const getPendingChannels = (req, res, next) => {
if (body.pending_open_channels && body.pending_open_channels.length > 0) { if (body.pending_open_channels && body.pending_open_channels.length > 0) {
(_a = body.pending_open_channels) === null || _a === void 0 ? void 0 : _a.map((channel) => promises.push(getAliasForChannel(req.session.selectedNode, channel.channel))); (_a = body.pending_open_channels) === null || _a === void 0 ? void 0 : _a.map((channel) => promises.push(getAliasForChannel(req.session.selectedNode, channel.channel)));
} }
if (body.pending_closing_channels && body.pending_closing_channels.length > 0) {
(_b = body.pending_closing_channels) === null || _b === void 0 ? void 0 : _b.map((channel) => promises.push(getAliasForChannel(req.session.selectedNode, channel.channel)));
}
if (body.pending_force_closing_channels && body.pending_force_closing_channels.length > 0) { if (body.pending_force_closing_channels && body.pending_force_closing_channels.length > 0) {
(_c = body.pending_force_closing_channels) === null || _c === void 0 ? void 0 : _c.map((channel) => promises.push(getAliasForChannel(req.session.selectedNode, channel.channel))); (_b = body.pending_force_closing_channels) === null || _b === void 0 ? void 0 : _b.map((channel) => promises.push(getAliasForChannel(req.session.selectedNode, channel.channel)));
}
if (body.pending_closing_channels && body.pending_closing_channels.length > 0) {
(_c = body.pending_closing_channels) === null || _c === void 0 ? void 0 : _c.map((channel) => promises.push(getAliasForChannel(req.session.selectedNode, channel.channel)));
} }
if (body.waiting_close_channels && body.waiting_close_channels.length > 0) { if (body.waiting_close_channels && body.waiting_close_channels.length > 0) {
(_d = body.waiting_close_channels) === null || _d === void 0 ? void 0 : _d.map((channel) => promises.push(getAliasForChannel(req.session.selectedNode, channel.channel))); (_d = body.waiting_close_channels) === null || _d === void 0 ? void 0 : _d.map((channel) => promises.push(getAliasForChannel(req.session.selectedNode, channel.channel)));

View File

@ -71,12 +71,12 @@ export const getPendingChannels = (req, res, next) => {
if (body.pending_open_channels && body.pending_open_channels.length > 0) { if (body.pending_open_channels && body.pending_open_channels.length > 0) {
body.pending_open_channels?.map((channel) => promises.push(getAliasForChannel(req.session.selectedNode, channel.channel))); body.pending_open_channels?.map((channel) => promises.push(getAliasForChannel(req.session.selectedNode, channel.channel)));
} }
if (body.pending_closing_channels && body.pending_closing_channels.length > 0) {
body.pending_closing_channels?.map((channel) => promises.push(getAliasForChannel(req.session.selectedNode, channel.channel)));
}
if (body.pending_force_closing_channels && body.pending_force_closing_channels.length > 0) { if (body.pending_force_closing_channels && body.pending_force_closing_channels.length > 0) {
body.pending_force_closing_channels?.map((channel) => promises.push(getAliasForChannel(req.session.selectedNode, channel.channel))); body.pending_force_closing_channels?.map((channel) => promises.push(getAliasForChannel(req.session.selectedNode, channel.channel)));
} }
if (body.pending_closing_channels && body.pending_closing_channels.length > 0) {
body.pending_closing_channels?.map((channel) => promises.push(getAliasForChannel(req.session.selectedNode, channel.channel)));
}
if (body.waiting_close_channels && body.waiting_close_channels.length > 0) { if (body.waiting_close_channels && body.waiting_close_channels.length > 0) {
body.waiting_close_channels?.map((channel) => promises.push(getAliasForChannel(req.session.selectedNode, channel.channel))); body.waiting_close_channels?.map((channel) => promises.push(getAliasForChannel(req.session.selectedNode, channel.channel)));
} }

View File

@ -67,4 +67,4 @@ export const routes: Routes = [
]; ];
// Export const routing: ModuleWithProviders<RouterModule> = RouterModule.forRoot(routes, { enableTracing: true }); // Export const routing: ModuleWithProviders<RouterModule> = RouterModule.forRoot(routes, { enableTracing: true });
export const routing: ModuleWithProviders<RouterModule> = RouterModule.forRoot(routes); export const routing: ModuleWithProviders<RouterModule> = RouterModule.forRoot(routes, { scrollPositionRestoration: 'enabled' });

View File

@ -1,6 +1,7 @@
div.bordered-box.table-actions-select.btn-action { div.bordered-box.table-actions-select.btn-action {
min-width: 13rem; min-width: 13rem;
width: 13rem; width: 13rem;
min-height: 3.6rem;
} }
button.mat-stroked-button.btn-action-copy { button.mat-stroked-button.btn-action-copy {

View File

@ -52,13 +52,11 @@
</ng-container> </ng-container>
<ng-container matColumnDef="delay"> <ng-container matColumnDef="delay">
<th mat-header-cell *matHeaderCellDef mat-sort-header arrowPosition="before" class="pl-1"> Delay </th> <th mat-header-cell *matHeaderCellDef mat-sort-header arrowPosition="before" class="pl-1"> Delay </th>
<td mat-cell *matCellDef="let hop" class="pl-1"><span fxLayoutAlign="end center"> {{hop?.delay | number}} </span> <td mat-cell *matCellDef="let hop" class="pl-1"><span fxLayoutAlign="end center"> {{hop?.delay | number}} </span></td>
</td>
</ng-container> </ng-container>
<ng-container matColumnDef="msatoshi"> <ng-container matColumnDef="msatoshi">
<th mat-header-cell *matHeaderCellDef mat-sort-header arrowPosition="before" class="pl-1"> Amount (Sats) </th> <th mat-header-cell *matHeaderCellDef mat-sort-header arrowPosition="before" class="pl-1"> Amount (Sats) </th>
<td mat-cell *matCellDef="let hop" class="pl-1"><span fxLayoutAlign="end center"> {{hop?.msatoshi/1000 | number}} <td mat-cell *matCellDef="let hop" class="pl-1"><span fxLayoutAlign="end center"> {{hop?.msatoshi/1000 | number}}</span></td>
</span></td>
</ng-container> </ng-container>
<ng-container matColumnDef="actions"> <ng-container matColumnDef="actions">
<th mat-header-cell *matHeaderCellDef class="pl-2 pr-3"> <th mat-header-cell *matHeaderCellDef class="pl-2 pr-3">

View File

@ -1,10 +1,11 @@
div.bordered-box.table-actions-select.btn-action { div.bordered-box.table-actions-select.btn-action {
min-width: 13rem; min-width: 13rem;
width: 13rem; width: 13rem;
} min-height: 3.6rem;
}
button.mat-stroked-button.btn-action-copy { button.mat-stroked-button.btn-action-copy {
min-width: 13rem; min-width: 13rem;
width: 13rem; width: 13rem;
} }

View File

@ -1,6 +1,7 @@
div.bordered-box.table-actions-select.btn-action { div.bordered-box.table-actions-select.btn-action {
min-width: 13rem; min-width: 13rem;
width: 13rem; width: 13rem;
min-height: 3.6rem;
} }
button.mat-stroked-button.btn-action-copy { button.mat-stroked-button.btn-action-copy {

View File

@ -10,58 +10,70 @@
<mat-progress-bar *ngIf="apiCallStatus.status === apiCallStatusEnum.INITIATED" mode="indeterminate"></mat-progress-bar> <mat-progress-bar *ngIf="apiCallStatus.status === apiCallStatusEnum.INITIATED" mode="indeterminate"></mat-progress-bar>
<table mat-table #table fxFlex="100" [dataSource]="pendingOpenChannels" matSort [ngClass]="{'error-border bordered-box': errorMessage !== '','bordered-box': true}"> <table mat-table #table fxFlex="100" [dataSource]="pendingOpenChannels" matSort [ngClass]="{'error-border bordered-box': errorMessage !== '','bordered-box': true}">
<ng-container matColumnDef="remote_alias"> <ng-container matColumnDef="remote_alias">
<mat-header-cell *matHeaderCellDef mat-sort-header> Peer </mat-header-cell> <th mat-header-cell *matHeaderCellDef mat-sort-header> Peer </th>
<mat-cell *matCellDef="let channel" [ngStyle]="{'max-width': (screenSize === screenSizeEnum.XS) ? '10rem' : '20rem'}">{{channel.channel.remote_alias}}</mat-cell> <td mat-cell *matCellDef="let channel">
<div class="ellipsis-parent" [ngStyle]="{'max-width': (screenSize === screenSizeEnum.XS) ? '10rem' : '20rem'}">
<span class="ellipsis-child">{{channel.channel.remote_alias}}</span>
</div>
</td>
</ng-container> </ng-container>
<ng-container matColumnDef="remote_node_pub"> <ng-container matColumnDef="remote_node_pub">
<mat-header-cell *matHeaderCellDef mat-sort-header> Pubkey </mat-header-cell> <th mat-header-cell *matHeaderCellDef mat-sort-header> Pubkey </th>
<mat-cell *matCellDef="let channel" [ngStyle]="{'max-width': (screenSize === screenSizeEnum.XS) ? '10rem' : '20rem'}">{{channel.channel.remote_node_pub}}</mat-cell> <td mat-cell *matCellDef="let channel">
<div class="ellipsis-parent" [ngStyle]="{'max-width': (screenSize === screenSizeEnum.XS) ? '10rem' : '20rem'}">
<span class="ellipsis-child">{{channel.channel.remote_node_pub}}</span>
</div>
</td>
</ng-container> </ng-container>
<ng-container matColumnDef="channel_point"> <ng-container matColumnDef="channel_point">
<mat-header-cell *matHeaderCellDef mat-sort-header> Channel </mat-header-cell> <th mat-header-cell *matHeaderCellDef mat-sort-header> Channel </th>
<mat-cell *matCellDef="let channel" [ngStyle]="{'max-width': (screenSize === screenSizeEnum.XS) ? '10rem' : '20rem'}">{{channel.channel.channel_point}}</mat-cell> <td mat-cell *matCellDef="let channel">
<div class="ellipsis-parent" [ngStyle]="{'max-width': (screenSize === screenSizeEnum.XS) ? '10rem' : '20rem'}">
<span class="ellipsis-child">{{channel.channel.channel_point}}</span>
</div>
</td>
</ng-container> </ng-container>
<ng-container matColumnDef="initiator"> <ng-container matColumnDef="initiator">
<mat-header-cell *matHeaderCellDef mat-sort-header> Initiator </mat-header-cell> <th mat-header-cell *matHeaderCellDef mat-sort-header> Initiator </th>
<mat-cell *matCellDef="let channel">{{channel.channel.initiator}}</mat-cell> <td mat-cell *matCellDef="let channel">{{channel.channel.initiator | camelcaseWithReplace:'initiator_'}}</td>
</ng-container> </ng-container>
<ng-container matColumnDef="commitment_type"> <ng-container matColumnDef="commitment_type">
<mat-header-cell *matHeaderCellDef mat-sort-header> Commitment Type </mat-header-cell> <th mat-header-cell *matHeaderCellDef mat-sort-header> Commitment Type </th>
<mat-cell *matCellDef="let channel" [ngStyle]="{'max-width': (screenSize === screenSizeEnum.XS) ? '10rem' : '20rem'}">{{channel.channel.commitment_type}}</mat-cell> <td mat-cell *matCellDef="let channel">{{channel.channel.commitment_type | camelcaseWithReplace:'commitment_type':'_'}}</td>
</ng-container> </ng-container>
<ng-container matColumnDef="confirmation_height"> <ng-container matColumnDef="confirmation_height">
<mat-header-cell fxLayoutAlign="end center" *matHeaderCellDef mat-sort-header arrowPosition="before">Confirmation Height</mat-header-cell> <th mat-header-cell *matHeaderCellDef mat-sort-header arrowPosition="before">Confirmation Height</th>
<mat-cell fxLayoutAlign="end center" *matCellDef="let channel">{{channel.confirmation_height | number}}</mat-cell> <td mat-cell *matCellDef="let channel" class="pl-1"><span fxLayoutAlign="end center"> {{channel.confirmation_height | number}}</span></td>
</ng-container> </ng-container>
<ng-container matColumnDef="commit_fee"> <ng-container matColumnDef="commit_fee">
<mat-header-cell fxLayoutAlign="end center" *matHeaderCellDef mat-sort-header arrowPosition="before">Commit Fee (Sats) </mat-header-cell> <th mat-header-cell *matHeaderCellDef mat-sort-header arrowPosition="before">Commit Fee (Sats) </th>
<mat-cell fxLayoutAlign="end center" *matCellDef="let channel">{{channel.commit_fee | number}}</mat-cell> <td mat-cell *matCellDef="let channel" class="pl-1"><span fxLayoutAlign="end center">{{channel.commit_fee | number}}</span></td>
</ng-container> </ng-container>
<ng-container matColumnDef="commit_weight"> <ng-container matColumnDef="commit_weight">
<mat-header-cell fxLayoutAlign="end center" *matHeaderCellDef mat-sort-header arrowPosition="before">Commit Weight </mat-header-cell> <th mat-header-cell *matHeaderCellDef mat-sort-header arrowPosition="before">Commit Weight </th>
<mat-cell fxLayoutAlign="end center" *matCellDef="let channel">{{channel.commit_weight | number}}</mat-cell> <td mat-cell *matCellDef="let channel" class="pl-1"><span fxLayoutAlign="end center">{{channel.commit_weight | number}}</span></td>
</ng-container> </ng-container>
<ng-container matColumnDef="fee_per_kw"> <ng-container matColumnDef="fee_per_kw">
<mat-header-cell fxLayoutAlign="end center" *matHeaderCellDef mat-sort-header arrowPosition="before">Fee/KW</mat-header-cell> <th mat-header-cell *matHeaderCellDef mat-sort-header arrowPosition="before">Fee/KW</th>
<mat-cell fxLayoutAlign="end center" *matCellDef="let channel">{{channel.channel.fee_per_kw | number}}</mat-cell> <td mat-cell *matCellDef="let channel" class="pl-1"><span fxLayoutAlign="end center">{{channel.fee_per_kw | number}}</span></td>
</ng-container> </ng-container>
<ng-container matColumnDef="capacity"> <ng-container matColumnDef="capacity">
<mat-header-cell fxLayoutAlign="end center" *matHeaderCellDef mat-sort-header arrowPosition="before">Capacity (Sats)</mat-header-cell> <th mat-header-cell *matHeaderCellDef mat-sort-header arrowPosition="before">Capacity (Sats)</th>
<mat-cell fxLayoutAlign="end center" *matCellDef="let channel">{{channel.channel.capacity | number}}</mat-cell> <td mat-cell *matCellDef="let channel" class="pl-1"><span fxLayoutAlign="end center">{{channel.channel.capacity | number}}</span></td>
</ng-container> </ng-container>
<ng-container matColumnDef="local_balance"> <ng-container matColumnDef="local_balance">
<mat-header-cell fxLayoutAlign="end center" *matHeaderCellDef mat-sort-header arrowPosition="before">Local Balance (Sats)</mat-header-cell> <th mat-header-cell *matHeaderCellDef mat-sort-header arrowPosition="before">Local Balance (Sats)</th>
<mat-cell fxLayoutAlign="end center" *matCellDef="let channel">{{channel.channel.local_balance | number}}</mat-cell> <td mat-cell *matCellDef="let channel" class="pl-1"><span fxLayoutAlign="end center">{{channel.channel.local_balance | number}}</span></td>
</ng-container> </ng-container>
<ng-container matColumnDef="remote_balance"> <ng-container matColumnDef="remote_balance">
<mat-header-cell fxLayoutAlign="end center" *matHeaderCellDef mat-sort-header arrowPosition="before">Remote Balance (Sats)</mat-header-cell> <th mat-header-cell *matHeaderCellDef mat-sort-header arrowPosition="before">Remote Balance (Sats)</th>
<mat-cell fxLayoutAlign="end center" *matCellDef="let channel">{{channel.channel.remote_balance | number}}</mat-cell> <td mat-cell *matCellDef="let channel" class="pl-1"><span fxLayoutAlign="end center">{{channel.channel.remote_balance | number}}</span></td>
</ng-container> </ng-container>
<ng-container matColumnDef="actions"> <ng-container matColumnDef="actions">
<mat-header-cell fxLayoutAlign="end center" class="pl-3 pr-4" *matHeaderCellDef> <th mat-header-cell *matHeaderCellDef class="pl-2">
<div class="bordered-box table-actions-select" fxLayoutAlign="center center">Actions</div> <div class="bordered-box table-actions-select" fxLayoutAlign="center center">Actions</div>
</mat-header-cell> </th>
<mat-cell fxLayoutAlign="end center" *matCellDef="let channel" class="px-3"> <td mat-cell fxLayoutAlign="end center" *matCellDef="let channel" class="pl-2">
<div class="bordered-box table-actions-select" fxLayoutAlign="center center"> <div class="bordered-box table-actions-select" fxLayoutAlign="center center">
<mat-select placeholder="Actions" tabindex="1" class="mr-0"> <mat-select placeholder="Actions" tabindex="1" class="mr-0">
<mat-select-trigger></mat-select-trigger> <mat-select-trigger></mat-select-trigger>
@ -69,7 +81,7 @@
<mat-option (click)="onBumpFee(channel)">Bump Fee</mat-option> <mat-option (click)="onBumpFee(channel)">Bump Fee</mat-option>
</mat-select> </mat-select>
</div> </div>
</mat-cell> </td>
</ng-container> </ng-container>
<ng-container matColumnDef="no_pending_open"> <ng-container matColumnDef="no_pending_open">
<td mat-footer-cell *matFooterCellDef colspan="4"> <td mat-footer-cell *matFooterCellDef colspan="4">
@ -79,8 +91,8 @@
</td> </td>
</ng-container> </ng-container>
<tr mat-footer-row fxLayoutAlign="start center" *matFooterRowDef="['no_pending_open']" [ngClass]="{'display-none': pendingOpenChannels && pendingOpenChannels?.data && pendingOpenChannels?.data?.length>0}"></tr> <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> <tr mat-header-row *matHeaderRowDef="displayedOpenColumns"></tr>
<mat-row fxLayoutAlign="stretch stretch" *matRowDef="let row; columns: displayedOpenColumns;"></mat-row> <tr mat-row *matRowDef="let row; columns: displayedOpenColumns;"></tr>
</table> </table>
</div> </div>
</mat-expansion-panel> </mat-expansion-panel>
@ -92,64 +104,80 @@
<div [perfectScrollbar] fxLayout="column" fxLayoutAlign="start center" fxFlex="100" class="table-container"> <div [perfectScrollbar] fxLayout="column" fxLayoutAlign="start center" fxFlex="100" class="table-container">
<table mat-table #table [dataSource]="pendingForceClosingChannels" matSort [ngClass]="{'error-border bordered-box': errorMessage !== '','bordered-box': true}"> <table mat-table #table [dataSource]="pendingForceClosingChannels" matSort [ngClass]="{'error-border bordered-box': errorMessage !== '','bordered-box': true}">
<ng-container matColumnDef="closing_txid"> <ng-container matColumnDef="closing_txid">
<mat-header-cell *matHeaderCellDef mat-sort-header> Closing Tx Id </mat-header-cell> <th mat-header-cell *matHeaderCellDef mat-sort-header> Closing Tx Id </th>
<mat-cell *matCellDef="let channel" [ngStyle]="{'max-width': (screenSize === screenSizeEnum.XS) ? '10rem' : '20rem'}">{{channel.closing_txid}}</mat-cell> <td mat-cell *matCellDef="let channel">
<div class="ellipsis-parent" [ngStyle]="{'max-width': (screenSize === screenSizeEnum.XS) ? '10rem' : '20rem'}">
<span class="ellipsis-child">{{channel.closing_txid}}</span>
</div>
</td>
</ng-container> </ng-container>
<ng-container matColumnDef="remote_alias"> <ng-container matColumnDef="remote_alias">
<mat-header-cell *matHeaderCellDef mat-sort-header> Peer </mat-header-cell> <th mat-header-cell *matHeaderCellDef mat-sort-header> Peer </th>
<mat-cell *matCellDef="let channel" [ngStyle]="{'max-width': (screenSize === screenSizeEnum.XS) ? '10rem' : '20rem'}">{{channel.channel.remote_alias}}</mat-cell> <td mat-cell *matCellDef="let channel">
<div class="ellipsis-parent" [ngStyle]="{'max-width': (screenSize === screenSizeEnum.XS) ? '10rem' : '20rem'}">
<span class="ellipsis-child">{{channel.channel.remote_alias}}</span>
</div>
</td>
</ng-container> </ng-container>
<ng-container matColumnDef="remote_node_pub"> <ng-container matColumnDef="remote_node_pub">
<mat-header-cell *matHeaderCellDef mat-sort-header> Pubkey </mat-header-cell> <th mat-header-cell *matHeaderCellDef mat-sort-header> Pubkey </th>
<mat-cell *matCellDef="let channel" [ngStyle]="{'max-width': (screenSize === screenSizeEnum.XS) ? '10rem' : '20rem'}">{{channel.channel.remote_node_pub}}</mat-cell> <td mat-cell *matCellDef="let channel">
<div class="ellipsis-parent" [ngStyle]="{'max-width': (screenSize === screenSizeEnum.XS) ? '10rem' : '20rem'}">
<span class="ellipsis-child">{{channel.channel.remote_node_pub}}</span>
</div>
</td>
</ng-container> </ng-container>
<ng-container matColumnDef="channel_point"> <ng-container matColumnDef="channel_point">
<mat-header-cell *matHeaderCellDef mat-sort-header> Channel </mat-header-cell> <th mat-header-cell *matHeaderCellDef mat-sort-header> Channel </th>
<mat-cell *matCellDef="let channel" [ngStyle]="{'max-width': (screenSize === screenSizeEnum.XS) ? '10rem' : '20rem'}">{{channel.channel.channel_point}}</mat-cell> <td mat-cell *matCellDef="let channel">
<div class="ellipsis-parent" [ngStyle]="{'max-width': (screenSize === screenSizeEnum.XS) ? '10rem' : '20rem'}">
<span class="ellipsis-child">{{channel.channel.channel_point}}</span>
</div>
</td>
</ng-container> </ng-container>
<ng-container matColumnDef="initiator"> <ng-container matColumnDef="initiator">
<mat-header-cell *matHeaderCellDef mat-sort-header> Initiator </mat-header-cell> <th mat-header-cell *matHeaderCellDef mat-sort-header> Initiator </th>
<mat-cell *matCellDef="let channel">{{channel.channel.initiator}}</mat-cell> <td mat-cell *matCellDef="let channel">{{channel.channel.initiator | camelcaseWithReplace:'initiator_'}}</td>
</ng-container> </ng-container>
<ng-container matColumnDef="commitment_type"> <ng-container matColumnDef="commitment_type">
<mat-header-cell *matHeaderCellDef mat-sort-header> Commitment Type </mat-header-cell> <th mat-header-cell *matHeaderCellDef mat-sort-header> Commitment Type </th>
<mat-cell *matCellDef="let channel" [ngStyle]="{'max-width': (screenSize === screenSizeEnum.XS) ? '10rem' : '20rem'}">{{channel.channel.commitment_type}}</mat-cell> <td mat-cell *matCellDef="let channel">{{channel.channel.commitment_type | camelcaseWithReplace:'commitment_type':'_'}}</td>
</ng-container> </ng-container>
<ng-container matColumnDef="limbo_balance"> <ng-container matColumnDef="limbo_balance">
<mat-header-cell fxLayoutAlign="end center" *matHeaderCellDef mat-sort-header arrowPosition="before">Limbo Balance (Sats) </mat-header-cell> <th mat-header-cell *matHeaderCellDef mat-sort-header arrowPosition="before">Limbo Balance (Sats) </th>
<mat-cell fxLayoutAlign="end center" *matCellDef="let channel">{{channel.limbo_balance | number}}</mat-cell> <td mat-cell *matCellDef="let channel" class="pl-1"><span fxLayoutAlign="end center">{{channel.limbo_balance | number}}</span></td>
</ng-container> </ng-container>
<ng-container matColumnDef="maturity_height"> <ng-container matColumnDef="maturity_height">
<mat-header-cell fxLayoutAlign="end center" *matHeaderCellDef mat-sort-header arrowPosition="before">Maturity Height</mat-header-cell> <th mat-header-cell *matHeaderCellDef mat-sort-header arrowPosition="before">Maturity Height</th>
<mat-cell fxLayoutAlign="end center" *matCellDef="let channel">{{channel.maturity_height | number}}</mat-cell> <td mat-cell *matCellDef="let channel" class="pl-1"><span fxLayoutAlign="end center">{{channel.maturity_height | number}}</span></td>
</ng-container> </ng-container>
<ng-container matColumnDef="blocks_til_maturity"> <ng-container matColumnDef="blocks_til_maturity">
<mat-header-cell fxLayoutAlign="end center" *matHeaderCellDef mat-sort-header arrowPosition="before">Blocks till Maturity</mat-header-cell> <th mat-header-cell *matHeaderCellDef mat-sort-header arrowPosition="before">Blocks till Maturity</th>
<mat-cell fxLayoutAlign="end center" *matCellDef="let channel">{{channel.blocks_til_maturity | number}}</mat-cell> <td mat-cell *matCellDef="let channel" class="pl-1"><span fxLayoutAlign="end center">{{channel.blocks_til_maturity | number}}</span></td>
</ng-container> </ng-container>
<ng-container matColumnDef="recovered_balance"> <ng-container matColumnDef="recovered_balance">
<mat-header-cell fxLayoutAlign="end center" *matHeaderCellDef mat-sort-header arrowPosition="before">Recovered Balance (Sats) </mat-header-cell> <th mat-header-cell *matHeaderCellDef mat-sort-header arrowPosition="before">Recovered Balance (Sats) </th>
<mat-cell fxLayoutAlign="end center" *matCellDef="let channel">{{channel.recovered_balance | number}}</mat-cell> <td mat-cell *matCellDef="let channel" class="pl-1"><span fxLayoutAlign="end center">{{channel.recovered_balance | number}}</span></td>
</ng-container> </ng-container>
<ng-container matColumnDef="capacity"> <ng-container matColumnDef="capacity">
<mat-header-cell fxLayoutAlign="end center" *matHeaderCellDef mat-sort-header arrowPosition="before">Capacity (Sats) </mat-header-cell> <th mat-header-cell *matHeaderCellDef mat-sort-header arrowPosition="before">Capacity (Sats) </th>
<mat-cell fxLayoutAlign="end center" *matCellDef="let channel">{{channel.channel.capacity | number}}</mat-cell> <td mat-cell *matCellDef="let channel" class="pl-1"><span fxLayoutAlign="end center">{{channel.channel.capacity | number}}</span></td>
</ng-container> </ng-container>
<ng-container matColumnDef="local_balance"> <ng-container matColumnDef="local_balance">
<mat-header-cell fxLayoutAlign="end center" *matHeaderCellDef mat-sort-header arrowPosition="before">Local Balance (Sats)</mat-header-cell> <th mat-header-cell *matHeaderCellDef mat-sort-header arrowPosition="before">Local Balance (Sats)</th>
<mat-cell fxLayoutAlign="end center" *matCellDef="let channel">{{channel.channel.local_balance | number}}</mat-cell> <td mat-cell *matCellDef="let channel" class="pl-1"><span fxLayoutAlign="end center">{{channel.channel.local_balance | number}}</span></td>
</ng-container> </ng-container>
<ng-container matColumnDef="remote_balance"> <ng-container matColumnDef="remote_balance">
<mat-header-cell fxLayoutAlign="end center" *matHeaderCellDef mat-sort-header arrowPosition="before">Remote Balance (Sats)</mat-header-cell> <th mat-header-cell *matHeaderCellDef mat-sort-header arrowPosition="before">Remote Balance (Sats)</th>
<mat-cell fxLayoutAlign="end center" *matCellDef="let channel">{{channel.channel.remote_balance | number}}</mat-cell> <td mat-cell *matCellDef="let channel" class="pl-1"><span fxLayoutAlign="end center">{{channel.channel.remote_balance | number}}</span></td>
</ng-container> </ng-container>
<ng-container matColumnDef="actions"> <ng-container matColumnDef="actions">
<mat-header-cell fxLayoutAlign="end center" class="pl-4 pr-3" *matHeaderCellDef> <th mat-header-cell *matHeaderCellDef class="pl-2">
<div class="bordered-box table-actions-select" fxLayoutAlign="center center">Actions</div> <div class="bordered-box table-actions-select" fxLayoutAlign="center center">Actions</div>
</mat-header-cell> </th>
<mat-cell fxLayoutAlign="end center" *matCellDef="let channel" class="pl-4"> <td mat-cell fxLayoutAlign="end center" *matCellDef="let channel" class="pl-2">
<button mat-stroked-button color="primary" type="button" tabindex="2" (click)="onForceClosingClick(channel)" class="table-actions-button">View Info</button> <button mat-stroked-button color="primary" type="button" tabindex="2" (click)="onForceClosingClick(channel)" class="table-actions-button">View Info</button>
</mat-cell> </td>
</ng-container> </ng-container>
<ng-container matColumnDef="no_pending_force_closing"> <ng-container matColumnDef="no_pending_force_closing">
<td mat-footer-cell *matFooterCellDef colspan="4"> <td mat-footer-cell *matFooterCellDef colspan="4">
@ -159,8 +187,8 @@
</td> </td>
</ng-container> </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> <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> <tr mat-header-row *matHeaderRowDef="displayedForceClosingColumns"></tr>
<mat-row fxLayoutAlign="stretch stretch" *matRowDef="let row; columns: displayedForceClosingColumns;"></mat-row> <tr mat-row *matRowDef="let row; columns: displayedForceClosingColumns;"></tr>
</table> </table>
</div> </div>
</mat-expansion-panel> </mat-expansion-panel>
@ -172,48 +200,64 @@
<div [perfectScrollbar] fxLayout="column" fxLayoutAlign="start center" fxFlex="100" class="table-container"> <div [perfectScrollbar] fxLayout="column" fxLayoutAlign="start center" fxFlex="100" class="table-container">
<table mat-table #table [dataSource]="pendingClosingChannels" matSort [ngClass]="{'error-border bordered-box': errorMessage !== '','bordered-box': true}"> <table mat-table #table [dataSource]="pendingClosingChannels" matSort [ngClass]="{'error-border bordered-box': errorMessage !== '','bordered-box': true}">
<ng-container matColumnDef="closing_txid"> <ng-container matColumnDef="closing_txid">
<mat-header-cell *matHeaderCellDef mat-sort-header> Closing Tx Id </mat-header-cell> <th mat-header-cell *matHeaderCellDef mat-sort-header> Closing Tx Id </th>
<mat-cell *matCellDef="let channel" [ngStyle]="{'max-width': (screenSize === screenSizeEnum.XS) ? '10rem' : '20rem'}">{{channel.closing_txid}}</mat-cell> <td mat-cell *matCellDef="let channel">
<div class="ellipsis-parent" [ngStyle]="{'max-width': (screenSize === screenSizeEnum.XS) ? '10rem' : '20rem'}">
<span class="ellipsis-child">{{channel.closing_txid}}</span>
</div>
</td>
</ng-container> </ng-container>
<ng-container matColumnDef="remote_alias"> <ng-container matColumnDef="remote_alias">
<mat-header-cell *matHeaderCellDef mat-sort-header> Peer </mat-header-cell> <th mat-header-cell *matHeaderCellDef mat-sort-header> Peer </th>
<mat-cell *matCellDef="let channel" [ngStyle]="{'max-width': (screenSize === screenSizeEnum.XS) ? '10rem' : '20rem'}">{{channel.channel.remote_alias}}</mat-cell> <td mat-cell *matCellDef="let channel">
<div class="ellipsis-parent" [ngStyle]="{'max-width': (screenSize === screenSizeEnum.XS) ? '10rem' : '20rem'}">
<span class="ellipsis-child">{{channel.channel.remote_alias}}</span>
</div>
</td>
</ng-container> </ng-container>
<ng-container matColumnDef="remote_node_pub"> <ng-container matColumnDef="remote_node_pub">
<mat-header-cell *matHeaderCellDef mat-sort-header> Pubkey </mat-header-cell> <th mat-header-cell *matHeaderCellDef mat-sort-header> Pubkey </th>
<mat-cell *matCellDef="let channel" [ngStyle]="{'max-width': (screenSize === screenSizeEnum.XS) ? '10rem' : '20rem'}">{{channel.channel.remote_node_pub}}</mat-cell> <td mat-cell *matCellDef="let channel">
<div class="ellipsis-parent" [ngStyle]="{'max-width': (screenSize === screenSizeEnum.XS) ? '10rem' : '20rem'}">
<span class="ellipsis-child">{{channel.channel.remote_node_pub}}</span>
</div>
</td>
</ng-container> </ng-container>
<ng-container matColumnDef="channel_point"> <ng-container matColumnDef="channel_point">
<mat-header-cell *matHeaderCellDef mat-sort-header> Channel </mat-header-cell> <th mat-header-cell *matHeaderCellDef mat-sort-header> Channel </th>
<mat-cell *matCellDef="let channel" [ngStyle]="{'max-width': (screenSize === screenSizeEnum.XS) ? '10rem' : '20rem'}">{{channel.channel.channel_point}}</mat-cell> <td mat-cell *matCellDef="let channel">
<div class="ellipsis-parent" [ngStyle]="{'max-width': (screenSize === screenSizeEnum.XS) ? '10rem' : '20rem'}">
<span class="ellipsis-child">{{channel.channel.channel_point}}</span>
</div>
</td>
</ng-container> </ng-container>
<ng-container matColumnDef="initiator"> <ng-container matColumnDef="initiator">
<mat-header-cell *matHeaderCellDef mat-sort-header> Initiator </mat-header-cell> <th mat-header-cell *matHeaderCellDef mat-sort-header> Initiator </th>
<mat-cell *matCellDef="let channel">{{channel.channel.initiator}}</mat-cell> <td mat-cell *matCellDef="let channel">{{channel.channel.initiator | camelcaseWithReplace:'initiator_'}}</td>
</ng-container> </ng-container>
<ng-container matColumnDef="commitment_type"> <ng-container matColumnDef="commitment_type">
<mat-header-cell *matHeaderCellDef mat-sort-header> Commitment Type </mat-header-cell> <th mat-header-cell *matHeaderCellDef mat-sort-header> Commitment Type </th>
<mat-cell *matCellDef="let channel" [ngStyle]="{'max-width': (screenSize === screenSizeEnum.XS) ? '10rem' : '20rem'}">{{channel.channel.commitment_type}}</mat-cell> <td mat-cell *matCellDef="let channel">{{channel.channel.commitment_type | camelcaseWithReplace:'commitment_type':'_'}}</td>
</ng-container> </ng-container>
<ng-container matColumnDef="capacity"> <ng-container matColumnDef="capacity">
<mat-header-cell fxLayoutAlign="end center" *matHeaderCellDef mat-sort-header arrowPosition="before">Capacity (Sats) </mat-header-cell> <th mat-header-cell *matHeaderCellDef mat-sort-header arrowPosition="before">Capacity (Sats) </th>
<mat-cell fxLayoutAlign="end center" *matCellDef="let channel">{{channel.channel.capacity | number}}</mat-cell> <td mat-cell *matCellDef="let channel" class="pl-1"><span fxLayoutAlign="end center">{{channel.channel.capacity | number}}</span></td>
</ng-container> </ng-container>
<ng-container matColumnDef="local_balance"> <ng-container matColumnDef="local_balance">
<mat-header-cell fxLayoutAlign="end center" *matHeaderCellDef mat-sort-header arrowPosition="before">Local Balance (Sats)</mat-header-cell> <th mat-header-cell *matHeaderCellDef mat-sort-header arrowPosition="before">Local Balance (Sats)</th>
<mat-cell fxLayoutAlign="end center" *matCellDef="let channel">{{channel.channel.local_balance | number}}</mat-cell> <td mat-cell *matCellDef="let channel" class="pl-1"><span fxLayoutAlign="end center">{{channel.channel.local_balance | number}}</span></td>
</ng-container> </ng-container>
<ng-container matColumnDef="remote_balance"> <ng-container matColumnDef="remote_balance">
<mat-header-cell fxLayoutAlign="end center" *matHeaderCellDef mat-sort-header arrowPosition="before">Remote Balance (Sats)</mat-header-cell> <th mat-header-cell *matHeaderCellDef mat-sort-header arrowPosition="before">Remote Balance (Sats)</th>
<mat-cell fxLayoutAlign="end center" *matCellDef="let channel">{{channel.channel.remote_balance | number}}</mat-cell> <td mat-cell *matCellDef="let channel" class="pl-1"><span fxLayoutAlign="end center">{{channel.channel.remote_balance | number}}</span></td>
</ng-container> </ng-container>
<ng-container matColumnDef="actions"> <ng-container matColumnDef="actions">
<mat-header-cell fxLayoutAlign="end center" class="pl-4 pr-3" *matHeaderCellDef> <th mat-header-cell *matHeaderCellDef class="pl-2">
<div class="bordered-box table-actions-select" fxLayoutAlign="center center">Actions</div> <div class="bordered-box table-actions-select" fxLayoutAlign="center center">Actions</div>
</mat-header-cell> </th>
<mat-cell fxLayoutAlign="end center" *matCellDef="let channel" class="pl-4"> <td mat-cell fxLayoutAlign="end center" *matCellDef="let channel" class="pl-2">
<button mat-stroked-button color="primary" type="button" tabindex="3" (click)="onClosingClick(channel)" class="table-actions-button">View Info</button> <button mat-stroked-button color="primary" type="button" tabindex="3" (click)="onClosingClick(channel)" class="table-actions-button">View Info</button>
</mat-cell> </td>
</ng-container> </ng-container>
<ng-container matColumnDef="no_pending_closing"> <ng-container matColumnDef="no_pending_closing">
<td mat-footer-cell *matFooterCellDef colspan="4"> <td mat-footer-cell *matFooterCellDef colspan="4">
@ -223,8 +267,8 @@
</td> </td>
</ng-container> </ng-container>
<tr mat-footer-row fxLayoutAlign="start center" *matFooterRowDef="['no_pending_closing']" [ngClass]="{'display-none': pendingClosingChannels && pendingClosingChannels?.data && pendingClosingChannels?.data?.length>0}"></tr> <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> <tr mat-header-row *matHeaderRowDef="displayedClosingColumns"></tr>
<mat-row fxLayoutAlign="stretch stretch" *matRowDef="let row; columns: displayedClosingColumns;"></mat-row> <tr mat-row *matRowDef="let row; columns: displayedClosingColumns;"></tr>
</table> </table>
</div> </div>
</mat-expansion-panel> </mat-expansion-panel>
@ -236,48 +280,60 @@
<div [perfectScrollbar] fxLayout="column" fxLayoutAlign="start center" fxFlex="100" class="table-container"> <div [perfectScrollbar] fxLayout="column" fxLayoutAlign="start center" fxFlex="100" class="table-container">
<table mat-table #table [dataSource]="pendingWaitClosingChannels" matSort [ngClass]="{'error-border bordered-box': errorMessage !== '','bordered-box': true}"> <table mat-table #table [dataSource]="pendingWaitClosingChannels" matSort [ngClass]="{'error-border bordered-box': errorMessage !== '','bordered-box': true}">
<ng-container matColumnDef="remote_alias"> <ng-container matColumnDef="remote_alias">
<mat-header-cell *matHeaderCellDef mat-sort-header> Peer </mat-header-cell> <th mat-header-cell *matHeaderCellDef mat-sort-header> Peer </th>
<mat-cell *matCellDef="let channel" [ngStyle]="{'max-width': (screenSize === screenSizeEnum.XS) ? '10rem' : '20rem'}">{{channel.channel.remote_alias}}</mat-cell> <td mat-cell *matCellDef="let channel">
<div class="ellipsis-parent" [ngStyle]="{'max-width': (screenSize === screenSizeEnum.XS) ? '10rem' : '20rem'}">
<span class="ellipsis-child">{{channel.channel.remote_alias}}</span>
</div>
</td>
</ng-container> </ng-container>
<ng-container matColumnDef="remote_node_pub"> <ng-container matColumnDef="remote_node_pub">
<mat-header-cell *matHeaderCellDef mat-sort-header> Pubkey </mat-header-cell> <th mat-header-cell *matHeaderCellDef mat-sort-header> Pubkey </th>
<mat-cell *matCellDef="let channel" [ngStyle]="{'max-width': (screenSize === screenSizeEnum.XS) ? '10rem' : '20rem'}">{{channel.channel.remote_node_pub}}</mat-cell> <td mat-cell *matCellDef="let channel">
<div class="ellipsis-parent" [ngStyle]="{'max-width': (screenSize === screenSizeEnum.XS) ? '10rem' : '20rem'}">
<span class="ellipsis-child">{{channel.channel.remote_node_pub}}</span>
</div>
</td>
</ng-container> </ng-container>
<ng-container matColumnDef="channel_point"> <ng-container matColumnDef="channel_point">
<mat-header-cell *matHeaderCellDef mat-sort-header> Channel </mat-header-cell> <th mat-header-cell *matHeaderCellDef mat-sort-header> Channel </th>
<mat-cell *matCellDef="let channel" [ngStyle]="{'max-width': (screenSize === screenSizeEnum.XS) ? '10rem' : '20rem'}">{{channel.channel.channel_point}}</mat-cell> <td mat-cell *matCellDef="let channel">
<div class="ellipsis-parent" [ngStyle]="{'max-width': (screenSize === screenSizeEnum.XS) ? '10rem' : '20rem'}">
<span class="ellipsis-child">{{channel.channel.channel_point}}</span>
</div>
</td>
</ng-container> </ng-container>
<ng-container matColumnDef="initiator"> <ng-container matColumnDef="initiator">
<mat-header-cell *matHeaderCellDef mat-sort-header> Initiator </mat-header-cell> <th mat-header-cell *matHeaderCellDef mat-sort-header> Initiator </th>
<mat-cell *matCellDef="let channel">{{channel.channel.initiator}}</mat-cell> <td mat-cell *matCellDef="let channel">{{channel.channel.initiator | camelcaseWithReplace:'initiator_'}}</td>
</ng-container> </ng-container>
<ng-container matColumnDef="commitment_type"> <ng-container matColumnDef="commitment_type">
<mat-header-cell *matHeaderCellDef mat-sort-header> Commitment Type </mat-header-cell> <th mat-header-cell *matHeaderCellDef mat-sort-header> Commitment Type </th>
<mat-cell *matCellDef="let channel" [ngStyle]="{'max-width': (screenSize === screenSizeEnum.XS) ? '10rem' : '20rem'}">{{channel.channel.commitment_type}}</mat-cell> <td mat-cell *matCellDef="let channel">{{channel.channel.commitment_type | camelcaseWithReplace:'commitment_type':'_'}}</td>
</ng-container> </ng-container>
<ng-container matColumnDef="limbo_balance"> <ng-container matColumnDef="limbo_balance">
<mat-header-cell fxLayoutAlign="end center" *matHeaderCellDef mat-sort-header arrowPosition="before">Limbo Balance (Sats) </mat-header-cell> <th mat-header-cell *matHeaderCellDef mat-sort-header arrowPosition="before">Limbo Balance (Sats) </th>
<mat-cell fxLayoutAlign="end center" *matCellDef="let channel">{{channel.limbo_balance | number}}</mat-cell> <td mat-cell *matCellDef="let channel" class="pl-1"><span fxLayoutAlign="end center">{{channel.limbo_balance | number}}</span></td>
</ng-container> </ng-container>
<ng-container matColumnDef="capacity"> <ng-container matColumnDef="capacity">
<mat-header-cell fxLayoutAlign="end center" *matHeaderCellDef mat-sort-header arrowPosition="before">Capacity (Sats) </mat-header-cell> <th mat-header-cell *matHeaderCellDef mat-sort-header arrowPosition="before">Capacity (Sats) </th>
<mat-cell fxLayoutAlign="end center" *matCellDef="let channel">{{channel.channel.capacity | number}}</mat-cell> <td mat-cell *matCellDef="let channel" class="pl-1"><span fxLayoutAlign="end center">{{channel.channel.capacity | number}}</span></td>
</ng-container> </ng-container>
<ng-container matColumnDef="local_balance"> <ng-container matColumnDef="local_balance">
<mat-header-cell fxLayoutAlign="end center" *matHeaderCellDef mat-sort-header arrowPosition="before">Local Balance (Sats)</mat-header-cell> <th mat-header-cell *matHeaderCellDef mat-sort-header arrowPosition="before">Local Balance (Sats)</th>
<mat-cell fxLayoutAlign="end center" *matCellDef="let channel">{{channel.channel.local_balance | number}}</mat-cell> <td mat-cell *matCellDef="let channel" class="pl-1"><span fxLayoutAlign="end center">{{channel.channel.local_balance | number}}</span></td>
</ng-container> </ng-container>
<ng-container matColumnDef="remote_balance"> <ng-container matColumnDef="remote_balance">
<mat-header-cell fxLayoutAlign="end center" *matHeaderCellDef mat-sort-header arrowPosition="before">Remote Balance (Sats)</mat-header-cell> <th mat-header-cell *matHeaderCellDef mat-sort-header arrowPosition="before">Remote Balance (Sats)</th>
<mat-cell fxLayoutAlign="end center" *matCellDef="let channel">{{channel.channel.remote_balance | number}}</mat-cell> <td mat-cell *matCellDef="let channel" class="pl-1"><span fxLayoutAlign="end center">{{channel.channel.remote_balance | number}}</span></td>
</ng-container> </ng-container>
<ng-container matColumnDef="actions"> <ng-container matColumnDef="actions">
<mat-header-cell fxLayoutAlign="end center" class="pl-4 pr-3" *matHeaderCellDef> <th mat-header-cell fxLayoutAlign="end center" class="pl-2" *matHeaderCellDef>
<div class="bordered-box table-actions-select" fxLayoutAlign="center center">Actions</div> <div class="bordered-box table-actions-select" fxLayoutAlign="center center">Actions</div>
</mat-header-cell> </th>
<mat-cell fxLayoutAlign="end center" *matCellDef="let channel" class="pl-4"> <td mat-cell fxLayoutAlign="end center" *matCellDef="let channel" class="pl-2">
<button mat-stroked-button color="primary" type="button" tabindex="4" (click)="onWaitClosingClick(channel)" class="table-actions-button">View Info</button> <button mat-stroked-button color="primary" type="button" tabindex="4" (click)="onWaitClosingClick(channel)" class="table-actions-button">View Info</button>
</mat-cell> </td>
</ng-container> </ng-container>
<ng-container matColumnDef="no_pending_wait_closing"> <ng-container matColumnDef="no_pending_wait_closing">
<td mat-footer-cell *matFooterCellDef colspan="4"> <td mat-footer-cell *matFooterCellDef colspan="4">
@ -287,8 +343,8 @@
</td> </td>
</ng-container> </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> <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> <tr mat-header-row *matHeaderRowDef="displayedWaitClosingColumns"></tr>
<mat-row fxLayoutAlign="stretch stretch" *matRowDef="let row; columns: displayedWaitClosingColumns;"></mat-row> <tr mat-row *matRowDef="let row; columns: displayedWaitClosingColumns;"></tr>
</table> </table>
</div> </div>
</mat-expansion-panel> </mat-expansion-panel>

View File

@ -1,9 +1,9 @@
.mat-column-channel_point, .mat-column-remote_alias, .mat-column-remote_node_pub, .mat-column-channel_point, .mat-column-remote_alias, .mat-column-remote_node_pub, .mat-column-closing_txid {
.mat-column-commitment_type, .mat-column-closing_txid { flex: 0 0 15%;
flex: 1 1 10%; width: 15%;
white-space: nowrap; & .ellipsis-parent {
overflow: hidden; display: flex;
text-overflow: ellipsis; }
} }
tr.mat-footer-row td.mat-footer-cell { tr.mat-footer-row td.mat-footer-cell {

View File

@ -5,7 +5,7 @@ import { Store } from '@ngrx/store';
import { MatSort } from '@angular/material/sort'; import { MatSort } from '@angular/material/sort';
import { MatTableDataSource } from '@angular/material/table'; import { MatTableDataSource } from '@angular/material/table';
import { Channel, GetInfo, PendingChannels, PendingOpenChannel } from '../../../../../shared/models/lndModels'; import { Channel, GetInfo, PendingChannels, PendingClosingChannel, PendingForceClosingChannel, PendingOpenChannel, WaitingCloseChannel } from '../../../../../shared/models/lndModels';
import { AlertTypeEnum, APICallStatusEnum, DataTypeEnum, LND_DEFAULT_PAGE_SETTINGS, PAGE_SIZE, ScreenSizeEnum, SortOrderEnum } from '../../../../../shared/services/consts-enums-functions'; import { AlertTypeEnum, APICallStatusEnum, DataTypeEnum, LND_DEFAULT_PAGE_SETTINGS, PAGE_SIZE, ScreenSizeEnum, SortOrderEnum } from '../../../../../shared/services/consts-enums-functions';
import { ApiCallStatusPayload } from '../../../../../shared/models/apiCallsPayload'; import { ApiCallStatusPayload } from '../../../../../shared/models/apiCallsPayload';
import { SelNodeChild } from '../../../../../shared/models/RTLconfig'; import { SelNodeChild } from '../../../../../shared/models/RTLconfig';
@ -37,16 +37,16 @@ export class ChannelPendingTableComponent implements OnInit, AfterViewInit, OnDe
public pendingChannels: PendingChannels = {}; public pendingChannels: PendingChannels = {};
public displayedOpenColumns: any[] = []; public displayedOpenColumns: any[] = [];
public pendingOpenChannelsLength = 0; public pendingOpenChannelsLength = 0;
public pendingOpenChannels: any; public pendingOpenChannels: any = new MatTableDataSource<PendingOpenChannel>([]);
public displayedForceClosingColumns: any[] = []; public displayedForceClosingColumns: any[] = [];
public pendingForceClosingChannelsLength = 0; public pendingForceClosingChannelsLength = 0;
public pendingForceClosingChannels: any; public pendingForceClosingChannels: any = new MatTableDataSource<PendingForceClosingChannel>([]);
public displayedClosingColumns: any[] = []; public displayedClosingColumns: any[] = [];
public pendingClosingChannelsLength = 0; public pendingClosingChannelsLength = 0;
public pendingClosingChannels: any; public pendingClosingChannels: any = new MatTableDataSource<PendingClosingChannel>([]);
public displayedWaitClosingColumns: any[] = []; public displayedWaitClosingColumns: any[] = [];
public pendingWaitClosingChannelsLength = 0; public pendingWaitClosingChannelsLength = 0;
public pendingWaitClosingChannels: any; public pendingWaitClosingChannels: any = new MatTableDataSource<WaitingCloseChannel>([]);
public screenSize = ''; public screenSize = '';
public screenSizeEnum = ScreenSizeEnum; public screenSizeEnum = ScreenSizeEnum;
public errorMessage = ''; public errorMessage = '';

View File

@ -1,11 +1,11 @@
<div [perfectScrollbar] fxLayout="column" fxFlex="100"> <div [perfectScrollbar] fxLayout="column" fxFlex="100" id="head">
<form fxLayout="column" fxLayoutAlign="start stretch" class="settings-container page-sub-title-container mt-1" #form="ngForm"> <form fxLayout="column" fxLayoutAlign="start stretch" class="settings-container page-sub-title-container mt-1" #form="ngForm">
<div fxLayout="row"> <div fxLayout="row">
<fa-icon [icon]="faPenRuler" class="page-title-img mr-1"></fa-icon> <fa-icon [icon]="faPenRuler" class="page-title-img mr-1"></fa-icon>
<span class="page-title">Grid Settings</span> <span class="page-title">Grid Settings</span>
</div> </div>
<ng-container *ngIf="errorMessage && errorMessage.page === 'unknown'" [ngTemplateOutlet]="errorObjectBlock" [ngTemplateOutletContext]="{error: errorMessage}"></ng-container> <ng-container *ngIf="errorMessage && errorMessage.page === 'unknown'" [ngTemplateOutlet]="errorObjectBlock" [ngTemplateOutletContext]="{error: errorMessage}"></ng-container>
<mat-expansion-panel fxLayout="column" class="flat-expansion-panel mt-1" [ngClass]="{'error-border': errorMessage?.page === page.pageId}" expanded="false" *ngFor="let page of pageSettings"> <mat-expansion-panel fxLayout="column" class="flat-expansion-panel mt-1" [ngClass]="{'error-border': errorMessage?.page === page.pageId}" expanded="true" *ngFor="let page of pageSettings">
<mat-expansion-panel-header> <mat-expansion-panel-header>
<mat-panel-title>{{page.pageId | camelcaseWithReplace:'_'}}</mat-panel-title> <mat-panel-title>{{page.pageId | camelcaseWithReplace:'_'}}</mat-panel-title>
</mat-expansion-panel-header> </mat-expansion-panel-header>

View File

@ -1,5 +1,5 @@
import { Component, OnInit, OnDestroy } from '@angular/core'; import { Component, OnInit, OnDestroy } from '@angular/core';
import { combineLatest, Subject } from 'rxjs'; import { Subject } from 'rxjs';
import { filter, takeUntil, withLatestFrom } from 'rxjs/operators'; import { filter, takeUntil, withLatestFrom } from 'rxjs/operators';
import { Store } from '@ngrx/store'; import { Store } from '@ngrx/store';
import { Actions } from '@ngrx/effects'; import { Actions } from '@ngrx/effects';

View File

@ -131,6 +131,7 @@ export interface WaitingCloseChannel {
channel?: PendingChannel; channel?: PendingChannel;
limbo_balance?: string; limbo_balance?: string;
commitments?: any; commitments?: any;
closing_txid?: string;
} }
export interface PendingChannels { export interface PendingChannels {

View File

@ -964,7 +964,7 @@ export const LND_TABLES_DEF = {
}, },
pending_waiting_close: { pending_waiting_close: {
maxColumns: 7, maxColumns: 7,
allowedColumns: ['remote_alias', 'remote_node_pub', 'channel_point', 'initiator', 'commitment_type', 'limbo_balance', 'capacity', 'local_balance', 'remote_balance'] allowedColumns: ['closing_txid', 'remote_alias', 'remote_node_pub', 'channel_point', 'initiator', 'commitment_type', 'limbo_balance', 'capacity', 'local_balance', 'remote_balance']
}, },
closed: { closed: {
maxColumns: 7, maxColumns: 7,

View File

@ -277,8 +277,9 @@
.table-actions-select { .table-actions-select {
padding: 0.5rem 1rem; padding: 0.5rem 1rem;
margin: 0.7rem 0; margin: 0.9rem 0;
min-width: 10rem; min-width: 10rem;
min-height: 3.6rem;
width: 10rem; width: 10rem;
float: right; float: right;
& .mat-select-placeholder { & .mat-select-placeholder {