import React, { ReactElement, useCallback } from 'react'; import { AllInOneMenu } from '@ohif/ui'; import { WindowLevelPreset } from '../../types/WindowLevel'; import { CommandsManager } from '@ohif/core'; import { useTranslation } from 'react-i18next'; export type WindowLevelProps = { viewportId: string; presets: Record>; commandsManager: CommandsManager; }; export function WindowLevel({ viewportId, commandsManager, presets, }: WindowLevelProps): ReactElement { const { t } = useTranslation('WindowLevelActionMenu'); const onSetWindowLevel = useCallback( props => { commandsManager.run({ commandName: 'setViewportWindowLevel', commandOptions: { ...props, }, context: 'CORNERSTONE', }); }, [commandsManager] ); return ( {t('Modality Presets', { modality: Object.keys(presets)[0] })} {Object.values(presets)[0].map((preset, index) => ( onSetWindowLevel({ ...preset, viewportId })} > ))} ); }