Adaptable Options Reference
Summary
- Adaptable Options are configuration properties provided by developers at Design-Time
- They are designed to help developers set up AdapTable to fit their precise requirements
- Adaptable Options includes many properties and options sets including:
- options to manage Searches, Column Filters, Layouts, Editing etc.
- configuration settings for the AdapTable UI: Settings Panel, Dashboard, Tool Panel etc.
- advanced Grid functionality like AdapTableQL, Team Sharing, Menus, Entitlements & State Management
- any Initial Adaptable State required for first-time application use
- many other grouped sets of options required to ensure a full, rich user experience
- Run-time access to Adaptable Options is available via
Options APIon the Adaptable API
AdaptableOptions is the only object created that AdapTable requires to initialise and run.
It is set up by developers at design-time and passed into the AdapTable constructor at startup.
Caution
- Adaptable Options contains behaviour and functionality that will never change at run-time.
- Initial Adaptable State contains objects that users can amend and delete through the AdapTable UI.
The AdaptableOptions class consists of a few 'base' properties and a number of xxxOptions properties which are themselves collections of related properties (e.g. Search, Layout).
Hint
- Typically you will only need to populate a few of the properties in base AdaptableOptions
- And you will likely only require a few of the properties in some of the xxxOptions classes.
Find Out More
For the complete generated property list (every root field and xxxOptions type), see AdaptableOptions in the API reference.
Any property that is not supplied by the user when populating the object, will use the default value which is the most sensible and popular option.
Adaptable Options Contents
Plugin Options
| Plugin Options Section | Details |
|---|---|
| interop Plugin Options | Options for when using the interop.io Plugin |
| ipushpull Plugin Options | Options for when using the ipushpull Plugin |
| OpenFin Plugin Options | Options for when using the OpenFin Plugin |
| Master Detail Plugin Options | Options for creating Master Detail Grids |
| No Code Plugin | Options for the No Code edition and data-source wizard |
Base Options
Base Options are the properties in the root of Adaptable Options that are not grouped into a section.
Hint
- These are generally the more important options that need to be set
- You should try to provide values for each of these properties
The properties in the root of Adaptable Options include:
| Base Options Property | Description | Mandatory |
|---|---|---|
| primaryKey | Column containing only unique values, used to identify rows | ✅ |
| autogeneratePrimaryKey | Primary key generated dynamically (if no suitable column) | |
| initialState | AdapTable State designed for first-time use in the application | ✅ |
| adaptableId | Name for this AdapTable instance | |
| adaptableStateKey | Identifier for AdapTable State (used with local storage) | |
| licenseKey | Key required for every commercial AdapTable instance | |
| userName | Name of the current user | |
| adaptableContext | Bepsoke Application context included in callbacks & events | |
plugins | Array of AdaptablePlugin instances (see Plugin Options) |
Function Properties Context
Each section in AdapTable Options is made up of a mix of 2 elements:
- properties that require a value which is a primitive data type (i.e. a string, number, date or boolean)
- properties that require custom functions to supplied (which will return the required value)
Hint
Many properties can be of either element, e.g. can be a string or a function that returns a string
Nearly all functions used by AdapTable Options take a single object as the argument.
This object is usually named xxxContext, and contains function-specific data.
Note
This is very similar to the xxxParams pattern used by AG Grid
Each context object derives from BaseContext object which contains 3 properties:
| Property | Type | Description |
|---|---|---|
| adaptableApi | AdaptableApi | Adaptable Api object |
| adaptableContext | any | Custom application Context provided in AdaptableOptions.adaptableContext |
| adaptableId | string | Id of current AdapTable instance |
| adaptableStateKey | string | Current Adaptable State Key |
| clientTimestamp | Date | Time on user's computer |
| userName | string | Name of Current User |
Run-Time Access
AdapTable makes run time access to Adaptable Options available via Options API in Adaptable API:
The full set of convenience functions to enable easy access to Adaptable Options properties is:
| Method | Returns | Description |
|---|---|---|
| addToAdaptableContext(key, value) | void | Adds a key-value pair to the AdaptableContext |
| clearAdaptableContext() | void | Clears all key-value pairs from the AdaptableContext |
| getActionColumnOptions() | Readonly<ActionColumnOptions> | Returns AdaptableOptions.actionColumnOptions |
| getAdaptableContext() | TContext | Returns AdaptableOptions.adaptableContext |
| getAdaptableId() | string | Returns AdaptableOptions.adaptableId |
| getAdaptableOptions() | Readonly<AdaptableOptions> | Returns provided AdaptableOptions |
| getAdaptableStateKey() | string | Returns AdaptableOptions.adaptableStateKey |
| getAlertOptions() | Readonly<AlertOptions> | Returns AdaptableOptions.alertOptions |
| getCalendarOptions() | Readonly<CalendarOptions> | Returns AdaptableOptions.calendarOptions |
| getCellSummaryOptions() | Readonly<CellSummaryOptions> | Returns AdaptableOptions.cellSummaryOptions |
| getChartingOptions() | Readonly<ChartingOptions> | Returns AdaptableOptions.chartingOptions |
| getColumnMenuOptions() | Readonly<ColumnMenuOptions> | Returns AdaptableOptions.columnMenuOptions |
| getColumnOptions() | Readonly<ColumnOptions> | Returns AdaptableOptions.columnOptions |
| getCommentOptions() | Readonly<CommentOptions> | Returns AdaptableOptions.commentOptions |
| getContainerOptions() | Readonly<ContainerOptions> | Returns AdaptableOptions.containerOptions |
| getContextMenuOptions() | Readonly<ContextMenuOptions> | Returns AdaptableOptions.contextMenuOptions |
| getCustomSortOptions() | Readonly<CustomSortOptions> | Returns AdaptableOptions.customSortOptions |
| getDashboardOptions() | Readonly<DashboardOptions> | Returns AdaptableOptions.dashboardOptions |
| getDataChangeHistoryOptions() | Readonly<DataChangeHistoryOptions> | Returns AdaptableOptions.dataChangeHistoryOptions |
| getDataImportOptions() | Readonly<DataImportOptions> | Returns AdaptableOptions.dataImportOptions |
| getDataSetOptions() | Readonly<DataSetOptions> | Returns AdaptableOptions.dataSetOptions |
| getEditOptions() | Readonly<EditOptions> | Returns AdaptableOptions.editOptions |
| getEntitlementOptions() | Readonly<EntitlementOptions> | Returns AdaptableOptions.entitlementOptions |
| getExportOptions() | Readonly<ExportOptions> | Returns AdaptableOptions.exportOptions |
| getExpressionOptions() | Readonly<ExpressionOptions> | Returns AdaptableOptions.expressionOptions |
| getFdc3Options() | Readonly<Fdc3Options> | Returns AdaptableOptions.fdc3Options |
| getFilterOptions() | Readonly<FilterOptions> | Returns AdaptableOptions.filterOptions |
| getFlashingCellOptions() | Readonly<FlashingCellOptions> | Returns AdaptableOptions.flashingCellOptions |
| getFormatColumnOptions() | Readonly<FormatColumnOptions> | Returns AdaptableOptions.formatColumnOptions |
| getLayoutOptions() | Readonly<LayoutOptions> | Returns AdaptableOptions.layoutOptions |
| getLicenseKey() | string | Returns AdaptableOptions.licenseKey |
| getNoteOptions() | Readonly<NoteOptions> | Returns AdaptableOptions.noteOptions |
| getNotificationsOptions() | Readonly<NotificationsOptions> | Returns AdaptableOptions.notificationsOptions |
| getPredicateOptions() | Readonly<PredicateOptions> | Returns AdaptableOptions.predicateOptions |
| getPrimaryKey() | string | Returns AdaptableOptions.primaryKey |
| getQuickSearchOptions() | Readonly<QuickSearchOptions> | Returns AdaptableOptions.quickSearchOptions |
| getRowFormOptions() | Readonly<RowFormOptions> | Returns AdaptableOptions.rowFormOptions |
| getSettingsPanelOptions() | Readonly<SettingsPanelOptions> | Returns AdaptableOptions.settingsPanelOptions |
| getStateOptions() | Readonly<StateOptions> | Returns AdaptableOptions.stateOptions |
| getTeamSharingOptions() | Readonly<TeamSharingOptions> | Returns AdaptableOptions.teamSharingOptions |
| getToolPanelOptions() | Readonly<ToolPanelOptions> | Returns AdaptableOptions.toolPanelOptions |
| getUserInterfaceOptions() | Readonly<UserInterfaceOptions> | Returns AdaptableOptions.userInterfaceOptions |
| getUserName() | string | Returns AdaptableOptions.userName |
| isAutogeneratePrimaryKey() | boolean | Returns AdaptableOptions.autogeneratePrimaryKey |
| removeFromAdaptableContext(key) | void | Removes a key from the AdaptableContext |
TypeScript Generics
Adaptable Options fully supports TypeScript Generics.
This allows for improved type safety and developer experience by providing the row data type to the Adaptable Options definition.
Hint
This integrates seamlessly with the AG Grid TypeScript Generics for Row Data