From c831328dcfe9ddf6f53d9d472370ca8e68a15a0b Mon Sep 17 00:00:00 2001 From: Will Piers Date: Thu, 9 Apr 2015 17:16:14 -0700 Subject: [PATCH] unify use of password and secureTextEntry for TextInput Summary: Currently, the documentation shows both `password` and `secureTextEntry` as props for TextInput. However, the `password` prop is only passed to the Android component, so it does not work as expected for iOS developers. This PR prefers `password` over `secureTextEntry` but won't break anybody's code. Closes https://github.com/facebook/react-native/pull/622 Github Author: Will Piers Test Plan: Imported from GitHub, without a `Test Plan:` line. --- Examples/UIExplorer/TextInputExample.js | 2 +- Libraries/Components/TextInput/TextInput.js | 22 ++++++++++----------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/Examples/UIExplorer/TextInputExample.js b/Examples/UIExplorer/TextInputExample.js index 4e54c38b8..b033c7d3b 100644 --- a/Examples/UIExplorer/TextInputExample.js +++ b/Examples/UIExplorer/TextInputExample.js @@ -251,7 +251,7 @@ exports.examples = [ return ( - + ); diff --git a/Libraries/Components/TextInput/TextInput.js b/Libraries/Components/TextInput/TextInput.js index db6ceea33..6908ed8a6 100644 --- a/Libraries/Components/TextInput/TextInput.js +++ b/Libraries/Components/TextInput/TextInput.js @@ -198,12 +198,6 @@ var TextInput = React.createClass({ * automatically enables it when there is text. Default value is false. */ enablesReturnKeyAutomatically: PropTypes.bool, - - /** - * If true, the text input obscures the text entered so that sensitive text - * like passwords stay secure. Default value is false. - */ - secureTextEntry: PropTypes.bool, /** * If true, the text input can be multiple lines. Default value is false. */ @@ -221,11 +215,17 @@ var TextInput = React.createClass({ */ onChange: PropTypes.func, onChangeText: PropTypes.func, - + /** + * Callback that is called when text input ends. + */ onEndEditing: PropTypes.func, + /** + * Callback that is called when the text input's submit button is pressed. + */ onSubmitEditing: PropTypes.func, /** - * If true, the TextInput will be a password field. Default value is false. + * If true, the text input obscures the text entered so that sensitive text + * like passwords stay secure. Default value is false. */ password: PropTypes.bool, /** @@ -419,7 +419,7 @@ var TextInput = React.createClass({ keyboardType={keyboardType} returnKeyType={returnKeyType} enablesReturnKeyAutomatically={this.props.enablesReturnKeyAutomatically} - secureTextEntry={this.props.secureTextEntry} + secureTextEntry={this.props.password || this.props.secureTextEntry} onFocus={this._onFocus} onBlur={this._onBlur} onChange={this._onChange} @@ -464,7 +464,7 @@ var TextInput = React.createClass({ keyboardType={keyboardType} returnKeyType={returnKeyType} enablesReturnKeyAutomatically={this.props.enablesReturnKeyAutomatically} - secureTextEntry={this.props.secureTextEntry} + secureTextEntry={this.props.password || this.props.secureTextEntry} onFocus={this._onFocus} onBlur={this._onBlur} onChange={this._onChange} @@ -505,7 +505,7 @@ var TextInput = React.createClass({ onChange={this._onChange} onEndEditing={this.props.onEndEditing} onSubmitEditing={this.props.onSubmitEditing} - password={this.props.password} + password={this.props.password || this.props.secureTextEntry} placeholder={this.props.placeholder} value={this.state.bufferedValue} />;