Юниверс DG SDK UI
v2.15.0

Интерфейс TreeProps<T, K>

Свойства компонента дерева

interface TreeProps<T, K extends TreeNodeKeyType = TreeNodeKeyType> {
    actions?: TreeNodeActionItem<T, K>[];
    addText?: ReactNode;
    allowDragOver?: (
        event: DragEvent<HTMLDivElement>,
        dropToNode: TreeNodeType<T, K>,
        draggedNode?: TreeNodeType<T, K>,
    ) => boolean;
    canAdd?: boolean;
    canHasChildren?: boolean | TreeNodeConditionFunc<T, K>;
    canSelectDisabled?: boolean;
    canSelectRootNode?: boolean;
    cellContentRenderer?: (
        node: TreeNodeType<T, K>,
        column: TreeColumn<T, K>,
        defaultRenderer: (
            node: TreeNodeType<T, K>,
            column: TreeColumn<T, K>,
        ) => ReactElement,
    ) => ReactElement;
    colorScheme?: ColorScheme;
    columns: TreeColumn<T, K>[];
    cursorKey?: string;
    disabledNodes?: K[];
    externalDraggedNode?: TreeNodeType<T, K>;
    filter?: (node: TreeNodeType<T, K>) => boolean;
    fitContentWidth?: boolean;
    flatNodes?: T[];
    gridSizes?: string[];
    isActionsEnabled?: (node: TreeNodeType<T, K>) => boolean;
    isAddButtonDisabled?: boolean;
    isAutoHeightFill?: boolean;
    isDeletable?: boolean | TreeNodeConditionFunc<T, K>;
    isDraggable?: boolean;
    isEditable?: boolean | TreeNodeConditionFunc<T, K>;
    isLoading?: boolean;
    isStriped?: boolean;
    maxRowsBeforeOverflow?: number;
    nodeContentRenderer?: (
        node: TreeNodeType<T, K>,
        nodeProps: TreeNodeProps<T, K>,
        defaultRenderer: (
            node: TreeNodeType<T, K>,
            props: TreeNodeProps<T, K>,
        ) => ReactElement,
    ) => ReactElement;
    nodeRenderer?: (
        node: TreeNodeType<T, K>,
        nodeProps: TreeNodeProps<T, K>,
        defaultRenderer: (
            node: TreeNodeType<T, K>,
            props: TreeNodeProps<T, K>,
        ) => ReactElement,
    ) => ReactElement;
    nodes: TreeNodeType<T, K>[];
    onAddNode?: () => void;
    onBeforeNodeSelect?: (node: TreeNodeType<T, K>) => boolean;
    onDragEnd?: (event: DragEvent<HTMLDivElement>) => void;
    onDragStart?: (
        event: DragEvent<HTMLDivElement>,
        node: TreeNodeType<T, K>,
    ) => void;
    onDrop?: (
        event: DragEvent<HTMLDivElement>,
        node: TreeNodeType<T, K>,
    ) => void;
    onEdit?: (
        node: TreeNodeType<T, K>,
        newValue: string,
        cellId: string,
    ) => void;
    onMoveNode?: (
        node: TreeNodeType<T, K>,
        parentNode?: TreeNodeType<T, K>,
        previousNode?: TreeNodeType<T, K>,
    ) => void;
    onNodeCollapse?: (node: TreeNodeType<T, K>) => void;
    onNodeDelete?: (node: TreeNodeType<T, K>) => void;
    onNodeDoubleClick?: (
        node: TreeNodeType<T, K>,
        event: SyntheticEvent<HTMLDivElement>,
    ) => void;
    onNodeExpand?: (node: TreeNodeType<T, K>) => void;
    onNodeMouseEnter?: (node: TreeNodeType<T, K>) => void;
    onNodeMouseLeave?: (node: TreeNodeType<T, K>) => void;
    onNodeSelect?: (node: TreeNodeType<T, K>) => void;
    rightExtraItem?: (nodeData: T) => ReactNode;
    selectedNodes: K[];
    size?: MIDDLE | LARGE;
    skipServiceColumns?: number;
}

Параметры типа

Индекс

Свойства

actions?: TreeNodeActionItem<T, K>[]

Массив действий для узлов.

addText?: ReactNode

Текст кнопки добавления.

allowDragOver?: (
    event: DragEvent<HTMLDivElement>,
    dropToNode: TreeNodeType<T, K>,
    draggedNode?: TreeNodeType<T, K>,
) => boolean

Функция, позволяющая настроить возможность дропа для узла.

Объявление типа

canAdd?: boolean

Признак возможности добавления новых узлов.

canHasChildren?: boolean | TreeNodeConditionFunc<T, K>

Признак, позволяющий иметь дочерние узлы, или функция для проверки.

canSelectDisabled?: boolean

Признак возможности выбирать отключенные узлы.

canSelectRootNode?: boolean

Флаг отключает возможность клика по корневому элементу

cellContentRenderer?: (
    node: TreeNodeType<T, K>,
    column: TreeColumn<T, K>,
    defaultRenderer: (
        node: TreeNodeType<T, K>,
        column: TreeColumn<T, K>,
    ) => ReactElement,
) => ReactElement
colorScheme?: ColorScheme

