Quiero que el usuario pueda abrir un panel de información emergente que les brinde información para ayudar a completar los campos del formulario.
Pude abrir un pequeño navegador web con la información requerida y formateada. Esto funciona bien en una computadora de escritorio pero en un dispositivo móvil:
¿Cómo es posible en R Shiny hacer clic en un icono "ⓘ" y que aparezca un panel pequeño sin marco que:
R Script para una pequeña ventana emergente del navegador
library("shiny") library("shinyjs") library("bslib") provinces <- c("British Columbia", "Alberta", "Saskatchewan", "Manitoba", "Ontario", "Quebec", "New Brunswick", "Nova Scotia", "PEI", "Newfoundland and Labrador") select_input_width <- "220px" ui <- bootstrapPage( useShinyjs(), theme = bs_theme(version = 5, "font-scale" = 1.0), div(class = "container-fluid", selectInput(inputId = "province", label = HTML(paste0("Province ", actionLink("province_info_lnk", "ⓘ"))), choices = provinces, selected = "Ontario", selectize = FALSE, width = select_input_width) ) ) server <- function(input, output, session) { observeEvent(input$province_info_lnk, { # https://javascript.info/popup-windows runjs("let params = `scrollbars=no,resizable=no,status=no,location=no,toolbar=no,menubar=no,width=300,height=335,left=100,top=100`; open('https://google.com', 'test', params);") }) } shinyApp(ui, server)No tengo un dispositivo móvil para probar, pero el enlace que figura en su código dice que las ventanas emergentes no se bloquean si se ejecutan desde el atributo onclick , así que intentaría:
library("shiny") library("bslib") provinces <- c("British Columbia", "Alberta", "Saskatchewan", "Manitoba", "Ontario", "Quebec", "New Brunswick", "Nova Scotia", "PEI", "Newfoundland and Labrador") select_input_width <- "220px" ui <- bootstrapPage( theme = bs_theme(version = 5, "font-scale" = 1.0), div(class = "container-fluid", selectInput( inputId = "province", label = tags$span( tags$label( "Province ", style = "font-weight: bold; font-size: 1.2rem;" ), tags$a( icon("info-circle"), style = "cursor: pointer;", onclick = "open('https://google.com', 'test', 'scrollbars=no,resizable=no,status=no,location=no,toolbar=no,menubar=no,width=300,height=335,left=100,top=100');" ) ), choices = provinces, selected = "Ontario", selectize = FALSE, width = select_input_width) ) ) server <- function(input, output, session) {} shinyApp(ui, server)