UNPKG

@progress/kendo-angular-grid

Version:

Kendo UI Grid for Angular - high performance data grid with paging, filtering, virtualization, CRUD, and more.

147 lines (146 loc) 8.06 kB
/**----------------------------------------------------------------------------------------- * 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, GroupResult } 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 { GroupItem } from '../data/group-item.interface'; import { GroupFooterItem } from '../data/group-footer-item.interface'; import { DataItem } from '../data/data-item.interface'; 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 { RowspanService } from './rowspan.service'; 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; private rowspanService; columns: Array<ColumnBase>; allColumns: Array<ColumnBase>; groups: Array<GroupDescriptor>; detailTemplate: DetailTemplateDirective; noRecordsTemplate: NoRecordsTemplateDirective; data: Array<GridItem>; skip: number; selectable: SelectableSettings | boolean; filterable: FilterableSettings; noRecordsText: string; isLocked: boolean; isLoading: boolean; isVirtual: boolean; cellLoadingTemplate: TemplateRef<any>; skipGroupDecoration: boolean; showGroupFooters: boolean; lockedColumnsCount: number; totalColumnsCount: number; virtualColumns: boolean; trackBy: TrackByFunction<GridItem>; rowSticky: RowStickyFn; totalColumns: ColumnsContainer; rowClass: RowClassFn; hostClass: boolean; groupHeaderSlaveCellsCount: number; groupHeaderColumns: any[]; private clickSubscription; private touchSubscription; private l10nSubscription; private cellKeydownSubscription; private clickTimeout; private minusIcon; private plusIcon; private dataArray; private rerender; 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, rowspanService: RowspanService); get newDataItem(): any; get cachedDataArray(): any[]; unlockedColumnsCount(item?: any): number; shouldSkipCell(rowIndex: number, colIndex: number): boolean; getRowspan(row: RowArgs, column: ColumnBase, colIndex: number): number; isAriaSelected(item: any, column: ColumnBase): string; toggleRow(index: number, dataItem: any): boolean; isExpanded(viewItem: any): boolean; detailButtonIconName(viewItem: any): string; detailButtonSvgIcon(viewItem: any): SVGIcon; detailButtonTitle(viewItem: any): any; isGroup(item: GridItem): boolean; isDataItem(item: GridItem): boolean; isFooter(item: GridItem): boolean; isFooterItemInExpandedGroup(item: GroupFooterItem): boolean; isDataItemInExpandedGroup(item: DataItem): boolean; isInExpandedGroup(item: { data: GroupResult; index: string; parentGroup: GroupItem; }): boolean; isParentGroupExpanded(item: GroupItem): boolean; 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 hasGroupHeaderColumn(): boolean; get columnsContainer(): any; get columnsSpan(): number; get allColumnsSpan(): number; get colSpan(): number; get footerColumns(): ColumnBase[]; showGroupHeader(item: any): boolean; addStickyColumnStyles(column: ColumnBase): { [key: string]: any; }; resizeHandler(): void; private get hasDetailTemplate(); 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; }; "data": { "alias": "data"; "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; }; "showGroupFooters": { "alias": "showGroupFooters"; "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; }; }, {}, never, never, true, never>; }