diff --git a/src/app/core/shared/item.model.ts b/src/app/core/shared/item.model.ts index 478d94f814..bcf3ef7689 100644 --- a/src/app/core/shared/item.model.ts +++ b/src/app/core/shared/item.model.ts @@ -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; /** diff --git a/src/app/item-page/field-wrapper/item-page-field-wrapper.component.ts b/src/app/item-page/field-wrapper/item-page-field-wrapper.component.ts deleted file mode 100644 index 1bcdc9d4a3..0000000000 --- a/src/app/item-page/field-wrapper/item-page-field-wrapper.component.ts +++ /dev/null @@ -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() { - - } - -} diff --git a/src/app/item-page/generic-field/item-page-field.component.html b/src/app/item-page/generic-field/item-page-field.component.html deleted file mode 100644 index 795dfaf7b9..0000000000 --- a/src/app/item-page/generic-field/item-page-field.component.html +++ /dev/null @@ -1,5 +0,0 @@ - - - {{metadatum.value}} - - diff --git a/src/app/item-page/item-page.module.ts b/src/app/item-page/item-page.module.ts index a081afa6bb..9185b29867 100644 --- a/src/app/item-page/item-page.module.ts +++ b/src/app/item-page/item-page.module.ts @@ -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, diff --git a/src/app/item-page/field-wrapper/item-page-field-wrapper.component.html b/src/app/item-page/metadata-field-wrapper/metadata-field-wrapper.component.html similarity index 100% rename from src/app/item-page/field-wrapper/item-page-field-wrapper.component.html rename to src/app/item-page/metadata-field-wrapper/metadata-field-wrapper.component.html diff --git a/src/app/item-page/field-wrapper/item-page-field-wrapper.component.scss b/src/app/item-page/metadata-field-wrapper/metadata-field-wrapper.component.scss similarity index 100% rename from src/app/item-page/field-wrapper/item-page-field-wrapper.component.scss rename to src/app/item-page/metadata-field-wrapper/metadata-field-wrapper.component.scss diff --git a/src/app/item-page/metadata-field-wrapper/metadata-field-wrapper.component.ts b/src/app/item-page/metadata-field-wrapper/metadata-field-wrapper.component.ts new file mode 100644 index 0000000000..227696879e --- /dev/null +++ b/src/app/item-page/metadata-field-wrapper/metadata-field-wrapper.component.ts @@ -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() { + + } + +} diff --git a/src/app/item-page/metadata-uri-values/metadata-uri-values.component.html b/src/app/item-page/metadata-uri-values/metadata-uri-values.component.html new file mode 100644 index 0000000000..1417fedad0 --- /dev/null +++ b/src/app/item-page/metadata-uri-values/metadata-uri-values.component.html @@ -0,0 +1,5 @@ + + + {{linktext || metadatum.value}} + + diff --git a/src/app/item-page/generic-field/item-page-field.component.scss b/src/app/item-page/metadata-uri-values/metadata-uri-values.component.scss similarity index 100% rename from src/app/item-page/generic-field/item-page-field.component.scss rename to src/app/item-page/metadata-uri-values/metadata-uri-values.component.scss diff --git a/src/app/item-page/metadata-uri-values/metadata-uri-values.component.ts b/src/app/item-page/metadata-uri-values/metadata-uri-values.component.ts new file mode 100644 index 0000000000..105a2e43d9 --- /dev/null +++ b/src/app/item-page/metadata-uri-values/metadata-uri-values.component.ts @@ -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; +} diff --git a/src/app/item-page/metadata-values/metadata-values.component.html b/src/app/item-page/metadata-values/metadata-values.component.html new file mode 100644 index 0000000000..f131e6f0f4 --- /dev/null +++ b/src/app/item-page/metadata-values/metadata-values.component.html @@ -0,0 +1,5 @@ + + + {{metadatum.value}} + + diff --git a/src/app/item-page/metadata-values/metadata-values.component.scss b/src/app/item-page/metadata-values/metadata-values.component.scss new file mode 100644 index 0000000000..50be6f5ad0 --- /dev/null +++ b/src/app/item-page/metadata-values/metadata-values.component.scss @@ -0,0 +1 @@ +@import '../../../styles/variables.scss'; diff --git a/src/app/item-page/generic-field/item-page-field.component.ts b/src/app/item-page/metadata-values/metadata-values.component.ts similarity index 50% rename from src/app/item-page/generic-field/item-page-field.component.ts rename to src/app/item-page/metadata-values/metadata-values.component.ts index 05402d8650..220eec4f73 100644 --- a/src/app/item-page/generic-field/item-page-field.component.ts +++ b/src/app/item-page/metadata-values/metadata-values.component.ts @@ -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; diff --git a/src/app/item-page/specific-field/item-page-specific-field.component.html b/src/app/item-page/specific-field/item-page-specific-field.component.html index a9ba9cd935..0b526954d0 100644 --- a/src/app/item-page/specific-field/item-page-specific-field.component.html +++ b/src/app/item-page/specific-field/item-page-specific-field.component.html @@ -1,3 +1,3 @@
- +
diff --git a/src/app/item-page/specific-field/thumbnail/item-page-thumbnail-field.component.ts b/src/app/item-page/specific-field/thumbnail/item-page-thumbnail-field.component.ts new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/app/item-page/specific-field/title/item-page-title-field.component.html b/src/app/item-page/specific-field/title/item-page-title-field.component.html index 4c8f871d6e..2ec5c0bb16 100644 --- a/src/app/item-page/specific-field/title/item-page-title-field.component.html +++ b/src/app/item-page/specific-field/title/item-page-title-field.component.html @@ -1,3 +1,3 @@

- +

diff --git a/src/app/item-page/specific-field/uri/item-page-uri-field.component.html b/src/app/item-page/specific-field/uri/item-page-uri-field.component.html index a9ba9cd935..844131a48b 100644 --- a/src/app/item-page/specific-field/uri/item-page-uri-field.component.html +++ b/src/app/item-page/specific-field/uri/item-page-uri-field.component.html @@ -1,3 +1,3 @@
- +
diff --git a/src/app/item-page/specific-field/uri/item-page-uri-field.component.ts b/src/app/item-page/specific-field/uri/item-page-uri-field.component.ts index d4d5ad250e..3df3ae2682 100644 --- a/src/app/item-page/specific-field/uri/item-page-uri-field.component.ts +++ b/src/app/item-page/specific-field/uri/item-page-uri-field.component.ts @@ -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 {