40416: renaming and implemented uri field

This commit is contained in:
Lotte Hofstede
2017-03-29 17:16:08 +02:00
parent 66e421a1eb
commit 868c42e617
18 changed files with 62 additions and 39 deletions

View File

@@ -1,4 +1,4 @@
import { inheritSerialization, autoserialize } from "cerialize"; import { inheritSerialization, autoserialize, autoserializeAs } from "cerialize";
import { DSpaceObject } from "./dspace-object.model"; import { DSpaceObject } from "./dspace-object.model";
import { Collection } from "./collection.model"; import { Collection } from "./collection.model";
@@ -29,6 +29,7 @@ export class Item extends DSpaceObject {
/** /**
* An array of Collections that are direct parents of this Item * An array of Collections that are direct parents of this Item
*/ */
@autoserializeAs(Collection)
parents: Array<Collection>; parents: Array<Collection>;
/** /**

View File

@@ -1,20 +0,0 @@
import { Component, Input } from '@angular/core';
@Component({
selector: 'ds-item-page-field-wrapper',
styleUrls: ['./item-page-field-wrapper.component.css'],
templateUrl: './item-page-field-wrapper.component.html'
})
export class ItemPageFieldWrapperComponent {
@Input() label: string;
constructor() {
this.universalInit();
}
universalInit() {
}
}

View File

@@ -1,5 +0,0 @@
<ds-item-page-field-wrapper [label]="label | translate">
<span *ngFor="let metadatum of data; let last=last;">
{{metadatum.value}}<span *ngIf="!last"><span innerHTML="{{separator}}"></span></span>
</span>
</ds-item-page-field-wrapper>

View File

@@ -2,8 +2,9 @@ import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common'; import { CommonModule } from '@angular/common';
import { ItemPageComponent } from './item-page.component'; import { ItemPageComponent } from './item-page.component';
import { ItemPageRoutingModule } from './item-page-routing.module'; import { ItemPageRoutingModule } from './item-page-routing.module';
import { ItemPageFieldComponent } from './generic-field/item-page-field.component'; import { MetadataValuesComponent } from './metadata-values/metadata-values.component';
import { ItemPageFieldWrapperComponent } from './field-wrapper/item-page-field-wrapper.component'; import { MetadataUriValuesComponent } from './metadata-uri-values/metadata-uri-values.component';
import { MetadataFieldWrapperComponent } from './metadata-field-wrapper/metadata-field-wrapper.component';
import { ItemPageAuthorFieldComponent } from './specific-field/author/item-page-author-field.component'; import { ItemPageAuthorFieldComponent } from './specific-field/author/item-page-author-field.component';
import { ItemPageDateFieldComponent } from './specific-field/date/item-page-date-field.component'; import { ItemPageDateFieldComponent } from './specific-field/date/item-page-date-field.component';
import { ItemPageAbstractFieldComponent } from './specific-field/abstract/item-page-abstract-field.component'; import { ItemPageAbstractFieldComponent } from './specific-field/abstract/item-page-abstract-field.component';
@@ -15,8 +16,9 @@ import { SharedModule } from './../shared/shared.module';
@NgModule({ @NgModule({
declarations: [ declarations: [
ItemPageComponent, ItemPageComponent,
ItemPageFieldComponent, MetadataValuesComponent,
ItemPageFieldWrapperComponent, MetadataUriValuesComponent,
MetadataFieldWrapperComponent,
ItemPageAuthorFieldComponent, ItemPageAuthorFieldComponent,
ItemPageDateFieldComponent, ItemPageDateFieldComponent,
ItemPageAbstractFieldComponent, ItemPageAbstractFieldComponent,

View File

@@ -0,0 +1,20 @@
import { Component, Input } from '@angular/core';
@Component({
selector: 'ds-metadata-field-wrapper',
styleUrls: ['./metadata-field-wrapper.component.css'],
templateUrl: './metadata-field-wrapper.component.html'
})
export class MetadataFieldWrapperComponent {
@Input() label: string;
constructor() {
this.universalInit();
}
universalInit() {
}
}

View File

@@ -0,0 +1,5 @@
<ds-metadata-field-wrapper [label]="label | translate">
<a *ngFor="let metadatum of values; let last=last;" href="{{metadatum.value}}">
{{linktext || metadatum.value}}<span *ngIf="!last"><span innerHTML="{{separator}}"></span></span>
</a>
</ds-metadata-field-wrapper>

View File

@@ -0,0 +1,14 @@
import { Component, Input } from '@angular/core';
import { MetadataValuesComponent } from "../metadata-values/metadata-values.component";
@Component({
selector: 'ds-metadata-uri-values',
styleUrls: ['./metadata-uri-values.component.css'],
templateUrl: './metadata-uri-values.component.html'
})
export class MetadataUriValuesComponent extends MetadataValuesComponent {
@Input() linktext: any;
@Input() values: any;
@Input() separator: string;
@Input() label: string;
}

View File

@@ -0,0 +1,5 @@
<ds-metadata-field-wrapper [label]="label | translate">
<span *ngFor="let metadatum of values; let last=last;">
{{metadatum.value}}<span *ngIf="!last"><span innerHTML="{{separator}}"></span></span>
</span>
</ds-metadata-field-wrapper>

View File

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

View File

@@ -1,13 +1,13 @@
import { Component, Input } from '@angular/core'; import { Component, Input } from '@angular/core';
@Component({ @Component({
selector: 'ds-item-page-field', selector: 'ds-metadata-values',
styleUrls: ['./item-page-field.component.css'], styleUrls: ['./metadata-values.component.css'],
templateUrl: './item-page-field.component.html' templateUrl: './metadata-values.component.html'
}) })
export class ItemPageFieldComponent { export class MetadataValuesComponent {
@Input() data: any; @Input() values: any;
@Input() separator: string; @Input() separator: string;
@Input() label: string; @Input() label: string;

View File

@@ -1,3 +1,3 @@
<div class="item-page-specific-field"> <div class="item-page-specific-field">
<ds-item-page-field [data]="(item | async)?.filterMetadata(fields)" [separator]="separator" [label]="label"></ds-item-page-field> <ds-metadata-values [values]="(item | async)?.filterMetadata(fields)" [separator]="separator" [label]="label"></ds-metadata-values>
</div> </div>

View File

@@ -1,3 +1,3 @@
<h2 class="item-page-title-field"> <h2 class="item-page-title-field">
<ds-item-page-field [data]="(item | async)?.filterMetadata(fields)"></ds-item-page-field> <ds-metadata-values [values]="(item | async)?.filterMetadata(fields)"></ds-metadata-values>
</h2> </h2>

View File

@@ -1,3 +1,3 @@
<div class="item-page-specific-field"> <div class="item-page-specific-field">
<ds-item-page-field [data]="(item | async)?.filterMetadata(fields)" [separator]="separator" [label]="label"></ds-item-page-field> <ds-metadata-uri-values [values]="(item | async)?.filterMetadata(fields)" [separator]="separator" [label]="label"></ds-metadata-uri-values>
</div> </div>

View File

@@ -5,7 +5,7 @@ import { ItemPageSpecificFieldComponent } from "../item-page-specific-field.comp
@Component({ @Component({
selector: 'ds-item-page-uri-field', selector: 'ds-item-page-uri-field',
templateUrl: './../item-page-specific-field.component.html' templateUrl: './item-page-uri-field.component.html'
}) })
export class ItemPageUriFieldComponent extends ItemPageSpecificFieldComponent implements OnInit { export class ItemPageUriFieldComponent extends ItemPageSpecificFieldComponent implements OnInit {