grafana/public/app/core/components/OptionsUI/number.tsx
Adela Almasan 1af63ba5f9
OptionsUI: use NumberInput for number options (#46046)
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2022-06-14 22:42:26 +02:00

32 lines
770 B
TypeScript

import React, { useCallback } from 'react';
import { FieldConfigEditorProps, NumberFieldConfigSettings } from '@grafana/data';
import { NumberInput } from './NumberInput';
export const NumberValueEditor: React.FC<FieldConfigEditorProps<number, NumberFieldConfigSettings>> = ({
value,
onChange,
item,
}) => {
const { settings } = item;
const onValueChange = useCallback(
(value: number | undefined) => {
onChange(settings?.integer && value !== undefined ? Math.floor(value) : value);
},
[onChange, settings?.integer]
);
return (
<NumberInput
value={value}
min={settings?.min}
max={settings?.max}
step={settings?.step}
placeholder={settings?.placeholder}
onChange={onValueChange}
/>
);
};