css - app - tags$style shiny
Propiedades reactivas de CSS en R Shiny (1)
Me gustaría controlar selectivamente el escalado de fuentes con una barra deslizante. es posible?
He adjuntado un MRE que creo que demuestra dónde estoy estancado y qué estoy tratando de lograr.
if(!require(''pacman'')) {install.packages("pacman")} # Ensures that pacman is installed for auto-installation
pacman::p_load(shiny, lipsum) # automatically installs and loads packages.
ui <- fluidPage( # Sidebar with a slider input for font size
sidebarLayout(sidebarPanel(
sliderInput("font_size", "Font Size:", min = 1, max = 200, value = 70
)
),
mainPanel(
wellPanel(
id = "textPanel",
style = "overflow-y:scroll; max-height: 50vh; font-size: 70%",
#style = paste0("overflow-y:scroll; max-height: 50vh; font-size: ",
# output$text_size,"70%"),
paste0(lipsum[2:10], collapse = "")))))
# Define server logic
server <- function(input, output) {
output$text_size = renderText({input$font_size})}
# Run the application
shinyApp(ui = ui, server = server)
Puede usar shinyjs
para ejecutar código JavaScript para cambiar cualquier CSS, en este caso el font-size
.
library(shiny)
library(shinyjs)
ui <- fluidPage(
shinyjs::useShinyjs(),
sidebarLayout(
sidebarPanel(
sliderInput("font_size", "Font Size:", min = 1, max = 200, value = 70)
),
mainPanel(
wellPanel(
id = "textPanel",
style = "overflow-y:scroll; max-height: 50vh; font-size: 70%",
paste0("Hello", collapse = ""))
)
)
)
server <- function(input, output) {
observeEvent(input$font_size, {
runjs(paste0(''$("#textPanel").css("font-size","'', input$font_size, ''%")''))
})
}
shinyApp(ui = ui, server = server)