@@ -4,12 +4,7 @@ import '../../assets/ReactDatepicker.css';
4
4
import * as React from 'react' ;
5
5
import { useState , useMemo , useRef , useEffect } from 'react' ;
6
6
import { getFormatDatetime } from '../utils/datetime' ;
7
- import {
8
- setCenturyPage ,
9
- setDecadePage ,
10
- setYearPage ,
11
- setMonthPage ,
12
- } from '../utils/page' ;
7
+ import { setCenturyPage , setDecadePage , setMonthPage } from '../utils/page' ;
13
8
import ViewCentury from './view/Century' ;
14
9
import { NAME_SPACE } from './constants/core' ;
15
10
import Controller from './Controller' ;
@@ -19,12 +14,16 @@ import ViewMonth from './view/Month';
19
14
import { addLeadingZero } from '../utils/string' ;
20
15
import useOutsideClick from '../hooks/useOutsideClick' ;
21
16
22
- function Container ( ) {
17
+ interface Iprops {
18
+ initValue ?: Date ;
19
+ onChange ?: ( activeDate : Date ) => void ;
20
+ }
21
+
22
+ function Container ( { initValue = new Date ( ) , onChange } : Iprops ) {
23
23
// 인수가 없을 땐 LOCAL 기준 현재 시간을 반환한다.
24
- const NEW_DATE = new Date ( ) ;
25
- const [ activeDate , setActiveDate ] = useState < Date > ( NEW_DATE ) ;
24
+ const [ activeDate , setActiveDate ] = useState < Date > ( initValue ) ;
26
25
const [ viewDate , setViewDate ] = useState < string > (
27
- getFormatDatetime ( NEW_DATE , 'YYYY-MM-DD' )
26
+ getFormatDatetime ( initValue , 'YYYY-MM-DD' )
28
27
) ;
29
28
const [ viewType , setViewType ] = useState <
30
29
'century' | 'decade' | 'year' | 'month'
@@ -33,7 +32,7 @@ function Container() {
33
32
34
33
const centuryPage = useMemo ( ( ) => setCenturyPage ( viewDate ) , [ viewDate ] ) ;
35
34
const decadePage = useMemo ( ( ) => setDecadePage ( viewDate ) , [ viewDate ] ) ;
36
- const yearPage = useMemo ( ( ) => setYearPage ( viewDate ) , [ viewDate ] ) ;
35
+ // const yearPage = useMemo(() => setYearPage(viewDate), [viewDate]);
37
36
const monthPage = useMemo ( ( ) => setMonthPage ( viewDate ) , [ viewDate ] ) ;
38
37
const container = useRef ( null ) ;
39
38
@@ -76,13 +75,15 @@ function Container() {
76
75
} ;
77
76
78
77
const handleFocus = ( ) => {
79
- console . log ( 'handleFocus' ) ;
80
78
setIsVisible ( true ) ;
81
79
} ;
82
80
83
81
useEffect ( ( ) => {
84
82
setIsVisible ( false ) ;
85
- } , [ activeDate ] ) ;
83
+ if ( onChange ) {
84
+ onChange ( activeDate ) ;
85
+ }
86
+ } , [ activeDate , onChange ] ) ;
86
87
87
88
// const [centuryPage, setCenturyPage] = useState<number>(0);
88
89
// const [decadePage, setDecadePage] = useState<number>(0);
0 commit comments