mirror of
https://github.com/grafana/grafana.git
synced 2025-09-22 13:33:51 +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
37 lines
784 B
TypeScript
37 lines
784 B
TypeScript
import React, { useCallback } from 'react';
|
|
|
|
import { QueryField } from '@grafana/ui';
|
|
|
|
import { actions } from '../state/actions';
|
|
import { useDispatch } from '../state/context';
|
|
|
|
type Props = {
|
|
rawQuery: string;
|
|
};
|
|
|
|
export function GraphiteTextEditor({ rawQuery }: Props) {
|
|
const dispatch = useDispatch();
|
|
|
|
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"
|
|
/>
|
|
);
|
|
}
|