DataTables releases feed http://www.datatables.net/ en-us Software release information for DataTables and its extensions Editor 1.8.1 released Our first patch release for the 1.8.x Editor series which sees a number of little tweaks, particularly in relation to the Bootstrap 3/4 integration which has been improved.

For details on the changes in 1.8, please refer to the 1.8.0 release notes.

New

Fixes

  • Javascript
    • datetime did not respect minutesIncrement and secondsIncrement if hoursAvailable was specified.
    • If an Editor instance was configured with a template and it is destroyed, it should re-insert the template back into the document.
    • If immediately focusing on a field which uses a popup inside a modal, the position of that popup (e.g. the date / time picker) would be misaligned relative to the modal. Note that this issue is still present with Bootstrap 4.
  • PHP
    • Connection string format for SQL Server on windows (sqlsrv driver) was wrong if a port was specified
    • SQL error when inserting into two tables with a single submission
  • NodeJS
    • Sqlite doesn't support right joins so use an inner join for Mjoin
    • The demo package will now attempt to make a database query on start up (checking what tables are in the db) to allow an error message to immediately be shown on the console, rather than when a page is loaded. It is not an essential check and can safely be removed once your db configuration is working. This is purely to make the first run experience easier.
    • The Node demo package was including the Editor 1.7.4 Node packages rather than Editor 1.8
    • SQL error when inserting into multiple tables with a single submission
    • Demo package now listens on all interfaces, rather than just localhost (handy for VM development)
    • Present npm showing warnings about demo package not having a repo by marking it as private
  • .NET
    • Oracle with compound keys would report an error
    • sqlite driver doesn't return DateTime objects since Sqlite doesn't have a date format (its just strings), so make a best effort attempt to convert ISO8601 into a datetime.
    • Sqlite wasn't returning the added row id when inserting a new row
    • Updating second table in a single submit would result in an SQL error
    • Build dlls for .NET Framework 4.6 and 4.7
  • Styling
    • Bootstrap 3 and 4 - the new field processing indicator would be misaligned.
    • Bootstrap 4 integration - help text should be small by default
    • Bootstrap 4 integration - radio button labels had no spacing
    • Bootstrap 4 styling integration for the upload field type used incorrect classes for the "Choose file" and "Clear" buttons
    • Zurb Foundation - Auto focus in the Foundation modal wasn't working
  • Documentation
    • Clarify that either a return value or the callback should be used to complete a dependent() method call

Download Editor 1.8.1

]]>
Thu, 08 Nov 2018 10:59:03 GMT http://www.datatables.net/#319 http://www.datatables.net/
Editor 1.8.0 released Editor 1.8 is a major update for Editor and sees primary focus on improving Editor's packaging and integration with the most common packaging libraries for each library supported:

  • Composer for PHP
  • NuGet for .NET Framework and .NET Core
  • npm for NodeJS (this package already existed for earlier versions of Editor)

You might have noticed in the list above that we've expanded our supported platforms to include .NET Core! Its awesome to see the .NET package for Editor running seamlessly on Linux and MacOS.

Performance improvements have been applied for one-to-many joins (Mjoin) and file meta information, which show a major improvement in response times, particularly when using server-side processing.

Behind the scenes we've been working on harmonising and expanding our testing of Editor and its server-side libraries. It is now tested in every combination of multiple browsers, all four platforms and four supported databases - the tests take a while to run! We are really pleased with the results and this should lead to faster development of Editor.

While Editor is primarily a client-side library, the front-end has only seen relatively minor updates in this release. The features that have been added are none-the-less welcome additions to rounding off the capabilities of the API, alongside a number of fixed.

Please see the notes below for full details.

