import React from "react"; import "../../Style/TreeTable.css"; import { getStatusColor } from "../TreeChart/dataUtils"; // Импортируем функцию const TreeTable = ({ data }) => { // Фильтруем данные, чтобы убрать "Функциональные задачи" const filteredData = data.filter((item) => item.title !== "Функциональные задачи"); return (
{/* Первый уровень: Заголовки "Медиа сервер" */} {filteredData.map((item, index) => ( ))} {/* Второй уровень: "АО" и "ПО" */} {filteredData.map((item, index) => ( ))} {/* Третий уровень: Вложенные элементы "АО" и "ПО" */} {renderRows(filteredData)}
{item.title}
АО ПО
); }; // Функция для отображения строк с вложенными элементами const renderRows = (data) => { const rows = []; // Находим максимальное количество элементов среди всех "АО" и "ПО" const maxItems = Math.max( ...data.flatMap((item) => [ item.items[0]?.items?.length || 0, // АО item.items[1]?.items?.length || 0 // ПО ]) ); // Генерируем строки for (let i = 0; i < maxItems; i++) { rows.push( {data.map((item, index) => ( {item.items[0]?.items[i]?.title || ""} {item.items[1]?.items[i]?.title || ""} ))} ); } return rows; }; export default TreeTable;