mirror of
https://github.com/danswer-ai/danswer.git
synced 2025-10-04 12:58:42 +02:00
Small tweak to NumberInput
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
import { Label, SubLabel } from "@/components/admin/connectors/Field";
|
import { Label, SubLabel } from "@/components/admin/connectors/Field";
|
||||||
import { ErrorMessage, Field } from "formik";
|
import { ErrorMessage, useField } from "formik";
|
||||||
|
|
||||||
export default function NumberInput({
|
export default function NumberInput({
|
||||||
label,
|
label,
|
||||||
@@ -14,6 +14,18 @@ export default function NumberInput({
|
|||||||
description?: string;
|
description?: string;
|
||||||
showNeverIfZero?: boolean;
|
showNeverIfZero?: boolean;
|
||||||
}) {
|
}) {
|
||||||
|
const [field, meta, helpers] = useField(name);
|
||||||
|
|
||||||
|
const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {
|
||||||
|
// If the input is empty, set the value to undefined or null
|
||||||
|
// This prevents the "NaN from empty string" error
|
||||||
|
if (e.target.value === "") {
|
||||||
|
helpers.setValue(undefined);
|
||||||
|
} else {
|
||||||
|
helpers.setValue(Number(e.target.value));
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="w-full flex flex-col">
|
<div className="w-full flex flex-col">
|
||||||
<Label>
|
<Label>
|
||||||
@@ -24,10 +36,14 @@ export default function NumberInput({
|
|||||||
</Label>
|
</Label>
|
||||||
{description && <SubLabel>{description}</SubLabel>}
|
{description && <SubLabel>{description}</SubLabel>}
|
||||||
|
|
||||||
<Field
|
<input
|
||||||
|
{...field}
|
||||||
type="number"
|
type="number"
|
||||||
name={name}
|
|
||||||
min="-1"
|
min="-1"
|
||||||
|
onChange={handleChange}
|
||||||
|
value={
|
||||||
|
field.value === undefined || field.value === null ? "" : field.value
|
||||||
|
}
|
||||||
className={`mt-2 block w-full px-3 py-2
|
className={`mt-2 block w-full px-3 py-2
|
||||||
bg-[#fff] dark:bg-transparent border border-background-300 rounded-md
|
bg-[#fff] dark:bg-transparent border border-background-300 rounded-md
|
||||||
text-sm shadow-sm placeholder-text-400
|
text-sm shadow-sm placeholder-text-400
|
||||||
|
Reference in New Issue
Block a user