Changes in Filter Date Range picker.
This commit is contained in:
parent
40fb010128
commit
d4be35b44d
@ -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>
|
||||||
|
|||||||
@ -67,6 +67,8 @@ const DateRangePicker = ({
|
|||||||
style={{ right: "22px", bottom: "-8px" }}
|
style={{ right: "22px", bottom: "-8px" }}
|
||||||
></i>
|
></i>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -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();
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user