Adding dates chips in document.

This commit is contained in:
Kartik Sharma 2025-12-10 15:41:53 +05:30 committed by pramod.mahajan
parent 0f43c877c4
commit c71fe3a45e
4 changed files with 25 additions and 10 deletions

View File

@ -41,10 +41,13 @@ const TaskReportFilterPanel = forwardRef(({ handleFilter, setFilterdata, clearFi
if (value !== undefined) { if (value !== undefined) {
setValue(name, value); setValue(name, value);
} else { } 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(() => { useEffect(() => {

View File

@ -59,12 +59,18 @@ const DocumentFilterPanel = forwardRef(
useImperativeHandle(ref, () => ({ useImperativeHandle(ref, () => ({
resetFieldValue: (name, value) => { resetFieldValue: (name, value) => {
if (value !== undefined) { if (value !== undefined) {
setValue(name, value); setValue(name, value, { shouldValidate: true, shouldDirty: true });
} else { } else {
reset({ ...methods.getValues(), [name]: DocumentFilterDefaultValues[name] }); 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 //changes

View File

@ -124,13 +124,14 @@ const Documents = ({ Document_Entity, Entity }) => {
const updatedFilters = { ...filters }; const updatedFilters = { ...filters };
if (Array.isArray(updatedFilters[key])) { if (Array.isArray(updatedFilters[key])) {
updatedFilters[key] = updatedFilters[key].filter((v) => v !== id); updatedFilters[key] = updatedFilters[key].filter((v) => v !== id);
updatedRef.current?.resetFieldValue(key,updatedFilters[key]); updatedRef.current?.resetFieldValue(key, updatedFilters[key]);
} }
else if (key === "dateRange") { else if (key === "dateRange") {
updatedFilters.startDate = null; updatedFilters.startDate = null;
updatedFilters.endDate = null; updatedFilters.endDate = null;
updatedRef.current?.resetFieldValue("startDate",null); // These calls correctly tell the DocumentFilterPanel to update its form state:
updatedRef.current?.resetFieldValue("endDate",null); updatedRef.current?.resetFieldValue("startDate", null);
updatedRef.current?.resetFieldValue("endDate", null);
} }
else { else {
updatedFilters[key] = null; updatedFilters[key] = null;
@ -143,7 +144,7 @@ const Documents = ({ Document_Entity, Entity }) => {
<DocumentContext.Provider value={contextValues}> <DocumentContext.Provider value={contextValues}>
<div className="mt-2"> <div className="mt-2">
<div className="card page-min-h d-flex p-5"> <div className="card page-min-h d-flex p-5">
<DocumentFilterChips filters={filters} filterData={filterData} removeFilterChip={removeFilterChip} />
<div className="row align-items-center"> <div className="row align-items-center">
{/* Search */} {/* Search */}
<div className="d-flex flex-row gap-2 col-12 col-md-8 col-lg-4 mb-md-0 align-items-center mb-2"> <div className="d-flex flex-row gap-2 col-12 col-md-8 col-lg-4 mb-md-0 align-items-center mb-2">
@ -194,6 +195,9 @@ const Documents = ({ Document_Entity, Entity }) => {
)} )}
</div> </div>
</div> </div>
<div className="ms-n1">
<DocumentFilterChips filters={filters} filterData={filterData} removeFilterChip={removeFilterChip} />
</div>
<DocumentsList <DocumentsList
Document_Entity={DocumentEntity} Document_Entity={DocumentEntity}
Entity={Entity} Entity={Entity}

View File

@ -51,7 +51,9 @@ const DailyProgrssReport = () => {
serviceFilter: "" serviceFilter: ""
} }
}); });
const clearFilter = () => setFilter(TaskReportDefaultValue); const clearFilter = () => {
updatedRef.current?.onClear();
};
const handleFilter = (filterObj) => { const handleFilter = (filterObj) => {
setFilter(filterObj) setFilter(filterObj)
} }