Merge pull request 'In Report Popup from Daily Progress Report where validation message not showing properly in Completed Work Text box.' (#147) from Kartik_Enhancement#362 into Issue_May_5W

Reviewed-on: #147
This commit is contained in:
Vikas Nale 2025-05-26 09:36:49 +00:00
commit e15a7b887d

View File

@ -1,4 +1,4 @@
import React, { useState } from "react";
import React, { useState,useEffect } from "react";
import { formatDate } from "../../utils/dateUtils";
import { useForm } from "react-hook-form";
import { zodResolver } from "@hookform/resolvers/zod";
@ -13,15 +13,23 @@ export const ReportTask = ({ report, closeModal, refetch }) => {
report?.workItem?.plannedWork - report?.workItem?.completedWork;
const schema = z.object({
completedTask: z
.number()
.min(0, "Completed Work must be greater than 0")
.max(maxPending, {
message: `Completed task cannot exceed total pending tasks: ${maxPending}`,
})
.optional(),
comment: z.string().min(1, "Comment cannot be empty"),
});
completedTask: z
.preprocess(
(val) => (val === "" || val === null || Number.isNaN(val) ? undefined : Number(val)),
z
.number({
required_error: "Completed Work must be a number",
invalid_type_error: "Completed Work must be a number",
})
.min(1, "Completed Work must be greater than 0")
.max(maxPending, {
message: `Completed task cannot exceed total pending tasks: ${maxPending}`,
})
),
comment: z.string().min(1, "Comment cannot be empty"),
});
const {
register,
handleSubmit,
@ -32,6 +40,14 @@ export const ReportTask = ({ report, closeModal, refetch }) => {
defaultValues: { completedTask: 0, comment: "" },
});
useEffect(() => {
if (report) {
reset({ completedTask: 0, comment: "" }); // optional: customize default if needed
}
}, [report, reset]);
const onSubmit = async (data) => {
try {
setloading(true);
@ -56,6 +72,7 @@ export const ReportTask = ({ report, closeModal, refetch }) => {
};
const handleClose = () => {
closeModal();
reset();
};
return (