forked from hazza/dspace-angular
29 lines
1005 B
TypeScript
29 lines
1005 B
TypeScript
import { inject } from '@angular/core';
|
|
import {
|
|
ActivatedRouteSnapshot,
|
|
ResolveFn,
|
|
RouterStateSnapshot,
|
|
} from '@angular/router';
|
|
import { Observable } from 'rxjs';
|
|
|
|
import { RemoteData } from '../core/data/remote-data';
|
|
import { getFirstCompletedRemoteData } from '../core/shared/operators';
|
|
import { WorkflowItem } from '../core/submission/models/workflowitem.model';
|
|
import { SUBMISSION_LINKS_TO_FOLLOW } from '../core/submission/resolver/submission-links-to-follow';
|
|
import { WorkflowItemDataService } from '../core/submission/workflowitem-data.service';
|
|
|
|
export const workflowItemPageResolver: ResolveFn<RemoteData<WorkflowItem>> = (
|
|
route: ActivatedRouteSnapshot,
|
|
state: RouterStateSnapshot,
|
|
workflowItemService: WorkflowItemDataService = inject(WorkflowItemDataService),
|
|
): Observable<RemoteData<WorkflowItem>> => {
|
|
return workflowItemService.findById(
|
|
route.params.id,
|
|
true,
|
|
false,
|
|
...SUBMISSION_LINKS_TO_FOLLOW,
|
|
).pipe(
|
|
getFirstCompletedRemoteData(),
|
|
);
|
|
};
|