Skip to content

Commit faec78a

Browse files
Themed MediaViewerComponent
1 parent e4f483c commit faec78a

10 files changed

Lines changed: 63 additions & 8 deletions

File tree

src/app/item-page/item-page.module.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ import { ResearchEntitiesModule } from '../entity-groups/research-entities/resea
2727
import { ThemedItemPageComponent } from './simple/themed-item-page.component';
2828
import { ThemedFullItemPageComponent } from './full/themed-full-item-page.component';
2929
import { MediaViewerComponent } from './media-viewer/media-viewer.component';
30+
import { ThemedMediaViewerComponent } from './media-viewer/themed-media-viewer.component';
3031
import { MediaViewerVideoComponent } from './media-viewer/media-viewer-video/media-viewer-video.component';
3132
import { MediaViewerImageComponent } from './media-viewer/media-viewer-image/media-viewer-image.component';
3233
import { NgxGalleryModule } from '@kolkov/ngx-gallery';
@@ -35,7 +36,6 @@ import { VersionPageComponent } from './version-page/version-page/version-page.c
3536
import { VersionedItemComponent } from './simple/item-types/versioned-item/versioned-item.component';
3637
import { ThemedFileSectionComponent } from './simple/field-components/file-section/themed-file-section.component';
3738

38-
3939
const ENTRY_COMPONENTS = [
4040
// put only entry components that use custom decorator
4141
PublicationComponent,
@@ -63,6 +63,7 @@ const DECLARATIONS = [
6363
UploadBitstreamComponent,
6464
AbstractIncrementalListComponent,
6565
MediaViewerComponent,
66+
ThemedMediaViewerComponent,
6667
MediaViewerVideoComponent,
6768
MediaViewerImageComponent,
6869
MiradorViewerComponent,

src/app/item-page/media-viewer/media-viewer.component.spec.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ describe('MediaViewerComponent', () => {
135135

136136
it('should display a default, thumbnail', () => {
137137
const defaultThumbnail = fixture.debugElement.query(
138-
By.css('ds-media-viewer-image')
138+
By.css('ds-themed-media-viewer-image')
139139
);
140140
expect(defaultThumbnail.nativeElement).toBeDefined();
141141
});

src/app/item-page/media-viewer/media-viewer.component.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,8 @@ import { hasValue } from '../../shared/empty.util';
1313
import { followLink } from '../../shared/utils/follow-link-config.model';
1414

1515
/**
16-
* This componenet renders the media viewers
16+
* This component renders the media viewers
1717
*/
18-
1918
@Component({
2019
selector: 'ds-media-viewer',
2120
templateUrl: './media-viewer.component.html',
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
import { Component, Input } from '@angular/core';
2+
import { ThemedComponent } from '../../shared/theme-support/themed.component';
3+
import { MediaViewerComponent } from './media-viewer.component';
4+
import { Item } from '../../core/shared/item.model';
5+
6+
/**
7+
* Themed wrapper for {@link MediaViewerComponent}.
8+
*/
9+
@Component({
10+
selector: 'ds-themed-media-viewer',
11+
styleUrls: [],
12+
templateUrl: '../../shared/theme-support/themed.component.html',
13+
})
14+
export class ThemedMediaViewerComponent extends ThemedComponent<MediaViewerComponent> {
15+
16+
@Input() item: Item;
17+
@Input() videoOptions: boolean;
18+
19+
protected inAndOutputNames: (keyof MediaViewerComponent & keyof this)[] = [
20+
'item',
21+
'videoOptions',
22+
];
23+
24+
protected getComponentName(): string {
25+
return 'MediaViewerComponent';
26+
}
27+
28+
protected importThemedComponent(themeName: string): Promise<any> {
29+
return import(`../../../themes/${themeName}/app/item-page/media-viewer/media-viewer.component`);
30+
}
31+
32+
protected importUnthemedComponent(): Promise<any> {
33+
return import('./media-viewer.component');
34+
}
35+
36+
}

src/app/item-page/simple/item-types/publication/publication.component.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ <h2 class="item-page-title-field mr-auto">
2323
</ds-metadata-field-wrapper>
2424
</ng-container>
2525
<ng-container *ngIf="mediaViewer.image">
26-
<ds-media-viewer [item]="object" [videoOptions]="mediaViewer.video"></ds-media-viewer>
26+
<ds-themed-media-viewer [item]="object" [videoOptions]="mediaViewer.video"></ds-themed-media-viewer>
2727
</ng-container>
2828
<ds-themed-item-page-file-section [item]="object"></ds-themed-item-page-file-section>
2929
<ds-item-page-date-field [item]="object"></ds-item-page-date-field>

src/app/item-page/simple/item-types/untyped-item/untyped-item.component.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ <h2 class="item-page-title-field mr-auto">
2626
</ds-metadata-field-wrapper>
2727
</ng-container>
2828
<ng-container *ngIf="mediaViewer.image">
29-
<ds-media-viewer [item]="object" [videoOptions]="mediaViewer.video"></ds-media-viewer>
29+
<ds-themed-media-viewer [item]="object" [videoOptions]="mediaViewer.video"></ds-themed-media-viewer>
3030
</ng-container>
3131
<ds-themed-item-page-file-section [item]="object"></ds-themed-item-page-file-section>
3232
<ds-item-page-date-field [item]="object"></ds-item-page-date-field>

src/themes/custom/app/item-page/media-viewer/media-viewer.component.html

Whitespace-only changes.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
import { Component } from '@angular/core';
2+
import {
3+
MediaViewerComponent as BaseComponent
4+
} from '../../../../../app/item-page/media-viewer/media-viewer.component';
5+
6+
@Component({
7+
selector: 'ds-media-viewer',
8+
// templateUrl: './media-viewer.component.html',
9+
templateUrl: '../../../../../app/item-page/media-viewer/media-viewer.component.html',
10+
// styleUrls: ['./media-viewer.component.scss'],
11+
styleUrls: ['../../../../../app/item-page/media-viewer/media-viewer.component.scss'],
12+
})
13+
export class MediaViewerComponent extends BaseComponent {
14+
}

src/themes/custom/theme.module.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,8 @@ import { SearchModule } from '../../app/shared/search/search.module';
8484
import { ResourcePoliciesModule } from '../../app/shared/resource-policies/resource-policies.module';
8585
import { ComcolModule } from '../../app/shared/comcol/comcol.module';
8686
import { FeedbackComponent } from './app/info/feedback/feedback.component';
87+
import { MediaViewerComponent } from './app/item-page/media-viewer/media-viewer.component';
88+
import { NgxGalleryModule } from '@kolkov/ngx-gallery';
8789

8890
const DECLARATIONS = [
8991
FileSectionComponent,
@@ -126,7 +128,8 @@ const DECLARATIONS = [
126128
NavbarComponent,
127129
HeaderNavbarWrapperComponent,
128130
BreadcrumbsComponent,
129-
FeedbackComponent
131+
FeedbackComponent,
132+
MediaViewerComponent,
130133
];
131134

132135
@NgModule({
@@ -176,7 +179,8 @@ const DECLARATIONS = [
176179
SearchModule,
177180
FormsModule,
178181
ResourcePoliciesModule,
179-
ComcolModule
182+
ComcolModule,
183+
NgxGalleryModule,
180184
],
181185
declarations: DECLARATIONS
182186
})

0 commit comments

Comments
 (0)