trigger-action {shinyCohortBuilder} | R Documentation |
Trigger filtering panel action
Description
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). |
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.
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').
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)
}