DataTables releases feed http://www.datatables.net/ en-us Software release information for DataTables and its extensions Editor 1.6.1 released This is a relatively quick turnaround bug fix release due to a compatibility error that was found with versions of jQuery 1.11 and older. There are a couple of other small fixes that have also been identified since the 1.6 release.

Fixes

  • Javascript
    • Compatiblity error with older versions of jQuery (1.11 and earlier)
    • Return key in a textarea should not submit the form
    • When using Editor without the ajax option, but using idSrc, a Javascript error would be thrown when editing data.
    • When the server returns a status code of >=400 for an Ajax request and valid JSON, regardless of if the error or fieldErrors properties are set in the returned JSON, Editor will process this as an error.
    • minDate() and maxDate() methods would trigger an error if used before displaying a datetime field.
    • If the JSON returned from the server doesn't contain a data property, don't throw an error as it might still be a valid reply (e.g. validation error).
  • PHP
    • If a primary key column is requested as a Field or in a modal, don't attempt to reselect it as this can result in an SQL error.
    • Oracle integration. Specify a return size for the primary key value when reading it. Required by PHP.
    • Custom Field->options() function would result in a PHP error
  • Styling
    • Improved styling for inline editing with Bootstrap
  • .NET
    • If a primary key column is requested as a Field or in a modal, don't attempt to reselect it as this can result in an SQL error.
  • Documentation
    • HTML custom tags (editor-field) cannot be self closing. Updated the template documentation to reflect this.

Download Editor 1.6.1

]]>
Fri, 16 Dec 2016 16:26:17 GMT http://www.datatables.net/#244 http://www.datatables.net/
Buttons 1.2.4 released This is a quick turnaround bug fix release from 1.2.3 due to an issue with the selected:true modifier being used for the exported data, whereby the rows that were selected where not actually exported.

Fixes

  • Fix: Exported data would not correctly take into account the selected: true modifier.
  • Fix: Numbers which do not contain commas should not be shown on output in Excel with a thousand separator. Otherwise years such as "2016" would be formatted as "2,016".
  • Fix: Detection of negative numbers for plain and formatted numbers on Excel export.

Download Buttons 1.2.4

]]>
Fri, 16 Dec 2016 16:02:46 GMT http://www.datatables.net/#243 http://www.datatables.net/
Editor 1.6.0 released The Editor 1.6.0 is a major update to the Editor software package and includes a number of new headline features:

  • Templating forms for custom layouts
  • Local table editing without need to save to a server
  • Semantic UI integration
  • Support for compound keys
  • Oracle support for the PHP and .NET server-side libraries
  • Cancellable server-side events for PHP and .NET
  • Easier and more comprehensive join options for PHP and .NET
  • A new debug mode so you can see exactly what SQL Editor's server-side libraries are running.

There are many other smaller changes that make Editor easier to work with and of course a number of updates that address known issues. Please see the release notes below for full details of the changes and additions in this release.

