From 5eb8a717cbb7f7e2489b06f4f9485de78e06befe Mon Sep 17 00:00:00 2001 From: Erik Ziegler Date: Sun, 20 Dec 2015 18:52:17 -0500 Subject: [PATCH] Replace keypress with keydown to fix Measurement deletion from Lesion Table --- .../compatibility/deleteLesionKeyboardTool.js | 2 +- .../lesionTableRow/lesionTableRow.js | 18 ++++++++++++------ .../lesionTableTimepointCell.js | 13 +++++++------ 3 files changed, 20 insertions(+), 13 deletions(-) diff --git a/Packages/lesiontracker/client/compatibility/deleteLesionKeyboardTool.js b/Packages/lesiontracker/client/compatibility/deleteLesionKeyboardTool.js index 8562820fa..d8884ed73 100644 --- a/Packages/lesiontracker/client/compatibility/deleteLesionKeyboardTool.js +++ b/Packages/lesiontracker/client/compatibility/deleteLesionKeyboardTool.js @@ -70,7 +70,7 @@ } function keyDownCallback(e, eventData) { - var keyCode = eventData.keyCode; + var keyCode = eventData.which; if (keyCode === keys.DELETE || (keyCode === keys.D && eventData.event.ctrlKey === true)) { diff --git a/Packages/lesiontracker/client/components/lesionTableRow/lesionTableRow.js b/Packages/lesiontracker/client/components/lesionTableRow/lesionTableRow.js index 52515f703..df144b9c1 100644 --- a/Packages/lesiontracker/client/components/lesionTableRow/lesionTableRow.js +++ b/Packages/lesiontracker/client/components/lesionTableRow/lesionTableRow.js @@ -15,6 +15,12 @@ function doneCallback(measurementData, deleteTool) { } } +// 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'); @@ -26,16 +32,16 @@ Template.lesionTableRow.events({ changeLesionLocationCallback(measurementData, null, doneCallback); }, - 'keypress .location': function(e) { - var keyCode = e.keyCode; + 'keydown .location': function(e) { + var keyCode = e.which; if (keyCode === keys.DELETE || (keyCode === keys.D && e.ctrlKey === true)) { - var currentMeasurement = Template.parentData(1); - var currentTimepointID = this.timepointID; + var currentMeasurement = this; showConfirmDialog(function() { - log.info('Removing Lesion: ' + currentMeasurement._id); - clearMeasurementTimepointData(currentMeasurement._id, currentTimepointID); + Meteor.call("removeMeasurement", currentMeasurement._id, function(error, response) { + console.log('Removed!'); + }); }); } } diff --git a/Packages/lesiontracker/client/components/lesionTableTimepointCell/lesionTableTimepointCell.js b/Packages/lesiontracker/client/components/lesionTableTimepointCell/lesionTableTimepointCell.js index 8c142512c..ef622d977 100644 --- a/Packages/lesiontracker/client/components/lesionTableTimepointCell/lesionTableTimepointCell.js +++ b/Packages/lesiontracker/client/components/lesionTableTimepointCell/lesionTableTimepointCell.js @@ -70,21 +70,22 @@ Template.lesionTableTimepointCell.events({ if (currentMeasurement.isTarget) { showConfirmDialog(function() { - log.info('Confirm clicked!'); clearMeasurementTimepointData(currentMeasurement._id, currentTimepointID); }); } else { changeNonTargetResponse(measurementData, null, doneCallback); } }, - 'keypress .lesionTableTimepointCell': function(e) { - var keyCode = e.keyCode; + 'keydown .lesionTableTimepointCell': function(e) { + var keyCode = e.which; if (keyCode === keys.DELETE || (keyCode === keys.D && e.ctrlKey === true)) { var currentMeasurement = Template.parentData(1); - log.info('Removing Lesion: ' + currentMeasurement._id); - // TODO = Add confirm dialog first! - clearMeasurementTimepointData(currentMeasurement._id, this.timepointID); + var currentTimepointID = this.timepointID; + + showConfirmDialog(function() { + clearMeasurementTimepointData(currentMeasurement._id, currentTimepointID); + }); } } }); \ No newline at end of file