diff --git a/x-pack/plugins/lens/public/datatable_visualization/components/dimension_editor.test.tsx b/x-pack/plugins/lens/public/datatable_visualization/components/dimension_editor.test.tsx index 49003af28f3f1b..3479a9e964d53e 100644 --- a/x-pack/plugins/lens/public/datatable_visualization/components/dimension_editor.test.tsx +++ b/x-pack/plugins/lens/public/datatable_visualization/components/dimension_editor.test.tsx @@ -7,7 +7,7 @@ import React from 'react'; import { EuiButtonGroup, EuiComboBox, EuiFieldText } from '@elastic/eui'; -import { FramePublicAPI, VisualizationDimensionEditorProps } from '../../types'; +import { FramePublicAPI, Operation, VisualizationDimensionEditorProps } from '../../types'; import { DatatableVisualizationState } from '../visualization'; import { createMockDatasource, createMockFramePublicAPI } from '../../editor_frame_service/mocks'; import { mountWithIntl } from '@kbn/test/jest'; @@ -213,6 +213,22 @@ describe('data table dimension editor', () => { expect(instance.find(PalettePanelContainer).exists()).toBe(true); }); + it('should not show the dynamic coloring option for a bucketed operation', () => { + frame.activeData!.first.columns[0].meta.type = 'number'; + frame.datasourceLayers.first.getOperationForColumnId = jest.fn( + () => ({ isBucketed: true } as Operation) + ); + state.columns[0].colorMode = 'cell'; + const instance = mountWithIntl(); + + expect(instance.find('[data-test-subj="lnsDatatable_dynamicColoring_groups"]').exists()).toBe( + false + ); + expect(instance.find('[data-test-subj="lnsDatatable_dynamicColoring_palette"]').exists()).toBe( + false + ); + }); + it('should show the summary field for non numeric columns', () => { const instance = mountWithIntl(); expect(instance.find('[data-test-subj="lnsDatatable_summaryrow_function"]').exists()).toBe( diff --git a/x-pack/plugins/lens/public/datatable_visualization/components/dimension_editor.tsx b/x-pack/plugins/lens/public/datatable_visualization/components/dimension_editor.tsx index 6c39a04ae1504c..cf15df07ec72ca 100644 --- a/x-pack/plugins/lens/public/datatable_visualization/components/dimension_editor.tsx +++ b/x-pack/plugins/lens/public/datatable_visualization/components/dimension_editor.tsx @@ -104,6 +104,11 @@ export function TableDimensionEditor( currentData ); + const datasource = frame.datasourceLayers[state.layerId]; + const showDynamicColoringFeature = Boolean( + isNumeric && !datasource?.getOperationForColumnId(accessor)?.isBucketed + ); + const visibleColumnsCount = state.columns.filter((c) => !c.hidden).length; const hasTransposedColumn = state.columns.some(({ isTransposed }) => isTransposed); @@ -260,7 +265,7 @@ export function TableDimensionEditor( )} )} - {isNumeric && ( + {showDynamicColoringFeature && ( <>