diff --git a/public/app/features/trails/ActionTabs/BreakdownScene.tsx b/public/app/features/trails/ActionTabs/BreakdownScene.tsx index 114eaaeb1a6..beb75b4591d 100644 --- a/public/app/features/trails/ActionTabs/BreakdownScene.tsx +++ b/public/app/features/trails/ActionTabs/BreakdownScene.tsx @@ -19,7 +19,7 @@ import { SceneQueryRunner, VariableDependencyConfig, } from '@grafana/scenes'; -import { Button, Field, RadioButtonGroup, useStyles2 } from '@grafana/ui'; +import { Button, Field, Select, RadioButtonGroup, useStyles2 } from '@grafana/ui'; import { ALL_VARIABLE_VALUE } from 'app/features/variables/constants'; import { getAutoQueriesForMetric } from '../AutomaticMetricQueries/AutoQueryEngine'; @@ -109,7 +109,11 @@ export class BreakdownScene extends SceneObjectBase { this.setState(stateUpdate); } - public onChange = (value: string) => { + public onChange = (value?: string) => { + if (!value) { + return; + } + const variable = this.getVariable(); if (value === ALL_VARIABLE_VALUE) { @@ -125,13 +129,26 @@ export class BreakdownScene extends SceneObjectBase { const { labels, body, loading, value } = model.useState(); const styles = useStyles2(getStyles); + const useHorizontalLabelSelector = labels.length <= 6; + return (
{loading &&
Loading...
}
- - - + {!loading && ( + + {useHorizontalLabelSelector ? ( + + ) : ( +