16118: Restricts UI elements when a collection is read-only.
[arvados-workbench2.git] / src / store / context-menu / context-menu-actions.ts
index 431d15e8495c87e311678c66da64e6f6ec23524b..2ba6bc2cc78d487842df65625a709eb6877bda7b 100644 (file)
@@ -55,7 +55,7 @@ export const openContextMenu = (event: React.MouseEvent<HTMLElement>, resource:
         );
     };
 
-export const openCollectionFilesContextMenu = (event: React.MouseEvent<HTMLElement>) =>
+export const openCollectionFilesContextMenu = (event: React.MouseEvent<HTMLElement>, isWritable: boolean) =>
     (dispatch: Dispatch, getState: () => RootState) => {
         const isCollectionFileSelected = JSON.stringify(getState().collectionPanelFiles).includes('"selected":true');
         dispatch<any>(openContextMenu(event, {
@@ -63,7 +63,11 @@ export const openCollectionFilesContextMenu = (event: React.MouseEvent<HTMLEleme
             uuid: '',
             ownerUuid: '',
             kind: ResourceKind.COLLECTION,
-            menuKind: isCollectionFileSelected ? ContextMenuKind.COLLECTION_FILES : ContextMenuKind.COLLECTION_FILES_NOT_SELECTED
+            menuKind: isCollectionFileSelected
+                ? isWritable
+                    ? ContextMenuKind.COLLECTION_FILES
+                    : ContextMenuKind.READONLY_COLLECTION_FILES
+                : ContextMenuKind.COLLECTION_FILES_NOT_SELECTED
         }));
     };