Reorganize routes folder
This commit is contained in:
parent
ea50ade126
commit
3880b874ab
@ -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
|
||||||
*/
|
*/
|
||||||
|
|||||||
54
platform/viewer/src/routes/Mode/DisplaySetCreator.jsx
Normal file
54
platform/viewer/src/routes/Mode/DisplaySetCreator.jsx
Normal 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;
|
||||||
|
}
|
||||||
@ -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,
|
||||||
1
platform/viewer/src/routes/Mode/index.js
Normal file
1
platform/viewer/src/routes/Mode/index.js
Normal file
@ -0,0 +1 @@
|
|||||||
|
export { default } from './Mode';
|
||||||
@ -1 +0,0 @@
|
|||||||
export { default } from './StudyListContainer';
|
|
||||||
@ -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;
|
||||||
1
platform/viewer/src/routes/WorkList/index.js
Normal file
1
platform/viewer/src/routes/WorkList/index.js
Normal file
@ -0,0 +1 @@
|
|||||||
|
export { default } from './WorkList';
|
||||||
@ -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';
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@ -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 },
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user