Thursday 15th February, 2024

Editor 2.3.0 release notes

Editor 2.3 largely focused on DataTables 2 compatibility and addressing known issues, particularly around the styling integrations (Bootstrap, Bulma, etc). There are no significant new features, they'll be coming in future releases!

This release of Editor is compatible with DataTables 1.11+, as well as DataTables 2.

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:
    • Compatibility with DataTables 2
    • destroyEditor event triggered on the document when destroy() is called.
    • bubbleLocation() method to control is the bubble editor is shown above or below the target editing cell (or auto).
  • Fixes:
    • Apply animation to show/hide for a field only if the main display node has a reasonable amount of opacity
    • A sync destroy after a remove and sync submit would cause an error to be thrown. Unlikely in the real world, but it tripped up a few tests.
    • Bootstrap 4/5 styling for inline error message needed more padding
    • Bootstrap 5 wouldn't close the modal in a Vite built environment
    • Bubble close icon wasn't clear in dark mode
    • Bubble position always below the cell after scrolling
    • Bulma modal would stack multiple forms if used with multiple Editor instances
    • Bulma styling for DataTable field type was incomplete
    • Buttons weren't shown on nested editing example
    • Clear next focus when the form is closed as it could result in the wrong field initially gaining focus when another form is synchronously opened - only seen with Bootstrap 5.
    • close event was triggered twice in Bootstrap 3 and jQuery UI stylings
    • Close icon for bubble editor wasn't shown
    • Correct syntax errors in some of the reference documentation examples Update: Consistent formatting for the reference documentation examples
    • Docs: Clarify that the row won't be in the document yet when create is triggered.
    • Fomantic UI wasn't showing error messages and instead just immediately closing the modal.
    • Fomantic UI wouldn't display options for radio inputs
    • For fields which have a number as the name a JS error would be thrown when setting the field's id.
    • full and block styles updated to work better with all styling frameworks
    • Header wasn't shown for bubble editing in jQuery UI styling
    • If the form isn't displayed and submission results in an error, Editor will now use an alert() to display the error message to the end user rather than just swallowing it.
    • If the inline edit row had a field in a hidden column, the inline options such as submitTrigger wouldn't work.
    • Improve handling of resizing of the textarea element in a bubble editor.
    • Make Bootstrap modal large by default.
    • Ordering of the form buttons was reversed
    • Radio button labels were misplaced in Bootstrap and Foundation styling
    • Release package wasn't including the SCSS files for the styling integrations
    • Standalone editing examples are now more consistent in styling across the styling frameworks
    • Title display for bubble edit had rendering errors across the various styling frameworks
    • Triggering a remove() call with a keyboard return key stroke would immediately submit the form due to the focus on the delete button. There is now a small delay before the button gains focus to prevent this.
    • Update animation flash wasn't shown in Bulma or Foundation
    • Update the class name used to "flash" a row when it is edited to be dte-highlight rather than highlight to reduce changes of a conflict.
    • Updating a row which had a null value could result in a JS error
    • When a scrolling DataTable is used in a Bootstrap modal, its headers could be squashed.
    • When using a string as a button definition, it wouldn't have a primary class assigned. This was particularly noticeable with bubble editing.

Examples

  • New:
    • Nested editing with multiple editing Fix: Ignore options parameter in Ajax return for datatable fields which have an Ajax option configured.
  • Updates:
    • Consistent formatting
    • Update to use the checkbox renderer from Select 2 rather than the old class name (which still works in Select 2, but the input checkbox provides better accessability).
    • Updated import mapping to allow the use of table.column style field names
  • Fixes:
    • Bubble inline controls needed Buttons as a dependency
    • Envelope inline control needed buttons
    • Full row create example had a selector error
    • Inline edit icon example didn't have the table full width
    • Multi-column example updated to use Flexbox
    • Parent child example wasn't taking 100% width
    • Remove minutesAvilable from example. It was an unintentional commit of a test!
    • Change class name for tabs under the table to stop conflict with styling integrations
    • Clarify that the envelope display controller uses the DataTables specific styling (it is not available for Bootstrap)
    • Clarify that the server-side code is available in other languages as well
    • Simple SearchPanes example no longer shows the cascade option - there is a separate example for that.
    • Stacked input example's CSS updated to work for all styling frameworks
    • Wide width lightbox example wasn't very wide!
    • Update RowReorder example to note that you can leave the order field empty to have it inserted at the end of the table. Also updated .NET and Node.js controllers to account for this.

Types

  • Fixes:
    • Allow HTMLElement type explicitly for node methods
    • Plug-in was on the wrong DataTables host object (type)
    • new constructor returns instance (noImplicitAny)

.NET

  • New:
    • Add support for Enums for SearchPanes and SearchBuilder with new FromEnum methods
  • Fixes:
    • null values were not selectable when using SearchPanes and server-side processing
    • Using a function with quoted values would fail due to the lack of escaping

Node.js

  • Fixes:
    • null values were not selectable when using SearchPanes and server-side processing
    • Numeric validators weren't correctly handling the "common" validation that allowed it to pass (e.g. optional and empty)
    • Tweak to validation function for booleans (duplication of tests)

PHP

  • Removed:
    • Drop PHP 5.3 support - it was EOL from PHP in August 2014!
  • Updated:
    • HtmLawed updated to latest version
  • Fixes:
    • Loads of linting and documentation updates. Huge thanks to mvorisek for the work on this.
    • Use a binding for the table name when getting the primary key info
    • Only commit to the db if a transaction was started