Цветовая схема дерева.

columns: TreeColumn<T, K>[]

Массив колонок дерева.

cursorKey?: string

Ключ, связанный с позицией курсора.

disabledNodes?: K[]

Массив ключей отключенных узлов.

externalDraggedNode?: TreeNodeType<T, K>

Внешний перетаскиваемый узел.

filter?: (node: TreeNodeType<T, K>) => boolean

Функция фильтрации узлов.

Объявление типа

fitContentWidth?: boolean

Признак растягивания дерева до ширины контейнера.

flatNodes?: T[]

Плоский массив узлов дерева.

gridSizes?: string[]
isActionsEnabled?: (node: TreeNodeType<T, K>) => boolean

Функция проверки включенных действий для узла.

Объявление типа

isAddButtonDisabled?: boolean

Признак недоступности кнопки добавления.

isAutoHeightFill?: boolean

Признак автоматической адаптации высоты дерева.

isDeletable?: boolean | TreeNodeConditionFunc<T, K>

Признак, позволяющий удалять узлы, или функция проверки удаления.

isDraggable?: boolean

Признак возможности перетаскивания узлов.

isEditable?: boolean | TreeNodeConditionFunc<T, K>

Признак возможности редактирования узлов или функция проверки редактирования.

isLoading?: boolean

Признак загрузки данных.

isStriped?: boolean

Признак чередующейся раскраски строк.

maxRowsBeforeOverflow?: number

Максимальное количество строк до появления скролла.

nodeContentRenderer?: (
    node: TreeNodeType<T, K>,
    nodeProps: TreeNodeProps<T, K>,
    defaultRenderer: (
        node: TreeNodeType<T, K>,
        props: TreeNodeProps<T, K>,
    ) => ReactElement,
) => ReactElement
nodeRenderer?: (
    node: TreeNodeType<T, K>,
    nodeProps: TreeNodeProps<T, K>,
    defaultRenderer: (
        node: TreeNodeType<T, K>,
        props: TreeNodeProps<T, K>,
    ) => ReactElement,
) => ReactElement

Кастомный рендерер узла.

Объявление типа

nodes: TreeNodeType<T, K>[]

Массив узлов дерева.

onAddNode?: () => void

Срабатывает при добавлении узла.

onBeforeNodeSelect?: (node: TreeNodeType<T, K>) => boolean

Вызывается перед выбором узла, возвращает разрешение или запрет выбора.

Объявление типа

onDragEnd?: (event: DragEvent<HTMLDivElement>) => void

Срабатывает при окончании перетаскивания.

Объявление типа

    • (event: DragEvent<HTMLDivElement>): void
    • Параметры

      • event: DragEvent<HTMLDivElement>

        Событие drag.

      Возвращает void

onDragStart?: (
    event: DragEvent<HTMLDivElement>,
    node: TreeNodeType<T, K>,
) => void

Срабатывает при начале перетаскивания узла.

Объявление типа

onDrop?: (event: DragEvent<HTMLDivElement>, node: TreeNodeType<T, K>) => void

Срабатывает при броске перетаскиваемого узла.

Объявление типа

onEdit?: (node: TreeNodeType<T, K>, newValue: string, cellId: string) => void

Срабатывает при сохранении редактируемого узла.

Объявление типа

    • (node: TreeNodeType<T, K>, newValue: string, cellId: string): void
    • Параметры

      • node: TreeNodeType<T, K>

        Редактируемый узел.

      • newValue: string

        Новое значение.

      • cellId: string

        Идентификатор ячейки.

      Возвращает void

onMoveNode?: (
    node: TreeNodeType<T, K>,
    parentNode?: TreeNodeType<T, K>,
    previousNode?: TreeNodeType<T, K>,
) => void

Срабатывает при перемещении узла в новое место.

Объявление типа

onNodeCollapse?: (node: TreeNodeType<T, K>) => void

Срабатывает при сворачивании узла.

Объявление типа

onNodeDelete?: (node: TreeNodeType<T, K>) => void

Срабатывает при удалении узла.

Объявление типа

onNodeDoubleClick?: (
    node: TreeNodeType<T, K>,
    event: SyntheticEvent<HTMLDivElement>,
) => void

Срабатывает при двойном клике по узлу.

Объявление типа

onNodeExpand?: (node: TreeNodeType<T, K>) => void

Срабатывает при раскрытии узла.

Объявление типа

onNodeMouseEnter?: (node: TreeNodeType<T, K>) => void

Срабатывает при наведении курсора на узел.

Объявление типа

onNodeMouseLeave?: (node: TreeNodeType<T, K>) => void

Срабатывает при уходе курсора с узла.

Объявление типа

onNodeSelect?: (node: TreeNodeType<T, K>) => void

Срабатывает при выборе узла.

Объявление типа

rightExtraItem?: (nodeData: T) => ReactNode

Функция рендера дополнительной области справа в узле.

Объявление типа

    • (nodeData: T): ReactNode
    • Параметры

      • nodeData: T

        Данные узла.

      Возвращает ReactNode

selectedNodes: K[]

Массив ключей выбранных узлов.

size?: MIDDLE | LARGE
skipServiceColumns?: number