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

731 Commits

Author SHA1 Message Date
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
3514563d9c Updated - now using jQuery 1.4.4 as the copy of jQuery included in the DataTables distribution. Passes all unit tests 2010-11-17 08:25:07 +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
Allan Jardine
e4bed66535 Fixed: Stable sorting algorithm was slightly wrong when dealing with values which match each other. The idea for the stable sort is that the position shouldn't change so it should do a numeric sort of the row's current positions (the comment reflected this...) but it was in fact doing the sort on the value (aoData index), thus the "stable sort" position would reflect the original starting positions of the data, rather than the current position. The fix is to correctly look up the position of the index in the array and sort on that position (note the array is cloned, so it doesn't try to sort the dynamically sorted positions, which would make the sort unstable) - 2746 2010-09-30 08:17:38 +01:00
Allan Jardine
34aa952ec1 Fixed: When initialising multiple tables it was possible (no aoColumns given, and different number of columns) for DataTables to get confused and think one table's columns belong to another (due to a non-unique array in the initialisation object which was being wrongly used). 2010-09-20 13:15:06 +01:00
Allan Jardine
7f04b7ffb5 Fixed: When infinite scrolling, DataTables would clear it's internal cache of rows on every draw, when server-side processing was being used. This could result in fnGetNodes giving only a subset of the nodes which are visible, rather than the full set (which it now does). 2010-09-15 10:29:03 +01:00
Allan Jardine
0b8b2f7eea Starting 1.7.3 development 2010-09-15 10:06:18 +01:00
Allan Jardine
eacaca1083 Fixed: The 'rewind' of the display start point wasn't being calculated in the same way for server-side processing and client-side. This was due to a bug in the calculation of fnDisplayEnd for server-side - 2600. 2010-09-14 20:19:21 +01:00
Allan Jardine
6031c3d0bb Fixed: Data casting is now done after fnRender is called. This means that if you pass fnAddData a number, you'll get a number, and not the number cast as a string - 2611. 2010-09-14 19:59:23 +01:00
Allan Jardine
713008b997 Fixed: jsLint makes the fair point that escape() and unescape() are not standard functions. switched to using en/decodeURIComponent. 2010-09-14 19:49:19 +01:00
Allan Jardine
23fe13c68b Fixed: Column visibility was not being saved when calling fnSetColumnVis. It would require another draw to save the state before - 2635.
Fixed: Column visibility was not be restored from the state saving cookie. A small tidy up of the column creation code as well - 2635.
2010-09-14 19:43:04 +01:00
Allan Jardine
fb20b17856 Fixed: When destroying a table which had been filtered to no results, the 'No results' row was not automatically removed, returning in the table being unable to be re-initialised (since it has a colspan).
Fixed: Now use escape() and unescape() for state saving cookie with the filtering strings - 2608
2010-09-14 18:51:41 +01:00
Allan Jardine
8b4769f809 Fixed: When infinte scrolling, the display start count should always be at 1, rather
than reflecting the paging that DataTables is using internally.
2010-09-14 16:07:43 +01:00
Allan Jardine
af9293cbfc Fixed: A number of errors jsLint had picked up. Most trivial but worth of note are:
- Fixed incorrect reference for state saving cookie data string which would cause an error in jQuery 1.3 and before
- Fixed incorrect adding of anti-text selection event listeners being attached to the header elements (to many being added)
2010-09-08 21:16:28 +01:00
Allan Jardine
a8ade0297b New: It is now possible to have elements created by sDom have an ID assigned to them as well as a class. An extension of the previous class only syntax you can now do something like "#id.class", "#id" or "class" - 2666 2010-09-08 21:08:52 +01:00
Allan Jardine
5ea6a59af6 Changed: Don't need the CVS tags in the header any more. 2010-09-08 20:42:35 +01:00
Allan Jardine
332d511649 Fixed: Destroying a scrolling table was not correctly reassembling the table from it's component parts which are split up for scrolling. 2010-09-08 20:40:18 +01:00
Allan Jardine
2c4def9353 Fixed: fnInitComplete was being called too early for server-side processing. It is now called after the first draw is complete, like the other data sources. 2010-09-07 21:37:56 +01:00
Allan Jardine
4154332be2 Fixed: Column widths we being calculated by not applied. Due to the column width calculation now being done after the header is drawn, the widths need to be likewise done afterwards. 2010-09-07 18:21:05 +01:00
Allan Jardine
fde6ba858a New: Infinite scrolling! Building on the scrolling feature set that was introduced with 1.7, you can now have DataTables do infinite scrolling (bScrollInfinite: true), where data is loaded dynamically as and when needed by the user's interaction with scrolling. Infinite scrolling can be used by all DataTables' supported data sources without modification.
New: The distance from the end of the current scrolling container before new data is added (with infinite scrolling) can be controlled with iScrollLoadGap (which is a numeric value in pixels).

New: Example (basic_init/scrolling_y_infinite.html) to show how infinite scrolling can be used.

Fixed: iDraw was not being incremented for a draw that did not use server-side processing.
2010-09-05 10:21:26 +01:00
Allan Jardine
9b2a236a53 Fixed: Column width calculations are now done after DataTables has done it's required DOM manipulation. This means that column width calculations are more accurate and take account of dynamic data. 2010-09-03 08:54:55 +01:00
Allan Jardine
5f5e6a6f60 Fixed: DataTables would unnecessarily add mousedown and selectstart event handlers to TH elements which aren't used for sorting. This is used on sorting columns to prevent text selection when clicking the element to perform sorting. 2010-09-03 08:39:16 +01:00
Allan Jardine
bd992cb10a New: When using jQuery UI theme option, DataTables will wrap the contents of sortable TH element in a DIV which can then be used to position the sorting arrow accurately across all columns. The required CSS has been added to the CSS files to show this effect. 2010-09-03 08:33:44 +01:00
Allan Jardine
4fef523262 1.7.1 version string 2010-08-22 15:43:02 +01:00
Allan Jardine
60a2701df0 Updated: Change to fnClearTable to clear the arrays in a cleaner manner 2010-08-22 15:37:36 +01:00
Allan Jardine
ced3b96264 Fixed: Themeroller 1.8 introduced a few changes from 1.7 (main fg-button* > ui-button) which was causing 1.8 themes to not show correctly. This release updates DataTables to use ThemeRoller 1.8 themes by default, but retains 1.7 backwards compatibility for now (to be removed in future) - 1559 2010-08-22 13:48:20 +01:00
Allan Jardine
60a7c58122 Fixed: Sorting classes weren't being removed in Firefox 3.0 (3.1+ were fine) - 2449 2010-08-22 13:02:01 +01:00
Allan Jardine
29d7a0a182 Fixed: fnDestroy didn't restore columns which had been hidden by DataTables, resulting in these columns being completely lost - 2569 2010-08-22 08:47:06 +01:00
Allan Jardine
505bfce7c2 Fixed: The width of the table is now not fixed to the width of the container when scrolling is not applied (this is the same behaviour as 1.6-) - 2530 2010-08-21 10:05:07 +01:00
Allan Jardine
05995bd655 Fixed (from last commit): Incorrect variable when saving state caused state saving to stop working
Fixed: Removed unnecessary white space from state saving cookies
2010-08-20 18:58:25 +01:00
Allan Jardine
85b923cff3 New: Cookie callback function (can be passed as an initialisation parameter) called fnCookieCallback, which allows the developer to modify the information stored in the cookie. Takes four arguments (sName, oData, sExpires, sPath) and expects a complete cookie string to be returned (with name, value, expires and path correctly formatted).
Updated: Now use jQuery's JSON parse function (in jQuery 1.4) rather than JSON.js

Fixed: State saving cookie used single quote strings in places (in correct JSON). This has now been addressed, and a work around in place (replace) until a sufficient period has passed
2010-08-20 18:52:16 +01:00
Allan Jardine
d5cb811698 Fixed: The second parameter for fnServerData was being passed as null when used without server-side processing. It makes much more sense to pass an empty array - 2553 2010-08-20 18:06:47 +01:00
Allan Jardine
1beb523cc1 Updated: Warning when adding a new row when the length doesn't match the known number of columns has been updated to indicate the known columns and what was added. Thanks to Adam Sah for this. 2010-08-19 09:48:51 +01:00
Allan Jardine
e69815449a Fixed: Setting a negative width in IE results in an error (fair enough) - so stop this from happening - 2544 2010-08-18 09:17:33 +01:00
Allan Jardine
9e6094e792 New: Language callback function for the information element. This can be used to customise the language shown in the information element beyond what is possible with the built in language string options (for example plurals). The arguments are fnInfoCallback( oSettings, iStart, iEnd, iMax /*no filter*/, iTotal /*after filter*/, sOut /*DT rendered string*/ ) - 2520 2010-08-17 23:29:12 +01:00
Allan Jardine
8e2efc004f Updated: Complex headers have been relaxed such that TH elements no longer need to be unique. There does need to be the correct TH elements with colspans and rowspans which add up, and each column requires at least one TH element for itself, but it is now possible to have two (or more) TH elements for each column. 2010-08-17 23:03:17 +01:00
Allan Jardine
5881948640 Fixed: Typo for tfoot, should be tbody - "Sanity check that there is a thead and tfoot. If not let's just create them" 2010-08-17 22:20:32 +01:00
Allan Jardine
adbaaf1ee1 Bug fixes for 2440, 2512 and 2530 2010-08-17 19:09:48 +01:00
Allan Jardine
9fcaccb570 Initial commit - DataTables 1.7.0 2010-08-17 08:42:13 +01:00