Merge pull request #420 from atmire/w2p-62651_Item-display-and-lists-field-changes

DS-4223 Metadata Schemas for configurable entities
This commit is contained in:
Tim Donohue
2019-07-12 19:21:27 +02:00
committed by GitHub
28 changed files with 202 additions and 158 deletions

View File

@@ -386,7 +386,10 @@
"titleprefix": "Publication: ", "titleprefix": "Publication: ",
"journal-title": "Journal Title", "journal-title": "Journal Title",
"journal-issn": "Journal ISSN", "journal-issn": "Journal ISSN",
"volume-title": "Volume Title" "volume-title": "Volume Title",
"publisher": "Publisher",
"description": "Description"
}, },
"listelement": { "listelement": {
"badge": "Publication" "badge": "Publication"
@@ -609,6 +612,34 @@
"birthDate": { "birthDate": {
"placeholder": "Birth Date", "placeholder": "Birth Date",
"head": "Birth Date" "head": "Birth Date"
},
"creativeWorkPublisher": {
"placeholder": "Publisher",
"head": "Publisher"
},
"creativeWorkEditor": {
"placeholder": "Editor",
"head": "Editor"
},
"creativeWorkKeywords": {
"placeholder": "Subject",
"head": "Subject"
},
"creativeDatePublished": {
"placeholder": "Date Published",
"head": "Date Published"
},
"organizationAddressCountry": {
"placeholder": "Country",
"head": "Country"
},
"organizationAddressLocality": {
"placeholder": "City",
"head": "City"
},
"organizationFoundingDate": {
"placeholder": "Date Founded",
"head": "Date Founded"
} }
} }
} }

View File

@@ -21,6 +21,10 @@
[fields]="['journalvolume.identifier.name']" [fields]="['journalvolume.identifier.name']"
[label]="'publication.page.volume-title'"> [label]="'publication.page.volume-title'">
</ds-generic-item-page-field> </ds-generic-item-page-field>
<ds-generic-item-page-field [item]="item"
[fields]="['dc.publisher']"
[label]="'publication.page.publisher'">
</ds-generic-item-page-field>
</div> </div>
<div class="col-xs-12 col-md-6"> <div class="col-xs-12 col-md-6">
<ds-metadata-representation-list <ds-metadata-representation-list
@@ -40,6 +44,11 @@
[label]="'relationships.isJournalIssueOf' | translate"> [label]="'relationships.isJournalIssueOf' | translate">
</ds-related-items> </ds-related-items>
<ds-item-page-abstract-field [item]="item"></ds-item-page-abstract-field> <ds-item-page-abstract-field [item]="item"></ds-item-page-abstract-field>
<ds-generic-item-page-field [item]="item"
[fields]="['dc.description']"
[label]="'publication.page.description'">
</ds-generic-item-page-field>
<ds-generic-item-page-field [item]="item" <ds-generic-item-page-field [item]="item"
[fields]="['dc.subject']" [fields]="['dc.subject']"
[separator]="','" [separator]="','"

View File

@@ -4,14 +4,14 @@
[innerHTML]="firstMetadataValue('dc.title')"></a> [innerHTML]="firstMetadataValue('dc.title')"></a>
<span class="text-muted"> <span class="text-muted">
<ds-truncatable-part [id]="item.id" [minLines]="1"> <ds-truncatable-part [id]="item.id" [minLines]="1">
<span *ngIf="item.allMetadata(['journalvolume.identifier.volume']).length > 0" <span *ngIf="item.allMetadata(['publicationvolume.volumeNumber']).length > 0"
class="item-list-journal-issues"> class="item-list-journal-issues">
<span *ngFor="let value of allMetadataValues(['journalvolume.identifier.volume']); let last=last;"> <span *ngFor="let value of allMetadataValues(['publicationvolume.volumeNumber']); let last=last;">
<span [innerHTML]="value"><span [innerHTML]="value"></span></span> <span [innerHTML]="value"><span [innerHTML]="value"></span></span>
</span> </span>
<span *ngIf="item.allMetadata(['journalissue.identifier.number']).length > 0" <span *ngIf="item.allMetadata(['publicationissue.issueNumber']).length > 0"
class="item-list-journal-issue-numbers"> class="item-list-journal-issue-numbers">
<span *ngFor="let value of allMetadataValues(['journalissue.identifier.number']); let last=last;"> <span *ngFor="let value of allMetadataValues(['publicationissue.issueNumber']); let last=last;">
<span> - </span><span [innerHTML]="value"><span [innerHTML]="value"></span></span> <span> - </span><span [innerHTML]="value"><span [innerHTML]="value"></span></span>
</span> </span>
</span> </span>

View File

