Description Usage Arguments Details See Also Examples
Reports progress to the user during long-running operations.
1 2 3 4 5 6 7 8 9 | withProgress(expr, min = 0, max = 1, value = min + (max - min) * 0.1,
message = NULL, detail = NULL, session = getDefaultReactiveDomain(),
env = parent.frame(), quoted = FALSE)
setProgress(value = NULL, message = NULL, detail = NULL,
session = getDefaultReactiveDomain())
incProgress(amount = 0.1, message = NULL, detail = NULL,
session = getDefaultReactiveDomain())
|
expr |
The work to be done. This expression should contain calls to
|
min |
The value that represents the starting point of the progress bar.
Must be less tham |
max |
The value that represents the end of the progress bar. Must be
greater than |
value |
Single-element numeric vector; the value at which to set the
progress bar, relative to |
message |
A single-element character vector; the message to be displayed
to the user, or |
detail |
A single-element character vector; the detail message to be
displayed to the user, or |
session |
The Shiny session object, as provided by |
env |
The environment in which |
quoted |
Whether |
amount |
For |
This package exposes two distinct programming APIs for working with progress.
Using withProgress
with incProgress
or setProgress
provide a simple function-based interface, while the Progress
reference class provides an object-oriented API.
Use withProgress
to wrap the scope of your work; doing so will cause a
new progress panel to be created, and it will be displayed the first time
incProgress
or setProgress
are called. When withProgress
exits, the corresponding progress panel will be removed.
The incProgress
function increments the status bar by a specified
amount, whereas the setProgress
function sets it to a specific value,
and can also set the text displayed.
Generally, withProgress
/incProgress
/setProgress
should
be sufficient; the exception is if the work to be done is asynchronous (this
is not common) or otherwise cannot be encapsulated by a single scope. In that
case, you can use the Progress
reference class.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | ## Only run examples in interactive R sessions
if (interactive()) {
ui <- fluidPage(
plotOutput("plot")
)
server <- function(input, output) {
output$plot <- renderPlot({
withProgress(message = 'Calculation in progress',
detail = 'This may take a while...', value = 0, {
for (i in 1:15) {
incProgress(1/15)
Sys.sleep(0.25)
}
})
plot(cars)
})
}
shinyApp(ui, server)
}
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.