- const ancestors = await services.ancestorsService.ancestors(uuid, '');
- dispatch(updateResources(ancestors));
- const initialBreadcrumbs: Breadcrumb[] = [
- {
- label: category,
- uuid: category,
- icon: getSidePanelIcon(category)
- }
- ];
- const { collectionPanel: { item } } = getState();
- const path = getState().router.location!.pathname;
- const currentUuid = path.split('/')[2];
- const uuidKind = extractUuidKind(currentUuid);
- let breadcrumbs = ancestors.reduce((breadcrumbs, ancestor) =>
- ancestor.kind === ResourceKind.GROUP
- ? [...breadcrumbs, resourceToBreadcrumb(ancestor)]
- : breadcrumbs,
- initialBreadcrumbs);
- if (uuidKind === ResourceKind.COLLECTION) {
- const collectionItem = item ? item : await services.collectionService.get(currentUuid);
- const parentProcessItem = await getCollectionParent(collectionItem)(services);
- if (parentProcessItem) {
- const mainProcessItem = await getProcessParent(parentProcessItem)(services);
- mainProcessItem && breadcrumbs.push(resourceToBreadcrumb(mainProcessItem));
- breadcrumbs.push(resourceToBreadcrumb(parentProcessItem));
- }
- dispatch(setBreadcrumbs(breadcrumbs, collectionItem));
- } else if (uuidKind === ResourceKind.PROCESS) {
- const processItem = await services.containerRequestService.get(currentUuid);
- const parentProcessItem = await getProcessParent(processItem)(services);
- if (parentProcessItem) {
- breadcrumbs.push(resourceToBreadcrumb(parentProcessItem));
+ try {
+ dispatch(progressIndicatorActions.START_WORKING(uuid + "-breadcrumbs"));
+ const ancestors = await services.ancestorsService.ancestors(uuid, '');
+ dispatch(updateResources(ancestors));
+ const initialBreadcrumbs: Breadcrumb[] = [
+ {
+ label: category,
+ uuid: category,
+ icon: getSidePanelIcon(category)
+ }
+ ];
+ const { collectionPanel: { item } } = getState();
+ const path = getState().router.location!.pathname;
+ const currentUuid = path.split('/')[2];
+ const uuidKind = extractUuidKind(currentUuid);
+ let breadcrumbs = ancestors.reduce((breadcrumbs, ancestor) =>
+ ancestor.kind === ResourceKind.GROUP
+ ? [...breadcrumbs, resourceToBreadcrumb(ancestor)]
+ : breadcrumbs,
+ initialBreadcrumbs);
+ if (uuidKind === ResourceKind.COLLECTION) {
+ const collectionItem = item ? item : await services.collectionService.get(currentUuid);
+ const parentProcessItem = await getCollectionParent(collectionItem)(services);
+ if (parentProcessItem) {
+ const mainProcessItem = await getProcessParent(parentProcessItem)(services);
+ mainProcessItem && breadcrumbs.push(resourceToBreadcrumb(mainProcessItem));
+ breadcrumbs.push(resourceToBreadcrumb(parentProcessItem));
+ }
+ dispatch(setBreadcrumbs(breadcrumbs, collectionItem));
+ } else if (uuidKind === ResourceKind.PROCESS) {
+ const processItem = await services.containerRequestService.get(currentUuid);
+ const parentProcessItem = await getProcessParent(processItem)(services);
+ if (parentProcessItem) {
+ breadcrumbs.push(resourceToBreadcrumb(parentProcessItem));
+ }
+ dispatch(setBreadcrumbs(breadcrumbs, processItem));
+ } else if (uuidKind === ResourceKind.WORKFLOW) {
+ const workflowItem = await services.workflowService.get(currentUuid);
+ dispatch(setBreadcrumbs(breadcrumbs, workflowItem));