usando la ventana modal en el módulo Shiny

Quiero usar una ventana modal dentro de un módulo Shiny. El usuario interactúa con la ventana modal, el módulo procesa la entrada del usuario.

En este ejemplo mínimo, se supone que el módulo eliminará el modal cuando el usuario haga clic en el botón "cerrar modal":

library(shiny)

# Modal module UI
modalModuleUI <- function(id) {
  ns <- NS(id)
  actionButton(ns("openModalBtn"), "Open Modal")
}

# Modal module server
modalModule <- function(input, output, session) {

  myModal <- function() {
    modalDialog(
      action,Button("closeModalBtn", "Close Modal")
    )
  }
  # Show modal dialog on start up
  observeEvent(input$openModalBtn,
               ignoreNULL = FALSE,
               showModal(myModal())
               )

  # close modal on button click (not working)
  observeEvent(input$closeModalBtn, { 
    removeModal() 
  })
}

# Main app UI
ui <- fluidPage(modalModuleUI("foo"))

# Main app server
server <- function(input, output, session) {
  callModule(modalModule, "foo")
}

shinyApp(ui, server)

Sin embargo, al hacer clic en el botón "cerrar modal" no se activa elobserveEvent() en la función del servidor del módulo. No puedo entender cómo acceder (es decir, observar) el contenido de la ventana modal en el módulo. Supongo que es un problema de espacio de nombres.

Editar: Elejemplo interactivo ahora trabaja. Vea mi respuesta a continuación.

Respuestas a la pregunta(1)

Su respuesta a la pregunta