Skip to content

Commit 5447293

Browse files
committed
Created dataset component.
1 parent b005f30 commit 5447293

4 files changed

Lines changed: 168 additions & 0 deletions

File tree

Lines changed: 107 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,107 @@
1+
@if (showBackButton$ | async) {
2+
<ds-results-back-button [back]="back"></ds-results-back-button>
3+
}
4+
@if (iiifEnabled) {
5+
<div class="row">
6+
<div class="col-12">
7+
<ds-mirador-viewer id="iiif-viewer"
8+
[object]="object"
9+
[searchable]="iiifSearchEnabled"
10+
[query]="iiifQuery$ | async">
11+
</ds-mirador-viewer>
12+
</div>
13+
</div>
14+
}
15+
<div class="d-flex flex-row">
16+
<ds-item-page-title-field [item]="object" class="me-auto">
17+
</ds-item-page-title-field>
18+
<ds-dso-edit-menu></ds-dso-edit-menu>
19+
</div>
20+
<div class="row">
21+
<div class="col-12 col-md-4">
22+
@if (!(mediaViewer.image || mediaViewer.video)) {
23+
<ds-metadata-field-wrapper [hideIfNoTextContent]="false">
24+
<ds-thumbnail [thumbnail]="object?.thumbnail | async"></ds-thumbnail>
25+
</ds-metadata-field-wrapper>
26+
}
27+
@if (mediaViewer.image || mediaViewer.video) {
28+
<div class="mb-2">
29+
<ds-media-viewer [item]="object"></ds-media-viewer>
30+
</div>
31+
}
32+
<ds-item-page-date-field [item]="object"></ds-item-page-date-field>
33+
<ds-metadata-representation-list class="ds-item-page-mixed-author-field"
34+
[parentItem]="object"
35+
[itemType]="'Person'"
36+
[metadataFields]="['dc.contributor.author', 'dc.creator']"
37+
[label]="'item.page.authors' | translate">
38+
</ds-metadata-representation-list>
39+
</div>
40+
<div class="col-12 col-md-7">
41+
<ds-related-items
42+
[parentItem]="object"
43+
[relationType]="'isProjectOfDataset'"
44+
[label]="'item.page.projects' | translate">
45+
</ds-related-items>
46+
<ds-related-items
47+
[parentItem]="object"
48+
[relationType]="'isOrgUnitOfDataset'"
49+
[label]="'item.page.org-units' | translate">
50+
</ds-related-items>
51+
<ds-related-items
52+
[parentItem]="object"
53+
[relationType]="'isPublicationOfDataset'"
54+
[label]="'item.page.journal-issue' | translate">
55+
</ds-related-items>
56+
<ds-item-page-abstract-field [item]="object"></ds-item-page-abstract-field>
57+
<ds-generic-item-page-field [item]="object"
58+
[fields]="['dc.description']"
59+
[label]="'dataset.page.description'">
60+
</ds-generic-item-page-field>
61+
62+
<ds-generic-item-page-field [item]="object"
63+
[fields]="['dc.subject']"
64+
[separator]="', '"
65+
[label]="'item.page.subject'">
66+
</ds-generic-item-page-field>
67+
<ds-generic-item-page-field [item]="object"
68+
[fields]="['dc.identifier.citation']"
69+
[label]="'item.page.citation'">
70+
</ds-generic-item-page-field>
71+
<ds-item-page-uri-field [item]="object"
72+
[fields]="['dc.identifier.uri']"
73+
[label]="'item.page.uri'">
74+
</ds-item-page-uri-field>
75+
<ds-item-page-collections [item]="object"></ds-item-page-collections>
76+
<ds-item-page-uri-field [item]="object"
77+
[fields]="['coar.notify.endorsedBy']"
78+
[label]="'item.page.endorsement'">
79+
</ds-item-page-uri-field>
80+
<ds-item-page-uri-field [item]="object"
81+
[fields]="['datacite.relation.isSupplementedBy']"
82+
[label]="'item.page.supplemented'">
83+
</ds-item-page-uri-field>
84+
<ds-item-page-uri-field [item]="object"
85+
[fields]="['datacite.relation.isReferencedBy']"
86+
[label]="'item.page.referenced'">
87+
</ds-item-page-uri-field>
88+
@if (geospatialItemPageFieldsEnabled) {
89+
<ds-geospatial-item-page-field [item]="object"
90+
[label]="'item.page.places'"
91+
[pointFields]="['dcterms.spatial']"
92+
[bboxFields]="['dcterms.spatial']"
93+
[cluster]="true"
94+
>
95+
</ds-geospatial-item-page-field>
96+
}
97+
<div>
98+
<a class="btn btn-outline-primary" role="button" [routerLink]="[itemPageRoute + '/full']" tabindex="0">
99+
<i class="fas fa-info-circle"></i> {{"item.page.link.full" | translate}}
100+
</a>
101+
</div>
102+
</div>
103+
<div class="col-12">
104+
<ds-extended-file-section [item]="object">
105+
</ds-extended-file-section>
106+
</div>
107+
</div>

