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.
360 lines
26 KiB
HTML
360 lines
26 KiB
HTML
<div fxLayout="column" class="mb-2">
|
|
<span class="page-title">Total Limbo Balance: {{pendingChannels.total_limbo_balance | number}} Sats</span>
|
|
<mat-accordion displayMode="flat" class="mt-1">
|
|
<mat-progress-bar *ngIf="apiCallStatus.status === apiCallStatusEnum.INITIATED" mode="indeterminate"></mat-progress-bar>
|
|
<mat-expansion-panel fxLayout="column" class="flat-expansion-panel">
|
|
<mat-expansion-panel-header>
|
|
<mat-panel-title>Pending Open ({{pendingOpenChannelsLength}})</mat-panel-title>
|
|
</mat-expansion-panel-header>
|
|
<div [perfectScrollbar] fxLayout="column" fxFlex="100" class="table-container">
|
|
<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}">
|
|
<ng-container matColumnDef="remote_alias">
|
|
<th mat-header-cell *matHeaderCellDef mat-sort-header>Peer</th>
|
|
<td mat-cell *matCellDef="let channel">
|
|
<div class="ellipsis-parent" [ngStyle]="{'width': (screenSize === screenSizeEnum.XS) ? '10rem' : colWidth}">
|
|
<span class="ellipsis-child">{{channel.channel.remote_alias}}</span>
|
|
</div>
|
|
</td>
|
|
</ng-container>
|
|
<ng-container matColumnDef="remote_node_pub">
|
|
<th mat-header-cell *matHeaderCellDef mat-sort-header>Pubkey</th>
|
|
<td mat-cell *matCellDef="let channel">
|
|
<div class="ellipsis-parent" [ngStyle]="{'width': (screenSize === screenSizeEnum.XS) ? '10rem' : colWidth}">
|
|
<span class="ellipsis-child">{{channel.channel.remote_node_pub}}</span>
|
|
</div>
|
|
</td>
|
|
</ng-container>
|
|
<ng-container matColumnDef="channel_point">
|
|
<th mat-header-cell *matHeaderCellDef mat-sort-header>Channel Point</th>
|
|
<td mat-cell *matCellDef="let channel">
|
|
<div class="ellipsis-parent" [ngStyle]="{'width': (screenSize === screenSizeEnum.XS) ? '10rem' : colWidth}">
|
|
<span class="ellipsis-child">{{channel.channel.channel_point}}</span>
|
|
</div>
|
|
</td>
|
|
</ng-container>
|
|
<ng-container matColumnDef="initiator">
|
|
<th mat-header-cell *matHeaderCellDef mat-sort-header>Initiator</th>
|
|
<td mat-cell *matCellDef="let channel">{{channel.channel.initiator | camelcaseWithReplace:'initiator_'}}</td>
|
|
</ng-container>
|
|
<ng-container matColumnDef="commitment_type">
|
|
<th mat-header-cell *matHeaderCellDef mat-sort-header>Commitment Type</th>
|
|
<td mat-cell *matCellDef="let channel">{{channel.channel.commitment_type | camelcaseWithReplace:'commitment_type':'_'}}</td>
|
|
</ng-container>
|
|
<ng-container matColumnDef="confirmation_height">
|
|
<th mat-header-cell *matHeaderCellDef mat-sort-header arrowPosition="before">Confirmation Height</th>
|
|
<td mat-cell *matCellDef="let channel"><span fxLayoutAlign="end center">{{channel.confirmation_height | number}}</span></td>
|
|
</ng-container>
|
|
<ng-container matColumnDef="commit_fee">
|
|
<th mat-header-cell *matHeaderCellDef mat-sort-header arrowPosition="before">Commit Fee (Sats)</th>
|
|
<td mat-cell *matCellDef="let channel"><span fxLayoutAlign="end center">{{channel.commit_fee | number}}</span></td>
|
|
</ng-container>
|
|
<ng-container matColumnDef="commit_weight">
|
|
<th mat-header-cell *matHeaderCellDef mat-sort-header arrowPosition="before">Commit Weight</th>
|
|
<td mat-cell *matCellDef="let channel"><span fxLayoutAlign="end center">{{channel.commit_weight | number}}</span></td>
|
|
</ng-container>
|
|
<ng-container matColumnDef="fee_per_kw">
|
|
<th mat-header-cell *matHeaderCellDef mat-sort-header arrowPosition="before">Fee/KW</th>
|
|
<td mat-cell *matCellDef="let channel"><span fxLayoutAlign="end center">{{channel.fee_per_kw | number}}</span></td>
|
|
</ng-container>
|
|
<ng-container matColumnDef="capacity">
|
|
<th mat-header-cell *matHeaderCellDef mat-sort-header arrowPosition="before">Capacity (Sats)</th>
|
|
<td mat-cell *matCellDef="let channel"><span fxLayoutAlign="end center">{{channel.channel.capacity | number}}</span></td>
|
|
</ng-container>
|
|
<ng-container matColumnDef="local_balance">
|
|
<th mat-header-cell *matHeaderCellDef mat-sort-header arrowPosition="before">Local Balance (Sats)</th>
|
|
<td mat-cell *matCellDef="let channel"><span fxLayoutAlign="end center">{{channel.channel.local_balance | number}}</span></td>
|
|
</ng-container>
|
|
<ng-container matColumnDef="remote_balance">
|
|
<th mat-header-cell *matHeaderCellDef mat-sort-header arrowPosition="before">Remote Balance (Sats)</th>
|
|
<td mat-cell *matCellDef="let channel"><span fxLayoutAlign="end center">{{channel.channel.remote_balance | number}}</span></td>
|
|
</ng-container>
|
|
<ng-container matColumnDef="actions">
|
|
<th mat-header-cell *matHeaderCellDef>
|
|
<div class="bordered-box table-actions-select" fxLayoutAlign="center center">Actions</div>
|
|
</th>
|
|
<td mat-cell fxLayoutAlign="end center" *matCellDef="let channel">
|
|
<div 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)="onOpenClick(channel)">View Info</mat-option>
|
|
<mat-option (click)="onBumpFee(channel)">Bump Fee</mat-option>
|
|
</mat-select>
|
|
</div>
|
|
</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) && apiCallStatus.status === apiCallStatusEnum.COMPLETED">No pending channel.</p>
|
|
<p *ngIf="(!pendingOpenChannels || !pendingOpenChannels?.data || pendingOpenChannels?.data?.length<1) && apiCallStatus.status === apiCallStatusEnum.INITIATED">Getting pending channels...</p>
|
|
<p *ngIf="(!pendingOpenChannels || !pendingOpenChannels?.data || pendingOpenChannels?.data?.length<1) && apiCallStatus.status === apiCallStatusEnum.ERROR">{{errorMessage}}</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>
|
|
<tr mat-header-row *matHeaderRowDef="displayedOpenColumns"></tr>
|
|
<tr mat-row *matRowDef="let row; columns: displayedOpenColumns;"></tr>
|
|
</table>
|
|
</div>
|
|
</mat-expansion-panel>
|
|
<mat-progress-bar *ngIf="apiCallStatus.status === apiCallStatusEnum.INITIATED" mode="indeterminate"></mat-progress-bar>
|
|
<mat-expansion-panel fxLayout="column" class="flat-expansion-panel">
|
|
<mat-expansion-panel-header>
|
|
<mat-panel-title>Pending Force Closing ({{pendingForceClosingChannelsLength}})</mat-panel-title>
|
|
</mat-expansion-panel-header>
|
|
<div [perfectScrollbar] fxLayout="column" fxFlex="100" class="table-container">
|
|
<table mat-table #table [dataSource]="pendingForceClosingChannels" matSort [ngClass]="{'error-border bordered-box': errorMessage !== '','bordered-box': true}">
|
|
<ng-container matColumnDef="closing_txid">
|
|
<th mat-header-cell *matHeaderCellDef mat-sort-header>Closing Tx ID</th>
|
|
<td mat-cell *matCellDef="let channel">
|
|
<div class="ellipsis-parent" [ngStyle]="{'width': (screenSize === screenSizeEnum.XS) ? '10rem' : colWidth}">
|
|
<span class="ellipsis-child">{{channel.closing_txid}}</span>
|
|
</div>
|
|
</td>
|
|
</ng-container>
|
|
<ng-container matColumnDef="remote_alias">
|
|
<th mat-header-cell *matHeaderCellDef mat-sort-header>Peer</th>
|
|
<td mat-cell *matCellDef="let channel">
|
|
<div class="ellipsis-parent" [ngStyle]="{'width': (screenSize === screenSizeEnum.XS) ? '10rem' : colWidth}">
|
|
<span class="ellipsis-child">{{channel.channel.remote_alias}}</span>
|
|
</div>
|
|
</td>
|
|
</ng-container>
|
|
<ng-container matColumnDef="remote_node_pub">
|
|
<th mat-header-cell *matHeaderCellDef mat-sort-header>Pubkey</th>
|
|
<td mat-cell *matCellDef="let channel">
|
|
<div class="ellipsis-parent" [ngStyle]="{'width': (screenSize === screenSizeEnum.XS) ? '10rem' : colWidth}">
|
|
<span class="ellipsis-child">{{channel.channel.remote_node_pub}}</span>
|
|
</div>
|
|
</td>
|
|
</ng-container>
|
|
<ng-container matColumnDef="channel_point">
|
|
<th mat-header-cell *matHeaderCellDef mat-sort-header>Channel Point</th>
|
|
<td mat-cell *matCellDef="let channel">
|
|
<div class="ellipsis-parent" [ngStyle]="{'width': (screenSize === screenSizeEnum.XS) ? '10rem' : colWidth}">
|
|
<span class="ellipsis-child">{{channel.channel.channel_point}}</span>
|
|
</div>
|
|
</td>
|
|
</ng-container>
|
|
<ng-container matColumnDef="initiator">
|
|
<th mat-header-cell *matHeaderCellDef mat-sort-header>Initiator</th>
|
|
<td mat-cell *matCellDef="let channel">{{channel.channel.initiator | camelcaseWithReplace:'initiator_'}}</td>
|
|
</ng-container>
|
|
<ng-container matColumnDef="commitment_type">
|
|
<th mat-header-cell *matHeaderCellDef mat-sort-header>Commitment Type</th>
|
|
<td mat-cell *matCellDef="let channel">{{channel.channel.commitment_type | camelcaseWithReplace:'commitment_type':'_'}}</td>
|
|
</ng-container>
|
|
<ng-container matColumnDef="limbo_balance">
|
|
<th mat-header-cell *matHeaderCellDef mat-sort-header arrowPosition="before">Limbo Balance (Sats)</th>
|
|
<td mat-cell *matCellDef="let channel"><span fxLayoutAlign="end center">{{channel.limbo_balance | number}}</span></td>
|
|
</ng-container>
|
|
<ng-container matColumnDef="maturity_height">
|
|
<th mat-header-cell *matHeaderCellDef mat-sort-header arrowPosition="before">Maturity Height</th>
|
|
<td mat-cell *matCellDef="let channel"><span fxLayoutAlign="end center">{{channel.maturity_height | number}}</span></td>
|
|
</ng-container>
|
|
<ng-container matColumnDef="blocks_til_maturity">
|
|
<th mat-header-cell *matHeaderCellDef mat-sort-header arrowPosition="before">Blocks till Maturity</th>
|
|
<td mat-cell *matCellDef="let channel"><span fxLayoutAlign="end center">{{channel.blocks_til_maturity | number}}</span></td>
|
|
</ng-container>
|
|
<ng-container matColumnDef="recovered_balance">
|
|
<th mat-header-cell *matHeaderCellDef mat-sort-header arrowPosition="before">Recovered Balance (Sats)</th>
|
|
<td mat-cell *matCellDef="let channel"><span fxLayoutAlign="end center">{{channel.recovered_balance | number}}</span></td>
|
|
</ng-container>
|
|
<ng-container matColumnDef="capacity">
|
|
<th mat-header-cell *matHeaderCellDef mat-sort-header arrowPosition="before">Capacity (Sats)</th>
|
|
<td mat-cell *matCellDef="let channel"><span fxLayoutAlign="end center">{{channel.channel.capacity | number}}</span></td>
|
|
</ng-container>
|
|
<ng-container matColumnDef="local_balance">
|
|
<th mat-header-cell *matHeaderCellDef mat-sort-header arrowPosition="before">Local Balance (Sats)</th>
|
|
<td mat-cell *matCellDef="let channel"><span fxLayoutAlign="end center">{{channel.channel.local_balance | number}}</span></td>
|
|
</ng-container>
|
|
<ng-container matColumnDef="remote_balance">
|
|
<th mat-header-cell *matHeaderCellDef mat-sort-header arrowPosition="before">Remote Balance (Sats)</th>
|
|
<td mat-cell *matCellDef="let channel"><span fxLayoutAlign="end center">{{channel.channel.remote_balance | number}}</span></td>
|
|
</ng-container>
|
|
<ng-container matColumnDef="actions">
|
|
<th mat-header-cell *matHeaderCellDef>
|
|
<div class="bordered-box table-actions-select" fxLayoutAlign="center center">Actions</div>
|
|
</th>
|
|
<td mat-cell fxLayoutAlign="end center" *matCellDef="let channel">
|
|
<button mat-stroked-button color="primary" type="button" tabindex="2" (click)="onForceClosingClick(channel)" class="table-actions-button">View Info</button>
|
|
</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) && apiCallStatus.status === apiCallStatusEnum.COMPLETED">No pending channel.</p>
|
|
<p *ngIf="(!pendingForceClosingChannels || !pendingForceClosingChannels?.data || pendingForceClosingChannels?.data?.length<1) && apiCallStatus.status === apiCallStatusEnum.INITIATED">Getting pending channels...</p>
|
|
<p *ngIf="(!pendingForceClosingChannels || !pendingForceClosingChannels?.data || pendingForceClosingChannels?.data?.length<1) && apiCallStatus.status === apiCallStatusEnum.ERROR">{{errorMessage}}</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>
|
|
<tr mat-header-row *matHeaderRowDef="displayedForceClosingColumns"></tr>
|
|
<tr mat-row *matRowDef="let row; columns: displayedForceClosingColumns;"></tr>
|
|
</table>
|
|
</div>
|
|
</mat-expansion-panel>
|
|
<mat-progress-bar *ngIf="apiCallStatus.status === apiCallStatusEnum.INITIATED" mode="indeterminate"></mat-progress-bar>
|
|
<mat-expansion-panel fxLayout="column" class="flat-expansion-panel">
|
|
<mat-expansion-panel-header>
|
|
<mat-panel-title>Pending Closing ({{pendingClosingChannelsLength}})</mat-panel-title>
|
|
</mat-expansion-panel-header>
|
|
<div [perfectScrollbar] fxLayout="column" fxFlex="100" class="table-container">
|
|
<table mat-table #table [dataSource]="pendingClosingChannels" matSort [ngClass]="{'error-border bordered-box': errorMessage !== '','bordered-box': true}">
|
|
<ng-container matColumnDef="closing_txid">
|
|
<th mat-header-cell *matHeaderCellDef mat-sort-header>Closing Tx ID</th>
|
|
<td mat-cell *matCellDef="let channel">
|
|
<div class="ellipsis-parent" [ngStyle]="{'width': (screenSize === screenSizeEnum.XS) ? '10rem' : colWidth}">
|
|
<span class="ellipsis-child">{{channel.closing_txid}}</span>
|
|
</div>
|
|
</td>
|
|
</ng-container>
|
|
<ng-container matColumnDef="remote_alias">
|
|
<th mat-header-cell *matHeaderCellDef mat-sort-header>Peer</th>
|
|
<td mat-cell *matCellDef="let channel">
|
|
<div class="ellipsis-parent" [ngStyle]="{'width': (screenSize === screenSizeEnum.XS) ? '10rem' : colWidth}">
|
|
<span class="ellipsis-child">{{channel.channel.remote_alias}}</span>
|
|
</div>
|
|
</td>
|
|
</ng-container>
|
|
<ng-container matColumnDef="remote_node_pub">
|
|
<th mat-header-cell *matHeaderCellDef mat-sort-header>Pubkey</th>
|
|
<td mat-cell *matCellDef="let channel">
|
|
<div class="ellipsis-parent" [ngStyle]="{'width': (screenSize === screenSizeEnum.XS) ? '10rem' : colWidth}">
|
|
<span class="ellipsis-child">{{channel.channel.remote_node_pub}}</span>
|
|
</div>
|
|
</td>
|
|
</ng-container>
|
|
<ng-container matColumnDef="channel_point">
|
|
<th mat-header-cell *matHeaderCellDef mat-sort-header>Channel Point</th>
|
|
<td mat-cell *matCellDef="let channel">
|
|
<div class="ellipsis-parent" [ngStyle]="{'width': (screenSize === screenSizeEnum.XS) ? '10rem' : colWidth}">
|
|
<span class="ellipsis-child">{{channel.channel.channel_point}}</span>
|
|
</div>
|
|
</td>
|
|
</ng-container>
|
|
<ng-container matColumnDef="initiator">
|
|
<th mat-header-cell *matHeaderCellDef mat-sort-header>Initiator</th>
|
|
<td mat-cell *matCellDef="let channel">{{channel.channel.initiator | camelcaseWithReplace:'initiator_'}}</td>
|
|
</ng-container>
|
|
<ng-container matColumnDef="commitment_type">
|
|
<th mat-header-cell *matHeaderCellDef mat-sort-header>Commitment Type</th>
|
|
<td mat-cell *matCellDef="let channel">{{channel.channel.commitment_type | camelcaseWithReplace:'commitment_type':'_'}}</td>
|
|
</ng-container>
|
|
<ng-container matColumnDef="capacity">
|
|
<th mat-header-cell *matHeaderCellDef mat-sort-header arrowPosition="before">Capacity (Sats)</th>
|
|
<td mat-cell *matCellDef="let channel"><span fxLayoutAlign="end center">{{channel.channel.capacity | number}}</span></td>
|
|
</ng-container>
|
|
<ng-container matColumnDef="local_balance">
|
|
<th mat-header-cell *matHeaderCellDef mat-sort-header arrowPosition="before">Local Balance (Sats)</th>
|
|
<td mat-cell *matCellDef="let channel"><span fxLayoutAlign="end center">{{channel.channel.local_balance | number}}</span></td>
|
|
</ng-container>
|
|
<ng-container matColumnDef="remote_balance">
|
|
<th mat-header-cell *matHeaderCellDef mat-sort-header arrowPosition="before">Remote Balance (Sats)</th>
|
|
<td mat-cell *matCellDef="let channel"><span fxLayoutAlign="end center">{{channel.channel.remote_balance | number}}</span></td>
|
|
</ng-container>
|
|
<ng-container matColumnDef="actions">
|
|
<th mat-header-cell *matHeaderCellDef>
|
|
<div class="bordered-box table-actions-select" fxLayoutAlign="center center">Actions</div>
|
|
</th>
|
|
<td mat-cell fxLayoutAlign="end center" *matCellDef="let channel">
|
|
<button mat-stroked-button color="primary" type="button" tabindex="3" (click)="onClosingClick(channel)" class="table-actions-button">View Info</button>
|
|
</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) && apiCallStatus.status === apiCallStatusEnum.COMPLETED">No pending channel.</p>
|
|
<p *ngIf="(!pendingClosingChannels || !pendingClosingChannels?.data || pendingClosingChannels?.data?.length<1) && apiCallStatus.status === apiCallStatusEnum.INITIATED">Getting pending channels...</p>
|
|
<p *ngIf="(!pendingClosingChannels || !pendingClosingChannels?.data || pendingClosingChannels?.data?.length<1) && apiCallStatus.status === apiCallStatusEnum.ERROR">{{errorMessage}}</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>
|
|
<tr mat-header-row *matHeaderRowDef="displayedClosingColumns"></tr>
|
|
<tr mat-row *matRowDef="let row; columns: displayedClosingColumns;"></tr>
|
|
</table>
|
|
</div>
|
|
</mat-expansion-panel>
|
|
<mat-progress-bar *ngIf="apiCallStatus.status === apiCallStatusEnum.INITIATED" mode="indeterminate"></mat-progress-bar>
|
|
<mat-expansion-panel fxLayout="column" class="flat-expansion-panel">
|
|
<mat-expansion-panel-header>
|
|
<mat-panel-title>Waiting Close ({{pendingWaitClosingChannelsLength}})</mat-panel-title>
|
|
</mat-expansion-panel-header>
|
|
<div [perfectScrollbar] fxLayout="column" fxFlex="100" class="table-container">
|
|
<table mat-table #table [dataSource]="pendingWaitClosingChannels" matSort [ngClass]="{'error-border bordered-box': errorMessage !== '','bordered-box': true}">
|
|
<ng-container matColumnDef="closing_txid">
|
|
<th mat-header-cell *matHeaderCellDef mat-sort-header>Closing Tx ID</th>
|
|
<td mat-cell *matCellDef="let channel">
|
|
<div class="ellipsis-parent" [ngStyle]="{'width': (screenSize === screenSizeEnum.XS) ? '10rem' : colWidth}">
|
|
<span class="ellipsis-child">{{channel.closing_txid}}</span>
|
|
</div>
|
|
</td>
|
|
</ng-container>
|
|
<ng-container matColumnDef="remote_alias">
|
|
<th mat-header-cell *matHeaderCellDef mat-sort-header>Peer</th>
|
|
<td mat-cell *matCellDef="let channel">
|
|
<div class="ellipsis-parent" [ngStyle]="{'width': (screenSize === screenSizeEnum.XS) ? '10rem' : colWidth}">
|
|
<span class="ellipsis-child">{{channel.channel.remote_alias}}</span>
|
|
</div>
|
|
</td>
|
|
</ng-container>
|
|
<ng-container matColumnDef="remote_node_pub">
|
|
<th mat-header-cell *matHeaderCellDef mat-sort-header>Pubkey</th>
|
|
<td mat-cell *matCellDef="let channel">
|
|
<div class="ellipsis-parent" [ngStyle]="{'width': (screenSize === screenSizeEnum.XS) ? '10rem' : colWidth}">
|
|
<span class="ellipsis-child">{{channel.channel.remote_node_pub}}</span>
|
|
</div>
|
|
</td>
|
|
</ng-container>
|
|
<ng-container matColumnDef="channel_point">
|
|
<th mat-header-cell *matHeaderCellDef mat-sort-header>Channel Point</th>
|
|
<td mat-cell *matCellDef="let channel">
|
|
<div class="ellipsis-parent" [ngStyle]="{'width': (screenSize === screenSizeEnum.XS) ? '10rem' : colWidth}">
|
|
<span class="ellipsis-child">{{channel.channel.channel_point}}</span>
|
|
</div>
|
|
</td>
|
|
</ng-container>
|
|
<ng-container matColumnDef="initiator">
|
|
<th mat-header-cell *matHeaderCellDef mat-sort-header>Initiator</th>
|
|
<td mat-cell *matCellDef="let channel">{{channel.channel.initiator | camelcaseWithReplace:'initiator_'}}</td>
|
|
</ng-container>
|
|
<ng-container matColumnDef="commitment_type">
|
|
<th mat-header-cell *matHeaderCellDef mat-sort-header>Commitment Type</th>
|
|
<td mat-cell *matCellDef="let channel">{{channel.channel.commitment_type | camelcaseWithReplace:'commitment_type':'_'}}</td>
|
|
</ng-container>
|
|
<ng-container matColumnDef="limbo_balance">
|
|
<th mat-header-cell *matHeaderCellDef mat-sort-header arrowPosition="before">Limbo Balance (Sats)</th>
|
|
<td mat-cell *matCellDef="let channel"><span fxLayoutAlign="end center">{{channel.limbo_balance | number}}</span></td>
|
|
</ng-container>
|
|
<ng-container matColumnDef="capacity">
|
|
<th mat-header-cell *matHeaderCellDef mat-sort-header arrowPosition="before">Capacity (Sats)</th>
|
|
<td mat-cell *matCellDef="let channel"><span fxLayoutAlign="end center">{{channel.channel.capacity | number}}</span></td>
|
|
</ng-container>
|
|
<ng-container matColumnDef="local_balance">
|
|
<th mat-header-cell *matHeaderCellDef mat-sort-header arrowPosition="before">Local Balance (Sats)</th>
|
|
<td mat-cell *matCellDef="let channel"><span fxLayoutAlign="end center">{{channel.channel.local_balance | number}}</span></td>
|
|
</ng-container>
|
|
<ng-container matColumnDef="remote_balance">
|
|
<th mat-header-cell *matHeaderCellDef mat-sort-header arrowPosition="before">Remote Balance (Sats)</th>
|
|
<td mat-cell *matCellDef="let channel"><span fxLayoutAlign="end center">{{channel.channel.remote_balance | number}}</span></td>
|
|
</ng-container>
|
|
<ng-container matColumnDef="actions">
|
|
<th mat-header-cell fxLayoutAlign="end center" *matHeaderCellDef>
|
|
<div class="bordered-box table-actions-select" fxLayoutAlign="center center">Actions</div>
|
|
</th>
|
|
<td mat-cell fxLayoutAlign="end center" *matCellDef="let channel">
|
|
<button mat-stroked-button color="primary" type="button" tabindex="4" (click)="onWaitClosingClick(channel)" class="table-actions-button">View Info</button>
|
|
</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) && apiCallStatus.status === apiCallStatusEnum.COMPLETED">No pending channel.</p>
|
|
<p *ngIf="(!pendingWaitClosingChannels || !pendingWaitClosingChannels?.data || pendingWaitClosingChannels?.data?.length<1) && apiCallStatus.status === apiCallStatusEnum.INITIATED">Getting pending channels...</p>
|
|
<p *ngIf="(!pendingWaitClosingChannels || !pendingWaitClosingChannels?.data || pendingWaitClosingChannels?.data?.length<1) && apiCallStatus.status === apiCallStatusEnum.ERROR">{{errorMessage}}</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>
|
|
<tr mat-header-row *matHeaderRowDef="displayedWaitClosingColumns"></tr>
|
|
<tr mat-row *matRowDef="let row; columns: displayedWaitClosingColumns;"></tr>
|
|
</table>
|
|
</div>
|
|
</mat-expansion-panel>
|
|
</mat-accordion>
|
|
</div> |