{{id}}_module_ui <- function(id) {
  ns <- shiny::NS(id)
  tagList(
    # UI

```r} } actionButton(ns("run"), "Run module {{id}}", icon = icon("arrow-turn-down")), downloadButton(ns("download"), "Download")

```r} }
    actionButton(ns("run"), "Run module {{id}}", icon = icon("arrow-turn-down"))
  )
}

{{id}}_module_server <- function(id, common, parent_session) {
  moduleServer(id, function(input, output, session) {

```r} } shinyjs::hide("download")

```r
  observeEvent(input$run, {
    # WARNING ####

    # FUNCTION CALL ####

    # LOAD INTO COMMON ####

    # METADATA ####
    # Populate using metadata()

    # TRIGGER
    trigger("{{id}}")

```r} } shinyjs::show("download")

```r
  })
```r} }
  output$result <- renderText({
    watch("{{id}}")
    # Result
  })

```r} } output$download <- downloadHandler( filename = function() { "placeholder.ext" }, content = function(file) { # Download content })

```r} }
  return(list(
    save = function() {
      # Save any values that should be saved when the current session is saved
      # Populate using save_and_load()
    },
    load = function(state) {
      # Load
      # Populate using save_and_load()
    }
  ))
})
}

```r} }
{{id}}_module_result <- function(id) {
  ns <- NS(id)

  # Result UI
  verbatimTextOutput(ns("result"))
}

```r} } {{id}}_module_map <- function(map, common) { # Map logic }

```r} }
{{id}}_module_rmd <- function(common) {
  # Variables used in the module's Rmd code
  # Populate using metadata()
}


Try the shinyscholar package in your browser

Any scripts or data that you put into this service are public.

shinyscholar documentation built on Sept. 9, 2025, 5:52 p.m.