Editor 2.1.0 release notes
Editor 2.1.0 doesn't focus on just one specific area of Editor, but rather has improvements and addresses bugs throughout the entire code base. Full support for ESModule loading and Typescript definitions that operate with DataTables 1.13+, new options for form-options
to provide a more complete inline editing experience and big performance improvements in search-side processing with SearchPanes are just scratching the surface.
See below for the full list of changes.
Downloads
Downloads of specific versions of Editor are only available to license holders. Please see the download page for information about the current release version.
Release notes
Core
New
- New:
cancelHtml
andcancelTrigger
options forform-options
to provide a helper cancel button when using inline editing. The example has been updated to show this. - New: The
cancelTrigger
andsubmitTrigger
options forform-options
can now be given as a CSS selector that will pick any element from the row being inline edited. - New:
bubble()
positioning responds to the page's scrolling to keep the bubble in view as long as possible. New:bubble()
will display above or below the target more consistently - if a previous view was below the target, the next view will be as well (assuming it will fit into the viewport) - New: Easier styling integration for modal headers. Integrations can now specify a tag and class to use for the modal's header making internationalisation much easier. Used for Bootstrap 3-5 and Bulma.
- New: Example showing
datetime
being used with Luxon New:e-datetime
can now be used with Luxon (Moment.js is also still supported) Fix:momentLocale
andmomentStrict
properties are propagated toDateTime
library - New: Support for Bootstrap 5's floating labels
- New: Typescript definitions rewritten to fully interoperate with DataTables own Typescript definitions.
- New: Upload error messages can now be translated through a new
errors
property for theupload
anduploadMany
field types
Updates
- Updated: DataTables styling - improved use of space for wider inputs such as
datatable
Updated: Improved styling for tablet sized devices - Updated: Typescript definitions for API methods now includes override specific signatures
- Update - example: Nested editing example now gets data from Ajax data source for nested table
Fixes
- Fix: Allow access via
$.fn.DataTable
after updates to build system - Fix: Bubble editing would appear to stop working after the first edit when using jQuery Slim
- Fix: Class names were not being applied to an
inlineCreate()
row if there wasn't already a row in the table. - Fix: Decoding entities with a leading 0
- Fix: Error message wasn't shown in Chrome if an invalid file was uploaded, the create / edit cancelled and then the same file uploaded again.
- Fix: If
dependent()
was set on a field that is then also used for submission by pressing enter, the dependent action would not complete before the submission happens. - Fix: Multiple buttons in the footer would show reversed
- Fix: Nested tables were not populating options based on options found in an Ajax response.
- Fix:
<select>
fields shouldn't extend further than the display limit if they contain long label strings - Fix: Tidy documentation for
datetime
and point the configuration object forDateTime
to its own documentation - Fix: Translation example didn't include translations for datetime field
- Fix: When scrolling is enabled in a
datatable
field we now automatically scroll to the first selected row (similar to how the paging was already changed to the page of data which has the first selected row). - Fix: When using
dependent()
with a function for the data attribute in the options, it would be overwritten with the value it returns. - Fix: Improvements to CSS for alignment for upload elements
- Fix: Bootstrap 5 - add modal classes only when using modal for form. This allows other display controllers such as "Off Canvas" to be used to display the form
- Fix - example: Parent / Child editing with DataTable now has the inner editor hidden while creating a parent row.
.NET
New
- New: Support for
Microsoft.Data.SqlClient
data provider - New: Ability to specify a custom primary key value on upload by adding it to the list of properties to set
- New: Add library version to debug information when debug is enabled
- New: Support for left joins from
Mjoin
instances using the newMjoin.leftJoin()
method, which has the same signature as Editor'sleftJoin()
method New: Support for left joins fromOptions
instances using the newOptions.leftJoin()
method, which has the same signature as Editor'sleftJoin()
method - New:
Upload.Db()
now has an optional fourth parameter that allows a post data fetch formatting function
Updates
- Updated: Improvements to server-side processing performance with SearchPanes
Fixes
- Fix: Null values were not being written to the database (Postgres)
- Fix: Postgres auto-type detection was too loose. Made it much tighter while also providing methods to allow easier override through the Field.DbType method.
Node.js
New
- New: Ability to specify a custom primary key value on upload by adding it to the list of properties to set
- New: Add database connection as a parameter to the upload validators
- New: Add library version to debug information when debug is enabled
- New: Database post file processing update ability. A custom upload action can now execute a callback function to update the database row created by the
db()
method, or insert a new row. - New: Support for left joins from Mjoin instances using the new
Mjoin.leftJoin()
method, which has the same signature as Editor'sleftJoin()
method New: Support for left joins fromOptions
instances using the newOptions.leftJoin()
method, which has the same signature as Editor'sleftJoin()
method - New:
Upload.db()
has a fourth parameter now that allows a post data fetch formatting function to be passed in
Updates
- Update: export database types
- Update: Pass field to
postUpload
event handler
Fixes
- Fix: Add missing
postUpload
event - Fix: Custom upload action now has the correct Typescript definitation (rather than just 'Function')
- Fix: dBClean was executed without an
await
which could result in trying to work with a transaction that has already completed - Fix:
Options
will use aDISTINCT
query now - Fix: Update dependencies to latest versions
PHP
New
- New: Ability to specify a custom primary key value on upload by adding it to the list of properties to set
- New: Add library version to debug information when debug is enabled
- New:
leftJoin()
method forOptions
class to allow easy referencing of information from other tables - New: Support for left join from an Mjoin (
Mjoin->leftJoin()
with the same signature asEditor->leftJoin()
) - New:
Upload->db()
now has an optional fourth parameter that allows a post data fetch formatting function
Fixes
- Fix: Address PHP 8.1 warning over use of
explode
withnull
values - Fix: Compatibility error with 8.1 for the Upload data fetch
- Fix: Performance of SearchPanes server-side processing was significantly degraded due to O(n^2) looping and redundant SQL queries
- Fix: PHP 8.2 compatability
- Fix: Update HTMLawed to 1.2.10
- Fix: When using a callable function for a database column, set the value immediately rather than using
-
which can cause type errors - Fix: When wrapping a field name in quotes, we might need to escape the quote characters in the string