diff --git a/src/components/DailyProgressRport/TaskReportFilterPanel.jsx b/src/components/DailyProgressRport/TaskReportFilterPanel.jsx index 55b0810b..b5d831ee 100644 --- a/src/components/DailyProgressRport/TaskReportFilterPanel.jsx +++ b/src/components/DailyProgressRport/TaskReportFilterPanel.jsx @@ -41,10 +41,13 @@ const TaskReportFilterPanel = forwardRef(({ handleFilter, setFilterdata, clearFi if (value !== undefined) { setValue(name, value); } else { - reset({ ...methods.getValues(), [name]: defaultFilter[name] }); + // Fix: Use TaskReportDefaultValue or get current values before setting new ones + // reset({ ...methods.getValues(), [name]: TaskReportDefaultValue[name] }); // Updated to use TaskReportDefaultValue + setValue(name, TaskReportDefaultValue[name]); } }, - getValues: methods.getValues, // optional, to read current filter state + getValues: methods.getValues, + onClear: onClear, // 💡 EXPOSE THE ONCLEAR FUNCTION })); useEffect(() => { diff --git a/src/components/Documents/DocumentFilterPanel.jsx b/src/components/Documents/DocumentFilterPanel.jsx index a6efe6ab..f093099b 100644 --- a/src/components/Documents/DocumentFilterPanel.jsx +++ b/src/components/Documents/DocumentFilterPanel.jsx @@ -59,12 +59,18 @@ const DocumentFilterPanel = forwardRef( useImperativeHandle(ref, () => ({ resetFieldValue: (name, value) => { if (value !== undefined) { - setValue(name, value); + setValue(name, value, { shouldValidate: true, shouldDirty: true }); } else { reset({ ...methods.getValues(), [name]: DocumentFilterDefaultValues[name] }); } + + if ((name === "startDate" || name === "endDate") && value === null) { + setTimeout(() => { + setResetKey((prev) => prev + 1); + }, 0); + } }, - getValues: methods.getValues, // optional, to read current filter state + getValues: methods.getValues, })); //changes diff --git a/src/components/Documents/Documents.jsx b/src/components/Documents/Documents.jsx index 930ceb8c..588c801f 100644 --- a/src/components/Documents/Documents.jsx +++ b/src/components/Documents/Documents.jsx @@ -124,26 +124,27 @@ const Documents = ({ Document_Entity, Entity }) => { const updatedFilters = { ...filters }; if (Array.isArray(updatedFilters[key])) { updatedFilters[key] = updatedFilters[key].filter((v) => v !== id); - updatedRef.current?.resetFieldValue(key,updatedFilters[key]); + updatedRef.current?.resetFieldValue(key, updatedFilters[key]); } else if (key === "dateRange") { updatedFilters.startDate = null; updatedFilters.endDate = null; - updatedRef.current?.resetFieldValue("startDate",null); - updatedRef.current?.resetFieldValue("endDate",null); + // These calls correctly tell the DocumentFilterPanel to update its form state: + updatedRef.current?.resetFieldValue("startDate", null); + updatedRef.current?.resetFieldValue("endDate", null); } else { updatedFilters[key] = null; } setFilter(updatedFilters); - return updatedFilters; + return updatedFilters; }; return (
- +
{/* Search */}
@@ -194,6 +195,9 @@ const Documents = ({ Document_Entity, Entity }) => { )}
+
+ +
{ serviceFilter: "" } }); - const clearFilter = () => setFilter(TaskReportDefaultValue); + const clearFilter = () => { + updatedRef.current?.onClear(); +}; const handleFilter = (filterObj) => { setFilter(filterObj) }