Skip to content

Commit

Permalink
FormstText implementation based on https://github.com/christianalfoni…
Browse files Browse the repository at this point in the history
  • Loading branch information
vijayrawatsan committed Nov 2, 2015
1 parent 572e3b6 commit 174fc0c
Show file tree
Hide file tree
Showing 2 changed files with 83 additions and 5 deletions.
45 changes: 43 additions & 2 deletions formsy-material-ui.jsx
Expand Up @@ -100,13 +100,54 @@ let FormsySelect = React.createClass({
});

let FormsyText = React.createClass({
mixins: [ Formsy.Mixin, FormComponentMixin ],
displayName: 'FormsyText',

propTypes: {
name: React.PropTypes.string.isRequired,
validations: React.PropTypes.string,
validationError: React.PropTypes.string,
hintText: React.PropTypes.string,
floatingLabelText: React.PropTypes.string
},

handleChange: function handleChange(event) {
if(this.getErrorMessage() != null){
this.setValue(event.currentTarget.value);
}
else{
if (this.isValidValue(event.target.value)) {
this.setValue(event.target.value);
}
else{
this.setState({
_value: event.currentTarget.value,
_isPristine: false
});
}
}
},

handleValueChange: function handleValueChange(event, value) {
this.setValue(value);
},

handleBlur: function handleBlur(event) {
this.setValue(event.currentTarget.value);
},

handleEnterKeyDown: function handleEnterKeyDown(event) {
this.setValue(event.currentTarget.value);
},

mixins: [ Formsy.Mixin ],

render: function () {
return (
<TextField
{...this.props}
onBlur={this.handleChange}
onChange={this.handleChange}
onBlur={this.handleBlur}
onEnterKeyDown={this.handleEnterKeyDown}
errorText={this.getErrorMessage()}
value={this.getValue()} />
);
Expand Down
43 changes: 40 additions & 3 deletions index.js
Expand Up @@ -115,11 +115,48 @@ var FormsySelect = React.createClass({
var FormsyText = React.createClass({
displayName: 'FormsyText',

mixins: [Formsy.Mixin, FormComponentMixin],
propTypes: {
name: React.PropTypes.string.isRequired,
validations: React.PropTypes.string,
validationError: React.PropTypes.string,
hintText: React.PropTypes.string,
floatingLabelText: React.PropTypes.string
},

handleChange: function handleChange(event) {
if (this.getErrorMessage() != null) {
this.setValue(event.currentTarget.value);
} else {
if (this.isValidValue(event.target.value)) {
this.setValue(event.target.value);
} else {
this.setState({
_value: event.currentTarget.value,
_isPristine: false
});
}
}
},

handleValueChange: function handleValueChange(event, value) {
this.setValue(value);
},

handleBlur: function handleBlur(event) {
this.setValue(event.currentTarget.value);
},

handleEnterKeyDown: function handleEnterKeyDown(event) {
this.setValue(event.currentTarget.value);
},

mixins: [Formsy.Mixin],

render: function render() {
return React.createElement(TextField, _extends({}, this.props, {
onBlur: this.handleChange,
onChange: this.handleChange,
onBlur: this.handleBlur,
onEnterKeyDown: this.handleEnterKeyDown,
errorText: this.getErrorMessage(),
value: this.getValue() }));
}
Expand Down Expand Up @@ -165,4 +202,4 @@ module.exports = {
FormsyText: FormsyText,
FormsyTime: FormsyTime,
FormsyToggle: FormsyToggle
};
};

0 comments on commit 174fc0c

Please sign in to comment.