Как я могу иметь несколько гиперссылок в одном столбце, используя функцию рендеринга JS? - PullRequest
0 голосов
/ 05 июля 2019

У меня блестящее приложение, которое отображает данные (используя DTedit R pckg), и я хотел бы:

1) Вставить все гиперссылки в одну ячейку , разделенные новой строкой

2) Открыть гиперссылки в другой вкладке .

Для пункта 2 я пробовал разные версии 'target = "_ blank", но он не работает. Я предполагаю, что я делаю что-то не так с цитатами.

#E.g.: 
<a href=' + data + ' target='_blank'>' + 'PanelApp' + '</a>' ;}"

Я тоже пробовал с двойными кавычками (target = "_ blank"), но не распознал их (у меня нулевой опыт в JS)

Это пример приложения:

library(shiny)
library(DT)
#devtools::install_github('jbryer/DTedit')
library(DTedit)

ui = fluidPage(
  h3("How can I have all the links in one column separated by <br> ?"),
  mainPanel(
    shiny::uiOutput("mytable")
  )
)

server = function(input, output){

  #dataframe
  mydata <- data.frame(Gene = c("GBE1", "KMT2D"),
                       Metric = c(10, 20))

  ## Add hyperlinks
  mydata$Decipher <- paste0("https://decipher.sanger.ac.uk/gene/", mydata$Gene, "#overview/protein-info")
  mydata$PanelApp <- paste0("https://panelapp.genomicsengland.co.uk/panels/entities/", mydata$Gene)

  #render table
  DTedit::dtedit(input, output,
                 name = 'mytable',
                 thedata = mydata,
                 datatable.options = list(
                   columnDefs = list(
                     list(targets= 2, 
                          render = JS("function(data){return '<a href=' + data + '>' + 'PanelApp' + '</a>' ;}")),
                     list(targets= 3, 
                          render = JS("function(data){return '<a href=' + data + '>' + 'Decipher' + '</a>' ;}"))
                     )
                   )
                 )
  }

shinyApp(ui = ui, server = server, options = list(height = 1080))

Может кто-нибудь пролить свет здесь?

СПАСИБО !!

...