@@ -6,16 +6,16 @@ import moment from 'moment';
66var dateFrom = null ;
77var dateTo = null ;
88
9- const applyFilter = ( name , key , filterer , value ) => {
9+ const applyFilter = ( name , key , filterer , format , value ) => {
1010 let filter = { } ;
1111
1212 if ( key === 0 ) {
13- dateFrom = moment ( value ) . format ( 'YYYY-MM-DD HH:mm:ss' ) ;
13+ dateFrom = moment ( value ) . format ( format ) ;
1414 } else {
15- dateTo = moment ( value ) . format ( 'YYYY-MM-DD HH:mm:ss' ) ;
15+ dateTo = moment ( value ) . format ( format ) ;
1616 }
1717
18- if ( dateFrom || dateTo ) {
18+ if ( dateFrom || dateTo ) {
1919 filter = {
2020 operator : OPERATOR . BETWEEN ,
2121 field : name ,
@@ -28,26 +28,35 @@ const applyFilter = ( name, key, filterer, value ) => {
2828 filterer ( name , filter ) ;
2929} ;
3030
31- const Date = ( { name, value = [ ] , filterer } ) => (
31+ const Date = ( {
32+ name,
33+ value = [ ] ,
34+ filterer,
35+ inputFormat = 'YYYY-MM-DD' ,
36+ parse = 'YYYY-MM-DD HH:mm:ss' ,
37+ showTimeSelect = false
38+ } ) => (
3239 < Fragment >
3340 < Row padding = "0 0 5px" >
3441 < Datetime
35- name = { name }
3642 className = "rdt-filter-input date to"
37- value = { value [ 0 ] || '' }
43+ value = { value [ 0 ] ? moment ( value [ 0 ] , parse ) . format ( inputFormat ) : '' }
3844 placeholder = "From"
39- dateFormat = "YYYY-MM-DD HH:mm:ss"
40- onChange = { applyFilter . bind ( this , name , 0 , filterer ) }
45+ showTimeSelect = { showTimeSelect }
46+ onChange = { applyFilter . bind ( this , name , 0 , filterer , parse ) }
47+ selected = { value [ 0 ] && moment ( value [ 0 ] , parse ) . toDate ( ) }
48+ dateFormat = { inputFormat }
4149 />
4250 </ Row >
4351 < Row >
4452 < Datetime
45- name = { name }
4653 className = "rdt-filter-input date to"
47- value = { value [ 1 ] || '' }
48- onChange = { applyFilter . bind ( this , name , 1 , filterer ) }
54+ value = { value [ 1 ] ? moment ( value [ 1 ] , parse ) . format ( inputFormat ) : '' }
4955 placeholder = "To"
50- dateFormat = "YYYY-MM-DD HH:mm:ss"
56+ showTimeSelect = { showTimeSelect }
57+ onChange = { applyFilter . bind ( this , name , 1 , filterer , parse ) }
58+ selected = { value [ 1 ] && moment ( value [ 1 ] , parse ) . toDate ( ) }
59+ dateFormat = { inputFormat }
5160 />
5261 </ Row >
5362 </ Fragment >
0 commit comments