;
constructor(protected service: SearchService,
protected sidebarService: SearchSidebarService,
@@ -116,8 +116,8 @@ export class SearchPageComponent implements OnInit {
this.scopeListRD$ = this.searchConfigService.getCurrentScope('').pipe(
switchMap((scopeId) => this.service.getScopes(scopeId))
);
- if (!isNotEmpty(this.fixedFilter$)) {
- this.fixedFilter$ = this.routeService.getRouteParameterValue('filter');
+ if (!isNotEmpty(this.configuration$)) {
+ this.configuration$ = this.routeService.getRouteParameterValue('configuration');
}
}
diff --git a/src/app/+search-page/search-page.module.ts b/src/app/+search-page/search-page.module.ts
index 65558eae17..d7d66d854c 100644
--- a/src/app/+search-page/search-page.module.ts
+++ b/src/app/+search-page/search-page.module.ts
@@ -17,9 +17,7 @@ import { SearchFiltersComponent } from './search-filters/search-filters.componen
import { SearchFilterComponent } from './search-filters/search-filter/search-filter.component';
import { SearchFacetFilterComponent } from './search-filters/search-filter/search-facet-filter/search-facet-filter.component';
import { SearchFilterService } from './search-filters/search-filter/search-filter.service';
-import { FilteredSearchPageComponent } from './filtered-search-page.component';
import { SearchFixedFilterService } from './search-filters/search-filter/search-fixed-filter.service';
-import { FilteredSearchPageGuard } from './filtered-search-page.guard';
import { SearchLabelsComponent } from './search-labels/search-labels.component';
import { SearchRangeFilterComponent } from './search-filters/search-filter/search-range-filter/search-range-filter.component';
import { SearchTextFilterComponent } from './search-filters/search-filter/search-text-filter/search-text-filter.component';
@@ -32,6 +30,9 @@ import { SearchFacetSelectedOptionComponent } from './search-filters/search-filt
import { SearchFacetRangeOptionComponent } from './search-filters/search-filter/search-facet-filter-options/search-facet-range-option/search-facet-range-option.component';
import { SearchSwitchConfigurationComponent } from './search-switch-configuration/search-switch-configuration.component';
import { SearchAuthorityFilterComponent } from './search-filters/search-filter/search-authority-filter/search-authority-filter.component';
+import { ConfigurationSearchPageComponent } from './configuration-search-page.component';
+import { ConfigurationSearchPageGuard } from './configuration-search-page.guard';
+import { FilteredSearchPageComponent } from './filtered-search-page.component';
const effects = [
SearchSidebarEffects
@@ -60,7 +61,8 @@ const components = [
SearchFacetRangeOptionComponent,
SearchSwitchConfigurationComponent,
SearchAuthorityFilterComponent,
- FilteredSearchPageComponent
+ FilteredSearchPageComponent,
+ ConfigurationSearchPageComponent
];
@NgModule({
@@ -76,7 +78,7 @@ const components = [
SearchSidebarService,
SearchFilterService,
SearchFixedFilterService,
- FilteredSearchPageGuard,
+ ConfigurationSearchPageGuard,
SearchFilterService,
SearchConfigurationService
],
diff --git a/src/app/+search-page/search-results/search-results.component.html b/src/app/+search-page/search-results/search-results.component.html
index 824d531155..5a1e89858b 100644
--- a/src/app/+search-page/search-results/search-results.component.html
+++ b/src/app/+search-page/search-results/search-results.component.html
@@ -1,4 +1,4 @@
-{{ getTitleKey() | translate }}
+{{ (configuration ? configuration + '.search.results.head' : 'search.results.head') | translate }}
0" @fadeIn>
} Emits the current configuration string
*/
getCurrentConfiguration(defaultConfiguration: string) {
- return this.routeService.getQueryParameterValue('configuration').pipe(map((configuration) => {
- return configuration || defaultConfiguration;
- }));
+ return observableCombineLatest(
+ this.routeService.getQueryParameterValue('configuration').pipe(startWith(undefined)),
+ this.routeService.getRouteParameterValue('configuration').pipe(startWith(undefined))
+ ).pipe(
+ map(([queryConfig, routeConfig]) => {
+ return queryConfig || routeConfig || defaultConfiguration;
+ })
+ );
}
/**
diff --git a/src/app/+search-page/search-service/search-result-element-decorator.ts b/src/app/+search-page/search-service/search-result-element-decorator.ts
index 59446480a3..e804a5d8ee 100644
--- a/src/app/+search-page/search-service/search-result-element-decorator.ts
+++ b/src/app/+search-page/search-service/search-result-element-decorator.ts
@@ -1,6 +1,6 @@
import { GenericConstructor } from '../../core/shared/generic-constructor';
import { ListableObject } from '../../shared/object-collection/shared/listable-object.model';
-import { isNull } from '../../shared/empty.util';
+import { hasNoValue, isNull } from '../../shared/empty.util';
/**
* Contains the mapping between a search result component and a DSpaceObject
@@ -34,7 +34,7 @@ export function searchResultFor(domainConstructor: GenericConstructor, configuration: string = null) {
- if (isNull(configuration) || configuration === 'default') {
+ if (isNull(configuration) || configuration === 'default' || hasNoValue(searchResultMap.get(configuration))) {
return searchResultMap.get(domainConstructor);
} else {
return searchResultMap.get(configuration).get(domainConstructor);
diff --git a/src/app/shared/dso-selector/modal-wrappers/dso-selector-modal-wrapper.component.html b/src/app/shared/dso-selector/modal-wrappers/dso-selector-modal-wrapper.component.html
index 88f4a6f917..1181e097eb 100644
--- a/src/app/shared/dso-selector/modal-wrappers/dso-selector-modal-wrapper.component.html
+++ b/src/app/shared/dso-selector/modal-wrappers/dso-selector-modal-wrapper.component.html
@@ -5,6 +5,6 @@
-
+
-
\ No newline at end of file
+
diff --git a/src/app/shared/pagination/pagination.component.html b/src/app/shared/pagination/pagination.component.html
index 22a58dd7fc..c16a153026 100644
--- a/src/app/shared/pagination/pagination.component.html
+++ b/src/app/shared/pagination/pagination.component.html
@@ -1,9 +1,9 @@