2016-07-09 9 views
-2

問題サイドバーのmenuItemにリストを設定したいですか?しかし、私は、「CWEタイトルをロードするためにクリックして上のメニューアイテムをクリックする必要が、それは移入するために、その後、他のメニューアイテムをクリックしR - 光沢のあるダッシュボードのサイドバーに入れる方法menuItem

私はリストを非表示にできるようにしたい:。

library(shinydashboard) 

cwetitles <- c("criosphinx","bibliophilic","billing","rudolf", 
    "overromanticizing","nonunderstandable","carboniferous","wan", 
    "calcanei","inimically","unenlivening","scissure","flamboyantly", 
    "hypotonicity","impressionableness","coligny","attender", 
    "perspective","enumclaw","diddicoy") 

ui <- dashboardPage(
dashboardHeader(title ="CVE Reporting Dashboard", titleWidth = 350), 
dashboardSidebar(
sidebarMenu(id = "tabs", 
    menuItem("Overview", tabName="summary", icon=icon("info-circle")), 
    menuItem("Dashboard", tabName = "dashboard", icon=icon("dashboard")), 
    menuItem("Charts", tabName = "charts", icon = icon("bar-chart-o")), 
    menuItem("Click to View CVE Category", icon = icon("info-circle"), 
    menuSubItem("General CVEs",icon=icon("th"),tabName ="cvetable"), 
    menuSubItem("Web Applications CVEs",icon=icon("th"),tabName ="WASC") 
), 
    actionButton(inputId="clearAll", label="Clear selection", icon=icon("square-o"),style="color:#fff; background-color:#337ab7; border-color: #2e6da4"), 
    actionButton(inputId="selectAll", label="Select all", icon=icon("check-square-o"),style="color:#fff; background-color: #337ab7; border-color: #2e6da4"), 
    menuItem("Click to Load CWE Titles",tabName = "cwetitlesControl", icon = icon("th"), uiOutput("cwetitlesControl"), selected = TRUE) 
    ) 
),  

dashboardBody(
tabItems(
    tabItem(tabName = "summary",includeMarkdown("about.md")) 
) 
) 
)  

server <- function(input, output) { 

     # use a reactive value to represent group level selection 
     values <- reactiveValues() 
     values$cwetitles <- cwetitles 
     # Create event type checkbox 
     output$cwetitlesControl <- renderUI({ 
     withProgress(message = 'Calculation in progress', 
        detail = 'This may take a while...', value = 0, { 
         for (i in 1:15) { 
         incProgress(1/15) 
         Sys.sleep(0.25) 
         } 
        }) 
     checkboxGroupInput('cwetitles', 'CWE Titles:',choices = cwetitles, selected = values$cwetitles) 
     }) 
} 

shinyApp(ui, server) 
+0

あなたのサーバ機能で 'cwetitles'入力(' checkboxGroupInput')ことを持っているように見えます。それはおそらくべきあなたの中にいるかもしれない、それはおそらく問題ですか? – rosscova

+0

はどこにいても問題ありませんcated。私はそれがサーバーの中で欲しい。私がuiOutput()をmenuItemに入れないと、すぐに値が設定されます。しかし、私はそれを隠すことができるようにしたい –

+0

あなたはあなたのUIで 'checkboxGroupInput'を定義したら、あなたのサーバーで' updateCheckboxGroupInput'を使って反応入力を持つことができます。 'conditionalPanel'を使って表示/非表示、' shinyjs'を使って表示/非表示をすることができます。あなたが望んでいることを達成するでしょうか? – rosscova

答えて

0

おかげで@いくつかの方向性を提供するためのrosscova。これは私が思い付いたし、それが機能するソリューションです。

library(shinydashboard) 

cwetitles <- c("criosphinx","bibliophilic","billing","rudolf", 
       "overromanticizing","nonunderstandable","carboniferous","wan", 
       "calcanei","inimically","unenlivening","scissure","flamboyantly", 
       "hypotonicity","impressionableness","coligny","attender", 
       "perspective","enumclaw","diddicoy") 

ui <- dashboardPage(
    dashboardHeader(title ="CVE Reporting Dashboard", titleWidth = 350), 
    dashboardSidebar(
    sidebarMenu(id = "tabs", 
       menuItem("Overview", tabName="summary", icon=icon("info-circle")), 
       menuItem("Dashboard", tabName = "dashboard", icon=icon("dashboard")), 
       menuItem("Charts", tabName = "charts", icon = icon("bar-chart-o")), 
       menuItem("Click to View CVE Category", icon = icon("info-circle"), 
         menuSubItem("General CVEs",icon=icon("th"),tabName ="cvetable"), 
         menuSubItem("Web Applications CVEs",icon=icon("th"),tabName ="WASC") 
       ), 
       actionButton(inputId="clearAll", label="Clear selection", icon=icon("square-o"),style="color:#fff; background-color:#337ab7; border-color: #2e6da4"), 
       actionButton(inputId="selectAll", label="Select all", icon=icon("check-square-o"),style="color:#fff; background-color: #337ab7; border-color: #2e6da4"), 
       menuItem("Click to Load CWE Titles",tabName = "cwetitlesControl", 
         icon = icon("th"), checkboxGroupInput('cwetitles', 
                   'CWE Titles:', 
                   choices = cwetitles, 
                   selected = cwetitles), selected = TRUE) 
    ) 
),  

    dashboardBody(
    tabItems(
     tabItem(tabName = "summary",includeMarkdown("about.md")) 
    ) 
) 
) 

server = function(input, output, session) { 
    values <- reactiveValues() 
    values$cwetitles <- cwetitles 

    observe({ 
    if(input$selectAll == 0) return() 
    updateCheckboxGroupInput(session,'cwetitles','CWE Titles:', 
          choices = cwetitles, 
          selected = values$cwetitles) 
    #values$cwetitles <- cwetitles 
    }) 

    observe({ 
    if(input$clearAll == 0) return() 
    updateCheckboxGroupInput(session,'cwetitles','CWE Titles:', 
          choices = cwetitles, 
          selected = c()) 
    #values$cwetitles <- NULL # empty list 
    }) 

} 

shinyApp(ui, server) 
関連する問題