Enable regular expression searching of selectize object options in the R Shiny package
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
Miscellaneous
R
man
.Rbuildignore
.gitattributes
.gitignore
.travis.yml
DESCRIPTION
NAMESPACE
README.md
appveyor.yml
cran-comments.md
regexSelect.Rproj

README.md

CRAN_Status_Badge Project Status: Active - The project has reached a stable, usable state and is being actively developed. downloads Build StatusAppVeyor Build Status

regexSelect

R package to enable regular expression searches within a shiny selectize object.

install

devtools::install_github('yonicd/regexSelect')

Examples

renderTable

require(shiny)

if(interactive()){
ui <- shiny::fluidPage(
regexSelectUI(id = "a", label = "Variable:",choices = names(iris)),
shiny::tableOutput("data")
)

server <- function(input, output, session) {
  curr_cols<-callModule(regexSelect, "a",shiny::reactive(names(iris)))
  
  observeEvent(curr_cols(),{
  cols_now<-curr_cols()
  if(length(cols_now)==0)  cols_now<-names(iris)
  output$data <- shiny::renderTable({iris[,cols_now , drop = FALSE]}, rownames = TRUE)
  })
}

shiny::shinyApp(ui, server)

}

renderPlot

library(ggplot2)
ui <- fluidPage(
  selectInput('var','Choose Variable',
              choices = names(diamonds)[sapply(diamonds,function(x) inherits(x,c('character','factor')))],
              selected = 'clarity'),
  uiOutput('regexchoose'),
  plotOutput("data")
  )
  
server <- function(input, output, session) {
  
  output$regexchoose<-shiny::renderUI({
    regexSelectUI(id = "a", label = input$var,choices = unique(diamonds[[input$var]]))
  })
  
  observeEvent(input$var,{
    curr_cols<-callModule(regexSelect, "a",shiny::reactive(unique(diamonds[[input$var]])))
    
    observeEvent(curr_cols(),{
      cols_now<-curr_cols()
      output$data <- shiny::renderPlot({
        ggplot(diamonds[diamonds[[input$var]]%in%cols_now,],aes_string(x='table',y='carat',colour=input$var))+geom_point()
      })
    })    
  })
  
}
  
shinyApp(ui, server)