From fed256681044b0804eac704715f6403b4249ad15 Mon Sep 17 00:00:00 2001 From: Jose Alberto Hernandez Date: Wed, 30 Nov 2022 23:04:04 -0600 Subject: [PATCH] Enhancement for global search view --- .../search-page/search-page.component.html | 70 +++++++++++++++---- .../search-page/search-page.component.scss | 17 ----- .../search-page/search-page.component.ts | 29 +++++--- src/app/search/search.module.ts | 2 + 4 files changed, 79 insertions(+), 39 deletions(-) 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 ] })