diff --git a/Packages/ohif-lesiontracker/client/compatibility/nonTargetTool.js b/Packages/ohif-lesiontracker/client/compatibility/nonTargetTool.js index 8c0451ffb..cbeebe797 100644 --- a/Packages/ohif-lesiontracker/client/compatibility/nonTargetTool.js +++ b/Packages/ohif-lesiontracker/client/compatibility/nonTargetTool.js @@ -1,5 +1,6 @@ import { OHIF } from 'meteor/ohif:core'; import { toolManager } from 'meteor/ohif:viewerbase'; +import { _ } from 'meteor/underscore'; (function($, cornerstone, cornerstoneMath, cornerstoneTools) { @@ -31,9 +32,29 @@ import { toolManager } from 'meteor/ohif:viewerbase'; }; }; + const validateMeasurement = (measurementData, eventData) => { + if (!measurementData) { + return false; + } + + const handles = measurementData.handles; + const start = _.pick(handles.start, ['x', 'y']); + const end = _.pick(handles.end, ['x', 'y']); + if (_.isEqual(start, end)) { + cornerstoneTools.removeToolState(eventData.element, toolType, measurementData); + return false; + } + + return true; + }; + // Define a callback to get your text annotation // This could be used, e.g. to open a modal function getMeasurementLocationCallback(measurementData, eventData) { + if (!validateMeasurement(measurementData, eventData)) { + return; + } + OHIF.ui.showFormDialog('dialogNonTargetMeasurement', { position: getPosition(eventData), title: 'Select Lesion Location', @@ -43,6 +64,10 @@ import { toolManager } from 'meteor/ohif:viewerbase'; } function changeMeasurementLocationCallback(measurementData, eventData) { + if (!validateMeasurement(measurementData, eventData)) { + return; + } + OHIF.ui.showFormDialog('dialogNonTargetMeasurement', { position: getPosition(eventData), title: 'Change Lesion Location', @@ -114,7 +139,7 @@ import { toolManager } from 'meteor/ohif:viewerbase'; $(element).on('CornerstoneToolsMouseMove', eventData, cornerstoneTools.nonTarget.mouseMoveCallback); $(element).on('CornerstoneToolsMouseDown', eventData, cornerstoneTools.nonTarget.mouseDownCallback); $(element).on('CornerstoneToolsMouseDownActivate', eventData, cornerstoneTools.nonTarget.mouseDownActivateCallback); - $(element).on('CornerstoneToolsMouseDoubleClick', eventData, doubleClickCallback); + $(element).on('CornerstoneToolsMouseDoubleClick', eventData, doubleClickCallback); cornerstone.updateImage(mouseEventData.element); });