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 { OHIF } from 'meteor/ohif:core';
|
||||||
import { toolManager } from 'meteor/ohif:viewerbase';
|
import { toolManager } from 'meteor/ohif:viewerbase';
|
||||||
|
import { _ } from 'meteor/underscore';
|
||||||
|
|
||||||
(function($, cornerstone, cornerstoneMath, cornerstoneTools) {
|
(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
|
// Define a callback to get your text annotation
|
||||||
// This could be used, e.g. to open a modal
|
// This could be used, e.g. to open a modal
|
||||||
function getMeasurementLocationCallback(measurementData, eventData) {
|
function getMeasurementLocationCallback(measurementData, eventData) {
|
||||||
|
if (!validateMeasurement(measurementData, eventData)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
OHIF.ui.showFormDialog('dialogNonTargetMeasurement', {
|
OHIF.ui.showFormDialog('dialogNonTargetMeasurement', {
|
||||||
position: getPosition(eventData),
|
position: getPosition(eventData),
|
||||||
title: 'Select Lesion Location',
|
title: 'Select Lesion Location',
|
||||||
@ -43,6 +64,10 @@ import { toolManager } from 'meteor/ohif:viewerbase';
|
|||||||
}
|
}
|
||||||
|
|
||||||
function changeMeasurementLocationCallback(measurementData, eventData) {
|
function changeMeasurementLocationCallback(measurementData, eventData) {
|
||||||
|
if (!validateMeasurement(measurementData, eventData)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
OHIF.ui.showFormDialog('dialogNonTargetMeasurement', {
|
OHIF.ui.showFormDialog('dialogNonTargetMeasurement', {
|
||||||
position: getPosition(eventData),
|
position: getPosition(eventData),
|
||||||
title: 'Change Lesion Location',
|
title: 'Change Lesion Location',
|
||||||
@ -114,7 +139,7 @@ import { toolManager } from 'meteor/ohif:viewerbase';
|
|||||||
$(element).on('CornerstoneToolsMouseMove', eventData, cornerstoneTools.nonTarget.mouseMoveCallback);
|
$(element).on('CornerstoneToolsMouseMove', eventData, cornerstoneTools.nonTarget.mouseMoveCallback);
|
||||||
$(element).on('CornerstoneToolsMouseDown', eventData, cornerstoneTools.nonTarget.mouseDownCallback);
|
$(element).on('CornerstoneToolsMouseDown', eventData, cornerstoneTools.nonTarget.mouseDownCallback);
|
||||||
$(element).on('CornerstoneToolsMouseDownActivate', eventData, cornerstoneTools.nonTarget.mouseDownActivateCallback);
|
$(element).on('CornerstoneToolsMouseDownActivate', eventData, cornerstoneTools.nonTarget.mouseDownActivateCallback);
|
||||||
$(element).on('CornerstoneToolsMouseDoubleClick', eventData, doubleClickCallback);
|
$(element).on('CornerstoneToolsMouseDoubleClick', eventData, doubleClickCallback);
|
||||||
|
|
||||||
cornerstone.updateImage(mouseEventData.element);
|
cornerstone.updateImage(mouseEventData.element);
|
||||||
});
|
});
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user