Loading...
)}
diff --git a/src/components/Project/Infrastructure/EditActivityModal.jsx b/src/components/Project/Infrastructure/EditActivityModal.jsx
index 44d7b87e..a0077e26 100644
--- a/src/components/Project/Infrastructure/EditActivityModal.jsx
+++ b/src/components/Project/Infrastructure/EditActivityModal.jsx
@@ -47,7 +47,8 @@ const EditActivityModal = ({
completedWork: 0,
};
- const { projects_Details, refetch } = useProjectDetails(selectedProject);
+ const {projects_Details, refetch} = useProjectDetails( selectedProject );
+ const [ActivityUnit,setActivityUnit]= useState("")
const { activities, loading, error } = useActivitiesMaster();
const [formData, setFormData] = useState(defaultModel);
const [selectedActivity, setSelectedActivity] = useState(null);
@@ -170,9 +171,14 @@ const EditActivityModal = ({
const ISselectedActivity = watch("activityID");
useEffect(() => {
- const selected = activities.find((a) => a.id === ISselectedActivity);
- setSelectedActivity(selected || null);
- }, [ISselectedActivity]);
+ if( ISselectedActivity ){
+ const selected = activities.find((a) => a.id === ISselectedActivity);
+ setSelectedActivity( selected || null );
+ setActivityUnit(selected?.unitOfMeasurement)
+ }
+ }, [ ISselectedActivity,activities] );
+
+
return (
@@ -257,7 +263,7 @@ const EditActivityModal = ({
{activity.activityName}
))}
- {!loading && activityData.length === 0 && (
+ {!loading && activities.length === 0 && (
)}
@@ -320,7 +326,7 @@ const EditActivityModal = ({
{/* )} */}
-
@@ -37,7 +37,7 @@ const WorkArea = ({ workArea, floor, forBuilding }) => {
Work Area:
{" "}
-
+
{workArea.areaName}
diff --git a/src/components/Project/Infrastructure/WorkItem.jsx b/src/components/Project/Infrastructure/WorkItem.jsx
index f7bc65db..140eb671 100644
--- a/src/components/Project/Infrastructure/WorkItem.jsx
+++ b/src/components/Project/Infrastructure/WorkItem.jsx
@@ -5,14 +5,28 @@ import EditActivityModal from "./EditActivityModal";
import { useHasUserPermission } from "../../../hooks/useHasUserPermission";
import { MANAGE_PROJECT_INFRA, MANAGE_TASK } from "../../../utils/constants";
+import ConfirmModal from "../../common/ConfirmModal";
+import ProjectRepository from '../../../repositories/ProjectRepository'
+import {useProjectDetails} from '../../../hooks/useProjects'
+import showToast from "../../../services/toastService";
+import {cacheData, getCachedData} from "../../../slices/apiDataManager";
+import {useDispatch} from "react-redux";
+import {refreshData} from "../../../slices/localVariablesSlice";
+
const WorkItem = ({ workItem, forBuilding, forFloor, forWorkArea }) => {
const { projectId } = useParams();
const [itemName, setItemName] = useState("");
const [NewWorkItem, setNewWorkItem] = useState();
const [isModalOpen, setIsModalOpen] = useState(false);
- const [showModal, setShowModal] = useState(false);
+ const [ showModal, setShowModal ] = useState( false );
+ const [showModal2, setShowModal2] = useState(false);
const ManageTasks = useHasUserPermission(MANAGE_TASK);
- const ManageInfra = useHasUserPermission(MANAGE_PROJECT_INFRA);
+ const ManageInfra = useHasUserPermission( MANAGE_PROJECT_INFRA );
+ const [ loadingDelete, setLoadingDelete ] = useState( false )
+ const project = getCachedData("projectInfo");
+ const dispatch = useDispatch()
+
+ const {projects_Details} = useProjectDetails(projectId || project?.projectId)
const openModal = () => setIsModalOpen(true);
const closeModal = () => setIsModalOpen(false);
@@ -41,10 +55,75 @@ const WorkItem = ({ workItem, forBuilding, forFloor, forWorkArea }) => {
document.querySelectorAll('[data-bs-toggle="tooltip"]')
);
tooltipTriggerList.forEach((el) => new bootstrap.Tooltip(el));
- }, []);
+ }, [] );
+
+
const showModal1 = () => setShowModal(true);
- const closeModal1 = () => setShowModal(false);
+ const closeModal1 = () => setShowModal( false );
+ const showModalDelete = () => setShowModal2(true);
+ const closeModalDelete = () => setShowModal2( false );
+
+
+ const handleSubmit = async() => {
+ setLoadingDelete(true);
+ try
+ {
+
+ const updatedProject = { ...projects_Details };
+ const response = await ProjectRepository.deleteProjectTask( workItem.workItemId );
+ debugger
+ const newProject = {
+ ...updatedProject,
+ buildings: updatedProject.buildings.map((building) =>
+ building.id === forBuilding?.id
+ ? {
+ ...building,
+ floors: building.floors.map((floor) =>
+ floor.id === forFloor?.id
+ ? {
+ ...floor,
+ workAreas: floor.workAreas.map((workArea) =>
+ workArea.id === forWorkArea?.id
+ ? {
+ ...workArea,
+ workItems: workArea.workItems.filter(
+ (item) =>
+ String(item?.workItem?.id ?? item?.id) !==
+ String(workItem.workItemId)
+ ),
+ }
+ : workArea
+ ),
+ }
+ : floor
+ ),
+ }
+ : building
+ ),
+ };
+
+ cacheData("projectInfo", {
+ projectId: newProject.id,
+ data: newProject,
+ });
+
+ dispatch( refreshData( true ) );
+ closeModalDelete()
+ setLoadingDelete(false)
+ showToast("Activity Deleted Successfully","success")
+ } catch ( error )
+ {
+ setLoadingDelete( false )
+ closeModalDelete()
+ const message =
+ error.response?.data?.message ||
+ error.message ||
+ "An unexpected error occurred";
+ showToast( message, "error" );
+
+ }
+ };
return (
<>
{isModalOpen && (
@@ -73,6 +152,17 @@ const WorkItem = ({ workItem, forBuilding, forFloor, forWorkArea }) => {
floor={forFloor}
onClose={closeModal1}
/>
+