Cleaner clamping of value range

This commit is contained in:
Jorik Schellekens 2020-04-22 10:42:31 +01:00
parent 8d5965c33c
commit 26ccd6f07d

View file

@ -34,18 +34,13 @@ type IProps = {
export default class Slider extends React.Component<IProps> {
_offset(values: number[], value: number): number {
const lowest = values[0];
const highest = values[values.length - 1];
const min = values[0];
const max = values[values.length - 1];
if (value < lowest) {
return 0;
}
// Clamp value between min and max
value = Math.min(Math.max(value, min), max);
if (value > highest) {
return 100;
}
return (value - values[0]) / (values[values.length - 1] - values[0]) * 100;
return (value - min) / (max - min) * 100;
}
render(): React.ReactNode {