clientsideFunction | R Documentation |
Create a callback that updates the output by calling a clientside (JavaScript) function instead of an R function.
Note that it is also possible to specify JavaScript as a character string instead of passing clientsideFunction
.
In this case Dash will inline your JavaScript automatically, without needing to save a script inside assets
.
clientsideFunction(namespace, function_name)
namespace |
Character. Describes where the JavaScript function resides (Dash will look
for the function at |
function_name |
Character. Provides the name of the JavaScript function to call. |
With this signature, Dash's front-end will call window.my_clientside_library.my_function
with the current
values of the value
properties of the components my-input
and another-input
whenever those values change.
Include a JavaScript file by including it your assets/
folder. The file can be named anything but you'll need to
assign the function's namespace to the window
. For example, this file might look like:
window.my_clientside_library = { my_function: function(input_value_1, input_value_2) { return ( parseFloat(input_value_1, 10) + parseFloat(input_value_2, 10) ); } }
## Not run: app$callback( output('output-clientside', 'children'), params=list(input('input', 'value')), clientsideFunction( namespace = 'my_clientside_library', function_name = 'my_function' ) ) # Passing JavaScript as a character string app$callback( output('output-clientside', 'children'), params=list(input('input', 'value')), "function (value) { return 'Client says \"' + value + '\"'; }" ) ## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.