1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
|
code_modal <- function(code) {
if (rlang::is_call(code)) {
code <- rlang::expr_text(code)
}
if (requireNamespace("styler", quietly = TRUE)) {
code <- styler::style_text(code)
}
code <- paste(code, collapse = "\n")
showModal(
modalDialog(
HTML(
sprintf(
'<pre><code id="value-box-code">%s</code></pre>',
code
)
),
p(
id = "copy-clipboard-not-supported",
class = "text-muted d-none",
HTML(
"Press <kbd>Ctrl</kbd>/<kbd>Cmd</kbd> + <kbd>C</kbd> to copy the value box example code."
)
),
tags$button(
id = "copy-code-to-clipboard",
class = "btn btn-outline-primary",
onclick = "copyValueBoxCode()",
"Copy to clipboard"
),
singleton(tags$script(src = "code-modal.js")),
footer = modalButton("Done"),
easyClose = TRUE
)
)
}
|