MulaiMulai sekarang secara gratis

Penembakan massal: tampilkan bantuan

Selalu bermanfaat untuk memberikan konteks tambahan kepada pengguna tentang aplikasi Anda. Salah satu caranya adalah dengan menambahkan tombol About ke aplikasi dan menampilkan konteks tersebut sebagai dialog modal.

Inilah yang akan kita lakukan pada latihan ini. Aplikasi Anda akan tampak seperti pada gambar di tangkapan layar ini ketika pengguna mengeklik tombol "About".

An app displaying red circles for each mass shooting incident with details appearing on clicking the circle

Ingat bahwa Anda dapat menampilkan teks 'About' dalam dialog modal menggunakan potongan kode berikut:

showModal(modalDialog("About"))

Latihan ini adalah bagian dari kursus

Membangun Aplikasi Web dengan Shiny di R

Lihat Kursus

Petunjuk latihan

  • UI: Tambahkan tombol aksi bernama show_about.
  • Server: Gunakan observeEvent untuk memicu penampilan dialog modal menggunakan showModal(modalDialog(text_about, title = 'About')).

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

ui <- bootstrapPage(
  theme = shinythemes::shinytheme('simplex'),
  leaflet::leafletOutput('map', width = '100%', height = '100%'),
  absolutePanel(top = 10, right = 10, id = 'controls',
    sliderInput('nb_fatalities', 'Minimum Fatalities', 1, 40, 10),
    dateRangeInput(
      'date_range', 'Select Date', "2010-01-01", "2019-12-01"
    ),
    # CODE BELOW: Add an action button named show_about
    
  ),
  tags$style(type = "text/css", "
    html, body {width:100%;height:100%}     
    #controls{background-color:white;padding:20px;}
  ")
)

server <- function(input, output, session) {
  # CODE BELOW: Use observeEvent to display a modal dialog
  # with the help text stored in text_about.

  
  
  output$map <- leaflet::renderLeaflet({
    mass_shootings %>% 
      filter(
        date >= input$date_range[1],
        date <= input$date_range[2],
        fatalities >= input$nb_fatalities
      ) %>% 
      leaflet() %>% 
      setView( -98.58, 39.82, zoom = 5) %>% 
      addTiles() %>% 
      addCircleMarkers(
        popup = ~ summary, radius = ~ sqrt(fatalities)*3,
        fillColor = 'red', color = 'red', weight = 1
      )
  })
}

shinyApp(ui, server)
Edit dan Jalankan Kode