ag-grid
Version:
Advanced Data Grid / Data Table supporting Javascript / React / AngularJS / Web Components
160 lines (136 loc) • 11.7 kB
text/typescript
import {ColDef, ColGroupDef} from "../entities/colDef";
import {ColumnGroupChild} from "../entities/columnGroupChild";
import {ColumnController, ColumnState} from "./columnController";
import {OriginalColumnGroup} from "../entities/originalColumnGroup";
import {ColumnGroup} from "../entities/columnGroup";
import {Column} from "../entities/column";
import {Autowired, Bean} from "../context/context";
export class ColumnApi {
private columnController: ColumnController;
public sizeColumnsToFit(gridWidth: any): void { this.columnController.sizeColumnsToFit(gridWidth, 'api'); }
public setColumnGroupOpened(group: OriginalColumnGroup|string, newValue: boolean): void { this.columnController.setColumnGroupOpened(group, newValue, 'api'); }
public getColumnGroup(name: string, instanceId?: number): ColumnGroup { return this.columnController.getColumnGroup(name, instanceId); }
public getOriginalColumnGroup(name: string): OriginalColumnGroup { return this.columnController.getOriginalColumnGroup(name); }
public getDisplayNameForColumn(column: Column, location: string): string { return this.columnController.getDisplayNameForColumn(column, location); }
public getDisplayNameForColumnGroup(columnGroup: ColumnGroup, location: string): string { return this.columnController.getDisplayNameForColumnGroup(columnGroup, location); }
public getColumn(key: any): Column { return this.columnController.getPrimaryColumn(key); }
public setColumnState(columnState: ColumnState[]): boolean { return this.columnController.setColumnState(columnState, 'api'); }
public getColumnState(): ColumnState[] { return this.columnController.getColumnState(); }
public resetColumnState(): void { this.columnController.resetColumnState('api'); }
public getColumnGroupState(): {groupId: string, open: boolean}[] {return this.columnController.getColumnGroupState();}
public setColumnGroupState(stateItems: ({groupId: string, open: boolean})[]): void {this.columnController.setColumnGroupState(stateItems, 'api');}
public resetColumnGroupState(): void { this.columnController.resetColumnGroupState('api'); }
public isPinning(): boolean { return this.columnController.isPinningLeft() || this.columnController.isPinningRight(); }
public isPinningLeft(): boolean { return this.columnController.isPinningLeft(); }
public isPinningRight(): boolean { return this.columnController.isPinningRight(); }
public getDisplayedColAfter(col: Column): Column { return this.columnController.getDisplayedColAfter(col); }
public getDisplayedColBefore(col: Column): Column { return this.columnController.getDisplayedColBefore(col); }
public setColumnVisible(key: string|Column, visible: boolean): void { this.columnController.setColumnVisible(key, visible, 'api'); }
public setColumnsVisible(keys: (string|Column)[], visible: boolean): void { this.columnController.setColumnsVisible(keys, visible, 'api'); }
public setColumnPinned(key: string|Column, pinned: string): void { this.columnController.setColumnPinned(key, pinned, 'api'); }
public setColumnsPinned(keys: (string|Column)[], pinned: string): void { this.columnController.setColumnsPinned(keys, pinned, 'api'); }
public getAllColumns(): Column[] { return this.columnController.getAllPrimaryColumns(); }
public getAllGridColumns(): Column[] { return this.columnController.getAllGridColumns(); }
public getDisplayedLeftColumns(): Column[] { return this.columnController.getDisplayedLeftColumns(); }
public getDisplayedCenterColumns(): Column[] { return this.columnController.getDisplayedCenterColumns(); }
public getDisplayedRightColumns(): Column[] { return this.columnController.getDisplayedRightColumns(); }
public getAllDisplayedColumns(): Column[] { return this.columnController.getAllDisplayedColumns(); }
public getAllDisplayedVirtualColumns(): Column[] { return this.columnController.getAllDisplayedVirtualColumns(); }
public moveColumn(key: string|Column, toIndex: number): void {
if (typeof key === 'number') {
// moveColumn used to take indexes, so this is advising user who hasn't moved to new method name
console.log('ag-Grid: you are using moveColumn(fromIndex, toIndex) - moveColumn takes a column key and a destination index, not two indexes, to move with indexes use moveColumnByIndex(from,to) instead');
this.columnController.moveColumnByIndex(<number>key, toIndex, 'api');
} else {
this.columnController.moveColumn(key, toIndex, 'api');
}
}
public moveColumnByIndex(fromIndex: number, toIndex: number): void { this.columnController.moveColumnByIndex(fromIndex, toIndex, 'api'); }
public moveColumns(columnsToMoveKeys: (string|Column)[], toIndex: number) { this.columnController.moveColumns(columnsToMoveKeys, toIndex, 'api'); }
public moveRowGroupColumn(fromIndex: number, toIndex: number): void { this.columnController.moveRowGroupColumn(fromIndex, toIndex); }
public setColumnAggFunc(column: Column, aggFunc: string): void { this.columnController.setColumnAggFunc(column, aggFunc); }
public setColumnWidth(key: string|Column, newWidth: number, finished: boolean = true): void { this.columnController.setColumnWidth(key, newWidth, false, finished); }
public setPivotMode(pivotMode: boolean): void { this.columnController.setPivotMode(pivotMode); }
public isPivotMode(): boolean { return this.columnController.isPivotMode(); }
public getSecondaryPivotColumn(pivotKeys: string[], valueColKey: string|Column): Column { return this.columnController.getSecondaryPivotColumn(pivotKeys, valueColKey); }
public setValueColumns(colKeys: (string|Column)[]): void { this.columnController.setValueColumns(colKeys, 'api'); }
public getValueColumns(): Column[] { return this.columnController.getValueColumns(); }
public removeValueColumn(colKey: (string|Column)): void { this.columnController.removeValueColumn(colKey, 'api'); }
public removeValueColumns(colKeys: (string|Column)[]): void { this.columnController.removeValueColumns(colKeys, 'api'); }
public addValueColumn(colKey: (string|Column)): void { this.columnController.addValueColumn(colKey, 'api'); }
public addValueColumns(colKeys: (string|Column)[]): void { this.columnController.addValueColumns(colKeys, 'api'); }
public setRowGroupColumns(colKeys: (string|Column)[]): void { this.columnController.setRowGroupColumns(colKeys, 'api'); }
public removeRowGroupColumn(colKey: string|Column): void { this.columnController.removeRowGroupColumn(colKey, 'api'); }
public removeRowGroupColumns(colKeys: (string|Column)[]): void { this.columnController.removeRowGroupColumns(colKeys, 'api'); }
public addRowGroupColumn(colKey: string|Column): void { this.columnController.addRowGroupColumn(colKey, 'api'); }
public addRowGroupColumns(colKeys: (string|Column)[]): void { this.columnController.addRowGroupColumns(colKeys, 'api'); }
public getRowGroupColumns(): Column[] { return this.columnController.getRowGroupColumns(); }
public setPivotColumns(colKeys: (string|Column)[]): void { this.columnController.setPivotColumns(colKeys, 'api'); }
public removePivotColumn(colKey: string|Column): void { this.columnController.removePivotColumn(colKey, 'api'); }
public removePivotColumns(colKeys: (string|Column)[]): void { this.columnController.removePivotColumns(colKeys, 'api'); }
public addPivotColumn(colKey: string|Column): void { this.columnController.addPivotColumn(colKey, 'api'); }
public addPivotColumns(colKeys: (string|Column)[]): void { this.columnController.addPivotColumns(colKeys, 'api'); }
public getPivotColumns(): Column[] { return this.columnController.getPivotColumns(); }
public getLeftDisplayedColumnGroups(): ColumnGroupChild[] { return this.columnController.getLeftDisplayedColumnGroups(); }
public getCenterDisplayedColumnGroups(): ColumnGroupChild[] { return this.columnController.getCenterDisplayedColumnGroups(); }
public getRightDisplayedColumnGroups(): ColumnGroupChild[] { return this.columnController.getRightDisplayedColumnGroups(); }
public getAllDisplayedColumnGroups(): ColumnGroupChild[] { return this.columnController.getAllDisplayedColumnGroups(); }
public autoSizeColumn(key: string|Column): void {return this.columnController.autoSizeColumn(key, 'api'); }
public autoSizeColumns(keys: (string|Column)[]): void {return this.columnController.autoSizeColumns(keys, 'api'); }
public autoSizeAllColumns(): void { this.columnController.autoSizeAllColumns('api'); }
public setSecondaryColumns(colDefs: (ColDef|ColGroupDef)[]): void { this.columnController.setSecondaryColumns(colDefs, 'api'); }
// below goes through deprecated items, prints message to user, then calls the new version of the same method
public columnGroupOpened(group: OriginalColumnGroup|string, newValue: boolean): void {
console.error('ag-Grid: columnGroupOpened no longer exists, use setColumnGroupOpened');
this.setColumnGroupOpened(group, newValue);
}
public hideColumns(colIds: any, hide: any): void {
console.error('ag-Grid: hideColumns is deprecated, use setColumnsVisible');
this.columnController.setColumnsVisible(colIds, !hide, 'api');
}
public hideColumn(colId: any, hide: any): void {
console.error('ag-Grid: hideColumn is deprecated, use setColumnVisible');
this.columnController.setColumnVisible(colId, !hide, 'api');
}
public setState(columnState: ColumnState[]): boolean {
console.error('ag-Grid: setState is deprecated, use setColumnState');
return this.setColumnState(columnState);
}
public getState(): ColumnState[] {
console.error('ag-Grid: getState is deprecated, use getColumnState');
return this.getColumnState();
}
public resetState(): void {
console.error('ag-Grid: resetState is deprecated, use resetColumnState');
this.resetColumnState();
}
public getAggregationColumns(): Column[] {
console.error('ag-Grid: getAggregationColumns is deprecated, use getValueColumns');
return this.columnController.getValueColumns();
}
public removeAggregationColumn(colKey: (string|Column)): void {
console.error('ag-Grid: removeAggregationColumn is deprecated, use removeValueColumn');
this.columnController.removeValueColumn(colKey, 'api');
}
public removeAggregationColumns(colKeys: (string|Column)[]): void {
console.error('ag-Grid: removeAggregationColumns is deprecated, use removeValueColumns');
this.columnController.removeValueColumns(colKeys, 'api');
}
public addAggregationColumn(colKey: (string|Column)): void {
console.error('ag-Grid: addAggregationColumn is deprecated, use addValueColumn');
this.columnController.addValueColumn(colKey, 'api');
}
public addAggregationColumns(colKeys: (string|Column)[]): void {
console.error('ag-Grid: addAggregationColumns is deprecated, use addValueColumns');
this.columnController.addValueColumns(colKeys, 'api');
}
public setColumnAggFunction(column: Column, aggFunc: string): void {
console.error('ag-Grid: setColumnAggFunction is deprecated, use setColumnAggFunc');
this.columnController.setColumnAggFunc(column, aggFunc, 'api');
}
public getDisplayNameForCol(column: any): string {
console.error('ag-Grid: getDisplayNameForCol is deprecated, use getDisplayNameForColumn');
return this.getDisplayNameForColumn(column, null);
}
}