Create bootstrap tooltips for any HTML element to be used in shiny applications.
tooltip(
refId,
text,
attr = NULL,
animation = TRUE,
delay = 100,
html = TRUE,
placement = "auto",
trigger = "hover"
)
character
(required):
id of the element the tooltip is to be attached to.
character
(required):
Text to be displayed in the tooltip.
character
(optional):
Attach tooltip to all elements with attribute attr='refId'
.
logical
(with default):
Apply a CSS fade transition to the tooltip.
numeric
(with default):
Delay showing and hiding the tooltip (ms).
logical
(with default):
Insert HTML into the tooltip.
character
(with default):
How to position the tooltip - top
| bottom
| left
| right
| auto
.
When 'auto' is specified, it will dynamically reorient the tooltip.
For example, if placement is 'auto left', the tooltip will display to the
left when possible, otherwise it will display right.
character
(with default):
How tooltip is triggered - click
| hover
| focus
| manual
.
You may pass multiple triggers; separate them with a space.
# javascript code
tt <- tooltip("elementId", "This is a tooltip.")
str(tt)
#> List of 1
#> $ :List of 3
#> ..$ name : chr "head"
#> ..$ attribs : Named list()
#> ..$ children:List of 1
#> .. ..$ :List of 3
#> .. .. ..$ name : chr "script"
#> .. .. ..$ attribs : Named list()
#> .. .. ..$ children:List of 1
#> .. .. .. ..$ : 'html' chr "$(window).load(function(){ $('#elementId').tooltip({ html: true, \n trigger: 'hover', title: '"| __truncated__
#> .. .. .. .. ..- attr(*, "html")= logi TRUE
#> .. .. ..- attr(*, "class")= chr "shiny.tag"
#> ..- attr(*, "class")= chr "shiny.tag"
#> - attr(*, "class")= chr [1:2] "shiny.tag.list" "list"
# example app
if (FALSE) {
shinyApp(
ui = fluidPage(
jscolorInput(inputId = "col", label = "JSColor Picker",
value = "21BF6B", position = "right",
mode = "HVS", close = TRUE),
tooltip("col", "This is a JScolor widget"),
checkboxInput("cbox", "Checkbox", FALSE),
tooltip("cbox", "This is a checkbox"),
checkboxGroupInput("cboxg", "Checkbox group", selected = "a",
choices = c("a" = "a",
"b" = "b",
"c" = "c")),
tooltip("cboxg", "This is a <b>checkbox group</b>", html = TRUE),
selectInput("select", "Selectinput", selected = "a", choices = c("a"="a", "b"="b")),
tooltip("select", "This is a text input field", attr = "for", placement = "right"),
passwordInput("pwIn", "Passwordinput"),
tooltip("pwIn", "This is a password input field"),
plotOutput("plot")
),
server = function(input, output) {
output$plot <- renderPlot({
plot(cars, col = input$col, cex = 2, pch = 16)
})
})
}