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) => (
|
{item.title}
|
))}
{/* Второй уровень: "АО" и "ПО" */}
{filteredData.map((item, index) => (
|
АО
|
ПО
|
))}
{/* Третий уровень: Вложенные элементы "АО" и "ПО" */}
{renderRows(filteredData)}
);
};
// Функция для отображения строк с вложенными элементами
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;