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

Potentially add as crosstalk compatible? #46

Closed
jthomasmock opened this issue May 15, 2020 · 6 comments
Closed

Potentially add as crosstalk compatible? #46

jthomasmock opened this issue May 15, 2020 · 6 comments
Labels
enhancement New feature or request

Comments

@jthomasmock
Copy link

reactable is fantastic, and I'm interested in using it with crosstalk for linked brushing. Do you have any plans to add crosstalk capabilities?

I imagine that there are some native JS bindings in reactable that could be passed through.

@mattkerlogue
Copy link

Just want to give a massive +1 to this request, I've been having some issues with customising the styling of datatables via {DT} and {reactable} is a great alternative, generally I tend to develop non-Shiny interactive docs so {crosstalk} support would be amazing. Thanks.

@mattkerlogue
Copy link

@glin this might help (partially) solve your "advanced filtering" and "custom filtering methods" cards on your project board.

@glin
Copy link
Owner

glin commented May 26, 2020

Thanks for the suggestion! Crosstalk support is now in the development version: https://glin.github.io/reactable/articles/examples.html#cross-widget-interactions. You can use both linked selection and filtering, and incoming selections should filter the table like it does in DT.

This was my first time using Crosstalk, so let me know if you find any unexpected behaviors or bugs. The one issue I know of is that Plotly's persistent shift+click selections aren't actually persistent. I couldn't find a way to do that without relying on undocumented APIs (how DT/leaflet do it), so I'll have to look into that more.

And now I wish I was more aware of Crosstalk earlier 😄. This would've solved some problems I've had in the past, and it indeed solves what I wanted from "advanced filtering", @mattkerlogue. I still might create some custom filter inputs for reactable, but perhaps those inputs could be Crosstalk-compatible so they can be used outside the table. Or maybe reactable just supports putting Crosstalk filters in the filter cells.

@jthomasmock
Copy link
Author

Just getting back from Out of Office, but this is awesome to see! Will give it a whirl and hopefully write up another blog-post on reactable + crosstalk soon!

@glin
Copy link
Owner

glin commented May 9, 2021

I finally got around to writing some custom Crosstalk filters for the Popular Movies demo. The built-in Crosstalk filters either didn't support my filtering use case, were hard to style, or had accessibility issues, so I made 3 custom filters:

  • a native select input that can filter columns containing multiple values per row (list columns)
  • a free-form text search field
  • a native range input that filters minimum values

They're more like one-off examples for the demo, but could definitely be converted to reusable components with more work.

I think there's a ton of untapped potential with custom Crosstalk inputs, and I'd probably invest in them more if I had time. For the near future, I think I'll just create more simple examples of custom filters that people can adapt.

@glin glin added the enhancement New feature or request label May 9, 2021
@glin glin closed this as completed May 9, 2021
@g-pires
Copy link

g-pires commented Feb 22, 2023

Hi on this basis, is it possible to filter two (or more) reactables using the same filter_checkbox with multiple rows for the same key ?

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

No branches or pull requests

4 participants