блестящий Popover и печать таблицы в содержании popover - PullRequest
0 голосов
/ 04 февраля 2020

Я хотел бы иметь всплывающее окно и в содержимом распечатать таблицу (которая в моем случае названа). У меня есть таблица, которая выглядит как data.frame, но когда я запускаю команду typeof (out), я получаю «список»

enter image description here

Я пытался со следующим кодом

addPopover(session=session, id="infocpbayestext", title="", 
         content=HTML(out), placement = "left",
         trigger = "hover", options = list(html = "true"))

И с

addPopover(session=session, id="infocpbayestext", title="", 
         content=HTML(build_infocpbayes_table(out)), placement = "left",
         trigger = "hover", options = list(html = "true"))

, где build_infocpbayes_table - это функция, которая пытается построить таблицу html, например:

"<table><tr><th>index</th><th>Date</th><th>Count</th><th>postprob</th></tr><tr> <td>..</td> <td>..</td> <td>...</td> <td>...</td> </tr></table>"

Но хотя я строю правильную строку, как указано выше, она не появляется в popover.

Есть идеи, как мне это сделать?

Редактировать Чтобы лучше рассмотреть мой код

shinyServer(function(input, output, session) {
output$infocpbayestext <- renderUI ({
  out<-structure(list(Date = c("2003-12", "2007-09", "2007-11"), Count =c(8721L,+ 31341L, 42948L), postprob = c(1, 1, 1)), row.names = c(174L,+ 219L,221L), class = "data.frame") 
addPopover(session=session, id="infocpbayestext", title="", content=HTML(build_infocpbayes_table(out)), placement = "left", trigger = "hover", options = list(html = "true"))
  return(HTML('<button type="button" class="btn btn-info">i</button>'))


})
build_infocpbayes_table <- function(data){
    html.table <- paste('<table style = "border: 1px solid black; padding: 1%; width: 300px;"><tr><th>index</th><th>Date</th><th>Count</th><th>postprob</th></tr><tr>',tags$td(HTML(paste0(rownames(data),collapse=""))),
                  tags$td(HTML(paste0(data$Date,collapse=""))),
                  tags$td(HTML(paste0(data$Count,collapse=""))),
                  tags$td(HTML(paste0(data$postprob,collapse=""))),
                '</tr></table>')
    return(html.table)
}})

shinyUI(uiOutput("infocpbayestext"))
...