From 566b25a54425399096864bd263193646556011a5 Mon Sep 17 00:00:00 2001 From: Alireza Date: Wed, 27 Mar 2024 16:01:32 -0400 Subject: [PATCH] feat(toolbar): new Toolbar to enable reactive state synchronization (#3983) --- .circleci/config.yml | 2 +- .github/workflows/codespell.yml | 22 - .../src/commandsModule.ts | 67 + .../src/getPanelModule.tsx | 15 +- .../src/getToolbarModule.ts | 65 + .../cornerstone-dicom-seg/src/index.tsx | 6 +- extensions/cornerstone-dicom-seg/src/init.ts | 2 +- .../src/panels/SegmentationToolbox.tsx | 425 ---- .../src/commandsModule.js | 4 - extensions/cornerstone/package.json | 1 + .../src/Viewport/OHIFCornerstoneViewport.tsx | 2 + .../Overlays/CustomizableViewportOverlay.tsx | 394 ++- .../src/Viewport/Overlays/ViewportOverlay.tsx | 278 -- extensions/cornerstone/src/commandsModule.ts | 203 +- .../src/components/CinePlayer/CinePlayer.tsx | 73 +- .../cornerstone/src/getToolbarModule.tsx | 251 ++ extensions/cornerstone/src/hps/mpr.ts | 5 - extensions/cornerstone/src/index.tsx | 3 +- extensions/cornerstone/src/init.tsx | 104 +- .../SegmentationService.ts | 5 +- .../SyncGroupService/SyncGroupService.ts | 50 +- .../ToolGroupService/ToolGroupService.ts | 13 - .../CornerstoneViewportService.ts | 7 +- .../utils/CornerstoneViewportDownloadForm.tsx | 2 +- .../imageSliceSync/toggleImageSliceSync.ts | 29 +- .../src/utils/toggleVOISliceSync.ts | 94 + .../ContextMenuController.tsx | 1 - .../ContextMenuItemsBuilder.ts | 2 - .../src/Panels/getImageSrcFromImageId.js | 5 + extensions/default/src/Toolbar/Toolbar.tsx | 82 +- .../ToolbarButtonGroupWithServices.tsx | 35 + .../src/Toolbar/ToolbarButtonWithServices.tsx | 75 - .../src/Toolbar/ToolbarLayoutSelector.tsx | 33 +- .../ToolbarSplitButtonWithServices.tsx | 141 +- .../default/src/ViewerLayout/ViewerHeader.tsx | 2 +- extensions/default/src/ViewerLayout/index.tsx | 16 +- extensions/default/src/commandsModule.ts | 80 +- .../default/src/getCustomizationModule.tsx | 4 +- extensions/default/src/getToolbarModule.tsx | 62 +- extensions/default/src/init.ts | 54 +- .../src/DicomMicroscopyViewport.tsx | 11 - .../dicom-microscopy/src/getCommandsModule.ts | 12 +- extensions/dicom-microscopy/src/index.tsx | 46 +- .../src/services/MicroscopyService.ts | 4 + extensions/dicom-pdf/src/index.tsx | 12 - extensions/dicom-video/src/index.tsx | 13 - .../getImageSrcFromImageId.js | 6 + .../viewports/TrackedCornerstoneViewport.tsx | 8 +- extensions/tmtv/src/Panels/PanelPetSUV.tsx | 23 +- extensions/tmtv/src/commandsModule.js | 32 - extensions/tmtv/src/init.js | 3 +- modes/basic-dev-mode/src/index.js | 33 +- modes/basic-dev-mode/src/toolbarButtons.js | 441 ++-- modes/basic-test-mode/src/index.ts | 52 +- modes/basic-test-mode/src/moreTools.ts | 355 ++- modes/basic-test-mode/src/moreToolsMpr.ts | 142 -- modes/basic-test-mode/src/toolbarButtons.ts | 382 +-- modes/longitudinal/src/index.js | 64 +- modes/longitudinal/src/initToolGroups.js | 9 +- modes/longitudinal/src/moreTools.ts | 422 ++- modes/longitudinal/src/moreToolsMpr.ts | 242 -- modes/longitudinal/src/toolbarButtons.ts | 315 +-- modes/microscopy/src/index.tsx | 1 - modes/microscopy/src/toolbarButtons.js | 194 +- modes/segmentation/src/index.tsx | 37 +- modes/segmentation/src/initToolGroups.ts | 12 +- modes/segmentation/src/segmentationButtons.ts | 195 ++ modes/segmentation/src/toolbarButtons.ts | 318 +-- modes/tmtv/src/index.js | 37 +- modes/tmtv/src/initToolGroups.js | 1 + modes/tmtv/src/toolbarButtons.js | 284 +-- .../OHIFCornerstoneToolbar.spec.js | 64 +- .../OHIFGeneralViewer.spec.js | 2 +- .../cypress/integration/volume/MPR.spec.js | 10 +- platform/app/cypress/support/commands.js | 2 +- platform/app/public/config/e2e.js | 3 + platform/app/src/App.tsx | 2 + platform/app/src/appInit.js | 2 + platform/app/src/components/ViewportGrid.tsx | 19 +- platform/app/src/routes/Mode/Mode.tsx | 263 +- .../app/src/routes/Mode/defaultRouteInit.ts | 129 + .../Mode/updateAuthServiceAndCleanUrl.ts | 35 + platform/app/src/routes/WorkList/WorkList.tsx | 2 +- platform/cli/templates/mode/src/index.tsx | 32 +- .../core/src/classes/CommandsManager.test.js | 2 - platform/core/src/classes/CommandsManager.ts | 36 +- platform/core/src/classes/HotkeysManager.ts | 8 - .../src/extensions/ExtensionManager.test.js | 1 - .../core/src/extensions/ExtensionManager.ts | 145 +- platform/core/src/hooks/useToolbar.tsx | 58 + platform/core/src/index.test.js | 1 + platform/core/src/index.ts | 3 + .../src/services/CineService/CineService.ts | 148 +- .../CustomizationService.ts | 6 +- .../MeasurementService/MeasurementService.ts | 17 +- platform/core/src/services/ServicesManager.ts | 9 + .../services/ToolBarService/ToolbarService.ts | 635 ++--- .../core/src/services/ToolBarService/types.ts | 43 + .../ViewportGridService.ts | 25 + platform/core/src/services/index.ts | 4 +- platform/core/src/types/Command.ts | 4 +- .../assets/img/reference-lines-from-start.png | Bin 0 -> 452046 bytes .../docs/docs/assets/img/toolbox-modal.png | Bin 0 -> 669748 bytes platform/docs/docs/migration-guide.md | 1 - .../platform/extensions/modules/toolbar.md | 551 ++-- .../docs/platform/managers/_category_.json | 2 +- .../docs/docs/platform/modes/_category_.json | 2 +- platform/docs/docs/platform/modes/index.md | 5 + .../docs/docs/platform/modes/lifecycle.md | 1 - .../docs/platform/services/_category_.json | 2 +- .../services/data/SyncGroupService.md | 147 ++ .../services/data/ToolGroupService.md | 89 + .../platform/services/data/ToolbarService.md | 376 +-- .../services/ui/viewport-grid-service.md | 2 + platform/ui/.storybook/main.ts | 8 + .../ui/src/assets/icons/icon-tool-brush.svg | 16 +- .../ui/src/assets/icons/icon-tool-eraser.svg | 18 +- .../ui/src/assets/icons/icon-tool-shape.svg | 16 +- .../src/assets/icons/icon-tool-threshold.svg | 26 +- .../{tool-elipse.svg => tool-ellipse.svg} | 0 .../AdvancedToolbox/AdvancedToolbox.tsx | 4 + .../AdvancedToolbox/ToolSettings.tsx | 157 +- .../src/components/AdvancedToolbox/index.js | 2 + platform/ui/src/components/Button/Button.tsx | 7 +- .../components/ButtonGroup/ButtonGroup.tsx | 55 +- .../__stories__/buttonGroup.stories.mdx | 39 +- platform/ui/src/components/Header/Header.tsx | 15 +- platform/ui/src/components/Icon/getIcon.js | 4 +- .../src/components/IconButton/IconButton.tsx | 39 +- .../LegacySplitButton/LegacySplitButton.tsx | 170 ++ .../src/components/LegacySplitButton/index.js | 2 + .../ui/src/components/ListMenu/ListMenu.tsx | 15 +- platform/ui/src/components/NavBar/NavBar.tsx | 3 +- .../SegmentationGroupSegment.tsx | 2 +- .../ui/src/components/SidePanel/SidePanel.tsx | 34 +- .../components/SplitButton/SplitButton.tsx | 107 +- .../__stories__/splitButton.stories.mdx | 4 +- .../ui/src/components/Thumbnail/Thumbnail.tsx | 2 +- .../ThumbnailTracked/ThumbnailTracked.tsx | 14 +- .../ToolbarButton/ToolbarButton.tsx | 55 +- .../ui/src/components/Toolbox/Toolbox.tsx | 109 + .../ui/src/components/Toolbox/ToolboxUI.tsx | 92 + platform/ui/src/components/Toolbox/index.js | 3 + .../ui/src/components/Tooltip/Tooltip.tsx | 18 +- .../ViewportOverlay/ViewportOverlay.tsx | 18 +- platform/ui/src/components/index.js | 6 + .../ui/src/contextProviders/CineProvider.tsx | 2 +- .../contextProviders/ImageViewerProvider.tsx | 17 +- .../Toolbox/ToolboxContext.tsx | 106 + .../Toolbox/toolboxReducer.ts | 66 + .../contextProviders/ViewportGridProvider.tsx | 48 + platform/ui/src/contextProviders/index.js | 2 + platform/ui/src/index.js | 11 +- platform/ui/src/tailwind.css | 8 +- yarn.lock | 2260 +++++++++-------- 155 files changed, 6311 insertions(+), 6577 deletions(-) delete mode 100644 .github/workflows/codespell.yml create mode 100644 extensions/cornerstone-dicom-seg/src/getToolbarModule.ts delete mode 100644 extensions/cornerstone-dicom-seg/src/panels/SegmentationToolbox.tsx delete mode 100644 extensions/cornerstone/src/Viewport/Overlays/ViewportOverlay.tsx create mode 100644 extensions/cornerstone/src/getToolbarModule.tsx create mode 100644 extensions/cornerstone/src/utils/toggleVOISliceSync.ts create mode 100644 extensions/default/src/Toolbar/ToolbarButtonGroupWithServices.tsx delete mode 100644 extensions/default/src/Toolbar/ToolbarButtonWithServices.tsx delete mode 100644 modes/basic-test-mode/src/moreToolsMpr.ts delete mode 100644 modes/longitudinal/src/moreToolsMpr.ts create mode 100644 modes/segmentation/src/segmentationButtons.ts create mode 100644 platform/app/src/routes/Mode/defaultRouteInit.ts create mode 100644 platform/app/src/routes/Mode/updateAuthServiceAndCleanUrl.ts create mode 100644 platform/core/src/hooks/useToolbar.tsx create mode 100644 platform/core/src/services/ToolBarService/types.ts create mode 100644 platform/docs/docs/assets/img/reference-lines-from-start.png create mode 100644 platform/docs/docs/assets/img/toolbox-modal.png create mode 100644 platform/docs/docs/platform/services/data/SyncGroupService.md create mode 100644 platform/docs/docs/platform/services/data/ToolGroupService.md rename platform/ui/src/assets/icons/{tool-elipse.svg => tool-ellipse.svg} (100%) create mode 100644 platform/ui/src/components/LegacySplitButton/LegacySplitButton.tsx create mode 100644 platform/ui/src/components/LegacySplitButton/index.js create mode 100644 platform/ui/src/components/Toolbox/Toolbox.tsx create mode 100644 platform/ui/src/components/Toolbox/ToolboxUI.tsx create mode 100644 platform/ui/src/components/Toolbox/index.js create mode 100644 platform/ui/src/contextProviders/Toolbox/ToolboxContext.tsx create mode 100644 platform/ui/src/contextProviders/Toolbox/toolboxReducer.ts diff --git a/.circleci/config.yml b/.circleci/config.yml index 30c35af46..88ea0bcd3 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -13,7 +13,7 @@ version: 2.1 ## orbs: codecov: codecov/codecov@1.0.5 - cypress: cypress-io/cypress@3.2.1 + cypress: cypress-io/cypress@3.3.1 executors: cypress-custom: diff --git a/.github/workflows/codespell.yml b/.github/workflows/codespell.yml deleted file mode 100644 index 7373affc3..000000000 --- a/.github/workflows/codespell.yml +++ /dev/null @@ -1,22 +0,0 @@ ---- -name: Codespell - -on: - push: - branches: [master] - pull_request: - branches: [master] - -permissions: - contents: read - -jobs: - codespell: - name: Check for spelling errors - runs-on: ubuntu-latest - - steps: - - name: Checkout - uses: actions/checkout@v3 - - name: Codespell - uses: codespell-project/actions-codespell@v2 diff --git a/extensions/cornerstone-dicom-seg/src/commandsModule.ts b/extensions/cornerstone-dicom-seg/src/commandsModule.ts index 1926ee9f1..c311e82aa 100644 --- a/extensions/cornerstone-dicom-seg/src/commandsModule.ts +++ b/extensions/cornerstone-dicom-seg/src/commandsModule.ts @@ -5,6 +5,7 @@ import { cache, metaData } from '@cornerstonejs/core'; import { segmentation as cornerstoneToolsSegmentation, Enums as cornerstoneToolsEnums, + utilities, } from '@cornerstonejs/tools'; import { adaptersRT, helpers, adaptersSEG } from '@cornerstonejs/adapters'; import { classes, DicomMetadataStore } from '@ohif/core'; @@ -18,6 +19,7 @@ import { getUpdatedViewportsForSegmentation, getTargetViewport, } from './utils/hydrationUtils'; +const { segmentation: segmentationUtils } = utilities; const { datasetToBlob } = dcmjs.data; @@ -45,6 +47,7 @@ const commandsModule = ({ uiDialogService, displaySetService, viewportGridService, + toolGroupService, } = (servicesManager as ServicesManager).services; const actions = { @@ -397,6 +400,60 @@ const commandsModule = ({ console.warn(e); } }, + setBrushSize: ({ value, toolNames }) => { + const brushSize = Number(value); + + toolGroupService.getToolGroupIds()?.forEach(toolGroupId => { + if (toolNames?.length === 0) { + segmentationUtils.setBrushSizeForToolGroup(toolGroupId, brushSize); + } else { + toolNames?.forEach(toolName => { + segmentationUtils.setBrushSizeForToolGroup(toolGroupId, brushSize, toolName); + }); + } + }); + }, + setThresholdRange: ({ + value, + toolNames = ['ThresholdCircularBrush', 'ThresholdSphereBrush'], + }) => { + toolGroupService.getToolGroupIds()?.forEach(toolGroupId => { + const toolGroup = toolGroupService.getToolGroup(toolGroupId); + toolNames?.forEach(toolName => { + toolGroup.setToolConfiguration(toolName, { + strategySpecificConfiguration: { + THRESHOLD: { + threshold: value, + }, + }, + }); + }); + }); + }, + toggleThresholdRangeAndDynamic() { + const toolGroupIds = toolGroupService.getToolGroupIds(); + + if (!toolGroupIds) { + return; + } + + toolGroupIds.forEach(toolGroupId => { + const toolGroup = toolGroupService.getToolGroup(toolGroupId); + const brushInstances = segmentationUtils.getBrushToolInstances(toolGroup.id); + + brushInstances.forEach(({ configuration }) => { + const { activeStrategy, strategySpecificConfiguration } = configuration; + + if (activeStrategy.startsWith('THRESHOLD')) { + const thresholdConfig = strategySpecificConfiguration.THRESHOLD; + + if (thresholdConfig) { + thresholdConfig.isDynamic = !thresholdConfig.isDynamic; + } + } + }); + }); + }, }; const definitions = { @@ -424,11 +481,21 @@ const commandsModule = ({ downloadRTSS: { commandFn: actions.downloadRTSS, }, + setBrushSize: { + commandFn: actions.setBrushSize, + }, + setThresholdRange: { + commandFn: actions.setThresholdRange, + }, + toggleThresholdRangeAndDynamic: { + commandFn: actions.toggleThresholdRangeAndDynamic, + }, }; return { actions, definitions, + defaultContext: 'SEGMENTATION', }; }; diff --git a/extensions/cornerstone-dicom-seg/src/getPanelModule.tsx b/extensions/cornerstone-dicom-seg/src/getPanelModule.tsx index e626c87d7..9227502af 100644 --- a/extensions/cornerstone-dicom-seg/src/getPanelModule.tsx +++ b/extensions/cornerstone-dicom-seg/src/getPanelModule.tsx @@ -1,10 +1,16 @@ import React from 'react'; import { useAppConfig } from '@state'; +import { Toolbox } from '@ohif/ui'; import PanelSegmentation from './panels/PanelSegmentation'; -import SegmentationToolbox from './panels/SegmentationToolbox'; -const getPanelModule = ({ commandsManager, servicesManager, extensionManager, configuration }) => { +const getPanelModule = ({ + commandsManager, + servicesManager, + extensionManager, + configuration, + title, +}) => { const { customizationService } = servicesManager.services; const wrappedPanelSegmentation = configuration => { @@ -26,13 +32,14 @@ const getPanelModule = ({ commandsManager, servicesManager, extensionManager, co }; const wrappedPanelSegmentationWithTools = configuration => { - const [appConfig] = useAppConfig(); return ( <> - { + // Todo: we need to pass in the button section Id since we are kind of + // forcing the button to have black background since initially + // it is designed for the toolbox not the toolbar on top + // we should then branch the buttonSectionId to have different styles + const segmentations = segmentationService.getSegmentations(); + if (!segmentations?.length) { + return { + disabled: true, + className: '!text-common-bright !bg-black opacity-50', + }; + } + + const toolGroup = toolGroupService.getToolGroupForViewport(viewportId); + + if (!toolGroup) { + return; + } + + const toolName = getToolNameForButton(button); + + if (!toolGroup || !toolGroup.hasTool(toolName)) { + return { + disabled: true, + className: '!text-common-bright ohif-disabled', + }; + } + + const isPrimaryActive = toolNames + ? toolNames.includes(toolGroup.getActivePrimaryMouseButtonTool()) + : toolGroup.getActivePrimaryMouseButtonTool() === toolName; + + return { + disabled: false, + className: isPrimaryActive + ? '!text-black !bg-primary-light hover:bg-primary-light hover-text-black hover:cursor-pointer' + : '!text-common-bright !bg-black hover:bg-primary-light hover:cursor-pointer hover:text-black', + // Todo: isActive right now is used for nested buttons where the primary + // button needs to be fully rounded (vs partial rounded) when active + // otherwise it does not have any other use + isActive: isPrimaryActive, + }; + }, + }, + ]; +} + +function getToolNameForButton(button) { + const { props } = button; + + const commands = props?.commands || button.commands; + + if (commands && commands.length) { + const command = commands[0]; + const { commandOptions } = command; + const { toolName } = commandOptions || { toolName: props?.id ?? button.id }; + return toolName; + } + return null; +} diff --git a/extensions/cornerstone-dicom-seg/src/index.tsx b/extensions/cornerstone-dicom-seg/src/index.tsx index bb6a6d4b1..5fe0efef5 100644 --- a/extensions/cornerstone-dicom-seg/src/index.tsx +++ b/extensions/cornerstone-dicom-seg/src/index.tsx @@ -5,6 +5,7 @@ import getSopClassHandlerModule from './getSopClassHandlerModule'; import getHangingProtocolModule from './getHangingProtocolModule'; import getPanelModule from './getPanelModule'; import getCommandsModule from './commandsModule'; +import { getToolbarModule } from './getToolbarModule'; import preRegistration from './init'; const Component = React.lazy(() => { @@ -29,7 +30,6 @@ const extension = { */ id, preRegistration, - /** * PanelModule should provide a list of panels that will be available in OHIF * for Modes to consume and render. Each panel is defined by a {name, @@ -38,8 +38,8 @@ const extension = { */ getPanelModule, getCommandsModule, - - getViewportModule({ servicesManager, extensionManager }) { + getToolbarModule, + getViewportModule({ servicesManager, extensionManager, commandsManager }) { const ExtendedOHIFCornerstoneSEGViewport = props => { return ( { - if (!viewports?.size || activeViewportId === undefined) { - return; - } - const viewport = viewports.get(activeViewportId); - - if (!viewport) { - return; - } - - dispatch({ - type: ACTIONS.SET_ACTIVE_TOOL, - payload: toolGroupService.getActiveToolForViewport(viewport.viewportId), - }); - }, [activeViewportId, viewports, toolGroupService, dispatch]); - - const setToolActive = useCallback( - toolName => { - initializeThresholdValue(toolName); - - toolbarService.recordInteraction({ - interactionType: 'tool', - commands: [ - { - commandName: 'setToolActive', - commandOptions: { - toolName, - }, - }, - ], - }); - - dispatch({ type: ACTIONS.SET_ACTIVE_TOOL, payload: toolName }); - }, - [toolbarService, dispatch] - ); - - /** - * sets the tools enabled IF there are segmentations - */ - useEffect(() => { - const events = [ - segmentationService.EVENTS.SEGMENTATION_ADDED, - segmentationService.EVENTS.SEGMENTATION_UPDATED, - segmentationService.EVENTS.SEGMENTATION_REMOVED, - ]; - - const unsubscriptions = []; - - events.forEach(event => { - const { unsubscribe } = segmentationService.subscribe(event, () => { - const segmentations = segmentationService.getSegmentations(); - - const activeSegmentation = segmentations?.find(seg => seg.isActive); - - setToolsEnabled(activeSegmentation?.segmentCount > 0); - }); - - unsubscriptions.push(unsubscribe); - }); - - updateActiveTool(); - - return () => { - unsubscriptions.forEach(unsubscribe => unsubscribe()); - }; - }, [activeViewportId, viewports, segmentationService, updateActiveTool]); - - /** - * Update the active tool when the toolbar state changes - */ - useEffect(() => { - const { unsubscribe } = toolbarService.subscribe( - toolbarService.EVENTS.TOOL_BAR_STATE_MODIFIED, - () => { - updateActiveTool(); - } - ); - - return () => { - unsubscribe(); - }; - }, [toolbarService, updateActiveTool]); - - useEffect(() => { - // if the active tool is not a brush tool then do nothing - if (!Object.values(TOOL_TYPES).includes(state.activeTool)) { - return; - } - - // if the tool is Segmentation and it is enabled then do nothing - if (toolsEnabled) { - return; - } - - // if the tool is Segmentation and it is disabled, then switch - // back to the window level tool to not confuse the user when no - // segmentation is active or when there is no segment in the segmentation - setToolActive('WindowLevel'); - }, [toolsEnabled, state.activeTool, setToolActive]); - - const updateBrushSize = useCallback( - (toolName, brushSize) => { - toolGroupService.getToolGroupIds()?.forEach(toolGroupId => { - segmentationUtils.setBrushSizeForToolGroup(toolGroupId, brushSize, toolName); - }); - }, - [toolGroupService] - ); - - function initializeThresholdValue(toolName: any) { - if (state.ThresholdBrush.thresholdRange === null) { - // set the default threshold range from the tool configuration - const toolGroupIds = toolGroupService.getToolGroupIds(); - const toolGroupId = toolGroupIds[0]; - const toolGroup = toolGroupService.getToolGroup(toolGroupId); - const toolConfig = toolGroup.getToolConfiguration(toolName); - const defaultThresholdRange = toolConfig?.strategySpecificConfiguration?.THRESHOLD?.threshold; - dispatch({ - type: ACTIONS.SET_TOOL_CONFIG, - payload: { - tool: 'ThresholdBrush', - config: { thresholdRange: defaultThresholdRange }, - }, - }); - } - } - - const onBrushSizeChange = useCallback( - (valueAsStringOrNumber, toolCategory) => { - const value = Number(valueAsStringOrNumber); - - _getToolNamesFromCategory(toolCategory).forEach(toolName => { - updateBrushSize(toolName, value); - }); - - dispatch({ - type: ACTIONS.SET_TOOL_CONFIG, - payload: { - tool: toolCategory, - config: { brushSize: value }, - }, - }); - }, - [toolGroupService, dispatch] - ); - - const handleRangeChange = useCallback( - newRange => { - if ( - newRange[0] === state.ThresholdBrush.thresholdRange?.[0] && - newRange[1] === state.ThresholdBrush.thresholdRange?.[1] - ) { - return; - } - - const toolNames = _getToolNamesFromCategory('ThresholdBrush'); - - toolNames.forEach(toolName => { - toolGroupService.getToolGroupIds()?.forEach(toolGroupId => { - const toolGroup = toolGroupService.getToolGroup(toolGroupId); - toolGroup.setToolConfiguration(toolName, { - strategySpecificConfiguration: { - THRESHOLD: { - threshold: newRange, - }, - }, - }); - }); - }); - - dispatch({ - type: ACTIONS.SET_TOOL_CONFIG, - payload: { - tool: 'ThresholdBrush', - config: { thresholdRange: newRange }, - }, - }); - }, - [toolGroupService, dispatch, state.ThresholdBrush.thresholdRange] - ); - - return ( - setToolActive(TOOL_TYPES.CIRCULAR_BRUSH), - options: [ - { - name: 'Radius (mm)', - id: 'brush-radius', - type: 'range', - min: 0.5, - max: 99.5, - value: state.Brush.brushSize, - step: 0.5, - onChange: value => onBrushSizeChange(value, 'Brush'), - }, - { - name: 'Mode', - type: 'radio', - id: 'brush-mode', - value: state.Brush.mode, - values: [ - { value: TOOL_TYPES.CIRCULAR_BRUSH, label: 'Circle' }, - { value: TOOL_TYPES.SPHERE_BRUSH, label: 'Sphere' }, - ], - onChange: value => setToolActive(value), - }, - ], - }, - { - name: 'Eraser', - icon: 'icon-tool-eraser', - disabled: !toolsEnabled, - active: - state.activeTool === TOOL_TYPES.CIRCULAR_ERASER || - state.activeTool === TOOL_TYPES.SPHERE_ERASER, - onClick: () => setToolActive(TOOL_TYPES.CIRCULAR_ERASER), - options: [ - { - name: 'Radius (mm)', - type: 'range', - id: 'eraser-radius', - min: 0.5, - max: 99.5, - value: state.Eraser.brushSize, - step: 0.5, - onChange: value => onBrushSizeChange(value, 'Eraser'), - }, - { - name: 'Mode', - type: 'radio', - id: 'eraser-mode', - value: state.Eraser.mode, - values: [ - { value: TOOL_TYPES.CIRCULAR_ERASER, label: 'Circle' }, - { value: TOOL_TYPES.SPHERE_ERASER, label: 'Sphere' }, - ], - onChange: value => setToolActive(value), - }, - ], - }, - { - name: 'Shapes', - icon: 'icon-tool-shape', - disabled: !toolsEnabled, - active: - state.activeTool === TOOL_TYPES.CIRCLE_SHAPE || - state.activeTool === TOOL_TYPES.RECTANGLE_SHAPE || - state.activeTool === TOOL_TYPES.SPHERE_SHAPE, - onClick: () => setToolActive(TOOL_TYPES.CIRCLE_SHAPE), - options: [ - { - name: 'Mode', - type: 'radio', - value: state.Shapes.mode, - id: 'shape-mode', - values: [ - { value: TOOL_TYPES.CIRCLE_SHAPE, label: 'Circle' }, - { value: TOOL_TYPES.RECTANGLE_SHAPE, label: 'Rectangle' }, - { value: TOOL_TYPES.SPHERE_SHAPE, label: 'Sphere' }, - ], - onChange: value => setToolActive(value), - }, - ], - }, - { - name: 'Threshold Tool', - icon: 'icon-tool-threshold', - disabled: !toolsEnabled, - active: - state.activeTool === TOOL_TYPES.THRESHOLD_CIRCULAR_BRUSH || - state.activeTool === TOOL_TYPES.THRESHOLD_SPHERE_BRUSH, - onClick: () => setToolActive(TOOL_TYPES.THRESHOLD_CIRCULAR_BRUSH), - options: [ - { - name: 'Radius (mm)', - id: 'threshold-radius', - type: 'range', - min: 0.5, - max: 99.5, - value: state.ThresholdBrush.brushSize, - step: 0.5, - onChange: value => onBrushSizeChange(value, 'ThresholdBrush'), - }, - { - name: 'Mode', - type: 'radio', - id: 'threshold-mode', - value: state.activeTool, - values: [ - { value: TOOL_TYPES.THRESHOLD_CIRCULAR_BRUSH, label: 'Circle' }, - { value: TOOL_TYPES.THRESHOLD_SPHERE_BRUSH, label: 'Sphere' }, - ], - onChange: value => setToolActive(value), - }, - { - type: 'custom', - id: 'segmentation-threshold-range', - children: () => { - return ( -
-
-
Threshold
- -
- ); - }, - }, - ], - }, - ]} - /> - ); -} - -function _getToolNamesFromCategory(category) { - let toolNames = []; - switch (category) { - case 'Brush': - toolNames = ['CircularBrush', 'SphereBrush']; - break; - case 'Eraser': - toolNames = ['CircularEraser', 'SphereEraser']; - break; - case 'ThresholdBrush': - toolNames = ['ThresholdCircularBrush', 'ThresholdSphereBrush']; - break; - default: - break; - } - - return toolNames; -} - -export default SegmentationToolbox; diff --git a/extensions/cornerstone-dicom-sr/src/commandsModule.js b/extensions/cornerstone-dicom-sr/src/commandsModule.js index 33e8a869f..2f355bc09 100644 --- a/extensions/cornerstone-dicom-sr/src/commandsModule.js +++ b/extensions/cornerstone-dicom-sr/src/commandsModule.js @@ -128,13 +128,9 @@ const commandsModule = props => { const definitions = { downloadReport: { commandFn: actions.downloadReport, - storeContexts: [], - options: {}, }, storeMeasurements: { commandFn: actions.storeMeasurements, - storeContexts: [], - options: {}, }, }; diff --git a/extensions/cornerstone/package.json b/extensions/cornerstone/package.json index 5058a1ca5..6f62acac8 100644 --- a/extensions/cornerstone/package.json +++ b/extensions/cornerstone/package.json @@ -39,6 +39,7 @@ "@cornerstonejs/codec-openjpeg": "^1.2.2", "@cornerstonejs/codec-openjph": "^2.4.2", "@cornerstonejs/dicom-image-loader": "^1.66.7", + "@icr/polyseg-wasm": "^0.4.0", "@ohif/core": "3.8.0-beta.63", "@ohif/ui": "3.8.0-beta.63", "dcmjs": "^0.29.12", diff --git a/extensions/cornerstone/src/Viewport/OHIFCornerstoneViewport.tsx b/extensions/cornerstone/src/Viewport/OHIFCornerstoneViewport.tsx index ce051e999..389672f05 100644 --- a/extensions/cornerstone/src/Viewport/OHIFCornerstoneViewport.tsx +++ b/extensions/cornerstone/src/Viewport/OHIFCornerstoneViewport.tsx @@ -109,6 +109,7 @@ const OHIFCornerstoneViewport = React.memo(props => { // of the imageData in the OHIFCornerstoneViewport. This prop is used // to set the initial state of the viewport's first image to render initialImageIndex, + onReady, } = props; const viewportId = viewportOptions.viewportId; @@ -184,6 +185,7 @@ const OHIFCornerstoneViewport = React.memo(props => { if (onElementEnabled) { onElementEnabled(evt); + onReady?.(evt); } }, [viewportId, onElementEnabled, toolGroupService] diff --git a/extensions/cornerstone/src/Viewport/Overlays/CustomizableViewportOverlay.tsx b/extensions/cornerstone/src/Viewport/Overlays/CustomizableViewportOverlay.tsx index 8745fdec7..0858f9089 100644 --- a/extensions/cornerstone/src/Viewport/Overlays/CustomizableViewportOverlay.tsx +++ b/extensions/cornerstone/src/Viewport/Overlays/CustomizableViewportOverlay.tsx @@ -2,21 +2,25 @@ import React, { useCallback, useEffect, useMemo, useState } from 'react'; import { vec3 } from 'gl-matrix'; import PropTypes from 'prop-types'; import { metaData, Enums, utilities } from '@cornerstonejs/core'; -import { ViewportOverlay } from '@ohif/ui'; -import { formatPN, formatDICOMDate, formatDICOMTime, formatNumberPrecision } from './utils'; -import { InstanceMetadata } from 'platform/core/src/types'; -import { ServicesManager } from '@ohif/core'; import { ImageSliceData } from '@cornerstonejs/core/dist/esm/types'; +import { ViewportOverlay } from '@ohif/ui'; +import { ServicesManager } from '@ohif/core'; +import { InstanceMetadata } from '@ohif/core/src/types'; +import { formatPN, formatDICOMDate, formatDICOMTime, formatNumberPrecision } from './utils'; +import { StackViewportData, VolumeViewportData } from '../../types/CornerstoneCacheService'; import './CustomizableViewportOverlay.css'; const EPSILON = 1e-4; +type ViewportData = StackViewportData | VolumeViewportData; + interface OverlayItemProps { - element: any; - viewportData: any; + element: HTMLElement; + viewportData: ViewportData; imageSliceData: ImageSliceData; servicesManager: ServicesManager; + viewportId: string; instance: InstanceMetadata; customization: any; formatters: { @@ -35,67 +39,11 @@ interface OverlayItemProps { scale?: number; } -/** - * Window Level / Center Overlay item - */ -function VOIOverlayItem({ voi, customization }: OverlayItemProps) { - const { windowWidth, windowCenter } = voi; - if (typeof windowCenter !== 'number' || typeof windowWidth !== 'number') { - return null; - } - - return ( -
- W: - {windowWidth.toFixed(0)} - L: - {windowCenter.toFixed(0)} -
- ); -} - -/** - * Zoom Level Overlay item - */ -function ZoomOverlayItem({ scale, customization }: OverlayItemProps) { - return ( -
- Zoom: - {scale.toFixed(2)}x -
- ); -} - -/** - * Instance Number Overlay Item - */ -function InstanceNumberOverlayItem({ - instanceNumber, - imageSliceData, - customization, -}: OverlayItemProps) { - const { imageIndex, numberOfSlices } = imageSliceData; - - return ( -
- I: - - {instanceNumber !== undefined && instanceNumber !== null - ? `${instanceNumber} (${imageIndex + 1}/${numberOfSlices})` - : `${imageIndex + 1}/${numberOfSlices}`} - -
- ); -} +const OverlayItemComponents = { + 'ohif.overlayItem.windowLevel': VOIOverlayItem, + 'ohif.overlayItem.zoomLevel': ZoomOverlayItem, + 'ohif.overlayItem.instanceNumber': InstanceNumberOverlayItem, +}; /** * Customizable Viewport Overlay @@ -106,12 +54,17 @@ function CustomizableViewportOverlay({ imageSliceData, viewportId, servicesManager, +}: { + element: HTMLElement; + viewportData: ViewportData; + imageSliceData: ImageSliceData; + viewportId: string; + servicesManager: ServicesManager; }) { - const { toolbarService, cornerstoneViewportService, customizationService } = + const { cornerstoneViewportService, customizationService, toolGroupService } = servicesManager.services; const [voi, setVOI] = useState({ windowCenter: null, windowWidth: null }); const [scale, setScale] = useState(1); - const [activeTools, setActiveTools] = useState([]); const { imageIndex } = imageSliceData; const topLeftCustomization = customizationService.getModeCustomization( @@ -127,27 +80,18 @@ function CustomizableViewportOverlay({ 'cornerstoneOverlayBottomRight' ); - const instance = useMemo(() => { - if (viewportData != null) { - return _getViewportInstance(viewportData, imageIndex); - } else { - return null; - } - }, [viewportData, imageIndex]); + const instance = useMemo( + () => (viewportData ? getViewportInstance(viewportData, imageIndex) : null), + [viewportData, imageIndex] + ); - const instanceNumber = useMemo(() => { - if (viewportData != null) { - return _getInstanceNumber(viewportData, viewportId, imageIndex, cornerstoneViewportService); - } - return null; - }, [viewportData, viewportId, imageIndex, cornerstoneViewportService]); - - /** - * Initial toolbar state - */ - useEffect(() => { - setActiveTools(toolbarService.getActiveTools()); - }, []); + const instanceNumber = useMemo( + () => + viewportData + ? getInstanceNumber(viewportData, viewportId, imageIndex, cornerstoneViewportService) + : null, + [viewportData, viewportId, imageIndex, cornerstoneViewportService] + ); /** * Updating the VOI when the viewport changes its voi @@ -215,26 +159,9 @@ function CustomizableViewportOverlay({ }; }, [viewportId, viewportData, cornerstoneViewportService, element]); - /** - * Updating the active tools when the toolbar changes - */ - // Todo: this should act on the toolGroups instead of the toolbar state - useEffect(() => { - const { unsubscribe } = toolbarService.subscribe( - toolbarService.EVENTS.TOOL_BAR_STATE_MODIFIED, - () => { - setActiveTools(toolbarService.getActiveTools()); - } - ); - - return () => { - unsubscribe(); - }; - }, [toolbarService]); - const _renderOverlayItem = useCallback( item => { - const overlayItemProps: OverlayItemProps = { + const overlayItemProps = { element, viewportData, imageSliceData, @@ -242,24 +169,26 @@ function CustomizableViewportOverlay({ servicesManager, customization: item, formatters: { - formatPN: formatPN, + formatPN, formatDate: formatDICOMDate, formatTime: formatDICOMTime, - formatNumberPrecision: formatNumberPrecision, + formatNumberPrecision, }, instance, - // calculated voi, scale, instanceNumber, }; - if (item.customizationType === 'ohif.overlayItem.windowLevel') { - return ; - } else if (item.customizationType === 'ohif.overlayItem.zoomLevel') { - return ; - } else if (item.customizationType === 'ohif.overlayItem.instanceNumber') { - return ; + if (!item) { + return null; + } + + const { customizationType } = item; + const OverlayItemComponent = OverlayItemComponents[customizationType]; + + if (OverlayItemComponent) { + return ; } else { const renderItem = customizationService.transform(item); @@ -282,103 +211,106 @@ function CustomizableViewportOverlay({ ] ); - const getTopLeftContent = useCallback(() => { - const items = topLeftCustomization?.items || [ - { - id: 'WindowLevel', - customizationType: 'ohif.overlayItem.windowLevel', - }, - ]; - return ( - <> - {items.map((item, i) => ( -
{_renderOverlayItem(item)}
- ))} - - ); - }, [topLeftCustomization, _renderOverlayItem]); + const getContent = useCallback( + (customization, defaultItems, keyPrefix) => { + const items = customization?.items ?? defaultItems; - const getTopRightContent = useCallback(() => { - const items = topRightCustomization?.items || [ - { - id: 'InstanceNmber', - customizationType: 'ohif.overlayItem.instanceNumber', - }, - ]; - return ( - <> - {items.map((item, i) => ( -
{_renderOverlayItem(item)}
- ))} - - ); - }, [topRightCustomization, _renderOverlayItem]); - - const getBottomLeftContent = useCallback(() => { - const items = bottomLeftCustomization?.items || []; - return ( - <> - {items.map((item, i) => ( -
{_renderOverlayItem(item)}
- ))} - - ); - }, [bottomLeftCustomization, _renderOverlayItem]); - - const getBottomRightContent = useCallback(() => { - const items = bottomRightCustomization?.items || []; - return ( - <> - {items.map((item, i) => ( -
{_renderOverlayItem(item)}
- ))} - - ); - }, [bottomRightCustomization, _renderOverlayItem]); + return ( + <> + {items.map((item, index) => ( +
+ {item?.condition + ? item.condition() + ? _renderOverlayItem(item) + : null + : _renderOverlayItem(item)} +
+ ))} + + ); + }, + [_renderOverlayItem] + ); return ( { + const activeToolName = toolGroupService.getActiveToolForViewport(viewportId); + return activeToolName === 'Zoom'; + }, + }, + ], + 'topLeftOverlayItem' + ) + } + topRight={getContent( + topRightCustomization, + [ + { + id: 'InstanceNumber', + customizationType: 'ohif.overlayItem.instanceNumber', + }, + ], + 'topRightOverlayItem' + )} + bottomLeft={getContent(bottomLeftCustomization, [null], 'bottomLeftOverlayItem')} + bottomRight={getContent(bottomRightCustomization, [null], 'bottomRightOverlayItem')} /> ); } -function _getViewportInstance(viewportData, imageIndex) { +const getViewportInstance = (viewportData, imageIndex) => { + const { viewportType, data } = viewportData; let imageId = null; - if (viewportData.viewportType === Enums.ViewportType.STACK) { - imageId = viewportData.data.imageIds[imageIndex]; - } else if (viewportData.viewportType === Enums.ViewportType.ORTHOGRAPHIC) { - const volumes = viewportData.data; - if (volumes && volumes.length == 1) { - const volume = volumes[0]; - imageId = volume.imageIds[imageIndex]; - } - } - return imageId ? metaData.get('instance', imageId) || {} : {}; -} -function _getInstanceNumber(viewportData, viewportId, imageIndex, cornerstoneViewportService) { + switch (viewportType) { + case Enums.ViewportType.STACK: + imageId = data.imageIds[imageIndex]; + break; + case Enums.ViewportType.ORTHOGRAPHIC: + if (data?.length === 1) { + imageId = data[0].imageIds[imageIndex]; + } + break; + default: + break; + } + + return imageId ? metaData.get('instance', imageId) || {} : {}; +}; + +const getInstanceNumber = (viewportData, viewportId, imageIndex, cornerstoneViewportService) => { let instanceNumber; - if (viewportData.viewportType === Enums.ViewportType.STACK) { - instanceNumber = _getInstanceNumberFromStack(viewportData, imageIndex); - - if (!instanceNumber && instanceNumber !== 0) { - return null; - } - } else if (viewportData.viewportType === Enums.ViewportType.ORTHOGRAPHIC) { - instanceNumber = _getInstanceNumberFromVolume( - viewportData, - imageIndex, - viewportId, - cornerstoneViewportService - ); + switch (viewportData.viewportType) { + case Enums.ViewportType.STACK: + instanceNumber = _getInstanceNumberFromStack(viewportData, imageIndex); + break; + case Enums.ViewportType.ORTHOGRAPHIC: + instanceNumber = _getInstanceNumberFromVolume( + viewportData, + viewportId, + cornerstoneViewportService + ); + break; } - return instanceNumber; -} + + return instanceNumber ?? null; +}; function _getInstanceNumberFromStack(viewportData, imageIndex) { const imageIds = viewportData.data.imageIds; @@ -442,6 +374,68 @@ function _getInstanceNumberFromVolume(viewportData, viewportId, cornerstoneViewp } } +/** + * Window Level / Center Overlay item + */ +function VOIOverlayItem({ voi, customization }: OverlayItemProps) { + const { windowWidth, windowCenter } = voi; + if (typeof windowCenter !== 'number' || typeof windowWidth !== 'number') { + return null; + } + + return ( +
+ W: + {windowWidth.toFixed(0)} + L: + {windowCenter.toFixed(0)} +
+ ); +} + +/** + * Zoom Level Overlay item + */ +function ZoomOverlayItem({ scale, customization }: OverlayItemProps) { + return ( +
+ Zoom: + {scale.toFixed(2)}x +
+ ); +} + +/** + * Instance Number Overlay Item + */ +function InstanceNumberOverlayItem({ + instanceNumber, + imageSliceData, + customization, +}: OverlayItemProps) { + const { imageIndex, numberOfSlices } = imageSliceData; + + return ( +
+ I: + + {instanceNumber !== undefined && instanceNumber !== null + ? `${instanceNumber} (${imageIndex + 1}/${numberOfSlices})` + : `${imageIndex + 1}/${numberOfSlices}`} + +
+ ); +} + CustomizableViewportOverlay.propTypes = { viewportData: PropTypes.object, imageIndex: PropTypes.number, diff --git a/extensions/cornerstone/src/Viewport/Overlays/ViewportOverlay.tsx b/extensions/cornerstone/src/Viewport/Overlays/ViewportOverlay.tsx deleted file mode 100644 index a33696cb5..000000000 --- a/extensions/cornerstone/src/Viewport/Overlays/ViewportOverlay.tsx +++ /dev/null @@ -1,278 +0,0 @@ -import React, { useCallback, useEffect, useState } from 'react'; -import { vec3 } from 'gl-matrix'; -import PropTypes from 'prop-types'; -import { metaData, Enums, utilities } from '@cornerstonejs/core'; -import { ViewportOverlay } from '@ohif/ui'; -import { ServicesManager } from '@ohif/core'; - -const EPSILON = 1e-4; - -function CornerstoneViewportOverlay({ - element, - viewportData, - imageSliceData, - viewportId, - servicesManager, -}) { - const { cornerstoneViewportService, toolbarService } = servicesManager.services; - const [voi, setVOI] = useState({ windowCenter: null, windowWidth: null }); - const [scale, setScale] = useState(1); - const [activeTools, setActiveTools] = useState([]); - - /** - * Initial toolbar state - */ - useEffect(() => { - setActiveTools(toolbarService.getActiveTools()); - }, []); - - useEffect(() => { - let isMounted = true; - const { unsubscribe } = toolbarService.subscribe( - toolbarService.EVENTS.TOOL_BAR_STATE_MODIFIED, - () => { - if (!isMounted) { - return; - } - - setActiveTools(toolbarService.getActiveTools()); - } - ); - - return () => { - isMounted = false; - unsubscribe(); - }; - }, []); - - /** - * Updating the VOI when the viewport changes its voi - */ - useEffect(() => { - const updateVOI = eventDetail => { - const { range } = eventDetail.detail; - - if (!range) { - return; - } - - const { lower, upper } = range; - const { windowWidth, windowCenter } = utilities.windowLevel.toWindowLevel(lower, upper); - - setVOI({ windowCenter, windowWidth }); - }; - - element.addEventListener(Enums.Events.VOI_MODIFIED, updateVOI); - - return () => { - element.removeEventListener(Enums.Events.VOI_MODIFIED, updateVOI); - }; - }, [viewportId, viewportData, voi, element]); - - /** - * Updating the scale when the viewport changes its zoom - */ - useEffect(() => { - const updateScale = eventDetail => { - const { previousCamera, camera } = eventDetail.detail; - - if ( - previousCamera.parallelScale !== camera.parallelScale || - previousCamera.scale !== camera.scale - ) { - const viewport = cornerstoneViewportService.getCornerstoneViewport(viewportId); - - if (!viewport) { - return; - } - - const imageData = viewport.getImageData(); - - if (!imageData) { - return; - } - - if (camera.scale) { - setScale(camera.scale); - return; - } - - const { spacing } = imageData; - // convert parallel scale to scale - const scale = (element.clientHeight * spacing[0] * 0.5) / camera.parallelScale; - setScale(scale); - } - }; - - element.addEventListener(Enums.Events.CAMERA_MODIFIED, updateScale); - - return () => { - element.removeEventListener(Enums.Events.CAMERA_MODIFIED, updateScale); - }; - }, [viewportId, viewportData]); - - const getTopLeftContent = useCallback(() => { - const { windowWidth, windowCenter } = voi; - - if (activeTools.includes('WindowLevel')) { - if (typeof windowCenter !== 'number' || typeof windowWidth !== 'number') { - return null; - } - - return ( -
- W: - {windowWidth.toFixed(0)} - L: - {windowCenter.toFixed(0)} -
- ); - } - - if (activeTools.includes('Zoom')) { - return ( -
- Zoom: - {scale.toFixed(2)}x -
- ); - } - - return null; - }, [voi, scale, activeTools]); - - const getTopRightContent = useCallback(() => { - const { imageIndex, numberOfSlices } = imageSliceData; - if (!viewportData) { - return; - } - - let instanceNumber; - - if (viewportData.viewportType === Enums.ViewportType.STACK) { - instanceNumber = _getInstanceNumberFromStack(viewportData, imageIndex); - - if (!instanceNumber) { - return null; - } - } else if (viewportData.viewportType === Enums.ViewportType.ORTHOGRAPHIC) { - instanceNumber = _getInstanceNumberFromVolume( - viewportData, - imageIndex, - viewportId, - cornerstoneViewportService - ); - } - - return ( -
- I: - - {instanceNumber !== undefined - ? `${instanceNumber} (${imageIndex + 1}/${numberOfSlices})` - : `${imageIndex + 1}/${numberOfSlices}`} - -
- ); - }, [imageSliceData, viewportData, viewportId]); - - if (!viewportData) { - return null; - } - - const ohifViewport = cornerstoneViewportService.getViewportInfo(viewportId); - - if (!ohifViewport) { - return null; - } - - const backgroundColor = ohifViewport.getViewportOptions().background; - - // Todo: probably this can be done in a better way in which we identify bright - // background - const isLight = backgroundColor ? utilities.isEqual(backgroundColor, [1, 1, 1]) : false; - - return ( - - ); -} - -function _getInstanceNumberFromStack(viewportData, imageIndex) { - const imageIds = viewportData.data.imageIds; - const imageId = imageIds[imageIndex]; - - if (!imageId) { - return; - } - - const generalImageModule = metaData.get('generalImageModule', imageId) || {}; - const { instanceNumber } = generalImageModule; - - const stackSize = imageIds.length; - - if (stackSize <= 1) { - return; - } - - return parseInt(instanceNumber); -} - -// Since volume viewports can be in any view direction, they can render -// a reconstructed image which don't have imageIds; therefore, no instance and instanceNumber -// Here we check if viewport is in the acquisition direction and if so, we get the instanceNumber -function _getInstanceNumberFromVolume( - viewportData, - imageIndex, - viewportId, - cornerstoneViewportService -) { - const volumes = viewportData.volumes; - - // Todo: support fusion of acquisition plane which has instanceNumber - if (!volumes || volumes.length > 1) { - return; - } - - const volume = volumes[0]; - const { direction, imageIds } = volume; - - const cornerstoneViewport = cornerstoneViewportService.getCornerstoneViewport(viewportId); - - if (!cornerstoneViewport) { - return; - } - - const camera = cornerstoneViewport.getCamera(); - const { viewPlaneNormal } = camera; - // checking if camera is looking at the acquisition plane (defined by the direction on the volume) - - const scanAxisNormal = direction.slice(6, 9); - - // check if viewPlaneNormal is parallel to scanAxisNormal - const cross = vec3.cross(vec3.create(), viewPlaneNormal, scanAxisNormal); - const isAcquisitionPlane = vec3.length(cross) < EPSILON; - - if (isAcquisitionPlane) { - const imageId = imageIds[imageIndex]; - - if (!imageId) { - return {}; - } - - const { instanceNumber } = metaData.get('generalImageModule', imageId) || {}; - return parseInt(instanceNumber); - } -} - -CornerstoneViewportOverlay.propTypes = { - viewportData: PropTypes.object, - imageIndex: PropTypes.number, - viewportId: PropTypes.string, - servicesManager: PropTypes.instanceOf(ServicesManager), -}; - -export default CornerstoneViewportOverlay; diff --git a/extensions/cornerstone/src/commandsModule.ts b/extensions/cornerstone/src/commandsModule.ts index e32155f99..b63aee091 100644 --- a/extensions/cornerstone/src/commandsModule.ts +++ b/extensions/cornerstone/src/commandsModule.ts @@ -21,6 +21,12 @@ import toggleImageSliceSync from './utils/imageSliceSync/toggleImageSliceSync'; import { getFirstAnnotationSelected } from './utils/measurementServiceMappings/utils/selection'; import getActiveViewportEnabledElement from './utils/getActiveViewportEnabledElement'; import { CornerstoneServices } from './types'; +import toggleVOISliceSync from './utils/toggleVOISliceSync'; + +const toggleSyncFunctions = { + imageSlice: toggleImageSliceSync, + voi: toggleVOISliceSync, +}; function commandsModule({ servicesManager, @@ -30,11 +36,11 @@ function commandsModule({ viewportGridService, toolGroupService, cineService, - toolbarService, uiDialogService, cornerstoneViewportService, uiNotificationService, measurementService, + syncGroupService, } = servicesManager.services as CornerstoneServices; const { measurementServiceSource } = this; @@ -227,30 +233,10 @@ function commandsModule({ arrowTextCallback: ({ callback, data }) => { callInputDialog(uiDialogService, data, callback); }, - cleanUpCrosshairs: () => { - // if the crosshairs tool is active, deactivate it and set window level active - // since we are going back to main non-mpr HP - const activeViewportToolGroup = toolGroupService.getToolGroup(null); - - if (activeViewportToolGroup._toolInstances?.Crosshairs?.mode === Enums.ToolModes.Active) { - actions.toolbarServiceRecordInteraction({ - interactionType: 'tool', - commands: [ - { - commandOptions: { - toolName: 'WindowLevel', - }, - context: 'CORNERSTONE', - }, - ], - }); - } - }, toggleCine: () => { const { viewports } = viewportGridService.getState(); const { isCineEnabled } = cineService.getState(); cineService.setIsCineEnabled(!isCineEnabled); - toolbarService.setButton('Cine', { props: { isActive: !isCineEnabled } }); viewports.forEach((_, index) => cineService.setCine({ id: index, isPlaying: false })); }, setWindowLevel({ window, level, toolGroupId }) { @@ -279,35 +265,40 @@ function commandsModule({ }); viewport.render(); }, + setToolEnabled: ({ toolName, toggle }) => { + const { viewports } = viewportGridService.getState(); - // Just call the toolbar service record interaction - allows - // executing a toolbar command as a full toolbar command with side affects - // coming from the ToolbarService itself. - toolbarServiceRecordInteraction: props => { - toolbarService.recordInteraction(props); - }, - // Enable or disable a toggleable command, without calling the activation - // Used to setup already active tools from hanging protocols - setToolbarToggled: props => { - toolbarService.setToggled(props.toolId, props.isActive ?? true); - }, - setToolActive: ({ toolName, toolGroupId = null, toggledState }) => { - if (toolName === 'Crosshairs') { - const activeViewportToolGroup = toolGroupService.getToolGroup(null); - - if (!activeViewportToolGroup._toolInstances.Crosshairs) { - uiNotificationService.show({ - title: 'Crosshairs', - message: - 'You need to be in a MPR view to use Crosshairs. Click on MPR button in the toolbar to activate it.', - type: 'info', - duration: 3000, - }); - - throw new Error('Crosshairs tool is not available in this viewport'); - } + if (!viewports.size) { + return; } + const toolGroup = toolGroupService.getToolGroup(null); + + if (!toolGroup) { + return; + } + + const toolIsEnabled = toolGroup.getToolOptions(toolName).mode === Enums.ToolModes.Enabled; + + // Toggle the tool's state only if the toggle is true + if (toggle) { + toolIsEnabled ? toolGroup.setToolDisabled(toolName) : toolGroup.setToolEnabled(toolName); + } + + const renderingEngine = cornerstoneViewportService.getRenderingEngine(); + renderingEngine.render(); + }, + setToolActiveToolbar: ({ value, itemId, toolGroupIds = [] }) => { + // Sometimes it is passed as value (tools with options), sometimes as itemId (toolbar buttons) + const toolName = itemId || value; + + toolGroupIds = toolGroupIds.length ? toolGroupIds : toolGroupService.getToolGroupIds(); + + toolGroupIds.forEach(toolGroupId => { + actions.setToolActive({ toolName, toolGroupId }); + }); + }, + setToolActive: ({ toolName, toolGroupId = null }) => { const { viewports } = viewportGridService.getState(); if (!viewports.size) { @@ -320,34 +311,13 @@ function commandsModule({ return; } - if (!toolGroup.getToolInstance(toolName)) { - uiNotificationService.show({ - title: `${toolName} tool`, - message: `The ${toolName} tool is not available in this viewport.`, - type: 'info', - duration: 3000, - }); - - throw new Error(`ToolGroup ${toolGroup.id} does not have this tool.`); - } - const activeToolName = toolGroup.getActivePrimaryMouseButtonTool(); if (activeToolName) { - // Todo: this is a hack to prevent the crosshairs to stick around - // after another tool is selected. We should find a better way to do this - if (activeToolName === 'Crosshairs') { - toolGroup.setToolDisabled(activeToolName); - } else { - toolGroup.setToolPassive(activeToolName); - } - } - - // If there is a toggle state, then simply set the enabled/disabled state without - // setting the tool active. - if (toggledState != null) { - toggledState ? toolGroup.setToolEnabled(toolName) : toolGroup.setToolDisabled(toolName); - return; + const activeToolOptions = toolGroup.getToolConfiguration(activeToolName); + activeToolOptions?.disableOnPassive + ? toolGroup.setToolDisabled(activeToolName) + : toolGroup.setToolPassive(activeToolName); } // Set the new toolName to be active @@ -565,33 +535,59 @@ function commandsModule({ (currentIndex + direction + viewportIds.length) % viewportIds.length; viewportGridService.setActiveViewportId(viewportIds[nextViewportIndex] as string); }, + /** + * If the syncId is given and a synchronizer with that ID already exists, it will + * toggle it on/off for the provided viewports. If not, it will attempt to create + * a new synchronizer using the given syncId and type for the specified viewports. + * If no viewports are provided, you may notice some default behavior. + * - 'voi' type, we will aim to synchronize all viewports with the same modality + * -'imageSlice' type, we will aim to synchronize all viewports with the same orientation. + * + * @param options + * @param options.viewports - The viewports to synchronize + * @param options.syncId - The synchronization group ID + * @param options.type - The type of synchronization to perform + */ + toggleSynchronizer: ({ type, viewports, syncId }) => { + const synchronizer = syncGroupService.getSynchronizer(syncId); - toggleImageSliceSync: ({ toggledState }) => { - toggleImageSliceSync({ - servicesManager, - toggledState, - }); + if (synchronizer) { + synchronizer.isDisabled() ? synchronizer.setEnabled(true) : synchronizer.setEnabled(false); + return; + } + + const fn = toggleSyncFunctions[type]; + + if (fn) { + fn({ + servicesManager, + viewports, + syncId, + }); + } }, - setSourceViewportForReferenceLinesTool: ({ toggledState, viewportId }) => { + setSourceViewportForReferenceLinesTool: ({ viewportId }) => { if (!viewportId) { const { activeViewportId } = viewportGridService.getState(); - viewportId = activeViewportId; + viewportId = activeViewportId ?? 'default'; } const toolGroup = toolGroupService.getToolGroupForViewport(viewportId); - toolGroup.setToolConfiguration( + toolGroup?.setToolConfiguration( ReferenceLinesTool.toolName, { sourceViewportId: viewportId, }, true // overwrite ); + + const renderingEngine = cornerstoneViewportService.getRenderingEngine(); + renderingEngine.render(); }, storePresentation: ({ viewportId }) => { cornerstoneViewportService.storePresentation({ viewportId }); }, - attachProtocolViewportDataListener: ({ protocol, stageIndex }) => { const EVENT = cornerstoneViewportService.EVENTS.VIEWPORT_DATA_CHANGED; const command = protocol.callbacks.onViewportDataInitialized; @@ -608,6 +604,26 @@ function commandsModule({ } }); }, + resetCrosshairs: ({ viewportId }) => { + const crosshairInstances = []; + + const getCrosshairInstances = toolGroupId => { + const toolGroup = toolGroupService.getToolGroup(toolGroupId); + crosshairInstances.push(toolGroup.getToolInstance('Crosshairs')); + }; + + if (!viewportId) { + const toolGroupIds = toolGroupService.getToolGroupIds(); + toolGroupIds.forEach(getCrosshairInstances); + } else { + const toolGroup = toolGroupService.getToolGroupForViewport(viewportId); + getCrosshairInstances(toolGroup.id); + } + + crosshairInstances.forEach(ins => { + ins.resetCrosshairs(); + }); + }, }; const definitions = { @@ -615,7 +631,6 @@ function commandsModule({ // context menu showCornerstoneContextMenu: { commandFn: actions.showCornerstoneContextMenu, - storeContexts: [], options: { menuCustomizationId: 'measurementsContextMenu', commands: [ @@ -631,8 +646,6 @@ function commandsModule({ }, getNearbyAnnotation: { commandFn: actions.getNearbyAnnotation, - storeContexts: [], - options: {}, }, deleteMeasurement: { commandFn: actions.deleteMeasurement, @@ -643,16 +656,18 @@ function commandsModule({ updateMeasurement: { commandFn: actions.updateMeasurement, }, - setWindowLevel: { commandFn: actions.setWindowLevel, }, - toolbarServiceRecordInteraction: { - commandFn: actions.toolbarServiceRecordInteraction, - }, setToolActive: { commandFn: actions.setToolActive, }, + setToolActiveToolbar: { + commandFn: actions.setToolActiveToolbar, + }, + setToolEnabled: { + commandFn: actions.setToolEnabled, + }, rotateViewportCW: { commandFn: actions.rotateViewport, options: { rotation: 90 }, @@ -735,15 +750,15 @@ function commandsModule({ storePresentation: { commandFn: actions.storePresentation, }, - setToolbarToggled: { - commandFn: actions.setToolbarToggled, - }, - cleanUpCrosshairs: { - commandFn: actions.cleanUpCrosshairs, - }, attachProtocolViewportDataListener: { commandFn: actions.attachProtocolViewportDataListener, }, + resetCrosshairs: { + commandFn: actions.resetCrosshairs, + }, + toggleSynchronizer: { + commandFn: actions.toggleSynchronizer, + }, }; return { diff --git a/extensions/cornerstone/src/components/CinePlayer/CinePlayer.tsx b/extensions/cornerstone/src/components/CinePlayer/CinePlayer.tsx index be007920e..3880f4247 100644 --- a/extensions/cornerstone/src/components/CinePlayer/CinePlayer.tsx +++ b/extensions/cornerstone/src/components/CinePlayer/CinePlayer.tsx @@ -1,38 +1,18 @@ -import React, { useCallback, useEffect, useState } from 'react'; -import { CinePlayer, useCine, useViewportGrid } from '@ohif/ui'; +import React, { useCallback, useEffect, useRef, useState } from 'react'; +import { CinePlayer, useCine } from '@ohif/ui'; import { Enums, eventTarget } from '@cornerstonejs/core'; import { useAppConfig } from '@state'; function WrappedCinePlayer({ enabledVPElement, viewportId, servicesManager }) { - const { - toolbarService, - customizationService, - displaySetService, - viewportGridService, - cineService, - } = servicesManager.services; - const [{ isCineEnabled, cines }] = useCine(); + const { customizationService, displaySetService, viewportGridService } = servicesManager.services; + const [{ isCineEnabled, cines }, api] = useCine(); const [newStackFrameRate, setNewStackFrameRate] = useState(24); const [appConfig] = useAppConfig(); + const isMountedRef = useRef(null); const { component: CinePlayerComponent = CinePlayer } = customizationService.get('cinePlayer') ?? {}; - const handleCineClose = () => { - toolbarService.recordInteraction({ - groupId: 'MoreTools', - interactionType: 'toggle', - commands: [ - { - commandName: 'toggleCine', - commandOptions: {}, - toolName: 'cine', - context: 'CORNERSTONE', - }, - ], - }); - }; - const cineHandler = () => { if (!cines || !cines[viewportId] || !enabledVPElement) { return; @@ -45,11 +25,11 @@ function WrappedCinePlayer({ enabledVPElement, viewportId, servicesManager }) { const validFrameRate = Math.max(frameRate, 1); if (isPlaying) { - cineService.playClip(enabledVPElement, { + api.playClip(enabledVPElement, { framesPerSecond: validFrameRate, }); } else { - cineService.stopClip(enabledVPElement); + api.stopClip(enabledVPElement); } }; @@ -70,34 +50,36 @@ function WrappedCinePlayer({ enabledVPElement, viewportId, servicesManager }) { }); if (isPlaying) { - cineService.setIsCineEnabled(isPlaying); + api.setIsCineEnabled(isPlaying); } - cineService.setCine({ id: viewportId, isPlaying, frameRate }); + api.setCine({ id: viewportId, isPlaying, frameRate }); setNewStackFrameRate(frameRate); - }, [cineService, displaySetService, viewportId, viewportGridService, cines]); + }, [displaySetService, viewportId, viewportGridService, cines]); useEffect(() => { + isMountedRef.current = true; + eventTarget.addEventListener(Enums.Events.STACK_VIEWPORT_NEW_STACK, newStackCineHandler); return () => { - cineService.setCine({ id: viewportId, isPlaying: false }); + isMountedRef.current = false; + api.stopClip(enabledVPElement); + api.setCine({ id: viewportId, isPlaying: false }); eventTarget.removeEventListener(Enums.Events.STACK_VIEWPORT_NEW_STACK, newStackCineHandler); }; }, [enabledVPElement, newStackCineHandler]); useEffect(() => { - if (!cines || !cines[viewportId] || !enabledVPElement) { + if (!cines || !cines[viewportId] || !enabledVPElement || !isMountedRef.current) { return; } cineHandler(); return () => { - if (enabledVPElement && cines?.[viewportId]?.isPlaying) { - cineService.stopClip(enabledVPElement); - } + api.stopClip(enabledVPElement); }; - }, [cines, viewportId, cineService, enabledVPElement, cineHandler]); + }, [cines, viewportId, enabledVPElement, cineHandler]); const cine = cines[viewportId]; const isPlaying = (cine && cine.isPlaying) || false; @@ -108,15 +90,22 @@ function WrappedCinePlayer({ enabledVPElement, viewportId, servicesManager }) { className="absolute left-1/2 bottom-3 -translate-x-1/2" frameRate={newStackFrameRate} isPlaying={isPlaying} - onClose={handleCineClose} - onPlayPauseChange={isPlaying => - cineService.setCine({ + onClose={() => { + // also stop the clip + api.setCine({ + id: viewportId, + isPlaying: false, + }); + api.setIsCineEnabled(false); + }} + onPlayPauseChange={isPlaying => { + api.setCine({ id: viewportId, isPlaying, - }) - } + }); + }} onFrameRateChange={frameRate => - cineService.setCine({ + api.setCine({ id: viewportId, frameRate, }) diff --git a/extensions/cornerstone/src/getToolbarModule.tsx b/extensions/cornerstone/src/getToolbarModule.tsx new file mode 100644 index 000000000..7c1209836 --- /dev/null +++ b/extensions/cornerstone/src/getToolbarModule.tsx @@ -0,0 +1,251 @@ +import { Enums } from '@cornerstonejs/tools'; + +const getToggledClassName = (isToggled: boolean) => { + return isToggled + ? '!text-primary-active' + : '!text-common-bright hover:!bg-primary-dark hover:text-primary-light'; +}; + +export default function getToolbarModule({ commandsManager, servicesManager }) { + const { + toolGroupService, + syncGroupService, + cornerstoneViewportService, + hangingProtocolService, + displaySetService, + viewportGridService, + } = servicesManager.services; + + return [ + // functions/helpers to be used by the toolbar buttons to decide if they should + // enabled or not + { + name: 'evaluate.cornerstoneTool', + evaluate: ({ viewportId, button }) => { + const toolGroup = toolGroupService.getToolGroupForViewport(viewportId); + + if (!toolGroup) { + return; + } + + const toolName = getToolNameForButton(button); + + if (!toolGroup || !toolGroup.hasTool(toolName)) { + return { + disabled: true, + className: '!text-common-bright ohif-disabled', + }; + } + + const isPrimaryActive = toolGroup.getActivePrimaryMouseButtonTool() === toolName; + + return { + disabled: false, + className: isPrimaryActive + ? '!text-black bg-primary-light' + : '!text-common-bright hover:!bg-primary-dark hover:!text-primary-light', + // Todo: isActive right now is used for nested buttons where the primary + // button needs to be fully rounded (vs partial rounded) when active + // otherwise it does not have any other use + isActive: isPrimaryActive, + }; + }, + }, + { + name: 'evaluate.group.promoteToPrimaryIfCornerstoneToolNotActiveInTheList', + evaluate: ({ viewportId, button, itemId }) => { + const { items } = button.props; + + const toolGroup = toolGroupService.getToolGroupForViewport(viewportId); + + if (!toolGroup) { + return { + primary: button.props.primary, + items, + }; + } + + const activeToolName = toolGroup.getActivePrimaryMouseButtonTool(); + + // check if the active toolName is part of the items then we need + // to move it to the primary button + const activeToolIndex = items.findIndex(item => { + const toolName = getToolNameForButton(item); + return toolName === activeToolName; + }); + + // if there is an active tool in the items dropdown bound to the primary mouse/touch + // we should show that no matter what + if (activeToolIndex > -1) { + return { + primary: items[activeToolIndex], + items, + }; + } + + if (!itemId) { + return { + primary: button.props.primary, + items, + }; + } + + // other wise we can move the clicked tool to the primary button + const clickedItemProps = items.find(item => item.id === itemId || item.itemId === itemId); + + return { + primary: clickedItemProps, + items, + }; + }, + }, + { + name: 'evaluate.action', + evaluate: ({ viewportId, button }) => { + return { + className: '!text-common-bright hover:!bg-primary-dark hover:text-primary-light', + }; + }, + }, + { + name: 'evaluate.cornerstoneTool.toggle', + evaluate: ({ viewportId, button }) => { + const toolGroup = toolGroupService.getToolGroupForViewport(viewportId); + + if (!toolGroup) { + return; + } + const toolName = getToolNameForButton(button); + + if (!toolGroup || !toolGroup.hasTool(toolName)) { + return { + disabled: true, + className: '!text-common-bright ohif-disabled', + }; + } + + const isOff = [Enums.ToolModes.Disabled, Enums.ToolModes.Passive].includes( + toolGroup.getToolOptions(toolName).mode + ); + + return { + className: getToggledClassName(!isOff), + }; + }, + }, + { + name: 'evaluate.cornerstone.synchronizer', + evaluate: ({ viewportId, button }) => { + let synchronizers = syncGroupService.getSynchronizersForViewport(viewportId); + + if (!synchronizers?.length) { + return { + className: getToggledClassName(false), + }; + } + + const synchronizerType = button?.commands?.[0]?.commandOptions?.type; + + synchronizers = syncGroupService.getSynchronizersOfType(synchronizerType); + + if (!synchronizers?.length) { + return { + className: getToggledClassName(false), + }; + } + + // Todo: we need a better way to find the synchronizers based on their + // type, but for now we just check the first one and see if it is + // enabled + const synchronizer = synchronizers[0]; + + const isEnabled = synchronizer?._enabled; + + return { + className: getToggledClassName(isEnabled), + }; + }, + }, + { + name: 'evaluate.viewportProperties.toggle', + evaluate: ({ viewportId, button }) => { + const viewport = cornerstoneViewportService.getCornerstoneViewport(viewportId); + + if (!viewport || viewport.isDisabled) { + return; + } + + const propId = button.id; + + const properties = viewport.getProperties(); + const camera = viewport.getCamera(); + + const prop = camera?.[propId] || properties?.[propId]; + + if (!prop) { + return { + disabled: false, + className: '!text-common-bright hover:!bg-primary-dark hover:text-primary-light', + }; + } + + const isToggled = prop; + + return { + className: getToggledClassName(isToggled), + }; + }, + }, + { + name: 'evaluate.mpr', + evaluate: ({ viewportId, button }) => { + const { protocol } = hangingProtocolService.getActiveProtocol(); + + const displaySetUIDs = viewportGridService.getDisplaySetsUIDsForViewport(viewportId); + + if (!displaySetUIDs?.length) { + return; + } + + const displaySets = displaySetUIDs.map(displaySetService.getDisplaySetByUID); + + const areReconstructable = displaySets.every(displaySet => { + return displaySet.isReconstructable; + }); + + if (!areReconstructable) { + return { + disabled: true, + className: '!text-common-bright ohif-disabled', + }; + } + + const isMpr = protocol?.id === 'mpr'; + + return { + disabled: false, + className: getToggledClassName(isMpr), + }; + }, + }, + ]; +} + +function getToolNameForButton(button) { + const { props } = button; + + const commands = props?.commands || button.commands; + const commandsArray = Array.isArray(commands) ? commands : [commands]; + const firstCommand = commandsArray[0]; + if (typeof firstCommand === 'string') { + // likely not a cornerstone tool + return null; + } + + if ('commandOptions' in firstCommand) { + return firstCommand.commandOptions.toolName ?? props?.id ?? button.id; + } + + // use id as a fallback for toolName + return props?.id ?? button.id; +} diff --git a/extensions/cornerstone/src/hps/mpr.ts b/extensions/cornerstone/src/hps/mpr.ts index 4c625c731..c9a9eea82 100644 --- a/extensions/cornerstone/src/hps/mpr.ts +++ b/extensions/cornerstone/src/hps/mpr.ts @@ -22,11 +22,6 @@ export const mpr: Types.HangingProtocol.Protocol = { }, ], // Turns off crosshairs when switching out of MPR mode - onProtocolExit: [ - { - commandName: 'cleanUpCrosshairs', - }, - ], }, displaySetSelectors: { activeDisplaySet: { diff --git a/extensions/cornerstone/src/index.tsx b/extensions/cornerstone/src/index.tsx index ac53c8f0f..808f63afa 100644 --- a/extensions/cornerstone/src/index.tsx +++ b/extensions/cornerstone/src/index.tsx @@ -13,6 +13,7 @@ import init from './init'; import getCustomizationModule from './getCustomizationModule'; import getCommandsModule from './commandsModule'; import getHangingProtocolModule from './getHangingProtocolModule'; +import getToolbarModule from './getToolbarModule'; import ToolGroupService from './services/ToolGroupService'; import SyncGroupService from './services/SyncGroupService'; import SegmentationService from './services/SegmentationService'; @@ -26,7 +27,6 @@ import dicomLoaderService from './utils/dicomLoaderService'; import getActiveViewportEnabledElement from './utils/getActiveViewportEnabledElement'; import { id } from './id'; -import * as csWADOImageLoader from './initWADOImageLoader.js'; import { measurementMappingUtils } from './utils/measurementServiceMappings'; import type { PublicViewportOptions } from './services/ViewportService/Viewport'; import ImageOverlayViewerTool from './tools/ImageOverlayViewerTool'; @@ -79,6 +79,7 @@ const cornerstoneExtension: Types.Extensions.Extension = { return init.call(this, props); }, + getToolbarModule, getHangingProtocolModule, getViewportModule({ servicesManager, commandsManager }) { const ExtendedOHIFCornerstoneViewport = props => { diff --git a/extensions/cornerstone/src/init.tsx b/extensions/cornerstone/src/init.tsx index 8e1ede126..6d7f3ef7a 100644 --- a/extensions/cornerstone/src/init.tsx +++ b/extensions/cornerstone/src/init.tsx @@ -15,7 +15,6 @@ import { utilities as csUtilities, Enums as csEnums, } from '@cornerstonejs/core'; -import { Enums } from '@cornerstonejs/tools'; import { cornerstoneStreamingImageVolumeLoader } from '@cornerstonejs/streaming-image-volume-loader'; import initWADOImageLoader from './initWADOImageLoader'; @@ -41,7 +40,6 @@ export default async function init({ servicesManager, commandsManager, extensionManager, - configuration, appConfig, }: Types.Extensions.ExtensionParams): Promise { // Note: this should run first before initializing the cornerstone @@ -94,13 +92,26 @@ export default async function init({ cineService, cornerstoneViewportService, hangingProtocolService, - toolGroupService, toolbarService, viewportGridService, stateSyncService, - syncGroupService, + segmentationService, } = servicesManager.services as CornerstoneServices; + toolbarService.registerEventForToolbarUpdate(cornerstoneViewportService, [ + cornerstoneViewportService.EVENTS.VIEWPORT_DATA_CHANGED, + ]); + + toolbarService.registerEventForToolbarUpdate(segmentationService, [ + segmentationService.EVENTS.SEGMENTATION_ADDED, + segmentationService.EVENTS.SEGMENTATION_REMOVED, + segmentationService.EVENTS.SEGMENTATION_UPDATED, + ]); + + toolbarService.registerEventForToolbarUpdate(eventTarget, [ + cornerstoneTools.Enums.Events.TOOL_ACTIVATED, + ]); + window.services = servicesManager.services; window.extensionManager = extensionManager; window.commandsManager = commandsManager; @@ -225,47 +236,6 @@ export default async function init({ commandsManager, }); - /** - * When a viewport gets a new display set, this call will go through all the - * active tools in the toolbar, and call any commands registered in the - * toolbar service with a callback to re-enable on displaying the viewport. - */ - const toolbarEventListener = evt => { - const { element } = evt.detail; - const activeTools = toolbarService.getActiveTools(); - - activeTools.forEach(tool => { - const toolData = toolbarService.getNestedButton(tool); - const commands = toolData?.listeners?.[evt.type]; - commandsManager.run(commands, { element, evt }); - }); - }; - - /** Listens for active viewport events and fires the toolbar listeners */ - const activeViewportEventListener = evt => { - const { viewportId } = evt; - const toolGroup = toolGroupService.getToolGroupForViewport(viewportId); - - const activeTools = toolbarService.getActiveTools(); - - activeTools.forEach(tool => { - if (!toolGroup?._toolInstances?.[tool]) { - return; - } - - // check if tool is active on the new viewport - const toolEnabled = toolGroup._toolInstances[tool].mode === Enums.ToolModes.Enabled; - - if (!toolEnabled) { - return; - } - - const button = toolbarService.getNestedButton(tool); - const commands = button?.listeners?.[evt.type]; - commandsManager.run(commands, { viewportId, evt }); - }); - }; - /** * Runs error handler for failed requests. * @param event @@ -275,30 +245,6 @@ export default async function init({ handler(detail.error); }; - const resetCrosshairs = evt => { - const { element } = evt.detail; - const { viewportId, renderingEngineId } = cornerstone.getEnabledElement(element); - - const toolGroup = cornerstoneTools.ToolGroupManager.getToolGroupForViewport( - viewportId, - renderingEngineId - ); - - if (!toolGroup || !toolGroup._toolInstances?.['Crosshairs']) { - return; - } - - const mode = toolGroup._toolInstances['Crosshairs'].mode; - - if (mode === Enums.ToolModes.Active) { - toolGroup.setToolActive('Crosshairs'); - } else if (mode === Enums.ToolModes.Passive) { - toolGroup.setToolPassive('Crosshairs'); - } else if (mode === Enums.ToolModes.Enabled) { - toolGroup.setToolEnabled('Crosshairs'); - } - }; - eventTarget.addEventListener(EVENTS.STACK_VIEWPORT_NEW_STACK, evt => { const { element } = evt.detail; cornerstoneTools.utilities.stackContextPrefetch.enable(element); @@ -309,17 +255,21 @@ export default async function init({ function elementEnabledHandler(evt) { const { element } = evt.detail; - element.addEventListener(EVENTS.CAMERA_RESET, resetCrosshairs); + element.addEventListener(EVENTS.CAMERA_RESET, evt => { + const { element } = evt.detail; + const { viewportId } = getEnabledElement(element); + commandsManager.runCommand('resetCrosshairs', { viewportId }); + }); - eventTarget.addEventListener(EVENTS.STACK_VIEWPORT_NEW_STACK, toolbarEventListener); + // eventTarget.addEventListener(EVENTS.STACK_VIEWPORT_NEW_STACK, toolbarEventListener); - initViewTiming({ element, eventTarget }); + initViewTiming({ element }); } function elementDisabledHandler(evt) { const { element } = evt.detail; - element.removeEventListener(EVENTS.CAMERA_RESET, resetCrosshairs); + // element.removeEventListener(EVENTS.CAMERA_RESET, resetCrosshairs); // TODO - consider removing the callback when all elements are gone // eventTarget.removeEventListener( @@ -332,10 +282,10 @@ export default async function init({ eventTarget.addEventListener(EVENTS.ELEMENT_DISABLED, elementDisabledHandler.bind(null)); - viewportGridService.subscribe( - viewportGridService.EVENTS.ACTIVE_VIEWPORT_ID_CHANGED, - activeViewportEventListener - ); + // viewportGridService.subscribe( + // viewportGridService.EVENTS.ACTIVE_VIEWPORT_ID_CHANGED, + // activeViewportEventListener + // ); } function CPUModal() { diff --git a/extensions/cornerstone/src/services/SegmentationService/SegmentationService.ts b/extensions/cornerstone/src/services/SegmentationService/SegmentationService.ts index f71dbff5d..c073f3f13 100644 --- a/extensions/cornerstone/src/services/SegmentationService/SegmentationService.ts +++ b/extensions/cornerstone/src/services/SegmentationService/SegmentationService.ts @@ -962,7 +962,7 @@ class SegmentationService extends PubSubService { // Force use of a Uint8Array SharedArrayBuffer for the segmentation to save space and so // it is easily compressible in worker thread. - await volumeLoader.createAndCacheDerivedVolume(volumeId, { + await volumeLoader.createAndCacheDerivedSegmentationVolume(volumeId, { volumeId: segmentationId, targetBuffer: { type: 'Uint8Array', @@ -1368,8 +1368,6 @@ class SegmentationService extends PubSubService { public setConfiguration = (configuration: SegmentationConfig): void => { const { - brushSize, - brushThresholdGate, fillAlpha, fillAlphaInactive, outlineWidthActive, @@ -1461,7 +1459,6 @@ class SegmentationService extends PubSubService { segmentInfo.label = label; if (suppressEvents === false) { - // this._setSegmentationModified(segmentationId); this._broadcastEvent(this.EVENTS.SEGMENTATION_UPDATED, { segmentation, }); diff --git a/extensions/cornerstone/src/services/SyncGroupService/SyncGroupService.ts b/extensions/cornerstone/src/services/SyncGroupService/SyncGroupService.ts index f93075e1c..0c1536be7 100644 --- a/extensions/cornerstone/src/services/SyncGroupService/SyncGroupService.ts +++ b/extensions/cornerstone/src/services/SyncGroupService/SyncGroupService.ts @@ -1,4 +1,5 @@ import { synchronizers, SynchronizerManager, Synchronizer } from '@cornerstonejs/tools'; +import { getRenderingEngines } from '@cornerstonejs/core'; import { pubSubServiceInterface, Types, ServicesManager } from '@ohif/core'; @@ -25,6 +26,7 @@ const POSITION = 'cameraposition'; const VOI = 'voi'; const ZOOMPAN = 'zoompan'; const STACKIMAGE = 'stackimage'; +const IMAGE_SLICE = 'imageslice'; const asSyncGroup = (syncGroup: string | SyncGroup): SyncGroup => typeof syncGroup === 'string' ? { type: syncGroup } : syncGroup; @@ -45,9 +47,14 @@ export default class SyncGroupService { [POSITION]: synchronizers.createCameraPositionSynchronizer, [VOI]: synchronizers.createVOISynchronizer, [ZOOMPAN]: synchronizers.createZoomPanSynchronizer, + // todo: remove stack image since it is legacy now and the image_slice + // handles both stack and volume viewports [STACKIMAGE]: synchronizers.createImageSliceSynchronizer, + [IMAGE_SLICE]: synchronizers.createImageSliceSynchronizer, }; + synchronizersByType: { [key: string]: Synchronizer[] } = {}; + constructor(serviceManager: ServicesManager) { this.servicesManager = serviceManager; this.listeners = {}; @@ -57,14 +64,27 @@ export default class SyncGroupService { } private _createSynchronizer(type: string, id: string, options): Synchronizer | undefined { + // Initialize if not already done + this.synchronizersByType[type] = this.synchronizersByType[type] || []; + const syncCreator = this.synchronizerCreators[type.toLowerCase()]; + if (syncCreator) { - return syncCreator(id, options); + const synchronizer = syncCreator(id, options); + + if (synchronizer) { + this.synchronizersByType[type].push(synchronizer); + return synchronizer; + } } else { - console.warn('Unknown synchronizer type', type, id); + console.warn(`Unknown synchronizer type: ${type}, id: ${id}`); } } + public getSyncCreatorForType(type: string): SyncCreator { + return this.synchronizerCreators[type.toLowerCase()]; + } + /** * Creates a synchronizer type. * @param type is the type of the synchronizer to create @@ -78,6 +98,15 @@ export default class SyncGroupService { return SynchronizerManager.getSynchronizer(id); } + /** + * Retrieves an array of synchronizers of a specific type. + * @param type - The type of synchronizers to retrieve. + * @returns An array of synchronizers of the specified type. + */ + public getSynchronizersOfType(type: string): Synchronizer[] { + return this.synchronizersByType[type]; + } + protected _getOrCreateSynchronizer( type: string, id: string, @@ -125,14 +154,17 @@ export default class SyncGroupService { SynchronizerManager.destroy(); } - public getSynchronizersForViewport( - viewportId: string, - renderingEngineId: string - ): Synchronizer[] { - return SynchronizerManager.getAllSynchronizers().filter( + public getSynchronizersForViewport(viewportId: string): Synchronizer[] { + const renderingEngine = + getRenderingEngines().find(re => { + return re.getViewports().find(vp => vp.id === viewportId); + }) || getRenderingEngines()[0]; + + const synchronizers = SynchronizerManager.getAllSynchronizers(); + return synchronizers.filter( s => - s.hasSourceViewport(renderingEngineId, viewportId) || - s.hasTargetViewport(renderingEngineId, viewportId) + s.hasSourceViewport(renderingEngine.id, viewportId) || + s.hasTargetViewport(renderingEngine.id, viewportId) ); } diff --git a/extensions/cornerstone/src/services/ToolGroupService/ToolGroupService.ts b/extensions/cornerstone/src/services/ToolGroupService/ToolGroupService.ts index 3a85342b3..438fca1bd 100644 --- a/extensions/cornerstone/src/services/ToolGroupService/ToolGroupService.ts +++ b/extensions/cornerstone/src/services/ToolGroupService/ToolGroupService.ts @@ -189,19 +189,6 @@ export default class ToolGroupService { this.addToolsToToolGroup(toolGroupId, tools); return toolGroup; } - - /** - private changeConfigurationIfNecessary(toolGroup, volumeUID) { - // handle specific assignment for volumeUID (e.g., fusion) - const toolInstances = toolGroup._toolInstances; - // Object.values(toolInstances).forEach(toolInstance => { - // if (toolInstance.configuration) { - // toolInstance.configuration.volumeUID = volumeUID; - // } - // }); - } - */ - /** * Get the tool's configuration based on the tool name and tool group id * @param toolGroupId - The id of the tool group that the tool instance belongs to. diff --git a/extensions/cornerstone/src/services/ViewportService/CornerstoneViewportService.ts b/extensions/cornerstone/src/services/ViewportService/CornerstoneViewportService.ts index 96050311c..b6ff441e8 100644 --- a/extensions/cornerstone/src/services/ViewportService/CornerstoneViewportService.ts +++ b/extensions/cornerstone/src/services/ViewportService/CornerstoneViewportService.ts @@ -234,7 +234,7 @@ class CornerstoneViewportService extends PubSubService implements IViewportServi } const { viewPlaneNormal, viewUp } = csViewport.getCamera(); - const initialImageIndex = csViewport.getCurrentImageIdIndex(); + const initialImageIndex = csViewport.getCurrentImageIdIndex() || 0; const zoom = csViewport.getZoom(); const pan = csViewport.getPan(); @@ -347,10 +347,7 @@ class CornerstoneViewportService extends PubSubService implements IViewportServi const { stateSyncService, syncGroupService } = this.servicesManager.services; - const synchronizers = syncGroupService.getSynchronizersForViewport( - viewportId, - this.renderingEngine.id - ); + const synchronizers = syncGroupService.getSynchronizersForViewport(viewportId); const { positionPresentationStore, synchronizersStore, lutPresentationStore } = stateSyncService.getState(); diff --git a/extensions/cornerstone/src/utils/CornerstoneViewportDownloadForm.tsx b/extensions/cornerstone/src/utils/CornerstoneViewportDownloadForm.tsx index ca0de98b7..e06488d3d 100644 --- a/extensions/cornerstone/src/utils/CornerstoneViewportDownloadForm.tsx +++ b/extensions/cornerstone/src/utils/CornerstoneViewportDownloadForm.tsx @@ -189,7 +189,7 @@ const CornerstoneViewportDownloadForm = ({ // add the viewport to the toolGroup toolGroup.addViewport(downloadViewportId, renderingEngineId); - Object.keys(toolGroup._toolInstances).forEach(toolName => { + Object.keys(toolGroup.getToolInstances()).forEach(toolName => { // make all tools Enabled so that they can not be interacted with // in the download viewport if (toggle && toolName !== 'Crosshairs') { diff --git a/extensions/cornerstone/src/utils/imageSliceSync/toggleImageSliceSync.ts b/extensions/cornerstone/src/utils/imageSliceSync/toggleImageSliceSync.ts index 38e5bdfed..1a8e8cd78 100644 --- a/extensions/cornerstone/src/utils/imageSliceSync/toggleImageSliceSync.ts +++ b/extensions/cornerstone/src/utils/imageSliceSync/toggleImageSliceSync.ts @@ -1,20 +1,35 @@ const IMAGE_SLICE_SYNC_NAME = 'IMAGE_SLICE_SYNC'; export default function toggleImageSliceSync({ - toggledState, servicesManager, viewports: providedViewports, + syncId, }) { - if (!toggledState) { - return disableSync(IMAGE_SLICE_SYNC_NAME, servicesManager); - } - const { syncGroupService, viewportGridService, displaySetService, cornerstoneViewportService } = servicesManager.services; + syncId ||= IMAGE_SLICE_SYNC_NAME; + const viewports = providedViewports || getReconstructableStackViewports(viewportGridService, displaySetService); + // Todo: right now we don't have a proper way to define specific + // viewports to add to synchronizers, and right now it is global or not + // after we do that, we should do fine grained control of the synchronizers + const someViewportHasSync = viewports.some(viewport => { + const syncStates = syncGroupService.getSynchronizersForViewport( + viewport.viewportOptions.viewportId + ); + + const imageSync = syncStates.find(syncState => syncState.id === syncId); + + return !!imageSync; + }); + + if (someViewportHasSync) { + return disableSync(syncId, servicesManager); + } + // create synchronization group and add the viewports to it. viewports.forEach(gridViewport => { const { viewportId } = gridViewport.viewportOptions; @@ -23,8 +38,8 @@ export default function toggleImageSliceSync({ return; } syncGroupService.addViewportToSyncGroup(viewportId, viewport.getRenderingEngine().id, { - type: 'stackimage', - id: IMAGE_SLICE_SYNC_NAME, + type: 'imageSlice', + id: syncId, source: true, target: true, }); diff --git a/extensions/cornerstone/src/utils/toggleVOISliceSync.ts b/extensions/cornerstone/src/utils/toggleVOISliceSync.ts new file mode 100644 index 000000000..0677cff37 --- /dev/null +++ b/extensions/cornerstone/src/utils/toggleVOISliceSync.ts @@ -0,0 +1,94 @@ +const VOI_SYNC_NAME = 'VOI_SYNC'; + +const getSyncId = modality => `${VOI_SYNC_NAME}_${modality}`; + +export default function toggleVOISliceSync({ + servicesManager, + viewports: providedViewports, + syncId, +}) { + const { syncGroupService, viewportGridService, displaySetService, cornerstoneViewportService } = + servicesManager.services; + + const viewports = + providedViewports || groupViewportsByModality(viewportGridService, displaySetService); + + // Todo: right now we don't have a proper way to define specific + // viewports to add to synchronizers, and right now it is global or not + // after we do that, we should do fine grained control of the synchronizers + + // we can apply voi sync within each modality group + for (const [modality, modalityViewports] of Object.entries(viewports)) { + const syncIdToUse = syncId || getSyncId(modality); + + const someViewportHasSync = modalityViewports.some(viewport => { + const syncStates = syncGroupService.getSynchronizersForViewport( + viewport.viewportOptions.viewportId + ); + + const imageSync = syncStates.find(syncState => syncState.id === syncIdToUse); + + return !!imageSync; + }); + + if (someViewportHasSync) { + return disableSync(modalityViewports, syncIdToUse, servicesManager); + } + + // create synchronization group and add the modalityViewports to it. + modalityViewports.forEach(gridViewport => { + const { viewportId } = gridViewport.viewportOptions; + const viewport = cornerstoneViewportService.getCornerstoneViewport(viewportId); + if (!viewport) { + return; + } + syncGroupService.addViewportToSyncGroup(viewportId, viewport.getRenderingEngine().id, { + type: 'voi', + id: syncIdToUse, + source: true, + target: true, + }); + }); + } +} + +function disableSync(modalityViewports, syncId, servicesManager) { + const { syncGroupService, cornerstoneViewportService } = servicesManager.services; + + const viewports = modalityViewports; + viewports.forEach(gridViewport => { + const { viewportId } = gridViewport.viewportOptions; + const viewport = cornerstoneViewportService.getCornerstoneViewport(viewportId); + if (!viewport) { + return; + } + syncGroupService.removeViewportFromSyncGroup( + viewport.id, + viewport.getRenderingEngine().id, + syncId + ); + }); +} + +function groupViewportsByModality(viewportGridService, displaySetService) { + let { viewports } = viewportGridService.getState(); + + viewports = [...viewports.values()]; + + // group the viewports by modality + return viewports.reduce((acc, viewport) => { + const { displaySetInstanceUIDs } = viewport; + // Todo: add proper fusion support + const displaySetInstanceUID = displaySetInstanceUIDs[0]; + const displaySet = displaySetService.getDisplaySetByUID(displaySetInstanceUID); + + const modality = displaySet.Modality; + if (!acc[modality]) { + acc[modality] = []; + } + + acc[modality].push(viewport); + + return acc; + }, {}); +} diff --git a/extensions/default/src/CustomizableContextMenu/ContextMenuController.tsx b/extensions/default/src/CustomizableContextMenu/ContextMenuController.tsx index 752929063..2e0a73819 100644 --- a/extensions/default/src/CustomizableContextMenu/ContextMenuController.tsx +++ b/extensions/default/src/CustomizableContextMenu/ContextMenuController.tsx @@ -60,7 +60,6 @@ export default class ContextMenuController { return; } - console.log('Getting items from', menus); const items = ContextMenuItemsBuilder.getMenuItems( selectorProps || contextMenuProps, event, diff --git a/extensions/default/src/CustomizableContextMenu/ContextMenuItemsBuilder.ts b/extensions/default/src/CustomizableContextMenu/ContextMenuItemsBuilder.ts index 8b8b98532..88860b2a1 100644 --- a/extensions/default/src/CustomizableContextMenu/ContextMenuItemsBuilder.ts +++ b/extensions/default/src/CustomizableContextMenu/ContextMenuItemsBuilder.ts @@ -70,8 +70,6 @@ export function findMenu(menus: Menu[], props?: Types.IProps, menuIdFilter?: str current = findIt.next(); } - console.log('Menu chosen', menu?.id || 'NONE'); - return menu; } diff --git a/extensions/default/src/Panels/getImageSrcFromImageId.js b/extensions/default/src/Panels/getImageSrcFromImageId.js index 5cda3dff0..fbbbbe993 100644 --- a/extensions/default/src/Panels/getImageSrcFromImageId.js +++ b/extensions/default/src/Panels/getImageSrcFromImageId.js @@ -5,6 +5,11 @@ function getImageSrcFromImageId(cornerstone, imageId) { return new Promise((resolve, reject) => { const canvas = document.createElement('canvas'); + // Note: the default width and height of the canvas is 300x150 + // but we need to set the width and height to the same number since + // the thumbnails are usually square and we want to maintain the aspect ratio + canvas.width = 128 / window.devicePixelRatio; + canvas.height = 128 / window.devicePixelRatio; cornerstone.utilities .loadImageToCanvas({ canvas, imageId }) .then(imageId => { diff --git a/extensions/default/src/Toolbar/Toolbar.tsx b/extensions/default/src/Toolbar/Toolbar.tsx index f3812ff5b..4852026e9 100644 --- a/extensions/default/src/Toolbar/Toolbar.tsx +++ b/extensions/default/src/Toolbar/Toolbar.tsx @@ -1,57 +1,53 @@ -import React, { useCallback, useEffect, useState } from 'react'; +import React from 'react'; +import { Tooltip } from '@ohif/ui'; import classnames from 'classnames'; -import { useViewportGrid } from '@ohif/ui'; +import { useToolbar } from '@ohif/core'; -export default function Toolbar({ - servicesManager, -}: Types.Extensions.ExtensionParams): React.ReactElement { - const { toolbarService } = servicesManager.services; +export function Toolbar({ servicesManager }) { + const { toolbarButtons, onInteraction } = useToolbar({ + servicesManager, + buttonSection: 'primary', + }); - const [viewportGrid, viewportGridService] = useViewportGrid(); - - const [toolbarButtons, setToolbarButtons] = useState([]); - - useEffect(() => { - const updateToolbar = () => { - const toolGroupId = - viewportGridService.getActiveViewportOptionByKey('toolGroupId') ?? 'default'; - setToolbarButtons(toolbarService.getButtonSection(toolGroupId)); - }; - - const { unsubscribe } = toolbarService.subscribe( - toolbarService.EVENTS.TOOL_BAR_MODIFIED, - updateToolbar - ); - - updateToolbar(); - - return () => { - unsubscribe(); - }; - }, [toolbarService, viewportGrid]); - - const onInteraction = useCallback( - args => toolbarService.recordInteraction(args), - [toolbarService] - ); + if (!toolbarButtons.length) { + return null; + } return ( <> {toolbarButtons.map(toolDef => { + if (!toolDef) { + return null; + } + const { id, Component, componentProps } = toolDef; - return ( - // The margin for separating the tools on the toolbar should go here and NOT in each individual component (button) item. - // This allows for the individual items to be included in other UI components where perhaps alternative margins are desired. + const { disabled } = componentProps; + + const tool = ( + + ); + + return disabled ? ( + +
{tool}
+
+ ) : (
- + {tool}
); })} diff --git a/extensions/default/src/Toolbar/ToolbarButtonGroupWithServices.tsx b/extensions/default/src/Toolbar/ToolbarButtonGroupWithServices.tsx new file mode 100644 index 000000000..42180eaec --- /dev/null +++ b/extensions/default/src/Toolbar/ToolbarButtonGroupWithServices.tsx @@ -0,0 +1,35 @@ +import { ToolbarButton, ButtonGroup } from '@ohif/ui'; +import React, { useCallback } from 'react'; + +function ToolbarButtonGroupWithServices({ groupId, items, onInteraction, size }) { + const getSplitButtonItems = useCallback( + items => + items.map((item, index) => ( + { + onInteraction({ + groupId, + itemId: item.id, + commands: item.commands, + }); + }} + // Note: this is necessary since tooltip will add + // default styles to the tooltip container which + // we don't want for groups + toolTipClassName="" + /> + )), + [onInteraction, groupId] + ); + + return {getSplitButtonItems(items)}; +} + +export default ToolbarButtonGroupWithServices; diff --git a/extensions/default/src/Toolbar/ToolbarButtonWithServices.tsx b/extensions/default/src/Toolbar/ToolbarButtonWithServices.tsx deleted file mode 100644 index 32b7fb51e..000000000 --- a/extensions/default/src/Toolbar/ToolbarButtonWithServices.tsx +++ /dev/null @@ -1,75 +0,0 @@ -import { ToolbarButton } from '@ohif/ui'; -import React, { useEffect, useState } from 'react'; -import PropTypes from 'prop-types'; - -function ToolbarButtonWithServices({ - id, - type, - commands, - onInteraction, - servicesManager, - ...props -}) { - const { toolbarService } = servicesManager?.services || {}; - - const [buttonsState, setButtonState] = useState({ - primaryToolId: '', - toggles: {}, - groups: {}, - }); - const { primaryToolId } = buttonsState; - - const isActive = - (type === 'tool' && id === primaryToolId) || - (type === 'toggle' && buttonsState.toggles[id] === true); - - useEffect(() => { - const { unsubscribe } = toolbarService.subscribe( - toolbarService.EVENTS.TOOL_BAR_STATE_MODIFIED, - state => { - setButtonState({ ...state }); - } - ); - - return () => { - unsubscribe(); - }; - }, [toolbarService]); - - return ( - - ); -} - -ToolbarButtonWithServices.propTypes = { - id: PropTypes.string.isRequired, - type: PropTypes.oneOf(['tool', 'action', 'toggle']).isRequired, - commands: PropTypes.arrayOf( - PropTypes.shape({ - commandName: PropTypes.string.isRequired, - context: PropTypes.string, - }) - ), - onInteraction: PropTypes.func.isRequired, - servicesManager: PropTypes.shape({ - services: PropTypes.shape({ - toolbarService: PropTypes.shape({ - subscribe: PropTypes.func.isRequired, - state: PropTypes.shape({ - primaryToolId: PropTypes.string, - toggles: PropTypes.objectOf(PropTypes.bool), - groups: PropTypes.objectOf(PropTypes.any), - }).isRequired, - }).isRequired, - }).isRequired, - }).isRequired, -}; - -export default ToolbarButtonWithServices; diff --git a/extensions/default/src/Toolbar/ToolbarLayoutSelector.tsx b/extensions/default/src/Toolbar/ToolbarLayoutSelector.tsx index 430cd5aba..27202ed0a 100644 --- a/extensions/default/src/Toolbar/ToolbarLayoutSelector.tsx +++ b/extensions/default/src/Toolbar/ToolbarLayoutSelector.tsx @@ -3,21 +3,20 @@ import PropTypes from 'prop-types'; import { LayoutSelector as OHIFLayoutSelector, ToolbarButton } from '@ohif/ui'; import { ServicesManager } from '@ohif/core'; -function ToolbarLayoutSelectorWithServices({ servicesManager, ...props }) { - const { toolbarService } = servicesManager.services; +function ToolbarLayoutSelectorWithServices({ servicesManager, commands, ...props }) { + const { toolbarService, viewportGridService } = servicesManager.services; - const onSelection = useCallback( - props => { - toolbarService.recordInteraction({ - interactionType: 'action', - commands: [ - { - commandName: 'setViewportGridLayout', - commandOptions: { ...props }, - context: 'DEFAULT', - }, - ], - }); + const onInteraction = useCallback( + args => { + const viewportId = viewportGridService.getActiveViewportId(); + const refreshProps = { + viewportId, + }; + + if (props.onLayoutChange) { + props.onLayoutChange(args); + } + toolbarService.recordInteraction({ commands }, { ...args, refreshProps }); }, [toolbarService] ); @@ -25,12 +24,12 @@ function ToolbarLayoutSelectorWithServices({ servicesManager, ...props }) { return ( ); } -function LayoutSelector({ rows, columns, className, onSelection, ...rest }) { +function LayoutSelector({ rows, columns, className, onInteraction, ...rest }) { const [isOpen, setIsOpen] = useState(false); const closeOnOutsideClick = () => { @@ -62,7 +61,7 @@ function LayoutSelector({ rows, columns, className, onSelection, ...rest }) { ) } diff --git a/extensions/default/src/Toolbar/ToolbarSplitButtonWithServices.tsx b/extensions/default/src/Toolbar/ToolbarSplitButtonWithServices.tsx index a8943b16f..5dfee4ad5 100644 --- a/extensions/default/src/Toolbar/ToolbarSplitButtonWithServices.tsx +++ b/extensions/default/src/Toolbar/ToolbarSplitButtonWithServices.tsx @@ -1,11 +1,8 @@ -import { SplitButton, Icon, ToolbarButton } from '@ohif/ui'; -import React, { useEffect, useState } from 'react'; +import { SplitButton, ToolbarButton } from '@ohif/ui'; +import React, { useCallback } from 'react'; import PropTypes from 'prop-types'; -import classNames from 'classnames'; function ToolbarSplitButtonWithServices({ - isRadio, - isAction, groupId, primary, secondary, @@ -16,123 +13,35 @@ function ToolbarSplitButtonWithServices({ }) { const { toolbarService } = servicesManager?.services; - const handleItemClick = (item, index) => { - const { id, type, commands } = item; - onInteraction({ - groupId, - itemId: id, - interactionType: type, - commands, - }); - - setState(state => ({ - ...state, - primary: !isAction && isRadio ? { ...item, index } : state.primary, - isExpanded: false, - items: getSplitButtonItems(items).filter(item => - isRadio && !isAction ? item.index !== index : true - ), - })); - }; - /* Bubbles up individual item clicks */ - const getSplitButtonItems = items => - items.map((item, index) => ({ - ...item, - index, - onClick: () => handleItemClick(item, index), - })); - - const [buttonsState, setButtonState] = useState({ - primaryToolId: '', - toggles: {}, - groups: {}, - }); - - const [state, setState] = useState({ - primary, - items: getSplitButtonItems(items).filter(item => - isRadio && !isAction ? item.id !== primary.id : true - ), - }); - - const { primaryToolId, toggles } = buttonsState; - - const isPrimaryToggle = state.primary.type === 'toggle'; - - const isPrimaryActive = - (state.primary.type === 'tool' && primaryToolId === state.primary.id) || - (isPrimaryToggle && toggles[state.primary.id] === true); + const getSplitButtonItems = useCallback( + items => + items.map((item, index) => ({ + ...item, + index, + onClick: () => { + onInteraction({ + groupId, + itemId: item.id, + commands: item.commands, + }); + }, + })), + [] + ); const PrimaryButtonComponent = - toolbarService?.getButtonComponentForUIType(state.primary.uiType) ?? ToolbarButton; + toolbarService?.getButtonComponentForUIType(primary.uiType) ?? ToolbarButton; - useEffect(() => { - const { unsubscribe } = toolbarService.subscribe( - toolbarService.EVENTS.TOOL_BAR_STATE_MODIFIED, - state => { - setButtonState({ ...state }); - } - ); - - return () => { - unsubscribe(); - }; - }, [toolbarService]); - - const updatedItems = state.items.map(item => { - const isActive = item.type === 'tool' && primaryToolId === item.id; - - // We could have added the - // item.type === 'toggle' && toggles[item.id] === true - // too but that makes the button active when the toggle is active under it - // which feels weird - return { - ...item, - isActive, - }; - }); - - const DefaultListItemRenderer = ({ type, icon, label, t, id }) => { - const isActive = type === 'toggle' && toggles[id] === true; - - return ( -
- {icon && ( - - - - )} - {t(label)} -
- ); - }; - - const listItemRenderer = renderer || DefaultListItemRenderer; + const listItemRenderer = renderer; return ( item.isActive)} - isToggle={isPrimaryToggle} onInteraction={onInteraction} Component={props => ( { const entry = extensionManager.getModuleEntry(id); - if (!entry) { + if (!entry || !entry.component) { throw new Error( - `${id} is not valid for an extension module. Please verify your configuration or ensure that the extension is properly registered. It's also possible that your mode is utilizing a module from an extension that hasn't been included in its dependencies (add the extension to the "extensionDependencies" array in your mode's index.js file)` + `${id} is not valid for an extension module or no component found from extension ${id}. Please verify your configuration or ensure that the extension is properly registered. It's also possible that your mode is utilizing a module from an extension that hasn't been included in its dependencies (add the extension to the "extensionDependencies" array in your mode's index.js file). Check the reference string to the extension in your Mode configuration` ); } - let content; - if (entry && entry.component) { - content = entry.component; - } else { - throw new Error( - `No component found from extension ${id}. Check the reference string to the extension in your Mode configuration` - ); - } - - return { entry, content }; + return { entry, content: entry.component }; }; const getPanelData = id => { @@ -76,6 +67,7 @@ function ViewerLayout({ label: entry.label, name: entry.name, content, + contexts: entry.contexts, }; }; diff --git a/extensions/default/src/commandsModule.ts b/extensions/default/src/commandsModule.ts index b58c54083..4658f878a 100644 --- a/extensions/default/src/commandsModule.ts +++ b/extensions/default/src/commandsModule.ts @@ -18,6 +18,7 @@ export type HangingProtocolParams = { stageIndex?: number; activeStudyUID?: string; stageId?: string; + reset?: false; }; export type UpdateViewportDisplaySetParams = { @@ -107,41 +108,6 @@ const commandsModule = ({ measurementService.clear(); }, - /** - * Toggles off all tools which contain a commandName of setHangingProtocol - * or toggleHangingProtocol, and which match/don't match the protocol id/stage - */ - toggleHpTools: () => { - const { - protocol, - stageIndex: toggleStageIndex, - stage, - } = hangingProtocolService.getActiveProtocol(); - const enableListener = button => { - if (!button.id) { - return; - } - const { commands, items, primary } = button.props || button; - if (primary) { - enableListener(primary); - } - if (items) { - items.forEach(enableListener); - } - const hpCommand = commands?.find?.(isHangingProtocolCommand); - if (!hpCommand) { - return; - } - const { protocolId, stageIndex, stageId } = hpCommand.commandOptions; - const isActive = - (!protocolId || protocolId === protocol.id) && - (stageIndex === undefined || stageIndex === toggleStageIndex) && - (!stageId || stageId === stage.id); - toolbarService.setToggled(button.id, isActive); - }; - Object.values(toolbarService.getButtons()).forEach(enableListener); - }, - /** * Sets the specified protocol * 1. Records any existing state using the viewport grid service @@ -173,14 +139,12 @@ const commandsModule = ({ stageIndex, reset = false, }: HangingProtocolParams): boolean => { - const primaryToolBeforeHPChange = toolbarService.getActivePrimaryTool(); try { // Stores in the state the display set selector id to displaySetUID mapping // Pass in viewportId for the active viewport. This item will get set as // the activeViewportId const state = viewportGridService.getState(); const hpInfo = hangingProtocolService.getState(); - const { protocol: oldProtocol } = hangingProtocolService.getActiveProtocol(); const stateSyncReduce = reuseCachedLayouts(state, hangingProtocolService, stateSyncService); const { hangingProtocolStageIndexMap, viewportGridStore, displaySetSelectorMap } = stateSyncReduce; @@ -243,33 +207,9 @@ const commandsModule = ({ `${activeStudyUID || hpInfo.activeStudyUID}:activeDisplaySet:0` ]; stateSyncService.store(stateSyncReduce); - // This is a default action applied - actions.toggleHpTools(); - - // try to use the same tool in the new hanging protocol stage - const primaryButton = toolbarService.getButton(primaryToolBeforeHPChange); - if (primaryButton) { - // is there any type of interaction on this button, if not it might be in the - // items. This is a bit of a hack, but it works for now. - - let interactionType = primaryButton.props?.interactionType; - - if (!interactionType && primaryButton.props?.items) { - const firstItem = primaryButton.props.items[0]; - interactionType = firstItem.props?.interactionType || firstItem.props?.type; - } - - if (interactionType) { - toolbarService.recordInteraction({ - interactionType, - ...primaryButton.props, - }); - } - } return true; } catch (e) { console.error(e); - actions.toggleHpTools(); uiNotificationService.show({ title: 'Apply Hanging Protocol', message: 'The hanging protocol could not be applied.', @@ -639,56 +579,38 @@ const commandsModule = ({ }, clearMeasurements: { commandFn: actions.clearMeasurements, - storeContexts: [], - options: {}, }, displayNotification: { commandFn: actions.displayNotification, - storeContexts: [], - options: {}, }, setHangingProtocol: { commandFn: actions.setHangingProtocol, - storeContexts: [], - options: {}, }, toggleHangingProtocol: { commandFn: actions.toggleHangingProtocol, - storeContexts: [], - options: {}, }, navigateHistory: { commandFn: actions.navigateHistory, - storeContexts: [], - options: {}, }, nextStage: { commandFn: actions.deltaStage, - storeContexts: [], options: { direction: 1 }, }, previousStage: { commandFn: actions.deltaStage, - storeContexts: [], options: { direction: -1 }, }, setViewportGridLayout: { commandFn: actions.setViewportGridLayout, - storeContexts: [], - options: {}, }, toggleOneUp: { commandFn: actions.toggleOneUp, - storeContexts: [], - options: {}, }, openDICOMTagViewer: { commandFn: actions.openDICOMTagViewer, }, updateViewportDisplaySet: { commandFn: actions.updateViewportDisplaySet, - storeContexts: [], - options: {}, }, }; diff --git a/extensions/default/src/getCustomizationModule.tsx b/extensions/default/src/getCustomizationModule.tsx index 1da3f1871..206900338 100644 --- a/extensions/default/src/getCustomizationModule.tsx +++ b/extensions/default/src/getCustomizationModule.tsx @@ -93,8 +93,8 @@ export default function getCustomizationModule({ servicesManager, extensionManag instance && this.attribute ? instance[this.attribute] : this.contentF && typeof this.contentF === 'function' - ? this.contentF(props) - : null; + ? this.contentF(props) + : null; if (!value) { return null; } diff --git a/extensions/default/src/getToolbarModule.tsx b/extensions/default/src/getToolbarModule.tsx index eacdffd7b..00d010440 100644 --- a/extensions/default/src/getToolbarModule.tsx +++ b/extensions/default/src/getToolbarModule.tsx @@ -1,39 +1,67 @@ import ToolbarDivider from './Toolbar/ToolbarDivider'; import ToolbarLayoutSelectorWithServices from './Toolbar/ToolbarLayoutSelector'; import ToolbarSplitButtonWithServices from './Toolbar/ToolbarSplitButtonWithServices'; -import ToolbarButtonWithServices from './Toolbar/ToolbarButtonWithServices'; +import ToolbarButtonGroupWithServices from './Toolbar/ToolbarButtonGroupWithServices'; +import { ToolbarButton } from '@ohif/ui'; + +const getClassName = isToggled => { + return { + className: isToggled + ? '!text-primary-active' + : '!text-common-bright hover:!bg-primary-dark hover:text-primary-light', + }; +}; export default function getToolbarModule({ commandsManager, servicesManager }) { + const { cineService } = servicesManager.services; return [ + { + name: 'ohif.radioGroup', + defaultComponent: ToolbarButton, + }, { name: 'ohif.divider', defaultComponent: ToolbarDivider, - clickHandler: () => {}, - }, - { - name: 'ohif.action', - defaultComponent: ToolbarButtonWithServices, - clickHandler: () => {}, - }, - { - name: 'ohif.radioGroup', - defaultComponent: ToolbarButtonWithServices, - clickHandler: () => {}, }, { name: 'ohif.splitButton', defaultComponent: ToolbarSplitButtonWithServices, - clickHandler: () => {}, }, { name: 'ohif.layoutSelector', defaultComponent: ToolbarLayoutSelectorWithServices, - clickHandler: (evt, clickedBtn, btnSectionName) => {}, }, { - name: 'ohif.toggle', - defaultComponent: ToolbarButtonWithServices, - clickHandler: () => {}, + name: 'ohif.buttonGroup', + defaultComponent: ToolbarButtonGroupWithServices, + }, + { + name: 'evaluate.group.promoteToPrimary', + evaluate: ({ viewportId, button, itemId }) => { + const { items } = button.props; + + if (!itemId) { + return { + primary: button.props.primary, + items, + }; + } + + // other wise we can move the clicked tool to the primary button + const clickedItemProps = items.find(item => item.id === itemId || item.itemId === itemId); + + return { + primary: clickedItemProps, + items, + }; + }, + }, + { + name: 'evaluate.cine', + evaluate: () => { + const isToggled = cineService.getState().isCineEnabled; + return getClassName(isToggled); + }, }, ]; } diff --git a/extensions/default/src/init.ts b/extensions/default/src/init.ts index f77bc7ed0..d70cfa18c 100644 --- a/extensions/default/src/init.ts +++ b/extensions/default/src/init.ts @@ -10,8 +10,13 @@ const metadataProvider = classes.MetadataProvider; * @param {Object} servicesManager * @param {Object} configuration */ -export default function init({ servicesManager, configuration = {} }): void { - const { stateSyncService } = servicesManager.services; +export default function init({ servicesManager, configuration = {}, commandsManager }): void { + const { stateSyncService, toolbarService, cineService, viewportGridService } = + servicesManager.services; + + toolbarService.registerEventForToolbarUpdate(cineService, [ + cineService.EVENTS.CINE_STATE_CHANGED, + ]); // Add DicomMetadataStore.subscribe(DicomMetadataStore.EVENTS.INSTANCES_ADDED, handlePETImageMetadata); @@ -24,6 +29,10 @@ export default function init({ servicesManager, configuration = {} }): void { // Used to recover manual changes to the layout of a stage. stateSyncService.register('viewportGridStore', { clearOnModeExit: true }); + // uiStateStore is a sync state which stores the relevant + // UI state for the viewer + stateSyncService.register('uiStateStore', { clearOnModeExit: true }); + // displaySetSelectorMap stores a map from // `::` to // a displaySetInstanceUID, used to display named display sets in @@ -38,7 +47,7 @@ export default function init({ servicesManager, configuration = {} }): void { }); // Stores a map from the to be applied hanging protocols `:` - // to the previously applied hanging protolStageIndexMap key, in order to toggle + // to the previously applied hanging protocolStageIndexMap key, in order to toggle // off the applied protocol and remember the old state. stateSyncService.register('toggleHangingProtocol', { clearOnModeExit: true }); @@ -46,6 +55,45 @@ export default function init({ servicesManager, configuration = {} }): void { // changes numRows and numCols, the viewports can be remembers and then replaced // afterwards. stateSyncService.register('viewportsByPosition', { clearOnModeExit: true }); + + // Function to process and subscribe to events for a given set of commands and listeners + const subscribeToEvents = listeners => { + Object.entries(listeners).forEach(([event, commands]) => { + const supportedEvents = [ + viewportGridService.EVENTS.ACTIVE_VIEWPORT_ID_CHANGED, + viewportGridService.EVENTS.VIEWPORTS_READY, + ]; + + if (supportedEvents.includes(event)) { + viewportGridService.subscribe(event, eventData => { + const viewportId = eventData?.viewportId ?? viewportGridService.getActiveViewportId(); + + commandsManager.run(commands, { viewportId }); + }); + } + }); + }; + + toolbarService.subscribe(toolbarService.EVENTS.TOOL_BAR_MODIFIED, state => { + const { buttons } = state; + for (const [id, button] of Object.entries(buttons)) { + const { groupId, items, listeners } = button.props; + + // Handle group items' listeners + if (groupId && items) { + items.forEach(item => { + if (item.listeners) { + subscribeToEvents(item.listeners); + } + }); + } + + // Handle button listeners + if (listeners) { + subscribeToEvents(listeners); + } + } + }); } const handlePETImageMetadata = ({ SeriesInstanceUID, StudyInstanceUID }) => { diff --git a/extensions/dicom-microscopy/src/DicomMicroscopyViewport.tsx b/extensions/dicom-microscopy/src/DicomMicroscopyViewport.tsx index 39b487358..fd44e21f7 100644 --- a/extensions/dicom-microscopy/src/DicomMicroscopyViewport.tsx +++ b/extensions/dicom-microscopy/src/DicomMicroscopyViewport.tsx @@ -11,16 +11,6 @@ import dcmjs from 'dcmjs'; import cleanDenaturalizedDataset from './utils/cleanDenaturalizedDataset'; import MicroscopyService from './services/MicroscopyService'; -function transformImageTypeUnnaturalized(entry) { - if (entry.vr === 'CS') { - return { - vr: 'US', - Value: entry.Value[0].split('\\'), - }; - } - return entry; -} - class DicomMicroscopyViewport extends Component { state = { error: null as any, @@ -250,7 +240,6 @@ class DicomMicroscopyViewport extends Component { componentDidMount() { const { displaySets, viewportOptions } = this.props; - const { viewportId } = viewportOptions; // Todo-rename: this is always getting the 0 const displaySet = displaySets[0]; this.installOpenLayersRenderer(this.container.current, displaySet).then(() => { diff --git a/extensions/dicom-microscopy/src/getCommandsModule.ts b/extensions/dicom-microscopy/src/getCommandsModule.ts index 756c4fd5c..02d7ee8b8 100644 --- a/extensions/dicom-microscopy/src/getCommandsModule.ts +++ b/extensions/dicom-microscopy/src/getCommandsModule.ts @@ -124,7 +124,7 @@ export default function getCommandsModule({ } // overview - const { activeViewportId, viewports } = viewportGridService.getState(); + const { activeViewportId } = viewportGridService.getState(); microscopyService.toggleOverviewMap(activeViewportId); }, toggleAnnotations: () => { @@ -135,28 +135,18 @@ export default function getCommandsModule({ const definitions = { deleteMeasurement: { commandFn: actions.deleteMeasurement, - storeContexts: [] as any[], - options: {}, }, setLabel: { commandFn: actions.setLabel, - storeContexts: [] as any[], - options: {}, }, setToolActive: { commandFn: actions.setToolActive, - storeContexts: [] as any[], - options: {}, }, toggleOverlays: { commandFn: actions.toggleOverlays, - storeContexts: [] as any[], - options: {}, }, toggleAnnotations: { commandFn: actions.toggleAnnotations, - storeContexts: [] as any[], - options: {}, }, }; diff --git a/extensions/dicom-microscopy/src/index.tsx b/extensions/dicom-microscopy/src/index.tsx index 486736407..bd26b5c3e 100644 --- a/extensions/dicom-microscopy/src/index.tsx +++ b/extensions/dicom-microscopy/src/index.tsx @@ -2,6 +2,7 @@ import { id } from './id'; import React, { Suspense, useMemo } from 'react'; import getPanelModule from './getPanelModule'; import getCommandsModule from './getCommandsModule'; +import { Types } from '@ohif/core'; import { useViewportGrid } from '@ohif/ui'; import getDicomMicroscopySopClassHandler from './DicomMicroscopySopClassHandler'; @@ -23,14 +24,14 @@ const MicroscopyViewport = props => { /** * You can remove any of the following modules if you don't need them. */ -export default { +const extension: Types.Extensions.Extension = { /** * Only required property. Should be a unique value across all extensions. * You ID can be anything you want, but it should be unique. */ id, - async preRegistration({ servicesManager, commandsManager, configuration = {}, appConfig }) { + async preRegistration({ servicesManager }) { servicesManager.registerService(MicroscopyService.REGISTRATION(servicesManager)); }, @@ -90,6 +91,45 @@ export default { ]; }, + getToolbarModule({ servicesManager }) { + return [ + { + name: 'evaluate.microscopyTool', + evaluate: ({ button }) => { + const { microscopyService } = servicesManager.services; + + const activeInteractions = microscopyService.getActiveInteractions(); + + const isPrimaryActive = activeInteractions.find(interactions => { + const sameMouseButton = interactions[1].bindings.mouseButtons.includes('left'); + + if (!sameMouseButton) { + return false; + } + + const notDraw = interactions[0] !== 'draw'; + + // there seems to be a custom logic for draw tool for some reason + return notDraw + ? interactions[0] === button.id + : interactions[1].geometryType === button.id; + }); + + return { + disabled: false, + className: isPrimaryActive + ? '!text-black bg-primary-light' + : '!text-common-bright hover:!bg-primary-dark hover:!text-primary-light', + // Todo: isActive right now is used for nested buttons where the primary + // button needs to be fully rounded (vs partial rounded) when active + // otherwise it does not have any other use + isActive: isPrimaryActive, + }; + }, + }, + ]; + }, + /** * SopClassHandlerModule should provide a list of sop class handlers that will be * available in OHIF for Modes to consume and use to create displaySets from Series. @@ -113,3 +153,5 @@ export default { getCommandsModule, }; + +export default extension; diff --git a/extensions/dicom-microscopy/src/services/MicroscopyService.ts b/extensions/dicom-microscopy/src/services/MicroscopyService.ts index 78ba545c2..0f6005f5d 100644 --- a/extensions/dicom-microscopy/src/services/MicroscopyService.ts +++ b/extensions/dicom-microscopy/src/services/MicroscopyService.ts @@ -573,6 +573,10 @@ export default class MicroscopyService extends PubSubService { this.activeInteractions = interactions; } + getActiveInteractions() { + return this.activeInteractions; + } + /** * Triggers the relabelling process for the given RoiAnnotation instance, by * publishing the RELABEL event to notify the subscribers diff --git a/extensions/dicom-pdf/src/index.tsx b/extensions/dicom-pdf/src/index.tsx index ab3d33cf4..a655cbc50 100644 --- a/extensions/dicom-pdf/src/index.tsx +++ b/extensions/dicom-pdf/src/index.tsx @@ -41,18 +41,6 @@ const dicomPDFExtension = { return [{ name: 'dicom-pdf', component: ExtendedOHIFCornerstonePdfViewport }]; }, - // getCommandsModule({ servicesManager }) { - // return { - // definitions: { - // setToolActive: { - // commandFn: () => null, - // storeContexts: [], - // options: {}, - // }, - // }, - // defaultContext: 'ACTIVE_VIEWPORT::PDF', - // }; - // }, getSopClassHandlerModule, }; diff --git a/extensions/dicom-video/src/index.tsx b/extensions/dicom-video/src/index.tsx index a5fcd40d1..0fde8ca82 100644 --- a/extensions/dicom-video/src/index.tsx +++ b/extensions/dicom-video/src/index.tsx @@ -42,19 +42,6 @@ const dicomVideoExtension = { return [{ name: 'dicom-video', component: ExtendedOHIFCornerstoneVideoViewport }]; }, - // getCommandsModule({ servicesManager }) { - // return { - // definitions: { - // setToolActive: { - // commandFn: ({ toolName, element }) => { - // }, - // storeContexts: [], - // options: {}, - // }, - // }, - // defaultContext: 'ACTIVE_VIEWPORT::VIDEO', - // }; - // }, getSopClassHandlerModule, }; diff --git a/extensions/measurement-tracking/src/panels/PanelStudyBrowserTracking/getImageSrcFromImageId.js b/extensions/measurement-tracking/src/panels/PanelStudyBrowserTracking/getImageSrcFromImageId.js index 60a31499b..1fdf18497 100644 --- a/extensions/measurement-tracking/src/panels/PanelStudyBrowserTracking/getImageSrcFromImageId.js +++ b/extensions/measurement-tracking/src/panels/PanelStudyBrowserTracking/getImageSrcFromImageId.js @@ -5,6 +5,12 @@ function getImageSrcFromImageId(cornerstone, imageId) { return new Promise((resolve, reject) => { const canvas = document.createElement('canvas'); + // Note: the default width and height of the canvas is 300x150 + // but we need to set the width and height to the same number since + // the thumbnails are usually square and we want to maintain the aspect ratio + canvas.width = 128 / window.devicePixelRatio; + canvas.height = 128 / window.devicePixelRatio; + cornerstone.utilities .loadImageToCanvas({ canvas, imageId }) .then(imageId => { diff --git a/extensions/measurement-tracking/src/viewports/TrackedCornerstoneViewport.tsx b/extensions/measurement-tracking/src/viewports/TrackedCornerstoneViewport.tsx index 759460144..a2026edab 100644 --- a/extensions/measurement-tracking/src/viewports/TrackedCornerstoneViewport.tsx +++ b/extensions/measurement-tracking/src/viewports/TrackedCornerstoneViewport.tsx @@ -330,12 +330,12 @@ function _getStatusComponent(isTracked) {
{isTracked ? ( - <> - {t('Series is tracked and can be viewed in the measurement panel')} - + <>{t('Series is tracked and can be viewed in the measurement panel')} ) : ( <> - {t('Measurements for untracked series will not be shown in the measurements panel')} + {t( + 'Measurements for untracked series will not be shown in the measurements panel' + )} )} diff --git a/extensions/tmtv/src/Panels/PanelPetSUV.tsx b/extensions/tmtv/src/Panels/PanelPetSUV.tsx index f0a467eef..618ff051c 100644 --- a/extensions/tmtv/src/Panels/PanelPetSUV.tsx +++ b/extensions/tmtv/src/Panels/PanelPetSUV.tsx @@ -109,23 +109,6 @@ export default function PanelPetSUV({ servicesManager, commandsManager }) { throw new Error('No ptDisplaySet found'); } - const toolGroupIds = toolGroupService.getToolGroupIds(); - - // Todo: we don't have a proper way to perform a toggle command and update the - // state for the toolbar, so here, we manually toggle the toolbar - - // Todo: Crosshairs have bugs for the camera reset currently, so we need to - // force turn it off before we update the metadata - toolGroupIds.forEach(toolGroupId => { - commandsManager.runCommand('toggleCrosshairs', { - toolGroupId, - toggledState: false, - }); - }); - - toolbarService.state.toggles['Crosshairs'] = false; - toolbarService._broadcastEvent(toolbarService.EVENTS.TOOL_BAR_STATE_MODIFIED); - // metadata should be dcmjs naturalized DicomMetadataStore.updateMetadataForSeries( ptDisplaySet.StudyInstanceUID, @@ -135,6 +118,12 @@ export default function PanelPetSUV({ servicesManager, commandsManager }) { // update the displaySets displaySetService.setDisplaySetMetadataInvalidated(ptDisplaySet.displaySetInstanceUID); + + // Crosshair position depends on the metadata values such as the positioning interaction + // between series, so when the metadata is updated, the crosshairs need to be reset. + setTimeout(() => { + commandsManager.runCommand('resetCrosshairs'); + }, 0); } return (
diff --git a/extensions/tmtv/src/commandsModule.js b/extensions/tmtv/src/commandsModule.js index 73409ee41..32b368b8e 100644 --- a/extensions/tmtv/src/commandsModule.js +++ b/extensions/tmtv/src/commandsModule.js @@ -530,83 +530,51 @@ const commandsModule = ({ servicesManager, commandsManager, extensionManager }) const definitions = { setEndSliceForROIThresholdTool: { commandFn: actions.setEndSliceForROIThresholdTool, - storeContexts: [], - options: {}, }, setStartSliceForROIThresholdTool: { commandFn: actions.setStartSliceForROIThresholdTool, - storeContexts: [], - options: {}, }, getMatchingPTDisplaySet: { commandFn: actions.getMatchingPTDisplaySet, - storeContexts: [], - options: {}, }, getPTMetadata: { commandFn: actions.getPTMetadata, - storeContexts: [], - options: {}, }, createNewLabelmapFromPT: { commandFn: actions.createNewLabelmapFromPT, - storeContexts: [], - options: {}, }, setSegmentationActiveForToolGroups: { commandFn: actions.setSegmentationActiveForToolGroups, - storeContexts: [], - options: {}, }, thresholdSegmentationByRectangleROITool: { commandFn: actions.thresholdSegmentationByRectangleROITool, - storeContexts: [], - options: {}, }, getTotalLesionGlycolysis: { commandFn: actions.getTotalLesionGlycolysis, - storeContexts: [], - options: {}, }, calculateSuvPeak: { commandFn: actions.calculateSuvPeak, - storeContexts: [], - options: {}, }, getLesionStats: { commandFn: actions.getLesionStats, - storeContexts: [], - options: {}, }, calculateTMTV: { commandFn: actions.calculateTMTV, - storeContexts: [], - options: {}, }, exportTMTVReportCSV: { commandFn: actions.exportTMTVReportCSV, - storeContexts: [], - options: {}, }, createTMTVRTReport: { commandFn: actions.createTMTVRTReport, - storeContexts: [], - options: {}, }, getSegmentationCSVReport: { commandFn: actions.getSegmentationCSVReport, - storeContexts: [], - options: {}, }, exportRTReportForAnnotations: { commandFn: actions.exportRTReportForAnnotations, - storeContexts: [], - options: {}, }, setFusionPTColormap: { commandFn: actions.setFusionPTColormap, - storeContexts: [], - options: {}, }, }; diff --git a/extensions/tmtv/src/init.js b/extensions/tmtv/src/init.js index 6eaa1c25e..99d4135b6 100644 --- a/extensions/tmtv/src/init.js +++ b/extensions/tmtv/src/init.js @@ -14,7 +14,7 @@ const CORNERSTONE_3D_TOOLS_SOURCE_VERSION = '0.1'; * @param {Object} configuration * @param {Object|Array} configuration.csToolsConfig */ -export default function init({ servicesManager, extensionManager }) { +export default function init({ servicesManager }) { const { measurementService, displaySetService, cornerstoneViewportService } = servicesManager.services; @@ -38,6 +38,5 @@ export default function init({ servicesManager, extensionManager }) { RectangleROIStartEndThreshold.toAnnotation, RectangleROIStartEndThreshold.toMeasurement ); - colormaps.forEach(registerColormap); } diff --git a/modes/basic-dev-mode/src/index.js b/modes/basic-dev-mode/src/index.js index bcedc4aca..4bc20e843 100644 --- a/modes/basic-dev-mode/src/index.js +++ b/modes/basic-dev-mode/src/index.js @@ -89,39 +89,8 @@ function modeFactory({ modeConfiguration }) { // disabled }; - const toolGroupId = 'default'; - toolGroupService.createToolGroupAndAddTools(toolGroupId, tools); + toolGroupService.createToolGroupAndAddTools('default', tools); - let unsubscribe; - - const activateTool = () => { - toolbarService.recordInteraction({ - groupId: 'WindowLevel', - interactionType: 'tool', - commands: [ - { - commandName: 'setToolActive', - commandOptions: { - toolName: 'WindowLevel', - }, - context: 'CORNERSTONE', - }, - ], - }); - - // We don't need to reset the active tool whenever a viewport is getting - // added to the toolGroup. - unsubscribe(); - }; - - // Since we only have one viewport for the basic cs3d mode and it has - // only one hanging protocol, we can just use the first viewport - ({ unsubscribe } = toolGroupService.subscribe( - toolGroupService.EVENTS.VIEWPORT_ADDED, - activateTool - )); - - toolbarService.init(extensionManager); toolbarService.addButtons(toolbarButtons); toolbarService.createButtonSection('primary', [ 'MeasurementTools', diff --git a/modes/basic-dev-mode/src/toolbarButtons.js b/modes/basic-dev-mode/src/toolbarButtons.js index 995e4dea6..638e73b72 100644 --- a/modes/basic-dev-mode/src/toolbarButtons.js +++ b/modes/basic-dev-mode/src/toolbarButtons.js @@ -1,47 +1,16 @@ -// TODO: torn, can either bake this here; or have to create a whole new button type -// Only ways that you can pass in a custom React component for render :l import { - // ExpandableToolbarButton, - // ListMenu, WindowLevelMenuItem, } from '@ohif/ui'; -import { defaults } from '@ohif/core'; +import { defaults, ToolbarService } from '@ohif/core'; +import type { Button } from '@ohif/core/types'; const { windowLevelPresets } = defaults; -/** - * - * @param {*} type - 'tool' | 'action' | 'toggle' - * @param {*} id - * @param {*} icon - * @param {*} label - */ -function _createButton(type, id, icon, label, commands, tooltip) { - return { - id, - icon, - label, - type, - commands, - tooltip, - }; -} -const _createActionButton = _createButton.bind(null, 'action'); -const _createToggleButton = _createButton.bind(null, 'toggle'); -const _createToolButton = _createButton.bind(null, 'tool'); - -/** - * - * @param {*} preset - preset number (from above import) - * @param {*} title - * @param {*} subtitle - */ function _createWwwcPreset(preset, title, subtitle) { return { id: preset.toString(), title, subtitle, - type: 'action', commands: [ { commandName: 'setWindowLevel', @@ -54,147 +23,91 @@ function _createWwwcPreset(preset, title, subtitle) { }; } -const toolbarButtons = [ - // Measurement +function _createSetToolActiveCommands(toolName, toolGroupIds = ['default', 'mpr', ]) { + return toolGroupIds.map(toolGroupId => ({ + commandName: 'setToolActive', + commandOptions: { + toolGroupId, + toolName, + }, + context: 'CORNERSTONE', + })); +} + +const toolbarButtons: Button[] = [ { id: 'MeasurementTools', - type: 'ohif.splitButton', + uiType: 'ohif.splitButton', props: { groupId: 'MeasurementTools', - isRadio: true, // ? - // Switch? - primary: _createToolButton( - 'Length', - 'tool-length', - 'Length', - [ - { - commandName: 'setToolActive', - commandOptions: { - toolName: 'Length', - }, - context: 'CORNERSTONE', - }, - ], - 'Length' - ), + evaluate: 'evaluate.group.promoteToPrimaryIfCornerstoneToolNotActiveInTheList', + primary: ToolbarService.createButton({ + id: 'Length', + icon: 'tool-length', + label: 'Length', + tooltip: 'Length Tool', + commands: _createSetToolActiveCommands('Length'), + evaluate: 'evaluate.cornerstoneTool', + }), secondary: { icon: 'chevron-down', - label: '', - isActive: true, tooltip: 'More Measure Tools', }, items: [ - _createToolButton( - 'Length', - 'tool-length', - 'Length', - [ - { - commandName: 'setToolActive', - commandOptions: { - toolName: 'Length', - }, - context: 'CORNERSTONE', - }, - ], - 'Length Tool' - ), - _createToolButton( - 'Bidirectional', - 'tool-bidirectional', - 'Bidirectional', - [ - { - commandName: 'setToolActive', - commandOptions: { - toolName: 'Bidirectional', - }, - context: 'CORNERSTONE', - }, - ], - 'Bidirectional Tool' - ), - _createToolButton( - 'EllipticalROI', - 'tool-elipse', - 'Ellipse', - [ - { - commandName: 'setToolActive', - commandOptions: { - toolName: 'EllipticalROI', - }, - context: 'CORNERSTONE', - }, - ], - 'Ellipse Tool' - ), - _createToolButton( - 'CircleROI', - 'tool-circle', - 'Circle', - [ - { - commandName: 'setToolActive', - commandOptions: { - toolName: 'CircleROI', - }, - context: 'CORNERSTONE', - }, - ], - 'Circle Tool' - ), + ToolbarService.createButton({ + id: 'Bidirectional', + icon: 'tool-bidirectional', + label: 'Bidirectional', + tooltip: 'Bidirectional Tool', + commands: _createSetToolActiveCommands('Bidirectional'), + evaluate: 'evaluate.cornerstoneTool', + }), + ToolbarService.createButton({ + id: 'EllipticalROI', + icon: 'tool-ellipse', + label: 'Ellipse', + tooltip: 'Ellipse ROI', + commands: _createSetToolActiveCommands('EllipticalROI'), + evaluate: 'evaluate.cornerstoneTool', + }), + ToolbarService.createButton({ + id: 'CircleROI', + icon: 'tool-circle', + label: 'Circle', + tooltip: 'Circle Tool', + commands: _createSetToolActiveCommands('CircleROI'), + evaluate: 'evaluate.cornerstoneTool', + }), ], }, }, - // Zoom.. { id: 'Zoom', - type: 'ohif.radioGroup', + uiType: 'ohif.radioGroup', props: { - type: 'tool', icon: 'tool-zoom', label: 'Zoom', - commands: [ - { - commandName: 'setToolActive', - commandOptions: { - toolName: 'Zoom', - }, - context: 'CORNERSTONE', - }, - ], + commands: _createSetToolActiveCommands('Zoom'), + evaluate: 'evaluate.cornerstoneTool', }, }, - // Window Level + Presets... { id: 'WindowLevel', - type: 'ohif.splitButton', + uiType: 'ohif.splitButton', props: { groupId: 'WindowLevel', - primary: _createToolButton( - 'WindowLevel', - 'tool-window-level', - 'Window Level', - [ - { - commandName: 'setToolActive', - commandOptions: { - toolName: 'WindowLevel', - }, - context: 'CORNERSTONE', - }, - ], - 'Window Level' - ), + primary: ToolbarService.createButton({ + id: 'WindowLevel', + icon: 'tool-window-level', + label: 'Window Level', + tooltip: 'Window Level', + commands: _createSetToolActiveCommands('WindowLevel'), + evaluate: 'evaluate.cornerstoneTool', + }), secondary: { icon: 'chevron-down', - label: 'W/L Manual', - isActive: true, tooltip: 'W/L Presets', }, - isAction: true, // ? renderer: WindowLevelMenuItem, items: [ _createWwwcPreset(1, 'Soft tissue', '400 / 40'), @@ -205,157 +118,141 @@ const toolbarButtons = [ ], }, }, - // Pan... { id: 'Pan', - type: 'ohif.radioGroup', + uiType: 'ohif.radioGroup', props: { - type: 'tool', icon: 'tool-move', label: 'Pan', - commands: [ - { - commandName: 'setToolActive', - commandOptions: { - toolName: 'Pan', - }, - context: 'CORNERSTONE', - }, - ], + commands: _createSetToolActiveCommands('Pan'), + evaluate: 'evaluate.cornerstoneTool', }, }, { id: 'Capture', - type: 'ohif.action', + uiType: 'ohif.radioGroup', props: { icon: 'tool-capture', label: 'Capture', - type: 'action', commands: [ { commandName: 'showDownloadViewportModal', - commandOptions: {}, context: 'CORNERSTONE', }, ], + evaluate: 'evaluate.action', + }, + }, + { + id: 'Layout', + uiType: 'ohif.layoutSelector', + props: { + rows: 3, + columns: 3, + evaluate: 'evaluate.action', + commands: [ + { + commandName: 'setViewportGridLayout', + }, + ], }, }, { - id: 'Layout', - type: 'ohif.layoutSelector', - }, - // More... - { - id: 'MoreTools', - type: 'ohif.splitButton', - props: { - isRadio: true, // ? - groupId: 'MoreTools', - primary: _createActionButton( - 'Reset', - 'tool-reset', - 'Reset View', - [ + id: 'MoreTools', + uiType: 'ohif.splitButton', + props: { + groupId: 'MoreTools', + evaluate: 'evaluate.group.promoteToPrimaryIfCornerstoneToolNotActiveInTheList', + primary: ToolbarService.createButton({ + id: 'Reset', + icon: 'tool-reset', + label: 'Reset View', + tooltip: 'Reset View', + commands: [ + { + commandName: 'resetViewport', + context: 'CORNERSTONE', + }, + ], + evaluate: 'evaluate.action', + }), + secondary: { + icon: 'chevron-down', + tooltip: 'More Tools', + }, + items: [ + ToolbarService.createButton({ + id: 'Reset', + icon: 'tool-reset', + label: 'Reset View', + tooltip: 'Reset View', + commands: [ + { + commandName: 'resetViewport', + context: 'CORNERSTONE', + }, + ], + evaluate: 'evaluate.action', + }), + ToolbarService.createButton({ + id: 'RotateRight', + icon: 'tool-rotate-right', + label: 'Rotate Right', + tooltip: 'Rotate Right +90', + commands: [ { - commandName: 'resetViewport', - commandOptions: {}, + commandName: 'rotateViewportCW', context: 'CORNERSTONE', }, ], - 'Reset' - ), - secondary: { - icon: 'chevron-down', - label: '', - isActive: true, - tooltip: 'More Tools', - }, - items: [ - _createActionButton( - 'Reset', - 'tool-reset', - 'Reset View', - [ - { - commandName: 'resetViewport', - commandOptions: {}, - context: 'CORNERSTONE', - }, - ], - 'Reset' - ), - _createActionButton( - 'rotate-right', - 'tool-rotate-right', - 'Rotate Right', - [ - { - commandName: 'rotateViewportCW', - commandOptions: {}, - context: 'CORNERSTONE', - }, - ], - 'Rotate +90' - ), - _createActionButton( - 'flip-horizontal', - 'tool-flip-horizontal', - 'Flip Horizontally', - [ - { - commandName: 'flipViewportHorizontal', - commandOptions: {}, - context: 'CORNERSTONE', - }, - ], - 'Flip Horizontal' - ), - _createToolButton( - 'StackScroll', - 'tool-stack-scroll', - 'Stack Scroll', - [ - { - commandName: 'setToolActive', - commandOptions: { - toolName: 'StackScroll', - }, - context: 'CORNERSTONE', - }, - ], - 'Stack Scroll' - ), - _createActionButton( - 'invert', - 'tool-invert', - 'Invert', - [ - { - commandName: 'invertViewport', - commandOptions: {}, - context: 'CORNERSTONE', - }, - ], - 'Invert Colors' - ), - _createToolButton( - 'CalibrationLine', - 'tool-calibration', - 'Calibration', - [ - { - commandName: 'setToolActive', - commandOptions: { - toolName: 'CalibrationLine', - }, - context: 'CORNERSTONE', - }, - ], - 'Calibration Line' - ), - ], - }, + evaluate: 'evaluate.action', + }), + ToolbarService.createButton({ + id: 'FlipHorizontal', + icon: 'tool-flip-horizontal', + label: 'Flip Horizontally', + tooltip: 'Flip Horizontally', + commands: [ + { + commandName: 'flipViewportHorizontal', + context: 'CORNERSTONE', + }, + ], + evaluate: 'evaluate.action', + }), + ToolbarService.createButton({ + id: 'StackScroll', + icon: 'tool-stack-scroll', + label: 'Stack Scroll', + tooltip: 'Stack Scroll', + commands: _createSetToolActiveCommands('StackScroll'), + evaluate: 'evaluate.cornerstoneTool', + }), + ToolbarService.createButton({ + id: 'Invert', + icon: 'tool-invert', + label: 'Invert Colors', + tooltip: 'Invert Colors', + commands: [ + { + commandName: 'invertViewport', + context: 'CORNERSTONE', + }, + ], + evaluate: 'evaluate.action', + }), + ToolbarService.createButton({ + id: 'CalibrationLine', + icon: 'tool-calibration', + label: 'Calibration Line', + tooltip: 'Calibration Line', + commands: _createSetToolActiveCommands('CalibrationLine'), + evaluate: 'evaluate.cornerstoneTool', + }), + + ], }, +}, ]; export default toolbarButtons; diff --git a/modes/basic-test-mode/src/index.ts b/modes/basic-test-mode/src/index.ts index a6e9d0827..155fc7013 100644 --- a/modes/basic-test-mode/src/index.ts +++ b/modes/basic-test-mode/src/index.ts @@ -3,16 +3,12 @@ import toolbarButtons from './toolbarButtons'; import { id } from './id'; import initToolGroups from './initToolGroups'; import moreTools from './moreTools'; -import moreToolsMpr from './moreToolsMpr'; import i18n from 'i18next'; // Allow this mode by excluding non-imaging modalities such as SR, SEG // Also, SM is not a simple imaging modalities, so exclude it. const NON_IMAGE_MODALITIES = ['SM', 'ECG', 'SR', 'SEG']; -const DEFAULT_TOOL_GROUP_ID = 'default'; -const MPR_TOOL_GROUP_ID = 'mpr'; - const ohif = { layout: '@ohif/extension-default.layoutTemplateModule.viewerLayout', sopClassHandler: '@ohif/extension-default.sopClassHandlerModule.stack', @@ -82,50 +78,8 @@ function modeFactory() { '@ohif/extension-test.customizationModule.custom-context-menu', ]); - let unsubscribe; - toolbarService.setDefaultTool({ - groupId: 'WindowLevel', - itemId: 'WindowLevel', - interactionType: 'tool', - commands: [ - { - commandName: 'setToolActive', - commandOptions: { - toolName: 'WindowLevel', - }, - context: 'CORNERSTONE', - }, - ], - }); - - const activateTool = () => { - toolbarService.recordInteraction(toolbarService.getDefaultTool()); - - // We don't need to reset the active tool whenever a viewport is getting - // added to the toolGroup. - unsubscribe(); - }; - - // Since we only have one viewport for the basic cs3d mode and it has - // only one hanging protocol, we can just use the first viewport - ({ unsubscribe } = toolGroupService.subscribe( - toolGroupService.EVENTS.VIEWPORT_ADDED, - activateTool - )); - - toolbarService.init(extensionManager); - toolbarService.addButtons([...toolbarButtons, ...moreTools, ...moreToolsMpr]); - toolbarService.createButtonSection(DEFAULT_TOOL_GROUP_ID, [ - 'MeasurementTools', - 'Zoom', - 'WindowLevel', - 'Pan', - 'Capture', - 'Layout', - 'MPR', - 'MoreTools', - ]); - toolbarService.createButtonSection(MPR_TOOL_GROUP_ID, [ + toolbarService.addButtons([...toolbarButtons, ...moreTools]); + toolbarService.createButtonSection('primary', [ 'MeasurementTools', 'Zoom', 'WindowLevel', @@ -134,7 +88,7 @@ function modeFactory() { 'Layout', 'MPR', 'Crosshairs', - 'MoreToolsMpr', + 'MoreTools', ]); }, onModeExit: ({ servicesManager }) => { diff --git a/modes/basic-test-mode/src/moreTools.ts b/modes/basic-test-mode/src/moreTools.ts index 9b7726b80..e7da76369 100644 --- a/modes/basic-test-mode/src/moreTools.ts +++ b/modes/basic-test-mode/src/moreTools.ts @@ -1,228 +1,183 @@ import type { RunCommand } from '@ohif/core/types'; import { EVENTS } from '@cornerstonejs/core'; -import { ToolbarService } from '@ohif/core'; +import { ToolbarService, ViewportGridService } from '@ohif/core'; +import { setToolActiveToolbar } from './toolbarButtons'; +const { createButton } = ToolbarService; -const ReferenceLinesCommands: RunCommand = [ +const ReferenceLinesListeners: RunCommand = [ { commandName: 'setSourceViewportForReferenceLinesTool', context: 'CORNERSTONE', }, - { - commandName: 'setToolActive', - commandOptions: { - toolName: 'ReferenceLines', - }, - context: 'CORNERSTONE', - }, ]; const moreTools = [ { id: 'MoreTools', - type: 'ohif.splitButton', + uiType: 'ohif.splitButton', props: { - isRadio: true, // ? groupId: 'MoreTools', - primary: ToolbarService._createActionButton( - 'Reset', - 'tool-reset', - 'Reset View', - [ - { - commandName: 'resetViewport', - }, - ], - 'Reset' - ), + evaluate: 'evaluate.group.promoteToPrimaryIfCornerstoneToolNotActiveInTheList', + primary: createButton({ + id: 'Reset', + icon: 'tool-reset', + tooltip: 'Reset View', + label: 'Reset', + commands: 'resetViewport', + evaluate: 'evaluate.action', + }), secondary: { icon: 'chevron-down', label: '', - isActive: true, tooltip: 'More Tools', }, items: [ - ToolbarService._createActionButton( - 'Reset', - 'tool-reset', - 'Reset View', - [ - { - commandName: 'resetViewport', + createButton({ + id: 'Reset', + icon: 'tool-reset', + label: 'Reset View', + tooltip: 'Reset View', + commands: 'resetViewport', + evaluate: 'evaluate.action', + }), + createButton({ + id: 'rotate-right', + icon: 'tool-rotate-right', + label: 'Rotate Right', + tooltip: 'Rotate +90', + commands: 'rotateViewportCW', + evaluate: 'evaluate.action', + }), + createButton({ + id: 'flipHorizontal', + icon: 'tool-flip-horizontal', + label: 'Flip Horizontal', + tooltip: 'Flip Horizontally', + commands: 'flipViewportHorizontal', + evaluate: 'evaluate.viewportProperties.toggle', + }), + createButton({ + id: 'ImageSliceSync', + icon: 'link', + label: 'Image Slice Sync', + tooltip: 'Enable position synchronization on stack viewports', + commands: { + commandName: 'toggleSynchronizer', + commandOptions: { + type: 'imageSlice', }, - ], - 'Reset' - ), - ToolbarService._createActionButton( - 'rotate-right', - 'tool-rotate-right', - 'Rotate Right', - [ - { - commandName: 'rotateViewportCW', - commandOptions: {}, - context: 'CORNERSTONE', - }, - ], - 'Rotate +90' - ), - ToolbarService._createActionButton( - 'flip-horizontal', - 'tool-flip-horizontal', - 'Flip Horizontally', - [ - { - commandName: 'flipViewportHorizontal', - commandOptions: {}, - context: 'CORNERSTONE', - }, - ], - 'Flip Horizontally' - ), - ToolbarService._createToggleButton( - 'ImageSliceSync', - 'link', - 'Image Slice Sync', - [ - { + }, + listeners: { + [EVENTS.STACK_VIEWPORT_NEW_STACK]: { commandName: 'toggleImageSliceSync', + commandOptions: { toggledState: true }, }, - ], - 'Enable position synchronization on stack viewports', - { - listeners: { - [EVENTS.STACK_VIEWPORT_NEW_STACK]: { - commandName: 'toggleImageSliceSync', - commandOptions: { toggledState: true }, - }, + }, + evaluate: 'evaluate.cornerstone.synchronizer', + }), + createButton({ + id: 'ReferenceLines', + icon: 'tool-referenceLines', + label: 'Reference Lines', + tooltip: 'Show Reference Lines', + commands: { + commandName: 'setToolEnabled', + commandOptions: { + toolName: 'ReferenceLines', + toggle: true, }, - } - ), - ToolbarService._createToggleButton( - 'ReferenceLines', - 'tool-referenceLines', // change this with the new icon - 'Reference Lines', - ReferenceLinesCommands, - 'Show Reference Lines', - { - listeners: { - [EVENTS.STACK_VIEWPORT_NEW_STACK]: ReferenceLinesCommands, - [EVENTS.ACTIVE_VIEWPORT_ID_CHANGED]: ReferenceLinesCommands, + }, + listeners: { + [ViewportGridService.EVENTS.ACTIVE_VIEWPORT_ID_CHANGED]: ReferenceLinesListeners, + [ViewportGridService.EVENTS.VIEWPORTS_READY]: ReferenceLinesListeners, + }, + evaluate: 'evaluate.cornerstoneTool.toggle', + }), + createButton({ + id: 'ImageOverlay', + icon: 'toggle-dicom-overlay', + label: 'Image Overlay', + tooltip: 'Toggle Image Overlay', + commands: { + commandName: 'setToolEnabled', + commandOptions: { + toolName: 'ImageOverlayViewer', + toggle: true, }, - } - ), - ToolbarService._createToolButton( - 'StackScroll', - 'tool-stack-scroll', - 'Stack Scroll', - [ - { - commandName: 'setToolActive', - commandOptions: { - toolName: 'StackScroll', - }, - context: 'CORNERSTONE', - }, - ], - 'Stack Scroll' - ), - ToolbarService._createActionButton( - 'invert', - 'tool-invert', - 'Invert', - [ - { - commandName: 'invertViewport', - commandOptions: {}, - context: 'CORNERSTONE', - }, - ], - 'Invert Colors' - ), - ToolbarService._createToolButton( - 'Probe', - 'tool-probe', - 'Probe', - [ - { - commandName: 'setToolActive', - commandOptions: { - toolName: 'DragProbe', - }, - context: 'CORNERSTONE', - }, - ], - 'Probe' - ), - ToolbarService._createToggleButton( - 'cine', - 'tool-cine', - 'Cine', - [ - { - commandName: 'toggleCine', - context: 'CORNERSTONE', - }, - ], - 'Cine' - ), - ToolbarService._createToolButton( - 'Angle', - 'tool-angle', - 'Angle', - [ - { - commandName: 'setToolActive', - commandOptions: { - toolName: 'Angle', - }, - context: 'CORNERSTONE', - }, - ], - 'Angle' - ), - ToolbarService._createToolButton( - 'Magnify', - 'tool-magnify', - 'Magnify', - [ - { - commandName: 'setToolActive', - commandOptions: { - toolName: 'Magnify', - }, - context: 'CORNERSTONE', - }, - ], - 'Magnify' - ), - ToolbarService._createToolButton( - 'Rectangle', - 'tool-rectangle', - 'Rectangle', - [ - { - commandName: 'setToolActive', - commandOptions: { - toolName: 'RectangleROI', - }, - context: 'CORNERSTONE', - }, - ], - 'Rectangle' - ), - ToolbarService._createActionButton( - 'TagBrowser', - 'list-bullets', - 'Dicom Tag Browser', - [ - { - commandName: 'openDICOMTagViewer', - commandOptions: {}, - context: 'DEFAULT', - }, - ], - 'Dicom Tag Browser' - ), + }, + evaluate: 'evaluate.cornerstoneTool.toggle', + }), + createButton({ + id: 'StackScroll', + icon: 'tool-stack-scroll', + label: 'Stack Scroll', + tooltip: 'Stack Scroll', + commands: setToolActiveToolbar, + evaluate: 'evaluate.cornerstoneTool', + }), + createButton({ + id: 'invert', + icon: 'tool-invert', + label: 'Invert', + tooltip: 'Invert Colors', + commands: 'invertViewport', + evaluate: 'evaluate.viewportProperties.toggle', + }), + createButton({ + id: 'Probe', + icon: 'tool-probe', + label: 'Probe', + tooltip: 'Probe', + commands: setToolActiveToolbar, + evaluate: 'evaluate.cornerstoneTool', + }), + createButton({ + id: 'Cine', + icon: 'tool-cine', + label: 'Cine', + tooltip: 'Cine', + commands: 'toggleCine', + evaluate: 'evaluate.cine', + }), + createButton({ + id: 'Angle', + icon: 'tool-angle', + label: 'Angle', + tooltip: 'Angle', + commands: setToolActiveToolbar, + evaluate: 'evaluate.cornerstoneTool', + }), + createButton({ + id: 'Magnify', + icon: 'tool-magnify', + label: 'Magnify', + tooltip: 'Magnify', + commands: setToolActiveToolbar, + evaluate: 'evaluate.cornerstoneTool', + }), + createButton({ + id: 'RectangleROI', + icon: 'tool-rectangle', + label: 'Rectangle', + tooltip: 'Rectangle', + commands: setToolActiveToolbar, + evaluate: 'evaluate.cornerstoneTool', + }), + createButton({ + id: 'CalibrationLine', + icon: 'tool-calibration', + label: 'Calibration', + tooltip: 'Calibration Line', + commands: setToolActiveToolbar, + evaluate: 'evaluate.cornerstoneTool', + }), + createButton({ + id: 'TagBrowser', + icon: 'list-bullets', + label: 'Dicom Tag Browser', + tooltip: 'Dicom Tag Browser', + commands: 'openDICOMTagViewer', + }), ], }, }, diff --git a/modes/basic-test-mode/src/moreToolsMpr.ts b/modes/basic-test-mode/src/moreToolsMpr.ts deleted file mode 100644 index 0672170a3..000000000 --- a/modes/basic-test-mode/src/moreToolsMpr.ts +++ /dev/null @@ -1,142 +0,0 @@ -import { ToolbarService } from '@ohif/core'; - -const moreToolsMpr = [ - { - id: 'MoreToolsMpr', - type: 'ohif.splitButton', - props: { - isRadio: true, // ? - groupId: 'MoreTools', - primary: ToolbarService._createActionButton( - 'Reset', - 'tool-reset', - 'Reset View', - [ - { - commandName: 'resetViewport', - }, - ], - 'Reset' - ), - secondary: { - icon: 'chevron-down', - label: '', - isActive: true, - tooltip: 'More Tools', - }, - items: [ - ToolbarService._createActionButton( - 'Reset', - 'tool-reset', - 'Reset View', - [ - { - commandName: 'resetViewport', - }, - ], - 'Reset' - ), - ToolbarService._createToolButton( - 'StackScroll', - 'tool-stack-scroll', - 'Stack Scroll', - [ - { - commandName: 'setToolActive', - commandOptions: { - toolName: 'StackScroll', - }, - context: 'CORNERSTONE', - }, - ], - 'Stack Scroll' - ), - ToolbarService._createActionButton( - 'invert', - 'tool-invert', - 'Invert', - [ - { - commandName: 'invertViewport', - commandOptions: {}, - context: 'CORNERSTONE', - }, - ], - 'Invert Colors' - ), - ToolbarService._createToolButton( - 'Probe', - 'tool-probe', - 'Probe', - [ - { - commandName: 'setToolActive', - commandOptions: { - toolName: 'DragProbe', - }, - context: 'CORNERSTONE', - }, - ], - 'Probe' - ), - ToolbarService._createToggleButton( - 'cine', - 'tool-cine', - 'Cine', - [ - { - commandName: 'toggleCine', - context: 'CORNERSTONE', - }, - ], - 'Cine' - ), - ToolbarService._createToolButton( - 'Angle', - 'tool-angle', - 'Angle', - [ - { - commandName: 'setToolActive', - commandOptions: { - toolName: 'Angle', - }, - context: 'CORNERSTONE', - }, - ], - 'Angle' - ), - ToolbarService._createToolButton( - 'Rectangle', - 'tool-rectangle', - 'Rectangle', - [ - { - commandName: 'setToolActive', - commandOptions: { - toolName: 'RectangleROI', - }, - context: 'CORNERSTONE', - }, - ], - 'Rectangle' - ), - ToolbarService._createActionButton( - 'TagBrowser', - 'list-bullets', - 'Dicom Tag Browser', - [ - { - commandName: 'openDICOMTagViewer', - commandOptions: {}, - context: 'DEFAULT', - }, - ], - 'Dicom Tag Browser' - ), - ], - }, - }, -]; - -export default moreToolsMpr; diff --git a/modes/basic-test-mode/src/toolbarButtons.ts b/modes/basic-test-mode/src/toolbarButtons.ts index 391aef110..34b300e22 100644 --- a/modes/basic-test-mode/src/toolbarButtons.ts +++ b/modes/basic-test-mode/src/toolbarButtons.ts @@ -1,14 +1,14 @@ // TODO: torn, can either bake this here; or have to create a whole new button type // Only ways that you can pass in a custom React component for render :l import { - // ExpandableToolbarButton, // ListMenu, WindowLevelMenuItem, } from '@ohif/ui'; -import { ToolbarService, defaults } from '@ohif/core'; +import { defaults, ToolbarService } from '@ohif/core'; import type { Button } from '@ohif/core/types'; const { windowLevelPresets } = defaults; +const { createButton } = ToolbarService; /** * @@ -21,7 +21,6 @@ function _createWwwcPreset(preset, title, subtitle) { id: preset.toString(), title, subtitle, - type: 'action', commands: [ { commandName: 'setWindowLevel', @@ -34,212 +33,106 @@ function _createWwwcPreset(preset, title, subtitle) { }; } +export const setToolActiveToolbar = { + commandName: 'setToolActiveToolbar', + commandOptions: { + toolGroupIds: ['default', 'mpr', 'SRToolGroup'], + }, +}; + const toolbarButtons: Button[] = [ - // Measurement { id: 'MeasurementTools', - type: 'ohif.splitButton', + uiType: 'ohif.splitButton', props: { groupId: 'MeasurementTools', - isRadio: true, // ? - // Switch? - primary: ToolbarService._createToolButton( - 'Length', - 'tool-length', - 'Length', - [ - { - commandName: 'setToolActive', - commandOptions: { - toolName: 'Length', - }, - context: 'CORNERSTONE', - }, - { - commandName: 'setToolActive', - commandOptions: { - toolName: 'SRLength', - toolGroupId: 'SRToolGroup', - }, - // we can use the setToolActive command for this from Cornerstone commandsModule - context: 'CORNERSTONE', - }, - ], - 'Length' - ), + // group evaluate to determine which item should move to the top + evaluate: 'evaluate.group.promoteToPrimaryIfCornerstoneToolNotActiveInTheList', + primary: createButton({ + id: 'Length', + icon: 'tool-length', + label: 'Length', + tooltip: 'Length Tool', + commands: setToolActiveToolbar, + evaluate: 'evaluate.cornerstoneTool', + }), secondary: { icon: 'chevron-down', - label: '', - isActive: true, tooltip: 'More Measure Tools', }, items: [ - ToolbarService._createToolButton( - 'Length', - 'tool-length', - 'Length', - [ - { - commandName: 'setToolActive', - commandOptions: { - toolName: 'Length', - }, - context: 'CORNERSTONE', - }, - { - commandName: 'setToolActive', - commandOptions: { - toolName: 'SRLength', - toolGroupId: 'SRToolGroup', - }, - // we can use the setToolActive command for this from Cornerstone commandsModule - context: 'CORNERSTONE', - }, - ], - 'Length Tool' - ), - ToolbarService._createToolButton( - 'Bidirectional', - 'tool-bidirectional', - 'Bidirectional', - [ - { - commandName: 'setToolActive', - commandOptions: { - toolName: 'Bidirectional', - }, - context: 'CORNERSTONE', - }, - { - commandName: 'setToolActive', - commandOptions: { - toolName: 'SRBidirectional', - toolGroupId: 'SRToolGroup', - }, - context: 'CORNERSTONE', - }, - ], - 'Bidirectional Tool' - ), - ToolbarService._createToolButton( - 'ArrowAnnotate', - 'tool-annotate', - 'Annotation', - [ - { - commandName: 'setToolActive', - commandOptions: { - toolName: 'ArrowAnnotate', - }, - context: 'CORNERSTONE', - }, - { - commandName: 'setToolActive', - commandOptions: { - toolName: 'SRArrowAnnotate', - toolGroupId: 'SRToolGroup', - }, - context: 'CORNERSTONE', - }, - ], - 'Arrow Annotate' - ), - ToolbarService._createToolButton( - 'EllipticalROI', - 'tool-elipse', - 'Ellipse', - [ - { - commandName: 'setToolActive', - commandOptions: { - toolName: 'EllipticalROI', - }, - context: 'CORNERSTONE', - }, - { - commandName: 'setToolActive', - commandOptions: { - toolName: 'SREllipticalROI', - toolGroupId: 'SRToolGroup', - }, - context: 'CORNERSTONE', - }, - ], - 'Ellipse Tool' - ), - ToolbarService._createToolButton( - 'CircleROI', - 'tool-circle', - 'Circle', - [ - { - commandName: 'setToolActive', - commandOptions: { - toolName: 'CircleROI', - }, - context: 'CORNERSTONE', - }, - { - commandName: 'setToolActive', - commandOptions: { - toolName: 'SRCircleROI', - toolGroupId: 'SRToolGroup', - }, - context: 'CORNERSTONE', - }, - ], - 'Circle Tool' - ), + createButton({ + id: 'Length', + icon: 'tool-length', + label: 'Length', + tooltip: 'Length Tool', + commands: setToolActiveToolbar, + evaluate: 'evaluate.cornerstoneTool', + }), + createButton({ + id: 'Bidirectional', + icon: 'tool-bidirectional', + label: 'Bidirectional', + tooltip: 'Bidirectional Tool', + commands: setToolActiveToolbar, + evaluate: 'evaluate.cornerstoneTool', + }), + createButton({ + id: 'ArrowAnnotate', + icon: 'tool-annotate', + label: 'Annotation', + tooltip: 'Arrow Annotate', + commands: setToolActiveToolbar, + evaluate: 'evaluate.cornerstoneTool', + }), + createButton({ + id: 'EllipticalROI', + icon: 'tool-ellipse', + label: 'Ellipse', + tooltip: 'Ellipse ROI', + commands: setToolActiveToolbar, + evaluate: 'evaluate.cornerstoneTool', + }), + createButton({ + id: 'CircleROI', + icon: 'tool-circle', + label: 'Circle', + tooltip: 'Circle Tool', + commands: setToolActiveToolbar, + evaluate: 'evaluate.cornerstoneTool', + }), ], }, }, - // Zoom.. { id: 'Zoom', - type: 'ohif.radioGroup', + uiType: 'ohif.radioGroup', props: { - type: 'tool', icon: 'tool-zoom', label: 'Zoom', - commands: [ - { - commandName: 'setToolActive', - commandOptions: { - toolName: 'Zoom', - }, - context: 'CORNERSTONE', - }, - ], + commands: setToolActiveToolbar, + evaluate: 'evaluate.cornerstoneTool', }, }, // Window Level + Presets... { id: 'WindowLevel', - type: 'ohif.splitButton', + uiType: 'ohif.splitButton', props: { groupId: 'WindowLevel', - primary: ToolbarService._createToolButton( - 'WindowLevel', - 'tool-window-level', - 'Window Level', - [ - { - commandName: 'setToolActive', - commandOptions: { - toolName: 'WindowLevel', - }, - context: 'CORNERSTONE', - }, - ], - 'Window Level' - ), + primary: createButton({ + id: 'WindowLevel', + icon: 'tool-window-level', + label: 'Window Level', + tooltip: 'Window Level', + commands: setToolActiveToolbar, + evaluate: 'evaluate.cornerstoneTool', + }), secondary: { icon: 'chevron-down', label: 'W/L Manual', - isActive: true, tooltip: 'W/L Presets', }, - isAction: true, // ? renderer: WindowLevelMenuItem, items: [ _createWwwcPreset(1, 'Soft tissue', '400 / 40'), @@ -253,137 +146,47 @@ const toolbarButtons: Button[] = [ // Pan... { id: 'Pan', - type: 'ohif.radioGroup', + uiType: 'ohif.radioGroup', props: { type: 'tool', icon: 'tool-move', label: 'Pan', - commands: [ - { - commandName: 'setToolActive', - commandOptions: { - toolName: 'Pan', - }, - context: 'CORNERSTONE', - }, - ], + commands: setToolActiveToolbar, + evaluate: 'evaluate.cornerstoneTool', }, }, { id: 'Capture', - type: 'ohif.action', + uiType: 'ohif.radioGroup', props: { icon: 'tool-capture', label: 'Capture', - type: 'action', commands: [ { commandName: 'showDownloadViewportModal', - commandOptions: {}, - context: 'CORNERSTONE', }, ], + evaluate: 'evaluate.action', }, }, { id: 'Layout', - type: 'ohif.splitButton', + uiType: 'ohif.layoutSelector', props: { - groupId: 'LayoutTools', - isRadio: false, - primary: { - id: 'Layout', - type: 'action', - uiType: 'ohif.layoutSelector', - icon: 'tool-layout', - label: 'Grid Layout', - props: { - rows: 4, - columns: 4, - commands: [ - { - commandName: 'setLayout', - commandOptions: {}, - context: 'CORNERSTONE', - }, - ], - }, - }, - secondary: { - icon: 'chevron-down', - label: '', - isActive: true, - tooltip: 'Hanging Protocols', - }, - items: [ + rows: 3, + columns: 3, + evaluate: 'evaluate.action', + commands: [ { - id: '2x2', - type: 'action', - label: '2x2', - commands: [ - { - commandName: 'setHangingProtocol', - commandOptions: { - protocolId: '@ohif/mnGrid', - stageId: '2x2', - }, - context: 'DEFAULT', - }, - ], - }, - { - id: '3x1', - type: 'action', - label: '3x1', - commands: [ - { - commandName: 'setHangingProtocol', - commandOptions: { - protocolId: '@ohif/mnGrid', - stageId: '3x1', - }, - context: 'DEFAULT', - }, - ], - }, - { - id: '2x1', - type: 'action', - label: '2x1', - commands: [ - { - commandName: 'setHangingProtocol', - commandOptions: { - protocolId: '@ohif/mnGrid', - stageId: '2x1', - }, - context: 'DEFAULT', - }, - ], - }, - { - id: '1x1', - type: 'action', - label: '1x1', - commands: [ - { - commandName: 'setHangingProtocol', - commandOptions: { - protocolId: '@ohif/mnGrid', - stageId: '1x1', - }, - context: 'DEFAULT', - }, - ], + commandName: 'setViewportGridLayout', }, ], }, }, { id: 'MPR', - type: 'ohif.action', + uiType: 'ohif.radioGroup', props: { - type: 'toggle', icon: 'icon-mpr', label: 'MPR', commands: [ @@ -394,24 +197,23 @@ const toolbarButtons: Button[] = [ }, }, ], + evaluate: 'evaluate.mpr', }, }, { id: 'Crosshairs', - type: 'ohif.radioGroup', + uiType: 'ohif.radioGroup', props: { type: 'tool', icon: 'tool-crosshair', label: 'Crosshairs', - commands: [ - { - commandName: 'setToolActive', - commandOptions: { - toolGroupId: 'mpr', - toolName: 'Crosshairs', - }, + commands: { + commandName: 'setToolActiveToolbar', + commandOptions: { + toolGroupIds: ['mpr'], }, - ], + }, + evaluate: 'evaluate.cornerstoneTool', }, }, ]; diff --git a/modes/longitudinal/src/index.js b/modes/longitudinal/src/index.js index 571d6a5f6..87fe93251 100644 --- a/modes/longitudinal/src/index.js +++ b/modes/longitudinal/src/index.js @@ -2,17 +2,13 @@ import { hotkeys } from '@ohif/core'; import i18n from 'i18next'; import { id } from './id'; import initToolGroups from './initToolGroups'; -import moreTools from './moreTools'; -import moreToolsMpr from './moreToolsMpr'; import toolbarButtons from './toolbarButtons'; +import moreTools from './moreTools'; // Allow this mode by excluding non-imaging modalities such as SR, SEG // Also, SM is not a simple imaging modalities, so exclude it. const NON_IMAGE_MODALITIES = ['SM', 'ECG', 'SR', 'SEG', 'RTSTRUCT']; -const DEFAULT_TOOL_GROUP_ID = 'default'; -const MPR_TOOL_GROUP_ID = 'mpr'; - const ohif = { layout: '@ohif/extension-default.layoutTemplateModule.viewerLayout', sopClassHandler: '@ohif/extension-default.sopClassHandlerModule.stack', @@ -75,63 +71,16 @@ function modeFactory({ modeConfiguration }) { * Lifecycle hooks */ onModeEnter: ({ servicesManager, extensionManager, commandsManager }) => { - const { - measurementService, - toolbarService, - toolGroupService, - panelService, - customizationService, - } = servicesManager.services; + const { measurementService, toolbarService, toolGroupService, customizationService } = + servicesManager.services; measurementService.clearMeasurements(); // Init Default and SR ToolGroups initToolGroups(extensionManager, toolGroupService, commandsManager); - let unsubscribe; - toolbarService.setDefaultTool({ - groupId: 'WindowLevel', - itemId: 'WindowLevel', - interactionType: 'tool', - commands: [ - { - commandName: 'setToolActive', - commandOptions: { - toolName: 'WindowLevel', - }, - context: 'CORNERSTONE', - }, - ], - }); - - const activateTool = () => { - toolbarService.recordInteraction(toolbarService.getDefaultTool()); - - // We don't need to reset the active tool whenever a viewport is getting - // added to the toolGroup. - unsubscribe(); - }; - - // Since we only have one viewport for the basic cs3d mode and it has - // only one hanging protocol, we can just use the first viewport - ({ unsubscribe } = toolGroupService.subscribe( - toolGroupService.EVENTS.VIEWPORT_ADDED, - activateTool - )); - - toolbarService.init(extensionManager); - toolbarService.addButtons([...toolbarButtons, ...moreTools, ...moreToolsMpr]); - toolbarService.createButtonSection(DEFAULT_TOOL_GROUP_ID, [ - 'MeasurementTools', - 'Zoom', - 'WindowLevel', - 'Pan', - 'Capture', - 'Layout', - 'MPR', - 'MoreTools', - ]); - toolbarService.createButtonSection(MPR_TOOL_GROUP_ID, [ + toolbarService.addButtons([...toolbarButtons, ...moreTools]); + toolbarService.createButtonSection('primary', [ 'MeasurementTools', 'Zoom', 'WindowLevel', @@ -140,7 +89,7 @@ function modeFactory({ modeConfiguration }) { 'Layout', 'MPR', 'Crosshairs', - 'MoreToolsMpr', + 'MoreTools', ]); customizationService.addModeCustomizations([ @@ -176,7 +125,6 @@ function modeFactory({ modeConfiguration }) { const { toolGroupService, syncGroupService, - toolbarService, segmentationService, cornerstoneViewportService, uiDialogService, diff --git a/modes/longitudinal/src/initToolGroups.js b/modes/longitudinal/src/initToolGroups.js index e7ea816db..bb9f0fcd3 100644 --- a/modes/longitudinal/src/initToolGroups.js +++ b/modes/longitudinal/src/initToolGroups.js @@ -54,15 +54,13 @@ function initDefaultToolGroup(extensionManager, toolGroupService, commandsManage { toolName: toolNames.CalibrationLine }, ], // enabled - enabled: [{ toolName: toolNames.ImageOverlayViewer }], - // disabled - disabled: [{ toolName: toolNames.ReferenceLines }], + enabled: [{ toolName: toolNames.ImageOverlayViewer }, { toolName: toolNames.ReferenceLines }], }; toolGroupService.createToolGroupAndAddTools(toolGroupId, tools); } -function initSRToolGroup(extensionManager, toolGroupService, commandsManager) { +function initSRToolGroup(extensionManager, toolGroupService) { const SRUtilityModule = extensionManager.getModuleEntry( '@ohif/extension-cornerstone-dicom-sr.utilityModule.tools' ); @@ -186,6 +184,7 @@ function initMPRToolGroup(extensionManager, toolGroupService, commandsManager) { toolName: toolNames.Crosshairs, configuration: { viewportIndicators: false, + disableOnPassive: true, autoPan: { enabled: false, panSize: 10, @@ -230,7 +229,7 @@ function initVolume3DToolGroup(extensionManager, toolGroupService) { function initToolGroups(extensionManager, toolGroupService, commandsManager) { initDefaultToolGroup(extensionManager, toolGroupService, commandsManager, 'default'); - initSRToolGroup(extensionManager, toolGroupService, commandsManager); + initSRToolGroup(extensionManager, toolGroupService); initMPRToolGroup(extensionManager, toolGroupService, commandsManager); initVolume3DToolGroup(extensionManager, toolGroupService); } diff --git a/modes/longitudinal/src/moreTools.ts b/modes/longitudinal/src/moreTools.ts index 5ed2fddc7..2f3d5c247 100644 --- a/modes/longitudinal/src/moreTools.ts +++ b/modes/longitudinal/src/moreTools.ts @@ -1,295 +1,183 @@ import type { RunCommand } from '@ohif/core/types'; import { EVENTS } from '@cornerstonejs/core'; -import { ToolbarService } from '@ohif/core'; +import { ToolbarService, ViewportGridService } from '@ohif/core'; +import { setToolActiveToolbar } from './toolbarButtons'; +const { createButton } = ToolbarService; -const ReferenceLinesCommands: RunCommand = [ +const ReferenceLinesListeners: RunCommand = [ { commandName: 'setSourceViewportForReferenceLinesTool', context: 'CORNERSTONE', }, - { - commandName: 'setToolActive', - commandOptions: { - toolName: 'ReferenceLines', - }, - context: 'CORNERSTONE', - }, ]; const moreTools = [ { id: 'MoreTools', - type: 'ohif.splitButton', + uiType: 'ohif.splitButton', props: { - isRadio: true, // ? groupId: 'MoreTools', - primary: ToolbarService._createActionButton( - 'Reset', - 'tool-reset', - 'Reset View', - [ - { - commandName: 'resetViewport', - commandOptions: {}, - context: 'CORNERSTONE', - }, - ], - 'Reset' - ), + evaluate: 'evaluate.group.promoteToPrimaryIfCornerstoneToolNotActiveInTheList', + primary: createButton({ + id: 'Reset', + icon: 'tool-reset', + tooltip: 'Reset View', + label: 'Reset', + commands: 'resetViewport', + evaluate: 'evaluate.action', + }), secondary: { icon: 'chevron-down', label: '', - isActive: true, tooltip: 'More Tools', }, items: [ - ToolbarService._createActionButton( - 'Reset', - 'tool-reset', - 'Reset View', - [ - { - commandName: 'resetViewport', - commandOptions: {}, - context: 'CORNERSTONE', + createButton({ + id: 'Reset', + icon: 'tool-reset', + label: 'Reset View', + tooltip: 'Reset View', + commands: 'resetViewport', + evaluate: 'evaluate.action', + }), + createButton({ + id: 'rotate-right', + icon: 'tool-rotate-right', + label: 'Rotate Right', + tooltip: 'Rotate +90', + commands: 'rotateViewportCW', + evaluate: 'evaluate.action', + }), + createButton({ + id: 'flipHorizontal', + icon: 'tool-flip-horizontal', + label: 'Flip Horizontal', + tooltip: 'Flip Horizontally', + commands: 'flipViewportHorizontal', + evaluate: 'evaluate.viewportProperties.toggle', + }), + createButton({ + id: 'ImageSliceSync', + icon: 'link', + label: 'Image Slice Sync', + tooltip: 'Enable position synchronization on stack viewports', + commands: { + commandName: 'toggleSynchronizer', + commandOptions: { + type: 'imageSlice', }, - ], - 'Reset' - ), - ToolbarService._createActionButton( - 'rotate-right', - 'tool-rotate-right', - 'Rotate Right', - [ - { - commandName: 'rotateViewportCW', - commandOptions: {}, - context: 'CORNERSTONE', - }, - ], - 'Rotate +90' - ), - ToolbarService._createActionButton( - 'flip-horizontal', - 'tool-flip-horizontal', - 'Flip Horizontally', - [ - { - commandName: 'flipViewportHorizontal', - commandOptions: {}, - context: 'CORNERSTONE', - }, - ], - 'Flip Horizontal' - ), - ToolbarService._createToggleButton( - 'ImageSliceSync', - 'link', - 'Image Slice Sync', - [ - { + }, + listeners: { + [EVENTS.STACK_VIEWPORT_NEW_STACK]: { commandName: 'toggleImageSliceSync', + commandOptions: { toggledState: true }, }, - ], - 'Enable position synchronization on stack viewports', - { - listeners: { - [EVENTS.STACK_VIEWPORT_NEW_STACK]: { - commandName: 'toggleImageSliceSync', - commandOptions: { toggledState: true }, - }, + }, + evaluate: 'evaluate.cornerstone.synchronizer', + }), + createButton({ + id: 'ReferenceLines', + icon: 'tool-referenceLines', + label: 'Reference Lines', + tooltip: 'Show Reference Lines', + commands: { + commandName: 'setToolEnabled', + commandOptions: { + toolName: 'ReferenceLines', + toggle: true, // Toggle the tool on/off upon click }, - } - ), - ToolbarService._createToggleButton( - 'ReferenceLines', - 'tool-referenceLines', // change this with the new icon - 'Reference Lines', - ReferenceLinesCommands, - 'Show Reference Lines', - { - listeners: { - [EVENTS.STACK_VIEWPORT_NEW_STACK]: ReferenceLinesCommands, - [EVENTS.ACTIVE_VIEWPORT_ID_CHANGED]: ReferenceLinesCommands, + }, + listeners: { + [ViewportGridService.EVENTS.ACTIVE_VIEWPORT_ID_CHANGED]: ReferenceLinesListeners, + [ViewportGridService.EVENTS.VIEWPORTS_READY]: ReferenceLinesListeners, + }, + evaluate: 'evaluate.cornerstoneTool.toggle', + }), + createButton({ + id: 'ImageOverlay', + icon: 'toggle-dicom-overlay', + label: 'Image Overlay', + tooltip: 'Toggle Image Overlay', + commands: { + commandName: 'setToolEnabled', + commandOptions: { + toolName: 'ImageOverlayViewer', + toggle: true, // Toggle the tool on/off upon click }, - } - ), - ToolbarService._createToggleButton( - 'ImageOverlayViewer', - 'toggle-dicom-overlay', - 'Image Overlay', - [ - { - commandName: 'setToolActive', - commandOptions: { - toolName: 'ImageOverlayViewer', - }, - context: 'CORNERSTONE', - }, - ], - 'Image Overlay', - { isActive: true } - ), - ToolbarService._createToolButton( - 'StackScroll', - 'tool-stack-scroll', - 'Stack Scroll', - [ - { - commandName: 'setToolActive', - commandOptions: { - toolName: 'StackScroll', - }, - context: 'CORNERSTONE', - }, - ], - 'Stack Scroll' - ), - ToolbarService._createActionButton( - 'invert', - 'tool-invert', - 'Invert', - [ - { - commandName: 'invertViewport', - commandOptions: {}, - context: 'CORNERSTONE', - }, - ], - 'Invert Colors' - ), - ToolbarService._createToolButton( - 'Probe', - 'tool-probe', - 'Probe', - [ - { - commandName: 'setToolActive', - commandOptions: { - toolName: 'DragProbe', - }, - context: 'CORNERSTONE', - }, - ], - 'Probe' - ), - ToolbarService._createToggleButton( - 'cine', - 'tool-cine', - 'Cine', - [ - { - commandName: 'toggleCine', - context: 'CORNERSTONE', - }, - ], - 'Cine' - ), - ToolbarService._createToolButton( - 'Angle', - 'tool-angle', - 'Angle', - [ - { - commandName: 'setToolActive', - commandOptions: { - toolName: 'Angle', - }, - context: 'CORNERSTONE', - }, - ], - 'Angle' - ), - - // Next two tools can be added once icons are added - // ToolbarService._createToolButton( - // 'Cobb Angle', - // 'tool-cobb-angle', - // 'Cobb Angle', - // [ - // { - // commandName: 'setToolActive', - // commandOptions: { - // toolName: 'CobbAngle', - // }, - // context: 'CORNERSTONE', - // }, - // ], - // 'Cobb Angle' - // ), - // ToolbarService._createToolButton( - // 'Planar Freehand ROI', - // 'tool-freehand', - // 'PlanarFreehandROI', - // [ - // { - // commandName: 'setToolActive', - // commandOptions: { - // toolName: 'PlanarFreehandROI', - // }, - // context: 'CORNERSTONE', - // }, - // ], - // 'Planar Freehand ROI' - // ), - ToolbarService._createToolButton( - 'Magnify', - 'tool-magnify', - 'Magnify', - [ - { - commandName: 'setToolActive', - commandOptions: { - toolName: 'Magnify', - }, - context: 'CORNERSTONE', - }, - ], - 'Magnify' - ), - ToolbarService._createToolButton( - 'Rectangle', - 'tool-rectangle', - 'Rectangle', - [ - { - commandName: 'setToolActive', - commandOptions: { - toolName: 'RectangleROI', - }, - context: 'CORNERSTONE', - }, - ], - 'Rectangle' - ), - ToolbarService._createToolButton( - 'CalibrationLine', - 'tool-calibration', - 'Calibration', - [ - { - commandName: 'setToolActive', - commandOptions: { - toolName: 'CalibrationLine', - }, - context: 'CORNERSTONE', - }, - ], - 'Calibration Line' - ), - ToolbarService._createActionButton( - 'TagBrowser', - 'list-bullets', - 'Dicom Tag Browser', - [ - { - commandName: 'openDICOMTagViewer', - commandOptions: {}, - context: 'DEFAULT', - }, - ], - 'Dicom Tag Browser' - ), + }, + evaluate: 'evaluate.cornerstoneTool.toggle', + }), + createButton({ + id: 'StackScroll', + icon: 'tool-stack-scroll', + label: 'Stack Scroll', + tooltip: 'Stack Scroll', + commands: setToolActiveToolbar, + evaluate: 'evaluate.cornerstoneTool', + }), + createButton({ + id: 'invert', + icon: 'tool-invert', + label: 'Invert', + tooltip: 'Invert Colors', + commands: 'invertViewport', + evaluate: 'evaluate.viewportProperties.toggle', + }), + createButton({ + id: 'Probe', + icon: 'tool-probe', + label: 'Probe', + tooltip: 'Probe', + commands: setToolActiveToolbar, + evaluate: 'evaluate.cornerstoneTool', + }), + createButton({ + id: 'Cine', + icon: 'tool-cine', + label: 'Cine', + tooltip: 'Cine', + commands: 'toggleCine', + evaluate: 'evaluate.cine', + }), + createButton({ + id: 'Angle', + icon: 'tool-angle', + label: 'Angle', + tooltip: 'Angle', + commands: setToolActiveToolbar, + evaluate: 'evaluate.cornerstoneTool', + }), + createButton({ + id: 'Magnify', + icon: 'tool-magnify', + label: 'Magnify', + tooltip: 'Magnify', + commands: setToolActiveToolbar, + evaluate: 'evaluate.cornerstoneTool', + }), + createButton({ + id: 'RectangleROI', + icon: 'tool-rectangle', + label: 'Rectangle', + tooltip: 'Rectangle', + commands: setToolActiveToolbar, + evaluate: 'evaluate.cornerstoneTool', + }), + createButton({ + id: 'CalibrationLine', + icon: 'tool-calibration', + label: 'Calibration', + tooltip: 'Calibration Line', + commands: setToolActiveToolbar, + evaluate: 'evaluate.cornerstoneTool', + }), + createButton({ + id: 'TagBrowser', + icon: 'list-bullets', + label: 'Dicom Tag Browser', + tooltip: 'Dicom Tag Browser', + commands: 'openDICOMTagViewer', + }), ], }, }, diff --git a/modes/longitudinal/src/moreToolsMpr.ts b/modes/longitudinal/src/moreToolsMpr.ts deleted file mode 100644 index d34a42e47..000000000 --- a/modes/longitudinal/src/moreToolsMpr.ts +++ /dev/null @@ -1,242 +0,0 @@ -import type { RunCommand } from '@ohif/core/types'; -import { EVENTS } from '@cornerstonejs/core'; -import { ToolbarService } from '@ohif/core'; - -const ReferenceLinesCommands: RunCommand = [ - { - commandName: 'setSourceViewportForReferenceLinesTool', - context: 'CORNERSTONE', - }, - { - commandName: 'setToolActive', - commandOptions: { - toolName: 'ReferenceLines', - }, - context: 'CORNERSTONE', - }, -]; - -const moreToolsMpr = [ - { - id: 'MoreToolsMpr', - type: 'ohif.splitButton', - props: { - isRadio: true, // ? - groupId: 'MoreTools', - primary: ToolbarService._createActionButton( - 'Reset', - 'tool-reset', - 'Reset View', - [ - { - commandName: 'resetViewport', - commandOptions: {}, - context: 'CORNERSTONE', - }, - ], - 'Reset' - ), - secondary: { - icon: 'chevron-down', - label: '', - isActive: true, - tooltip: 'More Tools', - }, - items: [ - ToolbarService._createActionButton( - 'Reset', - 'tool-reset', - 'Reset View', - [ - { - commandName: 'resetViewport', - commandOptions: {}, - context: 'CORNERSTONE', - }, - ], - 'Reset' - ), - ToolbarService._createToggleButton( - 'ImageSliceSync', - 'link', - 'Image Slice Sync', - [ - { - commandName: 'toggleImageSliceSync', - }, - ], - 'Enable position synchronization on stack viewports', - { - listeners: { - [EVENTS.STACK_VIEWPORT_NEW_STACK]: { - commandName: 'toggleImageSliceSync', - commandOptions: { toggledState: true }, - }, - }, - } - ), - ToolbarService._createToggleButton( - 'ReferenceLines', - 'tool-referenceLines', // change this with the new icon - 'Reference Lines', - ReferenceLinesCommands, - 'Show Reference Lines', - { - listeners: { - [EVENTS.STACK_VIEWPORT_NEW_STACK]: ReferenceLinesCommands, - [EVENTS.ACTIVE_VIEWPORT_ID_CHANGED]: ReferenceLinesCommands, - }, - } - ), - ToolbarService._createToggleButton( - 'ImageOverlayViewer', - 'toggle-dicom-overlay', - 'Image Overlay', - [ - { - commandName: 'setToolActive', - commandOptions: { - toolName: 'ImageOverlayViewer', - }, - context: 'CORNERSTONE', - }, - ], - 'Image Overlay', - { isActive: true } - ), - ToolbarService._createToolButton( - 'StackScroll', - 'tool-stack-scroll', - 'Stack Scroll', - [ - { - commandName: 'setToolActive', - commandOptions: { - toolName: 'StackScroll', - }, - context: 'CORNERSTONE', - }, - ], - 'Stack Scroll' - ), - ToolbarService._createActionButton( - 'invert', - 'tool-invert', - 'Invert', - [ - { - commandName: 'invertViewport', - commandOptions: {}, - context: 'CORNERSTONE', - }, - ], - 'Invert Colors' - ), - ToolbarService._createToolButton( - 'Probe', - 'tool-probe', - 'Probe', - [ - { - commandName: 'setToolActive', - commandOptions: { - toolName: 'DragProbe', - }, - context: 'CORNERSTONE', - }, - ], - 'Probe' - ), - ToolbarService._createToggleButton( - 'cine', - 'tool-cine', - 'Cine', - [ - { - commandName: 'toggleCine', - context: 'CORNERSTONE', - }, - ], - 'Cine' - ), - ToolbarService._createToolButton( - 'Angle', - 'tool-angle', - 'Angle', - [ - { - commandName: 'setToolActive', - commandOptions: { - toolName: 'Angle', - }, - context: 'CORNERSTONE', - }, - ], - 'Angle' - ), - - // Next two tools can be added once icons are added - // ToolbarService._createToolButton( - // 'Cobb Angle', - // 'tool-cobb-angle', - // 'Cobb Angle', - // [ - // { - // commandName: 'setToolActive', - // commandOptions: { - // toolName: 'CobbAngle', - // }, - // context: 'CORNERSTONE', - // }, - // ], - // 'Cobb Angle' - // ), - // ToolbarService._createToolButton( - // 'Planar Freehand ROI', - // 'tool-freehand', - // 'PlanarFreehandROI', - // [ - // { - // commandName: 'setToolActive', - // commandOptions: { - // toolName: 'PlanarFreehandROI', - // }, - // context: 'CORNERSTONE', - // }, - // ], - // 'Planar Freehand ROI' - // ), - ToolbarService._createToolButton( - 'Rectangle', - 'tool-rectangle', - 'Rectangle', - [ - { - commandName: 'setToolActive', - commandOptions: { - toolName: 'RectangleROI', - }, - context: 'CORNERSTONE', - }, - ], - 'Rectangle' - ), - ToolbarService._createActionButton( - 'TagBrowser', - 'list-bullets', - 'Dicom Tag Browser', - [ - { - commandName: 'openDICOMTagViewer', - commandOptions: {}, - context: 'DEFAULT', - }, - ], - 'Dicom Tag Browser' - ), - ], - }, - }, -]; - -export default moreToolsMpr; diff --git a/modes/longitudinal/src/toolbarButtons.ts b/modes/longitudinal/src/toolbarButtons.ts index 2237edd2b..34b300e22 100644 --- a/modes/longitudinal/src/toolbarButtons.ts +++ b/modes/longitudinal/src/toolbarButtons.ts @@ -1,7 +1,6 @@ // TODO: torn, can either bake this here; or have to create a whole new button type // Only ways that you can pass in a custom React component for render :l import { - // ExpandableToolbarButton, // ListMenu, WindowLevelMenuItem, } from '@ohif/ui'; @@ -9,6 +8,7 @@ import { defaults, ToolbarService } from '@ohif/core'; import type { Button } from '@ohif/core/types'; const { windowLevelPresets } = defaults; +const { createButton } = ToolbarService; /** * @@ -21,7 +21,6 @@ function _createWwwcPreset(preset, title, subtitle) { id: preset.toString(), title, subtitle, - type: 'action', commands: [ { commandName: 'setWindowLevel', @@ -34,224 +33,106 @@ function _createWwwcPreset(preset, title, subtitle) { }; } -const toolGroupIds = ['default', 'mpr', 'SRToolGroup']; - -/** - * Creates an array of 'setToolActive' commands for the given toolName - one for - * each toolGroupId specified in toolGroupIds. - * @param {string} toolName - * @returns {Array} an array of 'setToolActive' commands - */ -function _createSetToolActiveCommands(toolName) { - const temp = toolGroupIds.map(toolGroupId => ({ - commandName: 'setToolActive', - commandOptions: { - toolGroupId, - toolName, - }, - context: 'CORNERSTONE', - })); - return temp; -} +export const setToolActiveToolbar = { + commandName: 'setToolActiveToolbar', + commandOptions: { + toolGroupIds: ['default', 'mpr', 'SRToolGroup'], + }, +}; const toolbarButtons: Button[] = [ - // Measurement { id: 'MeasurementTools', - type: 'ohif.splitButton', + uiType: 'ohif.splitButton', props: { groupId: 'MeasurementTools', - isRadio: true, // ? - // Switch? - primary: ToolbarService._createToolButton( - 'Length', - 'tool-length', - 'Length', - [ - { - commandName: 'setToolActive', - commandOptions: { - toolName: 'Length', - }, - context: 'CORNERSTONE', - }, - { - commandName: 'setToolActive', - commandOptions: { - toolName: 'SRLength', - toolGroupId: 'SRToolGroup', - }, - // we can use the setToolActive command for this from Cornerstone commandsModule - context: 'CORNERSTONE', - }, - ], - 'Length' - ), + // group evaluate to determine which item should move to the top + evaluate: 'evaluate.group.promoteToPrimaryIfCornerstoneToolNotActiveInTheList', + primary: createButton({ + id: 'Length', + icon: 'tool-length', + label: 'Length', + tooltip: 'Length Tool', + commands: setToolActiveToolbar, + evaluate: 'evaluate.cornerstoneTool', + }), secondary: { icon: 'chevron-down', - label: '', - isActive: true, tooltip: 'More Measure Tools', }, items: [ - ToolbarService._createToolButton( - 'Length', - 'tool-length', - 'Length', - [ - { - commandName: 'setToolActive', - commandOptions: { - toolName: 'Length', - }, - context: 'CORNERSTONE', - }, - { - commandName: 'setToolActive', - commandOptions: { - toolName: 'SRLength', - toolGroupId: 'SRToolGroup', - }, - // we can use the setToolActive command for this from Cornerstone commandsModule - context: 'CORNERSTONE', - }, - ], - 'Length Tool' - ), - ToolbarService._createToolButton( - 'Bidirectional', - 'tool-bidirectional', - 'Bidirectional', - [ - { - commandName: 'setToolActive', - commandOptions: { - toolName: 'Bidirectional', - }, - context: 'CORNERSTONE', - }, - { - commandName: 'setToolActive', - commandOptions: { - toolName: 'SRBidirectional', - toolGroupId: 'SRToolGroup', - }, - context: 'CORNERSTONE', - }, - ], - 'Bidirectional Tool' - ), - ToolbarService._createToolButton( - 'ArrowAnnotate', - 'tool-annotate', - 'Annotation', - [ - { - commandName: 'setToolActive', - commandOptions: { - toolName: 'ArrowAnnotate', - }, - context: 'CORNERSTONE', - }, - { - commandName: 'setToolActive', - commandOptions: { - toolName: 'SRArrowAnnotate', - toolGroupId: 'SRToolGroup', - }, - context: 'CORNERSTONE', - }, - ], - 'Arrow Annotate' - ), - ToolbarService._createToolButton( - 'EllipticalROI', - 'tool-elipse', - 'Ellipse', - [ - { - commandName: 'setToolActive', - commandOptions: { - toolName: 'EllipticalROI', - }, - context: 'CORNERSTONE', - }, - { - commandName: 'setToolActive', - commandOptions: { - toolName: 'SREllipticalROI', - toolGroupId: 'SRToolGroup', - }, - context: 'CORNERSTONE', - }, - ], - 'Ellipse Tool' - ), - ToolbarService._createToolButton( - 'CircleROI', - 'tool-circle', - 'Circle', - [ - { - commandName: 'setToolActive', - commandOptions: { - toolName: 'CircleROI', - }, - context: 'CORNERSTONE', - }, - { - commandName: 'setToolActive', - commandOptions: { - toolName: 'SRCircleROI', - toolGroupId: 'SRToolGroup', - }, - context: 'CORNERSTONE', - }, - ], - 'Circle Tool' - ), + createButton({ + id: 'Length', + icon: 'tool-length', + label: 'Length', + tooltip: 'Length Tool', + commands: setToolActiveToolbar, + evaluate: 'evaluate.cornerstoneTool', + }), + createButton({ + id: 'Bidirectional', + icon: 'tool-bidirectional', + label: 'Bidirectional', + tooltip: 'Bidirectional Tool', + commands: setToolActiveToolbar, + evaluate: 'evaluate.cornerstoneTool', + }), + createButton({ + id: 'ArrowAnnotate', + icon: 'tool-annotate', + label: 'Annotation', + tooltip: 'Arrow Annotate', + commands: setToolActiveToolbar, + evaluate: 'evaluate.cornerstoneTool', + }), + createButton({ + id: 'EllipticalROI', + icon: 'tool-ellipse', + label: 'Ellipse', + tooltip: 'Ellipse ROI', + commands: setToolActiveToolbar, + evaluate: 'evaluate.cornerstoneTool', + }), + createButton({ + id: 'CircleROI', + icon: 'tool-circle', + label: 'Circle', + tooltip: 'Circle Tool', + commands: setToolActiveToolbar, + evaluate: 'evaluate.cornerstoneTool', + }), ], }, }, - // Zoom.. { id: 'Zoom', - type: 'ohif.radioGroup', + uiType: 'ohif.radioGroup', props: { - type: 'tool', icon: 'tool-zoom', label: 'Zoom', - commands: _createSetToolActiveCommands('Zoom'), + commands: setToolActiveToolbar, + evaluate: 'evaluate.cornerstoneTool', }, }, // Window Level + Presets... { id: 'WindowLevel', - type: 'ohif.splitButton', + uiType: 'ohif.splitButton', props: { groupId: 'WindowLevel', - primary: ToolbarService._createToolButton( - 'WindowLevel', - 'tool-window-level', - 'Window Level', - [ - { - commandName: 'setToolActive', - commandOptions: { - toolName: 'WindowLevel', - }, - context: 'CORNERSTONE', - }, - ], - 'Window Level' - ), + primary: createButton({ + id: 'WindowLevel', + icon: 'tool-window-level', + label: 'Window Level', + tooltip: 'Window Level', + commands: setToolActiveToolbar, + evaluate: 'evaluate.cornerstoneTool', + }), secondary: { icon: 'chevron-down', label: 'W/L Manual', - isActive: true, tooltip: 'W/L Presets', }, - isAction: true, // ? renderer: WindowLevelMenuItem, items: [ _createWwwcPreset(1, 'Soft tissue', '400 / 40'), @@ -265,43 +146,47 @@ const toolbarButtons: Button[] = [ // Pan... { id: 'Pan', - type: 'ohif.radioGroup', + uiType: 'ohif.radioGroup', props: { type: 'tool', icon: 'tool-move', label: 'Pan', - commands: _createSetToolActiveCommands('Pan'), + commands: setToolActiveToolbar, + evaluate: 'evaluate.cornerstoneTool', }, }, { id: 'Capture', - type: 'ohif.action', + uiType: 'ohif.radioGroup', props: { icon: 'tool-capture', label: 'Capture', - type: 'action', commands: [ { commandName: 'showDownloadViewportModal', - commandOptions: {}, - context: 'CORNERSTONE', + }, + ], + evaluate: 'evaluate.action', + }, + }, + { + id: 'Layout', + uiType: 'ohif.layoutSelector', + props: { + rows: 3, + columns: 3, + evaluate: 'evaluate.action', + commands: [ + { + commandName: 'setViewportGridLayout', }, ], }, }, - { - id: 'Layout', - type: 'ohif.layoutSelector', - props: { - rows: 3, - columns: 3, - }, - }, { id: 'MPR', - type: 'ohif.action', + uiType: 'ohif.radioGroup', props: { - type: 'toggle', icon: 'icon-mpr', label: 'MPR', commands: [ @@ -310,31 +195,27 @@ const toolbarButtons: Button[] = [ commandOptions: { protocolId: 'mpr', }, - context: 'DEFAULT', }, ], + evaluate: 'evaluate.mpr', }, }, { id: 'Crosshairs', - type: 'ohif.radioGroup', + uiType: 'ohif.radioGroup', props: { type: 'tool', icon: 'tool-crosshair', label: 'Crosshairs', - commands: [ - { - commandName: 'setToolActive', - commandOptions: { - toolName: 'Crosshairs', - toolGroupId: 'mpr', - }, - context: 'CORNERSTONE', + commands: { + commandName: 'setToolActiveToolbar', + commandOptions: { + toolGroupIds: ['mpr'], }, - ], + }, + evaluate: 'evaluate.cornerstoneTool', }, }, - // More... ]; export default toolbarButtons; diff --git a/modes/microscopy/src/index.tsx b/modes/microscopy/src/index.tsx index 557ec00d0..e7d30d396 100644 --- a/modes/microscopy/src/index.tsx +++ b/modes/microscopy/src/index.tsx @@ -50,7 +50,6 @@ function modeFactory({ modeConfiguration }) { onModeEnter: ({ servicesManager, extensionManager, commandsManager }) => { const { toolbarService } = servicesManager.services; - toolbarService.init(extensionManager); toolbarService.addButtons(toolbarButtons); toolbarService.createButtonSection('primary', ['MeasurementTools', 'dragPan']); }, diff --git a/modes/microscopy/src/toolbarButtons.js b/modes/microscopy/src/toolbarButtons.js index 40078c5de..9954089d7 100644 --- a/modes/microscopy/src/toolbarButtons.js +++ b/modes/microscopy/src/toolbarButtons.js @@ -1,182 +1,148 @@ -// TODO: torn, can either bake this here; or have to create a whole new button type -/** - * - * @param {*} type - 'tool' | 'action' | 'toggle' - * @param {*} id - * @param {*} icon - * @param {*} label - */ -function _createButton(type, id, icon, label, commands, tooltip) { - return { - id, - icon, - label, - type, - commands, - tooltip, - }; -} - -const _createActionButton = _createButton.bind(null, 'action'); -const _createToggleButton = _createButton.bind(null, 'toggle'); -const _createToolButton = _createButton.bind(null, 'tool'); +import { ToolbarService } from '@ohif/core'; const toolbarButtons = [ - // Measurement { id: 'MeasurementTools', - type: 'ohif.splitButton', + uiType: 'ohif.splitButton', props: { groupId: 'MeasurementTools', - isRadio: true, // ? - // Switch? - primary: _createToolButton( - 'line', - 'tool-length', - 'Line', - [ + // group evaluate to determine which item should move to the top + evaluate: 'evaluate.group.promoteToPrimary', + primary: ToolbarService.createButton({ + id: 'line', + icon: 'tool-length', + label: 'Line', + tooltip: 'Line', + commands: [ { commandName: 'setToolActive', - commandOptions: { - toolName: 'line', - }, + commandOptions: { toolName: 'line' }, context: 'MICROSCOPY', }, ], - 'Line' - ), + evaluate: 'evaluate.microscopyTool', + }), secondary: { icon: 'chevron-down', - label: '', - isActive: true, tooltip: 'More Measure Tools', }, items: [ - _createToolButton( - 'line', - 'tool-length', - 'Line', - [ + ToolbarService.createButton({ + id: 'line', + icon: 'tool-length', + label: 'Line', + tooltip: 'Line', + commands: [ { commandName: 'setToolActive', - commandOptions: { - toolName: 'line', - }, + commandOptions: { toolName: 'line' }, context: 'MICROSCOPY', }, ], - 'Line Tool' - ), - _createToolButton( - 'point', - 'tool-point', - 'Point', - [ + evaluate: 'evaluate.microscopyTool', + }), + ToolbarService.createButton({ + id: 'point', + icon: 'tool-point', + label: 'Point', + tooltip: 'Point Tool', + commands: [ { commandName: 'setToolActive', - commandOptions: { - toolName: 'point', - }, + commandOptions: { toolName: 'point' }, context: 'MICROSCOPY', }, ], - 'Point Tool' - ), - _createToolButton( - 'polygon', - 'tool-polygon', - 'Polygon', - [ + evaluate: 'evaluate.microscopyTool', + }), + // Point Tool was previously defined + ToolbarService.createButton({ + id: 'polygon', + icon: 'tool-polygon', + label: 'Polygon', + tooltip: 'Polygon Tool', + commands: [ { commandName: 'setToolActive', - commandOptions: { - toolName: 'polygon', - }, + commandOptions: { toolName: 'polygon' }, context: 'MICROSCOPY', }, ], - 'Polygon Tool' - ), - _createToolButton( - 'circle', - 'tool-circle', - 'Circle', - [ + evaluate: 'evaluate.microscopyTool', + }), + ToolbarService.createButton({ + id: 'circle', + icon: 'tool-circle', + label: 'Circle', + tooltip: 'Circle Tool', + commands: [ { commandName: 'setToolActive', - commandOptions: { - toolName: 'circle', - }, + commandOptions: { toolName: 'circle' }, context: 'MICROSCOPY', }, ], - 'Circle Tool' - ), - _createToolButton( - 'box', - 'tool-rectangle', - 'Box', - [ + evaluate: 'evaluate.microscopyTool', + }), + ToolbarService.createButton({ + id: 'box', + icon: 'tool-rectangle', + label: 'Box', + tooltip: 'Box Tool', + commands: [ { commandName: 'setToolActive', - commandOptions: { - toolName: 'box', - }, + commandOptions: { toolName: 'box' }, context: 'MICROSCOPY', }, ], - 'Box Tool' - ), - _createToolButton( - 'freehandpolygon', - 'tool-freehand-polygon', - 'Freehand Polygon', - [ + evaluate: 'evaluate.microscopyTool', + }), + ToolbarService.createButton({ + id: 'freehandpolygon', + icon: 'tool-freehand-polygon', + label: 'Freehand Polygon', + tooltip: 'Freehand Polygon Tool', + commands: [ { commandName: 'setToolActive', - commandOptions: { - toolName: 'freehandpolygon', - }, + commandOptions: { toolName: 'freehandpolygon' }, context: 'MICROSCOPY', }, ], - 'Freehand Polygon Tool' - ), - _createToolButton( - 'freehandline', - 'tool-freehand-line', - 'Freehand Line', - [ + evaluate: 'evaluate.microscopyTool', + }), + ToolbarService.createButton({ + id: 'freehandline', + icon: 'tool-freehand-line', + label: 'Freehand Line', + tooltip: 'Freehand Line Tool', + commands: [ { commandName: 'setToolActive', - commandOptions: { - toolName: 'freehandline', - }, + commandOptions: { toolName: 'freehandline' }, context: 'MICROSCOPY', }, ], - 'Freehand Line Tool' - ), + evaluate: 'evaluate.microscopyTool', + }), ], }, }, - // Pan... { id: 'dragPan', - type: 'ohif.radioGroup', + uiType: 'ohif.radioGroup', props: { - type: 'tool', icon: 'tool-move', label: 'Pan', commands: [ { commandName: 'setToolActive', - commandOptions: { - toolName: 'dragPan', - }, + commandOptions: { toolName: 'dragPan' }, context: 'MICROSCOPY', }, ], + evaluate: 'evaluate.microscopyTool', }, }, ]; diff --git a/modes/segmentation/src/index.tsx b/modes/segmentation/src/index.tsx index 57b46c603..e4db1b9e9 100644 --- a/modes/segmentation/src/index.tsx +++ b/modes/segmentation/src/index.tsx @@ -1,6 +1,7 @@ import { hotkeys } from '@ohif/core'; import { id } from './id'; import toolbarButtons from './toolbarButtons'; +import segmentationButtons from './segmentationButtons'; import initToolGroups from './initToolGroups'; const ohif = { @@ -57,47 +58,19 @@ function modeFactory({ modeConfiguration }) { // Init Default and SR ToolGroups initToolGroups(extensionManager, toolGroupService, commandsManager); - let unsubscribe; - - const activateTool = () => { - toolbarService.recordInteraction({ - groupId: 'WindowLevel', - interactionType: 'tool', - commands: [ - { - commandName: 'setToolActive', - commandOptions: { - toolName: 'WindowLevel', - }, - context: 'CORNERSTONE', - }, - ], - }); - - // We don't need to reset the active tool whenever a viewport is getting - // added to the toolGroup. - unsubscribe(); - }; - - // Since we only have one viewport for the basic cs3d mode and it has - // only one hanging protocol, we can just use the first viewport - ({ unsubscribe } = toolGroupService.subscribe( - toolGroupService.EVENTS.VIEWPORT_ADDED, - activateTool - )); - - toolbarService.init(extensionManager); toolbarService.addButtons(toolbarButtons); + toolbarService.addButtons(segmentationButtons); + toolbarService.createButtonSection('primary', [ - 'Zoom', - 'WindowLevel', 'Pan', 'Capture', 'Layout', 'MPR', 'Crosshairs', + 'Zoom', 'MoreTools', ]); + toolbarService.createButtonSection('segmentationToolbox', ['BrushTools', 'Shapes']); }, onModeExit: ({ servicesManager }) => { const { diff --git a/modes/segmentation/src/initToolGroups.ts b/modes/segmentation/src/initToolGroups.ts index e549f7a89..31895daf0 100644 --- a/modes/segmentation/src/initToolGroups.ts +++ b/modes/segmentation/src/initToolGroups.ts @@ -41,11 +41,7 @@ function createTools(utilityModule) { parentTool: 'Brush', configuration: { activeStrategy: 'THRESHOLD_INSIDE_CIRCLE', - strategySpecificConfiguration: { - THRESHOLD: { - threshold: [-500, 500], - }, - }, + dynamicRadius: 3, }, }, { @@ -53,11 +49,7 @@ function createTools(utilityModule) { parentTool: 'Brush', configuration: { activeStrategy: 'THRESHOLD_INSIDE_SPHERE', - strategySpecificConfiguration: { - THRESHOLD: { - threshold: [-500, 500], - }, - }, + dynamicRadius: 3, }, }, { toolName: toolNames.CircleScissors }, diff --git a/modes/segmentation/src/segmentationButtons.ts b/modes/segmentation/src/segmentationButtons.ts new file mode 100644 index 000000000..012988ea2 --- /dev/null +++ b/modes/segmentation/src/segmentationButtons.ts @@ -0,0 +1,195 @@ +import type { Button } from '@ohif/core/types'; + +function _createSetToolActiveCommands(toolName) { + return [ + { + commandName: 'setToolActive', + commandOptions: { + toolName, + }, + }, + ]; +} + +const toolbarButtons: Button[] = [ + { + id: 'BrushTools', + uiType: 'ohif.buttonGroup', + props: { + groupId: 'BrushTools', + items: [ + { + id: 'Brush', + icon: 'icon-tool-brush', + label: 'Brush', + evaluate: { + name: 'evaluate.cornerstone.segmentation', + options: { toolNames: ['CircularBrush', 'SphereBrush'] }, + }, + commands: _createSetToolActiveCommands('CircularBrush'), + options: [ + { + name: 'Radius (mm)', + id: 'brush-radius', + type: 'range', + min: 0.5, + max: 99.5, + step: 0.5, + value: 25, + commands: { + commandName: 'setBrushSize', + commandOptions: { toolNames: ['CircularBrush', 'SphereBrush'] }, + }, + }, + { + name: 'Shape', + type: 'radio', + id: 'brush-mode', + value: 'CircularBrush', + values: [ + { value: 'CircularBrush', label: 'Circle' }, + { value: 'SphereBrush', label: 'Sphere' }, + ], + commands: 'setToolActiveToolbar', + }, + ], + }, + { + id: 'Eraser', + icon: 'icon-tool-eraser', + label: 'Eraser', + evaluate: { + name: 'evaluate.cornerstone.segmentation', + options: { + toolNames: ['CircularEraser', 'SphereEraser'], + }, + }, + commands: _createSetToolActiveCommands('CircularEraser'), + options: [ + { + name: 'Radius (mm)', + id: 'eraser-radius', + type: 'range', + min: 0.5, + max: 99.5, + step: 0.5, + value: 25, + commands: { + commandName: 'setBrushSize', + commandOptions: { toolNames: ['CircularEraser', 'SphereEraser'] }, + }, + }, + { + name: 'Shape', + type: 'radio', + id: 'eraser-mode', + value: 'CircularEraser', + values: [ + { value: 'CircularEraser', label: 'Circle' }, + { value: 'SphereEraser', label: 'Sphere' }, + ], + commands: 'setToolActiveToolbar', + }, + ], + }, + { + id: 'Threshold', + icon: 'icon-tool-threshold', + label: 'Eraser', + evaluate: { + name: 'evaluate.cornerstone.segmentation', + options: { toolNames: ['ThresholdCircularBrush', 'ThresholdSphereBrush'] }, + }, + commands: _createSetToolActiveCommands('ThresholdCircularBrush'), + options: [ + { + name: 'Radius (mm)', + id: 'threshold-radius', + type: 'range', + min: 0.5, + max: 99.5, + step: 0.5, + value: 25, + commands: { + commandName: 'setBrushSize', + commandOptions: { + toolNames: ['ThresholdCircularBrush', 'ThresholdSphereBrush'], + }, + }, + }, + { + name: 'Shape', + type: 'radio', + id: 'eraser-mode', + value: 'ThresholdCircularBrush', + values: [ + { value: 'ThresholdCircularBrush', label: 'Circle' }, + { value: 'ThresholdSphereBrush', label: 'Sphere' }, + ], + commands: 'setToolActiveToolbar', + }, + { + name: 'Threshold', + type: 'radio', + id: 'dynamic-mode', + value: 'ThresholdRange', + values: [ + { value: 'ThresholdDynamic', label: 'Dynamic' }, + { value: 'ThresholdRange', label: 'Range' }, + ], + commands: { + commandName: 'toggleThresholdRangeAndDynamic', + }, + }, + { + name: 'ThresholdRange', + type: 'double-range', + id: 'threshold-range', + min: -1000, + max: 1000, + step: 1, + values: [100, 600], + condition: ({ options }) => + options.find(option => option.id === 'dynamic-mode').value === 'ThresholdRange', + commands: { + commandName: 'setThresholdRange', + commandOptions: { + toolNames: ['ThresholdCircularBrush', 'ThresholdSphereBrush'], + }, + }, + }, + ], + }, + ], + }, + }, + { + id: 'Shapes', + uiType: 'ohif.radioGroup', + props: { + label: 'Shapes', + evaluate: { + name: 'evaluate.cornerstone.segmentation', + options: { toolNames: ['CircleScissor', 'SphereScissor', 'RectangleScissor'] }, + }, + icon: 'icon-tool-shape', + commands: _createSetToolActiveCommands('CircleScissor'), + options: [ + { + name: 'Shape', + type: 'radio', + value: 'CircleScissor', + id: 'shape-mode', + values: [ + { value: 'CircleScissor', label: 'Circle' }, + { value: 'SphereScissor', label: 'Sphere' }, + { value: 'RectangleScissor', label: 'Rectangle' }, + ], + commands: 'setToolActiveToolbar', + }, + ], + }, + }, +]; + +export default toolbarButtons; diff --git a/modes/segmentation/src/toolbarButtons.ts b/modes/segmentation/src/toolbarButtons.ts index 9795beca7..bbff5e2d6 100644 --- a/modes/segmentation/src/toolbarButtons.ts +++ b/modes/segmentation/src/toolbarButtons.ts @@ -1,46 +1,14 @@ -import { - // ExpandableToolbarButton, - // ListMenu, - WindowLevelMenuItem, -} from '@ohif/ui'; -import { defaults } from '@ohif/core'; +import { defaults, ToolbarService } from '@ohif/core'; +import type { Button } from '@ohif/core/types'; +import { WindowLevelMenuItem } from '@ohif/ui'; const { windowLevelPresets } = defaults; -/** - * - * @param {*} type - 'tool' | 'action' | 'toggle' - * @param {*} id - * @param {*} icon - * @param {*} label - */ -function _createButton(type, id, icon, label, commands, tooltip, uiType) { - return { - id, - icon, - label, - type, - commands, - tooltip, - uiType, - }; -} -const _createActionButton = _createButton.bind(null, 'action'); -const _createToggleButton = _createButton.bind(null, 'toggle'); -const _createToolButton = _createButton.bind(null, 'tool'); - -/** - * - * @param {*} preset - preset number (from above import) - * @param {*} title - * @param {*} subtitle - */ function _createWwwcPreset(preset, title, subtitle) { return { id: preset.toString(), title, subtitle, - type: 'action', commands: [ { commandName: 'setWindowLevel', @@ -53,16 +21,8 @@ function _createWwwcPreset(preset, title, subtitle) { }; } -const toolGroupIds = ['default', 'mpr', 'SRToolGroup']; - -/** - * Creates an array of 'setToolActive' commands for the given toolName - one for - * each toolGroupId specified in toolGroupIds. - * @param {string} toolName - * @returns {Array} an array of 'setToolActive' commands - */ -function _createSetToolActiveCommands(toolName) { - const temp = toolGroupIds.map(toolGroupId => ({ +function _createSetToolActiveCommands(toolName, toolGroupIds = ['default', 'mpr', 'SRToolGroup']) { + return toolGroupIds.map(toolGroupId => ({ commandName: 'setToolActive', commandOptions: { toolGroupId, @@ -70,49 +30,36 @@ function _createSetToolActiveCommands(toolName) { }, context: 'CORNERSTONE', })); - return temp; } -const toolbarButtons = [ - // Zoom.. +const toolbarButtons: Button[] = [ { id: 'Zoom', - type: 'ohif.radioGroup', + uiType: 'ohif.radioGroup', props: { - type: 'tool', icon: 'tool-zoom', label: 'Zoom', commands: _createSetToolActiveCommands('Zoom'), + evaluate: 'evaluate.cornerstoneTool', }, }, - // Window Level + Presets... { id: 'WindowLevel', - type: 'ohif.splitButton', + uiType: 'ohif.splitButton', props: { groupId: 'WindowLevel', - primary: _createToolButton( - 'WindowLevel', - 'tool-window-level', - 'Window Level', - [ - { - commandName: 'setToolActive', - commandOptions: { - toolName: 'WindowLevel', - }, - context: 'CORNERSTONE', - }, - ], - 'Window Level' - ), + primary: ToolbarService.createButton({ + id: 'WindowLevel', + icon: 'tool-window-level', + label: 'Window Level', + tooltip: 'Window Level', + commands: _createSetToolActiveCommands('WindowLevel'), + evaluate: 'evaluate.cornerstoneTool', + }), secondary: { icon: 'chevron-down', - label: 'W/L Manual', - isActive: true, tooltip: 'W/L Presets', }, - isAction: true, // ? renderer: WindowLevelMenuItem, items: [ _createWwwcPreset(1, 'Soft tissue', '400 / 40'), @@ -123,46 +70,49 @@ const toolbarButtons = [ ], }, }, - // Pan... { id: 'Pan', - type: 'ohif.radioGroup', + uiType: 'ohif.radioGroup', props: { - type: 'tool', icon: 'tool-move', label: 'Pan', commands: _createSetToolActiveCommands('Pan'), + evaluate: 'evaluate.cornerstoneTool', }, }, { id: 'Capture', - type: 'ohif.action', + uiType: 'ohif.radioGroup', props: { icon: 'tool-capture', label: 'Capture', - type: 'action', commands: [ { commandName: 'showDownloadViewportModal', - commandOptions: {}, context: 'CORNERSTONE', }, ], + evaluate: 'evaluate.action', + }, + }, + { + id: 'Layout', + uiType: 'ohif.layoutSelector', + props: { + rows: 3, + columns: 3, + evaluate: 'evaluate.action', + commands: [ + { + commandName: 'setViewportGridLayout', + }, + ], }, }, - { - id: 'Layout', - type: 'ohif.layoutSelector', - props: { - rows: 3, - columns: 3, - }, - }, { id: 'MPR', - type: 'ohif.action', + uiType: 'ohif.radioGroup', props: { - type: 'toggle', icon: 'icon-mpr', label: 'MPR', commands: [ @@ -174,180 +124,124 @@ const toolbarButtons = [ context: 'DEFAULT', }, ], + evaluate: 'evaluate.mpr', }, }, { id: 'Crosshairs', - type: 'ohif.radioGroup', + uiType: 'ohif.radioGroup', props: { - type: 'tool', icon: 'tool-crosshair', label: 'Crosshairs', - commands: [ - { - commandName: 'setToolActive', - commandOptions: { - toolName: 'Crosshairs', - toolGroupId: 'mpr', - }, - context: 'CORNERSTONE', - }, - ], + commands: _createSetToolActiveCommands('Crosshairs', ['mpr']), + evaluate: 'evaluate.cornerstoneTool', }, }, - // More... { id: 'MoreTools', - type: 'ohif.splitButton', + uiType: 'ohif.splitButton', props: { - isRadio: true, // ? groupId: 'MoreTools', - primary: _createActionButton( - 'Reset', - 'tool-reset', - 'Reset View', - [ + evaluate: 'evaluate.group.promoteToPrimaryIfCornerstoneToolNotActiveInTheList', + primary: ToolbarService.createButton({ + id: 'Reset', + icon: 'tool-reset', + label: 'Reset View', + tooltip: 'Reset', + commands: [ { commandName: 'resetViewport', - commandOptions: {}, context: 'CORNERSTONE', }, ], - 'Reset' - ), + evaluate: 'evaluate.action', + }), secondary: { icon: 'chevron-down', - label: '', - isActive: true, tooltip: 'More Tools', }, items: [ - _createActionButton( - 'Reset', - 'tool-reset', - 'Reset View', - [ - { - commandName: 'resetViewport', - commandOptions: {}, - context: 'CORNERSTONE', - }, - ], - 'Reset' - ), - _createActionButton( - 'rotate-right', - 'tool-rotate-right', - 'Rotate Right', - [ + ToolbarService.createButton({ + id: 'RotateRight', + icon: 'tool-rotate-right', + label: 'Rotate Right', + tooltip: 'Rotate +90', + commands: [ { commandName: 'rotateViewportCW', - commandOptions: {}, context: 'CORNERSTONE', }, ], - 'Rotate +90' - ), - _createActionButton( - 'flip-horizontal', - 'tool-flip-horizontal', - 'Flip Horizontally', - [ + evaluate: 'evaluate.action', + }), + ToolbarService.createButton({ + id: 'FlipHorizontal', + icon: 'tool-flip-horizontal', + label: 'Flip Horizontally', + tooltip: 'Flip Horizontal', + commands: [ { commandName: 'flipViewportHorizontal', - commandOptions: {}, context: 'CORNERSTONE', }, ], - 'Flip Horizontal' - ), - _createToggleButton('ImageSliceSync', 'link', 'Stack Image Sync', [ - { - commandName: 'toggleImageSliceSync', - commandOptions: {}, - context: 'CORNERSTONE', - }, - ]), - _createToggleButton( - 'ReferenceLines', - 'tool-referenceLines', // change this with the new icon - 'Reference Lines', - [ - { - commandName: 'toggleReferenceLines', - commandOptions: {}, - context: 'CORNERSTONE', - }, - ] - ), - _createToolButton( - 'StackScroll', - 'tool-stack-scroll', - 'Stack Scroll', - [ - { - commandName: 'setToolActive', - commandOptions: { - toolName: 'StackScroll', - }, - context: 'CORNERSTONE', - }, - ], - 'Stack Scroll' - ), - _createActionButton( - 'invert', - 'tool-invert', - 'Invert', - [ + evaluate: 'evaluate.action', + }), + ToolbarService.createButton({ + id: 'StackScroll', + icon: 'tool-stack-scroll', + label: 'Stack Scroll', + tooltip: 'Stack Scroll', + commands: _createSetToolActiveCommands('StackScroll'), + evaluate: 'evaluate.cornerstoneTool', + }), + ToolbarService.createButton({ + id: 'Magnify', + icon: 'tool-magnify', + label: 'Magnify', + tooltip: 'Magnify', + commands: _createSetToolActiveCommands('Magnify'), + evaluate: 'evaluate.cornerstoneTool', + }), + ToolbarService.createButton({ + id: 'Invert', + icon: 'tool-invert', + label: 'Invert', + tooltip: 'Invert Colors', + commands: [ { commandName: 'invertViewport', - commandOptions: {}, context: 'CORNERSTONE', }, ], - 'Invert Colors' - ), - _createToggleButton( - 'cine', - 'tool-cine', - 'Cine', - [ + evaluate: 'evaluate.action', + }), + ToolbarService.createButton({ + id: 'Cine', + icon: 'tool-cine', + label: 'Cine', + tooltip: 'Cine', + commands: [ { commandName: 'toggleCine', context: 'CORNERSTONE', }, ], - 'Cine' - ), - _createToolButton( - 'Magnify', - 'tool-magnify', - 'Magnify', - [ - { - commandName: 'setToolActive', - commandOptions: { - toolName: 'Magnify', - }, - context: 'CORNERSTONE', - }, - ], - 'Magnify' - ), - _createActionButton( - 'TagBrowser', - 'list-bullets', - 'Dicom Tag Browser', - [ + evaluate: 'evaluate.action', + }), + ToolbarService.createButton({ + id: 'DicomTagBrowser', + icon: 'list-bullets', + label: 'Dicom Tag Browser', + tooltip: 'Dicom Tag Browser', + commands: [ { commandName: 'openDICOMTagViewer', - commandOptions: {}, context: 'DEFAULT', }, ], - 'Dicom Tag Browser' - ), + evaluate: 'evaluate.action', + }), ], }, }, diff --git a/modes/tmtv/src/index.js b/modes/tmtv/src/index.js index b21a37582..92ccb893e 100644 --- a/modes/tmtv/src/index.js +++ b/modes/tmtv/src/index.js @@ -56,39 +56,6 @@ function modeFactory({ modeConfiguration }) { // Init Default and SR ToolGroups initToolGroups(toolNames, Enums, toolGroupService, commandsManager); - const setWindowLevelActive = () => { - toolbarService.recordInteraction({ - groupId: 'WindowLevel', - interactionType: 'tool', - commands: [ - { - commandName: 'setToolActive', - commandOptions: { - toolName: toolNames.WindowLevel, - toolGroupId: toolGroupIds.CT, - }, - context: 'CORNERSTONE', - }, - { - commandName: 'setToolActive', - commandOptions: { - toolName: toolNames.WindowLevel, - toolGroupId: toolGroupIds.PT, - }, - context: 'CORNERSTONE', - }, - { - commandName: 'setToolActive', - commandOptions: { - toolName: toolNames.WindowLevel, - toolGroupId: toolGroupIds.Fusion, - }, - context: 'CORNERSTONE', - }, - ], - }); - }; - const { unsubscribe } = toolGroupService.subscribe( toolGroupService.EVENTS.VIEWPORT_ADDED, () => { @@ -110,13 +77,10 @@ function modeFactory({ modeConfiguration }) { toolGroupService, displaySetService ); - - setWindowLevelActive(); } ); unsubscriptions.push(unsubscribe); - toolbarService.init(extensionManager); toolbarService.addButtons(toolbarButtons); toolbarService.createButtonSection('primary', [ 'MeasurementTools', @@ -124,6 +88,7 @@ function modeFactory({ modeConfiguration }) { 'WindowLevel', 'Crosshairs', 'Pan', + 'SyncToggle', 'RectangleROIStartEndThreshold', 'fusionPTColormap', ]); diff --git a/modes/tmtv/src/initToolGroups.js b/modes/tmtv/src/initToolGroups.js index f66dbd0c4..6585de299 100644 --- a/modes/tmtv/src/initToolGroups.js +++ b/modes/tmtv/src/initToolGroups.js @@ -60,6 +60,7 @@ function _initToolGroups(toolNames, Enums, toolGroupService, commandsManager) { toolName: toolNames.Crosshairs, configuration: { viewportIndicators: false, + disableOnPassive: true, autoPan: { enabled: false, panSize: 10, diff --git a/modes/tmtv/src/toolbarButtons.js b/modes/tmtv/src/toolbarButtons.js index 556e21728..35d3f3383 100644 --- a/modes/tmtv/src/toolbarButtons.js +++ b/modes/tmtv/src/toolbarButtons.js @@ -1,26 +1,8 @@ -// TODO: torn, can either bake this here; or have to create a whole new button type -// Only ways that you can pass in a custom React component for render :l +import { defaults, ToolbarService } from '@ohif/core'; import { WindowLevelMenuItem } from '@ohif/ui'; -import { defaults } from '@ohif/core'; import { toolGroupIds } from './initToolGroups'; + const { windowLevelPresets } = defaults; -/** - * - * @param {*} type - 'tool' | 'action' | 'toggle' - * @param {*} id - * @param {*} icon - * @param {*} label - */ -function _createButton(type, id, icon, label, commands, tooltip) { - return { - id, - icon, - label, - type, - commands, - tooltip, - }; -} function _createColormap(label, colormap) { return { @@ -38,23 +20,11 @@ function _createColormap(label, colormap) { ], }; } - -const _createActionButton = _createButton.bind(null, 'action'); -const _createToggleButton = _createButton.bind(null, 'toggle'); -const _createToolButton = _createButton.bind(null, 'tool'); - -/** - * - * @param {*} preset - preset number (from above import) - * @param {*} title - * @param {*} subtitle - */ function _createWwwcPreset(preset, title, subtitle) { return { id: preset.toString(), title, subtitle, - type: 'action', commands: [ { commandName: 'setWindowLevel', @@ -67,170 +37,103 @@ function _createWwwcPreset(preset, title, subtitle) { }; } -function _createCommands(commandName, toolName, toolGroupIds) { - return toolGroupIds.map(toolGroupId => ({ - /* It's a command that is being run when the button is clicked. */ - commandName, - commandOptions: { - toolName, - toolGroupId, - }, - context: 'CORNERSTONE', - })); -} +const setToolActiveToolbar = { + commandName: 'setToolActiveToolbar', + commandOptions: { + toolGroupIds: [toolGroupIds.CT, toolGroupIds.PT, toolGroupIds.Fusion], + }, +}; const toolbarButtons = [ - // Measurement { id: 'MeasurementTools', - type: 'ohif.splitButton', + uiType: 'ohif.splitButton', props: { groupId: 'MeasurementTools', - isRadio: true, // ? - // Switch? - primary: _createToolButton( - 'Length', - 'tool-length', - 'Length', - [ - ..._createCommands('setToolActive', 'Length', [ - toolGroupIds.CT, - toolGroupIds.PT, - toolGroupIds.Fusion, - // toolGroupIds.MPR, - ]), - ], - 'Length' - ), + primary: ToolbarService.createButton({ + id: 'Length', + icon: 'tool-length', + label: 'Length', + tooltip: 'Length Tool', + commands: setToolActiveToolbar, + evaluate: 'evaluate.cornerstoneTool', + }), secondary: { icon: 'chevron-down', - label: '', - isActive: true, tooltip: 'More Measure Tools', }, items: [ - _createToolButton( - 'Length', - 'tool-length', - 'Length', - [ - ..._createCommands('setToolActive', 'Length', [ - toolGroupIds.CT, - toolGroupIds.PT, - toolGroupIds.Fusion, - // toolGroupIds.MPR, - ]), - ], - 'Length Tool' - ), - _createToolButton( - 'Bidirectional', - 'tool-bidirectional', - 'Bidirectional', - [ - ..._createCommands('setToolActive', 'Bidirectional', [ - toolGroupIds.CT, - toolGroupIds.PT, - toolGroupIds.Fusion, - // toolGroupIds.MPR, - ]), - ], - 'Bidirectional Tool' - ), - _createToolButton( - 'ArrowAnnotate', - 'tool-annotate', - 'Annotation', - [ - ..._createCommands('setToolActive', 'ArrowAnnotate', [ - toolGroupIds.CT, - toolGroupIds.PT, - toolGroupIds.Fusion, - // toolGroupIds.MPR, - ]), - ], - 'Arrow Annotate' - ), - _createToolButton( - 'EllipticalROI', - 'tool-elipse', - 'Ellipse', - [ - ..._createCommands('setToolActive', 'EllipticalROI', [ - toolGroupIds.CT, - toolGroupIds.PT, - toolGroupIds.Fusion, - // toolGroupIds.MPR, - ]), - ], - 'Ellipse Tool' - ), + ToolbarService.createButton({ + id: 'Bidirectional', + icon: 'tool-bidirectional', + label: 'Bidirectional', + tooltip: 'Bidirectional Tool', + commands: setToolActiveToolbar, + evaluate: 'evaluate.cornerstoneTool', + }), + ToolbarService.createButton({ + id: 'ArrowAnnotate', + icon: 'tool-annotate', + label: 'Arrow Annotate', + tooltip: 'Arrow Annotate Tool', + commands: setToolActiveToolbar, + evaluate: 'evaluate.cornerstoneTool', + }), + ToolbarService.createButton({ + id: 'EllipticalROI', + icon: 'tool-ellipse', + label: 'Ellipse', + tooltip: 'Ellipse Tool', + commands: setToolActiveToolbar, + evaluate: 'evaluate.cornerstoneTool', + }), ], }, }, - // Zoom.. { id: 'Zoom', - type: 'ohif.radioGroup', + uiType: 'ohif.radioGroup', props: { - type: 'tool', icon: 'tool-zoom', label: 'Zoom', - commands: [ - ..._createCommands('setToolActive', 'Zoom', [ - toolGroupIds.CT, - toolGroupIds.PT, - toolGroupIds.Fusion, - // toolGroupIds.MPR, - ]), - ], + commands: setToolActiveToolbar, + evaluate: 'evaluate.cornerstoneTool', }, }, { id: 'MPR', - type: 'ohif.action', + uiType: 'ohif.radioGroup', props: { - type: 'toggle', icon: 'icon-mpr', label: 'MPR', commands: [ { commandName: 'toggleHangingProtocol', - commandOptions: { - protocolId: 'mpr', - }, + commandOptions: { protocolId: 'mpr' }, context: 'DEFAULT', }, ], + evaluate: 'evaluate.mpr', }, }, - // Window Level + Presets... + // Window Level + Presets { id: 'WindowLevel', - type: 'ohif.splitButton', + uiType: 'ohif.splitButton', props: { groupId: 'WindowLevel', - primary: _createToolButton( - 'WindowLevel', - 'tool-window-level', - 'Window Level', - [ - ..._createCommands('setToolActive', 'WindowLevel', [ - toolGroupIds.CT, - toolGroupIds.PT, - toolGroupIds.Fusion, - // toolGroupIds.MPR, - ]), - ], - 'Window Level' - ), + primary: ToolbarService.createButton({ + id: 'WindowLevel', + icon: 'tool-window-level', + label: 'Window Level', + tooltip: 'Window Level', + commands: setToolActiveToolbar, + evaluate: 'evaluate.cornerstoneTool', + }), secondary: { icon: 'chevron-down', - label: 'W/L Manual', - isActive: true, tooltip: 'W/L Presets', }, - isAction: true, // ? renderer: WindowLevelMenuItem, items: [ _createWwwcPreset(1, 'Soft tissue', '400 / 40'), @@ -241,86 +144,57 @@ const toolbarButtons = [ ], }, }, + // Crosshairs Button { id: 'Crosshairs', - type: 'ohif.radioGroup', + uiType: 'ohif.radioGroup', props: { - type: 'tool', icon: 'tool-crosshair', label: 'Crosshairs', - commands: [ - ..._createCommands('setToolActive', 'Crosshairs', [ - toolGroupIds.CT, - toolGroupIds.PT, - toolGroupIds.Fusion, - // toolGroupIds.MPR, - ]), - ], + commands: setToolActiveToolbar, + evaluate: 'evaluate.cornerstoneTool', }, }, - // Pan... + // Pan Button { id: 'Pan', - type: 'ohif.radioGroup', + uiType: 'ohif.radioGroup', props: { - type: 'tool', icon: 'tool-move', label: 'Pan', - commands: [ - ..._createCommands('setToolActive', 'Pan', [ - toolGroupIds.CT, - toolGroupIds.PT, - toolGroupIds.Fusion, - // toolGroupIds.MPR, - ]), - ], + commands: setToolActiveToolbar, + evaluate: 'evaluate.cornerstoneTool', }, }, + // Rectangle ROI Start End Threshold Button { id: 'RectangleROIStartEndThreshold', - type: 'ohif.radioGroup', + uiType: 'ohif.radioGroup', props: { - type: 'tool', icon: 'tool-create-threshold', label: 'Rectangle ROI Threshold', - commands: [ - ..._createCommands('setToolActive', 'RectangleROIStartEndThreshold', [toolGroupIds.PT]), - { - commandName: 'displayNotification', - commandOptions: { - title: 'RectangleROI Threshold Tip', - text: 'RectangleROI Threshold tool should be used on PT Axial Viewport', - type: 'info', - }, - }, - { - commandName: 'setViewportActive', - commandOptions: { - viewportId: 'ptAXIAL', - }, - }, - ], + commands: setToolActiveToolbar, + evaluate: 'evaluate.cornerstoneTool', }, }, + // Fusion PT Colormap Button { id: 'fusionPTColormap', - type: 'ohif.splitButton', + uiType: 'ohif.splitButton', props: { groupId: 'fusionPTColormap', - primary: _createToolButton( - 'fusionPTColormap', - 'tool-fusion-color', - 'Fusion PT Colormap', - [], - 'Fusion PT Colormap' - ), + primary: ToolbarService.createButton({ + id: 'fusionPTColormap', + icon: 'tool-fusion-color', + label: 'Fusion PT Colormap', + tooltip: 'Fusion PT Colormap', + commands: [], + evaluate: 'evaluate.action', + }), secondary: { icon: 'chevron-down', - label: 'PT Colormap', - isActive: true, tooltip: 'PET Image Colormap', }, - isAction: true, // ? items: [ _createColormap('HSV', 'hsv'), _createColormap('Hot Iron', 'hot_iron'), diff --git a/platform/app/cypress/integration/measurement-tracking/OHIFCornerstoneToolbar.spec.js b/platform/app/cypress/integration/measurement-tracking/OHIFCornerstoneToolbar.spec.js index 00383180f..45a60fa52 100644 --- a/platform/app/cypress/integration/measurement-tracking/OHIFCornerstoneToolbar.spec.js +++ b/platform/app/cypress/integration/measurement-tracking/OHIFCornerstoneToolbar.spec.js @@ -72,7 +72,7 @@ describe('OHIF Cornerstone Toolbar', () => { // Assign an alias to the button element cy.get('@wwwcBtnPrimary').as('wwwcButton'); cy.get('@wwwcButton').click(); - cy.get('@wwwcButton').should('have.class', 'active'); + cy.get('@wwwcButton').should('have.class', 'bg-primary-light'); //drags the mouse inside the viewport to be able to interact with series cy.get('@viewport') @@ -97,7 +97,7 @@ describe('OHIF Cornerstone Toolbar', () => { cy.get('@panButton').click(); // Assert that the button has the 'active' class - cy.get('@panButton').should('have.class', 'active'); + cy.get('@panButton').should('have.class', 'bg-primary-light'); // Trigger the pan actions on the viewport cy.get('@viewport') @@ -418,44 +418,44 @@ describe('OHIF Cornerstone Toolbar', () => { cy.get('@moreBtnSecondary').click(); //Click on Flip button - cy.get('[data-cy="flip-horizontal"]').click(); + cy.get('[data-cy="flipHorizontal"]').click(); cy.waitDicomImage(); cy.get('@viewportInfoMidLeft').should('contains.text', 'L'); cy.get('@viewportInfoMidTop').should('contains.text', 'A'); }); - it('checks if stack sync is preserved on new display set and uses FOR', () => { - // Active stack image sync and reference lines - cy.get('[data-cy="MoreTools-split-button-secondary"]').click(); - cy.get('[data-cy="ImageSliceSync"]').click(); - // Add reference lines as that sometimes throws an exception - cy.get('[data-cy="MoreTools-split-button-secondary"]').click(); - cy.get('[data-cy="ReferenceLines"]').click(); + // it('checks if stack sync is preserved on new display set and uses FOR', () => { + // // Active stack image sync and reference lines + // cy.get('[data-cy="MoreTools-split-button-secondary"]').click(); + // cy.get('[data-cy="ImageSliceSync"]').click(); + // // Add reference lines as that sometimes throws an exception + // cy.get('[data-cy="MoreTools-split-button-secondary"]').click(); + // cy.get('[data-cy="ReferenceLines"]').click(); - cy.get('[data-cy="study-browser-thumbnail"]:nth-child(2)').dblclick(); - cy.get('body').type('{downarrow}{downarrow}'); + // cy.get('[data-cy="study-browser-thumbnail"]:nth-child(2)').dblclick(); + // cy.get('body').type('{downarrow}{downarrow}'); - // Change the layout and double load the first - cy.setLayout(2, 1); - cy.get('body').type('{rightarrow}'); - cy.get('[data-cy="study-browser-thumbnail"]:nth-child(2)').dblclick(); - cy.waitDicomImage(); + // // Change the layout and double load the first + // cy.setLayout(2, 1); + // cy.get('body').type('{rightarrow}'); + // cy.get('[data-cy="study-browser-thumbnail"]:nth-child(2)').dblclick(); + // cy.waitDicomImage(); - // Now navigate down once and check that the left hand pane navigated - cy.get('body').focus().type('{downarrow}'); + // // Now navigate down once and check that the left hand pane navigated + // cy.get('body').focus().type('{downarrow}'); - // The following lines assist in troubleshooting when/if this test were to fail. - cy.get('[data-cy="viewport-pane"]') - .eq(0) - .find('[data-cy="viewport-overlay-top-right"]') - .should('contains.text', 'I:2 (2/20)'); - cy.get('[data-cy="viewport-pane"]') - .eq(1) - .find('[data-cy="viewport-overlay-top-right"]') - .should('contains.text', 'I:2 (2/20)'); + // // The following lines assist in troubleshooting when/if this test were to fail. + // cy.get('[data-cy="viewport-pane"]') + // .eq(0) + // .find('[data-cy="viewport-overlay-top-right"]') + // .should('contains.text', 'I:2 (2/20)'); + // cy.get('[data-cy="viewport-pane"]') + // .eq(1) + // .find('[data-cy="viewport-overlay-top-right"]') + // .should('contains.text', 'I:2 (2/20)'); - cy.get('body').type('{leftarrow}'); - cy.setLayout(1, 1); - cy.get('@viewportInfoTopRight').should('contains.text', 'I:2 (2/20)'); - }); + // cy.get('body').type('{leftarrow}'); + // cy.setLayout(1, 1); + // cy.get('@viewportInfoTopRight').should('contains.text', 'I:2 (2/20)'); + // }); }); diff --git a/platform/app/cypress/integration/measurement-tracking/OHIFGeneralViewer.spec.js b/platform/app/cypress/integration/measurement-tracking/OHIFGeneralViewer.spec.js index 420cdd822..f23b2186e 100644 --- a/platform/app/cypress/integration/measurement-tracking/OHIFGeneralViewer.spec.js +++ b/platform/app/cypress/integration/measurement-tracking/OHIFGeneralViewer.spec.js @@ -18,7 +18,7 @@ describe('OHIF General Viewer', function () { cy.get('@zoomBtn') .click() .then($zoomBtn => { - cy.wrap($zoomBtn).should('have.class', 'active'); + cy.wrap($zoomBtn).should('have.class', 'bg-primary-light'); }); const zoomLevelInitial = cy.get('@viewportInfoTopLeft').then($viewportInfo => { diff --git a/platform/app/cypress/integration/volume/MPR.spec.js b/platform/app/cypress/integration/volume/MPR.spec.js index 56a2aa869..0d15e75e4 100644 --- a/platform/app/cypress/integration/volume/MPR.spec.js +++ b/platform/app/cypress/integration/volume/MPR.spec.js @@ -7,8 +7,7 @@ describe('OHIF MPR', () => { }); it('should not go MPR for non reconstructible displaySets', () => { - cy.get('[data-cy="MPR"]').click(); - cy.get('.cornerstone-canvas').should('have.length', 1); + cy.get('[data-cy="MPR"]').should('have.class', 'ohif-disabled'); }); it('should go MPR for reconstructible displaySets and come back', () => { @@ -88,7 +87,6 @@ describe('OHIF MPR', () => { }); it('should correctly render Crosshairs for MPR', () => { - cy.get('[data-cy="Crosshairs"]').should('not.exist'); cy.get(':nth-child(3) > [data-cy="study-browser-thumbnail"]').dblclick(); cy.get('[data-cy="MPR"]').click(); cy.get('[data-cy="Crosshairs"]').click(); @@ -125,13 +123,7 @@ describe('OHIF MPR', () => { cy.get('[data-cy="MPR"]').click(); cy.get('[data-cy="Crosshairs"]').click(); - // wait for the crosshairs tool to be active - cy.get('[data-cy="Crosshairs"].active'); - // Click the crosshairs button to deactivate it. cy.get('[data-cy="Crosshairs"]').click(); - - // wait for the window level button to be active - cy.get('[data-cy="WindowLevel-split-button-primary"].active'); }); }); diff --git a/platform/app/cypress/support/commands.js b/platform/app/cypress/support/commands.js index a84997598..51f17643b 100644 --- a/platform/app/cypress/support/commands.js +++ b/platform/app/cypress/support/commands.js @@ -273,7 +273,7 @@ Cypress.Commands.add( } }); - cy.get('@lengthButton').should('have.class', 'active'); + cy.get('@lengthButton').should('have.class', 'bg-primary-light'); cy.get('@viewport').then($viewport => { const [x1, y1] = firstClick; diff --git a/platform/app/public/config/e2e.js b/platform/app/public/config/e2e.js index 46a50c939..3a2fdb2ea 100644 --- a/platform/app/public/config/e2e.js +++ b/platform/app/public/config/e2e.js @@ -10,6 +10,9 @@ window.config = { strictZSpacingForVolumeViewport: true, // filterQueryParam: false, defaultDataSourceName: 'e2e', + investigationalUseDialog: { + option: 'never', + }, dataSources: [ { namespace: '@ohif/extension-default.dataSourcesModule.dicomweb', diff --git a/platform/app/src/App.tsx b/platform/app/src/App.tsx index cadc05e2e..23b18b2ed 100644 --- a/platform/app/src/App.tsx +++ b/platform/app/src/App.tsx @@ -16,6 +16,7 @@ import { ViewportGridProvider, CineProvider, UserAuthenticationProvider, + ToolboxProvider, } from '@ohif/ui'; // Viewer Project // TODO: Should this influence study list? @@ -69,6 +70,7 @@ function App({ config, defaultExtensions, defaultModes }) { [UserAuthenticationProvider, { service: userAuthenticationService }], [I18nextProvider, { i18n }], [ThemeWrapper], + [ToolboxProvider], [ViewportGridProvider, { service: viewportGridService }], [ViewportDialogProvider, { service: uiViewportDialogService }], [CineProvider, { service: cineService }], diff --git a/platform/app/src/appInit.js b/platform/app/src/appInit.js index 168d05a04..0d93ae639 100644 --- a/platform/app/src/appInit.js +++ b/platform/app/src/appInit.js @@ -49,6 +49,8 @@ async function appInit(appConfigOrFunc, defaultExtensions, defaultModes) { appConfig, }); + servicesManager.setExtensionManager(extensionManager); + servicesManager.registerServices([ UINotificationService.REGISTRATION, UIModalService.REGISTRATION, diff --git a/platform/app/src/components/ViewportGrid.tsx b/platform/app/src/components/ViewportGrid.tsx index 8bb0f3f7c..850344642 100644 --- a/platform/app/src/components/ViewportGrid.tsx +++ b/platform/app/src/components/ViewportGrid.tsx @@ -1,4 +1,4 @@ -import React, { useEffect, useCallback, useRef } from 'react'; +import React, { useEffect, useCallback, useRef, useState } from 'react'; import ReactResizeDetector from 'react-resize-detector'; import PropTypes from 'prop-types'; import { ServicesManager, Types, MeasurementService } from '@ohif/core'; @@ -15,12 +15,15 @@ function ViewerViewportGrid(props) { const { layout, activeViewportId, viewports } = viewportGrid; const { numCols, numRows } = layout; const elementRef = useRef(null); + const layoutHash = useRef(null); // TODO -> Need some way of selecting which displaySets hit the viewports. const { displaySetService, measurementService, hangingProtocolService, uiNotificationService } = ( servicesManager as ServicesManager ).services; + const generateLayoutHash = () => `${numCols}-${numRows}`; + /** * This callback runs after the viewports structure has changed in any way. * On initial display, that means if it has changed by applying a HangingProtocol, @@ -135,6 +138,16 @@ function ViewerViewportGrid(props) { }; }, []); + // Check viewport readiness in useEffect + useEffect(() => { + const allReady = viewportGridService.getGridViewportsReady(); + const sameLayoutHash = layoutHash.current === generateLayoutHash(); + if (allReady && !sameLayoutHash) { + layoutHash.current = generateLayoutHash(); + viewportGridService.publishViewportsReady(); + } + }, [viewportGridService, generateLayoutHash]); + useEffect(() => { const { unsubscribe } = measurementService.subscribe( MeasurementService.EVENTS.JUMP_TO_MEASUREMENT_LAYOUT, @@ -327,6 +340,9 @@ function ViewerViewportGrid(props) { viewportOptions={viewportOptions} displaySetOptions={displaySetOptions} needsRerendering={displaySetsNeedsRerendering} + onReady={() => { + viewportGridService.setViewportIsReady(viewportId, true); + }} />
@@ -360,7 +376,6 @@ function ViewerViewportGrid(props) { }} targetRef={elementRef.current} /> - {/* {ViewportPanes} */} {getViewportPanes()}
diff --git a/platform/app/src/routes/Mode/Mode.tsx b/platform/app/src/routes/Mode/Mode.tsx index 0b2b65bab..6c7fccf50 100644 --- a/platform/app/src/routes/Mode/Mode.tsx +++ b/platform/app/src/routes/Mode/Mode.tsx @@ -1,141 +1,18 @@ -import React, { useEffect, useState, useRef } from 'react'; +import React, { useEffect, useState, useRef, useContext, createContext } from 'react'; import { useParams, useLocation, useNavigate } from 'react-router'; import PropTypes from 'prop-types'; -// TODO: DicomMetadataStore should be injected? -import { DicomMetadataStore, ServicesManager, utils, log, Enums } from '@ohif/core'; +import { ServicesManager, utils } from '@ohif/core'; import { DragAndDropProvider, ImageViewerProvider } from '@ohif/ui'; import { useSearchParams } from '@hooks'; import { useAppConfig } from '@state'; import ViewportGrid from '@components/ViewportGrid'; import Compose from './Compose'; -import getStudies from './studiesList'; import { history } from '../../utils/history'; import loadModules from '../../pluginImports'; -import isSeriesFilterUsed from '../../utils/isSeriesFilterUsed'; +import { defaultRouteInit } from './defaultRouteInit'; +import { updateAuthServiceAndCleanUrl } from './updateAuthServiceAndCleanUrl'; -const { getSplitParam, sortingCriteria } = utils; - -/** - * Initialize the route. - * - * @param props.servicesManager to read services from - * @param props.studyInstanceUIDs for a list of studies to read - * @param props.dataSource to read the data from - * @param props.filters filters from query params to read the data from - * @returns array of subscriptions to cancel - */ -function defaultRouteInit( - { servicesManager, studyInstanceUIDs, dataSource, filters, appConfig }, - hangingProtocolId -) { - const { displaySetService, hangingProtocolService, uiNotificationService, customizationService } = - servicesManager.services; - /** - * Function to apply the hanging protocol when the minimum number of display sets were - * received or all display sets retrieval were completed - * @returns - */ - function applyHangingProtocol() { - const displaySets = displaySetService.getActiveDisplaySets(); - - if (!displaySets || !displaySets.length) { - return; - } - - // Gets the studies list to use - const studies = getStudies(studyInstanceUIDs, displaySets); - - // study being displayed, and is thus the "active" study. - const activeStudy = studies[0]; - - // run the hanging protocol matching on the displaySets with the predefined - // hanging protocol in the mode configuration - hangingProtocolService.run({ studies, activeStudy, displaySets }, hangingProtocolId); - } - - const unsubscriptions = []; - const issuedWarningSeries = []; - const { unsubscribe: instanceAddedUnsubscribe } = DicomMetadataStore.subscribe( - DicomMetadataStore.EVENTS.INSTANCES_ADDED, - function ({ StudyInstanceUID, SeriesInstanceUID, madeInClient = false }) { - const seriesMetadata = DicomMetadataStore.getSeries(StudyInstanceUID, SeriesInstanceUID); - - // checks if the series filter was used, if it exists - const seriesInstanceUIDs = filters?.seriesInstanceUID; - if ( - seriesInstanceUIDs?.length && - !isSeriesFilterUsed(seriesMetadata.instances, filters) && - !issuedWarningSeries.includes(seriesInstanceUIDs[0]) - ) { - // stores the series instance filter so it shows only once the warning - issuedWarningSeries.push(seriesInstanceUIDs[0]); - uiNotificationService.show({ - title: 'Series filter', - message: `Each of the series in filter: ${seriesInstanceUIDs} are not part of the current study. The entire study is being displayed`, - type: 'error', - duration: 7000, - }); - } - - displaySetService.makeDisplaySets(seriesMetadata.instances, madeInClient); - } - ); - - unsubscriptions.push(instanceAddedUnsubscribe); - - log.time(Enums.TimingEnum.STUDY_TO_DISPLAY_SETS); - log.time(Enums.TimingEnum.STUDY_TO_FIRST_IMAGE); - - const allRetrieves = studyInstanceUIDs.map(StudyInstanceUID => - dataSource.retrieve.series.metadata({ - StudyInstanceUID, - filters, - returnPromises: true, - sortCriteria: - customizationService.get('sortingCriteria') || - sortingCriteria.seriesSortCriteria.seriesInfoSortingCriteria, - }) - ); - - // log the error if this fails, otherwise it's so difficult to tell what went wrong... - allRetrieves.forEach(retrieve => { - retrieve.catch(error => { - console.error(error); - }); - }); - - Promise.allSettled(allRetrieves).then(promises => { - log.timeEnd(Enums.TimingEnum.STUDY_TO_DISPLAY_SETS); - log.time(Enums.TimingEnum.DISPLAY_SETS_TO_FIRST_IMAGE); - log.time(Enums.TimingEnum.DISPLAY_SETS_TO_ALL_IMAGES); - - const allPromises = []; - const remainingPromises = []; - - function startRemainingPromises(remainingPromises) { - remainingPromises.forEach(p => p.forEach(p => p.start())); - } - - promises.forEach(promise => { - const retrieveSeriesMetadataPromise = promise.value; - if (Array.isArray(retrieveSeriesMetadataPromise)) { - const { requiredSeries, remaining } = hangingProtocolService.filterSeriesRequiredForRun( - hangingProtocolId, - retrieveSeriesMetadataPromise - ); - const requiredSeriesPromises = requiredSeries.map(promise => promise.start()); - allPromises.push(Promise.allSettled(requiredSeriesPromises)); - remainingPromises.push(remaining); - } - }); - - Promise.allSettled(allPromises).then(applyHangingProtocol); - startRemainingPromises(remainingPromises); - applyHangingProtocol(); - }); - - return unsubscriptions; -} +const { getSplitParam } = utils; export default function ModeRoute({ mode, @@ -166,7 +43,7 @@ export default function ModeRoute({ // The URL's query search parameters where the keys are all lower case. const lowerCaseSearchParams = useSearchParams({ lowerCaseKeys: true }); - const [studyInstanceUIDs, setStudyInstanceUIDs] = useState(); + const [studyInstanceUIDs, setStudyInstanceUIDs] = useState(null); const [refresh, setRefresh] = useState(false); const [ExtensionDependenciesLoaded, setExtensionDependenciesLoaded] = useState(false); @@ -193,25 +70,7 @@ export default function ModeRoute({ const token = lowerCaseSearchParams.get('token'); if (token) { - // if a token is passed in, set the userAuthenticationService to use it - // for the Authorization header for all requests - userAuthenticationService.setServiceImplementation({ - getAuthorizationHeader: () => ({ - Authorization: 'Bearer ' + token, - }), - }); - - // Create a URL object with the current location - const urlObj = new URL(window.location.origin + window.location.pathname + location.search); - - // Remove the token from the URL object - urlObj.searchParams.delete('token'); - const cleanUrl = urlObj.toString(); - - // Update the browser's history without the token - if (window.history && window.history.replaceState) { - window.history.replaceState(null, '', cleanUrl); - } + updateAuthServiceAndCleanUrl(token, location, userAuthenticationService); } // Preserve the old array interface for hotkeys @@ -228,32 +87,6 @@ export default function ModeRoute({ // Only handling one route per mode for now const route = mode.routes[0]; - // For each extension, look up their context modules - // TODO: move to extension manager. - let contextModules = []; - - Object.keys(extensions).forEach(extensionId => { - const allRegisteredModuleIds = Object.keys(extensionManager.modulesMap); - const moduleIds = allRegisteredModuleIds.filter(id => - id.includes(`${extensionId}.contextModule.`) - ); - - if (!moduleIds || !moduleIds.length) { - return; - } - - const modules = moduleIds.map(extensionManager.getModuleEntry); - contextModules = contextModules.concat(modules); - }); - - const contextModuleProviders = contextModules.map(a => a.provider); - const CombinedContextProvider = ({ children }) => - Compose({ components: contextModuleProviders, children }); - - function ViewportGridWithDataSource(props) { - return ViewportGrid({ ...props, dataSource }); - } - useEffect(() => { const loadExtensions = async () => { const loadedExtensions = await loadModules(Object.keys(extensions)); @@ -298,7 +131,7 @@ export default function ModeRoute({ }, [location, ExtensionDependenciesLoaded]); useEffect(() => { - if (!ExtensionDependenciesLoaded) { + if (!ExtensionDependenciesLoaded || !studyInstanceUIDs?.length) { return; } @@ -313,7 +146,7 @@ export default function ModeRoute({ setRefresh(!refresh); } }; - if (studyInstanceUIDs?.length && studyInstanceUIDs[0] !== undefined) { + if (Array.isArray(studyInstanceUIDs) && studyInstanceUIDs[0]) { retrieveLayoutData(); } return () => { @@ -322,7 +155,7 @@ export default function ModeRoute({ }, [studyInstanceUIDs, ExtensionDependenciesLoaded]); useEffect(() => { - if (!hotkeys || !ExtensionDependenciesLoaded) { + if (!hotkeys || !ExtensionDependenciesLoaded || !studyInstanceUIDs?.length) { return; } @@ -339,10 +172,10 @@ export default function ModeRoute({ return () => { hotkeysManager.destroy(); }; - }, [ExtensionDependenciesLoaded]); + }, [ExtensionDependenciesLoaded, hotkeys, studyInstanceUIDs]); useEffect(() => { - if (!layoutTemplateData.current || !ExtensionDependenciesLoaded) { + if (!layoutTemplateData.current || !ExtensionDependenciesLoaded || !studyInstanceUIDs?.length) { return; } @@ -477,7 +310,21 @@ export default function ModeRoute({ refresh, ]); - const renderLayoutData = props => { + if (!studyInstanceUIDs || !layoutTemplateData.current || !ExtensionDependenciesLoaded) { + return null; + } + + const ViewportGridWithDataSource = props => { + return ViewportGrid({ ...props, dataSource }); + }; + + const CombinedExtensionsContextProvider = createCombinedContextProvider( + extensionManager, + servicesManager, + commandsManager + ); + + const getLayoutComponent = props => { const layoutTemplateModuleEntry = extensionManager.getModuleEntry( layoutTemplateData.current.id ); @@ -486,27 +333,51 @@ export default function ModeRoute({ return ; }; + const LayoutComponent = getLayoutComponent({ + ...layoutTemplateData.current.props, + ViewportGridComp: ViewportGridWithDataSource, + }); + return ( - - - - {layoutTemplateData.current && - studyInstanceUIDs?.[0] !== undefined && - ExtensionDependenciesLoaded && - renderLayoutData({ - ...layoutTemplateData.current.props, - ViewportGridComp: ViewportGridWithDataSource, - })} - - + + {CombinedExtensionsContextProvider ? ( + + {LayoutComponent} + + ) : ( + {LayoutComponent} + )} ); } +/** + * Creates a combined context provider using the context modules from the extension manager. + * @param {object} extensionManager - The extension manager instance. + * @param {object} servicesManager - The services manager instance. + * @param {object} commandsManager - The commands manager instance. + * @returns {React.Component} - A React component that provides combined contexts to its children. + */ +function createCombinedContextProvider(extensionManager, servicesManager, commandsManager) { + const extensionsContextModules = extensionManager.getModulesByType( + extensionManager.constructor.MODULE_TYPES.CONTEXT + ); + + if (!extensionsContextModules?.length) { + return; + } + + const contextModuleProviders = extensionsContextModules.flatMap(({ module }) => { + return module.map(aContextModule => { + return aContextModule.provider; + }); + }); + + return ({ children }) => { + return Compose({ components: contextModuleProviders, children }); + }; +} + ModeRoute.propTypes = { mode: PropTypes.object.isRequired, dataSourceName: PropTypes.string, diff --git a/platform/app/src/routes/Mode/defaultRouteInit.ts b/platform/app/src/routes/Mode/defaultRouteInit.ts new file mode 100644 index 000000000..3f8aafaa7 --- /dev/null +++ b/platform/app/src/routes/Mode/defaultRouteInit.ts @@ -0,0 +1,129 @@ +import getStudies from './studiesList'; +import { DicomMetadataStore, log } from '@ohif/core'; +import isSeriesFilterUsed from '../../utils/isSeriesFilterUsed'; + +import { utils, Enums } from '@ohif/core'; + +const { sortingCriteria } = utils; + +/** + * Initialize the route. + * + * @param props.servicesManager to read services from + * @param props.studyInstanceUIDs for a list of studies to read + * @param props.dataSource to read the data from + * @param props.filters filters from query params to read the data from + * @returns array of subscriptions to cancel + */ +export function defaultRouteInit( + { servicesManager, studyInstanceUIDs, dataSource, filters, appConfig }, + hangingProtocolId +) { + const { displaySetService, hangingProtocolService, uiNotificationService, customizationService } = + servicesManager.services; + /** + * Function to apply the hanging protocol when the minimum number of display sets were + * received or all display sets retrieval were completed + * @returns + */ + function applyHangingProtocol() { + const displaySets = displaySetService.getActiveDisplaySets(); + + if (!displaySets || !displaySets.length) { + return; + } + + // Gets the studies list to use + const studies = getStudies(studyInstanceUIDs, displaySets); + + // study being displayed, and is thus the "active" study. + const activeStudy = studies[0]; + + // run the hanging protocol matching on the displaySets with the predefined + // hanging protocol in the mode configuration + hangingProtocolService.run({ studies, activeStudy, displaySets }, hangingProtocolId); + } + + const unsubscriptions = []; + const issuedWarningSeries = []; + const { unsubscribe: instanceAddedUnsubscribe } = DicomMetadataStore.subscribe( + DicomMetadataStore.EVENTS.INSTANCES_ADDED, + function ({ StudyInstanceUID, SeriesInstanceUID, madeInClient = false }) { + const seriesMetadata = DicomMetadataStore.getSeries(StudyInstanceUID, SeriesInstanceUID); + + // checks if the series filter was used, if it exists + const seriesInstanceUIDs = filters?.seriesInstanceUID; + if ( + seriesInstanceUIDs?.length && + !isSeriesFilterUsed(seriesMetadata.instances, filters) && + !issuedWarningSeries.includes(seriesInstanceUIDs[0]) + ) { + // stores the series instance filter so it shows only once the warning + issuedWarningSeries.push(seriesInstanceUIDs[0]); + uiNotificationService.show({ + title: 'Series filter', + message: `Each of the series in filter: ${seriesInstanceUIDs} are not part of the current study. The entire study is being displayed`, + type: 'error', + duration: 7000, + }); + } + + displaySetService.makeDisplaySets(seriesMetadata.instances, madeInClient); + } + ); + + unsubscriptions.push(instanceAddedUnsubscribe); + + log.time(Enums.TimingEnum.STUDY_TO_DISPLAY_SETS); + log.time(Enums.TimingEnum.STUDY_TO_FIRST_IMAGE); + + const allRetrieves = studyInstanceUIDs.map(StudyInstanceUID => + dataSource.retrieve.series.metadata({ + StudyInstanceUID, + filters, + returnPromises: true, + sortCriteria: + customizationService.get('sortingCriteria') || + sortingCriteria.seriesSortCriteria.seriesInfoSortingCriteria, + }) + ); + + // log the error if this fails, otherwise it's so difficult to tell what went wrong... + allRetrieves.forEach(retrieve => { + retrieve.catch(error => { + console.error(error); + }); + }); + + Promise.allSettled(allRetrieves).then(promises => { + log.timeEnd(Enums.TimingEnum.STUDY_TO_DISPLAY_SETS); + log.time(Enums.TimingEnum.DISPLAY_SETS_TO_FIRST_IMAGE); + log.time(Enums.TimingEnum.DISPLAY_SETS_TO_ALL_IMAGES); + + const allPromises = []; + const remainingPromises = []; + + function startRemainingPromises(remainingPromises) { + remainingPromises.forEach(p => p.forEach(p => p.start())); + } + + promises.forEach(promise => { + const retrieveSeriesMetadataPromise = promise.value; + if (Array.isArray(retrieveSeriesMetadataPromise)) { + const { requiredSeries, remaining } = hangingProtocolService.filterSeriesRequiredForRun( + hangingProtocolId, + retrieveSeriesMetadataPromise + ); + const requiredSeriesPromises = requiredSeries.map(promise => promise.start()); + allPromises.push(Promise.allSettled(requiredSeriesPromises)); + remainingPromises.push(remaining); + } + }); + + Promise.allSettled(allPromises).then(applyHangingProtocol); + startRemainingPromises(remainingPromises); + applyHangingProtocol(); + }); + + return unsubscriptions; +} diff --git a/platform/app/src/routes/Mode/updateAuthServiceAndCleanUrl.ts b/platform/app/src/routes/Mode/updateAuthServiceAndCleanUrl.ts new file mode 100644 index 000000000..c387d69cc --- /dev/null +++ b/platform/app/src/routes/Mode/updateAuthServiceAndCleanUrl.ts @@ -0,0 +1,35 @@ +/** + * Updates the user authentication service with the provided token and cleans the token from the URL. + * @param token - The token to set in the user authentication service. + * @param location - The location object from the router. + * @param userAuthenticationService - The user authentication service instance. + */ +export function updateAuthServiceAndCleanUrl( + token: string, + location: any, + userAuthenticationService: any +): void { + if (!token) { + return; + } + + // if a token is passed in, set the userAuthenticationService to use it + // for the Authorization header for all requests + userAuthenticationService.setServiceImplementation({ + getAuthorizationHeader: () => ({ + Authorization: 'Bearer ' + token, + }), + }); + + // Create a URL object with the current location + const urlObj = new URL(window.location.origin + window.location.pathname + location.search); + + // Remove the token from the URL object + urlObj.searchParams.delete('token'); + const cleanUrl = urlObj.toString(); + + // Update the browser's history without the token + if (window.history && window.history.replaceState) { + window.history.replaceState(null, '', cleanUrl); + } +} diff --git a/platform/app/src/routes/WorkList/WorkList.tsx b/platform/app/src/routes/WorkList/WorkList.tsx index 05a5e0994..c4c9c6b83 100644 --- a/platform/app/src/routes/WorkList/WorkList.tsx +++ b/platform/app/src/routes/WorkList/WorkList.tsx @@ -419,7 +419,7 @@ function WorkList({ /> } // launch-arrow | launch-info onClick={() => {}} - data-cy={`mode-${mode.routeName}-${studyInstanceUid}`} + dataCY={`mode-${mode.routeName}-${studyInstanceUid}`} className={isValidMode ? 'text-[13px]' : 'bg-[#222d44] text-[13px]'} > {mode.displayName} diff --git a/platform/cli/templates/mode/src/index.tsx b/platform/cli/templates/mode/src/index.tsx index e129a9a05..7ff747bbe 100644 --- a/platform/cli/templates/mode/src/index.tsx +++ b/platform/cli/templates/mode/src/index.tsx @@ -48,37 +48,7 @@ function modeFactory({ modeConfiguration }) { // Init Default and SR ToolGroups initToolGroups(extensionManager, toolGroupService, commandsManager); - let unsubscribe; - - const activateTool = () => { - toolbarService.recordInteraction({ - groupId: 'WindowLevel', - interactionType: 'tool', - commands: [ - { - commandName: 'setToolActive', - commandOptions: { - toolName: 'WindowLevel', - }, - context: 'CORNERSTONE', - }, - ], - }); - - // We don't need to reset the active tool whenever a viewport is getting - // added to the toolGroup. - unsubscribe(); - }; - - // Since we only have one viewport for the basic cs3d mode and it has - // only one hanging protocol, we can just use the first viewport - ({ unsubscribe } = toolGroupService.subscribe( - toolGroupService.EVENTS.VIEWPORT_ADDED, - activateTool - )); - - toolbarService.init(extensionManager); - toolbarService.addButtons([...toolbarButtons, ...moreTools]); + toolbarService.addButtons(toolbarButtons); toolbarService.createButtonSection('primary', [ 'MeasurementTools', 'Zoom', diff --git a/platform/core/src/classes/CommandsManager.test.js b/platform/core/src/classes/CommandsManager.test.js index 399003834..390f9d4df 100644 --- a/platform/core/src/classes/CommandsManager.test.js +++ b/platform/core/src/classes/CommandsManager.test.js @@ -8,7 +8,6 @@ describe('CommandsManager', () => { contextName = 'VTK', command = { commandFn: jest.fn().mockReturnValue(true), - storeContexts: ['viewers'], options: { passMeToCommandFn: ':wave:' }, }, commandsManagerConfig = { @@ -139,7 +138,6 @@ describe('CommandsManager', () => { it('Logs a warning if command definition does not have a commandFn', () => { const commandWithNoCommmandFn = { commandFn: undefined, - storeContexts: [], options: {}, }; diff --git a/platform/core/src/classes/CommandsManager.ts b/platform/core/src/classes/CommandsManager.ts index 4d4563a00..820554ca2 100644 --- a/platform/core/src/classes/CommandsManager.ts +++ b/platform/core/src/classes/CommandsManager.ts @@ -1,5 +1,5 @@ import log from '../log.js'; -import { Command, Commands } from '../types/Command'; +import { Command, Commands, ComplexCommand } from '../types/Command'; /** * The definition of a command @@ -167,28 +167,44 @@ export class CommandsManager { * Run one or more commands with specified extra options. * Returns the result of the last command run. * - * @param toRun - A specification of one or more commands + * @param toRun - A specification of one or more commands, + * typically an object of { commandName, commandOptions, context } + * or an array of such objects. It can also be a single commandName as string + * if no options are needed. * @param options - to include in the commands run beyond * the commandOptions specified in the base. */ public run( - toRun: Command | Commands | Command[] | undefined, + toRun: Command | Commands | Command[] | string | undefined, options?: Record ): unknown { if (!toRun) { return; } - const commands = - (Array.isArray(toRun) && toRun) || - ((toRun as Command).commandName && [toRun]) || - (Array.isArray((toRun as Commands).commands) && (toRun as Commands).commands); - if (!commands) { + + // Normalize `toRun` to an array of `ComplexCommand` + let commands: ComplexCommand[] = []; + if (typeof toRun === 'string') { + commands = [{ commandName: toRun }]; + } else if ('commandName' in toRun) { + commands = [toRun as ComplexCommand]; + } else if ('commands' in toRun) { + const commandsInput = (toRun as Commands).commands; + commands = Array.isArray(commandsInput) + ? commandsInput.map(cmd => (typeof cmd === 'string' ? { commandName: cmd } : cmd)) + : [{ commandName: commandsInput }]; + } else if (Array.isArray(toRun)) { + commands = toRun.map(cmd => (typeof cmd === 'string' ? { commandName: cmd } : cmd)); + } + + if (commands.length === 0) { console.log("Command isn't runnable", toRun); return; } - let result; - (commands as Command[]).forEach(({ commandName, commandOptions, context }) => { + // Execute each command in the array + let result: unknown; + commands.forEach(({ commandName, commandOptions, context }) => { if (commandName) { result = this.runCommand( commandName, diff --git a/platform/core/src/classes/HotkeysManager.ts b/platform/core/src/classes/HotkeysManager.ts index 886cafc2d..8a01446b6 100644 --- a/platform/core/src/classes/HotkeysManager.ts +++ b/platform/core/src/classes/HotkeysManager.ts @@ -1,5 +1,4 @@ import objectHash from 'object-hash'; -import log from '../log.js'; import { hotkeys } from '../utils'; import isequal from 'lodash.isequal'; import Hotkey from './Hotkey'; @@ -276,10 +275,3 @@ export class HotkeysManager { } export default HotkeysManager; - -// Commands Contexts: - -// --> Name and Priority -// GLOBAL: 0 -// VIEWER::CORNERSTONE: 1 -// VIEWER::VTK: 1 diff --git a/platform/core/src/extensions/ExtensionManager.test.js b/platform/core/src/extensions/ExtensionManager.test.js index 5d5fed85b..042a49884 100644 --- a/platform/core/src/extensions/ExtensionManager.test.js +++ b/platform/core/src/extensions/ExtensionManager.test.js @@ -247,7 +247,6 @@ describe('ExtensionManager.ts', () => { definitions: { exampleDefinition: { commandFn: () => {}, - storeContexts: [], options: {}, }, }, diff --git a/platform/core/src/extensions/ExtensionManager.ts b/platform/core/src/extensions/ExtensionManager.ts index 083fde7f2..7f6138344 100644 --- a/platform/core/src/extensions/ExtensionManager.ts +++ b/platform/core/src/extensions/ExtensionManager.ts @@ -45,6 +45,7 @@ export interface Extension { getUtilityModule?: (p: ExtensionParams) => unknown; getCustomizationModule?: (p: ExtensionParams) => unknown; getSopClassHandlerModule?: (p: ExtensionParams) => unknown; + getToolbarModule?: (p: ExtensionParams) => unknown; onModeEnter?: () => void; onModeExit?: () => void; } @@ -65,9 +66,24 @@ export default class ExtensionManager extends PubSubService { ACTIVE_DATA_SOURCE_CHANGED: 'event::activedatasourcechanged', }; + public static readonly MODULE_TYPES = MODULE_TYPES; + private _commandsManager: CommandsManager; private _servicesManager: ServicesManager; private _hotkeysManager: HotkeysManager; + private modulesMap: Record; + private modules: Record; + private registeredExtensionIds: string[]; + private moduleTypeNames: string[]; + private _appConfig: any; + private _extensionLifeCycleHooks: { + onModeEnter: Record; + onModeExit: Record; + }; + private dataSourceMap: Record; + private dataSourceDefs: Record; + private defaultDataSourceName: string; + private activeDataSource: string; constructor({ commandsManager, @@ -265,57 +281,74 @@ export default class ExtensionManager extends PubSubService { configuration ); - if (extensionModule) { - switch (moduleType) { - case MODULE_TYPES.COMMANDS: - this._initCommandsModule(extensionModule); - break; - case MODULE_TYPES.DATA_SOURCE: - this._initDataSourcesModule(extensionModule, extensionId, dataSources); - break; - case MODULE_TYPES.HANGING_PROTOCOL: - this._initHangingProtocolsModule(extensionModule, extensionId); - case MODULE_TYPES.TOOLBAR: - case MODULE_TYPES.VIEWPORT: - case MODULE_TYPES.PANEL: - case MODULE_TYPES.SOP_CLASS_HANDLER: - case MODULE_TYPES.CONTEXT: - case MODULE_TYPES.LAYOUT_TEMPLATE: - case MODULE_TYPES.CUSTOMIZATION: - case MODULE_TYPES.STATE_SYNC: - case MODULE_TYPES.UTILITY: - // Default for most extension points, - // Just adds each entry ready for consumption by mode. - extensionModule.forEach(element => { - if (!element.name) { - throw new Error( - `Extension ID ${extensionId} module ${moduleType} element has no name` - ); - } - const id = `${extensionId}.${moduleType}.${element.name}`; - element.id = id; - this.modulesMap[id] = element; - }); - break; - default: - throw new Error(`Module type invalid: ${moduleType}`); - } - - this.modules[moduleType].push({ - extensionId, - module: extensionModule, - }); + if (!extensionModule) { + return; } + + switch (moduleType) { + case MODULE_TYPES.COMMANDS: + this._initCommandsModule(extensionModule); + break; + + case MODULE_TYPES.DATA_SOURCE: + this._initDataSourcesModule(extensionModule, extensionId, dataSources); + break; + + case MODULE_TYPES.HANGING_PROTOCOL: + this._initHangingProtocolsModule(extensionModule, extensionId); + break; + + case MODULE_TYPES.PANEL: + this._initPanelModule(extensionModule, extensionId); + break; + + case MODULE_TYPES.TOOLBAR: + this._initToolbarModule(extensionModule, extensionId); + break; + + case MODULE_TYPES.VIEWPORT: + case MODULE_TYPES.SOP_CLASS_HANDLER: + case MODULE_TYPES.CONTEXT: + case MODULE_TYPES.LAYOUT_TEMPLATE: + case MODULE_TYPES.CUSTOMIZATION: + case MODULE_TYPES.STATE_SYNC: + case MODULE_TYPES.UTILITY: + this.processExtensionModule(extensionModule, extensionId, moduleType); + break; + default: + throw new Error(`Module type invalid: ${moduleType}`); + } + + this.modules[moduleType].push({ + extensionId, + module: extensionModule, + }); }); // Track extension registration this.registeredExtensionIds.push(extensionId); }; + /** + * Retrieves the module entry associated with the given string entry + * @param stringEntry - The string entry to retrieve the module entry for which is + * in the format of `${extensionId}.${moduleType}.${moduleName}` + * @returns The module entry associated with the given string entry. + */ getModuleEntry = stringEntry => { return this.modulesMap[stringEntry]; }; + /** + * Retrieves all modules of a given type for all registered extensions. + * + * @param moduleType - The type of modules to retrieve. + * @returns An array of modules of the specified type. + */ + getModulesByType = (moduleType: string) => { + return this.modules[moduleType]; + }; + getDataSources = dataSourceName => { if (dataSourceName === undefined) { // Default to the activeDataSource @@ -402,6 +435,38 @@ export default class ExtensionManager extends PubSubService { }); }; + _initPanelModule = (extensionModule, extensionId) => { + this.processExtensionModule(extensionModule, extensionId, MODULE_TYPES.PANEL); + }; + + _initToolbarModule = (extensionModule, extensionId) => { + // check if the toolbar module has a handler function for evaluation of + // the toolbar button state + const { toolbarService } = this._servicesManager.services; + extensionModule.forEach(toolbarButton => { + if (toolbarButton.evaluate) { + toolbarService.registerEvaluateFunction(toolbarButton.name, toolbarButton.evaluate); + } + }); + }; + + /** + * Processes an extension module. + * @param extensionModule - The extension module to process. + * @param extensionId - The ID of the extension. + * @param moduleType - The type of the module. + */ + private processExtensionModule(extensionModule, extensionId: string, moduleType: string) { + extensionModule.forEach(element => { + if (!element.name) { + throw new Error(`Extension ID ${extensionId} module ${moduleType} element has no name`); + } + const id = `${extensionId}.${moduleType}.${element.name}`; + element.id = id; + this.modulesMap[id] = element; + }); + } + /** * Adds the given data source and optionally sets it as the active data source. * The method does this by first creating the data source. diff --git a/platform/core/src/hooks/useToolbar.tsx b/platform/core/src/hooks/useToolbar.tsx new file mode 100644 index 000000000..31eeb1d62 --- /dev/null +++ b/platform/core/src/hooks/useToolbar.tsx @@ -0,0 +1,58 @@ +import { useCallback, useEffect, useState } from 'react'; + +export function useToolbar({ servicesManager, buttonSection = 'primary' }) { + const { toolbarService, viewportGridService } = servicesManager.services; + const { EVENTS } = toolbarService; + + const [toolbarButtons, setToolbarButtons] = useState( + toolbarService.getButtonSection(buttonSection) + ); + + // Callback function for handling toolbar interactions + const onInteraction = useCallback( + args => { + const viewportId = viewportGridService.getActiveViewportId(); + const refreshProps = { + viewportId, + }; + toolbarService.recordInteraction(args, { + refreshProps, + }); + }, + [toolbarService, viewportGridService] + ); + + // Effect to handle toolbar modification events + useEffect(() => { + const handleToolbarModified = () => { + setToolbarButtons(toolbarService.getButtonSection(buttonSection)); + }; + + const subs = [EVENTS.TOOL_BAR_MODIFIED, EVENTS.TOOL_BAR_STATE_MODIFIED].map(event => { + return toolbarService.subscribe(event, handleToolbarModified); + }); + + return () => { + subs.forEach(sub => sub.unsubscribe()); + }; + }, [toolbarService]); + + // Effect to handle active viewportId change event + useEffect(() => { + const events = [ + viewportGridService.EVENTS.ACTIVE_VIEWPORT_ID_CHANGED, + viewportGridService.EVENTS.VIEWPORTS_READY, + ]; + + const subscriptions = events.map(event => { + return viewportGridService.subscribe(event, ({ viewportId }) => { + viewportId = viewportId || viewportGridService.getActiveViewportId(); + toolbarService.refreshToolbarState({ viewportId }); + }); + }); + + return () => subscriptions.forEach(sub => sub.unsubscribe()); + }, [viewportGridService, toolbarService]); + + return { toolbarButtons, onInteraction }; +} diff --git a/platform/core/src/index.test.js b/platform/core/src/index.test.js index 7c000ae59..3c0922200 100644 --- a/platform/core/src/index.test.js +++ b/platform/core/src/index.test.js @@ -45,6 +45,7 @@ describe('Top level exports', () => { 'pubSubServiceInterface', 'PubSubService', 'PanelService', + 'useToolbar', ].sort(); const exports = Object.keys(OHIF).sort(); diff --git a/platform/core/src/index.ts b/platform/core/src/index.ts index ddea2c457..13612d775 100644 --- a/platform/core/src/index.ts +++ b/platform/core/src/index.ts @@ -12,6 +12,7 @@ import utils from './utils'; import defaults from './defaults'; import * as Types from './types'; import * as Enums from './enums'; +import { useToolbar } from './hooks/useToolbar'; import { CineService, @@ -81,6 +82,7 @@ const OHIF = { pubSubServiceInterface, PubSubService, PanelService, + useToolbar, }; export { @@ -124,6 +126,7 @@ export { Enums, Types, PanelService, + useToolbar, }; export { OHIF }; diff --git a/platform/core/src/services/CineService/CineService.ts b/platform/core/src/services/CineService/CineService.ts index 153a186d5..9c027afb2 100644 --- a/platform/core/src/services/CineService/CineService.ts +++ b/platform/core/src/services/CineService/CineService.ts @@ -1,82 +1,80 @@ -const name = 'CineService'; +import { PubSubService } from '../_shared/pubSubServiceInterface'; -const publicAPI = { - name, - getState: _getState, - setCine: _setCine, - setIsCineEnabled: _setIsCineEnabled, - playClip: _playClip, - stopClip: _stopClip, - onModeExit: _onModeExit, - setServiceImplementation, -}; +class CineService extends PubSubService { + public static readonly EVENTS = { + CINE_STATE_CHANGED: 'event::cineStateChanged', + }; -const serviceImplementation = { - _getState: () => console.warn('getState() NOT IMPLEMENTED'), - _setCine: () => console.warn('setCine() NOT IMPLEMENTED'), - _playClip: () => console.warn('playClip() NOT IMPLEMENTED'), - _stopClip: () => console.warn('stopClip() NOT IMPLEMENTED'), - _setIsCineEnabled: () => console.warn('setIsCineEnabled() NOT IMPLEMENTED'), -}; - -function _getState() { - return serviceImplementation._getState(); -} - -function _setCine({ id, frameRate, isPlaying }) { - return serviceImplementation._setCine({ id, frameRate, isPlaying }); -} - -function _setIsCineEnabled(isCineEnabled) { - return serviceImplementation._setIsCineEnabled(isCineEnabled); -} - -function _playClip(element, playClipOptions) { - return serviceImplementation._playClip(element, playClipOptions); -} - -function _stopClip(element) { - return serviceImplementation._stopClip(element); -} - -function _onModeExit() { - _setIsCineEnabled(false); -} - -function setServiceImplementation({ - getState: getStateImplementation, - setCine: setCineImplementation, - setIsCineEnabled: setIsCineEnabledImplementation, - playClip: playClipImplementation, - stopClip: stopClipImplementation, -}) { - if (getStateImplementation) { - serviceImplementation._getState = getStateImplementation; - } - if (setCineImplementation) { - serviceImplementation._setCine = setCineImplementation; - } - if (setIsCineEnabledImplementation) { - serviceImplementation._setIsCineEnabled = setIsCineEnabledImplementation; - } - - if (playClipImplementation) { - serviceImplementation._playClip = playClipImplementation; - } - - if (stopClipImplementation) { - serviceImplementation._stopClip = stopClipImplementation; - } -} - -const CineService = { - REGISTRATION: { - altName: name, + public static REGISTRATION = { name: 'cineService', + altName: 'CineService', create: ({ configuration = {} }) => { - return publicAPI; + return new CineService(); }, - }, -}; + }; + + serviceImplementation = {}; + + constructor() { + super(CineService.EVENTS); + this.serviceImplementation = {}; + } + + public getState() { + return this.serviceImplementation._getState(); + } + + public setCine({ id, frameRate, isPlaying }) { + return this.serviceImplementation._setCine({ id, frameRate, isPlaying }); + } + + public setIsCineEnabled(isCineEnabled) { + this.serviceImplementation._setIsCineEnabled(isCineEnabled); + // Todo: for some reason i need to do this setTimeout since the + // reducer state does not get updated right away and if we publish the + // event and we use the cineService.getState() it will return the old state + setTimeout(() => { + this._broadcastEvent(this.EVENTS.CINE_STATE_CHANGED, isCineEnabled); + }, 0); + } + + public playClip(element, playClipOptions) { + return this.serviceImplementation._playClip(element, playClipOptions); + } + + public stopClip(element) { + return this.serviceImplementation._stopClip(element); + } + + public _onModeExit() { + this.setIsCineEnabled(false); + } + + public setServiceImplementation({ + getState: getStateImplementation, + setCine: setCineImplementation, + setIsCineEnabled: setIsCineEnabledImplementation, + playClip: playClipImplementation, + stopClip: stopClipImplementation, + }) { + if (getStateImplementation) { + this.serviceImplementation._getState = getStateImplementation; + } + if (setCineImplementation) { + this.serviceImplementation._setCine = setCineImplementation; + } + if (setIsCineEnabledImplementation) { + this.serviceImplementation._setIsCineEnabled = setIsCineEnabledImplementation; + } + + if (playClipImplementation) { + this.serviceImplementation._playClip = playClipImplementation; + } + + if (stopClipImplementation) { + this.serviceImplementation._stopClip = stopClipImplementation; + } + } +} export default CineService; diff --git a/platform/core/src/services/CustomizationService/CustomizationService.ts b/platform/core/src/services/CustomizationService/CustomizationService.ts index be8639d5e..0d97a3307 100644 --- a/platform/core/src/services/CustomizationService/CustomizationService.ts +++ b/platform/core/src/services/CustomizationService/CustomizationService.ts @@ -135,15 +135,15 @@ export default class CustomizationService extends PubSubService { return this.getModeCustomization(customizationId, defaultValue); } - /** Mode customizations are changes to the behaviour of the extensions + /** Mode customizations are changes to the behavior of the extensions * when running in a given mode. Reset clears mode customizations. * Note that global customizations over-ride mode customizations. - * @param defautlValue to return if no customization specified. + * @param defaultValue to return if no customization specified. */ public getModeCustomization( customizationId: string, defaultValue?: Customization - ): Customization | void { + ): Customization { const customization = this.globalCustomizations[customizationId] ?? this.modeCustomizations[customizationId] ?? diff --git a/platform/core/src/services/MeasurementService/MeasurementService.ts b/platform/core/src/services/MeasurementService/MeasurementService.ts index 7d253ecff..49ce726f0 100644 --- a/platform/core/src/services/MeasurementService/MeasurementService.ts +++ b/platform/core/src/services/MeasurementService/MeasurementService.ts @@ -113,7 +113,7 @@ class MeasurementService extends PubSubService { public readonly VALUE_TYPES = VALUE_TYPES; private measurements = new Map(); - private unmappedMeasurements = new Set(); + private unmappedMeasurements = new Map(); constructor() { super(EVENTS); @@ -485,7 +485,15 @@ class MeasurementService extends PubSubService { measurement = toMeasurementSchema(sourceAnnotationDetail); measurement.source = source; } catch (error) { - this.unmappedMeasurements.add(sourceAnnotationDetail.uid); + // Todo: handle other + this.unmappedMeasurements.set(sourceAnnotationDetail.uid, { + ...sourceAnnotationDetail, + source: { + name: source.name, + version: source.version, + uid: source.uid, + }, + }); console.log('Failed to map', error); throw new Error( @@ -567,10 +575,9 @@ class MeasurementService extends PubSubService { } clearMeasurements() { - this.unmappedMeasurements.clear(); - // Make a copy of the measurements - const measurements = [...this.measurements.values()]; + const measurements = [...this.measurements.values(), ...this.unmappedMeasurements.values()]; + this.unmappedMeasurements.clear(); this.measurements.clear(); this._broadcastEvent(this.EVENTS.MEASUREMENTS_CLEARED, { measurements }); } diff --git a/platform/core/src/services/ServicesManager.ts b/platform/core/src/services/ServicesManager.ts index 445e5aec3..b7419639a 100644 --- a/platform/core/src/services/ServicesManager.ts +++ b/platform/core/src/services/ServicesManager.ts @@ -1,9 +1,13 @@ import log from './../log.js'; import Services from '../types/Services'; import CommandsManager from '../classes/CommandsManager'; +import ExtensionManager from '../extensions/ExtensionManager'; export default class ServicesManager { public services: Services = {}; + public registeredServiceNames: string[] = []; + private _commandsManager: CommandsManager; + private _extensionManager: ExtensionManager; constructor(commandsManager: CommandsManager) { this._commandsManager = commandsManager; @@ -11,6 +15,10 @@ export default class ServicesManager { this.registeredServiceNames = []; } + setExtensionManager(extensionManager) { + this._extensionManager = extensionManager; + } + /** * Registers a new service. * @@ -40,6 +48,7 @@ export default class ServicesManager { configuration, commandsManager: this._commandsManager, servicesManager: this, + extensionManager: this._extensionManager, }); if (service.altName) { console.log('Registering old name', service.altName); diff --git a/platform/core/src/services/ToolBarService/ToolbarService.ts b/platform/core/src/services/ToolBarService/ToolbarService.ts index 269f93da4..eff3912ab 100644 --- a/platform/core/src/services/ToolBarService/ToolbarService.ts +++ b/platform/core/src/services/ToolBarService/ToolbarService.ts @@ -1,109 +1,79 @@ -import merge from 'lodash.merge'; import { CommandsManager } from '../../classes'; import { ExtensionManager } from '../../extensions'; import { PubSubService } from '../_shared/pubSubServiceInterface'; -import type { RunCommand, Commands } from '../../types/Command'; +import type { RunCommand } from '../../types/Command'; +import ServicesManager from '../ServicesManager'; +import { Button, ButtonProps, EvaluateFunction, EvaluatePublic, NestedButtonProps } from './types'; const EVENTS = { TOOL_BAR_MODIFIED: 'event::toolBarService:toolBarModified', TOOL_BAR_STATE_MODIFIED: 'event::toolBarService:toolBarStateModified', }; -export type ButtonListeners = Record; - -export interface ButtonProps { - primary?: Button; - secondary?: Button; - items?: Button[]; -} - -export interface Button extends Commands { - id: string; - icon?: string; - label?: string; - type?: string; - tooltip?: string; - isActive?: boolean; - listeners?: ButtonListeners; - props?: ButtonProps; -} - -export interface ExtraButtonOptions { - listeners?: ButtonListeners; - isActive?: boolean; -} - export default class ToolbarService extends PubSubService { public static REGISTRATION = { name: 'toolbarService', - // Note the old name is ToolBarService, with an upper B altName: 'ToolBarService', - create: ({ commandsManager }) => { - return new ToolbarService(commandsManager); + create: ({ commandsManager, extensionManager, servicesManager }) => { + return new ToolbarService(commandsManager, extensionManager, servicesManager); }, }; - public static _createButton( - type: string, - id: string, - icon: string, - label: string, - commands: Command | Commands, - tooltip?: string, - extraOptions?: ExtraButtonOptions - ): Button { + public static createButton(options: { + id: string; + label: string; + commands: RunCommand; + icon?: string; + tooltip?: string; + evaluate?: EvaluatePublic; + listeners?: Record; + }): ButtonProps { + const { id, icon, label, commands, tooltip, evaluate, listeners } = options; return { id, icon, label, - type, commands, - tooltip, - ...extraOptions, + tooltip: tooltip || label, + evaluate, + listeners, }; } - public static _createActionButton = ToolbarService._createButton.bind(null, 'action'); - public static _createToggleButton = ToolbarService._createButton.bind(null, 'toggle'); - public static _createToolButton = ToolbarService._createButton.bind(null, 'tool'); - - buttons: Record = {}; state: { - primaryToolId: string; - toggles: Record; - groups: Record; - } = { primaryToolId: '', toggles: {}, groups: {} }; - - buttonSections: Record = { - /** - * primary: ['Zoom', 'Wwwc'], - * secondary: ['Length', 'RectangleRoi'] - */ + // all buttons in the toolbar with their props + buttons: Record; + // the buttons in the toolbar, grouped by section, with their ids + buttonSections: Record; + } = { + buttons: {}, + buttonSections: {}, }; + _commandsManager: CommandsManager; - extensionManager: ExtensionManager; + _extensionManager: ExtensionManager; + _servicesManager: ServicesManager; + _evaluateFunction: Record = {}; + _serviceSubscriptions = []; - defaultTool: Record; - - constructor(commandsManager: CommandsManager) { + constructor( + commandsManager: CommandsManager, + extensionManager: ExtensionManager, + servicesManager: ServicesManager + ) { super(EVENTS); this._commandsManager = commandsManager; - } - - public init(extensionManager: ExtensionManager): void { - this.extensionManager = extensionManager; + this._extensionManager = extensionManager; + this._servicesManager = servicesManager; } public reset(): void { this.unsubscriptions.forEach(unsub => unsub()); this.state = { - primaryToolId: 'WindowLevel', - toggles: {}, - groups: {}, + buttons: {}, + buttonSections: {}, }; this.unsubscriptions = []; - this.buttonSections = {}; - this.buttons = {}; } public onModeEnter(): void { @@ -111,16 +81,52 @@ export default class ToolbarService extends PubSubService { } /** - * Sets the default tool that will be activated whenever the primary tool is - * deactivated without activating another/different tool. - * @param interaction the interaction command that will set the default tool active + * Registers an evaluate function with the specified name. + * + * @param name - The name of the evaluate function. + * @param handler - The evaluate function handler. */ - public setDefaultTool(interaction) { - this.defaultTool = interaction; + public registerEvaluateFunction(name: string, handler: EvaluateFunction) { + this._evaluateFunction[name] = handler; } - public getDefaultTool() { - return this.defaultTool; + /** + * Registers a service and its event to listen for updates and refreshes the toolbar state when the event is triggered. + * @param service - The service to register. + * @param event - The event to listen for. + */ + public registerEventForToolbarUpdate(service, events) { + const { viewportGridService } = this._servicesManager.services; + const callback = () => { + const viewportId = viewportGridService.getActiveViewportId(); + this.refreshToolbarState({ viewportId }); + }; + + const unsubscriptions = events.map(event => { + if (service.subscribe) { + return service.subscribe(event, callback); + } else if (service.addEventListener) { + return service.addEventListener(event, callback); + } + }); + + unsubscriptions.forEach(unsub => this._serviceSubscriptions.push(unsub)); + } + + /** + * Adds buttons to the toolbar. + * @param buttons - The buttons to be added. + */ + public addButtons(buttons: Button[]): void { + buttons.forEach(button => { + if (!this.state.buttons[button.id]) { + this.state.buttons[button.id] = button; + } + }); + + this._broadcastEvent(this.EVENTS.TOOL_BAR_MODIFIED, { + ...this.state, + }); } /** @@ -130,160 +136,180 @@ export default class ToolbarService extends PubSubService { * used for calling the specified interaction. That is, the command is * called with {...commandOptions,...options} */ - public recordInteraction(interaction, options?: Record) { - if (!interaction) { - return; + public recordInteraction( + interaction, + options?: { + refreshProps: Record; + [key: string]: unknown; } - const commandsManager = this._commandsManager; - const { groupId, itemId, commands, type } = interaction; - let { interactionType } = interaction; - - // if not interaction type, assume the type can be used - if (!interactionType) { - interactionType = type; + ) { + // if interaction is a string, we can assume it is the itemId + // and get the props to get the other properties + if (typeof interaction === 'string') { + interaction = this.getButtonProps(interaction); } - switch (interactionType) { - case 'action': { - commandsManager.run(commands, options); - break; - } - case 'tool': { - try { - const alternateInteraction = - this.state.primaryToolId === itemId && - this.defaultTool?.itemId !== itemId && - this.getDefaultTool(); - if (alternateInteraction) { - // Allow toggling the mode off - return this.recordInteraction(alternateInteraction, options); - } - commandsManager.run(commands, options); + const itemId = interaction.itemId ?? interaction.id; + interaction.itemId = itemId; - // only set the primary tool if no error was thrown. - // if the itemId is not undefined use it; otherwise, set the first tool in - // the commands as the primary tool - this.state.primaryToolId = itemId || commands[0].commandOptions?.toolName; - } catch (error) { - console.warn(error); - } + const commands = Array.isArray(interaction.commands) + ? interaction.commands + : [interaction.commands]; - break; - } - case 'toggle': { - const { commands } = interaction; - let commandExecuted; - - // only toggle if a command was executed - this.state.toggles[itemId] = - this.state.toggles[itemId] === undefined ? true : !this.state.toggles[itemId]; - - if (!commands) { - break; - } - - commands.forEach(({ commandName, commandOptions, context }) => { - if (!commandOptions) { - commandOptions = {}; - } - - if (commandName) { - commandOptions.toggledState = this.state.toggles[itemId]; - - try { - commandsManager.runCommand(commandName, commandOptions, context); - commandExecuted = true; - } catch (error) { - console.warn(error); - } - } - }); - - if (!commandExecuted) { - // If no command was executed, we need to toggle the state back - this.state.toggles[itemId] = !this.state.toggles[itemId]; - } - - break; - } - default: - throw new Error(`Invalid interaction type: ${interactionType}`); - } - - // Todo: comment out for now - // Run command if there's one associated - // - // NOTE: Should probably just do this for tools as well? - // But would be nice if we could enforce at least the command name? - // let unsubscribe; - // if (commandName) { - // unsubscribe = commandsManager.runCommand(commandName, commandOptions); - // } - - // // Storing the unsubscribe for later resetting - // if (unsubscribe && typeof unsubscribe === 'function') { - // if (this.unsubscriptions.indexOf(unsubscribe) === -1) { - // this.unsubscriptions.push(unsubscribe); - // } - // } - - // Track last touched id for each group - if (groupId) { - this.state.groups[groupId] = itemId; - } - - this._broadcastEvent(this.EVENTS.TOOL_BAR_STATE_MODIFIED, { ...this.state }); - } - - getButtons() { - return this.buttons; - } - - getActiveTools() { - const activeTools = [this.state.primaryToolId]; - Object.keys(this.state.toggles).forEach(key => { - if (this.state.toggles[key]) { - activeTools.push(key); - } - }); - return activeTools; - } - - getActivePrimaryTool() { - return this.state.primaryToolId; - } - - /** Sets the toggle state of a button to the isToggled state */ - public setToggled(id: string, isToggled: boolean): void { - if (isToggled) { - this.state.toggles[id] = true; - } else { - delete this.state.toggles[id]; - } - } - - setButton(id, button) { - if (this.buttons[id]) { - this.buttons[id] = merge(this.buttons[id], button); - this._broadcastEvent(this.EVENTS.TOOL_BAR_MODIFIED, { - buttons: this.buttons, - button: this.buttons[id], - buttonSections: this.buttonSections, + if (!commands?.length) { + this.refreshToolbarState({ + ...options?.refreshProps, + itemId, + interaction, }); } + + const commandOptions = { ...options, ...interaction }; + + // Loop through commands and run them with the combined options + this._commandsManager.run(commands, commandOptions); + + this.refreshToolbarState({ + ...options?.refreshProps, + itemId, + interaction, + }); } + /** + * Consolidates the state of the toolbar after an interaction, it accepts + * props that get passed to the buttons + * + * @param refreshProps - The props that buttons need to get evaluated, they can be + * { viewportId, toolGroup} for cornerstoneTools. + * + * Todo: right now refreshToolbarState should be used in the context where + * we have access to the toolGroup and viewportId, but we should be able to + * pass the props to the toolbar service and it should be able to decide + * which buttons to evaluate based on the props + */ + public refreshToolbarState(refreshProps) { + const buttons = this.state.buttons; + + // Tracks evaluated buttons to avoid re-evaluating them (this will + // cause issue for toggles where if the button is in primary + // and secondary it will be evaluated twice) + const evaluationResults = new Map(); + + const evaluateButtonProps = (button, props, refreshProps) => { + if (evaluationResults.has(button.id)) { + const { disabled, className, isActive } = evaluationResults.get(button.id); + return { ...props, disabled, className, isActive }; + } else { + const evaluated = props.evaluate?.({ ...refreshProps, button }); + const updatedProps = { + ...props, + disabled: evaluated?.disabled || false, + className: evaluated?.className || '', + isActive: evaluated?.isActive, // isActive will be undefined for buttons without this prop + }; + evaluationResults.set(button.id, updatedProps); + return updatedProps; + } + }; + + const refreshedButtons = Object.values(buttons).reduce((acc, button: Button) => { + const isNested = (button.props as NestedButtonProps)?.groupId; + + if (!isNested) { + this.handleEvaluate(button.props); + const buttonProps = button.props as ButtonProps; + + const updatedProps = evaluateButtonProps(button, buttonProps, refreshProps); + acc[button.id] = { + ...button, + props: updatedProps, + }; + } else { + let buttonProps = button.props as NestedButtonProps; + // if it is nested we should perform evaluate on each item in the group + this.handleEvaluateNested(buttonProps); + + const { evaluate: groupEvaluate } = buttonProps; + + const groupEvaluated = groupEvaluate?.({ ...refreshProps, button }); + // handle group evaluate function which might switch the primary + // item in the group + buttonProps = { + ...buttonProps, + primary: groupEvaluated?.primary || buttonProps.primary, + }; + + const { primary, items } = buttonProps; + + // primary and items evaluate functions + let updatedPrimary; + if (primary) { + updatedPrimary = evaluateButtonProps(primary, primary, refreshProps); + } + const updatedItems = items.map(item => evaluateButtonProps(item, item, refreshProps)); + buttonProps = { + ...buttonProps, + primary: updatedPrimary, + items: updatedItems, + }; + + acc[button.id] = { + ...button, + props: buttonProps, + }; + } + + return acc; + }, {}); + + this.setButtons(refreshedButtons); + return this.state; + } + + /** + * Sets the buttons for the toolbar, don't use this method to record an + * interaction, since it doesn't update the state of the buttons, use + * this if you know the buttons you want to set and you want to set them + * all at once. + * @param buttons - The buttons to set. + */ + public setButtons(buttons) { + this.state.buttons = buttons; + this._broadcastEvent(this.EVENTS.TOOL_BAR_MODIFIED, { + buttons: this.state.buttons, + buttonSections: this.state.buttonSections, + }); + } + + /** + * Retrieves a button by its ID. + * @param id - The ID of the button to retrieve. + * @returns The button with the specified ID. + */ public getButton(id: string): Button { - return this.buttons[id]; + return this.state.buttons[id]; } - /** Gets a nested button, found in the items/props for the children */ - public getNestedButton(id: string): Button { - if (this.buttons[id]) { - return this.buttons[id]; - } - for (const buttonId of Object.keys(this.buttons)) { - const { primary, items } = this.buttons[buttonId].props || {}; + /** + * Retrieves the buttons from the toolbar service. + * @returns An array of buttons. + */ + public getButtons() { + return this.state.buttons; + } + + /** + * Retrieves the button properties for the specified button ID. + * It prioritizes nested buttons over regular buttons if the ID is found + * in both. + * + * @param id - The ID of the button. + * @returns The button properties. + */ + public getButtonProps(id: string): ButtonProps { + for (const buttonId of Object.keys(this.state.buttons)) { + const { primary, items } = (this.state.buttons[buttonId].props as NestedButtonProps) || {}; if (primary?.id === id) { return primary; } @@ -292,97 +318,57 @@ export default class ToolbarService extends PubSubService { return found; } } + + // This should be checked after we checked the nested buttons, since + // we are checking based on the ids, the nested objects are higher priority + // and more specific + if (this.state.buttons[id]) { + return this.state.buttons[id].props as ButtonProps; + } } - setButtons(buttons) { - this.buttons = buttons; - this._broadcastEvent(this.EVENTS.TOOL_BAR_MODIFIED, { - buttons: this.buttons, - buttonSections: this.buttonSections, - }); - } + _getButtonUITypes() { + const registeredToolbarModules = this._extensionManager.modules['toolbarModule']; - _buttonTypes() { - const buttonTypes = {}; - const registeredToolbarModules = this.extensionManager.modules['toolbarModule']; - - if (Array.isArray(registeredToolbarModules) && registeredToolbarModules.length) { - registeredToolbarModules.forEach(toolbarModule => - toolbarModule.module.forEach(def => { - buttonTypes[def.name] = def; - }) - ); + if (!Array.isArray(registeredToolbarModules)) { + return {}; } - return buttonTypes; - } - - createButtonSection(key, buttons) { - // Maybe do this mapping at time of return, instead of time of create - // Props check important for validation here... - - this.buttonSections[key] = buttons; - this._broadcastEvent(this.EVENTS.TOOL_BAR_MODIFIED, {}); - } - - /** - * - * Finds a button section by it's name/tool group id, then maps the list of string name - * identifiers to schema/values that can be used to render the buttons. - * - * @param toolGroupId - the tool group id - * @param props - optional properties to apply to every button of the section - * @param defaultToolGroupId - the fallback section to return if the given toolGroupId section is not available - */ - getButtonSection( - toolGroupId: string, - props?: Record, - defaultToolGroupId = 'primary' - ) { - const buttonSectionIds = - this.buttonSections[toolGroupId] || this.buttonSections[defaultToolGroupId]; - const buttonsInSection = []; - - if (buttonSectionIds && buttonSectionIds.length !== 0) { - buttonSectionIds.forEach(btnId => { - const btn = this.buttons[btnId]; - const metadata = {}; - const mappedBtn = this._mapButtonToDisplay(btn, toolGroupId, metadata, props); - - buttonsInSection.push(mappedBtn); + return registeredToolbarModules.reduce((buttonTypes, toolbarModule) => { + toolbarModule.module.forEach(def => { + buttonTypes[def.name] = def; }); - } - return buttonsInSection; + return buttonTypes; + }, {}); } /** - * - * @param {object[]} buttons - * @param {string} buttons[].id + * Creates a button section with the specified key and buttons. + * @param {string} key - The key of the button section. + * @param {Array} buttons - The buttons to be added to the section. */ - addButtons(buttons) { - buttons.forEach(button => { - if (!this.buttons[button.id]) { - this.buttons[button.id] = button; - } - }); - this._setTogglesForButtonItems(buttons); - - this._broadcastEvent(this.EVENTS.TOOL_BAR_MODIFIED, {}); + createButtonSection(key, buttons) { + this.state.buttonSections[key] = buttons; + this._broadcastEvent(this.EVENTS.TOOL_BAR_MODIFIED, { ...this.state }); } - _setTogglesForButtonItems(buttons) { - if (!buttons) { - return; - } + /** + * Retrieves the button section with the specified sectionId. + * + * @param sectionId - The ID of the button section to retrieve. + * @param props - Optional additional properties for mapping the button to display. + * @returns An array of buttons in the specified section, mapped to their display representation. + */ + getButtonSection(sectionId: string, props?: Record) { + const buttonSectionIds = this.state.buttonSections[sectionId]; - buttons.forEach(buttonItem => { - if (buttonItem.type === 'toggle') { - this.setToggled(buttonItem.id, buttonItem.isActive); - } - this._setTogglesForButtonItems(buttonItem.props?.items); - }); + return ( + buttonSectionIds?.map(btnId => { + const btn = this.state.buttons[btnId]; + return this._mapButtonToDisplay(btn, props); + }) || [] + ); } /** @@ -392,18 +378,22 @@ export default class ToolbarService extends PubSubService { * @param {*} metadata * @param {*} props - Props set by the Viewer layer */ - _mapButtonToDisplay(btn, btnSection, metadata, props) { + _mapButtonToDisplay(btn, props) { if (!btn) { return; } - const { id, type, component } = btn; - const buttonType = this._buttonTypes()[type]; + const { id, uiType, component } = btn; + const { groupId } = btn.props; + + const buttonType = this._getButtonUITypes()[uiType]; if (!buttonType) { return; } + !groupId ? this.handleEvaluate(btn.props) : this.handleEvaluateNested(btn.props); + return { id, Component: component || buttonType.defaultComponent, @@ -411,7 +401,54 @@ export default class ToolbarService extends PubSubService { }; } + handleEvaluateNested = props => { + const { primary, items } = props; + // handle group evaluate function + this.handleEvaluate(props); + + // primary and items evaluate functions + if (primary) { + this.handleEvaluate(primary); + } + items.forEach(item => this.handleEvaluate(item)); + }; + + handleEvaluate = props => { + const { evaluate } = props; + + if (typeof evaluate === 'function') { + return; + } + + if (typeof evaluate === 'string') { + const evaluateFunction = this._evaluateFunction[evaluate]; + + if (evaluateFunction) { + props.evaluate = evaluateFunction; + return; + } + + throw new Error( + `Evaluate function not found for name: ${evaluate}, you can register an evaluate function with the getToolbarModule in your extensions` + ); + } + + if (typeof evaluate === 'object') { + const { name, options } = evaluate; + const evaluateFunction = this._evaluateFunction[name]; + + if (evaluateFunction) { + props.evaluate = args => evaluateFunction({ ...args, ...options }); + return; + } + + throw new Error( + `Evaluate function not found for name: ${name}, you can register an evaluate function with the getToolbarModule in your extensions` + ); + } + }; + getButtonComponentForUIType(uiType: string) { - return uiType ? this._buttonTypes()[uiType]?.defaultComponent ?? null : null; + return uiType ? this._getButtonUITypes()[uiType]?.defaultComponent ?? null : null; } } diff --git a/platform/core/src/services/ToolBarService/types.ts b/platform/core/src/services/ToolBarService/types.ts new file mode 100644 index 000000000..9b53e5e3a --- /dev/null +++ b/platform/core/src/services/ToolBarService/types.ts @@ -0,0 +1,43 @@ +import type { RunCommand } from '../../types/Command'; + +export type EvaluatePublic = string | EvaluateFunction; + +export type EvaluateFunction = (props: Record) => { + disabled: boolean; + className: string; +}; + +export type ButtonProps = { + id: string; + icon: string; + label: string; + tooltip?: string; + commands?: RunCommand; + disabled?: boolean; + className?: string; + evaluate?: EvaluatePublic; + listeners?: Record; +}; + +export type NestedButtonProps = { + groupId: string; + // group evaluate which is different + // from the evaluate function for the primary and items + evaluate?: EvaluatePublic; + items: ButtonProps[]; + primary: ButtonProps & { + // Todo: this is really ugly but really we don't have any other option + // the ui design requires this since the button should be rounded if + // active otherwise it should not be rounded + isActive?: boolean; + }; + secondary: ButtonProps; +}; + +export type Button = { + id: string; + props: ButtonProps | NestedButtonProps; + // button ui type (e.g. 'ohif.splitButton', 'ohif.radioGroup') + // extensions can provide custom components for these types + uiType: string; +}; diff --git a/platform/core/src/services/ViewportGridService/ViewportGridService.ts b/platform/core/src/services/ViewportGridService/ViewportGridService.ts index 5f2a2be8a..1d2837347 100644 --- a/platform/core/src/services/ViewportGridService/ViewportGridService.ts +++ b/platform/core/src/services/ViewportGridService/ViewportGridService.ts @@ -7,6 +7,7 @@ class ViewportGridService extends PubSubService { LAYOUT_CHANGED: 'event::layoutChanged', GRID_STATE_CHANGED: 'event::gridStateChanged', GRID_SIZE_CHANGED: 'event::gridSizeChanged', + VIEWPORTS_READY: 'event::viewportsReady', }; public static REGISTRATION = { @@ -35,6 +36,7 @@ class ViewportGridService extends PubSubService { onModeExit: onModeExitImplementation, set: setImplementation, getNumViewportPanes: getNumViewportPanesImplementation, + setViewportIsReady: setViewportIsReadyImplementation, }): void { if (getStateImplementation) { this.serviceImplementation._getState = getStateImplementation; @@ -61,6 +63,14 @@ class ViewportGridService extends PubSubService { if (getNumViewportPanesImplementation) { this.serviceImplementation._getNumViewportPanes = getNumViewportPanesImplementation; } + + if (setViewportIsReadyImplementation) { + this.serviceImplementation._setViewportIsReady = setViewportIsReadyImplementation; + } + } + + public publishViewportsReady() { + this._broadcastEvent(this.EVENTS.VIEWPORTS_READY, {}); } public setActiveViewportId(id: string) { @@ -74,6 +84,10 @@ class ViewportGridService extends PubSubService { return this.serviceImplementation._getState(); } + public setViewportIsReady(viewportId, callback) { + this.serviceImplementation._setViewportIsReady(viewportId, callback); + } + public getActiveViewportId() { const state = this.getState(); return state.activeViewportId; @@ -110,6 +124,17 @@ class ViewportGridService extends PubSubService { }); } + /** + * Retrieves the display set instance UIDs for a given viewport. + * @param viewportId The ID of the viewport. + * @returns An array of display set instance UIDs. + */ + public getDisplaySetsUIDsForViewport(viewportId: string) { + const state = this.getState(); + const viewport = state.viewports.get(viewportId); + return viewport?.displaySetInstanceUIDs; + } + /** * * @param numCols, numRows - the number of columns and rows to apply diff --git a/platform/core/src/services/index.ts b/platform/core/src/services/index.ts index ab127fb97..3921c7873 100644 --- a/platform/core/src/services/index.ts +++ b/platform/core/src/services/index.ts @@ -13,11 +13,11 @@ import HangingProtocolService from './HangingProtocolService'; import pubSubServiceInterface, { PubSubService } from './_shared/pubSubServiceInterface'; import UserAuthenticationService from './UserAuthenticationService'; import CustomizationService from './CustomizationService'; - -import Services from '../types/Services'; import StateSyncService from './StateSyncService'; import PanelService from './PanelService'; +import type Services from '../types/Services'; + export { Services, MeasurementService, diff --git a/platform/core/src/types/Command.ts b/platform/core/src/types/Command.ts index 8a8b8e921..965b4596e 100644 --- a/platform/core/src/types/Command.ts +++ b/platform/core/src/types/Command.ts @@ -1,9 +1,11 @@ -export interface Command { +export type SimpleCommand = string; +export interface ComplexCommand { commandName: string; commandOptions?: Record; context?: string; } +export type Command = SimpleCommand | ComplexCommand; export type RunCommand = Command | Command[]; /** A set of commands, typically contained in a tool item or other configuration */ diff --git a/platform/docs/docs/assets/img/reference-lines-from-start.png b/platform/docs/docs/assets/img/reference-lines-from-start.png new file mode 100644 index 0000000000000000000000000000000000000000..6e63ee43d6f148946f4724bf3b3e8229b7154908 GIT binary patch literal 452046 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 z zR&v+JDTYf*OxMV`o5GFn-^#WO$~5{)=(L{5=Gr}DcLmgiOT9EQ3O6#s3}=Xa(YSLF zLG~|78r0TdPonl9mFsRL>&s})6zC?3(w<2ZZoSq!w|`EK@NvfSLp3pu$u44tuHgjdv@Pdp>qYRjOgj`p_|qH38%MqlNi?zfVR|z(LkK@6$@bK;VMu*B;gs z08@%xOiZ2Sx5S=e=5jv{Mug*JYG-8a{DIXlWO3hea8mQ^)NX8;X$nrS4TRi0aE<8L z6l()K=wqK3`H?85uJ)dalXEjXT}JasRu_6rF#2lqb(<=qr3ZMvZASLcGVIsmg*jo! zYf?XnN^(zIaSVmL&cy{RtEx(0ELPn6cEHer9JsmpJNO_DLa*}&12zgy+gke3-GU=ngniSW5Q+iiX~EkJ%gV+I)el(w|Cz z6-_QJXRY_k3o3E7L!WI3$akH6eg*JdEhEM2dsM{9IYY?@qhc~nk;7BSxv71pVci|k z$AIUzIv_Itp2?|rjJv%M)M3UePeC#PlrHt>k%;P0PuPa!ww5vEhv?lXKJ5<$ z*vPsuzlpd+$_mY@Y(4gNH=$NCyz7yT2|V4REx=FK4soEZae`5XHV;0#`X8tEJOc?3 zdkeL)l?8$|P1#TazoIeWeZs5(&*uOjcV=#?kMFUS&3;W$TDnaKVWtW@c2B@F!;vgZ z1#+Cluklz{tr3j^FbiEn(8g7a$c5aD>}QF*3q(yjK~79ucuP=-T9Ue|5&i^ zSCvNoy$E3OGjL!p0ddnTapuasce$(nQW&wx8JjgKHgC;+U&ZA)HIDsWkbf2zt7vE) zbo_qk{qnW-m*`9D4Dng+jb%qdRQ=+c`p+pJ;KSMJl z%XQ@p*(su_c=fVTBEJn95JJTMs8SQpNh?2NyC)8)UApy1uS$g~>YK>@yoSpS9VZm# z`u8vWrF7Tn-99U+tOu`NMM{>)@A~oTT-xNHTVk&s)_#5@;eghA{i~Yt`~E2V^kj>* z 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

fcR>LZ()u;$jVGCgkObb`WE$sR_@I$VLG9jzM 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 z%0D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 C3*zbk literal 0 HcmV?d00001 diff --git a/platform/docs/docs/migration-guide.md b/platform/docs/docs/migration-guide.md index c252d23c8..9ca0cf8a2 100644 --- a/platform/docs/docs/migration-guide.md +++ b/platform/docs/docs/migration-guide.md @@ -649,7 +649,6 @@ onModeEnter: ({ servicesManager, extensionManager, commandsManager }) => { // Init tool groups (see cornerstone3D for more details) initToolGroups(extensionManager, toolGroupService, commandsManager); - toolbarService.init(extensionManager); toolbarService.addButtons(toolbarButtons); toolbarService.createButtonSection('primary', [ 'MeasurementTools', diff --git a/platform/docs/docs/platform/extensions/modules/toolbar.md b/platform/docs/docs/platform/extensions/modules/toolbar.md index bf48fda6c..1af8549c7 100644 --- a/platform/docs/docs/platform/extensions/modules/toolbar.md +++ b/platform/docs/docs/platform/extensions/modules/toolbar.md @@ -6,29 +6,24 @@ sidebar_label: Toolbar # Module: Toolbar An extension can register a Toolbar Module by defining a `getToolbarModule` -method. `OHIF-v3`'s `default` extension (`"@ohif/extension-default"`) provides 5 main -toolbar button types: +method. `OHIF-v3`'s `default` extension (`"@ohif/extension-default"`) provides the +following toolbar button `uiTypes`: -![toolbarModule](../../../assets/img/toolbar-module.png) +- `ohif.radioGroup`: which is a simple button that can be clicked +- `ohif.splitButton`: which is a button with a dropdown menu +- `ohif.divider`: which is a simple divider ## Example Toolbar Module The Toolbar Module should return an array of `objects`. There are currently a few different variations of definitions, each one is detailed further down. +There are two things that the toolbar module can provide, first +a component, and second evaluators. +### Components ```js export default function getToolbarModule({ commandsManager, servicesManager }) { return [ - { - name: 'ohif.divider', - defaultComponent: ToolbarDivider, - clickHandler: () => {}, - }, - { - name: 'ohif.action', - defaultComponent: ToolbarButton, - clickHandler: () => {}, - }, { name: 'ohif.radioGroup', defaultComponent: ToolbarButton, @@ -53,214 +48,7 @@ export default function getToolbarModule({ commandsManager, servicesManager }) { } ``` -## Toolbar buttons consumed in modes - -Below we can see a simplified version of the `longitudinal` mode that shows how -a mode can add buttons to the toolbar by calling -`ToolBarService.addButtons(toolbarButtons)`. `toolbarButtons` is an array of -`toolDefinitions` which we will learn next. - -```js -function modeFactory({ modeConfiguration }) { - return { - id: 'viewer', - displayName: 'Basic Viewer', - - onModeEnter: ({ servicesManager, extensionManager }) => { - const { ToolBarService } = servicesManager.services; - - ToolBarService.init(extensionManager); - ToolBarService.addButtons(toolbarButtons); - }, - routes: [ - { - path: 'longitudinal', - layoutTemplate: ({ location, servicesManager }) => { - return { - /* */ - }; - }, - }, - ], - }; -} -``` - -## Button Definitions - -The simplest toolbarButtons definition has the following properties: - -![toolbarModule-zoom](../../../assets/img/toolbarModule-zoom.png) - -```js -{ - "id": "Zoom", - "type": "ohif.radioGroup", - "props": { - "type": "tool", - "icon": "tool-zoom", - "label": "Zoom", - "commands": [ - { - "commandName": "setToolActive", - "commandOptions": { - "toolName": "Zoom" - }, - "context": "CORNERSTONE" - } - ] - } -} -``` - -| property | description | values | -| ---------------- | ----------------------------------------------------------------- | ------------------------------------------- | -| `id` | Unique string identifier for the definition | \* | -| `type` | Used to determine the button's behaviour | "tool", "toggle", "action" | -| `icon` | A string name for an icon supported by the consuming application. | \* | -| `label` | User/display friendly to show in UI | \* | -| `commands` | (optional) The commands to run when the button is used. It include a commandName, commandOptions, and/or a context | Any command registered by a `CommandModule` | - -There are three main types of toolbar buttons: - -- `tool`: buttons that enable a tool by running the `setToolActive` command with - the `commandOptions` -- `toggle`: buttons that acts as a toggle: e.g., linking viewports -- `action`: buttons that executes an action: e.g., capture button to save - screenshot - -## Nested Buttons - -You can use the `ohif.splitButton` type to build a button with extra tools in -the dropdown. - -- First you need to give your `primary` tool definition to the split button. The primary -tool can specify a `uiType` property which can be one of the button types returned by -`getToolbarModule` that is a variation of `ToolbarButton`. If `uiType` is omitted then -`ToolbarButton` is used by default. -- The `secondary` properties can be a simple arrow down (`chevron-down` icon) -- For adding the extra tools add them to the `items` list. - -You can see below how `longitudinal` mode is using the available toolbarModule -to create `MeasurementTools` nested button - -![toolbarModule-nested-buttons](../../../assets/img/toolbarModule-nested-buttons.png) - -```js title="modes/longitudinal/src/toolbarButtons.js" -{ - "id": "MeasurementTools", - "type": "ohif.splitButton", - "props": { - "groupId": "MeasurementTools", - "isRadio": true, - "primary": { - "id": "Length", - "icon": "tool-length", - "label": "Length", - "type": "tool", - "commands": [ - { - "commandName": "setToolActive", - "commandOptions": { - "toolName": "Length" - }, - "context": "CORNERSTONE" - }, - { - "commandName": "setToolActive", - "commandOptions": { - "toolName": "SRLength", - "toolGroupId": "SRToolGroup" - }, - "context": "CORNERSTONE" - } - ], - "tooltip": "Length" - }, - "secondary": { - "icon": "chevron-down", - "label": "", - "isActive": true, - "tooltip": "More Measure Tools" - }, - "items": [ - { - "id": "Bidirectional", - "icon": "tool-bidirectional", - "label": "Bidirectional", - "type": "tool", - "commands": [ - { - "commandName": "setToolActive", - "commandOptions": { - "toolName": "Bidirectional" - }, - "context": "CORNERSTONE" - }, - { - "commandName": "setToolActive", - "commandOptions": { - "toolName": "SRBidirectional", - "toolGroupId": "SRToolGroup" - }, - "context": "CORNERSTONE" - } - ], - "tooltip": "Bidirectional Tool" - }, - { - "id": "ArrowAnnotate", - "icon": "tool-annotate", - "label": "Annotation", - "type": "tool", - "commands": [ - { - "commandName": "setToolActive", - "commandOptions": { - "toolName": "ArrowAnnotate" - }, - "context": "CORNERSTONE" - }, - { - "commandName": "setToolActive", - "commandOptions": { - "toolName": "SRArrowAnnotate", - "toolGroupId": "SRToolGroup" - }, - "context": "CORNERSTONE" - } - ], - "tooltip": "Arrow Annotate" - }, - ] - } -} -``` - -

- -## Layout Template - -Layout selector button and logic is also provided by the OHIF-v3 `default` -extension. To use it, you can just add the following definition to the list of -`toolDefinitions` - -![toolbarModule-layout](../../../assets/img/toolbarModule-layout.png) - -```js -{ - id: 'Layout', - type: 'ohif.layoutSelector', -} -``` - -
- -
- -## Custom Button +### Custom Components You can also create your own extension, and add your new custom tool appearance (e.g., split horizontally instead of vertically for split tool). Simply add @@ -283,6 +71,323 @@ export default function getToolbarModule({ commandsManager, servicesManager }) { } ``` -## Custom tool +Check out how to assemble the toolbar in the [modes](../../modes/index.md) section. -**I want to create a new tool** + +### Evaluators +Buttons may be equipped with evaluators, which are functions invoked by the toolbarService to assess the button's status. These evaluators are expected to return an object of `{className}` and may include additional details, as elaborated in the subsequent section. + +Evaluators play a crucial role in determining the button's status based on the viewport. For example, users should be restricted from clicking on the mpr if the displaySet is not reconstructable. Additionally, certain buttons within the toolbar may be associated with specific toolGroups and should remain inactive for certain viewports. + +Let's look at one of the evaluators (for `evaluate.cornerstoneTool`) + +```js + { + name: 'evaluate.cornerstoneTool', + evaluate: ({ viewportId, button }) => { + const toolGroup = toolGroupService.getToolGroupForViewport(viewportId); + + if (!toolGroup) { + return; + } + + const toolName = getToolNameForButton(button); + + if (!toolGroup || !toolGroup.hasTool(toolName)) { + return { + disabled: true, + className: '!text-common-bright ohif-disabled', + }; + } + + const isPrimaryActive = toolGroup.getActivePrimaryMouseButtonTool() === toolName; + + return { + disabled: false, + className: isPrimaryActive + ? '!text-black bg-primary-light' + : '!text-common-bright hover:!bg-primary-dark hover:!text-primary-light', + }; + }, +}, +``` + +as you can see the job of this evaluator is to determine if the button should be disabled or not. It does so by checking the `toolGroup` and the `toolName` and then returns an object with `disabled` and `className` properties. + +The following evaluators are provided by us: + +- `evaluate.cornerstoneTool`: If assigned to a button (see next), it will make the button react to the active viewport state based on its toolGroup. +- `evaluate.cornerstoneTool.toggle`: It is designed to consider tools with toggle behavior, such as reference lines and image overlay (either on or off). +- `evaluate.cornerstone.synchronizer`: This is designed to consider the synchronizer state of the viewport, whether it is synced or not. +- `evaluate.viewportProperties.toggle`: Some properties of the viewport are toggleable, such as invert, flip, rotate, etc. By assigning this evaluator to those buttons, they will react to the active viewport state based on its properties. This allows for dynamic buttons that change their appearance based on the active viewport state. +- `evaluate.mpr`: special evaluator for MPR since it needs to check if the displaySet is reconstructable or not. + + +Sometime you want to use the same `evaluator` for different purposes, in that case you can use an object +with `name` and `options` properties. For example, in `'evaluate.cornerstone.segmentation'` we use +this pattern, where multiple toolbar buttons are using the same evaluator but with different options ( + in this case `toolNames` +) + +```js +{ + name: 'evaluate.cornerstone.segmentation', + options: { + toolNames: ['CircleBrush' , 'SphereBrush'] + }, +}, +``` + +#### Group evaluators +Split buttons (see in [ToolbarService](../../services/data/ToolbarService.md) on how to define one) may feature a group evaluator, we provide two of them and you can write your own. + + +- `evaluate.group.promoteToPrimaryIfCornerstoneToolNotActiveInTheList`: determine the outcome of user interactions with the split buttons on what button should be promoted to the primary section. In the example above, the cornerstone tool's status is checked, and if it is not active in the list of buttons, the button is promoted to the primary section. +- `evaluate.group.promoteToPrimary`: disregarding the cornerstone tool's status and promoting the button to the primary section regardless. + +Failure to specify a group evaluator will result in no action, leaving the button in the secondary section. + +:::note +As you have learned so far, the extension modules only 'provides' the functionality +and it is the mode's job to consume it. You can next learn how to consume these components +and evaluators to build a toolbar in the +::: + + +#### Custom Evaluators +You can create your own evaluators. For instance, you have the option to design tri-state buttons, which are buttons with three states such as Show All, Show Some, or Show None of the Viewport Overlays. + + +## Toolbar buttons consumed in modes +Providing just the components is not enough. You need to add the buttons to the toolbar service and decide which ones are used for each section. + +Below we can see a simplified version of the `longitudinal` (basic viewer) mode that shows how +a mode can add buttons to the toolbar by calling +`ToolBarService.addButtons(toolbarButtons)`. `toolbarButtons` is an array of +`toolDefinitions` which we will learn next. + +```js +function modeFactory({ modeConfiguration }) { + return { + id: 'viewer', + displayName: 'Basic Viewer', + + onModeEnter: ({ servicesManager, extensionManager }) => { + const { toolBarService } = servicesManager.services; + + toolbarService.addButtons([...toolbarButtons, ...moreTools]); + toolbarService.createButtonSection('primary', [ + 'MeasurementTools', + 'Zoom', + 'info', + 'WindowLevel', + 'Pan', + 'Capture', + 'Layout', + 'MPR', + 'Crosshairs', + 'MoreTools', + ]); + }, + routes: [ + { + path: 'longitudinal', + layoutTemplate: ({ location, servicesManager }) => { + return { + /* */ + }; + }, + }, + ], + }; +} +``` + + +:::note +By default OHIF's default layout (`extensions/default/src/ViewerLayout/index.tsx`) which is used in all modes use a Toolbar component that creates a +`primary` section for tools. That is why we are creating a `primary` section in the example above. + +Layouts are also customizable, and you can create your own layout in your extensions and provide it to your modes view `getLayoutTemplateModule` module. + +By default we use `@ohif/extension-default.layoutTemplateModule.viewerLayout` to use the default layout which provides a + +- Header (with logo on left, toolbar in the middle and user menu on the right) +- Left panel +- Main viewport grid area +- Right panel +::: + + +## Alternative Toolbar sections + +In your UI component, such as panels, you have the option to include a toolbar section template. +This allows you to easily add buttons to it later on. To ensure that the buttons are added properly +to the toolbar, respond to interactions correctly, and evaluate states accurately, simply utilize the `useToolbar` hook. +This hook grants you access to the `onInteraction` function and the `toolbarButtons` array, which you can customize within your UI as needed. + +```js + +function myCustomPanel({servicesManager}){ + const { onInteraction, toolbarButtons } = useToolbar({ + servicesManager, + buttonSection: 'myCustomSectionName' + }); + + // map the buttons to the UI + return ( +
+ {toolbarButtons.map((button, index) => { + return ( + + ); + })} +
+ ); +} + +``` + +We have provided a common component for toolbar buttons called `Toolbox`. +The Toolbox component serves as a versatile and configurable container for toolbar tools within your application. +It is designed to work in conjunction with the useToolbar hook to manage tool states, handle user interactions, and memorize options +using context API. + + +The `Toolbox` can be easily integrated into your application UI, requiring only the necessary services (servicesManager, commandsManager) and configuration parameters (buttonSectionId, title). Here's a simple usage scenario: + + + +```js +function MyApplication({ servicesManager, commandsManager }) { + // Configuration for the toolbox container + const config = { + servicesManager, + commandsManager, + buttonSectionId: 'customButtonSection', + title: 'My Toolbox', + }; + + return ; +} +``` + +Then in your modes you can edit the tools in that button section. + +```js + +onModeEnter: ({ servicesManager, extensionManager }) => { + const { toolBarService } = servicesManager.services; + + toolbarService.addButtons([...toolbarButtons, ...moreTools]); + toolbarService.createButtonSection('customButtonSection', [ + 'MeasurementTools', + 'Zoom', + 'info', + ]); +}, +``` + +Another example might be you want to open a modal to show some tool options when a button is clicked. +You can use this pattern + + +```js +// ToolbarButton in mode + { + id: 'Others', + uiType: 'ohif.radioGroup', + props: { + icon: 'info-action', + label: 'Others', + commands: 'showOthersModal', + }, + }, +``` + +and inside your mode factory + +```js +// adding the 'Others' button to the primary section +toolbarService.createButtonSection('primary', [ + 'Others', // --------> this one +]); + +// adding the shapes button to the 'Other' section +toolbarService.createButtonSection('other', ['Shapes']); +``` + +here as you see we are using a command `showOthersModal` which is defined in the commands module. + +```js +// inside commandsModule of your extension + showOthersModal: () => { + const { uiModalService } = servicesManager.services; + uiModalService.show({ + content: OthersModal, + title: 'Others', + customClassName: 'w-8', + movable: true, + contentProps: { + onClose: uiModalService.hide, + servicesManager, + commandsManager, + }, + containerDimensions: 'h-[125px] w-[300px]', + contentDimensions: 'h-[125px] w-[300px]', + }); + }, +``` + +as you see it is opening a modal with `OthersModal` component (below) which contains the +`Toolbox` component. + +```js +// Others modal +import { Toolbox } from '@ohif/ui'; + +function OthersModal({ servicesManager, commandsManager }) { + return ( +
+ +
+ ); +} +``` + +The result would be a modal with a toolbox inside it when the `Others` button is clicked, and the +state will get synchronized with the toolbar service automatically. + + +![alt text](../../../assets/img/toolbox-modal.png) + + + +## Change Toolbar with hanging protocols + +If you want to change the toolbar based on the hanging protocol, you can do a pattern like this. + +```js + + const { unsubscribe } = hangingProtocolService.subscribe( + hangingProtocolService.EVENTS.PROTOCOL_CHANGED, + () => { + toolbarService.createButtonSection('primary', [ + 'MeasurementTools', + 'Zoom', + 'WindowLevel', + ]); + } +); +``` diff --git a/platform/docs/docs/platform/managers/_category_.json b/platform/docs/docs/platform/managers/_category_.json index 309407792..f2a2e07a2 100644 --- a/platform/docs/docs/platform/managers/_category_.json +++ b/platform/docs/docs/platform/managers/_category_.json @@ -1,4 +1,4 @@ { "label": "Managers", - "position": 11 + "position": 10 } diff --git a/platform/docs/docs/platform/modes/_category_.json b/platform/docs/docs/platform/modes/_category_.json index 80702b9e5..889d84503 100644 --- a/platform/docs/docs/platform/modes/_category_.json +++ b/platform/docs/docs/platform/modes/_category_.json @@ -1,4 +1,4 @@ { "label": "Modes", - "position": 10 + "position": 12 } diff --git a/platform/docs/docs/platform/modes/index.md b/platform/docs/docs/platform/modes/index.md index 35b046d67..e62c8c931 100644 --- a/platform/docs/docs/platform/modes/index.md +++ b/platform/docs/docs/platform/modes/index.md @@ -362,6 +362,11 @@ function modeFactory() { // exports ``` +### Toolbar + + + + ## Registration Similar to extension registration, `viewer` will look inside the `pluginConfig.json` to diff --git a/platform/docs/docs/platform/modes/lifecycle.md b/platform/docs/docs/platform/modes/lifecycle.md index 587fe1bbd..8c0ec41ce 100644 --- a/platform/docs/docs/platform/modes/lifecycle.md +++ b/platform/docs/docs/platform/modes/lifecycle.md @@ -56,7 +56,6 @@ function modeFactory() { // Init Default and SR ToolGroups initToolGroups(extensionManager, ToolGroupService); - ToolBarService.init(extensionManager); ToolBarService.addButtons(toolbarButtons); ToolBarService.createButtonSection('primary', [ 'MeasurementTools', diff --git a/platform/docs/docs/platform/services/_category_.json b/platform/docs/docs/platform/services/_category_.json index 8b57449b2..9a6c3ae5f 100644 --- a/platform/docs/docs/platform/services/_category_.json +++ b/platform/docs/docs/platform/services/_category_.json @@ -1,4 +1,4 @@ { "label": "Services", - "position": 12 + "position": 11 } diff --git a/platform/docs/docs/platform/services/data/SyncGroupService.md b/platform/docs/docs/platform/services/data/SyncGroupService.md new file mode 100644 index 000000000..835fd5621 --- /dev/null +++ b/platform/docs/docs/platform/services/data/SyncGroupService.md @@ -0,0 +1,147 @@ +--- +sidebar_position: 8 +sidebar_label: SyncGroup Service +--- + +# Sync Group Service + +## Overview + +The `SyncGroupService` is responsible for managing synchronization groups in the OHIF Viewer. Synchronization groups allow multiple viewports to be synchronized based on various criteria, such as camera position, window level, zoom/pan, and image slice position. This service provides a centralized way to create, update, and manage synchronization groups. + +Right now, synchronization groups can be defined in the hanging protocols or manually assigning buttons. + + + + +## API + +- `getSyncCreatorForType(type)`: Returns the synchronizer creator function for the specified type. +- `addSynchronizerType(type, creator)`: Adds a new synchronizer type with a custom creator function. +- `getSynchronizer(id)`: Retrieves a synchronizer by its ID. +- `getSynchronizersOfType(type)`: Retrieves an array of synchronizers of the specified type. +- `addViewportToSyncGroup(viewportId, renderingEngineId, syncGroups)`: Adds a viewport to one or more synchronization groups. +- `destroy()`: Destroys all synchronizers. +- `getSynchronizersForViewport(viewportId)`: Retrieves an array of synchronizers associated with the specified viewport. +- `removeViewportFromSyncGroup(viewportId, renderingEngineId, syncGroupId?)`: Removes a viewport from a specific synchronization group or all synchronization groups if no group ID is provided. + +## Usage +### Via hanging protocols +You can set up different types of synchronization groups for your viewports. For example, in the TMTV hanging protocol (`extensions/tmtv/src/getHangingProtocolModule.js`), we can see how different synchronization groups are defined for various viewports: + +```javascript +const ptAXIAL = { + viewportOptions: { + // ... + syncGroups: [ + { + type: 'cameraPosition', + id: 'axialSync', + source: true, + target: true, + }, + { + type: 'voi', + id: 'ptWLSync', + source: true, + target: true, + }, + { + type: 'voi', + id: 'ptFusionWLSync', + source: true, + target: false, + options: { + syncInvertState: false, + }, + }, + ], + }, + // ... +}; +``` + + + +In this example, the `ptAXIAL` viewport is part of three synchronization groups: + +1. `cameraPosition` group with the ID `'axialSync'`: This group synchronizes the camera position across viewports that are both source and target. +2. `voi` (Window Level) group with the ID `'ptWLSync'`: This group synchronizes the window level settings across viewports that are both source and target. +3. `voi` group with the ID `'ptFusionWLSync'`: This group synchronizes the window level settings, but the `ptAXIAL` viewport is only a source, not a target. + + +:::tip +You can control the state of the synchronizer via a toolbar button after you define the synchronization group in the hanging protocol. + +```js +{ + id: 'SyncToggle', + uiType: 'ohif.radioGroup', + props: { + icon: 'tool-info', + label: 'toggle', + commands: { + commandName: 'toggleSynchronizer', + commandOptions: { + syncId: 'axialSync' + } + } + }, +}, +``` + +as you can see by using the `toggleSynchronizer` command you can toggle the state of the synchronizer for the specified syncId. + +::: + +### Manually through a button +You can create a button on the toolbar that you provice the synchronization group type, +and it applys it to all viewports. + +:::note +Currently we don't have a proper way to select viewports to apply the synchronization group to. It is applied to all applicable viewports +::: + +For instance look at `imageSliceSync` button in the longitudinal mode (`modes/longitudinal/src/moreTools.ts`) and how it runs a command + +```js +ToolbarService.createButton({ + id: 'ImageSliceSync', + icon: 'link', + label: 'Image Slice Sync', + tooltip: 'Enable position synchronization on stack viewports', + commands: [ + { + commandName: 'toggleSynchronizer', + commandOptions: { + type: 'imageSlice', + }, + }, + ], +}) +``` + +You can create another button to toggle 'voi' synchronization. Currently we group +viewports by modality and apply the voi synchronization to all viewports of the same modality. + +```js +ToolbarService.createButton({ + id: 'VoiSync', + icon: 'link', + label: 'VOI Sync', + tooltip: 'Enable VOI synchronization on viewports', + commands: [ + { + commandName: 'toggleSynchronizer', + commandOptions: { + type: 'voi', + }, + }, + ], +}) +``` + +:::tip +For your custom synchronization groups, you can create a new synchronizer type and follow the +same pattern as the existing synchronizers. +::: diff --git a/platform/docs/docs/platform/services/data/ToolGroupService.md b/platform/docs/docs/platform/services/data/ToolGroupService.md new file mode 100644 index 000000000..0d7a04cf0 --- /dev/null +++ b/platform/docs/docs/platform/services/data/ToolGroupService.md @@ -0,0 +1,89 @@ +--- +sidebar_position: 7 +sidebar_label: ToolGroup Service +--- + +# Tool Group Service + +## Overview + +The `ToolGroupService` is responsible for managing tool groups in the OHIF Viewer. + +:::tip +Read more about toolGroups [here](https://www.cornerstonejs.org/docs/concepts/cornerstone-tools/toolGroups) +::: + +It allows you to create, update, and manage tool groups and the tools associated with them. Tool groups are used to organize and control the behavior of various tools in the viewer, such as window level, pan, zoom, measurements, and annotations. + +## Events + +The `ToolGroupService` emits the following events: + +| Event | Description | +| ---------------------------------- | ----------------------------------------------- | +| `VIEWPORT_ADDED` | Fires when a viewport is added to a tool group | +| `TOOLGROUP_CREATED` | Fires when a new tool group is created | + +## API + +- `getToolGroup(toolGroupId?)`: Retrieves a tool group by its ID. If no ID is provided, it returns the tool group for the active viewport. +- `getToolGroupIds()`: Returns an array of all tool group IDs. +- `getToolGroupForViewport(viewportId)`: Returns the tool group associated with the specified viewport. +- `getActiveToolForViewport(viewportId)`: Returns the active tool for the specified viewport. +- `destroy()`: Destroys all tool groups. +- `destroyToolGroup(toolGroupId)`: Destroys the specified tool group. +- `removeViewportFromToolGroup(viewportId, renderingEngineId, deleteToolGroupIfEmpty?)`: Removes a viewport from a tool group. If `deleteToolGroupIfEmpty` is true and the tool group becomes empty after removing the viewport, it will be destroyed. +- `addViewportToToolGroup(viewportId, renderingEngineId, toolGroupId?)`: Adds a viewport to a tool group. If `toolGroupId` is not provided, the viewport will be added to all tool groups. +- `createToolGroup(toolGroupId)`: Creates a new tool group with the specified ID. +- `addToolsToToolGroup(toolGroupId, tools, configs?)`: Adds tools to the specified tool group with optional configurations. +- `createToolGroupAndAddTools(toolGroupId, tools)`: Creates a new tool group and adds the specified tools to it. +- `getToolConfiguration(toolGroupId, toolName)`: Retrieves the configuration for the specified tool in the given tool group. +- `setToolConfiguration(toolGroupId, toolName, config)`: Sets the configuration for the specified tool in the given tool group. + +## Usage + +Here's an example of how to create a new tool group and add tools to it in our basic viewer mode (modes/longitudinal/src/initToolGroups.js) + +```js +import { initToolGroups } from '@ohif/extension-cornerstone'; +import { ToolGroupService } from '@ohif/core'; + +const toolGroupService = new ToolGroupService(); + +// Create a new tool group +const defaultToolGroup = toolGroupService.createToolGroup('default'); + +// Define tools for the tool group +const tools = { + active: [ + { toolName: 'WindowLevel', bindings: [{ mouseButton: 1 }] }, + { toolName: 'Pan', bindings: [{ mouseButton: 2 }] }, + { toolName: 'Zoom', bindings: [{ mouseButton: 3 }] }, + ], + passive: [ + { toolName: 'Length' }, + { toolName: 'ArrowAnnotate' }, + { toolName: 'Bidirectional' }, + ], +}; + +// Add tools to the tool group +toolGroupService.addToolsToToolGroup('default', tools); +``` + +In this example, we create a new `ToolGroupService` instance and use it to create a new tool group with the ID `'default'`. We then define an object `tools` that contains the active and passive tools we want to add to the tool group. Finally, we call the `addToolsToToolGroup` method to add the tools to the newly created tool group. + +:::tip +You can begin the viewer with certain toggle tools already active. For example, if you have your 'referencelines' tool enabled, it will be active when the viewer starts, and the icon state will be correctly set to active as well. +::: + +```js +const tools = { + // the reset + // enabled + enabled: [{ toolName: toolNames.ImageOverlayViewer }, { toolName: toolNames.ReferenceLines }], + }; +``` + + +![alt text](../../../assets/img/reference-lines-from-start.png) diff --git a/platform/docs/docs/platform/services/data/ToolbarService.md b/platform/docs/docs/platform/services/data/ToolbarService.md index 3acfb3e2d..5a0a15964 100644 --- a/platform/docs/docs/platform/services/data/ToolbarService.md +++ b/platform/docs/docs/platform/services/data/ToolbarService.md @@ -3,16 +3,15 @@ sidebar_position: 5 sidebar_label: Toolbar Service --- -# Toolbar Service +# Toolbar **Service** ## Overview -`ToolBarService` handles the toolbar section buttons, and what happens when a -button is clicked by the user. +The `ToolBarService` is a straightforward service designed to handle the toolbar. Its main tasks include adding buttons, configuring them, and organizing button sections. When a button is clicked, it executes the designated commands. In the past, this service was more intricate, managing button states and logic. However, all that functionality has now been transferred to the `ToolBarModule` and evaluators. -
- -
+ ## Events @@ -23,20 +22,7 @@ button is clicked by the user. ## API -- `recordInteraction(interaction)`: executes the provided interaction which is - an object providing the following properties to the ToolBarService: - - - `interactionType`: can be `tool`, `toggle` and `action`. We will discuss - more each type below. - - `itemId`: tool name - - `groupId`: the Id for the tool button group; e.g., `Wwwc` which holds - presets. - - `commandName`: if tool has a command attached to run - - `commandOptions`: arguments for the command. - - `setActive`: Sets a given tool active (not as primary but as secondary) - -- `reset`: reset the state of the toolbarService, set the primary tool to be - `Wwwc` and unsubscribe tools that have registered their functions. +- `createButtonSection(key, buttons)` : creates a section of buttons in the toolbar with the given key and button Ids - `addButtons`: add the button definition to the service. [See below for button definition](#button-definitions). @@ -44,86 +30,26 @@ button is clicked by the user. - `setButtons`: sets the buttons defined in the service. It overrides all the previous buttons -- `getActiveTools`: returns the active tool + all the toggled-on tools -- `setDefaultTool`: sets the default tool that will be activated whenever the primary tool is deactivated without activating another/different tool -## State - -ToolBarService has an internal state that gets updated per tool interaction and -tracks the active toolId, state of the buttons that have toggled state, and the -group buttons and which tool in each group is active. - -```js -state = { - primaryToolId: 'Wwwc', - toggles: { - /* id: true/false */ - }, - groups: { - /* track most recent click per group...*/ - }, -}; -``` - -## Interaction type - -There are three main types that a tool can have which is defined in the -interaction object. - -- `tool`: setting a tool to be active; e.g., measurement tools -- `toggle`: toggling state of a tool; e.g., viewport link (sync) -- `action`: performs a registered action outside of the ToolBarService; e.g., - capture - -A _simplified_ implementation of the ToolBarService is: - -```js -export default class ToolBarService { - /** ... **/ - recordInteraction(interaction) { - /** ... **/ - switch (interactionType) { - case 'action': { - break; - } - case 'tool': { - this.state.primaryToolId = itemId; - - commandsManager.runCommand('setToolActive', interaction.commandOptions); - break; - } - case 'toggle': { - this.state.toggles[itemId] = - this.state.toggles[itemId] === undefined - ? true - : !this.state.toggles[itemId]; - interaction.commandOptions.toggledState = this.state.toggles[itemId]; - break; - } - default: - throw new Error(`Invalid interaction type: ${interactionType}`); - } - /** ... **/ - } - /** ... **/ -} -``` ## Button Definitions + +### Basic + The simplest toolbarButtons definition has the following properties: ![toolbarModule-zoom](../../../assets/img/toolbarModule-zoom.png) + ```js { - "id": "Zoom", - "type": "ohif.radioGroup", - "props": { - "type": "tool", - "icon": "tool-zoom", - "label": "Zoom", + id: 'Zoom', + uiType: 'ohif.radioGroup', + props: { + icon: 'tool-zoom', + label: 'Zoom', "commands": [ { "commandName": "setToolActive", @@ -133,27 +59,20 @@ The simplest toolbarButtons definition has the following properties: "context": "CORNERSTONE" } ] - } -} + evaluate: 'evaluate.cornerstoneTool', + }, +}, ``` | property | description | values | | ---------------- | ----------------------------------------------------------------- | ------------------------------------------- | | `id` | Unique string identifier for the definition | \* | -| `type` | Used to determine the button's behaviour | "tool", "toggle", "action" | | `icon` | A string name for an icon supported by the consuming application. | \* | | `label` | User/display friendly to show in UI | \* | | `commands` | (optional) The commands to run when the button is used. It include a commandName, commandOptions, and/or a context | Any command registered by a `CommandModule` | -There are three main types of toolbar buttons: -- `tool`: buttons that enable a tool by running the `setToolActive` command with - the `commandOptions` -- `toggle`: buttons that acts as a toggle: e.g., linking viewports -- `action`: buttons that executes an action: e.g., capture button to save - screenshot - -## Nested Buttons +### Nested (dropdown) You can use the `ohif.splitButton` type to build a button with extra tools in the dropdown. @@ -169,91 +88,178 @@ to create `MeasurementTools` nested button ```js title="modes/longitudinal/src/toolbarButtons.js" { - "id": "MeasurementTools", - "type": "ohif.splitButton", - "props": { - "groupId": "MeasurementTools", - "isRadio": true, - "primary": { - "id": "Length", - "icon": "tool-length", - "label": "Length", - "type": "tool", - "commands": [ - { - "commandName": "setToolActive", - "commandOptions": { - "toolName": "Length" - }, - "context": "CORNERSTONE" - }, - { - "commandName": "setToolActive", - "commandOptions": { - "toolName": "SRLength", - "toolGroupId": "SRToolGroup" - }, - "context": "CORNERSTONE" - } + id: 'MeasurementTools', + uiType: 'ohif.splitButton', + props: { + groupId: 'MeasurementToolsGroupId', + // group evaluate to determine which item should move to the top + evaluate: 'evaluate.group.promoteToPrimaryIfCornerstoneToolNotActiveInTheList', + primary: ToolbarService.createButton({ + id: 'Length', + icon: 'tool-length', + label: 'Length', + tooltip: 'Length Tool', + commands: _createSetToolActiveCommands('Length'), + evaluate: 'evaluate.cornerstoneTool', + }), + secondary: { + icon: 'chevron-down', + tooltip: 'More Measure Tools', + }, + items: [ + ToolbarService.createButton({ + id: 'Length', + icon: 'tool-length', + label: 'Length', + tooltip: 'Length Tool', + commands: [ + { + commandName: 'setToolActive', + commandOptions: { + toolName: 'Length', + }, + context: 'CORNERSTONE', + }, + { + commandName: 'setToolActive', + commandOptions: { + toolName: 'SRLength', + toolGroupId: 'SRToolGroup', + }, + // we can use the setToolActive command for this from Cornerstone commandsModule + context: 'CORNERSTONE', + }, + ], + evaluate: 'evaluate.cornerstoneTool', + }), + ToolbarService.createButton({ + id: 'Bidirectional', + icon: 'tool-bidirectional', + label: 'Bidirectional', + tooltip: 'Bidirectional Tool', + commands: [ + { + commandName: 'setToolActive', + commandOptions: { + toolName: 'Bidirectional', + }, + context: 'CORNERSTONE', + }, + { + commandName: 'setToolActive', + commandOptions: { + toolName: 'SRBidirectional', + toolGroupId: 'SRToolGroup', + }, + context: 'CORNERSTONE', + }, + ], + evaluate: 'evaluate.cornerstoneTool', + }), ], - "tooltip": "Length" }, - "secondary": { - "icon": "chevron-down", - "label": "", - "isActive": true, - "tooltip": "More Measure Tools" - }, - "items": [ - { - "id": "Bidirectional", - "icon": "tool-bidirectional", - "label": "Bidirectional", - "type": "tool", - "commands": [ - { - "commandName": "setToolActive", - "commandOptions": { - "toolName": "Bidirectional" - }, - "context": "CORNERSTONE" - }, - { - "commandName": "setToolActive", - "commandOptions": { - "toolName": "SRBidirectional", - "toolGroupId": "SRToolGroup" - }, - "context": "CORNERSTONE" - } - ], - "tooltip": "Bidirectional Tool" - }, - { - "id": "ArrowAnnotate", - "icon": "tool-annotate", - "label": "Annotation", - "type": "tool", - "commands": [ - { - "commandName": "setToolActive", - "commandOptions": { - "toolName": "ArrowAnnotate" - }, - "context": "CORNERSTONE" - }, - { - "commandName": "setToolActive", - "commandOptions": { - "toolName": "SRArrowAnnotate", - "toolGroupId": "SRToolGroup" - }, - "context": "CORNERSTONE" - } - ], - "tooltip": "Arrow Annotate" - }, - ] - } -} + }, ``` + +:::tip +split buttons can have a group evaluator (in the above example `evaluate.group.promoteToPrimaryIfCornerstoneToolNotActiveInTheList`) which can decide what happens +when the user interacts with the buttons. In the above example, we are promoting the button to the primary section if the cornerstone tool is not active in the list of buttons. + +There are other evaluators for instance `evaluate.group.promoteToPrimary` +which does not care about the cornerstone tool and promotes the button to the primary section anyway +::: + +:::tip +If you don't provide a group evaluator nothing would happen and the button will stay in the secondary section. +::: + +## Listeners +Sometimes you need a tool to listen to specific events in order to react properly. +You can add `listeners` for this purpose. We use this pattern for referencelineTools +which should set its source of reference upon active viewport change + +Currently you can subscribe to the following events: +- `ViewportGridService.EVENTS.ACTIVE_VIEWPORT_ID_CHANGED`: when the active viewport changes +- `ViewportGridService.EVENTS.VIEWPORTS_READY`: when the viewports are ready in the grid + + +```js + +const ReferenceLinesListeners: RunCommand = [ + { + commandName: 'setSourceViewportForReferenceLinesTool', + context: 'CORNERSTONE', + }, +]; + +ToolbarService.createButton({ + id: 'ReferenceLines', + icon: 'tool-referenceLines', + label: 'Reference Lines', + tooltip: 'Show Reference Lines', + commands: [ + { + commandName: 'setToolEnabled', + commandOptions: { + toolName: 'ReferenceLines', + toggle: true, + }, + context: 'CORNERSTONE', + }, + ], + listeners: { + [ViewportGridService.EVENTS.ACTIVE_VIEWPORT_ID_CHANGED]: ReferenceLinesListeners, + [ViewportGridService.EVENTS.VIEWPORTS_READY]: ReferenceLinesListeners, + }, + evaluate: 'evaluate.cornerstoneTool.toggle', +}), + +``` + + + +## Button Sections +In order to organize the buttons, you can create button sections in the toolbar. And +assign buttons to each section separately. + +OHIF provides a `primary` section by default. You can add more sections as needed in your UI +and use toolbarService to create and manage them. (You can look at the toolBox implementation +which take advantage of having a dedicated section for the tools with advanced options, +we use that in the segmentation mode). + + +## Example + +For instance in `longitudinal` mode we are using the `onModeEnter` hook to +add the buttons to the toolbarService and assign them to the primary section. + +```js title="modes/longitudinal/src/index.js" +toolbarService.addButtons([...toolbarButtons, ...moreTools]); +toolbarService.createButtonSection('primary', [ + 'MeasurementTools', + 'Zoom', + 'info', + 'WindowLevel', + 'Pan', + 'Capture', + 'Layout', + 'MPR', + 'Crosshairs', + 'MoreTools', +]); +``` + +as you see we creating the button section and assigning buttons based on their Ids. + +:::tip +You can even duplicate the same button in different sections and the button will be +in sync in all sections (thanks to the evaluation system). +::: + +:::tip +we will add more section in the toolbar (other than primary) in the future. +::: + +:::note +Don't forget to set up your toolGroups to ensure that your buttons function correctly. Buttons serve as a visual interface. When you interact with them, they execute their commands, and evaluators determine their state post-interaction. +::: diff --git a/platform/docs/docs/platform/services/ui/viewport-grid-service.md b/platform/docs/docs/platform/services/ui/viewport-grid-service.md index 6f8435905..186afc419 100644 --- a/platform/docs/docs/platform/services/ui/viewport-grid-service.md +++ b/platform/docs/docs/platform/services/ui/viewport-grid-service.md @@ -18,6 +18,8 @@ There are seven events that get publish in `ViewportGridService `: | ACTIVE_VIEWPORT_ID_CHANGED | Fires the Id of the active viewport is changed | | LAYOUT_CHANGED | Fires the layout is changed | | GRID_STATE_CHANGED | Fires when the entire grid state is changed | +| VIEWPORTS_READY | Fires when the viewports are ready in the grid | + ## Interface For a more detailed look on the options and return values each of these methods diff --git a/platform/ui/.storybook/main.ts b/platform/ui/.storybook/main.ts index 54b817b1a..62612396a 100644 --- a/platform/ui/.storybook/main.ts +++ b/platform/ui/.storybook/main.ts @@ -85,6 +85,14 @@ const config: StorybookConfig = { include: path.resolve(__dirname, '../'), }); + // ignore the file @icr/polyseg-wasm during the build as it is a wasm file and + // we don't need that for ui + config.module.rules.push({ + test: /@icr\/polyseg-wasm/, + type: 'javascript/auto', + loader: 'file-loader', + }); + // Return the altered config return config; }, diff --git a/platform/ui/src/assets/icons/icon-tool-brush.svg b/platform/ui/src/assets/icons/icon-tool-brush.svg index 7f78d720a..2258260d9 100644 --- a/platform/ui/src/assets/icons/icon-tool-brush.svg +++ b/platform/ui/src/assets/icons/icon-tool-brush.svg @@ -1,13 +1,9 @@ - - icon-tool-brush - - - - - - - - + + tool-seg-brush + + + + \ No newline at end of file diff --git a/platform/ui/src/assets/icons/icon-tool-eraser.svg b/platform/ui/src/assets/icons/icon-tool-eraser.svg index 5c72e4c37..a1f78fed4 100644 --- a/platform/ui/src/assets/icons/icon-tool-eraser.svg +++ b/platform/ui/src/assets/icons/icon-tool-eraser.svg @@ -1,14 +1,10 @@ - - icon-tool-eraser - - - - - - - - - + + tool-seg-eraser + + + + + \ No newline at end of file diff --git a/platform/ui/src/assets/icons/icon-tool-shape.svg b/platform/ui/src/assets/icons/icon-tool-shape.svg index 132f7b58a..290d156e6 100644 --- a/platform/ui/src/assets/icons/icon-tool-shape.svg +++ b/platform/ui/src/assets/icons/icon-tool-shape.svg @@ -1,13 +1,9 @@ - - icon-tool-shape - - - - - - - - + + tool-seg-shape + + + + \ No newline at end of file diff --git a/platform/ui/src/assets/icons/icon-tool-threshold.svg b/platform/ui/src/assets/icons/icon-tool-threshold.svg index d1bcaa76e..4870fa5a4 100644 --- a/platform/ui/src/assets/icons/icon-tool-threshold.svg +++ b/platform/ui/src/assets/icons/icon-tool-threshold.svg @@ -1,17 +1,17 @@ - - icon-tool-threshold - - - - - - - - - - - + + tool-seg-threshold + + + + + + + + + + + \ No newline at end of file diff --git a/platform/ui/src/assets/icons/tool-elipse.svg b/platform/ui/src/assets/icons/tool-ellipse.svg similarity index 100% rename from platform/ui/src/assets/icons/tool-elipse.svg rename to platform/ui/src/assets/icons/tool-ellipse.svg diff --git a/platform/ui/src/components/AdvancedToolbox/AdvancedToolbox.tsx b/platform/ui/src/components/AdvancedToolbox/AdvancedToolbox.tsx index 690ce3570..2748e522b 100644 --- a/platform/ui/src/components/AdvancedToolbox/AdvancedToolbox.tsx +++ b/platform/ui/src/components/AdvancedToolbox/AdvancedToolbox.tsx @@ -3,6 +3,10 @@ import classnames from 'classnames'; import { PanelSection, Icon, Tooltip } from '../../components'; import ToolSettings from './ToolSettings'; +/** + * Use Toolbox component instead of this although it doesn't have "Advanced" in its name + * it is better to use it instead of this one + */ const AdvancedToolbox = ({ title, items }) => { const [activeItemName, setActiveItemName] = useState(null); diff --git a/platform/ui/src/components/AdvancedToolbox/ToolSettings.tsx b/platform/ui/src/components/AdvancedToolbox/ToolSettings.tsx index 75eae9129..fc587157e 100644 --- a/platform/ui/src/components/AdvancedToolbox/ToolSettings.tsx +++ b/platform/ui/src/components/AdvancedToolbox/ToolSettings.tsx @@ -1,10 +1,11 @@ import React from 'react'; -import { ButtonGroup, InputRange, ButtonEnums } from '../../components'; +import { ButtonGroup, InputDoubleRange, InputRange } from '../../components'; const SETTING_TYPES = { RANGE: 'range', RADIO: 'radio', CUSTOM: 'custom', + DOUBLE_RANGE: 'double-range', }; function ToolSettings({ options }) { @@ -12,73 +13,111 @@ function ToolSettings({ options }) { return null; } - const getButtons = option => { - const buttons = []; - - option.values?.map(({ label, value: optionValue }, index) => { - buttons.push({ - children: label, - onClick: () => option.onChange(optionValue), - key: `button-${option.id}-${index}`, // A unique key - }); - }); - - return buttons; - }; - return (
{options?.map(option => { - if (option.type === SETTING_TYPES.RANGE) { - return ( -
-
{option.name}
-
- option.onChange(e)} - allowNumberEdit={true} - showAdjustmentArrows={false} - inputClassName="ml-1 w-4/5 cursor-pointer" - /> -
-
- ); + if (option.condition && option.condition?.({ options }) === false) { + return null; } - if (option.type === SETTING_TYPES.RADIO) { - return ( -
- {option.name} -
- -
-
- ); - } - if (option.type === SETTING_TYPES.CUSTOM) { - return ( -
- {typeof option.children === 'function' ? option.children() : option.children} -
- ); + switch (option.type) { + case SETTING_TYPES.RANGE: + return renderRangeSetting(option); + case SETTING_TYPES.RADIO: + return renderRadioSetting(option); + case SETTING_TYPES.DOUBLE_RANGE: + return renderDoubleRangeSetting(option); + case SETTING_TYPES.CUSTOM: + return renderCustomSetting(option); + default: + return null; } })}
); } +const renderRangeSetting = option => { + return ( +
+
{option.name}
+
+ option.commands?.(value)} + allowNumberEdit={true} + showAdjustmentArrows={false} + inputClassName="ml-1 w-4/5 cursor-pointer" + /> +
+
+ ); +}; + +const renderRadioSetting = option => { + const renderButtons = option => { + return option.values?.map(({ label, value: optionValue }, index) => ( + + )); + }; + + return ( +
+ {option.name} +
+ value === option.value) || 0} + > + {renderButtons(option)} + +
+
+ ); +}; + +const renderDoubleRangeSetting = option => { + return ( +
+ +
+ ); +}; + +const renderCustomSetting = option => { + return ( +
+ {typeof option.children === 'function' ? option.children() : option.children} +
+ ); +}; + export default ToolSettings; diff --git a/platform/ui/src/components/AdvancedToolbox/index.js b/platform/ui/src/components/AdvancedToolbox/index.js index 5adfdbc9a..450d4f541 100644 --- a/platform/ui/src/components/AdvancedToolbox/index.js +++ b/platform/ui/src/components/AdvancedToolbox/index.js @@ -1,2 +1,4 @@ import AdvancedToolbox from './AdvancedToolbox'; +import ToolSettings from './ToolSettings'; export default AdvancedToolbox; +export { ToolSettings }; diff --git a/platform/ui/src/components/Button/Button.tsx b/platform/ui/src/components/Button/Button.tsx index b1e750c5c..788eb4a50 100644 --- a/platform/ui/src/components/Button/Button.tsx +++ b/platform/ui/src/components/Button/Button.tsx @@ -67,9 +67,12 @@ const Button = ({ name, className, onClick, + dataCY, startIconTooltip = null, endIconTooltip = null, }) => { + dataCY = dataCY || `${name}-btn`; + const startIcon = startIconProp && ( <> {React.cloneElement(startIconProp, { @@ -109,7 +112,7 @@ const Button = ({ disabled={disabled} ref={buttonElement} onClick={handleOnClick} - data-cy={`${name}-btn`} + data-cy={dataCY} > {startIconTooltip ? {startIcon} : startIcon} {children} @@ -148,6 +151,8 @@ Button.propTypes = { startIconTooltip: PropTypes.node, /** Tooltip for the end icon */ endIconTooltip: PropTypes.node, + /** Data attribute for testing */ + dataCY: PropTypes.string, }; export default Button; diff --git a/platform/ui/src/components/ButtonGroup/ButtonGroup.tsx b/platform/ui/src/components/ButtonGroup/ButtonGroup.tsx index 4d56ddec5..d47288bf2 100644 --- a/platform/ui/src/components/ButtonGroup/ButtonGroup.tsx +++ b/platform/ui/src/components/ButtonGroup/ButtonGroup.tsx @@ -1,21 +1,25 @@ -import React, { useState } from 'react'; +import React, { useState, useEffect, cloneElement, Children } from 'react'; import PropTypes from 'prop-types'; import classnames from 'classnames'; import { ButtonEnums } from '../../components'; const ButtonGroup = ({ - buttons, - onActiveIndexChange, + children, className, orientation = ButtonEnums.orientation.horizontal, - defaultActiveIndex = 0, + activeIndex: defaultActiveIndex = 0, + onActiveIndexChange, + disabled = false, }) => { const [activeIndex, setActiveIndex] = useState(defaultActiveIndex); - const handleButtonClick = (e, index) => { + useEffect(() => { + setActiveIndex(defaultActiveIndex); + }, [defaultActiveIndex]); + + const handleButtonClick = index => { setActiveIndex(index); onActiveIndexChange && onActiveIndexChange(index); - buttons[index].onClick && buttons[index].onClick(e); }; const orientationClasses = { @@ -29,35 +33,40 @@ const ButtonGroup = ({
- {buttons.map((buttonProps, index) => { - const isActive = index === activeIndex; - return ( -
); }; ButtonGroup.propTypes = { - buttons: PropTypes.arrayOf(PropTypes.object).isRequired, + children: PropTypes.node.isRequired, orientation: PropTypes.oneOf(Object.values(ButtonEnums.orientation)), - type: PropTypes.oneOf(Object.values(ButtonEnums.type)), - size: PropTypes.oneOf(Object.values(ButtonEnums.size)), - defaultActiveIndex: PropTypes.number, + activeIndex: PropTypes.number, onActiveIndexChange: PropTypes.func, className: PropTypes.string, + disabled: PropTypes.bool, }; export default ButtonGroup; diff --git a/platform/ui/src/components/ButtonGroup/__stories__/buttonGroup.stories.mdx b/platform/ui/src/components/ButtonGroup/__stories__/buttonGroup.stories.mdx index aa15fb5e1..cb5f00ddf 100644 --- a/platform/ui/src/components/ButtonGroup/__stories__/buttonGroup.stories.mdx +++ b/platform/ui/src/components/ButtonGroup/__stories__/buttonGroup.stories.mdx @@ -16,10 +16,6 @@ export const argTypes = { component={ButtonGroup} /> -export const buttonGroupTemplate = args => { - return ; -}; - { ButtonGroup is a container for a group of buttons. - console.log('Button 1 clicked'), - }, - { - children: 'Button 2', - onClick: () => console.log('Button 2 clicked'), - }, - { - children: 'Button 3', - onClick: () => console.log('Button 3 clicked'), - }, - ], - activeIndex: 0, - onActiveIndexChange: index => console.log(index), - }} - > - {buttonGroupTemplate.bind({})} + + console.log(index)} + > + + + + diff --git a/platform/ui/src/components/Header/Header.tsx b/platform/ui/src/components/Header/Header.tsx index 18fdbabc4..99b97b527 100644 --- a/platform/ui/src/components/Header/Header.tsx +++ b/platform/ui/src/components/Header/Header.tsx @@ -30,13 +30,11 @@ function Header({ return ( -
-
- {/* // TODO: Should preserve filter/sort - // Either injected service? Or context (like react router's `useLocation`?) */} +
+
-
{children}
-
+ {/*
{future left component}
*/} +
+
{children}
+
+
{ const buttonElement = useRef(null); @@ -118,7 +92,7 @@ const IconButton = ({ onClick(e); }; - const bgColorToUse = bgColor ? bgColor : backgroundClasses[variant][color]; + const padding = size === 'toolbar' ? '8px' : size === 'toolbox' ? '4px' : null; return (

M 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 literal 0 HcmV?d00001 diff --git a/platform/docs/docs/assets/img/toolbox-modal.png b/platform/docs/docs/assets/img/toolbox-modal.png new file mode 100644 index 0000000000000000000000000000000000000000..ce97f732ed82457061b04e93af71bf0736dfc91f GIT binary patch literal 669748 zcmeFZc|6qX`v;6DR4BeP72m#x7E}?7OnBBeENk%5JhwmNCi} zlNpRL7|Zif=llDf)A^p~oag_?>osP4=3cJleP7pgU-xx;s-vZPmYSKGgoNa*x|)(M z3CSr83CYP9lqZ2Fl#3IbBqUS_2Sr64bwx!E9Zxq~2WJ}+6646V4F8)3;7i?kFu3#_ zOShlKsSH|=0h|UGr=n7^Mx>XN)>ROLx-O-1;d%43cQY|A?uk4`rLGRTX<0p*rLt zXC9i0DqenjGp75^bGqpZ#SFHfcM^j+<2O)mMiFA6q}Ay(@~@_evi8A65>mqfd$Iy zD;|lRZ5`sSl&*6$vguwNlml;n^Lt2hNEbF}9!lH$neOovZR;i{+lv|v7WdcBFBw1N zkG+wXvwP=ebd95wVQj?1xdZs^z1F8+MU?A?Q-qBLHSVfi@W_5mA2aV)^pV*^Qraq) z>Fsy_qh-k;xWN`#Q^sI9Ry%IC zuCzsIUyr4ulX`dObM(nqQNM8;M$>HLGALna~v5xCksigDVHY(EL`7ZQA z*_aU3b6q4xBmb5@S&HiTeIdtCse)Pi>&&q{1x)rrrV*GswE2VfrvuKyVrgEveWGGH z#~Z8H<>4`Li*|;~?1B(QTIBTe>8BOlIdAK~1h^kGr8QAWGYLl_-er9;-yq$w-@m&b z5J(lo-cE&z!G55fL!AqGd)c1OkKE`E2WMP@!e@=o%D3*=b8gX{q-2jKeGps119eSoZ3sp47GQWGcR-a#c|AllzflcN}HvBd1hZ zixM4}Z$2=ki`C}OA0IZg_jO?Z=G{VrjAT=Q7p4uz58qztIv*Vo6Op2n|Nib%m-A7V ztJS1a(i8Pl-=v;NyrAxy=KSJ&YTy;+#F0eLw3w8>#3|l!KD_bjX~m33{l@Q%yGkEt z+sxQ$TxZA-AGmINu`bg;bT?X3u!?6*fR!6|e=lUqV1-eDxj$jC`+TiWO^~h3L(Tru z{-)l`Js0|J_RhRuO0wyf>iO8W)GyvQn|yG!JJsvOv!rP*Uo%YHOkrC~TS;I{VDrA@ zt^&o2u*5qF?@S}5B84JpW1N*4KP<)+#VlXQt8sAF^SO099`YPwM3uaia`9S~o}*67 z%PkX=d;TvsnHK{VEf(Q?rhGwsCVXf48ug0}@CM-qUi$H6vO3&l8Rg1lE_%01#NQ<@ zHo22$%VY};MYL20)aB`~92hIZjAXXF*_`<$^MRPKeS2j&UUi`N&FlKxLX<-s{BeB_94HheDQq$-F{jA)RYc`#Bq>Qd3_qF9nWy7Ew(~4PP0|;v(%*R zbi>rpXUWet)Adt>pKnh>8{K^6S6CqE@iF+be^4=K{hnuo9bp5TM{H?`}$sQut{JtOtSTmtvb z?ydn*2DiKm#bM7RP(@SQpZU#lq1~SNsylQqlqobVtT3D_oH<ubf_?J~VyMf8Q1ZdM@~k)x@^3(t6T8Thq*AMyE|P&|}{{%;nv7 zM4}S$eeL@+^&#~X^@4txRD{4$(>pumgP5{~w+kOH+_|gNm!V%a_I}JqHcR-c?`d!H zOXRdhnNR_fUEOa&GrZXvr?s3esz;w!PBZi{tTG1)Bc&nWz3DU9=iwO<1L*?|<9ro$ zhA2y`X4~#exjM4iOoYh9CSto%)U443iDnNBvL7h6E3x*4N|;%`3Gxm{Jy~KgjJsMQ zjNohJ^L3mbiFNVM^v~L~aNe98OBT+_%MA{$J6M_`yVJQDmMd8NfUiM=L50x**@rZ3 z!H+gXyRa$;C|^;w`f%<;+TAmE@808SP<81rbTl(HIcf9MMxw8(pMcHBs7-I!mvj#m zQ-6q=iIGU*Oj&DfYV|SXH0U+(tuQZ-#~9A!G!o4<{WO=^a5DAaD+Jp$NV~8->VxV0 zROZ2(g9<|Y7{xef47ch;d!5Fb-H&MXJ|212=WOh$6k1oATcE3pp9;F#qaMWn#$M)P zE#~UXay!#+tMf*lRh1@>Ccb+y-c9nb$mEl>H`js^LcKeQS9>LU3X6wNnK3c@;XCsV_ zK6FyGw?7I~3B%f1g8kR~UhqSV4xkntOa4^_qc3qY(2E_p-$YiW0?n5L%q2=%i=&Ww z!~D|^e8N2nzVRH`ei7`e8tgb1+}|480o$O#Xt}aarFk*JvcR;y!UWmFpxF~&!}p_- zqaN(794N>C7Jrw$U%Gn7e1m{I;dp|0s{RzM%#Fa2{jvR(NlxO+XI*Sv=J5SoBooyo zCOR?T?_|Wyi_l7)-856m#Ll|w(r{6dK;V89=siT^k_f+Y_RT; zz)|Vu>qi6D-}iY5+7chTK1T79(k-5K|J3D+iGf(@Eu2eB;=&bBox3WQs5;^dg=c@tB_tLIq~B; z83{?00}1)>ZM1;*FY`-vA%NRG!o54`;H$^O&&6ej<~e?Fgl0enZIpr@#= z4!rAGdD_^xdfB^qHw(Nn1|CqktC@I_kX*cS{32D?y}S;L|Jgy`*xOiBL(0m{Md*>W z+hZFcKNt7oaY&^7q=1huHr|go{9K$}y`=nPxPG*d0zMx<7Utsk(Zt(HhRaw}heOfL z(}qJ_=(^B#E?H_04i0HgYg;K@C6(X11AobI*?W7tO9>16`uYm_iVC@T+6mu~l#~>{ zE+Q-c#zYkpGOMWaDM!>EQ0|;O5G4Jno~%ZXjvy&Q28EBm5xyaGUHJdT2D(ZgKb6vP@Uw9?QF3qrWCqM3dqez|i1d#R zfBEXaQ~sf=@qfFDTo=9m$F6_)>esFYUN)YJZZ5#2-m?Ey*zcYH_~q{%rG<}q|AQ=k z3i`)WK+>|*(!&3zHCgH#d*_=0MY1?3Y3l>;0L+emP8_4->d$xJGua18&6BlzBqZ`A z>Piawex%=#r_#s9X1h0zMhblk)e?ntlV4q>q>QG1j4ci6QT|W?je+GG=~p6VYeEAA zqoeb$a*QbH$DA#UQA-ixx;iqO{hT+u*Va}jb^6qf4f6**NUY43}W|>>IRplSGPhBqm zfqAe{Aq%Gj$?U3?#P+1tpRPPw%Brgi$exp}&=x)wMM5@t`BMk>+DHfd+BWCeHjGCG zVeN&plyn>gDftUJdyq9Zn)ouR6rQFMXq~n-vi`~L{D<0W07~W_$U~0aNY%bvN6u$G zXZTfcSJ%nTPG!4AZZE5XbV%Fxpd4q&2^3!hyq;5XBy5n`+CyodtXte$&oCmBicoLZ zSL4*8TU6z{Jt<|^x80|6YTE*2$Qh&{vFZ89;_&nZzGQA9;Tb*;FZbj*vWbhg9hjUC4TlHs5F0S(D}8poL~3 zrL&x4_2p3<{f0Id-zQwveF&`_7a{1-#m<~m&@d|1QHgUL|19LV-S(jtgx=#50ZnANgn?V~P3llI3s0>(Ra1G%lnsfTZ*(3-lC zkUg+MeRTZI0iut?JJ@bI3XQ?;s}Zea|FYOFIFr`Z!&Yg6C$keDec2x_LC$;US?ZV~ z>1P3fF*nn|Dg!&W3=$+rZ69)o1&ZcVFA75{IH2KwK#LCEvJR2)m1%fZ|^? z@SWikwgPHg;P9R>)=j-+z~sm(R{GGgzQvbzDX8}4ZAciHz+}q|m@YMXQXG$8B_Bh? zCy`Xr{&4!}<*8?O&~9%wd+6a}vfcdT0HS4bUzF}zpjQ;$LTA;i{AF<7rxFWQm)qFZ zBJv&P_shJUFuBraLvjjxcnl|Bo3`!erWFbQ-TDm?+nMFw3wm=62DBDs*jSE}9WYRO zhXf@iJfY;wul7j9=&iFlH2z)1hc>2};LUxLfbkk_WJ@Jybjc%jMsSx(RSdd8k}gJ@OD8$(5+c7thAY{B;?9+7Li=*_2htnL@cE3B(K?Pd4&&hWX@mS@|8hT?4!_s8q) zeWLR0kz6V4{OR|+gD2mxc0v~FCd;}KMHb@j6&b&NmCIkXvuKpz0yBL${MFJLKc!g< zA=32r_9lAT+*7a0JasRrYqe*%DoZVPHAT7+^~OKz4BKW5QZHhen!?YvFe>oo(?g8T z=x|U;nWri1Bh# zG2fP(-AC-a7GSi+{f#JLoEaw9e_%MOU((L|#eAF##^N%VfJs8T`Kz>N)?G)`hDmXc zz+cm#3n=iz1NzO5?j5#@gSdd6?#ff0Fx|($`i=aDR85NDIvYsk#m&2YZthsa*oHif zGgvAN(k|Trz$r%_#XuISoKH&03ngvzsFr$nP~lX;lJrNf(@n8n&_r;YkxnAG>U(-p zbbKB+0%4~kxERjYt&PMv=BR~2YF|E(#v3d@IE%slCI;m&C#?Eeoh2tUM@}_3aA`{i zf~qN=rBx>L=CKQUbx>hbWe_pvY`vv0l+Am6b%nOEe2<*=cM(F(Uo(&Tz7|!yTVi}q z1;wuBcie8N0KDqvYgl;n{lZXhK^^v4}P z;!=gbqM6bCsC*0v?yQDwIrZ2g{s=VoBRAy#z=r%X0 zTViP7@HyYsI8-6Z^-&}-J=z;1m$_ba#(z$X{fae#kDTyjx$$vit;plgRk}r<%{3J4 zkjLi2v^>GEWIhu!OiLBi+Zn}GxqqeK@LnFNqRr9a!6V%1kq895{I&+|2=~O{z#_$> zuT4VxMsiVC0P6@5DJ~49?EpQL`LmS?{eI!rZp`pdsDI>2z)KpeRU|$DLMWlZj+f*e zd|NB1sz9ixX@?QLCF#db0M;>@>)|XNqGE+kUmM5tfJ4_F>T2713O^UYJR|Y(^c{{b zAXqcxe8vRAStk^%vv}E4px3z|jOc-#&8vv^4!9DIfcMSApTB5Sg``%@QaGIKgzQWn z!q?LJ)OlGL#Bs12qYGbnXQ{H%zQ2cs3n$S_HPY}eRr$&#@#eBJh(q%={2;0&T*w=3h!P~!@OPJmp@(!rsn4PC~goF`KyjY8O z;EAVU^?Ue4OdRyF(X)T<(IZ?~rr(!d1y3d1-lGqA*gmO=HK^Az;UpBhtRLj&w`K{E zC`~Xv$~EXX8k2r9M?QlZ+(U5&9aVjibt`ML4b#iN{EHI3FMO){W`G=7$=O`llUJzp zQhP=;z9aAhtnzOmT?Pi~QTYx!u)wOYwAeiA4_>2E!w_pnzr=4FA3YJj>*{^E@2CC( z3POP8hFM-fmbEPMWrC1X+4z-a%uwE(MZ}ziB@-8XpJ3{M6xot>5%Wd6O&1}G6f5C! zG?f?TjA1Qe3xh@&N`8;83zH%{vqoJ@HpGZsSV^4NIEukB4}&_l>Wh>{o3D}+?(*&^ zK;$Y?w;iJ;YJ3qNrG0lj)|${=H~$=a$S<8v?}SNZDm`ed@Ep^5t)fTNJ8%PR?sgZ+ z(3w1Lh4J2H44HZCoUD!(^|906RC(JrTu#XUp+?!kOOqRHU@nOY*idNR0S`C{36~AC z;2pM#HK2tIW_IdvE#JZNmU?>om+fuQ&!Ah{L<3?pvNm#9C%*YBK+5wt>ryIBs@q-1 zrCEPFHv_bAD)b)>*!(&w@lBnGd)bXj9cI^{&0^eo-?6uy+`qR)$-g~t8k-F2aHYvg ztD?tXm#o|6lEgd_$`ph>2GLbw_(ei5byS1IQ5F5z?$9%la7oj<3V)7Pdh|)_9t42S z1a*NKY9#Evav3I~?hw_w*|iz>F`r~}UAWieQgBoly|Te}z>kA>23KtM#=+kh^ljWEFlE1L~CPP7&&w2hfiPl=$>Fa$;m2|VLQx&gd z{SPazUMWU#g%P)I^Nvvh3%lpa97EwM-AzOv#lt85T_)_+EgLK@>4deB=&ICKHq>3y zn-#(awABw8Uk7y=?gkxdi}RIC58%vj}+gmZ!PqxDi6@L zXsFI(j0*myvAoz*6)yB*6x`tJa|6*51mz>a>iGr>mvq4kb`R#V>6{|wX2;Y5&GK-@ zxl%Jm;Fx6;^V06UDD*XtYYj?&hJ)IvP`^7~zNaAuM}khvN26kgWF@VE<1X#3VnJ`# zWoM&KjdTv0p9%vvQjQ+)DA=e>uy7E6J|zH`Aco~^HOj0i18O6tMYT3 zr)Ef$8RVRYeF^;1Y+mFGr7ya(E0P;kJUh8Rl|{c;<;x2eiWeV+41I0RV5^$Z7w|&J zltNaW#7p1GlzN6q$#yJWzBGeA(8xH9oe4lZ3lRBQayV&}w?rpcgFv7AZvXTXFSdzs zqa}!FaTp?CS}VfBA73o>#)*>_UxdVKiol<8pplW{hBm7N(pL|N%z+B^*FrszxVv0h_zE=RdA2gqnC}D*ZM;8SktZQ$z3KZzHrHB?3Zoq73Q3pV?Gd9{9Lfn+Pt&XREye{DI#23~Y=lR3 z`FMRPQe0SOK)+kE8I2&`mdwBostGN@0}4U=L-0bBZ&3WTarBB8hG2%q2H3D;^Mlhi zS=pg1=wCMYO%wwcvA}lVb_l_=+q^h;yRK?-Rjzc-0xOZ*vMPm!`}J`&Ashp_fOyyc za=u%8=7(;u-gLzo*09V)73O$vMOi(!k(O|xpFr~Pf$!117Vk~QDW_3*F@(DjnbQiY zBhI8R8=}q_*`(t@87q4$vc>tUW$>hxuM)}Y<%&9seknO=xG);bV2c)U|MoS#7Nu$< zu~M|KuJ6v$HpT28BhSs4pNO}iubJh3hZe8wo1s)s>V~1LeHy10FOP^;tj}*#cLc`zZQ_RS)!JuiQIrC!cFO)U>2)g3?rB&uFq#vKRxB;;Ha`5Uui+kCvU zSX%p{LCeBV>Ba$9&0st zHt?Rg|1#{_Bisz={^|O%_KoT#n~}2~P_!niVr{srwkso2PoZs*fc1*0Q*V>g8+x*P z{Y6?QjOc#;?01l)ZF&jR30BDwl-YTp-H+(gmV*kqpJB`%Rj!7uvMe{*!5>^Uq74|y z(E89b-F2$}C8%7owdFugxObrpm%ZYA=|+brZnISjLZ~p>yDahzvxzupk$f2yv5y(u zx00A(Z?Vl-@_D+S=#rX(nBVhtFF!=)cP#7GceHI61pX44v;k?6q3x+G1nT>exJ5s# zZzGej;&z}{Gh#c4;LmE1z7OP2sqj<;ym?}y&d6YMZvEsHSIFIw;NwZuWV}tWv&#lDq_JNpAh0FeW$2eGGIs){9NDD$ zq+k!*&#c-_clOtugUSUI9CV`bryBC)s&PrmM~8S^j?>|7Ma1Mjq+*(?QlT1hL`x?zVVXgt9 z{@-3VT5o-38hV51F)0BhWL39*GTHh#owNW1Grq+IvFQ?HqJn0I-3;&RE7=YG9sG8} zdCHxkr*vQW2MG2n8HItNqP=Yz=j^A8pGt46k86Q^zwg{@*>0Q77(yqC6y579^oWmG zD>mu?+xVxpH@w|v8+wmzt)XZ56oFvxun67>IC#Xm7QY%&p5}dH4@DDn=wc;1Ho4mK zWFkDGLveCZNG+P^UCcw7_Y(R2OG!#qRVT$ksK9{G4<4ZM4z*1q?y z-IUWpjY_@E&gsTm&v+o>su-5d7*ST2_iYy`&0eW9RN4T^Qgoo*^e~%QQP^`QvzUHm=s;{XV1{n|Q)*0v-PlNBa;eR|-2! zm(_W^_k1Pz_6`+h&=k$4d%jtV5~Hd9@t1t)2CD6^*8;YDiFq1%Y`? zgm8jnNp`DYV=QsbqGIDIuz@4L{BYKqwzMaiA!)7iK*o0~iN2MM5+e-zs$kNzlUCZU z$&5%e%IlakvHQ9pDY9b`20j&$*aYOl=XvhgpE!`+ix5AwE66jeYCkHLjYoCewEZ9A(`o10GaIV)`}&6BI7iy9TY7i0o)NZsbm zsqQW72}tHqvD)Q?K`FZVkO8?7yfed4MKyMeeRL_|+DlluD3DB8`t5js_J>@Angpq6 zx=++Z;;Q45S%v*r*HlLBtGQ~(K`RkL#c~!BlV!exUfdYdc2RVPF76!1iDc(L3FeaV z3E6zGzH1MaAK*~bB)X)CyT4@`A-S`=Z|%eAJXo>DkPGaRaSlmqBt%9cQbZzoi~Ux z&2{)v(q2{-KM4KcVaV7Y|C_nMQQPAjGrtu&^XJRU51_NxK(tjDfz~e#%L_OYxm%;d zDk73izL!*QYsvKwkZ_HFzLl^*LFW&eH~IJ(aDd0Km}ITtZBZ3%GOAjMcO1V}d9`jF zhS;o0foNFYbq@wo0GscU!r#T&e=Bh7JH;NvCNBK#X%MWnKjfbFS^n+pXP6h`P7+TB z`-`b?t+z(o(YheEw!?=LM6Cr{YnV$AWYx>{aCS?N@xTqPRGp+mSShin4F7XtHo=_C zw!)La7|3hsdb_i(s144|I=^IdI55TyO6~aj$**+)r!mSwg+d9c#uSUHI8!e$dIxM^2MITct>9#PcEb(DKVEKl#>M{NC`r2` zwH12_qmjk!i<&jklKo7^-02OwWrq$~z;ygh>%-?Sz;HDHVui*W1v^oagMLFQWq zGe9oa?6YsQ^O04FsBllBRDF40)g+P^~_;jTF#0y%Z(1 zFPe5q=}2Cym`%aCBKTA{xE^k{hf|;Zd0!`iuPh$!sav%eE~ZwM(Bfsou8p>qBMr6-3FEf4Yj zLZ^(mSxFZriC1C%Vx>`JGcSWavTD3wz zqZ1Z4Q(*vO@&*eM_`02Po86!tM}vzN(_okR`rJJKr5h{wBuR0DlYj+TI8Mp+aFar~ z#|30(6Yit*#ri*SmP!hb_|bu)^?iZ{w0WA0@G$g*?8w3U1`mUS`KOk>!B66%oi6#x zSD8lIy_;*F{n|V+F#k+HZsj}{9%d4xvzTsE{1`YsWa#_O%|J##j$5{{q4=DQ+~W5% z*n(~KKet)){z#i*eewzP2D7bL?G)8KmJH`%hYlE#;LC#-dcoeb8t(<{8s3Tee>xg^ zx*Ujhx-v^*aa66fMDXBwpy&HXV+{oQ?fHZZPKSl6;VwGa%=B9f@X zaO1&z1)Vu9uv@5U*)lp}O)p8if^&F6=mh}4Mo#F>KHH!S81O*qZ&_slct5we)vWRW zFrLXR-7)nX_Hgi^xT~rCWfl57G;+$dhGCYl&NLg}c!vo7dS-20cHp7p?4=b);y&|$ zlkzy{Im>$ULQjn}>*^2refL3{i}LPycU`tq(#TF3T@&Vhg5+W7OQV?{{0(hRpf$#} zY5QC?tc;#_!!tL#*@OFD*i>ZKS~B0T(3i9b-vvtzqwp4sBD8<v+xECs4eWE?Uv|j(|CTIbf~dm~9=Tp7L(B%Ipn}q8R{v z#s%-2*WV< z)$+J|c?A0oUcA)s>Vh579<9WmW%Elii!zWS&3Af8A;3|jC$>X_Z$2nvOiq%n1^hgPODydkMPS*5-+2qEY7a#fjZguu<{StO~vIN_xsdk1=d#^RRoL4<(vXe7i4dbods~S zqbiRw6H_>UR&P*51T@3?xUeFUNx*I-)`NggEp__=@pp~+ed>5PX(y!oL-=$a(~R3> zi}{lA7a2vhxrm`Eo1UD5%e=hZN!Go!<04=Tm&uz2MiZEA(tbOnq`q3Mxwfd#a4>vv zy^AKLV48&|YGMfaZnjR|$yNl#p4g|+y=xm%v6`mdp*=DznzU+t$aZ!!G`5XTBFVXo z|Ce1#4cW$%C5tbRO6Cua%Ixs26R)>ZEc>Z2xO=$=$5|8)%5({1yzSE`WdTHu!vR3g zNkIM=pZcx-Vp(=R8Q}*bWIq{U?}T{w^TeWiVi6V(BiBK%pua7TK$iuQ<9PzF9W@_} zm_4|dOgDW17Ve>wVB`}Wx%*a{pdelO_|TQ+Rok0)uS9;;1J@kQmwAU3%YZY+ZZX|k4Su-u?Y_J;e+nshTI!@c=@$BDzsz`1t?kR88n;Fi~$=Nj+bw(-5% ziYM|OriC}4N|}%MNA^$mpe{ijh+b)^sFf)(2M2G=0ycU_puV)%Oy5LzoaL&lcbR5C z4vlRVzLjk=V@|!=vd!2!C`YqkONgIOzq`@xlst&eLVb98n5Am2ctG5u!!7yN7$EcdZH~sE_>r%^E#>Lv%XuPx7Z&xCwzrpiY3;XXa@^(V_>L(cir6lBs z_;(pHCfcW$H^LXRg=s<3d_8JW3aASb=ojh|J;?T_7EXzMRL4ilEI8?+$I{4fFzBEG zs1spW&p!V#Q61rK{NY44M-w65q}|K`ZH{LxTJG(>i+4=fceAhB#R;Pqy5jA6OK*%? zBdU>)rpwWK_3}Qn6r4Tc4=gI?;n+NNkkH5?p_&-b^U;BT)n}N419cSxUim{wOrI;f zwnw5jZZ!6*D8^C!**7kC$CzLo0;XZc{&%)u3zMYI|_UJn(O3rvWmRRKq*$q!4b9Vr35ot6DU3huVD;WQBXhNoBPHk)6va7+ zTb-~pYTWU0M&Jc^RDyxTBFwa-{Na#UBggD>P^0WX_vl3rM24Tm0QxSgF&Agel#s5Z z0tH4PrC>GFvWuyNjrXXQ3$hBAoKD>0=`MrX;lO(Uu|Y1J;v8MgV|nC!5u zyoe9x)lX+)%c8IbCw#}_GW*tN`(<*mmvCk`a+^Y0XvXG(KJ`^7;YAfrgN2!vIRAY7 zPtN)9B%!>`zG@oZQf|}Eyj3FeWj@%Ec+zF4?!gFgGG0hzswE)Dd-rmacABVy%rQ&B zSJFkw)zxgmz<4|NBp)tY@w;_bL6p$~K9n_leN^ zu-Y>$?oYf|K94v)%}(-8+0Paw><-@^d>^Ihjl}IGT_pGmvRLj~aMtp@%#S3LQQM|8 zPA<08E)nlsTfpWY9Tc!_j)kw@u{^sv_3%&PKTeTADF!Ci94##rnrYUMpy4mDLvLY; zt^k6F9P$353g5K3g_H*UOi7nXJ`G?WLOACbW-dJ|h`acHPL_}IH2rz^Q!PPv9zt3F zV;b64b1iXq(}Xw?X8sM{Sf4i+1Whl0aa5ABTg@)*Jopr!sY+6E;T0`8VHmP$<)CmD z3p=bzNR#Wb7@9l`Q3^7HfB)sUmLybz;X3LXG_Lc^ICtds((53g3TCNLGzd5&%JG0E z+7s1Fs)?{wj9C2K?7c|;V>2d8?T2I`=;gGvJ;K@@RVK-hC6W>R;;;V>7kaEmk>i0A zR7!Q|n}2qx(1&@}86b6P_HA>F@Pt|9wH+noOxZr5yrPC9i1HpRW3AJ({2dsIjdyOu z2jgG!{MiQp>(ZXo7jW$@MwP>3m?;Zrf$VtT_+1psJ~@Fe+9*7L?k!8(cGAL(>#UI5ZNBVz zlXqs#Bn;i%PHwz5UC%5y@#8fV0%2$CVeciy#RK~R_X2EjVapbDYBbGXT%iyLaF$Qob@2^D@t%P5swY>)VZv zY*vBLwahLqfEy?jqKm$8=Ue#l$(GbPQMFKGggF;c1Zn`qUgO#y-1XgQfAb2edfe&K_V({ z8{aF`fW@{t%g9a3IZc#u8PVJ_Z}E1%29#De(-<|Eh7u6Vuhjj3x`=n)*HAja-51_q zqw+gislMw4t<)<1Dn;t&@^2nmP;3HKjmvFt*-^j*$&>+U+alxRI2@=-_4Tv-6c!y= zD7@Y}QFV(x^2h0@;LY%>55|G30V5x4g&!0bW_zjdHqXrnaS@eO+T~JeWG|YA0dWj{ zgjHSg>2Fwsz2JI*LCjm(Oq%{*v_d@Afv+gNkmZ`@@Gm2d;d!LnqLJ9P-Npfx>0OJPR6{zi{{`F&%%)fdq&cJveh;?$09p zUp+%BFLE@&S4aChfAMwygI>zQR)C0>JkC|1NcW%kOBe_0mrWo6lDGZ^5#Ed(P1*!e zrGvll@>e0(ngYjdzgG(XBM}&Yh~Ev}|6=Hm&*TkH)6Ll7R~F~~1ra0W01-$y9sXb7 zr^gY%Po*r3h2fBqkv%5yw8wr%(UPqTkP1QRDf#JQ5E zcaQhN|IpsL0x&BLxh8R^{{<1;OcA7%gFKjl}+Jv}|GfqKibX-@D@>E?%=UXZ@-#L(e?dPn)~mp>m-{9&9z=-WdG zaUs4cYXPzN%w~7SL?pORwbo;CGlV~z`$J4h>MP}Y_Yz-SDbjiQY9d&fZ1&WL->C*R z=YY2p8TjSI=nt6U(4=V3xuwF>v2V;l+D^T4FS%6U!#(}GqXk8#KWVV;0Jz)Evx=kp zI}vl7rqI8)Phf8`Xg{1AjEJvx|MFG0)|%m(k4|$$|HJCuS0|P^t@jW=ec)x(`+x zU3sg(+1&M6^+N{R-%h#4wJt(lKej3K&d7X`q<726f8cjYLdSr0S~8IZ`+Hp{B+E~W z3a5&?F*6%JSrtF(VDyPY=MakSA`-rS;D3_RMgBWU3-N%o4x8$X{vKoJFWQeaByEBB zV{6tr0NKyBqgQME6L~!g&2|HH3)P?^ymgUA7=vo2AYRdX97JmKHtXj{*-+(l-i(tW&jaT z`JY++g#juEAHS3S9Rf%~rO&xHwpdDmpR@&P3R@Dnng}1>AKz2~rY%$g^nPXF`+s=) zt6d45qu@hS^GdXd4qgK)qtAL;!Y78j-<%60+DrX@DTAXPaK~kMTerXA0+@%KN2k>N zT=NkwFK2TbJI&kJ0G-!Ry~NoRU)&|~Qysee03)Vu+fV*p8u?_j1Evgyvx40d)LC&i z72Mg?pZuPyEIbAz{H#=DCGD#-KHkc0rhS2#^1@Fgsc~E+PrRRR6p5T zXauwslt;Q9|Mvu*2Lz!$_xkwO5+Gd%E`TE*-Z01it=!{b5~6`Yxg4E;9`DHq05Nn4 zVmDv>?yQr4GUr=<4 zfM`zAJ^LAk_mBW~>dY;5{r?xyssU60mxO*wMt0Ja_hUq~ zfC=Zdm>B;4s@Yr!N#_CS>5o4F3e?kv5jAAI#xDJ>x=HVa%;om~G-9CxKp+a=_v$(K zx0<-{5Ezjxa8uIz7#^XO=YS5GdcC24-$4oJ5au@_Y5SvtGd<9uL9}nrY&&>f&CjQ9OVm7l;UOaZ`ennT0)%i;EaLyH7; zGM{@ysk3Bdn|qe2SH^&AcCvIq)as(4cOsvuPljK*8@W0Ncy357XpOcOGA}aO=%$@H zp1itHBwuAKQ)Gd*s14d(uC@PI=ikiVr^0~($i^L9(D?zI(0qz=g9@H{Cq%|@}LVG6S8>%ENI+lG@cr&h${C7VR~#K%{Ph)0^f zarPfCK^7W8r?VYY=z7EfSUKM=V4*#xBIG%<*xl7JDv)-g8%lQN)64Mv0|Kh&FBp^0 zCX<{XPC9`VR4{LAouoQ#BIb(Z%ExE{$DxH}`fFmD&NH@o~& zmF0?&wA_@%Q8TGspRgPY<$VxmBsF7VgWc8(D>%lfKB3Bi!u3>dI}B{o?UuDT{nW~O z6%Fqja(RGXy&>l$?!d`Q({$faT=Gs#nvfN=!)A@I-?3T)JTF<%Y90L22ODLPD3Y=t zx!UUEoMu#wb{U@zW}NYHBHC6xX4B^4udJzl)^W5qN+<@zU15leojU6t$D6wjTorxP zzXxc)um9-@UNx=FDocR za9TnbUZ2fGX`KYDHSrwHC5y&|1fmfM2v>d#8jwh`I^JXA-NrUmf?Xwd^Tb@BTme73QtgL^%AZ>u{Ir7 zk>!Mcr~It1!*W-xT*Cf^Q%3G>xKk zv_e(PRE6E6CIf;B;jOK#uJsFBD7=p{nlrL5Dk5P2nZE5SoJ7^Gazo{VHLw@q^{l7! zw=W6C6#C^e0uy|pf)Wpq6?YDfFX)BlguM|i{c_`Ap@!zfT7XdcX1YKgP7W@`?y>o> z3@Lr#v$p@P^R89Da4!0WsDG$8B_>IZ`mQ{O*YP%F+3fz$OYiJt<@GQ}5SFdQ7b}z{ z?&1mmah>#!L2_s^bs=AqT-*Fp&o9Bb4W?zOl(*ac!iiZbgUK;bW2pvmLHuwtA4g-8 z^6yS6fdU4Oh{k1XgK2cd#odnm>qg}hE|;U&{NE&3>r9$#TPM8A)c()^0zk3VZlu{f zvPq}!&P6`Z>i8mSmr6aHHn?lHy*6o;X3*eiU^nTT^s(=5K0ga5xU4v2p(t=6#&v;DDk5mui^e>egQI0tW#3bKtN@US*i5b7td3SOf&1KT+ z_W~a>?%L{%3+D4PqH#37Id1|6zD5(X>U6E*qm`q{IB8xX@s{N`oV$W{fw zofLZJ6s%1GlcZUuY1Vfe3IFCMbN%%@Ho5f<7AMP`N(&oPW7I+Y@qRHC&TQh6lZTRs zASCOSs@-t#b`A#X;om-COAXqMk!i8PH`abx7XH4$9NT*At)`YW>-z}I$^D#$ZfAg1 z%JZRLKc%Aq+BifwZvvYuh(_EGZ-BVO$MUz=vMia(ycw%A=Nor)!2edKA`Z>w&N6~O zYl0ccq({lu0?xdbx>n}cOUO@A-gF#OJ0x^`N@`j~ZaYm>CYsjY(N3=*%*yS|g*)gO z@rC_4Xw|t+u_@IgSE}!@0)mT?+)t(qvSQmTI&&)a0wxert|*4VuBqU}pY z%wmV;O<`Q z56+W8=j$?5A-FWgo_Rs4_rILj#UymG`J6s2MH)Zi)&GaD?+j>a zTiUiE3Mv+gh!jOcx{82;6h#F^iXb2@Q4x?DdJ9QJL{yrJfJj$*i}VtbhzN+3&^v_Q zNvH`S?c2aP?>+Y({eD4`z1N;KGi%B-v)1-I;=Mi+G_gJwUP@L*F#KXJyL>iBz%rm{ zJc4Oa;kochX6On9Z9yPvz zLcXII)Hd*sVe`$fb;kx`A8n}Hl(Nswf{Ig&t+F09e2QHDNr`t2B$2MqA*S$aFN&^S zS!F{R=b>&y`CT!TaaCbOETcQcOP(v!!wjb&XDf-4vKohqzb`i=@>{VO2j+0Ui?z}u z3pdp?m(31=Jywt}gK!HEi$9q^3TLHYZ{_yC?wptZd79&cRq=g`iwYfmtKS-bTE=h= zWPf=jS}9r8mFtrT4B5Qu`%*~5b9tt{b0ei-MA2?5 z*`MI^6Idf-T5=F{)i*GwYqidTmh~aK?*^{G^t(*-XVys1T{D9y#@F;tws+5==&;!f z59=V=IbBPk@yiSv-56DjVOujiS2qMIL8fkLW7a*IesX1WZtav-hx@o6sNcYPxhoXg8tq-m*L@z zyzT=F$*K!bMwRrV_f9W(Iar7ofUeZRhp%@>=xK+@_B&p5?7I|m!SW?%0pp{wIvxYFs@laIY)qx?=sES@VYXTq`wun(AHQ4Ws?Ri6 z_8R!!J>p9QZPckiF3c-_ZWz9lBjy>rYN5pVs(oxf0Xj&{DVp}pvIs|22<$7k@86_I zej7|gR7v+|%VE&NiOf#hp<8(;x!E43g?QiDgs#dT*a0ye6Fwmf9cn|`{A^%$OE{E6 zN8|bh-^nZEN^P*t6IYg3O2OsE`RY)vq3n?oQqV6IiL(8^PgivzyRSuOH<(?tNfQXA z#MlB`ScR~gUbC@1QBEQwYS@A`#KZJgw)2MQoHE&-NBdQ8px?ezbrpG_uN7qwE8VQF zxrQmsg!?IQnk#I^yME5ICHMP4y-b3%xMp`i?)X^aTsMaxS&D6IYfIma`3>Y-uP!lQVt?+8~?kne%ZDfRVjSyO0IN!A>^vj9};pb!8pevYz&EpXfX zJR&;y2!g7gJpl(|{GPE51boN^DFE2aRDX26ZXy1wI*k4;&~*+7JxRNFXAuNd`iyuM z{75HPBl!!moffBb;XN@(jngdT*=r%qbdCPO!EBEyKj(-Xu>9Z#25%W{TnuNuG8>{X z|F}b)(*UGm#@Mj@B5maEjI_>}d$?iGqcmlvJlulm)@lx5C9s~3yMFwd&}Lfx?3&nC zc}xhgN9Xd$9$rQF4D`w%%1aC7xiG&pQXQn#o~FI9gi~dj=b;D{v`iuBW*_E1bJA}| zUvUk9skLV^jhN@_>O)->&wIuuSijexaY|;ugpVLrRG3&U?+|Z^n-NauU<=e46F_NM zhaEtVU3L(${0wTaeDbZ3*ym;)dg7Ge)e~&-A%-b&Kl`@Nl&CX9#wrO-A7OwgB$w;*wKfdgKa|%!M3@9M9q^#Q-^g(f86wEcSf`+tEHg6lmc^I@ zxU`efmNOShDw-w1=(@6TR=zjTNc8PGM1O=ex^Z}D9u9(}tMpr(Z)BJl)e5S%wwgat zbx3;dC3mB*lx@mhPN{SDby7$=cC6^mIG|RJsdUGkA>*R=+ zzhv;3^jo}#e;NQ@FHMV9ZWt87mL~|{@+;D@kXl!& z1$iz?>Vv5Cm3x~G4lQe#)sZLD--V1!wi$OCnaTP1L-X1pf<&jCW2uAAbD7b!F@ZxI zz=m*PeXE6CT%WU}hS&O5-?wpbGy*?u1w2ZU~nj^x&k@n4uP;(++$P zkO`H3ZF#Q1wp7^8VVs(-Gc z?~g`2B|l5bV>N`30}dy{#(%yx*8XZn3ljLaFJ7tmE-N`pf`$Vr$`)13F)N&`6_|O3 zA8!ch0n$~wB6eWQ!Km)JPhQWGLvK`D9NfM4z*`80Qk(gU2kdw1X0G(!&hy@j4=F%Y z6K@srpRi^7zqfb%A5_st_$%sb)Ps7HSAoQTJf=Y>LM~XHctj^HVQDXU0XHX_4k8Oe zqrJS824+Ft(C;V+f??%4TkO@}&w-k~YN7%$dSEihkkhOnu@`?wFy0hCsqsp7mT(a1 z{?QVHeIRAY?&CRzG(tn)uj$OSS&c^vPX2V;-CXqj>#RP?#6DXgptcM3Md4?KRq%K; z(UMqK-2e6Vb81WW(eHZi<9aIX!u*yzy^RL}B>A)T`s6Hqrt`!}8M#ABRd8aN&*iLa zAFlUv*8)l6XN;Wj3gvL-0f9z_(eszBslt%8(sXY^p-omtqIVcXtA>*qSN7J&Pvx7d@Rn z(wYAax6COo?e(fz21N+fzk$+udK#K*JP@Pa5P^HYLS*v*U!@~(4eRM{tfrG2*6eV@ zt_A+N7$Calp9fO-Uxlu@73E#`IE4LZjr8Ttj|#3*E3#jNSjoRMiYs)jGt5!Nm+TaT za$d;{Va(-`Y-_7YJk!oP+Of&8pk|w@BYHdS2D^Cfe6ge|u_~|RG75m4kyK=N0cqMy zqav>u@)5V<2>l;Y0R)w)OSXjwr3ly5w3w7fKwl4ckbpo zUnlEeLJw{9ljsP3%{!p$U6H+}WM!83+0KMR=_Ey0m*q7J`O0Td{5@pT&1UMP+roGv z?==?k%{P&pYj!*3J|eHK+bBE|v^J(EUhOsUB(f>LN(+FlTnqYoFn9mffdoFA?FrrA zKWu^hZ>M%y)`dmRc4qfeDdQ2kQ?NjvdV8 zUOYB1bu)hSAi+a<%5Oa^q=NYJMYj8hvTnnXL7mc4!IeeF<%#KTw@53`2JBjQ=kj82 zoe2>+6l<@nJl4jbrT6BKV3Hw+Rx|8azJaZY)So#~^CcFNCtQ8~1m7}a0u zRodQGQPql0y`A2Ytstsmk0$zQtW%rUO0w9Q!a5bz33qQgBSCyED=(321Q>re1j{(5 zh4F43I?GiB1CqR-r-Hn^X3L=6f}dxYK}6rWqi zLp2M>IQD3N5iBzSO3>Oie5%4gGusDOVILD8nZuiwJ((df0ws$QtPmyFAFxOVHjDGm|@DIdF;SKE>y_Qa2ebx3MoU_b3 zt5YnAdbqQ|3YdN7!9$&t8)k7CxQXmRnw*C|(3_jFf5lA(*)=xE04|93-UhqHQ2%`c zE_M8_8#BqGWJ7-_X?{tvRP){GW?Cqp!kusd|G#~Gi$DJl#25}j6)Sr4)I3G1SmN@+orT`^t>KB-YekHeO zEAHhT$kt`M9ZU70Ld@ZKLvKxM6EdDeDpiuj6Te@ zv&x9!ggoA#y1sd+`Mwxb^ozf+^at2rwtn=EMsIX!9(NU5xJpxTv!L4EnAZFGOn!7 z57&ryi}ChIdH7gKgB9b$(uIc12VbHxU_4Tw?=8Hak0j?gBgf&BFuKv;yP1XNrvZjt(|*nNO;hW6BSu>y12a+vuRCm{zyUUEIX}+hMe8sp7q-a{Dv`D-D9c553x* zxb?IAw3YmfM@na{5v?IMaW(N9m10&Lhm`jftu`3vSm8_>t`jSat01VA#OOD2W{Pv^ z0DKK(hDOFKD9vSUwP+iFZiI!s*oxVx30f32|3CQiGi>&?az|ka56pU4q*Tt2lhVLcD z$AGA?uSqvrSO?P%Lab!@EZ6k!c6Eg2cr=T5AEJk?!$;}M4PIa3JyzjOL8@_q%#g*f z%~Npx+v(Wsk}@kfFt-dUE(z}#1sQ(!UK-W0s0|mC@f!4qmTmg0Zu%eVmw8x|JdDvB zIqiyHO`MNfHn??FC{^z?_pvQ{Q;&nv5RGrJJ+|D4r&~siOpKec z7ib$lGi5P7`=E=qo}W{~Fd*Jm&3M9c&mvDju>^Z;SGHFqg4VIrtklpcKZ%;%#8nzF zzJ~I7>vu?mUJ=7XjuK6%LGha$Y-{r)@XJZwnZI0VR$t;KvS^`LKas%TsJC~F9wNU( z-82mWS0tSDeNH?`z>)~^7(?!Q%4L+DH)}7qAQl?VzIHfCK=b2jW#@*UM#h>?0dN*e zSm#ApT86;>4|U{36(Iz1z>WyT;g#k$rg!)Of32!MFiknk{Z3Iy3nhZzpLY4Yb;ET0 z0#(s3Oesqk&YpCPF7}>0PigX{SB2q?UMnK(UIA%kMX~bKev}->6f*Wk#;TLU(yBeH zybEI%?ECRraYuJUhs5E=ZqaGqV*~v+XfoPBwWWRhhTg%gyltH&0lr~t+h3B4PPS7< znzm~2IhBpHZk{;OSipSjRr0QFYgNg28TbWp{K>s9u{0is^n z(|f$DUH3D+H65W5K7!%z-;vFyyjH%h&6e8AgoY8G7JtYQML6NlO5_p<(eNwUC5(zb z5OK1#Fy;E%rvmRTPM@`n-4=pDT%&HIwO%$4k_VDKqZy_A#@$m!r}vOCnJI%TIJ0Yg z{s~7g-c(nK_1L-W9nYcQyC#MD=q{tuS&Qp~SsF^`IzKbqvOP$NSY$)7Xmeu+9p+tAaD1I z9~|gpi)A={hZQVS$?-n*tmM-gaqg%NCzmvXv=bM0uLE@z&4{pfPzeeZ=h!^Q(zxL6 z4`VWv%Ro=iMV_1d0KEI_Sjkrx>dv+diwwRwV6U0st3z}J} zw|fc{H4>zxazJ}K7MG62OBU)$__&D_O2F6h*0GG9r_v?0ZYj6Zvs2-*!Er13e$BC- zbH3=uP1Vo`JDL3D0^SeM!@~XA=y1@%LcHJ^taNOef}2XV!t7%YsA|v5f?D7L;NR(o zHqp2oW8srBN~O7x_0>9VC9T3GTBT;=Z>wF&m;%qGGn7Z~JGGv93=OJp!a`udEb^|- zP)v7=bGk((T0Db23D>U^^hKLQt#Z5P3p~Vg9SqcM!{VHR7ULJ^FdrmjaKx# z3XPW)&p=kiIZVsBw2au|S$IjD!nzAIzD|ZEM~hqvuTWUarM=w6K8?g#u4ZC81t*7-o97 zp2r1nn{PU7sV#Crx($K<+96xkHAkgf0{kqc3;U#D7D992o>mMD=8o3ya^aFNY4xO3 z`$m4lpi#RAgS;MH(a*ZBoqvAe@Zh{B2nqh|;2~zO?7Rdd3=JghhR;{clS}t8@1H7X z8}%|(7MmZW+pK>-ZZKQCGxb+@ff+fQPVA|;NTApCumm6Z=?2K-s;D*VmIw4Xwb*3_ zxgD@KS(F(qX>yv!!u=g`aCNR5w||aI7?fD(D+cNxMY!&g|7$Az+j9bC#{B2hSbS;4 zGo&?(F!KPr4P0E_v`UIo+cfam&uw}6B?KnSG?e(Msrf|cwGXb%dJ(e34*_2BLK|WA@OMVp-unBOD z&Gt}gE|v@dV)G3Y0+Q#kdZ5$b8$A*E)$|>Af#C77QVlKixk*teg5}ZtUAuTil7`0e zhUzhlbl%N=p9Bv`@0dVl@1+j)Ism*Vs+eVVx+z<48mrepZ<^@m+U*8Ainv~dyDeqD z5O;&_lKb+M`pcg^`IfNGOdy`P2-|SC=?@a{)f|G6Ex`Q+NB_HC0kj9Q0R;<>=^V1G z7Y(&cc-upScFk#Qo;q1NgdE@3XD3yDO5dfKR$^l=X)|=vS0SHmPOzk6 zgj^VJ@J&@%A@q|N7e}UJ@q4B^;YxX6XImR;?P+eB)I?VFb@C1sKE{W;ey6;=+Le)L ztuQ4l)?%6Igw=LdHj004bLA;j>46I{WAC zu6<)Sg2nsxOi^#E=X%wIyM$>L4j{J=s8Qe3_AKuI|V zW;{dv=?pD~LCHOXW7$s2$9OAN(WW|;w6oCm&B`KQsYOEe$Jv9Qes)&Z^%F~gLs&Yi zSr88OgSnUj)Y2d?i8Q7sx44{vY6e1)z6}(eG$Xx)p7N0V;ZuTZJ_^e1}rA;OYV}GZ@IIGFVBMPL5z(n1PHk1>h+r7z8;?$C_ z-`woPNOe!G(64yRpFKxYHbU}iO^^=;=Q5)nC?g2)N{-u-~K!<67z+EhIGIouX9O`_a^f z7r9?RyyqF2)F*^>uj)ySSiQj!uZs0MndaFE?Mlx;V2?RfQa)UA> zFhI$*bNYLKPl(Xls$ItDt2%c4@Dv9S`nrIMLVnchH9?G>4}Nj_5J`OxRvIiBYjk!< z&O=8h?4;`hx6G$&l3&M4rMgg=JpF@{q6Rkq@w0&L4FJz`I+FGWQTgvWlXQK7YAqQJ zG)w+$e24sbIh#vS9e7m-wdYpO-v{C_fYnYn`^_HMzd&=3U0G%u65!*Gg54{|aUv3! z*m#e+k36h5oD+GnK5Xx*P^$uW6!Uf9+ZL-?(FQW65UMZ-4LG>>004^Y7t0d_zoJJn7Z*cLKhm z?z?VhoJtn?u)_y;vd5~h^a;6Z5RIewH7Z**$Hmx0A!rFP>d$uU+_h)lVIj4@|IyRf z^_;4BLQ-2~>njf-p)zE^wYD4oebwKWXGj6ZXE=rib#0B{@5^&|pqskSPW68V{p)h~ z@@K=ChI-|m*DL? z`pyZJL4@P_x5x6g2Ci-@xP1HXS^a0&t#3@Z4-b?&jInK#sfPv#@s;)Z2N(Wvy&4BF zDe|J=Gs3Y=F8LnyRR zIJK!M36cO^^s>@ zH-68NP=E@^hj$$uTZ8HG0r&PDXU+YOA^ayj{)$Hd!`AxHR(xxQ8M^@q@gI19_ULaf zS99DiiS62Z1l`808QR}J-@DXfQF`Be3Fj1lNuw8%i~Vu3PKrO|fn98r^p(E^=AI95 zIJinV?Ds;S1wWkW?0&5Rqk7!Y7>ZqUy6S=F=jxU!Lw>w-ZF>fVzzja|pE&sYHS2H6 zb-bMR>jM5cyT_dsYYfBgE_^=u&0O9Za7fA9s{CN&W$d?`!YUuA%E?t_v!Ag)<~dY8+MBTSNq?QIqW*YwFIeMKAgomk>jb?iH4p=8c|dIEt6?P~ z4%_$zc>m zNMd3sRTY5|C!kZ8b)D`HnkXC=Y8e6edq~vq)W4SJmP)Pe@xK`jQsF*+u~HqiQCk!} zMoAaQ&T2MgCzRq>g7Zg3jq0iACCn7BN`kf#6w_GFD0)^f)(kFL}q10ti(BV?^H=xvAjTR^wkM7)v!whHwUzD z%||(-P|Bp>adJ4eaAxfan-}w%osDT1){pw#nEdLRI`}Z;E~}21;l{+O@ZQZznM;>0^PnaaM(B;xA_2$0mkA@qqpX`h@W) z$wh%D+Z0AG77k1dTw#~NJT1BY?N{%eonOXk>Tz{n$jY1%3BG4fL+ejFW)dch_#@UV zW4y`nUY2(}7f8&(_fov7Q~FCatbRp>Pe}8T-HaOt1mw?vjTot7CWB-ZPMorAdF4}h z<%~_~8#tX>6TzW;LiY(%%keJG;&E^4Xt8lxO?&v&cZs@Dsb;3%;r`dyYwaw%#S?V) z+Cs;QyT_vJ8PUXOM#O*-{^3HSpLZj6n08?-l=lLq{&g?8jreopvJIW3&am4|7O`Kr zQ+9;FS`aNi)RbLGKpNLU3$3jjiGqoJkAf>3VWmSc;n!wl*{NERN{U7%qU8sgbhQ%| zr35NghP+8j>FhTr*JFPnize+T1ro@^4LOyM4>VdgsjmDmC^tEQ3hQB$ zQM-R)fIK^>WMl$edtg^%Wm$D9U5c00AyS{ z;Uh~3LNR>-f04Nw*8k%ZUtYHZ84R=Xr7h5cS0E({#={Y2PA9~QoSaZgg59;t*+|ad z5Oc{P@3rD9pc6eSujs*3#PS)^s8_GnoX>ay>*y~$^NOh*z8`|-;)(P21k8SCTmLeB zsCQ~7sS$Hc#V`NnCvz>)ginj!v@s5ZZNZ%?g#yC^zBZ?v+48BRIl%^`d|Ex7SV{Mc zgVJV9S{T+#eUIu8q8v@ZqIW#?m2{Z|+#8#X)tO_7{m|$Kc8#tzZmCLzh0$Ens^svc zj%wii$B|&xdEPJ4;IyKilT=$1Mhv9+C-~CSh5k7=Hy;XxXY6}Kv+eTrAGiAb6l#KPobdvLm+}JN&W0<+Nv+6naS*%}&ztl!L&v6DlUBb+vdQ!=W z&)%WTsj$0U>oiZ?dbYP5)b@+Jy;K>oy%YkxqIqz+1+$v)oslAXwpPR@9(;K9?hM!qA7tK;N5EgcF|7y5g$Ftq-Ol$X6_@HrMUS2-d*pzfA%e|5`2;Ue71$W zD!V$^k5n(;R3uZB0~m#lG-3D>eUvwrd$yNp1@bokF5pvA55c|e|)$eIOSnLe5GaPPmpvT?owSy&Fqz=l9%Ur5?z434%lL~D_jF>!?4HW7X`7j<*twz3VruQ@^|?wW=%q! z#ubr!$@Qmm@4W4cH@f=~QN{9kmBINw{cEMNSt>xMvfmmssIGGNUQWSi(D+9gzNt3+ zJ>S<)XdVjO4V<1`P38){1lhpqN?qAPo{QWkEA^JleeaERtEyOqMPD^_(@9J_j+qXU z2}yCedyDu);!;X}tSB`3jN=#su07yGm#VSpIi)tN?r&F3EqOtjxeWxQm;c}lT6XT5 zi6yJ^n4RAAv!DBhK9XE3mj_a^u(n{3Pc932BH5D7m00n}5A(v8jc=+%D!yr*K{NKm z1*a|}t}YDty{5UJW(iT6FE)@w{dz-LD{}Yy#ImUtBs9k5p}?hd=Vizg_`S@j#HbQo zavn2A`!QWgUW^lRp-h*h&2^fGu{_U_7>}0xI$L4?!$=8H;tgSImAN`IuSwT3GnGe> ztFfjBx^z`G>L?eN0{P^r16{oZOv{yOP8yieuR31X+WwmJeELJVz$RO*1`JPBk#1e! zu*yPu%<@#cvvs34J=FcUZDasIj@nX86-(#yES$1v!J+;f1kc^Z5(tB52me1Om|n~5WgW+sem1|a3_hiX!3?d&^e zte$g}wSk~grFgELS?ZBf-WqhuBRPHs@=1iz zv-{X6#*85Oaw)aD9sa0%uh^mt{4sCa*AF+^*?KR~<$9JsboI(&=pzb4c9x zwl-pS`kbvq{Mt}k2=zXJh((&$#o z@&e(@``NF5YFd5SaJMOYe*@8WrVMb%==;kE>ij3;cNm*Qc=d$YMlG$G6@EoEzV>3M z?W2C?M2 zUA|3AZ7YrP{X7*(K zbAGFQY~3_hl$dle=#8RCEEgkO)m#9n9SibRJjCoJFPqGT4^bbQyNo1GmKj}s;Pz#$ zAbNL6J%`rre zs9p@=V4=I)2RWGPrw@~X)DLb&&1m(=H#1>#Jx z%O#|vYBQp&aB91Or7x-6f3hT=W5ZRld|scD`n}=!?m{k}LmMOSDCPCK)`@#ByEW_X z=A7ld^u!s%iBOd0Cjx$RHTDiRw9re??IX#AKt0g+sSz4-sye9VdGFC#Ti&(rUWC{}TYKk35JpqxQA+MAOUN=K zHTpuE7OyRe9Hlh6nFQix4iehmF9nK_R)PiTg@m-k5bc6gM!P2gry~RJ8~)N@NCyPK zJ;3wp1J>^zBdO@3x@qz$$H17iRN19EFjReD9XGc;*F-m1*G}Qt-NwGl)?TbkH}Uo5 z@j49~8PKYX(OTPwsTD2}0i4k{&BP;Lj|l0NtND22k0irg4(z6+FRuv0t@5ZkqN0$*L72Li3Q(G)9%N|2gLC|QOiM;q%s zSjJ>Or!IIhucz?vWc5nZJBg#cb&1Uou@^1*b$DRswHM z4|L-PUU2I~w0K-@ST}CSyht6dV(oRMG&!ORd71S>j=CzVPtD;3!4-PjFe68hcG|jf z$r_GXP4p-jW*Ar;9}sjMXnhw&mSH+ZmWVCLpqAN|5LCFBDy+%M_y>KA_{Ol?Lb#-F z!i`cssnYotygr@y{ryI&gisOZK)P8Q+i}|{#6}v75;a?9IUw~8#J$O@7&Tk(L_o&M zE>o!#rg(O;tymSz;Mg|k`ESOl4eskO1L}J13Z2-E!Rp8UfqN&KMFr_&-jJ@GbMg5J z){@xE6iRtmHLUl*JgXCPF?KL;VpQ}m)WEEgJg2If)(ffUiTVYRj?;-O_Nax;9Hq*r zk{?%+hoDj=xy~b>w3q@is?5jmp57|hCkt$UGL_4wGd&1H+2FfCPc?qr*I*#rGzwUpD5Af^B+yT_@TBjgQA9-yJUq+Qg zc7v2lC~aYsiPid7LBtA~Qq8lr)NT=k1S4s8S%KM_-Zq|l}`qoTDWwysAP@&PO($u(38#?$!7Gvk8_gWTN~3>-HRLb$#W=C_gH z#}gyAa7rJ63Qtfu3eWg>BJ2sy*>z)s^Zeo~(pV$#Y6eAu>}W>?aDh~U*@KlK0z zbC%C4dortC)@l$9s)l-fwXiUiGcTntURAtUh6k{mAHK1UA5|xDSO$z_`$F`Npviz> zq|_i5h`uN4yg&%85GqxU0+-rL2CFP59mn*X_Mz%rUDmju1l^fhp1UgYHnmML6kt< zQ|7K+lnXPjUr*fRKPJ@jT#b#Gu1wZLS@-c|0S4g=ZM(|z4}f~3EhymcvjF}=Y(38D zX;r~&clb>NBHm~aU|(;xa{fqDlXtYSIzl(}@NpXPf? zv`6AxY*B-%iBh+*rtrMQi{DPN6a<78^6c%RP6ztu0YO&VOeWYCHHIkt!OUAf@7=8X zffj+0VG{ZwHpvu}h>bA#tV&aq6H%Wc)wD}>F-T)l#=Ozj%P4L+R}i-}PZMH)gIx+H zPRW)`aStSt;vFXax`NtrQ`LM{*&2TEknyrIiU61}nib42_ce1-ZMv%~+tE&%nm5>~ zYm<0D(+psIEV0ZnCx4{EhiXcL2(4Tl{)n8C&}nQ2Ib8uDta{_P>GpKplko54I81`@HMokPj0SOR^KF#8R7;v^QcgZdd?foY-kK zqmR#g$mVL06k8IDfjt{RRM#IzTCEh;W0p!>38bW@BZ>CK&GQ^k%nHs-(^yg01 z^;?Y0Aon=y{&W+vt$ls@;`_TNm~P>!Qfa#JQPDEA!oHs3#|`nGKRK9@u+Jm@{RC{ZlN=SRjsakF6`DH*XP#7&>{o{v5VxwUG zh*50KhMB{AqAq+nri_kIuojP3&Z!vsRMShyRNEBOQKDE1W+aRG9VT3?k zQ8Z)w&|cGKwP?^nZ{a7`0#QTr^~u$F!!8TqHm!rU5*(yWu`Nhibe{4VfHv?iEyj~; zT7Wu0mI)%t!m8%JB$GI%psHM4)^|fu!P%c83|mfKq#{O>HO8v?iDA)+P%$Hr%^Iy# z8Bg17&{_r?XmX)PGMmZms!~^?!w|rWG{#hs!F7V(XI_RL7m)CKJmC=dY;C!dQ~xVs zwiNNcH2Xm&KY-T%|7$yY6hTQ{Tj*;&rX3CD{9e=LJ1`J3dLRCP+nL}o?(g%lr;RQ~ z!;CksSl%HyE-o)HNxj9#!=k`iTEXF_@R$crr-!8v5)72|pQ1XY6D1&RC+i^CHKRDU zf%@L}6hY+umZ4$zW}ag*97z0_&Kk9MkzKOrp(owG=BszuUYPq^YgBsbfEH0gid>xN zCo#!?K56xS+*$zmhOf)#RJC%wvZK-V(x}q}L4@&06b+KQmz?R6ni%@=ORFG%3ZBR! z%E-EGhAFx$f@RhfMyoJ986v5r#nW*r5=)WuR?o`m3brw{E0_5XPrCw^B{~8s^e4-5 z*&hJ;4RHG3Pzwa`&*(~-#*@;kmz!p_8>aCa#JRC5C4yL-)3QR-=#XzWGni8`8iE6w zgP03m(ajeO$}1b&B%}oG9WTl6wc1Gs(Ab(Hhb#0;ZmLa}7_(%IK)_4Mjx%NWg%f)-yGQeL(eN=b-TZzw4&|jV!2X?C*H&4DKrh5@(x7>pvd|neA0!iEIbM zQ&*SG$?a_;>V+ccsix;6GcvltnI=0_mDpwa3%RZnjKMJiSW3OvLS|MIIZe&enWTT6 z?H(9TsPTqvWIN_%f8sOvmH>L`tqk=!-Skohzd@Rdg}r&`zKW||NSy+`vbC)&h-MQX zY-8VB&0}_ky%iq@jA=CESmT=MXe;*us8Wt69`P38Bl-@#*VwpQ{XBrxO6F}P4-jwa zr%cRB47N=jYkNK@Kvj!G zDUbbkn7s9kd-i62VG$Z(-G?lldFj&I%X5iOGcA>dT^_7nwoWCM1HD#07K1l%+jUWG zpi-@^8TWh3zjN1`uuvJ(JEzTc&dkq+O1tq%8!=;ojkP=r-SAv*?sX*qaW;}V*9p8) zXG}Hko50qRn?4IHK!qx(Gup$R@^=$(S3x|O|mEE}9f5d11)P}99zgyV1Z<29%l9p2KW(jiT zdVMQUqT}zT&D=?by?$-62~|#m01C+)P{lt`_%s?Qu=!v{f~AjsF*cXKC7J)AQ3?O- zBdM*!n-L>+VPeK+6aby&5fO!3q$I@xY#iJ}%>NT%!octR$r*>XaMBhuAVc6SrS5-1 zO{D?qQ0oKR4Fh&S>j?N*b<&YPjqM1GR#ILbye0pR_W|F8awX(xa>ukdG6zwdq6;qSSxNUls! z-Zf&n-Rq%J!o1P;;7MOLc_5Mr6qkQXTg$;+jt2=mCrj=$mVSFb*z!31uRfk%K$pYB z>99Yod;a~vSf9+;J2cc({_xB=R-Qi!dm;4%dhp@on?$(=| zG-a>@6SFuFaqIV83_JWMS^9vtcAQ`he;~TSaeT;cqWP~YEr8w$;!$gkKcQdo!hm;F zDgM<+ZRX`G-lp#kFssNrVj6$Q-t6>}gn`mX?rIZtC%dEoeUkqKY@?B3So8qGH91ecQcR;y{0tu~X`q z-?Q&<#ub2BO$T4^-3l80vw(XIBg+3&{^{5(SbNr9*V>Z2ni+7lW2BqlpT^z^jD7IH z^RruP+uxIIAEAH$wCA7nCVq1@b&wsles8$|d0 z%?kOy_3_{TxaR_N+oP4YRp0$3@JaT5=byUhDm0UFfw!?d%67lUuKaR)q>r)BhT%@v z^ZvA0P5|9=-HXFdx6_~uJwQaKK0N-Dh`2XJbXmM_yN4(17$Bml)IURfz~r;Ex%_780QpN^jep!2R&1Bd<-C9wb{gI9M5Y`5zuZgz|8e3kVlH!=wH3=pM# zaNF56zbNqOvXvu-bxLz|y2XR`fi{dWWNLN)hAY^# zZ!Vf=^V`NWDFT>9{DBjiuP(`dA>GrQ!0+i_vp#G| z-aQjg7OisSKdM#^@VljQ=Qey(p$;&Re>UMys->t2{C@3i*0zNi1k5(^mS6avdc+n0 z+gEDbLf;Zz5_MBls(VfUMetwJ>I2&HAhPj%TMSlf0>UhN>vNZ0{P#-uKR0_{rlqrr z{$(L)jXWykbKsqBY?+5++37g*}iSBpzbOxX3!+Z9J zTh@l~_#Q=KNay|icWeCcorB2`Jv0Kz>fD074G7oj2dRU+pZ$M$r3N;dsql1*%W(7Vko7IJ?b6FScW#Chh=%>SgO#gZ*1Rj@}Tu#Ggj zaJad7!=AodNd|k2%w4)^vEU z!5V1#ldO*H3TBA)9@YL1V1W&)lP~h`wpWxw!d`upT{Ebf zs>yU|Xg*}VA$q`>x@)>^t!jvOqy1P(bB3!J`a08TQ)Tf2xuxmQ9wFF?E}A*$_@TArmcoN~Sxn>Onn25GDcuI-M!e8+YDEt7*w(RBya|Pm)!nf|&tbkmI z8LguDwj=AGYbkd!@QQ-p4Ry*6pW(=os{EgAi^dFE5};dTrVEr}P4Am<_b8SBi+Ii# z4Cj@<)EH)_EaBE7B3xnKf0x0E0TeyR^Afv{t-X|P!QqYvbq@RJn0mB%daK#2y-^Vc zbd^7B&`WREN&u_3vt)jvEPi3_R3&|MW$(9&HM7`SUvf=!RY?`{*9ag5h;Lop&!do* z{)lUHD`cj7EKkwX?x)f$kADGhJ3Ir6ZT>@G{YyUjYlCW7nLw@kWTDv7S~pL{AYu?d zWv%whcoTM(=~>2A><^o>2XNtABxTz9=cR0UXE_n}@Ylag87b$B&k1FGWDK~j`^yJs zdh>S&Cn-^>J&<7g95&NNa!dS7@*cc>4-U{HrEOglQO~;4B&8p}2T7bP(LzUqIpJY9 zhuXyn!6izb=g?i9A5&hNgy6%idB-d-4c9v5=us&aqk8IFplt^>ueG$BqKlyK<^$kygMv7J2H8e zJ>)}NBJk1ItJ&VvKX%I!4rTZDa^s{W0DhVaYD`GJH<^sLBFNAXgf z1%7!CgslGItW2feZn%Ha@!`xa%F_=7+>tPZpR-@)bK+By_;EE>TPN`80M;VhpA8BX zOBT>=##+=0ica3zrl`Tk>R&eSUr`i`gzycvOQm!pFEv_x;jYdXp@2>_u>-toWoSy0TpL! zqv(k`X`!y}0Mhcns;!g8Rnqce&8o51fd@vGEkkB}gPgC>c8^gj9r8_$+)y4CiCU+d z375nit0rSAf4&bM16bn{ZuzGv9{NrYxgn)M0z@94WB9QC>%oPUT#1`u-Nb={V;Ik= zJRe}o9!zTS&I0-)=wPkmpKVSR%e|`;qsYN7q`7sP0oNd>U)>rzrm*z8hV$4631|O&1gvF)I8g=qr+-?VPiQ&K0~j1J-j3u zg_d+K|9A#^r+h3LI1EAx;pDjs557ih4fYy9c=zxTY4JU zOj=FSbcF1!aRx<@dt#mJUW|fQAQe9GDSEqwhFknq);eC%^KKdGxu(ft>kDKYYG8`@ z@#xNPC^&U%&;Yp{z1|6@=$)&WinnW=jD?shD3Rt}LG3YCoX@kTLnPDpax3EdCU6~Z z?8Aw=-hTDpI#Z;@yCR>GG*n5;J8Bhr3LAc$gStMl^kE?4nDGg7>aG|GCqB!fPAvSN%-iX)=FCf7$_-#216mJA^By=VF-Augv z5hx;m_oc?Op0`ts2MNQj;bWfjDAEYNk)N^{WbrM(0wd?QmJ69|q8Y1_9hW6Ba4LCh zEv)~zGNrH0)Aug8V?lKM$p3Ze-vVg#mHI3Fggdj1UJ<0##PuEQUHc?@kP8#rQ7r-g z_DIG7)kyZU|V}%yuJyZ60jlGiqiHW}G7!`ff*8>q z3BXdAHePyq)S8j&LM7DhA;h+5#4NyoFRS9{Am^Z=U+3_qp*ix64SRBLG#qVYlhp6@ z<$&dnK+Z7R?uiWx%{S*^1ft@Y*g}!=;x9Nvm_N#iyoV{19{CQX0=ZW z&<%=dFrv4IoD8At!?8h2wmXcCH~nY|bSZo7Nwpxu+Ok~B7t-=vnd5DqS}tt%xrT<|jxCo}?Ht+kvCy?`5z z^I_B|GQJC`kVX@rL;#a4b_Qza14gZ8{sG(AASiqYbX@K4E(5iY(7_a+e#Zu9BhMf+ z%O)tb_OWTdEfB&{Ra@)O#svdY)5{?+9rD#)Y%S+7=f?b@hb2Hyw!1n0xm|E4!-z!J z8ITs-znL}&e1+wR>OTc90lN3#&Yl6dukRZu`QESivCm<~j8%!5SXTeSX97g3=LGd%;{)IJL*IJV57zM+XHkyQ(L zQm>^vPBjIG74RZ3c}wR@h)&*_B$WIP4&BUvD(0683~O7E;( zV&W32go=cSKUN&i8^r40jpTqmKgKgXfklN0tttKrD3@>A*}pz=dRsS$8mFoC?%if@x`}FFz-k^ z2U%UaZTWU=nvalPD=OHO#}}07c{g_?=X9kGN7Bbmj|*O(VO~kVi)}J=90@hfM>**_ zK_V7oRfd3L<51x$OlOuqJ^a0yfn}be+Np^Kkr$vQyi-GtHDVqZuW9|(JKi5lo|2q76Az;kVXByrP~>WFKf$i)PEVQ%)#b_- zxgI}hg&w$%Uf-&KV`gF0%OJS06prd>wfFk;?ct&}C**X=8ruMZnxikak+^S~tGr>i6!j;PhY{5bV-Gu(PeWxRQ|MZQHu!_$tlh zkHyY$PB#Iu23v8!;Vrh7?r;jvpk^~!j&GP{%z_PWQqACY7$mV?EsA6|;| z%dG9^hSnZVa40vb-CAyK7$OWoQR^6@Qer4&Yek|yJ=WZ~R=+=+AkzZ^ERQ;0$~zp< z6IP6t5ep>RIg&SiDnsV5QSi;=rKJh8iV5Pmvc`Tx>-+=Dm|BJ`BMt(y|ELM@H+XtOj$JqjX}%v8X|<=fz#BxoV2_NM@l@wQ z=Y}|bdemdB`8B#fZs)?qqOoVggBi~P zAJ(8g?GT;An5E@!%!&#JJfva~*grFhJvsFaPRl1?S=SO^6@R#qzMx0UaDfG}No zLjLFcC~~oueH69r`}>qIXU3CBlp1_vB}?ZS^C2f-Lt>bYp5x>6m;xoEYUfHU8vJ3^ z(9M;|@n^isTW;6nDBsH1-cvvI#o|B*!RbnBR~?FR5M+U&;mJPq^pp&Xl(7@Up$pr- zbypEt3hf;>Y-VBY?J?-I0`A3_A)L(mWin3ErqOFUi4y?C`}!_Nri3_@4`lS035H!h z$%2!R;Hz-Y1Qo8220bZ; zh7v2OPsq*H?Z_`5e6%#JOqJbSn?qZ~7F3SCqM7U_wdU=C#`|&j8p5l}^|t{lj%}bz zipOi_0L|j+b<4dmAT>m(Pm&2E+Q2T4!_ng%A-yu#cQ>kHK*OfV8|P$|Ng(N3@}uZk z8q&hI=76OkGp7#pngQzja?O0PX0K*K=h{x`JE=uHl>U$W5<1E8!g)|wM4y@G$Ynym zr6q7w?Qbs1#_gw1>n?55v3rq%=mdlU$p4I2&%7JgVJ^#xwr zDoQEMat3xt?lM_}dU)92Y&wsB3{WCsLzSxZa*^h#F#)9S11tMn9P40ZlXiYiQbl@9 zfLghRuI{F-Y}P;KqM7mH%!NWZC)~AH?MvomOsF z(wPJvibN#jtrp~`j@TBjvY)S*)Q5t>Te)>G)mmJw-k36K!|I!4doA|Ii}ADOmz2fA z;SD#M*lh+gUn#9bL+dk%vbBab>GHrkPLC4oDh86xirauLBeC>6q6Peg>-(&SWNtr% zU}B9oclMH64~^V6YORAUS1wQRH@3$nnWWtS*46`JfJM@Rr|pGLI{su{1M?$jh@1XW z0wMdU4z3hxPhI0bI+tS&mK_>X%oq=rErTDUS1yso;t#m5^(v{4VSIUViOpLPK7_2I z^t7;MC!5u@7WD;?CT=UOAn!@Lw9S6}=_1;|aFw$|2eH(mxdeI?Y2FCOD|TwRdj{+s zLmlkOX9$A>jnE?8G${K$CcYbPk>lCD!9L*l=? zCbQ5w2Rw=3%cuVyWn_nc{NXInO`e`Urgsd&^&ND8urJ2Oy539`WttVLlz2PrxxnE} zRHpKTW8?~)at2VMc_`bws&-BbVC6m}c$Wz?5qn>W=%mu}aM>><=`Gcf5iC{5X|e=o z^2I*Nh>*Ybt!$Gct6~%>K<)^U86OD3y#yi6S8;`i_>^R5m+A%km+6-OaKt6p7a~xg z%l!VG8~=%l@|y-wfw6${q?Et9=QjZ@J1H{LF6%SK_eHkU438?WHT6}}0^I5pGXJ++ zPkdwG!*rVx<#hq=t@-l&D5sY@{53!XCi;xX@Ax#ooXAIaQh^8JQougJ$v|4R3)|O| zqmo`nzQRd4vHKw3?c9-{Js$0EmBcy*T`RO<&s+BWH?WlF99glW$oqR#nz)QpzmNK5 zj{9+aQ2Gc8OGHg${v|! z79SJ|kD?q6dc*%GrIUlxeY?Xy14zk?(;fe=)&ET*`B#IKG`jtk?L%H>(5TF6)$?< zzqk?*6Q<6OIF)g;D%&B{mD6ADsG;xD0n0!RkC*>Ue|Z-V#+Wq41o0T_4tPtrwI9!H zpyloGBVB$B(m>r8#=YwTKw5tkhqn;4EY;QBg@-iHeY8Dlti8T8b^7I&dKxnPs&EfQ|zX$2q$>7Qf z(s)XWRYj&qBcdz+9w87pK0k!~ZnfO%lVXj5I(MBoP+{+9%tyuAB;5ynCQsx~gQin( zBvtM({dNd{k?yCse+Tf~N^p8u9D>;P_L76Dr+c^SKDW3}5hpCi*itTEhMSj_ENF7a zA-zy_1&~)466}q=s~w5LAkpSnwH}VNg;WS;{U`&tE`@7{zbnz9Q`ajMkWZNT7%WkK ze?ND*28KZrZ*qKZESGBP`EDh5>)Dy5LSJp{7Q3?| zxzydZ38W5}UW(W0WY{R>@%&T*BVmCel=Vbq4lJ<`X8Pw`%1#Dpu`bZXGV2T4Y>-~m z&ny)Ut25yZCQz-=ffD5`TmDeNu6UI~bA;umC-*NrUR=IlQSZGWv!J&T#=KzSQ*H-e{eYxM-2|6YWWnWBYE(5Y3VX9Yn2v=Dpys`5_vc zMk^os@5Lcqck5v9;D88Db-EYsApz<`ivPD4_LGEi&9`^Hi3#X-;7Eo*7HM;cshW%QXBA6-RXVtH-_0Z~>E;U{e{o^TD zd7?tAYILx0W!qkLmI#>FKg)@JC%XSEc)Hh1L~EN|kN!vM)0>GZ_*&qtSKBE&|NpFl z`rY#Tk18tvL14Y0DaUN-AiErT2*$>q3}yMXWJfS9cgZ_kbih&=<3S8PA^!3&%{r?E zloeDkgKquMU*Pwr_y0jZnrWfEN4ta`PXTw3#QQ6~xk;Nd_1Nsr-w8+i%j!Kq4pu&2 zGunCce@=rvYr8eOm(Ig~froW?++nnAqrV!6Q^^dzm}RB&@EP!MIG1A*O;-5trd37$ z{4{%%&cpk`!=1-$5HwH4zY)}?$q?3OdH?*dR3%t`-5x_CjeSzpfqwF-KR-vOU{ERt zJglp(kJ^4%n3k>k{%}r|&X@na`X+S`Ey*#OI(L!I!?fB$=f>MQ+h3lhJ&fz0lcn=8 z?YQjRt;@Ona1+f?*aBC*{`uh^T7WoNU1w-}e?J8=0Hgy(I1SUUN zAeo&u$nV1Ai3%?mckc0`RMPgqzNY}`LKyUH7kI;l5GyVTPVHMChEr%=4_$8#D(|CC}VwO$>W%U$|@wpse+r0c=5ZhL1 z6++?1tdq8Rc{k0+THi7Et3v%ZVoQ|+%6)7yz;E+~4ULx@FV6}6nJ=WWRMeS>FcNFn zpG$MQt} z{Nj$DkDuCPl0(s%O8vHq;0s*&ujqb(rBtSpUje9N<$I5(WqR1Q`A;Q@rFNyS^#VCi zUM`&z6l2`KEAr=c9s0@TPhcck4|=vA^V+U*lnPU^X$R>NnGWb*+vn?dZU)B_)L-jh zOZlt&Hx+N)jNP7{3W?F&3)gp$I)xZT!Ys!e>2P6JKCS4xy&T_nf5nOROqQj8$6I#^ z!1Dahelf-GbEQ>oe^GNh0^2;u_zQ|~?;VjvOy2Pe?#pX;F}>c-b+9?50(x1c_@fW) z0C3o99{^~)`9A=SIY-_q%A3D^?0&bREx+i$lydM zn;9n`r3cCf|9I|G?SP|XHn(8A{ks57LLB__lR);q2mE;be$cjn_-|3y9wc~}&~%-J zM*7qxpzlIuGQ8>F{4xGpxo6inV~nX+>oHmDV8eSqe?G>K9AElgFF)2?Lt&SMz~40) zl~#NK1_N_-3LOzC6#<6!->pZBn{>To00AcnwfthONa0$5h2-26tsEj_9@jq+&n5;$ zo=LfLAf4~5UZx#ZZWmsl(o}jGzNqK(+BuMuwvePkdFf>Mas~j_{QPmNx~AcU)uk5( zr?LE=rfXkvz_m0o;HWPDoRj~ZO}77X21t}x|I0uIsIVSBR@{H~!h?^|qO%JpHS-h1 z!clh=Jch0<^(e-2;%5|fuBByI_fJhbebZq+6Mfi*dQ!pL59?DTQ+C*9yG&D66>r)oGBXHN zFIAB>OzBzJinNm7fZZkrV8B}^i{=OAV|mJuHH$ypE$Z%THjR6l^5|gJGA({6k$2Z; z_$0@6R;E0rMlWG%B!kh$gK>o6s}~lk_Lx);TXwMEeA;f!{i=EYP4*pnTSMy^`l5D@ z=R*uc?kJbs$39j^NUMXSL8T38{%NL^3 zzwnpgE09N74jP^DgMXK$A=kzCpfk{`NXiw1s%$4fCMEyVSS$RjTES|Z z;k~av?Txm;(UbI?(ws&~x_YB8rR_{UT?u`1rH7vW?$Tu_J30&{ROMUbhoUO^-J$RRdmKSnhF3^Pn#Azx9$dw)dR$m!DhOuvLtwO8k`sNU4e?Ul+u)zv5c@f@6{M*-&FEn#qrPEL({C4OMjTL&Pw z0xzJgVJnDLv{_LTl)a=PrzG|B4bVKrLedWMIj% zfeEzzn1Zh%#bI?iC5eX(=a)JlG|(z~4DtEmM}Yn`(Yn(4c)XnkiZ=#YJVPsNkQ|oE z2;KdF;Ty^1cmM$y4z3GDHeqT!3)k^jO0=Tu!@TvEcbC)2nFuLqKIDUUH*@|63xGs< zOnCY7wU|(Z@*@fW_+!p34miV9_`0U(}C>YIoh^9y8y(XBc&L4aQ-XOdlL8PhP&1Hmi^e(V1aW^$%s2j;jm8TL05vhpSw<#X zIO)2CcOE%=&GMs=dLuwH4M#&@irj^nD>m?mvYM)Vx4fwY_`P$Hp;tkJw;%aptMJ&; z9{!h7j-V;&Ea$Py55F0nGtq$izZtJ?r1%EEv+~Lo6nzs2e+FMtS`Vqr4JLFIUPL=O}%=C&PSIb~4PSsV* zo+Ia#8qJ)w+B#wep^ifvsS-_ZTE%-OzSrPuxdEJ-BMm&@8yw>`p2weTxc{x*kJay2 zjFD7+c%?!)cAP~E2d4~(I0MwBFaXLVU%oy@&??A`-67tFTvJkH$xax$G&t4m^SeYxOaq7wBP|>ic>s0Pbf~$^-T7IQCHv<6!~{_)z?W)~J^rYS5Of>WivJ_-m>`wM6 z%2`wziNt9Q0UZ}lE&LEKT8Te%W9^UT3(b2x1VZwDDIZv0z8eTx0JwZFuzYZ1U|kN~ z6@^xirY+mzbFE~T=6$Eup4mTtjHQs5kK+Vm`J&Opt|VfkGIbq&+MOn{Eb~K~rijQ0 zrUlj!FUV?(`6)wLQpe^Cp`)aS&tZl3F`g*v0MecN-j2*&c;r&~e9e64q-2$zVM@6$ zzqeG%NYbWfcQ3WwfaAKvzPy@&=Nl|6Kv10!U!N>oE>5TBmG(W_M#0fZzZm{N@+bE3 z!kVE{f?|qwaAqto4gT>msXtN!8m#J+qB^ex+pLeuObG>09_KN>3!#Q5S(efLP9qAX zeh!1VOLP2io)8+Y&IM{JQ!(d$j~7ycitY3K@P)O8>C9zYO>C<2=pO9XR)D{zqrCi= zLJX{WbZw?^lB^vgatA(IUNa7fr6{6=$t68+CyNPfG~`G0)-VkYgThO412;VCSasm1 zrcGFI-8s8wh;KHN%{{J5u-C@7FY_b&U-aK=)tPkAkhq%mNjX32RyBvd$8`tFD4BK4 zAAkth6yIgp{Q#yVxy9L{f9LuT7Vc@Q05Dk6D+YyCQg7ZHO{Lo4k>j~%2ufkpBLbye zN4%lmePa1kRCMdZ4t#vV!L47EdQ$1EcLPTL#j6)DZvPd}aF$o(`|GX~t6TzJ1Q}=6 z>50T=r!pPhbRv^m2QJE&kdlWua_fxw!PQLmGdzNKxy?=n=IO4R zP~*f!tr1DH1zr5smugw99~MG&ocK3UJB|O>1tlu~yuL%_(?aZn;dy%gWBtMEL98DTDM*F6-#&!e$2pQhdAE78lEepJnjaB4GI-;Ujn zql$ntX_Mu3Px1C%cg=T(Q<##{$bn`d6@E@dHYD-z%{eKDht~XELOaZT>?@n36)UH! z)Z3#rQc#-(Yp=fyAd6TA#k19i)j7UOcq*)=#%-vOZjrvjf=iXoRIZ>{ncZ6a$b0L( zuNxc&gHLa+PF5gdtcq-Sx>$J|YnNWnDR~_FYRkZ-O{%$@H*~ip1${%Rlq@uN!6m=EknC3>i2(m&W@Ij zn#Y~h&pl_bzqT&V%(2AQsRqN9k95N^r0As#P0kA#s(a3zfkF~^)#kq9pcr!7-3ep6 z7B}A4sQbOf$EiOaqP>Vo+<8xG6U($~9q|e)ucTeb5p%`7yLBkDK1NGe@5O@PzO0oX z$Z_j~HaFj%lQV>uf@VK$WC)P3@tit?kD#0h;O$Bz)UY)dAIB9g-rRfJx_@7^efKDjky`5uU0 zOGq1hE<3hX=~EF&w4@I9rLR40S~~Vs$En4FUe@f`ypJwH97hd zMhqn3Z%?x1vtGRot-kr>IZ@66-ZL(E8!~mwpXWr^O4!m)ShzbpH0D4sY9*_rdkwEq zcQReEW5&Ng8sD?1#QqM!b!a%3ft${4B(w`Pj_nlQP29XE$5d0$jv3~<0(t)cl+xM0 zQ1+T$leZF*r*GcqogMfhx(9QnceW?0N0Otz4iQ$5wk04g zRj`V=W$fUM>wK=F&6YJV#$`7`-1I}~yS;pM!Jje(v4r^B=B*=A>j&q^ zEiXwg$b0R`gdnwy9+|l&+dkK%B-{wXaRfhHQ*+!5N4fumcUXdI`T8c=+G5tE&ABGo z`FpvK&64zcWyv}OS4{rxIxYl6*FrN^N)Xd(*u6EUeyp15VkOGqD{Lwt>}3i}&@Lul zYK^q1PBKE*U{^c6j}s}J1t&e6QuHCVb#*a5X_M5=F3yRGCAI>efh#+9>i9F4ji=oo z7LfJ6S95ODtCB}PYWas=*=bmsM}nWr*!8Dvn=VhLwGLj^;Kc-8EJdS*D?LB)?+mB0 zr@$Zod7{TyeANl>m|o|VLP1~O$cb*7;aB1nwTmshMB)Wk+&WadyGi(Ukae%By)FAG zYPe?RiFa^WuHWYc`^qwdAx20~!k$T=lxMF)6hPtQyDBnC3fU6clt)jc?^2Jr4j#nC zc9;mDLK32?vt$V}mFVyTW8w=ZqV4ooa+C**4b1c1SROb*gJ!cy0&BbO0q1)Q;Xa67a(!M@$;-AblIp3?Mx`?r||Y ziQ#@Ab`z`fA?sxuI!_XobHYY3!Oz&}EF4f|!rXuU=00_%x5aqS^GEKnNK8f#3@|TZ%5xFbk6P|GJc^ziyiyS#aEp;R7(q6bv)Jl?{XvBFO&vUdcbMq2=pmx_v6g4p zQ>78P_K{~0-Zj@eAE6i_h=W$bQ>BIAOmUPEo#F>Lh`Ga{aJ3mmGrk-uB+4lsnbH(e zp~F!6`T$Z$3SZ9#z7+kGXzZ`eR434TS`7Ji?z^L3B@V&Pof+)uo2xQX6qio(oXpH$}>d|h1R zZb1l5wrt6cd!|fQug-|H%O^t%0?$^WCcpW#c`qsZUC^c&Emw3-Ys@_WTfE2I`@66G z(t=M)>y$KiEuUbuq3*Z1{WQMDR(Z184pimmL8{b{)Q2GkHH3Xb9k7iZ2sI}t%Tn+T zh9BUHFxFUwh5vo|=f6(tsLD=I1as{bXS95>#y+p6TFN{7As)Qmxr;h{#~*6(L((2! zU@Nlga)eeKsM67h3VF>-b&Qr!huupdtUHXPBc$xRO^+IOPe>%7y4>3j2DrBnJI%e+ z3HI2@>I``~X_WRiDD)jOPNH(z!uET4`o^IjF(jLN?w+t*Ce_1&vB!xHjdZ|#{tOjD-a&2>V2s4N4k;l!^P zYu>@@=vHwlVp{Sw|541f=7S8=>@Ut5-n3{z$JXiwPW<#=D26xXxMHsQyRsY_P8oV} zUi@q< ziufos*EM)Ey^uIdAQZhWD4SSYH@)wq-&cwDUb!||(pQCoxFxOc+DEc#hM6;@YvJNZT6y?+dTYr#|?zCi71ML7Gl3d~F;$+iY$pM!HZ4 zKP9Y_Sd?(oXEzh+Ss`d7*(r0qta`dROl;^u>DouN;$A$?#JCO-Q`NS4>z#FgoXh5_ z?Z#%l&V!n@kIx74DA~G&F;xYywWdN;Gcb~Mst8!r^sJ~@BNvhH0nfy3|C~@C&7>8Q zPc50kn`b0jGYSga z`RQb%@26H(+O(dO^_qWDAC)T{_$oTma*yZNVdsF!w(JuAx%Gm;5?k6m>q1|={%F!~ zi*T2BPr9G_EHET7qtI)ynrqc%rdJRn(p(exp)z!QIV`d1x(}(EY*OP4`(``n9#u{9 zm})y7r|eMPMzty@*@nXo;7vRoplWY8#km{;DZ*`1i!1OrOD2kZy*YZsz^U*D1sG2X zvn8zahl%{i#p-!%LRGUh=$`>kqKSy6T>hPfcNx?@OQj!mU-uCS;js!S&i;@}!k z)<@F$fRemYMY<+m36Zivw!J;yKz?I~GV8o-JA^37GpbfS?MKO9VpL7x6V z{QV#Lh1tssjUSjNVlgu2R%#1F)2jwr`eMf7kxkl*Tn&Y2kkTqFEDcc{^8?m?TgWc& zumk?Xr@AIH!i93~IU8LdISf>9&gXIDdn?;%C1F+iww9{wjpLUO>o~gX>!~?1yhr1W z_dku%-!|myP6qA$xDg}ixB2%1E95NX{k~X-i;Ru5rk6p^WjvGKtcjA|ln=Kbs+I00 z`t;gqAt;NYU)pALujZ)`>u(gEtW$co)2rDfJwH`p(D!-~l!&<}V>^r1rCvz4xHcs3 zz5c==VbgRn|M2<^{f9`HYi;6XkKx>#;1;|IU*KLn=nOM6=NCxxOfm09v5`~XJzTPI z`NXw`@*#=K!e-}>?3=DmncF*|<{vLsaG0#)Z8EkLaB;jOLGe{oHbyPp171IFYRyWC zUyqs}LY^$Cn9N#cB+BNZL)K+6qBEiO&N*Q+ zU+tHh>eN0xiH&n#Zh%h+$nWhJobLANi)nkr?C< z=1%}=G+-cbQAcUUWA5S0kTy{kxVJu`F~tn|p_wTl-9FT#`2NymBO?0kJn7ASKbNPZ z^PW4}1^>4Y`=`M?dJ4$95`->r=7yL11w^x6MM>Ipd|loMe$W(?Zw*^1jy`+6LP9SK&;^1k1At}x6VKk$Nl$T`in2G7y{64GA}k~-9rK1G;cHy?%Vkpk6_>5A z$%&hrSKty)NvUkz{~Yo6sSK!ta)FXUw@`xSrkT(+O?G1KBK8~5&l9a^r3j!-e9fm% z0c$5Bl5w_-Um%*>^yiXBH4cRBJ}9XD@L?YnxC$;`JZ|y+5Ir|w2Se3WFovhH0WiSt zWZk}@5hLmlTBH*L#PHWXEow_xyGi>)U#zDy?OJMpfYH#}7t_xiDg>dZx;&uj4^;UT zBr3TpOd}q?z`ht&svngKqPw6ck>Hxlq+xl5ZEspd8{Bu+lFBunFf< zomqbU?#B!&a`t^)`18ZGuT0Q(EwLw|cKZz#587Rn;))Hf^sTHz4B(AJ0^N+ihR6oD zW9s=ky`VRvCn}Cdzq&X<)>L1=crkplspc04MM(QkJQ%3*a_Pfqjf<11Uz=@B$EE13 ziZ;>9rUIbUz4=wrDJb&uLAX30>o3cFdLJO?9fD&LZ`U5dO4c*N(e$Zv$k;z`H}RV0 zr3lq)XM+g$ZGTz+{yYLs^NUAiOFgftV4saDr6%5aPJcNMnTolFr&}Sa7Og4#gF)%i zzXX8G6P3?|4VT#o$`jM3OIz(~wnW5Xuoads0nY`S8P2l2br{#6N0hH^NMrNC0_Bz<T$aq9qX&Fq*LK8p|Ou=^|vKT(T zk%6AD>o5;J)cSrG%Qt zsbAZUa|kp6^*&uGJ{d@#7?C^bV2-m67!De(1u_AERF`-LE2 z5Kk{2oLZy*LOFP$0|&tz+a8}k3uCVzM#cE>OGZ~G_J)8OTc zkGNFn28ljx0O8hw7fe31y_RVjd25v>L;vvQf6Vb~F<5=fOyyzP3p@PJ0dm>Ig>lne zJWb#MwOFX*_3OIZY4CzPD*UnP->msRru|7s#R>oZ-k$C8{`?Oh3imIf2&{s^-pOQM zqyKdtKv8^u!H>G_HM$gmw9Ks1mpP(ePLF8NCQ>Y=GEJ@~wV>|>1xZ?2AY3s;v(AA_%^tsU~3y>;H{uCzpO`pxfLDTwEpMxmUUA52*xQqDUAk!k2=XLWMfJ1BK(#{$e0m=q@#LxR(@~|bpYDXy z=Lrv5bmJ~G{TZP**X-Q2S9dOkIu2Yk^H?ypS3{i^PTAKR&~*?@_qP9w7Yf!f;TNsq zZ%np~gna(-WvSS?JB|9+Ui{UK%qvd(8V-YhBLaTVj?7Pi&ew#daC|g}s8Y;X}RVUROR_WrMH-#&>akM97XCQDGFXH`cz4^lPBlhaSPbCzUvzyG%0ZBmCLUq z`lr)BK{JEyc`OfrV%!h%c`D~_TX)pzyou~&EYY1+1H`;|?$F`a>SJSSM%0?9Q>`&5 zO{bLmvQ(BM!zAeS1Ap`3WB&7e!|F|UqHo_Fy8d$cK>GD&uG>Wqk2iC3IBZV4jUATt zdl<`uskuUcQcVcoXRLxi!t#|3I zm^XW0vd{6`S=N)QCbvYdIN?+HJ?Y!?5g!cUzuM5-w zAd^Q8H}cCXG{4=J4qcw9|4{5ow!iTLa&C`j{_F8Q6|LEkLG5L}8^PD>EGE+pWUyLi$bROKlK&NyOxNLwU&;h-*&#f0^c}?eO0LMBtvi7bAPYJ{}1f`x|mU z@SkS~Hz6zil_P~5b_?2#PdFMLy^a!&FN>4>t}geg^mYK|cK$|L!6+4LHEy+0diZ#i zVx*N@8bZ1+`7klg?ZahoN4)VTPp3kix-8N?0#hCAyn8k`{S#wDel6bKa4{Y7UD_BUuqKCv&UVeLaBBIQYV!6y(YRg4IfS2+=tu6ctd)xz#-bn7uc1lt5^r)I-f{8Cx5m+ z1Z0>m%T`vPOOlOte5F)hOvDmK2AuRJ9wRUC*pi0JU!>%6*n zrI|At@_w1~Jif|Py*9)<4aFnx@->_|rO$EZF0$CvsW-p)(KmeYDiOl){Cldqjcw0q zZENlI&zqwb2m^#*6IJB!;n&3z71_&^xjK){JU_qOVq$J~XH^hAkjJ`zej&gH9}SOb zt6<$Y@KMF%Aa0=usXr9eMKN{bnh>s+h(VYf4OFZbu2eRFI`h)wQ(&E)0;K~=av3@G zBXZi>!hF#pg-thHTpp@FvHLl&f{A-0lT*~T^;1K(80vbI%9RM9-M&+mW_)K3G_K6a zq(ojT5!U=3Cpk58wl`0d%;%?Tp%EKN_VM_-=#MB_?-;gbk(%q*D}ay6vJJwQS`Lv) zu_&2?d?&O9Ap#$$#I$qCk`1{?4^DFt_k@bref)@%nZ`+Mw`(D!^kdD*$PG`0{70>K7C4jcyM8NrP|os4Kb9pV~b*e>WN{nttT#N z(Ki4`-F9YzhU56P=-p=gZ}M|bx4ub9-p>N*Ht*DE@aAlO1yOIwXs|3<-wyy`f?yY~ zy^v>L3VrlN?*E&k(b)L3*Q{GPyeaPfKR4ow~Gww(6+AU_R-lLGBybyuR^hI?gVEY9!9}iBGn&GdGX)@<@8i zjogCR>od%Et*|(UV(S@5F$K?b#H{pL>1^MSaWE{<-q6`&WQOZNyk@lVfd`l<=f3?r zn{T76)U!v@LhX$zZpXAIiK`!6@VpBt(9p6SF3)9`Fw!4G7e;~dLtSm5WH&P%L}Z-j z*GQQZx7y0W`4H@xT+a4ri;wAfGb8ev(SrvjvC^$py`Qo9$C*96rS7BjuG-0wTBdtr zB{OxJqY5#SRxzC^Kctz>)e~g!J$fy7Wp$X@!(tSND!x922pen5E6nB_XTH8uh`!@( z?o;#AHM;=|ZF(QiE@H#-9geMKUhYVEuzj*eB- z$xbaNDn&9N4;8F@(fGh5!?}p0r#{3krToJy4Xx5eF($ST$O~$%OIPJ5MsdP5rJUZ+-tE~SjCP&0o38i}wXPjg` z%`R?!V_Cha1t>B^3%jTuz+H2P-)uPTvV8q1k75KtYRntnTaPySq9|FA=-Ee*I-zWYdQi+7;9vj+HHM{AAis!ALL^$v|Z0_#g!;!bnu6h+K#O(w9K)%j|0 zFHDpRo3EVB6h`{37_nsyan?X2ReFTWvdtmqE#HK|#*f!znYyEI*}7igM}H)R`GvgW zxBBTpTqLG@lQWj5B6b$rmQBNDzI($F_)G~*)bVlUZnN-(bm+7ZKU3lby%p?Me=8q) zRYh6g@%TrRQz9aEn#TPg8pG=hDfd>lb*Z}*w`|TTG31)GIF0FXw}~B95_|{i%`mt@ z77q}*c(HI!nr)2J=)){l(r&0mn^MtTj;|@0S?S(9B(SFFFL%0NNAl%21HlDT2>j1?yYy4Hs^*7_ zuNWJDAS9II9cQ~=V~qbFV{aY^b^G-J-<3)mrMnc_LPAJ|5Tj(@itNiMTN?Y$7(yk< zzGp34vW$HnL&?5m9gHo@V1^mn7-kIbck2GV&vXCY>Usa1^?P0CI@dX$bI#{nS8Epm zc|DWJnl`22=HtWmu)$(O>f%nLJG*0CoM&+mluZntIqn|+{HtqD$9pQY@ZmbM>Hq`( zW1J@e@znb0wQyJb1p>wqq?ZBOi&b{b! z{ypVbjbiIt)sL{Zq^EofR%dN8Er(x-bR$Zv1dVQG9GyxPZ*m z?V5CN7-V~xL>87BGX*h?RN59Ug`QPnRO_r(%Q8Z=*;!{YBCUf>OQ&0$#1X zzJ1Dw1Q*TRuQPKltEuc@@!s#-V62^r|4toeA1BqrKE)PJs(3i0q~@)f$y3s*v~KpO zLb zL8`b#&#~41=%xnw7Q}65a6boD<=CIGgRM)yuJf6(t|pfTX-ovP?heO*x@WvEJp5rXvra~w~Bgi(~Hc89OAWu#%T4WmSC z!2yv;*EkAqjq@tKZU5fEn+MH68On&Aj;=aZf}(YkUGwMIf34biz0y`$RA6j-qf4L8Sd_xLNB6tGc~(`ut$duo*eucnH`aFj|~_ZW75;TU3i!GQz4A{IyL=M~ZT{uWW3=U*T9vamo}4cI1%k%9`|a`@`X@ zYn3yy_e@abNK9I;<;FW?_aiL3guzko4Tbiybm|jXdSyX?ZFRzLZ(S(D*u9o4=-@y2 zVx6TYcQTDbW}trRqmpC15JW$*(-3x)G`$xk*y~xy?O2t^kyyVw!SSK<@EsRjV@ml> z#h2A=9_gh)4+aEkK@<{sh%p8HXGOfG-UroQ3oxAy+xKPgaXmT7XOkf&V0!{ zZm16C$_NS7nb={ILGJZ%^xW`!xGLg2TYrkcerhg$J@JT{ zAU}ZF?`#cwURm|~Uet-evaJr{v~!ns*1xYFwIqI+>LwO60E{RO^%3sgNslOfW1pEM ztz1>Nk_#7IQpG;+dv(zJ%cMt5n{{SSUgqWwYwwPTxRr1OJlvnDtVfF+3}GYraCP#s zdy?e$6A|R)L#dPg-%fCN!!jNpC6ONo3SW%$sat!`TwryewtWPZ9(DL8Uv`6Uj|EV* zyuWaq5Oi(~cNU0gJvmN+dW~2VPz9t4vHEG}ys^3C;DoLkE1k4BA%Cq+Z<$Q{?Rv>j zzGL_@`d0ftn3(%C6O&4gi2IQJtTv}wtFzu|O*I-MrMG2oiq*ZJ+l5-0E*dgJJrNL( zicw;kTRcFB>hX9C?V!p-hdYOYD2r#iJtGj)H{IaZ$L{y<%C6lr+vNtk2>GYooiS=I0}DO=hqh<*HpW z`Lc8d6;*1xHgZi?e(N}%$U7^H<6|bV@<0-({Df0=t@R|+UWA|+%PnT`z;NzSS4weJ z*VVlUr8`%F7!6alIOKUMZkT!V82L4A;>Cd!dO?#*YeSbdqFxk9?^BO*cSrw~%cNDC zqUbAT43LF*@LaWKT^)~hJY^~2gLWhLWWDgRJ2q=~^jY!JhmR|CZe-fLGY22?gK}3_ z@!q50*e4ST({3F4+`sh2YDwfv&^qTRZ#62RSNWS6fCT#X=OTn{6-Nl8yTQGqhRb3r z6_XEwx5lnCAq0wlAHzO>e#U9+HDxjJ6O$+Iwq&Z;qnvtn8;#Mlzx&hrZJVHz(mLyk z=i-w%OqX1Z=HJRh0^wni{$|3FLg~(w5R3b$_gatvel$g9H_&dP*l3UR0HjmUT2ZA& z%6E(bH|#vf@giCI?|`c-xpc_ zI;hxa3&7k*bvW7B#N!$TOY6bL1M^z+wpybD0AH%|5hlE*JEAi6?0D6ZUy_OY!f6Q0 z7TXP9bHc5ub~6q?>DP2J*LHkp za}3|ysIf@&tP*40)Dw+%4z36UF?A?7ZtkDR#?=(ye?NR-rSyf8%Ibe&3?PMNml`|4 zd)a_g^SNopVn5>%_~Vx(+u&`MVVqv)JJqSl&*w(aD`)>)Du4cbHm3t6oHsblWb5*M zz~yPLPZHI3DsoF3$P{Kj&3jkswtf>xrYnKQJT#rsMFf!b*FC}wZ^D+wmu_Gxa_731 zbc#F&ruBkgsg-6`XFScW9Fwkk2SbRDuv`QeVZBR%fWX^*^;C4Mo5%SVpWInOUVV-7 zUiZ@Y>fleG@qWMB(=1YVICjT7^Fx+1x=0TyPa|O7(E-dl;BG;{A&kd$=ldj(aWSnC z?ZwH^*RL>J@qCW5-fPKIypsH*rFe_siYmBn{(u3VeXYT{&owUynkw`C11mm0OtA3V zen{DYEEp0#Z8o(Zpx1dUl>QT%?LJD!EGZ6?91o{v0{{c_joLr;``D67+zjT6Z(6{dfT8egc~2%$?#3T z+ebtE+V%~ez<)C592ty9QqGPGnr-wjw^xv4?GHXa73H~CXSQYZ-8XMtH%mSHnKi;) zh}3QTWxjU_v{(cQ?EuTYs+YbCB&g1@-9@_3g03{9t|QmIi5ilot!Ah)Bo{$7Iy zeW#5jOt<6`E`QSiUHTR^!E7+FdK73?+A3XV*aO(zIYk%YkXGPk3;S7?GWDi<{@Kmw zlfL9rw9Jm^XpL2--Bh`r!0<=GY(c#eJ56KFGanB4W2a?v+$1lOC-3V7_hdL-e;nbv z-_)6-wV4ITw0A+|f%2<*iMt;{zPrv^dm9GCwBN5EbZS!RF~CIi&K5d`038n1&C|DpCM%0FxXsL}aV`{56Xe#_ea7G^5g^0mo{CECq9H`wMmUfQ zRx;gcis4X?p5g7JrRfTyuu97V82xl2;BZw+Mzk>oU!bWaauTO7aDS)jTlP~Em(cr9 zFTi{KdN(+f0f@9ti&fN$z^Tu`2^YULnpS~ZVV6M>e(2>X*=3=;q3XESM?086qE?8u z6)+h^)tA_c6&(zzanf}CtDwB)2B=e}2NwYJQOE%3e)z0`cvQS zTogEhSdCgNI8~eSTv)L2JbOS2z{ZLmxDMj-i-N0#-&S%Wympx8`aL9fdi7i<2s> z2z&j=*0<(TWlmSR#FhuZswwsJ$(Ub1cl8Rb7?RVr?>XvaC~JTJuXj#nPJ}&eD*?Tj z#2e=oonsUGP# z=_iZ$Z~$?>&9kj7Xz40xr1V^vE7l2Y!~0P?|NX@zWcRyv&YNkqS73Jq$EO->Q(Ff~ z3qCoEPeiT9cH8cFTP?(&8h%8T?r}eXa;=urJcUo4w5KC!61dX-p=z>K(h)s*>)Rw zLGn?2cQXF_*bV%XB`9G4lcM>h2r^m5^<2&iAUps?Bibm8elnVVRqbkwI;hErKd149 zfgPVer#thsg{+Mn)br2A&G2 zhf`|=pPSjxuUPl4+Et&uV68nq*DK+Drs8y`>1hlpujym|XZeZ~K%3$z2n>Q9w@3*K zZBgBwI@|rxp-$ZgdFIR+?Yy_qv19)^3*fF}-tex`%?`89BMusrL7}tb`O0PCGV}e$ z?59ojCnlp~V$>t|0TXMrQi@z20Jvmwi8Nsx0*b=_moNYfqu=OKF_Wc-Mw>QKewKqT z0p(yzjrT~!aE@`|Tut^$)hlWZy9(LnCF|M+>OvufgC-rr%RJth$CLfO<*lK5pkR*z zB4V$We+~trBjJ64CIu$r$`2Qvk&Y-2lG-viFd`bKWZ(eM8tR;@`wO-FCmC^xKXM`v z%37iwq?YB9sb)H`fL`b&<`2v`8tw%(!?)K=6sYx@P6R&AD&S9F1JjhJOZ{{)kn)K0 z(jPc<$%ldBx+BTZOePcbu?1X*L*q*nhm?{#bI(S!t;yHTIek7did=CV zE!$xP3P@!zNF?AMgHEawfm$jjP(=Leu5~F(AVod!;icbaPg1T$P6R<0woWx6Tq&>k z0JelDP~Y_o`v%~b;GTE!f3QIHfcg~I0z_4V(m|jJCxBLfF0fIAa98(!{CocQKWqce z@gOx}Edd5VyEagmq0{c0Zpg*brc#8IHRbrR1iQLA(L@?|Sb7llW1N4=OO+YDG>PMw2i&Uo_( zJH!%^YAU66JJQ35GsF9O3cLEj)Z{z?{*=4GqfXv?_y^)9jZ4MRWu{sA`TD8Vm~4ks z9IyZ0OsRR3n#=ZTyt%mQ1OQv)ULB_KXoQSqFY{@!M-J`3t;ClFLGMvca$A>hHo?w+ zul@r8E#>NuN64^_>lcg|s5zMcvLj5v2~>&w$Rwd zkaT9;=0b08ARWo?po{eHjh&2w#cY>Blr#>{VEnVk4pKr^g^Q%x7la=YM<@?ylW z4FQ)x4f=Wo+ll-eK`L5+Xd;WAzuNkTUsSG$hDUC1k6PP9hpV&_gff@`l0b)w)o&gE zJlWC_SReDPsnKb(;7ObdN$i=)Wre~0M7(qS3vQ zZgh8TZmYU1uAUz){;q_3#}0%uxyv}DT@!7{X+mOu;J~cVNNW>THeaA@?(hSC*{ZdZ zupo1ZAKX2;+JpSuD>jB!+6SSE=-ke8tDykFlP~)ZWXDoCZ97r$c215FwWz7jFFTdh z)lK=COdo#u@Wv?9w9q~K2P2;II1eA6%99x`NngwSWptHMIQxWEMb3MKc*j!;XFsLj z-Si~i3BKP)`)#Q|cwV01?}*Ce8wWvuYss+!f^9TBpn=se(t7HDo_7vPN8;kkz59F9 zmqMeXerj-LBvf?AiV=D%(_E;_qBLMGmvLD8vrpj=yH$EAt%L2*gfMXjV6c(0KTH1p z|6KBb* z9z5`T_$gyjs=Q?~n9TJQKo>4~&nu!4GHMOUf4xVrDz)vn$@N$;(|B%~`LUe|xW=Jx;sEr*Zm zKZjsEpH4&m)=dE)I03A!x~n5V2RF@LTLKT`%FN;V{lBNs=()SHGsk`m*(D9ouO6Jv zB>iun@n00?fAgDv^{apsK7c*DL5`L9L8^3W04UcRl-GQJU`G9W*e1XvgpYgtUN7YS zmr(vKtzWr0;K&diC+X?`wSbx3xGXVUrCI8j#__yLj z{#&bl^#gi3V?fnLJ`eu$h$=uvRmW`pFr*5a8o_bsEtvij!HP%@utU^_S@;hTySxU5 z%dn(u_J?Ya91SAe>yvbE)_W#Qi-6dlPL7~?fw0PzJ)G}{_WVneekI7i02`7*l$dUw zZg^0#9*uM=;9*CLC^6cdqW7Bo_*py4(p}Q~*4=Qn@w6o=Dgrcc%7wN~B2|H@{$G?W z;Gc&mK)+iZL&{Z_Nj`SaRh_A2meZ>pVPxf5b}i-IH!48lr&t}eM4%=)M6v>s3U~yF zBv0=4AM{Fsw$=rcp1{>3<&QL$2K@_8c;odCSxyb}7R?smw^{2cP=CGjWXdk{RRB`n zB2fKHT~|&TO3fSY3uYam`^*Du#VcO#{t%0V0E5t6jw=Ag0CX9E*c1P(yT}>wtx`9} zYE4V4HoUBM)^Qb2pc=v)@EhQaW$)B%tMsT+=)j#F*Kx$2KEP{zLBkm8tG58K_)A>@ z*wJSJ! z{3aiwuaTW!+wI$oNrFud?W>*=j+(K;sR8k(<$n0NQkxA97xUJRlZQ!rlj)O(&I>;@ zRMm6f;_Z-#{&?@}{78U(>6dr4GF*NSeX3Lf7W;?Gzyb=YdI@c9zAomdXDTD5a$EMs zX?U1ViFscs1`*ntTss6;JRK)){kZ$VRI zaba?Y@2!WQR3ZGPh*aYD`yZA~K*n1}_I#BFj48PrGUWp=VJ40OJo+sufUBOXXv8*jB&1q39hqP^|X_OC$bm zpNr{wx;OZ87XfmI;ai7{P56kj>~5g>F)c^_=h$v|9NF|pT}Lh9>0-SvmR{0*y_jN) z@{4OpP|L*2o3w6)_m~&21}kN$cWY|bJa#m^WBU;(<_tAl1IV0QUpoflK*%~RBQtVo zLayH<(b*u`Xyk*pZVfxEaGcRTc$VY(K!2TpJG#9?`m3JZ6?-^r%J;>44(V+l5o)6O zmJO;s3YKhIn7z_1wKerZtx%z+(x)cAHeQ5q;t^r4xJ2IiFR zW1=o{m|amKwW{rX7VW1N#YSxb)<7Vnm66;`BO6>yg>#ohaE$RA>r?H*EWvhRR~`A! zv2I2me5uy4x6;}D)Dzr@?+G z6|Ck9_LHKvfM7MoXISaH6wBUVJNJ#16?{?D&enz%F?D%*&uvC@prL^jkK{{CI(YnC zzPT*^TLTJ5u5w*}8fdGnv;~kiL^*;U+55zKvr{?mR>ib3-LYo5&bM>)0Ie-cx<1J3 z&hI_{J$}HLsoL+4^*`7%F>deZ&elT*tncIS?Q!F2z4S!)o_5j-@lY2DhtQ8GE5xNyzzZE=PS7L4H&#tEg@C;u6bg;5N86M zKoFjiPF<>Sx&3|l7MW!dw|;m_oH}9Vvb!ow`St?KJTCcl7yHqVjm^<L;Rv<3EBbB7&X&$~TW;;CC*dpCjdF|9xAZ*qlK@|t$a}!8CD4$= zIJ2wp;YOYW8*H)|or&3;QPDEcnb&eYSCZQ?RX@kN10|~!ZES^8qvVZrc5%11q%`(H zNW_YfmKlM#kUAbj0Z-O^D;=`{h2yG>%JQ@CqLk{%`X@&8)FTKpPxz8)%^m~cvn78J z)+<0**B>1M+n^f=s&?7u1K`_87Jpw!C-()BOAw8a^wOT%SKn9^(aGUC4XX{3mCMA=pzKi>RB=j8&v!o^G*{E(pZ2np%gI`>Tix?X{2)QQq08X;4>1c_0)#K*F8s z_L1Q`hc&&LZyi=DTfF@_e-B`u#{$groA$VyBgr6wYG+NhZH~#9B^5!gK zsyi3)DEq|~i-_Zra*Y9i>t|U0oBi0YQ1FlU0%({jSWR|g)$OOi@ZxtEh$2XInUS6wa;MxCi1|c5$LGvwmRgo!REwM+H-zz=2() zz4EcLUbNa@izP)(MUP26#Ii!-5^xi3^vaW>sn@TSYqsAbyVm;odyN!&G${mu%_&U) zI=x$3xAFH#H6)m6p*gO0QL*A>z~P_JWsB5oIU81h$CECNIX_xuUt>B>gh*qb`m)8P z`{YmVO65(>-*xR~FCh@5N1LbtsrhqNBIIm`{!6q*n`-0M_L3m|(B z>Dn3OrlL)VIg4%^0N?mBz&pmc!(pG`&##fq3-CRQK2f=SU(HiZ9=fj*hO!H0WI*@6Gmm+qw%hfs>Say-BZt>K6ZZcNXGX zhm8i7tH+F)>)uGzS-yDmabTjL6%V1SHZ68&y{lbD)G*_w>37k-2~w&825>gIx(@Ib zHr4~!r^uLQGQEXm-e*p`->P>I^n;D=rs2}<^K(^a)(+*29QM?RqWQW4t)h4U3FUa_ z`(4Ti@VTluPN8T5muq=&GrJ@Kq87$EnKA!fJ2!#ocVM915A~T1xblHq{0QO^W=Mg3 zZ&n(hvvc`=y*&YBR9X1$TByHIziyGw3COdp>Z4Yj>jbOO!3EO=9Rg4RaOXEIEc{{e z^U&>!&Lub8vmRF|-A7rY+zIY4c7bFxX6pnYnHxwnC%G<#y(10jb;@!p*j#AePAuia90n@@6%vq8A_?biNq$5A%QE zVV@Y2V-C3Ye*74tMjLelvckL6#ji6g>u)(_owU;zXFJZpC4)~Aet0<4`v*={3}Vl9 zf8%>t8}QuRL|t<<6$9z7g<8aSmO zhC#y50eei>iO?&3W;_=?Z_=dz=t|AUGVed6$9n)w?l1g)*6_yosAcC~_!VEUWuXm{iX<+J?GE>i*9xVJ-`g`4pQN5I^Pk+QQcd0Rd`BIGj8mXU zeG3P^P3k++9!Lc^t(N?8`nZawrc2$sQZyBBOG9tFTM8h_V%IoH!~7MwJfJZp<#w&U zHOwt8Map{w*KnB^qP(GI7P$iPi>la=buvXo?E+xXHXIgKiz2PuFb}lVIRP9`MOsJ& zn%_GI7q1oy`wsz(NHzLmu1HfLEGdKZu8sdDZUF)sy1PJdL;vw{!HtwASg0B}+NGja z87P!kEyddO<~;!659CeG_>9(Bz36qGk0ySNL<*pA9Iuw8?1ux}DxP@4}m}h`Y*p;F3jsiZF zQjXKd!D&WQqjSVKi-R!d=mh6bTs+ED+r76eC0PzFq#EpAjx40*oOC_civJ)qeL!f{ z4eyI&fcB0w-^26wAn$xr75(su#)Xkyqmp2RvYq>qubQgC9b$KpULx$9yH=;Hh%uzD zHEC9dFQP4gO|Xl+#-a(yKw9IWz!wsl;fXwIe2lIWHiT^&%)m|ozAgsvdAD-KGEfl= zZXJ7x$HPn&5;WL^jpMbP*l?PU-ZL?IcHY*}i-^ESFq<-D$hoPUEx^?P=dC2oAJ9y_ zofXWU%vKCd*(I1$!Rcz>pPb7wSt;T=fv;F9Xox{JAu1=d4iIhko0h>tI*r!MivlhAS*F+B;x`cU^DdQldjeRS}`|T7|Qe4 zw}(cL%{Z{xz^028tbM&|fJ0s%P|m{?Rr3T2O;7-NYQgp5LHz?Br=1dMLXmpW`ZJUF zt7wTc1rW;jK}KIRAe2Mypms$oW?ScfS{ z>YEsjam9>J#fE7>0Pidd4)~y5eV;c(;6c~hT2#cD-H9>qeo0c)G@O7>FlF^8Rn@9b zalG~HXp^67*KhP~i}bQXUIGCZPFFoRa-bD3ywW*>UZ;QW2tU)3mwU4Gn`g^cC`CZB zi3`*)e)*fO4)_AytvM9qX$CyG)dojPVGJ1M$SJ+oVjpTZBJ6$ab)mIR+5mV-Iv?c4 z@`on~08h~KV^QKX4PcsQ4GGWDl1jZ=2CD0M`%McbkI*EkhUroJQ}krry~EGQHC_aS z*0Xpt?ci_y-~lDtygsmc(bM@JUyKFpUsycAKYfQwPVg0^R0_qN4JIkSpPA2oHjtm~ zHR^*In@LZLwI6;*vIDYPGPLci1X_#z{dRtFAK1=3UAF?|;tvDqhJ;rW>{09PwUh#R zrP+N^JUb9YEN@5wwTZ?g+F+NN(~kdkumQ!uV1r+#DxPU8mvd7;7n1kwK2Qb~_TEtH z1i-M1`GSCCHPEtbO0h^PiU9Itob@!VA?E&b=E<*8jF)IxqL29L$3H%F385i}rKe`U zZ{rVm3k<^Me#niVbN;7NIrw{~oLnW4i|-wtX#Mgd8E>frczL@q=R4xRPna~(5+<(% z+<#VtBY`Y3j4W&N`%D}sa0|xx!Y4e&>IeS(L4S`7pBDYqgnz#06bNj&vpxYfKM3A! z_JEvf3R}JZ!1(S5V4l{|V6}gyP0QOU7eD%a-cHT~I2NKe9MN*~=d^(uGG%!(=*}Pd zyZ?QVMCAX!`s)9jRpImwnA3pIi-kX!k+;A^A2;XP()QSYos{uQs(T}ltDZ!^xcSel z|CPD^Rmu`LmIj!$V(Qn-A8R*v0hslrfw+45-!Jwa5Ig)&kH00Y@?G{M_78`4{X2_) z>0f7-{Bp(V5r6_McH90umj$Th?;ZK&_kK#?Ux%s$MAD+Tx9?v4_(2bEqzG6R;Lo3tGqlB_2~ z+APeetNoP!iQ*}n?wVe92fdRD)#4-8Eg;ZnQUeJ=Sg_XUSM&CVISgX7r=R% z?tflbDR4GZOFv(<`OillCjw5B>JIC~{``))=jlkV;K)}d@dk>jcV>gdEttM3+h3B` zTEFK9`K20ScukPDAm8RlL4 zIeLRu`WMyU*5ri2AlkerOb1lF9h=oS<*%aS)nCP0cfIM!a)S8wW9@y6%Xz|iU**TP z4NKHUcb@L8xFO3Qvn^J+GC7sfboG-XOc#dU{$S7Efjz-yQEEMQp2*eMjf}`$d39>M zK7IT0m9HZs%MRye(+UWbC+62&D;@D8&Y|gI4{YTz!QYrm+WsZa|Ga>30AhsrM?^pV zDfVT5V8B!RTek#{(`L9Vb}*RTXK{CS9F|ol(af918_DIs7UP=`Y27o%_tk5NfL>G+ zP-D@*@y^>K-?-hv?mRa#Y=xz3$|R~{QGY4LXJkO{Q||qA@won0wxhw!D9B_H`gY58 zhW=0C4UsJa5t6sVZ&}+*>t$EA+%*bOV1>CPlqXbI^``iJa%|z9^QbNWHn4cSkK=!Vm9CcJ99j}`CRJ~#}eilW|57S^!`-tOs*i_=#o5g*%MTXU4-J7P*L7w zT(w^-k>l2QnoW)T?e)}Ne_=lA^ptzQIEWY)4MyBal*K(@;ID$?D1>+(w3$Xd0wKi(%wLt1R){Oam#zZ$if+ zBH$G>`Mez$K2P7&eaHX~+&}NJGoKI<@!jSQ?|*OOe|7~s-Mw)U#_+ZOtgX2gZHjzP z6(ndsD1LQ%+IcH-llX9}LdY2$;?t&=Zz-l0=$ozlm;MbsnU=w_3AGg^oB3=$%ly>6 zs5xtnjkLvV!U#`7`--F6cQ1HS-MnV~r%vB6TeL5wLGpG4V(;w~T!qz_xW-#jA;#`! zbB;*9uu1saYvShX@5}_jPAs-x&aF_*+)nSS^Lhi-%JgvvP?S22!FQxSVLBGSOv)Ixtrs$9&Ie10Rt zks)((Ts0xvum1G1S&2omcA)?+0LI$mYEA7AAlQ9W-zmLt@4Jxp)@jn* z9lB4JW!fJqqVu`=rN&#>@wW-FLvr8<<_hS{;9g*Qd)U)f=UZI*Yc+D!H!E-R*FEOx zBH9*h4?4`ae#dOx5jCNI%KZ2ekL*>9J_XA?q}zL`IljRM)x}vJmL~&y##_((DGJfx zfsr_p4DHh*l!a%G%`UJ+>Lz#yiB+z(8oYF4cI3$>R~B+$lqixXm$~^d+9f63DSoSJ z#{0@|YL(leSv)YdvQrpcrOW9`%entwVg2w)WoHZ+X7=z%XO}uuX4)NTImI77fM&b6 z=wv;{AZXiO{|;Y8F8soKWp0|tou)54tw6v~p2aA=b|{afAHtCF{js~C=*@XgG_MTr zy{HQHZS=7a^w~nJt(yN65EoW3?-SUP*NXQOn><$OhTc8`)Y=!EA%;{PlaiHUGuw0o zbLg(y)0vyU{Q#b`v~$5t?(*Q9;=PGsrW<+ALuU_dK1JJ1YHwr;o$tyI9xs8dmRL|; z2m3{0pN7KrU!H16F0t4?c3`8Z#8%&U3_Ck z#bkt4zd1&Su-L9DjO|i#(cxH6Q%!DN**N?>_P>?shkWj4R3Lcq9OTca^0WBe0q)pb zfFW7UQgDXB@l+v--|#) z_*FGV7Cz)|38_k729Ij-culdb@BgvkE?uYhN^W4<3?DMyI=vO$9{H~B6H`ufj;dVT zrU~cW);@mi@<1@GugEzy-;Y;|OA~UZ^9cUJa^Pqeey&VK6e50+Nt@HQbB~Q z{u2X_I95whgHVaRt71jXK75@#KgB zWc=AeHRL|>$^GQg3pp(;aj%%E7Z2ruT%AvKV3TD&#!0FX<&B}dd$#&Atrv3d^~;Z_ zjmeMeaIHu2|8gfXSki61swU-76^wfw2(WpBx+Q5>h#}&?kFC*>MB_B$j%Y2R(T2*xoeD zr`NkY;1O5OuZ-R#zI1eXAQiqG@=#?Es|H)9d>$`&!XAwvIs+|;@D<;;0Vk)5oxh)8 z=wdyT?CtLgvDRER;7+8t1<6i515>Z#Q|O!#LJ`6nn2*iKIfP^_yWQ$M^W{y!hQ*{R zNO5nF!5>J(qF$FYkSvh);X50lB8Okbmks_j}l73Wp77d{p6ONVQ({mBj3lFTiZ>d z8gb!d*7I%p)J*w@Qau)vLWg)|TjX-dh2j_;=i+V?;QobRrEeP-yj3gWs%;93P~L9c zO=1xZQZrtZp+k}~Brl3oL}5c)Sf%8>Ny^|~GY{S#C^~0cY#rWDaXo41Dz@cYUqgDd z0?BM{d3Gu5<)suGbvBsZ$-c8ErUdt7WoAd7@OekrQ+*fFBQ1rJ7rsbZf>X|FW$`p* zAzt{!bvbi`e(lEg!W*?iDA4rXL60gha9iQ*+7vZG1np>k+!;A#XLbIE=Qj8|piXA< zF+e@2aR(ZQs1qN21SQYR`0@6I5r8ev@RW{oiEBA(P$OA9jOlX&ACI7+p^8NduVB>Q zDoV#x+BHM8?PG_4-N=Lt=VH6ra>rTr#g%ZLYteVYnl5cIWiWl%eq4{iN?i#}+TA1j z)|bj+@{6RlGZ#_LZiREaJCL-@zVQ>{BXwr4pvK26cw`efP}0|Nej#!c!)Q?_&hQG% z8@Qpn!B^i;%}o&vt9+H@mfV`}aFG_p4-j?d_h9r$rvCg0zeuwyJF+NUbT=u2u;G0& zxMIiZh#k)gSF2%!$DI7v9+B#4wW$_~quJX67jrWlhmOuZ3FK+mQJz6H*b{lSxz^<| zLDs6jh+CGm=&!|9`;Ua~7fq})fQB?Fvw&0dv!jA8PsyBe7Ga9|vBRm%2OKBTp&0*4 z{dC{;PuFfWQ$IDPWdNTo_tI}uHsi`kEi$f5pQEQ)B~H?9k8@A(UK30ji;0bV%M?EI z+7HYt&==4)SfqLkC1q{Aeje)U%$jni8|~F&!PoRQOEqJwfissYyE`A7m){IhV4E4y zyFu`2H92wdR8G%(rKTSD%lu;@h%DEMvzTw0iAS|BEzCQi_pmExqY>C7_|AngRqEM8 zu#y+oa|&;r_Zi}V9k2X*#`vOqf>@0vsjq~^-|c$+V!rB_9yJpV$|9U=^W4?xV&%Up z?A%-L{XRmb(r+}IteEgbQ)gu_nmW#`WsoeZI4cSDEk3e-V9JOhx?ydyZq}Z;by4e= z@S}M0jDdjjetDJuC;KrMb?DbGer2Zh?l_;|$FlpUNgEHce%dw1Gb6WmWyou}i0qXM zdzJfvlqpBu;fphVy5?Hn0FB&|pxZU|dF?%haBGN;jEs)XR#j2Rvb<)X5_y?dmWyR6 zU*Fz7v}}v1paTosJ$#v;sfHZ;AT=&?FSbQt>#OAKs1n@qrnO&J603b^R)NVJ!)NQw=YwSR35)>OM4spLP1+VQlMt> zLMc{F85<)>ue%vLHY{s7SKvHD+Jp4;yw3%}`f{ag>b5GJ8EOo~K&THKS>DxqhOo`6 zV(|@w%o3JJEwbVVxXA9%xZ)GfGc%K3nQN;bIA+lVnA&+kh`L*ayj1S3oPL9X%pz1J zPKOcn$knBA2-)zJ9t^-B@>n%P2$bGotV^FGrniUdOTuG@iy$S;>sv_C68uZaQ2VTg z{J{v^WeId$G*M61em$WrS3@^g9MTo$>&biL7g%;!>LAl9W@k=%Y6K&k?ZJijJf?Hy zCpa??yL@`aFU&!`|4010NiWy6(FT3(qXH$rRqK)0R^8T%E(ssnx*yycucfS@qG+N2 z;Vjd`&#v_c?kKfn3ho#jQ}NZ=3_#d>jX;VFyW^XXXkKkBC{C8``F+wBH99eCh z-}(*R6j`uQ*?9Pg+YDoXA|y&-9{c)^C@LAFf(xKxNj57dnh~;J%4-G2u^BmJKaBI!YRf8cb+J?yh&T z##Q_p(HcPLl^c`wUsF8aK3H}HD?9mf|0A$}L^KA6q- zX|Or`psdKo0HdF2UGzA%dgYmg@sdv@{&8H-O~qsbvO-Ts89v54UuoPZUt|pPviS%Y z!AOR2iP*m#LWi6!1?!uFO>-Mo?S&hZE@WyK_Z`*#Fd^#Jb(He;H57Jt7?o=<4R4Wy z<6lBte1}t{icCXJeXY34mw6&x1*NtZs=M}y$<*u;%8K${v)7 zkN;-HLk^XtmF6U8x7dpAL>!x*Y&mno+lNy~cf`meuo$E3#j`AC#RI+9cE9Cs$=;h( zn%DQ=4*VEgy-;?K82XnO$hY>26$s8Ss~hYwlnpQH7j^z=O?cJmw13^M;yr1>WItfn;vRcFc_y!Z5;+}3@b*)Fy9yT@mg`ppbs`p6Mg^~*x!hff?& zS{8PxDE8w+_d*m*3lf<($~Lj}D+0DUkRI41c^FyRn@3(*C@$%_oWkZhp=$5(MsgG* zZizhWZB|lvAsL*WJUe3BX;3(p$Oywg3p|z^9ZCs{*A_R@MlT*39z}8xjY%&=sazHL z{gnna>^#jfRe0zOJ93dCIV$E1+BtZT-2BP?ajJXw348a7!hUh7^XsM2pmddIrf0Vw ze3G$0v9-9JeVE>NSgRte{6oTjavuMZk~x?gP$HJKp(`#qWhx>+ZI<5gfFW6e{5X8D zr^OLK7r5gG+I%2Xs?S)N!-(3|dk(62)tJs#^z+lgH$hv4=t;AV;FzDdFvo zR%$0_l+vSL4Doq9QdUGa-#ZFh?ta-YI~44fFT7E)Xxx5j#psj9P`*@XMfXu#SJOWw7Q0|GQXhu8Cng-#ov;@gZ2RN!iG`}G?7nq1Z#DXn8zlViicoB z1P~aO4Ht-5!8pF3kmlV&M7&}1!Ehas73K&WOHm5`aw7e#064a!(0@Y#<$im?rrp_f z(2=dxdaYvt`u(OA9xp(WV`+F`gC8e1 z6trk7DEhj5BIZSOK$|K9lNuN!FZ`C@*0{S2WtFBqJHo+-!Px1Cgk@J!L@{s6@_nC8 zVuIieg%M^SIupsdfoyTqMKo5|mkqdo^}_7mGrD%RD5|^0*_Dunm1hwerdmVqHSFF< z#Uw6Id}f!H5a>ae>!Wlg zykpC_be3pT+3{ISE@&l}QqN)ixNh~3$?)SKfFa7*VqbgVN*aGY|C2nkV8_02+ zcVFhbOUPV>?aIuKFYBrn3G#jys8On8dVbC59@7&B?V{+YuE&{LmPElkzV{&obR6~q zvTF)WEypDnFK7oAS6S4pW4q7CK8@+YW!P zgWl}cX=iC{tjKrt<-s|b)S10W5{-nd!Ey>jR~?1txOYrlZ|2l|a!lX(s#=jRnQQII4G~Xu% zLD=@L_|Urv-e=89Zccu|`r^`xVZZ44Q+Y?f>#4|$MMrN>oO6c5h+Ihv7kIdQVrBVS z+JXbkccb{_Z|&$ByMHPmm*d8t*b~d$WyJg^b76biH^Es7 z6oFJ7Y-q#EWO_q4tBlL#1j8ChJ>sCuBByM=VtRc2sl;R}$2+?QHuE@}moOej7ezSc zvMnL$gJWrvB8O_r?%SKzto#AJ8otWD`4K}(Ils((83@xfi~G--rNP-~@AHgz*_Hy` zir!*^#C;61jCmbXogeziwK6HVG5-ZC9dLnf^aUmo6I86|MXIc?uQ==(QK4Q{_FbzS z$BiKmlbae0PXzhL)G%-Dd$4bNUM0KYL1CMPJ9g zLGS8zrnQhoL85k7$;C1Z3?hqzPfoUwFF{VO48jwKJyJ=obG~8upw=#w`{jJZ%9+sb zYJVLvvS=tm_~~tiX&rCawnO!L6NAJ3Jd{{ENvCWA@5}bHZUb0VRQs16^V&I}mNC#) zC?0h)Rm11!mMzw%FW90bak4$c{Q%r$pi9TI97lX5VBVVO3^ z9vYRBTyec!p2#`IgXY03&K{Z)!z-U;uxPo@5$He}`Vxj-89@4*hL~-LR@MkmOkPJg zwwAz$?zE1$?yy?iVli9QNa794zjSWF%zEcxuX}z(QO#>^*xF5-&5G1{H4v7YA7QBu zwImv%u^-`XmrRNFXr+WF!UYOU!?4F;J+oyZ?q&#ENyWs=s8kLc%&=p!WGEy9?3%05 z7tv3>$k*9fP+y_nZJ?`T1ElPR z$Pr5RrEJm2#l=>l@Rg9x6vEjo0$UcHY!={+1w(obeiePw1!Qv;o4uy2py8MH9ZH;M zo4)KjI+}E7dv;m_U}Qqog)ugKygqwkbGXU@g>2VAOWMHdQrEtUl%J?{m^j4v&{U1y zgrq3pkQ{!e)YP}>@Jczf5BMdUePCZI^zk2~1EaLw^-`2>a=M0=n1jpJ#adMcqbruJ>fm^8#e zZpQyVe7%c5)BXQHUeZw^9gxG4EtN`Aq>Sj`R9q>i#L6m3EaW)bk|N2Wl_c4&NaTE; z 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