1
0
mirror of https://github.com/DataTables/DataTables.git synced 2024-12-04 16:24:11 +01:00
Commit Graph

1796 Commits

Author SHA1 Message Date
Allan Jardine
7d3c5cc276 Fix: Browsers on Macs with zero width scrollbars would be incorrected treated the same way as IE6/7 causing column width calculations to be incorrect.
- The issue was caused by the check for the `bScrollOversize` option
  which looks for the container being the same width as its inner
  content area. Obviously that happens to be true if there is no
  scrollbar. Adding a check for the clientWidth not being 100 as well
  resolves this.
- I've also combined the scrollbar width detection with the other
  browser detect functions. The two functions were performing very
  similar operations and so easily combined
- The browser detect DOM creation will only run once, rather than for
  every table initialisation, optimising multi-table loading
- Fixes DataTables/DataTables #633 - Thanks to @nddery and @epitaphmike
  for the input
2015-08-25 14:18:30 +01:00
Allan Jardine
6352732eac Fix - example: Column filtering would reset the paging on change event, which could give the impression that pading didn't happen since it is immediately over written.
Thread 29670
2015-08-25 14:17:32 +01:00
Allan Jardine
e7e439dd0a Fix: Cell invalidation would fail due to incorrect logic
- If d or objectRead were truthful then the row's data object would be
  replaced with an empty object. This was one shortcut in code too many!

- Relates to thread 29530 with thanks to idleog.
2015-08-19 14:40:22 +01:00
Allan Jardine
9ef7f1ad20 Fix: Compatibility with jQuery 2's isPlainObject. API instances were returning as plain objects
- This appears to be caused by setting the prototype chain as an object
  directly. For example:

  var test = function () {};
  test.prototype = {};
  $.isPlainObject( new test() );

  will return `true` with jQuery 2.1.4 (and `false` for 1.11.3).

  If an item is added to the prototype object then it will return
  `false`, although for some reason that wasn't the case with
  DataTables' API prototype.

  More investigation required, but for full compatiblity with exisiting
  jQuery releases, the correct thing to do here is to build on the
  exisiting prototype, which we can do with `$.extend`.
2015-08-19 12:25:28 +01:00
Allan Jardine
a7a9ac1910 Dev: Fix case issue with file names for the example builder
- This is the problem with developing on a case insensitive file system
  which the Mac default is!
2015-08-19 12:24:58 +01:00
Allan Jardine
50cac9640a Dev: Nowrap in syntax highlighter 2015-08-19 09:56:33 +01:00
Allan Jardine
0482633dff Fix - CSS: Bootstrap and Foundation were missing the empty row class to align text to the center 2015-08-19 09:55:39 +01:00
Allan Jardine
3950e119e2 Fix - docs: Add note to dt-api draw() that the string options require 1.10.8 or newer 2015-08-19 09:54:48 +01:00
Allan Jardine
a6e75123eb Update rows().ids().xml
Spell mistake
2015-08-19 09:54:19 +01:00
Allan Jardine
7898f4e585 Merge branch 'master' of github.com:DataTables/DataTablesSrc 2015-08-19 09:53:47 +01:00
Allan Jardine
52531db870 Update selector-modifier.xml
Just a small spell mistake
2015-08-19 09:52:44 +01:00
Allan Jardine
085d7f3137 Fix: Row invalidation would throw an error when reading from a DOM row
- Fixes DataTables/DataTables #623
2015-08-17 09:34:39 +01:00
Allan Jardine
44b1402fa6 DataTables 1.10.9 development starts 2015-08-17 09:34:10 +01:00
Allan Jardine
1c22b79471 Dev: Update make file to minified the integration files 2015-08-17 09:32:50 +01:00
Allan Jardine
953d1fc6ca Add minified integration files 2015-08-12 20:17:46 +01:00
Allan Jardine
3977c5de72 Sync with latest DataTablesSrc 2015-08-12 19:50:30 +01:00
Allan Jardine
f91373337b DataTables 1.10.8 release 2015-08-12 19:49:47 +01:00
Allan Jardine
60273a0a75 Dev: Update the new rowId option to be able to read the id from the DOM 2015-08-12 19:49:29 +01:00
Allan Jardine
13c3a5400e Dev: Don't just jQuery code if jQuery hasn't been loaded (example index pages) 2015-08-12 19:48:50 +01:00
Allan Jardine
7811a69f30 Update - examples: Improve descriptions of examples and refer to the new extensions where appropriate 2015-08-12 19:48:33 +01:00
Allan Jardine
588e78f92b Update - example: Use Bootstrap rather than jQuery UI for the scrolling and tabs example.
Bootstrap tabs seem to be more popular these days
2015-08-12 19:48:15 +01:00
Allan Jardine
9cc3be030f Fix: Calculation for horizontal scroll bar adjustment when the dt-init scrollCollapse parameter is set could be incorrect when the standard height exceeds the window height.
- This is an interesting one, and I suspect a bit of an edge case in the
  browsers - what is happening is that the window is going from having a
  scrollbar to not having a scrollbar when the scrolling viewport is
  collapsed. This causes the browser to show the scrollbars in the
  viewport for an instant, even although they aren't actually required.
  If the height of the viewport is 53px and you up it to 80 so there are
  no scrollbars and reduce it back to 53 the scrollbars are gone! The
  browser must be stopping a race condition once the scrollbars are
  shown.

