Row Management Pipeline
A new render pipeline has been created in the row manager to make rendering the table more efficient and make the addition of new render functionality eaiser.
For more information checkout the Pipeline Architecture Documentation
Inter Table Communications
A new inter-table communications extension has been added to allow tables to communicate between each other.
In this release this extension will be used to help with moving rows between tables, and to download multiple tables to one file.
In future this extension will be used to allow futher actions to be shared between tables.
Clipboard
With the new clipboard extension, you can now copy and paste data, into and out of the table, either with keyboard combinations or with new commands.
For more information checkout the Clipboard Documentation
Replace Data
The new replaceData function works like the setData function, except it silently replaces the data in the table, keeping the existing scroll position of the data. Ideal for refreshing lists etc.
For more information checkout the Manipulating Data Documentation
Progressive Ajax Loading
The new ajaxProgressiveLoad works with the ajax and pagination extensions to load large data sets in chunks rather than in one block, improving table load time.
It can either load all the data, sequentially in one go. or with scrolling mode, it can load the data as needed when the user scrolls down the table.
For more information checkout the Progressive Ajax Loading Documentation
Drag Rows Between Tables
With the new movableRowsConnectedTables option, you can now drag rows between different tables.
You can trigger actions on each table when the drag and drop occurs, as well as styling the sending and receiving tables.
For more information checkout the Movable Rows Documentation
Fit Columns Width Scalling
The fitColumns layout mode has been upgraded to allow for more customizable column resizing.
With the new widthGrow and widthShrink column definition objects you can set how much of the total freespace should be allocated to each column when the table is resized.
For more information checkout the Fit Columns Layout Documentation
Responsive Layout Column List Collapse
A new list collapse mode has been added to the responsive layout system.
Enabling this mode with the responsiveLayout option causes the values of hidden columns to be collapsed into a list under the row data.
This list can be fully customised and styled to meet the needs of your table.
For more information checkout the Responsive Layout Documentation
Complex Filtering
You can now use a nested array structure to build filter combinations with AND and OR logic.
For more information checkout the Filtering Documentation
Pagination
The pagination extension has had an overhaul to ensure more consistent rendering across all table configurations.
The new paginationAddRow option lets you decided how you would like new rows added to paginated data, to the start/end of the page or to the start/end of the table data.
The new paginationButtonCount setup option lets you choose how many pagination buttons are shown at the bottom of the table.
For more information checkout the Pagination Documentation
Downloads
The new sheets property on the xlsx downloader lets you download multiple tables into one spreadsheet.
The new sheetName property on the xlsx downlaoder lets you set the name of the sheet in the download.
There is a new pdf downloader, for creating a PDF from your table.
The new accessorDownload column definition property alows you to alter table data as it is downloaded into a file.
For more information checkout the Download Documentation
Mutators
The mutator extension has been rebuilt to allow greater flexibility, you can now create a different mutator for each access type.
There are now mutators available for setting data, editing data, and pasting data in from the clipboard.
The column component is now passed into a mutator function when the cell component is not available, for example on incomming data mutation.
For more information checkout the Mutator Documentation
Accessors
The mutator extension has been rebuilt to allow greater flexibility, you can now create a different accessor ator for each access type.
There are now accessors available for accessing data, downloading data and copying data to the clipboard.
The column component is now passed into the accessor function
For more information checkout the Accessor Documentation
Column Calculations
Column calculations can now use the columnCalcs option to be shown in group mode, for the table as a whole, or for both at the same time.
For more information checkout the Column Calculation Documentation
Column Groups
The getColumns function now takes an additional argument, that lets you get a structured array of column components, that includes column groups. you can then use the getSubColumns and getParentColumn functions to navigate the column struture.
Calling the show or hide functions on a column group component will show or hide all columns in that group.
Column Resizing
Columns can now have resing enabled and disabled on a per column basis, using the new resizable column definition propery.
Scroll To Row Improvements
The scrollToRow function now accepts additional arguments to allow you to align the row to the top, center or bottom of the table, and to not move if the row is already visible.
For more information checkout the Scroll To Row Documentation
Scroll To Column Improvements
The scrollToColumn function now accepts additional arguments to allow you to align the column to the left, center or right of the table, and to not move if the column is already visible.
For more information checkout the Scroll To Column Documentation
Formatter Updates
The progressFormatter now has a ledgendAlign paramter to allow horizontal alignment of the legend.
Global Cell Interaction Callbacks
There are now global callbacks for cell interaction events, including, cellClick, cellDblClick, cellContext, cellTap, cellDblTap and cellTapHold
For more information checkout the Callbacks Documentation
Sorting
You can now use the headerSortStartingDir option to set the default sort starting direction when a user first clicks on a column header.
An alignEmptyValues parameter has been added to every sorter to allow emty data to be foreced to the top or bottom of a sorted column
For more information checkout the Sorting Documentation
Tooltip Generation
You can now use the tooltipGenerationMode option to choose whether a tooltip should be generated when data is loaded into the table, or when a user overs over a cell.
Bootstrap 4 Style
A new table CSS stylesheet is available for Bootstrap 4, it can be found in /dist/css/bootstrap/bootstrap4.min.css
For more information checkout the CSS Classes & Theming Documentation
General System Tweaks
A number of small tweaks have been made to the system including:
- Group visibility toggling now works correctly when table is paginated and in classic render mode
- Remote pagination now loads correctly on table initialization
- Responsive layout mode now correctly takes into account the column visibility and column order
- The hideInHtml property now hides both header and column data in html output
- Cell component navigation commands now work correctly through column calculations and group headers
- The addData and updateOrAddData functions now return rowcomponents for the rows created.
- The rowSelectionChanged event is now correctly fired when the selection is cleared when data is set
- A typo in the resize binding for non-chrome browsers has been fixed
- Some table height issues in classic render mode have been resolved
- Ajax requests will now be loaded in sequence, if a new request is made, and previous requests will be discarded when they return
- Group column calculations and calculation formatters now update correctly when a cell in that group is edited
- The tick editor now works correctly in firefox on macs.
- A regression in 3.4.6 where deleting a row resulted in a blank line being left in the table, has now been fixed
- Row deletion no longer causes extra entry in history action list
- Row resizing is now disabled by default, to match documentation
- The persistent columns extension will now try to merge the stored columns with the new column layout if the column definitions have changed.
- Long column group names will no longer cause a rendering glitch if they exceed the width of the columns in the group
- A extra call to the dataLoaded callback when an ajax request was made has been removed.