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
Allan Jardine
7138587212
Fix: When using infinite scrolling and state saving, the saving of the draw start point is wrong, resulting in missed rows. When inifinite scrolling is enabled the state should be saved as starting at 0 always. Thanks to Jan (di4bl0s) for picking this up - 4388
2011-03-12 07:02:59 +00:00
Allan Jardine
501324a590
Fix: Commit c01dda2a60
introduced a global variable to DataTables in fnGetData and fnGetNodes. This commit fixes that while keeping the introduced feature.
2011-03-08 19:29:38 +00:00
Allan Jardine
789a6876f0
Fix: Small typo in deferred variable comment
2011-03-06 14:58:53 +00:00
Allan Jardine
01ffda313f
New: Defered loading feature for server-side processing. With this feature enabled (controlled by the new initialisation parameter iDeferLoading) DataTables will not make a request to the server for the first page draw - rather it will use the data already on the page (no sorting etc will be applied to it). iDeferLoading is used to indicate that defered loading is required, but it is also used to tell DataTables how many records there are in the full table (allowing the information element and pagination to be displayed correctly). The intention of this feature is to improve the progressive enhancement foundation and accessibility of DataTables.
2011-03-06 14:54:54 +00:00
Allan Jardine
83db797888
Start 1.8.0 development :-)
2011-03-06 14:54:01 +00:00
Allan Jardine
91bac43b15
Fix: When removing stripe classes, look only at the direct tbody tag, not nested which could remove classes you want to keep!
2011-03-02 19:08:20 +00:00
Allan Jardine
25840887e4
Version 1.7.6 development complete
2011-03-01 19:11:32 +00:00
Allan Jardine
8c37c48e00
Fix: Internal footer height for scrolling table should be set to 0, just like the header is
2011-02-27 12:39:11 +00:00
Allan Jardine
ce57597ae6
Fix: When unbinding DT namespaced events in fnDestroy, also unbind anything attached to the wrapper element
2011-02-26 19:34:46 +00:00
Allan Jardine
d5b106a2a2
Fix: Namespace all events added via jQuery (using the 'DT' namespace) to make events easy to remove in fnDestroy.
...
Fix: Remove all added events in fnDestroy, otherwise DataTables will leak memory like crazy when the destroy function is called
2011-02-26 12:32:56 +00:00
Allan Jardine
fdef8e02c3
Fixed: The scrolling header container should really be width:100% rather than a fixed width. The pixel width was trying to do width:100% and succeeding, but needing to be calculated rather than done natively.
2011-02-24 19:07:45 +00:00
Allan Jardine
bd0115d838
Fix: fnUpdate wasn't updating cells which were hidden by fnSetColumnVis or bVisible. It does now.
2011-02-22 21:23:06 +00:00
Brian Abreu
c01dda2a60
Fixed: fnGetData and fnGetNodes to return null when a row number is passed in that is out of the table's range.
...
Signed-off-by: Allan Jardine <allan.jardine@sprymedia.co.uk>
2011-02-17 18:47:25 +00:00
Allan Jardine
6641866868
Fixed: The instance that is stored (oSettings.oInstance) could contain muliple tables in a single instance, when tables are created with a selector that includes multiple tables. This could make API access a bit more tricky (3963) so now store a unique instance of the DataTables object for each individual instance.
2011-01-29 08:53:42 +00:00
Allan Jardine
bad588e6f2
Bump version to 1.7.6.dev
2011-01-17 22:13:06 +00:00
Allan Jardine
c12e8ce3b5
Fix: Trival comment change in function header
2011-01-17 22:11:42 +00:00
Allan Jardine
537e3e9595
Fixed: Table width calculations need to be done on the outerWidth, rather than 'inner', otherwise things simply don't add up (and IE get's a bit confused - fair enough).
2011-01-17 22:10:16 +00:00
Allan Jardine
c0cfe5c9e9
Finish 1.7.5 development
2010-12-15 21:54:11 +00:00
Allan Jardine
525fad090e
Fixed: fnInitComplete was not the last thing to be executed when using DOM source. IT was possible that you could set sAjaxSource in fnInitComplete which would then trigger DataTables to do an Ajax call incorrectly.
2010-12-15 21:23:24 +00:00
Allan Jardine
83c0ab8888
Fixed: fnDrawCallback was actually the first of the draw callback functions that was called (the internal callbacks were called later). This was incorrect and we now loop over the array to get the order we want. At some point in future it might be required to have an ordering if these draw callbacks become interdependant.
2010-12-14 20:42:31 +00:00
Allan Jardine
65b7c9b1e6
Performance: Re-written the sorting implementation so it doesn't use either eval() of $.inArray(). inArray was found to have a serious negative effect on IE which counts operations to give the 'script is running slow' error message - the new implemention uses a value / key reverse mapping to make the look up as fast as a single object parameter retreival. Furthermore, I've done some optimisation and feature completeness work on the non-eval version of the sorting (previously the AIR sorting method) and I've found this to be at least as good (faster in some cases) than the old eval() sort, so this is now the default and only sorting method DataTables provides - 2922
2010-11-28 14:42:38 +00:00
Allan Jardine
fbe83c7b44
Updated: fnAdjustColumnSizing when called with 'false' as the first (and only) parameter will now apply the calculated column sizes to the table when scrolling is being used. This allows a non-Ajax update to occur if using server-side processing. Thanks to Cat Weismann for this patch.
2010-11-18 21:57:23 +00:00
Allan Jardine
837ae99479
Fixed: When using server-side processing and having called fnDestroy, don't make another XHR to the server as the data won't be used - 3375
2010-11-17 08:10:49 +00:00
Allan Jardine
5b677bcdf7
Fix: Correctly add the sClass to the TH elements in the header
2010-11-04 21:26:11 +00:00
Allan Jardine
74654f84f4
New: Add bScrollAutoCss option (default true). This allows you to control the scrolling styles with CSS, where as normally DataTables will set (and override) the styles itself. This is useful for if you want to have a scroll bar showing at all times (normally auto).
2010-11-04 18:17:34 +00:00
Allan Jardine
946eefe054
New: Column visibility options in DataTables (bVisible and fnSetColumnVis) now take into account more than one row in THEAD and TFOOT. Please note that colspan and rowspan are NOT supported when using column visibility options in the header and footer, and will very likely have effects which are not at all desirable. As such there are conditions on this use (note that if you only have one row in the header / footer, then this has no impact), specifically the number of cells in the header / footer much be equal to the columns * rows (in each one). This way DataTables can accurately add and remove the cells as needed. The cells may be either TH or TD elements, but DataTables still requires at least one TH element for each column.
...
Updated: Previously when multiple cells were detected as unique to a column the last one would be given priority (i.e. sorting event handler etc). This is now no longer the case and the first will take priority.
2010-11-02 18:25:00 +00:00
Allan Jardine
eec881b8ac
Fixed: Remove the 'sNames' parameter that was introduced for server-side processing in 1.7.4. The parameter 'sColumns' actually performs exactly this task already. Doh. Also update the example PHP to take this into account - 3218
2010-10-31 17:16:35 +00:00
Allan Jardine
e4e2b0d11b
Start 1.7.5 development
2010-10-31 17:14:10 +00:00
Allan Jardine
9f0e9e0989
Finish 1.7.4 development
2010-10-30 08:02:14 +01:00
Allan Jardine
a274d44f0c
Fixed: Couple of minor jsLint highlighted errors - nothing funcational, just tidy code.
2010-10-30 07:18:25 +01:00
Allan Jardine
2bb96f89b0
Fixed: When state saving, it was possible to have a situation where by a table would contain 'n' columns, the user would sort on the last column and then the html is modifed to only have 'n-1' columns. This resulted in a JS error when DataTables tried to restore sorting on the removed column. Now do a sanity check to ensure the sorting column is present, and if not add sorting on column 0.
2010-10-30 06:54:10 +01:00
Allan Jardine
dbb51ab117
Updated: A warning is now given if you pass in aTargets (for aoColumnDefs) as something other than an array (since this is not valid).
2010-10-30 06:44:34 +01:00
Allan Jardine
4ec3b10e3e
New: fnSetColumnVis now has the option to cancel the redraw by passing the third parameter to the function as false (default is true).
2010-10-30 06:39:48 +01:00
Allan Jardine
47d5a6781a
Fixed: When pressing a meta key (i.e. an arrow key) in the search box and the search value didn't change, this was casuing a redraw to occur where one was not needed - 2933
2010-10-30 06:35:30 +01:00
Allan Jardine
a6365b3f69
Updated: Server-side processing script for column re-ordering has been updated to take account of sNames parameter which is sent in from DataTables, and also brought up to date with the main server-side processing script.
...
Changed: From the previous commit sNames sent from the client to server is now a comma seperated list of sNames and is always sent regardless of if names are given or not. This matches the sName formatting for the server-to-client return.
2010-10-29 08:48:13 +01:00
Allan Jardine
e7ffbb13fd
Fixed: IE6 and IE7 were having issues with scroll X and jQuery UI theming - specifically the elements which should have been hidden by the header scrolling were visible. This is fixed with a position: relative - 3180
2010-10-28 22:08:29 +01:00
Allan Jardine
1e1e8f0104
New: Column names, if defined, are submitted to the server-side for server-side processing. This is useful for the column ordering information, since it is possible for the server to be expecting a different column order from what DataTables is using - specifically with the column indexes such as sSearch_{i}.
2010-10-28 22:07:03 +01:00
Allan Jardine
f57434fc5b
New: Addtinoal ability to control state saving through two new initialisation parameters "fnStateLoadCallback" and "fnStateSaveCallback". Documentation to be updated on datatables.net at 1.7.4 release time. Basically now you can add parameters to be save, and override parameters whic have been saved. Also useful for plug-ins which need to save state.
2010-10-28 22:03:41 +01:00
Allan Jardine
77ce64fae3
Update: Remove unused settings class variable iDefaultSortIndex (the was long ago replaced with aaSorting
2010-10-23 17:38:44 +01:00
Allan Jardine
12c81b8e65
Updated: Store a complete representation of the column visibility state in aoData[]._anHidden (i.e. put in nulls for elements which are visible) to make manipulation much easier.
2010-10-23 17:36:55 +01:00
Allan Jardine
1dd9630d53
Updated: Slightly faster code for _fnStringToCss - thanks to sd_zuo, 3036
2010-10-18 09:26:37 +01:00
Allan Jardine
1e9aaee457
Updated: Upgrade to jQuery 1.4.3
...
Fixed: jQuery 1.4.3 seems a lot more keen to call the $.ajax error handler, which was causing the unit tests to alert errors a lot when dealing with Ajax calls, since it can make multiple calls at the same time. I've altered the check in the default error handler to look for a prase error before alerting now.
2010-10-17 08:14:29 +01:00
Allan Jardine
fe6b045af7
Fixed: Unit test 4_serveri-side "Filter 'nothinghere' - info" was failing as the information element of the table was incorrectly reporting that "1" record was being shown (start) when the filter applies ensured that no records were actually being shown. This was due to a strong type check against a string/number returned from the server-side processing script and a number/0. Fix is to parseInt().
2010-10-17 07:50:51 +01:00
Allan Jardine
6adec72aae
Fixed: Processing indicator wasn't being shown during initialisation for non-Ajax sourced data, if it was enabled
2010-10-16 18:10:25 +01:00
Allan Jardine
139a3f7f13
Fixed: Check also for pt units as well as the other CSS options
2010-10-16 12:57:08 +01:00
Allan Jardine
a2d7a32b2f
Fixed: Sorting disabled classes were not being correctly applied if sorting was disabled. This was particularly obvious with jQuery UI theming - 3064
2010-10-16 10:59:21 +01:00
Allan Jardine
d41c572798
Updated: Optimisation on fnDeleteRow to simply remove the search array entry, rather than rebuilding the whole array, also on fnUpdate to only rebuild the single row, rather than the entire thing, and finally fnAddData - allow the redraw to update the search array.
2010-10-16 10:06:49 +01:00
Allan Jardine
1c407778bb
Fixed: Previous fix for setting the inner header width was incorrect, and would break x-scrolling. It should be taking the width of the containing element of the main table (nScrollBody), rather than the width of the table (which when x-scrolling could be much wider than the container).
2010-10-08 08:49:03 +01:00
Allan Jardine
1b2a6ff5b1
Fixed: Table could expand on each draw, incorrectly, due to a rather convoluted mixture of the table width being 100% and the outer header not having a width set (so when the table was cloned into the header, it would expand to take up the width of the inner header element, which was the outer + the scrollbar width).
...
Change: Move version to 1.7.4.dev
2010-10-07 17:44:49 +01:00
Allan Jardine
e494695c03
Release: 1.7.3
2010-09-30 22:16:45 +01:00
Allan Jardine
44bf320ac8
Fixed: Now restore the width of the original table on fnDestory. This is needed for when using sScrollXInner, and on other occasions where using DataTables will force the table to be wider than it otherwise would be - 2840
2010-09-30 22:06:41 +01:00
Allan Jardine
596ea4b9e9
Fixed: If a TR height was specified via css globally (for example tr{height:20px}) this would cause the hidden header and footer in scrolling tables to be shown. Added override by CSS style for this - 2765
2010-09-30 21:47:46 +01:00
Allan Jardine
81107d0b7d
Fixed: State saving when there were no column being sorted was broken - 2914
2010-09-30 20:18:33 +01:00
Allan Jardine
2315bf3635
Fixed: Add a sanity check to ensure that the node given to DataTables is in fact a table - 2343
2010-09-30 08:58:12 +01:00