@@ -6,16 +6,16 @@ import moment from 'moment';
6
6
var dateFrom = null ;
7
7
var dateTo = null ;
8
8
9
- const applyFilter = ( name , key , filterer , value ) => {
9
+ const applyFilter = ( name , key , filterer , format , value ) => {
10
10
let filter = { } ;
11
11
12
12
if ( key === 0 ) {
13
- dateFrom = moment ( value ) . format ( 'YYYY-MM-DD HH:mm:ss' ) ;
13
+ dateFrom = moment ( value ) . format ( format ) ;
14
14
} else {
15
- dateTo = moment ( value ) . format ( 'YYYY-MM-DD HH:mm:ss' ) ;
15
+ dateTo = moment ( value ) . format ( format ) ;
16
16
}
17
17
18
- if ( dateFrom || dateTo ) {
18
+ if ( dateFrom || dateTo ) {
19
19
filter = {
20
20
operator : OPERATOR . BETWEEN ,
21
21
field : name ,
@@ -28,26 +28,35 @@ const applyFilter = ( name, key, filterer, value ) => {
28
28
filterer ( name , filter ) ;
29
29
} ;
30
30
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
+ } ) => (
32
39
< Fragment >
33
40
< Row padding = "0 0 5px" >
34
41
< Datetime
35
- name = { name }
36
42
className = "rdt-filter-input date to"
37
- value = { value [ 0 ] || '' }
43
+ value = { value [ 0 ] ? moment ( value [ 0 ] , parse ) . format ( inputFormat ) : '' }
38
44
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 }
41
49
/>
42
50
</ Row >
43
51
< Row >
44
52
< Datetime
45
- name = { name }
46
53
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 ) : '' }
49
55
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 }
51
60
/>
52
61
</ Row >
53
62
</ Fragment >
0 commit comments