in public/pages/DefineDetector/components/DataFilterList/components/FilterValue.tsx [36:141]
function FilterValue(props: FilterValueProps) {
if (props.dataType === DATA_TYPES.NUMBER) {
if (isRangeOperator(props.operator)) {
return (
<EuiFlexGroup alignItems="center">
<EuiFlexItem>
<Field
name={`filters.${props.index}.fieldRangeStart`}
validate={(val: number | string) =>
validateStart(
val,
get(props, 'filterValues.fieldRangeEnd', undefined)
)
}
>
{({ field, form }: FieldProps) => (
<EuiFormRow
label="From"
isInvalid={isInvalid(field.name, form)}
error={getError(field.name, form)}
>
<EuiFieldNumber
{...field}
isInvalid={isInvalid(field.name, form)}
/>
</EuiFormRow>
)}
</Field>
</EuiFlexItem>
<EuiFlexItem>
<Field
name={`filters.${props.index}.fieldRangeEnd`}
validate={(val: number | string) =>
validateEnd(
val,
get(props, 'filterValues.fieldRangeStart', undefined)
)
}
>
{({ field, form }: FieldProps) => (
<EuiFormRow
label="To"
isInvalid={isInvalid(field.name, form)}
error={getError(field.name, form)}
>
<EuiFieldNumber
{...field}
isInvalid={isInvalid(field.name, form)}
onBlur={() => {
form.setFieldTouched(`filters.${props.index}.fieldValue`);
}}
/>
</EuiFormRow>
)}
</Field>
</EuiFlexItem>
</EuiFlexGroup>
);
} else {
return (
<Field name={`filters.${props.index}.fieldValue`} validate={required}>
{({ field, form }: FieldProps) => (
<EuiFormRow
label="Value"
isInvalid={isInvalid(field.name, form)}
error={getError(field.name, form)}
>
<EuiFieldNumber
{...field}
isInvalid={isInvalid(field.name, form)}
/>
</EuiFormRow>
)}
</Field>
);
}
} else if (props.dataType == DATA_TYPES.BOOLEAN) {
return (
<Field name={`filters.${props.index}.fieldValue`} validate={required}>
{({ field, form }: FieldProps) => (
<EuiFormRow
label="Value"
isInvalid={isInvalid(field.name, form)}
error={getError(field.name, form)}
>
<EuiSelect
{...field}
options={WHERE_BOOLEAN_FILTERS}
isInvalid={isInvalid(field.name, form)}
/>
</EuiFormRow>
)}
</Field>
);
} else {
return (
<Field name={`filters.${props.index}.fieldValue`} validate={required}>
{({ field, form }: FieldProps) => (
<EuiFormRow label="Value">
<EuiFieldText {...field} isInvalid={isInvalid(field.name, form)} />
</EuiFormRow>
)}
</Field>
);
}
}