Adding Services Dropdown in Infrastructure. #410

Merged
vikas.nale merged 5 commits from Kartik_Task#1229 into Organization_Management 2025-09-20 06:00:07 +00:00
Showing only changes of commit ea219b7176 - Show all commits

View File

@ -21,18 +21,17 @@ import { useProjectDetails, useProjectInfra } from "../../hooks/useProjects";
import { useDispatch, useSelector } from "react-redux"; import { useDispatch, useSelector } from "react-redux";
import { refreshData } from "../../slices/localVariablesSlice"; import { refreshData } from "../../slices/localVariablesSlice";
import eventBus from "../../services/eventBus"; import eventBus from "../../services/eventBus";
import {useParams} from "react-router-dom"; import { useParams } from "react-router-dom";
import GlobalModel from "../common/GlobalModel"; import GlobalModel from "../common/GlobalModel";
const ProjectInfra = ( {data, onDataChange, eachSiteEngineer} ) => const ProjectInfra = ({ data, onDataChange, eachSiteEngineer }) => {
{
// const projectId = useSelector((store)=>store.localVariables.projectId) // const projectId = useSelector((store)=>store.localVariables.projectId)
const projectId = useSelectedProject(); const projectId = useSelectedProject();
const reloadedData = useSelector((store) => store.localVariables.reload); const reloadedData = useSelector((store) => store.localVariables.reload);
const [ expandedBuildings, setExpandedBuildings ] = useState( [] ); const [expandedBuildings, setExpandedBuildings] = useState([]);
const {projectInfra,isLoading,error} = useProjectInfra(projectId) const { projectInfra, isLoading, error } = useProjectInfra(projectId)
const { projects_Details, refetch, loading } = useProjectDetails(data?.id); const { projects_Details, refetch, loading } = useProjectDetails(data?.id);
const [ project, setProject ] = useState( projects_Details ); const [project, setProject] = useState(projects_Details);
const ManageInfra = useHasUserPermission(MANAGE_PROJECT_INFRA); const ManageInfra = useHasUserPermission(MANAGE_PROJECT_INFRA);
const ManageTask = useHasUserPermission(MANAGE_TASK) const ManageTask = useHasUserPermission(MANAGE_TASK)
const [showModalFloor, setshowModalFloor] = useState(false); const [showModalFloor, setshowModalFloor] = useState(false);
@ -58,29 +57,29 @@ const ProjectInfra = ( {data, onDataChange, eachSiteEngineer} ) =>
return ( return (
<> <>
{showModalBuilding && <GlobalModel isOpen={showModalBuilding} size="md" closeModal={() => setshowModalBuilding( false )}> {showModalBuilding && <GlobalModel isOpen={showModalBuilding} size="md" closeModal={() => setshowModalBuilding(false)}>
<BuildingModel <BuildingModel
project={projectInfra} project={projectInfra}
onClose={() => setshowModalBuilding( false )} onClose={() => setshowModalBuilding(false)}
/> />
</GlobalModel>} </GlobalModel>}
{showModalFloor && <GlobalModel isOpen={showModalFloor} size="md" closeModal={()=>setshowModalFloor(false)}> {showModalFloor && <GlobalModel isOpen={showModalFloor} size="md" closeModal={() => setshowModalFloor(false)}>
<FloorModel <FloorModel
project={projectInfra} project={projectInfra}
onClose={()=>setshowModalFloor(false)} onClose={() => setshowModalFloor(false)}
/> />
</GlobalModel>} </GlobalModel>}
{showModalWorkArea && <GlobalModel isOpen={showModalWorkArea} size="lg" closeModal={()=>setshowModalWorkArea(false)} > {showModalWorkArea && <GlobalModel isOpen={showModalWorkArea} size="lg" closeModal={() => setshowModalWorkArea(false)} >
<WorkAreaModel <WorkAreaModel
project={projectInfra} project={projectInfra}
onClose={()=>setshowModalWorkArea(false)} onClose={() => setshowModalWorkArea(false)}
/> />
</GlobalModel>} </GlobalModel>}
{showModalTask && ( <GlobalModel isOpen={showModalTask} size="lg" closeModal={()=>setshowModalTask(false)}> {showModalTask && (<GlobalModel isOpen={showModalTask} size="lg" closeModal={() => setshowModalTask(false)}>
<TaskModel <TaskModel
project={projectInfra} project={projectInfra}
onClose={()=>setshowModalTask(false)} onClose={() => setshowModalTask(false)}
/> />
</GlobalModel>)} </GlobalModel>)}
<div className="col-md-12 col-lg-12 col-xl-12 order-0 mb-4"> <div className="col-md-12 col-lg-12 col-xl-12 order-0 mb-4">
<div className="card"> <div className="card">
@ -88,38 +87,59 @@ const ProjectInfra = ( {data, onDataChange, eachSiteEngineer} ) =>
<div className="align-items-center"> <div className="align-items-center">
<div className="row "> <div className="row ">
<div <div
className={`col-12 text-end mb-1 `} className="dataTables_length text-start py-2 px-6 col-md-4 col-12"
id="DataTables_Table_0_length"
> >
{ManageInfra && (<> <label>
<button <select
type="button" name="DataTables_Table_0_length"
className="link-button btn btn-xs rounded-md link-button-sm m-1 btn-primary" aria-controls="DataTables_Table_0"
onClick={()=>setshowModalBuilding(true)} className="form-select form-select-sm"
> aria-label="Select Service"
<i className="bx bx-plus-circle me-2"></i> defaultValue="Fire-Fitting"
Manage Building // onChange={handleServiceChange}
</button> >
<button <option value="Fire-Fitting">Fire-Fitting</option>
type="button" <option value="Welding">Welding</option>
className="link-button btn btn-xs rounded-md m-1 btn-primary" <option value="Plumbing">Plumbing</option>
onClick={()=>setshowModalFloor(true)} <option value="Electrical">Electrical</option>
> </select>
<i className="bx bx-plus-circle me-2"></i> </label>
Manage Floors </div>
</button>
<button {/* Buttons Section (aligned to right) */}
type="button" <div className="col-md-8 col-12 text-end mb-1">
className="link-button btn btn-xs rounded-md m-1 btn-primary" {ManageInfra && (
onClick={() => setshowModalWorkArea(true)} <>
> <button
<i className="bx bx-plus-circle me-2"></i> type="button"
Manage Work Areas className="link-button btn btn-xs rounded-md link-button-sm m-1 btn-primary"
</button></>)} onClick={() => setshowModalBuilding(true)}
>
<i className="bx bx-plus-circle me-2"></i>
Manage Building
</button>
<button
type="button"
className="link-button btn btn-xs rounded-md m-1 btn-primary"
onClick={() => setshowModalFloor(true)}
>
<i className="bx bx-plus-circle me-2"></i>
Manage Floors
</button>
<button
type="button"
className="link-button btn btn-xs rounded-md m-1 btn-primary"
onClick={() => setshowModalWorkArea(true)}
>
<i className="bx bx-plus-circle me-2"></i>
Manage Work Areas
</button></>)}
{(ManageTask || ManageInfra) && (<button {(ManageTask || ManageInfra) && (<button
type="button" type="button"
className="link-button btn btn-xs rounded-md m-1 btn-primary" className="link-button btn btn-xs rounded-md m-1 btn-primary"
onClick={()=>setshowModalTask(true)} onClick={() => setshowModalTask(true)}
> >
<i className="bx bx-plus-circle me-2"></i> <i className="bx bx-plus-circle me-2"></i>
Create Tasks Create Tasks
@ -132,8 +152,8 @@ const ProjectInfra = ( {data, onDataChange, eachSiteEngineer} ) =>
<InfraTable <InfraTable
buildings={projectInfra} buildings={projectInfra}
projectId={projectId} projectId={projectId}
// handleFloor={submitData} // handleFloor={submitData}
// signalRHandler ={signalRHandler} // signalRHandler ={signalRHandler}
/> />
)} )}
{!isLoading && projectInfra?.length == 0 && <div className="mt-5"><p>No Infra Avaiable</p></div>} {!isLoading && projectInfra?.length == 0 && <div className="mt-5"><p>No Infra Avaiable</p></div>}