[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:
parent
3eba027003
commit
59003362c3
@ -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,
|
||||
|
||||
Loading…
Reference in New Issue
Block a user