runcode {shinyjs} | R Documentation |
Construct to let you run arbitrary R code live in a Shiny app
Description
Sometimes when developing a Shiny app, it's useful to be able to run some R
code on-demand. This construct provides your app with a text input where you
can enter any R code and run it immediately.
This can be useful for testing
and while developing an app locally, but it should not be included in
an app that is accessible to other people, as letting others run arbitrary R
code can open you up to security attacks.
To use this construct, you must add a call to runcodeUI()
in the UI
of your app, and a call to runcodeServer()
in the server function. You
also need to initialize shinyjs with a call to useShinyjs()
in the UI.
Usage
runcodeUI(
code = "",
type = c("text", "textarea", "ace"),
width = NULL,
height = NULL,
includeShinyjs = NULL,
id = NULL
)
runcodeServer()
Arguments
code |
The initial R code to show in the text input when the app loads |
type |
One of |
width |
The width of the editable code input (ignored when
|
height |
The height of the editable code input (ignored when
|
includeShinyjs |
Deprecated. You should always make sure to initialize
shinyjs using |
id |
When used inside a shiny module, the module's id needs to be
provided to |
Note
You can only have one runcode
construct in your shiny app.
Calling this function multiple times within the same app will result in
unpredictable behaviour.
See Also
Examples
if (interactive()) {
library(shiny)
shinyApp(
ui = fluidPage(
useShinyjs(), # Set up shinyjs
runcodeUI(code = "shinyjs::alert('Hello!')")
),
server = function(input, output) {
runcodeServer()
}
)
}