From 0f513a06dd0f47f116b6e39b25683af8d5d3459a Mon Sep 17 00:00:00 2001 From: chuanlin2018 Date: Thu, 16 May 2024 17:23:03 -0400 Subject: [PATCH] Fixed search issue - always return all records --- .../app/adv-search/adv-search.component.ts | 30 ++++++++++++++++++- .../search-panel/search-panel.component.html | 2 +- .../search-panel/search-panel.component.ts | 6 ++-- .../app/search/filters/filters.component.ts | 1 - .../app/search/results/results.component.ts | 13 +++++--- .../config-service/config.service.spec.ts | 8 ++--- .../search-service.service.real.ts | 4 ++- .../searchfields-list.service.ts | 30 +------------------ angular/src/assets/environment.json | 4 +-- 9 files changed, 51 insertions(+), 47 deletions(-) diff --git a/angular/src/app/adv-search/adv-search.component.ts b/angular/src/app/adv-search/adv-search.component.ts index 2e1dd833c..948e67843 100644 --- a/angular/src/app/adv-search/adv-search.component.ts +++ b/angular/src/app/adv-search/adv-search.component.ts @@ -95,7 +95,7 @@ export class AdvSearchComponent extends FormCanDeactivate implements OnInit, Aft this.searchFieldsListService.watchFields( (fields) =>{ - this.fields = (fields as SelectItem[]); + this.fields = this.toFieldItems(fields); } ); } @@ -579,4 +579,32 @@ export class AdvSearchComponent extends FormCanDeactivate implements OnInit, Aft this.searchQueryService.saveQueries(this.queries); op.hide(); } + + /** + * Advanced Search fields dropdown + */ + toFieldItems(fields: any[]): SelectItem[] { + // let items: SelectItem[] = []; + // items.push({ label: this.ALL, value: 'searchphrase' }); + let fieldItems: SelectItem[] = []; + for (let field of fields) { + if (_.includes(field.tags, 'searchable')) { + let dup = false; + //For some reason, the filter function does not work for fields. Have to use this loop... + for(let item of fieldItems){ + if(item.label == field.label && item.value == field.name.replace('component.', 'components.')){ + dup = true; + break; + } + } + + if(!dup){ + fieldItems.push({ label: field.label, value: field.name.replace('component.', 'components.') }); + } + } + }; + fieldItems = _.sortBy(fieldItems, ['label', 'value']); + + return fieldItems; + } } diff --git a/angular/src/app/search-panel/search-panel.component.html b/angular/src/app/search-panel/search-panel.component.html index 58946f3ab..993773f58 100644 --- a/angular/src/app/search-panel/search-panel.component.html +++ b/angular/src/app/search-panel/search-panel.component.html @@ -18,7 +18,7 @@

{{title}}