mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
TimeSeries: always try to detect & fix reverse-sorted time field (#47906)
This commit is contained in:
@@ -28,6 +28,7 @@ import {
|
||||
import { orderBy } from 'lodash';
|
||||
import { findField } from 'app/features/dimensions';
|
||||
import { getStackingGroups } from '@grafana/ui/src/components/uPlot/utils';
|
||||
import { maybeSortFrame } from '@grafana/data/src/transformations/transformers/joinDataFrames';
|
||||
|
||||
function getBarCharScaleOrientation(orientation: VizOrientation) {
|
||||
if (orientation === VizOrientation.Vertical) {
|
||||
@@ -301,7 +302,13 @@ export function prepareBarChartDisplayValues(
|
||||
}
|
||||
|
||||
// Bar chart requires a single frame
|
||||
const frame = series.length === 1 ? series[0] : outerJoinDataFrames({ frames: series, enforceSort: false });
|
||||
const frame =
|
||||
series.length === 1
|
||||
? maybeSortFrame(
|
||||
series[0],
|
||||
series[0].fields.findIndex((f) => f.type === FieldType.time)
|
||||
)
|
||||
: outerJoinDataFrames({ frames: series });
|
||||
if (!frame) {
|
||||
return { warn: 'Unable to join data' } as BarChartDisplayValues;
|
||||
}
|
||||
|
||||
@@ -7,6 +7,7 @@ import {
|
||||
GrafanaTheme2,
|
||||
outerJoinDataFrames,
|
||||
} from '@grafana/data';
|
||||
import { maybeSortFrame } from '@grafana/data/src/transformations/transformers/joinDataFrames';
|
||||
import { findField } from 'app/features/dimensions';
|
||||
import { prepareGraphableFields } from '../timeseries/utils';
|
||||
import { CandlestickOptions, CandlestickFieldMap, VizDisplayMode } from './models.gen';
|
||||
@@ -102,7 +103,13 @@ export function prepareCandlestickFields(
|
||||
|
||||
// All fields
|
||||
const fieldMap = options.fields ?? {};
|
||||
const aligned = series.length === 1 ? series[0] : outerJoinDataFrames({ frames: series, enforceSort: true });
|
||||
const aligned =
|
||||
series.length === 1
|
||||
? maybeSortFrame(
|
||||
series[0],
|
||||
series[0].fields.findIndex((f) => f.type === FieldType.time)
|
||||
)
|
||||
: outerJoinDataFrames({ frames: series });
|
||||
if (!aligned?.length) {
|
||||
return null;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user