From 73f7697c66ef0997eafae2022238e431bf33f249 Mon Sep 17 00:00:00 2001 From: Zaid Chauhan Date: Thu, 23 Nov 2017 12:36:10 +0530 Subject: [PATCH 1/4] Update Header.jsx --- src/Header.jsx | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/Header.jsx b/src/Header.jsx index 1520d25e..e473e798 100644 --- a/src/Header.jsx +++ b/src/Header.jsx @@ -19,6 +19,7 @@ class Header extends Component { onChange: PropTypes.func, onClear: PropTypes.func, onEsc: PropTypes.func, + onTab: PropTypes.func, allowEmpty: PropTypes.bool, defaultOpenValue: PropTypes.object, currentSelectPanel: PropTypes.string, @@ -135,11 +136,12 @@ class Header extends Component { } onKeyDown = (e) => { - const { onEsc, onKeyDown } = this.props; + const { onEsc, onTab, onKeyDown } = this.props; if (e.keyCode === 27) { onEsc(); + } else if (e.keyCode === 9) { + onTab(e.shiftKey); } - onKeyDown(e); } From 574c2aa74ddf679e205a4ef4e28342bbe62296f6 Mon Sep 17 00:00:00 2001 From: Zaid Chauhan Date: Thu, 23 Nov 2017 12:36:49 +0530 Subject: [PATCH 2/4] Update Panel.jsx --- src/Panel.jsx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/Panel.jsx b/src/Panel.jsx index a1b7c77a..f545bb60 100644 --- a/src/Panel.jsx +++ b/src/Panel.jsx @@ -33,6 +33,7 @@ class Panel extends Component { hideDisabledOptions: PropTypes.bool, onChange: PropTypes.func, onEsc: PropTypes.func, + onTab: PropTypes.func, allowEmpty: PropTypes.bool, showHour: PropTypes.bool, showMinute: PropTypes.bool, @@ -95,7 +96,7 @@ class Panel extends Component { const { prefixCls, className, placeholder, disabledHours, disabledMinutes, disabledSeconds, hideDisabledOptions, allowEmpty, showHour, showMinute, showSecond, - format, defaultOpenValue, clearText, onEsc, addon, use12Hours, onClear, + format, defaultOpenValue, clearText, onEsc, onTab, addon, use12Hours, onClear, focusOnOpen, onKeyDown, hourStep, minuteStep, secondStep, } = this.props; const { @@ -124,6 +125,7 @@ class Panel extends Component { value={value} currentSelectPanel={currentSelectPanel} onEsc={onEsc} + onTab={onTab} format={format} placeholder={placeholder} hourOptions={hourOptions} From 4d9738ef585a469d09b99063ba2ead8910eaadec Mon Sep 17 00:00:00 2001 From: Zaid Chauhan Date: Thu, 23 Nov 2017 12:37:26 +0530 Subject: [PATCH 3/4] Update TimePicker.jsx --- src/TimePicker.jsx | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/TimePicker.jsx b/src/TimePicker.jsx index e3c5a79f..387c30cf 100644 --- a/src/TimePicker.jsx +++ b/src/TimePicker.jsx @@ -126,6 +126,22 @@ export default class Picker extends Component { this.focus(); } + onTab = (toPrevious) => { + this.setOpen(false); + + const allInputs = document.querySelectorAll('input'); + for (let i = 0; i < allInputs.length; i++) { + if (allInputs[i] === this.picker) { + if (toPrevious === true && i !== 0) { + allInputs[i - 1].focus(); + } else if (i !== allInputs.length - 1) { + allInputs[i + 1].focus(); + } + break; + } + } + } + onKeyDown = (e) => { if (e.keyCode === 40) { this.setOpen(true); @@ -184,6 +200,7 @@ export default class Picker extends Component { showMinute={showMinute} showSecond={showSecond} onEsc={this.onEsc} + onTab={this.onTab} allowEmpty={allowEmpty} format={this.getFormat()} placeholder={placeholder} From a98b1091efbbbecd9258b7cd4f10f288bf33257c Mon Sep 17 00:00:00 2001 From: Zaid Chauhan Date: Fri, 24 Nov 2017 18:36:20 +0530 Subject: [PATCH 4/4] Update TimePicker.jsx --- src/TimePicker.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/TimePicker.jsx b/src/TimePicker.jsx index 387c30cf..1fcb5e26 100644 --- a/src/TimePicker.jsx +++ b/src/TimePicker.jsx @@ -129,7 +129,7 @@ export default class Picker extends Component { onTab = (toPrevious) => { this.setOpen(false); - const allInputs = document.querySelectorAll('input'); + const allInputs = document.querySelectorAll('input,textarea,select'); for (let i = 0; i < allInputs.length; i++) { if (allInputs[i] === this.picker) { if (toPrevious === true && i !== 0) {