UNPKG

react-query-builder-semantic

Version:
83 lines (70 loc) 2.14 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 }; } /** * Default semantic element to input a value for a Rule in the QueryBuilderSemantic */ var ValueEditorSemantic = function ValueEditorSemantic(props) { var operator = props.operator, value = props.value, handleOnChange = props.handleOnChange, title = props.title, className = props.className, ruleSemanticProps = props.ruleSemanticProps; if (operator === 'null' || operator === 'notNull') { return null; } return _react2.default.createElement(_semanticUiReact.Input, Object.assign({}, ruleSemanticProps.valueEditor, { error: !value, className: className, value: value, title: title, onChange: function onChange(e) { return handleOnChange(e.target.value); } })); }; ValueEditorSemantic.displayName = 'ValueEditorSemantic'; ValueEditorSemantic.propTypes = { /** * //field name corresponding to this Rule */ field: _propTypes2.default.string, /** * Semantic Props for valueEditor on a rule */ ruleSemanticProps: _propTypes2.default.shape({ /** * Semantic Input props on a rule * https://react.semantic-ui.com/elements/input/ */ valueEditor: _propTypes2.default.any }), /** * operator name corresponding to Rule using the element */ operator: _propTypes2.default.string, /** * value from the existing query representation, if any */ value: _propTypes2.default.string, /** * callback function to invoke when the element changes */ handleOnChange: _propTypes2.default.func, /** * html title */ title: _propTypes2.default.string, /** * //css className to be applied */ className: _propTypes2.default.string }; exports.default = ValueEditorSemantic;