Q:

How to show Spinning Wheel or Busy Icon while waiting in Shiny

Hey i've just started working with R and Shiny.
Trying to make a dashboard which displays different charts.
As there is a lot of data to process, the plots or charts take some time to display after the action button is clicked i.e. "launch Campaign' 
Is there anyway i could show a spinning wheel or a loading icon  in the white blank space, while this delay takes place? Dashboard with blank space on the right 

A:

There is wonderful shinycssloaders package https://github.com/andrewsali/shinycssloaders which does what you want:
library(shiny)
library(dplyr)
library(shinycssloaders)

ui <- fluidPage(

  actionButton("plot","plot"),
  plotOutput("Test") %>% withSpinner(color="#0dc5c1")
)

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

  data <- eventReactive(input$plot,{
    rnorm(1:100000)
  })

  output$Test <- renderPlot({
    plot(data())
  })
}

shinyApp(ui = ui, server = server)

