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:
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?
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 unafluidRow
con unabox
que contenga el texto dinámico en la definición de tudashboardHeader
, 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, definimos una variable
reactive
llamadawork_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ónshiny::renderText
para renderizar la variablework_modus
y actualizar el texto en eldiv
work_modus_text
. Ten en cuenta que la referenciaoutput$work_modus_text
en la funciónrenderText
corresponde alid
deldiv
que definimos en elui
.