import GanttElasticContext from "@/GanttElasticContext"; import _ from "lodash"; import React, { useContext, useEffect, useMemo, useRef } from "react"; import TaskListHeader from "./TaskListHeader"; import TaskListItem from "./TaskListItem"; // eslint-disable-next-line @typescript-eslint/no-empty-interface export interface TaskListProps {} const TaskList: React.FC = () => { const { style, visibleTasks, rowsHeight, refs } = useContext( GanttElasticContext ); /** * refs */ const taskListWrapperRef = useRef(null); const taskListRef = useRef(null); const taskListItemsRef = useRef(null); useEffect(() => { refs.taskListWrapper = taskListWrapperRef; refs.taskList = taskListRef; refs.taskListItems = taskListItemsRef; }, [refs]); return useMemo( () => (
{_.map(visibleTasks, task => ( ))}
), [rowsHeight, style, visibleTasks] ); }; export default TaskList;