- Correct hostess example #113
- Hide wiater on disconnect, fixes #116
- Fix Hostess #120
- Added
lottie
to include lottie animations. - Added
Placeholder
to use palceholders.
- Added
httr_progress
function to use the waitress or the attendant instead ofhttr::progress
. - Added
withProgressWaitress
,setProgressWaitress
, andincProgressWairess
analogous to the same functions in shiny. - Added
withProgressAttendant
,incProgressAttendant
, andsetProgressAttendant
. - Fix major issue with
Hostess
, it was basically broken #108. - Add
withWaiter
as requested in #105. - Added
bs4_spinner
andbs5_spinner
.
- Fix #95 with different CSS for full screen (
position: fixed
). - Fix CSS injection that repeatedly injected CSS to hide recalculating effect.
- Remove magrittr in favour of R native pipe.
- Add active bindings for many of the waiter components,
see
?Waiter
. - Prep deprecation of functions with underscores in favour of camel case (only for that which are to be used in the shiny UI).
- Deprecate the
logo
argument it is no longer used and can be easily achieved in other ways. - Add
triggerWaiter
to trigger the waiter without going through the server. - Implement webpack for waiter, minifies and optimises code.
- Deprecate
spinners
argument ofuse_waiter
function. All CSS is bundled with webpack. - Performance improvements with use of maps instead of arrays.
- Improve documentation, new site.
- Added function
autoWaiter
to easily add waiter to dynamic Shiny-rendered elements from the UI. - Use webpack and packer to minify and optimise hostess code.
- Added
attendant
progress bars, for easy progress display without bringing in additional dependencies. - Document JavaScript internals
- Remove
console.log
- Add
image
argument to the waiter, allows using a background image on the waiter. - Fix
hide_on_render
#94
- Fixed
waiter_hide_on_render
see #79. - Added
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. #82 - Remove logging of shiny event, #83
- Fix stewart, broken due to removal of progress.js #81
- Added fadeout effect on waiter overlays, #53
- Improve waiter screen responsiveness.
- Better infinite waitress se #63
- Add infinite hostess see #67 thanks to Víctor Granda
- Remove deprecated functions:
show_waiter_on_load
in favour ofwaiter_show_on_load
hide_waiter_on_drawn
in favour ofwaiter_hide_on_drawn
hide_waiter
in favour ofwaiter_hide
update_waiter
in favour ofwaiter_update
show_waiter
in favour ofwaiter_show
- All functions of the
Butler
in favour of theWaitress
hostess_init
in favour ofHostess$init
hostess_set
in favour ofHostess$set
browse_waiters
andbrowse_waitresses
in favour of the online demo.call_waitress
in favour ofWaitress$new()
- Fix bug on shiny disconnected see #68
- Change CSS of waiter overlays so it's more responsive and better centered.
- Remove pleasewait.js dependency.
- Remove
rstudioapi
dependency; assumes most users have moved up from version 1.2 - Fixed bug where
waiter_show_on_load
ranShiny.setInputValue
before shiny connected #73 + correct the erroneous example in the README - Document CSS and spinner placement in waiter.
- Added
hide_on_error
, andhide_on_silent_error
to theWaiter
to control whether the waiter should be removed when the underlying plot/table/or other throws an error. Silent errors are those raised byreq
andvalidate
/need
. - Added events
waiter_shown
andwaiter_hidden
fired when the loading screen with waiter is shown or hidden.
- Much improved spinners API.
- Allow previewing the spinners with
preview_spinner
. - Spinner kit no longer force prints,
print
method added for this. - Added ability to automatically show and hide the loading screen when the server is busy/idle with
waiter_on_busy
- Remove
include_js
argument to simplify API
- Added theme-related functions (
waiter_set_theme
,waiter_get_theme
, andwaiter_unset_theme
) to enable setting a global theme; making such that every waiter loading screen uses the same options (color
,html
, andlogo
). This can e overridden in individual waiter loading screens. - Added a new
spin_google
spinner - Added a convenience function
transparent
to easily create transparent waiter backgrounds. - Added a cheat sheet, thanks to JH Kim
- Add ability to reduce load size of CSS (raised by issue #47),
use_waiter
takes aspinner
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()
. - Fix waiter example.
- Check if Rstudio 1.2 available, warn if not on attach, see #41 where waiter fails with earlier version of RStudio.
- Change internal css class to avoid clash with shinydashboard, see #43.
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_
.
- The new
waiter_show
function deprecatesshow_waiter
- The new
waiter_hide
function deprecateshide_waiter
- The new
waiter_update
function deprecatesupdate_waiter
- The new
waiter_show_on_load
function deprecatesshow_waiter_on_load
- The new
waiter_hide_on_load
function deprecateshide_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 useWaitress$new()
instead.- The Waitress can now also be used as notification
- Many methods have been renamed (deprecated) to more closely match
shiny::Progress
- Addition of the
min
andmax
arguments, one is no longer limited to percentages - Possibility to create an infinite progress bar (deprecates the butler)
- Additional
html
argument onstart
method to add content on waitress
library(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)