New

  • Javascript
    • Disabled fields are styled to appear lowlighted (i.e. greyed out)
    • template option that can be used to define a form template to be used in the Editor form, allowing complex custom form layouts to be achieved with ease.
    • destroy() method that can be used to destroy an existing Editor instance.
    • Standalone editing now can read and write the field's value, optionally, from the data-editor-value attribute for a field, rather than using the HTML content as the value. The default (without the new attribute) is still to use the HTML content.
    • uploadXhrError event - triggered if the file upload from upload has an error return from the server.
    • A global form error returned by the server will now be shown below the field when inline editing.
    • The on* options for form-options (e.g. onBlur, onComplete, etc) all now can be defined as a function that will be executed when required. This provides the ability to perform additional logic in addition to calling API methods such as close().
    • Field type plug-ins now have the ability to control if a return key press will submit the form or not through the new optional canReturnSubmit field method. This can be useful for plug-ins which use the return key for item selection, inserting newlines, etc.
    • uploadXhrSuccess event that can be used to be notified when an upload is completed and also to modify the JSON returned by the server.
    • Local table editing. The ajax parameter used to be required in Editor, so it would know where to submit data. As of v1.6 this parameter is optional and if not provided Editor will operate in a local editing mode, updating a DataTable directly without server-side interaction. This can be particularly useful if you wish to use your own mechanism to submit the edited data to the server, rather than Editor's own Ajax submit method.
    • Append option for select, radio and checkbox field types when using their respective field().update() methods. This provides the ability to add to the current list, as well as the existing ability to entirely replace the existing list of options, which remains the default action.
    • fields.multiEditable option which can be used to disable editing of fields when multiple rows are selected, but still allow them to be edited when individual rows are being edited.
    • field().fieldInfo() and field().labelInfo() methods to allow the information elements to be dynamically updated after initialisation.
    • fields.message option to set the field's dynamic information message when initially created.
    • Improved REST support. HTTP status codes other than 2XX codes can now be processed as successful responses if they contain valid JSON. This is useful when integrating with a REST service were status codes such as 400 are used it indicate validation errors.
    • You can now specify your own success, error and complete methods in the ajax option and they will not overwrite or disable Editor's own methods. Your methods will be executed after Editor's.
    • Tab index for the Editor buttons can be specified via the buttons() method
    • editSingle and removeSingle button types which operate in exactly the same way as the edit and remove types, but are enabled only when a single row is selected. They are disabled when 0 or multiple rows are selected.
    • checkbox can now submit a predefined value when no checkboxes are selected in the field through the use of the new unselectedValue property. This makes checkbox fields very easy to use for a boolean input.
    • e-file() and e-files() methods. These are exactly the same as the methods that Editor adds to the DataTables API (which are now aliases of these methods), but are provided on the Editor instance. This is so file information can be used when standalone editing and a DataTable is not available.
    • files() and file() will now throw an error if a request is made for a file or table that doesn't exist. This is done to provide more information to the developer during the development process so allow errors to be corrected.
    • onFieldError option for the form-options object which gives the ability to disable the auto focus on error field
  • PHP
    • any() database method that can be used to determine if there are any rows that match a condition.
    • Editor->tryCatch() method that can disable the try/catch used in Editor->process(). Can be useful for debugging, but not production!
    • preGet and postGet events to compliment the existing events.
    • preCreate, preEdit and preRemove events can now all be cancelled by return false; from the event handlers.
    • Global validator method that can be specified using Editor->validator(). Provides hooks for security and global data validation whenever a request is made to the server through the Editor class.
    • Improved internationalisation support for numbers which use a comma as the decimal marker. Numeric validators now support an option to allow the decimal character to be specified as a comma (or any other character) and two new formatter methods to aid converting to and from a period for the database.
    • Oracle database support. This uses the oci_* PHP methods to connect to an Oracle database and provides all of the same features as the other databases that are supported.
    • Options class that can be used with Field->options(). This provides all of the functionality that Field->options() used before, but is much easier to read and understand as it uses class methods to configure how options are read from the database, rather than a list of parameters, the order for which is not always clear. The old style is still supported and will work with the 1.x libraries, but it is recommended the new style be used for all new work. The examples and documentation have been updated to reflect this.
    • Options->limit() method that can be used to limit the number of options shown in a select list.
    • Ability to specify a custom ordering when using field options.
    • Support for compound keys. Simply specify the columns that make up the compound key as an array of column names. Important this change has required that the Editor->pkey() method will now return an array if used as a getter, rather than a string (since multiple columns can be specified as the primary key column(s)).
    • Debug mode which can be enabled using ->debug(true). When enabled it will let you see the SQL statements that Editor is using and will return them in the JSON data as the property debug-sql. This can be useful for understanding exactly what Editor is being and diagnosing any issues encountered. Obviously turn it off for production deployment!
    • Query->where_group() method accepts a callback function as the first parameter which will automatically group any conditions applied within it.
  • .NET
    • Options.Limit() method that can be used to limit the number of options shown in a select list.
    • Any() Database method that can be used to quickly determine if there are any rows that match a given condition.
    • PreGet and PostGet events to compliment the existing events.
    • preCreate, preEdit and preRemove server-side events are all now cancellable.
    • Global validator method that can be specified using Editor.Validator(). Provides hooks for security and global data validation whenever a request is made to the server through the Editor class.
    • Improved internationalisation support for numbers which use a comma as the decimal marker. Numeric validators now support an option to allow the culture name to be specified and two new formatter methods to aid converting to and from a period for the database.
    • Oracle database support!
    • Options class that can be used with Field.Options(). This provides all of the functionality that Field.Options() used before, but is much easier to read and understand as it uses class methods to configure how options are read from the database, rather than a list of parameters, the order for which is not always clear. The old style is still supported and will work with the 1.x libraries, but it is recommended the new style be used for all new work. The examples and documentation have been updated to reflect this.
    • Ability to specify a custom ordering when using field options.
    • Support for compound keys. Simply specify the columns that make up the compound key as an array of column names. Important this change has required that the Editor.Pkey() method will now return an array if used as a getter, rather than a string (since multiple columns can be specified as the primary key column(s)).
    • Debug mode which can be enabled using Editor.Debug(true). When enabled it will let you see the SQL statements that Editor is using and will return them in the JSON data as the property debugSql. This can be useful for understanding exactly what Editor is being and diagnosing any issues encountered. Obviously turn it off for production deployment!
    • Query.WhereGroup() method accepts a callback function as the first parameter which will automatically group any conditions applied within it.
    • Uploaded files can be saved to the database into binary field types using the new Upload.DbType.ContentBinary type.
  • Styling
    • Bootstrap integrations now use btn-primary for create and edit forms, and btn-danger for the delete form to draw addition to the main button.
    • Semantic UI integration for Editor
    • Bootstrap 4 integration for Editor. Bootstrap is still in alpha so this can't yet be considering to be complete in case anything changes in Bootstrap, but the basic integration is now in place.

