@mentor-apm/react-sortable-tree
Version:
Drag-and-drop sortable component for nested data and hierarchies
34 lines (33 loc) • 1.07 kB
TypeScript
import React from 'react';
import { ConnectDropTarget } from 'react-dnd';
import './tree-node.css';
import { TreeItem, TreePath } from '.';
export interface TreeNode {
node: TreeItem;
}
export interface FlatDataItem extends TreeNode, TreePath {
lowerSiblingCounts: number[];
parentNode: TreeItem;
}
export interface TreeRendererProps {
treeIndex: number;
treeId: string;
swapFrom?: number | undefined;
swapDepth?: number | undefined;
swapLength?: number | undefined;
scaffoldBlockPxWidth: number;
lowerSiblingCounts: number[];
rowHeight: number | ((treeIndex: number, node: any, path: any[]) => number);
listIndex: number;
children: JSX.Element[];
style?: React.CSSProperties | undefined;
connectDropTarget: ConnectDropTarget;
isOver: boolean;
canDrop?: boolean | undefined;
draggedNode?: TreeItem | undefined;
getPrevRow: () => FlatDataItem | undefined;
node: TreeItem;
path: number[];
}
declare const TreeNodeComponent: React.FC<TreeRendererProps>;
export default TreeNodeComponent;