Browse Source

feat(client): enable view child signal

pull/6885/head
KenTandrian 1 week ago
parent
commit
1f6ba217cb
  1. 23
      apps/client/src/app/components/admin-market-data/admin-market-data.component.ts

23
apps/client/src/app/components/admin-market-data/admin-market-data.component.ts

@ -29,7 +29,7 @@ import {
Component, Component,
DestroyRef, DestroyRef,
OnInit, OnInit,
ViewChild viewChild
} from '@angular/core'; } from '@angular/core';
import { takeUntilDestroyed } from '@angular/core/rxjs-interop'; import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
import { MatButtonModule } from '@angular/material/button'; import { MatButtonModule } from '@angular/material/button';
@ -98,9 +98,6 @@ import { CreateAssetProfileDialogParams } from './create-asset-profile-dialog/in
templateUrl: './admin-market-data.html' templateUrl: './admin-market-data.html'
}) })
export class GfAdminMarketDataComponent implements AfterViewInit, OnInit { export class GfAdminMarketDataComponent implements AfterViewInit, OnInit {
@ViewChild(MatPaginator) private paginator: MatPaginator;
@ViewChild(MatSort) private sort: MatSort;
protected readonly allFilters: Filter[] = [ protected readonly allFilters: Filter[] = [
...Object.keys(AssetSubClass) ...Object.keys(AssetSubClass)
.filter((assetSubClass) => { .filter((assetSubClass) => {
@ -163,6 +160,8 @@ export class GfAdminMarketDataComponent implements AfterViewInit, OnInit {
private deviceType: string; private deviceType: string;
private readonly hasPermissionForSubscription: boolean; private readonly hasPermissionForSubscription: boolean;
private readonly info: InfoItem; private readonly info: InfoItem;
private readonly paginator = viewChild.required(MatPaginator);
private readonly sort = viewChild.required(MatSort);
public constructor( public constructor(
protected readonly adminMarketDataService: AdminMarketDataService, protected readonly adminMarketDataService: AdminMarketDataService,
@ -254,14 +253,14 @@ export class GfAdminMarketDataComponent implements AfterViewInit, OnInit {
} }
public ngAfterViewInit() { public ngAfterViewInit() {
this.sort.sortChange.subscribe( this.sort().sortChange.subscribe(
({ active: sortColumn, direction }: Sort) => { ({ active: sortColumn, direction }: Sort) => {
this.paginator.pageIndex = 0; this.paginator().pageIndex = 0;
this.loadData({ this.loadData({
sortColumn, sortColumn,
sortDirection: direction, sortDirection: direction,
pageIndex: this.paginator.pageIndex pageIndex: this.paginator().pageIndex
}); });
} }
); );
@ -277,8 +276,8 @@ export class GfAdminMarketDataComponent implements AfterViewInit, OnInit {
protected onChangePage(page: PageEvent) { protected onChangePage(page: PageEvent) {
this.loadData({ this.loadData({
pageIndex: page.pageIndex, pageIndex: page.pageIndex,
sortColumn: this.sort.active, sortColumn: this.sort().active,
sortDirection: this.sort.direction sortDirection: this.sort().direction
}); });
} }
@ -358,8 +357,8 @@ export class GfAdminMarketDataComponent implements AfterViewInit, OnInit {
? Number.MAX_SAFE_INTEGER ? Number.MAX_SAFE_INTEGER
: DEFAULT_PAGE_SIZE; : DEFAULT_PAGE_SIZE;
if (pageIndex === 0 && this.paginator) { if (pageIndex === 0 && this.paginator()) {
this.paginator.pageIndex = 0; this.paginator().pageIndex = 0;
} }
this.placeholder = this.placeholder =
@ -389,7 +388,7 @@ export class GfAdminMarketDataComponent implements AfterViewInit, OnInit {
}; };
}) })
); );
this.dataSource.sort = this.sort; this.dataSource.sort = this.sort();
this.isLoading = false; this.isLoading = false;

Loading…
Cancel
Save