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