diff --git a/src/app/shared/search/search-filters/search-filter/search-facet-filter-options/search-facet-option/search-facet-option.component.html b/src/app/shared/search/search-filters/search-filter/search-facet-filter-options/search-facet-option/search-facet-option.component.html index e2e57e7370..3c15eff127 100644 --- a/src/app/shared/search/search-filters/search-filter/search-facet-filter-options/search-facet-option/search-facet-option.component.html +++ b/src/app/shared/search/search-filters/search-filter/search-facet-filter-options/search-facet-option/search-facet-option.component.html @@ -9,6 +9,6 @@ - {{filterValue.count}} - + {{filterValue.count}} + diff --git a/src/app/shared/search/search-filters/search-filter/search-facet-filter/search-facet-filter.component.ts b/src/app/shared/search/search-filters/search-filter/search-facet-filter/search-facet-filter.component.ts index 4f226add54..edcd88cd21 100644 --- a/src/app/shared/search/search-filters/search-filter/search-facet-filter/search-facet-filter.component.ts +++ b/src/app/shared/search/search-filters/search-filter/search-facet-filter/search-facet-filter.component.ts @@ -236,22 +236,21 @@ export class SearchFacetFilterComponent implements OnInit, OnDestroy { onSubmit(data: any) { if (data.match(new RegExp(`^.+,(equals|query|authority)$`))) { this.selectedValues$.pipe(take(1)).subscribe((selectedValues) => { - if (isNotEmpty(data)) { - this.router.navigate(this.getSearchLinkParts(), { - queryParams: - { - [this.filterConfig.paramName]: [ - ...selectedValues.map((facet) => this.getFacetValue(facet)), - data - ] - }, - queryParamsHandling: 'merge' - }); - this.filter = ''; - } - this.filterSearchResults = observableOf([]); + if (isNotEmpty(data)) { + this.router.navigate(this.getSearchLinkParts(), { + queryParams: + { + [this.filterConfig.paramName]: [ + ...selectedValues.map((facet) => this.getFacetValue(facet)), + data + ] + }, + queryParamsHandling: 'merge' + }); + this.filter = ''; } - ); + this.filterSearchResults = observableOf([]); + }); } } diff --git a/src/app/shared/search/search-filters/search-filter/search-hierarchy-filter/search-hierarchy-filter.component.html b/src/app/shared/search/search-filters/search-filter/search-hierarchy-filter/search-hierarchy-filter.component.html index 49ca6fe3fd..02f2bc6336 100644 --- a/src/app/shared/search/search-filters/search-filter/search-hierarchy-filter/search-hierarchy-filter.component.html +++ b/src/app/shared/search/search-filters/search-filter/search-hierarchy-filter/search-hierarchy-filter.component.html @@ -24,7 +24,7 @@ [name]="filterConfig.paramName" [(ngModel)]="filter" (submitSuggestion)="onSubmit($event)" - (clickSuggestion)="onClick($event)" + (clickSuggestion)="onSubmit($event)" (findSuggestions)="findSuggestions($event)" ngDefaultControl > diff --git a/src/app/shared/search/search-filters/search-filter/search-hierarchy-filter/search-hierarchy-filter.component.ts b/src/app/shared/search/search-filters/search-filter/search-hierarchy-filter/search-hierarchy-filter.component.ts index b3349a5dd9..a6e9fb4a00 100644 --- a/src/app/shared/search/search-filters/search-filter/search-hierarchy-filter/search-hierarchy-filter.component.ts +++ b/src/app/shared/search/search-filters/search-filter/search-hierarchy-filter/search-hierarchy-filter.component.ts @@ -3,6 +3,7 @@ import { FilterType } from '../../../models/filter-type.model'; import { renderFacetFor } from '../search-filter-type-decorator'; import { facetLoad, SearchFacetFilterComponent } from '../search-facet-filter/search-facet-filter.component'; import { addOperatorToFilterValue } from '../../../search.utils'; +import { InputSuggestion } from '../../../../input-suggestions/input-suggestions.model'; @Component({ selector: 'ds-search-hierarchy-filter', @@ -22,6 +23,8 @@ export class SearchHierarchyFilterComponent extends SearchFacetFilterComponent i * @param data The string from the input field */ onSubmit(data: any) { - super.onSubmit(addOperatorToFilterValue(data, 'query')); + this.filterSearchResults.subscribe((filterSearchResults: InputSuggestion[]) => { + super.onSubmit(addOperatorToFilterValue(data, filterSearchResults.length ? 'equals' : 'query')); + }); } } diff --git a/src/app/shared/search/search-filters/search-filter/search-text-filter/search-text-filter.component.html b/src/app/shared/search/search-filters/search-filter/search-text-filter/search-text-filter.component.html index fdf154bc04..44aed494e3 100644 --- a/src/app/shared/search/search-filters/search-filter/search-text-filter/search-text-filter.component.html +++ b/src/app/shared/search/search-filters/search-filter/search-text-filter/search-text-filter.component.html @@ -24,7 +24,7 @@ [name]="filterConfig.paramName" [(ngModel)]="filter" (submitSuggestion)="onSubmit($event)" - (clickSuggestion)="onClick($event)" + (clickSuggestion)="onSubmit($event)" (findSuggestions)="findSuggestions($event)" ngDefaultControl> diff --git a/src/app/shared/search/search-filters/search-filter/search-text-filter/search-text-filter.component.ts b/src/app/shared/search/search-filters/search-filter/search-text-filter/search-text-filter.component.ts index cfd81c3750..62c10e4c61 100644 --- a/src/app/shared/search/search-filters/search-filter/search-text-filter/search-text-filter.component.ts +++ b/src/app/shared/search/search-filters/search-filter/search-text-filter/search-text-filter.component.ts @@ -3,6 +3,7 @@ import { FilterType } from '../../../models/filter-type.model'; import { facetLoad, SearchFacetFilterComponent } from '../search-facet-filter/search-facet-filter.component'; import { renderFacetFor } from '../search-filter-type-decorator'; import { addOperatorToFilterValue, } from '../../../search.utils'; +import { InputSuggestion } from '../../../../input-suggestions/input-suggestions.model'; /** * This component renders a simple item page. @@ -28,6 +29,8 @@ export class SearchTextFilterComponent extends SearchFacetFilterComponent implem * @param data The string from the input field */ onSubmit(data: any) { - super.onSubmit(addOperatorToFilterValue(data, 'query')); + this.filterSearchResults.subscribe((filterSearchResults: InputSuggestion[]) => { + super.onSubmit(addOperatorToFilterValue(data, filterSearchResults.length ? 'equals' : 'query')); + }); } }