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: '', path: '',
resolve: { breadcrumb: BrowseByDSOBreadcrumbResolver }, resolve: { breadcrumb: BrowseByDSOBreadcrumbResolver },
children: [ children: [
{
path: 'srsc',
component: ThemedBrowseByTaxonomyPageComponent,
canActivate: [BrowseByGuard],
resolve: { breadcrumb: I18nBreadcrumbResolver },
data: { title: 'browse.title.page', breadcrumbKey: 'browse.metadata.srsc' }
},
{ {
path: ':id', path: ':id',
component: ThemedBrowseBySwitcherComponent, component: ThemedBrowseBySwitcherComponent,

View File

@@ -26,7 +26,7 @@ const map = new Map();
* @param browseByType The type of page * @param browseByType The type of page
* @param theme The optional theme for the component * @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) { return function decorator(component: any) {
if (hasNoValue(map.get(browseByType))) { if (hasNoValue(map.get(browseByType))) {
map.set(browseByType, new Map()); map.set(browseByType, new Map());

View File

@@ -31,7 +31,7 @@ export class BrowseBySwitcherComponent implements OnInit {
*/ */
ngOnInit(): void { ngOnInit(): void {
this.browseByComponent = this.route.data.pipe( 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 { Component } from '@angular/core';
import { ThemedComponent } from '../../shared/theme-support/themed.component'; 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'; import { BrowseByTaxonomyPageComponent } from './browse-by-taxonomy-page.component';
@Component({ @Component({
selector: 'ds-themed-browse-by-taxonomy-page', selector: 'ds-themed-browse-by-taxonomy-page',
templateUrl: './browse-by-taxonomy-page.component.html', templateUrl: '../../shared/theme-support/themed.component.html',
styleUrls: [] styleUrls: []
}) })
/** /**
* Themed wrapper for BrowseByTaxonomyPageComponent * Themed wrapper for BrowseByTaxonomyPageComponent
*/ */
@rendersBrowseBy('hierarchy')
export class ThemedBrowseByTaxonomyPageComponent extends ThemedComponent<BrowseByTaxonomyPageComponent>{ export class ThemedBrowseByTaxonomyPageComponent extends ThemedComponent<BrowseByTaxonomyPageComponent>{
protected getComponentName(): string { 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 * A ResponseParsingService used to parse RawRestResponse coming from the REST API to a BrowseDefinition object
*/ */
@Injectable() @Injectable({
providedIn: 'root',
})
export class BrowseResponseParsingService extends DSOResponseParsingService { export class BrowseResponseParsingService extends DSOResponseParsingService {
protected objectCache: ObjectCacheService; protected objectCache: ObjectCacheService;
protected toCache: boolean; protected toCache: boolean;