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:
commit
e15a7b887d
@ -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 (
|
||||
|
Loading…
x
Reference in New Issue
Block a user