Nothing
#' Allow raw HTML rendering via `columns.render`
#'
#' @description Mark columns to render raw HTML using a JS render function.
#' @param options Options list.
#' @param cols Names or 1-based indices.
#' @param js_render JS function (via [htmlwidgets::JS]) with signature `(data, type, row, meta)`
#' returning a string of HTML when `type == "display"`.
#' @return Updated `options`.
#' @export
dt2_cols_html <- function(options = list(), cols, js_render) {
cols <- .dt2_name_to_idx(cols, options)
cds <- lapply(cols, function(i) list(
targets = i - 1L,
render = js_render
))
options$columnDefs <- c(options$columnDefs %||% list(), cds)
options
}
#' Simple HTML template per column (replace `{{VAL}}`)
#'
#' @param options Options list.
#' @param col Name or index of target column.
#' @param template HTML string with `{{VAL}}` placeholder.
#' @return Updated `options`.
#' @export
dt2_col_template <- function(options = list(), col, template) {
col <- .dt2_name_to_idx(col, options)
js <- htmlwidgets::JS(
sprintf(
"function(d,t,row,meta){ if(t!=='display') return d; var html=%s; return html.replace(/\\{\\{VAL\\}\\}/g, d); }",
jsonlite::toJSON(template, auto_unbox = TRUE)
)
)
dt2_cols_html(options, col, js)
}
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.