ohif-viewer/src/connectedComponents/ConnectedPluginSwitch.js

104 lines
2.3 KiB
JavaScript
Raw Normal View History

2019-05-30 06:46:45 +02:00
import OHIF from 'ohif-core';
import PluginSwitch from './PluginSwitch.js';
import { commandsManager } from './../App.js';
import { connect } from 'react-redux';
2019-05-30 06:46:45 +02:00
const { setLayout } = OHIF.redux.actions;
const mapStateToProps = state => {
const { activeViewportIndex, layout, viewportSpecificData } = state.viewports;
return {
activeViewportIndex,
viewportSpecificData,
2019-05-01 19:10:44 +02:00
layout,
2019-05-30 06:46:45 +02:00
};
};
const mapDispatchToProps = dispatch => {
return {
setLayout: data => {
2019-05-30 06:46:45 +02:00
dispatch(setLayout(data));
2019-05-01 19:10:44 +02:00
},
2019-05-30 06:46:45 +02:00
};
};
/*function setSingleLayoutData(originalArray, viewportIndex, data) {
2019-05-30 06:46:45 +02:00
const viewports = originalArray.slice();
const layoutData = Object.assign({}, viewports[viewportIndex], data);
2019-05-30 06:46:45 +02:00
viewports[viewportIndex] = layoutData;
2019-05-30 06:46:45 +02:00
return viewports;
}*/
const mergeProps = (propsFromState, propsFromDispatch, ownProps) => {
//const { activeViewportIndex, layout } = propsFromState;
//const { setLayout } = propsFromDispatch;
// TODO: Do not display certain options if the current display set
// cannot be displayed using these view types
const buttons = [
/*{
text: 'Acquired',
type: 'command',
2019-05-28 20:51:29 +02:00
icon: 'bars',
active: false,
2019-05-28 20:51:29 +02:00
onClick: () => {
2019-05-30 06:46:45 +02:00
console.warn('Original Acquisition');
const layoutData = setSingleLayoutData(
layout.viewports,
activeViewportIndex,
{ plugin: 'cornerstone' }
2019-05-30 06:46:45 +02:00
);
2019-05-30 06:46:45 +02:00
setLayout({ viewports: layoutData });
2019-05-01 19:10:44 +02:00
},
},
{
text: 'Axial',
2019-05-28 20:51:29 +02:00
icon: 'cube',
active: false,
2019-05-28 20:51:29 +02:00
onClick: () => {
window.commandsManager.runCommand('axial', {}, 'vtk');
2019-05-01 19:10:44 +02:00
},
},
{
text: 'Sagittal',
2019-05-28 20:51:29 +02:00
icon: 'cube',
active: false,
2019-05-28 20:51:29 +02:00
onClick: () => {
window.commandsManager.runCommand('sagittal', {}, 'vtk');
2019-05-01 19:10:44 +02:00
},
},
{
text: 'Coronal',
2019-05-28 20:51:29 +02:00
icon: 'cube',
active: false,
2019-05-28 20:51:29 +02:00
onClick: () => {
window.commandsManager.runCommand('coronal', {}, 'vtk');
},
},*/
{
label: '2D MPR',
icon: 'cube',
onClick: () => {
commandsManager.runCommand('mpr2d');
2019-05-01 19:10:44 +02:00
},
},
2019-05-30 06:46:45 +02:00
];
return {
2019-05-01 19:10:44 +02:00
buttons,
2019-05-30 06:46:45 +02:00
};
};
const ConnectedPluginSwitch = connect(
mapStateToProps,
mapDispatchToProps,
mergeProps
2019-05-30 06:46:45 +02:00
)(PluginSwitch);
2019-05-30 06:46:45 +02:00
export default ConnectedPluginSwitch;