Skip to content

Commit 6fa9eb8

Browse files
authored
Merge pull request #1842 from the-library-code/PRs/AdditionalThemedComponents
additional themed components
2 parents 7b42446 + d73c163 commit 6fa9eb8

File tree

50 files changed

+628
-58
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

50 files changed

+628
-58
lines changed

src/app/browse-by/browse-by-date-page/browse-by-date-page.component.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ import { ActivatedRoute, Params, Router } from '@angular/router';
1111
import { BrowseService } from '../../core/browse/browse.service';
1212
import { DSpaceObjectDataService } from '../../core/data/dspace-object-data.service';
1313
import { StartsWithType } from '../../shared/starts-with/starts-with-decorator';
14-
import { BrowseByDataType, rendersBrowseBy } from '../browse-by-switcher/browse-by-decorator';
1514
import { PaginationService } from '../../core/pagination/pagination.service';
1615
import { map } from 'rxjs/operators';
1716
import { PaginationComponentOptions } from '../../shared/pagination/pagination-component-options.model';
@@ -29,7 +28,6 @@ import { AppConfig, APP_CONFIG } from '../../../config/app-config.interface';
2928
* A metadata definition (a.k.a. browse id) is a short term used to describe one or multiple metadata fields.
3029
* An example would be 'dateissued' for 'dc.date.issued'
3130
*/
32-
@rendersBrowseBy(BrowseByDataType.Date)
3331
export class BrowseByDatePageComponent extends BrowseByMetadataPageComponent {
3432

3533
/**
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
import {Component} from '@angular/core';
2+
import { ThemedComponent } from '../../shared/theme-support/themed.component';
3+
import { BrowseByDatePageComponent } from './browse-by-date-page.component';
4+
import {BrowseByDataType, rendersBrowseBy} from '../browse-by-switcher/browse-by-decorator';
5+
6+
/**
7+
* Themed wrapper for BrowseByDatePageComponent
8+
* */
9+
@Component({
10+
selector: 'ds-themed-browse-by-metadata-page',
11+
styleUrls: [],
12+
templateUrl: '../../shared/theme-support/themed.component.html',
13+
})
14+
15+
@rendersBrowseBy(BrowseByDataType.Date)
16+
export class ThemedBrowseByDatePageComponent
17+
extends ThemedComponent<BrowseByDatePageComponent> {
18+
protected getComponentName(): string {
19+
return 'BrowseByDatePageComponent';
20+
}
21+
22+
protected importThemedComponent(themeName: string): Promise<any> {
23+
return import(`../../../themes/${themeName}/app/browse-by/browse-by-date-page/browse-by-date-page.component`);
24+
}
25+
26+
protected importUnthemedComponent(): Promise<any> {
27+
return import(`./browse-by-date-page.component`);
28+
}
29+
}

src/app/browse-by/browse-by-metadata-page/browse-by-metadata-page.component.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,10 @@
66
<ds-comcol-page-header [name]="parentContext.name">
77
</ds-comcol-page-header>
88
<!-- Handle -->
9-
<ds-comcol-page-handle
9+
<ds-themed-comcol-page-handle
1010
[content]="parentContext.handle"
1111
[title]="parentContext.type+'.page.handle'" >
12-
</ds-comcol-page-handle>
12+
</ds-themed-comcol-page-handle>
1313
<!-- Introductory text -->
1414
<ds-comcol-page-content [content]="parentContext.introductoryText" [hasInnerHtml]="true">
1515
</ds-comcol-page-content>

src/app/browse-by/browse-by-metadata-page/browse-by-metadata-page.component.ts

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { combineLatest as observableCombineLatest, Observable, Subscription } from 'rxjs';
2-
import { Component, Inject, OnInit } from '@angular/core';
2+
import { Component, Inject, OnInit, OnDestroy } from '@angular/core';
33
import { RemoteData } from '../../core/data/remote-data';
44
import { PaginatedList } from '../../core/data/paginated-list.model';
55
import { PaginationComponentOptions } from '../../shared/pagination/pagination-component-options.model';
@@ -14,7 +14,6 @@ import { getFirstSucceededRemoteData } from '../../core/shared/operators';
1414
import { DSpaceObjectDataService } from '../../core/data/dspace-object-data.service';
1515
import { DSpaceObject } from '../../core/shared/dspace-object.model';
1616
import { StartsWithType } from '../../shared/starts-with/starts-with-decorator';
17-
import { BrowseByDataType, rendersBrowseBy } from '../browse-by-switcher/browse-by-decorator';
1817
import { PaginationService } from '../../core/pagination/pagination.service';
1918
import { map } from 'rxjs/operators';
2019
import { APP_CONFIG, AppConfig } from '../../../config/app-config.interface';
@@ -32,8 +31,7 @@ export const BBM_PAGINATION_ID = 'bbm';
3231
* or multiple metadata fields. An example would be 'author' for
3332
* 'dc.contributor.*'
3433
*/
35-
@rendersBrowseBy(BrowseByDataType.Metadata)
36-
export class BrowseByMetadataPageComponent implements OnInit {
34+
export class BrowseByMetadataPageComponent implements OnInit, OnDestroy {
3735

3836
/**
3937
* The list of browse-entries to display
@@ -93,7 +91,7 @@ export class BrowseByMetadataPageComponent implements OnInit {
9391
startsWithOptions;
9492

9593
/**
96-
* The value we're browing items for
94+
* The value we're browsing items for
9795
* - When the value is not empty, we're browsing items
9896
* - When the value is empty, we're browsing browse-entries (values for the given metadata definition)
9997
*/
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
import {Component} from '@angular/core';
2+
import { ThemedComponent } from '../../shared/theme-support/themed.component';
3+
import { BrowseByMetadataPageComponent } from './browse-by-metadata-page.component';
4+
import {BrowseByDataType, rendersBrowseBy} from '../browse-by-switcher/browse-by-decorator';
5+
6+
/**
7+
* Themed wrapper for BrowseByMetadataPageComponent
8+
**/
9+
@Component({
10+
selector: 'ds-themed-browse-by-metadata-page',
11+
styleUrls: [],
12+
templateUrl: '../../shared/theme-support/themed.component.html',
13+
})
14+
15+
@rendersBrowseBy(BrowseByDataType.Metadata)
16+
export class ThemedBrowseByMetadataPageComponent
17+
extends ThemedComponent<BrowseByMetadataPageComponent> {
18+
protected getComponentName(): string {
19+
return 'BrowseByMetadataPageComponent';
20+
}
21+
22+
protected importThemedComponent(themeName: string): Promise<any> {
23+
return import(`../../../themes/${themeName}/app/browse-by/browse-by-metadata-page/browse-by-metadata-page.component`);
24+
}
25+
26+
protected importUnthemedComponent(): Promise<any> {
27+
return import(`./browse-by-metadata-page.component`);
28+
}
29+
}

src/app/browse-by/browse-by-title-page/browse-by-title-page.component.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ import {
99
import { DSpaceObjectDataService } from '../../core/data/dspace-object-data.service';
1010
import { BrowseService } from '../../core/browse/browse.service';
1111
import { SortDirection, SortOptions } from '../../core/cache/models/sort-options.model';
12-
import { BrowseByDataType, rendersBrowseBy } from '../browse-by-switcher/browse-by-decorator';
1312
import { PaginationService } from '../../core/pagination/pagination.service';
1413
import { map } from 'rxjs/operators';
1514
import { PaginationComponentOptions } from '../../shared/pagination/pagination-component-options.model';
@@ -23,7 +22,6 @@ import { AppConfig, APP_CONFIG } from '../../../config/app-config.interface';
2322
/**
2423
* Component for browsing items by title (dc.title)
2524
*/
26-
@rendersBrowseBy(BrowseByDataType.Title)
2725
export class BrowseByTitlePageComponent extends BrowseByMetadataPageComponent {
2826

2927
public constructor(protected route: ActivatedRoute,
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
import {Component} from '@angular/core';
2+
import { ThemedComponent } from '../../shared/theme-support/themed.component';
3+
import { BrowseByTitlePageComponent } from './browse-by-title-page.component';
4+
import {BrowseByDataType, rendersBrowseBy} from '../browse-by-switcher/browse-by-decorator';
5+
6+
/**
7+
* Themed wrapper for BrowseByTitlePageComponent
8+
*/
9+
@Component({
10+
selector: 'ds-themed-browse-by-title-page',
11+
styleUrls: [],
12+
templateUrl: '../../shared/theme-support/themed.component.html',
13+
})
14+
15+
@rendersBrowseBy(BrowseByDataType.Title)
16+
export class ThemedBrowseByTitlePageComponent
17+
extends ThemedComponent<BrowseByTitlePageComponent> {
18+
protected getComponentName(): string {
19+
return 'BrowseByTitlePageComponent';
20+
}
21+
22+
protected importThemedComponent(themeName: string): Promise<any> {
23+
return import(`../../../themes/${themeName}/app/browse-by/browse-by-title-page/browse-by-title-page.component`);
24+
}
25+
26+
protected importUnthemedComponent(): Promise<any> {
27+
return import(`./browse-by-title-page.component`);
28+
}
29+
}

src/app/browse-by/browse-by.module.ts

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,20 @@ import { BrowseByDatePageComponent } from './browse-by-date-page/browse-by-date-
77
import { BrowseBySwitcherComponent } from './browse-by-switcher/browse-by-switcher.component';
88
import { ThemedBrowseBySwitcherComponent } from './browse-by-switcher/themed-browse-by-switcher.component';
99
import { ComcolModule } from '../shared/comcol/comcol.module';
10+
import { ThemedBrowseByMetadataPageComponent } from './browse-by-metadata-page/themed-browse-by-metadata-page.component';
11+
import { ThemedBrowseByDatePageComponent } from './browse-by-date-page/themed-browse-by-date-page.component';
12+
import { ThemedBrowseByTitlePageComponent } from './browse-by-title-page/themed-browse-by-title-page.component';
1013

1114
const ENTRY_COMPONENTS = [
1215
// put only entry components that use custom decorator
1316
BrowseByTitlePageComponent,
1417
BrowseByMetadataPageComponent,
15-
BrowseByDatePageComponent
18+
BrowseByDatePageComponent,
19+
20+
ThemedBrowseByMetadataPageComponent,
21+
ThemedBrowseByDatePageComponent,
22+
ThemedBrowseByTitlePageComponent,
23+
1624
];
1725

1826
@NgModule({

src/app/collection-page/collection-page.component.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,10 @@
1717
</ds-comcol-page-logo>
1818

1919
<!-- Handle -->
20-
<ds-comcol-page-handle
20+
<ds-themed-comcol-page-handle
2121
[content]="collection.handle"
2222
[title]="'collection.page.handle'" >
23-
</ds-comcol-page-handle>
23+
</ds-themed-comcol-page-handle>
2424
<!-- Introductory text -->
2525
<ds-comcol-page-content
2626
[content]="collection.introductoryText"

src/app/community-page/community-page.component.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@
1010
<ds-comcol-page-logo *ngIf="logoRD$" [logo]="(logoRD$ | async)?.payload" [alternateText]="'Community Logo'">
1111
</ds-comcol-page-logo>
1212
<!-- Handle -->
13-
<ds-comcol-page-handle [content]="communityPayload.handle" [title]="'community.page.handle'">
14-
</ds-comcol-page-handle>
13+
<ds-themed-comcol-page-handle [content]="communityPayload.handle" [title]="'community.page.handle'">
14+
</ds-themed-comcol-page-handle>
1515
<!-- Introductory text -->
1616
<ds-comcol-page-content [content]="communityPayload.introductoryText" [hasInnerHtml]="true">
1717
</ds-comcol-page-content>

0 commit comments

Comments
 (0)