import React, { useEffect, useState } from 'react'; import { InputDoubleRange, Button, PanelSection, ButtonGroup, IconButton, InputNumber, Icon, Tooltip, } from '@ohif/ui'; import { Enums } from '@cornerstonejs/core'; const controlClassNames = { sizeClassName: 'w-[58px] h-[28px]', arrowsDirection: 'horizontal', labelPosition: 'bottom', }; const Header = ({ title, tooltip }) => (
{tooltip}
} position="bottom-left" tight={true} tooltipBoxClassName="max-w-xs" > {title} ); const DynamicVolumeControls = ({ isPlaying, onPlayPauseChange, // fps fps, onFpsChange, minFps, maxFps, // Frames currentFrameIndex, onFrameChange, framesLength, onGenerate, onDoubleRangeChange, onDynamicClick, }) => { const [computedView, setComputedView] = useState(false); const [computeViewMode, setComputeViewMode] = useState(Enums.DynamicOperatorType.SUM); const [sliderRangeValues, setSliderRangeValues] = useState([framesLength / 4, framesLength / 2]); useEffect(() => { setSliderRangeValues([framesLength / 4, framesLength / 2]); }, [framesLength]); const handleSliderChange = newValues => { onDoubleRangeChange(newValues); if (newValues[0] === sliderRangeValues[0] && newValues[1] === sliderRangeValues[1]) { return; } setSliderRangeValues(newValues); }; return (
); }; export default DynamicVolumeControls; function FrameControls({ isPlaying, onPlayPauseChange, fps, minFps, maxFps, onFpsChange, framesLength, onFrameChange, currentFrameIndex, computedView, }) { const getPlayPauseIconName = () => (isPlaying ? 'icon-pause' : 'icon-play'); return (
onPlayPauseChange(!isPlaying)} >
); }