mirror of
https://github.com/apache/superset.git
synced 2026-04-21 00:54:44 +00:00
feat: Move cross filters to Dashboard (#22785)
This commit is contained in:
@@ -30,12 +30,12 @@ export default function EchartsBoxPlot(props: BoxPlotChartTransformedProps) {
|
||||
labelMap,
|
||||
groupby,
|
||||
selectedValues,
|
||||
formData,
|
||||
refs,
|
||||
emitCrossFilters,
|
||||
} = props;
|
||||
const handleChange = useCallback(
|
||||
(values: string[]) => {
|
||||
if (!formData.emitFilter) {
|
||||
if (!emitCrossFilters) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@@ -28,7 +28,6 @@ import {
|
||||
D3_FORMAT_OPTIONS,
|
||||
D3_TIME_FORMAT_OPTIONS,
|
||||
sections,
|
||||
emitFilterControl,
|
||||
ControlPanelConfig,
|
||||
getStandardizedControls,
|
||||
ControlState,
|
||||
@@ -77,7 +76,6 @@ const config: ControlPanelConfig = {
|
||||
['groupby'],
|
||||
['metrics'],
|
||||
['adhoc_filters'],
|
||||
emitFilterControl,
|
||||
['series_limit'],
|
||||
['series_limit_metric'],
|
||||
[
|
||||
|
||||
@@ -53,6 +53,7 @@ export default function transformProps(
|
||||
filterState,
|
||||
queriesData,
|
||||
inContextMenu,
|
||||
emitCrossFilters,
|
||||
} = chartProps;
|
||||
const { data = [] } = queriesData[0];
|
||||
const { setDataMask = () => {}, onContextMenu } = hooks;
|
||||
@@ -64,7 +65,6 @@ export default function transformProps(
|
||||
numberFormat,
|
||||
dateFormat,
|
||||
xTicksLayout,
|
||||
emitFilter,
|
||||
legendOrientation = 'top',
|
||||
xAxisTitle,
|
||||
yAxisTitle,
|
||||
@@ -291,7 +291,7 @@ export default function transformProps(
|
||||
height,
|
||||
echartOptions,
|
||||
setDataMask,
|
||||
emitFilter,
|
||||
emitCrossFilters,
|
||||
labelMap,
|
||||
groupby,
|
||||
selectedValues,
|
||||
|
||||
@@ -30,7 +30,6 @@ export type BoxPlotQueryFormData = QueryFormData & {
|
||||
numberFormat?: string;
|
||||
whiskerOptions?: BoxPlotFormDataWhiskerOptions;
|
||||
xTickLayout?: BoxPlotFormXTickLayout;
|
||||
emitFilter: boolean;
|
||||
} & TitleFormData;
|
||||
|
||||
export type BoxPlotFormDataWhiskerOptions =
|
||||
@@ -48,7 +47,6 @@ export type BoxPlotFormXTickLayout =
|
||||
|
||||
// @ts-ignore
|
||||
export const DEFAULT_FORM_DATA: BoxPlotQueryFormData = {
|
||||
emitFilter: false,
|
||||
...DEFAULT_TITLE_FORM_DATA,
|
||||
};
|
||||
|
||||
|
||||
@@ -30,12 +30,12 @@ export default function EchartsFunnel(props: FunnelChartTransformedProps) {
|
||||
labelMap,
|
||||
groupby,
|
||||
selectedValues,
|
||||
formData,
|
||||
emitCrossFilters,
|
||||
refs,
|
||||
} = props;
|
||||
const handleChange = useCallback(
|
||||
(values: string[]) => {
|
||||
if (!formData.emitFilter) {
|
||||
if (!emitCrossFilters) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@@ -24,7 +24,6 @@ import {
|
||||
sections,
|
||||
sharedControls,
|
||||
ControlStateMapping,
|
||||
emitFilterControl,
|
||||
getStandardizedControls,
|
||||
} from '@superset-ui/chart-controls';
|
||||
import { DEFAULT_FORM_DATA, EchartsFunnelLabelTypeType } from './types';
|
||||
@@ -45,7 +44,6 @@ const config: ControlPanelConfig = {
|
||||
['groupby'],
|
||||
['metric'],
|
||||
['adhoc_filters'],
|
||||
emitFilterControl,
|
||||
[
|
||||
{
|
||||
name: 'row_limit',
|
||||
|
||||
@@ -92,6 +92,7 @@ export default function transformProps(
|
||||
width,
|
||||
theme,
|
||||
inContextMenu,
|
||||
emitCrossFilters,
|
||||
} = chartProps;
|
||||
const data: DataRecord[] = queriesData[0].data || [];
|
||||
|
||||
@@ -110,7 +111,6 @@ export default function transformProps(
|
||||
numberFormat,
|
||||
showLabels,
|
||||
showLegend,
|
||||
emitFilter,
|
||||
sliceId,
|
||||
}: EchartsFunnelFormData = {
|
||||
...DEFAULT_LEGEND_FORM_DATA,
|
||||
@@ -238,7 +238,7 @@ export default function transformProps(
|
||||
height,
|
||||
echartOptions,
|
||||
setDataMask,
|
||||
emitFilter,
|
||||
emitCrossFilters,
|
||||
labelMap,
|
||||
groupby,
|
||||
selectedValues,
|
||||
|
||||
@@ -40,7 +40,6 @@ export type EchartsFunnelFormData = QueryFormData &
|
||||
gap: number;
|
||||
sort: 'descending' | 'ascending' | 'none' | undefined;
|
||||
orient: 'vertical' | 'horizontal' | undefined;
|
||||
emitFilter: boolean;
|
||||
};
|
||||
|
||||
export enum EchartsFunnelLabelTypeType {
|
||||
@@ -70,7 +69,6 @@ export const DEFAULT_FORM_DATA: EchartsFunnelFormData = {
|
||||
sort: 'descending',
|
||||
orient: 'vertical',
|
||||
gap: 0,
|
||||
emitFilter: false,
|
||||
};
|
||||
|
||||
export type FunnelChartTransformedProps =
|
||||
|
||||
@@ -30,12 +30,12 @@ export default function EchartsGauge(props: GaugeChartTransformedProps) {
|
||||
labelMap,
|
||||
groupby,
|
||||
selectedValues,
|
||||
formData: { emitFilter },
|
||||
emitCrossFilters,
|
||||
refs,
|
||||
} = props;
|
||||
const handleChange = useCallback(
|
||||
(values: string[]) => {
|
||||
if (!emitFilter) {
|
||||
if (!emitCrossFilters) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@@ -23,7 +23,6 @@ import {
|
||||
ControlPanelConfig,
|
||||
D3_FORMAT_OPTIONS,
|
||||
sections,
|
||||
emitFilterControl,
|
||||
getStandardizedControls,
|
||||
} from '@superset-ui/chart-controls';
|
||||
import { DEFAULT_FORM_DATA } from './types';
|
||||
@@ -46,7 +45,6 @@ const config: ControlPanelConfig = {
|
||||
],
|
||||
['metric'],
|
||||
['adhoc_filters'],
|
||||
emitFilterControl,
|
||||
[
|
||||
{
|
||||
name: 'row_limit',
|
||||
|
||||
@@ -91,8 +91,16 @@ const calculateMax = (data: GaugeDataItemOption[]) =>
|
||||
export default function transformProps(
|
||||
chartProps: EchartsGaugeChartProps,
|
||||
): GaugeChartTransformedProps {
|
||||
const { width, height, formData, queriesData, hooks, filterState, theme } =
|
||||
chartProps;
|
||||
const {
|
||||
width,
|
||||
height,
|
||||
formData,
|
||||
queriesData,
|
||||
hooks,
|
||||
filterState,
|
||||
theme,
|
||||
emitCrossFilters,
|
||||
} = chartProps;
|
||||
|
||||
const gaugeSeriesOptions = defaultGaugeSeriesOption(theme);
|
||||
|
||||
@@ -117,7 +125,6 @@ export default function transformProps(
|
||||
intervals,
|
||||
intervalColorIndices,
|
||||
valueFormatter,
|
||||
emitFilter,
|
||||
sliceId,
|
||||
}: EchartsGaugeFormData = { ...DEFAULT_GAUGE_FORM_DATA, ...formData };
|
||||
const refs: Refs = {};
|
||||
@@ -327,7 +334,7 @@ export default function transformProps(
|
||||
height,
|
||||
echartOptions,
|
||||
setDataMask,
|
||||
emitFilter,
|
||||
emitCrossFilters,
|
||||
labelMap: Object.fromEntries(columnsLabelMap),
|
||||
groupby,
|
||||
selectedValues: filterState.selectedValues || [],
|
||||
|
||||
@@ -52,7 +52,6 @@ export type EchartsGaugeFormData = QueryFormData & {
|
||||
intervals: string;
|
||||
intervalColorIndices: string;
|
||||
valueFormatter: string;
|
||||
emitFilter: boolean;
|
||||
};
|
||||
|
||||
export const DEFAULT_FORM_DATA: Partial<EchartsGaugeFormData> = {
|
||||
@@ -76,7 +75,6 @@ export const DEFAULT_FORM_DATA: Partial<EchartsGaugeFormData> = {
|
||||
intervals: '',
|
||||
intervalColorIndices: '',
|
||||
valueFormatter: '{value}',
|
||||
emitFilter: false,
|
||||
};
|
||||
|
||||
export interface EchartsGaugeChartProps
|
||||
|
||||
@@ -39,6 +39,7 @@ export default function EchartsMixedTimeseries({
|
||||
groupbyB,
|
||||
selectedValues,
|
||||
formData,
|
||||
emitCrossFilters,
|
||||
seriesBreakdown,
|
||||
onContextMenu,
|
||||
xValueFormatter,
|
||||
@@ -52,10 +53,7 @@ export default function EchartsMixedTimeseries({
|
||||
|
||||
const handleChange = useCallback(
|
||||
(values: string[], seriesIndex: number) => {
|
||||
const emitFilter = isFirstQuery(seriesIndex)
|
||||
? formData.emitFilter
|
||||
: formData.emitFilterB;
|
||||
if (!emitFilter) {
|
||||
if (!emitCrossFilters) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@@ -24,7 +24,6 @@ import {
|
||||
ControlPanelSectionConfig,
|
||||
ControlSetRow,
|
||||
CustomControlItem,
|
||||
emitFilterControl,
|
||||
getStandardizedControls,
|
||||
sections,
|
||||
sharedControls,
|
||||
@@ -79,14 +78,6 @@ function createQuerySection(
|
||||
config: sharedControls.adhoc_filters,
|
||||
},
|
||||
],
|
||||
emitFilterControl.length > 0
|
||||
? [
|
||||
{
|
||||
...emitFilterControl[0],
|
||||
name: `emit_filter${controlSuffix}`,
|
||||
},
|
||||
]
|
||||
: [],
|
||||
[
|
||||
{
|
||||
name: `limit${controlSuffix}`,
|
||||
|
||||
@@ -95,6 +95,7 @@ export default function transformProps(
|
||||
datasource,
|
||||
theme,
|
||||
inContextMenu,
|
||||
emitCrossFilters,
|
||||
} = chartProps;
|
||||
const { verboseMap = {} } = datasource;
|
||||
const { label_map: labelMap } =
|
||||
@@ -144,8 +145,6 @@ export default function transformProps(
|
||||
xAxisLabelRotation,
|
||||
groupby,
|
||||
groupbyB,
|
||||
emitFilter,
|
||||
emitFilterB,
|
||||
xAxis: xAxisOrig,
|
||||
xAxisTitle,
|
||||
yAxisTitle,
|
||||
@@ -504,8 +503,7 @@ export default function transformProps(
|
||||
height,
|
||||
echartOptions,
|
||||
setDataMask,
|
||||
emitFilter,
|
||||
emitFilterB,
|
||||
emitCrossFilters,
|
||||
labelMap,
|
||||
labelMapB,
|
||||
groupby,
|
||||
|
||||
@@ -86,7 +86,6 @@ export type EchartsMixedTimeseriesFormData = QueryFormData & {
|
||||
yAxisIndexB?: number;
|
||||
groupby: QueryFormColumn[];
|
||||
groupbyB: QueryFormColumn[];
|
||||
emitFilter: boolean;
|
||||
} & LegendFormData &
|
||||
TitleFormData;
|
||||
|
||||
@@ -143,7 +142,6 @@ export type EchartsMixedTimeseriesChartTransformedProps =
|
||||
BaseTransformedProps<EchartsMixedTimeseriesFormData> &
|
||||
ContextMenuTransformedProps &
|
||||
CrossFilterTransformedProps & {
|
||||
emitFilterB: boolean;
|
||||
groupbyB: QueryFormColumn[];
|
||||
labelMapB: Record<string, string[]>;
|
||||
seriesBreakdown: number;
|
||||
|
||||
@@ -30,12 +30,12 @@ export default function EchartsPie(props: PieChartTransformedProps) {
|
||||
labelMap,
|
||||
groupby,
|
||||
selectedValues,
|
||||
formData,
|
||||
refs,
|
||||
emitCrossFilters,
|
||||
} = props;
|
||||
const handleChange = useCallback(
|
||||
(values: string[]) => {
|
||||
if (!formData.emitFilter) {
|
||||
if (!emitCrossFilters) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@@ -25,7 +25,6 @@ import {
|
||||
D3_FORMAT_OPTIONS,
|
||||
D3_TIME_FORMAT_OPTIONS,
|
||||
sections,
|
||||
emitFilterControl,
|
||||
getStandardizedControls,
|
||||
} from '@superset-ui/chart-controls';
|
||||
import { DEFAULT_FORM_DATA } from './types';
|
||||
@@ -52,7 +51,6 @@ const config: ControlPanelConfig = {
|
||||
['groupby'],
|
||||
['metric'],
|
||||
['adhoc_filters'],
|
||||
emitFilterControl,
|
||||
['row_limit'],
|
||||
[
|
||||
{
|
||||
|
||||
@@ -144,6 +144,7 @@ export default function transformProps(
|
||||
width,
|
||||
theme,
|
||||
inContextMenu,
|
||||
emitCrossFilters,
|
||||
} = chartProps;
|
||||
const { data = [] } = queriesData[0];
|
||||
const coltypeMapping = getColtypesMapping(queriesData[0]);
|
||||
@@ -166,7 +167,6 @@ export default function transformProps(
|
||||
showLabels,
|
||||
showLegend,
|
||||
showLabelsThreshold,
|
||||
emitFilter,
|
||||
sliceId,
|
||||
showTotal,
|
||||
}: EchartsPieFormData = {
|
||||
@@ -339,11 +339,11 @@ export default function transformProps(
|
||||
height,
|
||||
echartOptions,
|
||||
setDataMask,
|
||||
emitFilter,
|
||||
labelMap,
|
||||
groupby,
|
||||
selectedValues,
|
||||
onContextMenu,
|
||||
refs,
|
||||
emitCrossFilters,
|
||||
};
|
||||
}
|
||||
|
||||
@@ -45,7 +45,6 @@ export type EchartsPieFormData = QueryFormData &
|
||||
numberFormat: string;
|
||||
dateFormat: string;
|
||||
showLabelsThreshold: number;
|
||||
emitFilter: boolean;
|
||||
};
|
||||
|
||||
export enum EchartsPieLabelType {
|
||||
@@ -77,7 +76,6 @@ export const DEFAULT_FORM_DATA: EchartsPieFormData = {
|
||||
showLabels: true,
|
||||
labelsOutside: true,
|
||||
showLabelsThreshold: 5,
|
||||
emitFilter: false,
|
||||
dateFormat: 'smart_date',
|
||||
};
|
||||
|
||||
|
||||
@@ -30,12 +30,12 @@ export default function EchartsRadar(props: RadarChartTransformedProps) {
|
||||
labelMap,
|
||||
groupby,
|
||||
selectedValues,
|
||||
formData,
|
||||
emitCrossFilters,
|
||||
refs,
|
||||
} = props;
|
||||
const handleChange = useCallback(
|
||||
(values: string[]) => {
|
||||
if (!formData.emitFilter) {
|
||||
if (!emitCrossFilters) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@@ -31,7 +31,6 @@ import {
|
||||
D3_TIME_FORMAT_OPTIONS,
|
||||
sections,
|
||||
sharedControls,
|
||||
emitFilterControl,
|
||||
ControlFormItemSpec,
|
||||
getStandardizedControls,
|
||||
} from '@superset-ui/chart-controls';
|
||||
@@ -68,7 +67,6 @@ const config: ControlPanelConfig = {
|
||||
['metrics'],
|
||||
['timeseries_limit_metric'],
|
||||
['adhoc_filters'],
|
||||
emitFilterControl,
|
||||
[
|
||||
{
|
||||
name: 'row_limit',
|
||||
|
||||
@@ -80,6 +80,7 @@ export default function transformProps(
|
||||
width,
|
||||
theme,
|
||||
inContextMenu,
|
||||
emitCrossFilters,
|
||||
} = chartProps;
|
||||
const refs: Refs = {};
|
||||
const { data = [] } = queriesData[0];
|
||||
@@ -101,7 +102,6 @@ export default function transformProps(
|
||||
isCircle,
|
||||
columnConfig,
|
||||
sliceId,
|
||||
emitFilter,
|
||||
}: EchartsRadarFormData = {
|
||||
...DEFAULT_LEGEND_FORM_DATA,
|
||||
...DEFAULT_RADAR_FORM_DATA,
|
||||
@@ -252,7 +252,7 @@ export default function transformProps(
|
||||
width,
|
||||
height,
|
||||
echartOptions,
|
||||
emitFilter,
|
||||
emitCrossFilters,
|
||||
setDataMask,
|
||||
labelMap: Object.fromEntries(columnsLabelMap),
|
||||
groupby,
|
||||
|
||||
@@ -50,7 +50,6 @@ export type EchartsRadarFormData = QueryFormData &
|
||||
isCircle: boolean;
|
||||
numberFormat: string;
|
||||
dateFormat: string;
|
||||
emitFilter: boolean;
|
||||
};
|
||||
|
||||
export enum EchartsRadarLabelType {
|
||||
@@ -73,7 +72,6 @@ export const DEFAULT_FORM_DATA: EchartsRadarFormData = {
|
||||
legendType: LegendType.Scroll,
|
||||
numberFormat: 'SMART_NUMBER',
|
||||
showLabels: true,
|
||||
emitFilter: false,
|
||||
dateFormat: 'smart_date',
|
||||
isCircle: false,
|
||||
};
|
||||
|
||||
@@ -38,13 +38,14 @@ export default function EchartsSunburst(props: SunburstTransformedProps) {
|
||||
formData,
|
||||
onContextMenu,
|
||||
refs,
|
||||
emitCrossFilters,
|
||||
} = props;
|
||||
|
||||
const { emitFilter, columns } = formData;
|
||||
const { columns } = formData;
|
||||
|
||||
const handleChange = useCallback(
|
||||
(values: string[]) => {
|
||||
if (!emitFilter) {
|
||||
if (!emitCrossFilters) {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -75,7 +76,7 @@ export default function EchartsSunburst(props: SunburstTransformedProps) {
|
||||
},
|
||||
});
|
||||
},
|
||||
[emitFilter, setDataMask, columns, labelMap],
|
||||
[emitCrossFilters, setDataMask, columns, labelMap],
|
||||
);
|
||||
|
||||
const eventHandlers: EventHandlers = {
|
||||
|
||||
@@ -24,7 +24,6 @@ import {
|
||||
D3_FORMAT_DOCS,
|
||||
D3_FORMAT_OPTIONS,
|
||||
D3_TIME_FORMAT_OPTIONS,
|
||||
emitFilterControl,
|
||||
getStandardizedControls,
|
||||
sections,
|
||||
} from '@superset-ui/chart-controls';
|
||||
@@ -43,7 +42,6 @@ const config: ControlPanelConfig = {
|
||||
['metric'],
|
||||
['secondary_metric'],
|
||||
['adhoc_filters'],
|
||||
emitFilterControl,
|
||||
['row_limit'],
|
||||
[
|
||||
{
|
||||
|
||||
@@ -163,6 +163,7 @@ export default function transformProps(
|
||||
width,
|
||||
theme,
|
||||
inContextMenu,
|
||||
emitCrossFilters,
|
||||
} = chartProps;
|
||||
const { data = [] } = queriesData[0];
|
||||
const coltypeMapping = getColtypesMapping(queriesData[0]);
|
||||
@@ -180,7 +181,6 @@ export default function transformProps(
|
||||
showLabelsThreshold,
|
||||
showTotal,
|
||||
sliceId,
|
||||
emitFilter,
|
||||
} = formData;
|
||||
const refs: Refs = {};
|
||||
const numberFormatter = getNumberFormatter(numberFormat);
|
||||
@@ -352,7 +352,7 @@ export default function transformProps(
|
||||
height,
|
||||
echartOptions,
|
||||
setDataMask,
|
||||
emitFilter,
|
||||
emitCrossFilters,
|
||||
labelMap: Object.fromEntries(columnsLabelMap),
|
||||
groupby,
|
||||
selectedValues: filterState.selectedValues || [],
|
||||
|
||||
@@ -36,7 +36,6 @@ export type EchartsSunburstFormData = QueryFormData & {
|
||||
secondaryMetric?: QueryFormMetric;
|
||||
colorScheme?: string;
|
||||
linearColorScheme?: string;
|
||||
emitFilter: boolean;
|
||||
};
|
||||
|
||||
export enum EchartsSunburstLabelType {
|
||||
@@ -51,7 +50,6 @@ export const DEFAULT_FORM_DATA: Partial<EchartsSunburstFormData> = {
|
||||
labelType: EchartsSunburstLabelType.Key,
|
||||
showLabels: false,
|
||||
dateFormat: 'smart_date',
|
||||
emitFilter: false,
|
||||
};
|
||||
|
||||
export interface EchartsSunburstChartProps
|
||||
|
||||
@@ -49,8 +49,9 @@ export default function EchartsTimeseries({
|
||||
xValueFormatter,
|
||||
xAxis,
|
||||
refs,
|
||||
emitCrossFilters,
|
||||
}: TimeseriesChartTransformedProps) {
|
||||
const { emitFilter, stack } = formData;
|
||||
const { stack } = formData;
|
||||
const echartRef = useRef<EchartsHandler | null>(null);
|
||||
// eslint-disable-next-line no-param-reassign
|
||||
refs.echartRef = echartRef;
|
||||
@@ -109,7 +110,7 @@ export default function EchartsTimeseries({
|
||||
|
||||
const handleChange = useCallback(
|
||||
(values: string[]) => {
|
||||
if (!emitFilter) {
|
||||
if (!emitCrossFilters) {
|
||||
return;
|
||||
}
|
||||
const groupbyValues = values.map(value => labelMap[value]);
|
||||
@@ -140,7 +141,7 @@ export default function EchartsTimeseries({
|
||||
},
|
||||
});
|
||||
},
|
||||
[groupby, labelMap, setDataMask, emitFilter],
|
||||
[groupby, labelMap, setDataMask, emitCrossFilters],
|
||||
);
|
||||
|
||||
const eventHandlers: EventHandlers = {
|
||||
|
||||
@@ -57,7 +57,6 @@ export const DEFAULT_FORM_DATA: EchartsTimeseriesFormData = {
|
||||
zoomable: false,
|
||||
richTooltip: true,
|
||||
xAxisLabelRotation: 0,
|
||||
emitFilter: false,
|
||||
groupby: [],
|
||||
showValue: false,
|
||||
onlyTotal: false,
|
||||
|
||||
@@ -99,6 +99,7 @@ export default function transformProps(
|
||||
datasource,
|
||||
theme,
|
||||
inContextMenu,
|
||||
emitCrossFilters,
|
||||
} = chartProps;
|
||||
const { verboseMap = {} } = datasource;
|
||||
const [queryData] = queriesData;
|
||||
@@ -134,7 +135,6 @@ export default function transformProps(
|
||||
richTooltip,
|
||||
xAxis: xAxisOrig,
|
||||
xAxisLabelRotation,
|
||||
emitFilter,
|
||||
groupby,
|
||||
showValue,
|
||||
onlyTotal,
|
||||
@@ -448,7 +448,7 @@ export default function transformProps(
|
||||
|
||||
return {
|
||||
echartOptions,
|
||||
emitFilter,
|
||||
emitCrossFilters,
|
||||
formData,
|
||||
groupby,
|
||||
height,
|
||||
|
||||
@@ -80,7 +80,6 @@ export type EchartsTimeseriesFormData = QueryFormData & {
|
||||
zoomable: boolean;
|
||||
richTooltip: boolean;
|
||||
xAxisLabelRotation: number;
|
||||
emitFilter: boolean;
|
||||
groupby: QueryFormColumn[];
|
||||
showValue: boolean;
|
||||
onlyTotal: boolean;
|
||||
|
||||
@@ -29,7 +29,7 @@ import { TreemapTransformedProps } from './types';
|
||||
|
||||
export default function EchartsTreemap({
|
||||
echartOptions,
|
||||
formData,
|
||||
emitCrossFilters,
|
||||
groupby,
|
||||
height,
|
||||
labelMap,
|
||||
@@ -41,7 +41,7 @@ export default function EchartsTreemap({
|
||||
}: TreemapTransformedProps) {
|
||||
const handleChange = useCallback(
|
||||
(values: string[]) => {
|
||||
if (!formData.emitFilter) {
|
||||
if (!emitCrossFilters) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@@ -24,7 +24,6 @@ import {
|
||||
D3_FORMAT_OPTIONS,
|
||||
D3_TIME_FORMAT_OPTIONS,
|
||||
sections,
|
||||
emitFilterControl,
|
||||
getStandardizedControls,
|
||||
} from '@superset-ui/chart-controls';
|
||||
import { DEFAULT_FORM_DATA } from './types';
|
||||
@@ -55,7 +54,6 @@ const config: ControlPanelConfig = {
|
||||
},
|
||||
],
|
||||
['adhoc_filters'],
|
||||
emitFilterControl,
|
||||
],
|
||||
},
|
||||
{
|
||||
|
||||
@@ -117,6 +117,7 @@ export default function transformProps(
|
||||
filterState,
|
||||
theme,
|
||||
inContextMenu,
|
||||
emitCrossFilters,
|
||||
} = chartProps;
|
||||
const { data = [] } = queriesData[0];
|
||||
const { setDataMask = () => {}, onContextMenu } = hooks;
|
||||
@@ -133,7 +134,6 @@ export default function transformProps(
|
||||
showLabels,
|
||||
showUpperLabels,
|
||||
dashboardId,
|
||||
emitFilter,
|
||||
sliceId,
|
||||
}: EchartsTreemapFormData = {
|
||||
...DEFAULT_TREEMAP_FORM_DATA,
|
||||
@@ -288,7 +288,7 @@ export default function transformProps(
|
||||
height,
|
||||
echartOptions,
|
||||
setDataMask,
|
||||
emitFilter,
|
||||
emitCrossFilters,
|
||||
labelMap: Object.fromEntries(columnsLabelMap),
|
||||
groupby,
|
||||
selectedValues: filterState.selectedValues || [],
|
||||
|
||||
@@ -43,7 +43,6 @@ export type EchartsTreemapFormData = QueryFormData & {
|
||||
numberFormat: string;
|
||||
dateFormat: string;
|
||||
dashboardId?: number;
|
||||
emitFilter: boolean;
|
||||
};
|
||||
|
||||
export enum EchartsTreemapLabelType {
|
||||
@@ -66,7 +65,6 @@ export const DEFAULT_FORM_DATA: Partial<EchartsTreemapFormData> = {
|
||||
showLabels: true,
|
||||
showUpperLabels: true,
|
||||
dateFormat: 'smart_date',
|
||||
emitFilter: false,
|
||||
};
|
||||
export interface TreemapSeriesCallbackDataParams extends CallbackDataParams {
|
||||
treePathInfo?: TreePathInfo[];
|
||||
|
||||
@@ -130,12 +130,12 @@ export interface BaseTransformedProps<F> {
|
||||
}
|
||||
|
||||
export type CrossFilterTransformedProps = {
|
||||
emitFilter: boolean;
|
||||
groupby: QueryFormColumn[];
|
||||
labelMap: Record<string, string[]>;
|
||||
setControlValue?: HandlerFunction;
|
||||
setDataMask: SetDataMaskHook;
|
||||
selectedValues: Record<number, string>;
|
||||
emitCrossFilters?: boolean;
|
||||
};
|
||||
|
||||
export type ContextMenuTransformedProps = {
|
||||
|
||||
@@ -27,7 +27,6 @@ import { BoxPlotQueryFormData } from '../../src/BoxPlot/types';
|
||||
describe('BoxPlot buildQuery', () => {
|
||||
const formData: BoxPlotQueryFormData = {
|
||||
...DEFAULT_TITLE_FORM_DATA,
|
||||
emitFilter: false,
|
||||
columns: [],
|
||||
datasource: '5__table',
|
||||
granularity_sqla: 'ds',
|
||||
|
||||
@@ -46,7 +46,6 @@ const formDataMixedChart = {
|
||||
row_limit: 10,
|
||||
timeseries_limit_metric: 'count',
|
||||
order_desc: true,
|
||||
emit_filter: true,
|
||||
truncate_metric: true,
|
||||
show_empty_columns: true,
|
||||
// -- query b
|
||||
@@ -63,7 +62,6 @@ const formDataMixedChart = {
|
||||
row_limit_b: 100,
|
||||
timeseries_limit_metric_b: undefined,
|
||||
order_desc_b: false,
|
||||
emit_filter_b: undefined,
|
||||
truncate_metric_b: true,
|
||||
show_empty_columns_b: true,
|
||||
// chart configs
|
||||
|
||||
Reference in New Issue
Block a user