From 1c5bf2227647eb798bbe6fa4747cfeb3ed557d0e Mon Sep 17 00:00:00 2001 From: Laryssa Abdala Date: Wed, 6 Jul 2022 14:52:13 -0400 Subject: [PATCH 1/2] feat(ColorRangeInput): Support smaller step size for float datasets --- src/Images/ColorRangeInput.jsx | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/src/Images/ColorRangeInput.jsx b/src/Images/ColorRangeInput.jsx index 880aea8..bedf082 100644 --- a/src/Images/ColorRangeInput.jsx +++ b/src/Images/ColorRangeInput.jsx @@ -72,6 +72,7 @@ function ColorRangeInput(props) { const currentRangeMin = currentRange[0] const currentRangeMax = currentRange[1] + const [step] = useState((currentRange[1] - currentRange[0]) / 200) const [minIntent, setminIntent] = useState(currentRangeMin) const [maxIntent, setmaxIntent] = useState(currentRangeMax) @@ -163,14 +164,11 @@ function ColorRangeInput(props) { invalidNumber: minIntent >= maxIntent })} type="number" - value={ - imageType.slice(0, 5) === 'float' - ? Number.parseFloat(minIntent).toExponential(2) - : minIntent - } + value={minIntent} onChange={(e) => { rangeMinChanged(e.target.value) }} + step={imageType.slice(0, 5) === 'float' ? step : 1} /> @@ -180,14 +178,11 @@ function ColorRangeInput(props) { invalidNumber: maxIntent <= minIntent })} type="number" - value={ - imageType.slice(0, 5) === 'float' - ? Number.parseFloat(maxIntent).toExponential(2) - : maxIntent - } + value={maxIntent} onChange={(e) => { rangeMaxChanged(e.target.value) }} + step={imageType.slice(0, 5) === 'float' ? step : 1} /> From 2505e4634662f86f76377d3edb525441c76e9350 Mon Sep 17 00:00:00 2001 From: Laryssa Abdala Date: Wed, 6 Jul 2022 16:19:59 -0400 Subject: [PATCH 2/2] fix(ColorRangeInput): Improve logic for step --- src/Images/ColorRangeInput.jsx | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/Images/ColorRangeInput.jsx b/src/Images/ColorRangeInput.jsx index bedf082..f813891 100644 --- a/src/Images/ColorRangeInput.jsx +++ b/src/Images/ColorRangeInput.jsx @@ -72,7 +72,12 @@ function ColorRangeInput(props) { const currentRangeMin = currentRange[0] const currentRangeMax = currentRange[1] - const [step] = useState((currentRange[1] - currentRange[0]) / 200) + const [rangeMin, rangeMax] = + actorContext.image.scaleInfo[actorContext.renderedScale].ranges[ + actorContext.selectedComponent + ] + const step = + imageType.slice(0, 5) === 'float' ? (rangeMax - rangeMin) / 200 : 1 const [minIntent, setminIntent] = useState(currentRangeMin) const [maxIntent, setmaxIntent] = useState(currentRangeMax) @@ -168,7 +173,7 @@ function ColorRangeInput(props) { onChange={(e) => { rangeMinChanged(e.target.value) }} - step={imageType.slice(0, 5) === 'float' ? step : 1} + step={step} /> @@ -182,7 +187,7 @@ function ColorRangeInput(props) { onChange={(e) => { rangeMaxChanged(e.target.value) }} - step={imageType.slice(0, 5) === 'float' ? step : 1} + step={step} />