react-awesome-query-builder-pd
Version:
User-friendly query builder for React. Demo: https://ukrbublik.github.io/react-awesome-query-builder
182 lines (166 loc) • 8.29 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _material = _interopRequireDefault(require("../../components/widgets/material"));
var _basic = _interopRequireDefault(require("../basic"));
var _react = _interopRequireDefault(require("react"));
var _sql = require("../../utils/sql");
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
var MaterialBooleanWidget = _material["default"].MaterialBooleanWidget,
MaterialTextWidget = _material["default"].MaterialTextWidget,
MaterialTextAreaWidget = _material["default"].MaterialTextAreaWidget,
MaterialDateWidget = _material["default"].MaterialDateWidget,
MaterialTimeWidget = _material["default"].MaterialTimeWidget,
MaterialDateTimeWidget = _material["default"].MaterialDateTimeWidget,
MaterialMultiSelectWidget = _material["default"].MaterialMultiSelectWidget,
MaterialSelectWidget = _material["default"].MaterialSelectWidget,
MaterialNumberWidget = _material["default"].MaterialNumberWidget,
MaterialSliderWidget = _material["default"].MaterialSliderWidget,
MaterialRangeWidget = _material["default"].MaterialRangeWidget,
MaterialAutocompleteWidget = _material["default"].MaterialAutocompleteWidget,
MaterialFieldSelect = _material["default"].MaterialFieldSelect,
MaterialConjs = _material["default"].MaterialConjs,
MaterialButton = _material["default"].MaterialButton,
MaterialButtonGroup = _material["default"].MaterialButtonGroup,
MaterialValueSources = _material["default"].MaterialValueSources,
MaterialProvider = _material["default"].MaterialProvider,
MaterialConfirm = _material["default"].MaterialConfirm,
MaterialUseConfirm = _material["default"].MaterialUseConfirm;
var settings = _objectSpread(_objectSpread({}, _basic["default"].settings), {}, {
renderField: function renderField(props) {
return /*#__PURE__*/_react["default"].createElement(MaterialFieldSelect, props);
},
renderOperator: function renderOperator(props) {
return /*#__PURE__*/_react["default"].createElement(MaterialFieldSelect, props);
},
renderFunc: function renderFunc(props) {
return /*#__PURE__*/_react["default"].createElement(MaterialFieldSelect, props);
},
renderConjs: function renderConjs(props) {
return /*#__PURE__*/_react["default"].createElement(MaterialConjs, props);
},
renderButton: function renderButton(props) {
return /*#__PURE__*/_react["default"].createElement(MaterialButton, props);
},
renderButtonGroup: function renderButtonGroup(props) {
return /*#__PURE__*/_react["default"].createElement(MaterialButtonGroup, props);
},
renderValueSources: function renderValueSources(props) {
return /*#__PURE__*/_react["default"].createElement(MaterialValueSources, props);
},
renderProvider: function renderProvider(props) {
return /*#__PURE__*/_react["default"].createElement(MaterialProvider, props);
},
renderConfirm: MaterialConfirm,
useConfirm: MaterialUseConfirm
});
var widgets = _objectSpread(_objectSpread({}, _basic["default"].widgets), {}, {
text: _objectSpread(_objectSpread({}, _basic["default"].widgets.text), {}, {
factory: function factory(props) {
return /*#__PURE__*/_react["default"].createElement(MaterialTextWidget, props);
}
}),
textarea: _objectSpread(_objectSpread({}, _basic["default"].widgets.textarea), {}, {
factory: function factory(props) {
return /*#__PURE__*/_react["default"].createElement(MaterialTextAreaWidget, props);
}
}),
number: _objectSpread(_objectSpread({}, _basic["default"].widgets.number), {}, {
factory: function factory(props) {
return /*#__PURE__*/_react["default"].createElement(MaterialNumberWidget, props);
}
}),
multiselect: _objectSpread(_objectSpread({}, _basic["default"].widgets.multiselect), {}, {
factory: function factory(props) {
return props.asyncFetch || props.showSearch ? /*#__PURE__*/_react["default"].createElement(MaterialAutocompleteWidget, (0, _extends2["default"])({
multiple: true
}, props)) : /*#__PURE__*/_react["default"].createElement(MaterialMultiSelectWidget, props);
}
}),
select: _objectSpread(_objectSpread({}, _basic["default"].widgets.select), {}, {
factory: function factory(props) {
return props.asyncFetch || props.showSearch ? /*#__PURE__*/_react["default"].createElement(MaterialAutocompleteWidget, props) : /*#__PURE__*/_react["default"].createElement(MaterialSelectWidget, props);
}
}),
slider: _objectSpread(_objectSpread({}, _basic["default"].widgets.slider), {}, {
factory: function factory(props) {
return /*#__PURE__*/_react["default"].createElement(MaterialSliderWidget, props);
}
}),
"boolean": _objectSpread(_objectSpread({}, _basic["default"].widgets["boolean"]), {}, {
factory: function factory(props) {
return /*#__PURE__*/_react["default"].createElement(MaterialBooleanWidget, props);
}
}),
date: _objectSpread(_objectSpread({}, _basic["default"].widgets.date), {}, {
factory: function factory(props) {
return /*#__PURE__*/_react["default"].createElement(MaterialDateWidget, props);
}
}),
time: _objectSpread(_objectSpread({}, _basic["default"].widgets.time), {}, {
factory: function factory(props) {
return /*#__PURE__*/_react["default"].createElement(MaterialTimeWidget, props);
}
}),
datetime: _objectSpread(_objectSpread({}, _basic["default"].widgets.datetime), {}, {
factory: function factory(props) {
return /*#__PURE__*/_react["default"].createElement(MaterialDateTimeWidget, props);
}
}),
rangeslider: {
type: "number",
jsType: "number",
valueSrc: "value",
factory: function factory(props) {
return /*#__PURE__*/_react["default"].createElement(MaterialRangeWidget, props);
},
valueLabel: "Range",
valuePlaceholder: "Select range",
valueLabels: [{
label: "Number from",
placeholder: "Enter number from"
}, {
label: "Number to",
placeholder: "Enter number to"
}],
formatValue: function formatValue(val, fieldDef, wgtDef, isForDisplay) {
return isForDisplay ? val : JSON.stringify(val);
},
sqlFormatValue: function sqlFormatValue(val, fieldDef, wgtDef, op, opDef) {
return _sql.SqlString.escape(val);
},
singleWidget: "slider",
toJS: function toJS(val, fieldSettings) {
return val;
}
}
});
var types = _objectSpread(_objectSpread({}, _basic["default"].types), {}, {
number: _objectSpread(_objectSpread({}, _basic["default"].types.number), {}, {
widgets: _objectSpread(_objectSpread({}, _basic["default"].types.number.widgets), {}, {
rangeslider: {
opProps: {
between: {
isSpecialRange: true
},
not_between: {
isSpecialRange: true
}
},
operators: ["between", "not_between", "is_empty", "is_not_empty"]
}
})
})
});
var _default = _objectSpread(_objectSpread({}, _basic["default"]), {}, {
types: types,
widgets: widgets,
settings: settings
});
exports["default"] = _default;