UNPKG

ag-grid-community

Version:

Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue

77 lines (76 loc) 3.61 kB
import type { IComponent } from '../../agStack/interfaces/iComponent'; import type { AgGridCommon } from '../../interfaces/iCommon'; import { Component } from '../../widgets/component'; export type OverlayType = 'loading' | 'noRows' | 'noMatchingRows' | 'exporting'; interface ProvidedOverlayUserParams { /** * Override the default text of the provided overlay. */ overlayText?: string; } export interface LoadingOverlayUserParams extends ProvidedOverlayUserParams { } export interface ExportingOverlayUserParams extends ProvidedOverlayUserParams { } export interface NoRowsOverlayUserParams extends ProvidedOverlayUserParams { } export interface NoMatchingRowsOverlayUserParams extends ProvidedOverlayUserParams { } export interface ILoadingOverlayParams<TData = any, TContext = any> extends AgGridCommon<TData, TContext> { /** * The default overlay the grid would show in the given state. */ overlayType: 'loading'; } export interface IExportingOverlayParams<TData = any, TContext = any> extends AgGridCommon<TData, TContext> { /** * The default overlay the grid would show in the given state. */ overlayType: 'exporting'; } export interface INoRowsOverlayParams<TData = any, TContext = any> extends AgGridCommon<TData, TContext> { /** * The default overlay the grid would show in the given state. */ overlayType: 'noRows'; } export interface INoMatchingRowsOverlayParams<TData = any, TContext = any> extends AgGridCommon<TData, TContext> { /** * The default overlay the grid would show in the given state. */ overlayType: 'noMatchingRows'; } /** * Parameters available to configure the provided overlays. */ export interface OverlayComponentUserParams { /** Parameters to customise the provided loading overlay. */ loading?: LoadingOverlayUserParams; /** Parameters to customise the provided no-rows overlay. */ noRows?: NoRowsOverlayUserParams; /** Parameters to customise the provided no-matching-rows overlay. */ noMatchingRows?: NoMatchingRowsOverlayUserParams; /** Parameters to customise the provided exporting overlay. */ exporting?: ExportingOverlayUserParams; } export type IOverlayParams<TData = any, TContext = any> = ILoadingOverlayParams<TData, TContext> | IExportingOverlayParams<TData, TContext> | INoRowsOverlayParams<TData, TContext> | INoMatchingRowsOverlayParams<TData, TContext>; export interface IOverlay<TData = any, TContext = any, TParams extends Readonly<IOverlayParams<TData, TContext>> = IOverlayParams<TData, TContext>> { /** * Gets called when the `overlayComponentParams` grid option is updated */ refresh?(params: TParams): void; } export interface IOverlayComp<TData = any, TContext = any, TParams extends Readonly<IOverlayParams<TData, TContext>> = IOverlayParams<TData, TContext>> extends IComponent<TParams>, IOverlay<TData, TContext, TParams> { } export declare abstract class OverlayComponent<TData = any, TContext = any, TParams extends Readonly<IOverlayParams<TData, TContext>> = IOverlayParams<TData, TContext>> extends Component implements IOverlayComp<TData, TContext, TParams> { constructor(); abstract init(params: IOverlayParams): void; } export type OverlaySelectorFunc<TData = any, TContext = any> = (params: IOverlayParams<TData, TContext>) => OverlaySelectorResult | undefined; export interface OverlaySelectorResult { /** Equivalent of setting `gridOptions.overlayComponent`. */ component?: any; /** Equivalent of setting `gridOptions.overlayComponentParams` */ params?: any; } export {};