progress {shinybusy} | R Documentation |
Create progress indicator
Description
Bar, circle or semicircle to show progress. Can be used outside Shiny. In Shiny you can set progress value server-side.
Usage
progress_line(
value = 0,
color = "#112446",
stroke_width = 4,
easing = "linear",
duration = 1000,
trail_color = "#eee",
trail_width = 1,
text = "auto",
text_color = "#000",
width = "100%",
height = "15px",
shiny_id = NULL
)
progress_circle(
value = 0,
color = "#112446",
stroke_width = 4,
easing = "easeInOut",
duration = 1400,
trail_color = "#eee",
trail_width = 1,
text = "auto",
text_color = "#000",
width = "200px",
height = "200px",
shiny_id = NULL
)
progress_semicircle(
value = 0,
color = "#112446",
stroke_width = 4,
easing = "easeInOut",
duration = 1400,
trail_color = "#eee",
trail_width = 1,
text = "auto",
text_color = "#000",
width = "200px",
height = "100px",
shiny_id = NULL
)
update_progress(
shiny_id,
value,
text = NULL,
session = shiny::getDefaultReactiveDomain()
)
Arguments
value |
Initial value or new value to set. |
color |
Main color. |
stroke_width |
Main width. |
easing |
CSS animation to use, ex.: |
duration |
Animation duration (in milliseconds). |
trail_color |
Color of shape behind the main bar. |
trail_width |
Width of shape behind the main bar. |
text |
Text to display. |
text_color |
Text color. |
width |
Container width. |
height |
Container height. |
shiny_id |
Id to use in Shiny application. |
session |
Shiny session. |
Value
an htmlwidget
object.
Examples
# Default usage
progress_line(value = 0.5)
# change color
progress_line(value = 0.5, color = "firebrick")
# Circle
progress_circle(value = 0.5)
# Shiny usage
if (interactive()) {
library(shiny)
library(shinybusy)
ui <- fluidPage(
tags$h2("Progress bars examples"),
fluidRow(
column(
width = 4,
tags$p("Default bar:"),
progress_line(value = 0, shiny_id = "bar"),
sliderInput(
inputId = "update_bar",
label = "Update:",
min = 0, max = 1,
value = 0, step = 0.1
),
tags$p("Set custom text:"),
progress_line(
value = 0.5,
text = "To update",
shiny_id = "text"
),
textInput(
inputId = "update_text",
label = "Update:"
)
),
column(
width = 4,
tags$p("Default circle:"),
progress_circle(value = 0, shiny_id = "circle"),
sliderInput(
inputId = "update_circle",
label = "Update:",
min = 0, max = 1,
value = 0, step = 0.1,
width = "100%"
)
),
column(
width = 4,
tags$p("Default semi-circle:"),
progress_semicircle(value = 0, shiny_id = "semicircle"),
sliderInput(
inputId = "update_semicircle",
label = "Update:",
min = 0, max = 1,
value = 0, step = 0.1,
width = "100%"
)
)
)
)
server <- function(input, output, session) {
observe({
update_progress("bar", input$update_bar)
})
observe({
update_progress("circle", input$update_circle)
})
observe({
update_progress("semicircle", input$update_semicircle)
})
observe({
req(input$update_text)
update_progress("text", 0.5, input$update_text)
})
}
shinyApp(ui, server)
}
[Package shinybusy version 0.3.3 Index]