shinyFeedback 0.2.0 CRAN Release


Andy Merlino

2020/04/29

.

I am excited to announce that shinyFeedback 0.2.0 is on its way to CRAN (it may take a day or 2 for it to be available on your CRAN mirror). shinyFeedback is an R package that allows you to easily display user feedback in Shiny apps. shinyFeedback’s primary user feedbacks are displayed alongside Shiny inputs like this:

shinyFeedback 0.2.0 underwent a significant rewrite of the JavaScript that controls when the feedback messages are displayed. I had been meaning to clean up this JavaScript for a while, but, as is often the case, I had not been able to find the time.

I was reinvigorated to work on shinyFeedback when, late last year, Hadley Wickham mentioned shinyFeedback and added a shinyFeedback example to the “User Feedback” chapter of his upcoming Mastering Shiny book. I am thrilled shinyFeedback is getting a mention in Hadley’s upcoming book, but I also knew shinyFeedback needed improvements before appearing in a book for Shiny masters! I feel that shinyFeedback got (at least the most pressing) of these needed improvements with this 0.2.0 release. Please let me know if you have recommendations for further enhancements!

In addition to the underlying JavaScript refactor, there are significant new features in shinyFeedback 0.2.0:

  • new input feedback for shinyWidgets::pickerInput()
  • new input feedback for shinyWidgets::airDatPickerInput() and shiny::dateRangeInput(). @pcogis submitted a flawless PR to add support for these 2 inputs. Thanks @pcogis!
  • a new loadingButton() input. When a button click triggers a long running process and no feedback is given after the button click, the user will understandably think nothing happened and click the button again. Double clicking an action button can cause a bunch of issues if not guarded againts (e.g. long running calculations can run multiple times or, worse, duplicate writes can be made to the database). Of course, it is fairly simple to add custom styles and logic to implement the loading button from scratch, but it is nice to have an out of the box solution as well.
  • a toast notification The toast notifications will not seem new to many Shiny developers as there is already an R package (shinytoastr) that wraps the same JavaScript library (toastr). We just wrapped the library slightly differently. Please see the loadingButton and showToast vignette for additional detail.
  • there are now new functions showFeedback() and hideFeedback() which can be used as an alternative to feedback(). See the intro vignette for additional detail.

shinyFeedback also now has a new pkgdown website here!

I want to thank Patrick Howard for his excellent work on this release. Patrick is a new coauthor of shinyFeedback.

Please open an issue on GitHub or leave a comment below if you have any problems with the shinyFeedback.


comments powered by Disqus