made separate useActivityMaster hook that directly calling inside taskModal
This commit is contained in:
parent
02f37be504
commit
b1cb715c84
@ -4,7 +4,7 @@ import { zodResolver } from "@hookform/resolvers/zod";
|
|||||||
import { z } from "zod";
|
import { z } from "zod";
|
||||||
import { useDispatch } from "react-redux";
|
import { useDispatch } from "react-redux";
|
||||||
import { changeMaster } from "../../../slices/localVariablesSlice";
|
import { changeMaster } from "../../../slices/localVariablesSlice";
|
||||||
import useMaster from "../../../hooks/masterHook/useMaster";
|
import useMaster, {useActivitiesMaster} 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"),
|
||||||
@ -41,6 +41,9 @@ 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: activitiesData, loading, error} = useActivitiesMaster();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
const {
|
const {
|
||||||
register,
|
register,
|
||||||
@ -124,11 +127,14 @@ const TaskModel = ({
|
|||||||
reset(defaultModel);
|
reset(defaultModel);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (activities && activities.length > 0) {
|
if (!loading && Array.isArray(activitiesData) && activitiesData.length > 0) {
|
||||||
setActivityData( activities );
|
|
||||||
|
setActivityData(activitiesData);
|
||||||
}
|
}
|
||||||
}, [activities]);
|
}, [activitiesData, loading]);
|
||||||
|
|
||||||
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">
|
||||||
|
|||||||
@ -16,7 +16,7 @@ export const useMasterRole = () =>
|
|||||||
useMasterData("masterRole", MasterRespository.getRoles);
|
useMasterData("masterRole", MasterRespository.getRoles);
|
||||||
|
|
||||||
|
|
||||||
const useMaster = () => {
|
const useMaster = (isMa) => {
|
||||||
|
|
||||||
const selectedMaster = useSelector((store)=>store.localVariables.selectedMaster);
|
const selectedMaster = useSelector((store)=>store.localVariables.selectedMaster);
|
||||||
const [data, setData] = useState([]);
|
const [data, setData] = useState([]);
|
||||||
@ -78,9 +78,44 @@ const useMaster = () => {
|
|||||||
|
|
||||||
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