box::use(
shiny,
)
box::use(
app/logic/say_hello[say_hello],
)
#' @export
ui <- function(id) {
ns <- shiny$NS(id)
shiny$bootstrapPage(
shiny$tags$div(
class = "input-and-click",
shiny$textInput(ns("name"), label = NULL, value = NULL),
shiny$actionButton(ns("say_hello"), label = "Say Hello")
),
shiny$textOutput(ns("message"))
)
}
#' @export
server <- function(id) {
shiny$moduleServer(id, function(input, output, session) {
ns <- session$ns
shiny$observe({
is_name_empty <- is.null(input$name) || input$name == ""
session$sendCustomMessage(
"toggleDisable",
list(id = paste0("#", ns("say_hello")), disable = is_name_empty)
)
})
shiny$observeEvent(
input$say_hello, {
output$message <- shiny$renderText(say_hello(shiny$isolate(input$name)))
}
)
})
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.