UNPKG

ag-grid-community

Version:

Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue

70 lines (69 loc) 4.16 kB
import type { NamedBean } from '../context/bean'; import { BeanStub } from '../context/beanStub'; import type { Column } from '../interfaces/iColumn'; import type { EditMap, EditPositionValue, EditRow, EditRowValidationMap, EditState, EditValidation, EditValidationMap, EditValue, GetEditsParams, ReadonlyEditMap } from '../interfaces/iEditModelService'; import type { EditPosition, EditRowPosition } from '../interfaces/iEditService'; import type { IRowNode } from '../interfaces/iRowNode'; export declare class EditModelService extends BeanStub implements NamedBean { beanName: "editModelSvc"; private readonly edits; private editingCount; private cellValidations; private rowValidations; private suspendEdits; suspend(suspend: boolean): void; hasOpenEditors(): boolean; removeEdits({ rowNode, column }: EditPosition): void; getEditRow(rowNode: IRowNode, checkSiblings?: boolean): EditRow | undefined; getEditRowDataValue(rowNode: IRowNode): any; getEdit(position?: EditPosition): EditValue | undefined; /** Direct single-cell lookup — allocation-free, no pinned-sibling fallback (see {@link getCellEditWithSibling}). */ getCellEdit(rowNode: IRowNode | null | undefined, column: Column | null | undefined): EditValue | undefined; /** Single-cell lookup that falls back to the pinned sibling, since pinned rows mirror their sibling's edits. */ getCellEditWithSibling(rowNode: IRowNode | null | undefined, column: Column | null | undefined): EditValue | undefined; /** The live edit map, or null while edits are suspended. Read-only: mutating it would break editingCount. */ getEditMap(): ReadonlyEditMap | null; /** A deep copy of the edit map — a mutable snapshot, safe to hold and mutate across model changes. */ getEditMapCopy(): EditMap; setEditMap(newEdits: ReadonlyEditMap): void; setEdit(position: Required<EditPosition>, edit: Partial<EditValue>): Readonly<EditValue>; clearEditValue(position: EditPosition): void; getState(position: EditPosition): EditState | undefined; getEditPositions(editMap?: EditMap): EditPositionValue[]; hasRowEdits(rowNode: IRowNode, checkSiblings?: boolean): boolean; hasEdits(position?: EditPosition, params?: GetEditsParams): boolean; start(position: Required<EditPosition>): void; stop(position: Required<EditPosition>, preserveBatch: boolean, cancel: boolean): void; clear(): void; /** * Side-effect-free "is anything invalid?". Scope follows the position: omitted means the whole grid, * a rowNode without a column means that row. Callers that must not repopulate/refresh use this. */ hasValidationErrors(position?: EditPosition): boolean; getCellValidationModel(): EditCellValidationModel; getRowValidationModel(): EditRowValidationModel; setCellValidationModel(model: EditCellValidationModel): void; setRowValidationModel(model: EditRowValidationModel): void; destroy(): void; } export declare class EditCellValidationModel { private cellValidations; getCellValidation(position?: EditPosition): EditValidation | undefined; /** Scope follows the position: no rowNode means the whole grid, a rowNode without a column means that row. */ hasCellValidation(position?: EditPosition): boolean; setCellValidation(position: Required<EditPosition>, validation: EditValidation): void; clearCellValidation(position: Required<EditPosition>): void; setCellValidationMap(validationMap: EditValidationMap): void; getCellValidationMap(): EditValidationMap; clearCellValidationMap(): void; } export declare class EditRowValidationModel { private rowValidations; getRowValidation(position?: EditRowPosition): EditValidation | undefined; hasRowValidation(position?: EditRowPosition): boolean; setRowValidation({ rowNode }: Required<EditRowPosition>, rowValidation: EditValidation): void; clearRowValidation({ rowNode }: Required<EditRowPosition>): void; setRowValidationMap(validationMap: EditRowValidationMap): void; getRowValidationMap(): EditRowValidationMap; clearRowValidationMap(): void; }