From 5fb95cc8a3d313d9305a3d206496afd6c66e2b46 Mon Sep 17 00:00:00 2001 From: Evren Ozkan Date: Tue, 26 Feb 2019 13:22:56 -0500 Subject: [PATCH] fix(measurement-table): Set measurementId in table data --- .../ConnectedMeasurementTable.js | 47 ++++++++++++------- 1 file changed, 30 insertions(+), 17 deletions(-) diff --git a/Packages-react/ohif-viewer/src/connectedComponents/ConnectedMeasurementTable.js b/Packages-react/ohif-viewer/src/connectedComponents/ConnectedMeasurementTable.js index c1ee619dd..4c2df680e 100644 --- a/Packages-react/ohif-viewer/src/connectedComponents/ConnectedMeasurementTable.js +++ b/Packages-react/ohif-viewer/src/connectedComponents/ConnectedMeasurementTable.js @@ -5,23 +5,23 @@ import moment from 'moment'; function groupBy(list, props) { return list.reduce((a, b) => { - (a[b[props]] = a[b[props]] || []).push(b); - return a; + (a[b[props]] = a[b[props]] || []).push(b); + return a; }, {}); } function getAllTools() { const config = OHIF.measurements.MeasurementApi.getConfiguration(); let tools = []; - config.measurementTools.forEach( toolGroup => - tools = tools.concat(toolGroup.childTools) + config.measurementTools.forEach( + toolGroup => (tools = tools.concat(toolGroup.childTools)) ); return tools; } function getMeasurementText(measurementData) { - const { location, description} = measurementData; + const { location, description } = measurementData; let text = '...'; if (location) { text = location; @@ -32,14 +32,18 @@ function getMeasurementText(measurementData) { return text; } -function getDataForEachMeasurementNumber(measurementNumberList, timepoints, displayFunction) { +function getDataForEachMeasurementNumber( + measurementNumberList, + timepoints, + displayFunction +) { const data = []; // on each measurement number we should get each measurement data by available timepoint - measurementNumberList.forEach( measurement => { - timepoints.forEach( timepoint => { + measurementNumberList.forEach(measurement => { + timepoints.forEach(timepoint => { const eachData = { displayText: '...' - } + }; if (measurement.timepointId === timepoint.timepointId) { eachData.displayText = displayFunction(measurement); } @@ -55,12 +59,12 @@ function convertMeasurementsToTableData(toolCollections, timepoints) { const toolGroups = config.measurementTools; const tools = getAllTools(); - const tableMeasurements = toolGroups.map( toolGroup => { + const tableMeasurements = toolGroups.map(toolGroup => { return { groupName: toolGroup.name, groupId: toolGroup.id, measurements: [] - } + }; }); Object.keys(toolCollections).forEach(toolId => { @@ -71,20 +75,26 @@ function convertMeasurementsToTableData(toolCollections, timepoints) { // Group by measurementNumber so we can display then all in the same line const groupedMeasurements = groupBy(toolMeasurements, 'measurementNumber'); - Object.keys(groupedMeasurements).forEach( groupedMeasurementsIndex => { - const measurementNumberList = groupedMeasurements[groupedMeasurementsIndex]; + Object.keys(groupedMeasurements).forEach(groupedMeasurementsIndex => { + const measurementNumberList = + groupedMeasurements[groupedMeasurementsIndex]; //check if all measurements with same measurementNumber will have same LABEL const tableMeasurement = { - label: getMeasurementText(measurementNumberList[0]), + measurementId: measurementNumberList[0]._id, + label: getMeasurementText(measurementNumberList[0]), hasWarnings: false, //TODO warningTitle: '', //TODO isSplitLesion: false, //TODO warningList: [], //TODO - data: getDataForEachMeasurementNumber(measurementNumberList, timepoints, displayFunction) + data: getDataForEachMeasurementNumber( + measurementNumberList, + timepoints, + displayFunction + ) }; // find the group object for the tool - const toolGroupMeasurements = tableMeasurements.find( group => { + const toolGroupMeasurements = tableMeasurements.find(group => { return group.groupId === tool.toolGroup; }); // inject the new measurement for this measurementNumer @@ -112,7 +122,10 @@ const mapStateToProps = state => { const { timepoints, measurements } = state.timepointManager; return { timepoints: convertTimepointsToTableData(timepoints), - measurementCollection: convertMeasurementsToTableData(measurements, timepoints) + measurementCollection: convertMeasurementsToTableData( + measurements, + timepoints + ) }; };