|
|
|
@ -86,13 +86,23 @@ export const ElasticDetails = ({ value, onChange }: Props) => { |
|
|
|
|
/> |
|
|
|
|
</InlineField> |
|
|
|
|
|
|
|
|
|
<InlineField label="Include Frozen Indices" labelWidth={26}> |
|
|
|
|
<InlineField label="X-Pack enabled" labelWidth={26}> |
|
|
|
|
<InlineSwitch |
|
|
|
|
id="es_config_frozenIndices" |
|
|
|
|
value={(value.jsonData.xpack ?? false) && (value.jsonData.includeFrozen ?? false)} |
|
|
|
|
onChange={(event) => includeFrozenIndicesOnChange(event.currentTarget.checked, value, onChange)} |
|
|
|
|
id="es_config_xpackEnabled" |
|
|
|
|
value={value.jsonData.xpack || false} |
|
|
|
|
onChange={jsonDataSwitchChangeHandler('xpack', value, onChange)} |
|
|
|
|
/> |
|
|
|
|
</InlineField> |
|
|
|
|
|
|
|
|
|
{value.jsonData.xpack && ( |
|
|
|
|
<InlineField label="Include Frozen Indices" labelWidth={26}> |
|
|
|
|
<InlineSwitch |
|
|
|
|
id="es_config_frozenIndices" |
|
|
|
|
value={value.jsonData.includeFrozen ?? false} |
|
|
|
|
onChange={jsonDataSwitchChangeHandler('includeFrozen', value, onChange)} |
|
|
|
|
/> |
|
|
|
|
</InlineField> |
|
|
|
|
)} |
|
|
|
|
</FieldSet> |
|
|
|
|
</> |
|
|
|
|
); |
|
|
|
@ -121,20 +131,17 @@ const jsonDataChangeHandler = |
|
|
|
|
}); |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
const includeFrozenIndicesOnChange = (newValue: boolean, formValue: Props['value'], onChange: Props['onChange']) => { |
|
|
|
|
const newJsonData = { ...formValue.jsonData }; |
|
|
|
|
if (newValue) { |
|
|
|
|
newJsonData.xpack = true; |
|
|
|
|
newJsonData.includeFrozen = true; |
|
|
|
|
} else { |
|
|
|
|
delete newJsonData.xpack; |
|
|
|
|
delete newJsonData.includeFrozen; |
|
|
|
|
} |
|
|
|
|
onChange({ |
|
|
|
|
...formValue, |
|
|
|
|
jsonData: newJsonData, |
|
|
|
|
}); |
|
|
|
|
}; |
|
|
|
|
const jsonDataSwitchChangeHandler = |
|
|
|
|
(key: keyof ElasticsearchOptions, value: Props['value'], onChange: Props['onChange']) => |
|
|
|
|
(event: React.SyntheticEvent<HTMLInputElement>) => { |
|
|
|
|
onChange({ |
|
|
|
|
...value, |
|
|
|
|
jsonData: { |
|
|
|
|
...value.jsonData, |
|
|
|
|
[key]: event.currentTarget.checked, |
|
|
|
|
}, |
|
|
|
|
}); |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
const intervalHandler = |
|
|
|
|
(value: Props['value'], onChange: Props['onChange']) => (option: SelectableValue<Interval | 'none'>) => { |
|
|
|
|