Skip to contents

with_defaults() adds, replaces, or removes the arguments that a configuration made by shinyfilters() passes to filterInput() for every column.

Usage

with_defaults(.filters, ...)

Arguments

.filters

A configuration created by shinyfilters().

...

Named arguments passed to filterInput() for every column, such as textbox = TRUE or width = "200px". An argument set to NULL, or an input flag such as slider set to FALSE, filterInput()'s default, is removed. selectize = FALSE is kept: shiny::selectInput() takes it too. Arguments not named here keep their current values.

Value

The updated configuration.

Examples

filters <- shinyfilters(nyc_flights, width = "200px")

# Turn a default off
filters <- with_defaults(filters, slider = FALSE)
filters
#> <shinyfilters> • 7 filters
#> 
#> Filters
#>      date       <date>  dateRangeInput
#>      carrier    <chr>   selectizeInput
#>      origin     <fct>   selectizeInput
#>      dest       <chr>   selectizeInput
#>   ○  dep_delay  <dbl>   numericInput  
#>   ○  distance   <dbl>   numericInput  
#>      delayed    <lgl>   selectizeInput
#> 
#> Default Overrides
#>   slider = FALSE
#>   width  = "200px"
#> 
#> ○ Filter set by default argument

# Replace one
with_defaults(filters, width = "100%")
#> <shinyfilters> • 7 filters
#> 
#> Filters
#>      date       <date>  dateRangeInput
#>      carrier    <chr>   selectizeInput
#>      origin     <fct>   selectizeInput
#>      dest       <chr>   selectizeInput
#>   ○  dep_delay  <dbl>   numericInput  
#>   ○  distance   <dbl>   numericInput  
#>      delayed    <lgl>   selectizeInput
#> 
#> Default Overrides
#>   slider = FALSE
#>   width  = "100%"
#> 
#> ○ Filter set by default argument

# Remove one
with_defaults(filters, width = NULL)
#> <shinyfilters> • 7 filters
#> 
#> Filters
#>      date       <date>  dateRangeInput
#>      carrier    <chr>   selectizeInput
#>      origin     <fct>   selectizeInput
#>      dest       <chr>   selectizeInput
#>   ○  dep_delay  <dbl>   numericInput  
#>   ○  distance   <dbl>   numericInput  
#>      delayed    <lgl>   selectizeInput
#> 
#> Default Overrides
#>   slider = FALSE
#> 
#> ○ Filter set by default argument