New

  • Javascript
    • ajax() method that can be used to update the Ajax configuration after initialisation.
    • dependent() functions can now return a Promise. The object used to resolve the promise (if one is given) will be used to update the form.
    • field().processing() method which is used to indicate an individual field as being in a processing state. This is automatically used by dependent() now.
    • create, edit and remove (plus their pre and post counterparts) now have the row id that is being operated on being passed into the event handler. This makes it much easier to then use the DataTables API to get the row node and modify it if needed.
    • uploadMany now supports a limit option which can be used to allow the end user to upload only a certain number of files for the input. The default is unlimited (0) as it was before.
    • uploadMany now supports the selection of multiple files from the "browse" dialogue box.
    • fields.submit option can be used to prevent a field's value from being submitted to the server. This can be useful for readonly and display only fields.
    • init* event in Editor's Javascript libraries can now return a Promise (native or jQuery) which can be used to effectively halt Editor's code execution until the Promise has been resolved. This can be useful for any async action such as Ajax getting values, row locking or validation.
    • Subsets of a row's data can now be returned by the server and Editor will automatically merge the existing data for the row with the subset of data.
    • Support for jQuery slim. This is primarily support for the fact that the animation module was removed in jQuery slim. Editor typically uses a lot of Ajax, so you might need to use ajax as a function with the fetch object to perform Ajax operations.
  • PHP
    • Ability to log debug messages to a file. Use Editor->debug( true, path ); to specify the path to write to.
    • Editor->readTable() method which can be used to tell the instance to read information from a different table (or more typically a VIEW). This allows complex select expressions to be created in the database, and Editor can read them, while writing updates to the data to the original table.
    • Options->add() method which can be used to manually define options in addition to those available from the database.
    • PHP libraries are now psr-4 compliant for auto-name space loading (https://www.php-fig.org/psr/psr-4/). This is particularly useful with composer. The built in autoloader has been updated, so if you load the libraries directly it will continue to work as expected.
    • Support for PSR-4 auto loader file naming. This involves changing the name and position of files in the PHP libraries for Editor. No external interface changes.
    • The SQL Server integration for Editor's PHP libraries will now use PDO's dblib driver to make the database connection. On Windows sqlsrv will still be used.
  • .NET
    • .NET Core 2.1 support for Editor. The Editor .NET libraries will now build for .NET Framework 4.5 or newer and .NET Core 2.1 or newer.
    • Editor.ReadTable() method which can be used to tell the instance to read information from a different table (or more typically a VIEW). This allows complex select expressions to be created in the database, and Editor can read them, while writing updates to the data to the original table.
    • Options.Add() method which can be used to manually define options in addition to those available from the database.
  • Node

    • Editor.readTable() method which can be used to tell the instance to read information from a different table (or more typically a VIEW). This allows complex select expressions to be created in the database, and Editor can read them, while writing updates to the data to the original table.
    • Options.add() method which can be used to manually define options in addition to those available from the database.
  • Javascript

    • All styling integrations now place a "DTED" (DataTables Editor Display) class on the display controller host element (typically a modal) allowing styling to be applied to the display controller specifically for Editor.
  • PHP
    • Ability to run custom legacy formatting and validation functions
    • Large performance improvement when using Mjoin (one-to-many) joins when using server-side processing or a filtered data set. This is done by restricting the many join query to only the items that are needed for display.
    • Performance improvement for retrieving file meta information from the database. Rather than getting information about all files, only those currently in the data set are retrieved. This makes server-side processing in particular much faster.
  • .NET
    • Large performance improvement when using Mjoin (one-to-many) joins when using server-side processing or a filtered data set. This is done by restricting the many join query to only the items that are needed for display.
    • Performance improvement for retrieving file meta information from the database. Rather than getting information about all files, only those currently in the data set are retrieved. This makes server-side processing in particular much faster.
  • NodeJS

    • Large performance improvement when using Mjoin (one-to-many) joins when using server-side processing or a filtered data set. This is done by restricting the many join query to only the items that are needed for display.
    • Performance improvement for retrieving file meta information from the database. Rather than getting information about all files, only those currently in the data set are retrieved. This makes server-side processing in particular much faster.
  • Javascript

    • Arrays wouldn't trigger submit changed calculations to see if a field has changed values.
    • Disable autocomplete for datetime fields
    • inError() would report the form was in error while the error message was animating out if just cleared.
    • Edge would increase the column widths when using inline editing
    • If a field which is not visible causes a validation error, previously the error would just be hidden as well. Now it will be attached to the global error message. This sometimes crops up with inline editing, although it does mean that invalid data is already in the database.
    • If destroy() was called during the 10mS window for a tidy up and error would be thrown.
    • Return key wouldn't insert a line break in textarea fields
    • Unable to override the automatically assigned id using preSubmit for local editing tables.
    • Using datetime with a minDate and a value which was not at the start of the month would make it impossible to get the first calender month in the data range available without using the select inputs.
  • PHP
    • Make the include of the Bootstrap.php file a require so it fails with an error if not found.
    • Oracle and Db2 (experimental) drivers failed in 1.7.4 with an error
    • Using an empty option in the ValidateOptions constructor configuration object would cause an error
    • SQL expressions with nested brackets would cause an SQL syntax error. Note that this change means that multiple fields cannot be defined using a single string in the PHP libraries now. This was never done in Editor anyway, so it is unlikely to cause any issues.
    • Don't delete rows from left joined tables by default when removing a row. The new Editor->leftJoinRemove() method can be used to re-enable this if it is required, but it is an option that will be removed in Editor v2.
    • Performance improvement when updating a database record. Instead of doing a select * to determine if there is a record to update (or if it should be inserted) it will now select only the primary key column.
    • Postgres wouldn't work with upload-many to a link table
    • Support for inserting new rows when using a table name alias on the Editor instance.
  • .NET
    • DbType.FileName could give the full path if uploaded from Edge
    • Docs - missing doc comment for Database.Debug with an action overload
    • Don't delete rows from left joined tables by default when removing a row. The new Editor.LeftJoinRemove() method can be used to re-enable this if it is required, but it is an option that will be removed in Editor v2.
    • Hyphens at the end of a string would in correctly be detected as a negative number, causing the string to be reformatted.
    • Performance improvement when updating a database record. Instead of doing a select * to determine if there is a record to update (or if it should be inserted) it will now select only the primary key column(s).
    • Postgres support wasn't handling types well.
    • Support for inserting new rows when using a table name alias on the Editor instance.
    • Using Microsoft.Data.Sqlite for the SQLite database provider
  • NodeJS
    • Compound key with postgres example would error out due to the fact that node postgres uses Date objects for date fields. Converting to a string for the primary key addresses this.
    • Create action with MJoin could be unreliable for reading back the selected options immediately due to a missing await check.
    • dbUnique() was not executing correctly
    • Don't delete rows from left joined tables by default when removing a row. The new Editor.leftJoinRemove() method can be used to re-enable this if it is required, but it is an option that will be removed in Editor v2.
    • Error when using server-side processing - table names weren't resolving properly.
    • File upload won't work
    • When using a database which allows return or output types, and joined tabl es, we need to remove the table name from the primary key value
  • CSS
    • Radio buttons used when inline or bubble editing would take 100% width, causing visual discontinuity.
    • Remove legacy CSS hacks for IE6 and 7.
  • Examples
    • Confirm close example needs to check for the preClose event
    • Don't default sort on the checkbox column
    • Server-side processing example for inline editing should use searchable:false for the first column
    • Sqlite demo file errors

Download Editor 1.8.0

]]>
Fri, 05 Oct 2018 11:34:36 GMT http://www.datatables.net/#318 http://www.datatables.net/
AutoFill 2.3.2 released A little bug fix release of AutoFill that also completes its integration with the updated KeyTable interaction to match styling.

