The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.
glassSelect() is an animated single-select dropdown for
Shiny.
It behaves like a standard Shiny input:
input$<inputId> stores the selected value as a single
character string, or NULL when nothing is selected.
It supports:
glass_select_theme()check_styleupdateGlassSelect()library(shiny)
library(glasstabs)
fruits <- c(
Apple = "apple",
Banana = "banana",
Cherry = "cherry",
Mango = "mango"
)
ui <- fluidPage(
useGlassTabs(),
glassSelect("pick", fruits),
verbatimTextOutput("out")
)
server <- function(input, output, session) {
output$out <- renderPrint(input$pick)
}
shinyApp(ui, server)glassSelect() supports three selection marker
styles:
"checkbox" (default)"check-only""filled"Search is enabled by default. You can also enable a clear control.
To hide the search box:
You can prepend an explicit “All” option:
glassSelect(
"f",
fruits,
include_all = TRUE,
all_choice_label = "All fruits",
all_choice_value = "__all__"
)This is useful when you want the UI to distinguish between: - no selection - a deliberate “All” selection
Read the current value directly from
input$<inputId>:
If you want a small convenience wrapper, use
glassSelectValue():
updateGlassSelect() can update: - available choices -
current selection - selection marker style
It follows Shiny-style update semantics:
choices = NULL leaves choices unchangedselected = NULL leaves selection unchangedselected = character(0) clears the selectionui <- fluidPage(
useGlassTabs(),
actionButton("subset", "Keep first 2 fruits"),
actionButton("banana", "Select banana"),
actionButton("clear", "Clear"),
actionButton("filled", "Use filled style"),
glassSelect("pick", fruits, clearable = TRUE),
verbatimTextOutput("out")
)
server <- function(input, output, session) {
output$out <- renderPrint(input$pick)
observeEvent(input$subset, {
updateGlassSelect(
session,
"pick",
choices = fruits[1:2]
)
})
observeEvent(input$banana, {
updateGlassSelect(
session,
"pick",
selected = "banana"
)
})
observeEvent(input$clear, {
updateGlassSelect(
session,
"pick",
selected = character(0)
)
})
}
shinyApp(ui, server)When choices is updated without selected,
the widget keeps the current value if it still exists in the new set of
choices.
glass_select_theme()glassSelect(
"f",
fruits,
theme = glass_select_theme(
mode = "dark",
accent_color = "#f59e0b"
)
)
glassSelect(
"f",
fruits,
theme = glass_select_theme(
bg_color = "#1a0a2e",
border_color = "#a855f7",
text_color = "#ede9fe",
accent_color = "#a855f7"
)
)
#other themes
glassSelect(
"f",
fruits,
theme = glass_select_theme(
mode = "light",
accent_color = "#2563eb"
)
)
#more themes
glassSelect(
"f",
fruits,
theme = glass_select_theme(
mode = "light",
bg_color = "#ffffff",
border_color = "rgba(0,0,0,0.15)",
text_color = "#111111",
accent_color = "#111111",
label_color = "#111111"
)
)glassSelect() can be used without the tab widget. You
only need useGlassTabs() to load the package CSS and
JavaScript assets:
These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.