insight-tcr
Version:
A blockchain explorer for Bitcore
43 lines (40 loc) • 1.22 kB
text/typescript
import {
ChangeDetectionStrategy,
Component,
Input,
OnInit
} from "@angular/core";
import * as equal from "fast-deep-equal";
import { combineLatest, Observable } from "rxjs";
import { distinctUntilChanged, switchMap } from "rxjs/operators";
import { ApiService } from "../../services/api/api.service";
import {
StreamingFindOptions,
TransactionJSON
} from "../../types/bitcore-node";
import { Chain } from "../../types/chains";
({
selector: 'app-transaction-list',
templateUrl: './transaction-list.component.html',
styleUrls: ['./transaction-list.component.scss'],
changeDetection: ChangeDetectionStrategy.OnPush
})
export class TransactionListComponent implements OnInit {
()
chain$: Observable<Chain>;
()
query$: Observable<StreamingFindOptions<TransactionJSON>>;
()
displayValueCode = 'BCH';
transactions$: Observable<TransactionJSON>;
constructor(private apiService: ApiService) {}
ngOnInit() {
this.transactions$ = combineLatest(this.chain$, this.query$).pipe(
distinctUntilChanged(equal),
switchMap(([chain, query]) =>
this.apiService.streamTransactions(chain, query)
),
distinctUntilChanged(equal)
);
}
}