Most of the functionality in AdapTable is organised through 'Modules'.
A Module is essentially a set of discrete functionality e.g. 'CustomSort', 'Filter', 'SmartEdit' etc. which users will interact with as required.
Use Entitlements to set Modules you don't need to 'Hidden' or don't want users to touch to 'ReadOnly'
The full list of Modules in AdapTable is:
|Alerts||Get notified when things happen in Adaptable that you need to know about|
|Bulk Update||Update multiple cell simultaneously with a new or existing value|
|Calculated Column||Create bespoke columns whose cell value is derived dynamically from an Expression|
|Cell Summary||See summary information on a group of cells using multiple summary operations|
|Change History||Show a list of recent Cell Edits and Ticking Data changes with option to undo|
|Conditional Style||Style columns and rows dynamically based on rules and cell values|
|Custom Sort||Provide bespoke sorting information for Columns (in place of alphabetical sorting)|
|Data Source||Update the entire data set in AdapTable using pre-populated data sources|
|Export||Export data from the Grid to numerous locations in numerous formats|
|Filter||Advanced filtering capability allows users to see precisely the data they want|
|Format Column||Create a column style, display format or cell alignment|
|FreeText Column||Dynamic column showing custom content (stored in state and not with grid data)|
|Grid Info||Display information about the Grid, the Options selected and all columns|
|Layout||Named sets of column visibility, order, groupings, aggregation, pivots etc.|
|Plus Minus||Configure how a cell value will edit when the + or - keys are pressed|
|Query||Run real-time text-based queries using a wealth of powerful functions and operators|
|Quick Search||Quickly highlight all cells in the grid that contain matching query text|
|Schedule||Schedule AdapTable functionality to run at times of your choosing (e.g. run reports)|
|Shortcut||Set up rules so cells update mathematically when keys are pressed in numeric cells|
|Smart Edit||Edit groups of numeric cells using mathematical operations (e.g. Multiply by 10)|
|State Management||Manages Adaptable State, User State and Predefined Config|
|System Status||Provide messages about the Status of your application|
|Theme||Theme AdapTable with a colour configuration set of your choosing|
There are numerous ways in which end-Users can interact with AdapTable Modulea in the AdapTable UI:
Most Modules have a dedicated Popup Screen. Modules that contain an array of items (e.g.
ConditionalStyle) will typically display these in a table with buttons to add / edit. These items are created / edited via a Wizard which provides step-by-step way to edit the sometimes complex objects that can be created.
Modules which perform actions (e.g SmartEdit, BulkUpdate) will contain UI controls to allow the Module to be used.
Some Modules - e.g. Layouts, Reports, Quick Search - provide Dashboard Toolbars which offer easy access to required functionality.
AdapTable Modules can also provide ToolPanels to be hosted in the AdapTable ToolPanel (at the side of the grid). Like toolbars, these provide ready access to common functionality (the same Modules generally provide both).
This table lists all the Modules and which UI elements they support.
AdapTable Modules UI Components
|Adaptable Module||Wizard||Toolbar||Tool Panel||Column Menu||Context Menu|
|Module||Wizard||Toolbar||Tool Panel||Column Menu||Context Menu|
All Modules are subject to Entitlements (aka permissions).
This means that end-users will only be able to access a Module according to whether it has been given an Entitlement of Full, ReadOnly or Hidden.
Predefined Config / State
Design-time Users are able to pre-populate AdapTable with Predefined Config - this is the AdapTable State that will be available when the application first loads.
Nearly every Module has its own section / property in PredefinedConfig which will be the same as the ModuleName (e.g. 'CustomSort').
There are many sections in Predefined Config most which are Module-related.
Each AdapTable Module has a
This allows you to easily reference Adaptable Modules when creating Predefined Config as they will appear in a dropdown as you type.
The Friendly Name can be changed via the
alternativeModuleNames property in General Options
Scope specifies where an Adaptable Object in a Module can be applied.
It has 3 main values:
- All - This will include every Column in a Row
- Column(s) - An array of ColumnIds
- DataType(s) - An array of Data Types (available values are: 'Boolean', 'Number', 'Date', 'String')
Modules Using Scope
The Scope object has been included in a number of Modules including:
This means that it is now possible to create a Conditional Style for all Numeric columns (e.g. Green Font for Positive values) with a single step.
It is very straightforward to set Scope in Predefined Config:
To set a Scope of All you need to set 'All' to true as follows:
To set a Scope on one or more ColumnIds, simply provide an array of values:
Scope: Data Types
To set a Scope of one or more Data Types, provide an array of values:
Scope: Multiple Sections
It is possible - albeit rare - to include both DataType and ColumnIds in Scope.
For instance if you wanted a Conditional Style to paint all Date Columns plus 3 string columns you could do:
This section of Adaptable API contains a number of methods for managing Scope.
|createCellColorRangesForScope(scope)||Creates Cell Color Ranges (used in Format Column) for given Scope|
|getColumnIdsInScope(scope)||Returns all the ColumnIds in the Scope|
|getColumnsForScope(scope)||Returns list of all Columns in the given Scope|
|getDataTypesInScope(scope)||Returns all the DataTypes in the Scope|
|getScopeDescription(scope)||Provides a description for the Scope|
|getScopeToString(scope)||Gets string representation of the Scope|
|getSingleColumnInScope(scope)||Gets the only Column in given Scope|
|isColumnInDateScope(column, scope)||True if Scope has Data DataType which contains Column|
|isColumnInNumericScope(column, scope)||True if Scope has Numeric DataType containing Column|
|isColumnInScope(column, scope)||True if Column is in given Scope|
|isColumnInScopeColumns(column, scope)||True if Column is in Scope's 'ColumnIds' section|
|isColumnInStringsScope(column, scope)||True if Scope has String DataType containing Column|
|isPrimaryKeyColumnInScopeColumns(scope)||Whether PK column is included in Scope's column section|
|isScopeInScope(scopeA, scopeB)||True if first scope is in second Scope|
|isSingleBooleanColumnScope(scope)||True if Scope contains just 1 boolean Column|
|isSingleColumnScope(scope)||True if Scope contains just 1 ColumnId|
|isSingleNumericColumnScope(scope)||True if Scope contains just 1 numeric Column|
|scopeHasColumns(scope)||True if Scope contains ColumnIds|
|scopeHasDataType(scope)||True if Scope contains DataTypes|
|scopeIsAll(scope)||True if Scope is 'All'|
|scopeIsEmpty(scope)||True if Scope is empty|
AdapTable Objects created in Modules operate, and are available, immediately after they are created.
This applies whether they're provided at design-time via Predefined Config or created at run-time in the UI
And - depending on Entitlements - they can be edited and deleted.
Can we hide particular Modules from our users as they are not relevant (i.e. we are a readonly grid so don't require Smart Edit or Shortcuts Modules)?
Yes, you can use Entitlements to set which Modules are available to each user, and whether they are hidden, editable or readonly.
Do you plan to add more Modules?
Yes, we continually add more Modules, primarily in response to suggestions and ideas submitted by our Users.
Can I change the Name of the Dashboard Module as we already have a Dashboard section in our application?
Yes, use the the
alternativeModuleNames property in General Options which allows you provide an alternative name for a Module and will used whenever the Module name is displayed.