diff --git a/src/app/+item-page/item-page.module.ts b/src/app/+item-page/item-page.module.ts index 2103a548c1..b4e5ba1cd8 100644 --- a/src/app/+item-page/item-page.module.ts +++ b/src/app/+item-page/item-page.module.ts @@ -19,16 +19,16 @@ import { FileSectionComponent } from './simple/field-components/file-section/fil import { CollectionsComponent } from './field-components/collections/collections.component'; import { FullItemPageComponent } from './full/full-item-page.component'; import { FullFileSectionComponent } from './full/field-components/file-section/full-file-section.component'; -import { RelatedEntitiesComponent } from './simple/related-entities/related-entities-component'; +import { RelatedItemsComponent } from './simple/related-items/related-items-component'; import { SearchPageModule } from '../+search-page/search-page.module'; -import { PublicationComponent } from './simple/entity-types/publication/publication.component'; -import { PersonComponent } from './simple/entity-types/person/person.component'; -import { OrgunitComponent } from './simple/entity-types/orgunit/orgunit.component'; -import { ProjectComponent } from './simple/entity-types/project/project.component'; -import { JournalComponent } from './simple/entity-types/journal/journal.component'; -import { JournalVolumeComponent } from './simple/entity-types/journal-volume/journal-volume.component'; -import { JournalIssueComponent } from './simple/entity-types/journal-issue/journal-issue.component'; -import { EntityComponent } from './simple/entity-types/shared/entity.component'; +import { PublicationComponent } from './simple/item-types/publication/publication.component'; +import { PersonComponent } from './simple/item-types/person/person.component'; +import { OrgunitComponent } from './simple/item-types/orgunit/orgunit.component'; +import { ProjectComponent } from './simple/item-types/project/project.component'; +import { JournalComponent } from './simple/item-types/journal/journal.component'; +import { JournalVolumeComponent } from './simple/item-types/journal-volume/journal-volume.component'; +import { JournalIssueComponent } from './simple/item-types/journal-issue/journal-issue.component'; +import { ItemComponent } from './simple/item-types/shared/item.component'; @NgModule({ imports: [ @@ -56,8 +56,8 @@ import { EntityComponent } from './simple/entity-types/shared/entity.component'; ProjectComponent, OrgunitComponent, PersonComponent, - RelatedEntitiesComponent, - EntityComponent, + RelatedItemsComponent, + ItemComponent, GenericItemPageFieldComponent, JournalComponent, JournalIssueComponent, diff --git a/src/app/+item-page/simple/item-page.component.html b/src/app/+item-page/simple/item-page.component.html index 0db8bbf318..e59d37fb9d 100644 --- a/src/app/+item-page/simple/item-page.component.html +++ b/src/app/+item-page/simple/item-page.component.html @@ -1,7 +1,7 @@
- +
diff --git a/src/app/+item-page/simple/item-page.component.spec.ts b/src/app/+item-page/simple/item-page.component.spec.ts index bc1df00300..fbe616227f 100644 --- a/src/app/+item-page/simple/item-page.component.spec.ts +++ b/src/app/+item-page/simple/item-page.component.spec.ts @@ -8,14 +8,13 @@ import { ActivatedRoute } from '@angular/router'; import { ActivatedRouteStub } from '../../shared/testing/active-router-stub'; import { MetadataService } from '../../core/metadata/metadata.service'; import { VarDirective } from '../../shared/utils/var.directive'; -import { Observable } from 'rxjs'; import { RemoteData } from '../../core/data/remote-data'; import { Item } from '../../core/shared/item.model'; import { PaginatedList } from '../../core/data/paginated-list'; import { PageInfo } from '../../core/shared/page-info.model'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { By } from '@angular/platform-browser'; -import { createRelationshipsObservable } from './entity-types/shared/entity.component.spec'; +import { createRelationshipsObservable } from './item-types/shared/item.component.spec'; import { of as observableOf } from 'rxjs'; const mockItem: Item = Object.assign(new Item(), { diff --git a/src/app/+item-page/simple/entity-types/journal-issue/journal-issue.component.html b/src/app/+item-page/simple/item-types/journal-issue/journal-issue.component.html similarity index 88% rename from src/app/+item-page/simple/entity-types/journal-issue/journal-issue.component.html rename to src/app/+item-page/simple/item-types/journal-issue/journal-issue.component.html index 73fee41f8f..13e977ac5c 100644 --- a/src/app/+item-page/simple/entity-types/journal-issue/journal-issue.component.html +++ b/src/app/+item-page/simple/item-types/journal-issue/journal-issue.component.html @@ -16,14 +16,14 @@
- - - + - + diff --git a/src/app/+item-page/simple/entity-types/journal-issue/journal-issue.component.scss b/src/app/+item-page/simple/item-types/journal-issue/journal-issue.component.scss similarity index 100% rename from src/app/+item-page/simple/entity-types/journal-issue/journal-issue.component.scss rename to src/app/+item-page/simple/item-types/journal-issue/journal-issue.component.scss diff --git a/src/app/+item-page/simple/entity-types/journal-issue/journal-issue.component.spec.ts b/src/app/+item-page/simple/item-types/journal-issue/journal-issue.component.spec.ts similarity index 81% rename from src/app/+item-page/simple/entity-types/journal-issue/journal-issue.component.spec.ts rename to src/app/+item-page/simple/item-types/journal-issue/journal-issue.component.spec.ts index a2db07362d..a648250b03 100644 --- a/src/app/+item-page/simple/entity-types/journal-issue/journal-issue.component.spec.ts +++ b/src/app/+item-page/simple/item-types/journal-issue/journal-issue.component.spec.ts @@ -1,9 +1,8 @@ -import { Observable } from 'rxjs'; import { Item } from '../../../../core/shared/item.model'; import { RemoteData } from '../../../../core/data/remote-data'; import { PaginatedList } from '../../../../core/data/paginated-list'; import { PageInfo } from '../../../../core/shared/page-info.model'; -import { createRelationshipsObservable, getEntityPageFieldsTest } from '../shared/entity.component.spec'; +import { createRelationshipsObservable, getItemPageFieldsTest } from '../shared/item.component.spec'; import { JournalIssueComponent } from './journal-issue.component'; import { of as observableOf } from 'rxjs'; @@ -33,4 +32,4 @@ const mockItem: Item = Object.assign(new Item(), { relationships: createRelationshipsObservable() }); -describe('JournalIssueComponent', getEntityPageFieldsTest(mockItem, JournalIssueComponent)); +describe('JournalIssueComponent', getItemPageFieldsTest(mockItem, JournalIssueComponent)); diff --git a/src/app/+item-page/simple/entity-types/journal-issue/journal-issue.component.ts b/src/app/+item-page/simple/item-types/journal-issue/journal-issue.component.ts similarity index 75% rename from src/app/+item-page/simple/entity-types/journal-issue/journal-issue.component.ts rename to src/app/+item-page/simple/item-types/journal-issue/journal-issue.component.ts index 91d4b1ce8c..c663b15256 100644 --- a/src/app/+item-page/simple/entity-types/journal-issue/journal-issue.component.ts +++ b/src/app/+item-page/simple/item-types/journal-issue/journal-issue.component.ts @@ -2,22 +2,22 @@ import { Component, Inject } from '@angular/core'; import { Observable } from 'rxjs'; import { ItemDataService } from '../../../../core/data/item-data.service'; import { Item } from '../../../../core/shared/item.model'; -import { rendersEntityType } from '../../../../shared/entities/entity-type-decorator'; -import { ITEM } from '../../../../shared/entities/switcher/entity-type-switcher.component'; +import { rendersItemType } from '../../../../shared/items/item-type-decorator'; +import { ITEM } from '../../../../shared/items/switcher/item-type-switcher.component'; import { ElementViewMode } from '../../../../shared/view-mode'; import { isNotEmpty } from '../../../../shared/empty.util'; -import { EntityComponent, filterRelationsByTypeLabel, relationsToItems } from '../shared/entity.component'; +import { ItemComponent, filterRelationsByTypeLabel, relationsToItems } from '../shared/item.component'; -@rendersEntityType('JournalIssue', ElementViewMode.Full) +@rendersItemType('JournalIssue', ElementViewMode.Full) @Component({ selector: 'ds-journal-issue', styleUrls: ['./journal-issue.component.scss'], templateUrl: './journal-issue.component.html' }) /** - * The component for displaying metadata and relations of an item with entity type Journal Issue + * The component for displaying metadata and relations of an item of the type Journal Issue */ -export class JournalIssueComponent extends EntityComponent { +export class JournalIssueComponent extends ItemComponent { /** * The volumes related to this journal issue */ diff --git a/src/app/+item-page/simple/entity-types/journal-volume/journal-volume.component.html b/src/app/+item-page/simple/item-types/journal-volume/journal-volume.component.html similarity index 87% rename from src/app/+item-page/simple/entity-types/journal-volume/journal-volume.component.html rename to src/app/+item-page/simple/item-types/journal-volume/journal-volume.component.html index df770b06d8..a956e40fdd 100644 --- a/src/app/+item-page/simple/entity-types/journal-volume/journal-volume.component.html +++ b/src/app/+item-page/simple/item-types/journal-volume/journal-volume.component.html @@ -16,14 +16,14 @@
- - - + - + diff --git a/src/app/+item-page/simple/entity-types/journal-volume/journal-volume.component.scss b/src/app/+item-page/simple/item-types/journal-volume/journal-volume.component.scss similarity index 100% rename from src/app/+item-page/simple/entity-types/journal-volume/journal-volume.component.scss rename to src/app/+item-page/simple/item-types/journal-volume/journal-volume.component.scss diff --git a/src/app/+item-page/simple/entity-types/journal-volume/journal-volume.component.spec.ts b/src/app/+item-page/simple/item-types/journal-volume/journal-volume.component.spec.ts similarity index 79% rename from src/app/+item-page/simple/entity-types/journal-volume/journal-volume.component.spec.ts rename to src/app/+item-page/simple/item-types/journal-volume/journal-volume.component.spec.ts index 2cab243924..5442048a50 100644 --- a/src/app/+item-page/simple/entity-types/journal-volume/journal-volume.component.spec.ts +++ b/src/app/+item-page/simple/item-types/journal-volume/journal-volume.component.spec.ts @@ -1,9 +1,8 @@ -import { Observable } from 'rxjs'; import { Item } from '../../../../core/shared/item.model'; import { RemoteData } from '../../../../core/data/remote-data'; import { PaginatedList } from '../../../../core/data/paginated-list'; import { PageInfo } from '../../../../core/shared/page-info.model'; -import { createRelationshipsObservable, getEntityPageFieldsTest } from '../shared/entity.component.spec'; +import { createRelationshipsObservable, getItemPageFieldsTest } from '../shared/item.component.spec'; import { JournalVolumeComponent } from './journal-volume.component'; import { of as observableOf } from 'rxjs'; @@ -28,4 +27,4 @@ const mockItem: Item = Object.assign(new Item(), { relationships: createRelationshipsObservable() }); -describe('JournalVolumeComponent', getEntityPageFieldsTest(mockItem, JournalVolumeComponent)); +describe('JournalVolumeComponent', getItemPageFieldsTest(mockItem, JournalVolumeComponent)); diff --git a/src/app/+item-page/simple/entity-types/journal-volume/journal-volume.component.ts b/src/app/+item-page/simple/item-types/journal-volume/journal-volume.component.ts similarity index 74% rename from src/app/+item-page/simple/entity-types/journal-volume/journal-volume.component.ts rename to src/app/+item-page/simple/item-types/journal-volume/journal-volume.component.ts index c6b9233ece..ebb6919234 100644 --- a/src/app/+item-page/simple/entity-types/journal-volume/journal-volume.component.ts +++ b/src/app/+item-page/simple/item-types/journal-volume/journal-volume.component.ts @@ -2,22 +2,22 @@ import { Component, Inject } from '@angular/core'; import { Observable } from 'rxjs'; import { ItemDataService } from '../../../../core/data/item-data.service'; import { Item } from '../../../../core/shared/item.model'; -import { rendersEntityType } from '../../../../shared/entities/entity-type-decorator'; -import { ITEM } from '../../../../shared/entities/switcher/entity-type-switcher.component'; +import { rendersItemType } from '../../../../shared/items/item-type-decorator'; +import { ITEM } from '../../../../shared/items/switcher/item-type-switcher.component'; import { ElementViewMode } from '../../../../shared/view-mode'; import { isNotEmpty } from '../../../../shared/empty.util'; -import { EntityComponent, filterRelationsByTypeLabel, relationsToItems } from '../shared/entity.component'; +import { ItemComponent, filterRelationsByTypeLabel, relationsToItems } from '../shared/item.component'; -@rendersEntityType('JournalVolume', ElementViewMode.Full) +@rendersItemType('JournalVolume', ElementViewMode.Full) @Component({ selector: 'ds-journal-volume', styleUrls: ['./journal-volume.component.scss'], templateUrl: './journal-volume.component.html' }) /** - * The component for displaying metadata and relations of an item with entity type Journal Volume + * The component for displaying metadata and relations of an item of the type Journal Volume */ -export class JournalVolumeComponent extends EntityComponent { +export class JournalVolumeComponent extends ItemComponent { /** * The journals related to this journal volume */ diff --git a/src/app/+item-page/simple/entity-types/journal/journal.component.html b/src/app/+item-page/simple/item-types/journal/journal.component.html similarity index 93% rename from src/app/+item-page/simple/entity-types/journal/journal.component.html rename to src/app/+item-page/simple/item-types/journal/journal.component.html index b02000a9e4..548f6304bc 100644 --- a/src/app/+item-page/simple/entity-types/journal/journal.component.html +++ b/src/app/+item-page/simple/item-types/journal/journal.component.html @@ -16,10 +16,10 @@
- - + diff --git a/src/app/+item-page/simple/entity-types/journal/journal.component.scss b/src/app/+item-page/simple/item-types/journal/journal.component.scss similarity index 100% rename from src/app/+item-page/simple/entity-types/journal/journal.component.scss rename to src/app/+item-page/simple/item-types/journal/journal.component.scss diff --git a/src/app/+item-page/simple/entity-types/journal/journal.component.spec.ts b/src/app/+item-page/simple/item-types/journal/journal.component.spec.ts similarity index 96% rename from src/app/+item-page/simple/entity-types/journal/journal.component.spec.ts rename to src/app/+item-page/simple/item-types/journal/journal.component.spec.ts index d9915e0410..8a18f0f727 100644 --- a/src/app/+item-page/simple/entity-types/journal/journal.component.spec.ts +++ b/src/app/+item-page/simple/item-types/journal/journal.component.spec.ts @@ -1,10 +1,9 @@ import { ChangeDetectionStrategy, DebugElement, NO_ERRORS_SCHEMA } from '@angular/core'; import { async, ComponentFixture, TestBed } from '@angular/core/testing'; import { TruncatableService } from '../../../../shared/truncatable/truncatable.service'; -import { ITEM } from '../../../../shared/entities/switcher/entity-type-switcher.component'; +import { ITEM } from '../../../../shared/items/switcher/item-type-switcher.component'; import { TruncatePipe } from '../../../../shared/utils/truncate.pipe'; import { ItemDataService } from '../../../../core/data/item-data.service'; -import { Observable } from 'rxjs'; import { Item } from '../../../../core/shared/item.model'; import { By } from '@angular/platform-browser'; import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; diff --git a/src/app/+item-page/simple/entity-types/journal/journal.component.ts b/src/app/+item-page/simple/item-types/journal/journal.component.ts similarity index 70% rename from src/app/+item-page/simple/entity-types/journal/journal.component.ts rename to src/app/+item-page/simple/item-types/journal/journal.component.ts index 7e1e0233b6..3af725062c 100644 --- a/src/app/+item-page/simple/entity-types/journal/journal.component.ts +++ b/src/app/+item-page/simple/item-types/journal/journal.component.ts @@ -2,22 +2,22 @@ import { Component, Inject } from '@angular/core'; import { Observable } from 'rxjs'; import { ItemDataService } from '../../../../core/data/item-data.service'; import { Item } from '../../../../core/shared/item.model'; -import { rendersEntityType } from '../../../../shared/entities/entity-type-decorator'; -import { ITEM } from '../../../../shared/entities/switcher/entity-type-switcher.component'; +import { rendersItemType } from '../../../../shared/items/item-type-decorator'; +import { ITEM } from '../../../../shared/items/switcher/item-type-switcher.component'; import { ElementViewMode } from '../../../../shared/view-mode'; import { isNotEmpty } from '../../../../shared/empty.util'; -import { EntityComponent, filterRelationsByTypeLabel, relationsToItems } from '../shared/entity.component'; +import { ItemComponent, filterRelationsByTypeLabel, relationsToItems } from '../shared/item.component'; -@rendersEntityType('Journal', ElementViewMode.Full) +@rendersItemType('Journal', ElementViewMode.Full) @Component({ selector: 'ds-journal', styleUrls: ['./journal.component.scss'], templateUrl: './journal.component.html' }) /** - * The component for displaying metadata and relations of an item with entity type Journal + * The component for displaying metadata and relations of an item of the type Journal */ -export class JournalComponent extends EntityComponent { +export class JournalComponent extends ItemComponent { /** * The volumes related to this journal */ diff --git a/src/app/+item-page/simple/entity-types/orgunit/orgunit.component.html b/src/app/+item-page/simple/item-types/orgunit/orgunit.component.html similarity index 86% rename from src/app/+item-page/simple/entity-types/orgunit/orgunit.component.html rename to src/app/+item-page/simple/item-types/orgunit/orgunit.component.html index e5a02b54e5..7eacf66347 100644 --- a/src/app/+item-page/simple/entity-types/orgunit/orgunit.component.html +++ b/src/app/+item-page/simple/item-types/orgunit/orgunit.component.html @@ -24,18 +24,18 @@
- - - + - - + - + diff --git a/src/app/+item-page/simple/entity-types/orgunit/orgunit.component.scss b/src/app/+item-page/simple/item-types/orgunit/orgunit.component.scss similarity index 100% rename from src/app/+item-page/simple/entity-types/orgunit/orgunit.component.scss rename to src/app/+item-page/simple/item-types/orgunit/orgunit.component.scss diff --git a/src/app/+item-page/simple/entity-types/orgunit/orgunit.component.spec.ts b/src/app/+item-page/simple/item-types/orgunit/orgunit.component.spec.ts similarity index 82% rename from src/app/+item-page/simple/entity-types/orgunit/orgunit.component.spec.ts rename to src/app/+item-page/simple/item-types/orgunit/orgunit.component.spec.ts index e7e83ccc2a..bb356ba7fb 100644 --- a/src/app/+item-page/simple/entity-types/orgunit/orgunit.component.spec.ts +++ b/src/app/+item-page/simple/item-types/orgunit/orgunit.component.spec.ts @@ -1,9 +1,8 @@ -import { Observable } from 'rxjs'; import { Item } from '../../../../core/shared/item.model'; import { RemoteData } from '../../../../core/data/remote-data'; import { PaginatedList } from '../../../../core/data/paginated-list'; import { PageInfo } from '../../../../core/shared/page-info.model'; -import { createRelationshipsObservable, getEntityPageFieldsTest } from '../shared/entity.component.spec'; +import { createRelationshipsObservable, getItemPageFieldsTest } from '../shared/item.component.spec'; import { OrgunitComponent } from './orgunit.component'; import { of as observableOf } from 'rxjs'; @@ -38,4 +37,4 @@ const mockItem: Item = Object.assign(new Item(), { relationships: createRelationshipsObservable() }); -describe('OrgUnitComponent', getEntityPageFieldsTest(mockItem, OrgunitComponent)); +describe('OrgUnitComponent', getItemPageFieldsTest(mockItem, OrgunitComponent)); diff --git a/src/app/+item-page/simple/entity-types/orgunit/orgunit.component.ts b/src/app/+item-page/simple/item-types/orgunit/orgunit.component.ts similarity index 77% rename from src/app/+item-page/simple/entity-types/orgunit/orgunit.component.ts rename to src/app/+item-page/simple/item-types/orgunit/orgunit.component.ts index 1f99f29ea2..f1979b0961 100644 --- a/src/app/+item-page/simple/entity-types/orgunit/orgunit.component.ts +++ b/src/app/+item-page/simple/item-types/orgunit/orgunit.component.ts @@ -2,22 +2,22 @@ import { Component, Inject, OnInit } from '@angular/core'; import { Observable } from 'rxjs'; import { ItemDataService } from '../../../../core/data/item-data.service'; import { Item } from '../../../../core/shared/item.model'; -import { rendersEntityType } from '../../../../shared/entities/entity-type-decorator'; +import { rendersItemType } from '../../../../shared/items/item-type-decorator'; import { ElementViewMode } from '../../../../shared/view-mode'; -import { ITEM } from '../../../../shared/entities/switcher/entity-type-switcher.component'; +import { ITEM } from '../../../../shared/items/switcher/item-type-switcher.component'; import { isNotEmpty } from '../../../../shared/empty.util'; -import { EntityComponent, filterRelationsByTypeLabel, relationsToItems } from '../shared/entity.component'; +import { ItemComponent, filterRelationsByTypeLabel, relationsToItems } from '../shared/item.component'; -@rendersEntityType('OrgUnit', ElementViewMode.Full) +@rendersItemType('OrgUnit', ElementViewMode.Full) @Component({ selector: 'ds-orgunit', styleUrls: ['./orgunit.component.scss'], templateUrl: './orgunit.component.html' }) /** - * The component for displaying metadata and relations of an item with entity type Organisation Unit + * The component for displaying metadata and relations of an item of the type Organisation Unit */ -export class OrgunitComponent extends EntityComponent implements OnInit { +export class OrgunitComponent extends ItemComponent implements OnInit { /** * The people related to this organisation unit */ diff --git a/src/app/+item-page/simple/entity-types/person/person.component.html b/src/app/+item-page/simple/item-types/person/person.component.html similarity index 92% rename from src/app/+item-page/simple/entity-types/person/person.component.html rename to src/app/+item-page/simple/item-types/person/person.component.html index 548f46624d..a490361ac3 100644 --- a/src/app/+item-page/simple/entity-types/person/person.component.html +++ b/src/app/+item-page/simple/item-types/person/person.component.html @@ -24,14 +24,14 @@
- - - + - + diff --git a/src/app/+item-page/simple/entity-types/person/person.component.scss b/src/app/+item-page/simple/item-types/person/person.component.scss similarity index 100% rename from src/app/+item-page/simple/entity-types/person/person.component.scss rename to src/app/+item-page/simple/item-types/person/person.component.scss diff --git a/src/app/+item-page/simple/entity-types/person/person.component.spec.ts b/src/app/+item-page/simple/item-types/person/person.component.spec.ts similarity index 85% rename from src/app/+item-page/simple/entity-types/person/person.component.spec.ts rename to src/app/+item-page/simple/item-types/person/person.component.spec.ts index 70eba79180..4c582f67e8 100644 --- a/src/app/+item-page/simple/entity-types/person/person.component.spec.ts +++ b/src/app/+item-page/simple/item-types/person/person.component.spec.ts @@ -1,9 +1,8 @@ -import { Observable } from 'rxjs'; import { Item } from '../../../../core/shared/item.model'; import { RemoteData } from '../../../../core/data/remote-data'; import { PaginatedList } from '../../../../core/data/paginated-list'; import { PageInfo } from '../../../../core/shared/page-info.model'; -import { createRelationshipsObservable, getEntityPageFieldsTest } from '../shared/entity.component.spec'; +import { createRelationshipsObservable, getItemPageFieldsTest } from '../shared/item.component.spec'; import { PersonComponent } from './person.component'; import { of as observableOf } from 'rxjs'; @@ -48,4 +47,4 @@ const mockItem: Item = Object.assign(new Item(), { relationships: createRelationshipsObservable() }); -describe('PersonComponent', getEntityPageFieldsTest(mockItem, PersonComponent)); +describe('PersonComponent', getItemPageFieldsTest(mockItem, PersonComponent)); diff --git a/src/app/+item-page/simple/entity-types/person/person.component.ts b/src/app/+item-page/simple/item-types/person/person.component.ts similarity index 83% rename from src/app/+item-page/simple/entity-types/person/person.component.ts rename to src/app/+item-page/simple/item-types/person/person.component.ts index 2ba3a5bdcf..bb98799da5 100644 --- a/src/app/+item-page/simple/entity-types/person/person.component.ts +++ b/src/app/+item-page/simple/item-types/person/person.component.ts @@ -2,23 +2,23 @@ import { Component, Inject } from '@angular/core'; import { Observable , of as observableOf } from 'rxjs'; import { ItemDataService } from '../../../../core/data/item-data.service'; import { Item } from '../../../../core/shared/item.model'; -import { rendersEntityType } from '../../../../shared/entities/entity-type-decorator'; -import { ITEM } from '../../../../shared/entities/switcher/entity-type-switcher.component'; +import { rendersItemType } from '../../../../shared/items/item-type-decorator'; +import { ITEM } from '../../../../shared/items/switcher/item-type-switcher.component'; import { ElementViewMode } from '../../../../shared/view-mode'; import { SearchFixedFilterService } from '../../../../+search-page/search-filters/search-filter/search-fixed-filter.service'; import { isNotEmpty } from '../../../../shared/empty.util'; -import { EntityComponent, filterRelationsByTypeLabel, relationsToItems } from '../shared/entity.component'; +import { ItemComponent, filterRelationsByTypeLabel, relationsToItems } from '../shared/item.component'; -@rendersEntityType('Person', ElementViewMode.Full) +@rendersItemType('Person', ElementViewMode.Full) @Component({ selector: 'ds-person', styleUrls: ['./person.component.scss'], templateUrl: './person.component.html' }) /** - * The component for displaying metadata and relations of an item with entity type Person + * The component for displaying metadata and relations of an item of the type Person */ -export class PersonComponent extends EntityComponent { +export class PersonComponent extends ItemComponent { /** * The publications related to this person */ diff --git a/src/app/+item-page/simple/entity-types/project/project.component.html b/src/app/+item-page/simple/item-types/project/project.component.html similarity index 86% rename from src/app/+item-page/simple/entity-types/project/project.component.html rename to src/app/+item-page/simple/item-types/project/project.component.html index 36a71bd71a..17aa8b2065 100644 --- a/src/app/+item-page/simple/entity-types/project/project.component.html +++ b/src/app/+item-page/simple/item-types/project/project.component.html @@ -20,18 +20,18 @@
- - - + - - + - + diff --git a/src/app/+item-page/simple/entity-types/project/project.component.scss b/src/app/+item-page/simple/item-types/project/project.component.scss similarity index 100% rename from src/app/+item-page/simple/entity-types/project/project.component.scss rename to src/app/+item-page/simple/item-types/project/project.component.scss diff --git a/src/app/+item-page/simple/entity-types/project/project.component.spec.ts b/src/app/+item-page/simple/item-types/project/project.component.spec.ts similarity index 83% rename from src/app/+item-page/simple/entity-types/project/project.component.spec.ts rename to src/app/+item-page/simple/item-types/project/project.component.spec.ts index c2fceb4266..e28c97f87d 100644 --- a/src/app/+item-page/simple/entity-types/project/project.component.spec.ts +++ b/src/app/+item-page/simple/item-types/project/project.component.spec.ts @@ -1,9 +1,8 @@ -import { Observable } from 'rxjs'; import { Item } from '../../../../core/shared/item.model'; import { RemoteData } from '../../../../core/data/remote-data'; import { PaginatedList } from '../../../../core/data/paginated-list'; import { PageInfo } from '../../../../core/shared/page-info.model'; -import { createRelationshipsObservable, getEntityPageFieldsTest } from '../shared/entity.component.spec'; +import { createRelationshipsObservable, getItemPageFieldsTest } from '../shared/item.component.spec'; import { ProjectComponent } from './project.component'; import { of as observableOf } from 'rxjs'; @@ -38,4 +37,4 @@ const mockItem: Item = Object.assign(new Item(), { relationships: createRelationshipsObservable() }); -describe('ProjectComponent', getEntityPageFieldsTest(mockItem, ProjectComponent)); +describe('ProjectComponent', getItemPageFieldsTest(mockItem, ProjectComponent)); diff --git a/src/app/+item-page/simple/entity-types/project/project.component.ts b/src/app/+item-page/simple/item-types/project/project.component.ts similarity index 78% rename from src/app/+item-page/simple/entity-types/project/project.component.ts rename to src/app/+item-page/simple/item-types/project/project.component.ts index e31d748129..dfbdacff86 100644 --- a/src/app/+item-page/simple/entity-types/project/project.component.ts +++ b/src/app/+item-page/simple/item-types/project/project.component.ts @@ -2,22 +2,22 @@ import { Component, Inject, OnInit } from '@angular/core'; import { Observable } from 'rxjs'; import { ItemDataService } from '../../../../core/data/item-data.service'; import { Item } from '../../../../core/shared/item.model'; -import { rendersEntityType } from '../../../../shared/entities/entity-type-decorator'; +import { rendersItemType } from '../../../../shared/items/item-type-decorator'; import { ElementViewMode } from '../../../../shared/view-mode'; -import { ITEM } from '../../../../shared/entities/switcher/entity-type-switcher.component'; +import { ITEM } from '../../../../shared/items/switcher/item-type-switcher.component'; import { isNotEmpty } from '../../../../shared/empty.util'; -import { EntityComponent, filterRelationsByTypeLabel, relationsToItems } from '../shared/entity.component'; +import { ItemComponent, filterRelationsByTypeLabel, relationsToItems } from '../shared/item.component'; -@rendersEntityType('Project', ElementViewMode.Full) +@rendersItemType('Project', ElementViewMode.Full) @Component({ selector: 'ds-project', styleUrls: ['./project.component.scss'], templateUrl: './project.component.html' }) /** - * The component for displaying metadata and relations of an item with entity type Project + * The component for displaying metadata and relations of an item of the type Project */ -export class ProjectComponent extends EntityComponent implements OnInit { +export class ProjectComponent extends ItemComponent implements OnInit { /** * The people related to this project */ diff --git a/src/app/+item-page/simple/entity-types/publication/publication.component.html b/src/app/+item-page/simple/item-types/publication/publication.component.html similarity index 76% rename from src/app/+item-page/simple/entity-types/publication/publication.component.html rename to src/app/+item-page/simple/item-types/publication/publication.component.html index 84cd5a151b..e619e18b01 100644 --- a/src/app/+item-page/simple/entity-types/publication/publication.component.html +++ b/src/app/+item-page/simple/item-types/publication/publication.component.html @@ -9,22 +9,22 @@
- - - + - - + - - + - + diff --git a/src/app/+item-page/simple/entity-types/publication/publication.component.scss b/src/app/+item-page/simple/item-types/publication/publication.component.scss similarity index 100% rename from src/app/+item-page/simple/entity-types/publication/publication.component.scss rename to src/app/+item-page/simple/item-types/publication/publication.component.scss diff --git a/src/app/+item-page/simple/entity-types/publication/publication.component.spec.ts b/src/app/+item-page/simple/item-types/publication/publication.component.spec.ts similarity index 94% rename from src/app/+item-page/simple/entity-types/publication/publication.component.spec.ts rename to src/app/+item-page/simple/item-types/publication/publication.component.spec.ts index c3c9c2cd81..603d358761 100644 --- a/src/app/+item-page/simple/entity-types/publication/publication.component.spec.ts +++ b/src/app/+item-page/simple/item-types/publication/publication.component.spec.ts @@ -3,18 +3,17 @@ import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; import { MockTranslateLoader } from '../../../../shared/mocks/mock-translate-loader'; import { GenericItemPageFieldComponent } from '../../field-components/specific-field/generic/generic-item-page-field.component'; import { TruncatePipe } from '../../../../shared/utils/truncate.pipe'; -import { ITEM } from '../../../../shared/entities/switcher/entity-type-switcher.component'; +import { ITEM } from '../../../../shared/items/switcher/item-type-switcher.component'; import { ItemDataService } from '../../../../core/data/item-data.service'; import { SearchFixedFilterService } from '../../../../+search-page/search-filters/search-filter/search-fixed-filter.service'; import { TruncatableService } from '../../../../shared/truncatable/truncatable.service'; import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; import { Item } from '../../../../core/shared/item.model'; -import { Observable } from 'rxjs'; import { RemoteData } from '../../../../core/data/remote-data'; import { PaginatedList } from '../../../../core/data/paginated-list'; import { PageInfo } from '../../../../core/shared/page-info.model'; import { By } from '@angular/platform-browser'; -import { createRelationshipsObservable } from '../shared/entity.component.spec'; +import { createRelationshipsObservable } from '../shared/item.component.spec'; import { PublicationComponent } from './publication.component'; import { of as observableOf } from 'rxjs'; diff --git a/src/app/+item-page/simple/entity-types/publication/publication.component.ts b/src/app/+item-page/simple/item-types/publication/publication.component.ts similarity index 78% rename from src/app/+item-page/simple/entity-types/publication/publication.component.ts rename to src/app/+item-page/simple/item-types/publication/publication.component.ts index 09481362c1..b6178893d6 100644 --- a/src/app/+item-page/simple/entity-types/publication/publication.component.ts +++ b/src/app/+item-page/simple/item-types/publication/publication.component.ts @@ -3,22 +3,22 @@ import { Observable } from 'rxjs'; import { ItemDataService } from '../../../../core/data/item-data.service'; import { Item } from '../../../../core/shared/item.model'; import { - DEFAULT_ENTITY_TYPE, - rendersEntityType -} from '../../../../shared/entities/entity-type-decorator'; -import { ITEM } from '../../../../shared/entities/switcher/entity-type-switcher.component'; + DEFAULT_ITEM_TYPE, + rendersItemType +} from '../../../../shared/items/item-type-decorator'; +import { ITEM } from '../../../../shared/items/switcher/item-type-switcher.component'; import { ElementViewMode } from '../../../../shared/view-mode'; -import { EntityComponent, filterRelationsByTypeLabel, relationsToItems } from '../shared/entity.component'; +import { ItemComponent, filterRelationsByTypeLabel, relationsToItems } from '../shared/item.component'; -@rendersEntityType('Publication', ElementViewMode.Full) -@rendersEntityType(DEFAULT_ENTITY_TYPE, ElementViewMode.Full) +@rendersItemType('Publication', ElementViewMode.Full) +@rendersItemType(DEFAULT_ITEM_TYPE, ElementViewMode.Full) @Component({ selector: 'ds-publication', styleUrls: ['./publication.component.scss'], templateUrl: './publication.component.html', changeDetection: ChangeDetectionStrategy.OnPush, }) -export class PublicationComponent extends EntityComponent implements OnInit { +export class PublicationComponent extends ItemComponent implements OnInit { /** * The authors related to this publication */ diff --git a/src/app/+item-page/simple/entity-types/shared/entity.component.spec.ts b/src/app/+item-page/simple/item-types/shared/item.component.spec.ts similarity index 94% rename from src/app/+item-page/simple/entity-types/shared/entity.component.spec.ts rename to src/app/+item-page/simple/item-types/shared/item.component.spec.ts index 9565da1e7d..30f39957db 100644 --- a/src/app/+item-page/simple/entity-types/shared/entity.component.spec.ts +++ b/src/app/+item-page/simple/item-types/shared/item.component.spec.ts @@ -7,27 +7,26 @@ import { ItemDataService } from '../../../../core/data/item-data.service'; import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; import { MockTranslateLoader } from '../../../../shared/mocks/mock-translate-loader'; import { ChangeDetectionStrategy, DebugElement, NO_ERRORS_SCHEMA } from '@angular/core'; -import { ITEM } from '../../../../shared/entities/switcher/entity-type-switcher.component'; +import { ITEM } from '../../../../shared/items/switcher/item-type-switcher.component'; import { TruncatePipe } from '../../../../shared/utils/truncate.pipe'; import { isNotEmpty } from '../../../../shared/empty.util'; import { SearchFixedFilterService } from '../../../../+search-page/search-filters/search-filter/search-fixed-filter.service'; -import { RelationshipType } from '../../../../core/shared/entities/relationship-type.model'; +import { RelationshipType } from '../../../../core/shared/item-relationships/relationship-type.model'; import { PaginatedList } from '../../../../core/data/paginated-list'; import { RemoteData } from '../../../../core/data/remote-data'; -import { Relationship } from '../../../../core/shared/entities/relationship.model'; -import { Observable } from 'rxjs'; +import { Relationship } from '../../../../core/shared/item-relationships/relationship.model'; import { PageInfo } from '../../../../core/shared/page-info.model'; -import { compareArraysUsing, compareArraysUsingIds } from './entity.component'; +import { compareArraysUsing, compareArraysUsingIds } from './item.component'; import { of as observableOf } from 'rxjs'; /** - * Create a generic test for an entity-page-fields component using a mockItem and the type of component + * Create a generic test for an item-page-fields component using a mockItem and the type of component * @param {Item} mockItem The item to use for testing. The item needs to contain just the metadata necessary to * execute the tests for it's component. * @param component The type of component to create test cases for. * @returns {() => void} Returns a specDefinition for the test. */ -export function getEntityPageFieldsTest(mockItem: Item, component) { +export function getItemPageFieldsTest(mockItem: Item, component) { return () => { let comp: any; let fixture: ComponentFixture; @@ -101,7 +100,7 @@ export function createRelationshipsObservable() { }) ]))); } -describe('EntityComponent', () => { +describe('ItemComponent', () => { const arr1 = [ { id: 1, diff --git a/src/app/+item-page/simple/entity-types/shared/entity.component.ts b/src/app/+item-page/simple/item-types/shared/item.component.ts similarity index 92% rename from src/app/+item-page/simple/entity-types/shared/entity.component.ts rename to src/app/+item-page/simple/item-types/shared/item.component.ts index 616c14269b..5527114ec3 100644 --- a/src/app/+item-page/simple/entity-types/shared/entity.component.ts +++ b/src/app/+item-page/simple/item-types/shared/item.component.ts @@ -4,12 +4,12 @@ import { distinctUntilChanged, filter, flatMap, map } from 'rxjs/operators'; import { ItemDataService } from '../../../../core/data/item-data.service'; import { PaginatedList } from '../../../../core/data/paginated-list'; import { RemoteData } from '../../../../core/data/remote-data'; -import { RelationshipType } from '../../../../core/shared/entities/relationship-type.model'; -import { Relationship } from '../../../../core/shared/entities/relationship.model'; +import { RelationshipType } from '../../../../core/shared/item-relationships/relationship-type.model'; +import { Relationship } from '../../../../core/shared/item-relationships/relationship.model'; import { Item } from '../../../../core/shared/item.model'; import { getRemoteDataPayload } from '../../../../core/shared/operators'; import { hasValue } from '../../../../shared/empty.util'; -import { ITEM } from '../../../../shared/entities/switcher/entity-type-switcher.component'; +import { ITEM } from '../../../../shared/items/switcher/item-type-switcher.component'; /** * Operator for comparing arrays using a mapping function @@ -83,13 +83,13 @@ export const relationsToItems = (thisId: string, ids: ItemDataService) => ); @Component({ - selector: 'ds-entity', + selector: 'ds-item', template: '' }) /** * A generic component for displaying metadata and relations of an item */ -export class EntityComponent implements OnInit { +export class ItemComponent implements OnInit { /** * Resolved relationships and types together in one observable */ diff --git a/src/app/+item-page/simple/related-entities/related-entities.component.html b/src/app/+item-page/simple/related-entities/related-entities.component.html deleted file mode 100644 index f09f0ccdef..0000000000 --- a/src/app/+item-page/simple/related-entities/related-entities.component.html +++ /dev/null @@ -1,5 +0,0 @@ - - - - diff --git a/src/app/+item-page/simple/related-entities/related-entities-component.ts b/src/app/+item-page/simple/related-items/related-items-component.ts similarity index 54% rename from src/app/+item-page/simple/related-entities/related-entities-component.ts rename to src/app/+item-page/simple/related-items/related-items-component.ts index 85532eacbe..6ad2f0eeb3 100644 --- a/src/app/+item-page/simple/related-entities/related-entities-component.ts +++ b/src/app/+item-page/simple/related-items/related-items-component.ts @@ -3,19 +3,19 @@ import { Item } from '../../../core/shared/item.model'; import * as viewMode from '../../../shared/view-mode'; @Component({ - selector: 'ds-related-entities', - styleUrls: ['./related-entities.component.scss'], - templateUrl: './related-entities.component.html' + selector: 'ds-related-items', + styleUrls: ['./related-items.component.scss'], + templateUrl: './related-items.component.html' }) /** - * This component is used for displaying relations between entities - * It expects a list of entities to display and a label to put on top + * This component is used for displaying relations between items + * It expects a list of items to display and a label to put on top */ -export class RelatedEntitiesComponent { +export class RelatedItemsComponent { /** - * A list of entities to display + * A list of items to display */ - @Input() entities: Item[]; + @Input() items: Item[]; /** * An i18n label to use as a title for the list (usually describes the relation) diff --git a/src/app/+item-page/simple/related-items/related-items.component.html b/src/app/+item-page/simple/related-items/related-items.component.html new file mode 100644 index 0000000000..bd8b7eb5f3 --- /dev/null +++ b/src/app/+item-page/simple/related-items/related-items.component.html @@ -0,0 +1,5 @@ + + + + diff --git a/src/app/+item-page/simple/related-entities/related-entities.component.scss b/src/app/+item-page/simple/related-items/related-items.component.scss similarity index 100% rename from src/app/+item-page/simple/related-entities/related-entities.component.scss rename to src/app/+item-page/simple/related-items/related-items.component.scss diff --git a/src/app/+item-page/simple/related-entities/related-entities.component.spec.ts b/src/app/+item-page/simple/related-items/related-items.component.spec.ts similarity index 62% rename from src/app/+item-page/simple/related-entities/related-entities.component.spec.ts rename to src/app/+item-page/simple/related-items/related-items.component.spec.ts index a8897c1e88..ef42ab1098 100644 --- a/src/app/+item-page/simple/related-entities/related-entities.component.spec.ts +++ b/src/app/+item-page/simple/related-items/related-items.component.spec.ts @@ -1,12 +1,12 @@ import { async, ComponentFixture, TestBed } from '@angular/core/testing'; import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; -import { RelatedEntitiesComponent } from './related-entities-component'; +import { RelatedItemsComponent } from './related-items-component'; import { Item } from '../../../core/shared/item.model'; import { RemoteData } from '../../../core/data/remote-data'; import { PaginatedList } from '../../../core/data/paginated-list'; import { PageInfo } from '../../../core/shared/page-info.model'; import { By } from '@angular/platform-browser'; -import { createRelationshipsObservable } from '../entity-types/shared/entity.component.spec'; +import { createRelationshipsObservable } from '../item-types/shared/item.component.spec'; import { of as observableOf } from 'rxjs'; const mockItem1: Item = Object.assign(new Item(), { @@ -19,33 +19,33 @@ const mockItem2: Item = Object.assign(new Item(), { metadata: [], relationships: createRelationshipsObservable() }); -const mockEntities = [mockItem1, mockItem2]; +const mockItems = [mockItem1, mockItem2]; -describe('RelatedEntitiesComponent', () => { - let comp: RelatedEntitiesComponent; - let fixture: ComponentFixture; +describe('RelatedItemsComponent', () => { + let comp: RelatedItemsComponent; + let fixture: ComponentFixture; beforeEach(async(() => { TestBed.configureTestingModule({ imports: [], - declarations: [RelatedEntitiesComponent], + declarations: [RelatedItemsComponent], providers: [], schemas: [NO_ERRORS_SCHEMA] - }).overrideComponent(RelatedEntitiesComponent, { + }).overrideComponent(RelatedItemsComponent, { set: {changeDetection: ChangeDetectionStrategy.Default} }).compileComponents(); })); beforeEach(async(() => { - fixture = TestBed.createComponent(RelatedEntitiesComponent); + fixture = TestBed.createComponent(RelatedItemsComponent); comp = fixture.componentInstance; - comp.entities = mockEntities; + comp.items = mockItems; fixture.detectChanges(); })); - it(`should load ${mockEntities.length} entity-type-switcher components`, () => { - const fields = fixture.debugElement.queryAll(By.css('ds-entity-type-switcher')); - expect(fields.length).toBe(mockEntities.length); + it(`should load ${mockItems.length} item-type-switcher components`, () => { + const fields = fixture.debugElement.queryAll(By.css('ds-item-type-switcher')); + expect(fields.length).toBe(mockItems.length); }); }); diff --git a/src/app/core/cache/models/entities/normalized-entity-type.model.ts b/src/app/core/cache/models/items/normalized-item-type.model.ts similarity index 53% rename from src/app/core/cache/models/entities/normalized-entity-type.model.ts rename to src/app/core/cache/models/items/normalized-item-type.model.ts index 729aa39d7b..80ec132c42 100644 --- a/src/app/core/cache/models/entities/normalized-entity-type.model.ts +++ b/src/app/core/cache/models/items/normalized-item-type.model.ts @@ -1,32 +1,32 @@ import { autoserialize, autoserializeAs, inheritSerialization } from 'cerialize'; -import { EntityType } from '../../../shared/entities/entity-type.model'; +import { ItemType } from '../../../shared/item-relationships/item-type.model'; import { ResourceType } from '../../../shared/resource-type'; import { mapsTo } from '../../builders/build-decorators'; import { NormalizedObject } from '../normalized-object.model'; import { IDToUUIDSerializer } from '../../id-to-uuid-serializer'; /** - * Normalized model class for a DSpace EntityType + * Normalized model class for a DSpace ItemType */ -@mapsTo(EntityType) +@mapsTo(ItemType) @inheritSerialization(NormalizedObject) -export class NormalizedEntityType extends NormalizedObject { +export class NormalizedItemType extends NormalizedObject { /** - * The label that describes the ResourceType of the Entity + * The label that describes the ResourceType of the Item */ @autoserialize label: string; /** - * The identifier of this EntityType + * The identifier of this ItemType */ @autoserialize id: string; /** - * The universally unique identifier of this EntityType + * The universally unique identifier of this ItemType */ - @autoserializeAs(new IDToUUIDSerializer(ResourceType.EntityType), 'id') + @autoserializeAs(new IDToUUIDSerializer(ResourceType.ItemType), 'id') uuid: string; } diff --git a/src/app/core/cache/models/entities/normalized-relationship-type.model.ts b/src/app/core/cache/models/items/normalized-relationship-type.model.ts similarity index 85% rename from src/app/core/cache/models/entities/normalized-relationship-type.model.ts rename to src/app/core/cache/models/items/normalized-relationship-type.model.ts index ea71e217b9..271bd9cb6f 100644 --- a/src/app/core/cache/models/entities/normalized-relationship-type.model.ts +++ b/src/app/core/cache/models/items/normalized-relationship-type.model.ts @@ -1,5 +1,5 @@ import { autoserialize, autoserializeAs, inheritSerialization } from 'cerialize'; -import { RelationshipType } from '../../../shared/entities/relationship-type.model'; +import { RelationshipType } from '../../../shared/item-relationships/relationship-type.model'; import { ResourceType } from '../../../shared/resource-type'; import { mapsTo, relationship } from '../../builders/build-decorators'; import { NormalizedDSpaceObject } from '../normalized-dspace-object.model'; @@ -56,17 +56,17 @@ export class NormalizedRelationshipType extends NormalizedObject { rightMinCardinality: number; /** - * The type of Entity found to the left of this RelationshipType + * The type of Item found to the left of this RelationshipType */ @autoserialize - @relationship(ResourceType.EntityType, false) + @relationship(ResourceType.ItemType, false) leftType: string; /** - * The type of Entity found to the right of this RelationshipType + * The type of Item found to the right of this RelationshipType */ @autoserialize - @relationship(ResourceType.EntityType, false) + @relationship(ResourceType.ItemType, false) rightType: string; /** diff --git a/src/app/core/cache/models/entities/normalized-relationship.model.ts b/src/app/core/cache/models/items/normalized-relationship.model.ts similarity index 75% rename from src/app/core/cache/models/entities/normalized-relationship.model.ts rename to src/app/core/cache/models/items/normalized-relationship.model.ts index 598687bbde..5d0ca2a9ad 100644 --- a/src/app/core/cache/models/entities/normalized-relationship.model.ts +++ b/src/app/core/cache/models/items/normalized-relationship.model.ts @@ -1,5 +1,5 @@ import { autoserialize, autoserializeAs, inheritSerialization } from 'cerialize'; -import { Relationship } from '../../../shared/entities/relationship.model'; +import { Relationship } from '../../../shared/item-relationships/relationship.model'; import { ResourceType } from '../../../shared/resource-type'; import { mapsTo, relationship } from '../../builders/build-decorators'; import { NormalizedObject } from '../normalized-object.model'; @@ -19,25 +19,25 @@ export class NormalizedRelationship extends NormalizedObject { id: string; /** - * The identifier of the Entity to the left side of this Relationship + * The identifier of the Item to the left side of this Relationship */ @autoserialize leftId: string; /** - * The identifier of the Entity to the right side of this Relationship + * The identifier of the Item to the right side of this Relationship */ @autoserialize rightId: string; /** - * The place of the Entity to the left side of this Relationship + * The place of the Item to the left side of this Relationship */ @autoserialize leftPlace: number; /** - * The place of the Entity to the right side of this Relationship + * The place of the Item to the right side of this Relationship */ @autoserialize rightPlace: number; diff --git a/src/app/core/cache/models/normalized-object-factory.ts b/src/app/core/cache/models/normalized-object-factory.ts index 2f8cab737f..e3b2f8dcd2 100644 --- a/src/app/core/cache/models/normalized-object-factory.ts +++ b/src/app/core/cache/models/normalized-object-factory.ts @@ -1,6 +1,6 @@ -import { NormalizedEntityType } from './entities/normalized-entity-type.model'; -import { NormalizedRelationshipType } from './entities/normalized-relationship-type.model'; -import { NormalizedRelationship } from './entities/normalized-relationship.model'; +import { NormalizedItemType } from './items/normalized-item-type.model'; +import { NormalizedRelationshipType } from './items/normalized-relationship-type.model'; +import { NormalizedRelationship } from './items/normalized-relationship.model'; import { NormalizedBitstream } from './normalized-bitstream.model'; import { NormalizedBundle } from './normalized-bundle.model'; import { NormalizedItem } from './normalized-item.model'; @@ -44,8 +44,8 @@ export class NormalizedObjectFactory { case ResourceType.RelationshipType: { return NormalizedRelationshipType } - case ResourceType.EntityType: { - return NormalizedEntityType + case ResourceType.ItemType: { + return NormalizedItemType } case ResourceType.EPerson: { return NormalizedEPerson diff --git a/src/app/core/shared/entities/entity-type.model.ts b/src/app/core/shared/item-relationships/item-type.model.ts similarity index 65% rename from src/app/core/shared/entities/entity-type.model.ts rename to src/app/core/shared/item-relationships/item-type.model.ts index 4532e05b19..e4f98ab653 100644 --- a/src/app/core/shared/entities/entity-type.model.ts +++ b/src/app/core/shared/item-relationships/item-type.model.ts @@ -2,11 +2,11 @@ import { CacheableObject } from '../../cache/object-cache.reducer'; import { ResourceType } from '../resource-type'; /** - * Describes a type of Entity + * Describes a type of Item */ -export class EntityType implements CacheableObject { +export class ItemType implements CacheableObject { /** - * The identifier of this EntityType + * The identifier of this ItemType */ id: string; @@ -21,7 +21,7 @@ export class EntityType implements CacheableObject { type: ResourceType; /** - * The universally unique identifier of this EntityType + * The universally unique identifier of this ItemType */ uuid: string; } diff --git a/src/app/core/shared/entities/relationship-type.model.ts b/src/app/core/shared/item-relationships/relationship-type.model.ts similarity index 80% rename from src/app/core/shared/entities/relationship-type.model.ts rename to src/app/core/shared/item-relationships/relationship-type.model.ts index 05dd0cd754..404d8cdb4b 100644 --- a/src/app/core/shared/entities/relationship-type.model.ts +++ b/src/app/core/shared/item-relationships/relationship-type.model.ts @@ -2,10 +2,10 @@ import { Observable } from 'rxjs'; import { CacheableObject } from '../../cache/object-cache.reducer'; import { RemoteData } from '../../data/remote-data'; import { ResourceType } from '../resource-type'; -import { EntityType } from './entity-type.model'; +import { ItemType } from './item-type.model'; /** - * Describes a type of Relationship between multiple possible Entities + * Describes a type of Relationship between multiple possible Items */ export class RelationshipType implements CacheableObject { /** @@ -64,12 +64,12 @@ export class RelationshipType implements CacheableObject { rightMinCardinality: number; /** - * The type of Entity found to the left of this RelationshipType + * The type of Item found to the left of this RelationshipType */ - leftType: Observable>; + leftType: Observable>; /** - * The type of Entity found to the right of this RelationshipType + * The type of Item found to the right of this RelationshipType */ - rightType: Observable>; + rightType: Observable>; } diff --git a/src/app/core/shared/entities/relationship.model.ts b/src/app/core/shared/item-relationships/relationship.model.ts similarity index 73% rename from src/app/core/shared/entities/relationship.model.ts rename to src/app/core/shared/item-relationships/relationship.model.ts index ef76b0a32a..df8f04cd8a 100644 --- a/src/app/core/shared/entities/relationship.model.ts +++ b/src/app/core/shared/item-relationships/relationship.model.ts @@ -5,7 +5,7 @@ import { ResourceType } from '../resource-type'; import { RelationshipType } from './relationship-type.model'; /** - * Describes a Relationship between two Entities + * Describes a Relationship between two Items */ export class Relationship implements CacheableObject { /** @@ -29,22 +29,22 @@ export class Relationship implements CacheableObject { id: string; /** - * The identifier of the Entity to the left side of this Relationship + * The identifier of the Item to the left side of this Relationship */ leftId: string; /** - * The identifier of the Entity to the right side of this Relationship + * The identifier of the Item to the right side of this Relationship */ rightId: string; /** - * The place of the Entity to the left side of this Relationship + * The place of the Item to the left side of this Relationship */ leftPlace: number; /** - * The place of the Entity to the right side of this Relationship + * The place of the Item to the right side of this Relationship */ rightPlace: number; diff --git a/src/app/core/shared/item.model.ts b/src/app/core/shared/item.model.ts index e8646777cf..7dadfafdd9 100644 --- a/src/app/core/shared/item.model.ts +++ b/src/app/core/shared/item.model.ts @@ -7,7 +7,7 @@ import { RemoteData } from '../data/remote-data'; import { Bitstream } from './bitstream.model'; import { hasValue, isNotEmpty } from '../../shared/empty.util'; import { PaginatedList } from '../data/paginated-list'; -import { Relationship } from './entities/relationship.model'; +import { Relationship } from './item-relationships/relationship.model'; export class Item extends DSpaceObject { diff --git a/src/app/core/shared/resource-type.ts b/src/app/core/shared/resource-type.ts index 4251f68e35..c61989dcc3 100644 --- a/src/app/core/shared/resource-type.ts +++ b/src/app/core/shared/resource-type.ts @@ -11,5 +11,5 @@ export enum ResourceType { ResourcePolicy = 'resourcePolicy', Relationship = 'relationship', RelationshipType = 'relationshiptype', - EntityType = 'entitytype', + ItemType = 'entitytype', } diff --git a/src/app/shared/entities/entity-type-decorator.ts b/src/app/shared/items/item-type-decorator.ts similarity index 62% rename from src/app/shared/entities/entity-type-decorator.ts rename to src/app/shared/items/item-type-decorator.ts index 9af226ea3d..509a1c754a 100644 --- a/src/app/shared/entities/entity-type-decorator.ts +++ b/src/app/shared/items/item-type-decorator.ts @@ -1,16 +1,16 @@ import { hasNoValue, hasValue } from '../empty.util'; import { ElementViewMode } from '../view-mode'; -export const DEFAULT_ENTITY_TYPE = 'Default'; +export const DEFAULT_ITEM_TYPE = 'Default'; const map = new Map(); /** - * Decorator used for rendering simple item pages for an Entity by type and viewMode + * Decorator used for rendering simple item pages by type and viewMode * @param type * @param viewMode */ -export function rendersEntityType(type: string, viewMode: ElementViewMode) { +export function rendersItemType(type: string, viewMode: ElementViewMode) { return function decorator(component: any) { if (hasNoValue(map.get(viewMode))) { map.set(viewMode, new Map()); @@ -23,14 +23,14 @@ export function rendersEntityType(type: string, viewMode: ElementViewMode) { } /** - * Get the component used for rendering an entity by type and viewMode + * Get the component used for rendering an item by type and viewMode * @param type * @param viewMode */ -export function getComponentByEntityType(type: string, viewMode: ElementViewMode) { +export function getComponentByItemType(type: string, viewMode: ElementViewMode) { let component = map.get(viewMode).get(type); if (hasNoValue(component)) { - component = map.get(viewMode).get(DEFAULT_ENTITY_TYPE); + component = map.get(viewMode).get(DEFAULT_ITEM_TYPE); } return component; } diff --git a/src/app/shared/entities/switcher/entity-type-switcher.component.html b/src/app/shared/items/switcher/item-type-switcher.component.html similarity index 100% rename from src/app/shared/entities/switcher/entity-type-switcher.component.html rename to src/app/shared/items/switcher/item-type-switcher.component.html diff --git a/src/app/shared/entities/switcher/entity-type-switcher.component.scss b/src/app/shared/items/switcher/item-type-switcher.component.scss similarity index 100% rename from src/app/shared/entities/switcher/entity-type-switcher.component.scss rename to src/app/shared/items/switcher/item-type-switcher.component.scss diff --git a/src/app/shared/entities/switcher/entity-type-switcher.component.spec.ts b/src/app/shared/items/switcher/item-type-switcher.component.spec.ts similarity index 63% rename from src/app/shared/entities/switcher/entity-type-switcher.component.spec.ts rename to src/app/shared/items/switcher/item-type-switcher.component.spec.ts index 053b03512a..67f5309793 100644 --- a/src/app/shared/entities/switcher/entity-type-switcher.component.spec.ts +++ b/src/app/shared/items/switcher/item-type-switcher.component.spec.ts @@ -1,4 +1,4 @@ -import { EntityTypeSwitcherComponent } from './entity-type-switcher.component'; +import { ItemTypeSwitcherComponent } from './item-type-switcher.component'; import { async, ComponentFixture, TestBed } from '@angular/core/testing'; import { NO_ERRORS_SCHEMA } from '@angular/core'; import { of as observableOf } from 'rxjs'; @@ -6,8 +6,8 @@ import { PageInfo } from '../../../core/shared/page-info.model'; import { Item } from '../../../core/shared/item.model'; import { PaginatedList } from '../../../core/data/paginated-list'; import { RemoteData } from '../../../core/data/remote-data'; -import * as decorator from '../entity-type-decorator'; -import { getComponentByEntityType } from '../entity-type-decorator'; +import * as decorator from '../item-type-decorator'; +import { getComponentByItemType } from '../item-type-decorator'; import { ElementViewMode } from '../../view-mode'; import createSpy = jasmine.createSpy; @@ -28,23 +28,23 @@ const mockItem: Item = Object.assign(new Item(), { }); const viewMode = ElementViewMode.Full; -describe('EntityTypeSwitcherComponent', () => { - let comp: EntityTypeSwitcherComponent; - let fixture: ComponentFixture; +describe('ItemTypeSwitcherComponent', () => { + let comp: ItemTypeSwitcherComponent; + let fixture: ComponentFixture; beforeEach(async(() => { TestBed.configureTestingModule({ - declarations: [ EntityTypeSwitcherComponent ], + declarations: [ ItemTypeSwitcherComponent ], schemas: [ NO_ERRORS_SCHEMA ] }).compileComponents(); // compile template and css })); beforeEach(async(() => { - fixture = TestBed.createComponent(EntityTypeSwitcherComponent); + fixture = TestBed.createComponent(ItemTypeSwitcherComponent); comp = fixture.componentInstance; comp.object = mockItem; comp.viewMode = viewMode; - spyOnProperty(decorator, 'getComponentByEntityType').and.returnValue(createSpy('getComponentByEntityType')) + spyOnProperty(decorator, 'getComponentByItemType').and.returnValue(createSpy('getComponentByItemType')) })); describe('when calling getComponent', () => { @@ -52,8 +52,8 @@ describe('EntityTypeSwitcherComponent', () => { comp.getComponent(); }); - it('should call getComponentByEntityType with parameters type and viewMode', () => { - expect(decorator.getComponentByEntityType).toHaveBeenCalledWith(relationType, viewMode); + it('should call getComponentByItemType with parameters type and viewMode', () => { + expect(decorator.getComponentByItemType).toHaveBeenCalledWith(relationType, viewMode); }); }); diff --git a/src/app/shared/entities/switcher/entity-type-switcher.component.ts b/src/app/shared/items/switcher/item-type-switcher.component.ts similarity index 82% rename from src/app/shared/entities/switcher/entity-type-switcher.component.ts rename to src/app/shared/items/switcher/item-type-switcher.component.ts index 4b910ebebc..5599326e98 100644 --- a/src/app/shared/entities/switcher/entity-type-switcher.component.ts +++ b/src/app/shared/items/switcher/item-type-switcher.component.ts @@ -3,20 +3,20 @@ import { SearchResult } from '../../../+search-page/search-result.model'; import { Item } from '../../../core/shared/item.model'; import { hasValue } from '../../empty.util'; import { ItemSearchResult } from '../../object-collection/shared/item-search-result.model'; -import { getComponentByEntityType } from '../entity-type-decorator'; +import { getComponentByItemType } from '../item-type-decorator'; import { ElementViewMode } from '../../view-mode'; export const ITEM: InjectionToken = new InjectionToken('item'); @Component({ - selector: 'ds-entity-type-switcher', - styleUrls: ['./entity-type-switcher.component.scss'], - templateUrl: './entity-type-switcher.component.html' + selector: 'ds-item-type-switcher', + styleUrls: ['./item-type-switcher.component.scss'], + templateUrl: './item-type-switcher.component.html' }) /** * Component for determining what component to use depending on the item's relationship type (relationship.type) */ -export class EntityTypeSwitcherComponent implements OnInit { +export class ItemTypeSwitcherComponent implements OnInit { /** * The item to determine the component for */ @@ -57,6 +57,6 @@ export class EntityTypeSwitcherComponent implements OnInit { } const type = item.findMetadata('relationship.type'); - return getComponentByEntityType(type, this.viewMode); + return getComponentByItemType(type, this.viewMode); } } diff --git a/src/app/shared/object-list/item-list-element/entity-list-element.component.html b/src/app/shared/object-list/item-list-element/entity-list-element.component.html deleted file mode 100644 index 777f131a23..0000000000 --- a/src/app/shared/object-list/item-list-element/entity-list-element.component.html +++ /dev/null @@ -1 +0,0 @@ - diff --git a/src/app/shared/object-list/item-list-element/entity-types/journal-issue/journal-issue-list-element.component.ts b/src/app/shared/object-list/item-list-element/entity-types/journal-issue/journal-issue-list-element.component.ts deleted file mode 100644 index 7f8278fcd3..0000000000 --- a/src/app/shared/object-list/item-list-element/entity-types/journal-issue/journal-issue-list-element.component.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { Component } from '@angular/core'; -import { rendersEntityType } from '../../../../entities/entity-type-decorator'; -import { ElementViewMode } from '../../../../view-mode'; -import { EntitySearchResultComponent } from '../entity-search-result-component'; - -@rendersEntityType('JournalIssue', ElementViewMode.SetElement) -@Component({ - selector: 'ds-journal-issue-list-element', - styleUrls: ['./journal-issue-list-element.component.scss'], - templateUrl: './journal-issue-list-element.component.html' -}) -/** - * The component for displaying a list element for an item with entity type Journal Issue - */ -export class JournalIssueListElementComponent extends EntitySearchResultComponent { -} diff --git a/src/app/shared/object-list/item-list-element/entity-types/journal-volume/journal-volume-list-element.component.ts b/src/app/shared/object-list/item-list-element/entity-types/journal-volume/journal-volume-list-element.component.ts deleted file mode 100644 index e68b7e462d..0000000000 --- a/src/app/shared/object-list/item-list-element/entity-types/journal-volume/journal-volume-list-element.component.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { Component } from '@angular/core'; -import { rendersEntityType } from '../../../../entities/entity-type-decorator'; -import { ElementViewMode } from '../../../../view-mode'; -import { EntitySearchResultComponent } from '../entity-search-result-component'; - -@rendersEntityType('JournalVolume', ElementViewMode.SetElement) -@Component({ - selector: 'ds-journal-volume-list-element', - styleUrls: ['./journal-volume-list-element.component.scss'], - templateUrl: './journal-volume-list-element.component.html' -}) -/** - * The component for displaying a list element for an item with entity type Journal Volume - */ -export class JournalVolumeListElementComponent extends EntitySearchResultComponent { -} diff --git a/src/app/shared/object-list/item-list-element/entity-types/journal/journal-list-element.component.ts b/src/app/shared/object-list/item-list-element/entity-types/journal/journal-list-element.component.ts deleted file mode 100644 index 23d030c77f..0000000000 --- a/src/app/shared/object-list/item-list-element/entity-types/journal/journal-list-element.component.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { Component } from '@angular/core'; -import { rendersEntityType } from '../../../../entities/entity-type-decorator'; -import { ElementViewMode } from '../../../../view-mode'; -import { EntitySearchResultComponent } from '../entity-search-result-component'; - -@rendersEntityType('Journal', ElementViewMode.SetElement) -@Component({ - selector: 'ds-journal-list-element', - styleUrls: ['./journal-list-element.component.scss'], - templateUrl: './journal-list-element.component.html' -}) -/** - * The component for displaying a list element for an item with entity type Journal - */ -export class JournalListElementComponent extends EntitySearchResultComponent { -} diff --git a/src/app/shared/object-list/item-list-element/entity-types/orgunit/orgunit-list-element.component.ts b/src/app/shared/object-list/item-list-element/entity-types/orgunit/orgunit-list-element.component.ts deleted file mode 100644 index 72bd143971..0000000000 --- a/src/app/shared/object-list/item-list-element/entity-types/orgunit/orgunit-list-element.component.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { Component } from '@angular/core'; -import { rendersEntityType } from '../../../../entities/entity-type-decorator'; -import { ElementViewMode } from '../../../../view-mode'; -import { EntitySearchResultComponent } from '../entity-search-result-component'; - -@rendersEntityType('OrgUnit', ElementViewMode.SetElement) -@Component({ - selector: 'ds-orgunit-list-element', - styleUrls: ['./orgunit-list-element.component.scss'], - templateUrl: './orgunit-list-element.component.html' -}) -/** - * The component for displaying a list element for an item with entity type Organisation Unit - */ -export class OrgUnitListElementComponent extends EntitySearchResultComponent { -} diff --git a/src/app/shared/object-list/item-list-element/entity-types/person/person-list-element.component.ts b/src/app/shared/object-list/item-list-element/entity-types/person/person-list-element.component.ts deleted file mode 100644 index 32e378c8c7..0000000000 --- a/src/app/shared/object-list/item-list-element/entity-types/person/person-list-element.component.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { Component } from '@angular/core'; -import { rendersEntityType } from '../../../../entities/entity-type-decorator'; -import { ElementViewMode } from '../../../../view-mode'; -import { EntitySearchResultComponent } from '../entity-search-result-component'; - -@rendersEntityType('Person', ElementViewMode.SetElement) -@Component({ - selector: 'ds-person-list-element', - styleUrls: ['./person-list-element.component.scss'], - templateUrl: './person-list-element.component.html' -}) -/** - * The component for displaying a list element for an item with entity type Person - */ -export class PersonListElementComponent extends EntitySearchResultComponent { -} diff --git a/src/app/shared/object-list/item-list-element/entity-types/project/project-list-element.component.ts b/src/app/shared/object-list/item-list-element/entity-types/project/project-list-element.component.ts deleted file mode 100644 index ffffd70a33..0000000000 --- a/src/app/shared/object-list/item-list-element/entity-types/project/project-list-element.component.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { Component } from '@angular/core'; -import { rendersEntityType } from '../../../../entities/entity-type-decorator'; -import { ElementViewMode } from '../../../../view-mode'; -import { EntitySearchResultComponent } from '../entity-search-result-component'; - -@rendersEntityType('Project', ElementViewMode.SetElement) -@Component({ - selector: 'ds-project-list-element', - styleUrls: ['./project-list-element.component.scss'], - templateUrl: './project-list-element.component.html' -}) -/** - * The component for displaying a list element for an item with entity type Project - */ -export class ProjectListElementComponent extends EntitySearchResultComponent { -} diff --git a/src/app/shared/object-list/item-list-element/entity-types/publication/publication-list-element.component.ts b/src/app/shared/object-list/item-list-element/entity-types/publication/publication-list-element.component.ts deleted file mode 100644 index 5e98a5657e..0000000000 --- a/src/app/shared/object-list/item-list-element/entity-types/publication/publication-list-element.component.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { Component } from '@angular/core'; -import { DEFAULT_ENTITY_TYPE, rendersEntityType } from '../../../../entities/entity-type-decorator'; -import { ElementViewMode } from '../../../../view-mode'; -import { EntitySearchResultComponent } from '../entity-search-result-component'; - -@rendersEntityType('Publication', ElementViewMode.SetElement) -@rendersEntityType(DEFAULT_ENTITY_TYPE, ElementViewMode.SetElement) -@Component({ - selector: 'ds-publication-list-element', - styleUrls: ['./publication-list-element.component.scss'], - templateUrl: './publication-list-element.component.html' -}) -/** - * The component for displaying a list element for an item with entity type Publication - */ -export class PublicationListElementComponent extends EntitySearchResultComponent { -} diff --git a/src/app/shared/object-list/item-list-element/item-list-element.component.html b/src/app/shared/object-list/item-list-element/item-list-element.component.html new file mode 100644 index 0000000000..8cdf8cac6a --- /dev/null +++ b/src/app/shared/object-list/item-list-element/item-list-element.component.html @@ -0,0 +1 @@ + diff --git a/src/app/shared/object-list/item-list-element/entity-list-element.component.scss b/src/app/shared/object-list/item-list-element/item-list-element.component.scss similarity index 100% rename from src/app/shared/object-list/item-list-element/entity-list-element.component.scss rename to src/app/shared/object-list/item-list-element/item-list-element.component.scss diff --git a/src/app/shared/object-list/item-list-element/entity-list-element.component.spec.ts b/src/app/shared/object-list/item-list-element/item-list-element.component.spec.ts similarity index 62% rename from src/app/shared/object-list/item-list-element/entity-list-element.component.spec.ts rename to src/app/shared/object-list/item-list-element/item-list-element.component.spec.ts index b32db3df06..11fdae7e6d 100644 --- a/src/app/shared/object-list/item-list-element/entity-list-element.component.spec.ts +++ b/src/app/shared/object-list/item-list-element/item-list-element.component.spec.ts @@ -1,13 +1,12 @@ import { async, ComponentFixture, TestBed } from '@angular/core/testing'; import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; -import { EntityListElementComponent } from './entity-list-element.component'; +import { ItemListElementComponent } from './item-list-element.component'; import { Item } from '../../../core/shared/item.model'; -import { Observable } from 'rxjs'; import { RemoteData } from '../../../core/data/remote-data'; import { PaginatedList } from '../../../core/data/paginated-list'; import { PageInfo } from '../../../core/shared/page-info.model'; import { By } from '@angular/platform-browser'; -import { createRelationshipsObservable } from '../../../+item-page/simple/entity-types/shared/entity.component.spec'; +import { createRelationshipsObservable } from '../../../+item-page/simple/item-types/shared/item.component.spec'; import { of as observableOf } from 'rxjs'; const mockItem: Item = Object.assign(new Item(), { @@ -16,32 +15,32 @@ const mockItem: Item = Object.assign(new Item(), { relationships: createRelationshipsObservable() }); -describe('EntityListElementComponent', () => { - let comp: EntityListElementComponent; - let fixture: ComponentFixture; +describe('ItemListElementComponent', () => { + let comp: ItemListElementComponent; + let fixture: ComponentFixture; beforeEach(async(() => { TestBed.configureTestingModule({ imports: [], - declarations: [EntityListElementComponent], + declarations: [ItemListElementComponent], providers: [ { provide: 'objectElementProvider', useValue: mockItem } ], schemas: [NO_ERRORS_SCHEMA] - }).overrideComponent(EntityListElementComponent, { + }).overrideComponent(ItemListElementComponent, { set: {changeDetection: ChangeDetectionStrategy.Default} }).compileComponents(); })); beforeEach(async(() => { - fixture = TestBed.createComponent(EntityListElementComponent); + fixture = TestBed.createComponent(ItemListElementComponent); comp = fixture.componentInstance; fixture.detectChanges(); })); - it('should call an entity-type-switcher component and pass the item', () => { - const entityTypeSwitcher = fixture.debugElement.query(By.css('ds-entity-type-switcher')).componentInstance; - expect(entityTypeSwitcher.object).toBe(mockItem); + it('should call an item-type-switcher component and pass the item', () => { + const itemTypeSwitcher = fixture.debugElement.query(By.css('ds-item-type-switcher')).componentInstance; + expect(itemTypeSwitcher.object).toBe(mockItem); }); }); diff --git a/src/app/shared/object-list/item-list-element/entity-list-element.component.ts b/src/app/shared/object-list/item-list-element/item-list-element.component.ts similarity index 59% rename from src/app/shared/object-list/item-list-element/entity-list-element.component.ts rename to src/app/shared/object-list/item-list-element/item-list-element.component.ts index e71a868579..a9677c9777 100644 --- a/src/app/shared/object-list/item-list-element/entity-list-element.component.ts +++ b/src/app/shared/object-list/item-list-element/item-list-element.component.ts @@ -7,16 +7,16 @@ import { AbstractListableElementComponent } from '../../object-collection/shared import { SetViewMode } from '../../view-mode'; @Component({ - selector: 'ds-entity-list-element', - styleUrls: ['./entity-list-element.component.scss'], - templateUrl: './entity-list-element.component.html' + selector: 'ds-item-list-element', + styleUrls: ['./item-list-element.component.scss'], + templateUrl: './item-list-element.component.html' }) /** - * The component used to list entities depending on type - * Uses entity-type-switcher to determine which components to use for displaying the list + * The component used to list items depending on type + * Uses item-type-switcher to determine which components to use for displaying the list */ @renderElementsFor(Item, SetViewMode.List) -export class EntityListElementComponent extends AbstractListableElementComponent { +export class ItemListElementComponent extends AbstractListableElementComponent { ElementViewMode = viewMode.ElementViewMode; } diff --git a/src/app/shared/object-list/item-list-element/entity-types/entity-search-result-component.ts b/src/app/shared/object-list/item-list-element/item-types/item-search-result-component.ts similarity index 77% rename from src/app/shared/object-list/item-list-element/entity-types/entity-search-result-component.ts rename to src/app/shared/object-list/item-list-element/item-types/item-search-result-component.ts index ed53c45395..17e7b7f173 100644 --- a/src/app/shared/object-list/item-list-element/entity-types/entity-search-result-component.ts +++ b/src/app/shared/object-list/item-list-element/item-types/item-search-result-component.ts @@ -1,19 +1,19 @@ import { Component, Inject } from '@angular/core'; import { Item } from '../../../../core/shared/item.model'; import { hasValue } from '../../../empty.util'; -import { ITEM } from '../../../entities/switcher/entity-type-switcher.component'; +import { ITEM } from '../../../items/switcher/item-type-switcher.component'; import { ItemSearchResult } from '../../../object-collection/shared/item-search-result.model'; import { TruncatableService } from '../../../truncatable/truncatable.service'; import { SearchResultListElementComponent } from '../../search-result-list-element/search-result-list-element.component'; /** - * A generic component for displaying entity list elements + * A generic component for displaying item list elements */ @Component({ - selector: 'ds-entity-search-result', + selector: 'ds-item-search-result', template: '' }) -export class EntitySearchResultComponent extends SearchResultListElementComponent { +export class ItemSearchResultComponent extends SearchResultListElementComponent { item: Item; constructor( diff --git a/src/app/shared/object-list/item-list-element/entity-types/entity-search-result.component.spec.ts b/src/app/shared/object-list/item-list-element/item-types/item-search-result.component.spec.ts similarity index 75% rename from src/app/shared/object-list/item-list-element/entity-types/entity-search-result.component.spec.ts rename to src/app/shared/object-list/item-list-element/item-types/item-search-result.component.spec.ts index e9a871985b..be163f7a6c 100644 --- a/src/app/shared/object-list/item-list-element/entity-types/entity-search-result.component.spec.ts +++ b/src/app/shared/object-list/item-list-element/item-types/item-search-result.component.spec.ts @@ -2,15 +2,14 @@ import { async, ComponentFixture, TestBed } from '@angular/core/testing'; import { TruncatePipe } from '../../../utils/truncate.pipe'; import { TruncatableService } from '../../../truncatable/truncatable.service'; import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; -import { EntitySearchResultComponent } from './entity-search-result-component'; +import { ItemSearchResultComponent } from './item-search-result-component'; import { Item } from '../../../../core/shared/item.model'; -import { Observable } from 'rxjs'; import { RemoteData } from '../../../../core/data/remote-data'; import { PaginatedList } from '../../../../core/data/paginated-list'; import { PageInfo } from '../../../../core/shared/page-info.model'; -import { ITEM } from '../../../entities/switcher/entity-type-switcher.component'; +import { ITEM } from '../../../items/switcher/item-type-switcher.component'; import { ItemSearchResult } from '../../../object-collection/shared/item-search-result.model'; -import { createRelationshipsObservable } from '../../../../+item-page/simple/entity-types/shared/entity.component.spec'; +import { createRelationshipsObservable } from '../../../../+item-page/simple/item-types/shared/item.component.spec'; import { of as observableOf } from 'rxjs'; const mockItem: Item = Object.assign(new Item(), { @@ -23,27 +22,27 @@ const mockSearchResult = { hitHighlights: [] } as ItemSearchResult; -describe('EntitySearchResultComponent', () => { - let comp: EntitySearchResultComponent; - let fixture: ComponentFixture; +describe('ItemSearchResultComponent', () => { + let comp: ItemSearchResultComponent; + let fixture: ComponentFixture; describe('when injecting an Item', () => { beforeEach(async(() => { TestBed.configureTestingModule({ - declarations: [EntitySearchResultComponent, TruncatePipe], + declarations: [ItemSearchResultComponent, TruncatePipe], providers: [ {provide: TruncatableService, useValue: {}}, {provide: ITEM, useValue: mockItem} ], schemas: [NO_ERRORS_SCHEMA] - }).overrideComponent(EntitySearchResultComponent, { + }).overrideComponent(ItemSearchResultComponent, { set: {changeDetection: ChangeDetectionStrategy.Default} }).compileComponents(); })); beforeEach(async(() => { - fixture = TestBed.createComponent(EntitySearchResultComponent); + fixture = TestBed.createComponent(ItemSearchResultComponent); comp = fixture.componentInstance; })); @@ -57,20 +56,20 @@ describe('EntitySearchResultComponent', () => { describe('when injecting an ItemSearchResult', () => { beforeEach(async(() => { TestBed.configureTestingModule({ - declarations: [EntitySearchResultComponent, TruncatePipe], + declarations: [ItemSearchResultComponent, TruncatePipe], providers: [ {provide: TruncatableService, useValue: {}}, {provide: ITEM, useValue: mockSearchResult} ], schemas: [NO_ERRORS_SCHEMA] - }).overrideComponent(EntitySearchResultComponent, { + }).overrideComponent(ItemSearchResultComponent, { set: {changeDetection: ChangeDetectionStrategy.Default} }).compileComponents(); })); beforeEach(async(() => { - fixture = TestBed.createComponent(EntitySearchResultComponent); + fixture = TestBed.createComponent(ItemSearchResultComponent); comp = fixture.componentInstance; })); diff --git a/src/app/shared/object-list/item-list-element/entity-types/journal-issue/journal-issue-list-element.component.html b/src/app/shared/object-list/item-list-element/item-types/journal-issue/journal-issue-list-element.component.html similarity index 100% rename from src/app/shared/object-list/item-list-element/entity-types/journal-issue/journal-issue-list-element.component.html rename to src/app/shared/object-list/item-list-element/item-types/journal-issue/journal-issue-list-element.component.html diff --git a/src/app/shared/object-list/item-list-element/entity-types/journal-issue/journal-issue-list-element.component.scss b/src/app/shared/object-list/item-list-element/item-types/journal-issue/journal-issue-list-element.component.scss similarity index 100% rename from src/app/shared/object-list/item-list-element/entity-types/journal-issue/journal-issue-list-element.component.scss rename to src/app/shared/object-list/item-list-element/item-types/journal-issue/journal-issue-list-element.component.scss diff --git a/src/app/shared/object-list/item-list-element/entity-types/journal-issue/journal-issue-list-element.component.spec.ts b/src/app/shared/object-list/item-list-element/item-types/journal-issue/journal-issue-list-element.component.spec.ts similarity index 96% rename from src/app/shared/object-list/item-list-element/entity-types/journal-issue/journal-issue-list-element.component.spec.ts rename to src/app/shared/object-list/item-list-element/item-types/journal-issue/journal-issue-list-element.component.spec.ts index 07be07d051..4f829a6818 100644 --- a/src/app/shared/object-list/item-list-element/entity-types/journal-issue/journal-issue-list-element.component.spec.ts +++ b/src/app/shared/object-list/item-list-element/item-types/journal-issue/journal-issue-list-element.component.spec.ts @@ -1,11 +1,10 @@ import { async, ComponentFixture, TestBed } from '@angular/core/testing'; import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; import { By } from '@angular/platform-browser'; -import { Observable } from 'rxjs'; import { Item } from '../../../../../core/shared/item.model'; import { TruncatePipe } from '../../../../utils/truncate.pipe'; import { TruncatableService } from '../../../../truncatable/truncatable.service'; -import { ITEM } from '../../../../entities/switcher/entity-type-switcher.component'; +import { ITEM } from '../../../../items/switcher/item-type-switcher.component'; import { JournalIssueListElementComponent } from './journal-issue-list-element.component'; import { of as observableOf } from 'rxjs'; diff --git a/src/app/shared/object-list/item-list-element/item-types/journal-issue/journal-issue-list-element.component.ts b/src/app/shared/object-list/item-list-element/item-types/journal-issue/journal-issue-list-element.component.ts new file mode 100644 index 0000000000..3b47d1ab51 --- /dev/null +++ b/src/app/shared/object-list/item-list-element/item-types/journal-issue/journal-issue-list-element.component.ts @@ -0,0 +1,16 @@ +import { Component } from '@angular/core'; +import { rendersItemType } from '../../../../items/item-type-decorator'; +import { ElementViewMode } from '../../../../view-mode'; +import { ItemSearchResultComponent } from '../item-search-result-component'; + +@rendersItemType('JournalIssue', ElementViewMode.SetElement) +@Component({ + selector: 'ds-journal-issue-list-element', + styleUrls: ['./journal-issue-list-element.component.scss'], + templateUrl: './journal-issue-list-element.component.html' +}) +/** + * The component for displaying a list element for an item of the type Journal Issue + */ +export class JournalIssueListElementComponent extends ItemSearchResultComponent { +} diff --git a/src/app/shared/object-list/item-list-element/entity-types/journal-volume/journal-volume-list-element.component.html b/src/app/shared/object-list/item-list-element/item-types/journal-volume/journal-volume-list-element.component.html similarity index 100% rename from src/app/shared/object-list/item-list-element/entity-types/journal-volume/journal-volume-list-element.component.html rename to src/app/shared/object-list/item-list-element/item-types/journal-volume/journal-volume-list-element.component.html diff --git a/src/app/shared/object-list/item-list-element/entity-types/journal-volume/journal-volume-list-element.component.scss b/src/app/shared/object-list/item-list-element/item-types/journal-volume/journal-volume-list-element.component.scss similarity index 100% rename from src/app/shared/object-list/item-list-element/entity-types/journal-volume/journal-volume-list-element.component.scss rename to src/app/shared/object-list/item-list-element/item-types/journal-volume/journal-volume-list-element.component.scss diff --git a/src/app/shared/object-list/item-list-element/entity-types/journal-volume/journal-volume-list-element.component.spec.ts b/src/app/shared/object-list/item-list-element/item-types/journal-volume/journal-volume-list-element.component.spec.ts similarity index 96% rename from src/app/shared/object-list/item-list-element/entity-types/journal-volume/journal-volume-list-element.component.spec.ts rename to src/app/shared/object-list/item-list-element/item-types/journal-volume/journal-volume-list-element.component.spec.ts index 7388d12f25..93071289b8 100644 --- a/src/app/shared/object-list/item-list-element/entity-types/journal-volume/journal-volume-list-element.component.spec.ts +++ b/src/app/shared/object-list/item-list-element/item-types/journal-volume/journal-volume-list-element.component.spec.ts @@ -1,11 +1,10 @@ import { async, ComponentFixture, TestBed } from '@angular/core/testing'; import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; import { By } from '@angular/platform-browser'; -import { Observable } from 'rxjs'; import { Item } from '../../../../../core/shared/item.model'; import { TruncatePipe } from '../../../../utils/truncate.pipe'; import { TruncatableService } from '../../../../truncatable/truncatable.service'; -import { ITEM } from '../../../../entities/switcher/entity-type-switcher.component'; +import { ITEM } from '../../../../items/switcher/item-type-switcher.component'; import { JournalVolumeListElementComponent } from './journal-volume-list-element.component'; import { of as observableOf } from 'rxjs'; diff --git a/src/app/shared/object-list/item-list-element/item-types/journal-volume/journal-volume-list-element.component.ts b/src/app/shared/object-list/item-list-element/item-types/journal-volume/journal-volume-list-element.component.ts new file mode 100644 index 0000000000..39595122e1 --- /dev/null +++ b/src/app/shared/object-list/item-list-element/item-types/journal-volume/journal-volume-list-element.component.ts @@ -0,0 +1,16 @@ +import { Component } from '@angular/core'; +import { rendersItemType } from '../../../../items/item-type-decorator'; +import { ElementViewMode } from '../../../../view-mode'; +import { ItemSearchResultComponent } from '../item-search-result-component'; + +@rendersItemType('JournalVolume', ElementViewMode.SetElement) +@Component({ + selector: 'ds-journal-volume-list-element', + styleUrls: ['./journal-volume-list-element.component.scss'], + templateUrl: './journal-volume-list-element.component.html' +}) +/** + * The component for displaying a list element for an item of the type Journal Volume + */ +export class JournalVolumeListElementComponent extends ItemSearchResultComponent { +} diff --git a/src/app/shared/object-list/item-list-element/entity-types/journal/journal-list-element.component.html b/src/app/shared/object-list/item-list-element/item-types/journal/journal-list-element.component.html similarity index 100% rename from src/app/shared/object-list/item-list-element/entity-types/journal/journal-list-element.component.html rename to src/app/shared/object-list/item-list-element/item-types/journal/journal-list-element.component.html diff --git a/src/app/shared/object-list/item-list-element/entity-types/journal/journal-list-element.component.scss b/src/app/shared/object-list/item-list-element/item-types/journal/journal-list-element.component.scss similarity index 100% rename from src/app/shared/object-list/item-list-element/entity-types/journal/journal-list-element.component.scss rename to src/app/shared/object-list/item-list-element/item-types/journal/journal-list-element.component.scss diff --git a/src/app/shared/object-list/item-list-element/entity-types/journal/journal-list-element.component.spec.ts b/src/app/shared/object-list/item-list-element/item-types/journal/journal-list-element.component.spec.ts similarity index 95% rename from src/app/shared/object-list/item-list-element/entity-types/journal/journal-list-element.component.spec.ts rename to src/app/shared/object-list/item-list-element/item-types/journal/journal-list-element.component.spec.ts index 8fd8d870fa..abdeb9c00f 100644 --- a/src/app/shared/object-list/item-list-element/entity-types/journal/journal-list-element.component.spec.ts +++ b/src/app/shared/object-list/item-list-element/item-types/journal/journal-list-element.component.spec.ts @@ -1,11 +1,10 @@ import { async, ComponentFixture, TestBed } from '@angular/core/testing'; import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; import { By } from '@angular/platform-browser'; -import { Observable } from 'rxjs'; import { Item } from '../../../../../core/shared/item.model'; import { TruncatePipe } from '../../../../utils/truncate.pipe'; import { TruncatableService } from '../../../../truncatable/truncatable.service'; -import { ITEM } from '../../../../entities/switcher/entity-type-switcher.component'; +import { ITEM } from '../../../../items/switcher/item-type-switcher.component'; import { JournalListElementComponent } from './journal-list-element.component'; import { of as observableOf } from 'rxjs'; diff --git a/src/app/shared/object-list/item-list-element/item-types/journal/journal-list-element.component.ts b/src/app/shared/object-list/item-list-element/item-types/journal/journal-list-element.component.ts new file mode 100644 index 0000000000..113594630e --- /dev/null +++ b/src/app/shared/object-list/item-list-element/item-types/journal/journal-list-element.component.ts @@ -0,0 +1,16 @@ +import { Component } from '@angular/core'; +import { rendersItemType } from '../../../../items/item-type-decorator'; +import { ElementViewMode } from '../../../../view-mode'; +import { ItemSearchResultComponent } from '../item-search-result-component'; + +@rendersItemType('Journal', ElementViewMode.SetElement) +@Component({ + selector: 'ds-journal-list-element', + styleUrls: ['./journal-list-element.component.scss'], + templateUrl: './journal-list-element.component.html' +}) +/** + * The component for displaying a list element for an item of the type Journal + */ +export class JournalListElementComponent extends ItemSearchResultComponent { +} diff --git a/src/app/shared/object-list/item-list-element/entity-types/orgunit/orgunit-list-element.component.html b/src/app/shared/object-list/item-list-element/item-types/orgunit/orgunit-list-element.component.html similarity index 100% rename from src/app/shared/object-list/item-list-element/entity-types/orgunit/orgunit-list-element.component.html rename to src/app/shared/object-list/item-list-element/item-types/orgunit/orgunit-list-element.component.html diff --git a/src/app/shared/object-list/item-list-element/entity-types/orgunit/orgunit-list-element.component.scss b/src/app/shared/object-list/item-list-element/item-types/orgunit/orgunit-list-element.component.scss similarity index 100% rename from src/app/shared/object-list/item-list-element/entity-types/orgunit/orgunit-list-element.component.scss rename to src/app/shared/object-list/item-list-element/item-types/orgunit/orgunit-list-element.component.scss diff --git a/src/app/shared/object-list/item-list-element/entity-types/orgunit/orgunit-list-element.component.spec.ts b/src/app/shared/object-list/item-list-element/item-types/orgunit/orgunit-list-element.component.spec.ts similarity index 95% rename from src/app/shared/object-list/item-list-element/entity-types/orgunit/orgunit-list-element.component.spec.ts rename to src/app/shared/object-list/item-list-element/item-types/orgunit/orgunit-list-element.component.spec.ts index 678e1e42bc..14b86d720a 100644 --- a/src/app/shared/object-list/item-list-element/entity-types/orgunit/orgunit-list-element.component.spec.ts +++ b/src/app/shared/object-list/item-list-element/item-types/orgunit/orgunit-list-element.component.spec.ts @@ -1,11 +1,10 @@ import { async, ComponentFixture, TestBed } from '@angular/core/testing'; import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; import { By } from '@angular/platform-browser'; -import { Observable } from 'rxjs'; import { Item } from '../../../../../core/shared/item.model'; import { TruncatePipe } from '../../../../utils/truncate.pipe'; import { TruncatableService } from '../../../../truncatable/truncatable.service'; -import { ITEM } from '../../../../entities/switcher/entity-type-switcher.component'; +import { ITEM } from '../../../../items/switcher/item-type-switcher.component'; import { OrgUnitListElementComponent } from './orgunit-list-element.component'; import { of as observableOf } from 'rxjs'; diff --git a/src/app/shared/object-list/item-list-element/item-types/orgunit/orgunit-list-element.component.ts b/src/app/shared/object-list/item-list-element/item-types/orgunit/orgunit-list-element.component.ts new file mode 100644 index 0000000000..6fe95e6917 --- /dev/null +++ b/src/app/shared/object-list/item-list-element/item-types/orgunit/orgunit-list-element.component.ts @@ -0,0 +1,16 @@ +import { Component } from '@angular/core'; +import { rendersItemType } from '../../../../items/item-type-decorator'; +import { ElementViewMode } from '../../../../view-mode'; +import { ItemSearchResultComponent } from '../item-search-result-component'; + +@rendersItemType('OrgUnit', ElementViewMode.SetElement) +@Component({ + selector: 'ds-orgunit-list-element', + styleUrls: ['./orgunit-list-element.component.scss'], + templateUrl: './orgunit-list-element.component.html' +}) +/** + * The component for displaying a list element for an item of the type Organisation Unit + */ +export class OrgUnitListElementComponent extends ItemSearchResultComponent { +} diff --git a/src/app/shared/object-list/item-list-element/entity-types/person/person-list-element.component.html b/src/app/shared/object-list/item-list-element/item-types/person/person-list-element.component.html similarity index 100% rename from src/app/shared/object-list/item-list-element/entity-types/person/person-list-element.component.html rename to src/app/shared/object-list/item-list-element/item-types/person/person-list-element.component.html diff --git a/src/app/shared/object-list/item-list-element/entity-types/person/person-list-element.component.scss b/src/app/shared/object-list/item-list-element/item-types/person/person-list-element.component.scss similarity index 100% rename from src/app/shared/object-list/item-list-element/entity-types/person/person-list-element.component.scss rename to src/app/shared/object-list/item-list-element/item-types/person/person-list-element.component.scss diff --git a/src/app/shared/object-list/item-list-element/entity-types/person/person-list-element.component.spec.ts b/src/app/shared/object-list/item-list-element/item-types/person/person-list-element.component.spec.ts similarity index 95% rename from src/app/shared/object-list/item-list-element/entity-types/person/person-list-element.component.spec.ts rename to src/app/shared/object-list/item-list-element/item-types/person/person-list-element.component.spec.ts index 3005c852af..836588c565 100644 --- a/src/app/shared/object-list/item-list-element/entity-types/person/person-list-element.component.spec.ts +++ b/src/app/shared/object-list/item-list-element/item-types/person/person-list-element.component.spec.ts @@ -1,11 +1,10 @@ import { async, ComponentFixture, TestBed } from '@angular/core/testing'; import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; import { By } from '@angular/platform-browser'; -import { Observable } from 'rxjs'; import { Item } from '../../../../../core/shared/item.model'; import { TruncatePipe } from '../../../../utils/truncate.pipe'; import { TruncatableService } from '../../../../truncatable/truncatable.service'; -import { ITEM } from '../../../../entities/switcher/entity-type-switcher.component'; +import { ITEM } from '../../../../items/switcher/item-type-switcher.component'; import { PersonListElementComponent } from './person-list-element.component'; import { of as observableOf } from 'rxjs'; diff --git a/src/app/shared/object-list/item-list-element/item-types/person/person-list-element.component.ts b/src/app/shared/object-list/item-list-element/item-types/person/person-list-element.component.ts new file mode 100644 index 0000000000..5fd3c63f27 --- /dev/null +++ b/src/app/shared/object-list/item-list-element/item-types/person/person-list-element.component.ts @@ -0,0 +1,16 @@ +import { Component } from '@angular/core'; +import { rendersItemType } from '../../../../items/item-type-decorator'; +import { ElementViewMode } from '../../../../view-mode'; +import { ItemSearchResultComponent } from '../item-search-result-component'; + +@rendersItemType('Person', ElementViewMode.SetElement) +@Component({ + selector: 'ds-person-list-element', + styleUrls: ['./person-list-element.component.scss'], + templateUrl: './person-list-element.component.html' +}) +/** + * The component for displaying a list element for an item of the type Person + */ +export class PersonListElementComponent extends ItemSearchResultComponent { +} diff --git a/src/app/shared/object-list/item-list-element/entity-types/project/project-list-element.component.html b/src/app/shared/object-list/item-list-element/item-types/project/project-list-element.component.html similarity index 100% rename from src/app/shared/object-list/item-list-element/entity-types/project/project-list-element.component.html rename to src/app/shared/object-list/item-list-element/item-types/project/project-list-element.component.html diff --git a/src/app/shared/object-list/item-list-element/entity-types/project/project-list-element.component.scss b/src/app/shared/object-list/item-list-element/item-types/project/project-list-element.component.scss similarity index 100% rename from src/app/shared/object-list/item-list-element/entity-types/project/project-list-element.component.scss rename to src/app/shared/object-list/item-list-element/item-types/project/project-list-element.component.scss diff --git a/src/app/shared/object-list/item-list-element/entity-types/project/project-list-element.component.spec.ts b/src/app/shared/object-list/item-list-element/item-types/project/project-list-element.component.spec.ts similarity index 95% rename from src/app/shared/object-list/item-list-element/entity-types/project/project-list-element.component.spec.ts rename to src/app/shared/object-list/item-list-element/item-types/project/project-list-element.component.spec.ts index b4437ceaea..cd0cce95f2 100644 --- a/src/app/shared/object-list/item-list-element/entity-types/project/project-list-element.component.spec.ts +++ b/src/app/shared/object-list/item-list-element/item-types/project/project-list-element.component.spec.ts @@ -1,11 +1,10 @@ import { async, ComponentFixture, TestBed } from '@angular/core/testing'; import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; import { By } from '@angular/platform-browser'; -import { Observable } from 'rxjs'; import { Item } from '../../../../../core/shared/item.model'; import { TruncatePipe } from '../../../../utils/truncate.pipe'; import { TruncatableService } from '../../../../truncatable/truncatable.service'; -import { ITEM } from '../../../../entities/switcher/entity-type-switcher.component'; +import { ITEM } from '../../../../items/switcher/item-type-switcher.component'; import { ProjectListElementComponent } from './project-list-element.component'; import { of as observableOf } from 'rxjs'; diff --git a/src/app/shared/object-list/item-list-element/item-types/project/project-list-element.component.ts b/src/app/shared/object-list/item-list-element/item-types/project/project-list-element.component.ts new file mode 100644 index 0000000000..ad3cb824ea --- /dev/null +++ b/src/app/shared/object-list/item-list-element/item-types/project/project-list-element.component.ts @@ -0,0 +1,16 @@ +import { Component } from '@angular/core'; +import { rendersItemType } from '../../../../items/item-type-decorator'; +import { ElementViewMode } from '../../../../view-mode'; +import { ItemSearchResultComponent } from '../item-search-result-component'; + +@rendersItemType('Project', ElementViewMode.SetElement) +@Component({ + selector: 'ds-project-list-element', + styleUrls: ['./project-list-element.component.scss'], + templateUrl: './project-list-element.component.html' +}) +/** + * The component for displaying a list element for an item of the type Project + */ +export class ProjectListElementComponent extends ItemSearchResultComponent { +} diff --git a/src/app/shared/object-list/item-list-element/entity-types/publication/publication-list-element.component.html b/src/app/shared/object-list/item-list-element/item-types/publication/publication-list-element.component.html similarity index 100% rename from src/app/shared/object-list/item-list-element/entity-types/publication/publication-list-element.component.html rename to src/app/shared/object-list/item-list-element/item-types/publication/publication-list-element.component.html diff --git a/src/app/shared/object-list/item-list-element/entity-types/publication/publication-list-element.component.scss b/src/app/shared/object-list/item-list-element/item-types/publication/publication-list-element.component.scss similarity index 100% rename from src/app/shared/object-list/item-list-element/entity-types/publication/publication-list-element.component.scss rename to src/app/shared/object-list/item-list-element/item-types/publication/publication-list-element.component.scss diff --git a/src/app/shared/object-list/item-list-element/entity-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 similarity index 97% rename from src/app/shared/object-list/item-list-element/entity-types/publication/publication-list-element.component.spec.ts rename to src/app/shared/object-list/item-list-element/item-types/publication/publication-list-element.component.spec.ts index 9a2fdbcc0b..6f596d1938 100644 --- a/src/app/shared/object-list/item-list-element/entity-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 @@ -1,12 +1,11 @@ import { async, ComponentFixture, TestBed } from '@angular/core/testing'; import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; import { By } from '@angular/platform-browser'; -import { Observable } from 'rxjs'; import { PublicationListElementComponent } from './publication-list-element.component'; import { Item } from '../../../../../core/shared/item.model'; import { TruncatePipe } from '../../../../utils/truncate.pipe'; import { TruncatableService } from '../../../../truncatable/truncatable.service'; -import { ITEM } from '../../../../entities/switcher/entity-type-switcher.component'; +import { ITEM } from '../../../../items/switcher/item-type-switcher.component'; import { of as observableOf } from 'rxjs'; let publicationListElementComponent: PublicationListElementComponent; 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 new file mode 100644 index 0000000000..777cfc6013 --- /dev/null +++ b/src/app/shared/object-list/item-list-element/item-types/publication/publication-list-element.component.ts @@ -0,0 +1,17 @@ +import { Component } from '@angular/core'; +import { DEFAULT_ITEM_TYPE, rendersItemType } from '../../../../items/item-type-decorator'; +import { ElementViewMode } from '../../../../view-mode'; +import { ItemSearchResultComponent } from '../item-search-result-component'; + +@rendersItemType('Publication', ElementViewMode.SetElement) +@rendersItemType(DEFAULT_ITEM_TYPE, ElementViewMode.SetElement) +@Component({ + selector: 'ds-publication-list-element', + styleUrls: ['./publication-list-element.component.scss'], + templateUrl: './publication-list-element.component.html' +}) +/** + * The component for displaying a list element for an item of the type Publication + */ +export class PublicationListElementComponent extends ItemSearchResultComponent { +} diff --git a/src/app/shared/object-list/search-result-list-element/item-search-result/item-search-result-list-element.component.html b/src/app/shared/object-list/search-result-list-element/item-search-result/item-search-result-list-element.component.html index 777f131a23..8cdf8cac6a 100644 --- a/src/app/shared/object-list/search-result-list-element/item-search-result/item-search-result-list-element.component.html +++ b/src/app/shared/object-list/search-result-list-element/item-search-result/item-search-result-list-element.component.html @@ -1 +1 @@ - + diff --git a/src/app/shared/object-list/search-result-list-element/item-search-result/item-search-result-list-element.component.spec.ts b/src/app/shared/object-list/search-result-list-element/item-search-result/item-search-result-list-element.component.spec.ts index b1f511868a..28fbbc419a 100644 --- a/src/app/shared/object-list/search-result-list-element/item-search-result/item-search-result-list-element.component.spec.ts +++ b/src/app/shared/object-list/search-result-list-element/item-search-result/item-search-result-list-element.component.spec.ts @@ -9,7 +9,7 @@ import { ItemSearchResultListElementComponent } from './item-search-result-list- import { By } from '@angular/platform-browser'; import { TruncatableService } from '../../../truncatable/truncatable.service'; import { TruncatePipe } from '../../../utils/truncate.pipe'; -import { createRelationshipsObservable } from '../../../../+item-page/simple/entity-types/shared/entity.component.spec'; +import { createRelationshipsObservable } from '../../../../+item-page/simple/item-types/shared/item.component.spec'; import { ItemSearchResult } from '../../../object-collection/shared/item-search-result.model'; const mockItem: Item = Object.assign(new Item(), { @@ -81,9 +81,9 @@ describe('ItemSearchResultListElementComponent', () => { fixture.detectChanges(); })); - it('should call an entity-type-switcher component and pass the item', () => { - const entityTypeSwitcher = fixture.debugElement.query(By.css('ds-entity-type-switcher')).componentInstance; - expect(entityTypeSwitcher.object).toBe(mockItem); + it('should call an item-type-switcher component and pass the item', () => { + const itemTypeSwitcher = fixture.debugElement.query(By.css('ds-item-type-switcher')).componentInstance; + expect(itemTypeSwitcher.object).toBe(mockItem); }); }); diff --git a/src/app/shared/shared.module.ts b/src/app/shared/shared.module.ts index 106b330744..410425b865 100644 --- a/src/app/shared/shared.module.ts +++ b/src/app/shared/shared.module.ts @@ -13,15 +13,15 @@ import { import { TranslateModule } from '@ngx-translate/core'; import { NgxPaginationModule } from 'ngx-pagination'; -import { EntityTypeSwitcherComponent } from './entities/switcher/entity-type-switcher.component'; -import { EntitySearchResultComponent } from './object-list/item-list-element/entity-types/entity-search-result-component'; -import { PublicationListElementComponent } from './object-list/item-list-element/entity-types/publication/publication-list-element.component'; -import { OrgUnitListElementComponent } from './object-list/item-list-element/entity-types/orgunit/orgunit-list-element.component'; -import { PersonListElementComponent } from './object-list/item-list-element/entity-types/person/person-list-element.component'; -import { ProjectListElementComponent } from './object-list/item-list-element/entity-types/project/project-list-element.component'; -import { JournalListElementComponent } from './object-list/item-list-element/entity-types/journal/journal-list-element.component'; -import { JournalVolumeListElementComponent } from './object-list/item-list-element/entity-types/journal-volume/journal-volume-list-element.component'; -import { JournalIssueListElementComponent } from './object-list/item-list-element/entity-types/journal-issue/journal-issue-list-element.component'; +import { ItemTypeSwitcherComponent } from './items/switcher/item-type-switcher.component'; +import { ItemSearchResultComponent } from './object-list/item-list-element/item-types/item-search-result-component'; +import { PublicationListElementComponent } from './object-list/item-list-element/item-types/publication/publication-list-element.component'; +import { OrgUnitListElementComponent } from './object-list/item-list-element/item-types/orgunit/orgunit-list-element.component'; +import { PersonListElementComponent } from './object-list/item-list-element/item-types/person/person-list-element.component'; +import { ProjectListElementComponent } from './object-list/item-list-element/item-types/project/project-list-element.component'; +import { JournalListElementComponent } from './object-list/item-list-element/item-types/journal/journal-list-element.component'; +import { JournalVolumeListElementComponent } from './object-list/item-list-element/item-types/journal-volume/journal-volume-list-element.component'; +import { JournalIssueListElementComponent } from './object-list/item-list-element/item-types/journal-issue/journal-issue-list-element.component'; import { FileUploadModule } from 'ng2-file-upload'; @@ -34,7 +34,7 @@ import { ConsolePipe } from './utils/console.pipe'; import { CollectionListElementComponent } from './object-list/collection-list-element/collection-list-element.component'; import { CommunityListElementComponent } from './object-list/community-list-element/community-list-element.component'; -import { EntityListElementComponent } from './object-list/item-list-element/entity-list-element.component'; +import { ItemListElementComponent } from './object-list/item-list-element/item-list-element.component'; import { SearchResultListElementComponent } from './object-list/search-result-list-element/search-result-list-element.component'; import { WrapperListElementComponent } from './object-list/wrapper-list-element/wrapper-list-element.component'; import { ObjectListComponent } from './object-list/object-list.component'; @@ -167,14 +167,14 @@ const COMPONENTS = [ TruncatableComponent, TruncatablePartComponent, InputSuggestionsComponent, - EntitySearchResultComponent, - EntityTypeSwitcherComponent, + ItemSearchResultComponent, + ItemTypeSwitcherComponent, BrowseByComponent ]; const ENTRY_COMPONENTS = [ // put shared entry components (components that are created dynamically) here - EntityListElementComponent, + ItemListElementComponent, CollectionListElementComponent, CommunityListElementComponent, SearchResultListElementComponent,