showHide | R Documentation |
Any Shiny output that uses withSpinner()
will automatically show a spinner
while it's recalculating. Use showSpinner()
and hideSpinner()
to manually
trigger the spinner on-demand.
showSpinner(id, expr)
hideSpinner(id)
id |
The ID of the Shiny output. The corresponding output must have been
wrapped in |
expr |
(optional) An R expression to run while showing the spinner. The spinner will automatically get hidden when this expression completes. |
If expr
is provided, the result of expr
is returned. Otherwise, NULL
.
withSpinner()
if (interactive()) {
library(shiny)
#--- Example 1: Using showSpinner/hideSpinner ---
shinyApp(
ui = fluidPage(
actionButton("show", "Show"),
actionButton("hide", "Hide"),
withSpinner(plotOutput("plot"))
),
server = function(input, output) {
output$plot <- renderPlot({
plot(runif(10))
})
observeEvent(input$show, {
showSpinner("plot")
})
observeEvent(input$hide, {
hideSpinner("plot")
})
}
)
#--- Example 2: Using showSpinner with expr ---
some_slow_function <- function() {
Sys.sleep(2)
}
shinyApp(
ui = fluidPage(
actionButton("show", "Show"),
withSpinner(plotOutput("plot"))
),
server = function(input, output) {
output$plot <- renderPlot({
plot(runif(10))
})
observeEvent(input$show, {
showSpinner("plot", { some_slow_function() })
})
}
)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.