diff --git a/src/app/+my-dspace-page/my-dspace-new-submission/my-dspace-new-submission.component.ts b/src/app/+my-dspace-page/my-dspace-new-submission/my-dspace-new-submission.component.ts index 938a1ec899..09adc16af6 100644 --- a/src/app/+my-dspace-page/my-dspace-new-submission/my-dspace-new-submission.component.ts +++ b/src/app/+my-dspace-page/my-dspace-new-submission/my-dspace-new-submission.component.ts @@ -7,7 +7,6 @@ import { TranslateService } from '@ngx-translate/core'; import { SubmissionState } from '../../submission/submission.reducers'; import { AuthService } from '../../core/auth/auth.service'; -import { MyDSpaceResult } from '../my-dspace-result.model'; import { DSpaceObject } from '../../core/shared/dspace-object.model'; import { NotificationsService } from '../../shared/notifications/notifications.service'; import { NotificationOptions } from '../../shared/notifications/models/notification-options.model'; @@ -15,6 +14,7 @@ import { UploaderOptions } from '../../shared/uploader/uploader-options.model'; import { HALEndpointService } from '../../core/shared/hal-endpoint.service'; import { NotificationType } from '../../shared/notifications/models/notification-type'; import { hasValue } from '../../shared/empty.util'; +import { SearchResult } from '../../+search-page/search-result.model'; /** * This component represents the whole mydspace page header @@ -25,7 +25,7 @@ import { hasValue } from '../../shared/empty.util'; templateUrl: './my-dspace-new-submission.component.html' }) export class MyDSpaceNewSubmissionComponent implements OnDestroy, OnInit { - @Output() uploadEnd = new EventEmitter>>(); + @Output() uploadEnd = new EventEmitter>>(); /** * The UploaderOptions object diff --git a/src/app/+my-dspace-page/my-dspace-page.component.ts b/src/app/+my-dspace-page/my-dspace-page.component.ts index e05f43d56e..1bad29f0d5 100644 --- a/src/app/+my-dspace-page/my-dspace-page.component.ts +++ b/src/app/+my-dspace-page/my-dspace-page.component.ts @@ -20,7 +20,6 @@ import { SearchService } from '../+search-page/search-service/search.service'; import { SearchSidebarService } from '../+search-page/search-sidebar/search-sidebar.service'; import { hasValue } from '../shared/empty.util'; import { getSucceededRemoteData } from '../core/shared/operators'; -import { MyDSpaceResult } from './my-dspace-result.model'; import { MyDSpaceResponseParsingService } from '../core/data/mydspace-response-parsing.service'; import { SearchConfigurationOption } from '../+search-page/search-switch-configuration/search-configuration-option.model'; import { RoleType } from '../core/roles/role-types'; @@ -28,6 +27,7 @@ import { SearchConfigurationService } from '../+search-page/search-service/searc import { MyDSpaceConfigurationService } from './my-dspace-configuration.service'; import { ViewMode } from '../core/shared/view-mode.model'; import { MyDSpaceRequest } from '../core/data/request.models'; +import { SearchResult } from '../+search-page/search-result.model'; export const MYDSPACE_ROUTE = '/mydspace'; export const SEARCH_CONFIG_SERVICE: InjectionToken = new InjectionToken('searchConfigurationService'); @@ -63,7 +63,7 @@ export class MyDSpacePageComponent implements OnInit { /** * The current search results */ - resultsRD$: BehaviorSubject>>> = new BehaviorSubject(null); + resultsRD$: BehaviorSubject>>> = new BehaviorSubject(null); /** * The current paginated search options diff --git a/src/app/+my-dspace-page/my-dspace-page.module.ts b/src/app/+my-dspace-page/my-dspace-page.module.ts index 448699504e..6d2b8c0614 100644 --- a/src/app/+my-dspace-page/my-dspace-page.module.ts +++ b/src/app/+my-dspace-page/my-dspace-page.module.ts @@ -7,19 +7,20 @@ import { MyDspacePageRoutingModule } from './my-dspace-page-routing.module'; import { MyDSpacePageComponent } from './my-dspace-page.component'; import { SearchPageModule } from '../+search-page/search-page.module'; import { MyDSpaceResultsComponent } from './my-dspace-results/my-dspace-results.component'; -import { WorkspaceitemMyDSpaceResultListElementComponent } from '../shared/object-list/my-dspace-result-list-element/workspaceitem-my-dspace-result/workspaceitem-my-dspace-result-list-element.component'; -import { ItemMyDSpaceResultListElementComponent } from '../shared/object-list/my-dspace-result-list-element/item-my-dspace-result/item-my-dspace-result-list-element.component'; -import { WorkflowitemMyDSpaceResultListElementComponent } from '../shared/object-list/my-dspace-result-list-element/workflowitem-my-dspace-result/workflowitem-my-dspace-result-list-element.component'; -import { ClaimedMyDSpaceResultListElementComponent } from '../shared/object-list/my-dspace-result-list-element/claimed-my-dspace-result/claimed-my-dspace-result-list-element.component'; -import { PoolMyDSpaceResultListElementComponent } from '../shared/object-list/my-dspace-result-list-element/pool-my-dspace-result/pool-my-dspace-result-list-element.component'; +import { WorkspaceItemSearchResultListElementComponent } from '../shared/object-list/my-dspace-result-list-element/workspace-item-search-result/workspace-item-search-result-list-element.component'; +import { ClaimedSearchResultListElementComponent } from '../shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-search-result-list-element.component'; +import { PoolSearchResultListElementComponent } from '../shared/object-list/my-dspace-result-list-element/pool-search-result/pool-search-result-list-element.component'; import { MyDSpaceNewSubmissionComponent } from './my-dspace-new-submission/my-dspace-new-submission.component'; -import { ItemMyDSpaceResultDetailElementComponent } from '../shared/object-detail/my-dspace-result-detail-element/item-my-dspace-result/item-my-dspace-result-detail-element.component'; -import { WorkspaceitemMyDSpaceResultDetailElementComponent } from '../shared/object-detail/my-dspace-result-detail-element/workspaceitem-my-dspace-result/workspaceitem-my-dspace-result-detail-element.component'; -import { WorkflowitemMyDSpaceResultDetailElementComponent } from '../shared/object-detail/my-dspace-result-detail-element/workflowitem-my-dspace-result/workflowitem-my-dspace-result-detail-element.component'; -import { ClaimedMyDSpaceResultDetailElementComponent } from '../shared/object-detail/my-dspace-result-detail-element/claimed-my-dspace-result/claimed-my-dspace-result-detail-element.component'; -import { PoolMyDSpaceResultDetailElementComponent } from '../shared/object-detail/my-dspace-result-detail-element/pool-my-dspace-result/pool-my-dspace-result-detail-element.component'; +import { ItemSearchResultDetailElementComponent } from '../shared/object-detail/my-dspace-result-detail-element/item-search-result/item-search-result-detail-element.component'; +import { WorkspaceItemSearchResultDetailElementComponent } from '../shared/object-detail/my-dspace-result-detail-element/workspace-item-my-dspace-result/workspace-item-search-result-detail-element.component'; +import { WorkflowItemSearchResultDetailElementComponent } from '../shared/object-detail/my-dspace-result-detail-element/workflow-item-search-result/workflow-item-search-result-detail-element.component'; +import { ClaimedTaskSearchResultDetailElementComponent } from '../shared/object-detail/my-dspace-result-detail-element/claimed-task-search-result/claimed-task-search-result-detail-element.component'; import { MyDSpaceGuard } from './my-dspace.guard'; import { MyDSpaceConfigurationService } from './my-dspace-configuration.service'; +import { SearchResultListElementComponent } from '../shared/object-list/search-result-list-element/search-result-list-element.component'; +import { ItemSearchResultListElementSubmissionComponent } from '../shared/object-list/my-dspace-result-list-element/item-search-result/item-search-result-list-element-submission.component'; +import { WorkflowItemSearchResultListElementComponent } from '../shared/object-list/my-dspace-result-list-element/workflow-item-search-result/workflow-item-search-result-list-element.component'; +import { PoolSearchResultDetailElementComponent } from '../shared/object-detail/my-dspace-result-detail-element/pool-my-dspace-result/pool-search-result-detail-element.component'; @NgModule({ imports: [ @@ -31,33 +32,33 @@ import { MyDSpaceConfigurationService } from './my-dspace-configuration.service' declarations: [ MyDSpacePageComponent, MyDSpaceResultsComponent, - ItemMyDSpaceResultListElementComponent, - WorkspaceitemMyDSpaceResultListElementComponent, - WorkflowitemMyDSpaceResultListElementComponent, - ClaimedMyDSpaceResultListElementComponent, - PoolMyDSpaceResultListElementComponent, - ItemMyDSpaceResultDetailElementComponent, - WorkspaceitemMyDSpaceResultDetailElementComponent, - WorkflowitemMyDSpaceResultDetailElementComponent, - ClaimedMyDSpaceResultDetailElementComponent, - PoolMyDSpaceResultDetailElementComponent, - MyDSpaceNewSubmissionComponent + WorkspaceItemSearchResultListElementComponent, + WorkflowItemSearchResultListElementComponent, + ClaimedSearchResultListElementComponent, + PoolSearchResultListElementComponent, + ItemSearchResultDetailElementComponent, + WorkspaceItemSearchResultDetailElementComponent, + WorkflowItemSearchResultDetailElementComponent, + ClaimedTaskSearchResultDetailElementComponent, + PoolSearchResultDetailElementComponent, + MyDSpaceNewSubmissionComponent, + ItemSearchResultListElementSubmissionComponent ], providers: [ MyDSpaceGuard, MyDSpaceConfigurationService ], entryComponents: [ - ItemMyDSpaceResultListElementComponent, - WorkspaceitemMyDSpaceResultListElementComponent, - WorkflowitemMyDSpaceResultListElementComponent, - ClaimedMyDSpaceResultListElementComponent, - PoolMyDSpaceResultListElementComponent, - ItemMyDSpaceResultDetailElementComponent, - WorkspaceitemMyDSpaceResultDetailElementComponent, - WorkflowitemMyDSpaceResultDetailElementComponent, - ClaimedMyDSpaceResultDetailElementComponent, - PoolMyDSpaceResultDetailElementComponent + SearchResultListElementComponent, + WorkspaceItemSearchResultListElementComponent, + WorkflowItemSearchResultListElementComponent, + ClaimedSearchResultListElementComponent, + PoolSearchResultListElementComponent, + ItemSearchResultDetailElementComponent, + WorkspaceItemSearchResultDetailElementComponent, + WorkflowItemSearchResultDetailElementComponent, + ClaimedTaskSearchResultDetailElementComponent, + PoolSearchResultDetailElementComponent ] }) diff --git a/src/app/+my-dspace-page/my-dspace-result.model.ts b/src/app/+my-dspace-page/my-dspace-result.model.ts deleted file mode 100644 index 1737aaec0a..0000000000 --- a/src/app/+my-dspace-page/my-dspace-result.model.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { DSpaceObject } from '../core/shared/dspace-object.model'; -import { MetadataMap } from '../core/shared/metadata.models'; -import { ListableObject } from '../shared/object-collection/shared/listable-object.model'; - -/** - * Represents a search result object of a certain () DSpaceObject - */ -export class MyDSpaceResult implements ListableObject { - /** - * The DSpaceObject that was found - */ - indexableObject: T; - - /** - * The metadata that was used to find this item, hithighlighted - */ - hitHighlights: MetadataMap; - - getRenderType(): string { - return this.indexableObject.getRenderType() + 'MyDSpaceResult'; - } -} diff --git a/src/app/+my-dspace-page/my-dspace-results/my-dspace-results.component.ts b/src/app/+my-dspace-page/my-dspace-results/my-dspace-results.component.ts index 3a16def9c1..a72e797b35 100644 --- a/src/app/+my-dspace-page/my-dspace-results/my-dspace-results.component.ts +++ b/src/app/+my-dspace-page/my-dspace-results/my-dspace-results.component.ts @@ -1,13 +1,12 @@ import { Component, Input } from '@angular/core'; - import { RemoteData } from '../../core/data/remote-data'; import { DSpaceObject } from '../../core/shared/dspace-object.model'; import { fadeIn, fadeInOut } from '../../shared/animations/fade'; -import { MyDSpaceResult } from '../my-dspace-result.model'; import { SearchOptions } from '../../+search-page/search-options.model'; import { PaginatedList } from '../../core/data/paginated-list'; import { ViewMode } from '../../core/shared/view-mode.model'; import { isEmpty } from '../../shared/empty.util'; +import { SearchResult } from '../../+search-page/search-result.model'; /** * Component that represents all results for mydspace page @@ -25,7 +24,7 @@ export class MyDSpaceResultsComponent { /** * The actual search result objects */ - @Input() searchResults: RemoteData>>; + @Input() searchResults: RemoteData>>; /** * The current configuration of the search diff --git a/src/app/+search-page/search-service/search-result-element-decorator.ts b/src/app/+search-page/search-service/search-result-element-decorator.ts index e804a5d8ee..34e61abc01 100644 --- a/src/app/+search-page/search-service/search-result-element-decorator.ts +++ b/src/app/+search-page/search-service/search-result-element-decorator.ts @@ -12,19 +12,13 @@ const searchResultMap = new Map(); * @param {GenericConstructor} domainConstructor The constructor of the DSpaceObject * @returns Decorator function that performs the actual mapping on initialization of the component */ -export function searchResultFor(domainConstructor: GenericConstructor, configuration: string = null) { +export function searchResultFor(domainConstructor: GenericConstructor) { return function decorator(searchResult: any) { if (!searchResult) { return; } - if (isNull(configuration)) { - searchResultMap.set(domainConstructor, searchResult); - } else { - if (!searchResultMap.get(configuration)) { - searchResultMap.set(configuration, new Map()); - } - searchResultMap.get(configuration).set(domainConstructor, searchResult); - } + searchResultMap.set(domainConstructor, searchResult); + }; } @@ -33,10 +27,6 @@ export function searchResultFor(domainConstructor: GenericConstructor} domainConstructor The DSpaceObject's constructor for which the search result component is requested * @returns The component's constructor that matches the given DSpaceObject */ -export function getSearchResultFor(domainConstructor: GenericConstructor, configuration: string = null) { - if (isNull(configuration) || configuration === 'default' || hasNoValue(searchResultMap.get(configuration))) { +export function getSearchResultFor(domainConstructor: GenericConstructor) { return searchResultMap.get(domainConstructor); - } else { - return searchResultMap.get(configuration).get(domainConstructor); - } } diff --git a/src/app/+search-page/search-service/search.service.ts b/src/app/+search-page/search-service/search.service.ts index 7adf4d83c5..3d48ca54c5 100644 --- a/src/app/+search-page/search-service/search.service.ts +++ b/src/app/+search-page/search-service/search.service.ts @@ -158,7 +158,7 @@ export class SearchService implements OnDestroy { let co = DSpaceObject; if (dsos.payload[index]) { const constructor: GenericConstructor = dsos.payload[index].constructor as GenericConstructor; - co = getSearchResultFor(constructor, searchOptions.configuration); + co = getSearchResultFor(constructor); return Object.assign(new co(), object, { indexableObject: dsos.payload[index] }); diff --git a/src/app/entity-groups/journal-entities/item-grid-elements/search-result-grid-elements/journal-issue/journal-issue-search-result-grid-element.component.html b/src/app/entity-groups/journal-entities/item-grid-elements/search-result-grid-elements/journal-issue/journal-issue-search-result-grid-element.component.html index 69ea378269..ed5d11ef71 100644 --- a/src/app/entity-groups/journal-entities/item-grid-elements/search-result-grid-elements/journal-issue/journal-issue-search-result-grid-element.component.html +++ b/src/app/entity-groups/journal-entities/item-grid-elements/search-result-grid-elements/journal-issue/journal-issue-search-result-grid-element.component.html @@ -1,32 +1,30 @@ - - -
- -
- - -
-
-
- - -

+ +
+ +
+ + +
+
+
+ + +

+
+

+ + -

- - - -

-

- - - -

-
- View -
+

+

+ + + +

+
+ View
- - \ No newline at end of file +
+
diff --git a/src/app/entity-groups/journal-entities/item-grid-elements/search-result-grid-elements/journal-volume/journal-volume-search-result-grid-element.component.html b/src/app/entity-groups/journal-entities/item-grid-elements/search-result-grid-elements/journal-volume/journal-volume-search-result-grid-element.component.html index 93559d21bf..4dea5fc879 100644 --- a/src/app/entity-groups/journal-entities/item-grid-elements/search-result-grid-elements/journal-volume/journal-volume-search-result-grid-element.component.html +++ b/src/app/entity-groups/journal-entities/item-grid-elements/search-result-grid-elements/journal-volume/journal-volume-search-result-grid-element.component.html @@ -1,32 +1,30 @@ - - +
- +
- +
- -

+ +

-

- +

+

-

- +

+

- View
-
\ No newline at end of file diff --git a/src/app/entity-groups/journal-entities/item-grid-elements/search-result-grid-elements/journal/journal-search-result-grid-element.component.html b/src/app/entity-groups/journal-entities/item-grid-elements/search-result-grid-elements/journal/journal-search-result-grid-element.component.html index ad37333b90..2474c27b6c 100644 --- a/src/app/entity-groups/journal-entities/item-grid-elements/search-result-grid-elements/journal/journal-search-result-grid-element.component.html +++ b/src/app/entity-groups/journal-entities/item-grid-elements/search-result-grid-elements/journal/journal-search-result-grid-element.component.html @@ -1,37 +1,35 @@ - - -
- -
- - -
-
-
- - -

-
-

- - {{item.firstMetadataValue('creativework.editor')}} - + +

+ +
+ + +
+
+
+ + +

+
+

+ + {{dso.firstMetadataValue('creativework.editor')}} + , - {{item.firstMetadataValue('creativework.publisher')}} + {{dso.firstMetadataValue('creativework.publisher')}} - -

-

- - - -

-
- View -
+ +

+

+ + + +

+
+ View
- - \ No newline at end of file +
+ diff --git a/src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal-issue/journal-issue-search-result-list-element.component.html b/src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal-issue/journal-issue-search-result-list-element.component.html index e0d6e4053a..98a8472975 100644 --- a/src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal-issue/journal-issue-search-result-list-element.component.html +++ b/src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal-issue/journal-issue-search-result-list-element.component.html @@ -1,17 +1,16 @@ - - - - - - - + + + + + - - @@ -20,5 +19,4 @@ - - \ No newline at end of file + diff --git a/src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal-volume/journal-volume-search-result-list-element.component.html b/src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal-volume/journal-volume-search-result-list-element.component.html index f3c0173bde..9af28297d8 100644 --- a/src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal-volume/journal-volume-search-result-list-element.component.html +++ b/src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal-volume/journal-volume-search-result-list-element.component.html @@ -1,18 +1,17 @@ - - - - - - - + + + + + - () @@ -20,5 +19,4 @@ - - \ No newline at end of file + diff --git a/src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal/journal-search-result-list-element.component.html b/src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal/journal-search-result-list-element.component.html index 629149b197..20b689327a 100644 --- a/src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal/journal-search-result-list-element.component.html +++ b/src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal/journal-search-result-list-element.component.html @@ -1,12 +1,11 @@ - - - - - - - + + + + + @@ -14,5 +13,4 @@ - - \ No newline at end of file + diff --git a/src/app/entity-groups/research-entities/item-grid-elements/search-result-grid-elements/orgunit/orgunit-search-result-grid-element.component.html b/src/app/entity-groups/research-entities/item-grid-elements/search-result-grid-elements/orgunit/orgunit-search-result-grid-element.component.html index 799f5bd43c..f3fc0d269b 100644 --- a/src/app/entity-groups/research-entities/item-grid-elements/search-result-grid-elements/orgunit/orgunit-search-result-grid-element.component.html +++ b/src/app/entity-groups/research-entities/item-grid-elements/search-result-grid-elements/orgunit/orgunit-search-result-grid-element.component.html @@ -1,37 +1,35 @@ - - -
- -
- - -
-
-
- - -

+ +
+ +
+ + +
+
+
+ + +

+
+

+ + -

- - - -

-

- - {{item.firstMetadataValue('organization.address.addressCountry')}} - +

+

+ + {{dso.firstMetadataValue('organization.address.addressCountry')}} + , - {{item.firstMetadataValue('organization.address.addressLocality')}} + {{dso.firstMetadataValue('organization.address.addressLocality')}} - -

-
- View -
+ +

+
+ View
- - \ No newline at end of file +
+
diff --git a/src/app/entity-groups/research-entities/item-grid-elements/search-result-grid-elements/person/person-search-result-grid-element.component.html b/src/app/entity-groups/research-entities/item-grid-elements/search-result-grid-elements/person/person-search-result-grid-element.component.html index 1f66fa0d4e..523f524834 100644 --- a/src/app/entity-groups/research-entities/item-grid-elements/search-result-grid-elements/person/person-search-result-grid-element.component.html +++ b/src/app/entity-groups/research-entities/item-grid-elements/search-result-grid-elements/person/person-search-result-grid-element.component.html @@ -1,32 +1,30 @@ - - -
- -
- - -
-
-
- - -

+ +
+ +
+ + +
+
+
+ + +

+
+

+ + -

-

- - - -

-
- View -
+

+

+ + + +

+
+ View
- - \ No newline at end of file +
+
diff --git a/src/app/entity-groups/research-entities/item-grid-elements/search-result-grid-elements/project/project-search-result-grid-element.component.html b/src/app/entity-groups/research-entities/item-grid-elements/search-result-grid-elements/project/project-search-result-grid-element.component.html index 3465388ee0..c409a850cd 100644 --- a/src/app/entity-groups/research-entities/item-grid-elements/search-result-grid-elements/project/project-search-result-grid-element.component.html +++ b/src/app/entity-groups/research-entities/item-grid-elements/search-result-grid-elements/project/project-search-result-grid-element.component.html @@ -1,27 +1,25 @@ - - -
- -
- - -
-
-
- - -

+ +
+ +
+ + +
+
+
+ + +

+
+

+ + -

- - - -

-
- View -
+

+
+ View
- - \ No newline at end of file +
+
diff --git a/src/app/entity-groups/research-entities/item-list-elements/orgunit/orgunit-item-page-list-element.component.ts b/src/app/entity-groups/research-entities/item-list-elements/orgunit/orgunit-item-page-list-element.component.ts index 84ae543f95..62a257010f 100644 --- a/src/app/entity-groups/research-entities/item-list-elements/orgunit/orgunit-item-page-list-element.component.ts +++ b/src/app/entity-groups/research-entities/item-list-elements/orgunit/orgunit-item-page-list-element.component.ts @@ -1,11 +1,13 @@ import { Component } from '@angular/core'; import { ViewMode } from '../../../../core/shared/view-mode.model'; -import { listableObjectComponent } from '../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; +import { DEFAULT_ITEM_TYPE, listableObjectComponent } from '../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; import { Context } from '../../../../core/shared/context.model'; import { AbstractListableElementComponent } from '../../../../shared/object-collection/shared/object-collection-element/abstract-listable-element.component'; import { Item } from '../../../../core/shared/item.model'; +import { metadataRepresentationComponent } from '../../../../shared/metadata-representation/metadata-representation.decorator'; +import { MetadataRepresentationType } from '../../../../core/shared/metadata-representation/metadata-representation.model'; -@listableObjectComponent('OrgUnit', ViewMode.ListElement, Context.ItemPage) +@metadataRepresentationComponent('OrgUnit', MetadataRepresentationType.Item) @Component({ selector: 'ds-orgunit-item-page-list-element', templateUrl: './orgunit-item-page-list-element.component.html' diff --git a/src/app/entity-groups/research-entities/item-list-elements/person/person-item-page-list-element.component.ts b/src/app/entity-groups/research-entities/item-list-elements/person/person-item-page-list-element.component.ts index d90b90262c..696640dae5 100644 --- a/src/app/entity-groups/research-entities/item-list-elements/person/person-item-page-list-element.component.ts +++ b/src/app/entity-groups/research-entities/item-list-elements/person/person-item-page-list-element.component.ts @@ -1,11 +1,10 @@ import { Component } from '@angular/core'; -import { ViewMode } from '../../../../core/shared/view-mode.model'; -import { Context } from '../../../../core/shared/context.model'; -import { listableObjectComponent } from '../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; import { AbstractListableElementComponent } from '../../../../shared/object-collection/shared/object-collection-element/abstract-listable-element.component'; import { Item } from '../../../../core/shared/item.model'; +import { metadataRepresentationComponent } from '../../../../shared/metadata-representation/metadata-representation.decorator'; +import { MetadataRepresentationType } from '../../../../core/shared/metadata-representation/metadata-representation.model'; -@listableObjectComponent('OrgUnit', ViewMode.ListElement, Context.ItemPage) +@metadataRepresentationComponent('Person', MetadataRepresentationType.Item) @Component({ selector: 'ds-person-item-page-list-element', templateUrl: './person-item-page-list-element.component.html' diff --git a/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/orgunit/orgunit-search-result-list-element.component.html b/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/orgunit/orgunit-search-result-list-element.component.html index b833fa735b..4b32ac8278 100644 --- a/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/orgunit/orgunit-search-result-list-element.component.html +++ b/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/orgunit/orgunit-search-result-list-element.component.html @@ -1,18 +1,16 @@ - - - - - - - + + + + + - - - \ No newline at end of file + diff --git a/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/person/person-search-result-list-element.component.html b/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/person/person-search-result-list-element.component.html index 3e1bbbcc2b..c3a471c486 100644 --- a/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/person/person-search-result-list-element.component.html +++ b/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/person/person-search-result-list-element.component.html @@ -1,12 +1,11 @@ - - - - - - - + + + + + @@ -14,5 +13,4 @@ - - \ No newline at end of file + diff --git a/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/project/project-search-result-list-element.component.html b/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/project/project-search-result-list-element.component.html index 1715c7eb2e..df14563102 100644 --- a/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/project/project-search-result-list-element.component.html +++ b/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/project/project-search-result-list-element.component.html @@ -1,12 +1,11 @@ - - - + + - - + + @@ -15,4 +14,3 @@ - \ No newline at end of file diff --git a/src/app/shared/object-collection/shared/claimed-task-my-dspace-result.model.ts b/src/app/shared/object-collection/shared/claimed-task-search-result.model.ts similarity index 75% rename from src/app/shared/object-collection/shared/claimed-task-my-dspace-result.model.ts rename to src/app/shared/object-collection/shared/claimed-task-search-result.model.ts index 051bfe6d9f..734b4716ba 100644 --- a/src/app/shared/object-collection/shared/claimed-task-my-dspace-result.model.ts +++ b/src/app/shared/object-collection/shared/claimed-task-search-result.model.ts @@ -6,6 +6,6 @@ import { searchResultFor } from '../../../+search-page/search-service/search-res /** * Represents a search result object of a ClaimedTask object */ -@searchResultFor(ClaimedTask, MyDSpaceConfigurationValueType.Workflow) -export class ClaimedTaskMyDSpaceResult extends SearchResult { +@searchResultFor(ClaimedTask) +export class ClaimedTaskSearchResult extends SearchResult { } diff --git a/src/app/shared/object-collection/shared/item-my-dspace-result.model.ts b/src/app/shared/object-collection/shared/item-my-dspace-result.model.ts deleted file mode 100644 index e77b9295df..0000000000 --- a/src/app/shared/object-collection/shared/item-my-dspace-result.model.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { Item } from '../../../core/shared/item.model'; -import { SearchResult } from '../../../+search-page/search-result.model'; -import { searchResultFor } from '../../../+search-page/search-service/search-result-element-decorator'; -import { MyDSpaceConfigurationValueType } from '../../../+my-dspace-page/my-dspace-configuration-value-type'; - -/** - * Represents a search result object of a Item object - */ -@searchResultFor(Item, MyDSpaceConfigurationValueType.Workspace) -export class ItemMyDSpaceResult extends SearchResult { - getRenderType(): string { - return ItemMyDSpaceResult.name; - } -} diff --git a/src/app/shared/object-collection/shared/listable-object/listable-object-component-loader.component.ts b/src/app/shared/object-collection/shared/listable-object/listable-object-component-loader.component.ts index 4651a342ac..00e78a3d50 100644 --- a/src/app/shared/object-collection/shared/listable-object/listable-object-component-loader.component.ts +++ b/src/app/shared/object-collection/shared/listable-object/listable-object-component-loader.component.ts @@ -41,6 +41,7 @@ export class ListableObjectComponentLoaderComponent implements OnInit { const componentRef = viewContainerRef.createComponent(componentFactory); (componentRef.instance as any).object = this.object; + (componentRef.instance as any).index = this.index; } /** diff --git a/src/app/shared/object-collection/shared/pool-task-my-dspace-result.model.ts b/src/app/shared/object-collection/shared/pool-task-search-result.model.ts similarity index 76% rename from src/app/shared/object-collection/shared/pool-task-my-dspace-result.model.ts rename to src/app/shared/object-collection/shared/pool-task-search-result.model.ts index 1bc2c4c4c2..b44b172acb 100644 --- a/src/app/shared/object-collection/shared/pool-task-my-dspace-result.model.ts +++ b/src/app/shared/object-collection/shared/pool-task-search-result.model.ts @@ -6,6 +6,6 @@ import { searchResultFor } from '../../../+search-page/search-service/search-res /** * Represents a search result object of a PoolTask object */ -@searchResultFor(PoolTask, MyDSpaceConfigurationValueType.Workflow) -export class PoolTaskMyDSpaceResult extends SearchResult { +@searchResultFor(PoolTask) +export class PoolTaskSearchResult extends SearchResult { } diff --git a/src/app/shared/object-collection/shared/workflowitem-my-dspace-result.model.ts b/src/app/shared/object-collection/shared/workflowitem-search-result.model.ts similarity index 56% rename from src/app/shared/object-collection/shared/workflowitem-my-dspace-result.model.ts rename to src/app/shared/object-collection/shared/workflowitem-search-result.model.ts index d91c03b549..5684976e25 100644 --- a/src/app/shared/object-collection/shared/workflowitem-my-dspace-result.model.ts +++ b/src/app/shared/object-collection/shared/workflowitem-search-result.model.ts @@ -1,11 +1,10 @@ import { WorkflowItem } from '../../../core/submission/models/workflowitem.model'; import { SearchResult } from '../../../+search-page/search-result.model'; -import { MyDSpaceConfigurationValueType } from '../../../+my-dspace-page/my-dspace-configuration-value-type'; import { searchResultFor } from '../../../+search-page/search-service/search-result-element-decorator'; /** * Represents a search result object of a WorkflowItem object */ -@searchResultFor(WorkflowItem, MyDSpaceConfigurationValueType.Workspace) -export class WorkflowitemMyDSpaceResult extends SearchResult { +@searchResultFor(WorkflowItem) +export class WorkflowItemSearchResult extends SearchResult { } diff --git a/src/app/shared/object-collection/shared/workspaceitem-my-dspace-result.model.ts b/src/app/shared/object-collection/shared/workspaceitem-search-result.model.ts similarity index 56% rename from src/app/shared/object-collection/shared/workspaceitem-my-dspace-result.model.ts rename to src/app/shared/object-collection/shared/workspaceitem-search-result.model.ts index b7bd5e31d6..12fde0f8f1 100644 --- a/src/app/shared/object-collection/shared/workspaceitem-my-dspace-result.model.ts +++ b/src/app/shared/object-collection/shared/workspaceitem-search-result.model.ts @@ -1,11 +1,10 @@ import { WorkspaceItem } from '../../../core/submission/models/workspaceitem.model'; -import { MyDSpaceConfigurationValueType } from '../../../+my-dspace-page/my-dspace-configuration-value-type'; import { searchResultFor } from '../../../+search-page/search-service/search-result-element-decorator'; import { SearchResult } from '../../../+search-page/search-result.model'; /** * Represents a search result object of a WorkspaceItem object */ -@searchResultFor(WorkspaceItem, MyDSpaceConfigurationValueType.Workspace) -export class WorkspaceitemMyDSpaceResult extends SearchResult { +@searchResultFor(WorkspaceItem) +export class WorkspaceItemSearchResult extends SearchResult { } diff --git a/src/app/shared/object-detail/my-dspace-result-detail-element/claimed-my-dspace-result/claimed-my-dspace-result-detail-element.component.html b/src/app/shared/object-detail/my-dspace-result-detail-element/claimed-task-search-result/claimed-task-search-result-detail-element.component.html similarity index 100% rename from src/app/shared/object-detail/my-dspace-result-detail-element/claimed-my-dspace-result/claimed-my-dspace-result-detail-element.component.html rename to src/app/shared/object-detail/my-dspace-result-detail-element/claimed-task-search-result/claimed-task-search-result-detail-element.component.html diff --git a/src/app/shared/object-detail/my-dspace-result-detail-element/claimed-my-dspace-result/claimed-my-dspace-result-detail-element.component.spec.ts b/src/app/shared/object-detail/my-dspace-result-detail-element/claimed-task-search-result/claimed-task-search-result-detail-element.component.spec.ts similarity index 78% rename from src/app/shared/object-detail/my-dspace-result-detail-element/claimed-my-dspace-result/claimed-my-dspace-result-detail-element.component.spec.ts rename to src/app/shared/object-detail/my-dspace-result-detail-element/claimed-task-search-result/claimed-task-search-result-detail-element.component.spec.ts index f57eb6420e..63520a8f5f 100644 --- a/src/app/shared/object-detail/my-dspace-result-detail-element/claimed-my-dspace-result/claimed-my-dspace-result-detail-element.component.spec.ts +++ b/src/app/shared/object-detail/my-dspace-result-detail-element/claimed-task-search-result/claimed-task-search-result-detail-element.component.spec.ts @@ -5,20 +5,20 @@ import { NoopAnimationsModule } from '@angular/platform-browser/animations'; import { of as observableOf } from 'rxjs'; import { Item } from '../../../../core/shared/item.model'; -import { ClaimedMyDSpaceResultDetailElementComponent } from './claimed-my-dspace-result-detail-element.component'; -import { ClaimedTaskMyDSpaceResult } from '../../../object-collection/shared/claimed-task-my-dspace-result.model'; +import { ClaimedTaskSearchResultDetailElementComponent } from './claimed-task-search-result-detail-element.component'; +import { ClaimedTaskSearchResult } from '../../../object-collection/shared/claimed-task-my-dspace-result.model'; import { ClaimedTask } from '../../../../core/tasks/models/claimed-task-object.model'; import { RemoteData } from '../../../../core/data/remote-data'; import { MyDspaceItemStatusType } from '../../../object-collection/shared/mydspace-item-status/my-dspace-item-status-type'; import { WorkflowItem } from '../../../../core/submission/models/workflowitem.model'; import { createSuccessfulRemoteDataObject } from '../../../testing/utils'; -let component: ClaimedMyDSpaceResultDetailElementComponent; -let fixture: ComponentFixture; +let component: ClaimedTaskSearchResultDetailElementComponent; +let fixture: ComponentFixture; const compIndex = 1; -const mockResultObject: ClaimedTaskMyDSpaceResult = new ClaimedTaskMyDSpaceResult(); +const mockResultObject: ClaimedTaskSearchResult = new ClaimedTaskSearchResult(); mockResultObject.hitHighlights = {}; const item = Object.assign(new Item(), { @@ -59,19 +59,19 @@ describe('ClaimedMyDSpaceResultDetailElementComponent', () => { beforeEach(async(() => { TestBed.configureTestingModule({ imports: [NoopAnimationsModule], - declarations: [ClaimedMyDSpaceResultDetailElementComponent], + declarations: [ClaimedTaskSearchResultDetailElementComponent], providers: [ { provide: 'objectElementProvider', useValue: (mockResultObject) }, { provide: 'indexElementProvider', useValue: (compIndex) } ], schemas: [NO_ERRORS_SCHEMA] - }).overrideComponent(ClaimedMyDSpaceResultDetailElementComponent, { + }).overrideComponent(ClaimedTaskSearchResultDetailElementComponent, { set: { changeDetection: ChangeDetectionStrategy.Default } }).compileComponents(); })); beforeEach(async(() => { - fixture = TestBed.createComponent(ClaimedMyDSpaceResultDetailElementComponent); + fixture = TestBed.createComponent(ClaimedTaskSearchResultDetailElementComponent); component = fixture.componentInstance; })); diff --git a/src/app/shared/object-detail/my-dspace-result-detail-element/claimed-my-dspace-result/claimed-my-dspace-result-detail-element.component.ts b/src/app/shared/object-detail/my-dspace-result-detail-element/claimed-task-search-result/claimed-task-search-result-detail-element.component.ts similarity index 65% rename from src/app/shared/object-detail/my-dspace-result-detail-element/claimed-my-dspace-result/claimed-my-dspace-result-detail-element.component.ts rename to src/app/shared/object-detail/my-dspace-result-detail-element/claimed-task-search-result/claimed-task-search-result-detail-element.component.ts index 91ddbaf09a..80e0fe0048 100644 --- a/src/app/shared/object-detail/my-dspace-result-detail-element/claimed-my-dspace-result/claimed-my-dspace-result-detail-element.component.ts +++ b/src/app/shared/object-detail/my-dspace-result-detail-element/claimed-task-search-result/claimed-task-search-result-detail-element.component.ts @@ -6,27 +6,24 @@ import { find } from 'rxjs/operators'; import { RemoteData } from '../../../../core/data/remote-data'; import { ViewMode } from '../../../../core/shared/view-mode.model'; import { isNotUndefined } from '../../../empty.util'; -import { ListableObject } from '../../../object-collection/shared/listable-object.model'; import { WorkflowItem } from '../../../../core/submission/models/workflowitem.model'; import { ClaimedTask } from '../../../../core/tasks/models/claimed-task-object.model'; -import { ClaimedTaskMyDSpaceResult } from '../../../object-collection/shared/claimed-task-my-dspace-result.model'; -import { MyDSpaceResultDetailElementComponent } from '../my-dspace-result-detail-element.component'; +import { SearchResultDetailElementComponent } from '../search-result-detail-element.component'; import { MyDspaceItemStatusType } from '../../../object-collection/shared/mydspace-item-status/my-dspace-item-status-type'; import { listableObjectComponent } from '../../../object-collection/shared/listable-object/listable-object.decorator'; -import { Context } from '../../../../core/shared/context.model'; +import { ClaimedTaskSearchResult } from '../../../object-collection/shared/claimed-task-search-result.model'; /** * This component renders claimed task object for the mydspace result in the detail view. */ @Component({ - selector: 'ds-claimed-my-dspace-result-detail-element', - styleUrls: ['../my-dspace-result-detail-element.component.scss'], - templateUrl: './claimed-my-dspace-result-detail-element.component.html' + selector: 'ds-claimed-task-search-result-detail-element', + styleUrls: ['../search-result-detail-element.component.scss'], + templateUrl: './claimed-task-search-result-detail-element.component.html' }) -@listableObjectComponent(ClaimedTaskMyDSpaceResult.name, ViewMode.DetailedListElement) -@listableObjectComponent(ClaimedTask.name, ViewMode.DetailedListElement) -export class ClaimedMyDSpaceResultDetailElementComponent extends MyDSpaceResultDetailElementComponent { +@listableObjectComponent(ClaimedTaskSearchResult.name, ViewMode.DetailedListElement) +export class ClaimedTaskSearchResultDetailElementComponent extends SearchResultDetailElementComponent { /** * A boolean representing if to show submitter information diff --git a/src/app/shared/object-detail/my-dspace-result-detail-element/item-detail-preview/item-detail-preview-field/item-detail-preview-field.component.ts b/src/app/shared/object-detail/my-dspace-result-detail-element/item-detail-preview/item-detail-preview-field/item-detail-preview-field.component.ts index b53d0a6b2d..c87a771f51 100644 --- a/src/app/shared/object-detail/my-dspace-result-detail-element/item-detail-preview/item-detail-preview-field/item-detail-preview-field.component.ts +++ b/src/app/shared/object-detail/my-dspace-result-detail-element/item-detail-preview/item-detail-preview-field/item-detail-preview-field.component.ts @@ -1,8 +1,8 @@ import { Component, Input } from '@angular/core'; import { Metadata } from '../../../../../core/shared/metadata.utils'; -import { MyDSpaceResult } from '../../../../../+my-dspace-page/my-dspace-result.model'; import { Item } from '../../../../../core/shared/item.model'; +import { SearchResult } from '../../../../../+search-page/search-result.model'; /** * This component show values for the given item metadata @@ -21,7 +21,7 @@ export class ItemDetailPreviewFieldComponent { /** * The mydspace result object */ - @Input() object: MyDSpaceResult; + @Input() object: SearchResult; /** * The metadata label diff --git a/src/app/shared/object-detail/my-dspace-result-detail-element/item-detail-preview/item-detail-preview.component.ts b/src/app/shared/object-detail/my-dspace-result-detail-element/item-detail-preview/item-detail-preview.component.ts index d26bfc4589..772ba3e50a 100644 --- a/src/app/shared/object-detail/my-dspace-result-detail-element/item-detail-preview/item-detail-preview.component.ts +++ b/src/app/shared/object-detail/my-dspace-result-detail-element/item-detail-preview/item-detail-preview.component.ts @@ -6,7 +6,7 @@ import { Item } from '../../../../core/shared/item.model'; import { MyDspaceItemStatusType } from '../../../object-collection/shared/mydspace-item-status/my-dspace-item-status-type'; import { fadeInOut } from '../../../animations/fade'; import { Bitstream } from '../../../../core/shared/bitstream.model'; -import { MyDSpaceResult } from '../../../../+my-dspace-page/my-dspace-result.model'; +import { SearchResult } from '../../../../+search-page/search-result.model'; /** * This component show metadata for the given item object in the detail view. @@ -27,7 +27,7 @@ export class ItemDetailPreviewComponent { /** * The mydspace result object */ - @Input() object: MyDSpaceResult; + @Input() object: SearchResult; /** * Represent item's status diff --git a/src/app/shared/object-detail/my-dspace-result-detail-element/item-my-dspace-result/item-my-dspace-result-detail-element.component.ts b/src/app/shared/object-detail/my-dspace-result-detail-element/item-my-dspace-result/item-my-dspace-result-detail-element.component.ts deleted file mode 100644 index 3788a0da4c..0000000000 --- a/src/app/shared/object-detail/my-dspace-result-detail-element/item-my-dspace-result/item-my-dspace-result-detail-element.component.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { Component } from '@angular/core'; - -import { ViewMode } from '../../../../core/shared/view-mode.model'; -import { Item } from '../../../../core/shared/item.model'; -import { ItemMyDSpaceResult } from '../../../object-collection/shared/item-my-dspace-result.model'; -import { MyDSpaceResultDetailElementComponent } from '../my-dspace-result-detail-element.component'; -import { MyDspaceItemStatusType } from '../../../object-collection/shared/mydspace-item-status/my-dspace-item-status-type'; -import { listableObjectComponent } from '../../../object-collection/shared/listable-object/listable-object.decorator'; - -/** - * This component renders item object for the mydspace result in the detail view. - */ -@Component({ - selector: 'ds-workspaceitem-my-dspace-result-detail-element', - styleUrls: ['../my-dspace-result-detail-element.component.scss', './item-my-dspace-result-detail-element.component.scss'], - templateUrl: './item-my-dspace-result-detail-element.component.html' -}) - -@listableObjectComponent(ItemMyDSpaceResult.name, ViewMode.DetailedListElement) -export class ItemMyDSpaceResultDetailElementComponent extends MyDSpaceResultDetailElementComponent { - - /** - * Represent item's status - */ - public status = MyDspaceItemStatusType.ARCHIVED; - -} diff --git a/src/app/shared/object-detail/my-dspace-result-detail-element/item-my-dspace-result/item-my-dspace-result-detail-element.component.html b/src/app/shared/object-detail/my-dspace-result-detail-element/item-search-result/item-search-result-detail-element.component.html similarity index 100% rename from src/app/shared/object-detail/my-dspace-result-detail-element/item-my-dspace-result/item-my-dspace-result-detail-element.component.html rename to src/app/shared/object-detail/my-dspace-result-detail-element/item-search-result/item-search-result-detail-element.component.html diff --git a/src/app/shared/object-detail/my-dspace-result-detail-element/item-my-dspace-result/item-my-dspace-result-detail-element.component.scss b/src/app/shared/object-detail/my-dspace-result-detail-element/item-search-result/item-search-result-detail-element.component.scss similarity index 100% rename from src/app/shared/object-detail/my-dspace-result-detail-element/item-my-dspace-result/item-my-dspace-result-detail-element.component.scss rename to src/app/shared/object-detail/my-dspace-result-detail-element/item-search-result/item-search-result-detail-element.component.scss diff --git a/src/app/shared/object-detail/my-dspace-result-detail-element/item-my-dspace-result/item-my-dspace-result-detail-element.component.spec.ts b/src/app/shared/object-detail/my-dspace-result-detail-element/item-search-result/item-search-result-detail-element.component.spec.ts similarity index 74% rename from src/app/shared/object-detail/my-dspace-result-detail-element/item-my-dspace-result/item-my-dspace-result-detail-element.component.spec.ts rename to src/app/shared/object-detail/my-dspace-result-detail-element/item-search-result/item-search-result-detail-element.component.spec.ts index c99f44cbae..070fedde81 100644 --- a/src/app/shared/object-detail/my-dspace-result-detail-element/item-my-dspace-result/item-my-dspace-result-detail-element.component.spec.ts +++ b/src/app/shared/object-detail/my-dspace-result-detail-element/item-search-result/item-search-result-detail-element.component.spec.ts @@ -5,16 +5,16 @@ import { NoopAnimationsModule } from '@angular/platform-browser/animations'; import { of as observableOf } from 'rxjs'; import { Item } from '../../../../core/shared/item.model'; -import { ItemMyDSpaceResultDetailElementComponent } from './item-my-dspace-result-detail-element.component'; +import { ItemSearchResultDetailElementComponent } from './item-search-result-detail-element.component'; import { MyDspaceItemStatusType } from '../../../object-collection/shared/mydspace-item-status/my-dspace-item-status-type'; -import { ItemMyDSpaceResult } from '../../../object-collection/shared/item-my-dspace-result.model'; +import { ItemSearchResult } from '../../../object-collection/shared/item-search-result.model'; -let component: ItemMyDSpaceResultDetailElementComponent; -let fixture: ComponentFixture; +let component: ItemSearchResultDetailElementComponent; +let fixture: ComponentFixture; const compIndex = 1; -const mockResultObject: ItemMyDSpaceResult = new ItemMyDSpaceResult(); +const mockResultObject: ItemSearchResult = new ItemSearchResult(); mockResultObject.hitHighlights = {}; mockResultObject.indexableObject = Object.assign(new Item(), { @@ -51,19 +51,19 @@ describe('ItemMyDSpaceResultDetailElementComponent', () => { beforeEach(async(() => { TestBed.configureTestingModule({ imports: [NoopAnimationsModule], - declarations: [ItemMyDSpaceResultDetailElementComponent], + declarations: [ItemSearchResultDetailElementComponent], providers: [ { provide: 'objectElementProvider', useValue: (mockResultObject) }, { provide: 'indexElementProvider', useValue: (compIndex) } ], schemas: [NO_ERRORS_SCHEMA] - }).overrideComponent(ItemMyDSpaceResultDetailElementComponent, { + }).overrideComponent(ItemSearchResultDetailElementComponent, { set: { changeDetection: ChangeDetectionStrategy.Default } }).compileComponents(); })); beforeEach(async(() => { - fixture = TestBed.createComponent(ItemMyDSpaceResultDetailElementComponent); + fixture = TestBed.createComponent(ItemSearchResultDetailElementComponent); component = fixture.componentInstance; })); diff --git a/src/app/shared/object-detail/my-dspace-result-detail-element/item-search-result/item-search-result-detail-element.component.ts b/src/app/shared/object-detail/my-dspace-result-detail-element/item-search-result/item-search-result-detail-element.component.ts new file mode 100644 index 0000000000..c0e3db6348 --- /dev/null +++ b/src/app/shared/object-detail/my-dspace-result-detail-element/item-search-result/item-search-result-detail-element.component.ts @@ -0,0 +1,27 @@ +import { Component } from '@angular/core'; + +import { ViewMode } from '../../../../core/shared/view-mode.model'; +import { Item } from '../../../../core/shared/item.model'; +import { SearchResultDetailElementComponent } from '../search-result-detail-element.component'; +import { MyDspaceItemStatusType } from '../../../object-collection/shared/mydspace-item-status/my-dspace-item-status-type'; +import { listableObjectComponent } from '../../../object-collection/shared/listable-object/listable-object.decorator'; +import { ItemSearchResult } from '../../../object-collection/shared/item-search-result.model'; + +/** + * This component renders item object for the mydspace result in the detail view. + */ +@Component({ + selector: 'ds-item-search-result-detail-element', + styleUrls: ['../search-result-detail-element.component.scss', './item-search-result-detail-element.component.scss'], + templateUrl: './item-search-result-detail-element.component.html' +}) + +@listableObjectComponent('PublicationSearchResult', ViewMode.DetailedListElement) +export class ItemSearchResultDetailElementComponent extends SearchResultDetailElementComponent { + + /** + * Represent item's status + */ + public status = MyDspaceItemStatusType.ARCHIVED; + +} diff --git a/src/app/shared/object-detail/my-dspace-result-detail-element/pool-my-dspace-result/pool-my-dspace-result-detail-element.component.html b/src/app/shared/object-detail/my-dspace-result-detail-element/pool-my-dspace-result/pool-search-result-detail-element.component.html similarity index 100% rename from src/app/shared/object-detail/my-dspace-result-detail-element/pool-my-dspace-result/pool-my-dspace-result-detail-element.component.html rename to src/app/shared/object-detail/my-dspace-result-detail-element/pool-my-dspace-result/pool-search-result-detail-element.component.html diff --git a/src/app/shared/object-detail/my-dspace-result-detail-element/pool-my-dspace-result/pool-my-dspace-result-detail-element.component.spec.ts b/src/app/shared/object-detail/my-dspace-result-detail-element/pool-my-dspace-result/pool-search-result-detail-element.component.spec.ts similarity index 79% rename from src/app/shared/object-detail/my-dspace-result-detail-element/pool-my-dspace-result/pool-my-dspace-result-detail-element.component.spec.ts rename to src/app/shared/object-detail/my-dspace-result-detail-element/pool-my-dspace-result/pool-search-result-detail-element.component.spec.ts index 456b7dc97a..b6fd29e8a6 100644 --- a/src/app/shared/object-detail/my-dspace-result-detail-element/pool-my-dspace-result/pool-my-dspace-result-detail-element.component.spec.ts +++ b/src/app/shared/object-detail/my-dspace-result-detail-element/pool-my-dspace-result/pool-search-result-detail-element.component.spec.ts @@ -5,19 +5,19 @@ import { NoopAnimationsModule } from '@angular/platform-browser/animations'; import { of as observableOf } from 'rxjs'; import { Item } from '../../../../core/shared/item.model'; -import { PoolMyDSpaceResultDetailElementComponent } from './pool-my-dspace-result-detail-element.component'; -import { PoolTaskMyDSpaceResult } from '../../../object-collection/shared/pool-task-my-dspace-result.model'; +import { PoolSearchResultDetailElementComponent } from './pool-my-dspace-result-detail-element.component'; +import { PoolTaskSearchResult } from '../../../object-collection/shared/pool-task-my-dspace-result.model'; import { PoolTask } from '../../../../core/tasks/models/pool-task-object.model'; import { MyDspaceItemStatusType } from '../../../object-collection/shared/mydspace-item-status/my-dspace-item-status-type'; import { WorkflowItem } from '../../../../core/submission/models/workflowitem.model'; import { createSuccessfulRemoteDataObject } from '../../../testing/utils'; -let component: PoolMyDSpaceResultDetailElementComponent; -let fixture: ComponentFixture; +let component: PoolSearchResultDetailElementComponent; +let fixture: ComponentFixture; const compIndex = 1; -const mockResultObject: PoolTaskMyDSpaceResult = new PoolTaskMyDSpaceResult(); +const mockResultObject: PoolTaskSearchResult = new PoolTaskSearchResult(); mockResultObject.hitHighlights = {}; const item = Object.assign(new Item(), { @@ -58,19 +58,19 @@ describe('PoolMyDSpaceResultDetailElementComponent', () => { beforeEach(async(() => { TestBed.configureTestingModule({ imports: [NoopAnimationsModule], - declarations: [PoolMyDSpaceResultDetailElementComponent], + declarations: [PoolSearchResultDetailElementComponent], providers: [ { provide: 'objectElementProvider', useValue: (mockResultObject) }, { provide: 'indexElementProvider', useValue: (compIndex) } ], schemas: [NO_ERRORS_SCHEMA] - }).overrideComponent(PoolMyDSpaceResultDetailElementComponent, { + }).overrideComponent(PoolSearchResultDetailElementComponent, { set: { changeDetection: ChangeDetectionStrategy.Default } }).compileComponents(); })); beforeEach(async(() => { - fixture = TestBed.createComponent(PoolMyDSpaceResultDetailElementComponent); + fixture = TestBed.createComponent(PoolSearchResultDetailElementComponent); component = fixture.componentInstance; })); diff --git a/src/app/shared/object-detail/my-dspace-result-detail-element/pool-my-dspace-result/pool-my-dspace-result-detail-element.component.ts b/src/app/shared/object-detail/my-dspace-result-detail-element/pool-my-dspace-result/pool-search-result-detail-element.component.ts similarity index 68% rename from src/app/shared/object-detail/my-dspace-result-detail-element/pool-my-dspace-result/pool-my-dspace-result-detail-element.component.ts rename to src/app/shared/object-detail/my-dspace-result-detail-element/pool-my-dspace-result/pool-search-result-detail-element.component.ts index e9ff84b7cf..4a64d99a50 100644 --- a/src/app/shared/object-detail/my-dspace-result-detail-element/pool-my-dspace-result/pool-my-dspace-result-detail-element.component.ts +++ b/src/app/shared/object-detail/my-dspace-result-detail-element/pool-my-dspace-result/pool-search-result-detail-element.component.ts @@ -4,27 +4,25 @@ import { Observable } from 'rxjs'; import { find } from 'rxjs/operators'; import { RemoteData } from '../../../../core/data/remote-data'; import { isNotUndefined } from '../../../empty.util'; -import { ListableObject } from '../../../object-collection/shared/listable-object.model'; import { PoolTask } from '../../../../core/tasks/models/pool-task-object.model'; -import { PoolTaskMyDSpaceResult } from '../../../object-collection/shared/pool-task-my-dspace-result.model'; -import { MyDSpaceResultDetailElementComponent } from '../my-dspace-result-detail-element.component'; +import { SearchResultDetailElementComponent } from '../search-result-detail-element.component'; import { MyDspaceItemStatusType } from '../../../object-collection/shared/mydspace-item-status/my-dspace-item-status-type'; import { WorkflowItem } from '../../../../core/submission/models/workflowitem.model'; import { ViewMode } from '../../../../core/shared/view-mode.model'; import { listableObjectComponent } from '../../../object-collection/shared/listable-object/listable-object.decorator'; +import { PoolTaskSearchResult } from '../../../object-collection/shared/pool-task-search-result.model'; /** * This component renders pool task object for the mydspace result in the detail view. */ @Component({ - selector: 'ds-pool-my-dspace-result-detail-element', - styleUrls: ['../my-dspace-result-detail-element.component.scss'], - templateUrl: './pool-my-dspace-result-detail-element.component.html', + selector: 'ds-pool-search-result-detail-element', + styleUrls: ['../search-result-detail-element.component.scss'], + templateUrl: './pool-search-result-detail-element.component.html', }) -@listableObjectComponent(PoolTaskMyDSpaceResult.name, ViewMode.DetailedListElement) -@listableObjectComponent(PoolTask.name, ViewMode.DetailedListElement) -export class PoolMyDSpaceResultDetailElementComponent extends MyDSpaceResultDetailElementComponent { +@listableObjectComponent(PoolTaskSearchResult.name, ViewMode.DetailedListElement) +export class PoolSearchResultDetailElementComponent extends SearchResultDetailElementComponent { /** * A boolean representing if to show submitter information diff --git a/src/app/shared/object-detail/my-dspace-result-detail-element/my-dspace-result-detail-element.component.scss b/src/app/shared/object-detail/my-dspace-result-detail-element/search-result-detail-element.component.scss similarity index 100% rename from src/app/shared/object-detail/my-dspace-result-detail-element/my-dspace-result-detail-element.component.scss rename to src/app/shared/object-detail/my-dspace-result-detail-element/search-result-detail-element.component.scss diff --git a/src/app/shared/object-detail/my-dspace-result-detail-element/my-dspace-result-detail-element.component.ts b/src/app/shared/object-detail/my-dspace-result-detail-element/search-result-detail-element.component.ts similarity index 68% rename from src/app/shared/object-detail/my-dspace-result-detail-element/my-dspace-result-detail-element.component.ts rename to src/app/shared/object-detail/my-dspace-result-detail-element/search-result-detail-element.component.ts index 1b83468c68..b5b60c9035 100644 --- a/src/app/shared/object-detail/my-dspace-result-detail-element/my-dspace-result-detail-element.component.ts +++ b/src/app/shared/object-detail/my-dspace-result-detail-element/search-result-detail-element.component.ts @@ -1,30 +1,26 @@ -import { Component, Inject } from '@angular/core'; +import { Component, OnInit } from '@angular/core'; -import { MyDSpaceResult } from '../../../+my-dspace-page/my-dspace-result.model'; import { AbstractListableElementComponent } from '../../object-collection/shared/object-collection-element/abstract-listable-element.component'; -import { ListableObject } from '../../object-collection/shared/listable-object.model'; import { DSpaceObject } from '../../../core/shared/dspace-object.model'; import { Metadata } from '../../../core/shared/metadata.utils'; +import { SearchResult } from '../../../+search-page/search-result.model'; +import { hasValue } from '../../empty.util'; @Component({ - selector: 'ds-my-dspace-result-detail-element', + selector: 'ds-search-result-detail-element', template: `` }) -export class MyDSpaceResultDetailElementComponent, K extends DSpaceObject> extends AbstractListableElementComponent { +export class SearchResultDetailElementComponent, K extends DSpaceObject> extends AbstractListableElementComponent implements OnInit { /** * The result element object */ dso: K; - /** - * Initialize instance variables - * - * @param {ListableObject} detailable - */ - public constructor() { - super(); - this.dso = this.object.indexableObject; + ngOnInit(): void { + if (hasValue(this.object)) { + this.dso = this.object.indexableObject; + } } /** diff --git a/src/app/shared/object-detail/my-dspace-result-detail-element/workflowitem-my-dspace-result/workflowitem-my-dspace-result-detail-element.component.html b/src/app/shared/object-detail/my-dspace-result-detail-element/workflow-item-search-result/workflow-item-search-result-detail-element.component.html similarity index 100% rename from src/app/shared/object-detail/my-dspace-result-detail-element/workflowitem-my-dspace-result/workflowitem-my-dspace-result-detail-element.component.html rename to src/app/shared/object-detail/my-dspace-result-detail-element/workflow-item-search-result/workflow-item-search-result-detail-element.component.html diff --git a/src/app/shared/object-detail/my-dspace-result-detail-element/workflowitem-my-dspace-result/workflowitem-my-dspace-result-detail-element.component.spec.ts b/src/app/shared/object-detail/my-dspace-result-detail-element/workflow-item-search-result/workflow-item-search-result-detail-element.component.spec.ts similarity index 76% rename from src/app/shared/object-detail/my-dspace-result-detail-element/workflowitem-my-dspace-result/workflowitem-my-dspace-result-detail-element.component.spec.ts rename to src/app/shared/object-detail/my-dspace-result-detail-element/workflow-item-search-result/workflow-item-search-result-detail-element.component.spec.ts index 2a4b1321e2..a4f0e3542a 100644 --- a/src/app/shared/object-detail/my-dspace-result-detail-element/workflowitem-my-dspace-result/workflowitem-my-dspace-result-detail-element.component.spec.ts +++ b/src/app/shared/object-detail/my-dspace-result-detail-element/workflow-item-search-result/workflow-item-search-result-detail-element.component.spec.ts @@ -5,19 +5,19 @@ import { NoopAnimationsModule } from '@angular/platform-browser/animations'; import { of as observableOf } from 'rxjs'; import { Item } from '../../../../core/shared/item.model'; -import { WorkflowitemMyDSpaceResultDetailElementComponent } from './workflowitem-my-dspace-result-detail-element.component'; -import { WorkflowitemMyDSpaceResult } from '../../../object-collection/shared/workflowitem-my-dspace-result.model'; +import { WorkflowItemSearchResultDetailElementComponent } from './workflow-item-search-result-detail-element.component'; +import { WorkflowItemSearchResult } from '../../../object-collection/shared/workflowitem-my-dspace-result.model'; import { WorkflowItem } from '../../../../core/submission/models/workflowitem.model'; import { RemoteData } from '../../../../core/data/remote-data'; import { MyDspaceItemStatusType } from '../../../object-collection/shared/mydspace-item-status/my-dspace-item-status-type'; import { createSuccessfulRemoteDataObject } from '../../../testing/utils'; -let component: WorkflowitemMyDSpaceResultDetailElementComponent; -let fixture: ComponentFixture; +let component: WorkflowItemSearchResultDetailElementComponent; +let fixture: ComponentFixture; const compIndex = 1; -const mockResultObject: WorkflowitemMyDSpaceResult = new WorkflowitemMyDSpaceResult(); +const mockResultObject: WorkflowItemSearchResult = new WorkflowItemSearchResult(); mockResultObject.hitHighlights = {}; const item = Object.assign(new Item(), { @@ -56,19 +56,19 @@ describe('WorkflowitemMyDSpaceResultDetailElementComponent', () => { beforeEach(async(() => { TestBed.configureTestingModule({ imports: [NoopAnimationsModule], - declarations: [WorkflowitemMyDSpaceResultDetailElementComponent], + declarations: [WorkflowItemSearchResultDetailElementComponent], providers: [ { provide: 'objectElementProvider', useValue: (mockResultObject) }, { provide: 'indexElementProvider', useValue: (compIndex) } ], schemas: [NO_ERRORS_SCHEMA] - }).overrideComponent(WorkflowitemMyDSpaceResultDetailElementComponent, { + }).overrideComponent(WorkflowItemSearchResultDetailElementComponent, { set: { changeDetection: ChangeDetectionStrategy.Default } }).compileComponents(); })); beforeEach(async(() => { - fixture = TestBed.createComponent(WorkflowitemMyDSpaceResultDetailElementComponent); + fixture = TestBed.createComponent(WorkflowItemSearchResultDetailElementComponent); component = fixture.componentInstance; })); diff --git a/src/app/shared/object-detail/my-dspace-result-detail-element/workflowitem-my-dspace-result/workflowitem-my-dspace-result-detail-element.component.ts b/src/app/shared/object-detail/my-dspace-result-detail-element/workflow-item-search-result/workflow-item-search-result-detail-element.component.ts similarity index 63% rename from src/app/shared/object-detail/my-dspace-result-detail-element/workflowitem-my-dspace-result/workflowitem-my-dspace-result-detail-element.component.ts rename to src/app/shared/object-detail/my-dspace-result-detail-element/workflow-item-search-result/workflow-item-search-result-detail-element.component.ts index 4d6b047f56..20ef2148ad 100644 --- a/src/app/shared/object-detail/my-dspace-result-detail-element/workflowitem-my-dspace-result/workflowitem-my-dspace-result-detail-element.component.ts +++ b/src/app/shared/object-detail/my-dspace-result-detail-element/workflow-item-search-result/workflow-item-search-result-detail-element.component.ts @@ -2,29 +2,27 @@ import { Component, Inject } from '@angular/core'; import { ViewMode } from '../../../../core/shared/view-mode.model'; import { Item } from '../../../../core/shared/item.model'; -import { ListableObject } from '../../../object-collection/shared/listable-object.model'; -import { WorkflowitemMyDSpaceResult } from '../../../object-collection/shared/workflowitem-my-dspace-result.model'; import { WorkflowItem } from '../../../../core/submission/models/workflowitem.model'; -import { MyDSpaceResultDetailElementComponent } from '../my-dspace-result-detail-element.component'; +import { SearchResultDetailElementComponent } from '../search-result-detail-element.component'; import { MyDspaceItemStatusType } from '../../../object-collection/shared/mydspace-item-status/my-dspace-item-status-type'; import { Observable } from 'rxjs/internal/Observable'; import { RemoteData } from '../../../../core/data/remote-data'; import { find } from 'rxjs/operators'; import { isNotUndefined } from '../../../empty.util'; import { listableObjectComponent } from '../../../object-collection/shared/listable-object/listable-object.decorator'; +import { WorkflowItemSearchResult } from '../../../object-collection/shared/workflowitem-search-result.model'; /** * This component renders workflowitem object for the mydspace result in the detail view. */ @Component({ - selector: 'ds-workflowitem-my-dspace-result-detail-element', - styleUrls: ['../my-dspace-result-detail-element.component.scss'], - templateUrl: './workflowitem-my-dspace-result-detail-element.component.html', + selector: 'ds-workflow-item-search-result-detail-element', + styleUrls: ['../search-result-detail-element.component.scss'], + templateUrl: './workflow-item-search-result-detail-element.component.html', }) -@listableObjectComponent(WorkflowitemMyDSpaceResult.name, ViewMode.DetailedListElement) -@listableObjectComponent(WorkflowItem.name, ViewMode.DetailedListElement) -export class WorkflowitemMyDSpaceResultDetailElementComponent extends MyDSpaceResultDetailElementComponent { +@listableObjectComponent(WorkflowItemSearchResult.name, ViewMode.DetailedListElement) +export class WorkflowItemSearchResultDetailElementComponent extends SearchResultDetailElementComponent { /** * The item object that belonging to the result object diff --git a/src/app/shared/object-detail/my-dspace-result-detail-element/workspaceitem-my-dspace-result/workspaceitem-my-dspace-result-detail-element.component.html b/src/app/shared/object-detail/my-dspace-result-detail-element/workspace-item-my-dspace-result/workspace-item-search-result-detail-element.component.html similarity index 100% rename from src/app/shared/object-detail/my-dspace-result-detail-element/workspaceitem-my-dspace-result/workspaceitem-my-dspace-result-detail-element.component.html rename to src/app/shared/object-detail/my-dspace-result-detail-element/workspace-item-my-dspace-result/workspace-item-search-result-detail-element.component.html diff --git a/src/app/shared/object-detail/my-dspace-result-detail-element/workspaceitem-my-dspace-result/workspaceitem-my-dspace-result-detail-element.component.scss b/src/app/shared/object-detail/my-dspace-result-detail-element/workspace-item-my-dspace-result/workspace-item-search-result-detail-element.component.scss similarity index 100% rename from src/app/shared/object-detail/my-dspace-result-detail-element/workspaceitem-my-dspace-result/workspaceitem-my-dspace-result-detail-element.component.scss rename to src/app/shared/object-detail/my-dspace-result-detail-element/workspace-item-my-dspace-result/workspace-item-search-result-detail-element.component.scss diff --git a/src/app/shared/object-detail/my-dspace-result-detail-element/workspaceitem-my-dspace-result/workspaceitem-my-dspace-result-detail-element.component.spec.ts b/src/app/shared/object-detail/my-dspace-result-detail-element/workspace-item-my-dspace-result/workspace-item-search-result-detail-element.component.spec.ts similarity index 75% rename from src/app/shared/object-detail/my-dspace-result-detail-element/workspaceitem-my-dspace-result/workspaceitem-my-dspace-result-detail-element.component.spec.ts rename to src/app/shared/object-detail/my-dspace-result-detail-element/workspace-item-my-dspace-result/workspace-item-search-result-detail-element.component.spec.ts index 0e16b9c0f6..ebd0d1ba6a 100644 --- a/src/app/shared/object-detail/my-dspace-result-detail-element/workspaceitem-my-dspace-result/workspaceitem-my-dspace-result-detail-element.component.spec.ts +++ b/src/app/shared/object-detail/my-dspace-result-detail-element/workspace-item-my-dspace-result/workspace-item-search-result-detail-element.component.spec.ts @@ -5,19 +5,19 @@ import { NoopAnimationsModule } from '@angular/platform-browser/animations'; import { of as observableOf } from 'rxjs'; import { Item } from '../../../../core/shared/item.model'; -import { WorkspaceitemMyDSpaceResultDetailElementComponent } from './workspaceitem-my-dspace-result-detail-element.component'; -import { WorkspaceitemMyDSpaceResult } from '../../../object-collection/shared/workspaceitem-my-dspace-result.model'; +import { WorkspaceItemSearchResultDetailElementComponent } from './workspace-item-search-result-detail-element.component'; +import { WorkflowItemSearchResult } from '../../../object-collection/shared/workspaceitem-my-dspace-result.model'; import { WorkspaceItem } from '../../../../core/submission/models/workspaceitem.model'; import { RemoteData } from '../../../../core/data/remote-data'; import { MyDspaceItemStatusType } from '../../../object-collection/shared/mydspace-item-status/my-dspace-item-status-type'; import { createSuccessfulRemoteDataObject } from '../../../testing/utils'; -let component: WorkspaceitemMyDSpaceResultDetailElementComponent; -let fixture: ComponentFixture; +let component: WorkspaceItemSearchResultDetailElementComponent; +let fixture: ComponentFixture; const compIndex = 1; -const mockResultObject: WorkspaceitemMyDSpaceResult = new WorkspaceitemMyDSpaceResult(); +const mockResultObject: WorkflowItemSearchResult = new WorkflowItemSearchResult(); mockResultObject.hitHighlights = {}; const item = Object.assign(new Item(), { @@ -56,19 +56,19 @@ describe('WorkspaceitemMyDSpaceResultDetailElementComponent', () => { beforeEach(async(() => { TestBed.configureTestingModule({ imports: [NoopAnimationsModule], - declarations: [WorkspaceitemMyDSpaceResultDetailElementComponent], + declarations: [WorkspaceItemSearchResultDetailElementComponent], providers: [ { provide: 'objectElementProvider', useValue: (mockResultObject) }, { provide: 'indexElementProvider', useValue: (compIndex) } ], schemas: [NO_ERRORS_SCHEMA] - }).overrideComponent(WorkspaceitemMyDSpaceResultDetailElementComponent, { + }).overrideComponent(WorkspaceItemSearchResultDetailElementComponent, { set: { changeDetection: ChangeDetectionStrategy.Default } }).compileComponents(); })); beforeEach(async(() => { - fixture = TestBed.createComponent(WorkspaceitemMyDSpaceResultDetailElementComponent); + fixture = TestBed.createComponent(WorkspaceItemSearchResultDetailElementComponent); component = fixture.componentInstance; })); diff --git a/src/app/shared/object-detail/my-dspace-result-detail-element/workspaceitem-my-dspace-result/workspaceitem-my-dspace-result-detail-element.component.ts b/src/app/shared/object-detail/my-dspace-result-detail-element/workspace-item-my-dspace-result/workspace-item-search-result-detail-element.component.ts similarity index 57% rename from src/app/shared/object-detail/my-dspace-result-detail-element/workspaceitem-my-dspace-result/workspaceitem-my-dspace-result-detail-element.component.ts rename to src/app/shared/object-detail/my-dspace-result-detail-element/workspace-item-my-dspace-result/workspace-item-search-result-detail-element.component.ts index e9cc6967e6..a3527f0713 100644 --- a/src/app/shared/object-detail/my-dspace-result-detail-element/workspaceitem-my-dspace-result/workspaceitem-my-dspace-result-detail-element.component.ts +++ b/src/app/shared/object-detail/my-dspace-result-detail-element/workspace-item-my-dspace-result/workspace-item-search-result-detail-element.component.ts @@ -1,32 +1,29 @@ -import { Component, Inject } from '@angular/core'; +import { Component } from '@angular/core'; import { Observable } from 'rxjs'; import { find } from 'rxjs/operators'; -import { - WorkspaceItem -} from '../../../../core/submission/models/workspaceitem.model'; -import { WorkspaceitemMyDSpaceResult } from '../../../object-collection/shared/workspaceitem-my-dspace-result.model'; +import { WorkspaceItem } from '../../../../core/submission/models/workspaceitem.model'; import { Item } from '../../../../core/shared/item.model'; import { RemoteData } from '../../../../core/data/remote-data'; import { isNotUndefined } from '../../../empty.util'; -import { MyDSpaceResultDetailElementComponent } from '../my-dspace-result-detail-element.component'; +import { SearchResultDetailElementComponent } from '../search-result-detail-element.component'; import { MyDspaceItemStatusType } from '../../../object-collection/shared/mydspace-item-status/my-dspace-item-status-type'; import { ViewMode } from '../../../../core/shared/view-mode.model'; import { listableObjectComponent } from '../../../object-collection/shared/listable-object/listable-object.decorator'; +import { WorkspaceItemSearchResult } from '../../../object-collection/shared/workspaceitem-search-result.model'; /** * This component renders workspaceitem object for the mydspace result in the detail view. */ @Component({ - selector: 'ds-workspaceitem-my-dspace-result-detail-element', - styleUrls: ['../my-dspace-result-detail-element.component.scss', './workspaceitem-my-dspace-result-detail-element.component.scss'], - templateUrl: './workspaceitem-my-dspace-result-detail-element.component.html', + selector: 'ds-workspace-item-search-result-detail-element', + styleUrls: ['../search-result-detail-element.component.scss', './workspace-item-search-result-detail-element.component.scss'], + templateUrl: './workspace-item-search-result-detail-element.component.html', }) -@listableObjectComponent(WorkspaceitemMyDSpaceResult.name, ViewMode.DetailedListElement) -@listableObjectComponent(WorkspaceItem.name, ViewMode.DetailedListElement) -export class WorkspaceitemMyDSpaceResultDetailElementComponent extends MyDSpaceResultDetailElementComponent { +@listableObjectComponent(WorkspaceItemSearchResult.name, ViewMode.DetailedListElement) +export class WorkspaceItemSearchResultDetailElementComponent extends SearchResultDetailElementComponent { /** * The item object that belonging to the result object diff --git a/src/app/shared/object-grid/search-result-grid-element/item-search-result/publication/publication-search-result-grid-element.component.html b/src/app/shared/object-grid/search-result-grid-element/item-search-result/publication/publication-search-result-grid-element.component.html index 273be96ca5..d5b481f13c 100644 --- a/src/app/shared/object-grid/search-result-grid-element/item-search-result/publication/publication-search-result-grid-element.component.html +++ b/src/app/shared/object-grid/search-result-grid-element/item-search-result/publication/publication-search-result-grid-element.component.html @@ -1,36 +1,34 @@ - - -
- -
- - -
-
-
- - -

-
-

- - {{item.firstMetadataValue('dc.date.issued')}} - , + +

+ +
+ + +
+
+
+ + +

+
+

+ + {{dso.firstMetadataValue('dc.date.issued')}} + , - -

-

- - - -

-
- View -
+ +

+

+ + + +

+
+ View
- - \ No newline at end of file +
+ diff --git a/src/app/shared/object-grid/search-result-grid-element/search-result-grid-element.component.ts b/src/app/shared/object-grid/search-result-grid-element/search-result-grid-element.component.ts index 2213941864..a136636cda 100644 --- a/src/app/shared/object-grid/search-result-grid-element/search-result-grid-element.component.ts +++ b/src/app/shared/object-grid/search-result-grid-element/search-result-grid-element.component.ts @@ -1,9 +1,8 @@ -import { Component, Inject } from '@angular/core'; +import { Component, Inject, OnInit } from '@angular/core'; import { SearchResult } from '../../../+search-page/search-result.model'; import { DSpaceObject } from '../../../core/shared/dspace-object.model'; import { AbstractListableElementComponent } from '../../object-collection/shared/object-collection-element/abstract-listable-element.component'; -import { ListableObject } from '../../object-collection/shared/listable-object.model'; import { TruncatableService } from '../../truncatable/truncatable.service'; import { Observable } from 'rxjs'; import { Metadata } from '../../../core/shared/metadata.utils'; @@ -14,18 +13,23 @@ import { hasValue } from '../../empty.util'; template: `` }) -export class SearchResultGridElementComponent, K extends DSpaceObject> extends AbstractListableElementComponent { +export class SearchResultGridElementComponent, K extends DSpaceObject> extends AbstractListableElementComponent implements OnInit { dso: K; isCollapsed$: Observable; public constructor(protected truncatableService: TruncatableService) { super(); if (hasValue(this.object)) { - this.dso = this.object.indexableObject; this.isCollapsed$ = this.isCollapsed(); } } + ngOnInit(): void { + if (hasValue(this.object)) { + this.dso = this.object.indexableObject; + } + } + /** * Gets all matching metadata string values from hitHighlights or dso metadata, preferring hitHighlights. * @@ -49,5 +53,4 @@ export class SearchResultGridElementComponent, K exten private isCollapsed(): Observable { return this.truncatableService.isCollapsed(this.dso.id); } - } diff --git a/src/app/shared/object-list/metadata-representation-list-element/item/item-metadata-list-element.component.spec.ts b/src/app/shared/object-list/metadata-representation-list-element/item/item-metadata-list-element.component.spec.ts index e89602775e..7afe774831 100644 --- a/src/app/shared/object-list/metadata-representation-list-element/item/item-metadata-list-element.component.spec.ts +++ b/src/app/shared/object-list/metadata-representation-list-element/item/item-metadata-list-element.component.spec.ts @@ -1,5 +1,4 @@ import { async, ComponentFixture, TestBed } from '@angular/core/testing'; -import { ITEM } from '../../../items/switcher/listable-object-component-loader.component'; import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; import { ItemMetadataListElementComponent } from './item-metadata-list-element.component'; import { By } from '@angular/platform-browser'; @@ -15,9 +14,6 @@ describe('ItemMetadataListElementComponent', () => { TestBed.configureTestingModule({ imports: [], declarations: [ItemMetadataListElementComponent], - providers: [ - { provide: ITEM, useValue: mockItemMetadataRepresentation } - ], schemas: [NO_ERRORS_SCHEMA] }).overrideComponent(ItemMetadataListElementComponent, { set: {changeDetection: ChangeDetectionStrategy.Default} diff --git a/src/app/shared/object-list/metadata-representation-list-element/plain-text/plain-text-metadata-list-element.component.spec.ts b/src/app/shared/object-list/metadata-representation-list-element/plain-text/plain-text-metadata-list-element.component.spec.ts index ba6d06ad84..9926b8639e 100644 --- a/src/app/shared/object-list/metadata-representation-list-element/plain-text/plain-text-metadata-list-element.component.spec.ts +++ b/src/app/shared/object-list/metadata-representation-list-element/plain-text/plain-text-metadata-list-element.component.spec.ts @@ -2,7 +2,6 @@ import { async, ComponentFixture, TestBed } from '@angular/core/testing'; import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; import { PlainTextMetadataListElementComponent } from './plain-text-metadata-list-element.component'; import { MetadatumRepresentation } from '../../../../core/shared/metadata-representation/metadatum/metadatum-representation.model'; -import { ITEM } from '../../../items/switcher/listable-object-component-loader.component'; const mockMetadataRepresentation = Object.assign(new MetadatumRepresentation('type'), { key: 'dc.contributor.author', @@ -17,9 +16,6 @@ describe('PlainTextMetadataListElementComponent', () => { TestBed.configureTestingModule({ imports: [], declarations: [PlainTextMetadataListElementComponent], - providers: [ - { provide: ITEM, useValue: mockMetadataRepresentation } - ], schemas: [NO_ERRORS_SCHEMA] }).overrideComponent(PlainTextMetadataListElementComponent, { set: {changeDetection: ChangeDetectionStrategy.Default} diff --git a/src/app/shared/object-list/my-dspace-result-list-element/claimed-my-dspace-result/claimed-my-dspace-result-list-element.component.html b/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-search-result-list-element.component.html similarity index 100% rename from src/app/shared/object-list/my-dspace-result-list-element/claimed-my-dspace-result/claimed-my-dspace-result-list-element.component.html rename to src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-search-result-list-element.component.html diff --git a/src/app/shared/object-list/my-dspace-result-list-element/claimed-my-dspace-result/claimed-my-dspace-result-list-element.component.spec.ts b/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-search-result-list-element.component.spec.ts similarity index 79% rename from src/app/shared/object-list/my-dspace-result-list-element/claimed-my-dspace-result/claimed-my-dspace-result-list-element.component.spec.ts rename to src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-search-result-list-element.component.spec.ts index 5815cd5401..c52b1f1b07 100644 --- a/src/app/shared/object-list/my-dspace-result-list-element/claimed-my-dspace-result/claimed-my-dspace-result-list-element.component.spec.ts +++ b/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-search-result-list-element.component.spec.ts @@ -5,20 +5,20 @@ import { NoopAnimationsModule } from '@angular/platform-browser/animations'; import { of as observableOf } from 'rxjs'; import { Item } from '../../../../core/shared/item.model'; -import { ClaimedMyDSpaceResultListElementComponent } from './claimed-my-dspace-result-list-element.component'; -import { ClaimedTaskMyDSpaceResult } from '../../../object-collection/shared/claimed-task-my-dspace-result.model'; +import { ClaimedSearchResultListElementComponent } from './claimed-search-result-list-element.component'; +import { ClaimedTaskSearchResult } from '../../../object-collection/shared/claimed-task-my-dspace-result.model'; import { ClaimedTask } from '../../../../core/tasks/models/claimed-task-object.model'; import { RemoteData } from '../../../../core/data/remote-data'; import { MyDspaceItemStatusType } from '../../../object-collection/shared/mydspace-item-status/my-dspace-item-status-type'; import { WorkflowItem } from '../../../../core/submission/models/workflowitem.model'; import { createSuccessfulRemoteDataObject } from '../../../testing/utils'; -let component: ClaimedMyDSpaceResultListElementComponent; -let fixture: ComponentFixture; +let component: ClaimedSearchResultListElementComponent; +let fixture: ComponentFixture; const compIndex = 1; -const mockResultObject: ClaimedTaskMyDSpaceResult = new ClaimedTaskMyDSpaceResult(); +const mockResultObject: ClaimedTaskSearchResult = new ClaimedTaskSearchResult(); mockResultObject.hitHighlights = {}; const item = Object.assign(new Item(), { @@ -59,19 +59,19 @@ describe('ClaimedMyDSpaceResultListElementComponent', () => { beforeEach(async(() => { TestBed.configureTestingModule({ imports: [NoopAnimationsModule], - declarations: [ClaimedMyDSpaceResultListElementComponent], + declarations: [ClaimedSearchResultListElementComponent], providers: [ { provide: 'objectElementProvider', useValue: (mockResultObject) }, { provide: 'indexElementProvider', useValue: (compIndex) } ], schemas: [NO_ERRORS_SCHEMA] - }).overrideComponent(ClaimedMyDSpaceResultListElementComponent, { + }).overrideComponent(ClaimedSearchResultListElementComponent, { set: { changeDetection: ChangeDetectionStrategy.Default } }).compileComponents(); })); beforeEach(async(() => { - fixture = TestBed.createComponent(ClaimedMyDSpaceResultListElementComponent); + fixture = TestBed.createComponent(ClaimedSearchResultListElementComponent); component = fixture.componentInstance; })); diff --git a/src/app/shared/object-list/my-dspace-result-list-element/claimed-my-dspace-result/claimed-my-dspace-result-list-element.component.ts b/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-search-result-list-element.component.ts similarity index 75% rename from src/app/shared/object-list/my-dspace-result-list-element/claimed-my-dspace-result/claimed-my-dspace-result-list-element.component.ts rename to src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-search-result-list-element.component.ts index bef18a5c1a..5668ece14e 100644 --- a/src/app/shared/object-list/my-dspace-result-list-element/claimed-my-dspace-result/claimed-my-dspace-result-list-element.component.ts +++ b/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-search-result-list-element.component.ts @@ -4,29 +4,28 @@ import { Location, LocationStrategy, PathLocationStrategy } from '@angular/commo import { Observable } from 'rxjs'; import { find } from 'rxjs/operators'; -import { MyDSpaceResultListElementComponent, } from '../my-dspace-result-list-element.component'; import { ViewMode } from '../../../../core/shared/view-mode.model'; import { RemoteData } from '../../../../core/data/remote-data'; import { isNotUndefined } from '../../../empty.util'; import { WorkflowItem } from '../../../../core/submission/models/workflowitem.model'; import { ClaimedTask } from '../../../../core/tasks/models/claimed-task-object.model'; -import { ClaimedTaskMyDSpaceResult } from '../../../object-collection/shared/claimed-task-my-dspace-result.model'; import { MyDspaceItemStatusType } from '../../../object-collection/shared/mydspace-item-status/my-dspace-item-status-type'; import { listableObjectComponent } from '../../../object-collection/shared/listable-object/listable-object.decorator'; +import { ClaimedTaskSearchResult } from '../../../object-collection/shared/claimed-task-search-result.model'; +import { SearchResultListElementComponent } from '../../search-result-list-element/search-result-list-element.component'; /** * This component renders claimed task object for the mydspace result in the list view. */ @Component({ - selector: 'ds-claimed-my-dspace-result-list-element', + selector: 'ds-claimed-search-result-list-element', styleUrls: ['../my-dspace-result-list-element.component.scss'], - templateUrl: './claimed-my-dspace-result-list-element.component.html', + templateUrl: './claimed-search-result-list-element.component.html', providers: [Location, { provide: LocationStrategy, useClass: PathLocationStrategy }] }) -@listableObjectComponent(ClaimedTaskMyDSpaceResult.name, ViewMode.ListElement) -@listableObjectComponent(ClaimedTask.name, ViewMode.ListElement) -export class ClaimedMyDSpaceResultListElementComponent extends MyDSpaceResultListElementComponent { +@listableObjectComponent(ClaimedTaskSearchResult.name, ViewMode.ListElement) +export class ClaimedSearchResultListElementComponent extends SearchResultListElementComponent { /** * A boolean representing if to show submitter information diff --git a/src/app/shared/object-list/my-dspace-result-list-element/item-list-preview/item-list-preview.component.ts b/src/app/shared/object-list/my-dspace-result-list-element/item-list-preview/item-list-preview.component.ts index 13876ab46a..8324e748f1 100644 --- a/src/app/shared/object-list/my-dspace-result-list-element/item-list-preview/item-list-preview.component.ts +++ b/src/app/shared/object-list/my-dspace-result-list-element/item-list-preview/item-list-preview.component.ts @@ -3,7 +3,7 @@ import { Component, Input } from '@angular/core'; import { Item } from '../../../../core/shared/item.model'; import { fadeInOut } from '../../../animations/fade'; import { MyDspaceItemStatusType } from '../../../object-collection/shared/mydspace-item-status/my-dspace-item-status-type'; -import { MyDSpaceResult } from '../../../../+my-dspace-page/my-dspace-result.model'; +import { SearchResult } from '../../../../+search-page/search-result.model'; /** * This component show metadata for the given item object in the list view. @@ -24,7 +24,7 @@ export class ItemListPreviewComponent { /** * The mydspace result object */ - @Input() object: MyDSpaceResult; + @Input() object: SearchResult; /** * Represent item's status diff --git a/src/app/shared/object-list/my-dspace-result-list-element/item-my-dspace-result/item-my-dspace-result-list-element.component.html b/src/app/shared/object-list/my-dspace-result-list-element/item-search-result/item-search-result-list-element-submission.component.html similarity index 100% rename from src/app/shared/object-list/my-dspace-result-list-element/item-my-dspace-result/item-my-dspace-result-list-element.component.html rename to src/app/shared/object-list/my-dspace-result-list-element/item-search-result/item-search-result-list-element-submission.component.html diff --git a/src/app/shared/object-list/my-dspace-result-list-element/item-my-dspace-result/item-my-dspace-result-list-element.component.scss b/src/app/shared/object-list/my-dspace-result-list-element/item-search-result/item-search-result-list-element-submission.component.scss similarity index 100% rename from src/app/shared/object-list/my-dspace-result-list-element/item-my-dspace-result/item-my-dspace-result-list-element.component.scss rename to src/app/shared/object-list/my-dspace-result-list-element/item-search-result/item-search-result-list-element-submission.component.scss diff --git a/src/app/shared/object-list/my-dspace-result-list-element/item-my-dspace-result/item-my-dspace-result-list-element.component.spec.ts b/src/app/shared/object-list/my-dspace-result-list-element/item-search-result/item-search-result-list-element-submission.component.spec.ts similarity index 73% rename from src/app/shared/object-list/my-dspace-result-list-element/item-my-dspace-result/item-my-dspace-result-list-element.component.spec.ts rename to src/app/shared/object-list/my-dspace-result-list-element/item-search-result/item-search-result-list-element-submission.component.spec.ts index ea4f2d24f3..d3c657cc3f 100644 --- a/src/app/shared/object-list/my-dspace-result-list-element/item-my-dspace-result/item-my-dspace-result-list-element.component.spec.ts +++ b/src/app/shared/object-list/my-dspace-result-list-element/item-search-result/item-search-result-list-element-submission.component.spec.ts @@ -5,16 +5,16 @@ import { NoopAnimationsModule } from '@angular/platform-browser/animations'; import { of as observableOf } from 'rxjs'; import { Item } from '../../../../core/shared/item.model'; -import { ItemMyDSpaceResultListElementComponent } from './item-my-dspace-result-list-element.component'; import { MyDspaceItemStatusType } from '../../../object-collection/shared/mydspace-item-status/my-dspace-item-status-type'; -import { ItemMyDSpaceResult } from '../../../object-collection/shared/item-my-dspace-result.model'; +import { ItemSearchResult } from '../../../object-collection/shared/item-search-result.model'; +import { ItemSearchResultListElementSubmissionComponent } from './item-search-result-list-element-submission.component'; -let component: ItemMyDSpaceResultListElementComponent; -let fixture: ComponentFixture; +let component: ItemSearchResultListElementSubmissionComponent; +let fixture: ComponentFixture; const compIndex = 1; -const mockResultObject: ItemMyDSpaceResult = new ItemMyDSpaceResult(); +const mockResultObject: ItemSearchResult = new ItemSearchResult(); mockResultObject.hitHighlights = {}; mockResultObject.indexableObject = Object.assign(new Item(), { @@ -51,19 +51,19 @@ describe('ItemMyDSpaceResultListElementComponent', () => { beforeEach(async(() => { TestBed.configureTestingModule({ imports: [NoopAnimationsModule], - declarations: [ItemMyDSpaceResultListElementComponent], + declarations: [ItemSearchResultListElementSubmissionComponent], providers: [ { provide: 'objectElementProvider', useValue: (mockResultObject) }, { provide: 'indexElementProvider', useValue: (compIndex) } ], schemas: [NO_ERRORS_SCHEMA] - }).overrideComponent(ItemMyDSpaceResultListElementComponent, { + }).overrideComponent(ItemSearchResultListElementSubmissionComponent, { set: { changeDetection: ChangeDetectionStrategy.Default } }).compileComponents(); })); beforeEach(async(() => { - fixture = TestBed.createComponent(ItemMyDSpaceResultListElementComponent); + fixture = TestBed.createComponent(ItemSearchResultListElementSubmissionComponent); component = fixture.componentInstance; })); diff --git a/src/app/shared/object-list/my-dspace-result-list-element/item-my-dspace-result/item-my-dspace-result-list-element.component.ts b/src/app/shared/object-list/my-dspace-result-list-element/item-search-result/item-search-result-list-element-submission.component.ts similarity index 60% rename from src/app/shared/object-list/my-dspace-result-list-element/item-my-dspace-result/item-my-dspace-result-list-element.component.ts rename to src/app/shared/object-list/my-dspace-result-list-element/item-search-result/item-search-result-list-element-submission.component.ts index 5304138587..6ff9afd0d7 100644 --- a/src/app/shared/object-list/my-dspace-result-list-element/item-my-dspace-result/item-my-dspace-result-list-element.component.ts +++ b/src/app/shared/object-list/my-dspace-result-list-element/item-search-result/item-search-result-list-element-submission.component.ts @@ -1,24 +1,24 @@ import { Component } from '@angular/core'; -import { MyDSpaceResultListElementComponent, } from '../my-dspace-result-list-element.component'; import { Item } from '../../../../core/shared/item.model'; -import { ItemMyDSpaceResult } from '../../../object-collection/shared/item-my-dspace-result.model'; import { MyDspaceItemStatusType } from '../../../object-collection/shared/mydspace-item-status/my-dspace-item-status-type'; import { ViewMode } from '../../../../core/shared/view-mode.model'; import { listableObjectComponent } from '../../../object-collection/shared/listable-object/listable-object.decorator'; import { Context } from '../../../../core/shared/context.model'; +import { ItemSearchResult } from '../../../object-collection/shared/item-search-result.model'; +import { SearchResultListElementComponent } from '../../search-result-list-element/search-result-list-element.component'; /** * This component renders item object for the mydspace result in the list view. */ @Component({ - selector: 'ds-workspaceitem-my-dspace-result-list-element', - styleUrls: ['../my-dspace-result-list-element.component.scss', './item-my-dspace-result-list-element.component.scss'], - templateUrl: './item-my-dspace-result-list-element.component.html' + selector: 'ds-item-search-result-list-element-submission', + styleUrls: ['../my-dspace-result-list-element.component.scss', './item-search-result-list-element-submission.component.scss'], + templateUrl: './item-search-result-list-element-submission.component.html' }) @listableObjectComponent('PublicationSearchResult', ViewMode.ListElement, Context.Submission) -export class ItemMyDSpaceResultListElementComponent extends MyDSpaceResultListElementComponent { +export class ItemSearchResultListElementSubmissionComponent extends SearchResultListElementComponent { /** * Represent item's status diff --git a/src/app/shared/object-list/my-dspace-result-list-element/my-dspace-result-list-element.component.ts b/src/app/shared/object-list/my-dspace-result-list-element/my-dspace-result-list-element.component.ts deleted file mode 100644 index 0db8b73412..0000000000 --- a/src/app/shared/object-list/my-dspace-result-list-element/my-dspace-result-list-element.component.ts +++ /dev/null @@ -1,57 +0,0 @@ -import { Component, Inject } from '@angular/core'; - -import { MyDSpaceResult } from '../../../+my-dspace-page/my-dspace-result.model'; -import { AbstractListableElementComponent } from '../../object-collection/shared/object-collection-element/abstract-listable-element.component'; -import { ListableObject } from '../../object-collection/shared/listable-object.model'; -import { DSpaceObject } from '../../../core/shared/dspace-object.model'; -import { Metadata } from '../../../core/shared/metadata.utils'; - -@Component({ - selector: 'ds-my-dspace-result-list-element', - template: `` -}) -export class MyDSpaceResultListElementComponent, K extends DSpaceObject> extends AbstractListableElementComponent { - - /** - * The result element object - */ - dso: K; - - /** - * The array index of the result element - */ - dsoIndex: number; - - /** - * Initialize instance variables - * - * @param {ListableObject} listable - * @param {number} index - */ - public constructor(@Inject('indexElementProvider') public index: number) { - super(); - this.dso = this.object.indexableObject; - this.dsoIndex = this.index; - } - - /** - * Gets all matching metadata string values from hitHighlights or dso metadata, preferring hitHighlights. - * - * @param {string|string[]} keyOrKeys The metadata key(s) in scope. Wildcards are supported; see [[Metadata]]. - * @returns {string[]} the matching string values or an empty array. - */ - allMetadataValues(keyOrKeys: string | string[]): string[] { - return Metadata.allValues([this.object.hitHighlights, this.dso.metadata], keyOrKeys); - } - - /** - * Gets the first matching metadata string value from hitHighlights or dso metadata, preferring hitHighlights. - * - * @param {string|string[]} keyOrKeys The metadata key(s) in scope. Wildcards are supported; see [[Metadata]]. - * @returns {string} the first matching string value, or `undefined`. - */ - firstMetadataValue(keyOrKeys: string | string[]): string { - return Metadata.firstValue([this.object.hitHighlights, this.dso.metadata], keyOrKeys); - } - -} diff --git a/src/app/shared/object-list/my-dspace-result-list-element/pool-my-dspace-result/pool-my-dspace-result-list-element.component.html b/src/app/shared/object-list/my-dspace-result-list-element/pool-search-result/pool-search-result-list-element.component.html similarity index 100% rename from src/app/shared/object-list/my-dspace-result-list-element/pool-my-dspace-result/pool-my-dspace-result-list-element.component.html rename to src/app/shared/object-list/my-dspace-result-list-element/pool-search-result/pool-search-result-list-element.component.html diff --git a/src/app/shared/object-list/my-dspace-result-list-element/pool-my-dspace-result/pool-my-dspace-result-list-element.component.spec.ts b/src/app/shared/object-list/my-dspace-result-list-element/pool-search-result/pool-search-result-list-element.component.spec.ts similarity index 80% rename from src/app/shared/object-list/my-dspace-result-list-element/pool-my-dspace-result/pool-my-dspace-result-list-element.component.spec.ts rename to src/app/shared/object-list/my-dspace-result-list-element/pool-search-result/pool-search-result-list-element.component.spec.ts index 22804a3a30..08b670862f 100644 --- a/src/app/shared/object-list/my-dspace-result-list-element/pool-my-dspace-result/pool-my-dspace-result-list-element.component.spec.ts +++ b/src/app/shared/object-list/my-dspace-result-list-element/pool-search-result/pool-search-result-list-element.component.spec.ts @@ -5,20 +5,20 @@ import { NoopAnimationsModule } from '@angular/platform-browser/animations'; import { of as observableOf } from 'rxjs'; import { Item } from '../../../../core/shared/item.model'; -import { PoolMyDSpaceResultListElementComponent } from './pool-my-dspace-result-list-element.component'; -import { PoolTaskMyDSpaceResult } from '../../../object-collection/shared/pool-task-my-dspace-result.model'; +import { PoolSearchResultListElementComponent } from './pool-search-result-list-element.component'; +import { PoolTaskSearchResult } from '../../../object-collection/shared/pool-task-my-dspace-result.model'; import { PoolTask } from '../../../../core/tasks/models/pool-task-object.model'; import { RemoteData } from '../../../../core/data/remote-data'; import { MyDspaceItemStatusType } from '../../../object-collection/shared/mydspace-item-status/my-dspace-item-status-type'; import { WorkflowItem } from '../../../../core/submission/models/workflowitem.model'; import { createSuccessfulRemoteDataObject } from '../../../testing/utils'; -let component: PoolMyDSpaceResultListElementComponent; -let fixture: ComponentFixture; +let component: PoolSearchResultListElementComponent; +let fixture: ComponentFixture; const compIndex = 1; -const mockResultObject: PoolTaskMyDSpaceResult = new PoolTaskMyDSpaceResult(); +const mockResultObject: PoolTaskSearchResult = new PoolTaskSearchResult(); mockResultObject.hitHighlights = {}; const item = Object.assign(new Item(), { @@ -59,19 +59,19 @@ describe('PoolMyDSpaceResultListElementComponent', () => { beforeEach(async(() => { TestBed.configureTestingModule({ imports: [NoopAnimationsModule], - declarations: [PoolMyDSpaceResultListElementComponent], + declarations: [PoolSearchResultListElementComponent], providers: [ { provide: 'objectElementProvider', useValue: (mockResultObject) }, { provide: 'indexElementProvider', useValue: (compIndex) } ], schemas: [NO_ERRORS_SCHEMA] - }).overrideComponent(PoolMyDSpaceResultListElementComponent, { + }).overrideComponent(PoolSearchResultListElementComponent, { set: { changeDetection: ChangeDetectionStrategy.Default } }).compileComponents(); })); beforeEach(async(() => { - fixture = TestBed.createComponent(PoolMyDSpaceResultListElementComponent); + fixture = TestBed.createComponent(PoolSearchResultListElementComponent); component = fixture.componentInstance; })); diff --git a/src/app/shared/object-list/my-dspace-result-list-element/pool-my-dspace-result/pool-my-dspace-result-list-element.component.ts b/src/app/shared/object-list/my-dspace-result-list-element/pool-search-result/pool-search-result-list-element.component.ts similarity index 65% rename from src/app/shared/object-list/my-dspace-result-list-element/pool-my-dspace-result/pool-my-dspace-result-list-element.component.ts rename to src/app/shared/object-list/my-dspace-result-list-element/pool-search-result/pool-search-result-list-element.component.ts index 46dfd583e0..3ec85ae040 100644 --- a/src/app/shared/object-list/my-dspace-result-list-element/pool-my-dspace-result/pool-my-dspace-result-list-element.component.ts +++ b/src/app/shared/object-list/my-dspace-result-list-element/pool-search-result/pool-search-result-list-element.component.ts @@ -3,30 +3,28 @@ import { Component, Inject, OnInit } from '@angular/core'; import { Observable } from 'rxjs'; import { find } from 'rxjs/operators'; -import { MyDSpaceResultListElementComponent, } from '../my-dspace-result-list-element.component'; import { ViewMode } from '../../../../core/shared/view-mode.model'; import { RemoteData } from '../../../../core/data/remote-data'; import { isNotUndefined } from '../../../empty.util'; -import { ListableObject } from '../../../object-collection/shared/listable-object.model'; import { WorkflowItem } from '../../../../core/submission/models/workflowitem.model'; import { PoolTask } from '../../../../core/tasks/models/pool-task-object.model'; -import { PoolTaskMyDSpaceResult } from '../../../object-collection/shared/pool-task-my-dspace-result.model'; import { MyDspaceItemStatusType } from '../../../object-collection/shared/mydspace-item-status/my-dspace-item-status-type'; import { listableObjectComponent } from '../../../object-collection/shared/listable-object/listable-object.decorator'; -import { ClaimedTaskMyDSpaceResult } from '../../../object-collection/shared/claimed-task-my-dspace-result.model'; +import { PoolTaskSearchResult } from '../../../object-collection/shared/pool-task-search-result.model'; +import { SearchResultListElementComponent } from '../../search-result-list-element/search-result-list-element.component'; +import { TruncatableService } from '../../../truncatable/truncatable.service'; /** * This component renders pool task object for the mydspace result in the list view. */ @Component({ - selector: 'ds-pool-my-dspace-result-list-element', + selector: 'ds-pool-search-result-list-element', styleUrls: ['../my-dspace-result-list-element.component.scss'], - templateUrl: './pool-my-dspace-result-list-element.component.html', + templateUrl: './pool-search-result-list-element.component.html', }) -@listableObjectComponent(PoolTaskMyDSpaceResult.name, ViewMode.ListElement) -@listableObjectComponent(PoolTask.name, ViewMode.ListElement) -export class PoolMyDSpaceResultListElementComponent extends MyDSpaceResultListElementComponent implements OnInit { +@listableObjectComponent(PoolTaskSearchResult.name, ViewMode.ListElement) +export class PoolSearchResultListElementComponent extends SearchResultListElementComponent implements OnInit { /** * A boolean representing if to show submitter information @@ -43,8 +41,10 @@ export class PoolMyDSpaceResultListElementComponent extends MyDSpaceResultListEl */ public workflowitem: WorkflowItem; - constructor(@Inject('indexElementProvider') public index: number) { - super(index); + public index: number; + + constructor(protected truncatableService: TruncatableService) { + super(truncatableService); } /** diff --git a/src/app/shared/object-list/my-dspace-result-list-element/workflowitem-my-dspace-result/workflowitem-my-dspace-result-list-element.component.html b/src/app/shared/object-list/my-dspace-result-list-element/workflow-item-search-result/workflow-item-search-result-list-element.component.html similarity index 100% rename from src/app/shared/object-list/my-dspace-result-list-element/workflowitem-my-dspace-result/workflowitem-my-dspace-result-list-element.component.html rename to src/app/shared/object-list/my-dspace-result-list-element/workflow-item-search-result/workflow-item-search-result-list-element.component.html diff --git a/src/app/shared/object-list/my-dspace-result-list-element/workflowitem-my-dspace-result/workflowitem-my-dspace-result-list-element.component.spec.ts b/src/app/shared/object-list/my-dspace-result-list-element/workflow-item-search-result/workflow-item-search-result-list-element.component.spec.ts similarity index 76% rename from src/app/shared/object-list/my-dspace-result-list-element/workflowitem-my-dspace-result/workflowitem-my-dspace-result-list-element.component.spec.ts rename to src/app/shared/object-list/my-dspace-result-list-element/workflow-item-search-result/workflow-item-search-result-list-element.component.spec.ts index ab472b4014..dd04198b93 100644 --- a/src/app/shared/object-list/my-dspace-result-list-element/workflowitem-my-dspace-result/workflowitem-my-dspace-result-list-element.component.spec.ts +++ b/src/app/shared/object-list/my-dspace-result-list-element/workflow-item-search-result/workflow-item-search-result-list-element.component.spec.ts @@ -5,19 +5,19 @@ import { NoopAnimationsModule } from '@angular/platform-browser/animations'; import { of as observableOf } from 'rxjs'; import { Item } from '../../../../core/shared/item.model'; -import { WorkflowitemMyDSpaceResultListElementComponent } from './workflowitem-my-dspace-result-list-element.component'; -import { WorkflowitemMyDSpaceResult } from '../../../object-collection/shared/workflowitem-my-dspace-result.model'; +import { WorkflowItemSearchResultListElementComponent } from './workflow-item-my-search-result-list-element.component'; +import { WorkflowItemSearchResult } from '../../../object-collection/shared/workflowitem-my-dspace-result.model'; import { WorkflowItem } from '../../../../core/submission/models/workflowitem.model'; import { RemoteData } from '../../../../core/data/remote-data'; import { MyDspaceItemStatusType } from '../../../object-collection/shared/mydspace-item-status/my-dspace-item-status-type'; import { createSuccessfulRemoteDataObject } from '../../../testing/utils'; -let component: WorkflowitemMyDSpaceResultListElementComponent; -let fixture: ComponentFixture; +let component: WorkflowItemSearchResultListElementComponent; +let fixture: ComponentFixture; const compIndex = 1; -const mockResultObject: WorkflowitemMyDSpaceResult = new WorkflowitemMyDSpaceResult(); +const mockResultObject: WorkflowItemSearchResult = new WorkflowItemSearchResult(); mockResultObject.hitHighlights = {}; const item = Object.assign(new Item(), { @@ -56,19 +56,19 @@ describe('WorkflowitemMyDSpaceResultListElementComponent', () => { beforeEach(async(() => { TestBed.configureTestingModule({ imports: [NoopAnimationsModule], - declarations: [WorkflowitemMyDSpaceResultListElementComponent], + declarations: [WorkflowItemSearchResultListElementComponent], providers: [ { provide: 'objectElementProvider', useValue: (mockResultObject) }, { provide: 'indexElementProvider', useValue: (compIndex) } ], schemas: [NO_ERRORS_SCHEMA] - }).overrideComponent(WorkflowitemMyDSpaceResultListElementComponent, { + }).overrideComponent(WorkflowItemSearchResultListElementComponent, { set: { changeDetection: ChangeDetectionStrategy.Default } }).compileComponents(); })); beforeEach(async(() => { - fixture = TestBed.createComponent(WorkflowitemMyDSpaceResultListElementComponent); + fixture = TestBed.createComponent(WorkflowItemSearchResultListElementComponent); component = fixture.componentInstance; })); diff --git a/src/app/shared/object-list/my-dspace-result-list-element/workflowitem-my-dspace-result/workflowitem-my-dspace-result-list-element.component.ts b/src/app/shared/object-list/my-dspace-result-list-element/workflow-item-search-result/workflow-item-search-result-list-element.component.ts similarity index 66% rename from src/app/shared/object-list/my-dspace-result-list-element/workflowitem-my-dspace-result/workflowitem-my-dspace-result-list-element.component.ts rename to src/app/shared/object-list/my-dspace-result-list-element/workflow-item-search-result/workflow-item-search-result-list-element.component.ts index 97c1695c29..d5ac65c740 100644 --- a/src/app/shared/object-list/my-dspace-result-list-element/workflowitem-my-dspace-result/workflowitem-my-dspace-result-list-element.component.ts +++ b/src/app/shared/object-list/my-dspace-result-list-element/workflow-item-search-result/workflow-item-search-result-list-element.component.ts @@ -3,29 +3,28 @@ import { Component } from '@angular/core'; import { Observable } from 'rxjs'; import { find } from 'rxjs/operators'; -import { MyDSpaceResultListElementComponent, } from '../my-dspace-result-list-element.component'; import { ViewMode } from '../../../../core/shared/view-mode.model'; import { RemoteData } from '../../../../core/data/remote-data'; import { isNotUndefined } from '../../../empty.util'; -import { WorkflowitemMyDSpaceResult } from '../../../object-collection/shared/workflowitem-my-dspace-result.model'; import { WorkflowItem } from '../../../../core/submission/models/workflowitem.model'; import { Item } from '../../../../core/shared/item.model'; import { MyDspaceItemStatusType } from '../../../object-collection/shared/mydspace-item-status/my-dspace-item-status-type'; import { listableObjectComponent } from '../../../object-collection/shared/listable-object/listable-object.decorator'; +import { WorkflowItemSearchResult } from '../../../object-collection/shared/workflowitem-search-result.model'; +import { SearchResultListElementComponent } from '../../search-result-list-element/search-result-list-element.component'; /** * This component renders workflowitem object for the mydspace result in the list view. */ @Component({ - selector: 'ds-workflowitem-my-dspace-result-list-element', + selector: 'ds-workflow-item-my-dspace-result-list-element', styleUrls: ['../my-dspace-result-list-element.component.scss'], - templateUrl: './workflowitem-my-dspace-result-list-element.component.html', + templateUrl: './workflow-item-search-result-list-element.component.html', }) -@listableObjectComponent(WorkflowitemMyDSpaceResult.name, ViewMode.ListElement) -@listableObjectComponent(WorkflowItem.name, ViewMode.ListElement) -export class WorkflowitemMyDSpaceResultListElementComponent extends MyDSpaceResultListElementComponent { - +@listableObjectComponent(WorkflowItemSearchResult.name, ViewMode.ListElement) +export class WorkflowItemSearchResultListElementComponent extends SearchResultListElementComponent { + /** * The item object that belonging to the result object */ @@ -40,7 +39,7 @@ export class WorkflowitemMyDSpaceResultListElementComponent extends MyDSpaceResu * Initialize all instance variables */ ngOnInit() { - this.initItem(this.dso.item as Observable>); + this.initItem(this.dso.item as Observable> ); } /** diff --git a/src/app/shared/object-list/my-dspace-result-list-element/workspaceitem-my-dspace-result/workspaceitem-my-dspace-result-list-element.component.html b/src/app/shared/object-list/my-dspace-result-list-element/workspace-item-search-result/workspace-item-search-result-list-element.component.html similarity index 100% rename from src/app/shared/object-list/my-dspace-result-list-element/workspaceitem-my-dspace-result/workspaceitem-my-dspace-result-list-element.component.html rename to src/app/shared/object-list/my-dspace-result-list-element/workspace-item-search-result/workspace-item-search-result-list-element.component.html diff --git a/src/app/shared/object-list/my-dspace-result-list-element/workspaceitem-my-dspace-result/workspaceitem-my-dspace-result-list-element.component.scss b/src/app/shared/object-list/my-dspace-result-list-element/workspace-item-search-result/workspace-item-search-result-list-element.component.scss similarity index 100% rename from src/app/shared/object-list/my-dspace-result-list-element/workspaceitem-my-dspace-result/workspaceitem-my-dspace-result-list-element.component.scss rename to src/app/shared/object-list/my-dspace-result-list-element/workspace-item-search-result/workspace-item-search-result-list-element.component.scss diff --git a/src/app/shared/object-list/my-dspace-result-list-element/workspaceitem-my-dspace-result/workspaceitem-my-dspace-result-list-element.component.spec.ts b/src/app/shared/object-list/my-dspace-result-list-element/workspace-item-search-result/workspace-item-search-result-list-element.component.spec.ts similarity index 76% rename from src/app/shared/object-list/my-dspace-result-list-element/workspaceitem-my-dspace-result/workspaceitem-my-dspace-result-list-element.component.spec.ts rename to src/app/shared/object-list/my-dspace-result-list-element/workspace-item-search-result/workspace-item-search-result-list-element.component.spec.ts index a1c2472d27..988d550345 100644 --- a/src/app/shared/object-list/my-dspace-result-list-element/workspaceitem-my-dspace-result/workspaceitem-my-dspace-result-list-element.component.spec.ts +++ b/src/app/shared/object-list/my-dspace-result-list-element/workspace-item-search-result/workspace-item-search-result-list-element.component.spec.ts @@ -5,19 +5,19 @@ import { NoopAnimationsModule } from '@angular/platform-browser/animations'; import { of as observableOf } from 'rxjs'; import { Item } from '../../../../core/shared/item.model'; -import { WorkspaceitemMyDSpaceResultListElementComponent } from './workspaceitem-my-dspace-result-list-element.component'; -import { WorkspaceitemMyDSpaceResult } from '../../../object-collection/shared/workspaceitem-my-dspace-result.model'; +import { WorkspaceItemSearchResultListElementComponent } from './workspace-item-search-result-list-element.component'; +import { WorkflowItemSearchResult } from '../../../object-collection/shared/workspaceitem-my-dspace-result.model'; import { WorkspaceItem } from '../../../../core/submission/models/workspaceitem.model'; import { RemoteData } from '../../../../core/data/remote-data'; import { MyDspaceItemStatusType } from '../../../object-collection/shared/mydspace-item-status/my-dspace-item-status-type'; import { createSuccessfulRemoteDataObject } from '../../../testing/utils'; -let component: WorkspaceitemMyDSpaceResultListElementComponent; -let fixture: ComponentFixture; +let component: WorkspaceItemSearchResultListElementComponent; +let fixture: ComponentFixture; const compIndex = 1; -const mockResultObject: WorkspaceitemMyDSpaceResult = new WorkspaceitemMyDSpaceResult(); +const mockResultObject: WorkflowItemSearchResult = new WorkflowItemSearchResult(); mockResultObject.hitHighlights = {}; const item = Object.assign(new Item(), { @@ -56,19 +56,19 @@ describe('WorkspaceitemMyDSpaceResultListElementComponent', () => { beforeEach(async(() => { TestBed.configureTestingModule({ imports: [NoopAnimationsModule], - declarations: [WorkspaceitemMyDSpaceResultListElementComponent], + declarations: [WorkspaceItemSearchResultListElementComponent], providers: [ { provide: 'objectElementProvider', useValue: (mockResultObject) }, { provide: 'indexElementProvider', useValue: (compIndex) } ], schemas: [NO_ERRORS_SCHEMA] - }).overrideComponent(WorkspaceitemMyDSpaceResultListElementComponent, { + }).overrideComponent(WorkspaceItemSearchResultListElementComponent, { set: { changeDetection: ChangeDetectionStrategy.Default } }).compileComponents(); })); beforeEach(async(() => { - fixture = TestBed.createComponent(WorkspaceitemMyDSpaceResultListElementComponent); + fixture = TestBed.createComponent(WorkspaceItemSearchResultListElementComponent); component = fixture.componentInstance; })); diff --git a/src/app/shared/object-list/my-dspace-result-list-element/workspaceitem-my-dspace-result/workspaceitem-my-dspace-result-list-element.component.ts b/src/app/shared/object-list/my-dspace-result-list-element/workspace-item-search-result/workspace-item-search-result-list-element.component.ts similarity index 69% rename from src/app/shared/object-list/my-dspace-result-list-element/workspaceitem-my-dspace-result/workspaceitem-my-dspace-result-list-element.component.ts rename to src/app/shared/object-list/my-dspace-result-list-element/workspace-item-search-result/workspace-item-search-result-list-element.component.ts index a886e90737..e4d8409f1c 100644 --- a/src/app/shared/object-list/my-dspace-result-list-element/workspaceitem-my-dspace-result/workspaceitem-my-dspace-result-list-element.component.ts +++ b/src/app/shared/object-list/my-dspace-result-list-element/workspace-item-search-result/workspace-item-search-result-list-element.component.ts @@ -3,27 +3,27 @@ import { Component } from '@angular/core'; import { Observable } from 'rxjs'; import { find } from 'rxjs/operators'; -import { MyDSpaceResultListElementComponent, } from '../my-dspace-result-list-element.component'; import { ViewMode } from '../../../../core/shared/view-mode.model'; import { WorkspaceItem } from '../../../../core/submission/models/workspaceitem.model'; -import { WorkspaceitemMyDSpaceResult } from '../../../object-collection/shared/workspaceitem-my-dspace-result.model'; import { RemoteData } from '../../../../core/data/remote-data'; import { isNotUndefined } from '../../../empty.util'; import { Item } from '../../../../core/shared/item.model'; import { MyDspaceItemStatusType } from '../../../object-collection/shared/mydspace-item-status/my-dspace-item-status-type'; import { listableObjectComponent } from '../../../object-collection/shared/listable-object/listable-object.decorator'; +import { WorkspaceItemSearchResult } from '../../../object-collection/shared/workspaceitem-search-result.model'; +import { SearchResultListElementComponent } from '../../search-result-list-element/search-result-list-element.component'; /** * This component renders workspaceitem object for the mydspace result in the list view. */ @Component({ - selector: 'ds-workspaceitem-my-dspace-result-list-element', - styleUrls: ['../my-dspace-result-list-element.component.scss', './workspaceitem-my-dspace-result-list-element.component.scss'], - templateUrl: './workspaceitem-my-dspace-result-list-element.component.html', + selector: 'ds-workspace-item-search-result-list-element', + styleUrls: ['../my-dspace-result-list-element.component.scss', './workspace-item-search-result-list-element.component.scss'], + templateUrl: './workspace-item-search-result-list-element.component.html', }) -@listableObjectComponent(WorkspaceitemMyDSpaceResult.name, ViewMode.ListElement) -export class WorkspaceitemMyDSpaceResultListElementComponent extends MyDSpaceResultListElementComponent { +@listableObjectComponent(WorkspaceItemSearchResult.name, ViewMode.ListElement) +export class WorkspaceItemSearchResultListElementComponent extends SearchResultListElementComponent { /** * The item object that belonging to the result object diff --git a/src/app/shared/object-list/search-result-list-element/item-search-result/item-types/publication/publication-search-result-list-element.component.html b/src/app/shared/object-list/search-result-list-element/item-search-result/item-types/publication/publication-search-result-list-element.component.html index 7fbb2c3c79..f6bfe787cb 100644 --- a/src/app/shared/object-list/search-result-list-element/item-search-result/item-types/publication/publication-search-result-list-element.component.html +++ b/src/app/shared/object-list/search-result-list-element/item-search-result/item-types/publication/publication-search-result-list-element.component.html @@ -1,17 +1,16 @@ - - + - + - - ( + (, ) - @@ -20,10 +19,9 @@ -
- +
-
\ No newline at end of file diff --git a/src/app/shared/object-list/search-result-list-element/item-search-result/item-types/publication/publication-search-result-list-element.component.ts b/src/app/shared/object-list/search-result-list-element/item-search-result/item-types/publication/publication-search-result-list-element.component.ts index 74d0d30f8d..3a72b8ef26 100644 --- a/src/app/shared/object-list/search-result-list-element/item-search-result/item-types/publication/publication-search-result-list-element.component.ts +++ b/src/app/shared/object-list/search-result-list-element/item-search-result/item-types/publication/publication-search-result-list-element.component.ts @@ -6,6 +6,7 @@ import { SearchResultListElementComponent } from '../../../search-result-list-el import { Item } from '../../../../../../core/shared/item.model'; @listableObjectComponent('PublicationSearchResult', ViewMode.ListElement) +@listableObjectComponent(ItemSearchResult.name, ViewMode.ListElement) @Component({ selector: 'ds-publication-search-result-list-element', styleUrls: ['./publication-search-result-list-element.component.scss'], diff --git a/src/app/shared/object-list/search-result-list-element/search-result-list-element.component.ts b/src/app/shared/object-list/search-result-list-element/search-result-list-element.component.ts index f9110c0cb4..3d4bf9224b 100644 --- a/src/app/shared/object-list/search-result-list-element/search-result-list-element.component.ts +++ b/src/app/shared/object-list/search-result-list-element/search-result-list-element.component.ts @@ -1,10 +1,9 @@ -import { Component, Inject } from '@angular/core'; +import { Component, Inject, OnInit } from '@angular/core'; import { Observable } from 'rxjs'; import { SearchResult } from '../../../+search-page/search-result.model'; import { DSpaceObject } from '../../../core/shared/dspace-object.model'; import { hasValue } from '../../empty.util'; -import { ListableObject } from '../../object-collection/shared/listable-object.model'; import { AbstractListableElementComponent } from '../../object-collection/shared/object-collection-element/abstract-listable-element.component'; import { TruncatableService } from '../../truncatable/truncatable.service'; import { Metadata } from '../../../core/shared/metadata.utils'; @@ -15,12 +14,15 @@ import { MetadataMap } from '../../../core/shared/metadata.models'; template: `` }) -export class SearchResultListElementComponent, K extends DSpaceObject> extends AbstractListableElementComponent { +export class SearchResultListElementComponent, K extends DSpaceObject> extends AbstractListableElementComponent implements OnInit { dso: K; metadata: MetadataMap; public constructor(protected truncatableService: TruncatableService) { super(); + } + + ngOnInit(): void { if (hasValue(this.object)) { this.dso = this.object.indexableObject; } @@ -49,4 +51,5 @@ export class SearchResultListElementComponent, K exten isCollapsed(): Observable { return this.truncatableService.isCollapsed(this.dso.id); } + } diff --git a/src/app/shared/shared.module.ts b/src/app/shared/shared.module.ts index 187de7726c..57bf6ae8bf 100644 --- a/src/app/shared/shared.module.ts +++ b/src/app/shared/shared.module.ts @@ -74,8 +74,7 @@ import { DsDatePickerComponent } from './form/builder/ds-dynamic-form-ui/models/ import { DsDynamicLookupComponent } from './form/builder/ds-dynamic-form-ui/models/lookup/dynamic-lookup.component'; import { MockAdminGuard } from './mocks/mock-admin-guard.service'; import { AlertComponent } from './alert/alert.component'; -import { MyDSpaceResultListElementComponent } from './object-list/my-dspace-result-list-element/my-dspace-result-list-element.component'; -import { MyDSpaceResultDetailElementComponent } from './object-detail/my-dspace-result-detail-element/my-dspace-result-detail-element.component'; +import { SearchResultDetailElementComponent } from './object-detail/my-dspace-result-detail-element/search-result-detail-element.component'; import { ClaimedTaskActionsComponent } from './mydspace-actions/claimed-task/claimed-task-actions.component'; import { PoolTaskActionsComponent } from './mydspace-actions/pool-task/pool-task-actions.component'; import { ObjectDetailComponent } from './object-detail/object-detail.component'; @@ -264,7 +263,6 @@ const ENTRY_COMPONENTS = [ // put shared entry components (components that are created dynamically) here CollectionListElementComponent, CommunityListElementComponent, - MyDSpaceResultListElementComponent, SearchResultListElementComponent, CommunitySearchResultListElementComponent, CollectionSearchResultListElementComponent, @@ -276,7 +274,7 @@ const ENTRY_COMPONENTS = [ PublicationSearchResultListElementComponent, PublicationSearchResultGridElementComponent, BrowseEntryListElementComponent, - MyDSpaceResultDetailElementComponent, + SearchResultDetailElementComponent, SearchResultGridElementComponent, DsDynamicListComponent, DsDynamicLookupComponent,