src/app/item-page/simple/item-types/dataset/dataset.component.scss

Whitespace-only changes.
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
import { AsyncPipe } from '@angular/common';
2+
import { Component } from '@angular/core';
3+
import { RouterLink } from '@angular/router';
4+
import { ViewMode } from '@dspace/core/shared/view-mode.model';
5+
import { TranslatePipe } from '@ngx-translate/core';
6+
7+
import { DsoEditMenuComponent } from '../../../../shared/dso-page/dso-edit-menu/dso-edit-menu.component';
8+
import { MetadataFieldWrapperComponent } from '../../../../shared/metadata-field-wrapper/metadata-field-wrapper.component';
9+
import { listableObjectComponent } from '../../../../shared/object-collection/shared/listable-object/listable-object.decorator';
10+
import { ThemedResultsBackButtonComponent } from '../../../../shared/results-back-button/themed-results-back-button.component';
11+
import { ThemedThumbnailComponent } from '../../../../thumbnail/themed-thumbnail.component';
12+
import { CollectionsComponent } from '../../../field-components/collections/collections.component';
13+
import { ThemedMediaViewerComponent } from '../../../media-viewer/themed-media-viewer.component';
14+
import { MiradorViewerComponent } from '../../../mirador-viewer/mirador-viewer.component';
15+
import { ExtendedFileSectionComponent } from '../../field-components/extended-file-section/extended-file-section.component';
16+
import { ItemPageAbstractFieldComponent } from '../../field-components/specific-field/abstract/item-page-abstract-field.component';
17+
import { ItemPageDateFieldComponent } from '../../field-components/specific-field/date/item-page-date-field.component';
18+
import { GenericItemPageFieldComponent } from '../../field-components/specific-field/generic/generic-item-page-field.component';
19+
import { GeospatialItemPageFieldComponent } from '../../field-components/specific-field/geospatial/geospatial-item-page-field.component';
20+
import { ThemedItemPageTitleFieldComponent } from '../../field-components/specific-field/title/themed-item-page-field.component';
21+
import { ItemPageUriFieldComponent } from '../../field-components/specific-field/uri/item-page-uri-field.component';
22+
import { ThemedMetadataRepresentationListComponent } from '../../metadata-representation-list/themed-metadata-representation-list.component';
23+
import { RelatedItemsComponent } from '../../related-items/related-items-component';
24+
import { ItemComponent } from '../shared/item.component';
25+
26+
/**
27+
* Component that represents a Dataset Item page
28+
*/
29+
30+
@listableObjectComponent('Dataset', ViewMode.StandalonePage)
31+
@Component({
32+
selector: 'ds-dataset',
33+
imports: [
34+
AsyncPipe,
35+
CollectionsComponent,
36+
DsoEditMenuComponent,
37+
ExtendedFileSectionComponent,
38+
GenericItemPageFieldComponent,
39+
GeospatialItemPageFieldComponent,
40+
ItemPageAbstractFieldComponent,
41+
ItemPageDateFieldComponent,
42+
ItemPageUriFieldComponent,
43+
MetadataFieldWrapperComponent,
44+
MiradorViewerComponent,
45+
RelatedItemsComponent,
46+
RouterLink,
47+
ThemedItemPageTitleFieldComponent,
48+
ThemedMediaViewerComponent,
49+
ThemedMetadataRepresentationListComponent,
50+
ThemedResultsBackButtonComponent,
51+
ThemedThumbnailComponent,
52+
TranslatePipe,
53+
],
54+
templateUrl: './dataset.component.html',
55+
styleUrl: './dataset.component.scss',
56+
})
57+
export class DatasetComponent extends ItemComponent {
58+
59+
}

src/app/shared/listable.module.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,7 @@ import { PublicationSidebarSearchListElementComponent } from './object-list/side
123123
import { ThemedResultsBackButtonComponent } from './results-back-button/themed-results-back-button.component';
124124
import { TruncatableComponent } from './truncatable/truncatable.component';
125125
import { TruncatablePartComponent } from './truncatable/truncatable-part/truncatable-part.component';
126+
import {DatasetComponent} from "../item-page/simple/item-types/dataset/dataset.component";
126127

127128
const ENTRY_COMPONENTS = [
128129
...THEME_LISTABLE_COMPONENTS,
@@ -208,6 +209,7 @@ const ENTRY_COMPONENTS = [
208209
PoolSearchResultDetailElementComponent,
209210
ItemSearchResultListElementSubmissionComponent,
210211
PublicationComponent,
212+
DatasetComponent,
211213
UntypedItemComponent,
212214
];
213215

0 commit comments

Comments
 (0)