@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
TypeScript
/**
* @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;
}