- The fix is to use `max-height` for the scrolling container if the
  scroll collapse is set and `height` otherwise. The browser native
  methods makes the code _much_ easier to work with, more performant and
  easier to understand.
2015-08-10 17:47:34 +01:00
Allan Jardine
07c04c69f8 Dev fix: Commit f2df0716 removed a check for IE6/7 to disable the smart
column width for these tables. However, that was in error - it is in
fact required still as the smart width calculations cause the browser to
crash (APPCRASH). There is no indication as to why this is, not is it as
simple as just disabling one or two pieces of code to stop the crash.
This leads me to suspect that it is the number of operations being
performed - particularly to do with the cloning of the elements. If this
is the case, then its just never going to work. Also IE6/7 are such a
small market now (thank goodness) this is just a feature that won't be
available in those browsers.

If anyone is interested in working on fixing it, or paying me to do so,
I'm happy to hear from you :-)
2015-08-10 17:47:12 +01:00
Allan Jardine
e111fae862 Dev: Update example templates to refer to extensions rather than extras 2015-08-10 14:59:41 +01:00
Allan Jardine
d0e9e78db4 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.

- These two fixes address DataTables/DataTables #612. Kudos to @Delgan
  for reporting these issues and supplying test cases - thanks!
2015-08-10 14:59:04 +01:00
Allan Jardine
bb33384e62 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. 2015-08-10 14:58:05 +01:00
Allan Jardine
781f7fcaef Update - examples: All examples now use $().DataTable() to construct the table.
- The API examples already used the new form, but many were still
  `$().dataTable()`, which still works, but the new API form method is
  prefered.
2015-08-10 14:57:47 +01:00
Allan Jardine
ecf94192ae Dev: Update Foundation CDN
Dev: Built fixes for Editor
2015-08-06 20:42:36 +01:00
Allan Jardine
201cc7fb69 Fix: If dt-init deferRender was enabled, the dt-event init event wouldn't trigger until after the table's second draw.
- This could be seen specifically when using Responsive with a defer
  rendered table - Responsive wouldn't kick in until after the second
  draw.
2015-08-06 20:42:01 +01:00
Allan Jardine
21705f049a Dev: Example build update to allow the new components frameworks to build from the CDN 2015-08-06 20:41:26 +01:00
Allan Jardine
065e3d2b1d Update - examples: Remove jQuery UI themed scrolling example
- Bootstrap is proving to be a far more popular theme for DataTables -
  this example comes from back in the day when jQuery UI theming was
  first added, so it is no longer required.
2015-08-06 20:41:08 +01:00
Allan Jardine
eff925f168 Fix - examples: Pipelining description had a typo 2015-08-06 20:40:12 +01:00
Allan Jardine
a67cb611de Fix - docs: dt-api columns() incorrect argument type for column selector
Fix - docs: `dt-api column().index()` incorrect return type was documented
2015-08-06 20:39:33 +01:00
Allan Jardine
c6cea56621 New - example: Scrolling example with dynamic height using the vh CSS unit 2015-07-24 15:39:18 +01:00
Allan Jardine
a2948e4c1e Fix: Simplification and improvement of table widths when scrolling
Fix: Table could overscroll if `dt-init data` is used to populate the table

