httr_progress
function to use the waitress or the attendant instead of httr::progress
.withProgressWaitress
, setProgressWaitress
, and incProgressWairess
analogous to the same functions in shiny.withProgressAttendant
, incProgressAttendant
, and setProgressAttendant
.Hostess
, it was basically broken #108.withWaiter
as requested in #105.bs4_spinner
and bs5_spinner
.position: fixed
).?Waiter
.logo
argument it is no longer used and can be easily achieved in other ways.triggerWaiter
to trigger the waiter without going through the server.spinners
argument of use_waiter
function. All CSS is bundled with webpack.autoWaiter
to easily add waiter to dynamic Shiny-rendered elements from the UI.attendant
progress bars, for easy progress display without bringing in additional dependencies.console.log
image
argument to the waiter, allows using a background image on the waiter.hide_on_render
#94waiter_hide_on_render
see #79.waiter_preloader
shows the full page loading screen when the app is loaded and automatically removes it when all the UI is rendered: only runs once. #82show_waiter_on_load
in favour of waiter_show_on_load
hide_waiter_on_drawn
in favour of waiter_hide_on_drawn
hide_waiter
in favour of waiter_hide
update_waiter
in favour of waiter_update
show_waiter
in favour of waiter_show
Butler
in favour of the Waitress
hostess_init
in favour of Hostess$init
hostess_set
in favour of Hostess$set
browse_waiters
and browse_waitresses
in favour of the online demo.call_waitress
in favour of Waitress$new()
rstudioapi
dependency; assumes most users have moved up from version 1.2waiter_show_on_load
ran Shiny.setInputValue
before shiny connected #73 + correct the erroneous example in the READMEhide_on_error
, and hide_on_silent_error
to the Waiter
to control whether the waiter should be removed when the underlying plot/table/or other throws an error. Silent errors are those raised by req
and validate
/need
.waiter_shown
and waiter_hidden
fired when the loading screen with waiter is shown or hidden.preview_spinner
.print
method added for this.waiter_on_busy
include_js
argument to simplify APIwaiter_set_theme
, waiter_get_theme
, and waiter_unset_theme
) to enable setting a global theme; making such that every waiter loading screen uses the same options (color
, html
, and logo
). This can e overridden in individual waiter loading screens.spin_google
spinnertransparent
to easily create transparent waiter backgrounds.use_waiter
takes a spinner
argument to which one can specify any of 7 spinner CSS kits, by default all kits are loaded. One can know which kits should be specified by simply typing the spinner in the console, e.g.: spin_rotating_plane()
.Version 0.1.0
sees great many changes. Nothing has been broken but has been deprecated. The steward
and garcon
family of functions have been added.
All functions now start with waiter_
.
waiter_show
function deprecates show_waiter
waiter_hide
function deprecates hide_waiter
waiter_update
function deprecates update_waiter
waiter_show_on_load
function deprecates show_waiter_on_load
waiter_hide_on_load
function deprecates hide_waiter_on_load
The Reference class Waiter
takes a new optional id
first argument which takes one or more ids of elements to overlay the waiter over, the content of the waiter (html
) becomes the second argument. If passing a list of ids one can pass a list of content html
.
library(shiny)
library(waiter)
ui <- fluidPage(
use_waiter(),
actionButton("btn", "Render"),
fluidRow(
column(6, plotOutput("plot1")),
column(6, plotOutput("plot2"))
)
)
server <- function(input, output) {
w <- Waiter$new(
list("plot1", "plot2"),
html = list(spin_1(), spin_2())
)
dataset <- reactive({
input$btn
w$show()
Sys.sleep(2)
runif(100)
})
output$plot1 <- renderPlot(plot(dataset()))
output$plot2 <- renderPlot(plot(dataset()))
}
shinyApp(ui, server)
The waitress also sees a lot of changes, again nothing has been broken.
call_waitress
has been deprecated in favour of the Reference class, please use Waitress$new()
instead.shiny::Progress
min
and max
arguments, one is no longer limited to percentageshtml
argument on start
method to add content on waitresslibrary(shiny)
library(waiter)
ui <- fluidPage(
use_waitress(),
actionButton("btn", "render"),
plotOutput("plot")
)
server <- function(input, output) {
w <- Waitress$new("#plot", min = 0, max = 10)
output$plot <- renderPlot({
input$btn
w$start("LOADING")
for(i in 1:10){
Sys.sleep(.3)
w$inc(1)
}
w$close()
plot(runif(100))
})
}
shinyApp(ui, server)
The hostess is a new addition to the staff, it works hand in hand with waiter to allow you to layer a progress bar on top of the waiter (though it can be used on its own). Moreover the latter progress bars can be greatly customised.
library(shiny)
library(waiter)
ui <- fluidPage(
use_waiter(),
use_hostess(),
waiter_show_on_load(
color = "#f7fff7",
hostess_loader(
"loader",
preset = "circle",
text_color = "black",
class = "label-center",
center_page = TRUE
)
)
)
server <- function(input, output){
hostess <- Hostess$new("loader")
for(i in 1:10){
Sys.sleep(runif(1) / 2)
hostess$set(i * 10)
}
waiter_hide()
}
shinyApp(ui, server)