Changes when we select a Expense Status in ExpenseFilter Panel.
This commit is contained in:
parent
f61c7a4a35
commit
d1af4f402d
@ -1,4 +1,4 @@
|
|||||||
import React, {forwardRef, useEffect,useImperativeHandle, useState, useMemo } from "react";
|
import React, { forwardRef, useEffect, useImperativeHandle, useState, useMemo } from "react";
|
||||||
import { FormProvider, useForm, Controller } from "react-hook-form";
|
import { FormProvider, useForm, Controller } from "react-hook-form";
|
||||||
import { zodResolver } from "@hookform/resolvers/zod";
|
import { zodResolver } from "@hookform/resolvers/zod";
|
||||||
import { defaultFilter, SearchSchema } from "./ExpenseSchema";
|
import { defaultFilter, SearchSchema } from "./ExpenseSchema";
|
||||||
@ -43,7 +43,7 @@ const ExpenseFilterPanel = forwardRef(({ onApply, handleGroupBy, setFilterdata }
|
|||||||
return {
|
return {
|
||||||
...defaultFilter,
|
...defaultFilter,
|
||||||
statusIds: status ? [status] : defaultFilter.statusIds || [],
|
statusIds: status ? [status] : defaultFilter.statusIds || [],
|
||||||
projectIds: defaultFilter.projectIds || [],
|
projectIds: selectedProjectId ? [selectedProjectId] : [],
|
||||||
createdByIds: defaultFilter.createdByIds || [],
|
createdByIds: defaultFilter.createdByIds || [],
|
||||||
paidById: defaultFilter.paidById || [],
|
paidById: defaultFilter.paidById || [],
|
||||||
ExpenseTypeIds: defaultFilter.ExpenseTypeIds || [],
|
ExpenseTypeIds: defaultFilter.ExpenseTypeIds || [],
|
||||||
@ -51,7 +51,7 @@ const ExpenseFilterPanel = forwardRef(({ onApply, handleGroupBy, setFilterdata }
|
|||||||
startDate: defaultFilter.startDate,
|
startDate: defaultFilter.startDate,
|
||||||
endDate: defaultFilter.endDate,
|
endDate: defaultFilter.endDate,
|
||||||
};
|
};
|
||||||
}, [status]);
|
}, [status,selectedProjectId]);
|
||||||
|
|
||||||
const methods = useForm({
|
const methods = useForm({
|
||||||
resolver: zodResolver(SearchSchema),
|
resolver: zodResolver(SearchSchema),
|
||||||
@ -77,7 +77,7 @@ const ExpenseFilterPanel = forwardRef(({ onApply, handleGroupBy, setFilterdata }
|
|||||||
if (group) setSelectedGroup(group);
|
if (group) setSelectedGroup(group);
|
||||||
};
|
};
|
||||||
|
|
||||||
useImperativeHandle(ref, () => ({
|
useImperativeHandle(ref, () => ({
|
||||||
resetFieldValue: (name, value) => {
|
resetFieldValue: (name, value) => {
|
||||||
// Reset specific field
|
// Reset specific field
|
||||||
if (value !== undefined) {
|
if (value !== undefined) {
|
||||||
@ -124,10 +124,9 @@ const ExpenseFilterPanel = forwardRef(({ onApply, handleGroupBy, setFilterdata }
|
|||||||
if (status !== appliedStatusId && data) {
|
if (status !== appliedStatusId && data) {
|
||||||
const filterWithStatus = {
|
const filterWithStatus = {
|
||||||
...dynamicDefaultFilter,
|
...dynamicDefaultFilter,
|
||||||
|
projectIds: selectedProjectId ? [selectedProjectId] : [], // ✅ include project ID
|
||||||
startDate: dynamicDefaultFilter.startDate
|
startDate: dynamicDefaultFilter.startDate
|
||||||
? moment
|
? moment.utc(dynamicDefaultFilter.startDate, "DD-MM-YYYY").toISOString()
|
||||||
.utc(dynamicDefaultFilter.startDate, "DD-MM-YYYY")
|
|
||||||
.toISOString()
|
|
||||||
: undefined,
|
: undefined,
|
||||||
endDate: dynamicDefaultFilter.endDate
|
endDate: dynamicDefaultFilter.endDate
|
||||||
? moment.utc(dynamicDefaultFilter.endDate, "DD-MM-YYYY").toISOString()
|
? moment.utc(dynamicDefaultFilter.endDate, "DD-MM-YYYY").toISOString()
|
||||||
@ -147,14 +146,16 @@ const ExpenseFilterPanel = forwardRef(({ onApply, handleGroupBy, setFilterdata }
|
|||||||
handleGroupBy,
|
handleGroupBy,
|
||||||
selectedGroup.id,
|
selectedGroup.id,
|
||||||
appliedStatusId,
|
appliedStatusId,
|
||||||
|
selectedProjectId, // ✅ added dependency
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
|
||||||
if (isLoading || isFetching) return <ExpenseFilterSkeleton />;
|
if (isLoading || isFetching) return <ExpenseFilterSkeleton />;
|
||||||
if (isError && isFetched)
|
if (isError && isFetched)
|
||||||
return <div>Something went wrong Here- {error.message} </div>;
|
return <div>Something went wrong Here- {error.message} </div>;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<FormProvider {...methods}>
|
<FormProvider {...methods}>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user