Updates

  • Javascript
    • select now allows the form to be submitted when the return key is pressed and the select element has focus. Item selection can be performed using the keyboard with the space bar, which is common across platforms. This and other keyboard related notes are now maintained in the select documentation.
    • Processing display icon is now provided by CSS and a CSS animation rather than a gif. This allow allows reuse of the same style of loader to be used for both the main form editor, inline and bubble editing. Bootstrap, Foundation and jQuery UI integrations also utilise the processing display.
    • Envelope display control updated to no longer use images. A CSS box-shadow is now used instead.
    • jQuery UI date picker will no longer include the calender.png image by default. Use: dateImage: '/path/to/calander.png' to include the image.
    • The JSON response from a file upload now need only return the data for the newly uploaded files rather than all files as was required in 1.5.
  • PHP
    • The server will only return information about the newly uploaded file in the JSON response for an uploaded file
  • .NET
    • Oracle data access will now use the Oracle managed driver by default, which is much easier to deploy than the unmanaged driver.
    • The server will only return information about the newly uploaded file in the JSON response for an uploaded file
  • Styling
    • Improved layout for message, info and error messages in the DataTables styled form.
  • Examples
    • Include SQL required for compound key examples

Fixes

  • Javascript
    • When multi-row editing and a field is disabled, it shouldn't be possible to click on it to show the editing mode.
    • e-vapi val() was incorrectly acting as a getter if an object was given as the first parameter. It should be a setter with the parameter names giving the field names and the values giving the field values.
    • Fields which are added to the form while editing data (not create or delete) would cause a Javascript error when checking for differences in values.
    • Complex field types that use objects or arrays as their value would incorrectly always be judged to be different in value from the edited value when submitting data, resulting in the field being submitted, even if submit: 'changed' was set.
    • Week number was not always correct to ISO8601 when used in the datetime field type.
    • Fields which use a floating panel for input such as the datetime input could have validation messages obstructed by the floating panel. Fields can now specify a errorMessage function that will be called when the field's error status changes, allowing it to display the message. This is now used for the datetime field type.
    • datetime would cause an error if used with clear()
    • Improved styling for Bootstrap 3/4 global error messages
    • If fields were defined with a name that was an integer value (which can readily be done if you are using a DOM data sourced table), the fields in the form would not correctly appear.
    • When using multiple instances of Editor with inline editing and Bootstrap, styling of text boxes would not be correctly applied for all tables other than the first instance
    • datetime didn't trigger a change event when the value was selected with a mouse, resulting in issues with using dependent() with date/time fields.
    • Don't overwrite the data property if legacyAjax is enabled and a data property is returned in the JSON from the server.
    • placeholderValue for select would not be submitted when provided but no value was selected by the end user.
    • Chrome rendering error (m53+) if lightbox is used and the field area scrolls. The form buttons would be hidden.
    • Bubble positioning could be set incorrectly if a jQuery instance was used as the modifier.
    • Row ID's which had characters used for specific meaning in CSS selectors would cause an error. For example an id with : would cause an error from jQuery's parser. The values are now correctly escaped.
    • Improve inline editing when passed a node
    • In standalone mode, when passed in an element as the identifier it is automatically used as the attachment point now rather than trying to look the attachment point up. This could cause an error if there are multiple elements that match the identifier (i.e. editing the same field in multiple locations on a page).
    • Datetime field might not be hidden when the Editor form was closed
    • "Today" indicator in datetime could incorrectly show the wrong date (±1) as today depending on the time the page was loaded and the timezone it was being used in.
  • PHP
    • Mjoin was failing if used with a key that was included in a left join and was not the primary key.
    • Query->where_group() when used and no condition was added inside of it would result in an SQL error.
    • Integration with SQLServer wouldn't correctly escape keywords when used as column names.
    • Mjoin options were not populated if ->name() was used to provide a different name from the database name.
    • Documentation for Field->set() reversed the boolean values for the method incorrectly.
  • .NET
    • Database tables were not correctly being escaped in queries
    • Mjoin was failing if used with a key that was included in a left join and was not the primary key.
    • When using MJoin with a link table and the link table was empty, options would not be listed.
    • Query.WhereGroup() when used and no condition was added inside of it would result in an SQL error.
    • DbType.ContentBinary should not be included in the JSON data returned to the client.
    • Integration with SQLServer wouldn't correctly escape keywords when used as column names.
    • Changes to allow DataTables.dll to build against .NET 4.0 (4.5 is the default). This is primarily a set of simple changes in how it uses reflection to get custom attributes using the 4.0 methods rather than the shortcuts provided in 4.5+.
    • Examples would incorrectly try to use a PHP script to extra information about the example's server-side script.
  • Documentation
    • buttons() documentation updated to reflect that you can set a class name for a button
    • preSubmit is cancellable. This should be (and now is) noted in the documentation.
    • Related links for a number of the i18n options were incorrect
    • Typo in postRemove documentation
    • table markdown error
    • Add note to display about options from the styling integration files
  • Examples
    • Don't show a server-side script for localStorage example
    • Inline editing example shouldn't sort on checkbox column by default
    • FixedColumns inline editing example didn't allow all columns to be editable.
    • Nicer styling for editing icon inline example
    • Don't pass the child node into Editor for inline editing when used with Responsive.
    • RowReorder example would have a sequence error if multiple rows were deleted.
    • Use PHP 5.3+ array syntax (rather than the 5.4+ shorthand)
    • Upload many example used wrong parameter name for noFileText option
    • RowReorder example would have a sequence error if multiple rows were deleted.
    • .NET time example wouldn't save PM times due to an incorrect formatter

