2015-05-24 31 views
0

我正在测试shinydashboard软件包,我无法弄清楚特定情况下发生了什么。我的仪表盘有4周的TabItems(抱歉,这是在荷兰):Shinydashboars tabItems无法正常工作

  • PROGRAMMA
  • Deelnemers
  • Notulen
  • Overige

仪表板负荷正常,但TabItem的四(的”内容在“Notulen”的内容下面显示了“过度”)。

的应用程序的代码如下:

library(shiny) 
library(shinydashboard) 
library(markdown) 
library(DT) 


# Simple header ----------------------------------------------------------- 

header <- dashboardHeader(title="Economencongres") 

# Sidebar -------------------------------------------------------------- 

sidebar <- ## Sidebar content 
    dashboardSidebar(
    sidebarMenu(
     menuItem(
     "Programma 2015", 
     tabName = "Programma", 
     icon = icon("info-circle") 
    ), 
     menuItem(
     "Deelnemers", 
     tabName = "Deelnemers", 
     icon = icon("users") 
    ), 
     menuItem(
     "Notulen", 
     tabName = "Notulen", 
     icon = icon("file-text") 
    ), 
     menuItem(
     "Presentaties", 
     tabName = "Presentaties", 
     icon = icon("file-movie-o") 
    ) 
    ) 
) 

# Compose dashboard body -------------------------------------------------- 

body <- dashboardBody(
    tabItems(
    # First tab content 
    # Boxes need to be put in a row (or column) 
    tabItem(
     tabName = "Programma", 
     fluidRow(
     tabBox(
      width = 12, 
      title = "", 
      id = "tabset1", height = "250px", 
      tabPanel(
      "Agenda", 
      h2(""), 
      width = 12, 
      h2("Agenda d.d. 25-03-2015"), 
      includeHTML("Agenda.html") 
     ), 
      tabPanel(
      "Presentatie ABN AMRO", 
      h2("Danny van Brummelen"), 
      tags$iframe(
      width="800", 
      height="600", 
      seamless="seamless", 
      src="http://www.allmoocs.nl/wordpress/wp-content/uploads/2015/05/ABN.pdf" 
      ) 
     ), 
      tabPanel(
      "Presentatie HAN BKMER", 
      h2("Witek ten Hove"), 
      h4("Klik op de presentatie en navigeer met de pijlen op het toetsenbord"), 
      tags$iframe(
      width="1000", 
      height="800", 
      seamless="seamless", 
      src="http://witusj.github.io/Economencongres/economen25032015.html" 
      ) 
     ) 
     ) # End of tabBox 
    ) # End of fluidRow 
    ), # End of tabItem 

    # Second tab content 
    # Boxes need to be put in a row (or column) 
    tabItem(
     tabName = "Deelnemers", 
     fluidRow(
     tabBox(
      width = 12, 
      title = "", 
      id = "tabset2", height = "250px", 
      tabPanel("Kaart", 
        h2(""), 
        tags$iframe(
        width="800", 
        height="600", 
        seamless="seamless", 
        src="http://www.allmoocs.nl/wordpress/wp-content/uploads/2015/05/map.html" 
        ) 
     ), 
      tabPanel("Lijst", 
        DT::dataTableOutput('deeln') 
     ) 
     ) # End of tabBox 
    ) # End of fluidRow, 
    ), # End of tabItem 

    # Third tab content 
    # Boxes need to be put in a row (or column) 
    tabItem(
     tabName = "Notulen", 
     fluidRow(
     box(
      h2(""), 
      width = 12, 
      includeMarkdown("txt10.md") 
     ), 
     box(
      h2(""), 
      width = 12, 
      includeMarkdown("txt11.md") 
     ), 
     box(
      h2(""), 
      width = 12, 
      includeMarkdown("txt12.md") 
     ) 
    ) # End of fluidRow 
    ), # End of tabItem 

    # Fourth tab content 
    # Boxes need to be put in a row (or column) 
    tabItem(
     tabName = "Presentaties", 
     fluidRow(
     box(
      h2("Hello") 
     ) 
    ) # End of fluidRow 
    ) # End of tabItem 
) ## End tabItems 
) ## End dashboardBody 




# Setup Shiny app UI components ------------------------------------------- 

ui <- dashboardPage(header, sidebar, body, skin = "purple") 

# Setup Shiny app back-end components ------------------------------------- 

server <- function(input, output) { 

    source('map.R') 
    output$deeln <- DT::renderDataTable({ 
    DT::datatable(ec[,c(2:8)]) 

}) 
} 


# Render Shiny app -------------------------------------------------------- 

