columnController.d.ts 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275
  1. import { ColumnGroup } from '../entities/columnGroup';
  2. import { Column } from '../entities/column';
  3. import { ColDef, ColGroupDef, IAggFunc } from '../entities/colDef';
  4. import { ColumnGroupChild } from '../entities/columnGroupChild';
  5. import { OriginalColumnGroupChild } from '../entities/originalColumnGroupChild';
  6. import { ColumnEventType } from '../events';
  7. import { BeanStub } from "../context/beanStub";
  8. import { OriginalColumnGroup } from '../entities/originalColumnGroup';
  9. import { RowNode } from '../entities/rowNode';
  10. export interface ColumnResizeSet {
  11. columns: Column[];
  12. ratios: number[];
  13. width: number;
  14. }
  15. export interface ColumnState {
  16. colId: string;
  17. hide?: boolean;
  18. aggFunc?: string | IAggFunc | null;
  19. width?: number;
  20. pivotIndex?: number | null;
  21. pinned?: boolean | string | 'left' | 'right';
  22. rowGroupIndex?: number | null;
  23. flex?: number;
  24. }
  25. export declare class ColumnController extends BeanStub {
  26. private gridOptionsWrapper;
  27. private expressionService;
  28. private columnFactory;
  29. private displayedGroupCreator;
  30. private autoWidthCalculator;
  31. private columnUtils;
  32. private columnAnimationService;
  33. private autoGroupColService;
  34. private aggFuncService;
  35. private valueCache;
  36. private animationFrameService;
  37. private columnApi;
  38. private gridApi;
  39. private primaryColumnTree;
  40. private primaryHeaderRowCount;
  41. private primaryColumns;
  42. private secondaryBalancedTree;
  43. private secondaryColumns;
  44. private secondaryHeaderRowCount;
  45. private secondaryColumnsPresent;
  46. private columnsForQuickFilter;
  47. private gridBalancedTree;
  48. private gridColumns;
  49. private gridHeaderRowCount;
  50. private lastPrimaryOrder;
  51. private gridColsArePrimary;
  52. private displayedLeftColumnTree;
  53. private displayedRightColumnTree;
  54. private displayedCentreColumnTree;
  55. private displayedLeftHeaderRows;
  56. private displayedRightHeaderRows;
  57. private displayedCentreHeaderRows;
  58. private displayedLeftColumns;
  59. private displayedRightColumns;
  60. private displayedCenterColumns;
  61. private allDisplayedColumns;
  62. private allDisplayedVirtualColumns;
  63. private allDisplayedCenterVirtualColumns;
  64. private colSpanActive;
  65. private autoRowHeightColumns;
  66. private suppressColumnVirtualisation;
  67. private rowGroupColumns;
  68. private valueColumns;
  69. private pivotColumns;
  70. private groupAutoColumns;
  71. private groupDisplayColumns;
  72. private ready;
  73. private logger;
  74. private autoGroupsNeedBuilding;
  75. private forceRecreateAutoGroups;
  76. private pivotMode;
  77. private usingTreeData;
  78. private scrollWidth;
  79. private scrollPosition;
  80. private bodyWidth;
  81. private leftWidth;
  82. private rightWidth;
  83. private bodyWidthDirty;
  84. private viewportLeft;
  85. private viewportRight;
  86. private flexViewportWidth;
  87. private columnDefs;
  88. private flexActive;
  89. init(): void;
  90. onAutoGroupColumnDefChanged(): void;
  91. setColumnDefs(columnDefs: (ColDef | ColGroupDef)[], source?: ColumnEventType): void;
  92. isAutoRowHeightActive(): boolean;
  93. getAllAutoRowHeightCols(): Column[];
  94. private setVirtualViewportLeftAndRight;
  95. getDisplayedColumnsStartingAt(column: Column): Column[];
  96. private checkDisplayedVirtualColumns;
  97. setVirtualViewportPosition(scrollWidth: number, scrollPosition: number): void;
  98. isPivotMode(): boolean;
  99. private isPivotSettingAllowed;
  100. setPivotMode(pivotMode: boolean, source?: ColumnEventType): void;
  101. getSecondaryPivotColumn(pivotKeys: string[], valueColKey: Column | string): Column | null;
  102. private setBeans;
  103. private setFirstRightAndLastLeftPinned;
  104. autoSizeColumns(keys: (string | Column)[], skipHeader?: boolean, source?: ColumnEventType): void;
  105. autoSizeColumn(key: string | Column | null, skipHeader?: boolean, source?: ColumnEventType): void;
  106. autoSizeAllColumns(skipHeader?: boolean, source?: ColumnEventType): void;
  107. private getColumnsFromTree;
  108. getAllDisplayedColumnGroups(): ColumnGroupChild[] | null;
  109. getPrimaryColumnTree(): OriginalColumnGroupChild[];
  110. getHeaderRowCount(): number;
  111. getLeftDisplayedColumnGroups(): ColumnGroupChild[];
  112. getRightDisplayedColumnGroups(): ColumnGroupChild[];
  113. getCenterDisplayedColumnGroups(): ColumnGroupChild[];
  114. getDisplayedColumnGroups(type: string): ColumnGroupChild[];
  115. isColumnDisplayed(column: Column): boolean;
  116. getAllDisplayedColumns(): Column[];
  117. getAllDisplayedVirtualColumns(): Column[];
  118. getDisplayedLeftColumnsForRow(rowNode: RowNode): Column[];
  119. getDisplayedRightColumnsForRow(rowNode: RowNode): Column[];
  120. private getDisplayedColumnsForRow;
  121. getAllDisplayedCenterVirtualColumnsForRow(rowNode: RowNode): Column[];
  122. private isColumnInViewport;
  123. getPinnedLeftContainerWidth(): number;
  124. getPinnedRightContainerWidth(): number;
  125. updatePrimaryColumnList(keys: (string | Column)[] | null, masterList: Column[], actionIsAdd: boolean, columnCallback: (column: Column) => void, eventType: string, source?: ColumnEventType): void;
  126. setRowGroupColumns(colKeys: (string | Column)[], source?: ColumnEventType): void;
  127. private setRowGroupActive;
  128. addRowGroupColumn(key: string | Column | null, source?: ColumnEventType): void;
  129. addRowGroupColumns(keys: (string | Column)[], source?: ColumnEventType): void;
  130. removeRowGroupColumns(keys: (string | Column)[] | null, source?: ColumnEventType): void;
  131. removeRowGroupColumn(key: string | Column | null, source?: ColumnEventType): void;
  132. addPivotColumns(keys: (string | Column)[], source?: ColumnEventType): void;
  133. setPivotColumns(colKeys: (string | Column)[], source?: ColumnEventType): void;
  134. addPivotColumn(key: string | Column, source?: ColumnEventType): void;
  135. removePivotColumns(keys: (string | Column)[], source?: ColumnEventType): void;
  136. removePivotColumn(key: string | Column, source?: ColumnEventType): void;
  137. private setPrimaryColumnList;
  138. setValueColumns(colKeys: (string | Column)[], source?: ColumnEventType): void;
  139. private setValueActive;
  140. addValueColumns(keys: (string | Column)[], source?: ColumnEventType): void;
  141. addValueColumn(colKey: (string | Column) | null | undefined, source?: ColumnEventType): void;
  142. removeValueColumn(colKey: (string | Column), source?: ColumnEventType): void;
  143. removeValueColumns(keys: (string | Column)[], source?: ColumnEventType): void;
  144. private normaliseColumnWidth;
  145. private getPrimaryOrGridColumn;
  146. setColumnWidths(columnWidths: {
  147. key: string | Column;
  148. newWidth: number;
  149. }[], shiftKey: boolean, // @takeFromAdjacent - if user has 'shift' pressed, then pixels are taken from adjacent column
  150. finished: boolean, // @finished - ends up in the event, tells the user if more events are to come
  151. source?: ColumnEventType): void;
  152. private checkMinAndMaxWidthsForSet;
  153. resizeColumnSets(resizeSets: ColumnResizeSet[], finished: boolean, source: ColumnEventType): void;
  154. setColumnAggFunc(column: Column | null | undefined, aggFunc: string, source?: ColumnEventType): void;
  155. moveRowGroupColumn(fromIndex: number, toIndex: number, source?: ColumnEventType): void;
  156. moveColumns(columnsToMoveKeys: (string | Column)[], toIndex: number, source?: ColumnEventType): void;
  157. doesMovePassRules(columnsToMove: Column[], toIndex: number): boolean;
  158. doesMovePassLockedPositions(proposedColumnOrder: Column[]): boolean;
  159. doesMovePassMarryChildren(allColumnsCopy: Column[]): boolean;
  160. moveColumn(key: string | Column, toIndex: number, source?: ColumnEventType): void;
  161. moveColumnByIndex(fromIndex: number, toIndex: number, source?: ColumnEventType): void;
  162. getBodyContainerWidth(): number;
  163. getContainerWidth(pinned: string): number;
  164. private updateBodyWidths;
  165. getValueColumns(): Column[];
  166. getPivotColumns(): Column[];
  167. isPivotActive(): boolean;
  168. getRowGroupColumns(): Column[];
  169. getDisplayedCenterColumns(): Column[];
  170. getDisplayedLeftColumns(): Column[];
  171. getDisplayedRightColumns(): Column[];
  172. getDisplayedColumns(type: string): Column[];
  173. getAllPrimaryColumns(): Column[] | null;
  174. getSecondaryColumns(): Column[] | null;
  175. getAllColumnsForQuickFilter(): Column[];
  176. getAllGridColumns(): Column[];
  177. isEmpty(): boolean;
  178. isRowGroupEmpty(): boolean;
  179. setColumnVisible(key: string | Column, visible: boolean, source?: ColumnEventType): void;
  180. setColumnsVisible(keys: (string | Column)[], visible: boolean, source?: ColumnEventType): void;
  181. setColumnPinned(key: string | Column | null, pinned: string | boolean | null, source?: ColumnEventType): void;
  182. setColumnsPinned(keys: (string | Column)[], pinned: string | boolean | null, source?: ColumnEventType): void;
  183. private actionOnGridColumns;
  184. getDisplayedColBefore(col: Column): Column | null;
  185. getDisplayedColAfter(col: Column): Column | null;
  186. getDisplayedGroupAfter(columnGroup: ColumnGroup): ColumnGroup | null;
  187. getDisplayedGroupBefore(columnGroup: ColumnGroup): ColumnGroup | null;
  188. getDisplayedGroupAtDirection(columnGroup: ColumnGroup, direction: 'After' | 'Before'): ColumnGroup | null;
  189. getColumnGroupAtLevel(column: Column, level: number): ColumnGroup | null;
  190. isPinningLeft(): boolean;
  191. isPinningRight(): boolean;
  192. getPrimaryAndSecondaryAndAutoColumns(): Column[];
  193. private createStateItemFromColumn;
  194. getColumnState(): ColumnState[];
  195. private orderColumnStateList;
  196. resetColumnState(suppressEverythingEvent?: boolean, source?: ColumnEventType): void;
  197. setColumnState(columnStates: ColumnState[], suppressEverythingEvent?: boolean, source?: ColumnEventType): boolean;
  198. private raiseColumnEvents;
  199. private raiseColumnPinnedEvent;
  200. private raiseColumnVisibleEvent;
  201. private raiseColumnResizeEvent;
  202. private raiseColumnMovedEvent;
  203. private sortColumnListUsingIndexes;
  204. private syncColumnWithNoState;
  205. private syncColumnWithStateItem;
  206. getGridColumns(keys: (string | Column)[]): Column[];
  207. private getColumns;
  208. getColumnWithValidation(key: string | Column | undefined): Column | null;
  209. getPrimaryColumn(key: string | Column): Column | null;
  210. getGridColumn(key: string | Column): Column | null;
  211. private getColumn;
  212. private getAutoColumn;
  213. private columnsMatch;
  214. getDisplayNameForColumn(column: Column | null, location: string | null, includeAggFunc?: boolean): string | null;
  215. getDisplayNameForOriginalColumnGroup(columnGroup: ColumnGroup | null, originalColumnGroup: OriginalColumnGroup | null, location: string): string | null;
  216. getDisplayNameForColumnGroup(columnGroup: ColumnGroup, location: string): string | null;
  217. private getHeaderName;
  218. private wrapHeaderNameWithAggFunc;
  219. getColumnGroup(colId: string | ColumnGroup, instanceId?: number): ColumnGroup | null;
  220. isReady(): boolean;
  221. private createValueColumns;
  222. private extractRowGroupColumns;
  223. private extractColumns;
  224. private extractPivotColumns;
  225. resetColumnGroupState(source?: ColumnEventType): void;
  226. getColumnGroupState(): {
  227. groupId: string;
  228. open: boolean;
  229. }[];
  230. setColumnGroupState(stateItems: {
  231. groupId: string;
  232. open: boolean | undefined;
  233. }[], source?: ColumnEventType): void;
  234. setColumnGroupOpened(key: OriginalColumnGroup | string | undefined, newValue: boolean, source?: ColumnEventType): void;
  235. getOriginalColumnGroup(key: OriginalColumnGroup | string): OriginalColumnGroup | null;
  236. private calculateColumnsForDisplay;
  237. private checkColSpanActiveInCols;
  238. private calculateColumnsForGroupDisplay;
  239. getGroupDisplayColumns(): Column[];
  240. private updateDisplayedColumns;
  241. isSecondaryColumnsPresent(): boolean;
  242. setSecondaryColumns(colDefs: (ColDef | ColGroupDef)[] | null, source?: ColumnEventType): void;
  243. private processSecondaryColumnDefinitions;
  244. private updateGridColumns;
  245. private orderGridColsLikeLastPrimary;
  246. isPrimaryColumnGroupsPresent(): boolean;
  247. private setupQuickFilterColumns;
  248. private putFixedColumnsFirst;
  249. private addAutoGroupToGridColumns;
  250. private clearDisplayedColumns;
  251. private updateGroupsAndDisplayedColumns;
  252. private updateDisplayedColumnsFromTrees;
  253. private setupAllDisplayedColumns;
  254. private setLeftValues;
  255. private setLeftValuesOfColumns;
  256. private setLeftValuesOfGroups;
  257. private addToDisplayedColumns;
  258. private updateDisplayedCenterVirtualColumns;
  259. getVirtualHeaderGroupRow(type: string, dept: number): ColumnGroupChild[];
  260. private updateDisplayedVirtualGroups;
  261. private updateVirtualSets;
  262. private filterOutColumnsWithinViewport;
  263. refreshFlexedColumns(updatedFlexViewportWidth?: number, source?: ColumnEventType, silent?: boolean): void;
  264. sizeColumnsToFit(gridWidth: any, source?: ColumnEventType, silent?: boolean): void;
  265. private fireResizedEventForColumns;
  266. private buildDisplayedTrees;
  267. private updateOpenClosedVisibilityInColumnGroups;
  268. getGroupAutoColumns(): Column[] | null;
  269. private createGroupAutoColumnsIfNeeded;
  270. private autoColsEqual;
  271. private getWidthOfColsInList;
  272. getGridBalancedTree(): OriginalColumnGroupChild[];
  273. hasFloatingFilters(): boolean;
  274. getFirstDisplayedColumn(): Column;
  275. }