From 4a46780d854c0a554a810f8e48b65b7a53329b49 Mon Sep 17 00:00:00 2001 From: Ben Bosman Date: Tue, 4 Feb 2020 15:10:10 +0100 Subject: [PATCH] support uri field which is not dc.identifier.uri Replacing item-page-uri-field instead of introducing item-page-generic-uri-field --- src/app/+item-page/item-page.module.ts | 3 -- ...item-page-generic-uri-field.component.html | 3 -- ...m-page-generic-uri-field.component.spec.ts | 44 ------------------- .../item-page-generic-uri-field.component.ts | 37 ---------------- .../uri/item-page-uri-field.component.spec.ts | 3 ++ .../uri/item-page-uri-field.component.ts | 12 +++-- .../publication/publication.component.html | 7 ++- .../publication/publication.component.html | 5 ++- 8 files changed, 17 insertions(+), 97 deletions(-) delete mode 100644 src/app/+item-page/simple/field-components/specific-field/generic-uri/item-page-generic-uri-field.component.html delete mode 100644 src/app/+item-page/simple/field-components/specific-field/generic-uri/item-page-generic-uri-field.component.spec.ts delete mode 100644 src/app/+item-page/simple/field-components/specific-field/generic-uri/item-page-generic-uri-field.component.ts diff --git a/src/app/+item-page/item-page.module.ts b/src/app/+item-page/item-page.module.ts index 1571339bad..5c54becdde 100644 --- a/src/app/+item-page/item-page.module.ts +++ b/src/app/+item-page/item-page.module.ts @@ -10,7 +10,6 @@ import { MetadataUriValuesComponent } from './field-components/metadata-uri-valu 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 { 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 { 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'; @@ -48,7 +47,6 @@ import { AbstractIncrementalListComponent } from './simple/abstract-incremental- ItemPageDateFieldComponent, ItemPageAbstractFieldComponent, ItemPageUriFieldComponent, - ItemPageGenericUriFieldComponent, ItemPageTitleFieldComponent, ItemPageFieldComponent, FileSectionComponent, @@ -68,7 +66,6 @@ import { AbstractIncrementalListComponent } from './simple/abstract-incremental- MetadataValuesComponent, MetadataFieldWrapperComponent, GenericItemPageFieldComponent, - ItemPageGenericUriFieldComponent, RelatedEntitiesSearchComponent, RelatedItemsComponent, MetadataRepresentationListComponent, diff --git a/src/app/+item-page/simple/field-components/specific-field/generic-uri/item-page-generic-uri-field.component.html b/src/app/+item-page/simple/field-components/specific-field/generic-uri/item-page-generic-uri-field.component.html deleted file mode 100644 index 2b19754127..0000000000 --- a/src/app/+item-page/simple/field-components/specific-field/generic-uri/item-page-generic-uri-field.component.html +++ /dev/null @@ -1,3 +0,0 @@ -
- -
diff --git a/src/app/+item-page/simple/field-components/specific-field/generic-uri/item-page-generic-uri-field.component.spec.ts b/src/app/+item-page/simple/field-components/specific-field/generic-uri/item-page-generic-uri-field.component.spec.ts deleted file mode 100644 index d238319e56..0000000000 --- a/src/app/+item-page/simple/field-components/specific-field/generic-uri/item-page-generic-uri-field.component.spec.ts +++ /dev/null @@ -1,44 +0,0 @@ -import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; -import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; -import { MockTranslateLoader } from '../../../../../shared/testing/mock-translate-loader'; -import { mockItemWithMetadataFieldAndValue } from '../item-page-field.component.spec'; -import { ItemPageGenericUriFieldComponent } from './item-page-generic-uri-field.component'; -import { MetadataUriValuesComponent } from '../../../../field-components/metadata-uri-values/metadata-uri-values.component'; - -let comp: ItemPageGenericUriFieldComponent; -let fixture: ComponentFixture; - -const mockField = 'dc.relation.haspart'; -const mockValue = 'test value'; -const mockLabel = 'test label'; - -describe('ItemPageGenericUriFieldComponent', () => { - beforeEach(async(() => { - TestBed.configureTestingModule({ - imports: [TranslateModule.forRoot({ - loader: { - provide: TranslateLoader, - useClass: MockTranslateLoader - } - })], - declarations: [ItemPageGenericUriFieldComponent, MetadataUriValuesComponent], - schemas: [NO_ERRORS_SCHEMA] - }).overrideComponent(ItemPageGenericUriFieldComponent, { - set: {changeDetection: ChangeDetectionStrategy.Default} - }).compileComponents(); - })); - - beforeEach(async(() => { - fixture = TestBed.createComponent(ItemPageGenericUriFieldComponent); - comp = fixture.componentInstance; - comp.item = mockItemWithMetadataFieldAndValue(mockField, mockValue); - comp.fields = [mockField]; - comp.label = mockLabel; - fixture.detectChanges(); - })); - - it('should display display the correct metadata value', () => { - expect(fixture.nativeElement.innerHTML).toContain(mockValue); - }); -}); diff --git a/src/app/+item-page/simple/field-components/specific-field/generic-uri/item-page-generic-uri-field.component.ts b/src/app/+item-page/simple/field-components/specific-field/generic-uri/item-page-generic-uri-field.component.ts deleted file mode 100644 index 596667a879..0000000000 --- a/src/app/+item-page/simple/field-components/specific-field/generic-uri/item-page-generic-uri-field.component.ts +++ /dev/null @@ -1,37 +0,0 @@ -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; - -} diff --git a/src/app/+item-page/simple/field-components/specific-field/uri/item-page-uri-field.component.spec.ts b/src/app/+item-page/simple/field-components/specific-field/uri/item-page-uri-field.component.spec.ts index 4511f16aae..21903e6557 100644 --- a/src/app/+item-page/simple/field-components/specific-field/uri/item-page-uri-field.component.spec.ts +++ b/src/app/+item-page/simple/field-components/specific-field/uri/item-page-uri-field.component.spec.ts @@ -11,6 +11,7 @@ let fixture: ComponentFixture; const mockField = 'dc.identifier.uri'; const mockValue = 'test value'; +const mockLabel = 'test label'; describe('ItemPageUriFieldComponent', () => { beforeEach(async(() => { @@ -32,6 +33,8 @@ describe('ItemPageUriFieldComponent', () => { fixture = TestBed.createComponent(ItemPageUriFieldComponent); comp = fixture.componentInstance; comp.item = mockItemWithMetadataFieldAndValue(mockField, mockValue); + comp.fields = [mockField]; + comp.label = mockLabel; fixture.detectChanges(); })); diff --git a/src/app/+item-page/simple/field-components/specific-field/uri/item-page-uri-field.component.ts b/src/app/+item-page/simple/field-components/specific-field/uri/item-page-uri-field.component.ts index c9cd5f1a00..b70cbbd5e8 100644 --- a/src/app/+item-page/simple/field-components/specific-field/uri/item-page-uri-field.component.ts +++ b/src/app/+item-page/simple/field-components/specific-field/uri/item-page-uri-field.component.ts @@ -8,7 +8,8 @@ import { ItemPageFieldComponent } from '../item-page-field.component'; templateUrl: './item-page-uri-field.component.html' }) /** - * This component is used for displaying the uri (dc.identifier.uri) metadata of an item + * This component can be used to represent any uri on a simple item page. + * It expects 4 parameters: The item, a separator, the metadata keys and an i18n key */ export class ItemPageUriFieldComponent extends ItemPageFieldComponent { @@ -21,19 +22,16 @@ export class ItemPageUriFieldComponent extends ItemPageFieldComponent { * Separator string between multiple values of the metadata fields defined * @type {string} */ - separator: string; + @Input() separator: string; /** * Fields (schema.element.qualifier) used to render their values. - * In this component, we want to display values for metadata 'dc.identifier.uri' */ - fields: string[] = [ - 'dc.identifier.uri' - ]; + @Input() fields: string[]; /** * Label i18n key for the rendered metadata */ - label = 'item.page.uri'; + @Input() label: string; } diff --git a/src/app/+item-page/simple/item-types/publication/publication.component.html b/src/app/+item-page/simple/item-types/publication/publication.component.html index 3cd4d0aa69..c45e85668a 100644 --- a/src/app/+item-page/simple/item-types/publication/publication.component.html +++ b/src/app/+item-page/simple/item-types/publication/publication.component.html @@ -62,8 +62,11 @@ - - + + +
diff --git a/themes/mantis/app/+item-page/simple/item-types/publication/publication.component.html b/themes/mantis/app/+item-page/simple/item-types/publication/publication.component.html index 35dc903432..50b5fed9d3 100644 --- a/themes/mantis/app/+item-page/simple/item-types/publication/publication.component.html +++ b/themes/mantis/app/+item-page/simple/item-types/publication/publication.component.html @@ -50,7 +50,10 @@ a
[fields]="['dc.identifier.citation']" [label]="'item.page.citation'"> - + < +