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

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

Свойства узла дерева.

interface TreeNodeProps<T, K extends TreeNodeKeyType = TreeNodeKeyType> {
    actions: TreeNodeActionItem<T, K>[];
    allowDragOver?: (
        event: DragEvent<HTMLDivElement>,
        dropToNode: TreeNodeType<T, K>,
        draggedNode?: TreeNodeType<T, K>,
    ) => 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;
    childrenRenderer?: (
        node: TreeNodeType<T, K>,
        nodeProps: TreeNodeProps<T, K>,
        defaultRenderer: (
            node: TreeNodeType<T, K>,
            props: TreeNodeProps<T, K>,
        ) => ReactElement,
    ) => ReactElement;
    columns: TreeColumn<T, K>[];
    contentRenderer?: (
        node: TreeNodeType<T, K>,
        nodeProps: TreeNodeProps<T, K>,
        defaultRenderer: (
            node: TreeNodeType<T, K>,
            props: TreeNodeProps<T, K>,
        ) => ReactElement,
    ) => ReactElement;
    cursorKey?: string;
    disabledItems?: StringKeyMap<any>;
    draggedNode?: TreeNodeType<T, K>;
    filter?: (node: TreeNodeType<T, K>) => boolean;
    gridSizes?: string[];
    hideExpand?: boolean;
    isActionsEnabled?: (node: TreeNodeType<T, K>) => boolean;
    isDeletable?: boolean | TreeNodeConditionFunc<T, K>;
    isDisabled?: boolean | TreeNodeConditionFunc<T, K>;
    isDraggable?: boolean;
    isEditable?: boolean | TreeNodeConditionFunc<T, K>;
    isExpanded: boolean;
    isLastChild: boolean;
    isLoading?: boolean;
    isRoot?: boolean;
    isSelected?: boolean | TreeNodeConditionFunc<T, K>;
    lastChildStreak: number;
    level: number;
    node: TreeNodeType<T, K>;
    onBackwardDrop?: (
        event: DragEvent,
        node: TreeNodeType<T, K>,
        dropConfig: TreeNodeDropConfig<T, K>,
    ) => void;
    onBeforeNodeSelect?: (node: TreeNodeType<T, K>) => boolean;
    onDragEnd?: (event: DragEvent<HTMLDivElement>) => void;
    onDragStart?: (
        event: DragEvent<HTMLDivElement>,
        node: TreeNodeType<T, K>,
    ) => void;
    onEdit?: (
        node: TreeNodeType<T, K>,
        newValue: string,
        cellId: string,
    ) => 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;
    preventChildrenRender?: boolean;
    rightExtraItem?: (nodeData: T) => ReactNode;
    selectedItems?: StringKeyMap<any>;
    size?: MIDDLE | LARGE;
    skipServiceColumns?: number;
}

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

Индекс

Свойства

actions: TreeNodeActionItem<T, K>[]

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

allowDragOver?: (
    event: DragEvent<HTMLDivElement>,
    dropToNode: TreeNodeType<T, K>,
    draggedNode?: TreeNodeType<T, K>,
) => 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

Функция для кастомного рендеринга содержимого ячейки.

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

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

Функция для кастомного рендеринга дочерних узлов.

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

columns: TreeColumn<T, K>[]

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

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

Функция для кастомного рендеринга содержимого ущла.

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

cursorKey?: string

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

Окончание поддержки:2.16.0
disabledItems?: StringKeyMap<any>

Отключенные элементы

Следует использовать isDisabled

draggedNode?: TreeNodeType<T, K>

Текущий перемещаемый узел.

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

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

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

gridSizes?: string[]

Настройки CSS Grid колонок

hideExpand?: boolean

Признак скрытия управляющего элемента разворачивания.

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

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

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

isDeletable?: boolean | TreeNodeConditionFunc<T, K>

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

isDisabled?: boolean | TreeNodeConditionFunc<T, K>

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

isDraggable?: boolean

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

isEditable?: boolean | TreeNodeConditionFunc<T, K>

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

isExpanded: boolean

Признак состояния узла (развернут/свернут).

isLastChild: boolean

Является ли текущий узел последним дочерним.

isLoading?: boolean

Признак загрузки узла.

isRoot?: boolean

Является ли узел корневым.

isSelected?: boolean | TreeNodeConditionFunc<T, K>

Признак выбранного узла или функция, проверяющая выбор узла.

lastChildStreak: number

Длина последовательности последних дочерних узлов.

level: number

Текущий уровень вложенности узла.

node: TreeNodeType<T, K>

Узел дерева.

onBackwardDrop?: (
    event: DragEvent,
    node: TreeNodeType<T, K>,
    dropConfig: TreeNodeDropConfig<T, K>,
) => 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

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

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

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

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

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

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

preventChildrenRender?: boolean

Признак предотвращения рендеринга дочерних узлов.

rightExtraItem?: (nodeData: T) => ReactNode

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

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

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

      • nodeData: T

        Данные узла.

      Возвращает ReactNode

Окончание поддержки:2.16.0
selectedItems?: StringKeyMap<any>

Выбранные элементы

Следует использовать isSelected

size?: MIDDLE | LARGE

Высота узла

skipServiceColumns?: number

Количество левых CSS Grid колонок, которое необходимо добавить для рендера левой колонки узла