Download Editor 1.6.0

]]>
Tue, 06 Dec 2016 16:46:55 GMT http://www.datatables.net/#242 http://www.datatables.net/
DataTables 1.10.13 released Its been a while since the last update to DataTables core, so this release is a cumulation of bug fixes and other updates from the last six months. There isn't anything major here, the 1.10 branch is quite stable, but none the less this is a recommend upgrade for everyone using DataTables to address issues that have been found.

Javascript core

  • New
    • New: stateLoadCallback can now use a callback function for async loading of state data, rather than requiring it to be sync.
    • New: $.fn.dataTable.isDataTable() will now check for DataTable API instances as well (i.e. variables passed in)
    • New: Add first_last_numbers pagination option
  • Updates
    • Performance - slice() can be quite slow when modifying arrays for the filtering, so use push() instead.
  • Fixes
    • When assigning a handler for multiple events, automatically add the dt namespace. It worked before for single events, but not multiple.
    • Accept language.url being undefined, empty string or null.
    • Make date detection a lot more strict. Only ISO8601 style strings will be detected as valid dates now. Anything else would require a plug-in.
    • If the paging active element was index 0, it wouldn't be refocused
    • When replacing child row information, detach the element rather than removing which would destroy the event handlers. A remove action will still call $().remove() to clean up any event handlers.
    • caption tags should have the caption-side CSS value read from the caption tag itself, not the table tag.
    • Using columns.data to access a data point which uses a backslash in its name would result in an error due to an incorrectly escaped regex.
    • If initialising a DataTable when the window was horizontally scrolled the browser detection would incorrectly determine that rtl layout was being used (effects scrolling view).
    • Row selector would incorrectly select rows if row index 0 was passed in with a selector modifier.
    • jQuery selectors which had a comma in them were incorrectly split by DataTables causing them to be invalid or give incorrect results
    • Number renderer was not correctly rounding values
    • Remove deprecated jQuery $().bind() and $().unbind() use, replaced with the $().on() and $().off() methods.
    • Improve column selector when used with a complex jQuery selector for pseudo selectors
    • When sorting a date column, an empty string would be incorrectly used as 1970-01-01.

