The two functions that allow to trigger a specific filtering panel action directly from Shiny server (.trigger_action) or application browser (.trigger_action_js) attached to a specific JS event, e.g. onclick.
Check Details section to see possible options.
Usage
.trigger_action(session, action, params = NULL)
.trigger_action_js(action, params = list(), ns = function(id) id)
Arguments
- session
Shiny session object.
- action
Id of the action.
- params
List of parameters passed to specific action method.
- ns
Namespace function (if used within Shiny modal).
Value
No return value (`.trigger_action` - sends message to the browser) or character string storing JS code for sending input value to Shiny server (`.trigger_action_js`).
Details
The list of possible actions:
update_filter
- Calls `shinyCohortBuilder:::gui_update_filter` that triggers filter arguments update.add_step
- Calls `shinyCohortBuilder:::gui_add_step` that triggers adding a new filtering step (based on configuration of the previous one).rm_step
- Calls `shinyCohortBuilder:::gui_rm_step` used to remove a selected filtering step.,clear_step
- Calls `shinyCohortBuilder:::gui_clear_step` used to clear filters configuration in selected step.update_step
- Calls `shinyCohortBuilder:::gui_update_step` used to update filters and feedback plots for the specific filter GUI panel.update_data_stats
- Calls `shinyCohortBuilder:::gui_update_data_stats` that is called to update data statistics.show_repro_code
- Calls `shinyCohortBuilder:::gui_show_repro_code` that is used to show reproducible code.run_step
- Calls `shinyCohortBuilder:::gui_run_step` used to trigger specific step data calculation.show_state
- Calls `shinyCohortBuilder:::gui_show_state` that is used to show filtering panel state json.input_state
- Calls `shinyCohortBuilder:::gui_input_state` that is used to generate modal in which filtering panel state can be provided (as json).restore_state
- Calls `shinyCohortBuilder:::gui_restore_state` used for restoring filtering panel state based on provided json.show_attrition
- Calls `shinyCohortBuilder:::gui_show_attrition` a method used to show attrition data plot(s).
Both `.trigger_action` and `.trigger_action_js` methods are exported for advanced use only.
Examples
if (interactive()) {
library(shiny)
library(shinyCohortBuilder)
shiny::addResourcePath(
"shinyCohortBuilder",
system.file("www", package = "shinyCohortBuilder")
)
ui <- fluidPage(
tags$head(
shiny::tags$script(type = "text/javascript", src = file.path("shinyCohortBuilder", "scb.js"))
),
tags$button(
"Trigger action from UI", class = "btn btn-default",
onclick = .trigger_action_js("uiaction", params = list(a = 1))
),
actionButton("send", "Trigger action from server")
)
server <- function(input, output, session) {
observeEvent(input$send, {
.trigger_action(session, "serveraction", params = list(a = 2))
})
observeEvent(input$action, {
print(input$action)
})
}
shinyApp(ui, server)
}