ag-grid-community
Version:
Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue
28 lines (27 loc) • 1.51 kB
TypeScript
import type { NamedBean } from '../context/bean';
import { BeanStub } from '../context/beanStub';
import type { AgColumn } from '../entities/agColumn';
import type { AgColumnGroup } from '../entities/agColumnGroup';
import type { ColKey } from '../entities/colDef';
import type { ColumnEventType } from '../events';
import { SetPinnedWidthFeature } from '../gridBodyComp/rowContainer/setPinnedWidthFeature';
import type { HeaderRowContainerCtrl } from '../headerRendering/rowContainer/headerRowContainerCtrl';
import type { ColumnPinnedType } from '../interfaces/iColumn';
/** Minimum center viewport width (in px) reserved when pinned columns are present. */
export declare const MIN_CENTER_VIEWPORT_WIDTH = 50;
export declare class PinnedColumnService extends BeanStub implements NamedBean {
beanName: "pinnedCols";
private gridBodyCtrl;
leftWidth: number;
rightWidth: number;
postConstruct(): void;
private checkContainerWidths;
keepPinnedColumnsNarrowerThanViewport(): void;
createPinnedWidthFeature(isLeft: boolean, ...elements: (HTMLElement | undefined)[]): SetPinnedWidthFeature;
setColsPinned(keys: ColKey[], pinned: ColumnPinnedType, source: ColumnEventType): void;
initCol(column: AgColumn): void;
setColPinned(column: AgColumn, pinned: ColumnPinnedType): void;
setupHeaderPinnedWidth(ctrl: HeaderRowContainerCtrl): void;
getHeaderResizeDiff(diff: number, column: AgColumn | AgColumnGroup): number;
private getPinnedColumnsOverflowingViewport;
}