Show or remove a notification — showNotification
R/notifications.R
  Description
These functions show and remove notifications in a Shiny application.
Arguments
- ui
- Content of message. 
- action
- Message content that represents an action. For example, this could be a link that the user can click on. This is separate from - uiso customized layouts can handle the main notification content separately from action content.
- duration
- Number of seconds to display the message before it disappears. Use - NULLto make the message not automatically disappear.
- If - TRUE, display a button which will make the notification disappear when clicked. If- FALSEdo not display.
- id
- A unique identifier for the notification. - idis optional for- showNotification(): Shiny will automatically create one if needed. If you do supply it, Shiny will update an existing notification if it exists, otherwise it will create a new one.- idis required for- removeNotification().
- type
- A string which controls the color of the notification. One of "default" (gray), "message" (blue), "warning" (yellow), or "error" (red). 
- session
- Session object to send notification to. 
Value
An ID for the notification.
Examples
## Only run examples in interactive R sessions
if (interactive()) {
# Show a message when button is clicked
shinyApp(
  ui = fluidPage(
    actionButton("show", "Show")
  ),
  server = function(input, output) {
    observeEvent(input$show, {
      showNotification("Message text",
        action = a(href = "javascript:location.reload();", "Reload page")
      )
    })
  }
)
# App with show and remove buttons
shinyApp(
  ui = fluidPage(
    actionButton("show", "Show"),
    actionButton("remove", "Remove")
  ),
  server = function(input, output) {
    # A queue of notification IDs
    ids <- character(0)
    # A counter
    n <- 0
    observeEvent(input$show, {
      # Save the ID for removal later
      id <- showNotification(paste("Message", n), duration = NULL)
      ids <<- c(ids, id)
      n <<- n + 1
    })
    observeEvent(input$remove, {
      if (length(ids) > 0)
        removeNotification(ids[1])
      ids <<- ids[-1]
    })
  }
)
}