fix: set SR in ActiveViewport by clicking thumb (#1091)

This commit is contained in:
Rodrigo Antinarelli 2019-10-25 15:22:44 -03:00 committed by Danny Brown
parent 86c479ac04
commit 986b7ae2bf
3 changed files with 23 additions and 11 deletions

View File

@ -34,7 +34,6 @@ const defaultState = {
* @param {Object} [action.viewportSpecificData]
*/
const viewports = (state = defaultState, action) => {
let currentData;
let viewportSpecificData;
let useActiveViewport = false;
switch (action.type) {
@ -85,14 +84,24 @@ const viewports = (state = defaultState, action) => {
// Allow fall-through
// eslint-disable-next-line
case SET_SPECIFIC_DATA: {
const layout = cloneDeep(state.layout);
const hasPlugin = action.data && action.data.plugin;
const viewportIndex = useActiveViewport
? state.activeViewportIndex
: action.viewportIndex;
currentData = cloneDeep(state.viewportSpecificData[viewportIndex]) || {};
viewportSpecificData = cloneDeep(state.viewportSpecificData);
viewportSpecificData[viewportIndex] = merge({}, currentData, action.data);
const { dom } = state.viewportSpecificData[viewportIndex];
return Object.assign({}, state, { viewportSpecificData });
viewportSpecificData = cloneDeep(state.viewportSpecificData);
viewportSpecificData[viewportIndex] = {
dom,
...action.data,
};
if (hasPlugin) {
layout.viewports[viewportIndex].plugin = action.data.plugin;
}
return Object.assign({}, state, { layout, viewportSpecificData });
}
case CLEAR_VIEWPORT:
viewportSpecificData = cloneDeep(state.viewportSpecificData);

View File

@ -35,14 +35,14 @@ const mapStateToProps = (state, ownProps) => {
};
};
const mapDispatchToProps = dispatch => {
const mapDispatchToProps = (dispatch, ownProps) => {
return {
onThumbnailClick: displaySetInstanceUid => {
dispatch(
setActiveViewportSpecificData({
displaySetInstanceUid,
})
const displaySet = ownProps.studyMetadata[0].displaySets.find(
ds => ds.displaySetInstanceUid === displaySetInstanceUid
);
dispatch(setActiveViewportSpecificData(displaySet));
},
};
};

View File

@ -295,7 +295,10 @@ class Viewer extends Component {
activeIndex={this.props.activeViewportIndex}
/>
) : (
<ConnectedStudyBrowser studies={this.state.thumbnails} />
<ConnectedStudyBrowser
studies={this.state.thumbnails}
studyMetadata={this.props.studies}
/>
)}
</SidePanel>