prettyToggle | R Documentation |
A single checkbox that changes appearance if checked or not.
prettyToggle(
inputId,
label_on,
label_off,
icon_on = NULL,
icon_off = NULL,
value = FALSE,
status_on = "success",
status_off = "danger",
shape = c("square", "curve", "round"),
outline = FALSE,
fill = FALSE,
thick = FALSE,
plain = FALSE,
bigger = FALSE,
animation = NULL,
inline = FALSE,
width = NULL
)
inputId |
The |
label_on |
Display label for the control when value is |
label_off |
Display label for the control when value is |
icon_on |
Optional, display an icon on the checkbox when value is |
icon_off |
Optional, display an icon on the checkbox when value is |
value |
Initial value ( |
status_on |
Add a class to the checkbox when value is |
status_off |
Add a class to the checkbox when value is |
shape |
Shape of the checkbox between |
outline |
Color also the border of the checkbox ( |
fill |
Fill the checkbox with color ( |
thick |
Make the content inside checkbox smaller ( |
plain |
Remove the border when checkbox is checked ( |
bigger |
Scale the checkboxes a bit bigger ( |
animation |
Add an animation when checkbox is checked, a value between
|
inline |
Display the input inline, if you want to place checkboxes next to each other. |
width |
The width of the input, e.g. |
TRUE
or FALSE
server-side.
See updatePrettyToggle
to update the value server-side.
library(shiny)
library(shinyWidgets)
ui <- fluidPage(
tags$h1("Pretty toggles"),
br(),
fluidRow(
column(
width = 4,
prettyToggle(
inputId = "toggle1",
label_on = "Checked!",
label_off = "Unchecked..."
),
verbatimTextOutput(outputId = "res1"),
br(),
prettyToggle(
inputId = "toggle4", label_on = "Yes!",
label_off = "No..", outline = TRUE,
plain = TRUE,
icon_on = icon("thumbs-up"),
icon_off = icon("thumbs-down")
),
verbatimTextOutput(outputId = "res4")
),
column(
width = 4,
prettyToggle(
inputId = "toggle2",
label_on = "Yes!", icon_on = icon("check"),
status_on = "info", status_off = "warning",
label_off = "No..", icon_off = icon("xmark")
),
verbatimTextOutput(outputId = "res2")
),
column(
width = 4,
prettyToggle(
inputId = "toggle3", label_on = "Yes!",
label_off = "No..", shape = "round",
fill = TRUE, value = TRUE
),
verbatimTextOutput(outputId = "res3")
)
)
)
server <- function(input, output, session) {
output$res1 <- renderPrint(input$toggle1)
output$res2 <- renderPrint(input$toggle2)
output$res3 <- renderPrint(input$toggle3)
output$res4 <- renderPrint(input$toggle4)
}
if (interactive())
shinyApp(ui, server)
# Inline example ----
ui <- fluidPage(
tags$h1("Pretty toggles: inline example"),
br(),
prettyToggle(
inputId = "toggle1",
label_on = "Checked!",
label_off = "Unchecked...",
inline = TRUE
),
prettyToggle(
inputId = "toggle2",
label_on = "Yep",
status_on = "default",
icon_on = icon("ok-circle", lib = "glyphicon"),
label_off = "Nope",
status_off = "default",
icon_off = icon("remove-circle", lib = "glyphicon"),
plain = TRUE,
inline = TRUE
),
prettyToggle(
inputId = "toggle3",
label_on = "",
label_off = "",
icon_on = icon("volume-high", lib = "glyphicon"),
icon_off = icon("volume-off", lib = "glyphicon"),
status_on = "primary",
status_off = "default",
plain = TRUE,
outline = TRUE,
bigger = TRUE,
inline = TRUE
),
prettyToggle(
inputId = "toggle4",
label_on = "Yes!",
label_off = "No..",
outline = TRUE,
plain = TRUE,
icon_on = icon("thumbs-up"),
icon_off = icon("thumbs-down"),
inline = TRUE
),
verbatimTextOutput(outputId = "res")
)
server <- function(input, output, session) {
output$res <- renderPrint(
c(input$toggle1,
input$toggle2,
input$toggle3,
input$toggle4)
)
}
if (interactive())
shinyApp(ui, server)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.