Skip to content

Commit 25a515d

Browse files
authored
feat(explore): Limit explore visualizes to 8 (#103826)
There was not guard in the aggregates column editor.
1 parent 3ae44e5 commit 25a515d

File tree

3 files changed

+10
-5
lines changed

3 files changed

+10
-5
lines changed

static/app/views/explore/contexts/pageParamsContext/visualizes.tsx

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,6 @@ import {
1515
import {ChartType} from 'sentry/views/insights/common/components/chart';
1616
import {SpanFields} from 'sentry/views/insights/types';
1717

18-
export const MAX_VISUALIZES = 8;
19-
2018
export const DEFAULT_VISUALIZATION_AGGREGATE = ALLOWED_EXPLORE_VISUALIZE_AGGREGATES[0]!;
2119
export const DEFAULT_VISUALIZATION_FIELD = ALLOWED_EXPLORE_VISUALIZE_FIELDS[0]!;
2220
export const DEFAULT_VISUALIZATION = `${DEFAULT_VISUALIZATION_AGGREGATE}(${DEFAULT_VISUALIZATION_FIELD})`;

static/app/views/explore/tables/aggregateColumnEditorModal.tsx

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ import type {
5353
} from 'sentry/views/explore/queryParams/aggregateField';
5454
import {
5555
isVisualizeEquation,
56+
MAX_VISUALIZES,
5657
Visualize,
5758
VisualizeEquation,
5859
VisualizeFunction,
@@ -101,8 +102,12 @@ export function AggregateColumnEditorModal({
101102
closeModal();
102103
}, [closeModal, onColumnsChange, tempColumns]);
103104

104-
const canDeleteGroupBy = tempColumns.filter(isGroupBy).length > 1;
105-
const canDeleteVisualize = tempColumns.filter(isVisualize).length > 1;
105+
const groupByColumnss = tempColumns.filter(isGroupBy);
106+
const visualizeColumns = tempColumns.filter(isVisualize);
107+
108+
const canDeleteGroupBy = groupByColumnss.length > 1;
109+
const canDeleteVisualize = visualizeColumns.length > 1;
110+
const canAddVisualize = visualizeColumns.length < MAX_VISUALIZES;
106111

107112
return (
108113
<DragNDropContext columns={tempColumns} setColumns={setTempColumns}>
@@ -143,6 +148,7 @@ export function AggregateColumnEditorModal({
143148
key: 'add-visualize',
144149
label: t('Visualize / Function'),
145150
details: t('ex. p50(span.duration)'),
151+
disabled: !canAddVisualize,
146152
onAction: () =>
147153
insertColumn(new VisualizeFunction(DEFAULT_VISUALIZATION)),
148154
},
@@ -152,6 +158,7 @@ export function AggregateColumnEditorModal({
152158
key: 'add-equation',
153159
label: t('Equation'),
154160
details: t('ex. p50(span.duration) / 2'),
161+
disabled: !canAddVisualize,
155162
onAction: () =>
156163
insertColumn(new VisualizeEquation(EQUATION_PREFIX)),
157164
},

static/app/views/explore/toolbar/toolbarVisualize.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,14 +21,14 @@ import {VisualizeEquation as VisualizeEquationInput} from 'sentry/views/explore/
2121
import type {BaseVisualize} from 'sentry/views/explore/contexts/pageParamsContext/visualizes';
2222
import {
2323
DEFAULT_VISUALIZATION,
24-
MAX_VISUALIZES,
2524
updateVisualizeAggregate,
2625
} from 'sentry/views/explore/contexts/pageParamsContext/visualizes';
2726
import {useTraceItemTags} from 'sentry/views/explore/contexts/spanTagsContext';
2827
import {useVisualizeFields} from 'sentry/views/explore/hooks/useVisualizeFields';
2928
import {
3029
isVisualizeEquation,
3130
isVisualizeFunction,
31+
MAX_VISUALIZES,
3232
Visualize,
3333
VisualizeEquation,
3434
VisualizeFunction,

0 commit comments

Comments
 (0)