Manual busy indicator (GIF)
use_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"
)
play_gif(session = shiny::getDefaultReactiveDomain())
stop_gif(session = shiny::getDefaultReactiveDomain())Path to the GIF, an URL or a file in www/ folder.
Number of milliseconds after the server is busy to display the GIF.
Where to display the GIF: 'top-right', 'top-left', 'bottom-right',
'bottom-left', 'full-page'.
Distance from margins, a vector of length two, where first element is distance from top/bottom, second element distance from right/left.
Background color for the overlay if position = "full-page".
Additional CSS for the overlay, for example "z-index: 1000;" to make it appear above everything.
Height and width of the spinner, default to '50px' for both, must be specified.
Shiny session.
An HTML tag that should be used in UI.
library(shiny)
library(shinybusy)
ui <- fluidPage(
# Use this function somewhere in UI
use_busy_gif(
src = "https://jeroen.github.io/images/banana.gif",
height = 70, width = 70
),
actionButton("play", "Play GIF"),
actionButton("stop", "Stop GIF")
)
server <- function(input, output, session) {
observeEvent(input$play, {
play_gif()
})
observeEvent(input$stop, {
stop_gif()
})
}
if (interactive()) {
shinyApp(ui, server)
}