Sha256: 7fa8ec15bbab52aecfff9446fb17c208c19fb71c1e5c32b83a48deb4660faf07

Contents?: true

Size: 1.45 KB

Versions: 11

Compression:

Stored size: 1.45 KB

Contents

class InputText extends BaseInput {

  render() {
    const { errors, name, value, defaultValue, disabled, helpMessage, label, labelHidden, onChange, placeholder } = this.props;

    const wrapperClassName = classNames({
      'next-input-wrapper': true,
      'next-input-wrapper--is-error': this.hasError() 
    });

    const labelClassName = classNames({
      'next-label': true,
      'helper--visually-hidden': labelHidden
    });

    const handleChange = (e) => {
      onChange(e.target.value);
    };

    let helpElement = null;
    if(helpMessage) {
      helpElement = <p className="next-input__help-text">{helpMessage}</p>;
    }

    return (
      <div className={wrapperClassName}>
        <label className={labelClassName} htmlFor={name}>{label}</label>
        <input
          id={name}
          className="next-input"
          disabled={disabled}
          value={value}
          defaultValue={defaultValue}
          name={name}
          onChange={handleChange}
          placeholder={placeholder}
          type="text"
        />
        {helpElement}
      </div>
    );
  }
}

InputText.propTypes = {
  errors: React.PropTypes.object,
  label: React.PropTypes.string.isRequired,
  name: React.PropTypes.string,
  onChange: React.PropTypes.func,
  placeholder: React.PropTypes.string,
  helpMessage: React.PropTypes.string,
  error: React.PropTypes.bool,
  disabled: React.PropTypes.bool
};

InputText.defaultProps = {
  errors: {},
  disabled: false
};

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
disco_app-0.9.0 app/assets/javascripts/disco_app/components/ui-kit/forms/input-text.es6.jsx
disco_app-0.9.1 app/assets/javascripts/disco_app/components/ui-kit/forms/input-text.es6.jsx
disco_app-0.9.2 app/assets/javascripts/disco_app/components/ui-kit/forms/input-text.es6.jsx
disco_app-0.9.3 app/assets/javascripts/disco_app/components/ui-kit/forms/input-text.es6.jsx
disco_app-0.9.4 app/assets/javascripts/disco_app/components/ui-kit/forms/input-text.es6.jsx
disco_app-0.9.5 app/assets/javascripts/disco_app/components/ui-kit/forms/input-text.es6.jsx
disco_app-0.9.6 app/assets/javascripts/disco_app/components/ui-kit/forms/input-text.es6.jsx
disco_app-0.9.7 app/assets/javascripts/disco_app/components/ui-kit/forms/input-text.es6.jsx
disco_app-0.9.8 app/assets/javascripts/disco_app/components/ui-kit/forms/input-text.es6.jsx
disco_app-0.9.9 app/assets/javascripts/disco_app/components/ui-kit/forms/input-text.es6.jsx
disco_app-0.9.10 app/assets/javascripts/disco_app/components/ui-kit/forms/input-text.es6.jsx