From 1b106656125d365dc4b3b371c628d4892974fc5f Mon Sep 17 00:00:00 2001 From: Bruno Alves de Faria Date: Tue, 15 Nov 2016 10:43:17 -0200 Subject: [PATCH] LT-291: Changing measuement table rename behavior for Non-Targets --- .../client/compatibility/nonTargetTool.js | 25 ++++------------- .../components/dialog/nonTargetMeasurement.js | 27 +++++++++---------- .../measurementTableRow.js | 7 +++-- 3 files changed, 23 insertions(+), 36 deletions(-) diff --git a/Packages/ohif-lesiontracker/client/compatibility/nonTargetTool.js b/Packages/ohif-lesiontracker/client/compatibility/nonTargetTool.js index a7f9a25f0..69290a67c 100644 --- a/Packages/ohif-lesiontracker/client/compatibility/nonTargetTool.js +++ b/Packages/ohif-lesiontracker/client/compatibility/nonTargetTool.js @@ -1,4 +1,3 @@ -import { _ } from 'meteor/underscore'; import { OHIF } from 'meteor/ohif:core'; (function($, cornerstone, cornerstoneMath, cornerstoneTools) { @@ -20,35 +19,21 @@ import { OHIF } from 'meteor/ohif:core'; ESC: 27 }; - const toolMethods = { - removeMeasurement() { - - } - }; - - const showLocationDialog = settings => { - const dialogSettings = _.extend({ - title: 'Lesion Location', - toolMethods - }, settings); - OHIF.ui.showFormDialog('dialogNonTargetMeasurement', dialogSettings); - }; - // Define a callback to get your text annotation // This could be used, e.g. to open a modal function getMeasurementLocationCallback(measurementData, eventData) { - showLocationDialog({ + OHIF.ui.showFormDialog('dialogNonTargetMeasurement', { title: 'Select Lesion Location', - measurementData, - eventData + element: eventData.element, + measurementData }); } function changeMeasurementLocationCallback(measurementData, eventData) { - showLocationDialog({ + OHIF.ui.showFormDialog('dialogNonTargetMeasurement', { title: 'Change Lesion Location', + element: eventData.element, measurementData, - eventData, edit: true }); } diff --git a/Packages/ohif-lesiontracker/client/components/dialog/nonTargetMeasurement.js b/Packages/ohif-lesiontracker/client/components/dialog/nonTargetMeasurement.js index c4a9c35b9..fd9c6aba3 100644 --- a/Packages/ohif-lesiontracker/client/components/dialog/nonTargetMeasurement.js +++ b/Packages/ohif-lesiontracker/client/components/dialog/nonTargetMeasurement.js @@ -9,8 +9,6 @@ Template.dialogNonTargetMeasurement.onCreated(() => { instance.measurementTypeId = 'nonTargets'; - const measurementData = instance.data.measurementData; - instance.schema = new SimpleSchema({ location: FieldLesionLocation, response: FieldLesionLocationResponse @@ -19,11 +17,11 @@ Template.dialogNonTargetMeasurement.onCreated(() => { // Remove the measurement from the collection instance.removeMeasurement = () => { instance.viewerData.measurementApi.deleteMeasurements(instance.measurementTypeId, { - _id: measurementData._id + _id: instance.data.measurementData._id }); // Refresh the image with the measurement removed - cornerstone.updateImage(instance.cornerstoneElement); + cornerstone.updateImage(instance.data.element); }; // Close the current dialog @@ -48,19 +46,20 @@ Template.dialogNonTargetMeasurement.onCreated(() => { Template.dialogNonTargetMeasurement.onRendered(() => { const instance = Template.instance(); - instance.cornerstoneElement = instance.data.eventData.element; - const form = instance.$('form').data('component'); - const viewerMain = $(instance.cornerstoneElement).closest('.viewerMain')[0]; + console.warn('>>>>instance.data', instance.data); + + const viewerMain = $(instance.data.element).closest('.viewerMain')[0]; instance.viewerData = Blaze.getData(viewerMain); const measurementApi = instance.viewerData.measurementApi; const timepointApi = instance.viewerData.timepointApi; - const measurementData = instance.data.measurementData; const collection = measurementApi[instance.measurementTypeId]; + const measurementData = instance.data.measurementData; + // Get the current inserted measurement from the collection const currentMeasurement = collection.findOne({ _id: measurementData._id }); @@ -87,14 +86,14 @@ Template.dialogNonTargetMeasurement.onRendered(() => { location, response }); + + // Synchronize the measurement number with the one inserted in the collection + measurementData.measurementNumber = currentMeasurement.measurementNumber; + + // Refresh the image with the measurement number + cornerstone.updateImage(instance.data.element); } - // Synchronize the measurement number with the one inserted in the collection - measurementData.measurementNumber = currentMeasurement.measurementNumber; - - // Refresh the image with the measurement number - cornerstone.updateImage(instance.cornerstoneElement); - // Delete the measurement from collection when dialog is closed and not on edit mode instance.data.promise.catch(() => { if (instance.data.edit) { diff --git a/Packages/ohif-measurements/client/components/measurementTable/measurementTableRow/measurementTableRow.js b/Packages/ohif-measurements/client/components/measurementTable/measurementTableRow/measurementTableRow.js index f664c665e..54457b9fe 100644 --- a/Packages/ohif-measurements/client/components/measurementTable/measurementTableRow/measurementTableRow.js +++ b/Packages/ohif-measurements/client/components/measurementTable/measurementTableRow/measurementTableRow.js @@ -30,10 +30,13 @@ Template.measurementTableRow.events({ }, 'click .js-rename'(event, instance) { + const rowItem = instance.data.rowItem; + + // Show the measure flow for targets OHIF.measurements.toggleLabelButton({ instance, - measurementId: instance.data.rowItem.entries[0], - measurementTypeId: instance.data.rowItem.measurementTypeId, + measurementId: rowItem.entries[0]._id, + measurementTypeId: rowItem.measurementTypeId, element: document.body, measurementApi: instance.data.measurementApi, position: {