Allan Jardine
5a506746bb
Fix: Alter how the selector for the $ API method works so that it works on the TR elements and their decendants
...
Update: modify the api_in_init.html example to use the $ API method
2011-12-14 17:42:25 +00:00
Allan Jardine
e1d860205b
Change the defaults object from attaching to DataTable.models to just the top level DataTable as DataTable.defaults - makes it much easier to access it when trying to set a default.
2011-12-14 16:22:58 +00:00
Allan Jardine
c44e10cf98
Tidy up the settings object - a lot of the settings should have null as the default since they are set by the initialisation.
...
Dev fix: Filtering usig anything other thant he API would always do case-sensitive matching
Doc fix: bAutoWidth wasn't documented
2011-12-14 16:02:03 +00:00
Allan Jardine
6db08eb107
New: Filtering now has a case insenstive option - this is bCaseInsensitive in oSearch, or the 6th parameter for fnFilter
2011-12-14 15:26:37 +00:00
Allan Jardine
356579f311
Documentation - note that DataTable is not a global object, but give variables for how it can be accessed
2011-12-14 15:08:42 +00:00
Allan Jardine
bebc9e516d
Documentation update for fnDrawCallback - it does actually get a parameter - the settings object
2011-12-14 14:12:48 +00:00
Allan Jardine
b235c64c2a
Language options always get extended with the initalisation object now - this allows you to use both a file source and the local script if you wanted. It also allows backwards compatiablity with language files that don't have the oAria namespace.
2011-12-14 13:39:06 +00:00
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
1c60542040
Can't extend null on the classes - make the default an object for the settings classes holder
2011-12-14 11:59:26 +00:00
Allan Jardine
64a1b6b032
Copy the column options on top of the column settings object
2011-12-14 11:33:29 +00:00
Allan Jardine
b3e57df2ef
Reduce code size slightly (not much in fairness - but every little helps...)
2011-12-14 11:27:45 +00:00
Allan Jardine
013eac9d0b
Only the constructor should be referring to oJUIClasses - also in the constructor copy the class object rather than referencing
2011-12-14 11:15:17 +00:00
Allan Jardine
2bc7cd34c9
Remove redundant information in the message
2011-12-14 10:57:34 +00:00
Allan Jardine
57cc9f1b2c
Small tidy up of how the column filter state is saved
2011-12-14 10:50:34 +00:00
Allan Jardine
c8c40189a2
Remove pointless duplication of code - it was doing the same thing, just with different pointers
2011-12-14 10:48:15 +00:00
Allan Jardine
169eb721d2
New: oLanguage.oAira.sSortAscending and oLanguage.oAria.sSortDescending language strings which are attached to the label for a column header when it can be sorted. Basically the same as before, but now customisable.
...
New: iTabIndex initialisaiton option - allow the developer to decide what tab index could be given to the table.
Reverted: Two button navigation using A tags again - important for if there is no CSS
New: ARIA supoprt for the full numebrs pagination style
Changed: Tidy up the way events are added to the pagination and headers to reduce code.
Changes: Complete ARIA support for column headers so we now consider bSortable
2011-12-14 10:38:20 +00:00
Allan Jardine
bec6085880
Update ARIA attributes based on feedback from Vinnie Young ( http://groups.google.com/group/free-aria/browse_thread/thread/96156d857f35e10d#msg_e451dd817dfe01b1 ). Label for column header now states the column title and the next sort. TBODY has a role of alert and TR elements in THEAD have a role of 'row'
2011-12-13 08:55:46 +00:00
Allan Jardine
4e8f0fadd9
_fnArrayCmp is not used anywhere these days - ditch it
2011-12-12 09:38:34 +00:00
Allan Jardine
d7d3aeddea
Fixes from JSHint and JSHint configuration. Note that I'm using a slightly modified JSHint to remove checking of mixed spaces/tabs and trailing white space due to issue 21 against JSHint ( https://github.com/jshint/jshint/issues/21 ) - specifically it objects to my comment styling for the JSDoc comments, which I've got _everywhere_!
2011-12-12 07:43:54 +00:00
Allan Jardine
88b2990e53
Correction to the last commit - check against the default parameter rather than the default value!
2011-12-11 08:52:13 +00:00
Allan Jardine
9a94759fa4
Override the default sDom when using jQuery UI
2011-12-11 08:51:03 +00:00
Allan Jardine
a41a68d91d
Don't include duplicate classes - just extend the base for the jQuery UI version
2011-12-11 08:50:34 +00:00
Allan Jardine
d9e02ab5c8
Pull the Ajax functions into their own file
2011-12-11 08:44:28 +00:00
Allan Jardine
e5816e381c
New: fnPageChange will now accept integers as well as the four current strings. The integer given represents the page that the table should jump to. Also update the internal calls to use this new ability as it is cleaner.
2011-12-11 08:41:55 +00:00
Allan Jardine
0d772b5eba
Always add an ID to a table if it doesn't already have one
...
Add a class to the table to identify it as a DataTable
Update setAttribute to use id - works just as well and slightly smaller
2011-12-11 08:27:41 +00:00
Allan Jardine
d0458ca22c
First effort at ARIA support - the table control widgets link themselves to the table now ('controls') and the column headers say what they do. The table is also described by the information control. Note that an ID on the table is needed for most of this, since ARIA can reiference elements.
2011-12-10 11:34:30 +00:00
Allan Jardine
8eb722271e
Update the styling of the default pagination to make it more attractive. Also remove the previous change to use A tags - concerned about backwards compatibility and developers needing to update styles. Impact on accessibility to be evaluated, when ARIA button roles are added.
2011-12-10 10:33:00 +00:00
Allan Jardine
224b3b0661
Documentation changes, suggested by Michael Mathews (author of JSDoc). Generated documentation for DataTables should now be more or less complete.
2011-12-09 08:33:45 +00:00
Allan Jardine
23993219d7
Trivial change to the full numbers conditional logic. Its the same logic as before, just more sensibly laid out.
2011-12-08 11:39:51 +00:00
Allan Jardine
e2ac47b675
Had broken API extension methods... There was a bit of confusion between oApi as an internal variable and as an external variable. This commit effectively brings them together - you can access the internal functions as regular API methods now - although that might not be a particularly good idea just yet - not to be documented until I'm happy with this.
2011-12-08 10:53:22 +00:00
Allan Jardine
d4366df398
Change how the state loading callback functions operate - previously it would require that a cookie be available before the state loading callback is called. Now is state loading occurs at all the callback function will be fired - allowing easer integration with server-side state storage. I don't actually see a downside to this and it should be perfectly backwards compatible.
2011-12-08 09:51:40 +00:00
Allan Jardine
1550b37c79
Tidy up the pagination functions a bit - lass code and easier to understand
2011-12-07 18:33:59 +00:00
Allan Jardine
7a42b450db
New: fnFormatNumber is now also called for the full numbers pagination elements where a number is displayed. This now means that all numbers displayed by DataTables go through fnFormatNumber - 7441
2011-12-07 11:40:37 +00:00
Allan Jardine
f535031e41
New: Use localeCompare to do string comparison, allowing much better internationlisation support for sorting strings in DataTables
2011-12-07 11:07:02 +00:00
Allan Jardine
66a2e3d659
Experiment with tabindex on the sorting headers and the pagination buttons. More to follow...
2011-12-07 10:24:03 +00:00
Allan Jardine
d210865c83
Correct link for initialisation options
2011-12-06 18:08:13 +00:00
Allan Jardine
bfd625350c
One thing that has bugged me a little since I first wrote DataTables was that for some mental reason I picked $.fn.dataTable rather than $.fn.DataTable as the jQuery access function. This commit now allows either approach.
2011-12-06 18:04:57 +00:00
Allan Jardine
d8132799f7
Update internal variable names - rather than using the local private variables _aoSettings and _oExt, these are now attached to the DataTable object as static parameters. Cleaner and will document easier as well.
2011-12-06 18:03:29 +00:00
Allan Jardine
a22727c84b
Remove trailing commas!
2011-12-06 16:44:17 +00:00
Allan Jardine
bccc85ef9f
New: For plug-in authors, the internal function _fnApplyColumnDefs has been created and made available to make it much easier to present aoColumns and aoColumnDefs options for plug-ins (the names of the parameters can be whatever you want). Basically the function will take each of the two arrays (or null if not available) and figure out what definations should be applied to what columns - and then callback to a function that will apply the configuration (specific to the plug-in). This is now also used for the DataTables aoColumns and aoColumnDefs.
2011-12-06 16:05:53 +00:00
Allan Jardine
d6d24275df
Fix: If there is an sClass defined for a column, and a footer element for the column, apply the sClass to it, just as we do to the header.
2011-12-06 15:11:14 +00:00
Allan Jardine
a264ca66e9
New: fnCreatedCell option for columns - this function is a compliment to fnRender, but in this case it is called when the cell is available (unlike fnRender). This allows DOM manipulation of the cell (or possibly the row as the parentNode if you so wished), such as adding a cell based on the cell data, or any other DOM manipulation.
2011-12-06 14:48:49 +00:00
Allan Jardine
b0d5255de9
New: $ API method for performing a jQuery selector on the TR elements in the table's body. Provide options to adjust the filtering, sorting and paging results with sensible defaults. This will make manipulating the table for styles, events etc much easier.
2011-12-06 12:09:38 +00:00
Allan Jardine
b4a289bf36
Limit the span modification for the sort classes - from pull request 40 ( https://github.com/DataTables/DataTables/pull/40 ).
2011-12-06 11:24:35 +00:00
Allan Jardine
c6d1dfd929
New: New API method: fnIsOpen - to work with fnOpen and fnClose, allowing a quick check to see if the row is currently open or not.
2011-12-06 11:05:58 +00:00
Allan Jardine
07c3d3f5a6
New: Add an optional parameter to fnDestroy that will cause the table to be completely removed from the DOM, as well as unbinding events etc (the default is the original behaviour, which is to reinsert the table into the DOM where it was originally located) - 7523
2011-12-06 10:52:56 +00:00
Allan Jardine
77c551268e
Change: Add a parseInt to the two integer values that come back from server-side processing. The question about why it doesn't work when strings are returned (or rather, why is it broken) keep cropping up in the forum.
2011-12-06 10:44:18 +00:00
Allan Jardine
5f53331cd6
New: Accessability change - use A tags rather than DIV/SPAN for the pagination buttons. This is a backwards incompatible change, but a sensible one
2011-12-06 10:39:22 +00:00
Allan Jardine
30e018f398
Fix: Cast fnFilter input to a string always - since we are always going to treat it as a string
2011-12-05 17:20:53 +00:00
Allan Jardine
2928326042
Tidy up the initialisation code a bit for creating the settings object and integrate the language compatibility fully
2011-12-05 16:36:20 +00:00
Allan Jardine
9dc702329d
Fix: It appears that the latest Webkit browsers have changed their scrolling behaviour slightly, which is causing the unit tests to fail. Basically the 'scroll' event is being fired when the infinite scrolling table is having data written to it (i.e the scroll changes - so its kind of fair enough!), so add a check to only load the first set of data when there is no scrolling applied.
2011-12-05 10:00:40 +00:00
Allan Jardine
6a7a7151b8
Alter the extending of the initialisation parameter with the defaults a little such that objects are deep copied and arrays are not (code needs tidied a little - want to get it passing all unit tests first). The thing here is that we can't use jQuery's $.extend for a full deep copy since we don't want to deep copy arrays (for example aaSorting, where the default sort would always be applied), but we do want to deep copy objects (and not just take a reference to the default object). Thus we can't use $.extend :-(.
2011-12-05 09:21:20 +00:00
Allan Jardine
6205de54a4
Fix numeric sorting pre-formatting method typo, picked up by the unit tests
2011-12-03 09:56:46 +00:00
Allan Jardine
ee47cb7518
Add and document the extension object for DataTables. The extension object (ext) allows plug-ins to be added to DataTables (and is also used for this internally as well).
2011-12-03 09:36:19 +00:00
Allan Jardine
e5b826c434
Rearrange the 'ext' option and make the base object a model so it can be readily documented. More documentation required for the model to explain what each of the options does
2011-12-02 07:22:57 +00:00
Allan Jardine
e86da5d30a
Only need to define oApi once...
2011-12-01 19:58:34 +00:00
Allan Jardine
c491f8a37f
Add examples to API methods and tidy up the way oApi is generated a little
2011-12-01 19:47:40 +00:00
Allan Jardine
aeedb9afdc
Internal and API methods now use JSDoc comments rather than my old system
2011-12-01 17:53:59 +00:00
Allan Jardine
5c67be62ae
Use the oSearch model for the default initialisation and column initialisation
2011-11-27 18:51:56 +00:00
Allan Jardine
3ddd89b52e
Add JSDoc comments for the DataTables settings object
2011-11-27 17:50:06 +00:00
Allan Jardine
133e7fb7fe
Fix various comment spelling mistakes
2011-11-26 18:51:45 +00:00
Allan Jardine
b6e60beef5
iNextId can go the same way as _iId since that is all it was needed for
2011-11-26 14:13:50 +00:00
Allan Jardine
eb6bde7e08
Drop "_iId" from the row model - its not used anywhere in DataTables these days. An old legacy property from the 1.3 days I think - can't imagine any third party plug-ins use this property either - its more or less useless these days.
2011-11-26 14:06:55 +00:00
Allan Jardine
d5e5d31725
Document the row model and update the data methods to extend this model as the base for aoData
2011-11-26 14:04:58 +00:00
Allan Jardine
cc265bcb09
Add defaults for aDataSort and sServerMethod (the two new parameters that have been introduced since the last release)
2011-11-26 13:45:08 +00:00
Allan Jardine
dcf88a2609
Tidy up the constructor to take account of the fact that we now have every possible property in the initalisation objects, since it is being extended from the details - i.e. no need to check for 'undefined' any more.
2011-11-26 13:34:51 +00:00
Allan Jardine
d20b87f885
First pass are using $.extend for the settings and initialsation objects.
...
Back into a state where the zero config will work
2011-11-25 17:08:21 +00:00
Allan Jardine
626492b81c
Big change to how DataTables constructed in the file system - breaking the various parts of DataTables seperate files. This is probably the biggest individual change to DataTables since it was first written, but the code itself is more or less the same - just split out into different files. The one big change to the code thus far is to change the function classSettings into an object that is extended. More work is required on this to complete the alteration, but for now DataTables is building into the same workable form as before using the new make.sh file.
2011-11-24 14:05:22 +00:00
Allan Jardine
1f02ac87fc
Fix: Filtering doesn't deal with carriage returns - 6313 - thanks to Jonathan Camp for this fix.
2011-11-23 07:28:16 +00:00
Allan Jardine
2c14233057
New: Optimisation for sorting - when the sorting runs it will execute the sorting function a lot, particularly for large tables, so we want these functions to be as fast as possible. As it stood, each time the function ran it would prep the data and then do the required comparison - and it would do that data prep every time. This is pointless since toLowerCase (for example) is always going to give the same result when using the same input - so now introduced a third sorting function type (in addition to 'asc' and 'desc') called 'pre', which will pre-format the data to be sorted, only once for each item to be sorted, allowing the sorting comparison function itself to be really fast (simply just the comparison). This is also backwards compatible, if the sorting type doesn't have a 'pre'-formatting method then it will just use the two sorting functions as normal.
2011-11-19 09:53:11 +00:00
Allan Jardine
a1b33880c6
New: aDataSort parameter for columns - this allows a column's sorting to take multiple columns into account when doing a sort. For example first name / last name columns make sense to do a multi-column sort. Previously in DataTables you would need to have the user do a multi-column sort themselves (with shift), but now you can define aDataSort (for example aDataSort: [ 0, 1 ]) to do effectively a multi column sort. Note that this is not shown to the end user that this was a multi-column sort in the same way that iDataSort wouldn't indicate that it could sort on a different column (if that was configured). Also note that iDataSort is still available for use and has not been modified externally, but if aDataSort is defined it will be given priority over any iDataSort parameter.
2011-11-18 16:21:44 +00:00
Allan Jardine
967e1419c1
Modified: The 'i' counter that was in the sort loop was outside the function scope, so the JS engine would need to go back up a level in its scope chain. Not a big thing, but any speed in the sorting function is welcome
2011-11-18 16:01:43 +00:00
Allan Jardine
4c48650a25
New: Pass the cell read 'specific' type to mDataProp if it is given as a function. This might seem like a really simple change, but it greatly expands the flexibility of DataTables. It means that for a column, if you define this function and switch between the four 'get' data types for the cell ('display', 'type', 'filter' or 'sort') you can use different data for each one. So for example you could display a formatted number but do sorting on the numeric version of the number, and filtering on both types (so the user can type either version). The "type" option is for DataTables' type detection. Most of the framework for this was in 1.8.0 - I had thought to include options such as mFilterData (and might in future), but this is the first step to do that without introducing much overhead.
2011-11-14 08:34:29 +00:00
Allan Jardine
30a437d80e
Fix: fnUpdate recursion would cause an error if dealing with nested arrays - 7292. Fix is to let the function know, with a private variable, that it is being called recursively.
2011-11-10 08:15:03 +00:00
Allan Jardine
42567c9968
New: New API method '$' which will perform a jQuery selector action on the TR elements from the table's TBODY, regardless of paging. For example: oTable.$('#allan').css('background-color', 'red') will find the element (TR, TD or anything else) which has an ID of 'allan' and perform the css action on it. This is potentially a much nicer interface than needing to use fnGetNodes. Still more to be done, such as options to take column visibility, ordering and filtering into account, but this might be the tipping point for calling it 1.9 :-)
2011-11-09 08:58:24 +00:00
Allan Jardine
58f85fc601
New: Add "sServerMethod" initialisation option to make it easy to change from GET to POST for server-side requests. Needing to supply a custom fnServerData just to get POST was a bit of a pain - this is now no longer needed. In theory fnServerData should generally not be needed now (with fnServerParams, mDataProp and this new parameter making set up much more flexible).
2011-11-09 08:50:30 +00:00
Morten Brix Pedersen
5732f4c1fa
Fix typo 'destory' -> 'destroy'.
2011-11-07 09:55:01 +01:00
Allan Jardine
49a2c1d427
Merge pull request #32 from ghostd/master
...
fnDestroy does not remove all jQuery UI markup
2011-10-15 11:17:44 -07:00
Allan Jardine
b68073b911
Dev change: Slight modification of the code for getting the Ajax source property for Ajax sourced data and server-side processing to save a few more bytes :-)
2011-10-15 09:04:48 +01:00
Allan Jardine
1ae7f81a11
Dev update: Slight modification of style for the inner functions in the pagination controls
2011-10-15 09:01:27 +01:00
Allan Jardine
841480fa59
Merge pull request #34 from thegrandpoobah/pagination_events
...
Apply some DRY to pagination extension code
2011-10-15 00:32:31 -07:00
Sahab Yazdani
4b1b4626a5
Same thing for two button pagination control
2011-10-14 15:13:13 -04:00
Sahab Yazdani
ba02adc6e9
DRY for the four event handlers
2011-10-14 14:47:20 -04:00
Vincent Ricard
1d8deed379
fix DataTables #30
2011-10-10 14:23:34 +02:00
Allan Jardine
f9f6031321
Fix: Function name in comment for fnSetColumnVis was wrong
2011-10-08 20:09:03 +01:00
Allan Jardine
f175f3658e
Fix: Calculating the width of a table can be incorrect when the calculation table is hidden due to an issue with jQuery's
...
width/outerWidth calculation (http://bugs.jquery.com/ticket/9945 ). This is a bit of a work around to get the css value and check if it is
a percentage - this is not perfect (since other relative values aren't checked - although they are generally unlikely to be used), but it
is effective for most cases.
2011-09-16 08:45:00 +01:00
Allan Jardine
437ac29048
DataTables 1.8.2 :-)
2011-09-10 10:35:54 +01:00
Allan Jardine
5f82b240bc
New: If a data source is found to be a function, then the function is executed and the return used for the cell display (+sorting, filtering etc). This is useful for integration with knockout.js and backbone.js etc.
2011-09-10 09:12:23 +01:00
Allan Jardine
e32312be0b
Dev fix: The new custom events will always pass the DataTables settings object as the first parameter
2011-09-10 08:05:51 +01:00
Allan Jardine
8a8ca1e7b8
New - experimental: Add custom events into DataTables - the events available are "draw", "filter", "sort", "page" and "xhr". These are very useful for knowing when these actions happen and binding an action to them. Useful for plugin developers and developers using DataTables both. Note that it would be possible to put in a _LOT_ more custom events ("predraw" etc) which is why this feature is currently considered experimental. It will not be documented in the DataTables documentation until this has stabilised (likely 1.9 or 2.0) and a scheme has been fully confirmed for these events, but I want to include them now to see if and how they are used by developers to see them or talk to me (as this has been asked for a few times). I'm also slightly concerned about the overhead that would be generated if there were custom events for everything.
2011-09-10 07:59:44 +01:00
Allan Jardine
31ccd959bc
Dev fix: Remove the UTF8 BOM which had somehow found its way in. No need for it here and it was upsetting JSLint...
2011-09-09 19:39:21 +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
856bef205d
Fix: In webkit browsers the cursor in the active filter would always jump to the end of the input string due to an incorrectly matching elements (after the introduction of the label tag for the filter). Use a jQuery selector to make this more robust.
2011-09-09 09:06:50 +01:00
Allan Jardine
4c501bd2d8
Dev fix: Can't use '>' in the children() method for jQuery since it would try to match on the wrong elements. Need to add another 'children' call.
2011-09-09 08:44:52 +01:00
Allan Jardine
826545f1e5
Dev fix: Mistake with the legacy support for asStripClasses and its typo change to asStripeClasses. Would never accept the old spelling.
2011-09-08 17:47:55 +01:00
Allan Jardine
8fd5311d9e
Fix: Due to the jQuery $('>...') selector syntax being deprecated, change the format to use the 'children' option instead
2011-09-08 17:39:24 +01:00
Allan Jardine
ad104832d8
Fix: Nested tables in the the main table's header wold cause an error due to too many TR elements being selected by the header detection method. We want to pick up only the child elements of the header - 6485
2011-09-08 17:12:23 +01:00
Allan Jardine
9f171bbd7e
Fix: Backwards compatibility for the init parameter asStripClasses with the spelling correction to asStripeClasses. asStripeClasses should now be used, but asStripClasses can be used. If both are given, the newer one will be used in preference to asStripClasses.
2011-09-04 10:04:46 +01:00
Keith C. Ivey
505335b796
correct "stripe" spelling
2011-09-02 11:33:10 -04:00
Allan Jardine
0c296ca76e
New: fnServerParams callback function - this allows additional parameters to be added to the XHR for server-side processing or Ajax sourced, client-side processed data, with ease. Previously it was required to override the fnServerData method just to add a couple of parameters, but the built in fnServerData method is quite comperhensive and you don't want to have to reproduce all of that unless you need to. Now you don't need to :-). fnServerParams is called on each request, so it is ideal for adding extra parameters such as search parameters which can be updated by users.
2011-09-02 16:01:56 +01:00
Allan Jardine
4708870aa0
Changed: Use $.extend for the language options - its quicker and easier! The init options should be done like this as well, but that will likely be 2.0 due to the way it is currently implemented...
2011-08-30 18:27:12 +01:00
Allan Jardine
e87798781b
New: Add a thousands seperator option to the language options. As a displayed string in DataTables this should be configurable, and now is with the oLanguage.sInfoThousands options ( "oLanguage": { "sInfoThousands": "'" } for example).
2011-08-30 18:20:59 +01:00
Allan Jardine
deae02b9d0
Fix: Array detection for input data was dodgy - an object with a paramater that has a name of 'length' would mess things up - 6271
2011-08-23 21:52:32 +01:00
Allan Jardine
6dc4630866
Fix: Table width issues with y-scrolling enabled. Some of the caluclations which were introduced into 1.8.1 to stop the table getting smaller than it can be were wrong under certain conditions. This changes should address this but further testing is required due to the number of variations.
...
Fix: IE6/7 when y-scrolling was filtered to a list without y-scrolling would lose the width of the scrollbar (i.e. not expand to fill the empty space). The IE6/7 specific calcuation needs to be done only when the element is overflowing.
2011-08-14 15:00:10 +01:00
Allan Jardine
8a7c5c938e
Fix: Don't rebuild the client-side search array when using server-side processing since it isn't used! - 5742
2011-08-13 12:40:08 +01:00
Allan Jardine
9a1fddf79b
Fix: Fix typo in internal variable name - "asDestoryStrips" should have been "asDestroyStrips"
2011-08-13 08:30:22 +01:00
Allan Jardine
88932adb92
Fix: The scrollbar width calculation could sometimes be wrong when trying to calculate the size of the bar due to CSS styles. The inner P element could be given padding for example which would result in the scrollbar width being wrong and thus any calculations later on witht he scrollbar width would be incorrect.
2011-08-07 14:57:06 +01:00
Allan Jardine
93afeb100f
Fix: IE7 doesn't like setAttribute('rowspan') (and colspan) so we need to do it the old fashioned way... - 6012
2011-08-03 20:01:08 +01:00
Allan Jardine
0843c71f7d
Fix: typeof null is an object, which causes issues in fnUpdate when checking if a value passed in is an object or not to fail if null is given as the value. Need to check for null values - 5987
2011-08-02 06:52:20 +01:00
Allan Jardine
1bf42d2ca9
Fix: Add a method for plug-ins to have a destructor for when DataTables is destroyed - allowing clean up of events and anything else the plug-in has done. Plug-ins should add an object to aoDestroyCallback with 'sName' (to identify the plug-in) and 'fn' as the plug-ins destroy function.
2011-07-13 21:05:02 +01:00
Allan Jardine
61f05f8da7
Fix: When applying the sanity width for y-scrolling only we need to know if the scrolling element has scroll bars visible or not. Previously we checked if the element was bigger than the visible area, but this isn't good enough of overflow:scroll is set. Need to check that parameter as well - 5658
2011-07-08 17:27:35 +01:00
Sahab Yazdani
2995d43da4
one more
2011-06-30 16:34:18 -04:00
Sahab Yazdani
f9f5743665
more spelling fixes
2011-06-30 16:23:27 -04:00
Allan Jardine
98737aaeb7
Fix: More adjust typos!
2011-06-30 19:35:42 +01:00
Allan Jardine
0e46abde6c
Correct spelling for the internal function _fnAdjustColumnSizing (was _fnAjustColumnSizing) - from pull request 11.
2011-06-30 18:34:26 +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
2db0cb398f
Start 1.8.2 development
...
Updated: Split the Ajax parameter building into it's own function (_fnAjaxParameters) so it can be called through the oApi parameter. The intention is that external programs such as TableTools can build up the same parameter set as TableTools uses.
2011-06-27 17:25:52 +01:00
Allan Jardine
f7c7751b4b
DataTables 1.8.1 development finished
2011-06-25 19:56:53 +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
3a63638916
Fix: Row alignment with x-scrolling disabled and the table too small to draw fully. Previously DataTables would emit an error about the columns not aligning in this case, and then try its best to draw the table, but this would end up looking quite bad. The fix is to not allow the table to draw smaller than it can possibly be when x-scrolling is disabled. This effects dynamically resizable tables - 5232
2011-06-25 15:29:07 +01:00
Allan Jardine
a3718fa6a9
New: Send mDataProp to the server for server-side processing. This is very simialr to the sNames parameter, but more convient when already using mDataProp
2011-06-25 08:33:06 +01:00
Allan Jardine
41bf4e28bd
Fix: Columns which are sortable but hidden have events attached to them for sorting, but this event handler is not removed when the column is made visible again for fnDestroy. Simply need to change the order of how the destroy is done - i.e. remove events just after the columns are made visible, not before - 5497
2011-06-25 07:40:30 +01:00
Allan Jardine
d21a8529ee
Fix: When complex expressions are built up with aoColumnDefs, resulting in the ability for a column to be turned "on and off" during initialisation, it would result in the column classes possibly not being correct for the sorting - 5472 - kudos to rups for this fix
2011-06-23 18:42:40 +01:00
Allan Jardine
c14169903f
New: Accessability features - the length changing control and filtering control are now wrapped in <label> tags (an explicit relationship to their input elements) to aid accessability. You can see this immediately by simply clicking on the "Search:" text now - it will focus the input of the text box, while for screen readers it will give the label text from the label.
...
New: The filtering input language string (oLanguage.sSearch) now has the "macro" _INPUT_ in it to allow the input element to be positioned anywhere in the string. For example if you gave "sSearch": "Data_INPUT_Tables" the output for the filter would be "Data<input.../>Tables". This is optional - if _INPUT_ is not given, then as before will will tack the input element on to the end of the given (or default) text string.
2011-06-21 21:48:28 +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
6557642f75
Fix: The table width is not set when auto width is disabled so we should not set it when destroying the table - 5220
2011-06-20 18:08:10 +01:00
Allan Jardine
3f04293609
Start DataTables 1.8.1 development
2011-06-20 18:05:29 +01:00
Allan Jardine
5574025364
DataTables 1.8.0 :-)
2011-06-04 07:38:39 +01:00
Allan Jardine
8859dfe380
New: mDataProp can now be a function as well as either a string or an
...
integer. This allows dynamic reading of information from the source
object (for example getting the length of an array in the data source
object) as well as the deep object reading and array index reading
already available. The function is called with a single argument (the
data object) when being read and two arguments (the data object, new
value) when being set. This can be seen as an alternative to fnRender
but it makes sense to include this functionality here as an option.
2011-05-30 14:24:57 +01:00
Allan Jardine
2530ea1fdc
DataTables 1.8 beta 4 development complete
2011-05-29 19:36:42 +01:00
Allan Jardine
e9afa984d4
Fix: When using server-side processing the new sLoadingRecords message is not used since the draw doesn't progress that far. As a result the same issue as was fixed in commit cc1908baaf
could occur and needs to be addressed here by checking for server-side processing. Regression picked up by unit tests
2011-05-28 11:17:31 +01:00
Allan Jardine
e769731746
Fix: Treat null the same as an empty string for type detection - i.e. don't try to detect a type on it. Regression picked up by unit tests
2011-05-28 11:06:38 +01:00
Allan Jardine
53908784fe
Fix: Couple of little jslint found issues
2011-05-28 10:27:39 +01:00
Allan Jardine
cc1908baaf
Fix: The check against sAjaxSource for the 'loading...' message should be null rather than an empty string since null is the default for sAjaxSource. This error would result in the loading message being shown if the table has no results initially
2011-05-27 19:20:01 +01:00
Allan Jardine
e6248382c6
Merge branch 'master' of github.com:DataTables/DataTables
2011-05-27 19:07:34 +01:00
Allan Jardine
2a9068fead
New: The object returned by $.ajax is assigned to jqXHR in the table's settings object now. This means that you can access the XHR in fnDrawCallback (or any of the other callback functions, or anything with access to the settings object!) to do further data manipulation if you wish.
2011-05-27 19:05:35 +01:00
Allan Jardine
42e50f6ba7
Fix: The return false in the click handler for the full numbers pagination numbers was somewhat too harsh and stopped other
...
events from being attached to those elements if the developer wanted. Just use preventDefault instead - 5105
2011-05-26 10:48:13 +01:00
Allan Jardine
2eacc63f87
Fix: If there was a nested table in the thead of our target table, then the getElementsByTagName was getting the wrong element - so use a more specific jQuery selector.
2011-05-19 18:58:32 +01:00
Allan Jardine
55c4e0ac9c
Fix: Oops - Committed debug by mistake. Remove...
2011-05-18 22:16:28 +01:00
Allan Jardine
5ca44c8405
Fix: The automatic type detection algorithim can incorrect give precidence to numeric sorting when an empty cell is found. This means that a column of dates with a single empty cell would be sorted as a string. The fix is to skip type detection on empty cells. This also means that the sorting algorithim needs to be updated since sType might not be defined for a column when it is sorted on now (if the data in the column is empty).
...
Fix: iDataSort, sDataType in the sort function should be declared as local parameters - should give a tiny bit more speed to the sort
2011-05-17 21:20:59 +01:00
Allan Jardine
12bbdad059
DataTables 1.8 beta 4 development starting point
...
Fix: If state saving is enabled, but sorting is not - then any saved filter would not be automatically applied. The fix is to call the filtering function at start up. Thanks to Michael Hamann and Roland Ramthun for finding and fixing this issue.
2011-05-15 18:03:21 +01:00
Allan Jardine
419ad58d0b
DataTables 1.8 beta 3
2011-05-14 10:58:24 +01:00
Allan Jardine
7bef3d19b4
Fix: Tidy up the fnGetPosition API method and allow it to cope with getting a TH cell's position in the table as well as TR and TD elements. The input and output options for the function have not changed - just it's internal operation.
2011-05-14 10:48:14 +01:00
Allan Jardine
c56c84683c
New: fnUpdate has been updated (oh the irony) to accept either an individual value, an array or an object as the first parameter passed to it. The individual and array options behave exactly as they did before this change - the new option is the object being passed in. This allows fnupdate to be given a data object which is identical to data objects used by the table when using complex objects and mDataProp. How fnUpdate itself actually operates has also changed to be self calling, which makes the multipe column updates for arrays and objects much easier.
...
Fix: fnUpdate now works with TH elements in the body as well as TD elements
2011-05-14 10:35:57 +01:00
Allan Jardine
8eafb87f1e
New: New callback function fnPreDrawCallback which is called at the very start of each table draw (so rather like fnDrawCallback, just before the
...
draw!). This function is, like all other DataTables callbacks, execuated with the DataTables instance scope, and also takes a single parameter -
the DataTables settings object. The attached function can cancel the draw by returning false, anyother return (including undefined) results in the
full draw occuring).
2011-05-13 10:27:15 +01:00
Allan Jardine
a84eec581b
New: New language option sLoadingRecords which is used when the table's data is Ajax sourced, and at the first draw only. This provides an
...
indication that the data is currently being sourced from the server (i.e. Loading...) rather than showing 'No data available in table' - which is
not particularly friendly. Note that for server-side processing, DataTables will leave whatever is in TBODY when it makes the first Ajax request,
so with server-side processing you would need to put in a TR/TD into the static HTML table.
2011-05-13 10:19:29 +01:00
Allan Jardine
9cf1ff785e
Dev fix: The insertBefore for column visibility was incorrect if the next column was hidden as well. Need to 'fast-forward' to the next visible column to get the insert point.
2011-05-13 06:38:56 +01:00
Allan Jardine
844bbaf4ee
Fix: fnSetColumnVis didn't cope with TH elements in the body due to the use of a 'td' selector. The fix for this is to use _fnGetTdNodes() (since that can get an array of TD|TH nodes, which in turn allows a nice tidy up of the insert part of the function.
2011-05-12 21:34:48 +01:00
Allan Jardine
f27c487862
Fix: fnSetColumnVis was broken when used with deferred rendering due to the offset calculation done with the huge flat array of TD nodes. The fix is to simplify this somewhat and get an array for each row (when it is available) and process that using the optional parameter for _fnGetTdNodes. This doesn't result any any extra computation time, other than the addional time to call the function (but not to execute it), since it is just moving where the loop is.
2011-05-12 20:46:33 +01:00
Allan Jardine
97386476c8
Fix: A couple of little jslint tidy ups
2011-05-12 20:37:35 +01:00