diff --git a/components/input/Input.js b/components/input/Input.js index 0ff8e190..274385fc 100644 --- a/components/input/Input.js +++ b/components/input/Input.js @@ -2,6 +2,7 @@ import React from 'react'; import PropTypes from 'prop-types'; import classnames from 'classnames'; import { themr } from 'react-css-themr'; +import { isValuePresent } from '../utils/utils'; import { INPUT } from '../identifiers'; import InjectedFontIcon from '../font_icon/FontIcon'; @@ -159,13 +160,6 @@ const factory = (FontIcon) => { this.inputNode.focus(); } - valuePresent = value => ( - value !== null - && value !== undefined - && value !== '' - && !(typeof value === 'number' && isNaN(value)) - ) - render() { const { children, defaultValue, disabled, error, floating, hint, icon, name, label: labelText, maxLength, multiline, required, role, @@ -180,7 +174,7 @@ const factory = (FontIcon) => { [theme.withIcon]: icon, }, this.props.className); - const valuePresent = this.valuePresent(value) || this.valuePresent(defaultValue); + const valuePresent = isValuePresent(value) || isValuePresent(defaultValue); const inputElementProps = { ...others, diff --git a/components/utils/utils.js b/components/utils/utils.js index 38b05dd7..08b9e5cc 100644 --- a/components/utils/utils.js +++ b/components/utils/utils.js @@ -74,3 +74,10 @@ export const getAnimationModule = (animation, theme) => compose( transformKeys(removeNamespace(animation)), pickBy((v, k) => k.startsWith(animation)), )(theme); + +export const isValuePresent = value => ( + value !== null + && value !== undefined + && value !== '' + && !(typeof value === 'number' && isNaN(value)) +);