Add numBlocks param

This commit is contained in:
Mononaut 2023-09-28 21:54:01 +01:00
parent ec8fc53dcb
commit d69cdacd5e
No known key found for this signature in database
GPG Key ID: A3F058E41374C04E
2 changed files with 18 additions and 10 deletions

View File

@ -1,5 +1,5 @@
<div class="blocks" [class.wrap]="wrapBlocks">
<ng-container *ngFor="let i of [0,1,2,3,4,5,6,7]">
<ng-container *ngFor="let i of blockIndices">
<div class="block-wrapper" [style]="wrapperStyle">
<div class="block-container" [style]="containerStyle">
<app-block-overview-graph

View File

@ -56,6 +56,8 @@ export class EightBlocksComponent implements OnInit, OnDestroy {
queryParamsSubscription: Subscription;
graphChangeSubscription: Subscription;
numBlocks: number = 8;
blockIndices: number[] = [...Array(8).keys()];
autofit: boolean = false;
padding: number = 0;
wrapBlocks: boolean = false;
@ -96,12 +98,9 @@ export class EightBlocksComponent implements OnInit, OnDestroy {
this.websocketService.want(['blocks']);
this.network = this.stateService.network;
this.blocksSubscription = this.stateService.blocks$
.subscribe((blocks) => {
this.handleNewBlock(blocks);
});
this.queryParamsSubscription = this.route.queryParams.subscribe((params) => {
this.numBlocks = Number.isInteger(Number(params.numBlocks)) ? Number(params.numBlocks) : 8;
this.blockIndices = [...Array(this.numBlocks).keys()];
this.autofit = params.autofit === 'true';
this.padding = Number.isInteger(Number(params.padding)) ? Number(params.padding) : 0;
this.blockWidth = Number.isInteger(Number(params.blockWidth)) ? Number(params.blockWidth) : 1080;
@ -124,11 +123,18 @@ export class EightBlocksComponent implements OnInit, OnDestroy {
};
if (params.test === 'true') {
if (this.blocksSubscription) {
this.blocksSubscription.unsubscribe();
}
this.blocksSubscription = (new Subject<BlockExtended[]>()).subscribe((blocks) => {
this.handleNewBlock(blocks);
this.handleNewBlock(blocks.slice(0, this.numBlocks));
});
this.shiftTestBlocks();
} else if (!this.blocksSubscription) {
this.blocksSubscription = this.stateService.blocks$
.subscribe((blocks) => {
this.handleNewBlock(blocks.slice(0, this.numBlocks));
});
}
});
@ -146,7 +152,9 @@ export class EightBlocksComponent implements OnInit, OnDestroy {
ngOnDestroy(): void {
this.stateService.markBlock$.next({});
if (this.blocksSubscription) {
this.blocksSubscription?.unsubscribe();
}
this.cacheBlocksSubscription?.unsubscribe();
this.networkChangedSubscription?.unsubscribe();
this.queryParamsSubscription?.unsubscribe();
@ -155,7 +163,7 @@ export class EightBlocksComponent implements OnInit, OnDestroy {
shiftTestBlocks(): void {
const sub = this.apiService.getBlocks$(this.testHeight).subscribe(result => {
sub.unsubscribe();
this.handleNewBlock(result);
this.handleNewBlock(result.slice(0, this.numBlocks));
this.testHeight++;
clearTimeout(this.testShiftTimeout);
this.testShiftTimeout = window.setTimeout(() => { this.shiftTestBlocks(); }, 10000);