Updates

  • Update: Reflect KeyTable's new alternative styling for doing a "hard" edit (6352154).

Fixes

  • Fix: A bug in DataTables was causing the cell selector to fail on any but the first page. A workaround has been used here to address this until DataTables core has been updated. (a8d0707).
  • Fix: AutoFill on an inline editing cell needs to pause for the async action of the submit. (d95ca05).

Download AutoFill 2.3.2

]]>
Thu, 04 Oct 2018 08:53:33 GMT http://www.datatables.net/#317 http://www.datatables.net/
Buttons 1.5.4 released While primarily a bug fix release (particularly for Excel export in IE11!) this release also has a number of new features including the ability to enable Excel's AutoFilter option and a new collectionTitle option for collection buttons.

New

  • New: autoFilter option for excelHtml5 which can be used to enable Excel's AutoFilter option on the table headers in the exported spreadsheet. (cfccff3).
  • New: collection button type now has a collectionTitle that can be used to show a title at the top of a collection. This can be useful for use with multi-level collections to ensure the end user knows what the collection refers to. (960b021).
  • New: Make functions available to be able to externally define the PDFMake and JSZip libraries. These can be used as $.fn.dataTable.Buttons.jszip() and $.fn.dataTable.Buttons.pdfMake(). Both can be used as getters and setters. (13b1236).
  • New: Support for dropdown-menu-right in collection drops downs for Bootstrap 4 (e43cb0f).

