UNPKG

@syncfusion/ej2-grids

Version:

Feature-rich JavaScript datagrid (datatable) control with built-in support for editing, filtering, grouping, paging, sorting, and exporting to Excel.

218 lines (217 loc) 6.18 kB
import { Column } from '../models/column'; import { GroupSettingsModel } from '../base/grid-model'; import { ServiceLocator } from '../services/service-locator'; import { IGrid, IAction, NotifyArgs } from '../base/interface'; import { Row } from '../models/row'; /** * * The `Group` module is used to handle group action. */ export declare class Group implements IAction { private sortRequired; /** @hidden */ groupSettings: GroupSettingsModel; /** @hidden */ element: HTMLElement; /** @hidden */ groupSortFocus: boolean; /** @hidden */ groupTextFocus: boolean; /** @hidden */ groupCancelFocus: boolean; /** @hidden */ preventFocusOnGroup: boolean; private colName; private column; private isAppliedGroup; private isAppliedUnGroup; private isAppliedCaptionRowBorder; private reorderingColumns; private groupGenerator; private visualElement; private helper; private dragStart; private drag; private dragStop; private animateDropper; private addLabel; private rearrangeGroup; private drop; private parent; private serviceLocator; private contentRefresh; private sortedColumns; private l10n; private aria; private focus; /** * Constructor for Grid group module * * @param {IGrid} parent - specifies the IGrid * @param {GroupSettingsModel} groupSettings - specifies the GroupSettingsModel * @param {string[]} sortedColumns - specifies the sortedColumns * @param {ServiceLocator} serviceLocator - specifies the serviceLocator * @hidden */ constructor(parent?: IGrid, groupSettings?: GroupSettingsModel, sortedColumns?: string[], serviceLocator?: ServiceLocator); private columnDrag; private columnDragStart; private columnDrop; /** * @returns {void} * @hidden */ addEventListener(): void; /** * @returns {void} * @hidden */ removeEventListener(): void; private initialEnd; private keyPressHandler; /** * @returns {Element[]} - Return the focusable grouping items * @hidden */ getFocusableGroupedItems(): Element[]; private wireEvent; private unWireEvent; private onFocusIn; private onFocusOut; private addOrRemoveFocus; private clickHandler; private auxilaryclickHandler; private unGroupFromTarget; private toogleGroupFromHeader; private applySortFromTarget; /** * Expands or collapses grouped rows by target element. * * @param {Element} target - Defines the target element of the grouped row. * @returns {void} */ expandCollapseRows(target: Element): void; /** * The function is used to set border in last row * * @returns { void } * @hidden */ lastCaptionRowBorder(): void; private updateVirtualRows; private expandCollapse; /** * Expands all the grouped rows of the Grid. * * @returns {void} */ expandAll(): void; /** * Collapses all the grouped rows of the Grid. * * @returns {void} */ collapseAll(): void; /** * The function is used to render grouping * * @returns {void} * @hidden */ render(): void; private renderGroupDropArea; private updateGroupDropArea; private initDragAndDrop; private initializeGHeaderDrag; private initializeGHeaderDrop; /** * Groups a column by column name. * * @param {string} columnName - Defines the column name to group. * @returns {void} */ groupColumn(columnName: string): void; /** * Ungroups a column by column name. * * @param {string} columnName - Defines the column name to ungroup. * @returns {void} */ ungroupColumn(columnName: string): void; /** * The function used to update groupSettings * * @returns {void} * @hidden */ updateModel(): void; /** * The function used to trigger onActionComplete * * @param {NotifyArgs} e - specifies the NotifyArgs * @returns {void} * @hidden */ onActionComplete(e: NotifyArgs): void; private groupAddSortingQuery; private createElement; private addColToGroupDrop; private createSeparator; private refreshToggleBtn; private removeColFromGroupDrop; private onPropertyChanged; private updateGroupedColumn; private updateButtonVisibility; private enableAfterRender; /** * To destroy the reorder * * @returns {void} * @hidden */ destroy(): void; /** * Clears all the grouped columns of the Grid. * * @returns {void} */ clearGrouping(): void; /** * For internal use only - Get the module name. * * @returns {string} returns the module name * @private */ protected getModuleName(): string; private refreshSortIcons; private getGHeaderCell; private onGroupAggregates; private updateLazyLoadGroupAggregates; private destroyRefreshGroupCaptionFooterTemplate; private updateLazyLoadGroupAggregatesRow; private updateLazyLoadGroupAggregatesCell; private getGroupCaptionRowObject; /** * @param { boolean } groupCaptionTemplate - Defines template either group caption or footer * @returns { Object[] } - Returns template array * @hidden */ getGroupAggregateTemplates(groupCaptionTemplate: boolean): Object[]; /** * @param { Row<Column> } fromRowObj - Defines group key changed Data row object. * @param { Row<Column> } toRowObj - Defines group key setting reference Data row object. * @returns { void } * @hidden */ groupedRowReorder(fromRowObj: Row<Column>, toRowObj: Row<Column>): void; private groupReorderHandler; private updatedRowObjChange; private groupReorderRefreshHandler; private getGroupParentFooterAggregateRowObject; private evaluateGroupAggregateValueChange; private gettingVirtualData; private iterateGroupAggregates; updateExpand(args: { uid?: string; isExpand?: boolean; }): void; }