From ce40f04f2e5ef2d06c85518e2748d461d246afd4 Mon Sep 17 00:00:00 2001 From: James Petts Date: Fri, 10 Jul 2020 20:00:10 +0100 Subject: [PATCH] [OHIF-295] - Esc button should stop the creation of a measurement or annotation (#1883) * WIP, need to fix arrow making measurement * Update cornerstoneTools to fix cst arrow annotate event bug. --- extensions/cornerstone/package.json | 2 +- extensions/cornerstone/src/commandsModule.js | 20 ++++++++++++++++++++ extensions/dicom-rt/package.json | 2 +- extensions/dicom-segmentation/package.json | 2 +- extensions/dicom-sr/package.json | 2 +- extensions/measurement-tracking/package.json | 2 +- extensions/vtk/package.json | 2 +- platform/core/package.json | 2 +- platform/core/src/defaults/hotkeyBindings.js | 7 ++++++- platform/viewer/package.json | 2 +- yarn.lock | 8 ++++---- 11 files changed, 38 insertions(+), 13 deletions(-) diff --git a/extensions/cornerstone/package.json b/extensions/cornerstone/package.json index 6e90c486d..4da437df9 100644 --- a/extensions/cornerstone/package.json +++ b/extensions/cornerstone/package.json @@ -33,7 +33,7 @@ "@ohif/ui": "^0.50.0", "cornerstone-core": "^2.3.0", "cornerstone-math": "^0.1.8", - "cornerstone-tools": "4.18.0", + "cornerstone-tools": "4.18.1", "cornerstone-wado-image-loader": "^3.1.2", "dcmjs": "0.14.2", "dicom-parser": "^1.8.3", diff --git a/extensions/cornerstone/src/commandsModule.js b/extensions/cornerstone/src/commandsModule.js index 05371161e..7dfecd912 100644 --- a/extensions/cornerstone/src/commandsModule.js +++ b/extensions/cornerstone/src/commandsModule.js @@ -79,6 +79,21 @@ const commandsModule = ({ servicesManager }) => { cornerstone.setViewport(enabledElement, viewport); } }, + cancelMeasurement: () => { + const enabledElement = _getActiveViewportsEnabledElement(); + + if (enabledElement) { + debugger; + + const cancelActiveManipulatorsForElement = cornerstoneTools.getModule( + 'manipulatorState' + ).setters.cancelActiveManipulatorsForElement; + + cancelActiveManipulatorsForElement(enabledElement); + + cornerstone.updateImage(enabledElement); + } + }, // TODO: this is receiving `evt` from `ToolbarRow`. We could use it to have // better mouseButtonMask sets. setToolActive: ({ toolName }) => { @@ -349,6 +364,11 @@ const commandsModule = ({ servicesManager }) => { storeContexts: [], options: {}, }, + cancelMeasurement: { + commandFn: actions.cancelMeasurement, + storeContexts: [], + options: {}, + }, flipViewportVertical: { commandFn: actions.flipViewportVertical, storeContexts: [], diff --git a/extensions/dicom-rt/package.json b/extensions/dicom-rt/package.json index 69f4a2e6e..64529c2bb 100644 --- a/extensions/dicom-rt/package.json +++ b/extensions/dicom-rt/package.json @@ -30,7 +30,7 @@ "peerDependencies": { "@ohif/core": "^0.50.0", "cornerstone-core": "^2.2.8", - "cornerstone-tools": "4.18.0", + "cornerstone-tools": "4.18.1", "dcmjs": "0.14.2", "prop-types": "^15.6.2", "react": "^16.8.6", diff --git a/extensions/dicom-segmentation/package.json b/extensions/dicom-segmentation/package.json index 330377c24..fac34f06e 100644 --- a/extensions/dicom-segmentation/package.json +++ b/extensions/dicom-segmentation/package.json @@ -30,7 +30,7 @@ "peerDependencies": { "@ohif/core": "^0.50.0", "cornerstone-core": "^2.2.8", - "cornerstone-tools": "4.18.0", + "cornerstone-tools": "4.18.1", "dcmjs": "0.14.2", "prop-types": "^15.6.2", "react": "^16.8.6", diff --git a/extensions/dicom-sr/package.json b/extensions/dicom-sr/package.json index bc036db54..c9c2f679f 100644 --- a/extensions/dicom-sr/package.json +++ b/extensions/dicom-sr/package.json @@ -33,7 +33,7 @@ "@ohif/ui": "^0.50.0", "cornerstone-core": "^2.3.0", "cornerstone-math": "^0.1.8", - "cornerstone-tools": "4.18.0", + "cornerstone-tools": "4.18.1", "cornerstone-wado-image-loader": "^3.1.2", "dcmjs": "0.14.2", "dicom-parser": "^1.8.3", diff --git a/extensions/measurement-tracking/package.json b/extensions/measurement-tracking/package.json index 2f03c02f6..36a719cf0 100644 --- a/extensions/measurement-tracking/package.json +++ b/extensions/measurement-tracking/package.json @@ -28,7 +28,7 @@ }, "peerDependencies": { "@ohif/core": "^0.50.0", - "cornerstone-tools": "4.18.0", + "cornerstone-tools": "4.18.1", "dcmjs": "0.14.2", "prop-types": "^15.6.2", "react": "^16.13.1", diff --git a/extensions/vtk/package.json b/extensions/vtk/package.json index 46972b4a1..6c9039679 100644 --- a/extensions/vtk/package.json +++ b/extensions/vtk/package.json @@ -57,7 +57,7 @@ "@ohif/core": "^2.9.6", "@ohif/ui": "^2.0.0", "cornerstone-core": "^2.3.0", - "cornerstone-tools": "4.18.0", + "cornerstone-tools": "4.18.1", "cornerstone-wado-image-loader": "^3.1.2", "dicom-parser": "^1.8.3", "gh-pages": "^2.0.1", diff --git a/platform/core/package.json b/platform/core/package.json index a0ed83e29..8307d44f2 100644 --- a/platform/core/package.json +++ b/platform/core/package.json @@ -31,7 +31,7 @@ }, "peerDependencies": { "cornerstone-core": "^2.3.0", - "cornerstone-tools": "4.18.0", + "cornerstone-tools": "4.18.1", "cornerstone-wado-image-loader": "^3.1.2", "dicom-parser": "^1.8.3" }, diff --git a/platform/core/src/defaults/hotkeyBindings.js b/platform/core/src/defaults/hotkeyBindings.js index cbce9728b..fd0ede4bf 100644 --- a/platform/core/src/defaults/hotkeyBindings.js +++ b/platform/core/src/defaults/hotkeyBindings.js @@ -1,4 +1,4 @@ -import windowLevelPresets from "./windowLevelPresets"; +import windowLevelPresets from './windowLevelPresets'; /* * Supported Keys: https://craig.is/killing/mice @@ -19,6 +19,11 @@ export default [ { commandName: 'rotateViewportCW', label: 'Rotate Right', keys: ['r'] }, { commandName: 'rotateViewportCCW', label: 'Rotate Left', keys: ['l'] }, { commandName: 'invertViewport', label: 'Invert', keys: ['i'] }, + { + commandName: 'cancelMeasurement', + label: 'Cancel Cornerstone Measurement', + keys: ['esc'], + }, { commandName: 'flipViewportVertical', label: 'Flip Horizontally', diff --git a/platform/viewer/package.json b/platform/viewer/package.json index c7e66fb32..0a630f589 100644 --- a/platform/viewer/package.json +++ b/platform/viewer/package.json @@ -67,7 +67,7 @@ "classnames": "^2.2.6", "core-js": "^3.2.1", "cornerstone-math": "^0.1.8", - "cornerstone-tools": "4.18.0", + "cornerstone-tools": "4.18.1", "cornerstone-wado-image-loader": "^3.1.2", "dcmjs": "0.14.2", "dicom-parser": "^1.8.3", diff --git a/yarn.lock b/yarn.lock index 190e5d635..89765864a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6766,10 +6766,10 @@ cornerstone-math@^0.1.8: resolved "https://registry.yarnpkg.com/cornerstone-math/-/cornerstone-math-0.1.8.tgz#68ab1f9e4fdcd7c5cb23a0d2eb4263f9f894f1c5" integrity sha512-x7NEQHBtVG7j1yeyj/aRoKTpXv1Vh2/H9zNLMyqYJDtJkNng8C4Q8M3CgZ1qer0Yr7eVq2x+Ynmj6kfOm5jXKw== -cornerstone-tools@4.18.0: - version "4.18.0" - resolved "https://registry.yarnpkg.com/cornerstone-tools/-/cornerstone-tools-4.18.0.tgz#3b9497390fe7a7479db6f480d3219cc20c97e128" - integrity sha512-r1IslS/SaybyZq95jhaHltuYuA/c8h6C6iUMYGsuMh1laENYV9Nm0XsI0Ud+w1v5ZgvbHu52bw0rUQmWkOHszA== +cornerstone-tools@4.18.1: + version "4.18.1" + resolved "https://registry.yarnpkg.com/cornerstone-tools/-/cornerstone-tools-4.18.1.tgz#8e37770656a1dbd80e043f365baf697b9414e39f" + integrity sha512-PHuThDgJAc0I+hI/uu1CJ8rqcyUamE8fXP04NpuDd4gdsQlzy9V7oZxG3Wf7AsupzZoINGUNCCDGQnrCE10r4w== dependencies: "@babel/runtime" "7.1.2" cornerstone-math "0.1.7"