mirror of
https://github.com/apache/superset.git
synced 2026-04-18 23:55:00 +00:00
feat: Adds drill to detail context menu to Pivot Table (#21198)
* feat: Adds drill to detail context menu to Pivot Table * Adds useCallback
This commit is contained in:
committed by
GitHub
parent
1143e17742
commit
859b6d2d20
@@ -66,8 +66,8 @@ type BigNumberVisProps = {
|
||||
echartOptions: EChartsCoreOption;
|
||||
onContextMenu?: (
|
||||
filters: QueryObjectFilterClause[],
|
||||
offsetX: number,
|
||||
offsetY: number,
|
||||
clientX: number,
|
||||
clientY: number,
|
||||
) => void;
|
||||
xValueFormatter?: TimeFormatter;
|
||||
formData?: BigNumberWithTrendlineFormData;
|
||||
@@ -173,8 +173,8 @@ class BigNumberVis extends React.PureComponent<BigNumberVisProps> {
|
||||
e.preventDefault();
|
||||
this.props.onContextMenu(
|
||||
[],
|
||||
e.nativeEvent.offsetX,
|
||||
e.nativeEvent.offsetY,
|
||||
e.nativeEvent.clientX,
|
||||
e.nativeEvent.clientY,
|
||||
);
|
||||
}
|
||||
};
|
||||
@@ -234,7 +234,7 @@ class BigNumberVis extends React.PureComponent<BigNumberVisProps> {
|
||||
return null;
|
||||
}
|
||||
|
||||
renderTrendline(maxHeight: number, chartHeight: number) {
|
||||
renderTrendline(maxHeight: number) {
|
||||
const { width, trendLineData, echartOptions } = this.props;
|
||||
|
||||
// if can't find any non-null values, no point rendering the trendline
|
||||
@@ -259,8 +259,8 @@ class BigNumberVis extends React.PureComponent<BigNumberVisProps> {
|
||||
});
|
||||
this.props.onContextMenu(
|
||||
filters,
|
||||
pointerEvent.offsetX,
|
||||
chartHeight - 100,
|
||||
pointerEvent.clientX,
|
||||
pointerEvent.clientY,
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -307,7 +307,7 @@ class BigNumberVis extends React.PureComponent<BigNumberVisProps> {
|
||||
),
|
||||
)}
|
||||
</div>
|
||||
{this.renderTrendline(chartHeight, height)}
|
||||
{this.renderTrendline(chartHeight)}
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -61,7 +61,7 @@ export default function EchartsGraph({
|
||||
formattedVal: targetValue,
|
||||
},
|
||||
];
|
||||
onContextMenu(filters, pointerEvent.offsetX, pointerEvent.offsetY);
|
||||
onContextMenu(filters, pointerEvent.clientX, pointerEvent.clientY);
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@@ -89,7 +89,7 @@ export type GraphChartTransformedProps = EchartsProps & {
|
||||
formData: PlainObject;
|
||||
onContextMenu?: (
|
||||
filters: QueryObjectFilterClause[],
|
||||
offsetX: number,
|
||||
offsetY: number,
|
||||
clientX: number,
|
||||
clientY: number,
|
||||
) => void;
|
||||
};
|
||||
|
||||
@@ -135,7 +135,7 @@ export default function EchartsMixedTimeseries({
|
||||
formattedVal: String(values[i]),
|
||||
}),
|
||||
);
|
||||
onContextMenu(filters, pointerEvent.offsetX, pointerEvent.offsetY);
|
||||
onContextMenu(filters, pointerEvent.clientX, pointerEvent.clientY);
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@@ -199,7 +199,7 @@ export default function EchartsTimeseries({
|
||||
formattedVal: String(values[i]),
|
||||
}),
|
||||
);
|
||||
onContextMenu(filters, pointerEvent.offsetX, pointerEvent.offsetY);
|
||||
onContextMenu(filters, pointerEvent.clientX, pointerEvent.clientY);
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
import { QueryObjectFilterClause } from '@superset-ui/core';
|
||||
import { DataRecordValue, QueryObjectFilterClause } from '@superset-ui/core';
|
||||
import React, { useCallback } from 'react';
|
||||
import Echart from '../components/Echart';
|
||||
import { EventHandlers } from '../types';
|
||||
@@ -48,7 +48,7 @@ export default function EchartsTreemap({
|
||||
values.length === 0
|
||||
? []
|
||||
: groupby.map((col, idx) => {
|
||||
const val = groupbyValues.map(v => v[idx]);
|
||||
const val: DataRecordValue[] = groupbyValues.map(v => v[idx]);
|
||||
if (val === null || val === undefined)
|
||||
return {
|
||||
col,
|
||||
@@ -101,7 +101,7 @@ export default function EchartsTreemap({
|
||||
formattedVal: path,
|
||||
}),
|
||||
);
|
||||
onContextMenu(filters, pointerEvent.offsetX, pointerEvent.offsetY);
|
||||
onContextMenu(filters, pointerEvent.clientX, pointerEvent.clientY);
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@@ -117,8 +117,8 @@ export interface EChartTransformedProps<F> {
|
||||
legendData?: OptionName[];
|
||||
onContextMenu?: (
|
||||
filters: QueryObjectFilterClause[],
|
||||
offsetX: number,
|
||||
offsetY: number,
|
||||
clientX: number,
|
||||
clientY: number,
|
||||
) => void;
|
||||
}
|
||||
|
||||
|
||||
@@ -60,7 +60,7 @@ export const contextMenuEventHandler =
|
||||
}),
|
||||
);
|
||||
}
|
||||
onContextMenu(filters, pointerEvent.offsetX, pointerEvent.offsetY);
|
||||
onContextMenu(filters, pointerEvent.clientX, pointerEvent.clientY);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user