import React, { Component, useState } from 'react'; import { storiesOf } from '@storybook/react'; import TimePickerPanel from '../index'; import { TimePicker as BasicTimePicker, Button } from '../../index'; import { strings } from '@douyinfe/semi-foundation/timePicker/constants'; import { get } from 'lodash-es'; import Callbacks from './Callbacks'; import CustomTrigger from './CustomTrigger'; import DisabledTime from './DisabledTime'; let TimePicker; const stories = storiesOf('timePicker', module); // auto add scrollItemProps.cycled = false, prevent waiting indefinitely in snapshot testing const TimePickerForTest = props => { let scrollItemProps = {}; if (!props.scrollItemProps) { scrollItemProps = { cycled: false }; } else { scrollItemProps = { ...props.scrollItemProps, cycled: false }; } return ; }; const init = () => { if (process.env.NODE_ENV === 'development') { TimePicker = BasicTimePicker; } else { TimePicker = TimePickerForTest; } }; init(); stories.add('TimePickerPanel default', () => { return (
console.log(val)} />
); }); stories.add('基础使用', () => ); class Demo extends React.Component { constructor() { super(); this.state = { value: null, }; this.onChange = this.onChange.bind(this); } onChange(time) { // console.log(time); this.setState({ value: time }); } render() { return ; } } stories.add('TimePickerPanel 受控组件', () => { const Demo = () => { const [value, setValue] = useState(new Date()); const onChange = (date, str) => setValue(date); return (
); }; return ; }); function CustomDemo() { const [open, setOpen] = useState(false); const closePanel = () => setOpen(false); const onOpenChange = open => { setOpen(open); console.log(open); }; return ( close} /> ); } stories.add('设置面板头部,底部', () => ); stories.add('不同format格式', () => ); stories.add('禁用时间选择', () => { return ; }); stories.add('设置步长', () => { return ; }); stories.add('inputReadOnly', () => { return ; }); stories.add('range picker', () => { const RangePickerDemo = () => { const log = (...args) => { console.log(...args); }; const disabledHM = { 3: [3, 6, 12, 24, 48], 9: [9, 18, 36] }; const disabledHMS = { 6: { 6: [6, 12, 24, 48] }, 18: { 18: [18, 36] } }; const defaultValue = ['10:11:12', '12:11:23']; const [value, setValue] = useState(['10:11:12', '12:11:23']); const disabledHours = () => [1, 2, 4, 8, 16]; const disabledMinutes = hours => get(disabledHM, [hours], []); const disabledSeconds = (hours, seconds) => get(disabledHMS, [hours, seconds], []); const onChange = (dates, str) => { log(dates, str); setValue(dates); }; return (

基本


默认值

受控

默认值+format


默认值+use12Hours+format


); }; return ; }); stories.add(`callbacks`, () => ); stories.add(`custom trigger`, () => ); stories.add(`disabled time demos`, () => ); stories.add(`showClear`, () => { function Demo() { return ( <> { console.log('clear', ...args); }} /> { console.log('clear', ...args); }} /> ); } return ; });