@syncfusion/ej2-grids
Version:
Feature-rich JavaScript datagrid (datatable) control with built-in support for editing, filtering, grouping, paging, sorting, and exporting to Excel.
509 lines (508 loc) • 14.2 kB
TypeScript
import { IGrid, IAction, IIndex, ISelectedCell } from '../base/interface';
import { SelectionSettings } from '../base/grid';
import { ServiceLocator } from '../services/service-locator';
/**
* The `Selection` module is used to handle cell and row selection.
*/
export declare class Selection implements IAction {
/**
* @hidden
*/
selectedRowIndexes: number[];
/**
* @hidden
*/
selectedRowCellIndexes: ISelectedCell[];
/**
* @hidden
*/
selectedRecords: Element[];
/**
* @hidden
*/
isRowSelected: boolean;
/**
* @hidden
*/
isCellSelected: boolean;
/**
* @hidden
*/
preventFocus: boolean;
/**
* @hidden
*/
prevRowIndex: number;
/**
* @hidden
*/
selectedColumnsIndexes: number[];
isColumnSelected: boolean;
gridCurrentRecord: Object[];
private prevColIndex;
checkBoxState: boolean;
private selectionSettings;
private prevCIdxs;
private prevECIdxs;
private isMultiShiftRequest;
private isMultiCtrlRequest;
private isMultiCtrlRequestCell;
private enableSelectMultiTouch;
private clearRowCheck;
private selectRowCheck;
private element;
private autofill;
private isAutoFillSel;
private startCell;
private endCell;
private startAFCell;
private endAFCell;
private startIndex;
private startCellIndex;
private startDIndex;
private startDCellIndex;
private currentIndex;
private isDragged;
private isCellDrag;
private x;
private y;
private target;
private actualTarget;
private factory;
private contentRenderer;
private checkedTarget;
private primaryKey;
private chkField;
/**
* @hidden
*/
selectedRowState: {
[key: number]: boolean;
};
private unSelectedRowState;
private totalRecordsCount;
private chkAllCollec;
private isCheckedOnAdd;
private persistSelectedData;
private virtualSelectedData;
private partialSelectedData;
private deSelectedData;
private partialSelectableRecordsCount;
private disableSelectableRecordsCount;
private persistSelectedRecordsCount;
private partialSelectedRecordsCount;
private onDataBoundFunction;
private actionBeginFunction;
private actionCompleteFunction;
private actionCompleteFunc;
private resizeEndFn;
private mUPTarget;
private bdrElement;
private selectDirection;
private mcBdrElement;
private frcBdrElement;
private fhBdrElement;
private mhBdrElement;
private frhBdrElement;
private bdrAFLeft;
private bdrAFRight;
private bdrAFTop;
private bdrAFBottom;
/** @hidden */
isInteracted: boolean;
private isHeaderCheckboxClicked;
private checkSelectAllClicked;
private isHdrSelectAllClicked;
private isRowClicked;
private needColumnSelection;
/**
* @hidden
*/
index: number;
private toggle;
private data;
private removed;
private parent;
private focus;
private isCancelDeSelect;
private isPreventCellSelect;
private disableUI;
private isPersisted;
private cmdKeyPressed;
private isMacOS;
private cellselected;
private isMultiSelection;
private isAddRowsToSelection;
private initialRowSelection;
private isPrevRowSelection;
private isKeyAction;
private isRowDragSelected;
private evtHandlers;
isPartialSelection: boolean;
private rmtHdrChkbxClicked;
private isCheckboxReset;
private isRowDeselect;
/**
* @hidden
*/
autoFillRLselection: boolean;
private mouseButton;
private timer1;
private timer2;
private isFocusLastCell;
/**
* Constructor for the Grid selection module
*
* @param {IGrid} parent - specifies the IGrid
* @param {SelectionSettings} selectionSettings - specifies the selectionsettings
* @param {ServiceLocator} locator - specifies the ServiceLocator
* @hidden
*/
constructor(parent?: IGrid, selectionSettings?: SelectionSettings, locator?: ServiceLocator);
private initializeSelection;
/**
* The function used to trigger onActionBegin
*
* @param {Object} args - specifies the args
* @param {string} type - specifies the type
* @returns {void}
* @hidden
*/
onActionBegin(args: Object, type: string): void;
private fDataUpdate;
/**
* The function used to trigger onActionComplete
*
* @param {Object} args - specifies the args
* @param {string} type - specifies the type
* @returns {void}
* @hidden
*/
onActionComplete(args: Object, type: string): void;
/**
* For internal use only - Get the module name.
*
* @returns {string} returns the module name
* @private
*/
protected getModuleName(): string;
/**
* To destroy the selection
*
* @returns {void}
* @hidden
*/
destroy(): void;
private isEditing;
getCurrentBatchRecordChanges(): Object[];
/**
* Selects a row by the given index.
*
* @param {number} index - Defines the row index.
* @param {boolean} isToggle - If set to true, then it toggles the selection.
* @returns {void}
*/
selectRow(index: number, isToggle?: boolean): void;
private rowSelectingCallBack;
private selectRowCallBack;
/**
* Selects a range of rows from start and end row indexes.
*
* @param {number} startIndex - Specifies the start row index.
* @param {number} endIndex - Specifies the end row index.
* @returns {void}
*/
selectRowsByRange(startIndex: number, endIndex?: number): void;
private selectedDataUpdate;
/**
* Selects a collection of rows by index.
*
* @param {number[]} rowIndexes - Specifies an array of row indexes.
* @returns {void}
*/
selectRows(rowIndexes: number[]): void;
/**
* Select rows with existing row selection by passing row indexes.
*
* @param {number} rowIndexes - Specifies the row indexes.
* @returns {void}
* @hidden
*/
addRowsToSelection(rowIndexes: number[]): void;
private getCollectionFromIndexes;
private clearRow;
private clearRowCallBack;
private clearSelectedRow;
private updateRowProps;
private getPkValue;
private updatePersistCollection;
private updatePersistDelete;
private updateCheckBoxes;
private updateRowSelection;
/**
* Deselects the currently selected rows and cells.
*
* @returns {void}
*/
clearSelection(): void;
/**
* Deselects the currently selected rows.
*
* @returns {void}
*/
clearRowSelection(): void;
private rowDeselect;
private getRowObj;
/**
* Selects a cell by the given index.
*
* @param {IIndex} cellIndex - Defines the row and column indexes.
* @param {boolean} isToggle - If set to true, then it toggles the selection.
* @returns {void}
*/
selectCell(cellIndex: IIndex, isToggle?: boolean): void;
private successCallBack;
private getCellIndex;
/**
* Selects a range of cells from start and end indexes.
*
* @param {IIndex} startIndex - Specifies the row and column's start index.
* @param {IIndex} endIndex - Specifies the row and column's end index.
* @returns {void}
*/
selectCellsByRange(startIndex: IIndex, endIndex?: IIndex): void;
/**
* Selects a collection of cells by row and column indexes.
*
* @param {ISelectedCell[]} rowCellIndexes - Specifies the row and column indexes.
* @returns {void}
*/
selectCells(rowCellIndexes: ISelectedCell[]): void;
/**
* Select cells with existing cell selection by passing row and column index.
*
* @param {IIndex} cellIndexes - Defines the collection of row and column index.
* @returns {void}
* @hidden
*/
addCellsToSelection(cellIndexes: IIndex[]): void;
private getColIndex;
private getLastColIndex;
private clearCell;
private cellDeselect;
private updateCellSelection;
private addAttribute;
private updateCellProps;
private addRowCellIndex;
/**
* Deselects the currently selected cells.
*
* @returns {void}
*/
clearCellSelection(): void;
private getSelectedCellsElement;
private mouseMoveHandler;
private updateScrollPosition;
private stopTimer;
private setScrollPosition;
private findNextCell;
private selectLikeExcel;
private setFrozenBorders;
private refreshFrozenBorders;
/**
* @returns {void}
* @hidden
*/
drawBorders(): void;
private isLastCell;
private isLastRow;
private isFirstRow;
private isFirstCell;
private setBorders;
private positionBorders;
private bottom;
private top;
private right_bottom;
private bottom_left;
private top_right;
private top_left;
private top_bottom;
private top_right_bottom;
private top_bottom_left;
private top_right_left;
private right_bottom_left;
private all_border;
private applyBothFrozenBorders;
private applyBorders;
private createBorders;
private showHideBorders;
private drawAFBorders;
private positionAFBorders;
private createAFBorders;
destroyAutoFillElements(): void;
private showAFBorders;
private hideAFBorders;
private updateValue;
private createBeforeAutoFill;
private getAutoFillCells;
private selectLikeAutoFill;
private mouseUpHandler;
private hideAutoFill;
/**
* @returns {void}
* @hidden
*/
updateAutoFillPosition(): void;
private mouseDownHandler;
private updateStartEndCells;
private updateStartCellsIndex;
private enableDrag;
private clearSelAfterRefresh;
/**
* @returns {void}
* @hidden
*/
addEventListener(): void;
/**
* @returns {void}
* @hidden
*/
removeEventListener(): void;
private wireEvents;
private unWireEvents;
private columnPositionChanged;
private refreshHeader;
private rowsRemoved;
beforeFragAppend(e: {
requestType: string;
}): void;
private getCheckAllBox;
private enableAfterRender;
private render;
private onPropertyChanged;
private hidePopUp;
private initialEnd;
private checkBoxSelectionChanged;
private initPerisistSelection;
private ensureCheckboxFieldSelection;
private dataSuccess;
private setRowSelection;
private getData;
private getAvailableSelectedData;
private refreshPersistSelection;
private actionBegin;
private actionComplete;
private onDataBound;
private updatePersistSelectedData;
private checkSelectAllAction;
private checkSelectAll;
private getCheckAllStatus;
private checkSelect;
private moveIntoUncheckCollection;
private triggerChkChangeEvent;
private updateSelectedRowIndexes;
private updateSelectedRowIndex;
private isAllSelected;
private someDataSelected;
private setCheckAllState;
private checkVirtualCheckBox;
private virtualCheckBoxData;
private isSelectAllRowCount;
private keyDownHandler;
private keyUpHandler;
private clickHandler;
private popUpClickHandler;
private showPopup;
private rowCellSelectionHandler;
private onCellFocused;
private getKeyColIndex;
/**
* Apply ctrl + A key selection
*
* @returns {void}
* @hidden
*/
ctrlPlusA(): void;
private applySpaceSelection;
private applyDownUpKey;
private applyUpDown;
private applyRightLeftKey;
private applyHomeEndKey;
/**
* Apply shift+down key selection
*
* @param {number} rowIndex - specfies the rowIndex
* @param {number} cellIndex - specifies the CellIndex
* @returns {void}
* @hidden
*/
shiftDownKey(rowIndex?: number, cellIndex?: number): void;
private applyShiftLeftRightKey;
private getstackedColumns;
private applyCtrlHomeEndKey;
private addRemoveClassesForRow;
private isRowType;
private isCellType;
private isSingleSel;
private getRenderer;
/**
* Gets the collection of selected records.
*
* @returns {Object[]} returns the Object
*/
getSelectedRecords(): Object[];
/**
* Select the column by passing start column index
*
* @param {number} index - specifies the index
* @returns {void}
*/
selectColumn(index: number): void;
/**
* Select the columns by passing start and end column index
*
* @param {number} startIndex - specifies the start index
* @param {number} endIndex - specifies the end index
* @returns {void}
*/
selectColumnsByRange(startIndex: number, endIndex?: number): void;
/**
* Select the columns by passing column indexes
*
* @param {number[]} columnIndexes - specifies the columnIndexes
* @returns {void}
*/
selectColumns(columnIndexes: number[]): void;
/**
* Select the column with existing column by passing column index
*
* @param {number} startIndex - specifies the start index
* @returns {void}
*/
selectColumnWithExisting(startIndex: number): void;
/**
* Clear the column selection
*
* @param {number} clearIndex - specifies the clearIndex
* @returns {void}
*/
clearColumnSelection(clearIndex?: number): void;
private getselectedCols;
private getSelectedColumnCells;
private columnDeselect;
private updateColProps;
private clearColDependency;
private updateColSelection;
private headerSelectionHandler;
private addEventListener_checkbox;
removeEventListener_checkbox(): void;
private setCheckAllForEmptyGrid;
dataReady(e: {
requestType: string;
}): void;
private actionCompleteHandler;
private selectRowIndex;
private disableInteracted;
private activeTarget;
private getAvailableDataCount;
}