R: Dropdown

dropdown {shinyWidgets} | R Documentation

## Dropdown

### Description

Create a dropdown menu

### Usage

    dropdown(..., style = "default", status = "default", size = "md",
      icon = NULL, label = NULL, tooltip = FALSE, right = FALSE,
      up = FALSE, width = NULL, animate = FALSE, inputId = NULL)

### Arguments

`...` | List of tag to be displayed into the dropdown menu.
`style` | Character. if `default` use Bootstrap button (like an `actionButton`), else use an `actionBttn`, see argument `style` for possible values.
`status` | Add a class to the buttons, you can use Bootstrap status like 'info', 'primary', 'danger', 'warning' or 'success'. Or use an arbitrary strings to add a custom class, e.g. : with `status = 'myClass'`, buttons will have class `btn-myClass`.
`size` | Size of the button : default, lg, sm, xs.
`icon` | An icon to appear on the button.
`label` | Label to appear on the button. If circle = TRUE and tooltip = TRUE, label is used in tooltip.
`tooltip` | Put a tooltip on the button, you can customize tooltip with `tooltipOptions`.
`right` | Logical. The dropdown menu starts on the right.
`up` | Logical. Display the dropdown menu above.
`width` | Width of the dropdown menu content.
`animate` | Add animation on the dropdown, can be logical or result of `animateOptions`.
`inputId` | Optional, id for the button, the button act like an `actionButton`, and you can use the id to toggle the dropdown menu server-side. If set button will have id `'sw-btn-inputId'`.

### Details

This function is similar to `dropdownButton` but don't use Boostrap, so you can put `pickerInput` in it. Moreover you can add animations on the appearance / disappearance of the dropdown with animate.css.

### See Also

`animateOptions` for animation, `tooltipOptions` for tooltip and `actionBttn` for the button.

### Examples

    ## Not run:
    ## Only run examples in interactive R sessions
    if (interactive()) {

    library("shiny")
    library("shinyWidgets")

    ui <- fluidPage(
      tags$h2("pickerInput in dropdown"),
      br(),
      dropdown(

        tags$h3("List of Input"),

        pickerInput(inputId = 'xcol2',
                    label = 'X Variable',
                    choices = names(iris),
                    options = list(`style` = "btn-info")),

        pickerInput(inputId = 'ycol2',
                    label = 'Y Variable',
                    choices = names(iris),
                    selected = names(iris)[[2]],
                    options = list(`style` = "btn-warning")),

        sliderInput(inputId = 'clusters2',
                    label = 'Cluster count',
                    value = 3,
                    min = 1, max = 9),

        style = "unite", icon = icon("gear"),
        status = "danger", width = "300px",
        animate = animateOptions(
          enter = animations$fading_entrances$fadeInLeftBig,
          exit = animations$fading_exits$fadeOutRightBig
        )
      ),

      plotOutput(outputId = 'plot2')
    )

    server <- function(input, output, session) {

      selectedData2 <- reactive({
        iris[, c(input$xcol2, input$ycol2)]
      })

      clusters2 <- reactive({
        kmeans(selectedData2(), input$clusters2)
      })

      output$plot2 <- renderPlot({
        palette(c("#E41A1C", "#377EB8", "#4DAF4A",
                  "#984EA3", "#FF7F00", "#FFFF33",
                  "#A65628", "#F781BF", "#999999"))

        par(mar = c(5.1, 4.1, 0, 1))
        plot(selectedData2(),
             col = clusters2()$cluster,
             pch = 20, cex = 3)
        points(clusters2()$centers, pch = 4, cex = 4, lwd = 4)
      })

    }

    shinyApp(ui = ui, server = server)

    }

    ## End(Not run)

[Package shinyWidgets version 0.4.3 Index]