set the displaySet for the dropped thumbnail/viewport target
This commit is contained in:
parent
ff371ece8d
commit
b396cc8d3f
@ -56,6 +56,13 @@ function App({ config, defaultExtensions }) {
|
|||||||
switch (action.type) {
|
switch (action.type) {
|
||||||
case 'SET_ACTIVE_VIEWPORT_INDEX':
|
case 'SET_ACTIVE_VIEWPORT_INDEX':
|
||||||
return { ...state, ...{ activeViewportIndex: action.payload } };
|
return { ...state, ...{ activeViewportIndex: action.payload } };
|
||||||
|
case 'SET_DISPLAYSET_FOR_VIEWPORT':
|
||||||
|
const { viewportIndex, displaySetInstanceUID } = action.payload;
|
||||||
|
const viewports = state.viewports.slice();
|
||||||
|
|
||||||
|
viewports[viewportIndex] = { displaySetInstanceUID };
|
||||||
|
|
||||||
|
return { ...state, ...{ viewports } };
|
||||||
default:
|
default:
|
||||||
return action.payload;
|
return action.payload;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -62,26 +62,20 @@ function ViewerViewportGrid(props) {
|
|||||||
// return unsubscribe;
|
// return unsubscribe;
|
||||||
// }, []);
|
// }, []);
|
||||||
|
|
||||||
// TODO: either need hover to change "active viewport"
|
// const droppedDisplaySet = DisplaySetService.getDisplaySetByUID(
|
||||||
// so we can use it as our target for setting the displaySet,
|
// displaySetInstanceUID
|
||||||
// or the dropHandler needs to know which viewport was dropped on
|
// );
|
||||||
// in event data
|
// const updatedViewportGridState = HangingProtocolService([
|
||||||
const onDropHandler = ({ displaySetInstanceUID }) => {
|
// droppedDisplaySet,
|
||||||
const droppedDisplaySet = DisplaySetService.getDisplaySetByUID(
|
// ]);
|
||||||
displaySetInstanceUID
|
const onDropHandler = (viewportIndex, { displaySetInstanceUID }) => {
|
||||||
);
|
console.warn(`DROPPED: ${displaySetInstanceUID}`);
|
||||||
const updatedViewportGridState = HangingProtocolService([
|
dispatch({ type: 'SET_DISPLAYSET_FOR_VIEWPORT', payload:
|
||||||
droppedDisplaySet,
|
{
|
||||||
]);
|
viewportIndex,
|
||||||
|
displaySetInstanceUID
|
||||||
console.warn(
|
}
|
||||||
'DROPPED: ',
|
});
|
||||||
displaySetInstanceUID,
|
|
||||||
droppedDisplaySet,
|
|
||||||
updatedViewportGridState
|
|
||||||
);
|
|
||||||
|
|
||||||
dispatch({ type: 'action-name', payload: updatedViewportGridState });
|
|
||||||
};
|
};
|
||||||
|
|
||||||
const getViewportPanes = () => {
|
const getViewportPanes = () => {
|
||||||
@ -99,7 +93,7 @@ function ViewerViewportGrid(props) {
|
|||||||
key={viewportIndex}
|
key={viewportIndex}
|
||||||
className="m-1"
|
className="m-1"
|
||||||
acceptDropsFor="displayset"
|
acceptDropsFor="displayset"
|
||||||
onDrop={onDropHandler}
|
onDrop={onDropHandler.bind(null, viewportIndex)}
|
||||||
onInteraction={() => { setActiveViewportIndex(viewportIndex); }}
|
onInteraction={() => { setActiveViewportIndex(viewportIndex); }}
|
||||||
isActive={activeViewportIndex === viewportIndex}
|
isActive={activeViewportIndex === viewportIndex}
|
||||||
>
|
>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user