Learn R Programming

shinyWidgets (version 0.4.0)

prettyToggle: Pretty Toggle Input

Description

A single checkbox that changes appearance if checked or not.

Usage

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, width = NULL)

Arguments

inputId

The input slot that will be used to access the value.

label_on

Display label for the control when value is TRUE.

label_off

Display label for the control when value is FALSE

icon_on

Optional, display an icon on the checkbox when value is TRUE, must an icon created with icon.

icon_off

Optional, display an icon on the checkbox when value is FALSE, must an icon created with icon.

value

Initial value (TRUE or FALSE).

status_on

Add a class to the checkbox when value is TRUE, you can use Bootstrap status like 'info', 'primary', 'danger', 'warning' or 'success'.

status_off

Add a class to the checkbox when value is FALSE, you can use Bootstrap status like 'info', 'primary', 'danger', 'warning' or 'success'.

shape

Shape of the checkbox between square, curve and round.

outline

Color also the border of the checkbox (TRUE or FALSE).

fill

Fill the checkbox with color (TRUE or FALSE).

thick

Make the content inside checkbox smaller (TRUE or FALSE).

plain

Remove the border when checkbox is checked (TRUE or FALSE).

bigger

Scale the checkboxes a bit bigger (TRUE or FALSE).

width

The width of the input, e.g. 400px, or 100%.

Value

TRUE or FALSE server-side.

See Also

See updatePrettyToggle to update the value server-side.

Examples

Run this code
# NOT RUN {
if (interactive()) {
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("remove")),
      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)

}

shinyApp(ui, server)
}

# }

Run the code above in your browser using DataLab