[OHIF-278] Jumping to a measurement should set it to "active" in cornerstone-tools, highlighting it as green (#1888)

* Set cornerstone tool active when jumping to measurement.

* Remove debugger statement

* Also set active on left/right actionbar buttons.
This commit is contained in:
James Petts authored and GitHub committed 2020-07-10 15:38:40 -04:00
1 parent 3eba027003
commit 59003362c3
3 files changed
+38

No files matched your search

@@ -0,0 +1,32 @@
import cornerstone from 'cornerstone-core';
import cornerstoneTools from 'cornerstone-tools';
const { globalImageIdSpecificToolStateManager } = cornerstoneTools;
export default function setMeasurementActive(measurement) {
const { id } = measurement;
const toolState = globalImageIdSpecificToolStateManager.saveToolState();
Object.keys(toolState).forEach(imageId => {
const imageIdSpecificToolState = toolState[imageId];
Object.keys(imageIdSpecificToolState).forEach(toolType => {
const toolSpecificToolState = imageIdSpecificToolState[toolType];
const toolSpecificToolData = toolSpecificToolState.data;
if (toolSpecificToolData && toolSpecificToolData.length) {
toolSpecificToolData.forEach(data => {
data.active = data.id === id ? true : false;
});
}
});
});
const enabledElements = cornerstoneTools.store.state.enabledElements;
enabledElements.forEach(element => {
cornerstone.updateImage(element);
});
}
@@ -12,6 +12,7 @@ import { useDebounce } from '@hooks';
import ActionButtons from './ActionButtons';
import { useTrackedMeasurements } from '../../getContextModule';
import createReportAsync from './../../_shared/createReportAsync.js';
import setCornerstoneMeasurementActive from '../../_shared/setCornerstoneMeasurementActive';
const { formatDate } = utils;
@@ -163,6 +164,8 @@ function PanelMeasurementTableTracking({ servicesManager, extensionManager }) {
const measurement = MeasurementService.getMeasurement(id);
const { referenceSeriesUID, SOPInstanceUID } = measurement;
setCornerstoneMeasurementActive(measurement);
const displaySets = DisplaySetService.getDisplaySetsForSeries(
referenceSeriesUID
);
@@ -14,6 +14,7 @@ import { useTrackedMeasurements } from './../getContextModule';
import ViewportOverlay from './ViewportOverlay';
import ViewportLoadingIndicator from './ViewportLoadingIndicator';
import setCornerstoneMeasurementActive from '../_shared/setCornerstoneMeasurementActive';
const { formatDate } = utils;
@@ -272,6 +273,8 @@ function TrackedCornerstoneViewport({
m => m.id === newTrackedMeasurementId
);
setCornerstoneMeasurementActive(measurement);
const {
displaySetInstanceUID,
imageIndex,