I have the following shiny app:
library(shiny)
ui <- fluidPage(
titlePanel("Datatable for dynamic text selection"),
sidebarLayout(
sidebarPanel(
dataTableOutput("pairs")
),
mainPanel(
strong("Sentence"), htmlOutput("content"),
strong("Selection"),textOutput("selection")
)
)
)
server <- function(input, output) {
output$content <- renderText("A sample sentence for demo purpose")
df <- data.frame(SrNo=1:5, Pairs=c("A sample", "sample sentence",
"sentence for", "for demo", "demo purpose"))
output$pairs <- renderDataTable(datatable(df, selection = "single" ))
observeEvent(input$pairs_cell_clicked,{
info = input$pairs_cell_clicked
if(is.null(info$value)) return()
output$selection <- renderText(info$value)
})
}
shinyApp(ui = ui, server = server)
The app displays a sentence in htmlOutput
and corresponding pair of words in datatable
. At present clicking any of the pair of words in datatable displays it under the Selection
.
How can I modify the code so that instead of displaying the pair of words, it appears as selection in htmlOutput
?