Made SearchFiltersComponent themeable

This commit is contained in:
lotte
2023-01-11 10:27:30 +01:00
parent 28cc54e3f8
commit 9979d8664d
7 changed files with 76 additions and 4 deletions

View File

@@ -0,0 +1,35 @@
import { Component, Input } from '@angular/core';
import { ThemedComponent } from '../../theme-support/themed.component';
import { SearchFiltersComponent } from './search-filters.component';
import { Observable } from 'rxjs/internal/Observable';
/**
* Themed wrapper for SearchFiltersComponent
*/
@Component({
selector: 'ds-themed-search-filters',
styleUrls: [],
templateUrl: '../../theme-support/themed.component.html',
})
export class ThemedSearchFiltersComponent extends ThemedComponent<SearchFiltersComponent> {
@Input() currentConfiguration;
@Input() currentScope: string;
@Input() inPlaceSearch;
@Input() refreshFilters: Observable<any>;
protected inAndOutputNames: (keyof SearchFiltersComponent & keyof this)[] = [
'currentConfiguration', 'currentScope', 'inPlaceSearch', 'refreshFilters'];
protected getComponentName(): string {
return 'SearchFiltersComponent';
}
protected importThemedComponent(themeName: string): Promise<any> {
return import(`../../../../themes/${themeName}/app/shared/search/search-filters/search-filters.component`);
}
protected importUnthemedComponent(): Promise<any> {
return import('./search-filters.component');
}
}

View File

@@ -17,10 +17,10 @@
[defaultConfiguration]="configuration" [defaultConfiguration]="configuration"
[inPlaceSearch]="inPlaceSearch" [inPlaceSearch]="inPlaceSearch"
(changeConfiguration)="changeConfiguration.emit($event)"></ds-search-switch-configuration> (changeConfiguration)="changeConfiguration.emit($event)"></ds-search-switch-configuration>
<ds-search-filters [currentScope]="currentScope" <ds-themed-search-filters [currentScope]="currentScope"
[currentConfiguration]="configuration" [currentConfiguration]="configuration"
[refreshFilters]="refreshFilters" [refreshFilters]="refreshFilters"
[inPlaceSearch]="inPlaceSearch"></ds-search-filters> [inPlaceSearch]="inPlaceSearch"></ds-themed-search-filters>
<ds-search-settings [currentSortOption]="currentSortOption" [sortOptionsList]="sortOptionsList"></ds-search-settings> <ds-search-settings [currentSortOption]="currentSortOption" [sortOptionsList]="sortOptionsList"></ds-search-settings>
</div> </div>
</div> </div>

View File

@@ -29,6 +29,7 @@ import { SharedModule } from '../shared.module';
import { SearchResultsComponent } from './search-results/search-results.component'; import { SearchResultsComponent } from './search-results/search-results.component';
import { SearchComponent } from './search.component'; import { SearchComponent } from './search.component';
import { ThemedSearchComponent } from './themed-search.component'; import { ThemedSearchComponent } from './themed-search.component';
import { ThemedSearchFiltersComponent } from './search-filters/themed-search-filters.component';
const COMPONENTS = [ const COMPONENTS = [
SearchComponent, SearchComponent,
@@ -52,7 +53,8 @@ const COMPONENTS = [
SearchAuthorityFilterComponent, SearchAuthorityFilterComponent,
SearchSwitchConfigurationComponent, SearchSwitchConfigurationComponent,
ConfigurationSearchPageComponent, ConfigurationSearchPageComponent,
ThemedConfigurationSearchPageComponent ThemedConfigurationSearchPageComponent,
ThemedSearchFiltersComponent,
]; ];
const ENTRY_COMPONENTS = [ const ENTRY_COMPONENTS = [

View File

@@ -0,0 +1,32 @@
/**
* 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 {
SearchFiltersComponent as BaseComponent,
} from '../../../../../../app/shared/search/search-filters/search-filters.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-filters',
// styleUrls: ['./search-filters.component.scss'],
styleUrls: ['../../../../../../app/shared/search/search-filters/search-filters.component.scss'],
// templateUrl: './search-filters.component.html',
templateUrl: '../../../../../../app/shared/search/search-filters/search-filters.component.html',
providers: [
{
provide: SEARCH_CONFIG_SERVICE,
useClass: SearchConfigurationService
}
]
})
export class SearchFiltersComponent extends BaseComponent {
}

View File

@@ -84,6 +84,7 @@ import { SearchModule } from '../../app/shared/search/search.module';
import { ResourcePoliciesModule } from '../../app/shared/resource-policies/resource-policies.module'; import { ResourcePoliciesModule } from '../../app/shared/resource-policies/resource-policies.module';
import { ComcolModule } from '../../app/shared/comcol/comcol.module'; import { ComcolModule } from '../../app/shared/comcol/comcol.module';
import { FeedbackComponent } from './app/info/feedback/feedback.component'; import { FeedbackComponent } from './app/info/feedback/feedback.component';
import { SearchFiltersComponent } from './app/shared/search/search-filters/search-filters.component';
const DECLARATIONS = [ const DECLARATIONS = [
FileSectionComponent, FileSectionComponent,
@@ -126,7 +127,8 @@ const DECLARATIONS = [
NavbarComponent, NavbarComponent,
HeaderNavbarWrapperComponent, HeaderNavbarWrapperComponent,
BreadcrumbsComponent, BreadcrumbsComponent,
FeedbackComponent FeedbackComponent,
SearchFiltersComponent,
]; ];
@NgModule({ @NgModule({