Create a menu https://bulma.io/documentation/components/menu/.
bulmaMenu(...)
... | Slot for bulmaMenuItem and bulmaMenuLabel. |
---|
You can include as many bulmaMenuLabel as you want. It is better to wrap a bulmaMenu in a bulmaContainer as well as bulmaColumns (see example).
David Granjon, dgranjon@ymail.com
if(interactive()){ library(shiny) shinyApp( ui = bulmaPage( bulmaTitle("Hello Bulma"), bulmaContainer( bulmaColumns( bulmaColumn( width = 4, bulmaMenu( # section 1 bulmaMenuLabel(menu_label = "Title 1", target = "title1"), bulmaMenuItem(active = FALSE, item_label = "Subtitle 1"), bulmaMenuItem(active = FALSE, item_label = "Subtitle 2"), # section 2 bulmaMenuLabel(menu_label = "Title 2", target = "title5"), bulmaMenuItem(active = FALSE, item_label = "Subtitle 1"), bulmaMenuItem( active = TRUE, item_label = "Subtitle 2", bulmaMenuSubItem(subitem_label = "Subsubtitle 1"), bulmaMenuSubItem(subitem_label = "Subsubtitle 2"), bulmaMenuSubItem(subitem_label = "Subsubtitle 3") ), bulmaMenuItem(active = FALSE, item_label = "Subtitle 3"), bulmaMenuItem(active = FALSE, item_label = "Subtitle 4"), bulmaMenuItem(active = FALSE, item_label = "Subtitle 5"), # section 3 bulmaMenuLabel(menu_label = "Title 3", target = "title10"), bulmaMenuItem(active = FALSE, item_label = "Subtitle 6"), bulmaMenuItem(active = FALSE, item_label = "Subtitle 7"), bulmaMenuItem(active = FALSE, item_label = "Subtitle 8") ) ), bulmaColumn( width = 8, bulmaTitle("Only title 1, title 2 and title 3 have html anchors."), bulmaRadioInput( "select", c("Miles per galon" = "mpg", "Rear axle ratio" = "drat"), selected = "mpg" ), lapply(1:10, FUN = function(i) { list( bulmaTitle(paste0("Title", i), id = paste0("title", i)), plotOutput(paste0("plot", i)) ) }) ) ) ) ), server = function(input, output) { lapply(1:10, FUN = function(i) { output[[paste0("plot", i)]] <- renderPlot( plot(1:nrow(mtcars), mtcars[[input$select]]) ) }) } ) }