]> git.immae.eu Git - github/fretlink/time-picker.git/blame - examples/disabled.js
update disabled options
[github/fretlink/time-picker.git] / examples / disabled.js
CommitLineData
0e62bf0b
M
1/* eslint no-console:0 */
2
3import 'rc-time-picker/assets/index.less';
4
5import React from 'react';
6import ReactDom from 'react-dom';
7
8import GregorianCalendar from 'gregorian-calendar';
9import DateTimeFormat from 'gregorian-calendar-format';
10import zhCn from 'gregorian-calendar/lib/locale/zh_CN';
11
12import TimePicker from 'rc-time-picker';
13import TimePickerLocale from 'rc-time-picker/src/locale/zh_CN';
14
15const showSecond = true;
16const str = showSecond ? 'HH:mm:ss' : 'HH:mm';
17
18const formatter = new DateTimeFormat(str);
19
20const now = new GregorianCalendar(zhCn);
21now.setTime(Date.now());
22
71bd9bc1
M
23function generateOptions(length, excludedOptions) {
24 const arr = [];
25 for (let value = 0; value < length; value++) {
26 if (excludedOptions.indexOf(value) < 0) {
27 arr.push(value);
28 }
29 }
30 return arr;
31}
32
0e62bf0b
M
33function onChange(value) {
34 console.log(value && formatter.format(value));
35}
36
71bd9bc1
M
37function disabledHours() {
38 return [0, 1, 2, 3, 4, 5, 6, 7, 8, 22, 23];
39}
40
41function disabledMinutes(h) {
42 switch (h) {
43 case 9:
44 return generateOptions(60, [30]);
45 case 21:
46 return generateOptions(60, [0]);
47 default:
48 return generateOptions(60, [0, 30]);
49 }
50}
51
52function disabledSeconds(h, m) {
53 return [h + m % 60];
54}
55
0e62bf0b
M
56ReactDom.render(
57 <TimePicker formatter={formatter} locale={TimePickerLocale}
58 showSecond={showSecond}
59 defaultValue={now}
60 className="xxx"
61 onChange={onChange}
71bd9bc1
M
62 disabledHours={disabledHours}
63 disabledMinutes={disabledMinutes}
64 disabledSeconds={disabledSeconds} />,
0e62bf0b
M
65 document.getElementById('__react-content')
66);