Easily create alerts, notifications, tooltips and loading screens in Shiny
# Install release version from CRAN
install.packages("standby")
# Install development version from GitHub
# install.packages("devtools")
devtools::install_github("rsquaredacademy/standby")
To use spinners/loaders from standby in your Shiny application, include the following in the UI part of the app:
- Include the dependencies using the appropriate
use*
functions (useSpinkit()
in the below example). - Wrap the target output using corresponding rendering function
(
spinkit()
in the below example).
library(shiny)
library(standby)
ui <- fluidPage(
standby::useSpinkit(), # include dependencies
fluidRow(
standby::spinkit(plotOutput("plot1")), # wrap output inside loader
actionButton("render", "Render")
)
)
server <- function(input, output, session) {
output$plot1 <- renderPlot({
input$render
Sys.sleep(3)
hist(mtcars$mpg)
})
}
shinyApp(ui, server)
The below table displays the dependency and rendering functions along with references:
Index | Dependency | Render | Reference |
---|---|---|---|
1 | useThreeDots() |
threeDots() |
Three Dots |
2 | useSpinkit() |
spinkit() |
SpinKit |
3 | useVizLoad() |
vizLoad() |
Loading Visualization |
4 | useSpinners() |
spinners() |
Spinners |
5 | useLoaders() |
loaders() |
Loaders |
To use alerts or notifications from buzz in your Shiny application, follow the below steps:
- Include the dependencies in the UI part of the app using the
appropriate
use*
functions (useToast()
in the below example). - Include the corresponding rendering function in the Server part of
the app (
toast()
in the below example).
library(shiny)
library(standby)
ui <- fluidPage(
useBootBox(), # include dependencies
actionButton(inputId = "notify",
label = "Show Notification")
)
server <- function(input, output, session) {
observeEvent(input$pnotify, {
bootBox(class = "rubberBand") # display the alert
})
}
shinyApp(ui, server)
The below table displays the dependency and rendering functions along with references:
Index | Dependency | Render | Reference |
---|---|---|---|
1 | useAlertify() |
alertify_alert() |
Alertify |
2 | useAlertify() |
alertify_notify() |
Alertify |
3 | useBootBox() |
bootBox() |
BootBox |
4 | useMicroTip() |
microTip() |
MicroTip |
5 | useNS() |
notice() |
Notification Styles |
6 | useNotify() |
notify() |
PNotify |
7 | useTingle() |
tingle() |
Tingle |
8 | useToast() |
toast() |
iziToast |
If you encounter a bug, please file a minimal reproducible example using reprex on github. For questions and clarifications, use StackOverflow.
Please note that the standby project is released with a Contributor Code of Conduct. By contributing to this project, you agree to abide by its terms.