LT-373: Preventing double click from opening two modals and creating non-targets with no size
This commit is contained in:
parent
7afdb064c5
commit
49ba8eb7a7
@ -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);
|
||||
});
|
||||
|
||||
Loading…
Reference in New Issue
Block a user