Popover / tooltip for a text in shiny app using shinybs

5.6k Views Asked by At

Is there a way to add popover or a tooltip to an

output$Text <- renderText({ c("TestText") }) element, which is then rendered through renderUI, using shinyBS?

2

There are 2 best solutions below

2
On BEST ANSWER

Something like this do?

Base Shiny

rm(list=ls())
library(shiny)

ui <- basicPage(
  headerPanel("Tooltip test"),
  mainPanel(
    column(3,tags$div(title="Tooltip works",verbatimTextOutput("Text")))
  )
)

server <- shinyServer(function(input, output,session) {
  
  output$Text <- renderText({ c("TestText") })
  
})
shinyApp(ui = ui, server = server)

enter image description here

ShinyBS

rm(list=ls())
library(shiny)
library(shinyBS)

ui <- basicPage(
  headerPanel("Tooltip test"),
  bsTooltip("Text", "Tooltip works", placement = "bottom", trigger = "hover",
            options = NULL),
  mainPanel(
    column(3,verbatimTextOutput("Text"))
  )
)

server <- shinyServer(function(input, output,session) {
  
  output$Text <- renderText({ c("TestText") })
  
})
shinyApp(ui = ui, server = server)

enter image description here

2
On

In general you can tooltips on any Input and Output object by using their id. For example, I added a tooltip on a downloadButton whose id is downloadData, in the UI.

sidebarPanel(
  downloadButton("downloadData",
    label = "Save and check the Employee List"),
  bsTooltip("downloadData",
     'This is the tooltip where you can add double quotes "like this"'),
      placement = "bottom", trigger = "hover")
)