Hierarchical tree structures input for Shiny applications. Interface for bootstrap-treeview JS library.
Install the development version from GitHub with:
remotes::install_github("dreamRs/shinytreeview")
treeviewInput()
allow to select a value (or several) in a hierarchical structure :
Code for this example:
library(shiny)
library(shinytreeview)
data("cities")
ui <- fluidPage(
tags$h3("treeviewInput cities example"),
treeviewInput(
inputId = "tree",
label = "Choose a city:",
choices = make_tree(
cities, c("continent", "country", "city")
),
multiple = FALSE,
prevent_unselect = TRUE,
width = "100%"
),
verbatimTextOutput(outputId = "result")
)
server <- function(input, output, session) {
output$result <- renderPrint({
input$tree
})
}
if (interactive())
shinyApp(ui, server)
treecheckInput()
allow to check a value (or several) in a hierarchical structure :
Code for this example:
library(shiny)
library(shinytreeview)
data("cities")
ui <- fluidPage(
tags$h3("treeviewInput cities example"),
treecheckInput(
inputId = "tree",
label = "Choose a city:",
choices = make_tree(
cities, c("continent", "country", "city")
),
width = "100%"
),
verbatimTextOutput(outputId = "result")
)
server <- function(input, output, session) {
output$result <- renderPrint({
input$tree
})
}
if (interactive())
shinyApp(ui, server)
This package use {packer} to manage JavaScript assets, see packer's documentation for more.
Install nodes modules with:
packer::npm_install()
Modify srcjs/inputs/treeview.js
, then run:
packer::bundle()
Re-install R package and try demo applications in examples/
.