Tim Tucker
6a5c4cf261
Update media/src/core/core.sort.js
...
Use simpler dom-based method for deferred render
2012-09-03 16:53:00 -03:00
Tim Tucker
24fc23f63d
Update media/src/core/core.sort.js
...
Simplify and improve performance
- Only check once for the presence of any sorting class instead of checking for the 3 individual classes
- Use lastIndexOf(str, 0) instead of indexOf
http://jsperf.com/rep-reg-string/4
2012-09-03 16:29:28 -03:00
Allan Jardine
a950fb0642
Merge pull request #88 from timtucker/patch-5
...
Update media/src/core/core.data.js
2012-09-02 01:38:58 -07:00
Allan Jardine
1fdfb65457
Merge pull request #87 from timtucker/patch-4
...
Allow adding / removing an arbitrary number of stripes
2012-09-02 01:37:58 -07:00
Tim Tucker
dd616424b9
Update media/src/core/core.support.js
...
Use firstChild / nextSibling rather than childNodes
2012-08-31 18:25:23 -03:00
Tim Tucker
1001a332fb
Update media/src/core/core.data.js
...
_fnGatherData: Use firstChild / nextSibling to iterate rather than childNodes
2012-08-31 18:12:39 -03:00
Tim Tucker
75ce320838
Update media/src/core/core.constructor.js
...
Allow for adding / removing an arbitrary number of stripe rows
2012-08-31 17:31:00 -03:00
Tim Tucker
ce59c7403f
Update media/src/core/core.scrolling.js
...
Tweaks to improve performance
Cache nodes
Restructure to use nextSibling rather than childNodes
(small increase in file size, but may be a slight decrease in minified size)
2012-08-31 16:25:35 -03:00
Allan Jardine
0d47107906
Merge pull request #84 from timtucker/master
...
Update to docs
2012-08-31 09:46:34 -07:00
Tim Tucker
3cc96cf58f
Update media/src/core/core.draw.js
...
Cache row
Avoid array access to childNodes
Move unique calculation outside of loop
Declare all vars at head of function
Cache a[i] in fnShiftCol
2012-08-31 13:38:51 -03:00
Tim Tucker
6fa5559dc3
Update media/src/core/core.sizing.js
...
Doc update -- getWidestNode returns node, not string
2012-08-31 11:00:48 -03:00
Allan Jardine
c2af41140b
Performance: Large improvement in scrolling performance due to rearranging the way that column widths are read and applied to the target table. Rather than merging reading and writing together, we now seperate the reading and writing phases, allowing the browser's rendering engine to optimise the reflow. Props to jlabanca for this modification - 11541
2012-08-30 07:29:50 +01:00
Allan Jardine
34096537c2
Fix: Firefox Windows (not Mac) had an error when calculating if scrolling oversizing was needed or not (_fnBrowserDetect). The result was that the table did not fill the space when y-scrolling was enabled and Firefox Windows was used. Fix is to remove the height on the DT_BrowserTest parent as suggested by randomuser
- 11406
2012-08-22 16:39:36 +01:00
iBiryukov
e15342225c
Small Typo Fix
2012-08-10 19:46:06 +02:00
Allan Jardine
725c1b68ba
Fix: Typos in documentation comments and source comments - 11083
2012-08-08 22:22:45 +01:00
Allan Jardine
1f0b162760
Dev fix: In the update to the search array building methods I neglegted to strip \n\r from all rows (only HMTL rows were being stripped) - this is required for searching to work as expected. Picked up by the unit tests.
2012-08-08 22:05:14 +01:00
Allan Jardine
fd0e0a42e4
Fix #39 - null values should also be considered like undefined values when working with nested data and have properties created as needed.
2012-08-08 20:16:40 +01:00
Allan Jardine
45a6d2b505
Fix: null values that were applied to extended object properties were not being correctly applied since typeof null === 'object' - 11180
2012-08-04 09:34:26 +01:00
Allan Jardine
5311067cd2
Dev: Tidy up _fnColumnIndexToVisible and _fnVisibleToColumnIndex to use the new _fnGetColumns method.
2012-07-31 09:39:51 +01:00
Allan Jardine
d034d187bd
Performance: Alter how _fnBuildSearchRow works to be much faster. For this a new method call _fnGetColumns is introduced which will pluck the column indexes that we want into an array that can then be iterated over (rather than spinning over the full aoColumns array twice, we now do it only the once for columns which are actually marked as searchable). Also use array join rather than string concatination to keep the number of operations down as much as possible. The callers of _fnBuildSearchRow must now pass in the data to be searched, limited by the searchable flag (i.e. call _fnGetRowData with the column indexes from _fnGetColumns).
...
Fix: Use jQuery html() and text() for HTML data to search method. Much tidier and copes with strict XHTML - downside is that it is a little slower if & is in a data string.
2012-07-31 09:25:35 +01:00
Allan Jardine
d155f7a7e7
Updated: Renaming mDataProp to mData for naming consistency and to show its flexibility. Please note that this is a backwards compatible change! DataTables will automatically check for mDataProp on a column and use that if required (if both mData and mDataProp are given then the new mData is used in preference).
2012-06-29 20:08:52 +01:00
Allan Jardine
4886322183
New: mRender option for columns - this is effectively a simpiler version of mDataProp for reading data only (while mDataProp also sets data), and much more comprhensive than fnRender (as such fnRender is now offically deprecated). See the documentation comments in model.defaults.columns.js for further information on how to use mRender.
2012-06-29 19:37:22 +01:00
Allan Jardine
0ed6ceda95
Updated: mDataProp syntax now has the ability to accept array syntax (for example "access[].name" would get an array of the 'name' properties from the access property of the data source). This is exceptionally useful for manipulating arrays - however, you are very _strongly_ advised not to use in in mDataProp itself, since when setting arrays, you will overwrite the old array (thus destroying any other properties that it already has!). Instead, see the new mRender property if you want to make use of this syntax for drawing the table.
2012-06-29 17:47:00 +01:00
Allan Jardine
a022e2f736
Dev - remove debug
2012-06-25 20:06:19 +01:00
Allan Jardine
40a236a7cc
Update: Remove use of $.browser since this is depricated in jQuery 1.8 and will be completely removed in jQuery 1.9. Instead we now use feature detection to determine if there is a browser bug with the width calculation of scrolling elements that needs to be worked around. This does unfortunatly increase the code size a bit - it is either this or using user agent string detection (which is exactly what is being removed from jQuery).
...
Starting 1.9.3 development
2012-06-25 11:19:56 +01:00
Allan Jardine
1055d27887
Fix: Regex filter escaping wasn't escaping the dash ('-') character believe it or not. That's been there since very early DataTables!
2012-06-13 18:27:04 +01:00
Allan Jardine
284658e3c9
Fix: When setting deeply nested object properties, where the parent object doesn't yet exist, don't just silently fail. Since we are setting a value, we are at liberty to create the parent object and then set the value - this now does so.
2012-06-07 09:43:47 +01:00
Allan Jardine
3d802a685b
Fix - docs: JSDoc syntax errors which were picked up by JSDoc Toolkit
2012-05-20 10:55:23 +01:00
Allan Jardine
49fe9f2e0e
Fix: Calling fnClose in fnPreDrawCallback would result in an error - 9702
2012-04-29 18:57:37 +01:00
Allan Jardine
fee3ba754f
Merge pull request #46 from Petah/master
...
Allow custom JUI header and footer classes
2012-04-29 02:13:33 -07:00
Allan Jardine
9ec52faec5
Dev fix: The change to set all Ajax properties has a knock on effect on setting deep objects that don't exist, since that is now attempted. Picked up by unit test.
2012-04-13 17:56:46 +01:00
Allan Jardine
814ce1f7d5
Update: Bring the mDataProp as a function functionality to parity for Ajax / JS sourced data and DOM sourced data. Previously DOM sourced data would call the 'set' option for the mDataProp function but Ajax/JS sourced data would not, resulting in the set option never being called for those table types, which is a total bummer when you want to do some formatting in the set option. So now it is called. I was slightly conerned about the performance hit since this means a couple of extra function calls for each cell, but its all in JS, no DOM and I can see virtally no difference with about 50'000 rows and 5 columns of data, so acceptable for the benefits.
2012-04-13 17:25:25 +01:00
Allan Jardine
ac9e454e11
New: Column option "sCellType" - allows you to create TD (default) or TH cells for a column. Useful for creating row headings in the TBODY.
2012-04-13 13:31:02 +01:00
Allan Jardine
732d25b229
Fix: IE8 bug where an empty string read from a DOM input element is JSON encoded as '"null"' - absolutely mental! See this blog post for more information http://blogs.msdn.com/b/jscript/archive/2009/06/23/serializing-the-value-of-empty-dom-elements-using-native-json-in-ie8.aspx .
2012-04-13 11:56:01 +01:00
Allan Jardine
773c88b9f6
Fix: When mDataProp is given as a function, an error in getting the data would be rather ugly - 8400
2012-04-13 11:40:45 +01:00
Allan Jardine
8a66adc2d4
New: The _START_, _END_, _MAX_ and _TOTAL_ macros for the information language strings can now be used in any info string, rather than being limited to just the ones noted in the documentation - a new internal function called _fnInfoMacros is introduced to allow this to work - 9211
2012-04-13 11:29:56 +01:00
Allan Jardine
0518525f59
Fix: Captions which were positioned using caption-side:bottom (CSS) would be positioned incorrectly if using a scrolling table. Need to work around webkit bug 83867 to address this and add an empty tfoot element if one is not given - 2022
2012-04-13 09:25:47 +01:00
Allan Jardine
4be9b362c8
Fix: When scrolling and row height collapse was enabled, it was possible that the table column width applied would be too small due to the fact that a scrollbar would be shown for a fraction of a second, due to the height of the scroll body container enforced by the scroll collapse. Fix is to take into account the header height before the width calculation is done
2012-04-12 17:27:05 +01:00
Allan Jardine
3a27a605b9
Fix: Scrollbody height in IE7- - use offsetHeight consistently - 9424
2012-04-12 09:25:35 +01:00
Allan Jardine
35a23adb75
Dev fix: Missed a variable def in the recent _fnLanguageCompat change
2012-04-02 11:53:13 +01:00
Allan Jardine
cd0babca54
Fix: IE6/7 return an empty string for getAttribute('id') when there is no ID attribute, rather than null. As such tables were not automatically being given an ID when they didn't have one, which created a situation where the settings object for a table could be 'lost' in IE6/7. Now check for empty string when checking the table ID.
2012-04-02 10:25:52 +01:00
Allan Jardine
04d4786455
Fix: IE6/7 when scrolling is enabled could loose the sorting event due to the way cloned nodes work in those browsers. Note that this was introduced after 1.9.0. Related - jQuery bug 10437 - http://bugs.jquery.com/ticket/10437
2012-04-02 10:03:47 +01:00
Allan Jardine
c1e40a8596
Fix: Language backwards compatibility could override developer defined defaults - 9267
2012-03-30 15:30:19 +01:00
Allan Jardine
2096244c60
Fix: afnSortData functions were not being executed with the DataTables instance's scope
2012-03-19 12:09:49 +00:00
Allan Jardine
b5f4938d7d
Fix: If sType for a column is html and the data is null, then _fnDataToSearch could throw an error - 8987
2012-03-14 07:51:07 +00:00
Allan Jardine
c22dfe00d3
Strip HTML from the aria-label tag for the sorting headers
2012-03-14 07:04:33 +00:00
Allan Jardine
cc42c49ec3
New - initisalisation: iDeferLoading can now also be an array allowing the developer to specify the number of records before and after filtering for the information display - 7936
2012-03-03 07:34:11 +00:00
Allan Jardine
3a40c3a440
Fix: The sStripeOdd / sStripeEven options for the class objects were not being applied to the table. The fix is to set the default for asStripeClasses to be null, and then if null is found there, then the user hasn't applied a default, nor have they overridden the default, therefore we can use the classes from the class objects - 8770.
2012-02-29 09:09:16 +00:00
Allan Jardine
5479600611
Fix - performance: Don't extend the passed in data a second time - its a waste of time
2012-02-26 19:12:11 +00:00
Allan Jardine
126a4fe44e
Fix: When scrolling is enabled the initial width of the header was being set to 150% which was a bit random and could result in the header flashing its display in the wrong place when loading. The fix is to use 100% unless x-scrolling is being forced, at which point it needs to match the inner table - 8332
2012-02-25 07:56:27 +00:00