Files
cbsnexora/src/app/clients/clients.component.ts
T
Jivjyot SinghandAbhay Chawla 963ec68527 refactor: Clients Module
- refactors clients-routing.module.ts for dynamic breadcrumbs.
- refactors clients.service.ts to use HttpClient
- adds resolver to load client data
- removes partially implemented components

fixes: #409
2019-12-01 23:20:51 +03:00

49 lines
1.6 KiB
TypeScript

import { Component, OnInit, ViewChild, ViewEncapsulation } from '@angular/core';
import { MatPaginator, MatSort, MatTableDataSource } from '@angular/material';
import { ActivatedRoute } from '@angular/router';
@Component({
selector: 'mifosx-clients',
templateUrl: './clients.component.html',
styleUrls: ['./clients.component.scss'],
encapsulation: ViewEncapsulation.None
})
export class ClientsComponent implements OnInit {
post: any = [];
displayedColumns = ['name', 'clientno', 'externalid', 'status', 'mobileNo', 'gender', 'office', 'staff'];
dataSource = new MatTableDataSource();
@ViewChild(MatPaginator) paginator: MatPaginator;
@ViewChild(MatSort) sort: MatSort;
constructor(private route: ActivatedRoute) {
this.route.data.subscribe((clientsData: { clientsData: any }) => {
const res = clientsData.clientsData.pageItems;
res.active = !!res.active;
this.dataSource = new MatTableDataSource(res);
this.dataSource.paginator = this.paginator;
this.dataSource.sortingDataAccessor = (data: any, property: any) => {
switch (property) {
case 'gender': return data.gender.name;
default: return data[property];
}
};
this.dataSource.sort = this.sort;
});
}
ngOnInit() { }
applyFilter(filterValue: string) {
filterValue = filterValue.trim(); // Remove whitespace
filterValue = filterValue.toLowerCase(); // Datasource defaults to lowercase matches
this.dataSource.filter = filterValue;
if (this.dataSource.paginator) {
this.dataSource.paginator.firstPage();
}
}
}