swap list filtering

cln-peer-swap
ShahanaFarooqui 10 months ago
parent ff3325320c
commit 882ce7f1a7

@ -11,7 +11,7 @@
<div fxLayout="column" fxFlex="100" fxLayoutAlign="space-between stretch" class="mat-tab-body-wrapper mb-2">
<mat-tab-nav-panel #tabPanel>
<rtl-peerswap-peers *ngIf="activeTab === this.links[0]"></rtl-peerswap-peers>
<rtl-peer-swaps-list *ngIf="activeTab !== this.links[0]"></rtl-peer-swaps-list>
<rtl-peerswap-swaps-list *ngIf="activeTab !== this.links[0]"></rtl-peerswap-swaps-list>
</mat-tab-nav-panel>
</div>
</mat-card-content>

@ -1,30 +1,30 @@
import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing';
import { SharedModule } from '../../../../shared/shared.module';
import { SharedModule } from '../../../../shared.module';
import { StoreModule } from '@ngrx/store';
import { EffectsModule } from '@ngrx/effects';
import { RootReducer } from '../../../../store/rtl.reducers';
import { LNDReducer } from '../../../../lnd/store/lnd.reducers';
import { CLNReducer } from '../../../../cln/store/cln.reducers';
import { ECLReducer } from '../../../../eclair/store/ecl.reducers';
import { CommonService } from '../../../../shared/services/common.service';
import { LoggerService } from '../../../../shared/services/logger.service';
import { RootReducer } from '../../../../../store/rtl.reducers';
import { LNDReducer } from '../../../../../lnd/store/lnd.reducers';
import { CLNReducer } from '../../../../../cln/store/cln.reducers';
import { ECLReducer } from '../../../../../eclair/store/ecl.reducers';
import { CommonService } from '../../../../../shared/services/common.service';
import { LoggerService } from '../../../../services/logger.service';
import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';
import { mockCLEffects, mockDataService, mockLoggerService, mockECLEffects, mockLNDEffects, mockMatDialogRef, mockRTLEffects } from '../../../../shared/test-helpers/mock-services';
import { RTLEffects } from '../../../../store/rtl.effects';
import { mockCLEffects, mockDataService, mockLoggerService, mockECLEffects, mockLNDEffects, mockMatDialogRef, mockRTLEffects } from '../../../../test-helpers/mock-services';
import { RTLEffects } from '../../../../../store/rtl.effects';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { DataService } from '../../../../shared/services/data.service';
import { SwapPeersComponent } from './swap-peers.component';
import { DataService } from '../../../../services/data.service';
import { PSPeersComponent } from './swap-peers.component';
import { RouterTestingModule } from '@angular/router/testing';
describe('SwapPeersComponent', () => {
let component: SwapPeersComponent;
let fixture: ComponentFixture<SwapPeersComponent>;
describe('PSPeersComponent', () => {
let component: PSPeersComponent;
let fixture: ComponentFixture<PSPeersComponent>;
beforeEach(waitForAsync(() => {
TestBed.configureTestingModule({
declarations: [SwapPeersComponent],
declarations: [PSPeersComponent],
imports: [
BrowserAnimationsModule,
RouterTestingModule,
@ -45,7 +45,7 @@ describe('SwapPeersComponent', () => {
}));
beforeEach(() => {
fixture = TestBed.createComponent(SwapPeersComponent);
fixture = TestBed.createComponent(PSPeersComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});

@ -30,7 +30,7 @@ import { MAT_SELECT_CONFIG } from '@angular/material/select';
{ provide: MatPaginatorIntl, useValue: getPaginatorLabel('Peers') }
]
})
export class SwapPeersComponent implements OnInit, OnDestroy {
export class PSPeersComponent implements OnInit, OnDestroy {
@ViewChild(MatSort, { static: false }) sort: MatSort | undefined;
@ViewChild(MatPaginator, { static: false }) paginator: MatPaginator | undefined;
@ -161,7 +161,7 @@ export class SwapPeersComponent implements OnInit, OnDestroy {
onDownloadCSV() {
if (this.swapPeers && this.swapPeers.data && this.swapPeers.data.length > 0) {
this.commonService.downloadFile(this.swapPeers.data, 'Swap Peers');
this.commonService.downloadFile(this.swapPeers.data, 'Peerswap Peers');
}
}

@ -12,16 +12,16 @@ import { LNDReducer } from '../../../../../lnd/store/lnd.reducers';
import { CLNReducer } from '../../../../../cln/store/cln.reducers';
import { ECLReducer } from '../../../../../eclair/store/ecl.reducers';
import { DataService } from '../../../../services/data.service';
import { PeerswapsListComponent } from './swaps-list.component';
import { PSSwapsListComponent } from './swaps-list.component';
import { LoggerService } from '../../../../services/logger.service';
describe('PeerswapsListComponent', () => {
let component: PeerswapsListComponent;
let fixture: ComponentFixture<PeerswapsListComponent>;
describe('PSSwapsListComponent', () => {
let component: PSSwapsListComponent;
let fixture: ComponentFixture<PSSwapsListComponent>;
// private commonService: CommonService, private store: Store<RTLState>, private router: Router
beforeEach(waitForAsync(() => {
TestBed.configureTestingModule({
declarations: [PeerswapsListComponent],
declarations: [PSSwapsListComponent],
imports: [
BrowserAnimationsModule,
SharedModule,
@ -39,7 +39,7 @@ describe('PeerswapsListComponent', () => {
}));
beforeEach(() => {
fixture = TestBed.createComponent(PeerswapsListComponent);
fixture = TestBed.createComponent(PSSwapsListComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});

@ -24,7 +24,7 @@ import { ColumnDefinition, PageSettings, TableSetting } from 'src/app/shared/mod
import { MAT_SELECT_CONFIG } from '@angular/material/select';
@Component({
selector: 'rtl-peer-swaps-list',
selector: 'rtl-peerswap-swaps-list',
templateUrl: './swaps-list.component.html',
styleUrls: ['./swaps-list.component.scss'],
providers: [
@ -32,7 +32,7 @@ import { MAT_SELECT_CONFIG } from '@angular/material/select';
{ provide: MatPaginatorIntl, useValue: getPaginatorLabel('Swaps') }
]
})
export class PeerswapsListComponent implements OnInit, AfterViewInit, OnDestroy {
export class PSSwapsListComponent implements OnInit, AfterViewInit, OnDestroy {
@ViewChild(MatSort, { static: false }) sort: MatSort | undefined;
@ViewChild(MatPaginator, { static: false }) paginator: MatPaginator | undefined;
@ -151,24 +151,44 @@ export class PeerswapsListComponent implements OnInit, AfterViewInit, OnDestroy
}));
}
setFilterPredicate() {
this.swaps.filterPredicate = (rowData: Swap, fltr: string) => {
let rowToFilter = '';
switch (this.selFilterBy) {
case 'all':
rowToFilter = (rowData.id ? rowData.id : '') +
(rowData.alias ? rowData.alias.toLowerCase() : '') +
(rowData.role ? rowData.role.toLowerCase() : '') +
(rowData.channel_id ? rowData.channel_id.toLowerCase() : '') +
(rowData.amount ? rowData.amount : '') +
(rowData.state ? this.swapStatePipe.transform(rowData.state || '').toLowerCase() : '') +
(rowData.created_at ? this.datePipe.transform(new Date(+rowData.created_at * 1000), 'dd/MMM/YYYY HH:mm')?.toLowerCase() : '') +
(rowData.cancel_message ? rowData.cancel_message.toLowerCase() : '');
break;
case 'state':
rowToFilter = rowData?.state ? this.swapStatePipe.transform(rowData.state || '').toLowerCase() : '';
break;
case 'created_at':
rowToFilter = rowData?.created_at ? this.datePipe.transform(new Date(+rowData.created_at * 1000), 'dd/MMM/YYYY HH:mm')?.toLowerCase() : '';
break;
default:
rowToFilter = typeof rowData[this.selFilterBy] === 'undefined' ? '' : typeof rowData[this.selFilterBy] === 'string' ? rowData[this.selFilterBy].toLowerCase() : typeof rowData[this.selFilterBy] === 'boolean' ? (rowData[this.selFilterBy] ? 'yes' : 'no') : rowData[this.selFilterBy].toString();
break;
}
return rowToFilter.includes(fltr);
};
}
loadSwapsTable() {
const selectedSwapData = (this.selSwapList === this.swapLists[0]) ? this.allSwapsData?.swapOuts : (this.selSwapList === this.swapLists[1]) ? this.allSwapsData?.swapIns : (this.selSwapList === this.swapLists[2]) ? this.allSwapsData?.swapsCanceled : [];
this.swaps = new MatTableDataSource<Swap>([...selectedSwapData]);
this.swaps.sort = this.sort;
this.swaps.sortingDataAccessor = (data: any, sortHeaderId: string) => ((data[sortHeaderId] && isNaN(data[sortHeaderId])) ? data[sortHeaderId].toLocaleLowerCase() : data[sortHeaderId] ? +data[sortHeaderId] : null);
this.swaps.filterPredicate = (swap: Swap, fltr: string) => {
const newSwap =
(swap.id ? swap.id : '') +
(swap.alias ? swap.alias.toLowerCase() : '') +
(swap.role ? swap.role : '') +
(swap.channel_id ? swap.channel_id : '') +
(swap.amount ? swap.amount : '') +
(swap.state ? swap.state : '') +
((swap.created_at) ? this.datePipe.transform(new Date(+swap.created_at * 1000), 'dd/MMM/YYYY HH:mm')?.toLowerCase() : '') +
(swap.cancel_message ? swap.cancel_message.toLowerCase : '');
return newSwap?.includes(fltr) || false;
};
this.swaps.paginator = this.paginator;
this.setFilterPredicate();
this.applyFilter();
this.logger.info(this.swaps);
}

@ -99,8 +99,8 @@ import { SwapModalComponent } from './components/ln-services/boltz/swap-modal/sw
import { SwapInInfoGraphicsComponent } from './components/ln-services/boltz/swap-in-info-graphics/info-graphics.component';
import { SwapOutInfoGraphicsComponent } from './components/ln-services/boltz/swap-out-info-graphics/info-graphics.component';
import { PeerswapComponent } from './components/ln-services/peerswap/peerswap.component';
import { SwapPeersComponent } from './components/ln-services/peerswap/swap-peers/swap-peers.component';
import { PeerswapsListComponent } from './components/ln-services/peerswap/swaps-list/swaps-list.component';
import { PSPeersComponent } from './components/ln-services/peerswap/swap-peers/swap-peers.component';
import { PSSwapsListComponent } from './components/ln-services/peerswap/swaps-list/swaps-list.component';
import { PSSwapOutModalComponent } from './components/ln-services/peerswap/swap-out-modal/swap-out-modal.component';
import { PSSwapInModalComponent } from './components/ln-services/peerswap/swap-in-modal/swap-in-modal.component';
@ -282,8 +282,8 @@ export const DEFAULT_DATE_FORMAT: MatDateFormats = {
SwapInInfoGraphicsComponent,
SwapOutInfoGraphicsComponent,
PeerswapComponent,
SwapPeersComponent,
PeerswapsListComponent,
PSPeersComponent,
PSSwapsListComponent,
PSSwapOutModalComponent,
PSSwapInModalComponent
],
@ -350,8 +350,8 @@ export const DEFAULT_DATE_FORMAT: MatDateFormats = {
SwapInInfoGraphicsComponent,
SwapOutInfoGraphicsComponent,
PeerswapComponent,
SwapPeersComponent,
PeerswapsListComponent,
PSPeersComponent,
PSSwapsListComponent,
PSSwapOutModalComponent,
PSSwapInModalComponent
],

Loading…
Cancel
Save