import * as React from 'react'; import { Button } from '@tnsu/ui-kit'; import { EmptyState } from '../../shared/components/EmptyState'; import { IMenuAnchor } from '../_tree/ContextMenu'; import { countNodes } from '../_tree/treeRules'; import { ObjectNode, ObjectTree } from './objectsTypes'; import { IObjectTreeView } from './useObjectTreeView'; import { ObjectTreeNode } from './ObjectTreeNode'; import { OBJECTS_TEXTS } from './texts'; import styles from './ObjectsPage.module.scss'; interface Props { tree: ObjectTree; canEdit: boolean; view: IObjectTreeView; onOpenMenu: (node: ObjectNode, anchor: IMenuAnchor) => void; onAddRoot: () => void; } /** Панель «N объектов / Развернуть / Свернуть» и дерево объектов (или «Объекты не найдены»). */ export const ObjectsTree: React.FC = ({ tree, canEdit, view, onOpenMenu, onAddRoot }) => ( <>
{OBJECTS_TEXTS.toolbar.total(countNodes(tree.roots))}
{tree.roots.length === 0 && ( {OBJECTS_TEXTS.emptyAdd} ) } /> )}
{tree.roots.map((node) => ( ))}
);