diff --git a/src/app/+item-page/edit-item-page/item-relationships/edit-relationship-list/edit-relationship-list.component.spec.ts b/src/app/+item-page/edit-item-page/item-relationships/edit-relationship-list/edit-relationship-list.component.spec.ts index c8e4c35b8b..3748ebca9d 100644 --- a/src/app/+item-page/edit-item-page/item-relationships/edit-relationship-list/edit-relationship-list.component.spec.ts +++ b/src/app/+item-page/edit-item-page/item-relationships/edit-relationship-list/edit-relationship-list.component.spec.ts @@ -117,7 +117,7 @@ describe('EditRelationshipListComponent', () => { fixture = TestBed.createComponent(EditRelationshipListComponent); comp = fixture.componentInstance; de = fixture.debugElement; - comp.object = item; + comp.item = item; comp.url = url; comp.relationshipLabel = relationshipType.leftLabel; fixture.detectChanges(); 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 09952354a5..bc945bc234 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 @@ -4,7 +4,7 @@
- + diff --git a/src/app/+item-page/simple/item-types/publication/publication.component.ts b/src/app/+item-page/simple/item-types/publication/publication.component.ts index 5bc118a4ca..777f42d1f0 100644 --- a/src/app/+item-page/simple/item-types/publication/publication.component.ts +++ b/src/app/+item-page/simple/item-types/publication/publication.component.ts @@ -8,7 +8,7 @@ import { ViewMode } from '../../../../core/shared/view-mode.model'; import { listableObjectComponent } from '../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; @listableObjectComponent('Publication', ViewMode.StandalonePage) -@listableObjectComponent(Item.name, ViewMode.StandalonePage) +@listableObjectComponent(Item, ViewMode.StandalonePage) @Component({ selector: 'ds-publication', styleUrls: ['./publication.component.scss'], diff --git a/src/app/+item-page/simple/item-types/shared/item.component.ts b/src/app/+item-page/simple/item-types/shared/item.component.ts index 398228856b..fa55872a67 100644 --- a/src/app/+item-page/simple/item-types/shared/item.component.ts +++ b/src/app/+item-page/simple/item-types/shared/item.component.ts @@ -66,9 +66,6 @@ export class ItemComponent implements OnInit { resolvedRelsAndTypes$: Observable<[Relationship[], RelationshipType[]]>; @Input() object: Item; - constructor( - ) {} - ngOnInit(): void { const relationships$ = this.object.relationships; if (relationships$) { diff --git a/src/app/+item-page/simple/metadata-representation-list/metadata-representation-list.component.ts b/src/app/+item-page/simple/metadata-representation-list/metadata-representation-list.component.ts index b585c9971b..f88bb12386 100644 --- a/src/app/+item-page/simple/metadata-representation-list/metadata-representation-list.component.ts +++ b/src/app/+item-page/simple/metadata-representation-list/metadata-representation-list.component.ts @@ -20,10 +20,4 @@ export class MetadataRepresentationListComponent { * An i18n label to use as a title for the list */ @Input() label: string; - - /** - * The view-mode we're currently on - * @type {ElementViewMode} - */ - viewMode = ViewMode.MetadataField; } diff --git a/src/app/+search-page/search-result.model.ts b/src/app/+search-page/search-result.model.ts index 693f81e65b..4f15656d59 100644 --- a/src/app/+search-page/search-result.model.ts +++ b/src/app/+search-page/search-result.model.ts @@ -1,6 +1,7 @@ import { DSpaceObject } from '../core/shared/dspace-object.model'; import { MetadataMap } from '../core/shared/metadata.models'; import { ListableObject } from '../shared/object-collection/shared/listable-object.model'; +import { GenericConstructor } from '../core/shared/generic-constructor'; /** * Represents a search result object of a certain () DSpaceObject @@ -16,7 +17,7 @@ export class SearchResult implements ListableObject { */ hitHighlights: MetadataMap; - getRenderTypes(): string[] { - return this.indexableObject.getRenderTypes().map((type) => type +'SearchResult'); + getRenderTypes(): Array> { + return [this.constructor as GenericConstructor]; } } diff --git a/src/app/core/metadata/metadata-field.model.ts b/src/app/core/metadata/metadata-field.model.ts index b4a20924b9..1712ba0379 100644 --- a/src/app/core/metadata/metadata-field.model.ts +++ b/src/app/core/metadata/metadata-field.model.ts @@ -2,6 +2,7 @@ import { ListableObject } from '../../shared/object-collection/shared/listable-o import { isNotEmpty } from '../../shared/empty.util'; import { MetadataSchema } from './metadata-schema.model'; import { ResourceType } from '../shared/resource-type'; +import { GenericConstructor } from '../shared/generic-constructor'; /** * Class the represents a metadata field @@ -51,7 +52,7 @@ export class MetadataField implements ListableObject { return key; } - getRenderTypes(): string[] { - return [this.constructor.name]; + getRenderTypes(): Array> { + return [this.constructor as GenericConstructor]; } } diff --git a/src/app/core/metadata/metadata-schema.model.ts b/src/app/core/metadata/metadata-schema.model.ts index f1551327a5..36ccaae36d 100644 --- a/src/app/core/metadata/metadata-schema.model.ts +++ b/src/app/core/metadata/metadata-schema.model.ts @@ -1,5 +1,6 @@ import { ListableObject } from '../../shared/object-collection/shared/listable-object.model'; import { ResourceType } from '../shared/resource-type'; +import { GenericConstructor } from '../shared/generic-constructor'; /** * Class that represents a metadata schema @@ -27,7 +28,7 @@ export class MetadataSchema implements ListableObject { */ namespace: string; - getRenderTypes(): string[] { - return [this.constructor.name]; + getRenderTypes(): Array> { + return [this.constructor as GenericConstructor]; } } diff --git a/src/app/core/registry/registry.service.spec.ts b/src/app/core/registry/registry.service.spec.ts index 455a8043da..03a7c132de 100644 --- a/src/app/core/registry/registry.service.spec.ts +++ b/src/app/core/registry/registry.service.spec.ts @@ -55,22 +55,24 @@ describe('RegistryService', () => { }); const mockSchemasList = [ - { + Object.assign(new MetadataSchema(), { id: 1, self: 'https://dspace7.4science.it/dspace-spring-rest/api/core/metadataschemas/1', prefix: 'dc', namespace: 'http://dublincore.org/documents/dcmi-terms/', type: MetadataSchema.type -}, - { +}), + Object.assign(new MetadataSchema(), { + id: 2, self: 'https://dspace7.4science.it/dspace-spring-rest/api/core/metadataschemas/2', prefix: 'mock', namespace: 'http://dspace.org/mockschema', type: MetadataSchema.type - } + }) ]; const mockFieldsList = [ + Object.assign(new MetadataField(), { id: 1, self: 'https://dspace7.4science.it/dspace-spring-rest/api/core/metadatafields/8', @@ -79,8 +81,9 @@ describe('RegistryService', () => { scopeNote: null, schema: mockSchemasList[0], type: MetadataField.type - }, - { + }), + Object.assign(new MetadataField(), + { id: 2, self: 'https://dspace7.4science.it/dspace-spring-rest/api/core/metadatafields/9', element: 'contributor', @@ -88,8 +91,9 @@ describe('RegistryService', () => { scopeNote: null, schema: mockSchemasList[0], type: MetadataField.type - }, - { + }), + Object.assign(new MetadataField(), + { id: 3, self: 'https://dspace7.4science.it/dspace-spring-rest/api/core/metadatafields/10', element: 'contributor', @@ -97,8 +101,9 @@ describe('RegistryService', () => { scopeNote: 'test scope note', schema: mockSchemasList[1], type: MetadataField.type - }, - { + }), + Object.assign(new MetadataField(), + { id: 4, self: 'https://dspace7.4science.it/dspace-spring-rest/api/core/metadatafields/11', element: 'contributor', @@ -106,7 +111,7 @@ describe('RegistryService', () => { scopeNote: null, schema: mockSchemasList[1], type: MetadataField.type - } + }) ]; const pageInfo = new PageInfo(); diff --git a/src/app/core/shared/browse-entry.model.ts b/src/app/core/shared/browse-entry.model.ts index a8b41894f5..b2470032ad 100644 --- a/src/app/core/shared/browse-entry.model.ts +++ b/src/app/core/shared/browse-entry.model.ts @@ -1,6 +1,7 @@ import { ListableObject } from '../../shared/object-collection/shared/listable-object.model'; import { TypedObject } from '../cache/object-cache.reducer'; import { ResourceType } from './resource-type'; +import { GenericConstructor } from './generic-constructor'; /** * Class object representing a browse entry @@ -29,7 +30,7 @@ export class BrowseEntry implements ListableObject { */ count: number; - getRenderTypes(): string[] { - return [this.constructor.name]; + getRenderTypes(): Array> { + return [this.constructor as GenericConstructor]; } } diff --git a/src/app/core/shared/dspace-object.model.ts b/src/app/core/shared/dspace-object.model.ts index 16f4002b7f..685f886b19 100644 --- a/src/app/core/shared/dspace-object.model.ts +++ b/src/app/core/shared/dspace-object.model.ts @@ -12,6 +12,7 @@ import { CacheableObject } from '../cache/object-cache.reducer'; import { RemoteData } from '../data/remote-data'; import { ListableObject } from '../../shared/object-collection/shared/listable-object.model'; import { ResourceType } from './resource-type'; +import { GenericConstructor } from './generic-constructor'; /** * An abstract model class for a DSpaceObject. @@ -146,7 +147,7 @@ export class DSpaceObject implements CacheableObject, ListableObject { }); } - getRenderTypes(): string[] { - return [this.constructor.name]; + getRenderTypes(): Array> { + return [this.constructor as GenericConstructor]; } } diff --git a/src/app/core/shared/item.model.ts b/src/app/core/shared/item.model.ts index 2f553a58db..191a258c4f 100644 --- a/src/app/core/shared/item.model.ts +++ b/src/app/core/shared/item.model.ts @@ -10,6 +10,9 @@ import { PaginatedList } from '../data/paginated-list'; import { Relationship } from './item-relationships/relationship.model'; import { ResourceType } from './resource-type'; import { getSucceededRemoteData } from './operators'; +import { GenericConstructor } from './generic-constructor'; +import { ListableObject } from '../../shared/object-collection/shared/listable-object.model'; +import { DEFAULT_ENTITY_TYPE } from '../../shared/metadata-representation/metadata-representation.decorator'; export class Item extends DSpaceObject { static type = new ResourceType('item'); @@ -110,10 +113,10 @@ export class Item extends DSpaceObject { })); } - getRenderTypes(): string[] { + getRenderTypes(): Array> { let entityType = this.firstMetadataValue('relationship.type'); if (isEmpty(entityType)) { - entityType = 'Publication'; + entityType = DEFAULT_ENTITY_TYPE; } return [entityType, ...super.getRenderTypes()]; } diff --git a/src/app/core/shared/view-mode.model.ts b/src/app/core/shared/view-mode.model.ts index f49f3b490c..c2f076a5e5 100644 --- a/src/app/core/shared/view-mode.model.ts +++ b/src/app/core/shared/view-mode.model.ts @@ -7,5 +7,4 @@ export enum ViewMode { GridElement = 'gridElement', DetailedListElement = 'detailedListElement', StandalonePage = 'standalonePage', - MetadataField = 'metadataField' } diff --git a/src/app/entity-groups/journal-entities/item-grid-elements/journal-issue/journal-issue-grid-element.component.spec.ts b/src/app/entity-groups/journal-entities/item-grid-elements/journal-issue/journal-issue-grid-element.component.spec.ts index 4ad7770e1e..9a147637fa 100644 --- a/src/app/entity-groups/journal-entities/item-grid-elements/journal-issue/journal-issue-grid-element.component.spec.ts +++ b/src/app/entity-groups/journal-entities/item-grid-elements/journal-issue/journal-issue-grid-element.component.spec.ts @@ -1,6 +1,4 @@ -import { ItemSearchResult } from '../../../../shared/object-collection/shared/item-search-result.model'; import { Item } from '../../../../core/shared/item.model'; -import { getEntityGridElementTestComponent } from '../../../../shared/object-grid/item-grid-element/item-types/publication/publication-grid-element.component.spec'; import { JournalIssueGridElementComponent } from './journal-issue-grid-element.component'; import { createSuccessfulRemoteDataObject$ } from '../../../../shared/testing/utils'; import { PaginatedList } from '../../../../core/data/paginated-list'; @@ -37,43 +35,41 @@ const mockItem = Object.assign(new Item(), { } }); -describe('JournalIssueGridElementComponent', - () => { - let comp; - let fixture; +describe('JournalIssueGridElementComponent', () => { + let comp; + let fixture; - const truncatableServiceStub: any = { - isCollapsed: (id: number) => observableOf(true), - }; + const truncatableServiceStub: any = { + isCollapsed: (id: number) => observableOf(true), + }; - beforeEach(async(() => { - TestBed.configureTestingModule({ - imports: [NoopAnimationsModule], - declarations: [JournalIssueGridElementComponent, TruncatePipe], - providers: [ - { provide: TruncatableService, useValue: truncatableServiceStub }, - ], - schemas: [NO_ERRORS_SCHEMA] - }).overrideComponent(JournalIssueGridElementComponent, { - set: { changeDetection: ChangeDetectionStrategy.Default } - }).compileComponents(); - })); + beforeEach(async(() => { + TestBed.configureTestingModule({ + imports: [NoopAnimationsModule], + declarations: [JournalIssueGridElementComponent, TruncatePipe], + providers: [ + { provide: TruncatableService, useValue: truncatableServiceStub }, + ], + schemas: [NO_ERRORS_SCHEMA] + }).overrideComponent(JournalIssueGridElementComponent, { + set: { changeDetection: ChangeDetectionStrategy.Default } + }).compileComponents(); + })); - beforeEach(async(() => { - fixture = TestBed.createComponent(JournalIssueGridElementComponent); - comp = fixture.componentInstance; - })); + beforeEach(async(() => { + fixture = TestBed.createComponent(JournalIssueGridElementComponent); + comp = fixture.componentInstance; + })); - describe(`when the journal issue is rendered`, () => { - beforeEach(() => { - comp.object = mockItem; - fixture.detectChanges(); - }); - - it(`should contain a JournalIssueSearchResultGridElementComponent`, () => { - const journalIssueGridElement = fixture.debugElement.query(By.css(`ds-journal-issue-search-result-grid-element`)); - expect(journalIssueGridElement).not.toBeNull(); - }); - }); + describe(`when the journal issue is rendered`, () => { + beforeEach(() => { + comp.object = mockItem; + fixture.detectChanges(); + }); + it(`should contain a JournalIssueSearchResultGridElementComponent`, () => { + const journalIssueGridElement = fixture.debugElement.query(By.css(`ds-journal-issue-search-result-grid-element`)); + expect(journalIssueGridElement).not.toBeNull(); + }); }); +}); diff --git a/src/app/entity-groups/journal-entities/item-grid-elements/journal-volume/journal-volume-grid-element.component.spec.ts b/src/app/entity-groups/journal-entities/item-grid-elements/journal-volume/journal-volume-grid-element.component.spec.ts index 427f1db3cd..6f74f97ac1 100644 --- a/src/app/entity-groups/journal-entities/item-grid-elements/journal-volume/journal-volume-grid-element.component.spec.ts +++ b/src/app/entity-groups/journal-entities/item-grid-elements/journal-volume/journal-volume-grid-element.component.spec.ts @@ -1,4 +1,3 @@ -import { ItemSearchResult } from '../../../../shared/object-collection/shared/item-search-result.model'; import { Item } from '../../../../core/shared/item.model'; import { JournalVolumeGridElementComponent } from './journal-volume-grid-element.component'; import { createSuccessfulRemoteDataObject$ } from '../../../../shared/testing/utils'; @@ -7,7 +6,6 @@ import { PageInfo } from '../../../../core/shared/page-info.model'; import { of as observableOf } from 'rxjs'; import { async, TestBed } from '@angular/core/testing'; import { NoopAnimationsModule } from '@angular/platform-browser/animations'; -import { JournalIssueGridElementComponent } from '../journal-issue/journal-issue-grid-element.component'; import { TruncatePipe } from '../../../../shared/utils/truncate.pipe'; import { TruncatableService } from '../../../../shared/truncatable/truncatable.service'; import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; @@ -37,43 +35,41 @@ const mockItem = Object.assign(new Item(), { } }); -describe('JournalVolumeGridElementComponent', - () => { - let comp; - let fixture; +describe('JournalVolumeGridElementComponent', () => { + let comp; + let fixture; - const truncatableServiceStub: any = { - isCollapsed: (id: number) => observableOf(true), - }; + const truncatableServiceStub: any = { + isCollapsed: (id: number) => observableOf(true), + }; - beforeEach(async(() => { - TestBed.configureTestingModule({ - imports: [NoopAnimationsModule], - declarations: [JournalVolumeGridElementComponent, TruncatePipe], - providers: [ - { provide: TruncatableService, useValue: truncatableServiceStub }, - ], - schemas: [NO_ERRORS_SCHEMA] - }).overrideComponent(JournalVolumeGridElementComponent, { - set: { changeDetection: ChangeDetectionStrategy.Default } - }).compileComponents(); - })); + beforeEach(async(() => { + TestBed.configureTestingModule({ + imports: [NoopAnimationsModule], + declarations: [JournalVolumeGridElementComponent, TruncatePipe], + providers: [ + { provide: TruncatableService, useValue: truncatableServiceStub }, + ], + schemas: [NO_ERRORS_SCHEMA] + }).overrideComponent(JournalVolumeGridElementComponent, { + set: { changeDetection: ChangeDetectionStrategy.Default } + }).compileComponents(); + })); - beforeEach(async(() => { - fixture = TestBed.createComponent(JournalVolumeGridElementComponent); - comp = fixture.componentInstance; - })); + beforeEach(async(() => { + fixture = TestBed.createComponent(JournalVolumeGridElementComponent); + comp = fixture.componentInstance; + })); - describe(`when the journal volume is rendered`, () => { - beforeEach(() => { - comp.object = mockItem; - fixture.detectChanges(); - }); - - it(`should contain a JournalVolumeSearchResultGridElementComponent`, () => { - const journalVolumeGridElement = fixture.debugElement.query(By.css(`ds-journal-volume-search-result-grid-element`)); - expect(journalVolumeGridElement).not.toBeNull(); - }); + describe(`when the journal volume is rendered`, () => { + beforeEach(() => { + comp.object = mockItem; + fixture.detectChanges(); }); - }); \ No newline at end of file + it(`should contain a JournalVolumeSearchResultGridElementComponent`, () => { + const journalVolumeGridElement = fixture.debugElement.query(By.css(`ds-journal-volume-search-result-grid-element`)); + expect(journalVolumeGridElement).not.toBeNull(); + }); + }); +}); diff --git a/src/app/entity-groups/journal-entities/item-grid-elements/journal/journal-grid-element.component.spec.ts b/src/app/entity-groups/journal-entities/item-grid-elements/journal/journal-grid-element.component.spec.ts index d0f3753840..0619309d09 100644 --- a/src/app/entity-groups/journal-entities/item-grid-elements/journal/journal-grid-element.component.spec.ts +++ b/src/app/entity-groups/journal-entities/item-grid-elements/journal/journal-grid-element.component.spec.ts @@ -1,4 +1,3 @@ -import { ItemSearchResult } from '../../../../shared/object-collection/shared/item-search-result.model'; import { Item } from '../../../../core/shared/item.model'; import { of as observableOf } from 'rxjs/internal/observable/of'; import { JournalGridElementComponent } from './journal-grid-element.component'; @@ -42,43 +41,41 @@ const mockItem = Object.assign(new Item(), { } }); -describe('JournalGridElementComponent', - () => { - let comp; - let fixture; +describe('JournalGridElementComponent', () => { + let comp; + let fixture; - const truncatableServiceStub: any = { - isCollapsed: (id: number) => observableOf(true), - }; + const truncatableServiceStub: any = { + isCollapsed: (id: number) => observableOf(true), + }; - beforeEach(async(() => { - TestBed.configureTestingModule({ - imports: [NoopAnimationsModule], - declarations: [JournalGridElementComponent, TruncatePipe], - providers: [ - { provide: TruncatableService, useValue: truncatableServiceStub }, - ], - schemas: [NO_ERRORS_SCHEMA] - }).overrideComponent(JournalGridElementComponent, { - set: { changeDetection: ChangeDetectionStrategy.Default } - }).compileComponents(); - })); + beforeEach(async(() => { + TestBed.configureTestingModule({ + imports: [NoopAnimationsModule], + declarations: [JournalGridElementComponent, TruncatePipe], + providers: [ + { provide: TruncatableService, useValue: truncatableServiceStub }, + ], + schemas: [NO_ERRORS_SCHEMA] + }).overrideComponent(JournalGridElementComponent, { + set: { changeDetection: ChangeDetectionStrategy.Default } + }).compileComponents(); + })); - beforeEach(async(() => { - fixture = TestBed.createComponent(JournalGridElementComponent); - comp = fixture.componentInstance; - })); + beforeEach(async(() => { + fixture = TestBed.createComponent(JournalGridElementComponent); + comp = fixture.componentInstance; + })); - describe(`when the journal is rendered`, () => { - beforeEach(() => { - comp.object = mockItem; - fixture.detectChanges(); - }); - - it(`should contain a JournalGridElementComponent`, () => { - const journalGridElement = fixture.debugElement.query(By.css(`ds-journal-search-result-grid-element`)); - expect(journalGridElement).not.toBeNull(); - }); + describe(`when the journal is rendered`, () => { + beforeEach(() => { + comp.object = mockItem; + fixture.detectChanges(); }); - }); \ No newline at end of file + it(`should contain a JournalGridElementComponent`, () => { + const journalGridElement = fixture.debugElement.query(By.css(`ds-journal-search-result-grid-element`)); + expect(journalGridElement).not.toBeNull(); + }); + }); +}); diff --git a/src/app/entity-groups/journal-entities/item-list-elements/journal-issue/journal-issue-list-element.component.spec.ts b/src/app/entity-groups/journal-entities/item-list-elements/journal-issue/journal-issue-list-element.component.spec.ts index 1a06e9f29c..a7dfcbbf36 100644 --- a/src/app/entity-groups/journal-entities/item-list-elements/journal-issue/journal-issue-list-element.component.spec.ts +++ b/src/app/entity-groups/journal-entities/item-list-elements/journal-issue/journal-issue-list-element.component.spec.ts @@ -31,42 +31,41 @@ const mockItem: Item = Object.assign(new Item(), { } }); -describe('JournalIssueListElementComponent', - () => { - let comp; - let fixture; +describe('JournalIssueListElementComponent', () => { + let comp; + let fixture; - const truncatableServiceStub: any = { - isCollapsed: (id: number) => observableOf(true), - }; + const truncatableServiceStub: any = { + isCollapsed: (id: number) => observableOf(true), + }; - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [JournalIssueListElementComponent, TruncatePipe], - providers: [ - { provide: TruncatableService, useValue: truncatableServiceStub }, - ], - schemas: [NO_ERRORS_SCHEMA] - }).overrideComponent(JournalIssueListElementComponent, { - set: { changeDetection: ChangeDetectionStrategy.Default } - }).compileComponents(); - })); + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [JournalIssueListElementComponent, TruncatePipe], + providers: [ + { provide: TruncatableService, useValue: truncatableServiceStub }, + ], + schemas: [NO_ERRORS_SCHEMA] + }).overrideComponent(JournalIssueListElementComponent, { + set: { changeDetection: ChangeDetectionStrategy.Default } + }).compileComponents(); + })); - beforeEach(async(() => { - fixture = TestBed.createComponent(JournalIssueListElementComponent); - comp = fixture.componentInstance; - })); + beforeEach(async(() => { + fixture = TestBed.createComponent(JournalIssueListElementComponent); + comp = fixture.componentInstance; + })); - describe(`when the journal issue is rendered`, () => { - beforeEach(() => { - comp.object = mockItem; - fixture.detectChanges(); - }); - - it(`should contain a JournalIssueListElementComponent`, () => { - const journalIssueListElement = fixture.debugElement.query(By.css(`ds-journal-issue-search-result-list-element`)); - expect(journalIssueListElement).not.toBeNull(); - }); + describe(`when the journal issue is rendered`, () => { + beforeEach(() => { + comp.object = mockItem; + fixture.detectChanges(); }); - }); \ No newline at end of file + it(`should contain a JournalIssueListElementComponent`, () => { + const journalIssueListElement = fixture.debugElement.query(By.css(`ds-journal-issue-search-result-list-element`)); + expect(journalIssueListElement).not.toBeNull(); + }); + }); + +}); diff --git a/src/app/entity-groups/journal-entities/item-list-elements/journal-volume/journal-volume-list-element.component.spec.ts b/src/app/entity-groups/journal-entities/item-list-elements/journal-volume/journal-volume-list-element.component.spec.ts index 0d1401068b..ba43805525 100644 --- a/src/app/entity-groups/journal-entities/item-list-elements/journal-volume/journal-volume-list-element.component.spec.ts +++ b/src/app/entity-groups/journal-entities/item-list-elements/journal-volume/journal-volume-list-element.component.spec.ts @@ -30,42 +30,41 @@ const mockItem: Item = Object.assign(new Item(), { ] } }); -describe('JournalVolumeListElementComponent', - () => { - let comp; - let fixture; - const truncatableServiceStub: any = { - isCollapsed: (id: number) => observableOf(true), - }; +describe('JournalVolumeListElementComponent', () => { + let comp; + let fixture; - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [JournalVolumeListElementComponent, TruncatePipe], - providers: [ - { provide: TruncatableService, useValue: truncatableServiceStub }, - ], - schemas: [NO_ERRORS_SCHEMA] - }).overrideComponent(JournalVolumeListElementComponent, { - set: { changeDetection: ChangeDetectionStrategy.Default } - }).compileComponents(); - })); + const truncatableServiceStub: any = { + isCollapsed: (id: number) => observableOf(true), + }; - beforeEach(async(() => { - fixture = TestBed.createComponent(JournalVolumeListElementComponent); - comp = fixture.componentInstance; - })); + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [JournalVolumeListElementComponent, TruncatePipe], + providers: [ + { provide: TruncatableService, useValue: truncatableServiceStub }, + ], + schemas: [NO_ERRORS_SCHEMA] + }).overrideComponent(JournalVolumeListElementComponent, { + set: { changeDetection: ChangeDetectionStrategy.Default } + }).compileComponents(); + })); - describe(`when the journal volume is rendered`, () => { - beforeEach(() => { - comp.object = mockItem; - fixture.detectChanges(); - }); + beforeEach(async(() => { + fixture = TestBed.createComponent(JournalVolumeListElementComponent); + comp = fixture.componentInstance; + })); - it(`should contain a JournalVolumeListElementComponent`, () => { - const journalVolumeListElement = fixture.debugElement.query(By.css(`ds-journal-volume-search-result-list-element`)); - expect(journalVolumeListElement).not.toBeNull(); - }); + describe(`when the journal volume is rendered`, () => { + beforeEach(() => { + comp.object = mockItem; + fixture.detectChanges(); }); - }); \ No newline at end of file + it(`should contain a JournalVolumeListElementComponent`, () => { + const journalVolumeListElement = fixture.debugElement.query(By.css(`ds-journal-volume-search-result-list-element`)); + expect(journalVolumeListElement).not.toBeNull(); + }); + }); +}); diff --git a/src/app/entity-groups/journal-entities/item-list-elements/journal/journal-list-element.component.spec.ts b/src/app/entity-groups/journal-entities/item-list-elements/journal/journal-list-element.component.spec.ts index 432f81c171..6581619787 100644 --- a/src/app/entity-groups/journal-entities/item-list-elements/journal/journal-list-element.component.spec.ts +++ b/src/app/entity-groups/journal-entities/item-list-elements/journal/journal-list-element.component.spec.ts @@ -25,43 +25,40 @@ const mockItem: Item = Object.assign(new Item(), { } }); +describe('JournalListElementComponent', () => { + let comp; + let fixture; -describe('JournalListElementComponent', - () => { - let comp; - let fixture; + const truncatableServiceStub: any = { + isCollapsed: (id: number) => observableOf(true), + }; - const truncatableServiceStub: any = { - isCollapsed: (id: number) => observableOf(true), - }; + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [JournalListElementComponent, TruncatePipe], + providers: [ + { provide: TruncatableService, useValue: truncatableServiceStub }, + ], + schemas: [NO_ERRORS_SCHEMA] + }).overrideComponent(JournalListElementComponent, { + set: { changeDetection: ChangeDetectionStrategy.Default } + }).compileComponents(); + })); - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [JournalListElementComponent, TruncatePipe], - providers: [ - { provide: TruncatableService, useValue: truncatableServiceStub }, - ], - schemas: [NO_ERRORS_SCHEMA] - }).overrideComponent(JournalListElementComponent, { - set: { changeDetection: ChangeDetectionStrategy.Default } - }).compileComponents(); - })); + beforeEach(async(() => { + fixture = TestBed.createComponent(JournalListElementComponent); + comp = fixture.componentInstance; + })); - beforeEach(async(() => { - fixture = TestBed.createComponent(JournalListElementComponent); - comp = fixture.componentInstance; - })); - - describe(`when the journal is rendered`, () => { - beforeEach(() => { - comp.object = mockItem; - fixture.detectChanges(); - }); - - it(`should contain a JournalListElementComponent`, () => { - const journalListElement = fixture.debugElement.query(By.css(`ds-journal-search-result-list-element`)); - expect(journalListElement).not.toBeNull(); - }); + describe(`when the journal is rendered`, () => { + beforeEach(() => { + comp.object = mockItem; + fixture.detectChanges(); }); - }); \ No newline at end of file + it(`should contain a JournalListElementComponent`, () => { + const journalListElement = fixture.debugElement.query(By.css(`ds-journal-search-result-list-element`)); + expect(journalListElement).not.toBeNull(); + }); + }); +}); diff --git a/src/app/entity-groups/research-entities/item-grid-elements/orgunit/orgunit-grid-element.component.spec.ts b/src/app/entity-groups/research-entities/item-grid-elements/orgunit/orgunit-grid-element.component.spec.ts index 1140f7d908..5cbe9f6d79 100644 --- a/src/app/entity-groups/research-entities/item-grid-elements/orgunit/orgunit-grid-element.component.spec.ts +++ b/src/app/entity-groups/research-entities/item-grid-elements/orgunit/orgunit-grid-element.component.spec.ts @@ -41,43 +41,41 @@ const mockItem = Object.assign(new Item(), { } }); -describe('OrgunitGridElementComponent', - () => { - let comp; - let fixture; +describe('OrgunitGridElementComponent', () => { + let comp; + let fixture; - const truncatableServiceStub: any = { - isCollapsed: (id: number) => observableOf(true), - }; + const truncatableServiceStub: any = { + isCollapsed: (id: number) => observableOf(true), + }; - beforeEach(async(() => { - TestBed.configureTestingModule({ - imports: [NoopAnimationsModule], - declarations: [OrgunitGridElementComponent, TruncatePipe], - providers: [ - { provide: TruncatableService, useValue: truncatableServiceStub }, - ], - schemas: [NO_ERRORS_SCHEMA] - }).overrideComponent(OrgunitGridElementComponent, { - set: { changeDetection: ChangeDetectionStrategy.Default } - }).compileComponents(); - })); + beforeEach(async(() => { + TestBed.configureTestingModule({ + imports: [NoopAnimationsModule], + declarations: [OrgunitGridElementComponent, TruncatePipe], + providers: [ + { provide: TruncatableService, useValue: truncatableServiceStub }, + ], + schemas: [NO_ERRORS_SCHEMA] + }).overrideComponent(OrgunitGridElementComponent, { + set: { changeDetection: ChangeDetectionStrategy.Default } + }).compileComponents(); + })); - beforeEach(async(() => { - fixture = TestBed.createComponent(OrgunitGridElementComponent); - comp = fixture.componentInstance; - })); + beforeEach(async(() => { + fixture = TestBed.createComponent(OrgunitGridElementComponent); + comp = fixture.componentInstance; + })); - describe(`when the org unit is rendered`, () => { - beforeEach(() => { - comp.object = mockItem; - fixture.detectChanges(); - }); - - it(`should contain a OrgunitGridElementComponent`, () => { - const orgunitGridElement = fixture.debugElement.query(By.css(`ds-orgunit-search-result-grid-element`)); - expect(orgunitGridElement).not.toBeNull(); - }); + describe(`when the org unit is rendered`, () => { + beforeEach(() => { + comp.object = mockItem; + fixture.detectChanges(); }); - }); \ No newline at end of file + it(`should contain a OrgunitGridElementComponent`, () => { + const orgunitGridElement = fixture.debugElement.query(By.css(`ds-orgunit-search-result-grid-element`)); + expect(orgunitGridElement).not.toBeNull(); + }); + }); +}); diff --git a/src/app/entity-groups/research-entities/item-grid-elements/person/person-grid-element.component.spec.ts b/src/app/entity-groups/research-entities/item-grid-elements/person/person-grid-element.component.spec.ts index fdcc84d864..3edb0fdea7 100644 --- a/src/app/entity-groups/research-entities/item-grid-elements/person/person-grid-element.component.spec.ts +++ b/src/app/entity-groups/research-entities/item-grid-elements/person/person-grid-element.component.spec.ts @@ -35,43 +35,41 @@ const mockItem = Object.assign(new Item(), { } }); -describe('PersonGridElementComponent', - () => { - let comp; - let fixture; +describe('PersonGridElementComponent', () => { + let comp; + let fixture; - const truncatableServiceStub: any = { - isCollapsed: (id: number) => observableOf(true), - }; + const truncatableServiceStub: any = { + isCollapsed: (id: number) => observableOf(true), + }; - beforeEach(async(() => { - TestBed.configureTestingModule({ - imports: [NoopAnimationsModule], - declarations: [PersonGridElementComponent, TruncatePipe], - providers: [ - { provide: TruncatableService, useValue: truncatableServiceStub }, - ], - schemas: [NO_ERRORS_SCHEMA] - }).overrideComponent(PersonGridElementComponent, { - set: { changeDetection: ChangeDetectionStrategy.Default } - }).compileComponents(); - })); + beforeEach(async(() => { + TestBed.configureTestingModule({ + imports: [NoopAnimationsModule], + declarations: [PersonGridElementComponent, TruncatePipe], + providers: [ + { provide: TruncatableService, useValue: truncatableServiceStub }, + ], + schemas: [NO_ERRORS_SCHEMA] + }).overrideComponent(PersonGridElementComponent, { + set: { changeDetection: ChangeDetectionStrategy.Default } + }).compileComponents(); + })); - beforeEach(async(() => { - fixture = TestBed.createComponent(PersonGridElementComponent); - comp = fixture.componentInstance; - })); + beforeEach(async(() => { + fixture = TestBed.createComponent(PersonGridElementComponent); + comp = fixture.componentInstance; + })); - describe(`when the person is rendered`, () => { - beforeEach(() => { - comp.object = mockItem; - fixture.detectChanges(); - }); - - it(`should contain a PersonGridElementComponent`, () => { - const personGridElement = fixture.debugElement.query(By.css(`ds-person-search-result-grid-element`)); - expect(personGridElement).not.toBeNull(); - }); + describe(`when the person is rendered`, () => { + beforeEach(() => { + comp.object = mockItem; + fixture.detectChanges(); }); - }); \ No newline at end of file + it(`should contain a PersonGridElementComponent`, () => { + const personGridElement = fixture.debugElement.query(By.css(`ds-person-search-result-grid-element`)); + expect(personGridElement).not.toBeNull(); + }); + }); +}); diff --git a/src/app/entity-groups/research-entities/item-grid-elements/project/project-grid-element.component.spec.ts b/src/app/entity-groups/research-entities/item-grid-elements/project/project-grid-element.component.spec.ts index 701ca46a73..8bd462b0e6 100644 --- a/src/app/entity-groups/research-entities/item-grid-elements/project/project-grid-element.component.spec.ts +++ b/src/app/entity-groups/research-entities/item-grid-elements/project/project-grid-element.component.spec.ts @@ -1,14 +1,11 @@ -import { ItemSearchResult } from '../../../../shared/object-collection/shared/item-search-result.model'; import { Item } from '../../../../core/shared/item.model'; import { of as observableOf } from 'rxjs/internal/observable/of'; -import { getEntityGridElementTestComponent } from '../../../../shared/object-grid/item-grid-element/item-types/publication/publication-grid-element.component.spec'; import { ProjectGridElementComponent } from './project-grid-element.component'; import { createSuccessfulRemoteDataObject$ } from '../../../../shared/testing/utils'; import { PaginatedList } from '../../../../core/data/paginated-list'; import { PageInfo } from '../../../../core/shared/page-info.model'; import { async, TestBed } from '@angular/core/testing'; import { NoopAnimationsModule } from '@angular/platform-browser/animations'; -import { PersonGridElementComponent } from '../person/person-grid-element.component'; import { TruncatePipe } from '../../../../shared/utils/truncate.pipe'; import { TruncatableService } from '../../../../shared/truncatable/truncatable.service'; import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; @@ -32,43 +29,41 @@ const mockItem = Object.assign(new Item(), { } }); -describe('ProjectGridElementComponent', - () => { - let comp; - let fixture; +describe('ProjectGridElementComponent', () => { + let comp; + let fixture; - const truncatableServiceStub: any = { - isCollapsed: (id: number) => observableOf(true), - }; + const truncatableServiceStub: any = { + isCollapsed: (id: number) => observableOf(true), + }; - beforeEach(async(() => { - TestBed.configureTestingModule({ - imports: [NoopAnimationsModule], - declarations: [ProjectGridElementComponent, TruncatePipe], - providers: [ - { provide: TruncatableService, useValue: truncatableServiceStub }, - ], - schemas: [NO_ERRORS_SCHEMA] - }).overrideComponent(ProjectGridElementComponent, { - set: { changeDetection: ChangeDetectionStrategy.Default } - }).compileComponents(); - })); + beforeEach(async(() => { + TestBed.configureTestingModule({ + imports: [NoopAnimationsModule], + declarations: [ProjectGridElementComponent, TruncatePipe], + providers: [ + { provide: TruncatableService, useValue: truncatableServiceStub }, + ], + schemas: [NO_ERRORS_SCHEMA] + }).overrideComponent(ProjectGridElementComponent, { + set: { changeDetection: ChangeDetectionStrategy.Default } + }).compileComponents(); + })); - beforeEach(async(() => { - fixture = TestBed.createComponent(ProjectGridElementComponent); - comp = fixture.componentInstance; - })); + beforeEach(async(() => { + fixture = TestBed.createComponent(ProjectGridElementComponent); + comp = fixture.componentInstance; + })); - describe(`when the project is rendered`, () => { - beforeEach(() => { - comp.object = mockItem; - fixture.detectChanges(); - }); - - it(`should contain a ProjectGridElementComponent`, () => { - const projectGridElement = fixture.debugElement.query(By.css(`ds-project-search-result-grid-element`)); - expect(projectGridElement).not.toBeNull(); - }); + describe(`when the project is rendered`, () => { + beforeEach(() => { + comp.object = mockItem; + fixture.detectChanges(); }); - }); \ No newline at end of file + it(`should contain a ProjectGridElementComponent`, () => { + const projectGridElement = fixture.debugElement.query(By.css(`ds-project-search-result-grid-element`)); + expect(projectGridElement).not.toBeNull(); + }); + }); +}); diff --git a/src/app/entity-groups/research-entities/item-grid-elements/search-result-grid-elements/project/project-search-result-grid-element.component.spec.ts b/src/app/entity-groups/research-entities/item-grid-elements/search-result-grid-elements/project/project-search-result-grid-element.component.spec.ts index a9c0774c8c..15e7432b65 100644 --- a/src/app/entity-groups/research-entities/item-grid-elements/search-result-grid-elements/project/project-search-result-grid-element.component.spec.ts +++ b/src/app/entity-groups/research-entities/item-grid-elements/search-result-grid-elements/project/project-search-result-grid-element.component.spec.ts @@ -3,8 +3,8 @@ import { Item } from '../../../../../core/shared/item.model'; import { createSuccessfulRemoteDataObject$ } from '../../../../../shared/testing/utils'; import { PaginatedList } from '../../../../../core/data/paginated-list'; import { PageInfo } from '../../../../../core/shared/page-info.model'; -import { getEntityGridElementTestComponent } from '../../../../../shared/object-grid/search-result-grid-element/item-search-result/publication/publication-search-result-grid-element.component.spec'; import { ProjectSearchResultGridElementComponent } from './project-search-result-grid-element.component'; +import { getEntityGridElementTestComponent } from '../../../../../shared/object-grid/search-result-grid-element/item-search-result/publication/publication-search-result-grid-element.component.spec'; const mockItemWithMetadata: ItemSearchResult = new ItemSearchResult(); mockItemWithMetadata.hitHighlights = {}; diff --git a/src/app/entity-groups/research-entities/item-list-elements/orgunit/orgunit-list-element.component.spec.ts b/src/app/entity-groups/research-entities/item-list-elements/orgunit/orgunit-list-element.component.spec.ts index d0254e675d..3009197e10 100644 --- a/src/app/entity-groups/research-entities/item-list-elements/orgunit/orgunit-list-element.component.spec.ts +++ b/src/app/entity-groups/research-entities/item-list-elements/orgunit/orgunit-list-element.component.spec.ts @@ -25,42 +25,40 @@ const mockItem: Item = Object.assign(new Item(), { } }); -describe('OrgunitListElementComponent', - () => { - let comp; - let fixture; +describe('OrgunitListElementComponent', () => { + let comp; + let fixture; - const truncatableServiceStub: any = { - isCollapsed: (id: number) => observableOf(true), - }; + const truncatableServiceStub: any = { + isCollapsed: (id: number) => observableOf(true), + }; - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [OrgUnitListElementComponent, TruncatePipe], - providers: [ - { provide: TruncatableService, useValue: truncatableServiceStub }, - ], - schemas: [NO_ERRORS_SCHEMA] - }).overrideComponent(OrgUnitListElementComponent, { - set: { changeDetection: ChangeDetectionStrategy.Default } - }).compileComponents(); - })); + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [OrgUnitListElementComponent, TruncatePipe], + providers: [ + { provide: TruncatableService, useValue: truncatableServiceStub }, + ], + schemas: [NO_ERRORS_SCHEMA] + }).overrideComponent(OrgUnitListElementComponent, { + set: { changeDetection: ChangeDetectionStrategy.Default } + }).compileComponents(); + })); - beforeEach(async(() => { - fixture = TestBed.createComponent(OrgUnitListElementComponent); - comp = fixture.componentInstance; - })); + beforeEach(async(() => { + fixture = TestBed.createComponent(OrgUnitListElementComponent); + comp = fixture.componentInstance; + })); - describe(`when the orgunit is rendered`, () => { - beforeEach(() => { - comp.object = mockItem; - fixture.detectChanges(); - }); - - it(`should contain a OrgUnitListElementComponent`, () => { - const orgunitListElement = fixture.debugElement.query(By.css(`ds-orgunit-search-result-list-element`)); - expect(orgunitListElement).not.toBeNull(); - }); + describe(`when the orgunit is rendered`, () => { + beforeEach(() => { + comp.object = mockItem; + fixture.detectChanges(); }); - }); \ No newline at end of file + it(`should contain a OrgUnitListElementComponent`, () => { + const orgunitListElement = fixture.debugElement.query(By.css(`ds-orgunit-search-result-list-element`)); + expect(orgunitListElement).not.toBeNull(); + }); + }); +}); diff --git a/src/app/entity-groups/research-entities/item-list-elements/person/person-list-element.component.spec.ts b/src/app/entity-groups/research-entities/item-list-elements/person/person-list-element.component.spec.ts index acc149c1df..6366ba5735 100644 --- a/src/app/entity-groups/research-entities/item-list-elements/person/person-list-element.component.spec.ts +++ b/src/app/entity-groups/research-entities/item-list-elements/person/person-list-element.component.spec.ts @@ -6,7 +6,6 @@ import { of as observableOf } from 'rxjs'; import { Item } from '../../../../core/shared/item.model'; import { TruncatePipe } from '../../../../shared/utils/truncate.pipe'; import { TruncatableService } from '../../../../shared/truncatable/truncatable.service'; -import { OrgUnitListElementComponent } from '../orgunit/orgunit-list-element.component'; const mockItem: Item = Object.assign(new Item(), { bitstreams: observableOf({}), @@ -26,42 +25,40 @@ const mockItem: Item = Object.assign(new Item(), { } }); -describe('PersonListElementComponent', - () => { - let comp; - let fixture; +describe('PersonListElementComponent', () => { + let comp; + let fixture; - const truncatableServiceStub: any = { - isCollapsed: (id: number) => observableOf(true), - }; + const truncatableServiceStub: any = { + isCollapsed: (id: number) => observableOf(true), + }; - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [PersonListElementComponent, TruncatePipe], - providers: [ - { provide: TruncatableService, useValue: truncatableServiceStub }, - ], - schemas: [NO_ERRORS_SCHEMA] - }).overrideComponent(PersonListElementComponent, { - set: { changeDetection: ChangeDetectionStrategy.Default } - }).compileComponents(); - })); + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [PersonListElementComponent, TruncatePipe], + providers: [ + { provide: TruncatableService, useValue: truncatableServiceStub }, + ], + schemas: [NO_ERRORS_SCHEMA] + }).overrideComponent(PersonListElementComponent, { + set: { changeDetection: ChangeDetectionStrategy.Default } + }).compileComponents(); + })); - beforeEach(async(() => { - fixture = TestBed.createComponent(PersonListElementComponent); - comp = fixture.componentInstance; - })); + beforeEach(async(() => { + fixture = TestBed.createComponent(PersonListElementComponent); + comp = fixture.componentInstance; + })); - describe(`when the person is rendered`, () => { - beforeEach(() => { - comp.object = mockItem; - fixture.detectChanges(); - }); - - it(`should contain a PersonListElementComponent`, () => { - const personListElement = fixture.debugElement.query(By.css(`ds-person-search-result-list-element`)); - expect(personListElement).not.toBeNull(); - }); + describe(`when the person is rendered`, () => { + beforeEach(() => { + comp.object = mockItem; + fixture.detectChanges(); }); - }); \ No newline at end of file + it(`should contain a PersonListElementComponent`, () => { + const personListElement = fixture.debugElement.query(By.css(`ds-person-search-result-list-element`)); + expect(personListElement).not.toBeNull(); + }); + }); +}); diff --git a/src/app/entity-groups/research-entities/item-list-elements/project/project-list-element.component.spec.ts b/src/app/entity-groups/research-entities/item-list-elements/project/project-list-element.component.spec.ts index 5591a5b625..dfa2f2506c 100644 --- a/src/app/entity-groups/research-entities/item-list-elements/project/project-list-element.component.spec.ts +++ b/src/app/entity-groups/research-entities/item-list-elements/project/project-list-element.component.spec.ts @@ -5,7 +5,6 @@ import { of as observableOf } from 'rxjs'; import { Item } from '../../../../core/shared/item.model'; import { TruncatePipe } from '../../../../shared/utils/truncate.pipe'; import { TruncatableService } from '../../../../shared/truncatable/truncatable.service'; -import { PersonListElementComponent } from '../person/person-list-element.component'; import { ProjectListElementComponent } from './project-list-element.component'; const mockItem: Item = Object.assign(new Item(), { @@ -25,42 +24,41 @@ const mockItem: Item = Object.assign(new Item(), { // ] } }); -describe('ProjectListElementComponent', - () => { - let comp; - let fixture; - const truncatableServiceStub: any = { - isCollapsed: (id: number) => observableOf(true), - }; +describe('ProjectListElementComponent', () => { + let comp; + let fixture; - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [ProjectListElementComponent, TruncatePipe], - providers: [ - { provide: TruncatableService, useValue: truncatableServiceStub }, - ], - schemas: [NO_ERRORS_SCHEMA] - }).overrideComponent(ProjectListElementComponent, { - set: { changeDetection: ChangeDetectionStrategy.Default } - }).compileComponents(); - })); + const truncatableServiceStub: any = { + isCollapsed: (id: number) => observableOf(true), + }; - beforeEach(async(() => { - fixture = TestBed.createComponent(ProjectListElementComponent); - comp = fixture.componentInstance; - })); + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ProjectListElementComponent, TruncatePipe], + providers: [ + { provide: TruncatableService, useValue: truncatableServiceStub }, + ], + schemas: [NO_ERRORS_SCHEMA] + }).overrideComponent(ProjectListElementComponent, { + set: { changeDetection: ChangeDetectionStrategy.Default } + }).compileComponents(); + })); - describe(`when the project is rendered`, () => { - beforeEach(() => { - comp.object = mockItem; - fixture.detectChanges(); - }); + beforeEach(async(() => { + fixture = TestBed.createComponent(ProjectListElementComponent); + comp = fixture.componentInstance; + })); - it(`should contain a ProjectListElementComponent`, () => { - const projectListElement = fixture.debugElement.query(By.css(`ds-project-search-result-list-element`)); - expect(projectListElement).not.toBeNull(); - }); + describe(`when the project is rendered`, () => { + beforeEach(() => { + comp.object = mockItem; + fixture.detectChanges(); }); - }); \ No newline at end of file + it(`should contain a ProjectListElementComponent`, () => { + const projectListElement = fixture.debugElement.query(By.css(`ds-project-search-result-list-element`)); + expect(projectListElement).not.toBeNull(); + }); + }); +}); diff --git a/src/app/shared/metadata-representation/metadata-representation-loader.component.ts b/src/app/shared/metadata-representation/metadata-representation-loader.component.ts index ba3f6ed00b..9dcdeb14ec 100644 --- a/src/app/shared/metadata-representation/metadata-representation-loader.component.ts +++ b/src/app/shared/metadata-representation/metadata-representation-loader.component.ts @@ -32,7 +32,7 @@ export class MetadataRepresentationLoaderComponent implements OnInit { viewContainerRef.clear(); const componentRef = viewContainerRef.createComponent(componentFactory); - (componentRef.instance).metadataRepresentation = this.mdRepresentation; + (componentRef.instance as MetadataRepresentationListElementComponent).metadataRepresentation = this.mdRepresentation; } /** diff --git a/src/app/shared/metadata-representation/metadata-representation.decorator.spec.ts b/src/app/shared/metadata-representation/metadata-representation.decorator.spec.ts new file mode 100644 index 0000000000..38d64d9ff5 --- /dev/null +++ b/src/app/shared/metadata-representation/metadata-representation.decorator.spec.ts @@ -0,0 +1,63 @@ +import { DEFAULT_ENTITY_TYPE, DEFAULT_REPRESENTATION_TYPE, getMetadataRepresentationComponent, metadataRepresentationComponent } from './metadata-representation.decorator'; +import { MetadataRepresentationType } from '../../core/shared/metadata-representation/metadata-representation.model'; +import { Context } from '../../core/shared/context.model'; +import * as uuidv4 from 'uuid/v4'; + +describe('MetadataRepresentation decorator function', () => { + const type1 = 'TestType'; + const type2 = 'TestType2'; + const type3 = 'TestType3'; + const type4 = 'RandomType'; + let prefix; + /* tslint:disable:max-classes-per-file */ + class Test1PlainText {}; + class Test1Authority {}; + class Test2Item {}; + class Test2ItemSubmission {}; + class Test3ItemSubmission {}; + /* tslint:enable:max-classes-per-file */ + + beforeEach(() => { + prefix = uuidv4(); + init(prefix); + }); + + function init(key) { + metadataRepresentationComponent(key + type1, MetadataRepresentationType.PlainText)(Test1PlainText); + metadataRepresentationComponent(key + type1, MetadataRepresentationType.AuthorityControlled)(Test1Authority); + + metadataRepresentationComponent(key + type2, MetadataRepresentationType.Item)(Test2Item); + metadataRepresentationComponent(key + type2, MetadataRepresentationType.Item, Context.Submission)(Test2ItemSubmission); + + metadataRepresentationComponent(key + type3, MetadataRepresentationType.Item, Context.Submission)(Test3ItemSubmission); + } + + describe('If there\'s an exact match', () => { + it('should return the matching class', () => { + const component = getMetadataRepresentationComponent(prefix + type3, MetadataRepresentationType.Item, Context.Submission); + expect(component).toEqual(Test3ItemSubmission); + }); + }); + + describe('If there isn\'nt an exact match', () => { + describe('If there is a match for the entity type and representation type', () => { + it('should return the class with the matching entity type and representation type and default context', () => { + const component = getMetadataRepresentationComponent(prefix + type1, MetadataRepresentationType.AuthorityControlled, Context.Submission); + expect(component).toEqual(Test1Authority); + }); + }); + describe('If there isn\'t a match for the representation type', () => { + it('should return the class with the matching entity type and the default representation type and default context', () => { + const component = getMetadataRepresentationComponent(prefix + type1, MetadataRepresentationType.Item); + expect(component).toEqual(Test1PlainText); + }); + describe('If there isn\'t a match for the entity type', () => { + it('should return the class with the default entity type and the default representation type and default context', () => { + const defaultComponent = getMetadataRepresentationComponent(DEFAULT_ENTITY_TYPE, DEFAULT_REPRESENTATION_TYPE); + const component = getMetadataRepresentationComponent(prefix + type4, MetadataRepresentationType.AuthorityControlled); + expect(component).toEqual(defaultComponent); + }); + }); + }); + }); +}); diff --git a/src/app/shared/metadata-representation/metadata-representation.decorator.ts b/src/app/shared/metadata-representation/metadata-representation.decorator.ts index 913599b989..7ba626dbf7 100644 --- a/src/app/shared/metadata-representation/metadata-representation.decorator.ts +++ b/src/app/shared/metadata-representation/metadata-representation.decorator.ts @@ -1,10 +1,10 @@ import { MetadataRepresentationType } from '../../core/shared/metadata-representation/metadata-representation.model'; import { hasNoValue, hasValue } from '../empty.util'; import { Context } from '../../core/shared/context.model'; -import { Item } from '../../core/shared/item.model'; -const map = new Map(); +export const map = new Map(); +export const DEFAULT_ENTITY_TYPE = 'Publication'; export const DEFAULT_REPRESENTATION_TYPE = MetadataRepresentationType.PlainText; export const DEFAULT_CONTEXT = Context.Undefined; @@ -13,7 +13,6 @@ export function metadataRepresentationComponent(entityType: string, mdRepresenta if (hasNoValue(map.get(entityType))) { map.set(entityType, new Map()); } - if (hasNoValue(map.get(entityType).get(mdRepresentationType))) { map.get(entityType).set(mdRepresentationType, new Map()); } @@ -37,7 +36,9 @@ export function getMetadataRepresentationComponent(entityType: string, mdReprese return entityAndMDRepMap.get(DEFAULT_CONTEXT); } } - return mapForEntity.get(DEFAULT_REPRESENTATION_TYPE).get(DEFAULT_CONTEXT); + if (hasValue(mapForEntity.get(DEFAULT_REPRESENTATION_TYPE))) { + return mapForEntity.get(DEFAULT_REPRESENTATION_TYPE).get(DEFAULT_CONTEXT); + } } - return map.get(Item.name).get(DEFAULT_REPRESENTATION_TYPE).get(DEFAULT_CONTEXT); -} \ No newline at end of file + return map.get(DEFAULT_ENTITY_TYPE).get(DEFAULT_REPRESENTATION_TYPE).get(DEFAULT_CONTEXT); +} diff --git a/src/app/shared/metadata-representation/metadata-representation.directive.ts b/src/app/shared/metadata-representation/metadata-representation.directive.ts index c57d1ef4ac..c8c909d03f 100644 --- a/src/app/shared/metadata-representation/metadata-representation.directive.ts +++ b/src/app/shared/metadata-representation/metadata-representation.directive.ts @@ -5,4 +5,4 @@ import { Directive, ViewContainerRef } from '@angular/core'; }) export class MetadataRepresentationDirective { constructor(public viewContainerRef: ViewContainerRef) { } -} \ No newline at end of file +} diff --git a/src/app/shared/object-collection/collection-element-link.type.ts b/src/app/shared/object-collection/collection-element-link.type.ts index 7bef4cf393..5d50ac3bb2 100644 --- a/src/app/shared/object-collection/collection-element-link.type.ts +++ b/src/app/shared/object-collection/collection-element-link.type.ts @@ -1,3 +1,3 @@ export enum CollectionElementLinkType { None, Link, ExternalLink -} \ No newline at end of file +} diff --git a/src/app/shared/object-collection/shared/item-search-result.model.ts b/src/app/shared/object-collection/shared/item-search-result.model.ts index f20b3db1e3..defd4a99c8 100644 --- a/src/app/shared/object-collection/shared/item-search-result.model.ts +++ b/src/app/shared/object-collection/shared/item-search-result.model.ts @@ -1,7 +1,19 @@ import { SearchResult } from '../../../+search-page/search-result.model'; import { Item } from '../../../core/shared/item.model'; import { searchResultFor } from '../../../+search-page/search-service/search-result-element-decorator'; +import { GenericConstructor } from '../../../core/shared/generic-constructor'; +import { ListableObject } from './listable-object.model'; +import { isEmpty } from '../../empty.util'; @searchResultFor(Item) export class ItemSearchResult extends SearchResult { + getRenderTypes(): Array> { + return this.indexableObject.getRenderTypes().map((type) => { + if (typeof type === 'string') { + return type + 'SearchResult' + } else { + return this.constructor as GenericConstructor; + } + }); + } } diff --git a/src/app/shared/object-collection/shared/listable-object.model.ts b/src/app/shared/object-collection/shared/listable-object.model.ts index cef068e47c..a81c9f4aeb 100644 --- a/src/app/shared/object-collection/shared/listable-object.model.ts +++ b/src/app/shared/object-collection/shared/listable-object.model.ts @@ -1,5 +1,6 @@ import { TypedObject } from '../../../core/cache/object-cache.reducer'; +import { GenericConstructor } from '../../../core/shared/generic-constructor'; export interface ListableObject extends TypedObject { - getRenderTypes(): string[]; + getRenderTypes(): Array>; } diff --git a/src/app/shared/object-collection/shared/listable-object/listable-object-component-loader.component.ts b/src/app/shared/object-collection/shared/listable-object/listable-object-component-loader.component.ts index fb315303f6..2b90d3f94f 100644 --- a/src/app/shared/object-collection/shared/listable-object/listable-object-component-loader.component.ts +++ b/src/app/shared/object-collection/shared/listable-object/listable-object-component-loader.component.ts @@ -21,7 +21,7 @@ export class ListableObjectComponentLoaderComponent implements OnInit { */ @Input() object: ListableObject; - //TODO DO SOMETHING WITH THIS + // TODO DO SOMETHING WITH THIS @Input() index: number; /** * The preferred view-mode to display @@ -42,9 +42,9 @@ export class ListableObjectComponentLoaderComponent implements OnInit { viewContainerRef.clear(); const componentRef = viewContainerRef.createComponent(componentFactory); - (componentRef.instance as any).object = this.object; - (componentRef.instance as any).index = this.index; - (componentRef.instance as any).linkType = this.linkType; + (componentRef.instance as any).object = this.object; + (componentRef.instance as any).index = this.index; + (componentRef.instance as any).linkType = this.linkType; } /** diff --git a/src/app/shared/object-collection/shared/listable-object/listable-object.decorator.spec.ts b/src/app/shared/object-collection/shared/listable-object/listable-object.decorator.spec.ts index c628378c6f..2873c4fce8 100644 --- a/src/app/shared/object-collection/shared/listable-object/listable-object.decorator.spec.ts +++ b/src/app/shared/object-collection/shared/listable-object/listable-object.decorator.spec.ts @@ -1,10 +1,35 @@ import { Item } from '../../../../core/shared/item.model'; import { ViewMode } from '../../../../core/shared/view-mode.model'; -import { listableObjectComponent } from './listable-object.decorator'; +import { getListableObjectComponent, listableObjectComponent } from './listable-object.decorator'; +import { Context } from '../../../../core/shared/context.model'; -describe('ElementDecorator', () => { - const gridDecorator = listableObjectComponent(Item, ViewMode.GridElement); - const listDecorator = listableObjectComponent(Item, ViewMode.ListElement); +describe('ListableObject decorator function', () => { + const type1 = 'TestType'; + const type2 = 'TestType2'; + const type3 = 'TestType3'; + + /* tslint:disable:max-classes-per-file */ + class Test1List {}; + class Test1Grid {}; + class Test2List {}; + class Test2ListSubmission {}; + class Test3List {}; + class Test3DetailedSubmission {}; + /* tslint:enable:max-classes-per-file */ + + beforeEach(() => { + listableObjectComponent(type1, ViewMode.ListElement)(Test1List); + listableObjectComponent(type1, ViewMode.GridElement)(Test1Grid); + + listableObjectComponent(type2, ViewMode.ListElement)(Test2List); + listableObjectComponent(type2, ViewMode.ListElement, Context.Submission)(Test2ListSubmission); + + listableObjectComponent(type3, ViewMode.ListElement)(Test3List); + listableObjectComponent(type3, ViewMode.DetailedListElement, Context.Submission)(Test3DetailedSubmission); + }); + + const gridDecorator = listableObjectComponent('Item', ViewMode.GridElement); + const listDecorator = listableObjectComponent('Item', ViewMode.ListElement); it('should have a decorator for both list and grid', () => { expect(listDecorator.length).not.toBeNull(); expect(gridDecorator.length).not.toBeNull(); @@ -13,4 +38,34 @@ describe('ElementDecorator', () => { expect(listDecorator).not.toEqual(gridDecorator); }); + describe('If there\'s an exact match', () => { + it('should return the matching class', () => { + const component = getListableObjectComponent([type3], ViewMode.DetailedListElement, Context.Submission); + expect(component).toEqual(Test3DetailedSubmission); + + const component2 = getListableObjectComponent([type3, type2], ViewMode.ListElement, Context.Submission); + expect(component2).toEqual(Test2ListSubmission); + }); + }); + + describe('If there isn\'nt an exact match', () => { + describe('If there is a match for one of the entity types and the view mode', () => { + it('should return the class with the matching entity type and view mode and default context', () => { + const component = getListableObjectComponent([type3], ViewMode.ListElement, Context.Submission); + expect(component).toEqual(Test3List); + + const component2 = getListableObjectComponent([type3, type1], ViewMode.GridElement, Context.Submission); + expect(component2).toEqual(Test1Grid); + }); + }); + describe('If there isn\'t a match for the representation type', () => { + it('should return the class with the matching entity type and the default view mode and default context', () => { + const component = getListableObjectComponent([type1], ViewMode.DetailedListElement); + expect(component).toEqual(Test1List); + + const component2 = getListableObjectComponent([type2, type1], ViewMode.DetailedListElement); + expect(component2).toEqual(Test2List); + }); + }); + }); }); diff --git a/src/app/shared/object-collection/shared/listable-object/listable-object.decorator.ts b/src/app/shared/object-collection/shared/listable-object/listable-object.decorator.ts index 6098875b4d..1a0daa6505 100644 --- a/src/app/shared/object-collection/shared/listable-object/listable-object.decorator.ts +++ b/src/app/shared/object-collection/shared/listable-object/listable-object.decorator.ts @@ -2,10 +2,11 @@ import { ViewMode } from '../../../../core/shared/view-mode.model'; import { Context } from '../../../../core/shared/context.model'; import { hasNoValue, hasValue } from '../../../empty.util'; import { DEFAULT_CONTEXT } from '../../../metadata-representation/metadata-representation.decorator'; +import { GenericConstructor } from '../../../../core/shared/generic-constructor'; +import { ListableObject } from '../listable-object.model'; export const DEFAULT_VIEW_MODE = ViewMode.ListElement; - const map = new Map(); /** @@ -13,7 +14,7 @@ const map = new Map(); * @param type * @param viewMode */ -export function listableObjectComponent(objectType: string, viewMode: ViewMode, context: Context = DEFAULT_CONTEXT) { +export function listableObjectComponent(objectType: string | GenericConstructor, viewMode: ViewMode, context: Context = DEFAULT_CONTEXT) { return function decorator(component: any) { if (hasNoValue(objectType)) { return; @@ -28,12 +29,11 @@ export function listableObjectComponent(objectType: string, viewMode: ViewMode, }; } - -export function getListableObjectComponent(types: string[], viewMode: ViewMode, context: Context = DEFAULT_CONTEXT) { - let bestMatch = undefined; +export function getListableObjectComponent(types: Array>, viewMode: ViewMode, context: Context = DEFAULT_CONTEXT) { + let bestMatch; let bestMatchValue = 0; - for (let i = 0; i < types.length; i++) { - const typeMap = map.get(types[i]); + for (const type of types) { + const typeMap = map.get(type); if (hasValue(typeMap)) { const typeModeMap = typeMap.get(viewMode); if (hasValue(typeModeMap)) { @@ -52,4 +52,4 @@ export function getListableObjectComponent(types: string[], viewMode: ViewMode, } } return bestMatch; -} \ No newline at end of file +} diff --git a/src/app/shared/object-collection/shared/listable-object/listable-object.directive.ts b/src/app/shared/object-collection/shared/listable-object/listable-object.directive.ts index 3b0decd7bd..ef84c8d7aa 100644 --- a/src/app/shared/object-collection/shared/listable-object/listable-object.directive.ts +++ b/src/app/shared/object-collection/shared/listable-object/listable-object.directive.ts @@ -5,4 +5,4 @@ import { Directive, ViewContainerRef } from '@angular/core'; }) export class ListableObjectDirective { constructor(public viewContainerRef: ViewContainerRef) { } -} \ No newline at end of file +} diff --git a/src/app/shared/object-detail/my-dspace-result-detail-element/claimed-task-search-result/claimed-task-search-result-detail-element.component.ts b/src/app/shared/object-detail/my-dspace-result-detail-element/claimed-task-search-result/claimed-task-search-result-detail-element.component.ts index 80e0fe0048..01086897c5 100644 --- a/src/app/shared/object-detail/my-dspace-result-detail-element/claimed-task-search-result/claimed-task-search-result-detail-element.component.ts +++ b/src/app/shared/object-detail/my-dspace-result-detail-element/claimed-task-search-result/claimed-task-search-result-detail-element.component.ts @@ -12,6 +12,7 @@ import { SearchResultDetailElementComponent } from '../search-result-detail-elem import { MyDspaceItemStatusType } from '../../../object-collection/shared/mydspace-item-status/my-dspace-item-status-type'; import { listableObjectComponent } from '../../../object-collection/shared/listable-object/listable-object.decorator'; import { ClaimedTaskSearchResult } from '../../../object-collection/shared/claimed-task-search-result.model'; +import { Item } from '../../../../core/shared/item.model'; /** * This component renders claimed task object for the mydspace result in the detail view. @@ -22,7 +23,7 @@ import { ClaimedTaskSearchResult } from '../../../object-collection/shared/claim templateUrl: './claimed-task-search-result-detail-element.component.html' }) -@listableObjectComponent(ClaimedTaskSearchResult.name, ViewMode.DetailedListElement) +@listableObjectComponent(ClaimedTaskSearchResult, ViewMode.DetailedListElement) export class ClaimedTaskSearchResultDetailElementComponent extends SearchResultDetailElementComponent { /** diff --git a/src/app/shared/object-detail/my-dspace-result-detail-element/pool-search-result/pool-search-result-detail-element.component.ts b/src/app/shared/object-detail/my-dspace-result-detail-element/pool-search-result/pool-search-result-detail-element.component.ts index 4a64d99a50..ad528b3877 100644 --- a/src/app/shared/object-detail/my-dspace-result-detail-element/pool-search-result/pool-search-result-detail-element.component.ts +++ b/src/app/shared/object-detail/my-dspace-result-detail-element/pool-search-result/pool-search-result-detail-element.component.ts @@ -11,6 +11,7 @@ import { WorkflowItem } from '../../../../core/submission/models/workflowitem.mo import { ViewMode } from '../../../../core/shared/view-mode.model'; import { listableObjectComponent } from '../../../object-collection/shared/listable-object/listable-object.decorator'; import { PoolTaskSearchResult } from '../../../object-collection/shared/pool-task-search-result.model'; +import { Item } from '../../../../core/shared/item.model'; /** * This component renders pool task object for the mydspace result in the detail view. @@ -21,7 +22,7 @@ import { PoolTaskSearchResult } from '../../../object-collection/shared/pool-tas templateUrl: './pool-search-result-detail-element.component.html', }) -@listableObjectComponent(PoolTaskSearchResult.name, ViewMode.DetailedListElement) +@listableObjectComponent(PoolTaskSearchResult, ViewMode.DetailedListElement) export class PoolSearchResultDetailElementComponent extends SearchResultDetailElementComponent { /** diff --git a/src/app/shared/object-detail/my-dspace-result-detail-element/workflow-item-search-result/workflow-item-search-result-detail-element.component.ts b/src/app/shared/object-detail/my-dspace-result-detail-element/workflow-item-search-result/workflow-item-search-result-detail-element.component.ts index 20ef2148ad..6393e26dbb 100644 --- a/src/app/shared/object-detail/my-dspace-result-detail-element/workflow-item-search-result/workflow-item-search-result-detail-element.component.ts +++ b/src/app/shared/object-detail/my-dspace-result-detail-element/workflow-item-search-result/workflow-item-search-result-detail-element.component.ts @@ -21,7 +21,7 @@ import { WorkflowItemSearchResult } from '../../../object-collection/shared/work templateUrl: './workflow-item-search-result-detail-element.component.html', }) -@listableObjectComponent(WorkflowItemSearchResult.name, ViewMode.DetailedListElement) +@listableObjectComponent(WorkflowItemSearchResult, ViewMode.DetailedListElement) export class WorkflowItemSearchResultDetailElementComponent extends SearchResultDetailElementComponent { /** diff --git a/src/app/shared/object-detail/my-dspace-result-detail-element/workspace-item-search-result/workspace-item-search-result-detail-element.component.ts b/src/app/shared/object-detail/my-dspace-result-detail-element/workspace-item-search-result/workspace-item-search-result-detail-element.component.ts index a3527f0713..fc2c6a87cc 100644 --- a/src/app/shared/object-detail/my-dspace-result-detail-element/workspace-item-search-result/workspace-item-search-result-detail-element.component.ts +++ b/src/app/shared/object-detail/my-dspace-result-detail-element/workspace-item-search-result/workspace-item-search-result-detail-element.component.ts @@ -22,7 +22,7 @@ import { WorkspaceItemSearchResult } from '../../../object-collection/shared/wor templateUrl: './workspace-item-search-result-detail-element.component.html', }) -@listableObjectComponent(WorkspaceItemSearchResult.name, ViewMode.DetailedListElement) +@listableObjectComponent(WorkspaceItemSearchResult, ViewMode.DetailedListElement) export class WorkspaceItemSearchResultDetailElementComponent extends SearchResultDetailElementComponent { /** diff --git a/src/app/shared/object-detail/object-detail.component.spec.ts b/src/app/shared/object-detail/object-detail.component.spec.ts index 651e6a89a8..7bec565562 100644 --- a/src/app/shared/object-detail/object-detail.component.spec.ts +++ b/src/app/shared/object-detail/object-detail.component.spec.ts @@ -9,6 +9,7 @@ import { PaginatedList } from '../../core/data/paginated-list'; import { PageInfo } from '../../core/shared/page-info.model'; import { NoopAnimationsModule } from '@angular/platform-browser/animations'; import { createSuccessfulRemoteDataObject } from '../testing/utils'; +import { DSpaceObject } from '../../core/shared/dspace-object.model'; describe('ObjectDetailComponent', () => { let comp: ObjectDetailComponent; @@ -16,16 +17,16 @@ describe('ObjectDetailComponent', () => { const testEvent = {test: 'test'}; const testObjects = [ - { one: 1 }, - { two: 2 }, - { three: 3 }, - { four: 4 }, - { five: 5 }, - { six: 6 }, - { seven: 7 }, - { eight: 8 }, - { nine: 9 }, - { ten: 10 } + Object.assign (new DSpaceObject(), { one: 1 }), + Object.assign (new DSpaceObject(), { two: 2 }), + Object.assign (new DSpaceObject(), { three: 3 }), + Object.assign (new DSpaceObject(), { four: 4 }), + Object.assign (new DSpaceObject(), { five: 5 }), + Object.assign (new DSpaceObject(), { six: 6 }), + Object.assign (new DSpaceObject(), { seven: 7 }), + Object.assign (new DSpaceObject(), { eight: 8 }), + Object.assign (new DSpaceObject(), { nine: 9 }), + Object.assign (new DSpaceObject(), { ten: 10 }), ]; const pageInfo = Object.assign(new PageInfo(), {elementsPerPage: 1, totalElements: 10, totalPages: 10, currentPage: 1}) const mockRD = createSuccessfulRemoteDataObject(new PaginatedList(pageInfo, testObjects)); diff --git a/src/app/shared/object-grid/collection-grid-element/collection-grid-element.component.ts b/src/app/shared/object-grid/collection-grid-element/collection-grid-element.component.ts index a113e0dffd..1261cd6dfd 100644 --- a/src/app/shared/object-grid/collection-grid-element/collection-grid-element.component.ts +++ b/src/app/shared/object-grid/collection-grid-element/collection-grid-element.component.ts @@ -11,5 +11,5 @@ import { listableObjectComponent } from '../../object-collection/shared/listable templateUrl: './collection-grid-element.component.html' }) -@listableObjectComponent(Collection.name, ViewMode.GridElement) +@listableObjectComponent(Collection, ViewMode.GridElement) export class CollectionGridElementComponent extends AbstractListableElementComponent {} diff --git a/src/app/shared/object-grid/community-grid-element/community-grid-element.component.ts b/src/app/shared/object-grid/community-grid-element/community-grid-element.component.ts index 498222466d..67d4ac663c 100644 --- a/src/app/shared/object-grid/community-grid-element/community-grid-element.component.ts +++ b/src/app/shared/object-grid/community-grid-element/community-grid-element.component.ts @@ -11,5 +11,5 @@ import { listableObjectComponent } from '../../object-collection/shared/listable templateUrl: './community-grid-element.component.html' }) -@listableObjectComponent(Community.name, ViewMode.GridElement) +@listableObjectComponent(Community, ViewMode.GridElement) export class CommunityGridElementComponent extends AbstractListableElementComponent {} diff --git a/src/app/shared/object-grid/item-grid-element/item-types/publication/publication-grid-element.component.spec.ts b/src/app/shared/object-grid/item-grid-element/item-types/publication/publication-grid-element.component.spec.ts index a3103268fe..6171eb1e9d 100644 --- a/src/app/shared/object-grid/item-grid-element/item-types/publication/publication-grid-element.component.spec.ts +++ b/src/app/shared/object-grid/item-grid-element/item-types/publication/publication-grid-element.component.spec.ts @@ -1,4 +1,4 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { async, TestBed } from '@angular/core/testing'; import { NoopAnimationsModule } from '@angular/platform-browser/animations'; import { TruncatePipe } from '../../../../utils/truncate.pipe'; import { TruncatableService } from '../../../../truncatable/truncatable.service'; @@ -6,12 +6,10 @@ import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; import { By } from '@angular/platform-browser'; import { PublicationGridElementComponent } from './publication-grid-element.component'; import { of as observableOf } from 'rxjs/internal/observable/of'; -import { ItemSearchResult } from '../../../../object-collection/shared/item-search-result.model'; import { Item } from '../../../../../core/shared/item.model'; import { createSuccessfulRemoteDataObject$ } from '../../../../testing/utils'; import { PaginatedList } from '../../../../../core/data/paginated-list'; import { PageInfo } from '../../../../../core/shared/page-info.model'; -import { JournalGridElementComponent } from '../../../../../entity-groups/journal-entities/item-grid-elements/journal/journal-grid-element.component'; const mockItem = Object.assign(new Item(), { bitstreams: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [])), @@ -43,43 +41,41 @@ const mockItem = Object.assign(new Item(), { } }); -describe('PublicationGridElementComponent', - () => { - let comp; - let fixture; +describe('PublicationGridElementComponent', () => { + let comp; + let fixture; - const truncatableServiceStub: any = { - isCollapsed: (id: number) => observableOf(true), - }; + const truncatableServiceStub: any = { + isCollapsed: (id: number) => observableOf(true), + }; - beforeEach(async(() => { - TestBed.configureTestingModule({ - imports: [NoopAnimationsModule], - declarations: [PublicationGridElementComponent, TruncatePipe], - providers: [ - { provide: TruncatableService, useValue: truncatableServiceStub }, - ], - schemas: [NO_ERRORS_SCHEMA] - }).overrideComponent(PublicationGridElementComponent, { - set: { changeDetection: ChangeDetectionStrategy.Default } - }).compileComponents(); - })); + beforeEach(async(() => { + TestBed.configureTestingModule({ + imports: [NoopAnimationsModule], + declarations: [PublicationGridElementComponent, TruncatePipe], + providers: [ + { provide: TruncatableService, useValue: truncatableServiceStub }, + ], + schemas: [NO_ERRORS_SCHEMA] + }).overrideComponent(PublicationGridElementComponent, { + set: { changeDetection: ChangeDetectionStrategy.Default } + }).compileComponents(); + })); - beforeEach(async(() => { - fixture = TestBed.createComponent(PublicationGridElementComponent); - comp = fixture.componentInstance; - })); + beforeEach(async(() => { + fixture = TestBed.createComponent(PublicationGridElementComponent); + comp = fixture.componentInstance; + })); - describe(`when the publication is rendered`, () => { - beforeEach(() => { - comp.object = mockItem; - fixture.detectChanges(); - }); - - it(`should contain a PublicationGridElementComponent`, () => { - const publicationGridElement = fixture.debugElement.query(By.css(`ds-publication-search-result-grid-element`)); - expect(publicationGridElement).not.toBeNull(); - }); + describe(`when the publication is rendered`, () => { + beforeEach(() => { + comp.object = mockItem; + fixture.detectChanges(); }); - }); \ No newline at end of file + it(`should contain a PublicationGridElementComponent`, () => { + const publicationGridElement = fixture.debugElement.query(By.css(`ds-publication-search-result-grid-element`)); + expect(publicationGridElement).not.toBeNull(); + }); + }); +}); diff --git a/src/app/shared/object-grid/item-grid-element/item-types/publication/publication-grid-element.component.ts b/src/app/shared/object-grid/item-grid-element/item-types/publication/publication-grid-element.component.ts index 4927b18b9d..8450150dcb 100644 --- a/src/app/shared/object-grid/item-grid-element/item-types/publication/publication-grid-element.component.ts +++ b/src/app/shared/object-grid/item-grid-element/item-types/publication/publication-grid-element.component.ts @@ -6,7 +6,7 @@ import { AbstractListableElementComponent } from '../../../../object-collection/ import { Item } from '../../../../../core/shared/item.model'; @listableObjectComponent('Publication', ViewMode.GridElement) -@listableObjectComponent(Item.name, ViewMode.GridElement) +@listableObjectComponent(Item, ViewMode.GridElement) @Component({ selector: 'ds-publication-grid-element', styleUrls: ['./publication-grid-element.component.scss'], diff --git a/src/app/shared/object-grid/search-result-grid-element/collection-search-result/collection-search-result-grid-element.component.ts b/src/app/shared/object-grid/search-result-grid-element/collection-search-result/collection-search-result-grid-element.component.ts index 983b895e9c..1d0f47b70b 100644 --- a/src/app/shared/object-grid/search-result-grid-element/collection-search-result/collection-search-result-grid-element.component.ts +++ b/src/app/shared/object-grid/search-result-grid-element/collection-search-result/collection-search-result-grid-element.component.ts @@ -12,5 +12,5 @@ import { listableObjectComponent } from '../../../object-collection/shared/lista templateUrl: 'collection-search-result-grid-element.component.html' }) -@listableObjectComponent(CollectionSearchResult.name, ViewMode.GridElement) +@listableObjectComponent(CollectionSearchResult, ViewMode.GridElement) export class CollectionSearchResultGridElementComponent extends SearchResultGridElementComponent {} diff --git a/src/app/shared/object-grid/search-result-grid-element/community-search-result/community-search-result-grid-element.component.ts b/src/app/shared/object-grid/search-result-grid-element/community-search-result/community-search-result-grid-element.component.ts index e8e19c27d8..806e6a44e3 100644 --- a/src/app/shared/object-grid/search-result-grid-element/community-search-result/community-search-result-grid-element.component.ts +++ b/src/app/shared/object-grid/search-result-grid-element/community-search-result/community-search-result-grid-element.component.ts @@ -11,7 +11,7 @@ import { listableObjectComponent } from '../../../object-collection/shared/lista templateUrl: 'community-search-result-grid-element.component.html' }) -@listableObjectComponent(CommunitySearchResult.name, ViewMode.GridElement) +@listableObjectComponent(CommunitySearchResult, ViewMode.GridElement) export class CommunitySearchResultGridElementComponent extends SearchResultGridElementComponent { } diff --git a/src/app/shared/object-list/browse-entry-list-element/browse-entry-list-element.component.ts b/src/app/shared/object-list/browse-entry-list-element/browse-entry-list-element.component.ts index ed61badbbd..3c1ef298a8 100644 --- a/src/app/shared/object-list/browse-entry-list-element/browse-entry-list-element.component.ts +++ b/src/app/shared/object-list/browse-entry-list-element/browse-entry-list-element.component.ts @@ -4,6 +4,7 @@ import { AbstractListableElementComponent } from '../../object-collection/shared import { BrowseEntry } from '../../../core/shared/browse-entry.model'; import { ViewMode } from '../../../core/shared/view-mode.model'; import { listableObjectComponent } from '../../object-collection/shared/listable-object/listable-object.decorator'; +import { Collection } from '../../../core/shared/collection.model'; @Component({ selector: 'ds-browse-entry-list-element', @@ -14,5 +15,5 @@ import { listableObjectComponent } from '../../object-collection/shared/listable /** * This component is automatically used to create a list view for BrowseEntry objects when used in ObjectCollectionComponent */ -@listableObjectComponent(BrowseEntry.name, ViewMode.ListElement) +@listableObjectComponent(BrowseEntry, ViewMode.ListElement) export class BrowseEntryListElementComponent extends AbstractListableElementComponent {} diff --git a/src/app/shared/object-list/collection-list-element/collection-list-element.component.ts b/src/app/shared/object-list/collection-list-element/collection-list-element.component.ts index 7d57044ba4..685a990409 100644 --- a/src/app/shared/object-list/collection-list-element/collection-list-element.component.ts +++ b/src/app/shared/object-list/collection-list-element/collection-list-element.component.ts @@ -11,5 +11,5 @@ import { listableObjectComponent } from '../../object-collection/shared/listable templateUrl: './collection-list-element.component.html' }) -@listableObjectComponent(Collection.name, ViewMode.ListElement) +@listableObjectComponent(Collection, ViewMode.ListElement) export class CollectionListElementComponent extends AbstractListableElementComponent {} diff --git a/src/app/shared/object-list/community-list-element/community-list-element.component.ts b/src/app/shared/object-list/community-list-element/community-list-element.component.ts index 4c3e8bbd6f..4581c2c0da 100644 --- a/src/app/shared/object-list/community-list-element/community-list-element.component.ts +++ b/src/app/shared/object-list/community-list-element/community-list-element.component.ts @@ -11,5 +11,5 @@ import { listableObjectComponent } from '../../object-collection/shared/listable templateUrl: './community-list-element.component.html' }) -@listableObjectComponent(Community.name, ViewMode.ListElement) +@listableObjectComponent(Community, ViewMode.ListElement) export class CommunityListElementComponent extends AbstractListableElementComponent {} diff --git a/src/app/shared/object-list/item-list-element/item-types/publication/publication-list-element.component.spec.ts b/src/app/shared/object-list/item-list-element/item-types/publication/publication-list-element.component.spec.ts index 24bc774b1f..4814123072 100644 --- a/src/app/shared/object-list/item-list-element/item-types/publication/publication-list-element.component.spec.ts +++ b/src/app/shared/object-list/item-list-element/item-types/publication/publication-list-element.component.spec.ts @@ -43,42 +43,40 @@ const mockItem: Item = Object.assign(new Item(), { } }); -describe('PublicationListElementComponent', - () => { - let comp; - let fixture; +describe('PublicationListElementComponent', () => { + let comp; + let fixture; - const truncatableServiceStub: any = { - isCollapsed: (id: number) => observableOf(true), - }; + const truncatableServiceStub: any = { + isCollapsed: (id: number) => observableOf(true), + }; - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [PublicationListElementComponent, TruncatePipe], - providers: [ - { provide: TruncatableService, useValue: truncatableServiceStub }, - ], - schemas: [NO_ERRORS_SCHEMA] - }).overrideComponent(PublicationListElementComponent, { - set: { changeDetection: ChangeDetectionStrategy.Default } - }).compileComponents(); - })); + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [PublicationListElementComponent, TruncatePipe], + providers: [ + { provide: TruncatableService, useValue: truncatableServiceStub }, + ], + schemas: [NO_ERRORS_SCHEMA] + }).overrideComponent(PublicationListElementComponent, { + set: { changeDetection: ChangeDetectionStrategy.Default } + }).compileComponents(); + })); - beforeEach(async(() => { - fixture = TestBed.createComponent(PublicationListElementComponent); - comp = fixture.componentInstance; - })); + beforeEach(async(() => { + fixture = TestBed.createComponent(PublicationListElementComponent); + comp = fixture.componentInstance; + })); - describe(`when the publication is rendered`, () => { - beforeEach(() => { - comp.object = mockItem; - fixture.detectChanges(); - }); - - it(`should contain a PublicationListElementComponent`, () => { - const publicationListElement = fixture.debugElement.query(By.css(`ds-publication-search-result-list-element`)); - expect(publicationListElement).not.toBeNull(); - }); + describe(`when the publication is rendered`, () => { + beforeEach(() => { + comp.object = mockItem; + fixture.detectChanges(); }); - }); \ No newline at end of file + it(`should contain a PublicationListElementComponent`, () => { + const publicationListElement = fixture.debugElement.query(By.css(`ds-publication-search-result-list-element`)); + expect(publicationListElement).not.toBeNull(); + }); + }); +}); diff --git a/src/app/shared/object-list/item-list-element/item-types/publication/publication-list-element.component.ts b/src/app/shared/object-list/item-list-element/item-types/publication/publication-list-element.component.ts index 73cdf978ac..59d0249aef 100644 --- a/src/app/shared/object-list/item-list-element/item-types/publication/publication-list-element.component.ts +++ b/src/app/shared/object-list/item-list-element/item-types/publication/publication-list-element.component.ts @@ -5,7 +5,7 @@ import { AbstractListableElementComponent } from '../../../../object-collection/ import { Item } from '../../../../../core/shared/item.model'; @listableObjectComponent('Publication', ViewMode.ListElement) -@listableObjectComponent(Item.name, ViewMode.ListElement) +@listableObjectComponent(Item, ViewMode.ListElement) @Component({ selector: 'ds-publication-list-element', styleUrls: ['./publication-list-element.component.scss'], diff --git a/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-search-result-list-element.component.ts b/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-search-result-list-element.component.ts index 1e74487a97..aba6482bd1 100644 --- a/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-search-result-list-element.component.ts +++ b/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-search-result-list-element.component.ts @@ -13,6 +13,7 @@ import { MyDspaceItemStatusType } from '../../../object-collection/shared/mydspa import { listableObjectComponent } from '../../../object-collection/shared/listable-object/listable-object.decorator'; import { ClaimedTaskSearchResult } from '../../../object-collection/shared/claimed-task-search-result.model'; import { SearchResultListElementComponent } from '../../search-result-list-element/search-result-list-element.component'; +import { Item } from '../../../../core/shared/item.model'; /** * This component renders claimed task object for the mydspace result in the list view. @@ -24,7 +25,7 @@ import { SearchResultListElementComponent } from '../../search-result-list-eleme providers: [Location, { provide: LocationStrategy, useClass: PathLocationStrategy }] }) -@listableObjectComponent(ClaimedTaskSearchResult.name, ViewMode.ListElement) +@listableObjectComponent(ClaimedTaskSearchResult, ViewMode.ListElement) export class ClaimedSearchResultListElementComponent extends SearchResultListElementComponent { /** diff --git a/src/app/shared/object-list/my-dspace-result-list-element/item-search-result/item-search-result-list-element-submission.component.ts b/src/app/shared/object-list/my-dspace-result-list-element/item-search-result/item-search-result-list-element-submission.component.ts index 31d2977304..72ee0ba235 100644 --- a/src/app/shared/object-list/my-dspace-result-list-element/item-search-result/item-search-result-list-element-submission.component.ts +++ b/src/app/shared/object-list/my-dspace-result-list-element/item-search-result/item-search-result-list-element-submission.component.ts @@ -17,14 +17,14 @@ import { SearchResultListElementComponent } from '../../search-result-list-eleme templateUrl: './item-search-result-list-element-submission.component.html' }) -@listableObjectComponent(ItemSearchResult.name, ViewMode.ListElement, Context.Submission) +@listableObjectComponent(ItemSearchResult, ViewMode.ListElement, Context.Submission) export class ItemSearchResultListElementSubmissionComponent extends SearchResultListElementComponent implements OnInit { - ngOnInit() { - super.ngOnInit(); - } - /** * Represent item's status */ public status = MyDspaceItemStatusType.ARCHIVED; + + ngOnInit() { + super.ngOnInit(); + } } diff --git a/src/app/shared/object-list/my-dspace-result-list-element/pool-search-result/pool-search-result-list-element.component.ts b/src/app/shared/object-list/my-dspace-result-list-element/pool-search-result/pool-search-result-list-element.component.ts index 92e0ea3818..5597a2126d 100644 --- a/src/app/shared/object-list/my-dspace-result-list-element/pool-search-result/pool-search-result-list-element.component.ts +++ b/src/app/shared/object-list/my-dspace-result-list-element/pool-search-result/pool-search-result-list-element.component.ts @@ -13,6 +13,7 @@ import { listableObjectComponent } from '../../../object-collection/shared/lista import { PoolTaskSearchResult } from '../../../object-collection/shared/pool-task-search-result.model'; import { SearchResultListElementComponent } from '../../search-result-list-element/search-result-list-element.component'; import { TruncatableService } from '../../../truncatable/truncatable.service'; +import { Item } from '../../../../core/shared/item.model'; /** * This component renders pool task object for the mydspace result in the list view. @@ -23,7 +24,7 @@ import { TruncatableService } from '../../../truncatable/truncatable.service'; templateUrl: './pool-search-result-list-element.component.html', }) -@listableObjectComponent(PoolTaskSearchResult.name, ViewMode.ListElement) +@listableObjectComponent(PoolTaskSearchResult, ViewMode.ListElement) export class PoolSearchResultListElementComponent extends SearchResultListElementComponent implements OnInit { /** diff --git a/src/app/shared/object-list/my-dspace-result-list-element/workflow-item-search-result/workflow-item-search-result-list-element.component.ts b/src/app/shared/object-list/my-dspace-result-list-element/workflow-item-search-result/workflow-item-search-result-list-element.component.ts index 6a9013b9af..cb985b9906 100644 --- a/src/app/shared/object-list/my-dspace-result-list-element/workflow-item-search-result/workflow-item-search-result-list-element.component.ts +++ b/src/app/shared/object-list/my-dspace-result-list-element/workflow-item-search-result/workflow-item-search-result-list-element.component.ts @@ -22,9 +22,9 @@ import { SearchResultListElementComponent } from '../../search-result-list-eleme templateUrl: './workflow-item-search-result-list-element.component.html', }) -@listableObjectComponent(WorkflowItemSearchResult.name, ViewMode.ListElement) +@listableObjectComponent(WorkflowItemSearchResult, ViewMode.ListElement) export class WorkflowItemSearchResultListElementComponent extends SearchResultListElementComponent { - + /** * The item object that belonging to the result object */ diff --git a/src/app/shared/object-list/my-dspace-result-list-element/workspace-item-search-result/workspace-item-search-result-list-element.component.ts b/src/app/shared/object-list/my-dspace-result-list-element/workspace-item-search-result/workspace-item-search-result-list-element.component.ts index dd32f56aba..ed2770f852 100644 --- a/src/app/shared/object-list/my-dspace-result-list-element/workspace-item-search-result/workspace-item-search-result-list-element.component.ts +++ b/src/app/shared/object-list/my-dspace-result-list-element/workspace-item-search-result/workspace-item-search-result-list-element.component.ts @@ -22,7 +22,7 @@ import { SearchResultListElementComponent } from '../../search-result-list-eleme templateUrl: './workspace-item-search-result-list-element.component.html', }) -@listableObjectComponent(WorkspaceItemSearchResult.name, ViewMode.ListElement) +@listableObjectComponent(WorkspaceItemSearchResult, ViewMode.ListElement) export class WorkspaceItemSearchResultListElementComponent extends SearchResultListElementComponent { /** diff --git a/src/app/shared/object-list/search-result-list-element/collection-search-result/collection-search-result-list-element.component.ts b/src/app/shared/object-list/search-result-list-element/collection-search-result/collection-search-result-list-element.component.ts index 014763c53a..b42186e367 100644 --- a/src/app/shared/object-list/search-result-list-element/collection-search-result/collection-search-result-list-element.component.ts +++ b/src/app/shared/object-list/search-result-list-element/collection-search-result/collection-search-result-list-element.component.ts @@ -1,6 +1,4 @@ import { Component } from '@angular/core'; - - import { SearchResultListElementComponent } from '../search-result-list-element.component'; import { Collection } from '../../../../core/shared/collection.model'; import { CollectionSearchResult } from '../../../object-collection/shared/collection-search-result.model'; @@ -13,5 +11,5 @@ import { listableObjectComponent } from '../../../object-collection/shared/lista templateUrl: 'collection-search-result-list-element.component.html' }) -@listableObjectComponent(CollectionSearchResult.name, ViewMode.ListElement) +@listableObjectComponent(CollectionSearchResult, ViewMode.ListElement) export class CollectionSearchResultListElementComponent extends SearchResultListElementComponent {} diff --git a/src/app/shared/object-list/search-result-list-element/community-search-result/community-search-result-list-element.component.ts b/src/app/shared/object-list/search-result-list-element/community-search-result/community-search-result-list-element.component.ts index fd3bba85e9..a1da9a04ff 100644 --- a/src/app/shared/object-list/search-result-list-element/community-search-result/community-search-result-list-element.component.ts +++ b/src/app/shared/object-list/search-result-list-element/community-search-result/community-search-result-list-element.component.ts @@ -1,12 +1,9 @@ import { Component } from '@angular/core'; - - import { SearchResultListElementComponent } from '../search-result-list-element.component'; import { Community } from '../../../../core/shared/community.model'; import { CommunitySearchResult } from '../../../object-collection/shared/community-search-result.model'; import { ViewMode } from '../../../../core/shared/view-mode.model'; import { listableObjectComponent } from '../../../object-collection/shared/listable-object/listable-object.decorator'; -import { BrowseEntry } from '../../../../core/shared/browse-entry.model'; @Component({ selector: 'ds-community-search-result-list-element', @@ -14,7 +11,7 @@ import { BrowseEntry } from '../../../../core/shared/browse-entry.model'; templateUrl: 'community-search-result-list-element.component.html' }) -@listableObjectComponent(CommunitySearchResult.name, ViewMode.ListElement) +@listableObjectComponent(CommunitySearchResult, ViewMode.ListElement) export class CommunitySearchResultListElementComponent extends SearchResultListElementComponent { } diff --git a/src/app/shared/object-list/search-result-list-element/item-search-result/item-types/publication/publication-search-result-list-element.component.ts b/src/app/shared/object-list/search-result-list-element/item-search-result/item-types/publication/publication-search-result-list-element.component.ts index 3a72b8ef26..7b376ead8e 100644 --- a/src/app/shared/object-list/search-result-list-element/item-search-result/item-types/publication/publication-search-result-list-element.component.ts +++ b/src/app/shared/object-list/search-result-list-element/item-search-result/item-types/publication/publication-search-result-list-element.component.ts @@ -6,7 +6,7 @@ import { SearchResultListElementComponent } from '../../../search-result-list-el import { Item } from '../../../../../../core/shared/item.model'; @listableObjectComponent('PublicationSearchResult', ViewMode.ListElement) -@listableObjectComponent(ItemSearchResult.name, ViewMode.ListElement) +@listableObjectComponent(ItemSearchResult, ViewMode.ListElement) @Component({ selector: 'ds-publication-search-result-list-element', styleUrls: ['./publication-search-result-list-element.component.scss'], 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 6b6f484183..b9b1b25462 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 @@ -4,53 +4,53 @@
- +
- - + + - + - -
- - + - - - + +
diff --git a/themes/mantis/app/entity-groups/journal-entities/item-pages/journal-issue/journal-issue.component.html b/themes/mantis/app/entity-groups/journal-entities/item-pages/journal-issue/journal-issue.component.html index a25a474eb0..cfb23f4b94 100644 --- a/themes/mantis/app/entity-groups/journal-entities/item-pages/journal-issue/journal-issue.component.html +++ b/themes/mantis/app/entity-groups/journal-entities/item-pages/journal-issue/journal-issue.component.html @@ -4,11 +4,11 @@
- + @@ -17,33 +17,33 @@

{{'journalissue.page.titleprefix' | translate}} + [mdValues]="object?.allMetadata(['dc.title'])">

- - -
- - - diff --git a/themes/mantis/app/entity-groups/journal-entities/item-pages/journal-volume/journal-volume.component.html b/themes/mantis/app/entity-groups/journal-entities/item-pages/journal-volume/journal-volume.component.html index c20e9a775a..5435fea118 100644 --- a/themes/mantis/app/entity-groups/journal-entities/item-pages/journal-volume/journal-volume.component.html +++ b/themes/mantis/app/entity-groups/journal-entities/item-pages/journal-volume/journal-volume.component.html @@ -4,11 +4,11 @@
- + @@ -17,22 +17,22 @@

{{'journalvolume.page.titleprefix' | translate}} + [mdValues]="object?.allMetadata(['dc.title'])">

- -
- diff --git a/themes/mantis/app/entity-groups/journal-entities/item-pages/journal/journal.component.html b/themes/mantis/app/entity-groups/journal-entities/item-pages/journal/journal.component.html index ef827af590..978f77fbbb 100644 --- a/themes/mantis/app/entity-groups/journal-entities/item-pages/journal/journal.component.html +++ b/themes/mantis/app/entity-groups/journal-entities/item-pages/journal/journal.component.html @@ -3,11 +3,11 @@
- + @@ -16,26 +16,26 @@

{{'journal.page.titleprefix' | translate}} + [mdValues]="object?.allMetadata(['dc.title'])">

- - -
- @@ -61,7 +61,7 @@

{{"item.page.journal.search.title" | translate}}

-
diff --git a/themes/mantis/app/entity-groups/research-entities/item-pages/orgunit/orgunit.component.html b/themes/mantis/app/entity-groups/research-entities/item-pages/orgunit/orgunit.component.html index 6bb925c93f..b2424e7963 100644 --- a/themes/mantis/app/entity-groups/research-entities/item-pages/orgunit/orgunit.component.html +++ b/themes/mantis/app/entity-groups/research-entities/item-pages/orgunit/orgunit.component.html @@ -4,12 +4,12 @@
- @@ -18,29 +18,29 @@

{{'orgunit.page.titleprefix' | translate}} + [mdValues]="object?.allMetadata(['orgunit.identifier.name'])">

- - -
- - diff --git a/themes/mantis/app/entity-groups/research-entities/item-pages/person/person.component.html b/themes/mantis/app/entity-groups/research-entities/item-pages/person/person.component.html index 54d7962b97..cb5bd8f1ae 100644 --- a/themes/mantis/app/entity-groups/research-entities/item-pages/person/person.component.html +++ b/themes/mantis/app/entity-groups/research-entities/item-pages/person/person.component.html @@ -4,12 +4,12 @@
- @@ -17,37 +17,37 @@

{{'person.page.titleprefix' | translate}} + [mdValues]="object?.allMetadata(['dc.contributor.author'])">

- - - -
- - - @@ -79,7 +79,7 @@

{{"item.page.person.search.title" | translate}}

-
diff --git a/themes/mantis/app/entity-groups/research-entities/item-pages/project/project.component.html b/themes/mantis/app/entity-groups/research-entities/item-pages/project/project.component.html index aa4a107247..bdbcac5b52 100644 --- a/themes/mantis/app/entity-groups/research-entities/item-pages/project/project.component.html +++ b/themes/mantis/app/entity-groups/research-entities/item-pages/project/project.component.html @@ -4,12 +4,12 @@
- @@ -18,7 +18,7 @@

{{'project.page.titleprefix' | translate}} + [mdValues]="object?.allMetadata(['project.identifier.name'])">

@@ -26,29 +26,29 @@ [label]="'project.page.contributor' | translate" [representations]="contributors$ | async"> - - -
- - -