breadcrumbs.push(resourceToBreadcrumb(parentProcessItem));
}
dispatch(setBreadcrumbs(breadcrumbs, processItem));
+ } else if (uuidKind === ResourceKind.WORKFLOW) {
+ const workflowItem = await services.workflowService.get(currentUuid);
+ dispatch(setBreadcrumbs(breadcrumbs, workflowItem));
}
dispatch(setBreadcrumbs(breadcrumbs));
};
}
};
-export const setWorkflowBreadcrumbs = (workflowUuid: string) =>
- (dispatch: Dispatch, getState: () => RootState) => {
- const { resources } = getState();
- const workflow = getResource<WorkflowResource>(workflowUuid)(resources);
- if (workflow) {
- dispatch<any>(setProjectBreadcrumbs(workflow.ownerUuid));
- }
- };
-
export const setGroupsBreadcrumbs = () =>
setBreadcrumbs([{
label: SidePanelTreeCategory.GROUPS,
setGroupDetailsBreadcrumbs,
setGroupsBreadcrumbs,
setProcessBreadcrumbs,
- setWorkflowBreadcrumbs,
setSharedWithMeBreadcrumbs,
setSidePanelBreadcrumbs,
setTrashBreadcrumbs,
});
export const loadRegisteredWorkflow = (uuid: string) =>
- handleFirstTimeLoad(async (dispatch: Dispatch, getState: () => RootState, services: ServiceRepository) => {
- const workflow = await services.workflowService.get(uuid);
- if (workflow) {
- dispatch<any>(updateResources([workflow]));
- await dispatch<any>(
- activateSidePanelTreeItem(workflow.ownerUuid)
- );
- dispatch<any>(setWorkflowBreadcrumbs(uuid));
+ handleFirstTimeLoad(async (dispatch: Dispatch,
+ getState: () => RootState,
+ services: ServiceRepository) => {
+
+ const userUuid = getUserUuid(getState());
+ if (userUuid) {
+ const match = await loadGroupContentsResource({
+ uuid,
+ userUuid,
+ services,
+ });
+ match({
+ OWNED: (workflow) => {
+ dispatch(updateResources([workflow]));
+ dispatch<any>(activateSidePanelTreeItem(workflow.ownerUuid));
+ dispatch<any>(setSidePanelBreadcrumbs(workflow.ownerUuid));
+ },
+ SHARED: (workflow) => {
+ dispatch<any>(updateResources([workflow]));
+ dispatch<any>(activateSidePanelTreeItem(workflow.ownerUuid));
+ dispatch<any>(setSharedWithMeBreadcrumbs(workflow.ownerUuid));
+ },
+ TRASHED: () => { }
+ });
}
});
resource = await params.services.collectionService.get(params.uuid);
} else if (kind === ResourceKind.PROJECT) {
resource = await params.services.projectService.get(params.uuid);
- } else {
+ } else if (kind === ResourceKind.WORKFLOW) {
+ resource = await params.services.workflowService.get(params.uuid);
+ } else if (kind === ResourceKind.CONTAINER_REQUEST) {
resource = await params.services.containerRequestService.get(params.uuid);
+ } else {
+ throw new Error("loadGroupContentsResource unsupported kind " + kind)
}
handler = groupContentsHandlers.SHARED(resource);
}
[classes.noBorderRow]: (rest.length > 0),
};
- return <>
+ return <React.Fragment key={param.id}>
<TableRow className={classNames(mainRowClasses)} data-cy="process-io-param">
<TableCell>
{param.id}
[classes.noBorderRow]: (i < rest.length - 1),
[classes.secondaryRow]: val.secondary,
};
- return <TableRow className={classNames(rowClasses)}>
+ return <TableRow className={classNames(rowClasses)} key={i}>
<TableCell />
{showLabel && <TableCell />}
<TableCell>
</TableCell>
</TableRow>
})}
- </>;
+ </React.Fragment>;
})}
</TableBody>
- </Table>;
+ </Table >;
});
interface ProcessValuePreviewProps {