UNPKG

ag-grid

Version:

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

50 lines (49 loc) 2.36 kB
// Type definitions for ag-grid v18.1.2 // Project: http://www.ag-grid.com/ // Definitions by: Niall Crosby <https://github.com/ag-grid/> import { Column } from "../../entities/column"; import { RowNode } from "../../entities/rowNode"; import { GridApi } from "../../gridApi"; import { ColumnApi } from "../../columnController/columnApi"; import { IComponent } from "../../interfaces/iComponent"; export interface ICellEditor { /** Return the final value - called by the grid once after editing is complete */ getValue(): any; /** Gets called once after initialised. If you return true, the editor will appear in a popup, so is not constrained * to the boundaries of the cell. This is great if you want to, for example, provide you own custom dropdown list * for selection. Default is false (ie if you don't provide the method). */ isPopup?(): boolean; /** Gets called once after initialised. If you return true, the editor will not be used and the grid will continue * editing. Use this to make a decision on editing inside the init() function, eg maybe you want to only start * editing if the user hits a numeric key, but not a letter, if the editor is for numbers. * */ isCancelBeforeStart?(): boolean; /** Gets called once after editing is complete. If your return true, then the new value will not be used. The * editing will have no impact on the record. Use this if you do not want a new value from your gui, i.e. you * want to cancel the editing. */ isCancelAfterEnd?(): boolean; /** If doing full line edit, then gets called when focus should be put into the editor */ focusIn?(): void; /** If doing full line edit, then gets called when focus is leaving the editor */ focusOut?(): void; } export interface ICellEditorComp extends ICellEditor, IComponent<ICellEditorParams> { } export interface ICellEditorParams { value: any; keyPress: number; charPress: string; column: Column; node: RowNode; rowIndex: number; api: GridApi; columnApi: ColumnApi; cellStartedEdit: boolean; context: any; $scope: any; onKeyDown: (event: KeyboardEvent) => void; stopEditing: (suppressNavigateAfterEdit?: boolean) => void; eGridCell: HTMLElement; parseValue: (value: any) => any; formatValue: (value: any) => any; }