navPills creates a container for nav elements. They are vertically stacked. To insert in box.
updateNavPills allows to programmatically change the currently selected navPillsItem on the client.
navPillsItem creates a nav pill item.
Usage
navPills(..., id = NULL)
updateNavPills(id, selected, session = shiny::getDefaultReactiveDomain())
navPillsItem(
left = NULL,
right = NULL,
color = NULL,
icon = NULL,
selected = FALSE
)
Arguments
- ...
slot for navPillsItem.
- id
navPills unique id to target.
- selected
Whether the item is active or not. FALSE by default.
- session
Shiny session object.
- left
pill left text.
- right
pill right text.
- color
pill color: see here for a list of valid colors https://adminlte.io/themes/AdminLTE/pages/UI/general.html. See below:
light-blue (primary status)
: #3c8dbc .red (danger status)
: #dd4b39 .green (success status)
: #00a65a .aqua (info status)
: #00c0ef .yellow (warning status)
: #f39c12 .blue
: #0073b7 .navy
: #001F3F .teal
: #39CCCC .olive
: #3D9970 .lime
: #01FF70 .orange
: #FF851B .fuchsia
: #F012BE .purple
: #605ca8 .maroon
: #D81B60 .black
: #111 .gray
: #d2d6de .
- icon
pill icon, if any.
Author
David Granjon, dgranjon@ymail.com
Examples
# navPills
if (interactive()) {
library(shiny)
library(shinydashboard)
library(shinydashboardPlus)
shinyApp(
ui = dashboardPage(
dashboardHeader(),
dashboardSidebar(),
dashboardBody(
box(
title = "Nav Pills",
status = "info",
"Box Body",
footer = navPills(
id = "pillItem",
navPillsItem(
left = "Item 1",
color = "green",
right = 10
),
navPillsItem(
left = "Item 2",
color = "red",
icon = icon("angle-down"),
right = "10%",
active = TRUE
)
)
)
),
title = "Nav Pills"
),
server = function(input, output) {
observeEvent(input$pillItem, {
showNotification(sprintf("You clicked on pill N° %s", input$pillItem), type = "message")
})
}
)
}
# update navPills
if (interactive()) {
library(shiny)
library(shinydashboard)
library(shinydashboardPlus)
shinyApp(
ui = dashboardPage(
dashboardHeader(),
dashboardSidebar(),
dashboardBody(
radioButtons("controller", "Controller", choices = c(1, 2, 3)),
br(),
box(
title = "Nav Pills",
status = "info",
"Box Body",
footer = navPills(
inputId = "pills",
navPillsItem(
left = "Item 1",
color = "green",
right = 10
),
navPillsItem(
left = "Item 2",
color = "red",
icon = icon("angle-down"),
right = "10%"
),
navPillsItem(
left = "Item 3",
color = "blue",
icon = icon("angle-up"),
right = "30%"
)
)
)
),
title = "Nav Pills"
),
server = function(input, output, session) {
observeEvent(input$controller, {
updateNavPills(id = "pills", selected = input$controller)
})
observeEvent(input$pills, {
showNotification(sprintf("You selected pill N° %s", input$pills), type = "message")
})
}
)
}