mirror of
https://github.com/grafana/grafana.git
synced 2025-02-20 11:48:34 -06:00
Move some of the buffering with live streaming inside of the datasource, sending full frames instead of deltas and allow Loki in dashboards.
36 lines
1.2 KiB
TypeScript
36 lines
1.2 KiB
TypeScript
import React, { FunctionComponent } from 'react';
|
|
import { LokiQueryFieldForm, LokiQueryFieldFormProps } from './LokiQueryFieldForm';
|
|
import { useLokiSyntax } from './useLokiSyntax';
|
|
|
|
export const LokiQueryField: FunctionComponent<LokiQueryFieldFormProps> = ({
|
|
datasource,
|
|
datasourceStatus,
|
|
...otherProps
|
|
}) => {
|
|
const { isSyntaxReady, setActiveOption, refreshLabels, ...syntaxProps } = useLokiSyntax(
|
|
datasource.languageProvider,
|
|
datasourceStatus,
|
|
otherProps.absoluteRange
|
|
);
|
|
|
|
return (
|
|
<LokiQueryFieldForm
|
|
datasource={datasource}
|
|
datasourceStatus={datasourceStatus}
|
|
syntaxLoaded={isSyntaxReady}
|
|
/**
|
|
* setActiveOption name is intentional. Because of the way rc-cascader requests additional data
|
|
* https://github.com/react-component/cascader/blob/master/src/Cascader.jsx#L165
|
|
* we are notyfing useLokiSyntax hook, what the active option is, and then it's up to the hook logic
|
|
* to fetch data of options that aren't fetched yet
|
|
*/
|
|
onLoadOptions={setActiveOption}
|
|
onLabelsRefresh={refreshLabels}
|
|
{...syntaxProps}
|
|
{...otherProps}
|
|
/>
|
|
);
|
|
};
|
|
|
|
export default LokiQueryField;
|