plotly.R
plotly.R copied to clipboard
fix error on clearing crosstalk selection
When linking plots using {crosstalk}, running selectionHandle.clear()
from another (non-plotly) visual causes the following error to appear in the console and the selection in the plotly visual is not cleared:
This is because selectionHandle.clear()
event passes an undefined
value, which plotly isn't dealing with properly.
This PR fixes this issue.
Thanks, can you please provide an example that demonstrates the fix?
@cpsievert to reproduce, run the following in R:
library(crosstalk)
library(plotly)
library(DT)
data(iris)
shared_iris <- SharedData$new(iris)
a <- plot_ly(shared_iris, x = ~Sepal.Length, y = ~Sepal.Width) %>%
add_markers() %>%
highlight(on = "plotly_click", dynamic = TRUE)
b <- datatable(shared_iris)
bscols(
list(
filter_checkbox("species", "Species", shared_iris, ~Species)
),
a, b
)
Then select some points in the plotly visual, open up the browser console and run the following:
const handleId = Object.keys(__crosstalk_groups)[1]
const myHandle = new crosstalk.SelectionHandle(handleId)
myHandle.clear()
In the main branch code, this throws an error and the selection is not cleared. Using the version in this PR, no error is thrown and the crosstalk selection is successfully cleared.