Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix error on clearing crosstalk selection #2098

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

casperhart
Copy link
Contributor

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:
image

This is because selectionHandle.clear() event passes an undefined value, which plotly isn't dealing with properly.

This PR fixes this issue.

@cpsievert
Copy link
Collaborator

Thanks, can you please provide an example that demonstrates the fix?

@casperhart casperhart force-pushed the crosstalk-selection-clear-bug branch from 393c960 to cd63424 Compare April 24, 2022 20:56
@casperhart
Copy link
Contributor Author

@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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants