UNPKG

react-jsonschema-form-semantic

Version:

A simple React component capable of building HTML forms out of a JSON schema. Uses React Semantic UI (css not bundled)

81 lines (68 loc) 2.21 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _react = require("react"); var _react2 = _interopRequireDefault(_react); var _propTypes = require("prop-types"); var _propTypes2 = _interopRequireDefault(_propTypes); var _semanticUiReact = require("semantic-ui-react"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function TextareaWidget(props) { var id = props.id, options = props.options, placeholder = props.placeholder, value = props.value, required = props.required, disabled = props.disabled, readonly = props.readonly, autofocus = props.autofocus, onChange = props.onChange, onBlur = props.onBlur, onFocus = props.onFocus; var _onChange = function _onChange(_ref) { var value = _ref.target.value; return onChange(value === "" ? options.emptyValue : value); }; return _react2.default.createElement(_semanticUiReact.TextArea, { id: id, className: "form-control", value: typeof value === "undefined" ? "" : value, placeholder: placeholder, required: required, disabled: disabled, readOnly: readonly, autoFocus: autofocus, rows: options.rows, onBlur: onBlur && function (event) { return onBlur(id, event.target.value); }, onFocus: onFocus && function (event) { return onFocus(id, event.target.value); }, onChange: _onChange }); } TextareaWidget.defaultProps = { autofocus: false, options: {} }; if (process.env.NODE_ENV !== "production") { TextareaWidget.propTypes = { schema: _propTypes2.default.object.isRequired, id: _propTypes2.default.string.isRequired, placeholder: _propTypes2.default.string, options: _propTypes2.default.shape({ rows: _propTypes2.default.number }), value: _propTypes2.default.string, required: _propTypes2.default.bool, disabled: _propTypes2.default.bool, readonly: _propTypes2.default.bool, autofocus: _propTypes2.default.bool, onChange: _propTypes2.default.func, onBlur: _propTypes2.default.func, onFocus: _propTypes2.default.func }; } exports.default = TextareaWidget;