This is a fairly significant change to how DataTables operates for the
scrolling width calculations and primarily is due to a simplification
with the use of `clientWidth` to get the scrolling container width.
Rather than getting the offsetWidth and then removing the scrollbar
width if required the `clientWidth` will give us the value directly.

With the scrollbar width already accounted for the scrolling draw code
can be updated to not need to account for it itself.

Finally, when using the `data` property to add data to the table we need
to recalculate the column widths after the first draw, just like with
Ajax loaded data, otherwise the data added won't be taken into account
and we can get an error in the scrolling.
2015-07-24 15:38:59 +01:00
Allan Jardine
fa9fa2e296 Dev: Syntax highlighter - link urls with a comma in them
Dev: Syntax highlighter - show the type label above the code so it doesn't over lap the code
Dev: Syntax highlighter - don't show the `:after` option in highlighted code
2015-07-24 11:45:26 +01:00
Allan Jardine
11dbd3ca52 Fix: Mixed tabs and spaces 2015-07-24 11:45:08 +01:00
Allan Jardine
534e281b39 New: dt-api 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. 2015-07-24 11:44:34 +01:00
Allan Jardine
d1352ac898 Merge branch 'master' of github.com:DataTables/DataTablesSrc 2015-07-24 11:43:09 +01:00
Allan Jardine
fcd96cc5e3 Fix - docs: dt-api rows().every() example was missing a parameter
- This fixes DataTables/DataTables #608
2015-07-24 11:42:49 +01:00
Allan Jardine
b61ac2a9db Resolve issue with focusing when there are multiple graphs updating on the same page 2015-07-24 11:42:12 +01:00
Allan Jardine
7b57d5f10b Fix - docs: Add examples for dt-init columns.defaultContent showing how it can be used with null or undefined content
Thanks to `jonahjonah` for pointing this out
2015-07-24 11:41:02 +01:00
Allan Jardine
8ed28b6f00 Dev: Remove SQL error message on error
This fixes DataTables/DataTables #604
2015-07-15 17:29:13 +01:00
Allan Jardine
3d3f72aec6 Fix - PHP: Validate the JSONP callback as a valid Javascript function 2015-07-15 17:11:15 +01:00
Allan Jardine
994121d024 Dev: Updating Markdown extension for linking to documentation and also the styles to make more visible
- Have used :after for the information about what type of link it is -
  this stops it from being included in a copy / paste which was annoying
- The postfix is a bit more informative than a letter about what
  software it relates to
- With the move to the 1.10 API for all of the extensions, showing the
  extension letter was redundent anyway
- Adding -button link type
- Improved the colours
2015-07-15 17:10:59 +01:00
Allan Jardine
4222dec97d Merge branch 'master' of github.com:DataTables/DataTablesSrc 2015-07-15 17:10:41 +01:00
Allan Jardine
4b378ff787 Dev: Updating the XML for the external styling examples to use the new example build framework 2015-07-15 17:10:24 +01:00
Allan Jardine
821e866ac0 fix for incorrect calculation in _fnBrowserDetect
when body's position is changed (left: 375px) _fnBrowserDetect incorrecly calculates offsets. thus header is a bit misaligned. commit changes test object's position to fixed. in this case it's position will
be relative to the viewport not to the body.
2015-07-15 17:09:48 +01:00
Allan Jardine
99fa7cccff Merge branch 'master' of github.com:DataTables/DataTables 2015-07-09 10:23:23 +01:00
Allan Jardine
1447c26a78 Fix: Potential memory leak when using static events on table elements and destroying tables
When the table was being destroyed and the remove parameter was passed
in as `true` to remove the table from the DOM there was potential for
bound events to not be unbound from the table elements. This was caused
by the use of the `detach` jQuery method which will not remove events.
Furthermore, rows would not be added to the table before this method (or
`remove()`) was called. As such we need to reorder the code slightly -
attach the rows back into the DOM and then remove them (or detach if the
table is left in the DOM) - otherwise rows which were hidden by paging
would not have their events unbound.

Many thanks for KnowledgeNet ( http://kn-it.com/ ) for their support in
finding and allowing this bug to be addressed!
2015-07-09 10:21:10 +01:00