@docsvision/webclient
Version:
Type definitions for DocsVision WebClient scripts and extensions.
40 lines (39 loc) • 2.21 kB
TypeScript
import { ITreeNodeData } from "@docsvision/webclient/Helpers/Tree/Data/ClientModels/ITreeNodeData";
import { TreeNode } from "@docsvision/webclient/Helpers/Tree/Data/ClientModels/TreeNode";
/** @internal */
export interface ITreeBaseProps<TreeNodeDataT extends ITreeNodeData> {
data?: TreeNodeDataT[];
levelIdent?: string;
expandedToggleMarkerClass?: string;
collapsedToggleMarkerClass?: string;
multiSelect?: boolean;
className?: string;
toggleOnDisabledNodesClick?: boolean;
expandedByDefault?: boolean;
/** Callback function, that called, when node selected */
nodeSelected?: (node: TreeNode) => void;
/** Callback function, that called, when node selected with double-click or enter. */
nodeAccepted?: (node: TreeNode) => void;
/** How virtual nodes will be processed. By default: Vairable */
virtualizationType?: VirtualizationType;
/** Callack function, that called when user press down/up arrows, and focus reached top or bottom of the node list. */
focusOut?: (directionUp: boolean) => void;
treeHeight: number;
/**
* Функция, которая получает индекс элемента и известные кэшированные размеры элементов и возвращает
* примерный размер (высоту для вертикальных списков или ширину для горизонтальных) элемента в переданном индексе.
* Используется только с типом variable, когда свойство itemSizeGetter не определено.
* Используйте это свойство, если вы не знаете точный размер элемента перед его отрисовкой, но хотите, чтобы он всё-равно занимал место в списке.
*/
itemSizeEstimator?: (index: number, cache: {
[index: number]: number;
}) => number;
}
/** See ReactList for help */
export declare enum VirtualizationType {
Simple = 0,
/** All rows has one height */
Uniform = 1,
/** Rows can have variadic height */
Variable = 2
}