Version 9 of AdapTable will be released on 28 June 2021.
This is a major release containing many improvements both to core functionality and to how AdapTable is accessed by developers.
This Upgrade Guide is "Work In Progress" and will be continually updated as we get closer to the release
The changes in Version 9 can be summarised as follows (full details are provided below):
Predefined Config now contains only objects which can change during Application run-time
Adaptable Options contains behaviour and functionality that will never change post-creation
Many new Events have been added to improve the ability to react to changes in Adaptable and ag-Grid
These include the new Adaptable State Changed Event which replaces - and improves on - Audit Log
The User Functions section has been removed, as all the functionality it contained is now available in Adaptable Options
The Adaptable Parser has had significant improvements, including:
Team Sharing has been enhanced:
- Offers Active Sharing where Shared Entities remain linked between users
- Where Shared Entities reference other objects, these too will be shared
Instantiating the Angular Wrapper has been simplified and improved
Signficant enhancements to key UI objects to ensure a better usability experience, including:
- Improvements to the Wizard and new common, re-usable UI objects (e.g.
- Cell Editors - Numeric Editor / Date Picker provided automatically when editing relevant cells
- Read-Only Cells so that editability can be set at individual cell level
2 Enhancements to the Finance Plugin:
Core functionality in AdapTable remains divided into discrete sets called Modules (previously 'Functions').
As before, these can have Entitlements set, in order to manage user accessibility.
As part of the move from 'Functions' to 'Modules', some Modules have merged. These include:
|Old Module||Merged Into|
|Gradient Column||Format Column|
|Percent Bars||Format Column|
Some Modules in version 9 of AdapTable support significantly enhanced functionality. These include:
Alerts have received a number of major enhancements in Version 9 including:
- Alerts can be triggered by Observable and Aggregation Expressions
- Flashing Cells and Updated Rows have been merged into Alerts as Flashing Alerts
- Cell Validation has been moved into Alerts as Prevent Edit Alerts
- Improved Alert Wizard makes it easier to create and manage Alert Definitions
- An Adaptable Form can be shown in an Alert with Buttons that perform actions when clicked
- Actions can be provided by Adaptable (e.g. undo, highlight cell, jump to cell) or by user
Conditional Style has these enhancements:
- A new Rule property to determine whether the Style should be displayed. It consists of either:
- Improved Conditional Style Wizard so creating Condtional Styles is much easier
Format Column has many new features including:
- Gradient Style - previously a separate Module but now a Numeric Cell Style option
- Percent Bar Style - previously a separate Module but now a Numeric Cell Style option
- Checkbox Columns - boolean columns can be displayed as a CheckBox
- Presets for common Display Formats
Free Text Column
Free Text Columns now have a
- Possible values are 'String', 'Number', 'Boolean' or 'Date'
- The default value is 'String'
- AdapTable provides a cell editor that is suitable for the data type (e.g. a date picker for 'Date' columns).
One of the most exciting new features in Adaptable V.9 is to Queries and Expressions.
The AdapTable parser is now able to run 2 reactive-type Expressions that provide users with a very powerful range of querying functionality.
Both of these Expression Types can be written at design-time or run-time, either by hand or using the Expression Editor
Observable Expressions react to changes (or lack of changes) in data, either per row or for whole grid.
This allows you to create expressions (and show alerts) for questions like:
- has this cell changed 3 times?
- is this the highest value its been today?
- has this not changed in the last 3 hours?
Aggregation Expressions provide a way to sum numeric columns and then perform queries against them.
For instance you can run a query (with an Alert) to say tell me if the total for the PnL column exceeds 50M in rows where Status is Active.
The Adaptable Parser continually offers additional functions - in response to new functionality and user requests.
Two of the new functions in Version 9 include:
- QUERY - enables you to provide a Named Query as an argument in an Expression
- WHERE - used in Observable and Aggregtion Expressions to limit the Data Set used
Team Sharing has some useful new features notably:
A key focus is Version 9 is to move settings that will only be configured at design-time into Adaptable Options, leaving Predefined Config containing just objects that can change at run-time.
To this end a number of new sections have been added, a few removed, and some have important new properties.
The new and renamed Adaptable Options sections are:
|Alert Options||Manages Alerts Notification settings and Flashing Alerts default properties|
|Dashboard Options||Replaces properties from Dashboard section in Predefined Config|
|Entitlements Options||Replaces Entitlements section in Predefined Config with identical functionality|
|Menu Options||Replaces Menu-related section in Predefined Config with improved functionality|
|System Status Options||Option for managing System Status Module|
|Search Options||Now contains all properties in previously separate Query and Filter Options|
Merged / Removed Options
Some sections in Adaptable Options are no longer required or have been merged into a common section. These include:
|Audit Options||Audit Log has been replaced by the superior Adaptable State Changed Event|
|Filter Options||Merged into Search Options - all functionality remains the same|
|Query Options||Merged into Search Options - all functionality remains the same|
Some Adaptable Options sections have important new properties that have been moved from elsewhere in AdapTable. These include:
|Export||Previously in Export section of Predefined Config|
|Export||Previously in Export section of Predefined Config|
|General||Previously CellSummary section of Predefined Config|
|General||Previously in Custom Sort section of Predefined Config|
|General||Previously Calendar section of Predefined Config|
|User Interface||Moved from User Interface State|
|User Interface||Moved from User Interface State|
|User Interface||Previously Action Column section of Predefined Config|
Action Columns now wrap an Adaptable Button and have been much simplified
As stated above some sections in Predefined Config have been removed for 2 reasons:
- Some sections which never change at run-time have been merged into Adaptable Options
- Some sections have been consolidated to reduce complexity and improve the user experience
Removed Config Sections
The full list of sections removed from Predefined Config is:
|Bulk Update||Current Bulk Update value now managed in Internal State|
|Calendar||Now set in General Options|
|Cell Summary||Now set in General Options|
|Entitlements||Now set in Entitlements Options|
|Flashing Cell||Merged into Alerts Module|
|Gradient Column||Merged into Format Column Module|
|Percent Bar||Merged into Format Column Module|
|Smart Edit||Current Smart Edit value now managed in Internal State|
|System Status||Now set in System Status Options|
|Updated Row||Merged into Alerts Module|
|User Interface||Primarily ported to User Interface Options|
Predefined Config that references old modules will be automatically merged by AdapTable into the new Module when the application next loads so developers don't need to port any Config.
Events have been improved significantly in v.9 both in terms of syntax and use cases
The FDC3-type messaging has been removed as has the 'xxxArgs' class for each Event.
Instead there is a single 'xxxInfo' class fired for each Event containing all that is useful.
Many Events have been added (or renamed) while others, which are now longer relevent, have been removed:
The new and renamed Events are:
|Adaptable State Changed||Any state changes in Adaptable: Replaces Audit Log|
|Cell Changed||Any cell in AdapTable is edited (either by user or ticking data)|
|Dashboard Changed||Any change is made to Dashboard toolbars, visibility, or mode|
|Flashing Alert Fired||a Flashing Alert is triggered|
|Layout Changed||A Layout changes (previously 'LayoutUpdated')|
|System Status Message Displayed||A System Status message is shown|
|Team Shared Entity Changed||An Active Shared Entity in Team Sharing has changed|
The removed Events are:
|Action Column Clicked||Action Column now uses Adaptable Buttons which has an `onClick' function|
|Layout Updated||Merged into new Layout Changed Event|
|Dashboard Button Clicked||Dasbhoard now uses Adaptable Buttons which has an `onClick' function|
|Toolbar Button Clicked||Tooolbars now contain Adaptable Buttons which has an `onClick' function|
|Toolbar Visibility Changed||Merged into Dashboard Changed Event|
|Validation Failed||Merged into Alert Fired Event|
State Changed Event
Perhaps the most significant new Event is the Adaptable State Changed Event.
This fires whenever any State changes in Adaptable, and provides full details of the change, specifies the action which triggered the change and contains 'before and after' state objects.
This event replaces - and vastly improves on - Audit Log which has been removed
This allows users to specify which changes to listen to, and to get full details of everything that has happened in the grid, whether user actions, cell edits, ticking data changes etc.
It is trivial to subscribe to this event and stream relevant changes to a destination of your choice giving you full, comprehesive Audit capability
One consequence of the consolidation of Modules and Adaptable Options (see above) is that Usser Functions are no longer required
All the functionality previously in User Functions is now available elsewhere in AdapTable as follows:
|Action Column Render||Action Column uses standard Adaptable Buttons|
|Action Column Should Render||Action Column uses standard Adaptable Buttons|
|Alert Button||Alert uses standard Adaptable Buttons|
|Cell Summary Operation||Cell Summaries are now provided in General Options|
|Custom Export Destination||Export Module now uses an Adaptable Form for Custom Destinations|
|Custom Report||Export Options has a |
|Custom Sort Comparer||Managed by the |
|Entitlement LookUp||Entitlements are now set in Entitlements Options|
|Get Column Values||Distinct column values can now be provided in User Interface Options|
|User Menu Item Clicked||Menu Options contains all functions needed to manage user menu items|
|User Menu Item Label||Menu Options contains all functions needed to manage user menu items|
|User Menu Item Show Predicate||Menu Options contains all functions needed to manage user menu items|
Version 9 simplifies the instantiation of AdapTable when using the Angular Wrapper.
Instead of 2 components being required, just the standard
ag-grid-angular component shoudl be provided.
This should be supplied with the
adaptableOptions property which will extend the grid with the AdapTable features.
Version 9 requires the use of Angular 10 or higher.
The User Interface in Adaptable has been simplified in Version 9 together with more common components.
We have created a new Adaptable Form which is dynamically generated when required.
This is now used in these places in AdapTable (with more to follow in the coming months):
- Custom Destination in Export displays a form allowing additional information to be provided
- Alert can contain a Form with Buttons to allow edits to be overriden or undone
Buttons are used in many places in AdapTable so these have all been consolidated to use a new Adaptable Button object.
This replaces many of the previous ad-hoc button implementations and is used in these Modules and Options:
Buttons contain 3 functions to be provided by users and invoked by AdapTable when required:
- onClick - what happens when the Button is clicked
- shouldRender - whether or not to display the Button
- buttonStyle - what style to give the Button
The standard Wizard used in many Module Popups has had a makeover with a number of enhancements:
- now runs verticially rather than horizontally better using screen estate
- allows you to navigate between steps using the mouse
- shows you why the wizard cannot move to next step or finish
- contains a summary screen with buttons to edit each section of the object
This is Work In Progress so any feedback on how this can be futher improved is appreciated.
AdapTable now provides 2 cell editors which will be automatically used when the cell is in edit mode:
If a cell editor is provided in Grid Options then, naturally, that will be used and not the AdapTable one
- Numeric Editor - only allows numbers and has arrows to move up and down
- Date Picker - a heavily stylable Date Picker providing a very full list of features
Editability can now be defined at the individual cell level via user-provided functions.
This new functionality combines nicely with the 2 new
readOnlyCellStyle properties in User Interface Options
Finance Plugin Columns
The Finance Plugin has 2 new Column types in Version 9 which can be provided at Design Time if required:
Weighted Average Columns
Weighted Average Columns will perform a Weighted Average aggregation - both when the Row is grouped or in Pivot Mode
It requires that the user provides a 2nd column which will also be used to perform the aggregation calculation
FDC3 Instrument Columns
Instrument Columns show a 'Broadcast Instrument' Menu Item which, when clicked, will broadcast an FDC3 Instrument message.