import React, { useState, useEffect, useCallback } from "react"; import "./ProjectInfra.css"; import BuildingModel from "./Infrastructure/BuildingModel"; import FloorModel from "./Infrastructure/FloorModel"; import showToast from "../../services/toastService"; import WorkAreaModel from "./Infrastructure/WorkAreaModel"; import TaskModel from "./Infrastructure/TaskModel"; import ProjectRepository, { TasksRepository, } from "../../repositories/ProjectRepository"; import { useHasUserPermission } from "../../hooks/useHasUserPermission"; import { MANAGE_PROJECT_INFRA } from "../../utils/constants"; import InfraTable from "./Infrastructure/InfraTable"; import { cacheData, clearCacheKey, getCachedData, } from "../../slices/apiDataManager"; import { useProjectDetails, useProjectInfra } from "../../hooks/useProjects"; import { useDispatch, useSelector } from "react-redux"; import { refreshData } from "../../slices/localVariablesSlice"; import eventBus from "../../services/eventBus"; import {useParams} from "react-router-dom"; import GlobalModel from "../common/GlobalModel"; const ProjectInfra = ( {data, onDataChange, eachSiteEngineer} ) => { const {projectId} = useParams() const reloadedData = useSelector((store) => store.localVariables.reload); const [ expandedBuildings, setExpandedBuildings ] = useState( [] ); const {projectInfra,isLoading,error} = useProjectInfra(projectId) const { projects_Details, refetch, loading } = useProjectDetails(data?.id); const [ project, setProject ] = useState( projects_Details ); const ManageInfra = useHasUserPermission(MANAGE_PROJECT_INFRA); const [showModalFloor, setshowModalFloor] = useState(false); const [showModalWorkArea, setshowModalWorkArea] = useState(false); const [showModalTask, setshowModalTask] = useState(false); const [showModalBuilding, setshowModalBuilding] = useState(false); const dispatch = useDispatch(); useEffect(() => { setProject(projectInfra); }, [data, projects_Details]); // useEffect(() => { // if (reloadedData) { // refetch(); // dispatch(refreshData(false)); // } // }, [reloadedData]); const signalRHandler = (response) => { setProject(response); } return ( <> {showModalBuilding && setshowModalBuilding( false )}> setshowModalBuilding( false )} /> } {showModalFloor && setshowModalFloor(false)}> setshowModalFloor(false)} /> } {showModalWorkArea && setshowModalWorkArea(false)} > setshowModalWorkArea(false)} /> } {showModalTask && ( setshowModalTask(false)}> setshowModalTask(false)} /> )}
{isLoading &&

Loading....

} {projectInfra && projectInfra?.length > 0 && ( )} {!isLoading && projectInfra?.length == 0 &&

No Infra Avaiable

}
); }; export default ProjectInfra;