Styling

  • Fixes
    • Bootstrap 4 flexbox grid
    • Remove outdated CSS for old versions of Firefox
    • Foundation 6 styling for the processing element needs to use the callout class

Examples

  • Updates
    • Semantic UI integration for all DataTables extensions is now complete as it will be available in Editor 1.6. This integration is no longer just a tech preview, but rather a core part of DataTables styling options and will be included on the CDN builder soon.
  • Fixes
    • Typo in row callback example

Documentation

Download DataTables 1.10.13

]]>
Tue, 06 Dec 2016 14:59:49 GMT http://www.datatables.net/#241 http://www.datatables.net/
Select 1.2.1 released A simple bug fix release of Select. Nothing exciting, but with an upgrade anyway!

Fixes

  • Fix: Integration with FixedColumns was a little broken due to the selectors being applied to the parent table, while the FixedColumns tables are floating over it.
  • Fix: Table's with selectable class would always drop into os style selection overriding specified style if given.
  • Fix: Selected checkbox style should apply to th elements as well as td
  • Fix: Buttons that listen for the selected (etc) events would cause an error if removed as the event wasn't being unbound when dynamically removed.
  • Fix - docs: Add multi+shift information to documentation
  • Fix - docs: Typo in example
  • Fix - docs: type parameter for select is singular, not plural

Download Select 1.2.1

]]>
Tue, 06 Dec 2016 13:51:31 GMT http://www.datatables.net/#240 http://www.datatables.net/
RowReorder 1.2.0 released This update to RowReorder is all about improving its integration with Editor, with new options to control how Editor will submit the data, and also the ability to enable and disable RowReordering via the API, which is used while the Editor form is submitted.

New

  • New: While Editor is submitting information to the server (rowReorder.editor), RowReorder's end user interaction will now be disabled to prevent overlapping submits.
  • New: rowReorder().enable() and rowReorder().disable() methods that can be used to enable and disable RowReorder's end user interaction on-the-fly. The rowReorder.enable option is also included for completeness.
  • New: rowReorder.formOptions object which can be used to control the parameters set to the server when submitting with Editor.

Download RowReorder 1.2.0

]]>
Tue, 06 Dec 2016 13:44:32 GMT http://www.datatables.net/#239 http://www.datatables.net/
Responsive 2.1.1 released A minor release of Responsive that address a number issues that have been found since the last release. There is one small new feature as well, whereby Responsive will now retain the child row state after an Ajax reload.

New

  • New: Automatically reopen child rows after an Ajax reload for Responsive tables

Fixes

  • Fix: Use dtr-details class for the responsive details display element. This allows other selectors to be used more easily.
  • Fix: Limit tab index insertion to just the host table (for cases where there are nested tables)
  • Fix: It was possible for the row identifier to get confused as to if a row is in the host table or not.
  • Fix: Nested tables would break responsiveness of other columns
  • Fix: Bootstrap integration for modals - close icon was being removed from the header.

Download Responsive 2.1.1

]]>
Tue, 06 Dec 2016 12:18:06 GMT http://www.datatables.net/#238 http://www.datatables.net/
KeyTable 2.2.0 released This release of KeyTable sees a change in how KeyTable focuses cells when the DataTables' displayed page is changed. Previously the old cell would remain focused, even although it is no longer visible, while now it will focus on the same relative position on the new page.

There are also a number of buy fixes that address various issues found since the last release.

New

  • New: When using client-side processing the focus will retain its relative position in the table (e.g. if cell 1,1 is focused and you jump to page 2, the visible cell 1,1 will gain focus), instead of the original cell retaining focus. This makes navigation much easier as the focus remains on screen. This behaviour now matches how KeyTable operated with server-side processing.
  • New - example: Showing keys.blurable being used

