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 99eaa23a0d7..67cb800fa12 100644
--- a/src/app/shared/search/advanced-search/advanced-search.component.ts
+++ b/src/app/shared/search/advanced-search/advanced-search.component.ts
@@ -40,6 +40,7 @@ import { FilterInputSuggestionsComponent } from '../../input-suggestions/filter-
import { InputSuggestion } from '../../input-suggestions/input-suggestions.model';
import { FilterType } from '../models/filter-type.model';
import { SearchFilterConfig } from '../models/search-filter-config.model';
+import { currentPath } from '../../utils/route.utils';
/**
* This component represents the advanced search in the search sidebar.
@@ -71,6 +72,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
*/
@@ -136,11 +142,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 34427809199..67b01390ac9 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
@@ -132,7 +132,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 43fdc993919..c0b68edf7a3 100644
--- a/src/app/shared/search/search-sidebar/search-sidebar.component.html
+++ b/src/app/shared/search/search-sidebar/search-sidebar.component.html
@@ -27,6 +27,7 @@