Skip to content

Commit 5455e04

Browse files
authored
Merge pull request #5675 from atmire/w2p-141526_search-fixes_contribute-8_x
[Port dspace-8_x] Fix hierarchical & advanced search redirecting to global /search
2 parents f1e96b9 + 4d357f1 commit 5455e04

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
@@ -38,6 +38,7 @@ import {
3838
} from '../../empty.util';
3939
import { FilterInputSuggestionsComponent } from '../../input-suggestions/filter-suggestions/filter-input-suggestions.component';
4040
import { InputSuggestion } from '../../input-suggestions/input-suggestions.model';
41+
import { currentPath } from '../../utils/route.utils';
4142
import { FilterType } from '../models/filter-type.model';
4243
import { SearchFilterConfig } from '../models/search-filter-config.model';
4344

@@ -71,6 +72,11 @@ export class AdvancedSearchComponent implements OnInit, OnDestroy {
7172
*/
7273
@Input() filtersConfig: SearchFilterConfig[];
7374

75+
/**
76+
* True when the search component should show results on the current page
77+
*/
78+
@Input() inPlaceSearch: boolean;
79+
7480
/**
7581
* The current search scope
7682
*/
@@ -136,11 +142,21 @@ export class AdvancedSearchComponent implements OnInit, OnDestroy {
136142
}
137143
}
138144

145+
/**
146+
* @returns {string} The base path to the search page, or the current page when inPlaceSearch is true
147+
*/
148+
getSearchLink(): string {
149+
if (this.inPlaceSearch) {
150+
return currentPath(this.router);
151+
}
152+
return this.searchService.getSearchLink();
153+
}
154+
139155
applyFilter(): void {
140156
if (isNotEmpty(this.currentValue)) {
141157
this.searchFilterService.minimizeAll();
142158
this.subs.push(this.searchConfigurationService.selectNewAppliedFilterParams(this.currentFilter, this.currentValue.trim(), this.currentOperator).pipe(take(1)).subscribe((params: Params) => {
143-
void this.router.navigate([this.searchService.getSearchLink()], {
159+
void this.router.navigate([this.getSearchLink()], {
144160
queryParams: params,
145161
});
146162
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
@@ -132,7 +132,7 @@ export class SearchHierarchyFilterComponent extends SearchFacetFilterComponent i
132132
take(1),
133133
).subscribe((params: Params) => {
134134
void this.router.navigate(
135-
[this.searchService.getSearchLink()],
135+
[this.getSearchLink()],
136136
{
137137
queryParams: params,
138138
},

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
<ds-advanced-search *ngIf="inPlaceSearch && (this.showAdvancedSearch$ | async) === true"
2828
[configuration]="configuration"
2929
[filtersConfig]="(filters | async)?.payload"
30+
[inPlaceSearch]="inPlaceSearch"
3031
[scope]="currentScope">
3132
</ds-advanced-search>
3233
<ds-search-settings *ngIf="inPlaceSearch"

0 commit comments

Comments
 (0)