fix: Disable cross filtering on charts with no dimensions (#30176)

This commit is contained in:
Kamil Gabryjelski
2024-09-09 12:43:14 +02:00
committed by GitHub
parent 0744abe87b
commit 3aafd29768
9 changed files with 57 additions and 23 deletions

View File

@@ -26,6 +26,7 @@ import {
getNumberFormatter,
getTimeFormatter,
} from '@superset-ui/core';
import { noop } from 'lodash';
import {
BaseTransformedProps,
@@ -137,7 +138,8 @@ export const contextMenuEventHandler =
}
onContextMenu(pointerEvent.clientX, pointerEvent.clientY, {
drillToDetail: drillFilters,
crossFilter: getCrossFilterDataMask(e.name),
crossFilter:
groupby.length > 0 ? getCrossFilterDataMask(e.name) : undefined,
drillBy: { filters: drillFilters, groupbyFieldName: 'groupby' },
});
}
@@ -157,11 +159,14 @@ export const allEventHandlers = (
formData,
} = transformedProps;
const eventHandlers: EventHandlers = {
click: clickEventHandler(
getCrossFilterDataMask(selectedValues, groupby, labelMap),
setDataMask,
emitCrossFilters,
),
click:
groupby.length > 0
? clickEventHandler(
getCrossFilterDataMask(selectedValues, groupby, labelMap),
setDataMask,
emitCrossFilters,
)
: noop,
contextmenu: contextMenuEventHandler(
groupby,
onContextMenu,