Wireframing
Vamos revisitar o exemplo anterior do dashboard para resultados de análise de um torneio de futebol. Nos exercícios anteriores, você já configurou o cabeçalho e a barra lateral.
Em particular, um botão na barra lateral é definido por menuItem() e fica dentro de sidebarMenu(). Você deve ter notado que esses botões ainda não fazem nada. Agora, você vai ligar esses botões da barra lateral a uma página diferente no corpo da UI. Isso ainda faz parte do processo de wireframing, no qual você decide as posições de cada elemento. Cada página dentro do corpo é definida por tabItem() e deve estar contida em tabItems.
Os pacotes shiny e shinydashboard já foram carregados para você. Além disso, o cabeçalho do dashboard já foi armazenado como header.
Este exercicio faz parte do curso
Construindo dashboards com shinydashboard
exercicio interativo prático
Tente este exercicio completando este código de exemplo.
library(shiny)
library(shinydashboard)
header <- dashboardHeader(
title = "Analysis results for global soccer tournament",
titleWidth = 400,
dropdownMenu(type = "messages",
messageItem("Colleage", "Hello world!")),
dropdownMenu(type = "notifications",
notificationItem("Have you rested today?"),
taskItem("Dashboard completion", value = 20)))
sidebar <- dashboardSidebar(
sidebarMenu(
width = 400,
id = "pages",
menuItem("Match details", tabName = "matches", icon = icon("futbol"),
badgeLabel = "New content!", badgeColor = "green"),
menuItem("Overall results", tabName = "overall",
menuSubItem("Charts", tabName = "charts"),
menuSubItem("Data table", tabName = "datatable", icon=icon("file-excel"))),
menuItem("A slider", sliderInput("slider", "Number of goals", min=0, max=10, value = 2))
)
)
body <- dashboardBody(
# Link "matches" to an empty page in the body
___(
___(___, "Match information goes here")
)
)
ui <- dashboardPage(header, sidebar, body)
server <- function(input, output){}
shinyApp(ui, server)