/
kaws
/
ui-kit-ce
Обзор
Документация
Войти
/
kaws
/
ui-kit-ce
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
develop
packages/tree-dnd/src/defaultComponents.ts
64 строки
2 KB
Pavel Uryadyshev
feat(tree-dnd): реализован новый компонент Tree с поддержкой drag-and-drop
09 июл 2025, 13:07
09 июл 2025, 13:07
a06fe68
Код
Авторство
О чём код?
import { TreeComponents as PvTreeComponents, defaultTreeComponents as pvDefaultTreeComponents, } from '@v-uik/tree' import { TreeMainItemProps, TreeMainItem, TreeNodeDragButton, TreeNodeDragButtonProps, TreeNodeDragIcon, TreeNodeDragIconProps, } from './userComponents' import { TreeItem } from './types' export type TreeComponents<TItem = TreeItem> = Omit< PvTreeComponents<TItem>, 'Item' > & { /** * Базовый элемент дерева. * * @inner */ Item: React.ComponentType<TreeMainItemProps<TItem>> | null /** * Кнопка для перетаскивания узла дерева. * * @inner */ DragButton: React.ComponentType<TreeNodeDragButtonProps<TItem>> | null /** * Иконка кнопки для перетаскивания узла дерева. * * @inner */ DragIcon: React.ComponentType<TreeNodeDragIconProps<TItem>> | null } export type TreeComponentsConfig<TItem = TreeItem> = Partial< TreeComponents<TItem> > export const defaultTreeComponents: TreeComponents = { ...pvDefaultTreeComponents, DragButton: TreeNodeDragButton, DragIcon: TreeNodeDragIcon, Item: TreeMainItem, } export type TreeComponentsGeneric<TItem = TreeItem> = TreeComponents<TItem> export const getComponents = <TItem = TreeItem>( componentProp?: TreeComponentsConfig<TItem> | undefined ): TreeComponentsGeneric<TItem> => ({ ...defaultTreeComponents, ...componentProp, } as TreeComponentsGeneric<TItem>) export type { TreeMainItemProps, TreeNodeDragIconProps, TreeNodeDragButtonProps, }