Description
Describe the problem
I came across an issue where an input disappears that seems to be related to the specific combination of inputs that I use in my popover. In the example below, I have a popover that contains a selectizeInput
with a tooltip
and a 'Edit' button which opens a modal. When the modal is open, the popover is still visible and in my real app overlays the modal content , so I close it with toggle_popover
when the 'Edit' button is clicked.
However, when closing the popover using toggle_popover
, the first selectizeInput inside the popover disappears when reopening the popover the next time.
This behavior only seems to occur for the specific combination of tooltip
, actionButton
that is part of the input label and using toggle_popover
to close the popover. Either manually closing the popover, or removing the tooltip around the selectizeInput
, or using the 'Open Modal' button instead of the 'Edit' button to trigger opening of the modal all result in the expected behavior where the input does not disappear.
# Include a minimal and reproducible example here
library(shiny)
library(bslib)
library(bsicons)
ui <- bslib::page_fillable(
bslib::popover(
id = "test.popover",
trigger = bsicons::bs_icon(name = "house-gear-fill"),
# removing this tooltip results in the expected behavior
bslib::tooltip(
shiny::selectizeInput(
inputId = "disappearing.input",
label = shiny::span("Input that disappears",
# moving the actionButton to a place outside the label also results in the expected behavior
shiny::actionButton("edit", "Edit", class = "btn-sm ms-5")),
choices = letters[1:3],
selected = NULL
),
"Example tooltip text"
),
bslib::tooltip(
trigger = shiny::selectizeInput("other.input", "Other input", choices = letters[1:3], selected = NULL),
"Example tooltip text"
),
shiny::actionButton("open.modal", label = "Open Modal")
)
)
server <- function(input, output, session){
observeEvent({
# triggering this event with the 'edit' button causes selectizeInput to disappear when reopening the popover
input$edit
# triggering this event with the 'open.modal' button instead results in the expected behavior
# input$open.modal
}, {
# removing this line and manually closing the popover also results in the expected behavior
bslib::toggle_popover(id = "test.popover", show = FALSE)
showModal(
modalDialog(title = "Edit Modal")
)
})
}
shinyApp(ui = ui, server = server)
Session Info
─ Session info ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── setting value version R version 4.4.3 (2025-02-28) os Ubuntu 22.04.5 LTS system x86_64, linux-gnu ui RStudio language (EN) collate C.UTF-8 ctype C.UTF-8 tz Europe/Berlin date 2025-05-27 rstudio 2023.06.1+524 Mountain Hydrangea (server) pandoc 2.9.2.1 @ /usr/bin/pandoc quarto 1.3.353 @ /usr/lib/rstudio-server/bin/quarto/bin/quarto
─ Packages ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
package * version date (UTC) lib source
bsicons * 0.1.2 2023-11-04 [2] CRAN (R 4.4.3)
bslib * 0.9.0 2025-01-30 [2] CRAN (R 4.4.3)
cachem 1.1.0 2024-05-16 [2] CRAN (R 4.4.3)
cli 3.6.4 2025-02-13 [2] CRAN (R 4.4.3)
devtools 2.4.5 2022-10-11 [2] CRAN (R 4.4.3)
digest 0.6.37 2024-08-19 [2] CRAN (R 4.4.3)
ellipsis 0.3.2 2021-04-29 [2] CRAN (R 4.4.3)
fastmap 1.2.0 2024-05-15 [2] CRAN (R 4.4.3)
fs 1.6.5 2024-10-30 [2] CRAN (R 4.4.3)
glue 1.8.0 2024-09-30 [2] CRAN (R 4.4.3)
htmltools 0.5.8.1 2024-04-04 [2] CRAN (R 4.4.3)
htmlwidgets 1.6.4 2023-12-06 [2] CRAN (R 4.4.3)
httpuv 1.6.15 2024-03-26 [2] CRAN (R 4.4.3)
jquerylib 0.1.4 2021-04-26 [2] CRAN (R 4.4.3)
jsonlite 1.9.1 2025-03-03 [2] CRAN (R 4.4.3)
later 1.4.1 2024-11-27 [2] CRAN (R 4.4.3)
lifecycle 1.0.4 2023-11-07 [2] CRAN (R 4.4.3)
magrittr 2.0.3 2022-03-30 [2] CRAN (R 4.4.3)
memoise 2.0.1 2021-11-26 [2] CRAN (R 4.4.3)
mime 0.12 2021-09-28 [2] CRAN (R 4.4.3)
miniUI 0.1.1.1 2018-05-18 [2] CRAN (R 4.4.3)
pillar 1.10.1 2025-01-07 [2] CRAN (R 4.4.3)
pkgbuild 1.4.6 2025-01-16 [2] CRAN (R 4.4.3)
pkgconfig 2.0.3 2019-09-22 [2] CRAN (R 4.4.3)
pkgload 1.4.0 2024-06-28 [2] CRAN (R 4.4.3)
profvis 0.4.0 2024-09-20 [2] CRAN (R 4.4.3)
promises 1.3.2 2024-11-28 [2] CRAN (R 4.4.3)
purrr 1.0.4 2025-02-05 [2] CRAN (R 4.4.3)
R6 2.6.1 2025-02-15 [2] CRAN (R 4.4.3)
Rcpp 1.0.14 2025-01-12 [2] CRAN (R 4.4.3)
remotes 2.5.0 2024-03-17 [2] CRAN (R 4.4.3)
rlang 1.1.5 2025-01-17 [2] CRAN (R 4.4.3)
rstudioapi 0.17.1 2024-10-22 [2] CRAN (R 4.4.3)
sass 0.4.9 2024-03-15 [2] CRAN (R 4.4.3)
sessioninfo 1.2.3 2025-02-05 [2] CRAN (R 4.4.3)
shiny * 1.10.0 2024-12-14 [2] CRAN (R 4.4.3)
tibble 3.2.1 2023-03-20 [2] CRAN (R 4.4.3)
urlchecker 1.0.1 2021-11-30 [2] CRAN (R 4.4.3)
usethis 3.1.0 2024-11-26 [2] CRAN (R 4.4.3)
vctrs 0.6.5 2023-12-01 [2] CRAN (R 4.4.3)
xtable 1.8-4 2019-04-21 [2] CRAN (R 4.4.3)