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

98 Commits

Author SHA1 Message Date
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