Allan Jardine
fcd96cc5e3
Fix - docs: dt-api rows().every()
example was missing a parameter
...
- This fixes DataTables/DataTables #608
2015-07-24 11:42:49 +01:00
Allan Jardine
b61ac2a9db
Resolve issue with focusing when there are multiple graphs updating on the same page
2015-07-24 11:42:12 +01:00
Allan Jardine
4222dec97d
Merge branch 'master' of github.com:DataTables/DataTablesSrc
2015-07-15 17:10:41 +01:00
Allan Jardine
4b378ff787
Dev: Updating the XML for the external styling examples to use the new example build framework
2015-07-15 17:10:24 +01:00
Allan Jardine
821e866ac0
fix for incorrect calculation in _fnBrowserDetect
...
when body's position is changed (left: 375px) _fnBrowserDetect incorrecly calculates offsets. thus header is a bit misaligned. commit changes test object's position to fixed. in this case it's position will
be relative to the viewport not to the body.
2015-07-15 17:09:48 +01:00
Allan Jardine
1447c26a78
Fix: Potential memory leak when using static events on table elements and destroying tables
...
When the table was being destroyed and the remove parameter was passed
in as `true` to remove the table from the DOM there was potential for
bound events to not be unbound from the table elements. This was caused
by the use of the `detach` jQuery method which will not remove events.
Furthermore, rows would not be added to the table before this method (or
`remove()`) was called. As such we need to reorder the code slightly -
attach the rows back into the DOM and then remove them (or detach if the
table is left in the DOM) - otherwise rows which were hidden by paging
would not have their events unbound.
Many thanks for KnowledgeNet ( http://kn-it.com/ ) for their support in
finding and allowing this bug to be addressed!
2015-07-09 10:21:10 +01:00
Allan Jardine
549bd19854
New: Optimised ID selectors - Also works when rows have not yet been rendered.
...
Being able to get and keep a reference to each row is quite important.
You can't use the DataTables row index for this as it can potentially
change, but we can use IDs, based on a unique value for each row in the
data - `dt-init rowId`.
I've made the decision to not require escaping of data in the ID. This
means that selectors can be ID selectors with a cobontation of other
things (#div.class for example) as that really doesn't make much sense
in this contact - you only have rows that you can select from. Not
requiring escaping makes both the client and library code much easier.
This is documented.
The implemention is to store a reference to each row's data object based
on its id allowing for a trivial lookup. The object has its own index
in the `aoData` array, so there is no `indexOf` required. The only
downside is that the index must be updated when a row is deleted. This
is done with a trivial for loop.
2015-07-06 21:05:27 +01:00
Allan Jardine
abc683d393
Dev: dt-api rows().ids()
and dt-api row().id()
methods should return undefined if a row's id is undefined
2015-07-06 21:05:08 +01:00
Allan Jardine
7e2c6b4d0f
New: dt-api page.info()
includes a new parameter to indicate if server-side processing is being used or not for the table
2015-07-06 21:03:56 +01:00
Allan Jardine
dda351a54e
Fix: Row details could potentially throw an error if used on an row that doesn't exist (might have been removed)
2015-07-06 21:03:39 +01:00
Allan Jardine
29fd57569a
New - dt-api $.fn.dataTable.tables()
can now return an API instance which makes for easy chaining to call methods on the selected tables. This is done by now being able to provide an object (providing two booleans is confusing unless you have the manual right next to you!)
2015-07-06 21:01:47 +01:00
Allan Jardine
36929eade3
Fix: Initialisation on an element other than table
would result in a Javascript error
...
* Issue was that an `error` event was being triggered before the
settings object had been configured. There is no option to trigger an
error event in this case.
* Fixes DataTables/DataTables #572
2015-06-10 09:48:45 +01:00
Allan Jardine
5a47fe5a9b
Merge branch 'master' of github.com:DataTables/DataTablesSrc
2015-06-10 09:48:26 +01:00
Allan Jardine
dd6612f24a
New: dt-event preInit
event - emitted while a table is being initialised, allowing developers to modify the data being requested by DataTables for the first draw of the table. Used by Scroller 1.3.0 and likely will be by other extensions soon.
2015-06-10 09:48:06 +01:00
Allan Jardine
a5613441dc
Dev: Add Scroller as a framework library
2015-06-10 09:47:23 +01:00
Allan Jardine
1effb64cfa
Fixed event handlers in table headers in IE8
...
On line 605, column.sTitle is set to the TH's innerHTML.
On line 1816, column.sTitle is compared with cell.html().
If you have child elements with event handlers on them inside the TH, these are not the same in IE8 (see https://gist.github.com/simonbrent/933e552739477f4be3ab#file-test-html )
As a result, the check on 1816 fails, the contents of the cell is replaced, and the event handlers are removed.
Comparing instead with cell[0].innerHTML fixes this issue.
2015-06-10 09:45:55 +01:00
Allan Jardine
cf1e9d1fab
Fix: dt-api ajax.reload()
should cancel an exisiting request if that request has not yet completed
...
- Thread 28197. Thank you _womplify_!
2015-06-08 11:13:56 +01:00
Allan Jardine
f9cdaead17
Dev: Fix trailing comma
2015-06-04 15:35:06 +01:00
Allan Jardine
801e4bedf1
New: dt-init rowId
option to specify what property should be used from the row's data source object to read the row's id and then set it as the DOM id (previously this was static as the DT_RowId
option)
...
New: `dt-api row().id()` and `dt-api rows().ids()` to get the id from one or multiple rows, based on the new `dt-init rowId` option
2015-06-04 15:26:45 +01:00
Allan Jardine
759ea3d733
Update: The dt-api rows().every()
, dt-api columns().every()
and dt-api cells().every()
methods are now passed index and loop counter parameters
2015-06-03 17:07:55 +01:00
Allan Jardine
d95820dd2a
New: dt-api count()
method. This provides a short cut method to determine how many items have been selected by the API. This can be useful to count the number of selected rows, etc.
2015-06-03 17:07:17 +01:00
Allan Jardine
4f3525786d
Update: Add postfix
option to the number
renderer option
2015-06-03 17:06:58 +01:00
Allan Jardine
f817194a09
Fix: If the paging language options were set to be an empty string, the button wouldn't render. This is not correct as it doesn't allow CSS icons to be used rather than the strings.
2015-05-30 14:10:31 +01:00
Allan Jardine
3de8e7c3fe
Merge branch 'master' of github.com:DataTables/DataTablesSrc
2015-05-30 14:10:12 +01:00
Allan Jardine
04598f91ff
Fix - docs: dt-api row.add()
and dt-api rows.add()
will accept tr
elements
2015-05-30 14:09:54 +01:00
Allan Jardine
feccbc5968
jq 2.1.4 sppt
2015-05-30 14:09:19 +01:00
Allan Jardine
09ff48a486
New: Add numbers
paging option for dt-init pagingType
to round off the full set of basic options
...
Thank you `rubenduiveman` for suggesting this enhancement
2015-05-13 13:51:23 +01:00
Allan Jardine
c61947f5f3
Fix: dt-init scrollX
could not be given as false
- it still enabled x-scrolling
2015-05-06 16:18:28 +01:00
Allan Jardine
7081a1a7c6
1.10.8-dev version flag
2015-05-06 11:31:46 +01:00
Allan Jardine
768f7cdc46
Fix: Disabling smart column width for IE67 as it can cause the browser to crash
2015-05-06 11:30:27 +01:00
Allan Jardine
17130d2fd5
Fix: When scrolling is enabled and column visiblity is toggled a Javascript error would occur due to the column width calculation method cloning the wrong header element.
...
This fixes thread 27612 and DataTables/DataTables issue #553
2015-05-06 11:30:10 +01:00
Allan Jardine
ded5ee322c
Dev: Bringing the integration files for the various frameworks that DataTables supports into the repo
...
This is so each repo defines its own integration files, ensuring that
they are both easy to update and that they are up-to-date. I will be
blogging about this change next week.
2015-05-06 11:27:47 +01:00
Allan Jardine
fc64e71e1c
DataTables 1.10.7 release
2015-04-30 15:08:43 +01:00
Allan Jardine
2f85ace4a1
Fix: IE6/7 could crash completely when using auto width due to a clone of a clone occuring. This was bad for performance anyway and has been rewritten to resolve both the IE crash and performance issue
...
See thread 27428 for further information
2015-04-30 14:01:55 +01:00
Allan Jardine
5484fdaec3
Fix: For convenience $.fn.dataTable.Api()
will now automatically construct a new DataTables API instance (i.e. it is functionality identical to calling new $.fn.dataTable.Api()
. This addresses an outstanding todo item and an error in instanceof
logic for the exisiting constructor
2015-04-30 14:01:16 +01:00
Allan Jardine
362ec532f2
Dev: Update to jQuery 1.11.3
2015-04-30 14:00:53 +01:00
Allan Jardine
432a0dc18a
New: dt-event xhr
can now return true
to have DataTables not trigger the dt-event error
event for cases where you've handled the error yourself now that dt-event xhr
is triggered on error as well
2015-04-30 10:02:16 +01:00
Allan Jardine
e4a12ed19d
New: Always trigger the dt-event xhr
event on completion of an Ajax request, regardless of whether it was successful or in error
...
New: The jQuery XHR object is passed into the `dt-event xhr` event as the fourth parameter
* This fixes DataTables/DataTables #542
2015-04-29 21:52:34 +01:00
Allan Jardine
8376ac8412
Fix: IE6/7 could crash when loading a DataTable on page load due to the binding of a resize
event listener on the window object
...
* Reported in thread 27428
* This SO thread was helpful: http://stackoverflow.com/questions/1264443
2015-04-29 21:19:40 +01:00
Allan Jardine
2176acf2fb
Fix: $.map()
expects an array, but a string could be passed in during smart search, which could cause an error with the latest jQuery libraries
...
This fixes DataTables/DataTables #546
2015-04-29 11:13:38 +01:00
Allan Jardine
b2adfad09c
New - API: dt-api i18n()
method to provide easy i18n support for developers working on extensions for DataTables and to allow dt-init language
to be used as a central point of configuration for the language strings used by the table.
2015-04-29 11:13:16 +01:00
Allan Jardine
0234e9e502
Fix: Singular selectors (dt-api row()
for example) did not reduce their result sets to a single item
2015-04-16 12:43:43 +01:00
Allan Jardine
c8b924772d
New: External interface to allow the selector options -type selector-modifier
object be extended by plug-ins, providing additional selector options. In the first instance this will be used by the new Selector extension that will add the ability to select rows, columns and cells by their selected status.
...
The main change here is to modify `_selector_run` to loop over the
extension functions (if there are any). This involves passing extra
information to the function (selector type so the correct extension can
be used, settings object and selector modifier to pass on to the
extension method).
The _selector_opts function has also been updated to give the ability to
use unknown properteries through a $.extend, rather than writing a three
property object.
2015-04-16 12:43:24 +01:00
Allan Jardine
b7c5f8c07f
New - API: dt-api any()
method which can be used to check if the API result set contains any results or not
...
This is useful for the multi-table aware API as it may contain inner
arrays, which themselves may or may not be empty
2015-04-15 17:05:13 +01:00
Allan Jardine
caa9f2f84b
DataTables 1.10.7 development underway
2015-04-15 17:04:55 +01:00
Allan Jardine
fc8cc9bbd2
Fix - docs: dt-api iterator()
was missing parameters (incorrect xml tag)
...
Dev: Remove comment about using iteratorNew - that was wrong. The
`iterator` method uses a returns parameter now
2015-04-15 17:03:08 +01:00
Allan Jardine
2d6108d00c
Fix - docs: dt-api row().child()
should have the class name as optional
2015-04-15 17:02:08 +01:00
Allan Jardine
34abc58d70
Release 1.10.6
2015-04-03 14:47:53 +01:00
Allan Jardine
ba42edc3f1
Fix: If a loaded state does not contain a parameter it could throw an error. This could occur when the stateSave event removed parameters from the state object
...
This fixes DataTables/DataTables #24
2015-04-03 14:16:57 +01:00
Allan Jardine
acf989695e
Fix: $.fn.dataTable.ext.pager.numbers_length
was not taken into account when showing ellipsis on both sides of the current number in the paging controller
...
Fix: Ellipsis elements didn't have padding which could be jarring when shifting between paging that does and doesn't show ellipsis
This fixes DataTables/DataTables #26
2015-04-03 14:16:33 +01:00
Allan Jardine
cbb5a5d6e9
Fix: dt-init row().child()
couldn't accept an array of jQuery objects
...
See https://www.datatables.net/forums/discussion/26441 for details
2015-04-03 12:21:50 +01:00
Allan Jardine
5c919423c1
Fix - docs: dt-api row().child()
notes that className
is not added to pre-existing node
2015-04-03 12:21:27 +01:00
Allan Jardine
565b639c34
Fix: Scrollbar width wasn't correctly detected in IE9
...
Fix: Scrollbar width was being calculated everytime requested on machines with zero width scrollbars
The scrollbar width calculation method has been rewritten to use a
single element with use of `offsetWidth` and `clientWidth` to calculate
the scrollbar width. This works all the way back to IE6.
2015-04-03 12:12:15 +01:00
Allan Jardine
220ae99e08
Updated: Extend currency support to include all top 20 internationally traded currencies. This includes the Russian ruble, South Korean Won, Turkish Lira, India Rupee, Brazilian real, South African rand, Swiss franc, Swedish korona, Norwegian krone and Danish krone.
...
Any additional currancies should be added as a plug-in, not to the core!
Fixes DataTables/DataTablesSrc #38
2015-04-03 10:45:41 +01:00
Allan Jardine
294a32f8d0
Fix docs: Add reference to dt-init columns.orderSequence
from dt-init order
2015-04-03 09:50:06 +01:00
Allan Jardine
e0f2cfd81e
Fix: When holding shift and clicking on a single sorted column it was possible to attempt to remove the sort (the internal sorting array was []
). This shouldn't be possible, and now isn't.
...
* This fixes DataTables/DataTables #526
2015-03-31 20:05:23 +01:00
Allan Jardine
1e10603810
Fix: Update numebr
render to return the original data point if the data passed in is not a number or a string. This allows dt-init columns.defaultContent
to be used.
2015-03-20 10:49:34 +00:00
Allan Jardine
7851a6a204
Fix: If async:false
is used in the Ajax configuration, callbacks assigned with dt-api ajax.reload()
would not trigger until another draw has been executed.
...
This was due simply to the code ordering for how the callback is
triggered. See https://www.datatables.net/forums/discussion/26474 for
more information.
2015-03-19 16:20:34 +00:00
Allan Jardine
79f969ef58
Fix: dt-api $.fn.dataTable.isDataTable()
could give incorrect results if a table did not have scrolling enabled
2015-03-18 16:53:25 +00:00
Allan Jardine
2ee5b3e7f6
New: dt-api init()
method for plug-in developers to get the initialisation options configured for the DataTable
2015-03-18 16:53:07 +00:00
Allan Jardine
9896d0295d
Fix: If the thead
contained a table the selector that was looking to find the first row in the table was selected the row from the header table rather than the tbody
. This could cause errors such as HTML5 data-* attributes not being detected.
...
This fixes DataTables/DataTables #508
2015-03-12 10:29:16 +00:00
Allan Jardine
825877f157
New: dt-api rows().every()
, dt-api columns().every()
and dt-api cells().every()
iterator methods to make it easier to perform operations on the table elements. This is done by setting the context of the callback provided to be the singular expression for the table elemtn in question. This basically means you can access the singular methods from this
- e.g. this.data()
will get the data for the element, this.node()
will get the cell when using dt-api cells().every()
etc. The exisiting interator methods of dt-api each()
and dt-api iterator()
remain, and each has its own place for optimial usage of the API, but it is likely that the majority of use will switch to focus on these new methods. The examples in the rest of hte documentation has been updated to reflect this fact.
2015-03-03 15:42:36 +00:00
Allan Jardine
0942fa38a6
Fix: dt-api cells()
when given a selector options object in the first parameter was incorrectly applying the selector for the cells.
2015-03-03 15:42:22 +00:00
Allan Jardine
7ef92e4f56
Fix: The initalisation object was being cloned on init which could cause a major performance hit if you pass in a large data set into dt-init data
. The table node and internal API reference also should not be cloned.
...
* Thank you to B Lyon for spotting this issue and writing it up:
http://www.nowherenearithaca.com/2015/03/avoiding-performance-gotcha-with-jquery.html
2015-03-02 13:25:51 +00:00
Allan Jardine
16c48ad4bf
Fix: dt-event xhr
was not being emitted when dt-init ajax
was being given as a function
2015-02-27 15:12:46 +00:00
Allan Jardine
ee9ca0336e
Fix: Scrollbar left detection wasn't allowing for sub-pixel rendering which occurs when browsers are zoomed
...
* This refers to DataTables/DataTables #479 and DataTables/Scroller #44
2015-02-27 12:00:43 +00:00
Allan Jardine
b1ff92a274
Fix: Error in the detection of style="width:..." attributes. DataTables was reading the pixel value that it had written if the columns were recalculated. Now only percentage values are used from the style width.
...
* This fixes DataTables/DataTables #501
2015-02-25 10:48:22 +00:00
Allan Jardine
c6be28ef8f
Call _fnAjaxDataSrc before setting recordsTotal
...
_fnAjaxDataSrc will in turn call _fnGetObjectDataFn, which
can be specified by the dataSrc method.
This way the dataSrc can set the recordsTotal parameter on
the json data and the changes will be read into the
recordsTotal/recordsFiltered variables.
2015-02-19 13:38:14 +00:00
Allan Jardine
62da8efbca
New: The dt-init ajax.data
option, when used as a function, now has the DataTables' settings object passed in as the second parameter, which can be useful to access the API if needed
2015-02-19 13:37:57 +00:00
Allan Jardine
a1458bf80c
Fix: Legacy API fnDraw
was incorrectly handling the case when false
was passed in.
...
* See DataTables/DataTables #499
2015-02-17 15:00:24 +00:00
Allan Jardine
b433f105a3
Fix: Due to use of an HTML entity, DataTables could fail on XHTML pages
2015-02-17 10:29:09 +00:00
Allan Jardine
f1b561ec53
Fix: dt-init columns.orderData
wasn't working if given as an integer
2015-02-12 14:11:37 +00:00
Allan Jardine
15991a26eb
Dev: 1.10.5 version
2015-02-12 14:11:18 +00:00
Allan Jardine
6fbd6a9c46
Dev: Firebase database in example documentation rather than AIR (outdated)
2015-02-12 14:10:38 +00:00
Allan Jardine
2c67caad44
Fix: Exit out of the extend API method if possible, for performance
2015-02-10 14:26:37 +00:00
Allan Jardine
34fb1cb18a
Dev: Add buttons object to .ext
for future buttons extension
2015-02-10 14:25:57 +00:00
Allan Jardine
c98854def4
Fix - example: Dro the http
protocol from the i18n CDN file loder example so it works over https
2015-02-10 14:25:16 +00:00
Allan Jardine
d6f46dffbb
New: DataTables intialisation options can now be specified using HTML data-*
attributes on the HTML <table> tag and on the cells of the column headers in the table.
...
* A new example of this is included
* Fixes DataTables/DataTablesSrc #9
2015-02-06 16:35:34 +00:00
Allan Jardine
4039e77a6f
Fix: In IE9 where the table is in an iframe paging elements were not added until after the first draw
...
* See thread 23915 for details and kudos to helenm for the research into the issue
2015-02-04 16:11:59 +00:00
Allan Jardine
7a26c5d4c8
Fix: When detecting is the table has a width attribute we can also use style.width
to check if a width as been assigned using the style
attribute. This doesn't work for reading CSS assigned information, that would require parsing the stylesheet` but it does mean there is a way of doing this with using deprecated attributes.
2015-02-04 10:55:43 +00:00
Allan Jardine
c7e18c4236
move eq
jQuery selector outside of selector
2015-01-22 10:21:30 +00:00
Allan Jardine
744155653e
New: dt-init ajax.data
can return a string to be used as the request body. This is useful for submitting a JSON string to the server.
...
* This is actually compatible with 1.10.0+ but was never documented (it
wasn't an intended feature, but rather an implementation detail. It
is rather useful though, so is now documented.
2015-01-11 16:27:15 +00:00
Allan Jardine
d65dd47fe6
New: where
condition controls for the example PHP server-side processing class (SSP
). This takes the form of a new complex
method (to compliment the exisiting simple
method) which accepts where
parameters that can be used for either user based filtering, or server based filtering.
2015-01-11 16:26:59 +00:00
Allan Jardine
be061edb7b
Dev: Remove accidentally committed debug
2014-12-22 17:14:02 +00:00
Allan Jardine
7c07b80222
New: Improved error handling - $.fn.dataTable.ext.errMode
can now be:
...
* `alert` - Alert the error
* `throw` - Throw an error
* `none` - Do nothing
* A function that is called
New: `dt-event error` event that is triggered when an error occurs (regardless of the value of `$.fn.dataTable.ext.errMode`
2014-12-22 16:15:10 +00:00
Allan Jardine
1c95f9fe06
Dev: Remove debug
2014-12-15 15:46:24 +00:00
Allan Jardine
25ceef46ab
Fix: When initialising a table and checking it it already exists, we should check against header and footer elements as well, so they can be used as the selectors
...
This fixes DataTables/DataTables #467
2014-12-15 15:13:08 +00:00
Allan Jardine
90ce3773f5
Fix: When detecting HTML5 attributes need to check for null
from getAttribute, since otherwise empty strings would fail.
...
See thread 24802
2014-12-02 10:37:40 +00:00
Allan Jardine
31670cc1c5
Fix: dt-api $.fn.dataTable.isDataTable()
wasn't working correctly on scrolling tables when the header or footer table was passed in
2014-11-24 10:51:01 +00:00
Allan Jardine
cb957c019e
Merge pull request #22 from bjmiller/master
...
Fix for CommonJS/Browserify
2014-11-18 17:10:50 +00:00
Allan Jardine
cd2423d21a
Fix #23 : Attach the scroll event for the header alignment using the DT
namespace to ensure that it is removed on destroy
2014-11-18 17:10:34 +00:00
Allan Jardine
dd7fbeb0a7
Fix for CommonJS/Browserify
...
I'm not sure whether this breaks any other CJS implementation, but the only one you're likely to have to worry about is Browserify.
This relates to https://github.com/DataTables/DataTables/issues/434
2014-11-18 17:10:18 +00:00
Allan Jardine
3a22a082c3
New: DT_RowAttr
special parameter for row data to be able to set abstract parameters for the row. This compliments the exisiting DT_RowId
, DT_RowClass
and DT_RowData
parameters.
...
Thanks to Jifer in thread 24534 for this suggestion
2014-11-12 10:09:17 +00:00
Allan Jardine
d83f47cfb5
Fix: dt-api $.fn.dataTable.util.throttle()
was missing the first call.
...
Dev: Moving on to 1.10.5-dev
2014-11-11 14:14:11 +00:00
Allan Jardine
06c1cbebde
DataTables 1.10.4 release
2014-11-07 15:17:44 +00:00
Allan Jardine
9841c3f038
Dev: Fix return case for column visiblity:
2014-11-07 15:17:29 +00:00
Allan Jardine
f4d1495a2c
Dev: Tests for the cell invalidation update
2014-11-07 15:17:14 +00:00
Allan Jardine
24761003f3
Fix: dt-api cell().invalidate()
and dt-api cells().invalidate()
now invalidate only the cell(s) in question and not the whole row.
...
Previously the whole row was invalidated as a quick workaround for what
I would would be a complex task, but the solution is actually relatively
simple and small in code size, reusing much of the current invalidation
code. The cache data for the whole row is still removed, but the
important part of minimising the DOM interaction is in place.
2014-11-07 12:28:44 +00:00
Allan Jardine
0e0acbd521
Dev: Code type
...
* Fixes DataTables/DataTables #448
2014-11-05 11:44:05 +00:00
Allan Jardine
fb6a7be880
Fix: Selector errors when using jQuery selectors with dt-init deferRender
enabled
...
Fix: Incorrect returns from sub-methods if a selector does not contain any results (DataTables/DataTables #431 )
Update: `dt-api iterator()` has a fourth parameter to indicate that a return value is expected
The basic issue here was the `iterator()`'s automatic check to see if a
new API instance should be returned or not. If there are no results from
a selector the iterator will just use the original API instance to
return, but this isn't correct as we expect an empty result set in this
case. This is partly due to the fact that the top level methods (`row()`
for example) will return 2D arrays, while the child methods will flatten
the results, this is parhaps an error in the API, but too late to fix
now.
To address this, `iterator()` now has a parameter to tell it if a new
instance should be used or not. I debated about a new method
`iteratorNew()`, but I think this is just as clear (which isn't very
clear unfortunatly, but just needs to be made clear in the
documentation, which I've updated for this change).
I've added tests for the selectors with `deferRender` enabled. The test
suite is still in desperate need of update...
2014-11-03 15:18:18 +00:00
Allan Jardine
e92582b45a
Fix: Page length change will now attempt to keep the start point on the current page, but will shift that row's position away from the start point, so that the paging is always consistent in its display. Without this changing the page length could result in landing on page "1.4" (or some other partial page) that you could never get to with just paging alone. That is no longer possible in DataTables.
...
This is something that has been in DataTables since the version first
vresion and was contentious at that point so while this is a minor code
change, for me it is quite a big change! I feel that this is the correct
operation now, although it does result in rows being moved around where
they might not be needed to if partial pages could be used.
2014-10-30 15:15:20 +00:00
Allan Jardine
e62a747c2e
New: dt-api $.fn.dataTable.util.escapeRegex()
utility method for escaping regular expressions
...
Update example: Use the new `dt-api $.fn.dataTable.util.escapeRegex()` method to escape regex characters in the search input filter example
2014-10-30 11:26:34 +00:00
Allan Jardine
5c77a02f29
Fix: -tag caption
was being inserted into the wrong elements when scrolling is enabled
2014-10-21 16:35:48 +01:00
Allan Jardine
eed543f566
Fix: jQuery
references should be made to the aliased $
.
...
Originally from DataTables/DataTables/pull/437
2014-10-21 09:31:24 +01:00
Allan Jardine
50d1466cfe
Fix: If the language file fails to load, continue on as best we can. See thread 24046
...
Dev: Update the language init code to be a little more compact
2014-10-16 10:50:33 +01:00
Allan Jardine
744b6a901b
Fix: When filtering HTML tags should be striped and were for a simple html
type, but the html numeric types were not also receiving this treatment and thus the tags were included in the filter. This resolves that issue by adding search formatters along with sort formatters when the decimal place is known
2014-10-10 11:20:05 +01:00
Allan Jardine
1c3f7edfc2
Fix: Columns with mixed string and HTML types were not being detected as HTML type due to an early break
2014-10-10 10:54:25 +01:00
Allan Jardine
e06931ee0b
Fix example: Improve code for multi-column select
example
2014-10-10 10:54:11 +01:00
Allan Jardine
fa89685d8b
DataTables 1.10.3
2014-10-09 16:21:39 +01:00
Allan Jardine
0d92daf10f
Dev: Remove debug line
2014-10-09 16:21:24 +01:00
Allan Jardine
9fa68d564f
New: The row, column and cell selectors now all accept a function as a selector. The function will return true or false based on the defined logic to indiciate if the item should be included in the result set. This is particularly useful for searching the table for items of data.
2014-10-09 14:55:19 +01:00
Allan Jardine
d7a9aefb6f
New: dt-api cells().render()
and dt-api cell().render()
methods to trigger the rendering methods for the orthogonal data types. Similar to the cache()
methods but this will specifically trigger a render and also provides access to the type
and display
options which cache()
does not. Generally it is expected that this will replace the cache()
methods
2014-10-08 16:04:44 +01:00
Allan Jardine
b2ac7fa0f2
Dev: Fix previous commit for HTML5 attributes. The object constructed wasn't being correctly written
2014-10-08 16:04:27 +01:00
Allan Jardine
00c69698e3
Fix: Javascript error when using smart filtering with quotes for exact matching
2014-10-08 14:19:29 +01:00
Allan Jardine
a6b871d660
New: Ability to use dt-init columns.data
with a DOM sourced data to read the row information into an object rather than an array (the default)
2014-10-08 14:19:14 +01:00
Allan Jardine
4f189464e4
New: dt-init searchDelay
parameter that controls the throttle frequency for search requests using the global input text box
2014-10-08 11:28:51 +01:00
Allan Jardine
9a49208617
New: dt-api $.fn.dataTable.util.throttle()
static utility method. This provides extension authors with an easy way to throttle function calls
2014-10-08 11:28:33 +01:00
Allan Jardine
5c8b72b8e8
Fix: Native Date
instances weren't being detected as a date type
...
* This fixes DataTables/DataTables #385
2014-10-07 16:47:20 +01:00
Allan Jardine
0e94078ad9
New: dt-api column().dataSrc()
and dt-api columns().dataSrc()
methods which provide the ability to obtain the data source parameter for one or more columns
2014-10-07 15:39:51 +01:00
Allan Jardine
6adf853864
Fix: jQuery UI integration when used with ColReorder could cause the wrong header to be shown as sorting
...
* This fixes DataTables/ColReorder #22
2014-10-07 15:39:36 +01:00
Allan Jardine
27901e11a4
Fix: If dt-init language.decimal
was given as a decimal point, rather than the default decimal sort being performed, decimals were just being stripped
2014-10-07 15:39:06 +01:00
Allan Jardine
bc06f16e43
Update: dt-api iterator()
updated to execute the callback in the scope of an API instance refering to the table in question
2014-09-22 16:41:41 +01:00
Allan Jardine
e0f02604cf
Fix: dt-api destroy()
when a child row was shown resulted in a JS error
...
See thread 23516 for more information
2014-09-22 10:50:40 +01:00
Allan Jardine
3f219a38e2
Fix: Numeric sorting for 0
was incorrect
...
* This fixes DataTables/DataTables #414
2014-09-08 15:14:49 +01:00
Allan Jardine
4453229416
Fix exampple: Remove rowIndex
from select_rows
example - not used
...
Dev: Add comment to rowCallback trigger about undocumented parameters
2014-09-08 15:13:59 +01:00
Allan Jardine
14f5f630c9
Fix: Could not remove a multi-column sort using shift click like you could in 1.9-
...
This fixes DataTables/DataTables #391
2014-08-28 14:24:16 +01:00
Allan Jardine
3019ab9ec7
Fix: ARIA label for the sorting that will occur next wasn't working correctly
2014-08-28 14:23:59 +01:00
Allan Jardine
3978684f44
Update to 1.10.3-dev
2014-08-06 11:21:07 +01:00
Allan Jardine
7df451fe4c
Improved last page calculation.
...
Improved last page calculation when page size is changed on last page.
e.g. Suppose there are total 12 records and page size is set to 5 records/page. Go to last page, which should be 3, change page size to 10. Page#2 should be selected and it should show 2 records on it.
2014-08-06 11:17:57 +01:00
Allan Jardine
64f979a72b
Release 1.10.2
2014-07-31 14:59:26 +01:00
Allan Jardine
3743d6bc28
Dev: Add common shell method to get version string from a JSDoc
...
commented file
2014-07-31 14:58:33 +01:00
Allan Jardine
a644aa7e21
Fix: Add redrawCalculations
option to dt-api columns().visible()
and dt-api column().visible()
to improve performance in a loop.
2014-07-25 16:26:30 +01:00
Allan Jardine
43118eed49
Fix: dt-api column().search()
wasn't returning the search term when not given any parameter (well, it was, but in an API instance which was wrong)
2014-07-25 10:09:44 +01:00
Allan Jardine
a19e700582
Fix: When using :visible
for the column selector to get visible columns, no columns were returned due to an incorrect regex. Now :visible
can be used to get only the visible columns
2014-07-25 10:08:26 +01:00
Allan Jardine
7668646e1e
Fix: Regression from 1.10 whereby empty data for a column could cause an offset in the filtering column
2014-07-18 12:11:05 +01:00
Allan Jardine
9f5eb39a2f
Dev: Moving on to 1.10.2 development
2014-07-18 12:10:43 +01:00
Allan Jardine
c4cdba49e4
Fix example: Use search
terminology
...
* See thread 22268
2014-07-18 12:09:03 +01:00
Allan Jardine
3cd15f1c16
DataTables 1.10.1 release
2014-07-15 11:33:57 +01:00
Allan Jardine
641924cbee
Fix: If filtering data is null, undefined or NaN it is not included in the filter
2014-07-15 11:33:39 +01:00
Allan Jardine
39df74eb2c
Fix: dt-init createdCell
cellData prarameter now passes in the original data for the cell
...
* This reverts the last commit which documented the old behaviour.
Thinking again about it, if you want to modify the rendered data use
`$(cell).html()`.
2014-07-15 11:33:25 +01:00
Allan Jardine
13e33e2177
Fix docs: Add clarification for cellData
in dt-init columns.createdCell
...
* Based on discussion in thre 22009
2014-07-15 11:33:10 +01:00
Allan Jardine
786d79d1a9
Fix: dt-api cell()
was not selecting cells for row index 0
...
* Problem was the check for the index was falsy rather than checking for
undefined
* See thread 22219 for more information
2014-07-11 10:11:17 +01:00
Allan Jardine
cd920b0605
New: Instance methods for a data source are now executed in the scope of that instance
...
* When `dt-init columns.data` / `dt-init columns.render` resolve to a
function, that function is executed. Previously this execution was in
the global scope, but in order to be able to use an instance as a data
source for the row (something I wanted as part of 1.10) we need to
execute the function with the instance's scope. A simple `call()` does
this.
* I could add a check to see if the `rowData` is a plain object or not,
but that would add significant overhead to the processing, and this
particular part of the code needs to be very fast. Additionally, I
think it is unlikely that any one was dependant on this being executed
in global scope, so the change is made.
* This fixes DataTables/DataTables #368 .
2014-07-10 16:11:29 +01:00
Allan Jardine
78724dd11d
Fix: With deferred rendering enabled a DOM sourced table would create new nodes rather than using the exisiting one. It should be noted that deffered rendering with a DOM sourced table is completely redundant, but it should still use the same nodes.
...
* This fixes DataTables/DataTables #365
2014-07-10 12:28:49 +01:00
Allan Jardine
c50629a4b5
Fix: Boolean type searching
...
* 1.10.0 had issues when searching for boolean data as the search
extension methods were checking for empty data, but if found they were
using `''` as the term to filter. It should more accurately just use
the given data.
* Relates, the `_empty()` method was considering `false` to be empty,
but not `true`. Both are now considered to be empty.
2014-07-10 11:57:26 +01:00
Allan Jardine
ad7963b3dd
New: state
API methods
...
* `dt-api state()` - get the last saved state
* `dt-api state.loaded()` - get the state that was loaded when the table
was created
* `dt-api state.save()` - trigger a state save
* `dt-api state.clear()` - clear the saved state
2014-07-09 16:42:29 +01:00
Allan Jardine
9b8153f1d6
Dev: Fix recent childNode removal when checking for nodes
2014-07-09 09:12:29 +01:00
Allan Jardine
02b6a5c39c
Fix: camelCase notation for column search options (dt-init searchCols
) wasn't working
...
* Fix is to convert from hungarian notation to camelCase in a loop for
the array
New: State staving object structure is now full documentated
* The structure has been altered to be camelCase notation like the rest
of the 1.10 API. State loaded from older versions of DataTables will
be silently ignored
2014-07-02 17:01:20 +01:00
Allan Jardine
f907627fe4
Update - performance: API each()
itterator uses for
loop now
...
* The native `forEach` is suprisingly slow. I had assumed that it would
be faster that a for loop, but it appears that due to the function
execution it is actually much slower. A simple for loop is much better
for performance and we loose nothing since hte API instance is array
like.
* This fixes DataTables/DataTables #364
2014-06-27 15:34:54 +01:00
Allan Jardine
278147a7ce
Fix: IE destroying nodes which have a Javascritp reference on using innerHTML
...
* It appears that if you have a reference to a DOM node, but that DOM
node is overwritten by use of innerHTML, the reference is destroyed
and you cannot use the referenced DOM node any more.
* This became apparent from using Editor's inline editing mode, where in
IE the inline edit would work only once. No other browser has this
issue but it is in IE7-DC1.
* The workaround is to remove the child nodes first. not ideal at all,
but it does work.
* Searching the internet I didn't find much about this so I've opened an
issue on the IE connect site:
https://connect.microsoft.com/IE/content/content.aspx?ContentID=29582
2014-06-27 15:24:41 +01:00