]> git.immae.eu Git - github/fretlink/time-picker.git/blobdiff - examples/disabled.js
Merge pull request #1 from cyrilfretlink/close-on-esc-prop
[github/fretlink/time-picker.git] / examples / disabled.js
index 24d0068f259ec35f0bbcdb553a54407dffcb5bd5..a38ce160611df57c35098b357dfcac13443ea7c8 100644 (file)
@@ -5,32 +5,65 @@ 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 moment from 'moment';
 
 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 = moment().hour(14).minute(30);
 
-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));
+  console.log(value && value.format(str));
+}
+
+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={[0, 1, 2, 3, 4, 5, 6, 7, 8, 22, 23]}
-              disabledMinutes={[0, 2, 4, 6, 8]} />,
-  document.getElementById('__react-content')
-);
+  <div>
+    <h3>Disabled picker</h3>
+    <TimePicker
+      defaultValue={now}
+      disabled
+      onChange={onChange}
+    />
+    <h3>Disabled options</h3>
+    <TimePicker
+      showSecond={showSecond}
+      defaultValue={now}
+      className="xxx"
+      onChange={onChange}
+      disabledHours={disabledHours}
+      disabledMinutes={disabledMinutes}
+      disabledSeconds={disabledSeconds}
+    />
+  </div>
+, document.getElementById('__react-content'));