From b86fe1d16a4ad06951bba9ac2990ec3e4563637a Mon Sep 17 00:00:00 2001 From: Artem Vasiliev Date: Thu, 20 Oct 2016 00:00:17 +0300 Subject: feat: 'addon' property support ..to be able to render something like OK button to timepicker: ``` { return (
panel.close()}> {__('OK')}
) }} /> ``` --- src/Panel.jsx | 9 ++++++++- src/TimePicker.jsx | 4 ++++ 2 files changed, 12 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/Panel.jsx b/src/Panel.jsx index 9066b03..0ed60e9 100644 --- a/src/Panel.jsx +++ b/src/Panel.jsx @@ -36,6 +36,7 @@ const Panel = React.createClass({ showHour: PropTypes.bool, showSecond: PropTypes.bool, onClear: PropTypes.func, + addon: PropTypes.func, }, getDefaultProps() { @@ -47,6 +48,7 @@ const Panel = React.createClass({ disabledMinutes: noop, disabledSeconds: noop, defaultOpenValue: moment(), + addon: noop, }; }, @@ -79,11 +81,15 @@ const Panel = React.createClass({ this.setState({ currentSelectPanel }); }, + close() { + this.props.onEsc(); + }, + render() { const { prefixCls, className, placeholder, disabledHours, disabledMinutes, disabledSeconds, hideDisabledOptions, allowEmpty, showHour, showSecond, - format, defaultOpenValue, clearText, onEsc, + format, defaultOpenValue, clearText, onEsc, addon, } = this.props; const { value, currentSelectPanel, @@ -133,6 +139,7 @@ const Panel = React.createClass({ disabledSeconds={disabledSeconds} onCurrentSelectPanelChange={this.onCurrentSelectPanelChange} /> + {addon(this)} ); }, diff --git a/src/TimePicker.jsx b/src/TimePicker.jsx index 58f6ea1..358b596 100644 --- a/src/TimePicker.jsx +++ b/src/TimePicker.jsx @@ -39,6 +39,7 @@ const Picker = React.createClass({ onChange: PropTypes.func, onOpen: PropTypes.func, onClose: PropTypes.func, + addon: PropTypes.func, }, getDefaultProps() { @@ -61,6 +62,7 @@ const Picker = React.createClass({ onChange: noop, onOpen: noop, onClose: noop, + addon: noop, }; }, @@ -137,6 +139,7 @@ const Picker = React.createClass({ prefixCls, placeholder, disabledHours, disabledMinutes, disabledSeconds, hideDisabledOptions, allowEmpty, showHour, showSecond, defaultOpenValue, clearText, + addon, } = this.props; return ( ); }, -- cgit v1.2.3