columns <- c("name","time","budget")
projects <- c("A","B")
library(shiny)
library(tidyverse)
library(glue)
ui <- fluidPage(
uiOutput("myui"),
verbatimTextOutput("tout")
)
server <- function(input, output, session) {
output$myui <- renderUI({
tagList(
map(
projects,
~ {
div(
style = "grid-gap: 1em;display:flex;align-items: center;",
tags$label(glue("Project {.}")),
shiny::checkboxGroupInput(
inputId = glue("project_{.}"),
label = "",
choices = columns,
inline = TRUE
)
)
}
)
)
})
output$tout <- renderPrint({
inputs_gathered <- map(
projects,
~input[[glue("project_{.}")]]) %>% set_names(projects)
str(inputs_gathered)
})
}
shinyApp(ui, server)
1 Like