Fixes

  • Fix: Background for a collection should be inserted into the document at the same point as the collection container. (fd325d6).
  • Fix: Better Foundation 6 integration. Dropdown shows as a vertical list and active stateis different from not (d5ffe01).
  • Fix: Column visibility buttons could cause columns that shouldn't have had a control button (through the columns option) to show a control button if used with ColReorder. (51f8599).
  • Fix: Error in print button correctly matching classes with column indexes (1e5b656).
  • Fix: Excel output - tweak the default width calculation to be slightly wider (adc2841).
  • Fix: Flash export buttons would not work in IE (54a60f0).
  • Fix: IE11 XML adds a testing namespace to the preserve attribute, resulting in invalid HTML (363c202).
  • Fix: IE compatibility with the autoPrint option of the print button. (1f8eb1c).
  • Fix: Name error for buttons-action file name (b57d3d0).
  • Fix: On PDF export null should just go out as an empty string rather than "null". (d8e8cd0).

Download Buttons 1.5.4

]]>
Wed, 03 Oct 2018 20:37:54 GMT http://www.datatables.net/#316 http://www.datatables.net/
RowGroup 1.1.0 released The first minor point release of RowGroup! This release sees the ability to specify multi-level row grouping through the rowGroup.dataSrc property.

New

  • New: Multi-level nesting. The rowGroup.dataSrc option can now be used to nest multiple levels of data by providing this option as an array of values. A new example shows this ability. New: Classes applied by RowGroup are prefixed by dtrg- (DataTables RowGroup)to match the similar styling used by other DataTables extensions. (6c7a917).

Download RowGroup 1.1.0

]]>
Wed, 03 Oct 2018 15:57:55 GMT http://www.datatables.net/#315 http://www.datatables.net/
KeyTable 2.5.0 released An exciting release for KeyTables as the UX has been reworked for the Editor integration to operate more like Excel. A single click and then typing will still focus on a cell and then start the editing, but the arrow keys will allow navigation between cells. A double click however immediately starts editing (without waiting for key press) and the arrow keys navigate the insert cursor in the input element. Different styling is used to indicate the different modes.

New

  • New: Rework Editor integration for UX - more like Excel. Start editing a focused cell as before by focusing and then typing, but you can also now double click to edit a cell which will deactivate the keyboard navigation in KeyTable allowing the arrow keys to be used to navigate the text instead. Pressing return to start an edit action also enters into this new editing mode. The focus class focus-alt is added to the cell being edited in this mode to allow visual distintion. (c52b732)

Fixes

  • Fix: Errors caused by focusing filtered out rows. (328a914)
  • Fix: Editor integration - when inline editing caused an error, focus wouldn't be restricted to the cell that is in error (49cb62b)

Download KeyTable 2.5.0

]]>
Wed, 03 Oct 2018 14:45:46 GMT http://www.datatables.net/#314 http://www.datatables.net/