@@ -7,6 +7,7 @@ import { useTranslation } from 'react-i18next';
77
88type DateRangePickerProps = {
99 onChange ( range : { start : string ; end : string } ) : void ;
10+ defaultSelectedKey ?: 'today' | 'yesterday' | 'thisWeek' | 'previousWeek' | 'thisMonth' | 'alldates' ;
1011} ;
1112
1213const formatToDateInput = ( date : Moment ) => date . locale ( 'en' ) . format ( 'YYYY-MM-DD' ) ;
@@ -23,7 +24,7 @@ const getWeekRange = (daysToSubtractFromStart: number, daysToSubtractFromEnd: nu
2324 end : formatToDateInput ( moment ( ) . subtract ( daysToSubtractFromEnd , 'day' ) ) ,
2425} ) ;
2526
26- const DateRangePicker = ( { onChange } : DateRangePickerProps ) => {
27+ const DateRangePicker = ( { onChange, defaultSelectedKey = 'alldates' } : DateRangePickerProps ) => {
2728 const { t } = useTranslation ( ) ;
2829
2930 const handleRange = useEffectEvent ( ( range : { start : string ; end : string } ) => {
@@ -41,13 +42,6 @@ const DateRangePicker = ({ onChange }: DateRangePickerProps) => {
4142 ] . map ( ( [ value , label ] ) => [ value , label ] as SelectOption ) ;
4243 } , [ t ] ) ;
4344
44- useEffect ( ( ) => {
45- handleRange ( {
46- start : formatToDateInput ( moment ( 0 ) ) ,
47- end : todayDate ,
48- } ) ;
49- } , [ handleRange ] ) ;
50-
5145 const handleOptionClick = useEffectEvent ( ( action : Key ) => {
5246 switch ( action ) {
5347 case 'today' :
@@ -76,9 +70,13 @@ const DateRangePicker = ({ onChange }: DateRangePickerProps) => {
7670 }
7771 } ) ;
7872
73+ useEffect ( ( ) => {
74+ handleOptionClick ( defaultSelectedKey ) ;
75+ } , [ ] ) ;
76+
7977 return (
8078 < Box flexGrow = { 0 } >
81- < Select defaultSelectedKey = 'alldates' width = '100%' options = { timeOptions } onChange = { handleOptionClick } />
79+ < Select defaultSelectedKey = { defaultSelectedKey } width = '100%' options = { timeOptions } onChange = { handleOptionClick } />
8280 </ Box >
8381 ) ;
8482} ;
0 commit comments