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 { Collection } from "./collection.model";
@@ -29,6 +29,7 @@ export class Item extends DSpaceObject {
/**
* An array of Collections that are direct parents of this Item
*/
@autoserializeAs(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 { ItemPageComponent } from './item-page.component';
import { ItemPageRoutingModule } from './item-page-routing.module';
import { ItemPageFieldComponent } from './generic-field/item-page-field.component';
import { ItemPageFieldWrapperComponent } from './field-wrapper/item-page-field-wrapper.component';
import { MetadataValuesComponent } from './metadata-values/metadata-values.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 { ItemPageDateFieldComponent } from './specific-field/date/item-page-date-field.component';
import { ItemPageAbstractFieldComponent } from './specific-field/abstract/item-page-abstract-field.component';
@@ -15,8 +16,9 @@ import { SharedModule } from './../shared/shared.module';
@NgModule({
declarations: [
ItemPageComponent,
ItemPageFieldComponent,
ItemPageFieldWrapperComponent,
MetadataValuesComponent,
MetadataUriValuesComponent,
MetadataFieldWrapperComponent,
ItemPageAuthorFieldComponent,
ItemPageDateFieldComponent,
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';
@Component({
selector: 'ds-item-page-field',
styleUrls: ['./item-page-field.component.css'],
templateUrl: './item-page-field.component.html'
selector: 'ds-metadata-values',
styleUrls: ['./metadata-values.component.css'],
templateUrl: './metadata-values.component.html'
})
export class ItemPageFieldComponent {
export class MetadataValuesComponent {
@Input() data: any;
@Input() values: any;
@Input() separator: string;
@Input() label: string;

View File

@@ -1,3 +1,3 @@
<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>

View File

@@ -1,3 +1,3 @@
<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>

View File

@@ -1,3 +1,3 @@
<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>

View File

@@ -5,7 +5,7 @@ import { ItemPageSpecificFieldComponent } from "../item-page-specific-field.comp
@Component({
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 {