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) { } catch (error) {
this.loggingService.sendErrorLevelMessage('Failed to load accounts', this, { 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) { if (!this.swUpdate.isEnabled) {
this.swUpdate.available.subscribe(() => { this.swUpdate.available.subscribe(() => {
if (confirm('New Version available. Load New Version?')) { 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 { MatPaginator } from '@angular/material/paginator';
import { MatSort } from '@angular/material/sort'; import { MatSort } from '@angular/material/sort';
import { TokenService } from '@app/_services'; import { TokenService } from '@app/_services';
@ -12,7 +18,7 @@ import { Token } from '@app/_models';
styleUrls: ['./tokens.component.scss'], styleUrls: ['./tokens.component.scss'],
changeDetection: ChangeDetectionStrategy.OnPush, changeDetection: ChangeDetectionStrategy.OnPush,
}) })
export class TokensComponent implements OnInit { export class TokensComponent implements OnInit, AfterViewInit {
dataSource: MatTableDataSource<any>; dataSource: MatTableDataSource<any>;
columnsToDisplay: Array<string> = ['name', 'symbol', 'address', 'supply']; columnsToDisplay: Array<string> = ['name', 'symbol', 'address', 'supply'];
@ViewChild(MatPaginator) paginator: MatPaginator; @ViewChild(MatPaginator) paginator: MatPaginator;
@ -23,11 +29,6 @@ export class TokensComponent implements OnInit {
constructor(private tokenService: TokenService) {} constructor(private tokenService: TokenService) {}
ngOnInit(): void { ngOnInit(): void {
this.tokenService.load.subscribe(async (status: boolean) => {
if (status) {
await this.tokenService.getTokens();
}
});
this.tokenService.tokensSubject.subscribe((tokens) => { this.tokenService.tokensSubject.subscribe((tokens) => {
this.dataSource = new MatTableDataSource(tokens); this.dataSource = new MatTableDataSource(tokens);
this.dataSource.paginator = this.paginator; 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 { doFilter(value: string): void {
this.dataSource.filter = value.trim().toLocaleLowerCase(); this.dataSource.filter = value.trim().toLocaleLowerCase();
} }