diff --git a/src/__test__/components/data-exploration/cell-sets-tool/CellSetsTool.test.jsx b/src/__test__/components/data-exploration/cell-sets-tool/CellSetsTool.test.jsx
index 1af4480b28..858da2cc16 100644
--- a/src/__test__/components/data-exploration/cell-sets-tool/CellSetsTool.test.jsx
+++ b/src/__test__/components/data-exploration/cell-sets-tool/CellSetsTool.test.jsx
@@ -72,7 +72,6 @@ cellSetsWithAnnotatedCellClass.cellSets.push(
);
const louvainClusters = cellSetsData.cellSets.find(({ key }) => key === 'louvain').children;
-const sampleList = cellSetsData.cellSets.find(({ key }) => key === 'sample').children;
const experimentId = '1234';
diff --git a/src/__test__/components/data-exploration/generic-gene-table/ComponentActions.test.jsx b/src/__test__/components/data-exploration/generic-gene-table/ComponentActions.test.jsx
index cc7ec90b37..6151878f2a 100644
--- a/src/__test__/components/data-exploration/generic-gene-table/ComponentActions.test.jsx
+++ b/src/__test__/components/data-exploration/generic-gene-table/ComponentActions.test.jsx
@@ -77,8 +77,8 @@ describe('ComponentActions', () => {
const dropdown = component.find(Dropdown);
expect(dropdown.length).toEqual(1);
- expect(dropdown.props().overlay.type.name).toEqual('Menu');
- expect(dropdown.props().overlay.props.children.length).toEqual(3);
+ expect(dropdown.props().menu.type.name).toEqual('Menu');
+ expect(dropdown.props().menu.props.children.length).toEqual(3);
});
it('Renders correctly when there are no selected genes', () => {
@@ -114,7 +114,7 @@ describe('ComponentActions', () => {
,
);
- const menuButtons = component.find(Dropdown).props().overlay;
+ const menuButtons = component.find(Dropdown).props().menu;
menuButtons.props.children[0].props.onClick();
// Wait for side-effect to propagate (properties loading and loaded).
@@ -154,7 +154,7 @@ describe('ComponentActions', () => {
,
);
- const menuButtons = component.find(Dropdown).props().overlay;
+ const menuButtons = component.find(Dropdown).props().menu;
menuButtons.props.children[1].props.onClick();
// Wait for side-effect to propagate (genes loaded).
@@ -182,7 +182,7 @@ describe('ComponentActions', () => {
,
);
- const menuButtons = component.find(Dropdown).props().overlay;
+ const menuButtons = component.find(Dropdown).props().menu;
menuButtons.props.children[2].props.onClick();
// Wait for side-effect to propagate (properties loading and loaded).
diff --git a/src/__test__/components/data-exploration/generic-gene-table/LaunchPathwayAnalysisModal.test.jsx b/src/__test__/components/data-exploration/generic-gene-table/LaunchPathwayAnalysisModal.test.jsx
index eff89990dc..ef9c80fe6c 100644
--- a/src/__test__/components/data-exploration/generic-gene-table/LaunchPathwayAnalysisModal.test.jsx
+++ b/src/__test__/components/data-exploration/generic-gene-table/LaunchPathwayAnalysisModal.test.jsx
@@ -12,7 +12,7 @@ import fetchMock, { enableFetchMocks } from 'jest-fetch-mock';
import handleError from 'utils/http/handleError';
import downloadFromUrl from 'utils/downloadFromUrl';
-import writeToFile from 'utils/writeToFileURL';
+import writeToFile from 'utils/upload/writeToFileURL';
import launchPathwayService from 'utils/pathwayAnalysis/launchPathwayService';
import getDiffExprGenes from 'utils/extraActionCreators/differentialExpression/getDiffExprGenes';
@@ -27,7 +27,7 @@ jest.mock('utils/extraActionCreators/differentialExpression/getBackgroundExpress
jest.mock('utils/http/handleError');
jest.mock('utils/downloadFromUrl');
-jest.mock('utils/writeToFileURL');
+jest.mock('utils/upload/writeToFileURL');
const onCancel = jest.fn();
const onOpenAdvancedFilters = jest.fn();
diff --git a/src/__test__/components/data-management/DownloadDataButton.test.jsx b/src/__test__/components/data-management/DownloadDataButton.test.jsx
index 4e2b6b151d..e82f0f6966 100644
--- a/src/__test__/components/data-management/DownloadDataButton.test.jsx
+++ b/src/__test__/components/data-management/DownloadDataButton.test.jsx
@@ -28,14 +28,14 @@ import fake from '__test__/test-utils/constants';
import { loadBackendStatus } from 'redux/actions/backendStatus';
import { loadProcessingSettings } from 'redux/actions/experimentSettings';
import downloadFromUrl from 'utils/downloadFromUrl';
-import writeToFileURL from 'utils/writeToFileURL';
+import writeToFileURL from 'utils/upload/writeToFileURL';
jest.mock('file-saver');
jest.mock('utils/work/fetchWork');
jest.mock('utils/pushNotificationMessage');
jest.mock('utils/downloadFromUrl');
-jest.mock('utils/writeToFileURL');
+jest.mock('utils/upload/writeToFileURL');
const experimentId = `${fake.EXPERIMENT_ID}-0`;
diff --git a/src/__test__/components/data-management/ProjectCard.test.jsx b/src/__test__/components/data-management/ProjectCard.test.jsx
index 8129925d89..130788cd26 100644
--- a/src/__test__/components/data-management/ProjectCard.test.jsx
+++ b/src/__test__/components/data-management/ProjectCard.test.jsx
@@ -12,7 +12,7 @@ import { Provider } from 'react-redux';
import thunk from 'redux-thunk';
import initialState, { experimentTemplate } from 'redux/reducers/experiments/initialState';
-import ProjectCard from 'components/data-management/ProjectCard';
+import ProjectCard from 'components/data-management/project/ProjectCard';
const experimentId = 'experimentId1';
const experimentName = 'Test Experiment';
diff --git a/src/__test__/components/data-management/ProjectDeleteModal.test.jsx b/src/__test__/components/data-management/ProjectDeleteModal.test.jsx
index a65ed0e3a8..7804937c04 100644
--- a/src/__test__/components/data-management/ProjectDeleteModal.test.jsx
+++ b/src/__test__/components/data-management/ProjectDeleteModal.test.jsx
@@ -7,7 +7,7 @@ import {
} from '@testing-library/react';
import configureMockStore from 'redux-mock-store';
import initialExperimentState from 'redux/reducers/experiments/initialState';
-import ProjectDeleteModal from 'components/data-management/ProjectDeleteModal';
+import ProjectDeleteModal from 'components/data-management/project/ProjectDeleteModal';
const mockStore = configureMockStore([thunk]);
const experimentName = 'super cool experiment';
diff --git a/src/__test__/components/data-management/ProjectDetails.test.jsx b/src/__test__/components/data-management/ProjectDetails.test.jsx
index b910b66fcf..6855d58f9c 100644
--- a/src/__test__/components/data-management/ProjectDetails.test.jsx
+++ b/src/__test__/components/data-management/ProjectDetails.test.jsx
@@ -28,7 +28,7 @@ import { initialExperimentBackendStatus } from 'redux/reducers/backendStatus/ini
import PipelineStatus from 'utils/pipelineStatusValues';
import { sampleTech } from 'utils/constants';
import UploadStatus from 'utils/upload/UploadStatus';
-import ProjectDetails from 'components/data-management/ProjectDetails';
+import ProjectDetails from 'components/data-management/project/ProjectDetails';
import '__test__/test-utils/setupTests';
import createTestComponentFactory from '__test__/test-utils/testComponentFactory';
diff --git a/src/__test__/components/data-management/ProjectMenu.test.jsx b/src/__test__/components/data-management/ProjectMenu.test.jsx
index 033ea7357e..eb798c5808 100644
--- a/src/__test__/components/data-management/ProjectMenu.test.jsx
+++ b/src/__test__/components/data-management/ProjectMenu.test.jsx
@@ -18,7 +18,7 @@ import { experiments } from '__test__/test-utils/mockData';
import createTestComponentFactory from '__test__/test-utils/testComponentFactory';
import mockAPI, { generateDefaultMockAPIResponses } from '__test__/test-utils/mockAPI';
-import ProjectMenu from 'components/data-management/ProjectMenu';
+import ProjectMenu from 'components/data-management/project/ProjectMenu';
import { loadExperiments, setActiveExperiment } from 'redux/actions/experiments';
const mockNavigateTo = jest.fn();
diff --git a/src/__test__/components/data-management/ProjectSearchBox.test.jsx b/src/__test__/components/data-management/ProjectSearchBox.test.jsx
index 906165ad72..b13941716f 100644
--- a/src/__test__/components/data-management/ProjectSearchBox.test.jsx
+++ b/src/__test__/components/data-management/ProjectSearchBox.test.jsx
@@ -1,7 +1,7 @@
import React from 'react';
import { render, screen, waitFor } from '@testing-library/react';
import userEvent from '@testing-library/user-event';
-import ProjectSearchBox from 'components/data-management/ProjectSearchBox';
+import ProjectSearchBox from 'components/data-management/project/ProjectSearchBox';
const onChangeSpy = jest.fn();
diff --git a/src/__test__/components/data-management/ProjectsList.test.jsx b/src/__test__/components/data-management/ProjectsList.test.jsx
index 3979ce904b..ea50b44ffc 100644
--- a/src/__test__/components/data-management/ProjectsList.test.jsx
+++ b/src/__test__/components/data-management/ProjectsList.test.jsx
@@ -5,8 +5,8 @@ import configureMockStore from 'redux-mock-store';
import thunk from 'redux-thunk';
import '@testing-library/jest-dom';
import initialState, { experimentTemplate } from 'redux/reducers/experiments/initialState';
-import ProjectsList from 'components/data-management/ProjectsList';
-import ProjectCard from 'components/data-management/ProjectCard';
+import ProjectsList from 'components/data-management/project/ProjectsList';
+import ProjectCard from 'components/data-management/project/ProjectCard';
import '__test__/test-utils/setupTests';
const mockStore = configureMockStore([thunk]);
diff --git a/src/__test__/components/data-management/ProjectsListContainer.test.jsx b/src/__test__/components/data-management/ProjectsListContainer.test.jsx
index cf8f667c1b..8ad49732a1 100644
--- a/src/__test__/components/data-management/ProjectsListContainer.test.jsx
+++ b/src/__test__/components/data-management/ProjectsListContainer.test.jsx
@@ -3,7 +3,7 @@ import '__test__/test-utils/setupTests';
import { render, screen } from '@testing-library/react';
-import ProjectsListContainer from 'components/data-management/ProjectsListContainer';
+import ProjectsListContainer from 'components/data-management/project/ProjectsListContainer';
import { Provider } from 'react-redux';
import React from 'react';
import { act } from 'react-dom/test-utils';
diff --git a/src/__test__/components/data-processing/PlotLayout.test.jsx b/src/__test__/components/data-processing/PlotLayout.test.jsx
new file mode 100644
index 0000000000..22f7ca6e6f
--- /dev/null
+++ b/src/__test__/components/data-processing/PlotLayout.test.jsx
@@ -0,0 +1,81 @@
+import React from 'react';
+import { render, screen } from '@testing-library/react';
+import userEvent from '@testing-library/user-event';
+import { Provider } from 'react-redux';
+import thunk from 'redux-thunk';
+import configureStore from 'redux-mock-store';
+import PlotLayout from 'components/data-processing/PlotLayout';
+import '__test__/test-utils/setupTests';
+
+// Mock data and store setup
+const experimentId = 'exp1';
+const sampleId = 'sample1';
+const sampleIds = ['sample1', 'sample2'];
+const filterName = 'testFilter';
+const filterTableUuid = 'filterTableUuid1';
+const plots = {
+ plot1: {
+ plotUuid: 'plotUuid1',
+ plot: jest.fn(),
+ plotType: 'type1',
+ },
+ plot2: {
+ plotUuid: 'plotUuid2',
+ plot: jest.fn(),
+ plotType: 'type2',
+ },
+};
+const mockStore = configureStore([thunk]);
+const initialState = {
+ componentConfig: {
+ plotUuid1: { config: {}, plotData: {} },
+ plotUuid2: { config: {}, plotData: {} },
+ filterTableUuid1: { plotData: {} },
+ },
+ experimentSettings: {
+ processing: {
+ [filterName]: {
+ [sampleId]: { filterSettings: {} },
+ },
+ },
+ },
+};
+
+const renderComponent = (store) => render(
+
+ }
+ stepHadErrors={false}
+ allowedPlotActions={{}}
+ />
+ ,
+);
+
+describe('PlotLayout', () => {
+ let store;
+
+ beforeEach(() => {
+ store = mockStore(initialState);
+ });
+
+ it('renders without crashing', () => {
+ renderComponent(store);
+ expect(screen.getByText('Filtering Settings')).toBeInTheDocument();
+ });
+
+ it('changes selected plot on mini plot click', () => {
+ renderComponent(store);
+ const miniPlotButton = screen.getAllByRole('button')[0];
+ userEvent.click(miniPlotButton);
+ expect(plots.plot1.plot).toHaveBeenCalled();
+ });
+});
diff --git a/src/__test__/components/data-processing/StatusIndicator.test.jsx b/src/__test__/components/data-processing/StatusIndicator.test.jsx
index 7f9b787ca4..7e459ddcb4 100644
--- a/src/__test__/components/data-processing/StatusIndicator.test.jsx
+++ b/src/__test__/components/data-processing/StatusIndicator.test.jsx
@@ -4,7 +4,6 @@ import {
} from '@testing-library/react';
import StatusIndicator from 'components/data-processing/StatusIndicator';
import { Provider } from 'react-redux';
-import { act } from 'react-dom/test-utils';
import configureMockStore from 'redux-mock-store';
import thunk from 'redux-thunk';
import fake from '__test__/test-utils/constants';
diff --git a/src/__test__/components/plots/MultiViewGrid.test.jsx b/src/__test__/components/plots/MultiViewGrid.test.jsx
index dae175b0b0..19593c6998 100644
--- a/src/__test__/components/plots/MultiViewGrid.test.jsx
+++ b/src/__test__/components/plots/MultiViewGrid.test.jsx
@@ -16,7 +16,7 @@ import { generateMultiViewGridPlotUuid } from 'utils/generateCustomPlotUuid';
import { makeStore } from 'redux/store';
import { updatePlotConfig } from 'redux/actions/componentConfig';
import loadConditionalComponentConfig from 'redux/actions/componentConfig/loadConditionalComponentConfig';
-import { arrayMoveImmutable } from 'utils/array-move';
+import { arrayMoveImmutable } from 'utils/arrayUtils';
import fake from '__test__/test-utils/constants';
import mockAPI, {
diff --git a/src/__test__/pages/experiments/[experimentId]/plots-and-tables/dot-plot/index.test.jsx b/src/__test__/pages/experiments/[experimentId]/plots-and-tables/dot-plot/index.test.jsx
index 1cd5fdef31..2eaa0e485a 100644
--- a/src/__test__/pages/experiments/[experimentId]/plots-and-tables/dot-plot/index.test.jsx
+++ b/src/__test__/pages/experiments/[experimentId]/plots-and-tables/dot-plot/index.test.jsx
@@ -38,7 +38,7 @@ import { plotNames } from 'utils/constants';
import ExportAsCSV from 'components/plots/ExportAsCSV';
import waitForComponentToPaint from '__test__/test-utils/waitForComponentToPaint';
-import { arrayMoveImmutable } from 'utils/array-move';
+import { arrayMoveImmutable } from 'utils/arrayUtils';
jest.mock('components/plots/ExportAsCSV', () => jest.fn(() => (<>>)));
jest.mock('components/header/UserButton', () => () => <>>);
diff --git a/src/__test__/pages/experiments/[experimentId]/plots-and-tables/marker-heatmap/markerDragDrop.test.jsx b/src/__test__/pages/experiments/[experimentId]/plots-and-tables/marker-heatmap/markerDragDrop.test.jsx
index 264fccc836..712901ad1d 100644
--- a/src/__test__/pages/experiments/[experimentId]/plots-and-tables/marker-heatmap/markerDragDrop.test.jsx
+++ b/src/__test__/pages/experiments/[experimentId]/plots-and-tables/marker-heatmap/markerDragDrop.test.jsx
@@ -23,7 +23,7 @@ import mockAPI, {
} from '__test__/test-utils/mockAPI';
import createTestComponentFactory from '__test__/test-utils/testComponentFactory';
import waitForComponentToPaint from '__test__/test-utils/waitForComponentToPaint';
-import { arrayMoveImmutable } from 'utils/array-move';
+import { arrayMoveImmutable } from 'utils/arrayUtils';
jest.mock('components/header/UserButton', () => () => <>>);
jest.mock('react-resize-detector', () => (props) => {
diff --git a/src/__test__/pages/experiments/[experimentId]/plots-and-tables/normalized-matrix/index.test.jsx b/src/__test__/pages/experiments/[experimentId]/plots-and-tables/normalized-matrix/index.test.jsx
index 978ba2d9fe..b0b2a493ab 100644
--- a/src/__test__/pages/experiments/[experimentId]/plots-and-tables/normalized-matrix/index.test.jsx
+++ b/src/__test__/pages/experiments/[experimentId]/plots-and-tables/normalized-matrix/index.test.jsx
@@ -17,11 +17,11 @@ import { makeStore } from 'redux/store';
import mockAPI, { generateDefaultMockAPIResponses, promiseResponse, statusResponse } from '__test__/test-utils/mockAPI';
import cellSetsData from '__test__/data/cell_sets_with_clm.json';
import fetchWork from 'utils/work/fetchWork';
-import writeToFileURL from 'utils/writeToFileURL';
+import writeToFileURL from 'utils/upload/writeToFileURL';
import downloadFromUrl from 'utils/downloadFromUrl';
jest.mock('utils/work/fetchWork');
-jest.mock('utils/writeToFileURL');
+jest.mock('utils/upload/writeToFileURL');
jest.mock('utils/downloadFromUrl');
jest.mock('utils/pushNotificationMessage');
diff --git a/src/__test__/utils/writeToFileURL.test.js b/src/__test__/utils/writeToFileURL.test.js
index c7978e321a..c125dff87a 100644
--- a/src/__test__/utils/writeToFileURL.test.js
+++ b/src/__test__/utils/writeToFileURL.test.js
@@ -1,4 +1,4 @@
-import writeToFileURL from 'utils/writeToFileURL';
+import writeToFileURL from 'utils/upload/writeToFileURL';
const mockCreateObjectURL = jest.fn(() => 'mockURL');
diff --git a/src/components/ColorPicker.jsx b/src/components/ColorPicker.jsx
index 10592113c6..8144e675dd 100644
--- a/src/components/ColorPicker.jsx
+++ b/src/components/ColorPicker.jsx
@@ -34,8 +34,8 @@ const ColorPicker = (props) => {
content={pickerComponent()}
placement='bottom'
trigger='click'
- visible={visible}
- onVisibleChange={(newVisible) => setVisible(newVisible)}
+ open={visible}
+ onOpenChange={(newVisible) => setVisible(newVisible)}
destroyTooltipOnHide
zIndex={zIndex}
>
diff --git a/src/components/ContentWrapper.jsx b/src/components/ContentWrapper.jsx
index 26cc97b51c..e6423d6ad0 100644
--- a/src/components/ContentWrapper.jsx
+++ b/src/components/ContentWrapper.jsx
@@ -400,25 +400,53 @@ const ContentWrapper = (props) => {
.includes(currentModule) && disableIfNoExperiment;
const seuratCompleteDisable = disabledIfSeuratComplete && seuratComplete;
- return (
-
navigateTo(
- module,
- { experimentId: currentExperimentId },
- )}
- >
- {name}
-
- );
+ return {
+ key: module,
+ icon,
+ label: name,
+ disabled: notProcessedExperimentDisable || pipelineStatusDisable
+ || seuratCompleteDisable || nonExperimentModule,
+ onClick: () => navigateTo(
+ module,
+ { experimentId: currentExperimentId },
+ ),
+ };
};
if (!user) return <>>;
+ const mainMenuItems = menuLinks
+ .filter((item) => !item.disableIfNoExperiment)
+ .map(menuItemRender);
+
+ const groupMenuItems = menuLinks
+ .filter((item) => item.disableIfNoExperiment)
+ .map(menuItemRender);
+
+ const groupItem = {
+ type: 'group',
+ label: !collapsed && (
+
+
+
+ {experimentName || 'No analysis'}
+
+ {experimentName && Current analysis}
+
+
+ ),
+ children: groupMenuItems,
+ };
+
+ const menuItems = [...mainMenuItems, groupItem];
+
return (
<>
@@ -444,43 +472,10 @@ const ContentWrapper = (props) => {
+ items={menuItems}
+ />
{
) : <>>}
{cellInfo.cellSets?.length > 0 ? cellInfo.cellSets.map((cellSetName) => (
-
+
{cellSetName}
)) : <>>}
diff --git a/src/components/data-exploration/cell-sets-tool/SubsetCellSetsModal.jsx b/src/components/data-exploration/cell-sets-tool/SubsetCellSetsModal.jsx
index 38cadf6ac3..749d37bd1b 100644
--- a/src/components/data-exploration/cell-sets-tool/SubsetCellSetsModal.jsx
+++ b/src/components/data-exploration/cell-sets-tool/SubsetCellSetsModal.jsx
@@ -15,7 +15,7 @@ const SubsetCellSetsModal = (props) => {
data-testid='subsetCellSetsModal'
title='Subset cell sets'
okText='Create'
- visible
+ open
onOk={() => { onOk(subsetExperimentName.current); }}
cancelText='Cancel'
onCancel={onCancel}
diff --git a/src/components/data-exploration/differential-expression-tool/LaunchPathwayAnalysisModal.jsx b/src/components/data-exploration/differential-expression-tool/LaunchPathwayAnalysisModal.jsx
index 7b703f7bb1..fe3de26b89 100644
--- a/src/components/data-exploration/differential-expression-tool/LaunchPathwayAnalysisModal.jsx
+++ b/src/components/data-exploration/differential-expression-tool/LaunchPathwayAnalysisModal.jsx
@@ -7,7 +7,7 @@ import PropTypes from 'prop-types';
import launchPathwayService from 'utils/pathwayAnalysis/launchPathwayService';
import getDiffExprGenes from 'utils/extraActionCreators/differentialExpression/getDiffExprGenes';
-import writeToFileURL from 'utils/writeToFileURL';
+import writeToFileURL from 'utils/upload/writeToFileURL';
import downloadFromUrl from 'utils/downloadFromUrl';
import getBackgroundExpressedGenes from 'utils/extraActionCreators/differentialExpression/getBackgroundExpressedGenes';
@@ -81,7 +81,7 @@ const LaunchPathwayAnalysisModal = (props) => {
return (
<>
{
}
return (
-
+
diff --git a/src/components/data-exploration/generic-gene-table/ExpressionCellSetModal.jsx b/src/components/data-exploration/generic-gene-table/ExpressionCellSetModal.jsx
index 75bf202341..08de4d88c0 100644
--- a/src/components/data-exploration/generic-gene-table/ExpressionCellSetModal.jsx
+++ b/src/components/data-exploration/generic-gene-table/ExpressionCellSetModal.jsx
@@ -52,7 +52,7 @@ const ExpressionCellSetModal = (props) => {
return (
{
const menuItems = [
{
- label: 'Metadata tracks', key: 'metadataTracks', children: [
+ label: 'Metadata tracks',
+ key: 'metadataTracks',
+ children: [
{
label: (),
- key: "metadataTracksChild",
- }
- ]
+ key: 'metadataTracksChild',
+ },
+ ],
},
{
- label: 'Group by', key: 'groupBy', children: [
+ label: 'Group by',
+ key: 'groupBy',
+ children: [
{
label: (),
- key: "groupByChild",
- }
- ]
+ key: 'groupByChild',
+ },
+ ],
},
];
diff --git a/src/components/data-management/DownloadDataButton.jsx b/src/components/data-management/DownloadDataButton.jsx
index 4356ee03a4..d8ab5c4c93 100644
--- a/src/components/data-management/DownloadDataButton.jsx
+++ b/src/components/data-management/DownloadDataButton.jsx
@@ -101,7 +101,7 @@ const DownloadDataButton = () => {
{downloadingProcessedSeurat && }
- )
+ ),
},
{
key: 'download-processing-settings',
@@ -122,9 +122,9 @@ const DownloadDataButton = () => {
Data Processing settings (.txt)
)
- )
- }
- ]
+ ),
+ },
+ ];
return (
{
items: menuItems,
onClick: (e) => {
if (e.key !== 'download-processed-seurat') setDropdownExpanded(false);
- }
+ },
}}
placement='bottomRight'
disabled={
diff --git a/src/components/data-management/FileUploadModal.jsx b/src/components/data-management/FileUploadModal.jsx
index c3a7515967..1469d0ee79 100644
--- a/src/components/data-management/FileUploadModal.jsx
+++ b/src/components/data-management/FileUploadModal.jsx
@@ -172,7 +172,7 @@ const FileUploadModal = (props) => {
return (
{
{
return (
{
return (
, 'Share with collaborators']}
onCancel={onCancel}
okButtonText='Done'
diff --git a/src/components/data-management/UploadDetailsModal.jsx b/src/components/data-management/UploadDetailsModal.jsx
index 9dc1c1df8f..5e7d4ba4fa 100644
--- a/src/components/data-management/UploadDetailsModal.jsx
+++ b/src/components/data-management/UploadDetailsModal.jsx
@@ -12,7 +12,7 @@ dayjs.extend(utc);
const UploadDetailsModal = (props) => {
const {
- visible, onCancel, file, extraFields, onDownload, onRetry, onDelete,
+ onCancel, file, extraFields, onDownload, onRetry, onDelete,
} = props;
const {
diff --git a/src/components/data-management/metadata/MetadataUploadModal.jsx b/src/components/data-management/metadata/MetadataUploadModal.jsx
index 67f9a20cf2..4320bbe413 100644
--- a/src/components/data-management/metadata/MetadataUploadModal.jsx
+++ b/src/components/data-management/metadata/MetadataUploadModal.jsx
@@ -100,7 +100,7 @@ const MetadataUploadModal = (props) => {
return (
{