Skip to contents

standby offers several types of loading screens for Shiny apps. This document is a quickstart guide for using standby in your Shiny applications. Let us look at a simple example below:

library(shiny)
library(standby)

ui <- fluidPage(

  standby::useSpinkit(), # include dependencies
  fluidRow(
    standby::spinkit(plotOutput("plot1")), # wrap output inside loader
    actionButton("render", "Render")
  )

)

server <- function(input, output, session) {

    output$plot1 <- renderPlot({
      input$render
      Sys.sleep(3)
      hist(mtcars$mpg)
    })

}

shinyApp(ui, server)

To use spinners/loaders from standby in your Shiny application, include the following in the UI part of the app:

  • Include the dependencies using the appropriate use* functions (useSpinkit() in the above example).
  • Wrap the target output using corresponding rendering function (spinkit() in the above example).

The below table displays the dependency and rendering functions along with references:

Index Dependency Render Reference
1 useThreeDots() threeDots() https://github.com/nzbin/three-dots
2 useSpinkit() spinkit() https://github.com/tobiasahlin/SpinKit
3 useVizLoad() vizLoad() https://github.com/RIDICS/Loading-Visualization
4 useSpinners() spinners() https://github.com/lukehaas/css-loaders
5 useLoaders() loaders() https://github.com/raphaelfabeni/css-loader

Visit the documentation to learn how to customize the alerts and notifications.