Use Progressr in Shiny Apps: Plug-in Backward Compatibility Replacement for shiny::withProgress()
Use Progressr in Shiny Apps: Plug-in Backward Compatibility Replacement for shiny::withProgress()
withProgressShiny( expr, ..., message = NULL, detail = NULL, inputs = list(message = NULL, detail = "message"), env = parent.frame(), quoted = FALSE, handlers = c(shiny = handler_shiny, progressr::handlers(default = NULL)) )
expr, ..., env, quoted |
Arguments passed to shiny::withProgress as is. |
message, detail |
(character string) The message and the detail message to be passed to |
inputs |
(named list) Specifies from what sources the Shiny progress
elements 'message' and 'detail' should be updated. Valid sources are
|
handlers |
Zero or more progression handlers used to report on progress. |
The value of shiny::withProgress.
This function requires the shiny package and will use the
handler_shiny()
progressr handler internally to report on updates.
library(shiny) library(progressr) app <- shinyApp( ui = fluidPage( plotOutput("plot") ), server = function(input, output) { output$plot <- renderPlot({ X <- 1:15 withProgressShiny(message = "Calculation in progress", detail = "Starting ...", value = 0, { p <- progressor(along = X) y <- lapply(X, FUN=function(x) { Sys.sleep(0.25) p(sprintf("x=%d", x)) }) }) plot(cars) ## Terminate the Shiny app Sys.sleep(1.0) stopApp(returnValue = invisible()) }) } ) local({ oopts <- options(device.ask.default = FALSE) on.exit(options(oopts)) if (interactive()) print(app) })
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.