X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/3ed6fab9c3ec7ca31133e4d4c750d546727b1847..62d3fea589acf744bb8ead4d42e11f794633704c:/services/workbench2/src/components/collection-panel-files/collection-panel-files.tsx diff --git a/services/workbench2/src/components/collection-panel-files/collection-panel-files.tsx b/services/workbench2/src/components/collection-panel-files/collection-panel-files.tsx index 83de48dec8..03d4551cab 100644 --- a/services/workbench2/src/components/collection-panel-files/collection-panel-files.tsx +++ b/services/workbench2/src/components/collection-panel-files/collection-panel-files.tsx @@ -311,6 +311,8 @@ export const CollectionPanelFiles = withStyles(styles)( return { ...next, ...prev }; }, {}); setPathData(state => ({ ...state, ...newState })); + }, () => { + // Nothing to do }) .finally(() => { setIsLoading(false); @@ -324,14 +326,16 @@ export const CollectionPanelFiles = withStyles(styles)( setLeftSearch(""); setRightSearch(""); } - }, [rightKey, rightData]); // eslint-disable-line react-hooks/exhaustive-deps + // eslint-disable-next-line react-hooks/exhaustive-deps + }, [rightKey, rightData]); const currentPDH = (collectionPanel.item || {}).portableDataHash; React.useEffect(() => { if (currentPDH) { fetchData([leftKey, rightKey], true); } - }, [currentPDH]); // eslint-disable-line react-hooks/exhaustive-deps + // eslint-disable-next-line react-hooks/exhaustive-deps + }, [currentPDH]); React.useEffect(() => { if (rightData) { @@ -431,7 +435,7 @@ export const CollectionPanelFiles = withStyles(styles)( getInlineFileUrl(enhancedItem.url, config.keepWebServiceUrl, config.keepWebInlineServiceUrl), true ); - window.open(fileUrl, "_blank"); + window.open(fileUrl, "_blank", "noopener"); } } @@ -449,7 +453,8 @@ export const CollectionPanelFiles = withStyles(styles)( onItemMenuOpen(event, item, isWritable); } }, - [path, setPath, collectionPanelFiles] // eslint-disable-line react-hooks/exhaustive-deps + // eslint-disable-next-line react-hooks/exhaustive-deps + [path, setPath, collectionPanelFiles] ); const getItemIcon = React.useCallback( @@ -485,7 +490,8 @@ export const CollectionPanelFiles = withStyles(styles)( (ev, isWritable) => { props.onOptionsMenuOpen(ev, isWritable); }, - [props.onOptionsMenuOpen] // eslint-disable-line react-hooks/exhaustive-deps + // eslint-disable-next-line react-hooks/exhaustive-deps + [props.onOptionsMenuOpen] ); return (