Display a Sweet Alert to the user
Show an alert message to the user to provide some feedback.
sendSweetAlert( session, title = "Title", text = NULL, type = NULL, btn_labels = "Ok", btn_colors = "#3085d6", html = FALSE, closeOnClickOutside = TRUE, showCloseButton = FALSE, width = NULL, ... ) show_alert( title = "Title", text = NULL, type = NULL, btn_labels = "Ok", btn_colors = "#3085d6", html = FALSE, closeOnClickOutside = TRUE, showCloseButton = FALSE, width = NULL, ..., session = shiny::getDefaultReactiveDomain() )
session |
The |
title |
Title of the alert. |
text |
Text of the alert. |
type |
Type of the alert : info, success, warning or error. |
btn_labels |
Label(s) for button(s), can be of length 2,
in which case the alert will have two buttons. Use |
btn_colors |
Color(s) for the buttons. |
html |
Does |
closeOnClickOutside |
Decide whether the user should be able to dismiss the modal by clicking outside of it, or not. |
showCloseButton |
Show close button in top right corner of the modal. |
width |
Width of the modal (in pixel). |
... |
Other arguments passed to JavaScript method. |
This function use the JavaScript sweetalert2 library, see the official documentation for more https://sweetalert2.github.io/.
library(shiny) library(shinyWidgets) ui <- fluidPage( tags$h2("Sweet Alert examples"), actionButton( inputId = "success", label = "Launch a success sweet alert", icon = icon("check") ), actionButton( inputId = "error", label = "Launch an error sweet alert", icon = icon("remove") ), actionButton( inputId = "sw_html", label = "Sweet alert with HTML", icon = icon("thumbs-up") ) ) server <- function(input, output, session) { observeEvent(input$success, { show_alert( title = "Success !!", text = "All in order", type = "success" ) }) observeEvent(input$error, { show_alert( title = "Error !!", text = "It's broken...", type = "error" ) }) observeEvent(input$sw_html, { show_alert( title = NULL, text = tags$span( tags$h3("With HTML tags", style = "color: steelblue;"), "In", tags$b("bold"), "and", tags$em("italic"), tags$br(), "and", tags$br(), "line", tags$br(), "breaks", tags$br(), "and an icon", icon("thumbs-up") ), html = TRUE ) }) } if (interactive()) shinyApp(ui, server) # Ouptut in alert ---- library(shiny) library(shinyWidgets) ui <- fluidPage( tags$h1("Click the button to open the alert"), actionButton( inputId = "sw_html", label = "Sweet alert with plot" ) ) server <- function(input, output, session) { observeEvent(input$sw_html, { show_alert( title = "Yay a plot!", text = tags$div( plotOutput(outputId = "plot"), sliderInput( inputId = "clusters", label = "Number of clusters", min = 2, max = 6, value = 3, width = "100%" ) ), html = TRUE, width = "80%" ) }) output$plot <- renderPlot({ plot(Sepal.Width ~ Sepal.Length, data = iris, col = Species, pch = 20, cex = 2) points(kmeans(iris[, 1:2], input$clusters)$centers, pch = 4, cex = 4, lwd = 4) }) } if (interactive()) shinyApp(ui, server)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.