@react-awesome-query-builder-dev/ui
Version:
User-friendly query builder for React. Core React UI
35 lines • 1.19 kB
JavaScript
import _extends from "@babel/runtime/helpers/extends";
import React from "react";
import { Utils } from "@react-awesome-query-builder-dev/core";
import omit from "lodash/omit";
var mapListValues = Utils.ListUtils.mapListValues;
export default (function (_ref) {
var listValues = _ref.listValues,
value = _ref.value,
setValue = _ref.setValue,
allowCustomValues = _ref.allowCustomValues,
readonly = _ref.readonly,
customProps = _ref.customProps;
var renderOptions = function renderOptions() {
return mapListValues(listValues, function (_ref2) {
var title = _ref2.title,
value = _ref2.value;
return /*#__PURE__*/React.createElement("option", {
key: value,
value: value
}, title);
});
};
var onChange = function onChange(e) {
return setValue(e.target.value);
};
var hasValue = value != null;
return /*#__PURE__*/React.createElement("select", _extends({
onChange: onChange,
value: hasValue ? value : "",
disabled: readonly
}, omit(customProps, ["showSearch", "input"])), !hasValue && /*#__PURE__*/React.createElement("option", {
disabled: true,
value: ""
}), renderOptions());
});