From 3931819e40ce408d8f7c1a969e160631b376c07e Mon Sep 17 00:00:00 2001 From: Cyril Sobierajewicz Date: Mon, 11 Jun 2018 10:35:05 +0200 Subject: Add a prop to configure whether `esc` should close the panel --- src/Header.jsx | 2 +- src/Panel.jsx | 5 ++++- src/TimePicker.jsx | 5 ++++- 3 files changed, 9 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/Header.jsx b/src/Header.jsx index 21d557e..50fecb8 100644 --- a/src/Header.jsx +++ b/src/Header.jsx @@ -141,7 +141,7 @@ class Header extends Component { onKeyDown = (e) => { const { onEsc, onKeyDown } = this.props; - if (e.keyCode === 27) { + if (e.keyCode === 27 && onEsc) { onEsc(); } diff --git a/src/Panel.jsx b/src/Panel.jsx index 648944d..1bfe883 100644 --- a/src/Panel.jsx +++ b/src/Panel.jsx @@ -45,6 +45,7 @@ class Panel extends Component { secondStep: PropTypes.number, addon: PropTypes.func, focusOnOpen: PropTypes.bool, + closeOnEsc: PropTypes.bool, onKeyDown: PropTypes.func, }; @@ -60,6 +61,7 @@ class Panel extends Component { addon: noop, onKeyDown: noop, inputReadOnly: false, + closeOnEsc: true, }; constructor(props) { @@ -117,6 +119,7 @@ class Panel extends Component { disabledSeconds, hideDisabledOptions, allowEmpty, showHour, showMinute, showSecond, format, defaultOpenValue, clearText, onEsc, addon, use12Hours, onClear, focusOnOpen, onKeyDown, hourStep, minuteStep, secondStep, inputReadOnly, + closeOnEsc, } = this.props; const { value, currentSelectPanel, @@ -143,7 +146,7 @@ class Panel extends Component { defaultOpenValue={defaultOpenValue} value={value} currentSelectPanel={currentSelectPanel} - onEsc={onEsc} + onEsc={closeOnEsc ? onEsc : undefined} format={format} placeholder={placeholder} hourOptions={hourOptions} diff --git a/src/TimePicker.jsx b/src/TimePicker.jsx index 26166f4..1a374f2 100644 --- a/src/TimePicker.jsx +++ b/src/TimePicker.jsx @@ -53,6 +53,7 @@ export default class Picker extends Component { minuteStep: PropTypes.number, secondStep: PropTypes.number, focusOnOpen: PropTypes.bool, + closeOnEsc: PropTypes.bool, onKeyDown: PropTypes.func, autoFocus: PropTypes.bool, id: PropTypes.string, @@ -86,6 +87,7 @@ export default class Picker extends Component { addon: noop, use12Hours: false, focusOnOpen: false, + closeOnEsc: true, onKeyDown: noop, }; @@ -173,7 +175,7 @@ export default class Picker extends Component { prefixCls, placeholder, disabledHours, disabledMinutes, disabledSeconds, hideDisabledOptions, inputReadOnly, allowEmpty, showHour, showMinute, showSecond, defaultOpenValue, clearText, - addon, use12Hours, focusOnOpen, onKeyDown, hourStep, minuteStep, secondStep, + addon, use12Hours, focusOnOpen, closeOnEsc, onKeyDown, hourStep, minuteStep, secondStep, } = this.props; return ( ); -- cgit v1.2.3