UNPKG

@progress/kendo-react-treelist

Version:

React TreeList enables the display of self-referencing tabular data. KendoReact TreeList package

146 lines (145 loc) 5.58 kB
/** * @license *------------------------------------------------------------------------------------------- * Copyright © 2026 Progress Software Corporation. All rights reserved. * Licensed under commercial license. See LICENSE.md in the package root for more information *------------------------------------------------------------------------------------------- */ import { default as PropTypes } from 'prop-types'; import { CommonDragLogic, TableKeyboardNavigationContextType } from '@progress/kendo-react-data-tools'; import { TreeListCellProps } from './interfaces/TreeListCellProps'; import { TreeListProps } from './interfaces/TreeListProps'; import { TreeListHeaderCellProps } from './interfaces/TreeListHeaderCellProps'; import { TreeListFilterCellProps } from './interfaces/TreeListFilterCellProps'; import * as React from 'react'; /** * Represents the [KendoReact TreeList component](https://www.telerik.com/kendo-react-ui/components/treelist/get-started). */ export declare class TreeList extends React.Component<TreeListProps, Record<string, never>> { /** * @hidden */ static propTypes: { data: PropTypes.Requireable<any[]>; resizable: PropTypes.Requireable<boolean>; reorderable: PropTypes.Requireable<boolean>; sortable: PropTypes.Requireable<NonNullable<boolean | PropTypes.InferProps<{ mode: PropTypes.Requireable<string>; allowUnsort: PropTypes.Requireable<boolean>; }> | null | undefined>>; onSortChange: PropTypes.Requireable<(...args: any[]) => any>; sort: PropTypes.Requireable<any[]>; columns: PropTypes.Requireable<(object | null | undefined)[]>; columnVirtualization: PropTypes.Requireable<boolean>; filter: PropTypes.Requireable<any[]>; onFilterChange: PropTypes.Requireable<(...args: any[]) => any>; filterRow: PropTypes.Requireable<any>; toolbar: PropTypes.Requireable<any>; noRecords: PropTypes.Requireable<any>; onExpandChange: PropTypes.Requireable<(...args: any[]) => any>; expandField: PropTypes.Requireable<string>; subItemsField: PropTypes.Requireable<string>; selectedField: PropTypes.Requireable<string>; onSelectionChange: PropTypes.Requireable<(...args: any[]) => any>; onHeaderSelectionChange: PropTypes.Requireable<(...args: any[]) => any>; onRowClick: PropTypes.Requireable<(...args: any[]) => any>; onItemChange: PropTypes.Requireable<(...args: any[]) => any>; editField: PropTypes.Requireable<string>; scrollable: PropTypes.Requireable<string>; rowHeight: PropTypes.Requireable<number>; style: PropTypes.Requireable<object>; tableProps: PropTypes.Requireable<object>; pager: PropTypes.Requireable<any>; skip: PropTypes.Requireable<number>; take: PropTypes.Requireable<number>; onPageChange: PropTypes.Requireable<(...args: any[]) => any>; onDataStateChange: PropTypes.Requireable<(...args: any[]) => any>; onColumnResize: PropTypes.Requireable<(...args: any[]) => any>; onColumnReorder: PropTypes.Requireable<(...args: any[]) => any>; dataItemKey: PropTypes.Requireable<string>; navigatable: PropTypes.Requireable<boolean>; }; /** @hidden */ static contextType: React.Context<TableKeyboardNavigationContextType | undefined>; /** * The HTML element of the TreeList component. */ element: HTMLDivElement | null; private wrapperScrollLeft; private wrapperScrollTop; private updateOnScroll; private tbodyOffsetTop; private prevData; private flattedData; private extendedColumn; private columnsMap; private columnResize; protected dragLogic: CommonDragLogic<TreeListCellProps, TreeListHeaderCellProps, TreeListFilterCellProps>; private get _treeListId(); private get document(); private contextStateRef; private navigationStateRef; private readonly showLicenseWatermark; private readonly licenseMessage; constructor(props: TreeListProps); /** * Method to allow the scroll to be set to a specific row index. * * @param options - Object, containing the rowIndex to which is going to be scrolled. */ scrollIntoView: (options: { rowIndex?: number; }) => void; /** * @hidden */ componentDidMount(): void; /** * @hidden */ getSnapshotBeforeUpdate(): null; /** * @hidden */ componentDidUpdate(prevProps: TreeListProps): void; /** * @hidden */ componentWillUnmount(): void; /** * @hidden */ render(): React.JSX.Element; private getExtendedColumn; private getColumnsMap; private get columns(); private get flatData(); private onKeyDown; private onFocus; private onRowDrag; private onRowDrop; private columnReorder; private onResize; private handleOnScroll; private calculateSizes; private itemChange; private selectionChange; private onHeaderSelectionChange; private selectionRelease; private sortChange; private headerFilterChange; private filterChange; private columnMenuFilterChange; private expandChange; private rowClick; private rowDoubleClick; private rowContextMenu; private onPageChange; private raiseDataEvent; private getDataState; private getArguments; private expandedSubItems; private getLeafDataItems; private expanded; private hasChildren; }