DataTables 1.10.8
DataTables CDN files for DataTables 1.10.8. This software was originally released on 12th August, 2015.
Release notes
It has been a few months since the last DataTales release, so this one is a bit overdue while work has been progressing on the new and revamped extensions (see the DataTables blog). The changes in this release of DataTables either primarily to support the new extensions, or to address issues found since the last release.
The biggest change is to optimise how DataTables handles row id selectors. These will now work even when deferRender
is enabled and it is possible to set the property that should be used to treat as the row id (rather than just the static value of DT_RowId
as it was before).
The other major change is that the integration files for the styling frameworks that DataTables supports (Bootstrap, Foundation and jQuery UI currently) have been moved into the source repository. This helps to ensure that they are fully supported as new features are added to DataTables.
DataTables core
New
- New: Optimised ID selectors - Also works when rows have not yet been rendered.
- New:
draw()
now accepts a string parameter which can be used to perform a simple redraw without the need to reorder / research the table. This is useful for paging where, otherwise, it would be a performance hit. - New:
page.info()
includes a new parameter to indicate if server-side processing is being used or not for the table - New:
$.fn.dataTable.tables()
can now return an API instance which makes for easy chaining to call methods on the selected tables. This is done by now being able to provide an object (providing two booleans is confusing unless you have the manual right next to you!) - New:
preInit
event - emitted while a table is being initialised, allowing developers to modify the data being requested by DataTables for the first draw of the table. Used by Scroller 1.3.0 and likely will be by other extensions soon. - New:
rowId
option to specify what property should be used from the row's data source object to read the row's id and then set it as the DOM id (previously this was static as theDT_RowId
option) - New:
row().id()
androws().ids()
to get the id from one or multiple rows, based on the newrowId
option - New:
count()
method. This provides a short cut method to determine how many items have been selected by the API. This can be useful to count the number of selected rows, etc. - New: Add
numbers
paging option forpagingType
to round off the full set of basic options - New: The
rows().every()
,columns().every()
andcells().every()
methods are now passed index and loop counter parameters - New: Add
postfix
option to thenumber
renderer option
Fixes
- Fix: Calculation for horizontal scroll bar adjustment when the
scrollCollapse
parameter is set could be incorrect when the standard height exceeds the window height. - Fix: Horizontal scrolling could incorrectly be triggered in Firefox when there is lots of room available and scrolling is not required. This was due to sub-pixel rendering of the columns, but the widths being rounded up to integer values. Using
getBoundingClientRect
addresses this. IE8- have to continue using the old method. - Fix: The auto width calculation table, when scrolling is enabled, being inserted into the scrolling container could cause the viewport to scroll, even when the main table doesn't actually need scrolling. This causes the column width calculations to be incorrect by the scrollbar's width. The fix is to have the calculation table
position:absolute
in the scrolling container and height:1px so it has no effect on the vewport's scrolling. - Fix: If
deferRender
was enabled, theinit
event wouldn't trigger until after the table's second draw. - Fix: Simplification and improvement of table widths when scrolling
- Fix: Table could over scroll if
data
is used to populate the table - Fix: Mixed tabs and spaces
- Fix: Multiple tables on the same page could result in focus jumping between elements using the tab key
- Fix: Validate the JSONP callback as a valid Javascript function
- Fix: If the HTML BODY is offset (used by some virtual renderers), the scrollbar detection could report an incorrect result
- Fix: Potential memory leak when using static events on table elements and destroying tables
- Fix: Row details could potentially throw an error if used on an row that doesn't exist (might have been removed)
- Fix: Initialisation on an element other than
table
would result in a Javascript error - Fix: Event handlers in table headers in IE8 could be removed form child nodes
- Fix:
ajax.reload()
should cancel an existing request if that request has not yet completed - Fix: If the paging language options were set to be an empty string, the button wouldn't render. This is not correct as it doesn't allow CSS icons to be used rather than the strings.
- Fix: Compatibility with jQuery 2.1.4 when using
$.map
and passing in only arrays - Fix:
scrollX
could not be given asfalse
- it still enabled x-scrolling - Fix: Disabling smart column width for IE67 as it can cause the browser to crash
- Fix: When scrolling is enabled and column visibility is toggled a Javascript error would occur due to the column width calculation method cloning the wrong header element.
Styling
New
- New - styling: Bootstrap, Foundation and jQuery UI styles are now all included in DataTables core repository
Updates
- Update - styling: Altering the paging buttons to have a styling that is consistent with the Buttons extension. This is just a darkening of the active border and a small border radius.
- Update - styling: Use the new
draw()
option ofpage
to improve performance in Bootstrap and Foundation
Fixes
- Fix - styling: Bootstrap uses vertical-align: bottom for table header cells, so it makes sense to position the sort icons from the bottom of the cell.
- Fix - styling: Misalignment in the main table when in responsive sizes for Bootstrap styled tables
- Fix - styling: Foundation sets
border-box
for the table cells which can cause the columns to be misaligned when scrolling. CSS is uses to set the table cells to be a content-box.
Examples
New
- New - example: Scrolling example with dynamic height using the
vh
CSS unit
Updates
- Update - examples: Improve descriptions of examples and refer to the new extensions where appropriate
- Update - examples: Use Bootstrap rather than jQuery UI for the scrolling and tabs example.
- Update - examples: All examples now use
$().DataTable()
to construct the table. - Update - examples: Remove jQuery UI themed scrolling example
- Update - examples: Scrolling example updated to use the
nowrap
class to prevent wrapping of content and thus force scrolling
Fixes
- Fix - examples: Pipelining description had a typo
- Fix - examples: Comment about
columns.orderData
incorrectly stated that the sort direction could be specified. - Fix - examples: Syntax highlighting large JSON data sets can take a long time making DataTables look really slow. This just allows the table to render first
- Fix - examples: Server-side processing data source example column titles were incorrect
- Fix - examples: Typo in description of
dom
example - Fix - examples: Example pages styling updated to work better when operating with Bootstrap and Foundation styled table examples
Documentation
Updates
- Update - docs: Add information about the Select extension to the
selector-modifier
data type
Fixes
- Fix - docs:
tables()
static method was missing a parameter due to an XML error - Fix - docs: Typo in
ajax
example description - Fix - docs:
ajax.url()
description was incorrect - Fix - docs: Typo in description of
createdRow
example - Fix - docs:
columns()
incorrect argument type for column selector - Fix - docs:
column().index()
incorrect return type was documented - Fix - docs:
rows().every()
example was missing a parameter - Fix - docs:
ajax.data
example for JSON in the body needed a POST parameter - Fix - docs:
rows().every()
example was missing a parameter - Fix - docs:
headerCallback
typo in example - Fix - docs: Typo in description of
state.clear()
- Fix - docs: Example for
columns().visible()
had a syntax error due to an unescaped ' - Fix - docs: Add examples for
columns.defaultContent
showing how it can be used with null or undefined content - Fix - docs:
page.info()
example JSON had a parsing error - Fix - docs:
iterator()
's table option is given a loop counter like the other iterators - Fix - docs: Typo in
cell().render()
descrition - Fix - docs: Error in
DataTables.Settings
example code - Fix - docs: Typo in child row documentation
- Fix - docs: Incorrect comment for
processing
example - Fix - docs:
row().node()
example function error - Fix - docs:
row.add()
androws.add()
will accepttr
elements
Files
js
- //cdn.datatables.net/1.10.8/js/dataTables.bootstrap.js
- //cdn.datatables.net/1.10.8/js/dataTables.bootstrap.min.js
- //cdn.datatables.net/1.10.8/js/dataTables.foundation.js
- //cdn.datatables.net/1.10.8/js/dataTables.foundation.min.js
- //cdn.datatables.net/1.10.8/js/dataTables.jqueryui.js
- //cdn.datatables.net/1.10.8/js/dataTables.jqueryui.min.js
- //cdn.datatables.net/1.10.8/js/jquery.dataTables.js
- //cdn.datatables.net/1.10.8/js/jquery.dataTables.min.js
css
- //cdn.datatables.net/1.10.8/css/dataTables.bootstrap.css
- //cdn.datatables.net/1.10.8/css/dataTables.bootstrap.min.css
- //cdn.datatables.net/1.10.8/css/dataTables.foundation.css
- //cdn.datatables.net/1.10.8/css/dataTables.foundation.min.css
- //cdn.datatables.net/1.10.8/css/dataTables.jqueryui.css
- //cdn.datatables.net/1.10.8/css/dataTables.jqueryui.min.css
- //cdn.datatables.net/1.10.8/css/jquery.dataTables.css
- //cdn.datatables.net/1.10.8/css/jquery.dataTables.min.css
- //cdn.datatables.net/1.10.8/css/jquery.dataTables_themeroller.css