R: Progress Bars

progress-bar {shinyWidgets} | R Documentation

## Progress Bars

### Description

Create a progress bar to provide feedback on calculation.

### Usage

    progressBar(id, value, total = NULL, display_pct = FALSE, size = NULL,
      status = NULL, striped = FALSE, title = NULL)

    updateProgressBar(session, id, value, total = NULL, title = NULL,
      status = NULL)

### Arguments

`id` | An id used to update the progress bar.
`value` | Value of the progress bar between 0 and 100, if >100 you must provide total.
`total` | Used to calculate percentage if value > 100, force an indicator to appear on top right of the progress bar.
`display_pct` | logical, display percentage on the progress bar.
`size` | Size, ‘NULL' by default or a value in ’xxs', 'xs', 'sm', only work with package 'shinydashboard'.
`status` | Color, must be a valid Bootstrap status : primary, info, success, warning, danger.
`striped` | logical, add a striped effect.
`title` | character, optional title.
`session` | The 'session' object passed to function given to shinyServer.

### Value

A progress bar that can be added to a UI definition.

### See Also

progressSweetAlert for progress bar in a sweet alert

### Examples

    ## Not run:
    if (interactive()) {

    library("shiny")
    library("shinyWidgets")

    ui <- fluidPage(
      column(
        width = 7,
        tags$b("Default"), br(),
        progressBar(id = "pb1", value = 50),
        sliderInput(
          inputId = "up1",
          label = "Update",
          min = 0,
          max = 100,
          value = 50
        ),
        br(),
        tags$b("Other options"), br(),
        progressBar(
          id = "pb2",
          value = 0,
          total = 100,
          title = "",
          display_pct = TRUE
        ),
        actionButton(
          inputId = "go",
          label = "Launch calculation"
        )
      )
    )

    server <- function(input, output, session) {
      observeEvent(input$up1, {
        updateProgressBar(
          session = session,
          id = "pb1",
          value = input$up1
        )
      })
      observeEvent(input$go, {
        for (i in 1:100) {
          updateProgressBar(
            session = session,
            id = "pb2",
            value = i, total = 100,
            title = paste("Process", trunc(i/10))
          )
          Sys.sleep(0.1)
        }
      })
    }

    shinyApp(ui = ui, server = server)

    }

    ## End(Not run)

[Package shinyWidgets version 0.4.3 Index]