https://github.com/rstudio/crosstalk
Inter-htmlwidget communication for R (with and without Shiny)
https://github.com/rstudio/crosstalk
Last synced: about 1 month ago
JSON representation
Inter-htmlwidget communication for R (with and without Shiny)
- Host: GitHub
- URL: https://github.com/rstudio/crosstalk
- Owner: rstudio
- License: other
- Created: 2015-10-07T14:38:24.000Z (over 9 years ago)
- Default Branch: main
- Last Pushed: 2025-01-09T17:29:49.000Z (5 months ago)
- Last Synced: 2025-05-15T23:07:02.121Z (about 1 month ago)
- Language: JavaScript
- Homepage: http://rstudio.github.io/crosstalk
- Size: 7.26 MB
- Stars: 292
- Watchers: 27
- Forks: 55
- Open Issues: 86
-
Metadata Files:
- Readme: README.md
- Changelog: NEWS.md
- License: LICENSE
Awesome Lists containing this project
- awesome-shiny-extensions - crosstalk - Inter-widget interactivity (for example, linked brushing and filtering) for htmlwidgets. (UI Components / Advanced Interactivity)
- jimsghstars - rstudio/crosstalk - Inter-htmlwidget communication for R (with and without Shiny) (JavaScript)
README
# Crosstalk
[](https://CRAN.R-project.org/package=crosstalk)
[](https://github.com/rstudio/crosstalk/actions)Crosstalk is a package for R that enhances the [htmlwidgets](http://www.htmlwidgets.org) package. It extends htmlwidgets with a set of classes, functions, and conventions for implementing cross-widget interactions (currently, linked brushing and filtering).
Find out more at the documentation website: http://rstudio.github.io/crosstalk/
## Building JavaScript assets
(This section is only for developers who intend to modify the JavaScript source code in Crosstalk itself.)
The JavaScript source code in this package lives under `javascript/`, however the copy that is actually loaded and used during runtime is in minified form at `inst/www/js/`. Anytime you make changes to `javascript/` source files, you must rebuild the minified JS.
To set up your repo for building the minified JS:
1. First install [nvm](https://github.com/nvm-sh/nvm) if you don't have it already.
2. In the crosstalk repo's root directory, run `nvm install`; this will install the version of Node.js we need.
3. Run `nvm use` to switch to our version of Node.js.
4. Run `npm install` to install all Node.js dependencies.To actually build the minified JS:
1. Run `nvm use` (only needed once per terminal session).
2. Run `node node_modules/.bin/grunt` (or if you have installed `grunt-cli` globally, you can just run `grunt`).This will run unit tests, lint, and build the JavaScript dist bundle. When making changes to the JavaScript code, you must always do this first, and then build the R package as normal.