mirror of
https://github.com/DSpace/dspace-angular.git
synced 2025-10-08 10:34:15 +00:00
101623: Fixes for rendersBrowseBy, BrowseResponseParsingService, BrowseByRoutingModule
This commit is contained in:
@@ -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,
|
||||||
|
@@ -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());
|
||||||
|
@@ -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()))
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -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 {
|
||||||
|
@@ -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;
|
||||||
|
Reference in New Issue
Block a user