es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Título dinámico para shinydashboard(Plus)

Cuando defino el ui para mi aplicación shinydashBoardPlus, puedo definir un título:

ui <- shinydashboardPlus::dashboardPage(
    header=shinydashboardPlus::dashboardHeader(title="Mi Aplicación", 
    ...

Sin embargo, me gustaría usar el espacio a la derecha del menú de hamburguesa para mostrar texto de forma dinámica (por ejemplo, el modo de trabajo actual). Como se muestra en la siguiente imagen:

Example Title

Me gustaría hacer esto porque tengo varias pestañas que trabajan en el mismo “grupo”, por lo que no puedo incluir esta información en la pestaña en sí.

¿Es esto posible y cómo se hace?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Sí, es posible utilizar el espacio a la derecha del menú Hamburguesa para texto dinámico en una aplicación shinydashboardPlus. Puedes lograr esto incluyendo una fluidRow con una box que contenga el texto dinámico en la definición de tu dashboardHeader, de esta manera:

    “`{r}
    ui <- shinydashboardPlus::dashboardPage(
    header = shinydashboardPlus::dashboardHeader(
    title = “Mi Aplicación”,
    left_menu = tagList(
    shiny::sidebarMenu(

    )
    ),
    right_ui = tagList(
    shiny::fluidRow(
    shiny::box(
    id = “work_modus_box”,
    width = 12,
    height = 50,
    background = “darkslategray”,
    shiny::div(
    id = “work_modus_text”,
    style = “color: white; font-size: 24px; text-align: right; padding-top: 7px;”,
    “Modo Predeterminado”
    )
    )
    )
    )
    ),
    body = shinydashboardPlus::dashboardBody(

    )
    )


    En este ejemplo, el argumento `right_ui` de la función `dashboardHeader` se utiliza para definir el texto dinámico. Especificamos una `fluidRow` que contiene una `box` con un `id` de `"work_modus_box"`, un ancho de 12 (es decir, ancho completo) y una altura de 50 píxeles. Utilizamos el argumento `background` para establecer el color de la caja y la función `shiny::div` dentro de la caja para definir el texto real. Damos a este `div` un `id` de `"work_modus_text"` y utilizamos el argumento `style` para establecer el color, tamaño de fuente, alineación de texto y relleno del texto. Para actualizar el texto dinámico, puedes utilizar una función `renderText` en el código del servidor, de esta manera: ```{r} server <- function(input, output, session) { work_modus <- reactive({ # Código para determinar el modo de trabajo actual aquí return("Modo Predeterminado") }) output$work_modus_text <- shiny::renderText({ return(work_modus()) }) }

    En este ejemplo, definimos una variable reactive llamada work_modus que determina el modo de trabajo actual basado en algún código que necesitarías escribir. Esto podría basarse en la entrada del usuario, configuraciones del sistema u otro factor. Luego, utilizamos una función shiny::renderText para renderizar la variable work_modus y actualizar el texto en el div work_modus_text. Ten en cuenta que la referencia output$work_modus_text en la función renderText corresponde al id del div que definimos en el ui.

Comments are closed.