@adaptabletools/adaptable
Version:
Powerful AG Grid extension which provides advanced, cutting-edge functionality to meet all DataGrid requirements
75 lines (74 loc) • 3.15 kB
TypeScript
import type { BaseContext } from '../AdaptableState/Common/BaseContext';
/**
* CSS Selector used to target elements by CSS selectors (e.g. class, attribute, etc.) rather than elementID
*/
export interface AdaptableCSSSelector {
/**
* CSS Selector that locates DOM element
*/
selector: string;
}
/**
* A resolved (non-function) container reference
*
* - `string` — an element ID (resolved via `document.getElementById`)
* - `AdaptableCSSSelector` — a CSS selector (resolved via `document.querySelector`)
* - `HTMLElement` — a direct reference to a DOM element
*/
export type AdaptableContainerValue = string | AdaptableCSSSelector | HTMLElement;
/**
* Context available to `adaptableContainer` and `agGridContainer` function callbacks (resolve **before** AdapTable initialises, so `adaptableApi` not available)
*/
export interface InitContainerContext {
/**
* Id of current AdapTable instance
*/
adaptableId: string;
/**
* Current Adaptable State Key
*/
adaptableStateKey: string;
/**
* Custom application Context provided in `AdaptableOptions.adaptableContext`
*/
adaptableContext: any;
}
/**
* Context available to `modalContainer`, `systemStatusContainer`, `alertContainer` and `transposedViewContainer` function callbacks
*/
export type ContainerContext = BaseContext;
/**
* Options for managing the different div elements required by AdapTable
*/
export interface ContainerOptions {
/**
* Div containing AdapTable; element Id, CSS Selector, HTMLElement, or function returning one of these
* @defaultValue "adaptable"
*/
adaptableContainer?: AdaptableContainerValue | ((context: InitContainerContext) => AdaptableContainerValue);
/**
* Div containing AG Grid instance; element Id, CSS Selector, HTMLElement, or function returning one of these.
* @defaultValue "grid"
*/
agGridContainer?: AdaptableContainerValue | ((context: InitContainerContext) => AdaptableContainerValue);
/**
* Name of div where popups appear;element Id, CSS Selector, HTMLElement, or function returning one of these
* @defaultValue undefined (centre of screen)
*/
modalContainer?: AdaptableContainerValue | ((context: ContainerContext) => AdaptableContainerValue);
/**
* Div to show System Status Messages; elementId, CSS Selector, HTMLElement, or function returning one of these
* @defaultValue undefined
*/
systemStatusContainer?: AdaptableContainerValue | ((context: ContainerContext) => AdaptableContainerValue);
/**
* Div to display Alerts; elementId, CSS Selector, HTMLElement, or function returning one of these
* @defaultValue undefined
*/
alertContainer?: AdaptableContainerValue | ((context: ContainerContext) => AdaptableContainerValue);
/**
* Div to render a Transposed View; elementId, CSS Selector, HTMLElement, or function returning one of these
* @defaultValue undefined (rendered in a draggable popup window)
*/
transposedViewContainer?: AdaptableContainerValue | ((context: ContainerContext) => AdaptableContainerValue);
}