Fixes

  • Fix: Focus was lost when using the DataTables paging controls - it should be retained.
  • Fix: Using paging buttons with server-side processing would result in a Javascript error if jumping to a page where the matching relative row doesn't exist.
  • Fix: KeyTable error when using page down and paging to a page with less rows and server-side processing enabled.
  • Fix: Ignore keys that are pressed while waiting for the table to draw
  • Fix: Editor integration - don't activate inline editing when the shift key alone is pressed. Pressing shift and then a key will still start inline editing and enter the character typed.
  • Fix: Home key wouldn't correctly select the first focusable cell in the table if it wasn't in the first column.
  • Fix - docs: Remove typo

Download KeyTable 2.2.0

]]>
Tue, 06 Dec 2016 11:57:17 GMT http://www.datatables.net/#237 http://www.datatables.net/
Buttons 1.2.3 released This is primarily a bug fix release of Buttons, however it also features improvements to the Excel file that Buttons can generate including automatic detection and formatting of number, currency and percentage data types. While the Buttons export is intended to be simple, this paves the way to make the export more customisable in future.

Also some good news for Safari users. Although the current release of Safari does not yet support the download attribute, the Webkit nighty does and it will likely make it into the next release of Safari. Buttons will automatically detect went that happens and make the export buttons available for Safari users.

New

  • New: Excel export will now automatically detect percentage values and format them as such in Excel
  • New: Excel export will now automatically detect numbers with thousand separators and format them appropriately for Excel.
  • New: Excel export will now automatically detect negative numbers that are indicated by brackets and format them appropriately for Excel.
  • New: Automatically detect percentage values with 1 d.p. and use a custom style for them. This also paves a clear way for the customize method to be used to use a different level of decimal precision if required.
  • New: WebKit 603.1 and newer support the <a> tag allowing the Excel and PDF creation to correctly work in Safari! The shipping version of Safari (10.0.1) does not yet support this ability, but since it is in WebKit nightly's there is a good chance it will be in the next release.
  • New: Add class to view generated by print button so specific CSS can be used to target the created page from the &lt;link&gt;ed stylesheets
  • New: Currency detection for Excel export. This is currently limited to currencies which use dollar, pound or euro symbols only. The matching is relatively strict in order not to match data incorrectly.

Updates

  • Update: Excel column width calculation will now take line breaks into account, rather than assuming the column width would match the unwrapped string.
  • Update - performance: Reuse the cell selector when exporting data, so cells need only be selected once (rather than twice as before)
  • Update - performance: Faster export of data by allowing cells() to select the rows, rather than getting an array of row indexes first. The former approach enters the row selector into a slow array lookup rather than allowing it to just build the array.

Fixes

  • Fix: null, undefined and blank cell in excel export
  • Fix: Sub-collections in Foundation were offset by the height of the parent collection
  • Fix: Removing magic 5px offset for sub-collections for better visual effect
  • Fix: Add button-page-length class to the page length buttons
  • Fix: null, undefined and blank cell in excel export
  • Fix: Safari Mac would not create valid Excel files when using the Flash export
  • Fix: Excel export would incorrectly show an empty cell for cells which contained only 0 due to a loose type check
  • Fix: Improve French translation for i18n example. Thanks MartyF!
  • Fix - example: Correct arguments for format.body option
  • Fix - docs: Trailing character causing markdown formatting issues
  • Fix - docs: French translation improvement from MartyF

Download Buttons 1.2.3

]]>
Tue, 06 Dec 2016 11:21:05 GMT http://www.datatables.net/#236 http://www.datatables.net/
AutoFill 2.1.3 released A simple bug fix release of Editor that addresses compatibility issues with IE, KeyTable and hidden columns in DataTables.

Fixes

  • Fix: When columns were hidden and a class name was used as the column selector for AutoFill, the indexing could get confused resulting in a Javascript error.
  • Fix: AutoFill might not always detect when KeyTable was used on a table (to automatically set the focus type to follow the KeyTable focus).
  • Fix: AutoFill's handle might not show in IE11 as it was incorrectly inserted into the table element. It is now inserted into the table's offset parent to create a valid HTML document.

Download AutoFill 2.1.3

]]>
Tue, 06 Dec 2016 11:14:42 GMT http://www.datatables.net/#235 http://www.datatables.net/