react-query-builder-semantic
Version:
83 lines (70 loc) • 2.14 kB
JavaScript
'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;