LT-373: Preventing double click from opening two modals and creating non-targets with no size

This commit is contained in:
Bruno Alves de Faria 2016-11-18 18:06:23 -02:00
parent 7afdb064c5
commit 49ba8eb7a7

View File

@ -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);
});