diff --git a/src/app/clients/clients.component.html b/src/app/clients/clients.component.html
index 5e232a622..eae9e01fb 100644
--- a/src/app/clients/clients.component.html
+++ b/src/app/clients/clients.component.html
@@ -21,19 +21,19 @@
- | Name |
+ Name |
{{row.displayName}} |
- Account # |
+ Account # |
{{row.accountNo}} |
- ExternalID |
+ ExternalID |
{{row.externalId}} |
@@ -41,7 +41,7 @@
Status |
- |
@@ -61,13 +61,13 @@
- OfficeName |
+ OfficeName |
{{row.officeName}} |
- StaffName |
+ StaffName |
{{row.staffName}} |
diff --git a/src/app/clients/clients.component.ts b/src/app/clients/clients.component.ts
index 2ab1deaf1..911e61481 100644
--- a/src/app/clients/clients.component.ts
+++ b/src/app/clients/clients.component.ts
@@ -36,6 +36,7 @@ export class ClientsComponent implements OnInit, AfterViewInit {
ngOnInit() {
this.getClients();
}
+
ngAfterViewInit() {
this.sort.sortChange.subscribe(() => this.paginator.pageIndex = 0);
merge(this.sort.sortChange, this.paginator.page, this.showClosedAccounts.change)
@@ -54,9 +55,9 @@ export class ClientsComponent implements OnInit, AfterViewInit {
}
if (this.searchValue !== '') {
- this.applyFilter(this.searchValue);
+ this.applyFilter(this.searchValue);
} else {
- this.dataSource.getClients(this.sort.active, this.sort.direction, this.paginator.pageIndex, this.paginator.pageSize, !this.showClosedAccounts.checked);
+ this.dataSource.getClients(this.sort.active, this.sort.direction, this.paginator.pageIndex, this.paginator.pageSize, this.showClosedAccounts.checked);
}
}
@@ -65,16 +66,16 @@ export class ClientsComponent implements OnInit, AfterViewInit {
*/
getClients() {
this.dataSource = new ClientsDataSource(this.clientsService);
- this.dataSource.getClients(this.sort.active, this.sort.direction, this.paginator.pageIndex, this.paginator.pageSize, !this.showClosedAccounts.checked);
+ this.dataSource.getClients(this.sort.active, this.sort.direction, this.paginator.pageIndex, this.paginator.pageSize, this.showClosedAccounts.checked);
}
/**
* Filter Client Data
* @param {string} filterValue Value to filter data.
*/
- applyFilter(filterValue: string= '') {
+ applyFilter(filterValue: string = '') {
this.searchValue = filterValue;
- this.dataSource.filterClients(filterValue.trim().toLowerCase(), this.sort.active, this.sort.direction, this.paginator.pageIndex, this.paginator.pageSize, !this.showClosedAccounts.checked);
+ this.dataSource.filterClients(filterValue.trim().toLowerCase(), this.sort.active, this.sort.direction, this.paginator.pageIndex, this.paginator.pageSize, this.showClosedAccounts.checked);
}
}
diff --git a/src/app/clients/clients.datasource.ts b/src/app/clients/clients.datasource.ts
index 5630ea79d..ef63e3672 100644
--- a/src/app/clients/clients.datasource.ts
+++ b/src/app/clients/clients.datasource.ts
@@ -32,11 +32,15 @@ export class ClientsDataSource implements DataSource {
* @param {number} pageIndex Page number.
* @param {number} limit Number of clients within the page.
*/
- getClients(orderBy: string = '', sortOrder: string = '', pageIndex: number = 0, limit: number = 10, clientActive: boolean = true) {
+ getClients(orderBy: string = '', sortOrder: string = '', pageIndex: number = 0, limit: number = 10, showClosedAccounts: boolean = true) {
this.clientsSubject.next([]);
this.clientsService.getClients(orderBy, sortOrder, pageIndex * limit, limit)
.subscribe((clients: any) => {
- clients.pageItems = (clientActive) ? (clients.pageItems.filter((client: any) => client.active)) : (clients.pageItems.filter((client: any) => !client.active));
+ if (showClosedAccounts) {
+ clients.pageItems = clients.pageItems;
+ } else {
+ clients.pageItems = clients.pageItems.filter((client: any) => client.status.value !== 'Closed');
+ }
this.recordsSubject.next(clients.totalFilteredRecords);
this.clientsSubject.next(clients.pageItems);
});
@@ -64,11 +68,15 @@ export class ClientsDataSource implements DataSource {
* @param {number} pageIndex Page number.
* @param {number} limit Number of clients within the page.
*/
- filterClients(filter: string, orderBy: string = '', sortOrder: string = '', pageIndex: number = 0, limit: number = 10, clientActive: boolean = true) {
+ filterClients(filter: string, orderBy: string = '', sortOrder: string = '', pageIndex: number = 0, limit: number = 10, showClosedAccounts: boolean = true) {
this.clientsSubject.next([]);
this.clientsService.getClients(orderBy, sortOrder, pageIndex * limit, limit)
.subscribe((clients: any) => {
- clients.pageItems = clients.pageItems.filter((client: any) => client.active === clientActive && client.displayName.toLowerCase().includes(filter));
+ if (showClosedAccounts) {
+ clients.pageItems = clients.pageItems.filter((client: any) => client.displayName.toLowerCase().includes(filter));
+ } else {
+ clients.pageItems = clients.pageItems.filter((client: any) => client.status.value !== 'Closed' && client.displayName.toLowerCase().includes(filter));
+ }
this.recordsSubject.next(clients.totalFilteredRecords);
this.clientsSubject.next(clients.pageItems);
});