根据选项卡选择,在闪亮仪表板的右侧边栏中显示控件栏Menu() [英] Display controlbarMenu() in right sidebar of shiny dashboard based on tab selection

查看:0
本文介绍了根据选项卡选择,在闪亮仪表板的右侧边栏中显示控件栏Menu()的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个闪亮的应用程序,下面有3个不同的标签,一个侧边栏和一个右边栏。我希望每次我移动到另一个选项卡时,右侧侧边栏的内容都会更改并显示不同的小工具。在第三个名称中,我想添加一个controlbarMenu()。如何才能使其仅在I在第三个选项卡中时才显示?

library(shiny)
library(shinydashboard)
library(shinydashboardPlus)

shinyApp(
  ui = tags$body(class="skin-blue sidebar-mini control-sidebar-open",dashboardPage(
    options = list(sidebarExpandOnHover = TRUE),
    header = dashboardHeader(title = "Investment Advisor Monitoring - Insider Trading",titleWidth = 450),
    
    sidebar = dashboardSidebar(minified = F, collapsed = F,
                               h4("Investment Selected")
                               
                               
    ),
    body = dashboardBody(
      h3('Results'),
      tabsetPanel(id = "tabs",
                  tabPanel("InsiderTraining"),
                  tabPanel("Switching"),
                  tabPanel("Tax Loss Harvesting")
      )
    ),
    controlbar = dashboardControlbar(width = 300,
                                     #controlbarMenu(
                                      # id = "menu",
                                       #controlbarItem(
                                        # "Tab 1",
                                         #"Welcome to tab 1"
                                       #),
                                       #controlbarItem(
                                        # "Tab 2",
                                         #"Welcome to tab 2"
                                       #)
                                     #)
                                     h4("Insider Trading Parameters"),              
                                     uiOutput("mytab21"), uiOutput("mytab22"),uiOutput("mytab23")
                                     
                                     
    ),
    title = "DashboardPage"
  )),
  server = function(input, output) { 
    
    
    output$mytab21 <- renderUI({
      tagList(
        conditionalPanel(condition = 'input.tabs=="InsiderTraining"',
                         selectInput("InsiderTradingModel", "Insider Trading Model",
                                     c("Dynamic" = "Dynamic",
                                       "AI based" = "AIbased")),
                         #textInput("StockTicker", "Enter Stock Symbol", value = "NFLX"),
                         selectInput("ivar", "Choose a variable", choices = colnames(iris))
        ))
    })
    output$mytab22 <- renderUI({
      tagList(
        conditionalPanel(condition = 'input.tabs=="Switching"',
                         selectInput("InsiderTradingModel2", "Insider Trading Model 2",
                                     c("Dynamic" = "Dynamic",
                                       "BI based" = "BIbased")),
                         sliderInput('periodss','Periods',min=1,max=100,value=30),
                         selectInput("pvar", "Choose a variable", choices = colnames(pressure))
        ))
    })
    output$mytab23 <- renderUI({
      tagList(
        conditionalPanel(condition = 'input.tabs=="Switching"',
                         
        ))
    })   
  }
)

推荐答案

可能您正在寻找

menu <- controlbarMenu(
  id = "controlbarMenu",
  controlbarItem(
    "Tab 1",
    "Welcome to tab 1"
  ),
  controlbarItem(
    "Tab 2",
    numericInput("num", "Observations:", 200, min = 1, max = 1000, step = 100)
  )
)

library(shiny)
library(shinydashboard)
library(shinydashboardPlus)

shinyApp(
  ui = tags$body(class="skin-blue sidebar-mini control-sidebar-open",dashboardPage(
    options = list(sidebarExpandOnHover = TRUE),
    header = dashboardHeader(title = "Investment Advisor Monitoring - Insider Trading",titleWidth = 450),

    sidebar = dashboardSidebar(minified = F, collapsed = F,
                               h4("Investment Selected"),
                               uiOutput("mytab11"), uiOutput("mytab12")

                               #textInput("StockTicker3", "Enter Stock Symbol 3", value = "AMZN")
    ),
    body = dashboardBody(
      h3('Results'),
      tabsetPanel(id = "tabs",
        tabPanel("InsiderTraining"),
        tabPanel("Switching"),
        tabPanel("Tax Loss Harvesting")
      )
    ),
    controlbar = dashboardControlbar(width = 300,
                                     h4("Insider Trading Parameters"),
                                     uiOutput("mytab21"), uiOutput("mytab22"), uiOutput("mytab32")

                                     #selectInput("InsiderTradingModel3", "Insider Trading Model 3",
                                     #           c("Dynamic" = "Dynamic",
                                     #            "AI based" = "AIbased"))
    ),
    title = "DashboardPage"
  )),
  server = function(input, output) {

    output$mytab11 <- renderUI({
      tagList(
        conditionalPanel(condition = 'input.tabs=="InsiderTraining"',
                         textInput("StockTicker", "Enter Stock Symbol", value = "NFLX"),
                         sliderInput('periods','Periods',min=1,max=120,value=60),
                         selectInput("mtvar", "Choose a variable", choices = colnames(mtcars))
        ))
    })
    output$mytab12 <- renderUI({
      tagList(
        conditionalPanel(condition = 'input.tabs=="Switching"',
                         textInput("StockTicker2", "Enter Stock Symbol", value = "APPL"),
                         selectInput("cvar", "Choose a variable", choices = colnames(cars))
        ))
    })

    output$mytab21 <- renderUI({
      tagList(
        conditionalPanel(condition = 'input.tabs=="InsiderTraining"',
                         selectInput("InsiderTradingModel", "Insider Trading Model",
                                     c("Dynamic" = "Dynamic",
                                       "AI based" = "AIbased")),
                         #textInput("StockTicker", "Enter Stock Symbol", value = "NFLX"),
                         selectInput("ivar", "Choose a variable", choices = colnames(iris))
        ))
    })
    output$mytab22 <- renderUI({
      tagList(
        conditionalPanel(condition = 'input.tabs=="Switching"',
                         selectInput("InsiderTradingModel2", "Insider Trading Model 2",
                                     c("Dynamic" = "Dynamic",
                                       "BI based" = "BIbased")),
                         sliderInput('periodss','Periods',min=1,max=100,value=30),
                         selectInput("pvar", "Choose a variable", choices = colnames(pressure))
        ))
    })
    output$mytab32 <- renderUI({
      tagList(
        conditionalPanel(condition = 'input.tabs=="Tax Loss Harvesting"',
                         selectInput("pvar", "Choose a variable", choices = colnames(rock)),
                         menu
        ))
    })
    
  }
)

这篇关于根据选项卡选择,在闪亮仪表板的右侧边栏中显示控件栏Menu()的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