11import React , { Component } from 'react' ;
2- import { Calendar , DateRange , DateRangePicker } from '../../../src' ;
2+ import { Calendar , DateRange , DateRangePicker , DefinedRange } from '../../../src' ;
33import * as rdrLocales from '../../../src/locale' ;
44import { format , addDays } from 'date-fns' ;
55import Section from './Section' ;
@@ -69,34 +69,54 @@ export default class Main extends Component {
6969 selection : {
7070 startDate : new Date ( ) ,
7171 endDate : null ,
72+ key : 'selection' ,
73+ } ,
74+ } ,
75+ definedRange : {
76+ selection : {
77+ startDate : new Date ( ) ,
78+ endDate : new Date ( ) ,
79+ key : 'selection' ,
7280 } ,
7381 } ,
7482 dateRangePickerI : {
7583 selection : {
7684 startDate : new Date ( ) ,
7785 endDate : null ,
86+ key : 'selection' ,
87+ } ,
88+ compare : {
89+ startDate : new Date ( ) ,
90+ endDate : addDays ( new Date ( ) , 3 ) ,
91+ key : 'compare' ,
7892 } ,
7993 } ,
8094 multipleRanges : {
8195 selection1 : {
8296 startDate : addDays ( new Date ( ) , 1 ) ,
8397 endDate : null ,
98+ key : 'selection1' ,
8499 } ,
85100 selection2 : {
86101 startDate : addDays ( new Date ( ) , 4 ) ,
87102 endDate : addDays ( new Date ( ) , 8 ) ,
103+ key : 'selection2' ,
88104 } ,
89105 selection3 : {
90106 startDate : addDays ( new Date ( ) , 8 ) ,
91107 endDate : addDays ( new Date ( ) , 10 ) ,
108+ key : 'selection3' ,
109+ showDateDisplay : false ,
110+ autoFocus : false ,
92111 } ,
93112 } ,
94- datePickerInternational : new Date ( ) ,
113+ datePickerInternational : null ,
95114 locale : 'ja' ,
96115 dateRangePicker : {
97116 selection : {
98117 startDate : new Date ( ) ,
99118 endDate : addDays ( new Date ( ) , 7 ) ,
119+ key : 'selection' ,
100120 } ,
101121 } ,
102122 } ;
@@ -123,7 +143,7 @@ export default class Main extends Component {
123143 < main className = { 'Main' } >
124144 < h1 className = { 'Title' } > React-date-range</ h1 >
125145
126- < Section title = "Date Range Picker - 2 month" >
146+ < Section title = "DateRangePicker - 2 month" >
127147 < div >
128148 < input
129149 type = "text"
@@ -143,19 +163,13 @@ export default class Main extends Component {
143163 moveRangeOnFirstSelection = { false }
144164 className = { 'PreviewArea' }
145165 months = { 2 }
146- ranges = { [
147- {
148- startDate : this . state . dateRangePicker . selection . startDate ,
149- endDate : this . state . dateRangePicker . selection . endDate ,
150- key : 'selection' ,
151- } ,
152- ] }
166+ ranges = { [ this . state . dateRangePicker . selection ] }
153167 direction = "horizontal"
154168 />
155169 </ div >
156170 </ Section >
157171
158- < Section title = "Date Range Picker - Vertical Infinite" >
172+ < Section title = "DateRangePicker - Vertical Infinite" >
159173 < div >
160174 < input
161175 type = "text"
@@ -177,18 +191,12 @@ export default class Main extends Component {
177191 maxDate = { addDays ( new Date ( ) , 900 ) }
178192 direction = "vertical"
179193 scroll = { { enabled : true } }
180- ranges = { [
181- {
182- startDate : this . state . dateRangePickerI . selection . startDate ,
183- endDate : this . state . dateRangePickerI . selection . endDate ,
184- key : 'selection' ,
185- } ,
186- ] }
194+ ranges = { [ this . state . dateRangePickerI . selection , this . state . dateRangePickerI . compare ] }
187195 />
188196 </ div >
189197 </ Section >
190198
191- < Section title = "Date Range Picker - Multiple Range" >
199+ < Section title = "DateRangePicker - Multiple Range" >
192200 < div >
193201 < label className = { 'label' } > Selection1 Start:</ label >
194202 < input
@@ -234,32 +242,15 @@ export default class Main extends Component {
234242 < DateRangePicker
235243 onChange = { this . handleRangeChange . bind ( this , 'multipleRanges' ) }
236244 ranges = { [
237- {
238- startDate : this . state . multipleRanges . selection1 . startDate ,
239- endDate : this . state . multipleRanges . selection1 . endDate ,
240- key : 'selection1' ,
241- // color: '#3d91ff',
242- } ,
243- {
244- startDate : this . state . multipleRanges . selection2 . startDate ,
245- endDate : this . state . multipleRanges . selection2 . endDate ,
246- key : 'selection2' ,
247- // color: '#3ecf8e',
248- } ,
249- {
250- startDate : this . state . multipleRanges . selection3 . startDate ,
251- endDate : this . state . multipleRanges . selection3 . endDate ,
252- key : 'selection3' ,
253- showDateDisplay : false ,
254- autoFocus : false ,
255- // color: '#fed14c',
256- } ,
245+ this . state . multipleRanges . selection1 ,
246+ this . state . multipleRanges . selection2 ,
247+ this . state . multipleRanges . selection3 ,
257248 ] }
258249 className = { 'PreviewArea' }
259250 />
260251 </ Section >
261252
262- < Section title = "Date Picker - Internationalization" >
253+ < Section title = "DatePicker - Internationalization" >
263254 < div >
264255 < select
265256 onChange = { e => this . setState ( { locale : e . target . value } ) }
@@ -284,7 +275,7 @@ export default class Main extends Component {
284275 />
285276 </ Section >
286277
287- < Section title = "Range Picker " >
278+ < Section title = "RangePicker " >
288279 < div >
289280 < input
290281 type = "text"
@@ -301,16 +292,30 @@ export default class Main extends Component {
301292 < DateRange
302293 onChange = { this . handleRangeChange . bind ( this , 'dateRange' ) }
303294 moveRangeOnFirstSelection = { false }
304- ranges = { [
305- {
306- startDate : this . state . dateRange . selection . startDate ,
307- endDate : this . state . dateRange . selection . endDate ,
308- key : 'selection' ,
309- } ,
310- ] }
295+ ranges = { [ this . state . dateRange . selection ] }
311296 className = { 'PreviewArea' }
312297 />
313298 </ Section >
299+ < Section title = "DefinedRange" >
300+ < div >
301+ < input
302+ type = "text"
303+ readOnly
304+ value = { formatDateDisplay ( this . state . definedRange . selection . startDate ) }
305+ />
306+ < input
307+ type = "text"
308+ readOnly
309+ value = { formatDateDisplay ( this . state . definedRange . selection . endDate , 'Continuous' ) }
310+ />
311+ </ div >
312+
313+ < DefinedRange
314+ ranges = { [ this . state . definedRange . selection ] }
315+ onChange = { this . handleRangeChange . bind ( this , 'definedRange' ) }
316+ className = { 'centered' }
317+ />
318+ </ Section >
314319 </ main >
315320 ) ;
316321 }
0 commit comments