Mulai sekarangMulai 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 merupakan bagian dari kursus

Membangun Aplikasi Web dengan Shiny di R

Lihat Kursus

Instruksi 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 langsung praktik

Cobalah latihan ini dengan melengkapi kode contoh ini.

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