This commit is contained in:
focp212@naver.com
2025-10-15 19:49:21 +09:00
parent a07e80e60c
commit b457716c3f
5 changed files with 85 additions and 46 deletions

View File

@@ -26,22 +26,31 @@ export const FilterCalendar = ({
const [calendarOpen, setCalendarOpen] = useState<boolean>(false);
const [calendarType, setCalendarType] = useState<CalendarType>(CalendarType.Start);
const [newStartDate, setNewStartDate] = useState<string>('');
const [newEndDate, setNewEndDate] = useState<string>('');
const setFilterDate = (dateOptions: FilterDateOptions) => {
if(dateOptions === FilterDateOptions.Today){
setStartDate(moment().format('YYYY.MM.DD'));
setEndDate(moment().format('YYYY.MM.DD'));
setStartDate(moment().format('YYYYMMDD'));
setNewStartDate(moment().format('YYYY.MM.DD'));
setEndDate(moment().format('YYYYMMDD'));
setNewEndDate(moment().format('YYYY.MM.DD'));
setDateReadyOnly(true);
setFilterDateOptionsBtn(FilterDateOptions.Today);
}
else if(dateOptions === FilterDateOptions.Week){
setStartDate(moment().subtract(1, 'week').format('YYYY.MM.DD'));
setEndDate(moment().format('YYYY.MM.DD'));
setStartDate(moment().subtract(1, 'week').format('YYYYMMDD'));
setNewStartDate(moment().subtract(1, 'week').format('YYYY.MM.DD'));
setEndDate(moment().format('YYYYMMDD'));
setNewEndDate(moment().format('YYYY.MM.DD'));
setDateReadyOnly(true);
setFilterDateOptionsBtn(FilterDateOptions.Week);
}
else if(dateOptions === FilterDateOptions.Month){
setStartDate(moment().subtract(1, 'month').format('YYYY.MM.DD'));
setEndDate(moment().format('YYYY.MM.DD'));
setStartDate(moment().subtract(1, 'month').format('YYYYMMDD'));
setNewStartDate(moment().subtract(1, 'month').format('YYYY.MM.DD'));
setEndDate(moment().format('YYYYMMDD'));
setNewEndDate(moment().format('YYYY.MM.DD'));
setDateReadyOnly(true);
setFilterDateOptionsBtn(FilterDateOptions.Month);
}
@@ -65,16 +74,31 @@ export const FilterCalendar = ({
const setNewDate = (date: string) => {
if(calendarType === CalendarType.Start){
setStartDate(date);
setStartDate(moment(date).format('YYYYMMDD'));
setNewStartDate(moment(date).format('YYYY.MM.DD'));
}
else if(calendarType === CalendarType.End){
setEndDate(date);
setEndDate(moment(date).format('YYYYMMDD'));
setNewEndDate(moment(date).format('YYYY.MM.DD'));
}
setCalendarOpen(false);
}
useEffect(() => {
if(startDate && startDate.length === 8){
let str = startDate.substring(0, 4)+'.'+startDate.substring(4, 6)+'.'+startDate.substring(6, 8);
setNewStartDate(str);
}
else{
setNewStartDate(startDate);
}
if(endDate && endDate.length === 8){
let str = endDate.substring(0, 4)+'.'+endDate.substring(4, 6)+'.'+endDate.substring(6, 8);
setNewEndDate(str);
}
else{
setNewEndDate(endDate);
}
}, []);
return (
<>
@@ -106,7 +130,7 @@ export const FilterCalendar = ({
className="date-input"
type="text"
placeholder="날짜 선택"
value={ startDate }
value={ newStartDate }
onChange={ (e: ChangeEvent<HTMLInputElement>) => {} }
readOnly={ dateReadOnly }
/>
@@ -128,7 +152,7 @@ export const FilterCalendar = ({
className="date-input"
type="text"
placeholder="날짜 선택"
value={ endDate }
value={ newEndDate }
onChange={ (e: ChangeEvent<HTMLInputElement>) => {} }
readOnly={ dateReadOnly }
/>
@@ -149,8 +173,8 @@ export const FilterCalendar = ({
<NiceCalendar
calendarOpen={ calendarOpen }
setCalendarOpen={ setCalendarOpen }
startDate={ startDate }
endDate={ endDate }
startDate={ newStartDate }
endDate={ newEndDate }
calendarType={ calendarType }
setNewDate={ setNewDate }
></NiceCalendar>