support uri field which is not dc.identifier.uri

This commit is contained in:
Ben Bosman
2020-01-03 18:20:34 +01:00
parent 4b67dbf10f
commit 1ca4b95bef
3 changed files with 43 additions and 0 deletions

View File

@@ -10,6 +10,7 @@ import { MetadataUriValuesComponent } from './field-components/metadata-uri-valu
import { ItemPageAuthorFieldComponent } from './simple/field-components/specific-field/author/item-page-author-field.component'; import { ItemPageAuthorFieldComponent } from './simple/field-components/specific-field/author/item-page-author-field.component';
import { ItemPageDateFieldComponent } from './simple/field-components/specific-field/date/item-page-date-field.component'; import { ItemPageDateFieldComponent } from './simple/field-components/specific-field/date/item-page-date-field.component';
import { ItemPageAbstractFieldComponent } from './simple/field-components/specific-field/abstract/item-page-abstract-field.component'; import { ItemPageAbstractFieldComponent } from './simple/field-components/specific-field/abstract/item-page-abstract-field.component';
import { ItemPageGenericUriFieldComponent } from './simple/field-components/specific-field/generic-uri/item-page-generic-uri-field.component';
import { ItemPageUriFieldComponent } from './simple/field-components/specific-field/uri/item-page-uri-field.component'; import { ItemPageUriFieldComponent } from './simple/field-components/specific-field/uri/item-page-uri-field.component';
import { ItemPageTitleFieldComponent } from './simple/field-components/specific-field/title/item-page-title-field.component'; import { ItemPageTitleFieldComponent } from './simple/field-components/specific-field/title/item-page-title-field.component';
import { ItemPageFieldComponent } from './simple/field-components/specific-field/item-page-field.component'; import { ItemPageFieldComponent } from './simple/field-components/specific-field/item-page-field.component';
@@ -47,6 +48,7 @@ import { AbstractIncrementalListComponent } from './simple/abstract-incremental-
ItemPageDateFieldComponent, ItemPageDateFieldComponent,
ItemPageAbstractFieldComponent, ItemPageAbstractFieldComponent,
ItemPageUriFieldComponent, ItemPageUriFieldComponent,
ItemPageGenericUriFieldComponent,
ItemPageTitleFieldComponent, ItemPageTitleFieldComponent,
ItemPageFieldComponent, ItemPageFieldComponent,
FileSectionComponent, FileSectionComponent,
@@ -66,6 +68,7 @@ import { AbstractIncrementalListComponent } from './simple/abstract-incremental-
MetadataValuesComponent, MetadataValuesComponent,
MetadataFieldWrapperComponent, MetadataFieldWrapperComponent,
GenericItemPageFieldComponent, GenericItemPageFieldComponent,
ItemPageGenericUriFieldComponent,
RelatedEntitiesSearchComponent, RelatedEntitiesSearchComponent,
RelatedItemsComponent, RelatedItemsComponent,
MetadataRepresentationListComponent, MetadataRepresentationListComponent,

View File

@@ -0,0 +1,3 @@
<div class="item-page-field">
<ds-metadata-uri-values [mdValues]="item?.allMetadata(fields)" [separator]="separator" [label]="label"></ds-metadata-uri-values>
</div>

View File

@@ -0,0 +1,37 @@
import {Component, Input} from "@angular/core";
import {ItemPageFieldComponent} from "../item-page-field.component";
import {Item} from "../../../../../core/shared/item.model";
@Component({
selector: 'ds-item-page-generic-uri-field',
templateUrl: './item-page-generic-uri-field.component.html'
})
/**
* This component can be used to represent any uri on a simple item page.
* It is the most generic way of displaying uris
* It expects 4 parameters: The item, a separator, the metadata keys and an i18n key
*/
export class ItemPageGenericUriFieldComponent extends ItemPageFieldComponent {
/**
* The item to display metadata for
*/
@Input() item: Item;
/**
* Separator string between multiple values of the metadata fields defined
* @type {string}
*/
@Input() separator: string;
/**
* Fields (schema.element.qualifier) used to render their values.
*/
@Input() fields: string[];
/**
* Label i18n key for the rendered metadata
*/
@Input() label: string;
}