Add toolbar layout to context.

This commit is contained in:
James A. Petts committed 2020-05-15 14:04:09 +02:00
1 parent c42aa37d7f
commit c23c1e8db6
5 files changed
+32 -14

No files matched your search

+15 -7
View File
@@ -12,22 +12,29 @@ export default function ModeRoute({
const { routes, sopClassHandlers, extensions, init } = mode;
const dataSources = extensionManager.getDataSources(dataSourceName);
const toolbarManager = new ToolBarManager(extensionManager);
// Add toolbar state to the view model context?
const {
toolBarLayout,
setToolBarLayout,
displaySetInstanceUids,
setDisplaySetInstanceUids,
} = useContext(ViewModelContext);
// TODO: For now assume one unique datasource.
const dataSource = dataSources[0];
const route = routes[0];
route.init({ toolbarManager });
let toolBarManager;
useEffect(() => {
debugger;
toolBarManager = new ToolBarManager(extensionManager, setToolBarLayout);
route.init({ toolBarManager });
}, [mode, dataSourceName, location]);
console.log(dataSource);
// Add toolbar state to the view model context?
const { displaySetInstanceUids, setDisplaySetInstanceUids } = useContext(
ViewModelContext
);
const createDisplaySets = useCallback(() => {
// Add SOPClassHandlers to a new SOPClassManager.
displaySetManager.init(extensionManager, sopClassHandlers, {
@@ -82,6 +89,7 @@ export default function ModeRoute({
<LayoutComponent
extensionManager={extensionManager}
displaySetInstanceUids={displaySetInstanceUids}
toolBarLayout={toolBarLayout}
{...layoutTemplateData.props}
/>
</CombinedContextProvider>
@@ -3,6 +3,8 @@ import React, { Component } from 'react';
const ViewModelContext = React.createContext({
displaySetInstanceUids: [],
setDisplaySetInstanceUids: () => {},
toolBarLayout: [],
setToolBarLayout: () => {},
});
ViewModelContext.displayName = 'ViewModelContext';
@@ -17,11 +19,17 @@ class ViewModelProvider extends Component {
this.setState({ displaySetInstanceUids });
};
const setToolBarLayout = toolBarLayout => {
this.setState({ toolBarLayout });
};
return (
<ViewModelContext.Provider
value={{
displaySetInstanceUids: this.state.displaySetInstanceUids,
setDisplaySetInstanceUids,
toolBarLayout: this.state.toolBarLayout,
setToolBarLayout,
}}
>
{this.props.children}