Hi,
I have a shiny dashboard application with modules that uses conditionalPanel. It works when I run the application in a browser (Chrome) under windows 10, but it does not work when I use the R-studio window.
Funny thing is, on a Max (OS 10 El Capitan) it does work both in the Rstudio window and in the browser (Safari). In the RStudio window under windows 10, the second checkbox group does not open.I use RStudio 1.1.463 and R 3.5.2.
Below a code example. If the radiobutton 'scores' is selected, a checkboxgroup opens, if one or both of the boxes are checked a second checkbox opens. If the radiobutton 'data' is selected both checkboxgroups disappear. As mentioned, this works 'everywhere' except on the RStudio window and viewpane. The second checkboxgroup "Contour levels" does not open when I check a box in the "Plot options"
Any thoughts how to solve this are greatly appreciated.
Thanks,
Gooitzen
library(shiny)
library(shinydashboard)
#>
#> Attaching package: 'shinydashboard'
#> The following object is masked from 'package:graphics':
#>
#> box
testMenuUI <- function(id) {
ns <- NS(id)
tagList(
radioButtons(ns("plottype"), "Plot",
c("Data" = "data",
"Scores" = "scores"),
selected = "data"),
conditionalPanel(paste0("input['", ns("plottype"), "'] == 'scores' "),
checkboxGroupInput(ns("plotoptions"), "Plot options",
choices = list(
"Data ellipse" = "dataellipse",
"Biplot" = "biplot"),
selected = "")
),
conditionalPanel(paste0("(input['", ns("plottype"), "'] == 'scores' ) &&
(input['", ns("plotoptions"), "'].includes('dataellipse') ||
input['", ns("plotoptions"), "'].includes('biplot'))"),
checkboxGroupInput(ns("contour"), "Contour levels",
choices = list(
"95% level" = 95),
selected = 95)
)
)
}
ui <- dashboardPage(
dashboardHeader(title = "Menu test"),
dashboardSidebar(
sidebarMenu(id = "tabs",
menuItem("Testmenu", tabName = "testmenu")
)
),
dashboardBody(
tabItems(
tabItem("testmenu", testMenuUI(id = "testmenu"))
)
)
)
testMenu <- function(input, output, session) {}
server <- function(input, output, session) {
callModule(testMenu, id = "testmenu")
}
shinyApp(ui, server)
#>
#> Listening on http://127.0.0.1:3912