diff --git a/public/pages/DefineDetector/components/CustomResultIndex/CustomResultIndex.tsx b/public/pages/DefineDetector/components/CustomResultIndex/CustomResultIndex.tsx index 24ab61cb..c6d61181 100644 --- a/public/pages/DefineDetector/components/CustomResultIndex/CustomResultIndex.tsx +++ b/public/pages/DefineDetector/components/CustomResultIndex/CustomResultIndex.tsx @@ -48,6 +48,7 @@ interface CustomResultIndexProps { function CustomResultIndex(props: CustomResultIndexProps) { const [enabled, setEnabled] = useState(!!props.resultIndex); const [customResultIndexConditionsEnabled, setCustomResultIndexConditionsEnabled] = useState(true); + const [isDisabled, setIsDisabled] = useState(false); const customResultIndexMinAge = get(props.formikProps, 'values.resultIndexMinAge'); const customResultIndexMinSize = get(props.formikProps, 'values.resultIndexMinSize'); const customResultIndexTTL = get(props.formikProps, 'values.resultIndexTtl'); @@ -66,6 +67,14 @@ function CustomResultIndex(props: CustomResultIndexProps) { } },[customResultIndexConditionsEnabled]) + useEffect(() => { + if (props.isEdit && !get(props.formikProps, 'values.flattenCustomResultIndex')) { + setIsDisabled(true); + } else { + setIsDisabled(false); + } + }, [props.isEdit]); + const hintTextStyle = { color: '#69707d', fontSize: '12px', @@ -162,6 +171,7 @@ function CustomResultIndex(props: CustomResultIndexProps) { id={'flattenCustomResultIndex'} label="Enable flattened custom result index" checked={field.value ? field.value : get(props.formikProps, 'values.flattenCustomResultIndex')} + disabled={isDisabled} {...field} />

Flattening the custom result index will make it easier to query them on the dashboard. It also allows you to perform term aggregations on categorical fields.