In Report Popup from Daily Progress Report where validation message not showing properly in Completed Work Text box.
This commit is contained in:
parent
478b0ddad0
commit
9763c45592
@ -1,4 +1,4 @@
|
|||||||
import React, { useState } from "react";
|
import React, { useState,useEffect } from "react";
|
||||||
import { formatDate } from "../../utils/dateUtils";
|
import { formatDate } from "../../utils/dateUtils";
|
||||||
import { useForm } from "react-hook-form";
|
import { useForm } from "react-hook-form";
|
||||||
import { zodResolver } from "@hookform/resolvers/zod";
|
import { zodResolver } from "@hookform/resolvers/zod";
|
||||||
@ -13,15 +13,23 @@ export const ReportTask = ({ report, closeModal, refetch }) => {
|
|||||||
report?.workItem?.plannedWork - report?.workItem?.completedWork;
|
report?.workItem?.plannedWork - report?.workItem?.completedWork;
|
||||||
|
|
||||||
const schema = z.object({
|
const schema = z.object({
|
||||||
completedTask: z
|
completedTask: z
|
||||||
.number()
|
.preprocess(
|
||||||
.min(0, "Completed Work must be greater than 0")
|
(val) => (val === "" || val === null || Number.isNaN(val) ? undefined : Number(val)),
|
||||||
.max(maxPending, {
|
z
|
||||||
message: `Completed task cannot exceed total pending tasks: ${maxPending}`,
|
.number({
|
||||||
})
|
required_error: "Completed Work must be a number",
|
||||||
.optional(),
|
invalid_type_error: "Completed Work must be a number",
|
||||||
comment: z.string().min(1, "Comment cannot be empty"),
|
})
|
||||||
});
|
.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 {
|
const {
|
||||||
register,
|
register,
|
||||||
handleSubmit,
|
handleSubmit,
|
||||||
@ -32,6 +40,14 @@ export const ReportTask = ({ report, closeModal, refetch }) => {
|
|||||||
defaultValues: { completedTask: 0, comment: "" },
|
defaultValues: { completedTask: 0, comment: "" },
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
if (report) {
|
||||||
|
reset({ completedTask: 0, comment: "" }); // optional: customize default if needed
|
||||||
|
}
|
||||||
|
}, [report, reset]);
|
||||||
|
|
||||||
|
|
||||||
const onSubmit = async (data) => {
|
const onSubmit = async (data) => {
|
||||||
try {
|
try {
|
||||||
setloading(true);
|
setloading(true);
|
||||||
@ -56,6 +72,7 @@ export const ReportTask = ({ report, closeModal, refetch }) => {
|
|||||||
};
|
};
|
||||||
const handleClose = () => {
|
const handleClose = () => {
|
||||||
closeModal();
|
closeModal();
|
||||||
|
reset();
|
||||||
};
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
Loading…
x
Reference in New Issue
Block a user