Shinyjs Versions Save

💡 Easily improve the user experience of your Shiny apps in seconds

2.1.0

2 years ago
  • New feature: you can now reset all inputs on the page by calling reset() with no arguments (#222)
  • New feature: Add a removeEvent() function which removes events added to HTML elements with onclick() or onevent() (#244)
  • Fix bug: disable() did not work on nested download buttons (#223)
  • Fix bug: Don't automatically namespace ID arguments in custom extendShinyjs functions (#229)
  • Fix bug: ensure that extendShinyjs() functions don't overwrite native {shinyjs} functions (#230)

2.0.0

3 years ago
  • IMPORTANT CHANGE Remove commercial license (it only existed because some big companies asked for it, but it ended up being a bigger headache for 99% of the community)
  • BREAKING CHANGE When using extendShinyjs(), the functions parameter must always be provided.
  • BREAKING CHANGE When using extendShinyjs(), the script path parameter now behaves like any other Shiny web resource, which means it cannot be loaded from the local file system. The path must be discoverable by the browser, so it either needs to be a public URL, inside a www folder, or available via addResourcePath().
  • New feature: add a refresh() function (#205)
  • New feature: add asis parameter to reset() function, which works like it does in all other functions that support asis (#146)
  • Fix bug: extendShinyjs() now works with any web URL or any resource path (#201)
  • Fix bug: reset() didn't work when a sliderInput was initialized with value=NULL (#207)
  • Remove V8 as a package dependency.

v1.1

4 years ago

This update was 2 years in the making because it required a lot of testing by users to ensure none of these features cause any regression bugs in real apps.

BREAKING CHANGES

  • The includeShinyjs parameter in runcodeUI() is now deprecated

BUG FIXES

  • shinyjs functions used inside a module with a selector argument instead of an id argument didn't work (#175)
  • shinyjs functions did not work with IDs that had a space in them (#176)
  • non-selectize select inputs could not be disabled (#186)
  • click() now works with download buttons (#198)

NEW FEATURES

  • added asis parameter to any function that takes an ID. When asis=TRUE, the ID will not be namespaced when inside a module (#118)
  • added id parameter to runcode(), allowing it to work inside Shiny modules (#184)
  • onevent() returns the offsetX and offsetY event properties
  • onevent() accepts a properties parameter that allows the user to retrieve additional properties that are not whitelisted by default (#159)
  • hide()/show() now only bubble up the DOM tree to the nearest input container if the current element is an input (#153)

MISC

  • Added documentation about useShinyjs() side effects and about including shinyjs in packages (#182)

v1.0

6 years ago

BREAKING CHANGES

  • shiny version 1.0.0 is now required
  • All colourInput-related functions are now defunct because they are now in the colourpicker package

CHANGES

  • Added click() function that simulates a user clicking on a button
  • Moved default values of parameters to the R layer instead of being defined in javascript. This means that RStudio no longer complains of missing arguments and that autocompletion will show default values. (#80)
  • Improve efficiency of delay() and reset() functions
  • Improve documentation and website (https://deanattali.com/shinyjs)

BUG FIXES

  • Bug fix: reset() wasn't working on checkboxes/select inputs that had a comma in the value (#130)
  • Bug fix: using disabled() on certain non-standard inputs (such as shinyFiles) had strange behaviour (#120)
  • Bug fix: logjs()+showLog() wasn't working when app first runs
  • Bug fix: reset() wasn't working on file inputs with an ID that contained a dot (#140)

v0.9

7 years ago

MAJOR CHANGES

  • showLog() no longer needs to be specified in useShinyjs(), and it can be used by just calling it in the server code once (#105)
  • added support for shinyAce editor as the input for runcodeUI() (#93)
  • add showElement()/hideElement()/toggleElement() and addCssClass etc functions as synonyms for functions that are masked by S4 (compromise for #81)

MINOR CHANGES

  • fixed bug where showLog() would only show the last message if multiple messages were printed in succession (#99)
  • fixed bug where date inputs could not be reset to empty (#100)
  • fixed textArea inputs not getting disabled when disabling a parent element
  • fixed broken runExample("sandbox") example

v0.8

7 years ago

NEW FEATURES

  • added runcodeUI() and runcodeServer() functions that you can add to your app in order to run arbitrary R code interactively
  • added showLog() function which lets you redirect all JavaScript logging statements to the R console, to make it easier and quicker to debug apps without having to open the JS console (#88)

MAJOR CHANGES

  • onclick and onevent now support callback functions, and the JavaScript Event object is passed to the callback (#92)
  • the reset() function now works on file inputs

MINOR CHANGES

  • added alert() as an alias for info()

v0.7

7 years ago

MAJOR CHANGES

  • All the colourpicker/colourInput related functions are now deprecated because I've made a more appropriate package for them (colourpicker)
  • Added selector argument to html() function
  • Add reset() support for passwordInput and textAreaInput (#78)

MINOR CHANGES

  • Use updated colourpicker JS library that fixes bugs with new jquery version
  • Improved UI of demo shiny apps

v0.6

8 years ago

BUG FIXES

  • Fixed bug with extendShinyjs() where it didn't work when using a script and didn't have V8 installed (#64)
  • info() function: don't include surrounding quotations if not necessary (#59)

CHANGES

  • added documentation for how to use shinyjs in HTML templates