knitr::opts_chunk$set( collapse = TRUE, comment = "#>" )
library(shinybusy)
{shinybusy} allow to add global indicators to a {shiny} application to show the user that application is busy (something is happening server-side). There is three main type of indicators :
The indicator will be displayed each time a calculation take more than the timeout defined (default to 1000ms), you don't have to intervene in the server.
Three indicators are available :
add_busy_spinner()
.# Add in UI add_busy_spinner(spin = "fading-circle")
knitr::include_graphics(path = "figures/add_busy_spinner.png")
add_busy_bar()
.add_busy_bar(color = "red", height = "8px")
knitr::include_graphics(path = "figures/add_busy_bar.png")
add_busy_gif()
.# Add in UI add_busy_gif( src = "https://jeroen.github.io/images/banana.gif", height = 70, width = 70 )
knitr::include_graphics(path = "figures/add_busy_gif.png")
The same types of indicators are available than for automatic indicators, but this time functions starts with use_*
and you have to explicitly trigger the indicator server-side.
use_busy_spinner()
:# in UI use_busy_spinner(spin = "fading-circle") # in server show_spinner() # show the spinner hide_spinner() # hide the spinner
use_busy_bar()
:# in UI use_busy_bar(color = "#01DF01", height = "15px") # in server update_busy_bar(0) # update with the desire value [0-100], 100 hide the bar
use_busy_gif()
:# in UI use_busy_gif( src = "https://jeroen.github.io/images/banana.gif", height = 70, width = 70 ) # in server play_gif() # play animation stop_gif() # stop animation
Display an indicator (a spinner or a progress bar) in a modal window, this prevent user to interact with the app and launch other calculation when something is already happening in the server. Those functions are only used server-side.
# in server show_modal_spinner() # show the modal window remove_modal_spinner() # remove it when done
knitr::include_graphics(path = "figures/modal_spinner.png")
# in server show_modal_progress_line() # show the modal window update_modal_progress(0.2) # update progress bar value remove_modal_progress() # remove it when done
knitr::include_graphics(path = "figures/modal_progress.png")
Don't forget to remove the modal window when computation is finished !
Show notifications and reports to user through JavaScript library Notiflix. Four appearance are available: success, failure, info and warning. Notifications are fully configurable.
# success notification notify_success("Well done!") # report failure report_failure( "Oups...", "Something went wrong" )
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.