@@ -11,3 +12,11 @@
+
+
+
+
diff --git a/src/app/+item-page/simple/related-entities/tabbed-related-entities-search/tabbed-related-entities-search.component.ts b/src/app/+item-page/simple/related-entities/tabbed-related-entities-search/tabbed-related-entities-search.component.ts
index c424f2d765..3b46300267 100644
--- a/src/app/+item-page/simple/related-entities/tabbed-related-entities-search/tabbed-related-entities-search.component.ts
+++ b/src/app/+item-page/simple/related-entities/tabbed-related-entities-search/tabbed-related-entities-search.component.ts
@@ -15,7 +15,11 @@ export class TabbedRelatedEntitiesSearchComponent {
* The types of relationships to fetch items for
* e.g. 'isAuthorOfPublication'
*/
- @Input() relationTypes: string[];
+ @Input() relationTypes: Array<{
+ label: string,
+ filter: string,
+ configuration?: string
+ }>;
/**
* The item to render relationships for
diff --git a/src/app/+search-page/configuration-search-page.component.ts b/src/app/+search-page/configuration-search-page.component.ts
index b1a94fc086..b36353584c 100644
--- a/src/app/+search-page/configuration-search-page.component.ts
+++ b/src/app/+search-page/configuration-search-page.component.ts
@@ -35,6 +35,12 @@ export class ConfigurationSearchPageComponent extends SearchPageComponent implem
*/
@Input() configuration: string;
+ /**
+ * The actual query for the fixed filter.
+ * If empty, the query will be determined by the route parameter called 'filter'
+ */
+ @Input() fixedFilterQuery: string;
+
constructor(protected service: SearchService,
protected sidebarService: SearchSidebarService,
protected windowService: HostWindowService,
@@ -64,7 +70,11 @@ export class ConfigurationSearchPageComponent extends SearchPageComponent implem
return this.searchConfigService.paginatedSearchOptions.pipe(
map((options: PaginatedSearchOptions) => {
const config = this.configuration || options.configuration;
- return Object.assign(options, { configuration: config });
+ const filter = this.fixedFilterQuery || options.fixedFilter;
+ return Object.assign(options, {
+ configuration: config,
+ fixedFilter: filter
+ });
})
);
}
diff --git a/src/app/+search-page/filtered-search-page.component.spec.ts b/src/app/+search-page/filtered-search-page.component.spec.ts
deleted file mode 100644
index 59ab9d7b0d..0000000000
--- a/src/app/+search-page/filtered-search-page.component.spec.ts
+++ /dev/null
@@ -1,21 +0,0 @@
-import { FilteredSearchPageComponent } from './filtered-search-page.component';
-import { async, ComponentFixture, TestBed } from '@angular/core/testing';
-import { configureSearchComponentTestingModule } from './search-page.component.spec';
-import { SearchConfigurationService } from './search-service/search-configuration.service';
-
-describe('FilteredSearchPageComponent', () => {
- let comp: FilteredSearchPageComponent;
- let fixture: ComponentFixture
;
- let searchConfigService: SearchConfigurationService;
-
- beforeEach(async(() => {
- configureSearchComponentTestingModule(FilteredSearchPageComponent);
- }));
-
- beforeEach(() => {
- fixture = TestBed.createComponent(FilteredSearchPageComponent);
- comp = fixture.componentInstance;
- searchConfigService = (comp as any).searchConfigService;
- fixture.detectChanges();
- });
-});
diff --git a/src/app/+search-page/filtered-search-page.component.ts b/src/app/+search-page/filtered-search-page.component.ts
deleted file mode 100644
index 0bcc9e14e3..0000000000
--- a/src/app/+search-page/filtered-search-page.component.ts
+++ /dev/null
@@ -1,73 +0,0 @@
-import { HostWindowService } from '../shared/host-window.service';
-import { SearchService } from './search-service/search.service';
-import { SearchSidebarService } from './search-sidebar/search-sidebar.service';
-import { SearchPageComponent } from './search-page.component';
-import { ChangeDetectionStrategy, Component, Inject, Input, OnInit } from '@angular/core';
-import { pushInOut } from '../shared/animations/push';
-import { SearchConfigurationService } from './search-service/search-configuration.service';
-import { Observable } from 'rxjs';
-import { PaginatedSearchOptions } from './paginated-search-options.model';
-import { SEARCH_CONFIG_SERVICE } from '../+my-dspace-page/my-dspace-page.component';
-import { map } from 'rxjs/operators';
-import { RouteService } from '../core/services/route.service';
-
-/**
- * This component renders a simple item page.
- * The route parameter 'id' is used to request the item it represents.
- * All fields of the item that should be displayed, are defined in its template.
- */
-@Component({
- selector: 'ds-filtered-search-page',
- styleUrls: ['./search-page.component.scss'],
- templateUrl: './search-page.component.html',
- changeDetection: ChangeDetectionStrategy.OnPush,
- animations: [pushInOut],
- providers: [
- {
- provide: SEARCH_CONFIG_SERVICE,
- useClass: SearchConfigurationService
- }
- ]
-})
-
-export class FilteredSearchPageComponent extends SearchPageComponent implements OnInit {
- /**
- * The actual query for the fixed filter.
- * If empty, the query will be determined by the route parameter called 'filter'
- */
- @Input() fixedFilterQuery: string;
-
- constructor(protected service: SearchService,
- protected sidebarService: SearchSidebarService,
- protected windowService: HostWindowService,
- @Inject(SEARCH_CONFIG_SERVICE) public searchConfigService: SearchConfigurationService,
- protected routeService: RouteService) {
- super(service, sidebarService, windowService, searchConfigService, routeService);
- }
-
- /**
- * Listening to changes in the paginated search options
- * If something changes, update the search results
- *
- * Listen to changes in the scope
- * If something changes, update the list of scopes for the dropdown
- */
- ngOnInit(): void {
- super.ngOnInit();
- }
-
- /**
- * Get the current paginated search options after updating the fixed filter using the fixedFilterQuery input
- * This is to make sure the fixed filter is included in the paginated search options, as it is not part of any
- * query or route parameters
- * @returns {Observable}
- */
- protected getSearchOptions(): Observable {
- return this.searchConfigService.paginatedSearchOptions.pipe(
- map((options: PaginatedSearchOptions) => {
- const filter = this.fixedFilterQuery || options.fixedFilter;
- return Object.assign(options, { fixedFilter: filter });
- })
- );
- }
-}
diff --git a/src/app/+search-page/search-page.module.ts b/src/app/+search-page/search-page.module.ts
index f4c665d06e..efc647f086 100644
--- a/src/app/+search-page/search-page.module.ts
+++ b/src/app/+search-page/search-page.module.ts
@@ -32,7 +32,6 @@ import { SearchAuthorityFilterComponent } from './search-filters/search-filter/s
import { SearchLabelComponent } from './search-labels/search-label/search-label.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
@@ -59,7 +58,6 @@ const components = [
SearchFacetRangeOptionComponent,
SearchSwitchConfigurationComponent,
SearchAuthorityFilterComponent,
- FilteredSearchPageComponent,
ConfigurationSearchPageComponent
];
diff --git a/src/app/entity-groups/journal-entities/item-pages/journal/journal.component.html b/src/app/entity-groups/journal-entities/item-pages/journal/journal.component.html
index 562d4b44fc..e86ab35e0e 100644
--- a/src/app/entity-groups/journal-entities/item-pages/journal/journal.component.html
+++ b/src/app/entity-groups/journal-entities/item-pages/journal/journal.component.html
@@ -37,7 +37,10 @@