@progress/kendo-angular-grid
Version:
Kendo UI Grid for Angular - high performance data grid with paging, filtering, virtualization, CRUD, and more.
132 lines (131 loc) • 7.33 kB
TypeScript
/**-----------------------------------------------------------------------------------------
* Copyright © 2025 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the project root for more information
*-------------------------------------------------------------------------------------------*/
import { SimpleChange, NgZone, Renderer2, ElementRef, OnInit, OnDestroy, OnChanges, DoCheck, TrackByFunction, TemplateRef } from '@angular/core';
import { GroupDescriptor } from '@progress/kendo-data-query';
import { ColumnBase } from '../columns/column-base';
import { DetailTemplateDirective } from './details/detail-template.directive';
import { GroupsService } from '../grouping/groups.service';
import { ChangeNotificationService } from '../data/change-notification.service';
import { NoRecordsTemplateDirective } from './no-records-template.directive';
import { EditService } from '../editing/edit.service';
import { RowClassFn, RowStickyFn } from './common/row-class';
import { SelectableSettings } from '../selection/types';
import { DomEventsService } from '../common/dom-events.service';
import { SelectionService } from "../selection/selection.service";
import { ColumnInfoService } from "../common/column-info.service";
import { FilterableSettings } from '../filtering/filterable';
import { NavigationService } from '../navigation/navigation.service';
import { GridItem } from '../data/grid-item.interface';
import { DetailsService } from './details/details.service';
import { CellSelectionService } from '../selection/cell-selection.service';
import { SVGIcon } from '@progress/kendo-svg-icons';
import { ContextService } from '../common/provider.service';
import { ColumnsContainer } from '../columns/columns-container';
import { RowArgs } from './common/row-args';
import * as i0 from "@angular/core";
/**
* @hidden
*/
export declare class TableBodyComponent implements OnInit, OnDestroy, OnChanges, DoCheck {
detailsService: DetailsService;
groupsService: GroupsService;
private changeNotification;
editService: EditService;
private ctx;
private ngZone;
private renderer;
private element;
private domEvents;
selectionService: SelectionService;
cellSelectionService: CellSelectionService;
private columnInfoService;
private navigationService;
columns: Array<ColumnBase>;
allColumns: Array<ColumnBase>;
groups: Array<GroupDescriptor>;
detailTemplate: DetailTemplateDirective;
noRecordsTemplate: NoRecordsTemplateDirective;
rowsToRender: Array<GridItem & {
showDetailRow?: boolean;
cells?: any[];
isExpanded?: boolean;
showDataItem?: boolean;
isHighlighted?: boolean;
}>;
skip: number;
selectable: SelectableSettings | boolean;
filterable: FilterableSettings;
noRecordsText: string;
isLocked: boolean;
isLoading: boolean;
isVirtual: boolean;
cellLoadingTemplate: TemplateRef<any>;
skipGroupDecoration: boolean;
lockedColumnsCount: number;
totalColumnsCount: number;
virtualColumns: boolean;
trackBy: TrackByFunction<GridItem>;
rowSticky: RowStickyFn;
totalColumns: ColumnsContainer;
rowClass: RowClassFn;
rowHeight: number;
detailRowHeight: number;
hostClass: boolean;
groupHeaderSlaveCellsCount: number;
groupHeaderColumns: any[];
private clickSubscription;
private touchSubscription;
private l10nSubscription;
private cellKeydownSubscription;
private clickTimeout;
private minusIcon;
private plusIcon;
constructor(detailsService: DetailsService, groupsService: GroupsService, changeNotification: ChangeNotificationService, editService: EditService, ctx: ContextService, ngZone: NgZone, renderer: Renderer2, element: ElementRef, domEvents: DomEventsService, selectionService: SelectionService, cellSelectionService: CellSelectionService, columnInfoService: ColumnInfoService, navigationService: NavigationService);
get newDataItem(): any;
unlockedColumnsCount(item?: any): number;
isAriaSelected(item: any, column: ColumnBase): string;
toggleRow(index: number, dataItem: any): boolean;
detailButtonIconName(viewItem: any): string;
detailButtonSvgIcon(viewItem: any): SVGIcon;
detailButtonTitle(viewItem: any): any;
isOdd(item: any): boolean;
isSelectable(args: RowArgs): boolean;
isRowSelected(item: any): boolean;
isRowSelectable(args: RowArgs): boolean;
trackByWrapper(index: number, item: GridItem): any;
trackByColumns(index: number, item: any): any;
ngDoCheck(): void;
ngAfterViewChecked(): void;
ngOnChanges(changes: {
[propertyName: string]: SimpleChange;
}): void;
logicalRowIndex(rowIndex: number): number;
addRowLogicalIndex(): number;
logicalColIndex(column: any): number;
ngOnInit(): void;
ngOnDestroy(): void;
isEditingCell(index: number, column: any): boolean;
isEditingRow(index: number): boolean;
get isStackedMode(): boolean;
get hasGroupHeaderColumn(): boolean;
get columnsContainer(): any;
get columnsSpan(): number;
get allColumnsSpan(): number;
get colSpan(): number;
get footerColumns(): ColumnBase[];
addStickyColumnStyles(column: ColumnBase): {
[key: string]: any;
};
resizeHandler(): void;
get hasDetailTemplate(): boolean;
private clickHandler;
private emitCellClick;
private cellKeydownHandler;
private cellClickArgs;
private eventTarget;
private applyStickyRowsStyling;
static ɵfac: i0.ɵɵFactoryDeclaration<TableBodyComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<TableBodyComponent, "[kendoGridTableBody]", never, { "columns": { "alias": "columns"; "required": false; }; "allColumns": { "alias": "allColumns"; "required": false; }; "groups": { "alias": "groups"; "required": false; }; "detailTemplate": { "alias": "detailTemplate"; "required": false; }; "noRecordsTemplate": { "alias": "noRecordsTemplate"; "required": false; }; "rowsToRender": { "alias": "rowsToRender"; "required": false; }; "skip": { "alias": "skip"; "required": false; }; "selectable": { "alias": "selectable"; "required": false; }; "filterable": { "alias": "filterable"; "required": false; }; "noRecordsText": { "alias": "noRecordsText"; "required": false; }; "isLocked": { "alias": "isLocked"; "required": false; }; "isLoading": { "alias": "isLoading"; "required": false; }; "isVirtual": { "alias": "isVirtual"; "required": false; }; "cellLoadingTemplate": { "alias": "cellLoadingTemplate"; "required": false; }; "skipGroupDecoration": { "alias": "skipGroupDecoration"; "required": false; }; "lockedColumnsCount": { "alias": "lockedColumnsCount"; "required": false; }; "totalColumnsCount": { "alias": "totalColumnsCount"; "required": false; }; "virtualColumns": { "alias": "virtualColumns"; "required": false; }; "trackBy": { "alias": "trackBy"; "required": false; }; "rowSticky": { "alias": "rowSticky"; "required": false; }; "totalColumns": { "alias": "totalColumns"; "required": false; }; "rowClass": { "alias": "rowClass"; "required": false; }; "rowHeight": { "alias": "rowHeight"; "required": false; }; "detailRowHeight": { "alias": "detailRowHeight"; "required": false; }; }, {}, never, never, true, never>;
}