if (interactive()) {
library(shiny)
library(shinyCohortBuilder)
ui <- fluidPage(
numericInput("power", "Power", min = 0, max = 10, value = 1, step = 1),
numericInput("value", "Value", min = 0, max = 100, value = 2, step = 0.1),
actionButton("add", "Observe the selected power"),
actionButton("rm", "Stop observing the selected power")
)
server <- function(input, output, session) {
observeEvent(input$add, {
.save_observer(
observeEvent(input$value, {
print(input$value ^ input$power)
}),
as.character(input$power),
session = session
)
}, ignoreInit = TRUE)
observeEvent(input$rm, {
id <- paste0(input$power, "-observer")
session$userData$observers[[id]]$destroy()
session$userData$observers[[id]] <- NULL
}, ignoreInit = TRUE)
}
shinyApp(ui, server)
}
Run the code above in your browser using DataLab