shinyApp(ui, server) 

一定是我ingnorance,但它的驾驶我疯了!

更新:我清理代码位,但问题仍然存在。

回答

1

我解决了!这个问题似乎是由.md文件造成的。我不知道为什么,但他们阻止了tabItem的关闭。奇怪的是,它似乎首先在RStudio环境中工作,而现在它不工作。然而,在我的AWS Shiny Server上部署后,一切看起来都不错。奇怪的事情发生在这里!

library(shiny) 
library(shinydashboard) 
library(markdown) 
library(DT) 


# Simple header ----------------------------------------------------------- 

header <- dashboardHeader(title="Economencongres") 

# Sidebar -------------------------------------------------------------- 

sidebar <- ## Sidebar content 
    dashboardSidebar(
    sidebarMenu(
     menuItem(
     "Programma 2015", 
     tabName = "Programma", 
     icon = icon("info-circle") 
    ), 
     menuItem(
     "Deelnemers", 
     tabName = "Deelnemers", 
     icon = icon("users") 
    ), 
     menuItem(
     "Notulen", 
     tabName = "Notulen", 
     icon = icon("file-text") 
    ), 
     menuItem(
     "Presentaties", 
     tabName = "Presentaties", 
     icon = icon("file-movie-o") 
    ) 
    ) 
) 

# Compose dashboard body -------------------------------------------------- 

body <- dashboardBody(
    tabItems(

    # First tab content 
    # Boxes need to be put in a row (or column) 
    tabItem(
     tabName = "Programma", 
     fluidRow(
     box(
      width = 12, 
      h2("Agenda d.d. 25-03-2015"), 
      includeHTML("Agenda.html") 
     ) 
    ) # End of fluidRow 
    ), # End of tabItem 

    # Second tab content 
    # Boxes need to be put in a row (or column) 
    tabItem(
     tabName = "Deelnemers", 
     fluidRow(
     tabBox(
      width = 12, 
      title = "", 
      id = "tabset2", height = "250px", 
      tabPanel("Kaart", 
        h2(""), 
        tags$iframe(
        width="800", 
        height="600", 
        seamless="seamless", 
        src="http://www.allmoocs.nl/wordpress/wp-content/uploads/2015/05/map.html" 
        ) 
     ), 
      tabPanel("Lijst", 
        DT::dataTableOutput('deeln') 
     ) 
     ) # End of tabBox 
    ) # End of fluidRow, 
    ), # End of tabItem 

    # Third tab content 
    # Boxes need to be put in a row (or column) 
    tabItem(
     tabName = "Notulen", 
     fluidRow(
     box(
      h2(""), 
      width = 12, 
      includeMarkdown("txt10.md") 
     ), 
     box(
      h2(""), 
      width = 12, 
      includeMarkdown("txt11.md") 
     ), 
     box(
      h2(""), 
      width = 12, 
      includeMarkdown("txt12.md") 
     ) 
    ) # End of fluidRow 
    ), # End of tabItem 

    # Fourth tab content 
    # Boxes need to be put in a row (or column) 
    tabItem(
     tabName = "Presentaties", 
     fluidRow(
     tabBox(
      width = 12, 
      title = "", 
      id = "tabset1", 
      height = "250px", 
      tabPanel(
       "Presentatie ABN AMRO", 
       h2("Danny van Brummelen"), 
       box(
       tags$iframe(
       width="800", 
       height="600", 
       seamless="seamless", 
       src="http://www.allmoocs.nl/wordpress/wp-content/uploads/2015/05/ABN.pdf" 
      ) 
      ) 
     ), 
      tabPanel(
       "Presentatie HAN BKMER", 
       h2("Witek ten Hove"), 
       h4("Klik op de presentatie en navigeer met de pijlen op het toetsenbord"), 
       box(
       tags$iframe(
       width="1000", 
       height="800", 
       seamless="seamless", 
       src="http://witusj.github.io/Economencongres/economen25032015.html" 
      ) 
      ) 
     ) 
     ) # End of tabBox 
    ) # End of fluidRow 
    ) # End of tabItem 
) ## End tabItems 
) ## End dashboardBody 




# Setup Shiny app UI components ------------------------------------------- 

ui <- dashboardPage(header, sidebar, body, skin = "purple") 

# Setup Shiny app back-end components ------------------------------------- 

server <- function(input, output) { 

    source('map.R') 
    output$deeln <- DT::renderDataTable({ 
    DT::datatable(ec[,c(2:8)]) 

    }) 
} 


# Render Shiny app -------------------------------------------------------- 

shinyApp(ui, server