diff --git a/src/app/search/search-page/search-page.component.html b/src/app/search/search-page/search-page.component.html
index 94d5da6c5..c7e08b8be 100644
--- a/src/app/search/search-page/search-page.component.html
+++ b/src/app/search/search-page/search-page.component.html
@@ -1,22 +1,68 @@
-
+
Searched query resulted more than 200 records, showing first 200 records.
-
+
-
- {{ entity.entityName }} | #{{ entity.entityAccountNo }}
-
- Entity: {{ entity.entityType }}
- | {{ ['CLIENT','GROUP', 'CENTER'].includes(entity.entityType) ? 'Office' : 'Client' }}: {{ entity.parentName }}
-
-
-
-
-
+
+ Entity Type |
+ {{entity.entityType}} |
+
+
+
+ Entity Name |
+ {{entity.entityName}} |
+
+
+
+ Account No |
+ {{entity.entityAccountNo}} |
+
+
+
+ External Id |
+ {{entity.entityExternalId | externalIdentifier}} |
+
+
+
+ Parent Type |
+ {{ ['CLIENT','GROUP', 'CENTER'].includes(entity.entityType) ? 'Office' : 'Client' }} |
+
+
+
+ Parent Name |
+ {{entity.parentName}} |
+
+
+
+ Details |
+
+
+ |
+
+
+
+
+
+
+
+
+
+
+
+
+
+ No data found
+
+
+
+
+
diff --git a/src/app/search/search-page/search-page.component.scss b/src/app/search/search-page/search-page.component.scss
index 36433b509..8b1378917 100644
--- a/src/app/search/search-page/search-page.component.scss
+++ b/src/app/search/search-page/search-page.component.scss
@@ -1,18 +1 @@
-mat-list {
- padding-top: 0px;
-}
-mat-list-item {
- .link {
- color: blue;
- text-decoration: underline;
- width: fit-content;
- &:hover{
- cursor: pointer;
- }
- }
- margin-block: 20px;
- &:hover{
- background-color: #f5f5f5;
- }
-}
diff --git a/src/app/search/search-page/search-page.component.ts b/src/app/search/search-page/search-page.component.ts
index 2ebeaa6ec..0a121b8dd 100644
--- a/src/app/search/search-page/search-page.component.ts
+++ b/src/app/search/search-page/search-page.component.ts
@@ -1,5 +1,7 @@
/** Angular Imports */
-import { Component } from '@angular/core';
+import { Component, ViewChild } from '@angular/core';
+import { MatPaginator } from '@angular/material/paginator';
+import { MatTableDataSource } from '@angular/material/table';
import { Router, ActivatedRoute } from '@angular/router';
/**
@@ -11,11 +13,16 @@ import { Router, ActivatedRoute } from '@angular/router';
styleUrls: ['./search-page.component.scss']
})
export class SearchPageComponent {
-
- /** Search Results */
- searchResults: any;
/** Flags if number of search results exceed 200 */
overload: boolean;
+ /** Datasource for loans disbursal table */
+ dataSource: MatTableDataSource;
+ /** Displayed Columns for serach results */
+ displayedColumns: string[] = ['entityType', 'entityName', 'entityAccount', 'externalId', 'parentType', 'parentName', 'details'];
+ /** Paginator for the table */
+ @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;
+
+ hasResults = false;
/**
* @param {ActivatedRoute} route Activated Route
@@ -24,10 +31,12 @@ export class SearchPageComponent {
constructor(private route: ActivatedRoute,
private router: Router) {
this.route.data.subscribe(( data: { searchResults: any }) => {
- this.searchResults = data.searchResults;
- this.overload = this.searchResults.length > 200 ? true : false;
+ this.dataSource = new MatTableDataSource(data.searchResults);
+ this.dataSource.paginator = this.paginator;
+ this.hasResults = (data.searchResults.length > 0);
+ this.overload = data.searchResults.length > 200 ? true : false;
if (this.overload) {
- this.searchResults = this.searchResults.slice(0, 200);
+ this.dataSource = new MatTableDataSource(data.searchResults.slice(0, 200));
}
});
}
@@ -39,7 +48,7 @@ export class SearchPageComponent {
navigate(entity: any) {
switch (entity.entityType) {
case 'CLIENT':
- this.router.navigate(['clients', entity.entityId]);
+ this.router.navigate(['clients', entity.entityId, 'general']);
break;
case 'CENTER':
this.router.navigate(['centers', entity.entityId]);
@@ -51,10 +60,10 @@ export class SearchPageComponent {
this.router.navigate(['clients', entity.parentId, 'shares-accounts', entity.entityId]);
break;
case 'SAVING':
- this.router.navigate(['clients', entity.parentId, 'savings-accounts', entity.entityId]);
+ this.router.navigate(['clients', entity.parentId, 'savings-accounts', entity.entityId, 'general']);
break;
case 'LOAN':
- this.router.navigate(['clients', entity.parentId, 'loans-accounts', entity.entityId]);
+ this.router.navigate(['clients', entity.parentId, 'loans-accounts', entity.entityId, 'general']);
break;
}
}
diff --git a/src/app/search/search.module.ts b/src/app/search/search.module.ts
index d20b90d35..2dd52860e 100644
--- a/src/app/search/search.module.ts
+++ b/src/app/search/search.module.ts
@@ -7,6 +7,7 @@ import { SearchRoutingModule } from './search-routing.module';
/** Custom Components */
import { SearchPageComponent } from './search-page/search-page.component';
+import { PipesModule } from 'app/pipes/pipes.module';
/**
* Search Module
@@ -15,6 +16,7 @@ import { SearchPageComponent } from './search-page/search-page.component';
declarations: [SearchPageComponent],
imports: [
SharedModule,
+ PipesModule,
SearchRoutingModule
]
})