mirror of
https://github.com/rstudio/shiny.git
synced 2026-04-29 03:00:45 -04:00
* First pass at a proper state machine for managing output progress state
* `yarn build` (GitHub Actions)
* Add useBusyIndicators(), spinnerOptions(), and pulseOptions()
* Bring in new spinner defaults
* Use an actual div instead of a pseudo-element since chromium can't be trusted to show them when animated
* Revert "Use an actual div instead of a pseudo-element since chromium can't be trusted to show them when animated"
This reverts commit 6167c1dfd7.
* Embed animation inside svg (to avoid Chromium bug). Consolidate options into a singular busyIndicatorOptions()
* Add to pkgdown reference
* `devtools::document()` (GitHub Actions)
* `yarn build` (GitHub Actions)
* Bump version
* `yarn build` (GitHub Actions)
* Sync package version (GitHub Actions)
* Apply suggestions from code review
Co-authored-by: Garrick Aden-Buie <garrick@adenbuie.com>
* Update snapshots
* `devtools::document()` (GitHub Actions)
* Address feedback
* Bring in more spinner type options
* fix use of fs
* Code review
* `devtools::document()` (GitHub Actions)
* Sync package version (GitHub Actions)
* Update snapshots
* Fix comments
* Make snapshot consistent cross-platform
* Fix namespace issue
* Reduce specificity of position relative
* Skip snapshot on windows; update news
* Whoops
* Scope spinner customizations to parent element by default
* Update snapshots
* Reorder spinner types
* Set a private random seed in tests
* Better id naming
---------
Co-authored-by: cpsievert <cpsievert@users.noreply.github.com>
Co-authored-by: Garrick Aden-Buie <garrick@adenbuie.com>
66 lines
1.9 KiB
R
66 lines
1.9 KiB
R
% Generated by roxygen2: do not edit by hand
|
|
% Please edit documentation in R/busy-indicators.R
|
|
\name{useBusyIndicators}
|
|
\alias{useBusyIndicators}
|
|
\title{Enable/disable busy indication}
|
|
\usage{
|
|
useBusyIndicators(..., spinners = TRUE, pulse = TRUE)
|
|
}
|
|
\arguments{
|
|
\item{...}{Currently ignored.}
|
|
|
|
\item{spinners}{Whether to show a spinner on each calculating/recalculating
|
|
output.}
|
|
|
|
\item{pulse}{Whether to show a pulsing banner at the top of the page when the
|
|
app is busy.}
|
|
}
|
|
\description{
|
|
Busy indicators provide a visual cue to users when the server is busy
|
|
calculating outputs or otherwise performing tasks (e.g., producing
|
|
downloads). When enabled, a spinner is shown on each
|
|
calculating/recalculating output, and a pulsing banner is shown at the top of
|
|
the page when the app is otherwise busy. Busy indication is enabled by
|
|
default for UI created with \pkg{bslib}, but must be enabled otherwise. To
|
|
enable/disable, include the result of this function in anywhere in the app's
|
|
UI.
|
|
}
|
|
\details{
|
|
When both \code{spinners} and \code{pulse} are set to \code{TRUE}, the pulse is
|
|
automatically disabled when spinner(s) are active. When both \code{spinners} and
|
|
\code{pulse} are set to \code{FALSE}, no busy indication is shown (other than the
|
|
graying out of recalculating outputs).
|
|
}
|
|
\examples{
|
|
\dontshow{if (rlang::is_interactive()) (if (getRversion() >= "3.4") withAutoprint else force)(\{ # examplesIf}
|
|
|
|
library(bslib)
|
|
|
|
ui <- page_fillable(
|
|
useBusyIndicators(),
|
|
card(
|
|
card_header(
|
|
"A plot",
|
|
input_task_button("simulate", "Simulate"),
|
|
class = "d-flex justify-content-between align-items-center"
|
|
),
|
|
plotOutput("p"),
|
|
)
|
|
)
|
|
|
|
server <- function(input, output) {
|
|
output$p <- renderPlot({
|
|
input$simulate
|
|
Sys.sleep(4)
|
|
plot(x = rnorm(100), y = rnorm(100))
|
|
})
|
|
}
|
|
|
|
shinyApp(ui, server)
|
|
\dontshow{\}) # examplesIf}
|
|
}
|
|
\seealso{
|
|
\code{\link[=busyIndicatorOptions]{busyIndicatorOptions()}} for customizing the appearance of the busy
|
|
indicators.
|
|
}
|