import React from 'react'; import { DataSourcePluginOptionsEditorProps, DataSourceSettings } from '@grafana/data'; import { DataSourceHttpSettings } from '@grafana/ui'; import { LokiOptions } from '../types'; import { MaxLinesField } from './MaxLinesField'; import { DerivedFields } from './DerivedFields'; export type Props = DataSourcePluginOptionsEditorProps; const makeJsonUpdater = (field: keyof LokiOptions) => ( options: DataSourceSettings, value: T ): DataSourceSettings => { return { ...options, jsonData: { ...options.jsonData, [field]: value, }, }; }; const setMaxLines = makeJsonUpdater('maxLines'); const setDerivedFields = makeJsonUpdater('derivedFields'); export const ConfigEditor = (props: Props) => { const { options, onOptionsChange } = props; return ( <>
onOptionsChange(setMaxLines(options, value))} />
onOptionsChange(setDerivedFields(options, value))} /> ); };