@@ -20,13 +20,13 @@ const mockItemWithMetadata: Item = Object.assign(new Item(), {
value: 'This is just another title' value: 'This is just another title'
} }
], ],
'journalvolume.identifier.volume': [ 'publicationvolume.volumeNumber': [
{ {
language: 'en_US', language: 'en_US',
value: '1234' value: '1234'
} }
], ],
'journalissue.identifier.number': [ 'publicationissue.issueNumber': [
{ {
language: 'en_US', language: 'en_US',
value: '5678' value: '5678'

View File

@@ -10,9 +10,9 @@
<span [innerHTML]="value"><span [innerHTML]="value"></span></span> <span [innerHTML]="value"><span [innerHTML]="value"></span></span>
</span> </span>
</span> </span>
<span *ngIf="item.allMetadata(['journalvolume.identifier.volume']).length > 0" <span *ngIf="item.allMetadata(['publicationvolume.volumeNumber']).length > 0"
class="item-list-journal-volume-identifiers"> class="item-list-journal-volume-identifiers">
<span *ngFor="let value of allMetadataValues(['journalvolume.identifier.volume']); let last=last;"> <span *ngFor="let value of allMetadataValues(['publicationvolume.volumeNumber']); let last=last;">
<span> (</span><span [innerHTML]="value"><span [innerHTML]="value"></span></span><span>)</span> <span> (</span><span [innerHTML]="value"><span [innerHTML]="value"></span></span><span>)</span>
</span> </span>
</span> </span>

View File

@@ -26,7 +26,7 @@ const mockItemWithMetadata: Item = Object.assign(new Item(), {
value: 'This is just another journal title' value: 'This is just another journal title'
} }
], ],
'journalvolume.identifier.volume': [ 'publicationvolume.volumeNumber': [
{ {
language: 'en_US', language: 'en_US',
value: '1234' value: '1234'

View File

@@ -4,9 +4,9 @@
[innerHTML]="firstMetadataValue('dc.title')"></a> [innerHTML]="firstMetadataValue('dc.title')"></a>
<span class="text-muted"> <span class="text-muted">
<ds-truncatable-part [id]="item.id" [minLines]="1"> <ds-truncatable-part [id]="item.id" [minLines]="1">
<span *ngIf="item.allMetadata(['journal.identifier.issn']).length > 0" <span *ngIf="item.allMetadata(['creativeworkseries.issn']).length > 0"
class="item-list-journals"> class="item-list-journals">
<span *ngFor="let value of allMetadataValues(['journal.identifier.issn']); let last=last;"> <span *ngFor="let value of allMetadataValues(['creativeworkseries.issn']); let last=last;">
<span [innerHTML]="value"><span [innerHTML]="value"></span></span> <span [innerHTML]="value"><span [innerHTML]="value"></span></span>
</span> </span>
</span> </span>

View File

@@ -20,7 +20,7 @@ const mockItemWithMetadata: Item = Object.assign(new Item(), {
value: 'This is just another title' value: 'This is just another title'
} }
], ],
'journal.identifier.issn': [ 'creativeworkseries.issn': [
{ {
language: 'en_US', language: 'en_US',
value: '1234' value: '1234'

View File

@@ -7,11 +7,15 @@
<ds-thumbnail [thumbnail]="this.item.getThumbnail() | async"></ds-thumbnail> <ds-thumbnail [thumbnail]="this.item.getThumbnail() | async"></ds-thumbnail>
</ds-metadata-field-wrapper> </ds-metadata-field-wrapper>
<ds-generic-item-page-field [item]="item" <ds-generic-item-page-field [item]="item"
[fields]="['journalissue.identifier.number']" [fields]="['publicationvolume.volumeNumber']"
[label]="'journalvolume.page.volume'">
</ds-generic-item-page-field>
<ds-generic-item-page-field [item]="item"
[fields]="['publicationissue.issueNumber']"
[label]="'journalissue.page.number'"> [label]="'journalissue.page.number'">
</ds-generic-item-page-field> </ds-generic-item-page-field>
<ds-generic-item-page-field [item]="item" <ds-generic-item-page-field [item]="item"
[fields]="['journalissue.issuedate']" [fields]="['creativework.datePublished']"
[label]="'journalissue.page.issuedate'"> [label]="'journalissue.page.issuedate'">
</ds-generic-item-page-field> </ds-generic-item-page-field>
<ds-generic-item-page-field [item]="item" <ds-generic-item-page-field [item]="item"
@@ -19,7 +23,7 @@
[label]="'journalissue.page.journal-title'"> [label]="'journalissue.page.journal-title'">
</ds-generic-item-page-field> </ds-generic-item-page-field>
<ds-generic-item-page-field [item]="item" <ds-generic-item-page-field [item]="item"
[fields]="['journal.identifier.issn']" [fields]="['creativeworkseries.issn']"
[label]="'journalissue.page.journal-issn'"> [label]="'journalissue.page.journal-issn'">
</ds-generic-item-page-field> </ds-generic-item-page-field>
</div> </div>
@@ -34,11 +38,11 @@
[label]="'relationships.isPublicationOfJournalIssue' | translate"> [label]="'relationships.isPublicationOfJournalIssue' | translate">
</ds-related-items> </ds-related-items>
<ds-generic-item-page-field [item]="item" <ds-generic-item-page-field [item]="item"
[fields]="['journalissue.identifier.description']" [fields]="['dc.description']"
[label]="'journalissue.page.description'"> [label]="'journalissue.page.description'">
</ds-generic-item-page-field> </ds-generic-item-page-field>
<ds-generic-item-page-field [item]="item" <ds-generic-item-page-field [item]="item"
[fields]="['journalissue.identifier.keyword']" [fields]="['creativework.keywords']"
[label]="'journalissue.page.keyword'"> [label]="'journalissue.page.keyword'">
</ds-generic-item-page-field> </ds-generic-item-page-field>
<div> <div>

View File

@@ -12,25 +12,25 @@ import {
const mockItem: Item = Object.assign(new Item(), { const mockItem: Item = Object.assign(new Item(), {
bitstreams: observableOf(new RemoteData(false, false, true, null, new PaginatedList(new PageInfo(), []))), bitstreams: observableOf(new RemoteData(false, false, true, null, new PaginatedList(new PageInfo(), []))),
metadata: { metadata: {
'journalissue.identifier.number': [ 'publicationissue.issueNumber': [
{ {
language: 'en_US', language: 'en_US',
value: '1234' value: '1234'
} }
], ],
'journalissue.issuedate': [ 'creativework.datePublished': [
{ {
language: 'en_US', language: 'en_US',
value: '2018' value: '2018'
} }
], ],
'journalissue.identifier.description': [ 'dc.description': [
{ {
language: 'en_US', language: 'en_US',
value: 'desc' value: 'desc'
} }
], ],
'journalissue.identifier.keyword': [ 'creativework.keywords': [
{ {
language: 'en_US', language: 'en_US',
value: 'keyword' value: 'keyword'

View File

@@ -7,11 +7,11 @@
<ds-thumbnail [thumbnail]="this.item.getThumbnail() | async"></ds-thumbnail> <ds-thumbnail [thumbnail]="this.item.getThumbnail() | async"></ds-thumbnail>
</ds-metadata-field-wrapper> </ds-metadata-field-wrapper>
<ds-generic-item-page-field [item]="item" <ds-generic-item-page-field [item]="item"
[fields]="['journalvolume.identifier.volume']" [fields]="['publicationvolume.volumeNumber']"
[label]="'journalvolume.page.volume'"> [label]="'journalvolume.page.volume'">
</ds-generic-item-page-field> </ds-generic-item-page-field>
<ds-generic-item-page-field [item]="item" <ds-generic-item-page-field [item]="item"
[fields]="['journalvolume.issuedate']" [fields]="['creativework.datePublished']"
[label]="'journalvolume.page.issuedate'"> [label]="'journalvolume.page.issuedate'">
</ds-generic-item-page-field> </ds-generic-item-page-field>
</div> </div>
@@ -25,7 +25,7 @@
[label]="'relationships.isIssueOf' | translate"> [label]="'relationships.isIssueOf' | translate">
</ds-related-items> </ds-related-items>
<ds-generic-item-page-field [item]="item" <ds-generic-item-page-field [item]="item"
[fields]="['journalvolume.identifier.description']" [fields]="['dc.description']"
[label]="'journalvolume.page.description'"> [label]="'journalvolume.page.description'">
</ds-generic-item-page-field> </ds-generic-item-page-field>
<div> <div>

View File

@@ -12,19 +12,19 @@ import {
const mockItem: Item = Object.assign(new Item(), { const mockItem: Item = Object.assign(new Item(), {
bitstreams: observableOf(new RemoteData(false, false, true, null, new PaginatedList(new PageInfo(), []))), bitstreams: observableOf(new RemoteData(false, false, true, null, new PaginatedList(new PageInfo(), []))),
metadata: { metadata: {
'journalvolume.identifier.volume': [ 'publicationvolume.volumeNumber': [
{ {
language: 'en_US', language: 'en_US',
value: '1234' value: '1234'
} }
], ],
'journalvolume.issuedate': [ 'creativework.datePublished': [
{ {
language: 'en_US', language: 'en_US',
value: '2018' value: '2018'
} }
], ],
'journalvolume.identifier.description': [ 'dc.description': [
{ {
language: 'en_US', language: 'en_US',
value: 'desc' value: 'desc'

View File

@@ -7,15 +7,15 @@
<ds-thumbnail [thumbnail]="this.item.getThumbnail() | async"></ds-thumbnail> <ds-thumbnail [thumbnail]="this.item.getThumbnail() | async"></ds-thumbnail>
</ds-metadata-field-wrapper> </ds-metadata-field-wrapper>
<ds-generic-item-page-field class="item-page-fields" [item]="item" <ds-generic-item-page-field class="item-page-fields" [item]="item"
[fields]="['journal.identifier.issn']" [fields]="['creativeworkseries.issn']"
[label]="'journal.page.issn'"> [label]="'journal.page.issn'">
</ds-generic-item-page-field> </ds-generic-item-page-field>
<ds-generic-item-page-field class="item-page-fields" [item]="item" <ds-generic-item-page-field class="item-page-fields" [item]="item"
[fields]="['journal.publisher']" [fields]="['creativework.publisher']"
[label]="'journal.page.publisher'"> [label]="'journal.page.publisher'">
</ds-generic-item-page-field> </ds-generic-item-page-field>
<ds-generic-item-page-field [item]="item" <ds-generic-item-page-field [item]="item"
[fields]="['journal.contributor.editor']" [fields]="['creativework.editor']"
[label]="'journal.page.editor'"> [label]="'journal.page.editor'">
</ds-generic-item-page-field> </ds-generic-item-page-field>
</div> </div>
@@ -25,7 +25,7 @@
[label]="'relationships.isVolumeOf' | translate"> [label]="'relationships.isVolumeOf' | translate">
</ds-related-items> </ds-related-items>
<ds-generic-item-page-field class="item-page-fields" [item]="item" <ds-generic-item-page-field class="item-page-fields" [item]="item"
[fields]="['journal.identifier.description']" [fields]="['dc.description']"
[label]="'journal.page.description'"> [label]="'journal.page.description'">
</ds-generic-item-page-field> </ds-generic-item-page-field>
<div> <div>

View File

@@ -22,19 +22,19 @@ let fixture: ComponentFixture<JournalComponent>;
const mockItem: Item = Object.assign(new Item(), { const mockItem: Item = Object.assign(new Item(), {
bitstreams: observableOf(new RemoteData(false, false, true, null, new PaginatedList(new PageInfo(), []))), bitstreams: observableOf(new RemoteData(false, false, true, null, new PaginatedList(new PageInfo(), []))),
metadata: { metadata: {
'journal.identifier.issn': [ 'creativeworkseries.issn': [
{ {
language: 'en_US', language: 'en_US',
value: '1234' value: '1234'
} }
], ],
'journal.publisher': [ 'creativework.publisher': [
{ {
language: 'en_US', language: 'en_US',
value: 'a publisher' value: 'a publisher'
} }
], ],
'journal.identifier.description': [ 'dc.description': [
{ {
language: 'en_US', language: 'en_US',
value: 'desc' value: 'desc'

View File

@@ -1,13 +1,13 @@
<ds-truncatable [id]="item.id"> <ds-truncatable [id]="item.id">
<a <a
[routerLink]="['/items/' + item.id]" class="lead" [routerLink]="['/items/' + item.id]" class="lead"
[innerHTML]="firstMetadataValue('orgunit.identifier.name')"></a> [innerHTML]="firstMetadataValue('organization.legalName')"></a>
<span class="text-muted"> <span class="text-muted">
<ds-truncatable-part [id]="item.id" [minLines]="3"> <ds-truncatable-part [id]="item.id" [minLines]="3">
<span *ngIf="item.allMetadata(['orgunit.identifier.description']).length > 0" <span *ngIf="item.allMetadata(['dc.description']).length > 0"
class="item-list-orgunit-description"> class="item-list-orgunit-description">
<ds-truncatable-part [id]="item.id" [minLines]="3"><span <ds-truncatable-part [id]="item.id" [minLines]="3"><span
[innerHTML]="firstMetadataValue('orgunit.identifier.description')"></span> [innerHTML]="firstMetadataValue('dc.description')"></span>
</ds-truncatable-part> </ds-truncatable-part>
</span> </span>
</ds-truncatable-part> </ds-truncatable-part>

View File

@@ -20,7 +20,7 @@ const mockItemWithMetadata: Item = Object.assign(new Item(), {
value: 'This is just another title' value: 'This is just another title'
} }
], ],
'orgunit.identifier.description': [ 'dc.description': [
{ {
language: 'en_US', language: 'en_US',
value: 'A description about the OrgUnit' value: 'A description about the OrgUnit'

View File

@@ -1,13 +1,13 @@
<ng-template #descTemplate> <ng-template #descTemplate>
<span class="text-muted"> <span class="text-muted">
<span *ngIf="item.allMetadata(['orgunit.identifier.description']).length > 0" <span *ngIf="item.allMetadata(['dc.description']).length > 0"
class="item-list-job-title"> class="item-list-job-title">
<span [innerHTML]="firstMetadataValue(['orgunit.identifier.description'])"></span> <span [innerHTML]="firstMetadataValue(['dc.description'])"></span>
</span> </span>
</span> </span>
</ng-template> </ng-template>
<ds-truncatable [id]="item.id"> <ds-truncatable [id]="item.id">
<a [routerLink]="['/items/' + item.id]" <a [routerLink]="['/items/' + item.id]"
[innerHTML]="firstMetadataValue('orgunit.identifier.name')" [innerHTML]="firstMetadataValue('organization.legalName')"
[tooltip]="descTemplate"></a> [tooltip]="descTemplate"></a>
</ds-truncatable> </ds-truncatable>

View File

@@ -1,12 +1,12 @@
<ds-truncatable [id]="item.id"> <ds-truncatable [id]="item.id">
<a <a
[routerLink]="['/items/' + item.id]" class="lead" [routerLink]="['/items/' + item.id]" class="lead"
[innerHTML]="firstMetadataValue('dc.contributor.author')"></a> [innerHTML]="firstMetadataValue('person.familyName') + ', ' + firstMetadataValue('person.givenName')"></a>
<span class="text-muted"> <span class="text-muted">
<ds-truncatable-part [id]="item.id" [minLines]="1"> <ds-truncatable-part [id]="item.id" [minLines]="1">
<span *ngIf="item.allMetadata(['person.identifier.jobtitle']).length > 0" <span *ngIf="item.allMetadata(['person.jobTitle']).length > 0"
class="item-list-job-title"> class="item-list-job-title">
<span *ngFor="let value of allMetadataValues(['person.identifier.jobtitle']); let last=last;"> <span *ngFor="let value of allMetadataValues(['person.jobTitle']); let last=last;">
<span [innerHTML]="value"><span [innerHTML]="value"></span></span> <span [innerHTML]="value"><span [innerHTML]="value"></span></span>
</span> </span>
</span> </span>

View File

@@ -20,7 +20,7 @@ const mockItemWithMetadata: Item = Object.assign(new Item(), {
value: 'This is just another title' value: 'This is just another title'
} }
], ],
'person.identifier.jobtitle': [ 'person.jobTitle': [
{ {
language: 'en_US', language: 'en_US',
value: 'Developer' value: 'Developer'

View File

@@ -1,8 +1,8 @@
<ng-template #descTemplate> <ng-template #descTemplate>
<span class="text-muted"> <span class="text-muted">
<span *ngIf="item.allMetadata(['person.identifier.jobtitle']).length > 0" <span *ngIf="item.allMetadata(['person.jobTitle']).length > 0"
class="item-list-job-title"> class="item-list-job-title">
<span *ngFor="let value of allMetadataValues(['person.identifier.jobtitle']); let last=last;"> <span *ngFor="let value of allMetadataValues(['person.jobTitle']); let last=last;">
<span [innerHTML]="value"><span [innerHTML]="value"></span></span> <span [innerHTML]="value"><span [innerHTML]="value"></span></span>
</span> </span>
</span> </span>
@@ -10,6 +10,6 @@
</ng-template> </ng-template>
<ds-truncatable [id]="item.id"> <ds-truncatable [id]="item.id">
<a [routerLink]="['/items/' + item.id]" <a [routerLink]="['/items/' + item.id]"
[innerHTML]="firstMetadataValue('dc.contributor.author')" [innerHTML]="firstMetadataValue('person.familyName') + ', ' + firstMetadataValue('person.givenName')"
[tooltip]="descTemplate"></a> [tooltip]="descTemplate"></a>
</ds-truncatable> </ds-truncatable>

View File

@@ -1,16 +1,16 @@
<ds-truncatable [id]="item.id"> <ds-truncatable [id]="item.id">
<a <a
[routerLink]="['/items/' + item.id]" class="lead" [routerLink]="['/items/' + item.id]" class="lead"
[innerHTML]="firstMetadataValue('project.identifier.name')"></a> [innerHTML]="firstMetadataValue('dc.title')"></a>
<span class="text-muted"> <!--<span class="text-muted">-->
<ds-truncatable-part [id]="item.id" [minLines]="1"> <!--<ds-truncatable-part [id]="item.id" [minLines]="1">-->
<span *ngIf="item.allMetadata(['project.identifier.status']).length > 0" <!--<span *ngIf="item.allMetadata(['project.identifier.status']).length > 0"-->
class="item-list-status"> <!--class="item-list-status">-->
<span *ngFor="let value of allMetadataValues(['project.identifier.status']); let last=last;"> <!--<span *ngFor="let value of allMetadataValues(['project.identifier.status']); let last=last;">-->
<span [innerHTML]="value"><span [innerHTML]="value"></span></span> <!--<span [innerHTML]="value"><span [innerHTML]="value"></span></span>-->
</span> <!--</span>-->
</span> <!--</span>-->
</ds-truncatable-part> <!--</ds-truncatable-part>-->
</span> <!--</span>-->
</ds-truncatable> </ds-truncatable>

View File

@@ -20,12 +20,12 @@ const mockItemWithMetadata: Item = Object.assign(new Item(), {
value: 'This is just another title' value: 'This is just another title'
} }
], ],
'project.identifier.status': [ // 'project.identifier.status': [
{ // {
language: 'en_US', // language: 'en_US',
value: 'A status about the project' // value: 'A status about the project'
} // }
] // ]
} }
}); });
const mockItemWithoutMetadata: Item = Object.assign(new Item(), { const mockItemWithoutMetadata: Item = Object.assign(new Item(), {
@@ -61,27 +61,27 @@ describe('ProjectListElementComponent', () => {
})); }));
describe('When the item has a status', () => { // describe('When the item has a status', () => {
beforeEach(() => { // beforeEach(() => {
projectListElementComponent.item = mockItemWithMetadata; // projectListElementComponent.item = mockItemWithMetadata;
fixture.detectChanges(); // fixture.detectChanges();
}); // });
//
it('should show the status span', () => { // it('should show the status span', () => {
const statusField = fixture.debugElement.query(By.css('span.item-list-status')); // const statusField = fixture.debugElement.query(By.css('span.item-list-status'));
expect(statusField).not.toBeNull(); // expect(statusField).not.toBeNull();
}); // });
}); // });
//
describe('When the item has no status', () => { // describe('When the item has no status', () => {
beforeEach(() => { // beforeEach(() => {
projectListElementComponent.item = mockItemWithoutMetadata; // projectListElementComponent.item = mockItemWithoutMetadata;
fixture.detectChanges(); // fixture.detectChanges();
}); // });
//
it('should not show the status span', () => { // it('should not show the status span', () => {
const statusField = fixture.debugElement.query(By.css('span.item-list-status')); // const statusField = fixture.debugElement.query(By.css('span.item-list-status'));
expect(statusField).toBeNull(); // expect(statusField).toBeNull();
}); // });
}); // });
}); });

View File

@@ -1,5 +1,5 @@
<h2 class="item-page-title-field"> <h2 class="item-page-title-field">
{{'orgunit.page.titleprefix' | translate}}<ds-metadata-values [mdValues]="item?.allMetadata(['orgunit.identifier.name'])"></ds-metadata-values> {{'orgunit.page.titleprefix' | translate}}<ds-metadata-values [mdValues]="item?.allMetadata(['organization.legalName'])"></ds-metadata-values>
</h2> </h2>
<div class="row"> <div class="row">
<div class="col-xs-12 col-md-4"> <div class="col-xs-12 col-md-4">
@@ -7,19 +7,19 @@
<ds-thumbnail [thumbnail]="this.item.getThumbnail() | async" [defaultImage]="'assets/images/orgunit-placeholder.svg'"></ds-thumbnail> <ds-thumbnail [thumbnail]="this.item.getThumbnail() | async" [defaultImage]="'assets/images/orgunit-placeholder.svg'"></ds-thumbnail>
</ds-metadata-field-wrapper> </ds-metadata-field-wrapper>
<ds-generic-item-page-field [item]="item" <ds-generic-item-page-field [item]="item"
[fields]="['orgunit.identifier.dateestablished']" [fields]="['organization.foundingDate']"
[label]="'orgunit.page.dateestablished'"> [label]="'orgunit.page.dateestablished'">
</ds-generic-item-page-field> </ds-generic-item-page-field>
<ds-generic-item-page-field [item]="item" <ds-generic-item-page-field [item]="item"
[fields]="['orgunit.identifier.city']" [fields]="['organization.address.addressLocality']"
[label]="'orgunit.page.city'"> [label]="'orgunit.page.city'">
</ds-generic-item-page-field> </ds-generic-item-page-field>
<ds-generic-item-page-field [item]="item" <ds-generic-item-page-field [item]="item"
[fields]="['orgunit.identifier.country']" [fields]="['organization.adress.addressCountry']"
[label]="'orgunit.page.country'"> [label]="'orgunit.page.country'">
</ds-generic-item-page-field> </ds-generic-item-page-field>
<ds-generic-item-page-field [item]="item" <ds-generic-item-page-field [item]="item"
[fields]="['orgunit.identifier.id']" [fields]="['dc.identifier']"
[label]="'orgunit.page.id'"> [label]="'orgunit.page.id'">
</ds-generic-item-page-field> </ds-generic-item-page-field>
</div> </div>
@@ -37,7 +37,7 @@
[label]="'relationships.isPublicationOf' | translate"> [label]="'relationships.isPublicationOf' | translate">
</ds-related-items> </ds-related-items>
<ds-generic-item-page-field [item]="item" <ds-generic-item-page-field [item]="item"
[fields]="['orgunit.identifier.description']" [fields]="['dc.description']"
[label]="'orgunit.page.description'"> [label]="'orgunit.page.description'">
</ds-generic-item-page-field> </ds-generic-item-page-field>
<div> <div>

View File

@@ -12,31 +12,31 @@ import {
const mockItem: Item = Object.assign(new Item(), { const mockItem: Item = Object.assign(new Item(), {
bitstreams: observableOf(new RemoteData(false, false, true, null, new PaginatedList(new PageInfo(), []))), bitstreams: observableOf(new RemoteData(false, false, true, null, new PaginatedList(new PageInfo(), []))),
metadata: { metadata: {
'orgunit.identifier.dateestablished': [ 'organization.foundingDate': [
{ {
language: 'en_US', language: 'en_US',
value: '2018' value: '2018'
} }
], ],
'orgunit.identifier.city': [ 'organization.address.addressLocality': [
{ {
language: 'en_US', language: 'en_US',
value: 'New York' value: 'New York'
} }
], ],
'orgunit.identifier.country': [ 'organization.adress.addressCountry': [
{ {
language: 'en_US', language: 'en_US',
value: 'USA' value: 'USA'
} }
], ],
'orgunit.identifier.id': [ 'dc.identifier': [
{ {
language: 'en_US', language: 'en_US',
value: '1' value: '1'
} }
], ],
'orgunit.identifier.description': [ 'dc.description': [
{ {
language: 'en_US', language: 'en_US',
value: 'desc' value: 'desc'

View File

@@ -1,5 +1,5 @@
<h2 class="item-page-title-field"> <h2 class="item-page-title-field">
{{'person.page.titleprefix' | translate}}<ds-metadata-values [mdValues]="item?.allMetadata(['dc.contributor.author'])"></ds-metadata-values> {{'person.page.titleprefix' | translate}}<ds-metadata-values [mdValues]="[item?.firstMetadata('person.familyName'), item?.firstMetadata('person.givenName')]" [separator]="', '"></ds-metadata-values>
</h2> </h2>
<div class="row"> <div class="row">
<div class="col-xs-12 col-md-4"> <div class="col-xs-12 col-md-4">
@@ -7,21 +7,21 @@
<ds-thumbnail [thumbnail]="this.item.getThumbnail() | async" [defaultImage]="'assets/images/person-placeholder.svg'"></ds-thumbnail> <ds-thumbnail [thumbnail]="this.item.getThumbnail() | async" [defaultImage]="'assets/images/person-placeholder.svg'"></ds-thumbnail>
</ds-metadata-field-wrapper> </ds-metadata-field-wrapper>
<ds-generic-item-page-field [item]="item" <ds-generic-item-page-field [item]="item"
[fields]="['person.identifier.email']" [fields]="['person.email']"
[label]="'person.page.email'"> [label]="'person.page.email'">
</ds-generic-item-page-field> </ds-generic-item-page-field>
<!--<ds-generic-item-page-field [item]="item"-->
<!--[fields]="['person.identifier.orcid']"-->
<!--[label]="'person.page.orcid'">-->
<!--</ds-generic-item-page-field>-->
<ds-generic-item-page-field [item]="item" <ds-generic-item-page-field [item]="item"
[fields]="['person.identifier.orcid']" [fields]="['person.birthDate']"
[label]="'person.page.orcid'">
</ds-generic-item-page-field>
<ds-generic-item-page-field [item]="item"
[fields]="['person.identifier.birthdate']"
[label]="'person.page.birthdate'"> [label]="'person.page.birthdate'">
</ds-generic-item-page-field> </ds-generic-item-page-field>
<ds-generic-item-page-field [item]="item" <!--<ds-generic-item-page-field [item]="item"-->
[fields]="['person.identifier.staffid']" <!--[fields]="['person.identifier.staffid']"-->
[label]="'person.page.staffid'"> <!--[label]="'person.page.staffid'">-->
</ds-generic-item-page-field> <!--</ds-generic-item-page-field>-->
</div> </div>
<div class="col-xs-12 col-md-6"> <div class="col-xs-12 col-md-6">
<ds-related-items <ds-related-items
@@ -33,15 +33,15 @@
[label]="'relationships.isOrgUnitOf' | translate"> [label]="'relationships.isOrgUnitOf' | translate">
</ds-related-items> </ds-related-items>
<ds-generic-item-page-field [item]="item" <ds-generic-item-page-field [item]="item"
[fields]="['person.identifier.jobtitle']" [fields]="['person.jobTitle']"
[label]="'person.page.jobtitle'"> [label]="'person.page.jobtitle'">
</ds-generic-item-page-field> </ds-generic-item-page-field>
<ds-generic-item-page-field [item]="item" <ds-generic-item-page-field [item]="item"
[fields]="['person.identifier.lastname']" [fields]="['person.familyName']"
[label]="'person.page.lastname'"> [label]="'person.page.lastname'">
</ds-generic-item-page-field> </ds-generic-item-page-field>
<ds-generic-item-page-field [item]="item" <ds-generic-item-page-field [item]="item"
[fields]="['person.identifier.firstname']" [fields]="['person.givenName']"
[label]="'person.page.firstname'"> [label]="'person.page.firstname'">
</ds-generic-item-page-field> </ds-generic-item-page-field>
<div> <div>

View File

@@ -12,43 +12,43 @@ import {
const mockItem: Item = Object.assign(new Item(), { const mockItem: Item = Object.assign(new Item(), {
bitstreams: observableOf(new RemoteData(false, false, true, null, new PaginatedList(new PageInfo(), []))), bitstreams: observableOf(new RemoteData(false, false, true, null, new PaginatedList(new PageInfo(), []))),
metadata: { metadata: {
'person.identifier.email': [ 'person.email': [
{ {
language: 'en_US', language: 'en_US',
value: 'fake@email.com' value: 'fake@email.com'
} }
], ],
'person.identifier.orcid': [ // 'person.identifier.orcid': [
{ // {
language: 'en_US', // language: 'en_US',
value: 'ORCID-1' // value: 'ORCID-1'
} // }
], // ],
'person.identifier.birthdate': [ 'person.birthDate': [
{ {
language: 'en_US', language: 'en_US',
value: '1993' value: '1993'
} }
], ],
'person.identifier.staffid': [ // 'person.identifier.staffid': [
{ // {
language: 'en_US', // language: 'en_US',
value: '1' // value: '1'
} // }
], // ],
'person.identifier.jobtitle': [ 'person.jobTitle': [
{ {
language: 'en_US', language: 'en_US',
value: 'Developer' value: 'Developer'
} }
], ],
'person.identifier.lastname': [ 'person.familyName': [
{ {
language: 'en_US', language: 'en_US',
value: 'Doe' value: 'Doe'
} }
], ],
'person.identifier.firstname': [ 'person.givenName': [
{ {
language: 'en_US', language: 'en_US',
value: 'John' value: 'John'

View File

@@ -1,15 +1,15 @@
<h2 class="item-page-title-field"> <h2 class="item-page-title-field">
{{'project.page.titleprefix' | translate}}<ds-metadata-values [mdValues]="item?.allMetadata(['project.identifier.name'])"></ds-metadata-values> {{'project.page.titleprefix' | translate}}<ds-metadata-values [mdValues]="item?.allMetadata(['dc.title'])"></ds-metadata-values>
</h2> </h2>
<div class="row"> <div class="row">
<div class="col-xs-12 col-md-4"> <div class="col-xs-12 col-md-4">
<ds-metadata-field-wrapper> <ds-metadata-field-wrapper>
<ds-thumbnail [thumbnail]="this.item.getThumbnail() | async" [defaultImage]="'assets/images/project-placeholder.svg'"></ds-thumbnail> <ds-thumbnail [thumbnail]="this.item.getThumbnail() | async" [defaultImage]="'assets/images/project-placeholder.svg'"></ds-thumbnail>
</ds-metadata-field-wrapper> </ds-metadata-field-wrapper>
<ds-generic-item-page-field [item]="item" <!--<ds-generic-item-page-field [item]="item"-->
[fields]="['project.identifier.status']" <!--[fields]="['project.identifier.status']"-->
[label]="'project.page.status'"> <!--[label]="'project.page.status'">-->
</ds-generic-item-page-field> <!--</ds-generic-item-page-field>-->
<ds-metadata-representation-list <ds-metadata-representation-list
[label]="'project.page.contributor' | translate" [label]="'project.page.contributor' | translate"
[representations]="contributors$ | async"> [representations]="contributors$ | async">
@@ -19,13 +19,13 @@
[label]="'project.page.funder'"> [label]="'project.page.funder'">
</ds-generic-item-page-field> </ds-generic-item-page-field>
<ds-generic-item-page-field [item]="item" <ds-generic-item-page-field [item]="item"
[fields]="['project.identifier.id']" [fields]="['dc.identifier']"
[label]="'project.page.id'"> [label]="'project.page.id'">
</ds-generic-item-page-field> </ds-generic-item-page-field>
<ds-generic-item-page-field [item]="item" <!--<ds-generic-item-page-field [item]="item"-->
[fields]="['project.identifier.expectedcompletion']" <!--[fields]="['project.identifier.expectedcompletion']"-->
[label]="'project.page.expectedcompletion'"> <!--[label]="'project.page.expectedcompletion'">-->
</ds-generic-item-page-field> <!--</ds-generic-item-page-field>-->
</div> </div>
<div class="col-xs-12 col-md-6"> <div class="col-xs-12 col-md-6">
<ds-related-items <ds-related-items
@@ -41,11 +41,11 @@
[label]="'relationships.isOrgUnitOf' | translate"> [label]="'relationships.isOrgUnitOf' | translate">
</ds-related-items> </ds-related-items>
<ds-generic-item-page-field [item]="item" <ds-generic-item-page-field [item]="item"
[fields]="['project.identifier.description']" [fields]="['dc.description']"
[label]="'project.page.description'"> [label]="'project.page.description'">
</ds-generic-item-page-field> </ds-generic-item-page-field>
<ds-generic-item-page-field [item]="item" <ds-generic-item-page-field [item]="item"
[fields]="['project.identifier.keyword']" [fields]="['dc.subject']"
[label]="'project.page.keyword'"> [label]="'project.page.keyword'">
</ds-generic-item-page-field> </ds-generic-item-page-field>
<div> <div>

View File

@@ -12,31 +12,31 @@ import {
const mockItem: Item = Object.assign(new Item(), { const mockItem: Item = Object.assign(new Item(), {
bitstreams: observableOf(new RemoteData(false, false, true, null, new PaginatedList(new PageInfo(), []))), bitstreams: observableOf(new RemoteData(false, false, true, null, new PaginatedList(new PageInfo(), []))),
metadata: { metadata: {
'project.identifier.status': [ // 'project.identifier.status': [
{ // {
language: 'en_US', // language: 'en_US',
value: 'published' // value: 'published'
} // }
], // ],
'project.identifier.id': [ 'dc.identifier': [
{ {
language: 'en_US', language: 'en_US',
value: '1' value: '1'
} }
], ],
'project.identifier.expectedcompletion': [ // 'project.identifier.expectedcompletion': [
{ // {
language: 'en_US', // language: 'en_US',
value: 'exp comp' // value: 'exp comp'
} // }
], // ],
'project.identifier.description': [ 'dc.description': [
{ {
language: 'en_US', language: 'en_US',
value: 'keyword' value: 'keyword'
} }
], ],
'project.identifier.keyword': [ 'dc.subject': [
{ {
language: 'en_US', language: 'en_US',
value: 'keyword' value: 'keyword'