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:
Michael S. Molina
2022-08-26 08:23:26 -03:00
committed by GitHub
parent 1143e17742
commit 859b6d2d20
15 changed files with 93 additions and 34 deletions

View File

@@ -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>
);
}

View File

@@ -61,7 +61,7 @@ export default function EchartsGraph({
formattedVal: targetValue,
},
];
onContextMenu(filters, pointerEvent.offsetX, pointerEvent.offsetY);
onContextMenu(filters, pointerEvent.clientX, pointerEvent.clientY);
}
}
},

View File

@@ -89,7 +89,7 @@ export type GraphChartTransformedProps = EchartsProps & {
formData: PlainObject;
onContextMenu?: (
filters: QueryObjectFilterClause[],
offsetX: number,
offsetY: number,
clientX: number,
clientY: number,
) => void;
};

View File

@@ -135,7 +135,7 @@ export default function EchartsMixedTimeseries({
formattedVal: String(values[i]),
}),
);
onContextMenu(filters, pointerEvent.offsetX, pointerEvent.offsetY);
onContextMenu(filters, pointerEvent.clientX, pointerEvent.clientY);
}
}
},

View File

@@ -199,7 +199,7 @@ export default function EchartsTimeseries({
formattedVal: String(values[i]),
}),
);
onContextMenu(filters, pointerEvent.offsetX, pointerEvent.offsetY);
onContextMenu(filters, pointerEvent.clientX, pointerEvent.clientY);
}
}
},

View File

@@ -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);
}
}
},

View File

@@ -117,8 +117,8 @@ export interface EChartTransformedProps<F> {
legendData?: OptionName[];
onContextMenu?: (
filters: QueryObjectFilterClause[],
offsetX: number,
offsetY: number,
clientX: number,
clientY: number,
) => void;
}

View File

@@ -60,7 +60,7 @@ export const contextMenuEventHandler =
}),
);
}
onContextMenu(filters, pointerEvent.offsetX, pointerEvent.offsetY);
onContextMenu(filters, pointerEvent.clientX, pointerEvent.clientY);
}
};