[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 ActionButtons from './ActionButtons';
|
||||||
import { useTrackedMeasurements } from '../../getContextModule';
|
import { useTrackedMeasurements } from '../../getContextModule';
|
||||||
import createReportAsync from './../../_shared/createReportAsync.js';
|
import createReportAsync from './../../_shared/createReportAsync.js';
|
||||||
|
import setCornerstoneMeasurementActive from '../../_shared/setCornerstoneMeasurementActive';
|
||||||
|
|
||||||
const { formatDate } = utils;
|
const { formatDate } = utils;
|
||||||
|
|
||||||
@ -163,6 +164,8 @@ function PanelMeasurementTableTracking({ servicesManager, extensionManager }) {
|
|||||||
const measurement = MeasurementService.getMeasurement(id);
|
const measurement = MeasurementService.getMeasurement(id);
|
||||||
const { referenceSeriesUID, SOPInstanceUID } = measurement;
|
const { referenceSeriesUID, SOPInstanceUID } = measurement;
|
||||||
|
|
||||||
|
setCornerstoneMeasurementActive(measurement);
|
||||||
|
|
||||||
const displaySets = DisplaySetService.getDisplaySetsForSeries(
|
const displaySets = DisplaySetService.getDisplaySetsForSeries(
|
||||||
referenceSeriesUID
|
referenceSeriesUID
|
||||||
);
|
);
|
||||||
|
|||||||
@ -14,6 +14,7 @@ import { useTrackedMeasurements } from './../getContextModule';
|
|||||||
|
|
||||||
import ViewportOverlay from './ViewportOverlay';
|
import ViewportOverlay from './ViewportOverlay';
|
||||||
import ViewportLoadingIndicator from './ViewportLoadingIndicator';
|
import ViewportLoadingIndicator from './ViewportLoadingIndicator';
|
||||||
|
import setCornerstoneMeasurementActive from '../_shared/setCornerstoneMeasurementActive';
|
||||||
|
|
||||||
const { formatDate } = utils;
|
const { formatDate } = utils;
|
||||||
|
|
||||||
@ -272,6 +273,8 @@ function TrackedCornerstoneViewport({
|
|||||||
m => m.id === newTrackedMeasurementId
|
m => m.id === newTrackedMeasurementId
|
||||||
);
|
);
|
||||||
|
|
||||||
|
setCornerstoneMeasurementActive(measurement);
|
||||||
|
|
||||||
const {
|
const {
|
||||||
displaySetInstanceUID,
|
displaySetInstanceUID,
|
||||||
imageIndex,
|
imageIndex,
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user