Refactor loading of tokens to occur in app component.

This commit is contained in:
Spencer Ofwiti 2021-06-30 19:48:44 +03:00
parent 2515ce1d96
commit 717c8616ae
2 changed files with 18 additions and 7 deletions

View File

@ -56,6 +56,11 @@ export class AppComponent implements OnInit {
} catch (error) {
this.loggingService.sendErrorLevelMessage('Failed to load accounts', this, { error });
}
this.tokenService.load.subscribe(async (status: boolean) => {
if (status) {
await this.tokenService.getTokens();
}
});
if (!this.swUpdate.isEnabled) {
this.swUpdate.available.subscribe(() => {
if (confirm('New Version available. Load New Version?')) {

View File

@ -1,4 +1,10 @@
import { ChangeDetectionStrategy, Component, OnInit, ViewChild } from '@angular/core';
import {
AfterViewInit,
ChangeDetectionStrategy,
Component,
OnInit,
ViewChild,
} from '@angular/core';
import { MatPaginator } from '@angular/material/paginator';
import { MatSort } from '@angular/material/sort';
import { TokenService } from '@app/_services';
@ -12,7 +18,7 @@ import { Token } from '@app/_models';
styleUrls: ['./tokens.component.scss'],
changeDetection: ChangeDetectionStrategy.OnPush,
})
export class TokensComponent implements OnInit {
export class TokensComponent implements OnInit, AfterViewInit {
dataSource: MatTableDataSource<any>;
columnsToDisplay: Array<string> = ['name', 'symbol', 'address', 'supply'];
@ViewChild(MatPaginator) paginator: MatPaginator;
@ -23,11 +29,6 @@ export class TokensComponent implements OnInit {
constructor(private tokenService: TokenService) {}
ngOnInit(): void {
this.tokenService.load.subscribe(async (status: boolean) => {
if (status) {
await this.tokenService.getTokens();
}
});
this.tokenService.tokensSubject.subscribe((tokens) => {
this.dataSource = new MatTableDataSource(tokens);
this.dataSource.paginator = this.paginator;
@ -36,6 +37,11 @@ export class TokensComponent implements OnInit {
});
}
ngAfterViewInit(): void {
this.dataSource.paginator = this.paginator;
this.dataSource.sort = this.sort;
}
doFilter(value: string): void {
this.dataSource.filter = value.trim().toLocaleLowerCase();
}