Fix behavior of customdata when using typed arrays
#7608
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Closes #7607
Some logic in a helper function was not updated to handle typed arrays, causing a regression in
customdatabehavior in Plotly.js and Plotly.py.As described in the linked issue, this bug made it impossible to reference a 2D
customdataarray passed from Plotly.py in the heatmap hover template, when previously that was possible.On the Plotly.js level, the 2D
customdataarray passed from Plotly.py was translated into a JavaScript Array containing two JavaScript typed arrays, like this:[new Float64Array([101,103]), new Float64Array([102,104])]That specific data structure was not handled properly by the
getPointData()function which retrieves values to insert into the hovertemplate.Note: most of the diff in this PR is due to the Biome formatter. Check the second commit for the meaningful change.
How to test
customdatais shown in hover tooltipmaster(and Plotly.js >=3.0), it's broken:customdatais not found by hover tooltip and template is shown instead