52211: Item display regular metadata journal-types

This commit is contained in:
Kristof De Langhe
2018-05-31 14:02:04 +02:00
parent f50e0edbc0
commit c99d05c5f9
11 changed files with 202 additions and 2 deletions

View File

@@ -84,6 +84,28 @@
"description": "Description" "description": "Description"
} }
}, },
"journal": {
"page": {
"issn": "ISSN",
"publisher": "Publisher",
"description": "Description"
}
},
"journalvolume": {
"page": {
"volume": "Volume",
"issuedate": "Issue Date",
"description": "Description"
}
},
"journalissue": {
"page": {
"number": "Number",
"issuedate": "Issue Date",
"description": "Description",
"keyword": "Keywords"
}
},
"nav": { "nav": {
"home": "Home" "home": "Home"
}, },

View File

@@ -25,6 +25,9 @@ import { OrgUnitPageFieldsComponent } from './simple/entity-types/orgunit/orguni
import { PersonPageFieldsComponent } from './simple/entity-types/person/person-page-fields.component'; import { PersonPageFieldsComponent } from './simple/entity-types/person/person-page-fields.component';
import { ProjectPageFieldsComponent } from './simple/entity-types/project/project-page-fields.component'; import { ProjectPageFieldsComponent } from './simple/entity-types/project/project-page-fields.component';
import { RelatedEntitiesComponent } from './simple/related-entities/related-entities-component'; import { RelatedEntitiesComponent } from './simple/related-entities/related-entities-component';
import { JournalPageFieldsComponent } from './simple/entity-types/journal/journal-page-fields.component';
import { JournalIssuePageFieldsComponent } from './simple/entity-types/journal-issue/journal-issue-page-fields.component';
import { JournalVolumePageFieldsComponent } from './simple/entity-types/journal-volume/journal-volume-page-fields.component';
@NgModule({ @NgModule({
imports: [ imports: [
@@ -53,13 +56,19 @@ import { RelatedEntitiesComponent } from './simple/related-entities/related-enti
PersonPageFieldsComponent, PersonPageFieldsComponent,
RelatedEntitiesComponent, RelatedEntitiesComponent,
EntityPageFieldsComponent, EntityPageFieldsComponent,
GenericItemPageFieldComponent GenericItemPageFieldComponent,
JournalPageFieldsComponent,
JournalIssuePageFieldsComponent,
JournalVolumePageFieldsComponent
], ],
entryComponents: [ entryComponents: [
PublicationPageFieldsComponent, PublicationPageFieldsComponent,
ProjectPageFieldsComponent, ProjectPageFieldsComponent,
OrgUnitPageFieldsComponent, OrgUnitPageFieldsComponent,
PersonPageFieldsComponent PersonPageFieldsComponent,
JournalPageFieldsComponent,
JournalIssuePageFieldsComponent,
JournalVolumePageFieldsComponent
] ]
}) })
export class ItemPageModule { export class ItemPageModule {

View File

@@ -0,0 +1,28 @@
<h2 class="item-page-title-field">
<ds-metadata-values [values]="item?.filterMetadata(['dc.title'])"></ds-metadata-values>
</h2>
<div class="row">
<div class="col-xs-12 col-md-4">
<ds-metadata-field-wrapper>
<ds-thumbnail [thumbnail]="this.item.getThumbnail() | async"></ds-thumbnail>
</ds-metadata-field-wrapper>
<ds-generic-item-page-field [item]="item"
[fields]="['journalissue.identifier.number']"
[label]="'journalissue.page.number'">
</ds-generic-item-page-field>
<ds-generic-item-page-field [item]="item"
[fields]="['journalissue.issuedate']"
[label]="'journalissue.page.issuedate'">
</ds-generic-item-page-field>
</div>
<div class="col-xs-12 col-md-6">
<ds-generic-item-page-field [item]="item"
[fields]="['journalissue.identifier.description']"
[label]="'journalissue.page.description'">
</ds-generic-item-page-field>
<ds-generic-item-page-field [item]="item"
[fields]="['journalissue.identifier.keyword']"
[label]="'journalissue.page.keyword'">
</ds-generic-item-page-field>
</div>
</div>

View File

@@ -0,0 +1 @@
@import '../../../../../styles/variables.scss';

View File

@@ -0,0 +1,30 @@
import { Component, Inject } from '@angular/core';
import { Observable } from 'rxjs/Observable';
import { ItemDataService } from '../../../../core/data/item-data.service';
import { Item } from '../../../../core/shared/item.model';
import { rendersEntityType } from '../../../../shared/entities/entity-type-decorator';
import { ITEM } from '../../../../shared/entities/switcher/entity-type-switcher.component';
import { ElementViewMode } from '../../../../shared/view-mode';
import {
EntityPageFieldsComponent, filterRelationsByTypeLabel,
relationsToItems
} from '../shared/entity-page-fields.component';
@rendersEntityType('JournalIssue', ElementViewMode.Full)
@Component({
selector: 'ds-journal-issue-page-fields',
styleUrls: ['./journal-issue-page-fields.component.scss'],
templateUrl: './journal-issue-page-fields.component.html'
})
export class JournalIssuePageFieldsComponent extends EntityPageFieldsComponent {
constructor(
@Inject(ITEM) public item: Item,
private ids: ItemDataService
) {
super(item);
}
ngOnInit(): void {
super.ngOnInit();
}
}

View File

@@ -0,0 +1,24 @@
<h2 class="item-page-title-field">
<ds-metadata-values [values]="item?.filterMetadata(['dc.title'])"></ds-metadata-values>
</h2>
<div class="row">
<div class="col-xs-12 col-md-4">
<ds-metadata-field-wrapper>
<ds-thumbnail [thumbnail]="this.item.getThumbnail() | async"></ds-thumbnail>
</ds-metadata-field-wrapper>
<ds-generic-item-page-field [item]="item"
[fields]="['journalvolume.identifier.volume']"
[label]="'journalvolume.page.volume'">
</ds-generic-item-page-field>
<ds-generic-item-page-field [item]="item"
[fields]="['journalvolume.issuedate']"
[label]="'journalvolume.page.issuedate'">
</ds-generic-item-page-field>
</div>
<div class="col-xs-12 col-md-6">
<ds-generic-item-page-field [item]="item"
[fields]="['journalvolume.identifier.description']"
[label]="'journalvolume.page.description'">
</ds-generic-item-page-field>
</div>
</div>

View File

@@ -0,0 +1 @@
@import '../../../../../styles/variables.scss';

View File

@@ -0,0 +1,30 @@
import { Component, Inject } from '@angular/core';
import { Observable } from 'rxjs/Observable';
import { ItemDataService } from '../../../../core/data/item-data.service';
import { Item } from '../../../../core/shared/item.model';
import { rendersEntityType } from '../../../../shared/entities/entity-type-decorator';
import { ITEM } from '../../../../shared/entities/switcher/entity-type-switcher.component';
import { ElementViewMode } from '../../../../shared/view-mode';
import {
EntityPageFieldsComponent, filterRelationsByTypeLabel,
relationsToItems
} from '../shared/entity-page-fields.component';
@rendersEntityType('JournalVolume', ElementViewMode.Full)
@Component({
selector: 'ds-journal-volume-page-fields',
styleUrls: ['./journal-volume-page-fields.component.scss'],
templateUrl: './journal-volume-page-fields.component.html'
})
export class JournalVolumePageFieldsComponent extends EntityPageFieldsComponent {
constructor(
@Inject(ITEM) public item: Item,
private ids: ItemDataService
) {
super(item);
}
ngOnInit(): void {
super.ngOnInit();
}
}

View File

@@ -0,0 +1,24 @@
<h2 class="item-page-title-field">
<ds-metadata-values [values]="item?.filterMetadata(['dc.title'])"></ds-metadata-values>
</h2>
<div class="row">
<div class="col-xs-12 col-md-4">
<ds-metadata-field-wrapper>
<ds-thumbnail [thumbnail]="this.item.getThumbnail() | async"></ds-thumbnail>
</ds-metadata-field-wrapper>
<ds-generic-item-page-field [item]="item"
[fields]="['journal.identifier.issn']"
[label]="'journal.page.issn'">
</ds-generic-item-page-field>
<ds-generic-item-page-field [item]="item"
[fields]="['journal.publisher']"
[label]="'journal.page.publisher'">
</ds-generic-item-page-field>
</div>
<div class="col-xs-12 col-md-6">
<ds-generic-item-page-field [item]="item"
[fields]="['journal.identifier.description']"
[label]="'journal.page.description'">
</ds-generic-item-page-field>
</div>
</div>

View File

@@ -0,0 +1 @@
@import '../../../../../styles/variables.scss';

View File

@@ -0,0 +1,30 @@
import { Component, Inject } from '@angular/core';
import { Observable } from 'rxjs/Observable';
import { ItemDataService } from '../../../../core/data/item-data.service';
import { Item } from '../../../../core/shared/item.model';
import { rendersEntityType } from '../../../../shared/entities/entity-type-decorator';
import { ITEM } from '../../../../shared/entities/switcher/entity-type-switcher.component';
import { ElementViewMode } from '../../../../shared/view-mode';
import {
EntityPageFieldsComponent, filterRelationsByTypeLabel,
relationsToItems
} from '../shared/entity-page-fields.component';
@rendersEntityType('Journal', ElementViewMode.Full)
@Component({
selector: 'ds-journal-page-fields',
styleUrls: ['./journal-page-fields.component.scss'],
templateUrl: './journal-page-fields.component.html'
})
export class JournalPageFieldsComponent extends EntityPageFieldsComponent {
constructor(
@Inject(ITEM) public item: Item,
private ids: ItemDataService
) {
super(item);
}
ngOnInit(): void {
super.ngOnInit();
}
}