diff --git a/src/app/shared/search/advanced-search/advanced-search.component.ts b/src/app/shared/search/advanced-search/advanced-search.component.ts index e7636777e36..d91a8ab9778 100644 --- a/src/app/shared/search/advanced-search/advanced-search.component.ts +++ b/src/app/shared/search/advanced-search/advanced-search.component.ts @@ -34,6 +34,7 @@ import { } from '../../empty.util'; import { FilterInputSuggestionsComponent } from '../../input-suggestions/filter-suggestions/filter-input-suggestions.component'; import { InputSuggestion } from '../../input-suggestions/input-suggestions.model'; +import { currentPath } from '../../utils/route.utils'; import { FilterType } from '../models/filter-type.model'; import { SearchFilterConfig } from '../models/search-filter-config.model'; @@ -64,6 +65,11 @@ export class AdvancedSearchComponent implements OnInit, OnDestroy { */ @Input() filtersConfig: SearchFilterConfig[]; + /** + * True when the search component should show results on the current page + */ + @Input() inPlaceSearch: boolean; + /** * The current search scope */ @@ -129,11 +135,21 @@ export class AdvancedSearchComponent implements OnInit, OnDestroy { } } + /** + * @returns {string} The base path to the search page, or the current page when inPlaceSearch is true + */ + getSearchLink(): string { + if (this.inPlaceSearch) { + return currentPath(this.router); + } + return this.searchService.getSearchLink(); + } + applyFilter(): void { if (isNotEmpty(this.currentValue)) { this.searchFilterService.minimizeAll(); this.subs.push(this.searchConfigurationService.selectNewAppliedFilterParams(this.currentFilter, this.currentValue.trim(), this.currentOperator).pipe(take(1)).subscribe((params: Params) => { - void this.router.navigate([this.searchService.getSearchLink()], { + void this.router.navigate([this.getSearchLink()], { queryParams: params, }); this.currentValue = ''; 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 743f98c42ff..58c5d9e65e1 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 @@ -137,7 +137,7 @@ export class SearchHierarchyFilterComponent extends SearchFacetFilterComponent i take(1), ).subscribe((params: Params) => { void this.router.navigate( - [this.searchService.getSearchLink()], + [this.getSearchLink()], { queryParams: params, }, diff --git a/src/app/shared/search/search-sidebar/search-sidebar.component.html b/src/app/shared/search/search-sidebar/search-sidebar.component.html index 9c9e4a90019..d6688ffd65e 100644 --- a/src/app/shared/search/search-sidebar/search-sidebar.component.html +++ b/src/app/shared/search/search-sidebar/search-sidebar.component.html @@ -32,6 +32,7 @@ }