fixed DatePicker size issue
This commit is contained in:
parent
7b2bb4d59a
commit
dcbb4a3997
@ -81,13 +81,13 @@ const ExpenseAnalysis = () => {
|
|||||||
<>
|
<>
|
||||||
|
|
||||||
<div className="card-header d-flex flex-column flex-sm-row justify-content-between align-items-start align-items-sm-center gap-2">
|
<div className="card-header d-flex flex-column flex-sm-row justify-content-between align-items-start align-items-sm-center gap-2">
|
||||||
<div className="text-start w-100">
|
<div className="text-start ">
|
||||||
<h5 className="mb-1 card-title">Expense Breakdown</h5>
|
<h5 className="mb-1 card-title">Expense Breakdown</h5>
|
||||||
{/* <p className="card-subtitle mb-0">Category Wise Expense Breakdown</p> */}
|
{/* <p className="card-subtitle mb-0">Category Wise Expense Breakdown</p> */}
|
||||||
<p className="card-subtitle m-0">{projectName}</p>
|
<p className="card-subtitle m-0">{projectName}</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="text-start text-sm-end w-75">
|
<div className="text-end text-sm-end ">
|
||||||
<FormProvider {...methods}>
|
<FormProvider {...methods}>
|
||||||
<DateRangePicker1 />
|
<DateRangePicker1 />
|
||||||
</FormProvider>
|
</FormProvider>
|
||||||
|
|||||||
@ -47,7 +47,7 @@ const DatePicker = ({
|
|||||||
const displayValue = value ? flatpickr.formatDate(new Date(value), "d-m-Y") : "";
|
const displayValue = value ? flatpickr.formatDate(new Date(value), "d-m-Y") : "";
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className={`position-relative ${className}`}>
|
<div className={`position-relative ${className} w-max `}>
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
className="form-control form-control-sm"
|
className="form-control form-control-sm"
|
||||||
|
|||||||
@ -3,8 +3,8 @@ import { useController, useFormContext, useWatch } from "react-hook-form";
|
|||||||
import { useSelector } from "react-redux";
|
import { useSelector } from "react-redux";
|
||||||
|
|
||||||
const DateRangePicker = ({
|
const DateRangePicker = ({
|
||||||
md=12,
|
md,
|
||||||
sm=6,
|
sm,
|
||||||
onRangeChange,
|
onRangeChange,
|
||||||
DateDifference = 7,
|
DateDifference = 7,
|
||||||
endDateMode = "yesterday",
|
endDateMode = "yesterday",
|
||||||
@ -33,7 +33,7 @@ const DateRangePicker = ({
|
|||||||
startDate.setHours(0, 0, 0, 0);
|
startDate.setHours(0, 0, 0, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
const fp = flatpickr(inputRef.current, {
|
const fp = flatpickr(inputRef.current, {
|
||||||
mode: "range",
|
mode: "range",
|
||||||
dateFormat: "Y-m-d",
|
dateFormat: "Y-m-d",
|
||||||
altInput: true,
|
altInput: true,
|
||||||
@ -63,31 +63,27 @@ const DateRangePicker = ({
|
|||||||
};
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className={`position-relative w-auto justify-content-center`}>
|
<div className={`position-relative w-max `}>
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
className="form-control form-control-sm w-100 pe-8 "
|
className="form-control form-control-sm ps-2 pe-3 me-2 cursor-pointer fw-medium"
|
||||||
placeholder="From to End"
|
placeholder="From to End"
|
||||||
id="flatpickr-range"
|
id="flatpickr-range"
|
||||||
ref={inputRef}
|
ref={inputRef}
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<i
|
|
||||||
className="bx bx-calendar calendar-icon cursor-pointer position-absolute ms-n6 top-50 end-30 translate-middle-y me-2 "
|
|
||||||
onClick={handleIconClick}
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
|
<span
|
||||||
|
className="position-absolute top-50 end-0 pe-1 translate-middle-y cursor-pointer"
|
||||||
|
onClick={handleIconClick}
|
||||||
|
>
|
||||||
|
<i className="bx bx-calendar bx-sm fs-5 text-muted"></i>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
export default DateRangePicker;
|
export default DateRangePicker;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
export const DateRangePicker1 = ({
|
export const DateRangePicker1 = ({
|
||||||
startField = "startDate",
|
startField = "startDate",
|
||||||
endField = "endDate",
|
endField = "endDate",
|
||||||
@ -97,7 +93,6 @@ export const DateRangePicker1 = ({
|
|||||||
resetSignal,
|
resetSignal,
|
||||||
defaultRange = true,
|
defaultRange = true,
|
||||||
maxDate = null,
|
maxDate = null,
|
||||||
howManyDay = 6,
|
|
||||||
...rest
|
...rest
|
||||||
}) => {
|
}) => {
|
||||||
const inputRef = useRef(null);
|
const inputRef = useRef(null);
|
||||||
@ -107,13 +102,12 @@ export const DateRangePicker1 = ({
|
|||||||
field: { ref },
|
field: { ref },
|
||||||
} = useController({ name: startField, control });
|
} = useController({ name: startField, control });
|
||||||
|
|
||||||
// Apply default range
|
|
||||||
const applyDefaultDates = () => {
|
const applyDefaultDates = () => {
|
||||||
const today = new Date();
|
const today = new Date();
|
||||||
const past = new Date(today.getTime());
|
const past = new Date();
|
||||||
past.setDate(today.getDate() - howManyDay);
|
past.setDate(today.getDate() - 6);
|
||||||
|
|
||||||
const format = (d) => window.flatpickr.formatDate(d, "d-m-Y");
|
const format = (d) => flatpickr.formatDate(d, "d-m-Y");
|
||||||
const formattedStart = format(past);
|
const formattedStart = format(past);
|
||||||
const formattedEnd = format(today);
|
const formattedEnd = format(today);
|
||||||
|
|
||||||
@ -128,11 +122,7 @@ export const DateRangePicker1 = ({
|
|||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (!inputRef.current || inputRef.current._flatpickr) return;
|
if (!inputRef.current || inputRef.current._flatpickr) return;
|
||||||
|
|
||||||
if (defaultRange && !getValues(startField) && !getValues(endField)) {
|
const instance = flatpickr(inputRef.current, {
|
||||||
applyDefaultDates();
|
|
||||||
}
|
|
||||||
|
|
||||||
const instance = window.flatpickr(inputRef.current, {
|
|
||||||
mode: "range",
|
mode: "range",
|
||||||
dateFormat: "d-m-Y",
|
dateFormat: "d-m-Y",
|
||||||
allowInput: allowText,
|
allowInput: allowText,
|
||||||
@ -140,7 +130,7 @@ export const DateRangePicker1 = ({
|
|||||||
onChange: (selectedDates) => {
|
onChange: (selectedDates) => {
|
||||||
if (selectedDates.length === 2) {
|
if (selectedDates.length === 2) {
|
||||||
const [start, end] = selectedDates;
|
const [start, end] = selectedDates;
|
||||||
const format = (d) => window.flatpickr.formatDate(d, "d-m-Y");
|
const format = (d) => flatpickr.formatDate(d, "d-m-Y");
|
||||||
setValue(startField, format(start), { shouldValidate: true });
|
setValue(startField, format(start), { shouldValidate: true });
|
||||||
setValue(endField, format(end), { shouldValidate: true });
|
setValue(endField, format(end), { shouldValidate: true });
|
||||||
} else {
|
} else {
|
||||||
@ -153,10 +143,12 @@ export const DateRangePicker1 = ({
|
|||||||
|
|
||||||
const currentStart = getValues(startField);
|
const currentStart = getValues(startField);
|
||||||
const currentEnd = getValues(endField);
|
const currentEnd = getValues(endField);
|
||||||
if (currentStart && currentEnd) {
|
if (defaultRange && !currentStart && !currentEnd) {
|
||||||
|
applyDefaultDates();
|
||||||
|
} else if (currentStart && currentEnd) {
|
||||||
instance.setDate([
|
instance.setDate([
|
||||||
window.flatpickr.parseDate(currentStart, "d-m-Y"),
|
flatpickr.parseDate(currentStart, "d-m-Y"),
|
||||||
window.flatpickr.parseDate(currentEnd, "d-m-Y"),
|
flatpickr.parseDate(currentEnd, "d-m-Y"),
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -183,12 +175,12 @@ export const DateRangePicker1 = ({
|
|||||||
const formattedValue = start && end ? `${start} To ${end}` : "";
|
const formattedValue = start && end ? `${start} To ${end}` : "";
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className={`position-relative ${className}`}>
|
<div className={`position-relative ${className} w-max `}>
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
className="form-control form-control-sm"
|
className="form-control form-control-sm ps-2 pe-3 me-4 cursor-pointer"
|
||||||
placeholder={placeholder}
|
placeholder={placeholder}
|
||||||
value={formattedValue}
|
defaultValue={formattedValue}
|
||||||
ref={(el) => {
|
ref={(el) => {
|
||||||
inputRef.current = el;
|
inputRef.current = el;
|
||||||
ref(el);
|
ref(el);
|
||||||
@ -205,4 +197,3 @@ export const DateRangePicker1 = ({
|
|||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user