ag-grid-community
Version:
Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue
65 lines (64 loc) • 3.21 kB
TypeScript
import { BeanStub } from '../../context/beanStub';
import type { RowCtrl } from '../../rendering/row/rowCtrl';
import type { RowRenderer } from '../../rendering/rowRenderer';
import type { SpannedRowRenderer } from '../../rendering/spanning/spannedRowRenderer';
import { ViewportSizeFeature } from '../viewportSizeFeature';
/** @internal AG_GRID_INTERNAL - Not for public use. Can change / be removed at any time. */
export type RowContainerName = 'scrolling' | 'pinnedTop' | 'pinnedBottom' | 'stickyTop' | 'stickyBottom';
/** @internal AG_GRID_INTERNAL - Not for public use. Can change / be removed at any time. */
export type RowContainerType = 'center';
type GetRowCtrls = (renderer: RowRenderer) => RowCtrl[];
type GetSpannedRowCtrls = (renderer: SpannedRowRenderer) => RowCtrl[];
/** @internal AG_GRID_INTERNAL - Not for public use. Can change / be removed at any time. */
export type RowContainerOptions = {
type: RowContainerType;
name: string;
getRowCtrls: GetRowCtrls;
getSpannedRowCtrls?: GetSpannedRowCtrls;
};
/** @internal AG_GRID_INTERNAL - Not for public use. Can change / be removed at any time. */
export declare function _getRowContainerClass(name: RowContainerName): `ag-${string}`;
/** @internal AG_GRID_INTERNAL - Not for public use. Can change / be removed at any time. */
export declare function _getRowSpanContainerClass(name: RowContainerName): `ag-${string}-spanned-cells-container`;
/** @internal AG_GRID_INTERNAL - Not for public use. Can change / be removed at any time. */
export declare function _getRowContainerOptions(name: RowContainerName): RowContainerOptions;
/** @internal AG_GRID_INTERNAL - Not for public use. Can change / be removed at any time. */
export interface IRowContainerComp {
setRowCtrls(params: {
rowCtrls: RowCtrl[];
useFlushSync?: boolean;
}): void;
setSpannedRowCtrls(rowCtrls: RowCtrl[], useFlushSync: boolean): void;
setDomOrder(domOrder: boolean): void;
setContainerWidth(width: string): void;
setOffsetTop(offset: string): void;
setHidden(hidden: boolean): void;
}
/** @internal AG_GRID_INTERNAL - Not for public use. Can change / be removed at any time. */
export declare class RowContainerCtrl extends BeanStub {
private readonly name;
private readonly options;
private comp;
eContainer: HTMLElement;
eViewport: HTMLElement;
viewportSizeFeature: ViewportSizeFeature | undefined;
private readonly EMPTY_CTRLS;
constructor(name: RowContainerName);
postConstruct(): void;
private onStickyTopOffsetChanged;
private registerWithCtrlsService;
private isScrollingCenterContainer;
private isContainer;
setComp(view: IRowContainerComp, eContainer: HTMLElement, eSpannedContainer: HTMLElement | undefined, eViewport: HTMLElement): void;
private updateContainerWidth;
private addListeners;
private listenOnDomOrder;
onDisplayedColumnsChanged(): void;
private addPreventScrollWhileDragging;
registerViewportResizeListener(listener: () => void): void;
isViewportInTheDOMTree(): boolean;
setContainerHeight(height: number): void;
setContainerTop(top: number): void;
private onDisplayedRowsChanged;
}
export {};