[CST-6876] Fix issue for which submitter disappear when workflow state were changed

This commit is contained in:
Giuseppe Digilio
2022-10-04 20:35:14 +02:00
parent d8c8a43da4
commit c47405cfe1
3 changed files with 14 additions and 4 deletions

View File

@@ -11,12 +11,11 @@ import { EPersonMock } from '../../../testing/eperson.mock';
import { TranslateLoaderMock } from '../../../mocks/translate-loader.mock'; import { TranslateLoaderMock } from '../../../mocks/translate-loader.mock';
import { By } from '@angular/platform-browser'; import { By } from '@angular/platform-browser';
import { createSuccessfulRemoteDataObject } from '../../../remote-data.utils'; 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 component: ItemSubmitterComponent;
let fixture: ComponentFixture<ItemSubmitterComponent>; let fixture: ComponentFixture<ItemSubmitterComponent>;
const compIndex = 1;
let mockResultObject: PoolTask; let mockResultObject: PoolTask;
const rdSumbitter = createSuccessfulRemoteDataObject(EPersonMock); const rdSumbitter = createSuccessfulRemoteDataObject(EPersonMock);
@@ -36,6 +35,9 @@ describe('ItemSubmitterComponent', () => {
}) })
], ],
declarations: [ItemSubmitterComponent], declarations: [ItemSubmitterComponent],
providers: [
{ provide: LinkService, useValue: getMockLinkService() },
],
schemas: [NO_ERRORS_SCHEMA] schemas: [NO_ERRORS_SCHEMA]
}).overrideComponent(ItemSubmitterComponent, { }).overrideComponent(ItemSubmitterComponent, {
set: { changeDetection: ChangeDetectionStrategy.Default } set: { changeDetection: ChangeDetectionStrategy.Default }

View File

@@ -8,6 +8,8 @@ import { RemoteData } from '../../../../core/data/remote-data';
import { isNotEmpty } from '../../../empty.util'; import { isNotEmpty } from '../../../empty.util';
import { WorkflowItem } from '../../../../core/submission/models/workflowitem.model'; import { WorkflowItem } from '../../../../core/submission/models/workflowitem.model';
import { getFirstCompletedRemoteData } from '../../../../core/shared/operators'; 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. * This component represents a badge with submitter information.
@@ -29,10 +31,17 @@ export class ItemSubmitterComponent implements OnInit {
*/ */
submitter$: Observable<EPerson>; submitter$: Observable<EPerson>;
public constructor(protected linkService: LinkService) {
}
/** /**
* Initialize submitter object * Initialize submitter object
*/ */
ngOnInit() { ngOnInit() {
this.linkService.resolveLinks(this.object, followLink('workflowitem', {},
followLink('submitter',{})
));
this.submitter$ = (this.object.workflowitem as Observable<RemoteData<WorkflowItem>>).pipe( this.submitter$ = (this.object.workflowitem as Observable<RemoteData<WorkflowItem>>).pipe(
getFirstCompletedRemoteData(), getFirstCompletedRemoteData(),
mergeMap((rd: RemoteData<WorkflowItem>) => { mergeMap((rd: RemoteData<WorkflowItem>) => {

View File

@@ -111,7 +111,6 @@ export class PoolSearchResultListElementComponent extends SearchResultListElemen
ngOnDestroy() { ngOnDestroy() {
// This ensures the object is removed from cache, when action is performed on task // 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); this.objectCache.remove(this.dso._links.workflowitem.href);
} }
} }