mirror of
https://github.com/DSpace/dspace-angular.git
synced 2025-10-07 01:54:15 +00:00
[CST-6876] Fix issue for which submitter disappear when workflow state were changed
This commit is contained in:
@@ -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 }
|
||||||
|
@@ -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>) => {
|
||||||
|
@@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user