Compare commits
	
		
			No commits in common. "abdb17ecf4c5b2d8ad4073b172412700c09496a7" and "3d62071fb61cb26b36e63afd9029771bf7302d10" have entirely different histories.
		
	
	
		
			abdb17ecf4
			...
			3d62071fb6
		
	
		
| @ -2,7 +2,9 @@ import React, { useState, useEffect } from "react"; | |||||||
| import { useForm } from "react-hook-form"; | import { useForm } from "react-hook-form"; | ||||||
| import { zodResolver } from "@hookform/resolvers/zod"; | import { zodResolver } from "@hookform/resolvers/zod"; | ||||||
| import { z } from "zod"; | import { z } from "zod"; | ||||||
| import  {useActivitiesMaster} from "../../../hooks/masterHook/useMaster"; | import { useDispatch } from "react-redux"; | ||||||
|  | import { changeMaster } from "../../../slices/localVariablesSlice"; | ||||||
|  | import useMaster from "../../../hooks/masterHook/useMaster"; | ||||||
| 
 | 
 | ||||||
| const taskSchema = z.object({ | const taskSchema = z.object({ | ||||||
|   buildingID: z.string().min(1, "Building is required"), |   buildingID: z.string().min(1, "Building is required"), | ||||||
| @ -15,9 +17,9 @@ const taskSchema = z.object({ | |||||||
| 
 | 
 | ||||||
| const defaultModel = { | const defaultModel = { | ||||||
|   id: null, |   id: null, | ||||||
|   buildingID:"0", |   buildingID: null, | ||||||
|   floorId: "0", |   floorId: null, | ||||||
|   workAreaId: "0", |   workAreaId: null, | ||||||
|   activityID: null, |   activityID: null, | ||||||
|   plannedWork: 0, |   plannedWork: 0, | ||||||
|   completedWork: 0, |   completedWork: 0, | ||||||
| @ -30,7 +32,8 @@ const TaskModel = ({ | |||||||
|   onClearComplete, |   onClearComplete, | ||||||
|   onClose, |   onClose, | ||||||
| }) => { | }) => { | ||||||
| 
 |   const dispatch = useDispatch(); | ||||||
|  |   const { data: activities } = useMaster(); | ||||||
|   const [formData, setFormData] = useState(defaultModel); |   const [formData, setFormData] = useState(defaultModel); | ||||||
|   const [selectedBuilding, setSelectedBuilding] = useState(null); |   const [selectedBuilding, setSelectedBuilding] = useState(null); | ||||||
|   const [selectedFloor, setSelectedFloor] = useState(null); |   const [selectedFloor, setSelectedFloor] = useState(null); | ||||||
| @ -38,7 +41,6 @@ const TaskModel = ({ | |||||||
|   const [selectedActivity, setSelectedActivity] = useState(null); |   const [selectedActivity, setSelectedActivity] = useState(null); | ||||||
|   const [isSubmitting, setIsSubmitting] = useState(false); |   const [isSubmitting, setIsSubmitting] = useState(false); | ||||||
|   const [activityData, setActivityData] = useState([]); |   const [activityData, setActivityData] = useState([]); | ||||||
|   const {activities, loading, error} = useActivitiesMaster(); |  | ||||||
| 
 | 
 | ||||||
|   const { |   const { | ||||||
|     register, |     register, | ||||||
| @ -52,6 +54,7 @@ const TaskModel = ({ | |||||||
|   }); |   }); | ||||||
| 
 | 
 | ||||||
|   useEffect(() => { |   useEffect(() => { | ||||||
|  |     dispatch(changeMaster("Activity")); | ||||||
|     resetForm(); |     resetForm(); | ||||||
|   }, []); |   }, []); | ||||||
| 
 | 
 | ||||||
| @ -114,19 +117,18 @@ const TaskModel = ({ | |||||||
| 
 | 
 | ||||||
|   const resetForm = () => { |   const resetForm = () => { | ||||||
|     setFormData(defaultModel); |     setFormData(defaultModel); | ||||||
|     setSelectedBuilding("0"); |     setSelectedBuilding(null); | ||||||
|     setSelectedFloor("0"); |     setSelectedFloor(null); | ||||||
|     setSelectedWorkArea("0"); |     setSelectedWorkArea(null); | ||||||
|     setSelectedActivity(null); |     setSelectedActivity(null); | ||||||
|     reset(defaultModel); |     reset(defaultModel); | ||||||
|   }; |   }; | ||||||
| 
 | 
 | ||||||
|   useEffect(() => { |   useEffect(() => { | ||||||
|     if (!loading && Array.isArray(activities) && activities.length > 0) { |     if (activities && activities.length > 0) { | ||||||
|       |       setActivityData( activities ); | ||||||
|       setActivityData(activities); |  | ||||||
|     } |     } | ||||||
|   }, [activities, loading]); |   }, [activities]); | ||||||
|   return ( |   return ( | ||||||
|     <div className="modal-dialog modal-lg modal-simple modal-edit-user"> |     <div className="modal-dialog modal-lg modal-simple modal-edit-user"> | ||||||
|       <div className="modal-content"> |       <div className="modal-content"> | ||||||
| @ -272,7 +274,7 @@ const TaskModel = ({ | |||||||
|                           </option> |                           </option> | ||||||
|                         )) |                         )) | ||||||
|                     ) : ( |                     ) : ( | ||||||
|                       <option disabled>No activities available</option> |                       <option disabled>No activities available</option> // Fallback if activities are empty | ||||||
|                     )} |                     )} | ||||||
|                   </select> |                   </select> | ||||||
| 
 | 
 | ||||||
| @ -282,6 +284,7 @@ const TaskModel = ({ | |||||||
|                 </div> |                 </div> | ||||||
|               )} |               )} | ||||||
| 
 | 
 | ||||||
|  |               {/* Planned Work */} | ||||||
|               {selectedActivity && ( |               {selectedActivity && ( | ||||||
|                 <div className="col-5 col-md-5"> |                 <div className="col-5 col-md-5"> | ||||||
|                   <label className="form-label" htmlFor="plannedWork"> |                   <label className="form-label" htmlFor="plannedWork"> | ||||||
| @ -299,6 +302,7 @@ const TaskModel = ({ | |||||||
|                 </div> |                 </div> | ||||||
|               )} |               )} | ||||||
| 
 | 
 | ||||||
|  |               {/* Completed Work */} | ||||||
|               {selectedActivity && ( |               {selectedActivity && ( | ||||||
|                 <div className="col-5 col-md-5"> |                 <div className="col-5 col-md-5"> | ||||||
|                   <label className="form-label" htmlFor="completedWork"> |                   <label className="form-label" htmlFor="completedWork"> | ||||||
|  | |||||||
| @ -16,7 +16,7 @@ export const useMasterRole = () => | |||||||
|   useMasterData("masterRole", MasterRespository.getRoles); |   useMasterData("masterRole", MasterRespository.getRoles); | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| const useMaster = (isMa) => { | const useMaster = () => { | ||||||
| 
 | 
 | ||||||
|   const selectedMaster = useSelector((store)=>store.localVariables.selectedMaster); |   const selectedMaster = useSelector((store)=>store.localVariables.selectedMaster); | ||||||
|   const [data, setData] = useState([]); |   const [data, setData] = useState([]); | ||||||
| @ -79,37 +79,8 @@ const useMaster = (isMa) => { | |||||||
|   return { data, loading, error } |   return { data, loading, error } | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| export default useMaster; | export default useMaster; | ||||||
| 
 | 
 | ||||||
| export const useActivitiesMaster = () => |  | ||||||
|   { |  | ||||||
|     const [ activities, setActivites ] = useState( [] ) |  | ||||||
|     const [ loading, setloading ] = useState( false ); |  | ||||||
|     const [ error, setError ] = useState( "" ) |  | ||||||
|    |  | ||||||
|       const fetchActivities =async () =>  { |  | ||||||
|         const cacheddata = getCachedData("ActivityMaster"); |  | ||||||
|    |  | ||||||
|         if (!cacheddata) { |  | ||||||
|           setloading(true); |  | ||||||
|           try { |  | ||||||
|             const response = await MasterRespository.getActivites(); |  | ||||||
|             setActivites(response.data); |  | ||||||
|             cacheData("ActivityMaster", response.data); |  | ||||||
|           } catch (err) { |  | ||||||
|             setError(err); |  | ||||||
|             console.log(err); |  | ||||||
|           } finally { |  | ||||||
|             setloading(false); |  | ||||||
|           } |  | ||||||
|         } else { |  | ||||||
|           setActivites(cacheddata); |  | ||||||
|         } |  | ||||||
|        } |  | ||||||
|     useEffect( () => |  | ||||||
|     { |  | ||||||
|       fetchActivities() |  | ||||||
|     }, [] ) |  | ||||||
|      |  | ||||||
|     return {activities,loading,error} |  | ||||||
|   } |  | ||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user