Add toolbar layout to context.
This commit is contained in:
parent
c42aa37d7f
commit
c23c1e8db6
@ -174,6 +174,7 @@ function viewerLayout({
|
|||||||
leftPanels,
|
leftPanels,
|
||||||
rightPanels,
|
rightPanels,
|
||||||
extensionManager,
|
extensionManager,
|
||||||
|
toolBarLayout,
|
||||||
displaySetInstanceUids,
|
displaySetInstanceUids,
|
||||||
}) {
|
}) {
|
||||||
const getPanelData = id => {
|
const getPanelData = id => {
|
||||||
@ -194,6 +195,7 @@ function viewerLayout({
|
|||||||
const rightPanelComponents = rightPanels.map(getPanelData);
|
const rightPanelComponents = rightPanels.map(getPanelData);
|
||||||
|
|
||||||
console.warn(displaySetInstanceUids);
|
console.warn(displaySetInstanceUids);
|
||||||
|
console.warn(toolBarLayout);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div>
|
<div>
|
||||||
|
|||||||
@ -12,8 +12,8 @@ export default function mode({ modeConfiguration }) {
|
|||||||
routes: [
|
routes: [
|
||||||
{
|
{
|
||||||
path: 'viewer',
|
path: 'viewer',
|
||||||
init: ({ toolbarManager }) => {
|
init: ({ toolBarManager }) => {
|
||||||
toolbarManager.addButtons([
|
toolBarManager.addButtons([
|
||||||
{
|
{
|
||||||
id: 'StackScroll', // If id not given will use default in button definition.
|
id: 'StackScroll', // If id not given will use default in button definition.
|
||||||
namespace: 'org.ohif.cornerstone.toolbarModule.StackScroll',
|
namespace: 'org.ohif.cornerstone.toolbarModule.StackScroll',
|
||||||
@ -25,7 +25,7 @@ export default function mode({ modeConfiguration }) {
|
|||||||
]);
|
]);
|
||||||
|
|
||||||
// Could import layout selector here from org.ohif.default (when it exists!)
|
// Could import layout selector here from org.ohif.default (when it exists!)
|
||||||
toolbarManager.setToolBarLayout([
|
toolBarManager.setToolBarLayout([
|
||||||
// Primary
|
// Primary
|
||||||
['StackScroll', { label: 'More', subMenu: ['Zoom'] }],
|
['StackScroll', { label: 'More', subMenu: ['Zoom'] }],
|
||||||
// Secondary
|
// Secondary
|
||||||
|
|||||||
@ -1,8 +1,8 @@
|
|||||||
export default class toolBarManager {
|
export default class toolBarManager {
|
||||||
constructor(extensionManager) {
|
constructor(extensionManager, setToolBarLayout) {
|
||||||
this.toolBarLayout = [];
|
|
||||||
this.buttons = {};
|
this.buttons = {};
|
||||||
this.extensionManager = extensionManager;
|
this.extensionManager = extensionManager;
|
||||||
|
this.setToolBarLayout = setToolBarLayout;
|
||||||
}
|
}
|
||||||
|
|
||||||
addButtons(buttons) {
|
addButtons(buttons) {
|
||||||
@ -48,8 +48,8 @@ export default class toolBarManager {
|
|||||||
toolBarLayout.push(toolBarDefinitions);
|
toolBarLayout.push(toolBarDefinitions);
|
||||||
});
|
});
|
||||||
|
|
||||||
this.toolBarLayout = toolBarLayout;
|
console.log(toolBarLayout);
|
||||||
|
|
||||||
console.log(this.toolBarLayout);
|
setToolBarLayout(toolBarLayout);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -12,22 +12,29 @@ export default function ModeRoute({
|
|||||||
const { routes, sopClassHandlers, extensions, init } = mode;
|
const { routes, sopClassHandlers, extensions, init } = mode;
|
||||||
const dataSources = extensionManager.getDataSources(dataSourceName);
|
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.
|
// TODO: For now assume one unique datasource.
|
||||||
|
|
||||||
const dataSource = dataSources[0];
|
const dataSource = dataSources[0];
|
||||||
const route = routes[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);
|
console.log(dataSource);
|
||||||
|
|
||||||
// Add toolbar state to the view model context?
|
|
||||||
const { displaySetInstanceUids, setDisplaySetInstanceUids } = useContext(
|
|
||||||
ViewModelContext
|
|
||||||
);
|
|
||||||
|
|
||||||
const createDisplaySets = useCallback(() => {
|
const createDisplaySets = useCallback(() => {
|
||||||
// Add SOPClassHandlers to a new SOPClassManager.
|
// Add SOPClassHandlers to a new SOPClassManager.
|
||||||
displaySetManager.init(extensionManager, sopClassHandlers, {
|
displaySetManager.init(extensionManager, sopClassHandlers, {
|
||||||
@ -82,6 +89,7 @@ export default function ModeRoute({
|
|||||||
<LayoutComponent
|
<LayoutComponent
|
||||||
extensionManager={extensionManager}
|
extensionManager={extensionManager}
|
||||||
displaySetInstanceUids={displaySetInstanceUids}
|
displaySetInstanceUids={displaySetInstanceUids}
|
||||||
|
toolBarLayout={toolBarLayout}
|
||||||
{...layoutTemplateData.props}
|
{...layoutTemplateData.props}
|
||||||
/>
|
/>
|
||||||
</CombinedContextProvider>
|
</CombinedContextProvider>
|
||||||
|
|||||||
@ -3,6 +3,8 @@ import React, { Component } from 'react';
|
|||||||
const ViewModelContext = React.createContext({
|
const ViewModelContext = React.createContext({
|
||||||
displaySetInstanceUids: [],
|
displaySetInstanceUids: [],
|
||||||
setDisplaySetInstanceUids: () => {},
|
setDisplaySetInstanceUids: () => {},
|
||||||
|
toolBarLayout: [],
|
||||||
|
setToolBarLayout: () => {},
|
||||||
});
|
});
|
||||||
|
|
||||||
ViewModelContext.displayName = 'ViewModelContext';
|
ViewModelContext.displayName = 'ViewModelContext';
|
||||||
@ -17,11 +19,17 @@ class ViewModelProvider extends Component {
|
|||||||
this.setState({ displaySetInstanceUids });
|
this.setState({ displaySetInstanceUids });
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const setToolBarLayout = toolBarLayout => {
|
||||||
|
this.setState({ toolBarLayout });
|
||||||
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<ViewModelContext.Provider
|
<ViewModelContext.Provider
|
||||||
value={{
|
value={{
|
||||||
displaySetInstanceUids: this.state.displaySetInstanceUids,
|
displaySetInstanceUids: this.state.displaySetInstanceUids,
|
||||||
setDisplaySetInstanceUids,
|
setDisplaySetInstanceUids,
|
||||||
|
toolBarLayout: this.state.toolBarLayout,
|
||||||
|
setToolBarLayout,
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
{this.props.children}
|
{this.props.children}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user