Issues_Aug_2W #371

Merged
pramod.mahajan merged 29 commits from Issues_Aug_2W into main 2025-09-05 05:45:32 +00:00
Showing only changes of commit e71debe932 - Show all commits

View File

@ -1,5 +1,5 @@
import { zodResolver } from "@hookform/resolvers/zod"; import { zodResolver } from "@hookform/resolvers/zod";
import React, { useState,useCallback } from "react"; import React, { useState, useCallback, useEffect } from "react";
import { FormProvider, useForm, useFormContext } from "react-hook-form"; import { FormProvider, useForm, useFormContext } from "react-hook-form";
import { defaultFilterValues, filterSchema } from "./TenantSchema"; import { defaultFilterValues, filterSchema } from "./TenantSchema";
import Label from "../common/Label"; import Label from "../common/Label";
@ -8,15 +8,16 @@ import { useIndustries } from "../../hooks/useTenant";
import { reference, TENANT_STATUS } from "../../utils/constants"; import { reference, TENANT_STATUS } from "../../utils/constants";
import { DateRangePicker1 } from "../common/DateRangePicker"; import { DateRangePicker1 } from "../common/DateRangePicker";
import moment from "moment"; import moment from "moment";
import { useLocation } from "react-router-dom";
const TenantFilterPanel = ({ onApply }) => {
const [resetKey, setResetKey] = useState(0);
const TenantFilterPanel = ({onApply}) => {
const [resetKey, setResetKey] = useState(0);
const methods = useForm({ const methods = useForm({
resolver: zodResolver(filterSchema), resolver: zodResolver(filterSchema),
defaultValues: defaultFilterValues, defaultValues: defaultFilterValues,
}); });
const { handleSubmit, reset } = methods; const { handleSubmit, reset } = methods;
const { data: industries = [], isLoading } = useIndustries(); const { data: industries = [], isLoading } = useIndustries();
@ -36,6 +37,13 @@ const [resetKey, setResetKey] = useState(0);
[onApply, handleClosePanel] [onApply, handleClosePanel]
); );
// Close popup when navigating to another component
const location = useLocation();
useEffect(() => {
handleClosePanel();
}, [location]);
const onClear = useCallback(() => { const onClear = useCallback(() => {
reset(defaultFilterValues); reset(defaultFilterValues);
setResetKey((prev) => prev + 1); // triggers DateRangePicker reset setResetKey((prev) => prev + 1); // triggers DateRangePicker reset
@ -48,44 +56,44 @@ const [resetKey, setResetKey] = useState(0);
return ( return (
<FormProvider {...methods}> <FormProvider {...methods}>
<form onSubmit={handleSubmit(onSubmit)}> <form onSubmit={handleSubmit(onSubmit)}>
<div className="text-start mb-1"> <div className="text-start mb-1">
<div className="text-start my-2"> <div className="text-start my-2">
<DateRangePicker1 <DateRangePicker1
placeholder="DD-MM-YYYY To DD-MM-YYYY" placeholder="DD-MM-YYYY To DD-MM-YYYY"
startField="startDate" startField="startDate"
endField="endDate" endField="endDate"
resetSignal={resetKey} resetSignal={resetKey}
defaultRange={false} defaultRange={false}
/> />
</div> </div>
<div className="text-strat mb-2"> <div className="text-strat mb-2">
<SelectMultiple <SelectMultiple
name="industryIds" name="industryIds"
label="Industries" label="Industries"
options={industries} options={industries}
labelKey="name" labelKey="name"
valueKey="id" valueKey="id"
/> />
</div> </div>
<div className="text-start mb-2"> <div className="text-start mb-2">
<SelectMultiple <SelectMultiple
name="references" name="references"
label="References" label="References"
options={reference} options={reference}
labelKey="name" labelKey="name"
valueKey="val" valueKey="val"
/> />
</div> </div>
<div className="text-start"> <div className="text-start">
<SelectMultiple <SelectMultiple
name="tenantStatusIds" name="tenantStatusIds"
label="Tenant Status" label="Tenant Status"
options={TENANT_STATUS} options={TENANT_STATUS}
labelKey="name" labelKey="name"
valueKey="id" valueKey="id"
/> />
</div> </div>
{/* <SelectMultiple {/* <SelectMultiple
name="references" name="references"
@ -100,7 +108,7 @@ const [resetKey, setResetKey] = useState(0);
type="button" type="button"
className="btn btn-secondary btn-xs" className="btn btn-secondary btn-xs"
onClick={onClear} onClick={onClear}
> >
Clear Clear
</button> </button>