R Interface to the jQuery Plug-in DataTables
Added outputArgs
parameter to renderDataTable
, to allow width and height to be set when using interactive R Markdown documents.
Fixed a bug in renderDT()
's evaluation of ...
arguments when quoted = TRUE
(#1130).
Maintain selected columns/rows/cells upon re-render (thanks, @epruesse, #1125).
The maintainer of this package has been changed from Yihui Xie (@yihui) to Joe Cheng (@jcheng5).
Fixed a bug that caused the column used for grouping with the RowGroup extension to change when relocated by the ColReorder extension (thanks, @isthisthat, @mikmart, #1109).
Fixed the bug that replaceData()
failed to work with data that has no column names (thanks, @mmuurr, #1108).
updateSearch()
now sets the slider values based on the new search string for numeric columns (thanks, @mikmart, #1110).
The searchCols
option now sets the slider values for numeric columns when server = TRUE
(thanks, @alexvpickering, @mikmart, #998).
Added server-side processing support for the SearchBuilder extension (thanks, @AhmedKhaled945, @shrektan, @mikmart, #963).
Fixed a bug that caused the date picker widget from the DateTime extension to render incorrectly (thanks, @mikmart, #1116).
Column formatting now also applies to range labels shown on filter sliders (thanks, @GitChub, @mikmart, #247).
Added support for passing custom configuration for initializing filter widgets in JavaScript. Use the filter
parameter to datatable()
in the form filter = list(settings = list(select = ..., slider = ...))
(thanks, @yogat3ch, @DavidBlairs, @mikmart, #1072, #1083).
Upgraded DataTables version to 1.13.6 (thanks, @stla, #1091).
Searching and sorting work now when columns are re-ordered by the ColReorder
extension (thanks, @ashbaldry #1096, @gergness #534, @nmoraesmunter #921, @isthisthat #1069).
Fixed disabling selection on hyperlink clicks (thanks, @guoci, #1093).
Fixed an error for R >= 4.3.0 (thanks, @AntoineMichelet, #1095).
Fixed a bug that when using updateSearch()
, the clear button inside the input box doesn't show up, and the table doesn't update when the input is cleared (thanks, @DavidBlairs, #1082).
Added support for a list of Booleans as input to the class
argument of DT::datatable()
when style = 'bootstrap'
(thanks, @pedropark99, #1089). In other words, you can now select the Bootstrap classes you want to use at DT::datatable()
by using a list of Booleans that select the classes you want to use. In the example below, we are producing an HTML table that uses the stripe
and hover
Bootstrap classes:
DT::datatable(mtcars, class = list(stripe = TRUE, compact = FALSE, hover = TRUE), style = "bootstrap")
Handle NULL
return from bslib::theme_version()
(thanks, @slodge-work, #1090).
Support Bootstrap 5 with datatable(style = "auto")
(thanks, @gadenbuie, #1074).
Fixed a bug that searching would fail when the keyword contains special characters such as &
(thanks, @dfriend21 @olivier7121, #1075).
Deleted ()
after eval
in a JS comment to prevent Google from treating it as malware, which is just a false alarm (thanks, @gorkang, #1080).
Upgraded DataTables to v1.13.4 (thanks, @stla, #1063).
It is now possible to edit date columns with the help of calendar inputs (thanks, @stla, #1064).
dataTableOutput()
gains a new fill
parameter. When TRUE
(the default), the widget's container element is allowed to grow/shrink to fit it's parent container so long as that parent is opinionated about its height and has been marked with htmltools::bindFillRole(x, container = TRUE)
. (#2198)
bslib::card_body_fill()
. When doing so, you'll also want to set fillContainer = TRUE
in datatable()
.Bug fixed: when editing a table, it was impossible to switch from an empty cell to 0 and vice-versa (thanks, @RozennGZ #1038, @stla #1039).
When a datatable()
is created outside a Shiny app, the selection
argument won't work (thanks, @bartekch, #1043).
doGloblSearch()
now works correctly when the input data frame is a tibble (@mikmart, #1044).
Upgraded DataTables to v1.12.1.
New extension StateRestore. It allows to save and restore DataTables states.
Default to width: 100%; height: auto
instead of 500px x 960px
when statically rendering in browser (thanks, @cpsievert, #1022).
Server-side filtering is now able to be ran as a future
via the promises package (@andyquinterom, #1011). See the argument future
on the help page ?DT::renderDataTable
for more info.
Updated the jszip
library to v3.10.1 (thanks, @hedsnz, #1017).
Fixed a bug with missing numeric values rendered as 0
(thanks, @tverbeke, #1000).
Box scalar elements of 'list' columns so that, e.g., data.frame(col = I(integer(), 1, 2:3))
is represented in JavaScript as [[], [1], [2, 3]]
instead of [[], 1, [2, 3]]
(thanks, @mtmorgan, #1005).