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

55 Commits

Author SHA1 Message Date
Allan Jardine
27488c4093 Tidy up use of typeof and undefined in DataTables - the main goal is to reduce code size under 70K here, but its a good opertunity to get this area sorted out. Note that the unit test update for fnInitComplete is because 'json' is now always passed through, although it will be undefined in anything but Ajax sourced client-side processing. 2011-12-14 13:35:49 +00:00
Allan Jardine
7d2d62d519 Update unit tests to take account of the change to the pagination elements now being A tags, rather than SPANs/DIVs. Good that the change broke the unit tests since it is backwards incompatible 2011-12-06 16:18:50 +00:00
Allan Jardine
25fadbc644 Add unit test for filtering on non-string input 2011-12-06 10:39:08 +00:00
Allan Jardine
6610ec24b8 Unit tests were using asStripClasses which was an old legacy typo... It should be asStripeClasses and I've removed the alias in 1.9, thus the unit tests need to be updated. 2011-12-04 18:11:36 +00:00
Allan Jardine
e1fb1748a8 Add a default unit test set for the mDataProp test set - objects 2011-12-03 09:57:09 +00:00
Morten Brix Pedersen
5732f4c1fa Fix typo 'destory' -> 'destroy'. 2011-11-07 09:55:01 +01:00
Allan Jardine
c655c92cfe Fix: Unit test compatibility fix for IE7 2011-09-10 10:35:03 +01:00
Allan Jardine
5131e1dd7f Fix: HTML column type could sometimes be overridden by the string sorting type. If a cell was found to have just a string and no HTML in it then the whole column would be treated as a string column, even if other cells had HTML. Now put a check in place to ensure that string can't overrule html type. Unit test added. 2011-09-09 19:32:59 +01:00
Allan Jardine
2c9ce2aa59 Fix: When filtering is applied to a table which has y-scrolling, and the filter was sufficient to make the scrolling disappear, the table width would increase by the scrollbar width. This was of course incorrect and the result of a change for 1.8.1 - we need to test is the scrollbar is present or not for the fix to be correct, which it now does. Unit test added.
Fix: As with the fix in 1.8.1 for the x-scrolling appearing when disabled the footer needs the same consideration as the header, otherwise it can be cut off visually.
2011-06-29 18:08:14 +01:00
Allan Jardine
56a7564ee8 Dev fix: fnDestry wasn't reapplying original with correctly due to a mistake in an earlier commit - picked up by unit tests 2011-06-25 17:43:47 +01:00
Allan Jardine
aaf9697bd6 Fix: The ability to use complex data structures in 1.8 means that arrays which are passed into to fnUpdate need not strictly be the same length as the number of columns in the table - therefore the warning that is given if you do this is wrong... no other code changes needed - just no need to generate the warning! Unit test added - 5396 2011-06-21 18:38:00 +01:00
Allan Jardine
e08f95f5a2 Update: Unit tests which text the argument count for fnServerData updated to include oSettings being passed as fourth argument
New: sLoadingRecords tests added for Ajax source loading
2011-05-29 19:00:16 +01:00
Allan Jardine
5576cf2097 Dev fix: fnRender is only called once per row now for Ajax sourced data 2011-05-08 18:58:34 +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
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
144bd6e178 Dev update: Change the name of the custom data property for Ajax sourced data 2011-04-27 22:05:00 +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
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
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
349a78dc43 New: Unit tests for mDataSource of various types. Run sanity checks on five possible varations 2011-04-20 20:26:14 +01:00
Allan Jardine
a6c8a13e6a New: Unit tests for column visibility with complex headers and fnSetColumnVis 2011-04-20 20:05:14 +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
6849515c0e Updated: Complex header behaviour has changed slightly to make the bottom unique TH element the one which has the sorting listener attached. Updated unit test 2011-04-12 21:33:47 +01:00
Allan Jardine
ede9f77de8 Updated: Reliability of unit tests in non-webkit browsers 2010-12-15 21:22:22 +00:00
Allan Jardine
d141d8370a Fixed: The behaviour for complex headers has been altered slightly for complex headers in that only the first of non-unique TH elements will be click to sort-able. Unit test update needed as this is different behaviour from before when all elements belonging to a column were click to sort. 2010-11-17 08:25:54 +00:00
Allan Jardine
4e11bf9e9c Fixed: Unit tests could fail due to interaction between state saving cookies. Now when tests which state save end, they must call fnCookieDestroy. 2010-10-17 07:43:17 +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
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
81107d0b7d Fixed: State saving when there were no column being sorted was broken - 2914 2010-09-30 20:18:33 +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
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
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
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
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
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
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
aec4505a8f Fix: Looser test for IE to pass. Different date format string 2010-08-22 16:18:44 +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
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
25148e4fec 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:07:34 +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