Skip to contents

Modal dialogs for R Shiny via Micromodal.js.

Installation

To install the package from CRAN use:

install.packages("micromodal")

You can install the dev version of micromodal with:

remotes::install_github("kennedymwavu/micromodal")

Usage

  1. Call use_micromodal() anywhere in your UI, once.
library(shiny)
library(micromodal)

ui <- fluidPage(
  use_micromodal(),
  # the rest of your UI code
)
  1. Add a trigger for the modal. This is usually a button or a link. Give it the attribute data-micromodal-trigger with the value of the modal’s id.
ui <- fluidPage(
  use_micromodal(),
  actionButton(
    inputId = "trigger",
    label = "Trigger modal",
    `data-micromodal-trigger` = "modal-1"
  ),
  # the rest of your UI code
)
  1. Make the modal. Use micromodal() for this.
ui <- fluidPage(
  use_micromodal(),
  actionButton(
    inputId = "trigger",
    label = "Trigger modal",
    `data-micromodal-trigger` = "modal-1"
  ),
  micromodal(
    id = "modal-1",
    title = "Hello, World!",
    content = tagList(
      tags$p("Hi Mom,"),
      tags$p("Come see my first modal!")
    )
  )
)

That’s it.

Here’s the full reprex:

library(shiny)
library(micromodal)

ui <- fluidPage(
  use_micromodal(),
  actionButton(
    inputId = "trigger",
    label = "Trigger modal",
    `data-micromodal-trigger` = "modal-1"
  ),
  micromodal(
    id = "modal-1",
    title = "Hello, World!",
    content = tagList(
      tags$p("Hi Mom,"),
      tags$p("Come see my first modal!")
    )
  )
)

server <- \(input, output, session) {}

shinyApp(ui, server)

About

You’re reading the doc about version: 1.0.0

This README has been compiled on the:

Sys.time()
#> [1] "2023-08-18 04:38:04 EAT"