From 9b8e5cfd1a6121a58991c0f75660a2fd9913a4e7 Mon Sep 17 00:00:00 2001 From: Ibrahim <93064150+IbrahimCSAE@users.noreply.github.com> Date: Mon, 3 Feb 2025 09:28:58 -0500 Subject: [PATCH] fix(store-segmentation): storing segmentations was hitting the wrong command resulting in an undefined datasource (#4755) [OHI-1445] --- .../src/panels/PanelSegmentation.tsx | 6 ++++- .../src/Components/MoreDropdownMenu.tsx | 26 ++++++++++++++++--- .../studyBrowserCustomization.ts | 6 ++++- 3 files changed, 33 insertions(+), 5 deletions(-) diff --git a/extensions/cornerstone/src/panels/PanelSegmentation.tsx b/extensions/cornerstone/src/panels/PanelSegmentation.tsx index 8a4288968..bb5def037 100644 --- a/extensions/cornerstone/src/panels/PanelSegmentation.tsx +++ b/extensions/cornerstone/src/panels/PanelSegmentation.tsx @@ -61,7 +61,11 @@ export default function PanelSegmentation({ }, storeSegmentation: async segmentationId => { - commandsManager.run('storeSegmentation', { segmentationId }); + commandsManager.run({ + commandName: 'storeSegmentation', + commandOptions: { segmentationId }, + context: 'CORNERSTONE', + }); }, onSegmentationDownloadRTSS: segmentationId => { diff --git a/extensions/default/src/Components/MoreDropdownMenu.tsx b/extensions/default/src/Components/MoreDropdownMenu.tsx index 62b14e3b1..a0d1117d2 100644 --- a/extensions/default/src/Components/MoreDropdownMenu.tsx +++ b/extensions/default/src/Components/MoreDropdownMenu.tsx @@ -12,7 +12,12 @@ import { * The default sub-menu appearance and setup is defined here, but this can be * replaced by */ -const getMenuItemsDefault = ({ commandsManager, items, servicesManager, ...props }) => { +const getMenuItemsDefault = ({ + commandsManager, + items, + servicesManager, + ...props +}: withAppTypes) => { const { customizationService } = servicesManager.services; // This allows replacing the default child item for menus, whereas the entire @@ -20,8 +25,23 @@ const getMenuItemsDefault = ({ commandsManager, items, servicesManager, ...props const menuContent = customizationService.getCustomization('ohif.menuContent'); // Default menu item component if none is provided through customization - const DefaultMenuItem = ({ item }) => ( - {item.label || item.title} + + const DefaultMenuItem = ({ + item, + }: { + item: { + id: string; + label: string; + iconName: string; + onClick: ({ ...props }: withAppTypes) => () => void; + }; + }) => ( + item.onClick({ ...props })}> +
+ {item.iconName && } + {item.label} +
+
); const MenuItemComponent = menuContent?.content || DefaultMenuItem; diff --git a/extensions/default/src/customizations/studyBrowserCustomization.ts b/extensions/default/src/customizations/studyBrowserCustomization.ts index a5f528426..238cc2892 100644 --- a/extensions/default/src/customizations/studyBrowserCustomization.ts +++ b/extensions/default/src/customizations/studyBrowserCustomization.ts @@ -8,7 +8,11 @@ export default { id: 'tagBrowser', label: 'Tag Browser', iconName: 'DicomTagBrowser', - commands: 'openDICOMTagViewer', + onClick: ({ commandsManager, displaySetInstanceUID }: withAppTypes) => { + commandsManager.runCommand('openDICOMTagViewer', { + displaySetInstanceUID, + }); + }, }, ], 'studyBrowser.sortFunctions': [