17096: Added check if collection data is present
authorDaniel Kutyła <daniel.kutyla@contractors.roche.com>
Mon, 9 Nov 2020 15:31:48 +0000 (16:31 +0100)
committerDaniel Kutyła <daniel.kutyla@contractors.roche.com>
Mon, 9 Nov 2020 15:31:48 +0000 (16:31 +0100)
Arvados-DCO-1.1-Signed-off-by: Daniel Kutyła <daniel.kutyla@contractors.roche.com>1~

src/store/breadcrumbs/breadcrumbs-actions.ts
src/store/collection-panel/collection-panel-action.ts

index 90af2c2fb42c55cda81fad596cef9d857d76f213..8803cfba7390a7d6141c9cad92a9c70d58a8fc23 100644 (file)
@@ -43,14 +43,14 @@ const getSidePanelTreeBreadcrumbs = (uuid: string) => (treePicker: TreePicker):
 
 export const setSidePanelBreadcrumbs = (uuid: string) =>
     async (dispatch: Dispatch, getState: () => RootState, services: ServiceRepository) => {
-        const { treePicker } = getState();
+        const { treePicker, collectionPanel: { item } } = getState();
         const breadcrumbs = getSidePanelTreeBreadcrumbs(uuid)(treePicker);
         const path = getState().router.location!.pathname;
         const currentUuid = path.split('/')[2];
         const uuidKind = extractUuidKind(currentUuid);
 
         if (uuidKind === ResourceKind.COLLECTION) {
-            const collectionItem = await services.collectionService.get(currentUuid);
+            const collectionItem = item ? item : await services.collectionService.get(currentUuid);
             dispatch(setBreadcrumbs(breadcrumbs, collectionItem));
         } else if (uuidKind === ResourceKind.PROCESS) {
             const processItem = await services.containerRequestService.get(currentUuid);
@@ -72,6 +72,7 @@ export const setCategoryBreadcrumbs = (uuid: string, category: SidePanelTreeCate
         const initialBreadcrumbs: ResourceBreadcrumb[] = [
             { label: category, uuid: category }
         ];
+        const { collectionPanel: { item } } = getState();
         const path = getState().router.location!.pathname;
         const currentUuid = path.split('/')[2];
         const uuidKind = extractUuidKind(currentUuid);
@@ -81,7 +82,7 @@ export const setCategoryBreadcrumbs = (uuid: string, category: SidePanelTreeCate
                 : breadcrumbs,
             initialBreadcrumbs);
         if (uuidKind === ResourceKind.COLLECTION) {
-            const collectionItem = await services.collectionService.get(currentUuid);
+            const collectionItem = item ? item : await services.collectionService.get(currentUuid);
             dispatch(setBreadcrumbs(breadcrumbs, collectionItem));
         } else if (uuidKind === ResourceKind.PROCESS) {
             const processItem = await services.containerRequestService.get(currentUuid);
index 13943665dfe54457168a67b72ed8b9a77acc6efb..15d5ef72934f4d2fe3a26e15306e4e72ad9da864 100644 (file)
@@ -29,8 +29,9 @@ export const COLLECTION_TAG_FORM_NAME = 'collectionTagForm';
 
 export const loadCollectionPanel = (uuid: string) =>
     async (dispatch: Dispatch, getState: () => RootState, services: ServiceRepository) => {
+        const { collectionPanel: { item } } = getState();
         dispatch(collectionPanelActions.LOAD_COLLECTION({ uuid }));
-        const collection = await services.collectionService.get(uuid);
+        const collection = item ? item : await services.collectionService.get(uuid);
         dispatch(loadDetailsPanel(collection.uuid));
         dispatch(collectionPanelActions.LOAD_COLLECTION_SUCCESS({ item: collection }));
         dispatch(resourcesActions.SET_RESOURCES([collection]));