Shinydashboard добавление второй панели навигации - PullRequest
1 голос
/ 09 апреля 2019

Я создаю сложное блестящее приложение, используя shinydashboard. Наш дизайнер пользовательского интерфейса создал макет со второй боковой панелью вместо subMenuItems. У меня очень мало опыта работы с интерфейсом, но моя работа - воспроизвести его блестяще. Каков наилучший способ сделать это?

Я думал о том, чтобы взять функцию tabBox и настроить ее так, чтобы панель навигации находилась вдоль стороны, а не сверху. При этом должно быть просто настроить CSS так, чтобы он выглядел так, как мы хотим, и это сохраняет простую структуру управления вкладками, которая поставляется с tabBox, вместо того, чтобы придумывать что-то самобытное.

Мне удалось сделать вкладки вертикально, но я не знаю достаточно, чтобы их можно было расположить сбоку. Ниже то, что я имею до сих пор:

require(shiny)
require(shinydashboard)

fancy_tabs <- tabBox(width = 12,
                    id = "tabset1", height = "200px",
                    tabPanel("these go", box("wow it really works")),
                    tabPanel("on the side", "pls help")
)
fancy_tabs$children[[1]]$children[[1]]$attribs$class <- "nav flex-column shiny-tab-input"

ui <- dashboardPage(
  dashboardHeader( ),
  dashboardSidebar(
    sidebarMenu(
      menuItem("page 1")
    )
  ),
  dashboardBody(
    fancy_tabs
  )
)

server <- function(input, output, session){}

shinyApp(ui, server)


Любая помощь в том, как исправить мой текущий пример, была бы полезна, или любые другие подходы к решению второй проблемы боковой панели. Как только у меня будет рабочий пример, я оберну все это в свою собственную функцию.

1 Ответ

0 голосов
/ 10 апреля 2019

Мне удалось получить решение, используя функции verticalTabsetPanel и verticalTabPanel из пакета shinyWidgets.Я думаю, что есть лучшее решение, но для этого потребуется больше опыта работы с клиентом, чем у меня.

...