cvmartin
10/10/2017 - 9:39 PM

Dynamic menus and content

In Shiny

ui <- dashboardPage(
  dashboardHeader(title = "My Page"),
  dashboardSidebar(sidebarMenuOutput("sideBar_menu_UI")),
  dashboardBody(
    uiOutput("body_UI"),
    uiOutput("test_UI")
  )
)

server <- shinyServer(function(input, output, session) { 
  output$sideBar_menu_UI <- renderMenu({
    sidebarMenu(id = "sideBar_Menu",
      menuItem("Menu 1", tabName="menu1_tab", icon = icon("calendar")),
      menuItem("Menu 2", tabName="menu2_tab", icon = icon("database"))
    )
  }) 
  output$test_UI <- renderUI ({
    tabItems(
      tabItem(tabName = "menu1_tab", uiOutput("menu1_UI")),
      tabItem(tabName = "menu2_tab", uiOutput("menu2_UI"))
    )
  })
  output$body_UI <- renderUI ({
    p("Default content in body outsite any sidebar menus.")
  })
  output$menu1_UI <- renderUI ({
    box("Menu 1 Content")
  })
  output$menu2_UI <- renderUI ({
    box("Menu 2 Content")
  })

})

runApp(list(ui= ui, server = server))