ohif-viewer/Packages/lesiontracker/client/components/lesionTableRow/lesionTableRow.js

53 lines
1.6 KiB
JavaScript

function doneCallback(measurementData, deleteTool) {
// If a Lesion or Non-Target is removed via a dialog
// opened by the Lesion Table, we should clear the data for
// the specified Timepoint Cell
if (deleteTool === true) {
Meteor.call('removeMeasurement', measurementData.id, function(error, response) {
if (error) {
log.warn(error);
}
});
}
}
// Delete a lesion if Ctrl+D or DELETE is pressed while a lesion is selected
var keys = {
D: 68,
DELETE: 46
};
Template.lesionTableRow.events({
'dblclick .location': function() {
log.info('Double clicked on Lesion Location cell');
var measurementData = this;
// TODO = Fix this weird issue? Need to set toolData's ID properly..
measurementData.id = this._id;
changeLesionLocationCallback(measurementData, null, doneCallback);
},
'keydown .location': function(e) {
var keyCode = e.which;
if (keyCode === keys.DELETE ||
(keyCode === keys.D && e.ctrlKey === true)) {
var currentMeasurement = this;
var options = {
keyPressAllowed: false,
title: 'Remove measurement?',
text: 'Are you sure you would like to remove the entire measurement?'
};
showConfirmDialog(function() {
Meteor.call('removeMeasurement', currentMeasurement._id, function(error, response) {
if (error) {
log.warn(error);
}
});
}, options);
}
}
});