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

+4 -4
View File
@@ -1,8 +1,8 @@
export default class toolBarManager {
constructor(extensionManager) {
this.toolBarLayout = [];
constructor(extensionManager, setToolBarLayout) {
this.buttons = {};
this.extensionManager = extensionManager;
this.setToolBarLayout = setToolBarLayout;
}
addButtons(buttons) {
@@ -48,8 +48,8 @@ export default class toolBarManager {
toolBarLayout.push(toolBarDefinitions);
});
this.toolBarLayout = toolBarLayout;
console.log(toolBarLayout);
console.log(this.toolBarLayout);
setToolBarLayout(toolBarLayout);
}
}
+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}