2015-05-24 35 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