From dd2317699acb7ec50db084647e3c5b13c3ff94d2 Mon Sep 17 00:00:00 2001 From: Jens Vannerum Date: Mon, 19 Sep 2022 10:11:40 +0200 Subject: [PATCH] make search-settings.component themed --- .../themed-search-settings.component.ts | 33 +++++++++++++++++++ src/app/shared/search/search.module.ts | 2 ++ .../search-settings.component.html | 0 .../search-settings.component.scss | 0 .../search-settings.component.ts | 31 +++++++++++++++++ src/themes/custom/theme.module.ts | 4 ++- 6 files changed, 69 insertions(+), 1 deletion(-) create mode 100644 src/app/shared/search/search-settings/themed-search-settings.component.ts create mode 100644 src/themes/custom/app/shared/search-settings/search-settings.component.html create mode 100644 src/themes/custom/app/shared/search-settings/search-settings.component.scss create mode 100644 src/themes/custom/app/shared/search-settings/search-settings.component.ts diff --git a/src/app/shared/search/search-settings/themed-search-settings.component.ts b/src/app/shared/search/search-settings/themed-search-settings.component.ts new file mode 100644 index 0000000000..b1f1d08264 --- /dev/null +++ b/src/app/shared/search/search-settings/themed-search-settings.component.ts @@ -0,0 +1,33 @@ +import { Component, Input } from '@angular/core'; +import { ThemedComponent } from '../../theme-support/themed.component'; +import { SearchSettingsComponent } from './search-settings.component'; +import { SortOptions } from '../../../core/cache/models/sort-options.model'; + +/** + * Themed wrapper for SearchSettingsComponent + */ +@Component({ + selector: 'ds-themed-search-settings', + styleUrls: [], + templateUrl: '../../theme-support/themed.component.html', +}) +export class ThemedSearchSettingsComponent extends ThemedComponent { + @Input() currentSortOption: SortOptions; + @Input() sortOptionsList: SortOptions[]; + + + protected inAndOutputNames: (keyof SearchSettingsComponent & keyof this)[] = [ + 'currentSortOption', 'sortOptionsList']; + + protected getComponentName(): string { + return 'SearchSettingsComponent'; + } + + protected importThemedComponent(themeName: string): Promise { + return import(`../../../../themes/${themeName}/app/shared/search/search-settings/search-settings.component`); + } + + protected importUnthemedComponent(): Promise { + return import('./search-settings.component'); + } +} diff --git a/src/app/shared/search/search.module.ts b/src/app/shared/search/search.module.ts index 668d260c23..51ba17c6cf 100644 --- a/src/app/shared/search/search.module.ts +++ b/src/app/shared/search/search.module.ts @@ -28,12 +28,14 @@ import { MissingTranslationHelper } from '../translate/missing-translation.helpe import { SharedModule } from '../shared.module'; import { SearchResultsComponent } from './search-results/search-results.component'; import { SearchComponent } from './search.component'; +import { ThemedSearchSettingsComponent } from './search-settings/themed-search-settings.component'; const COMPONENTS = [ SearchComponent, SearchResultsComponent, SearchSidebarComponent, SearchSettingsComponent, + ThemedSearchSettingsComponent, SearchFiltersComponent, SearchFilterComponent, SearchFacetFilterComponent, diff --git a/src/themes/custom/app/shared/search-settings/search-settings.component.html b/src/themes/custom/app/shared/search-settings/search-settings.component.html new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/themes/custom/app/shared/search-settings/search-settings.component.scss b/src/themes/custom/app/shared/search-settings/search-settings.component.scss new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/themes/custom/app/shared/search-settings/search-settings.component.ts b/src/themes/custom/app/shared/search-settings/search-settings.component.ts new file mode 100644 index 0000000000..db27ac95f4 --- /dev/null +++ b/src/themes/custom/app/shared/search-settings/search-settings.component.ts @@ -0,0 +1,31 @@ +/** + * The contents of this file are subject to the license and copyright + * detailed in the LICENSE_ATMIRE and NOTICE_ATMIRE files at the root of the source + * tree and available online at + * + * https://www.atmire.com/software-license/ + */ +import { Component } from '@angular/core'; +import { + SearchSettingsComponent as BaseComponent, +} from '../../../../../app/shared/search/search-settings/search-settings.component'; +import { SEARCH_CONFIG_SERVICE } from '../../../../../app/my-dspace-page/my-dspace-page.component'; +import { SearchConfigurationService } from '../../../../../app/core/shared/search/search-configuration.service'; + + +@Component({ + selector: 'ds-search-settings', + // styleUrls: ['./search-settings.component.scss'], + styleUrls: ['../../../../../app/shared/search/search-settings/search-settings.component.scss'], + // templateUrl: './search-settings.component.html', + templateUrl: '../../../../../app/shared/search/search-settings/search-settings.component.html', + providers: [ + { + provide: SEARCH_CONFIG_SERVICE, + useClass: SearchConfigurationService + } + ] + +}) + +export class SearchSettingsComponent extends BaseComponent {} diff --git a/src/themes/custom/theme.module.ts b/src/themes/custom/theme.module.ts index e2e97b9087..3457259792 100644 --- a/src/themes/custom/theme.module.ts +++ b/src/themes/custom/theme.module.ts @@ -84,6 +84,7 @@ import { SearchModule } from '../../app/shared/search/search.module'; import { ResourcePoliciesModule } from '../../app/shared/resource-policies/resource-policies.module'; import { ComcolModule } from '../../app/shared/comcol/comcol.module'; import { FeedbackComponent } from './app/info/feedback/feedback.component'; +import { SearchSettingsComponent } from './app/shared/search-settings/search-settings.component'; const DECLARATIONS = [ FileSectionComponent, @@ -126,7 +127,8 @@ const DECLARATIONS = [ NavbarComponent, HeaderNavbarWrapperComponent, BreadcrumbsComponent, - FeedbackComponent + FeedbackComponent, + SearchSettingsComponent ]; @NgModule({