Files
Piotr Jamróz e8eb73f271 Graphite: Update text editor state on initial load (#37202)
* Update current query when props change

* Remove managed state in GraphiteTextEditor

* Fix tests
2021-07-27 11:41:11 +02:00

36 lines
796 B
TypeScript

import React, { useCallback } from 'react';
import { QueryField } from '@grafana/ui';
import { actions } from '../state/actions';
import { Dispatch } from 'redux';
type Props = {
rawQuery: string;
dispatch: Dispatch;
};
export function GraphiteTextEditor({ rawQuery, dispatch }: Props) {
const updateQuery = useCallback(
(query: string) => {
dispatch(actions.updateQuery({ query }));
},
[dispatch]
);
const runQuery = useCallback(() => {
dispatch(actions.runQuery());
}, [dispatch]);
return (
<>
<QueryField
query={rawQuery}
onChange={updateQuery}
onBlur={runQuery}
onRunQuery={runQuery}
placeholder={'Enter a Graphite query (run with Shift+Enter)'}
portalOrigin="graphite"
/>
</>
);
}