ohif-viewer/platform/core/src/ViewModelContext.js

48 lines
1.1 KiB
JavaScript
Raw Normal View History

2020-05-13 17:37:27 +02:00
import React, { Component, useContext } from 'react';
/// TODO MAKE THIS PRETTY DANNY
const ViewModelContext = React.createContext({
displaySetInstanceUids: [],
setDisplaySetInstanceUids: () => {},
2020-05-13 12:29:20 +02:00
toolBarLayout: [],
setToolBarLayout: () => {},
});
ViewModelContext.displayName = 'ViewModelContext';
class ViewModelProvider extends Component {
state = {
displaySetInstanceUids: [],
};
render() {
const setDisplaySetInstanceUids = displaySetInstanceUids => {
this.setState({ displaySetInstanceUids });
};
2020-05-13 12:29:20 +02:00
const setToolBarLayout = toolBarLayout => {
this.setState({ toolBarLayout });
};
return (
<ViewModelContext.Provider
value={{
displaySetInstanceUids: this.state.displaySetInstanceUids,
setDisplaySetInstanceUids,
2020-05-13 12:29:20 +02:00
toolBarLayout: this.state.toolBarLayout,
setToolBarLayout,
}}
>
{this.props.children}
</ViewModelContext.Provider>
);
}
}
2020-05-13 17:37:27 +02:00
const useViewModel = () => useContext(ViewModelContext);
export default ViewModelContext;
2020-05-13 17:37:27 +02:00
export { ViewModelProvider, useViewModel };