react-query-builder-semantic
Version:
75 lines (63 loc) • 1.78 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);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**
* Default element to select a value for a Rule in the QueryBuilder
*/
var ValueSelector = function ValueSelector(props) {
var value = props.value,
options = props.options,
className = props.className,
handleOnChange = props.handleOnChange,
title = props.title;
return _react2.default.createElement(
'select',
{ className: className,
value: value,
title: title,
onChange: function onChange(e) {
return handleOnChange(e.target.value);
} },
options.map(function (option) {
return _react2.default.createElement(
'option',
{ key: option.id || option.name, value: option.name },
option.label
);
})
);
};
ValueSelector.displayName = 'ValueSelector';
ValueSelector.propTypes = {
/**
* selected value for element
*/
value: _propTypes2.default.string,
/**
*
*/
options: _propTypes2.default.arrayOf(_propTypes2.default.shape({
name: _propTypes2.default.string.isRequired,
label: _propTypes2.default.string.isRequired,
id: _propTypes2.default.string
})).isRequired,
/**
* //css className to be applied
*/
className: _propTypes2.default.string,
/**
* callback function to invoke when the element changes
*/
handleOnChange: _propTypes2.default.func,
/**
* html title
*/
title: _propTypes2.default.string
};
exports.default = ValueSelector;