Skip to content

Commit a95a192

Browse files
authored
Merge pull request #5210 from alexandrevryghem/w2p-139085_search-fixes_contribute-main
Fix hierarchical & advanced search redirecting to global /search
2 parents 922bf32 + d98deb0 commit a95a192

3 files changed

Lines changed: 19 additions & 2 deletions

File tree

src/app/shared/search/advanced-search/advanced-search.component.ts

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ import {
1515
APP_CONFIG,
1616
AppConfig,
1717
} from '@dspace/config/app-config.interface';
18+
import { currentPath } from '@dspace/core/router/utils/route.utils';
1819
import { FilterType } from '@dspace/core/shared/search/models/filter-type.model';
1920
import { SearchFilterConfig } from '@dspace/core/shared/search/models/search-filter-config.model';
2021
import { FilterConfig } from '@dspace/core/shared/search/search-filters/search-config.model';
@@ -64,6 +65,11 @@ export class AdvancedSearchComponent implements OnInit, OnDestroy {
6465
*/
6566
@Input() filtersConfig: SearchFilterConfig[];
6667

68+
/**
69+
* True when the search component should show results on the current page
70+
*/
71+
@Input() inPlaceSearch: boolean;
72+
6773
/**
6874
* The current search scope
6975
*/
@@ -129,11 +135,21 @@ export class AdvancedSearchComponent implements OnInit, OnDestroy {
129135
}
130136
}
131137

138+
/**
139+
* @returns {string} The base path to the search page, or the current page when inPlaceSearch is true
140+
*/
141+
getSearchLink(): string {
142+
if (this.inPlaceSearch) {
143+
return currentPath(this.router);
144+
}
145+
return this.searchService.getSearchLink();
146+
}
147+
132148
applyFilter(): void {
133149
if (isNotEmpty(this.currentValue)) {
134150
this.searchFilterService.minimizeAll();
135151
this.subs.push(this.searchConfigurationService.selectNewAppliedFilterParams(this.currentFilter, this.currentValue.trim(), this.currentOperator).pipe(take(1)).subscribe((params: Params) => {
136-
void this.router.navigate([this.searchService.getSearchLink()], {
152+
void this.router.navigate([this.getSearchLink()], {
137153
queryParams: params,
138154
});
139155
this.currentValue = '';

src/app/shared/search/search-filters/search-filter/search-hierarchy-filter/search-hierarchy-filter.component.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,7 @@ export class SearchHierarchyFilterComponent extends SearchFacetFilterComponent i
137137
take(1),
138138
).subscribe((params: Params) => {
139139
void this.router.navigate(
140-
[this.searchService.getSearchLink()],
140+
[this.getSearchLink()],
141141
{
142142
queryParams: params,
143143
},

src/app/shared/search/search-sidebar/search-sidebar.component.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
<ds-advanced-search
3333
[configuration]="configuration"
3434
[filtersConfig]="(filters | async)?.payload"
35+
[inPlaceSearch]="inPlaceSearch"
3536
[scope]="currentScope">
3637
</ds-advanced-search>
3738
}

0 commit comments

Comments
 (0)