library(shiny)
library(ravedash)
ui <- fluidPage(
actionButton("btn", "Fire event"),
actionButton("btn2", "Toggle loader")
)
server <- function(input, output, session) {
# Create event registries
register_rave_session()
shiny::bindEvent(
shiny::observe({
fire_rave_event("my_event_key", Sys.time())
}),
input$btn,
ignoreInit = TRUE,
ignoreNULL = TRUE
)
shiny::bindEvent(
shiny::observe({
cat("An event fired with value:", get_rave_event("my_event_key"), "\n")
}),
get_rave_event("my_event_key"),
ignoreNULL = TRUE
)
shiny::bindEvent(
shiny::observe({
if(watch_loader_opened()){
close_loader()
} else {
open_loader()
}
}),
input$btn2,
ignoreInit = TRUE,
ignoreNULL = TRUE
)
shiny::bindEvent(
shiny::observe({
cat("Loader is", ifelse(watch_loader_opened(), "opened", "closed"), "\n")
}),
watch_loader_opened(),
ignoreNULL = TRUE
)
}
if(interactive()){
shinyApp(ui, server)
}
Run the code above in your browser using DataLab