101623: Fixes for rendersBrowseBy, BrowseResponseParsingService, BrowseByRoutingModule

This commit is contained in:
Nona Luypaert
2023-05-12 08:12:04 +02:00
parent 195ab41aac
commit 67976299de
5 changed files with 8 additions and 11 deletions

View File

@@ -14,13 +14,6 @@ import { I18nBreadcrumbResolver } from '../core/breadcrumbs/i18n-breadcrumb.reso
path: '',
resolve: { breadcrumb: BrowseByDSOBreadcrumbResolver },
children: [
{
path: 'srsc',
component: ThemedBrowseByTaxonomyPageComponent,
canActivate: [BrowseByGuard],
resolve: { breadcrumb: I18nBreadcrumbResolver },
data: { title: 'browse.title.page', breadcrumbKey: 'browse.metadata.srsc' }
},
{
path: ':id',
component: ThemedBrowseBySwitcherComponent,

View File

@@ -26,7 +26,7 @@ const map = new Map();
* @param browseByType The type of page
* @param theme The optional theme for the component
*/
export function rendersBrowseBy(browseByType: BrowseByDataType, theme = DEFAULT_THEME) {
export function rendersBrowseBy(browseByType: string, theme = DEFAULT_THEME) {
return function decorator(component: any) {
if (hasNoValue(map.get(browseByType))) {
map.set(browseByType, new Map());

View File

@@ -31,7 +31,7 @@ export class BrowseBySwitcherComponent implements OnInit {
*/
ngOnInit(): void {
this.browseByComponent = this.route.data.pipe(
map((data: { browseDefinition: FlatBrowseDefinition }) => this.getComponentByBrowseByType(data.browseDefinition.dataType, this.themeService.getThemeName()))
map((data: { browseDefinition: FlatBrowseDefinition }) => this.getComponentByBrowseByType(data.browseDefinition.getRenderType(), this.themeService.getThemeName()))
);
}

View File

@@ -1,15 +1,17 @@
import { Component } from '@angular/core';
import { ThemedComponent } from '../../shared/theme-support/themed.component';
import { rendersBrowseBy } from '../browse-by-switcher/browse-by-decorator';
import { BrowseByTaxonomyPageComponent } from './browse-by-taxonomy-page.component';
@Component({
selector: 'ds-themed-browse-by-taxonomy-page',
templateUrl: './browse-by-taxonomy-page.component.html',
templateUrl: '../../shared/theme-support/themed.component.html',
styleUrls: []
})
/**
* Themed wrapper for BrowseByTaxonomyPageComponent
*/
@rendersBrowseBy('hierarchy')
export class ThemedBrowseByTaxonomyPageComponent extends ThemedComponent<BrowseByTaxonomyPageComponent>{
protected getComponentName(): string {

View File

@@ -10,7 +10,9 @@ import { DSOResponseParsingService } from './dso-response-parsing.service';
/**
* A ResponseParsingService used to parse RawRestResponse coming from the REST API to a BrowseDefinition object
*/
@Injectable()
@Injectable({
providedIn: 'root',
})
export class BrowseResponseParsingService extends DSOResponseParsingService {
protected objectCache: ObjectCacheService;
protected toCache: boolean;