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
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