Disable double click for now. (#1872)
This commit is contained in:
parent
9099e197fb
commit
25ded882ec
@ -404,6 +404,8 @@ function OHIFCornerstoneSRViewport({
|
|||||||
? _viewportLabels[firstViewportIndexWithMatchingDisplaySetUid]
|
? _viewportLabels[firstViewportIndexWithMatchingDisplaySetUid]
|
||||||
: '';
|
: '';
|
||||||
|
|
||||||
|
// TODO -> disabled double click for now: onDoubleClick={_onDoubleClick}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<ViewportActionBar
|
<ViewportActionBar
|
||||||
@ -441,7 +443,8 @@ function OHIFCornerstoneSRViewport({
|
|||||||
},
|
},
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
<div className="relative flex flex-row w-full h-full overflow-hidden" onDoubleClick={_onDoubleClick}>
|
|
||||||
|
<div className="relative flex flex-row w-full h-full overflow-hidden">
|
||||||
<CornerstoneViewport
|
<CornerstoneViewport
|
||||||
onElementEnabled={onElementEnabled}
|
onElementEnabled={onElementEnabled}
|
||||||
viewportIndex={viewportIndex}
|
viewportIndex={viewportIndex}
|
||||||
|
|||||||
@ -292,6 +292,8 @@ function TrackedCornerstoneViewport({
|
|||||||
|
|
||||||
const showNavArrows = isTracked && viewportIndex === activeViewportIndex;
|
const showNavArrows = isTracked && viewportIndex === activeViewportIndex;
|
||||||
|
|
||||||
|
// TODO -> disabled double click for now: onDoubleClick={_onDoubleClick}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<ViewportActionBar
|
<ViewportActionBar
|
||||||
@ -328,10 +330,7 @@ function TrackedCornerstoneViewport({
|
|||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
{/* TODO: Viewport interface to accept stack or layers of content like this? */}
|
{/* TODO: Viewport interface to accept stack or layers of content like this? */}
|
||||||
<div
|
<div className="relative flex flex-row w-full h-full overflow-hidden">
|
||||||
className="relative flex flex-row w-full h-full overflow-hidden"
|
|
||||||
onDoubleClick={_onDoubleClick}
|
|
||||||
>
|
|
||||||
<CornerstoneViewport
|
<CornerstoneViewport
|
||||||
onElementEnabled={onElementEnabled}
|
onElementEnabled={onElementEnabled}
|
||||||
viewportIndex={viewportIndex}
|
viewportIndex={viewportIndex}
|
||||||
@ -416,7 +415,6 @@ function _getCornerstoneStack(displaySet, dataSource) {
|
|||||||
return stack;
|
return stack;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function _onDoubleClick() {
|
function _onDoubleClick() {
|
||||||
const cancelActiveManipulatorsForElement = cornerstoneTools.getModule(
|
const cancelActiveManipulatorsForElement = cornerstoneTools.getModule(
|
||||||
'manipulatorState'
|
'manipulatorState'
|
||||||
@ -427,7 +425,6 @@ function _onDoubleClick() {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Builds the viewport data from a datasource and a displayset.
|
* Builds the viewport data from a datasource and a displayset.
|
||||||
*
|
*
|
||||||
|
|||||||
@ -9,6 +9,7 @@ const publicAPI = {
|
|||||||
setCachedLayout: _setCachedLayout,
|
setCachedLayout: _setCachedLayout,
|
||||||
setServiceImplementation,
|
setServiceImplementation,
|
||||||
reset: _reset,
|
reset: _reset,
|
||||||
|
set: _set,
|
||||||
};
|
};
|
||||||
|
|
||||||
const serviceImplementation = {
|
const serviceImplementation = {
|
||||||
@ -20,6 +21,7 @@ const serviceImplementation = {
|
|||||||
_setLayout: () => console.warn('setLayout() NOT IMPLEMENTED'),
|
_setLayout: () => console.warn('setLayout() NOT IMPLEMENTED'),
|
||||||
_reset: () => console.warn('reset() NOT IMPLEMENTED'),
|
_reset: () => console.warn('reset() NOT IMPLEMENTED'),
|
||||||
_setCachedLayout: () => console.warn('setCachedLayout() NOT IMPLEMENTED'),
|
_setCachedLayout: () => console.warn('setCachedLayout() NOT IMPLEMENTED'),
|
||||||
|
_set: () => console.warn('set() NOT IMPLEMENTED'),
|
||||||
};
|
};
|
||||||
|
|
||||||
function _getState() {
|
function _getState() {
|
||||||
@ -41,6 +43,10 @@ function _setLayout({ numCols, numRows }) {
|
|||||||
return serviceImplementation._setLayout({ numCols, numRows });
|
return serviceImplementation._setLayout({ numCols, numRows });
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function _set(state) {
|
||||||
|
return serviceImplementation._set(state);
|
||||||
|
}
|
||||||
|
|
||||||
function _reset() {
|
function _reset() {
|
||||||
return serviceImplementation._reset({});
|
return serviceImplementation._reset({});
|
||||||
}
|
}
|
||||||
@ -55,6 +61,7 @@ function setServiceImplementation({
|
|||||||
setCachedLayout: setCachedLayoutImplementation,
|
setCachedLayout: setCachedLayoutImplementation,
|
||||||
setLayout: setLayoutImplementation,
|
setLayout: setLayoutImplementation,
|
||||||
reset: resetImplementation,
|
reset: resetImplementation,
|
||||||
|
set: setImplementation,
|
||||||
}) {
|
}) {
|
||||||
if (getStateImplementation) {
|
if (getStateImplementation) {
|
||||||
serviceImplementation._getState = getStateImplementation;
|
serviceImplementation._getState = getStateImplementation;
|
||||||
@ -74,6 +81,9 @@ function setServiceImplementation({
|
|||||||
if (setCachedLayoutImplementation) {
|
if (setCachedLayoutImplementation) {
|
||||||
serviceImplementation._setCachedLayout = setCachedLayoutImplementation;
|
serviceImplementation._setCachedLayout = setCachedLayoutImplementation;
|
||||||
}
|
}
|
||||||
|
if (setImplementation) {
|
||||||
|
serviceImplementation._set = setImplementation;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
|
|||||||
@ -36,7 +36,7 @@ export function ViewportGridProvider({ children, service }) {
|
|||||||
|
|
||||||
viewports[viewportIndex] = { displaySetInstanceUID, imageIndex };
|
viewports[viewportIndex] = { displaySetInstanceUID, imageIndex };
|
||||||
|
|
||||||
return { ...state, ...{ viewports }, cachedLayout: undefined };
|
return { ...state, ...{ viewports }, cachedLayout: null };
|
||||||
}
|
}
|
||||||
case 'SET_LAYOUT': {
|
case 'SET_LAYOUT': {
|
||||||
const { numCols, numRows } = action.payload;
|
const { numCols, numRows } = action.payload;
|
||||||
@ -55,7 +55,7 @@ export function ViewportGridProvider({ children, service }) {
|
|||||||
return {
|
return {
|
||||||
...state,
|
...state,
|
||||||
...{ activeViewportIndex, numCols, numRows, viewports },
|
...{ activeViewportIndex, numCols, numRows, viewports },
|
||||||
cachedLayout: undefined,
|
cachedLayout: null,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
case 'RESET': {
|
case 'RESET': {
|
||||||
@ -63,15 +63,21 @@ export function ViewportGridProvider({ children, service }) {
|
|||||||
numCols: 1,
|
numCols: 1,
|
||||||
numRows: 1,
|
numRows: 1,
|
||||||
activeViewportIndex: 0,
|
activeViewportIndex: 0,
|
||||||
viewports: [
|
viewports: [{ displaySetInstanceUID: null, imageIndex: null }],
|
||||||
{ displaySetInstanceUID: undefined, imageIndex: undefined },
|
cachedLayout: null,
|
||||||
],
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
case 'SET_CACHED_LAYOUT': {
|
case 'SET_CACHED_LAYOUT': {
|
||||||
return { ...state, cachedLayout: action.payload };
|
return { ...state, cachedLayout: action.payload };
|
||||||
}
|
}
|
||||||
|
case 'SET': {
|
||||||
|
return {
|
||||||
|
...state,
|
||||||
|
...action.payload,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
default:
|
default:
|
||||||
return action.payload;
|
return action.payload;
|
||||||
}
|
}
|
||||||
@ -129,6 +135,15 @@ export function ViewportGridProvider({ children, service }) {
|
|||||||
[dispatch]
|
[dispatch]
|
||||||
);
|
);
|
||||||
|
|
||||||
|
const set = useCallback(
|
||||||
|
payload =>
|
||||||
|
dispatch({
|
||||||
|
type: 'SET',
|
||||||
|
payload,
|
||||||
|
}),
|
||||||
|
[dispatch]
|
||||||
|
);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the implementation of a modal service that can be used by extensions.
|
* Sets the implementation of a modal service that can be used by extensions.
|
||||||
*
|
*
|
||||||
@ -143,6 +158,7 @@ export function ViewportGridProvider({ children, service }) {
|
|||||||
setLayout,
|
setLayout,
|
||||||
reset,
|
reset,
|
||||||
setCachedLayout,
|
setCachedLayout,
|
||||||
|
set,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}, [
|
}, [
|
||||||
@ -153,6 +169,7 @@ export function ViewportGridProvider({ children, service }) {
|
|||||||
setLayout,
|
setLayout,
|
||||||
reset,
|
reset,
|
||||||
setCachedLayout,
|
setCachedLayout,
|
||||||
|
set,
|
||||||
]);
|
]);
|
||||||
|
|
||||||
const api = {
|
const api = {
|
||||||
@ -161,6 +178,8 @@ export function ViewportGridProvider({ children, service }) {
|
|||||||
setDisplaysetForViewport,
|
setDisplaysetForViewport,
|
||||||
setLayout,
|
setLayout,
|
||||||
setCachedLayout,
|
setCachedLayout,
|
||||||
|
reset,
|
||||||
|
set,
|
||||||
};
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
|||||||
@ -30,6 +30,7 @@ function ViewerViewportGrid(props) {
|
|||||||
const isImageSet = x => x instanceof ImageSet;
|
const isImageSet = x => x instanceof ImageSet;
|
||||||
return isImageSet(a) === isImageSet(b) ? 0 : isImageSet(a) ? -1 : 1;
|
return isImageSet(a) === isImageSet(b) ? 0 : isImageSet(a) ? -1 : 1;
|
||||||
});
|
});
|
||||||
|
|
||||||
viewportGridService.setDisplaysetForViewport({
|
viewportGridService.setDisplaysetForViewport({
|
||||||
viewportIndex: 0,
|
viewportIndex: 0,
|
||||||
displaySetInstanceUID: displaySets[0].displaySetInstanceUID,
|
displaySetInstanceUID: displaySets[0].displaySetInstanceUID,
|
||||||
@ -68,17 +69,17 @@ function ViewerViewportGrid(props) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const onDoubleClick = viewportIndex => {
|
const onDoubleClick = viewportIndex => {
|
||||||
|
// TODO -> Disabled for now.
|
||||||
|
// onNewImage on a cornerstone viewport is firing setDisplaySetForViewport.
|
||||||
|
// Which it really really shouldn't. We need a larger fix for jump to
|
||||||
|
// measurements and all cornerstone "imageIndex" state to fix this.
|
||||||
if (cachedLayout) {
|
if (cachedLayout) {
|
||||||
viewportGridService.setLayout({
|
viewportGridService.set({
|
||||||
numCols: cachedLayout.numCols,
|
numCols: cachedLayout.numCols,
|
||||||
numRows: cachedLayout.numRows,
|
numRows: cachedLayout.numRows,
|
||||||
});
|
activeViewportIndex: cachedLayout.activeViewportIndex,
|
||||||
|
viewports: cachedLayout.viewports,
|
||||||
cachedLayout.viewports.forEach((viewport, viewportIndex) => {
|
cachedLayout: null,
|
||||||
viewportGridService.setDisplaysetForViewport({
|
|
||||||
viewportIndex,
|
|
||||||
displaySetInstanceUID: viewport.displaySetInstanceUID,
|
|
||||||
});
|
|
||||||
});
|
});
|
||||||
|
|
||||||
return;
|
return;
|
||||||
@ -90,17 +91,22 @@ function ViewerViewportGrid(props) {
|
|||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
|
||||||
viewportGridService.setDisplaysetForViewport({
|
viewportGridService.set({
|
||||||
viewportIndex: 0,
|
numCols: 1,
|
||||||
|
numRows: 1,
|
||||||
|
activeViewportIndex: 0,
|
||||||
|
viewports: [
|
||||||
|
{
|
||||||
displaySetInstanceUID: viewports[viewportIndex].displaySetInstanceUID,
|
displaySetInstanceUID: viewports[viewportIndex].displaySetInstanceUID,
|
||||||
});
|
imageIndex: undefined,
|
||||||
|
},
|
||||||
viewportGridService.setLayout({ numCols: 1, numRows: 1 });
|
],
|
||||||
|
cachedLayout: {
|
||||||
viewportGridService.setCachedLayout({
|
|
||||||
numCols,
|
numCols,
|
||||||
numRows,
|
numRows,
|
||||||
viewports: cachedViewports,
|
viewports: cachedViewports,
|
||||||
|
activeViewportIndex: viewportIndex,
|
||||||
|
},
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -157,6 +163,9 @@ function ViewerViewportGrid(props) {
|
|||||||
setActiveViewportIndex(viewportIndex);
|
setActiveViewportIndex(viewportIndex);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// TEMP -> Double click disabled for now
|
||||||
|
// onDoubleClick={() => onDoubleClick(viewportIndex)}
|
||||||
|
|
||||||
viewportPanes[i] = (
|
viewportPanes[i] = (
|
||||||
<ViewportPane
|
<ViewportPane
|
||||||
key={viewportIndex}
|
key={viewportIndex}
|
||||||
@ -164,7 +173,6 @@ function ViewerViewportGrid(props) {
|
|||||||
acceptDropsFor="displayset"
|
acceptDropsFor="displayset"
|
||||||
onDrop={onDropHandler.bind(null, viewportIndex)}
|
onDrop={onDropHandler.bind(null, viewportIndex)}
|
||||||
onInteraction={onInterationHandler}
|
onInteraction={onInterationHandler}
|
||||||
onDoubleClick={() => onDoubleClick(viewportIndex)}
|
|
||||||
isActive={activeViewportIndex === viewportIndex}
|
isActive={activeViewportIndex === viewportIndex}
|
||||||
>
|
>
|
||||||
<ViewportComponent
|
<ViewportComponent
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user