fix: backward compatibility with toolbar service (#5052)

This commit is contained in:
Alireza authored and GitHub committed 2025-05-16 13:42:35 -04:00
1 parent c6b28654b5
commit 9b1b501d83
27 files changed
+198 -144

No files matched your search

@@ -172,7 +172,7 @@ function ViewportDataOverlayMenu({ viewportId }: withAppTypes<{ viewportId: stri
};
// Check if the advanced window level components exist in toolbar
const hasAdvancedRenderingControls = !!toolbarService.getButton('advancedRenderingControls');
const hasAdvancedRenderingControls = !!toolbarService.getButton('AdvancedRenderingControls');
const hasOpacityMenu = !!toolbarService.getButton('opacityMenu');
const handleThresholdOpacityToggle = () => {
@@ -33,10 +33,12 @@ const getPanelModule = ({ commandsManager, servicesManager, extensionManager }:
};
const wrappedPanelSegmentationWithTools = ({ configuration }) => {
const { toolbarService } = servicesManager.services;
return (
<>
<Toolbox
buttonSectionId="segmentationToolbox"
buttonSectionId={toolbarService.sections.segmentationToolbox}
title="Segmentation Tools"
/>
<PanelSegmentation
@@ -56,7 +56,7 @@ function mapMeasurementToDisplay(measurement, displaySetService) {
* @param {Object} options.valueTypes - The value types for mapping measurements.
* @returns {Array} An array of mapped and filtered measurements.
*/
export function useMeasurements({ measurementFilter }) {
export function useMeasurements({ measurementFilter } = { measurementFilter: () => true }) {
const { servicesManager } = useSystem();
const { measurementService, displaySetService } = servicesManager.services;
const [displayMeasurements, setDisplayMeasurements] = useState([]);
@@ -138,27 +138,29 @@ export function useViewportDisplaySets(
});
}, [includeOverlay, segmentationRepresentations, displaySetService]);
const overlayDisplaySetUIDs = useMemo(
() => overlayDisplaySets.map(ds => ds.displaySetInstanceUID),
[overlayDisplaySets]
);
const overlayDisplaySetUIDs = useMemo(() => {
return overlayDisplaySets.map(ds => ds.displaySetInstanceUID);
}, [overlayDisplaySets]);
// Get enhanced display sets (only if needed)
const needsEnhancedDisplaySets =
includeBackground || includeForeground || includePotentialOverlay || includePotentialForeground;
const { viewportDisplaySets, enhancedDisplaySets } = useMemo(() => {
const { viewportDisplaySets = [], enhancedDisplaySets = [] } = useMemo(() => {
if (!needsEnhancedDisplaySets) {
return { viewportDisplaySets: [], enhancedDisplaySets: [] };
}
return getEnhancedDisplaySets({
viewportId: viewportIdToUse,
services: { displaySetService, viewportGridService },
});
return (
getEnhancedDisplaySets({
viewportId: viewportIdToUse,
services: { displaySetService, viewportGridService },
}) || { viewportDisplaySets: [], enhancedDisplaySets: [] }
);
}, [viewportIdToUse, displaySetService, viewportGridService, needsEnhancedDisplaySets]);
const backgroundDisplaySet = useMemo(
() => (includeBackground ? viewportDisplaySets[0] : undefined),
() =>
includeBackground && viewportDisplaySets.length > 0 ? viewportDisplaySets[0] : undefined,
[includeBackground, viewportDisplaySets]
);
@@ -227,7 +229,10 @@ export function useViewportDisplaySets(
foregroundDisplaySetUIDs,
]);
const result: ViewportDisplaySets = { allDisplaySets, viewportDisplaySets };
const result: ViewportDisplaySets = {
allDisplaySets: allDisplaySets || [],
viewportDisplaySets: viewportDisplaySets || [],
};
if (includeBackground) {
result.backgroundDisplaySet = backgroundDisplaySet;