R: Show or remove a notification

showNotification {shiny} | R Documentation

## Show or remove a notification

### Description

These functions show and remove notifications in a Shiny application.

### Usage

    showNotification(ui, action = NULL, duration = 5, closeButton = TRUE,
      id = NULL, type = c("default", "message", "warning", "error"),
      session = getDefaultReactiveDomain())

    removeNotification(id = NULL, session = getDefaultReactiveDomain())

### 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 `ui` so customized layouts can handle the main notification content separately from action content.
`duration` | Number of seconds to display the message before it disappears. Use `NULL` to make the message not automatically disappear.
`closeButton` | If `TRUE`, display a button which will make the notification disappear when clicked. If `FALSE` do not display.
`id` | An ID string. This can be used to change the contents of an existing message with `showNotification`, or to remove it with `removeNotification`. If not provided, one will be generated automatically. If an ID is provided and there does not currently exist a notification with that ID, a new notification will be created with that ID.
`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]
        })
      }
    )
    }

[Package shiny version 1.2.0 Index]