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({
2020-05-15 19:07:21 +02:00
displaySetInstanceUIDs: [],
setDisplaySetInstanceUids: () => {},
2020-05-13 12:29:20 +02:00
toolBarLayout: [],
setToolBarLayout: () => {},
});
ViewModelContext.displayName = 'ViewModelContext';
class ViewModelProvider extends Component {
state = {
2020-05-15 19:07:21 +02:00
displaySetInstanceUIDs: [],
};
render() {
2020-05-15 19:07:21 +02:00
const setDisplaySetInstanceUids = displaySetInstanceUIDs => {
this.setState({ displaySetInstanceUIDs });
};
2020-05-13 12:29:20 +02:00
const setToolBarLayout = toolBarLayout => {
this.setState({ toolBarLayout });
};
return (
<ViewModelContext.Provider
value={{
2020-05-15 19:07:21 +02:00
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 };