Allan Jardine
99b674def8
Fix: New algorithim for calculating the column widths for a table when x-scrolling is enabled. Basically browsers need a bit of a hand when a width is assigned to any columns when x-scrolling as they tend to collapse the table to the min-width, even if we sent the column widths. So we need to keep track of what the table width should be by summing the user given values, and the automatic values
2011-05-12 20:32:18 +01:00
Allan Jardine
84a1940cad
Fix: Passing an integer for sWidth would cause the column width calculations to go completely off since they weren't actually used by the browser. Make use of the _fnStringToCss helper function for exactly this kind of thing.
2011-05-12 20:29:24 +01:00
Allan Jardine
0c493b6789
New: New column option - sContentPadding. What this option does is tag on an extra string to the content of the columns in the width calculation table, in order to take account of the fact that 'iii' is actually less wide than 'mm', but DataTables will pick 'iii' as the longer due to the string width. With sContentPadding you can add an extra string to any column to force DataTables to take account of this during the width calculation - the string in sContentPadding is not used anywhere else and is empty by default. This option will remain undocumented for the moment, since I suspect it will confuse more than help, but it is very useful to have around when x-scrolling.
2011-05-12 20:23:40 +01:00
Allan Jardine
fcc41bc535
Fix: When calculating the string width for column sizes, we know that we are going to be using strings for the display - so cast as a string, which means that we can take the length of any primitive (particularly numbers).
...
Fix: The max string width calculation was including HTML, which is just plain wrong since the HTML will be hidden. This is still not perfect since "iiii" takes less space than "mmm" in the browser display, but addressing that would take some serious clocks cycles, and this is good enough for now.
2011-05-12 20:18:48 +01:00
Allan Jardine
dd0e4023f0
Fix: _fnGetTdNodes works on a column data array basis, not visible columns, so _fnGetWidestNode need only deal with column indexes. It was possible before that the width calculation would be done in the wrong column if using hidden columns
2011-05-12 20:14:29 +01:00
Allan Jardine
c8c10d1fba
Fix: fnGetData should give the original data object, rather than the array that DataTables uses for rendering the actual table. This was part of the original commit for the 1.8 object handling, but in retrospect, the original data is much more useful.
2011-05-12 20:11:11 +01:00
Allan Jardine
b3f5ddaf96
Fix: When calculating the column widths, we should get the data to display, otherwise a null element (particularly when using a null mDataProp) can
...
cause issues with columns being skipped (due to the null return)
2011-05-11 08:53:33 +01:00
Allan Jardine
275c7520db
Fix: When using fnRender with a null mDataProp, although the rendering function was called, it wasn't actually saved anywhere. This meant that when the cell was actually created and the data source attempted to be read, the rendered string wasn't available - thus you got an empty cell (4943). This fix is to add a condition to the rendering call to delay until the node is created. Note that there is still a quirk here, in that the rendered data cannot be used for sorting or filtering, since again it isn't stored anywhere when the data source is null.
2011-05-10 06:38:17 +01:00
Allan Jardine
3464502c06
New: sDefaultContent property for aoColumns / aoColumDefs. This new property allows a default value to be given for a column's data, and will be used whenever a null data source is encountered (this can be because mDataProp is set to null, or because the data source itself is null). In addition to this, when set if the mDataProp value is undefined, the default will be used instead (and no error given). If sDefaultContent is not set (default is null), and the mDataProp value is undefined, an error will be given as it currently is.
2011-05-09 19:07:16 +01:00
Allan Jardine
341f6784f6
Fix: null data should be returned as an empty string for HTML display
2011-05-09 18:24:23 +01:00
Allan Jardine
d242d9cad4
Dev fix: The last commit for fnUpdate wasn't quite complete - this commit is the correct one. Updating fnUpdate to be able to cope with bDeferRender
2011-05-09 18:06:52 +01:00
Allan Jardine
d073e36c34
Fix: fnUpdate needs to consider null nTr rows for deferred rendering
2011-05-09 17:53:06 +01:00
Allan Jardine
c125efebc9
Fix: When using bDeferRender HTML in the target cell would be used as text rather than HTML when doing the width calculations - making them completely wrong - 4879
2011-05-09 17:47:18 +01:00
Allan Jardine
c8572df07a
Start 1.8 beta 3 development
...
Backwards compatibility change: Use the get data function to cast data as a string when being used for display
2011-05-09 07:19:54 +01:00
Allan Jardine
c5b085091b
DataTables 1.8 beta 2 release
2011-05-08 18:59:09 +01:00
Allan Jardine
04aa89337b
Dev fix: Tidy up modifications to the _fnGetTdNodes function
2011-05-08 18:40:02 +01:00
Allan Jardine
1d651f68a3
Fix: The change in commit 537e3e9595
( 537e3e9595
) was incorrect - the column widths should be calculated with width() rather than outerWidth(). This can be seen by the misalignment in the tmp table if it is made visible.
2011-05-08 15:40:03 +01:00
Allan Jardine
2c2a4754d9
New: Add paginate_button_disabled to buttons which cannot be clicked on in full_buttons pagination, when not using jQuery UI themeing to make styling easier
2011-05-08 11:25:28 +01:00
Allan Jardine
4eb344cc1a
Fix: When calculating the width for tables, need to consider TH elements as well as TD in the body. Also correctly consider complex headers
2011-05-08 07:51:36 +01:00
Allan Jardine
96d0b163ce
Fix: When a column of only TH elements is used in the table it would cause indexing problems for the width calculation due to a getElementsByTagName('td'). Now use the _fnGetTdNodes (slightly modified) to do this.
2011-05-07 10:37:22 +01:00
Allan Jardine
e4390f8b00
Fix: When defered rendering was on and sort classes off, the header sorting classes weren't being appled - 4927
2011-05-07 09:36:04 +01:00
Allan Jardine
b52665fd6b
Fix: Allow non string and numeric data types in the data source (including null and boolean etc). Add suitable unit tests to sanity check this.
2011-05-04 19:21:41 +01:00
Allan Jardine
06d1802874
New: Support TH elements in the table's TBODY. TH elements are now treated just like TDs in the body. This will work only with DOM sourced data out of the box - any body cell elements that DataTables creates are still TD.
2011-05-04 18:30:44 +01:00
Allan Jardine
d4b8495378
Fix: The construct <tfoot><tr></tr></tfoot> would break the new table header/footer draw. While strictly this isn't valid HTML, 1.7 and before allowed it - so adding a condtion here to allow it in 1.8 as well
2011-05-03 17:40:42 +01:00
Allan Jardine
2c8868dd53
Update version number to 1.8.0.dev.2 for beta 2 development work
...
Fix: Call fnRender only once when using using bUseRendered (don't need to call it twice since our internal data cache already has the rendered value stored) sin
ce this can cause some confusion with re-writing the data source value - 4871
2011-05-02 22:32:54 +01:00
Allan Jardine
fa364b57d5
DataTables 1.8 beta 1
2011-04-27 22:05:57 +01:00
Allan Jardine
ee3a7a6b89
Dev update: Remove dead code
2011-04-27 21:50:45 +01:00
Allan Jardine
f3bd978b8f
Dev fix: Clean up the calls to _fnDrawHead
2011-04-27 19:18:08 +01:00
Allan Jardine
e8e30c35e0
Dev change: Put nTf back into aoColumns - it's actually quite useful! It is not maniditory that there need be a cell for every column however - the footer is a lot more relaxed than the header
2011-04-27 18:06:29 +01:00
Allan Jardine
198222d8d6
Dev fix: Read row ID/class from _aData
2011-04-23 11:44:09 +01:00
Allan Jardine
e2f31c5a13
Dev update: Automatic additio of ID and class should be done in the create TR mthod
2011-04-23 11:39:18 +01:00
Allan Jardine
e9adba0802
Dev change: mDataSource renames to mDataProp. Reason for the change is that in future we could have mSortProp and mFilterProp if we wanted to sort / filter on something other than the main data. Also we are refering to a property of the source object (or an index of the source array - hence keeping the 'm' prefix)
2011-04-23 10:38:00 +01:00
Allan Jardine
707953a285
Fix: fnDestory would put the table back into the DOM in the wrong place if the table wasn't the the only (or last) element in the parent (i.e. it was just doing an append) - 4751
2011-04-23 08:58:58 +01:00
Allan Jardine
8481826407
Fix: Sort wrapper on the header wasn't being removed on fnDestroy - 4617
...
New: Span elements in the header when using JUI themes, now have the class of DataTables_sort_icon applied to them automatically
2011-04-23 08:40:34 +01:00
Allan Jardine
71188b18a0
New: fnOpen will now take either a node, a jQuery object or a string (which was previously the only option) as it's second parameter, for what to enter into the 'details' row that is created - 2488.
2011-04-23 06:44:05 +01:00
Allan Jardine
503c3cfca5
New: Add unit tests for deferred loading with server-side processing
...
Remove: Deferred loading for Ajax sourced data - was incomplete and would be messy to fully implement
2011-04-22 23:14:20 +01:00
Allan Jardine
f39dadda62
Dev fix: JSLint tidy up
2011-04-22 22:39:47 +01:00
Allan Jardine
76390cdad2
Comment updates
2011-04-22 22:12:55 +01:00
Allan Jardine
dbc8046e6b
New: Creation of TR/TD elements when using an Ajax or JS source for the table can be defered until draw time, when the rows are actually needed now - 4739. This is enabled by setting bDeferRender to true at initialisation time. It provides major benefits for speed in IE when dealing with large tables. However do note that if you are using fnGetNodes() with this enabled, then you will only get nodes which have been rendered.
...
New: Unit tests for delayed rendering. Now up to 2500+ unit tests :-)
2011-04-22 19:51:06 +01:00
Allan Jardine
2d0aff2b39
New: The ability to customise the property that is read when obtaining Ajax information from the server, for the data to insert into the table. The new initailisation parameter is sAjaxDataProp. It can be used with Ajax sourced data or server-side processing. When Ajax sourced data is used, it can be an empty string in which case it is assumed that an array has been passed into DataTables directly. Note also that it uses the same object data processor as mDataSource, so you can use dot notation to read from nested information (e.g. 'my.data').
2011-04-21 18:37:36 +01:00
Allan Jardine
1277cfece9
Fix: Column defs with a string would incorrectly match on a substring class - 4793
2011-04-21 16:45:39 +01:00
Allan Jardine
7c4958ee60
New: fnGetData now has a second parameter (optionally) to get the column data used by DataTables based on mDataSource
2011-04-20 18:55:21 +01:00
Allan Jardine
f172ef5383
New: Significant change to how data is handled by DataTables. DataTables now has the ability to deal with complex objects as data sourced, which is particularly useful for dealing with Ajax data, and other data which doesn't belong in the visible table (db IDs for example). See the examples/ajax/ files that are in this commit for examples on how this works. More unit tests and further tidy up to come. Detailed examples will also be added in future - the current examples are mainly for testing
2011-04-19 19:35:33 +01:00
Allan Jardine
2d253df1e5
Dev fix: Commited debug statements by mistake...
2011-04-12 21:08:13 +01:00
Allan Jardine
b2d528d0d8
Dev fix: Hidden columns could break width calculations - unit test found
2011-04-12 21:05:25 +01:00
Allan Jardine
a5bba04353
Updated: Add support for the complex headers with a scrolling table
2011-04-12 20:57:08 +01:00
Allan Jardine
6a9e32486f
New: Complex headers will now work as would be expected when giving a custom width (sWidth) to a specific column.
...
Fix: $().empty() removes events was well as removing the child elements, so it was removing the sorting events when drawing the header. Now just manually remove them using DOM - was introduced in the last commit
2011-04-12 19:36:07 +01:00
Allan Jardine
e290f76496
New: Column visibilty will now work great with rowspan / colspan in the header and footer! The way this is done is by creating a stored grid of the header/footer information - a grid of rows x columns - which contains information about the cell that should be at each point - regardless of rowspan / colspan. From that information it is then possible to draw the header / footer, minus any column (or row, although that is not used here) as needed. The initialisation and column visibility functions have been updated to account for this. This allows ColVis and the other plug-ins to 'just work' with complex headers.
...
New: Initialisation parameter: bSortCellsTop. This parameter allows control over whether DataTables should use the top (true) unique cell that is found for a single column, or the bottom (false - default). This is useful when using complex headers.
Removed: From the column definiations array (aoColumns) there is now no longer any need for anThExtra, anTfExtra or nTf. These have now been removed and will cause compatibilty issues for any plug-ins which use them.
Fix: Tidy up spaces where there should be tabs
2011-04-10 19:15:09 +01:00
Allan Jardine
a0967b7b14
Fix: State saving when using in combination with Ajax sourced data, wasn't restoring the paging state - 4490
2011-03-23 19:50:13 +00:00
Allan Jardine
15c7628d1c
New: Extend the new defered loading option to consider Ajax sourced data without server-side processing.
2011-03-17 19:00:57 +00:00