showNotification
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.
Description
These functions show and remove notifications in a Shiny application.
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]
})
}
)
}