Skip to content

rsquaredacademy/standby

Repository files navigation

standby

CRAN_Status_Badge cran checks R-CMD-check Codecov test coverage status Lifecycle: stable

Easily create alerts, notifications, tooltips and loading screens in Shiny

Installation

# Install release version from CRAN
install.packages("standby")

# Install development version from GitHub
# install.packages("devtools")
devtools::install_github("rsquaredacademy/standby")

Usage

Loading Screens

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).
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)

Details

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

Alerts and Notifications

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).
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)

Details

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

Getting Help

If you encounter a bug, please file a minimal reproducible example using reprex on github. For questions and clarifications, use StackOverflow.

Code of Conduct

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.

About

Loading screens, alerts and notifications for Shiny

Topics

Resources

License

Code of conduct

Stars

7 stars

Watchers

1 watching

Forks

Packages

 
 
 

Contributors