mirror of
https://github.com/grafana/grafana.git
synced 2025-08-06 02:23:28 +08:00
Explore: add functionality for supporting different step modes in prometheus (#37829)
This commit is contained in:
@ -1,10 +1,10 @@
|
||||
import React, { memo, FC, useEffect } from 'react';
|
||||
|
||||
// Types
|
||||
import { ExploreQueryFieldProps } from '@grafana/data';
|
||||
import { ExploreQueryFieldProps, SelectableValue } from '@grafana/data';
|
||||
|
||||
import { PrometheusDatasource } from '../datasource';
|
||||
import { PromQuery, PromOptions } from '../types';
|
||||
import { PromQuery, PromOptions, StepMode } from '../types';
|
||||
|
||||
import PromQueryField from './PromQueryField';
|
||||
import { PromExploreExtraField } from './PromExploreExtraField';
|
||||
@ -26,7 +26,19 @@ export const PromExploreQueryEditor: FC<Props> = (props: Props) => {
|
||||
onChange(nextQuery);
|
||||
}
|
||||
|
||||
function onStepChange(e: React.SyntheticEvent<HTMLInputElement>) {
|
||||
function onChangeStepMode(mode: StepMode) {
|
||||
const { query, onChange } = props;
|
||||
const nextQuery = { ...query, stepMode: mode };
|
||||
onChange(nextQuery);
|
||||
}
|
||||
|
||||
function onStepModeChange(option: SelectableValue<StepMode>) {
|
||||
if (option.value) {
|
||||
onChangeStepMode(option.value);
|
||||
}
|
||||
}
|
||||
|
||||
function onStepIntervalChange(e: React.SyntheticEvent<HTMLInputElement>) {
|
||||
if (e.currentTarget.value !== query.interval) {
|
||||
onChangeQueryStep(e.currentTarget.value);
|
||||
}
|
||||
@ -66,8 +78,10 @@ export const PromExploreQueryEditor: FC<Props> = (props: Props) => {
|
||||
// Select "both" as default option when Explore is opened. In legacy requests, range and instant can be undefined. In this case, we want to run queries with "both".
|
||||
queryType={query.range === query.instant ? 'both' : query.instant ? 'instant' : 'range'}
|
||||
stepValue={query.interval || ''}
|
||||
stepMode={query.stepMode || 'min'}
|
||||
onQueryTypeChange={onQueryTypeChange}
|
||||
onStepChange={onStepChange}
|
||||
onStepModeChange={onStepModeChange}
|
||||
onStepIntervalChange={onStepIntervalChange}
|
||||
onKeyDownFunc={onReturnKeyDown}
|
||||
query={query}
|
||||
onChange={onChange}
|
||||
|
Reference in New Issue
Block a user