Learn R Programming

shinybusy (version 0.3.3)

add_busy_gif: Automatic busy indicator (GIF)

Description

Make a GIF play when server is busy and stop when idle.

Usage

add_busy_gif(
  src,
  timeout = 100,
  position = c("top-right", "top-left", "bottom-right", "bottom-left", "full-page",
    "free"),
  margins = c(10, 10),
  overlay_color = "rgba(0, 0, 0, 0.5)",
  overlay_css = NULL,
  height = "50px",
  width = "50px"
)

Value

An HTML tag that should be used in UI.

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

Run this code
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)
}

Run the code above in your browser using DataLab