3:30 - 4:00 PM - shinyGizmo - top features tutorial
Krystian Igras
When working with advanced Shiny applications, we often encounter non-standard problems for which the solution is not direct. There are many examples: disabling/enabling buttons in certain states of the application, collecting information from dynamic components or storing the modal dialog state are problems that may require us to know JS or advanced programming in R, and at the same time inefficiently use the resources of the application server. I face the above problems on a daily basis while creating complex applications. Generalized solutions have been collected in the shinyGizmo package, which I’ll present in my tutorial. The tutorial will cover the use of the following functionalities: - conditionalJS - generalized version of `conditionalPanel` to perform any JS operations directly from the UI level, - commonInput(s) - combining the values of many input widgets (also dynamic amount) into one, - modalDialogUI - UI-based version of modalDialog that keeps modal status for free, - valueButton - take any browser data to Shiny server. The use of each function and the reasoning for using it will be presented in the Shiny application, which at the end of the tutorial will be fully functional and built using best practices. More to that, as an extra part of the tutorial, I will present an interesting concept of creating Input Bindings based on other, already existing ones. This is the approach used in the pickCheckBoxInput component and I believe it will be of great interest to the more advanced Shiny developers.