@adaptabletools/adaptable
Version:
Powerful data-agnostic HTML5 AG Grid extension which provides advanced, cutting-edge functionality to meet all DataGrid requirements
275 lines (274 loc) • 8.68 kB
TypeScript
import { ContainerOptions } from './ContainerOptions';
import { LayoutOptions } from './LayoutOptions';
import { InitialState } from '../AdaptableState/InitialState';
import { EditOptions } from './EditOptions';
import { StateOptions } from './StateOptions';
import { UserInterfaceOptions } from './UserInterfaceOptions';
import { AdaptablePlugin } from './AdaptablePlugin';
import { ExportOptions } from './ExportOptions';
import { TeamSharingOptions } from './TeamSharingOptions';
import { EntitlementOptions } from './EntitlementOptions';
import { NotificationsOptions } from './NotificationsOptions';
import { DashboardOptions } from './DashboardOptions';
import { ToolPanelOptions } from './ToolPanelOptions';
import { DataChangeHistoryOptions } from './DataChangeHistoryOptions';
import { SettingsPanelOptions } from './SettingsPanelOptions';
import { FlashingCellOptions } from './FlashingCellOptions';
import { AlertOptions } from './AlertOptions';
import { ExpressionOptions } from './ExpressionOptions';
import { ColumnOptions } from './ColumnOptions';
import { ChartingOptions } from './ChartingOptions';
import { ActionColumnOptions } from './ActionColumnOptions';
import { CustomSortOptions } from './CustomSortOptions';
import { DataSetOptions } from './DataSetOptions';
import { CellSummaryOptions } from './CellSummaryOptions';
import { CalendarOptions } from './CalendarOptions';
import { QuickSearchOptions } from './QuickSearchOptions';
import { FormatColumnOptions } from './FormatColumnOptions';
import { Fdc3Options } from './Fdc3Options';
import { NoteOptions } from './NoteOptions';
import { PredicateOptions } from './PredicateOptions';
import { DataImportOptions } from './DataImportOptions';
import { CommentOptions } from './CommentOptions';
import { ColumnMenuOptions } from './ColumnMenuOptions';
import { ContextMenuOptions } from './ContextMenuOptions';
import { FilterOptions } from './FilterOptions';
import { RowFormOptions } from './RowFormOptions';
/**
* Large group of options enabling developers to set up AdapTable at design time to fit precise requirements
*/
export interface AdaptableOptions<TData = any, TContext = Record<string, any>> {
/**
* Identifier for this instance of AdapTable
*
* @defaultValue 'adaptable_id_${random_number}'
* @gridInfoItem
* @noCodeItem
*/
adaptableId?: string;
/**
* Identifier used as localStorage persistence key for AdaptableState
*
* @defaultValue `adaptableId` value
* @gridInfoItem
*/
adaptableStateKey?: string;
/**
* Will autogenerate a Primary Key; only use as a last resort if no unique column is available, as limits some Adaptable functionalities
*
* @defaultValue false
* @gridInfoItem
*/
autogeneratePrimaryKey?: boolean;
/**
* Commercial license key. If the license is not provided or is expired, various visual information notes will be displayed and some functionality may be limited.
*/
licenseKey?: string;
/**
* Application-specific context object - is included by AdapTable in all callbacks and Events
*/
adaptableContext?: TContext;
/**
* Initial State set at design-time and shipped with AdapTable for first use; must include at least one Layout
*
* @defaultValue undefined
*/
initialState: InitialState;
/**
* Name of Column in AdapTable guaranteed to contain unique values
*
* @defaultValue n/a (Mandatory)
* @gridInfoItem
*/
primaryKey: string;
/**
* Name of current AdapTable user
*
* @defaultValue 'anonymous'
* @gridInfoItem
*/
userName?: string;
/**
* Options for managing Action Columns
*/
actionColumnOptions?: ActionColumnOptions<TData>;
/**
* Options for managing Row Forms
*/
rowFormOptions?: RowFormOptions<TData>;
/**
* Options for managing Alerts in AdapTable
*
* @gridInfoContainer
* @noCodeContainer
*/
alertOptions?: AlertOptions<TData>;
/**
* Options for managing Holidays and Working Days
*/
calendarOptions?: CalendarOptions;
/**
* Options for adding custom Cell Summaries
*/
cellSummaryOptions?: CellSummaryOptions<TData>;
/**
* Options for managing AG Grid's Charting
* @noCodeContainer
*/
chartingOptions?: ChartingOptions;
/**
* Options related to Columns
* @noCodeContainer
*/
columnOptions?: ColumnOptions;
/**
* Options for managing AdapTable Column Menu
*
* @gridInfoContainer
*/
columnMenuOptions?: ColumnMenuOptions<TData>;
/**
* Options for managing collaborative Comments
*/
commentOptions?: CommentOptions<TData>;
/**
* Options for setting the 'Div' elements in which AdapTable, AG Grid, popups are placed
*/
containerOptions?: ContainerOptions;
/**
* Options for managing AdapTable Context Menu
*
* @gridInfoContainer
*/
contextMenuOptions?: ContextMenuOptions<TData>;
/**
* Options for using Custom Sort
*/
customSortOptions?: CustomSortOptions;
/**
* Options for managing the Dashboard in AdapTable
*
* @gridInfoContainer
* @noCodeContainer
*/
dashboardOptions?: DashboardOptions;
/**
* Options to manage Data Change History Module which provides an overview of all data changes
*
* @gridInfoContainer
* @noCodeContainer
*/
dataChangeHistoryOptions?: DataChangeHistoryOptions<TData>;
/**
* Options for managing the Data Import function
*/
dataImportOptions?: DataImportOptions;
/**
* Options to manage Data Sets
*/
dataSetOptions?: DataSetOptions<TData>;
/**
* Options related to Editing in AdapTable including Server Validation
*
* @gridInfoContainer
*/
editOptions?: EditOptions<TData>;
/**
* Options for managing Entitlements
*
* @gridInfoContainer
*/
entitlementOptions?: EntitlementOptions;
/**
* Options for managing Exporting and Reports in AdapTable
*
* @gridInfoContainer
*/
exportOptions?: ExportOptions<TData>;
/**
* Options for managing AdapTableQL Expressions
* @noCodeContainer
*/
expressionOptions?: ExpressionOptions<TData>;
/**
* Options for managing FDC3 in AdapTable
*/
fdc3Options?: Fdc3Options;
/**
* Options for managing Flashing Cells - primarily default values
*
* @gridInfoContainer
*/
flashingCellOptions?: FlashingCellOptions;
/**
* Options for providing Custom Display Formats
*/
formatColumnOptions?: FormatColumnOptions;
/**
* Filtering Options - both Column Filters and the Grid Filter
*/
filterOptions?: FilterOptions<TData>;
/**
* Options related to Layouts
*
* @gridInfoContainer
* @noCodeContainer
*/
layoutOptions?: LayoutOptions;
/**
* Options for managing personal Notes
*/
noteOptions?: NoteOptions;
/**
* Options for managing Notifications in AdapTable
*
* @gridInfoContainer
* @noCodeContainer
*/
notificationsOptions?: NotificationsOptions;
/**
* Options for managing Predicates in AdapTableQL
*/
predicateOptions?: PredicateOptions;
/**
* Options for managing Search related functions in AdapTable
*
* @gridInfoContainer
* @noCodeContainer
*/
quickSearchOptions?: QuickSearchOptions<TData>;
/**
* Setting panel options
*
* @gridInfoContainer
* @noCodeContainer
*/
settingsPanelOptions?: SettingsPanelOptions;
/**
* Options related to state hydration / dehydration - allows users to intercept state persistence and state loading and change default behaviour of saving to local storage
*/
stateOptions?: StateOptions;
/**
* Options for managing 'Team Sharing' which allows users to create Adaptable Objects and share with colleagues
*
* @gridInfoContainer
*/
teamSharingOptions?: TeamSharingOptions;
/**
* Options related to managing the Tool Panel elements in AdapTable
*
* @gridInfoContainer
* @noCodeContainer
*/
toolPanelOptions?: ToolPanelOptions;
/**
* Options for managing the User Interface elements of AdapTable, i.e. Action Columns, Color Palette etc.
*
* @gridInfoContainer
*/
userInterfaceOptions?: UserInterfaceOptions<TData>;
/**
* Used for managing the AdapTable Plugins
*/
plugins?: AdaptablePlugin[];
}