Feature request: allow NULL menu items in the UI
daattali opened this issue · comments
Dean Attali commented
This comes up when you want to include a conditional.
For example
library(shiny)
library(shinydashboard)
show_tab_2 <- FALSE
ui <- dashboardPage(
dashboardHeader(),
dashboardSidebar(
sidebarMenu(
menuItem("tab1", tabName = "tab1"),
if (show_tab_2) menuItem("tab2", tabName = "tab2")
)
),
dashboardBody(
tabItems(
tabItem("tab1", "tab1"),
if (show_tab_2) tabItem("tab2", "tab2")
)
)
)
server <- function(input, output) {}
shinyApp(ui, server)
This results in an error since the if statement results in a NULL
ui item. It would be useful if shinydashboard knew to just ignore NULL items
Dean Attali commented
The problems seems to be with the tabItems()
rather than sidebarMenu()
ismirsehregal commented
This would be useful!
For those interested in a workaround:
library(shiny)
library(shinydashboard)
show_tab_2 <- FALSE
ui <- dashboardPage(
dashboardHeader(),
dashboardSidebar(
sidebarMenu(
menuItem("tab1", tabName = "tab1"),
if (show_tab_2){menuItem("tab2", tabName = "tab2")}
)
),
dashboardBody(
tabItems(
tabItem("tab1", "tab1"),
if (show_tab_2){tabItem("tab2", "tab2")} else {
div(class = 'tab-pane')
}
)
)
)
server <- function(input, output) {}
shinyApp(ui, server)