Changes in Filter Date Range picker.

This commit is contained in:
Kartik Sharma 2025-09-20 14:25:33 +05:30
parent 40fb010128
commit d4be35b44d
3 changed files with 23 additions and 24 deletions

View File

@ -1,8 +1,9 @@
import React, { useState, useCallback, useEffect } from "react"; import React, { useState, useCallback, useEffect } from "react";
import { FormProvider, useForm } from "react-hook-form"; import { FormProvider, useForm } from "react-hook-form";
import moment from "moment"; import moment from "moment";
import DateRangePicker from "../../components/common/DateRangePicker"; import DateRangePicker, { DateRangePicker1 } from "../../components/common/DateRangePicker";
import SelectMultiple from "../../components/common/SelectMultiple"; import SelectMultiple from "../../components/common/SelectMultiple";
import { localToUtc } from "../../utils/appUtils";
const defaultGalleryFilterValues = { const defaultGalleryFilterValues = {
buildingIds: [], buildingIds: [],
@ -58,27 +59,21 @@ const ImageGalleryFilters = ({
[setValue] [setValue]
); );
// Submit Apply filters const onSubmit =(formData)=>{
const onSubmit = useCallback( const inputStartDate = localToUtc(formData.startDate)
(formData) => { const inputEndDate = localToUtc(formData.endDate)
const payload = { const payload = {
...formData, ...formData,
startDate: formData.startDate startDate: inputStartDate,
? moment(formData.startDate).utc().toISOString() endDate: inputEndDate,
: null,
endDate: formData.endDate
? moment(formData.endDate).utc().toISOString()
: null,
}; };
onApplyFilters(payload); onApplyFilters(payload);
}, }
[onApplyFilters]
);
// Clear all filters // Clear all filters
const onClear = useCallback(() => { const onClear = useCallback(() => {
reset(defaultGalleryFilterValues); reset(defaultGalleryFilterValues);
setResetKey((prev) => prev + 1); // reset DateRangePicker setResetKey((prev) => prev + 1);
onApplyFilters(defaultGalleryFilterValues); onApplyFilters(defaultGalleryFilterValues);
}, [onApplyFilters, reset]); }, [onApplyFilters, reset]);
@ -86,13 +81,12 @@ const ImageGalleryFilters = ({
<div className="p-3"> <div className="p-3">
<FormProvider {...methods}> <FormProvider {...methods}>
<form onSubmit={handleSubmit(onSubmit)} className="d-flex flex-column"> <form onSubmit={handleSubmit(onSubmit)} className="d-flex flex-column">
{/* Date Range */}
<div className="mb-3 text-start"> <div className="mb-3 text-start">
<label className="">Date Range :</label> <label className="">Date Range :</label>
<DateRangePicker <DateRangePicker1
onRangeChange={handleDateRangeChange} onRangeChange={handleDateRangeChange}
startDate={appliedFilters?.startDate} startDate="startDate"
endDate={appliedFilters?.endDate} endDate="endDate"
resetSignal={resetKey} resetSignal={resetKey}
/> />
</div> </div>

View File

@ -67,6 +67,8 @@ const DateRangePicker = ({
style={{ right: "22px", bottom: "-8px" }} style={{ right: "22px", bottom: "-8px" }}
></i> ></i>
</div> </div>
); );
}; };

View File

@ -72,8 +72,11 @@ export const normalizeAllowedContentTypes = (allowedContentType) => {
export function localToUtc(localDateString) { export function localToUtc(localDateString) {
if (!localDateString || localDateString.trim() === "") return null; // return null instead of undefined if (!localDateString || localDateString.trim() === "") return null;
const date = new Date(localDateString);
if (isNaN(date.getTime())) return null; // invalid date check const [day, month, year] = localDateString.split("-").map(Number);
if (!day || !month || !year) return null;
const date = new Date(Date.UTC(year, month - 1, day));
return date.toISOString(); return date.toISOString();
} }