question <- function(ns, id, question, expected_data, sql, r) {
div(
id = paste0(id, " question"),
class = "question",
question_titles(question),
question_expected_output(expected_data),
question_answer(ns, id, sql, r)
)
}
question_titles <- function(question) {
div(
class = "titles",
h3("Exercice"),
h4(
includeMarkdown(
path = file.path(
system.file("app/www/materials/exercices", package = "sqlnstructor"),
question
)
)
)
)
}
question_expected_output <- function(expected_data) {
div(
class = "expected-output",
div(
class = "title",
icon("reply"),
h5("Expected output")
),
DTOutput(expected_data)
)
}
question_answer <- function(ns, id, sql, r) {
div(
class = "answer",
column(
width = 6,
style = "padding-rigth:15px",
div(
id = "sql",
class = "items",
actionButton(
inputId = ns(sql_run_input_identifier(id)),
label = "Run",
icon = icon("caret-right")
),
div(
class = "result",
uiOutput(
class = "appraisal",
sql$result$output
)
)
),
sql_editable_editor(
outputId = ns(sql_code_input_identifier(id)),
value = sql$code$value,
comment = sql$code$comment
)
),
column(
width = 6,
style = "padding-left:15px",
div(
id = "r-dplyr",
class = "items",
actionButton(
inputId = ns(r_run_input_identifier(id)),
label = "Run",
icon = icon("caret-right")
),
div(
class = "result",
uiOutput(
class = "appraisal",
r$result$output
)
)
),
r_editable_editor(
outputId = ns(r_code_input_identifier(id)),
value = r$code$value,
comment = r$code$comment
)
)
)
}
sql_code_input_identifier <- function(id) paste0("sql_code_input__", id)
sql_run_input_identifier <- function(id) paste0("sql_run_input__", id)
r_code_input_identifier <- function(id) paste0("r_code_input__", id)
r_run_input_identifier <- function(id) paste0("r_run_input__", id)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.