Advance your Data & AI career with 50 days of live learning, dataviz contests, hands-on challenges, study groups & certifications and more!
Get registeredGet Fabric Certified for FREE during Fabric Data Days. Don't miss your chance! Request now
I am developing custom simple visual where I would like to use built-in tooltips, I integrated it by documentation steps, but I am getting console error
what is pointing to customVisualHost bundle where it looks like event is null in this method
and I have no clue what am I doing wrong. I prepared separate repository just with tooltip functionality.
https://github.com/janstrbik/PowerBI-custom-visual-tooltip
Can anyone help me out here?
Thanks. Jan
Solved! Go to Solution.
Hi @janstrbik, and thanks so much for providing a complete repo - super easy to start having a look around 🙂
The "issue" is on line 51, where you are passing the third parameter (selector):
private renderTooltip() {
this.tooltipServiceWrapper.addTooltip(
d3.select(this.target),
(tooltipEvent: tooltip.TooltipEventArgs<number>) => this.getTooltipData(),
(tooltipEvent: tooltip.TooltipEventArgs<number>) => null); /** <--- right here */
}
Modify this to an empty array, e.g.:
private renderTooltip() {
this.tooltipServiceWrapper.addTooltip(
d3.select(this.target),
(tooltipEvent: tooltip.TooltipEventArgs<number>) => this.getTooltipData(),
(tooltipEvent: tooltip.TooltipEventArgs<number>) => []); /** <--- right here */
}
This will now work as expected, e.g.:
Based on the typings, I think your approach is correct and there is an issue in the utilities somewhere (based on what looks like changes made to explicitly remove this restriction in the repo a while back.) This should apparently not need to be an array - report page tooltips only support a single selector.
I don't personally use this package in my projects (I usually use the visual host directly) so haven't come across this issue - you might want to raise this as an issue in the repo for the team to look at or provide an official response (giving them a link to your repo as a means of reproducing; it's quite clear in helping to illustrate what I think is incorrect here).
Either way, the above resolution should get you moving. If you do get to the point of passing in a selection ID for a report page tooltip here, I assume this would also need to be a single element array, so bear this in mind if/when you get there.
Good luck!
Daniel
Proud to be a Super User!
On how to ask a technical question, if you really want an answer (courtesy of SQLBI)
Hi @janstrbik, and thanks so much for providing a complete repo - super easy to start having a look around 🙂
The "issue" is on line 51, where you are passing the third parameter (selector):
private renderTooltip() {
this.tooltipServiceWrapper.addTooltip(
d3.select(this.target),
(tooltipEvent: tooltip.TooltipEventArgs<number>) => this.getTooltipData(),
(tooltipEvent: tooltip.TooltipEventArgs<number>) => null); /** <--- right here */
}
Modify this to an empty array, e.g.:
private renderTooltip() {
this.tooltipServiceWrapper.addTooltip(
d3.select(this.target),
(tooltipEvent: tooltip.TooltipEventArgs<number>) => this.getTooltipData(),
(tooltipEvent: tooltip.TooltipEventArgs<number>) => []); /** <--- right here */
}
This will now work as expected, e.g.:
Based on the typings, I think your approach is correct and there is an issue in the utilities somewhere (based on what looks like changes made to explicitly remove this restriction in the repo a while back.) This should apparently not need to be an array - report page tooltips only support a single selector.
I don't personally use this package in my projects (I usually use the visual host directly) so haven't come across this issue - you might want to raise this as an issue in the repo for the team to look at or provide an official response (giving them a link to your repo as a means of reproducing; it's quite clear in helping to illustrate what I think is incorrect here).
Either way, the above resolution should get you moving. If you do get to the point of passing in a selection ID for a report page tooltip here, I assume this would also need to be a single element array, so bear this in mind if/when you get there.
Good luck!
Daniel
Proud to be a Super User!
On how to ask a technical question, if you really want an answer (courtesy of SQLBI)
Advance your Data & AI career with 50 days of live learning, contests, hands-on challenges, study groups & certifications and more!
Check out the October 2025 Power BI update to learn about new features.