UNPKG

ag-grid-community

Version:

Advanced Data Grid / Data Table supporting Javascript / React / AngularJS / Web Components

302 lines (301 loc) 14 kB
import { ColumnGroup } from '../entities/columnGroup'; import { Column } from '../entities/column'; import { ColDef, ColGroupDef, IAggFunc } from '../entities/colDef'; import { ColumnGroupChild } from '../entities/columnGroupChild'; import { OriginalColumnGroupChild } from '../entities/originalColumnGroupChild'; import { ColumnEventType } from '../events'; import { BeanStub } from "../context/beanStub"; import { OriginalColumnGroup } from '../entities/originalColumnGroup'; import { RowNode } from '../entities/rowNode'; import { ApplyColumnStateParams } from './columnApi'; export interface ColumnResizeSet { columns: Column[]; ratios: number[]; width: number; } export interface ColumnState { colId?: string; hide?: boolean | null; aggFunc?: string | IAggFunc | null; width?: number; pivot?: boolean | null; pivotIndex?: number | null; pinned?: boolean | string | 'left' | 'right' | null; rowGroup?: boolean | null; rowGroupIndex?: number | null; flex?: number | null; sort?: string | null; sortIndex?: number | null; } export declare class ColumnController extends BeanStub { private expressionService; private columnFactory; private displayedGroupCreator; private autoWidthCalculator; private columnUtils; private columnAnimationService; private autoGroupColService; private aggFuncService; private valueCache; private animationFrameService; private rowModel; private columnApi; private gridApi; private sortController; private columnDefFactory; private primaryColumnTree; private primaryHeaderRowCount; private primaryColumns; private primaryColumnsMap; private secondaryBalancedTree; private secondaryColumns; private secondaryHeaderRowCount; private secondaryColumnsPresent; private columnsForQuickFilter; private gridBalancedTree; private gridColumns; private gridColumnsMap; private gridHeaderRowCount; private lastPrimaryOrder; private gridColsArePrimary; private displayedTreeLeft; private displayedTreeRight; private displayedTreeCentre; private displayedColumnsLeft; private displayedColumnsRight; private displayedColumnsCenter; private displayedColumns; private displayedColumnsAndGroupsMap; private viewportColumns; private viewportColumnsCenter; private viewportRowLeft; private viewportRowRight; private viewportRowCenter; private colSpanActive; private autoRowHeightColumns; private suppressColumnVirtualisation; private rowGroupColumns; private valueColumns; private pivotColumns; private groupAutoColumns; private groupDisplayColumns; private ready; private logger; private autoGroupsNeedBuilding; private forceRecreateAutoGroups; private pivotMode; private usingTreeData; private scrollWidth; private scrollPosition; private bodyWidth; private leftWidth; private rightWidth; private bodyWidthDirty; private viewportLeft; private viewportRight; private flexViewportWidth; private columnDefs; private colDefVersion; private flexColsCalculatedAtLestOnce; init(): void; onAutoGroupColumnDefChanged(): void; getColDefVersion(): number; setColumnDefs(columnDefs: (ColDef | ColGroupDef)[], source?: ColumnEventType): void; private dispatchNewColumnsLoaded; private dispatchEverythingChanged; private orderGridColumnsLikePrimary; isAutoRowHeightActive(): boolean; getAllAutoRowHeightCols(): Column[]; private setViewport; getDisplayedColumnsStartingAt(column: Column): Column[]; private checkViewportColumns; setViewportPosition(scrollWidth: number, scrollPosition: number): void; isPivotMode(): boolean; private isPivotSettingAllowed; setPivotMode(pivotMode: boolean, source?: ColumnEventType): void; getSecondaryPivotColumn(pivotKeys: string[], valueColKey: Column | string): Column | null; private setBeans; private setFirstRightAndLastLeftPinned; autoSizeColumns(keys: (string | Column)[], skipHeader?: boolean, source?: ColumnEventType): void; fireColumnResizedEvent(columns: Column[] | null, finished: boolean, source: ColumnEventType, flexColumns?: Column[] | null): void; autoSizeColumn(key: string | Column | null, skipHeader?: boolean, source?: ColumnEventType): void; autoSizeAllColumns(skipHeader?: boolean, source?: ColumnEventType): void; private getColumnsFromTree; getAllDisplayedTrees(): ColumnGroupChild[] | null; getPrimaryColumnTree(): OriginalColumnGroupChild[]; getHeaderRowCount(): number; getDisplayedTreeLeft(): ColumnGroupChild[]; getDisplayedTreeRight(): ColumnGroupChild[]; getDisplayedTreeCentre(): ColumnGroupChild[]; isColumnDisplayed(column: Column): boolean; getAllDisplayedColumns(): Column[]; getViewportColumns(): Column[]; getDisplayedLeftColumnsForRow(rowNode: RowNode): Column[]; getDisplayedRightColumnsForRow(rowNode: RowNode): Column[]; private getDisplayedColumnsForRow; getViewportCenterColumnsForRow(rowNode: RowNode): Column[]; getAriaColumnIndex(col: Column): number; private isColumnInViewport; getDisplayedColumnsLeftWidth(): number; getDisplayedColumnsRightWidth(): number; updatePrimaryColumnList(keys: (string | Column)[] | null, masterList: Column[], actionIsAdd: boolean, columnCallback: (column: Column) => void, eventType: string, source?: ColumnEventType): void; setRowGroupColumns(colKeys: (string | Column)[], source?: ColumnEventType): void; private setRowGroupActive; addRowGroupColumn(key: string | Column | null, source?: ColumnEventType): void; addRowGroupColumns(keys: (string | Column)[], source?: ColumnEventType): void; removeRowGroupColumns(keys: (string | Column)[] | null, source?: ColumnEventType): void; removeRowGroupColumn(key: string | Column | null, source?: ColumnEventType): void; addPivotColumns(keys: (string | Column)[], source?: ColumnEventType): void; setPivotColumns(colKeys: (string | Column)[], source?: ColumnEventType): void; addPivotColumn(key: string | Column, source?: ColumnEventType): void; removePivotColumns(keys: (string | Column)[], source?: ColumnEventType): void; removePivotColumn(key: string | Column, source?: ColumnEventType): void; private setPrimaryColumnList; setValueColumns(colKeys: (string | Column)[], source?: ColumnEventType): void; private setValueActive; addValueColumns(keys: (string | Column)[], source?: ColumnEventType): void; addValueColumn(colKey: (string | Column) | null | undefined, source?: ColumnEventType): void; removeValueColumn(colKey: (string | Column), source?: ColumnEventType): void; removeValueColumns(keys: (string | Column)[], source?: ColumnEventType): void; private normaliseColumnWidth; private getPrimaryOrGridColumn; setColumnWidths(columnWidths: { key: string | Column; newWidth: number; }[], shiftKey: boolean, // @takeFromAdjacent - if user has 'shift' pressed, then pixels are taken from adjacent column finished: boolean, // @finished - ends up in the event, tells the user if more events are to come source?: ColumnEventType): void; private checkMinAndMaxWidthsForSet; resizeColumnSets(resizeSets: ColumnResizeSet[], finished: boolean, source: ColumnEventType): void; setColumnAggFunc(key: string | Column | null | undefined, aggFunc: string, source?: ColumnEventType): void; private fireColumnEvent; moveRowGroupColumn(fromIndex: number, toIndex: number, source?: ColumnEventType): void; moveColumns(columnsToMoveKeys: (string | Column)[], toIndex: number, source?: ColumnEventType): void; doesMovePassRules(columnsToMove: Column[], toIndex: number): boolean; sortColumnsLikeGridColumns(cols: Column[]): void; doesMovePassLockedPositions(proposedColumnOrder: Column[]): boolean; doesMovePassMarryChildren(allColumnsCopy: Column[]): boolean; moveColumn(key: string | Column, toIndex: number, source?: ColumnEventType): void; moveColumnByIndex(fromIndex: number, toIndex: number, source?: ColumnEventType): void; getColumnDefs(): (ColDef | ColGroupDef)[]; getBodyContainerWidth(): number; getContainerWidth(pinned: string | null): number; private updateBodyWidths; getValueColumns(): Column[]; getPivotColumns(): Column[]; isPivotActive(): boolean; getRowGroupColumns(): Column[]; getDisplayedCenterColumns(): Column[]; getDisplayedLeftColumns(): Column[]; getDisplayedRightColumns(): Column[]; getDisplayedColumns(type: string | null): Column[]; getAllPrimaryColumns(): Column[] | null; getSecondaryColumns(): Column[] | null; getAllColumnsForQuickFilter(): Column[]; getAllGridColumns(): Column[]; isEmpty(): boolean; isRowGroupEmpty(): boolean; setColumnVisible(key: string | Column, visible: boolean, source?: ColumnEventType): void; setColumnsVisible(keys: (string | Column)[], visible?: boolean, source?: ColumnEventType): void; setColumnPinned(key: string | Column | null, pinned: string | boolean | null, source?: ColumnEventType): void; setColumnsPinned(keys: (string | Column)[], pinned: string | boolean | null, source?: ColumnEventType): void; private actionOnGridColumns; getDisplayedColBefore(col: Column): Column | null; getDisplayedColAfter(col: Column): Column | null; getDisplayedGroupAfter(columnGroup: ColumnGroup): ColumnGroup | null; getDisplayedGroupBefore(columnGroup: ColumnGroup): ColumnGroup | null; getDisplayedGroupAtDirection(columnGroup: ColumnGroup, direction: 'After' | 'Before'): ColumnGroup | null; getColumnGroupAtLevel(column: Column, level: number): ColumnGroup | null; isPinningLeft(): boolean; isPinningRight(): boolean; getPrimaryAndSecondaryAndAutoColumns(): Column[]; private createStateItemFromColumn; getColumnState(): ColumnState[]; private orderColumnStateList; resetColumnState(source?: ColumnEventType): void; applyColumnState(params: ApplyColumnStateParams, source?: ColumnEventType): boolean; private applyOrderAfterApplyState; private compareColumnStatesAndRaiseEvents; private raiseColumnPinnedEvent; private getCommonValue; private raiseColumnVisibleEvent; private raiseColumnMovedEvent; private syncColumnWithStateItem; getGridColumns(keys: (string | Column)[]): Column[]; private getColumns; getColumnWithValidation(key: string | Column | undefined): Column | null; getPrimaryColumn(key: string | Column): Column | null; getGridColumn(key: string | Column): Column | null; private getColumn; private getAutoColumn; private columnsMatch; getDisplayNameForColumn(column: Column | null, location: string | null, includeAggFunc?: boolean): string | null; getDisplayNameForOriginalColumnGroup(columnGroup: ColumnGroup | null, originalColumnGroup: OriginalColumnGroup | null, location: string): string | null; getDisplayNameForColumnGroup(columnGroup: ColumnGroup, location: string): string | null; private getHeaderName; private wrapHeaderNameWithAggFunc; getColumnGroup(colId: string | ColumnGroup, instanceId?: number): ColumnGroup | null; isReady(): boolean; private extractValueColumns; private extractRowGroupColumns; private extractColumns; private extractPivotColumns; resetColumnGroupState(source?: ColumnEventType): void; getColumnGroupState(): { groupId: string; open: boolean; }[]; setColumnGroupState(stateItems: { groupId: string; open: boolean | undefined; }[], source?: ColumnEventType): void; setColumnGroupOpened(key: OriginalColumnGroup | string | null, newValue: boolean, source?: ColumnEventType): void; getOriginalColumnGroup(key: OriginalColumnGroup | string): OriginalColumnGroup | null; private calculateColumnsForDisplay; private checkColSpanActiveInCols; private calculateColumnsForGroupDisplay; getGroupDisplayColumns(): Column[]; private updateDisplayedColumns; isSecondaryColumnsPresent(): boolean; setSecondaryColumns(colDefs: (ColDef | ColGroupDef)[] | null, source?: ColumnEventType): void; private processSecondaryColumnDefinitions; private updateGridColumns; private orderGridColsLikeLastPrimary; isPrimaryColumnGroupsPresent(): boolean; private setupQuickFilterColumns; private putFixedColumnsFirst; private addAutoGroupToGridColumns; private clearDisplayedAndViewportColumns; private updateGroupsAndDisplayedColumns; private deriveDisplayedColumns; private joinDisplayedColumns; private setLeftValues; private setLeftValuesOfColumns; private setLeftValuesOfGroups; private derivedDisplayedColumnsFromDisplayedTree; private extractViewportColumns; getVirtualHeaderGroupRow(type: string | null, dept: number): ColumnGroupChild[]; private extractViewportRows; private extractViewport; private filterOutColumnsWithinViewport; refreshFlexedColumns(params?: { resizingCols?: Column[]; skipSetLeft?: boolean; viewportWidth?: number; source?: ColumnEventType; fireResizedEvent?: boolean; updateBodyWidths?: boolean; }): Column[]; sizeColumnsToFit(gridWidth: any, source?: ColumnEventType, silent?: boolean): void; private buildDisplayedTrees; private updateDisplayedMap; isDisplayed(item: ColumnGroupChild): boolean; private updateOpenClosedVisibilityInColumnGroups; getGroupAutoColumns(): Column[] | null; private createGroupAutoColumnsIfNeeded; private autoColsEqual; private getWidthOfColsInList; getGridBalancedTree(): OriginalColumnGroupChild[]; hasFloatingFilters(): boolean; getFirstDisplayedColumn(): Column | null; }