@adaptabletools/adaptable
Version:
Powerful data-agnostic HTML5 AG Grid extension which provides advanced, cutting-edge functionality to meet all DataGrid requirements
148 lines (147 loc) • 4.32 kB
TypeScript
import { AdaptableIcon } from '../AdaptableState/Common/AdaptableIcon';
import { DateInputOptions } from './DateInputOptions';
import { AdaptableObjectTag } from '../AdaptableState/Common/AdaptableObject';
import { AdaptableStyle } from '../AdaptableState/Common/AdaptableStyle';
import { AlternativeModuleName, BaseContext } from '../../types';
/**
* Options for managing the User Interface of AdapTable
*/
export interface UserInterfaceOptions<TData = any> {
/**
* Show Mac-like scrollbars; size is configurable via CSS variable `--ab-custom-scrollbar-size` (default: `10px`)
*
* @defaultValue false
* @gridInfoItem
*/
useCustomMacLikeScrollbars?: boolean;
/**
* The application icon to appear in Dashboard and elsewhere (e.g. in Notifications)
*
* @defaultValue null
*/
applicationIcon?: AdaptableIcon;
/**
* Bespoke icons that can be used in AdapTable (e.g. Badge Styles and Buttons)
*/
customIcons?: CustomIcon[];
/**
* Options for managing and customizing date inputs in AdapTable
*/
dateInputOptions?: DateInputOptions;
/**
* Colours to display in Colour Picker (in place of AdapTable's default set); can be hardcoded list or function
*/
colorPalette?: string[] | ((currentTheme: string) => string[]);
/**
* Style to set for editable Cells
*/
editableCellStyle?: AdaptableStyle;
/**
* Style to set for non-editable Cells
*/
readOnlyCellStyle?: AdaptableStyle;
/**
* Style to set for Cells which have been edited
*/
editedCellStyle?: AdaptableStyle;
/**
* Optional list of CSS styles that can be used when creating Adaptable Styles in Adaptable (e.g. in Format Column and other Modules)
*
* @gridInfoItem
*/
styleClassNames?: string[];
/**
* Optional list of AdaptableObjectTags that can be associated with AdaptableObjects
*/
objectTags?: AdaptableObjectTag[] | ((context: ObjectTagsContext) => AdaptableObjectTag[]);
/**
* Provide links to AdapTable documentation (in Module popups and Expression Editor)
*
* @defaultValue true
* @gridInfoItem
*/
showDocumentationLinks?: boolean;
/**
* Displays the AdapTable version in Grid Info section of Settings Panel
*
* @defaultValue true
* @gridInfoItem
*/
showAdapTableVersion?: boolean;
/**
* Displays the AG Grid version in Grid Info section of Settings Panel
*
* @defaultValue true
* @gridInfoItem
*/
showAgGridVersion?: boolean;
/**
* English variant to use in AdapTable UI
*
* @defaultValue 'GB'
* @gridInfoItem
*/
englishVariant?: 'GB' | 'US';
/**
* Hides confirmation dialog which displays whenever an AdaptableObject is deleted
* @defaultValue false
* @noCodeItem
*/
disableDeleteConfirmation?: boolean;
/**
* Alternative names to use for Adaptable Modules in the UI
*
* @defaultValue null
*/
alternativeModuleNames?: AlternativeModuleName[];
/**
* Options for showing Loading Screen (during initialisation)
*/
loadingScreenOptions?: LoadingScreenOptions;
}
/**
* Options for the Loading Screen shown when AdapTable is initialising
*/
export interface LoadingScreenOptions<TData = any> {
/**
* Display Loading message when AdapTable initialises
* @defaultValue true
* @noCodeItem
*/
showLoadingScreen?: boolean;
/**
* Delay in ms before Loading Screen appears (`showLoadingScreen` must be true)
*
* @defaultValue 200
*/
loadingScreenDelay?: number;
/**
* Title to display in Loading Screen.
* @defaultValue 'Initialising Grid'
*/
loadingScreenTitle?: string;
/**
* Text to display in Loading Screen.
*
* @defaultValue 'Retrieving your settings and setting up Grid...'
*/
loadingScreenText?: string;
}
/**
* Context used when evaluating Object Tags
*/
export interface ObjectTagsContext extends BaseContext {
}
/**
* Defines a bespoke Icon provided by a developer
*/
export interface CustomIcon {
/**
* Name of Icon
*/
name: string;
/**
* AdapTable Icon definition
*/
icon: AdaptableIcon;
}