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