blob: 633b8db9279e47e3b9ea45220327b4798383aa5e (
plain) (
tree)
|
|
/* eslint no-console:0 */
import 'rc-time-picker/assets/index.less';
import React from 'react';
import ReactDom from 'react-dom';
import GregorianCalendar from 'gregorian-calendar';
import DateTimeFormat from 'gregorian-calendar-format';
import zhCn from 'gregorian-calendar/lib/locale/zh_CN';
import TimePicker from 'rc-time-picker';
import TimePickerLocale from 'rc-time-picker/src/locale/zh_CN';
const showSecond = true;
const str = showSecond ? 'HH:mm:ss' : 'HH:mm';
const formatter = new DateTimeFormat(str);
const now = new GregorianCalendar(zhCn);
now.setTime(Date.now());
function generateOptions(length, excludedOptions) {
const arr = [];
for (let value = 0; value < length; value++) {
if (excludedOptions.indexOf(value) < 0) {
arr.push(value);
}
}
return arr;
}
function onChange(value) {
console.log(value && formatter.format(value));
}
function disabledHours() {
return [0, 1, 2, 3, 4, 5, 6, 7, 8, 22, 23];
}
function disabledMinutes(h) {
switch (h) {
case 9:
return generateOptions(60, [30]);
case 21:
return generateOptions(60, [0]);
default:
return generateOptions(60, [0, 30]);
}
}
function disabledSeconds(h, m) {
return [h + m % 60];
}
ReactDom.render(
<TimePicker formatter={formatter} locale={TimePickerLocale}
showSecond={showSecond}
defaultValue={now}
className="xxx"
onChange={onChange}
disabledHours={disabledHours}
disabledMinutes={disabledMinutes}
disabledSeconds={disabledSeconds} />,
document.getElementById('__react-content')
);
|