* `dt-api rows()` and `dt-api row()` can now be used with a cell from
the table body (not limited to only the `tr` elements
* `dt-api columns()` and `dt-api column()` can now be used with a cell
from the table body (not just the column headers as before)
* All three selector types can use an element with the `data-dt-row`
and / or `data-dt-column` (as approrirate) attributes on them or a
parent. This is useful for API integration with FixedColumns and
Responsive. For example you can now pass a cell in a fixed column
into the `dt-api cell()` method to select the original cell.
- Fix is to remove the name attribute. This would have no effect on the
column width and means the radio element isn't in a group.
- See thread 32931
- Fixes DataTables/DataTables #569
- Bootstrap 4 is currently in beta so things can, and probably will
still change. Bootstrap 4 packages for DataTables won't be made
available until at least a beta release of Bootstrap 4.
- A few things have changed in Bootstrap 4 and rather than trying to
make the exisiting Bootstrap files work for both BS3 and BS4 it makes
sense to offer both. We'd need to detect which version of BS is loaded
and that can be quite unreliable (and delayed since the body would
need to be available).
- Pagingation requires a couple of classes, but no change in structure
- BS4 don't include icons any more, so need to use UTF8 arrows to show
sorting (don't particularly want other dependencies, although it is
easy to add with CSS if you want more icon control)
- Outstanding issue: The select element for paging control is not of a
consistent height with the search input. This appears to be a
Bootstrap issue: https://github.com/twbs/bootstrap/issues/17194
- F6 changes the paging control (for the better) to require that there
be no `a` tag for the elements which can't be clicked on in the pager.
Unforuntately F5 requires them, so we need to detect which one is to
be used. This is done using a meta tag based on this discussion:
- http://foundation.zurb.com/forum/posts/36681
- F5 remains the main version for the moment, but will be bumped to F6
when the next version of DataTables is released
- The scrolling body used to have the header content retained but
hidden, while the footer was just emptied. But if the footer content
is long enough to define the width of the column this results in
column misalignment.
- Fix is to treat the footer in the same way as the header is.
doesn't effect the DataTables demos since the inserts all have values
for this field. It is done for Editor which can use this table for
editing and it simplifies the MySQL aspect.
Rational for this is that the number renderer expects a number
input, not HTML, but if non-numeric input is given the value is just
returned (now escaped) - for example an empty string.
- This is so that Buttons (and others) can listen for this event and
create the buttons before the user init functions. Otherwise they
would need a setTimeoutout to be able to access the Buttons methods
immediately.
- Factory builder redesigned to pass in window and document to the
factory method, mandating a small update to the AMD and Browser
loaders
- Main change in is the CommonJS loader which can now optionally have a
window object passed in - if it is not passed in `window` will be used
(if this is the case in a CommonJS environment without a root object
being passed in an error will occur).
- DataTables caches a reference to the jQuery instance so the plug-ins
can easily reference jQuery while retaining their current return of
the module they define. This basically means that DataTables core will
include jQuery for the plug-ins.
- This does increase the core library size by ~160 bytes which is rather
frustrating, but I think this is the correct way to go about it
- With thanks to Evan Carroll for input on this:
https://github.com/DataTables/Plugins/issues/199
Fix: Force a column width if `dt-init scrollX` is specified and a column width is given. This can be overruled if the width given is too small for the content
- We already use the width attribute to determine if the table should
resize dynamically to 100% width, so it makes sense to use that when
scroll-x is enabled as well.
- This still isn't perfect as Chrome seems to change between a
box-sizing calculation depending if scrolling is required or not so
there can be a shift in column widths when changing between a
scrolling state and not (column visibility) which is ugly, but is
proving to be difficult to deal with.
to reproduce the error and it is only occuring on Chrome Mac with a
combination of the CSS in the DataTables demos specifically. This is an
edge case that I'd rather not add code for at the moment.
Fix: Chrome has an odd bug whereby the max-height needs a reflow in order to be correctly calculated - otherwise a gap could appear at the bottom of the table
- Haven't been able to reproduce the Chrome issue in a simple test case
- its something to do with the scrollbars being shown while the scroll
column calculations / updates are being done and then no longer
being needed ater that point.