From c47405cfe12178d294380a229943119b2073bb06 Mon Sep 17 00:00:00 2001 From: Giuseppe Digilio Date: Tue, 4 Oct 2022 20:35:14 +0200 Subject: [PATCH] [CST-6876] Fix issue for which submitter disappear when workflow state were changed --- .../item-submitter.component.spec.ts | 8 +++++--- .../mydspace-item-submitter/item-submitter.component.ts | 9 +++++++++ .../pool-search-result-list-element.component.ts | 1 - 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/src/app/shared/object-collection/shared/mydspace-item-submitter/item-submitter.component.spec.ts b/src/app/shared/object-collection/shared/mydspace-item-submitter/item-submitter.component.spec.ts index 261759dfe6..227db9ec82 100644 --- a/src/app/shared/object-collection/shared/mydspace-item-submitter/item-submitter.component.spec.ts +++ b/src/app/shared/object-collection/shared/mydspace-item-submitter/item-submitter.component.spec.ts @@ -11,12 +11,11 @@ import { EPersonMock } from '../../../testing/eperson.mock'; import { TranslateLoaderMock } from '../../../mocks/translate-loader.mock'; import { By } from '@angular/platform-browser'; import { createSuccessfulRemoteDataObject } from '../../../remote-data.utils'; +import { LinkService } from '../../../../core/cache/builders/link.service'; +import { getMockLinkService } from '../../../mocks/link-service.mock'; let component: ItemSubmitterComponent; let fixture: ComponentFixture; - -const compIndex = 1; - let mockResultObject: PoolTask; const rdSumbitter = createSuccessfulRemoteDataObject(EPersonMock); @@ -36,6 +35,9 @@ describe('ItemSubmitterComponent', () => { }) ], declarations: [ItemSubmitterComponent], + providers: [ + { provide: LinkService, useValue: getMockLinkService() }, + ], schemas: [NO_ERRORS_SCHEMA] }).overrideComponent(ItemSubmitterComponent, { set: { changeDetection: ChangeDetectionStrategy.Default } diff --git a/src/app/shared/object-collection/shared/mydspace-item-submitter/item-submitter.component.ts b/src/app/shared/object-collection/shared/mydspace-item-submitter/item-submitter.component.ts index 75927f6629..fb644017db 100644 --- a/src/app/shared/object-collection/shared/mydspace-item-submitter/item-submitter.component.ts +++ b/src/app/shared/object-collection/shared/mydspace-item-submitter/item-submitter.component.ts @@ -8,6 +8,8 @@ import { RemoteData } from '../../../../core/data/remote-data'; import { isNotEmpty } from '../../../empty.util'; import { WorkflowItem } from '../../../../core/submission/models/workflowitem.model'; import { getFirstCompletedRemoteData } from '../../../../core/shared/operators'; +import { LinkService } from '../../../../core/cache/builders/link.service'; +import { followLink } from '../../../utils/follow-link-config.model'; /** * This component represents a badge with submitter information. @@ -29,10 +31,17 @@ export class ItemSubmitterComponent implements OnInit { */ submitter$: Observable; + public constructor(protected linkService: LinkService) { + + } + /** * Initialize submitter object */ ngOnInit() { + this.linkService.resolveLinks(this.object, followLink('workflowitem', {}, + followLink('submitter',{}) + )); this.submitter$ = (this.object.workflowitem as Observable>).pipe( getFirstCompletedRemoteData(), mergeMap((rd: RemoteData) => { diff --git a/src/app/shared/object-list/my-dspace-result-list-element/pool-search-result/pool-search-result-list-element.component.ts b/src/app/shared/object-list/my-dspace-result-list-element/pool-search-result/pool-search-result-list-element.component.ts index 046763eb98..cb924af40f 100644 --- a/src/app/shared/object-list/my-dspace-result-list-element/pool-search-result/pool-search-result-list-element.component.ts +++ b/src/app/shared/object-list/my-dspace-result-list-element/pool-search-result/pool-search-result-list-element.component.ts @@ -111,7 +111,6 @@ export class PoolSearchResultListElementComponent extends SearchResultListElemen ngOnDestroy() { // This ensures the object is removed from cache, when action is performed on task - // this.wfiService.invalidateByHref(this.dso._links.workflowitem.href); this.objectCache.remove(this.dso._links.workflowitem.href); } }