UNPKG

@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
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[]; }