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
- Call
use_micromodal()
anywhere in your UI, once.
library(shiny)
library(micromodal)
ui <- fluidPage(
use_micromodal(),
# the rest of your UI code
)
- 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
)
- 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)
- See live demo here.
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"