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
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. IfFALSE
do not display.- id
A unique identifier for the notification.
id
is optional forshowNotification()
: 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.id
is required forremoveNotification()
.- 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]
})
}
)
}