Skip to content

Commit e659105

Browse files
committed
Fixed sibling pipeline aggs
1 parent ad24cfd commit e659105

File tree

1 file changed

+16
-1
lines changed
  • src/plugins/vis_types/xy/public/convert_to_lens

1 file changed

+16
-1
lines changed

src/plugins/vis_types/xy/public/convert_to_lens/index.ts

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
* Side Public License, v 1.
77
*/
88

9+
import { METRIC_TYPES } from '@kbn/data-plugin/public';
910
import { Column, ColumnWithMeta } from '@kbn/visualizations-plugin/common';
1011
import {
1112
convertToLensModule,
@@ -27,6 +28,13 @@ export interface Layer {
2728
collapseFn?: string;
2829
}
2930

31+
const SIBBLING_PIPELINE_AGGS: string[] = [
32+
METRIC_TYPES.AVG_BUCKET,
33+
METRIC_TYPES.SUM_BUCKET,
34+
METRIC_TYPES.MAX_BUCKET,
35+
METRIC_TYPES.MIN_BUCKET,
36+
];
37+
3038
export const isColumnWithMeta = (column: Column): column is ColumnWithMeta => {
3139
if ((column as ColumnWithMeta).meta) {
3240
return true;
@@ -98,7 +106,14 @@ export const convertToLens: ConvertXYToLensVisualization = async (vis, timefilte
98106
visibleSeries
99107
.reduce<Array<{ metrics: string[]; type: string; mode: string }>>((acc, s) => {
100108
const series = acc.find(({ type, mode }) => type === s.type && mode === s.mode);
101-
if (series) {
109+
// sibling pipeline agg always generate new layer because of custom bucket
110+
if (
111+
series &&
112+
visSchemas.metric.some(
113+
(m) =>
114+
m.aggId?.split('.')[0] === s.data.id && !SIBBLING_PIPELINE_AGGS.includes(m.aggType)
115+
)
116+
) {
102117
series.metrics.push(s.data.id);
103118
} else {
104119
acc.push({ metrics: [s.data.id], type: s.type, mode: s.mode });

0 commit comments

Comments
 (0)