Wireframing
Mari kita kembali ke contoh sebelumnya tentang dashboard untuk hasil analisis sebuah turnamen sepak bola. Pada latihan sebelumnya, Anda sudah menyiapkan header dan sidebar.
Secara khusus, sebuah tombol di sidebar didefinisikan dengan menuItem() dan ditempatkan di dalam sidebarMenu(). Anda mungkin memperhatikan bahwa tombol-tombol ini belum melakukan apa pun saat ini. Sekarang Anda akan menghubungkan tombol-tombol sidebar tersebut ke halaman yang berbeda di body UI. Ini masih bagian dari proses wireframing, saat Anda masih menentukan posisi setiap objek. Setiap halaman di dalam body didefinisikan oleh tabItem(), dan harus ditempatkan di dalam tabItems.
Paket shiny dan shinydashboard sudah dimuat untuk Anda. Selain itu, header dashboard sudah disimpan sebagai header.
Latihan ini merupakan bagian dari kursus
Membangun Dashboard dengan shinydashboard
Latihan interaktif langsung praktik
Cobalah latihan ini dengan melengkapi kode contoh ini.
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)