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;
/**
* Duplicated in `studyListContainer`
* Duplicated in `workList`
* Need generic that can be shared? Isn't this what qs is for?
* @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,
} from '@ohif/core';
import { DragAndDropProvider } from '@ohif/ui';
//
import ViewportGrid from '@components/ViewportGrid';
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({
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:
* - debounce `setFilterValues` (150ms?)
*/
function StudyListContainer({ history, data: studies, dataSource }) {
function WorkList({ history, data: studies, dataSource }) {
// ~ Filters
const query = useQuery();
const queryFilterValues = _getQueryFilterValues(query);
@ -398,7 +398,7 @@ function StudyListContainer({ history, data: studies, dataSource }) {
);
}
StudyListContainer.propTypes = {
WorkList.propTypes = {
history: PropTypes.shape({
push: PropTypes.func,
}).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 ModeRoute from './ModeRoute';
import ModeRoute from '@routes/Mode';
import { ViewModelProvider } from '@ohif/core';
/*

View File

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