mirror of
https://github.com/grafana/grafana.git
synced 2025-08-02 21:43:09 +08:00

* Add and configure eslint-plugin-import * Fix the lint:ts npm command * Autofix + prettier all the files * Manually fix remaining files * Move jquery code in jest-setup to external file to safely reorder imports * Resolve issue caused by circular dependencies within Prometheus * Update .betterer.results * Fix missing // @ts-ignore * ignore iconBundle.ts * Fix missing // @ts-ignore
44 lines
1.2 KiB
TypeScript
44 lines
1.2 KiB
TypeScript
import React from 'react';
|
|
|
|
import { Input, InlineField, FieldSet } from '@grafana/ui';
|
|
|
|
import { ElasticsearchOptions } from '../types';
|
|
|
|
type Props = {
|
|
value: ElasticsearchOptions;
|
|
onChange: (value: ElasticsearchOptions) => void;
|
|
};
|
|
export const LogsConfig = (props: Props) => {
|
|
const { value, onChange } = props;
|
|
const changeHandler =
|
|
(key: keyof ElasticsearchOptions) => (event: React.SyntheticEvent<HTMLInputElement | HTMLSelectElement>) => {
|
|
onChange({
|
|
...value,
|
|
[key]: event.currentTarget.value,
|
|
});
|
|
};
|
|
|
|
return (
|
|
<FieldSet label="Logs">
|
|
<InlineField label="Message field name" labelWidth={22}>
|
|
<Input
|
|
id="es_logs-config_logMessageField"
|
|
value={value.logMessageField}
|
|
onChange={changeHandler('logMessageField')}
|
|
placeholder="_source"
|
|
width={24}
|
|
/>
|
|
</InlineField>
|
|
|
|
<InlineField label="Level field name" labelWidth={22}>
|
|
<Input
|
|
id="es_logs-config_logLevelField"
|
|
value={value.logLevelField}
|
|
onChange={changeHandler('logLevelField')}
|
|
width={24}
|
|
/>
|
|
</InlineField>
|
|
</FieldSet>
|
|
);
|
|
};
|