Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

228
Views
Configure una alerta cuando todas las cajas estén cerradas o colapsadas en shinydashboardPlus

Tengo un tablero brillante con 10 cajas, y que se puede cerrar o plegar. Toda la identificación de la caja comienza con "caja". Estaba intentando configurar un botón de alerta cuando todas las cajas están cerradas o colapsadas.

A continuación se muestra el código del tablero:

 library(shiny) library(shinydashboardPlus) box_create <- function(i){ shinydashboardPlus::box(tags$p(paste0("Box",i)), id = paste0("box", i), closable = TRUE, collapsible = TRUE) } all_box <- purrr::map(1:10, ~box_create(.x)) ui <- dashboardPage( dashboardHeader(), dashboardSidebar(), dashboardBody( all_box ) ) server <- function(input, output, session) { } shinyApp(ui, server)

He notado que al presionar el botón cerrar o colapsar, los conjuntos brillantes muestran = 'ninguno' para ese cuadro. inspeccionar Box1

Entonces, ¿es posible extraer todos los estilos asociados con la identificación que comienza con 'box' y verificar si todas las propiedades de estilo se establecen como 'ninguna' usando jQuery?

about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

Usando la versión de desarrollo de shinydashboardPlus, puede acceder al estado de la caja a través de su id (patrón: input$mybox$collapsed ).

Consulte este artículo relacionado .

Instálelo a través devtools::install_github("RinteRface/shinydashboardPlus")

 library(shiny) library(tools) library(shinydashboard) library(shinydashboardPlus) box_ids <- paste0("box", 1:10) box_create <- function(box_id){ shinydashboardPlus::box(tags$p(toTitleCase(box_id)), id = box_id, closable = TRUE, collapsible = TRUE) } all_boxes <- lapply(box_ids, box_create) ui <- dashboardPage( dashboardHeader(), dashboardSidebar(), dashboardBody( all_boxes ) ) server <- function(input, output, session) { observe({ if(all(sapply(box_ids, function(box_id){input[[box_id]]$collapsed}))){ showModal(modalDialog("All boxes are collapsed!")) } }) # observe({ # print(paste("Is box1 collapsed?", input$box1$collapsed)) # }) } shinyApp(ui, server)

resultado

about 4 years ago · Juan Pablo Isaza Report

0

Pensé que querías un botón cuando todos estaban colapsados O todos estaban cerrados. Aquí hay una solución para eso.

 library(shiny) library(shinydashboard) library(shinydashboardPlus) box_create <- function(i){ shinydashboardPlus::box(tags$p(paste0("Box",i)), id = paste0("box", i), closable = TRUE, collapsible = TRUE) } all_box <- purrr::map(1:10, ~box_create(.x)) ui <- dashboardPage( dashboardHeader(), dashboardSidebar(), dashboardBody( all_box, div(id = "alert_button") ) ) server <- function(input, output, session) { observe({ boxes <- paste0("box", 1:10) visible_status <- sapply(boxes, \(x) input[[x]]$visible) collapsed_status <- sapply(boxes, \(x) input[[x]]$collapsed) if (!any(visible_status) || all(collapsed_status)) { insertUI( selector = "#alert_button", ui = div(id = "added", actionButton("btn","all hidden OR all collapsed")) ) } else { removeUI(selector = "#added") } }) } shinyApp(ui, server)
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!