Make a GIF play when server is busy and stop when idle.
Arguments
- src
Path to the GIF, an URL or a file in www/ folder.
- timeout
Number of milliseconds after the server is busy to display the GIF.
- position
Where to display the GIF:
'top-right'
,'top-left'
,'bottom-right'
,'bottom-left'
,'full-page'
.- margins
Distance from margins, a vector of length two, where first element is distance from top/bottom, second element distance from right/left.
- overlay_color
Background color for the overlay if
position = "full-page"
.- overlay_css
Additional CSS for the overlay, for example
"z-index: 1000;"
to make it appear above everything.- height, width
Height and width of the spinner, default to
'50px'
for both, must be specified.
Examples
library(shiny)
library(shinybusy)
ui <- fluidPage(
# Use this function somewhere in UI
# with navBarPage use the "header" argument
add_busy_gif(
src = "https://jeroen.github.io/images/banana.gif",
height = 70, width = 70
),
actionButton("sleep", "Long calculation")
)
server <- function(input, output, session) {
observeEvent(input$sleep, {
Sys.sleep(5)
})
}
if (interactive()) {
shinyApp(ui, server)
}