Reorganize routes folder

This commit is contained in:
dannyrb 2020-05-17 23:27:31 -04:00
parent ea50ade126
commit 3880b874ab
11 changed files with 66 additions and 55 deletions

View File

@ -91,7 +91,7 @@ DataSourceWrapper.propTypes = {
export default DataSourceWrapper; export default DataSourceWrapper;
/** /**
* Duplicated in `studyListContainer` * Duplicated in `workList`
* Need generic that can be shared? Isn't this what qs is for? * Need generic that can be shared? Isn't this what qs is for?
* @param {*} query * @param {*} query
*/ */

View File

@ -0,0 +1,54 @@
import { useEffect, useCallback } from 'react';
import {
displaySetManager,
ToolBarManager,
useViewModel,
useToolbarLayout,
} from '@ohif/core';
export default function DisplaySetCreator({
location,
mode,
dataSourceName,
extensionManager,
}) {
console.warn('DisplaySetCreator rerendering');
const { routes, sopClassHandlers } = mode;
const dataSources = extensionManager.getDataSources(dataSourceName);
// TODO: For now assume one unique datasource.
const dataSource = dataSources[0];
const route = routes[0];
// Add toolbar state to the view model context?
const { displaySetInstanceUIDs, setDisplaySetInstanceUIDs } = useViewModel();
const { toolBarLayout, setToolBarLayout } = useToolbarLayout();
useEffect(() => {
let toolBarManager = new ToolBarManager(extensionManager, setToolBarLayout);
route.init({ toolBarManager });
}, [mode, dataSourceName, location]);
const createDisplaySets = useCallback(() => {
// Add SOPClassHandlers to a new SOPClassManager.
displaySetManager.init(extensionManager, sopClassHandlers, {
displaySetInstanceUIDs,
setDisplaySetInstanceUIDs,
});
const queryParams = location.search;
// Call the data source to start building the view model?
dataSource.retrieve.series.metadata(
queryParams,
displaySetManager.makeDisplaySets
);
}, [displaySetInstanceUIDs, location]);
useEffect(() => {
createDisplaySets();
}, [mode, dataSourceName, location]);
return null;
}

View File

@ -7,55 +7,11 @@ import {
ToolbarLayoutProvider, ToolbarLayoutProvider,
} from '@ohif/core'; } from '@ohif/core';
import { DragAndDropProvider } from '@ohif/ui'; import { DragAndDropProvider } from '@ohif/ui';
//
import ViewportGrid from '@components/ViewportGrid';
import Compose from './Compose'; import Compose from './Compose';
import ViewportGrid from './../components/ViewportGrid'; import DisplaySetCreator from './DisplaySetCreator';
function DisplaySetCreator({
location,
mode,
dataSourceName,
extensionManager,
}) {
console.warn('DisplaySetCreator rerendering');
const { routes, sopClassHandlers } = mode;
const dataSources = extensionManager.getDataSources(dataSourceName);
// TODO: For now assume one unique datasource.
const dataSource = dataSources[0];
const route = routes[0];
// Add toolbar state to the view model context?
const { displaySetInstanceUIDs, setDisplaySetInstanceUIDs } = useViewModel();
const { toolBarLayout, setToolBarLayout } = useToolbarLayout();
useEffect(() => {
let toolBarManager = new ToolBarManager(extensionManager, setToolBarLayout);
route.init({ toolBarManager });
}, [mode, dataSourceName, location]);
const createDisplaySets = useCallback(() => {
// Add SOPClassHandlers to a new SOPClassManager.
displaySetManager.init(extensionManager, sopClassHandlers, {
displaySetInstanceUIDs,
setDisplaySetInstanceUIDs,
});
const queryParams = location.search;
// Call the data source to start building the view model?
dataSource.retrieve.series.metadata(
queryParams,
displaySetManager.makeDisplaySets
);
}, [displaySetInstanceUIDs, location]);
useEffect(() => {
createDisplaySets();
}, [mode, dataSourceName, location]);
return null;
}
export default function ModeRoute({ export default function ModeRoute({
location, location,

View File

@ -0,0 +1 @@
export { default } from './Mode';

View File

@ -1 +0,0 @@
export { default } from './StudyListContainer';

View File

@ -27,7 +27,7 @@ const seriesInStudiesMap = new Map();
* TODO: * TODO:
* - debounce `setFilterValues` (150ms?) * - debounce `setFilterValues` (150ms?)
*/ */
function StudyListContainer({ history, data: studies, dataSource }) { function WorkList({ history, data: studies, dataSource }) {
// ~ Filters // ~ Filters
const query = useQuery(); const query = useQuery();
const queryFilterValues = _getQueryFilterValues(query); const queryFilterValues = _getQueryFilterValues(query);
@ -398,7 +398,7 @@ function StudyListContainer({ history, data: studies, dataSource }) {
); );
} }
StudyListContainer.propTypes = { WorkList.propTypes = {
history: PropTypes.shape({ history: PropTypes.shape({
push: PropTypes.func, push: PropTypes.func,
}).isRequired, }).isRequired,
@ -463,4 +463,4 @@ function _getQueryFilterValues(query) {
} }
} }
export default StudyListContainer; export default WorkList;

View File

@ -0,0 +1 @@
export { default } from './WorkList';

View File

@ -1,5 +1,5 @@
import React from 'react'; import React from 'react';
import ModeRoute from './ModeRoute'; import ModeRoute from '@routes/Mode';
import { ViewModelProvider } from '@ohif/core'; import { ViewModelProvider } from '@ohif/core';
/* /*

View File

@ -2,7 +2,7 @@ import React from 'react';
import { Switch, Route } from 'react-router-dom'; import { Switch, Route } from 'react-router-dom';
// Route Components // Route Components
import DataSourceWrapper from './DataSourceWrapper'; import DataSourceWrapper from './DataSourceWrapper';
import StudyListContainer from './StudyListContainer'; import WorkList from './WorkList';
import NotFound from './NotFound'; import NotFound from './NotFound';
import buildModeRoutes from './buildModeRoutes'; import buildModeRoutes from './buildModeRoutes';
@ -14,7 +14,7 @@ const bakedInRoutes = [
path: '/', path: '/',
exact: true, exact: true,
component: DataSourceWrapper, component: DataSourceWrapper,
props: { children: StudyListContainer }, props: { children: WorkList },
}, },
// NOT FOUND (404) // NOT FOUND (404)
{ component: NotFound }, { component: NotFound },