UNPKG

@coocoon/react-awesome-query-builder

Version:

User-friendly query builder for React. Demo: https://ukrbublik.github.io/react-awesome-query-builder

297 lines (276 loc) 12.7 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); var _typeof = require("@babel/runtime/helpers/typeof"); 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 _en_US = _interopRequireDefault(require("antd/lib/locale-provider/en_US")); var _antd = _interopRequireDefault(require("../../components/widgets/antd")); var _basic = _interopRequireWildcard(require("../basic")); var _stuff = require("../../utils/stuff"); var _export = require("../../utils/export"); var _react = _interopRequireDefault(require("react")); function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); 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 = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } var FieldSelect = _antd["default"].FieldSelect, FieldDropdown = _antd["default"].FieldDropdown, FieldCascader = _antd["default"].FieldCascader, FieldTreeSelect = _antd["default"].FieldTreeSelect, Button = _antd["default"].Button, ButtonGroup = _antd["default"].ButtonGroup, Conjs = _antd["default"].Conjs, Switch = _antd["default"].Switch, ValueSources = _antd["default"].ValueSources, Provider = _antd["default"].Provider, confirm = _antd["default"].confirm; var TextWidget = _antd["default"].TextWidget, TextAreaWidget = _antd["default"].TextAreaWidget, NumberWidget = _antd["default"].NumberWidget, SliderWidget = _antd["default"].SliderWidget, RangeWidget = _antd["default"].RangeWidget, SelectWidget = _antd["default"].SelectWidget, MultiSelectWidget = _antd["default"].MultiSelectWidget, AutocompleteWidget = _antd["default"].AutocompleteWidget, TreeSelectWidget = _antd["default"].TreeSelectWidget, DateWidget = _antd["default"].DateWidget, BooleanWidget = _antd["default"].BooleanWidget, TimeWidget = _antd["default"].TimeWidget, DateTimeWidget = _antd["default"].DateTimeWidget; var settings = _objectSpread(_objectSpread({}, _basic["default"].settings), {}, { renderField: function renderField(props) { return /*#__PURE__*/_react["default"].createElement(FieldSelect, props); }, // renderField: (props) => <FieldDropdown {...props} />, // renderField: (props) => <FieldCascader {...props} />, // renderField: (props) => <FieldTreeSelect {...props} />, renderOperator: function renderOperator(props) { return /*#__PURE__*/_react["default"].createElement(FieldSelect, props); }, // renderOperator: (props) => <FieldDropdown {...props} />, renderFunc: function renderFunc(props) { return /*#__PURE__*/_react["default"].createElement(FieldSelect, props); }, renderConjs: function renderConjs(props) { return /*#__PURE__*/_react["default"].createElement(Conjs, props); }, renderSwitch: function renderSwitch(props) { return /*#__PURE__*/_react["default"].createElement(Switch, props); }, renderButton: function renderButton(props) { return /*#__PURE__*/_react["default"].createElement(Button, props); }, renderButtonGroup: function renderButtonGroup(props) { return /*#__PURE__*/_react["default"].createElement(ButtonGroup, props); }, renderValueSources: function renderValueSources(props) { return /*#__PURE__*/_react["default"].createElement(ValueSources, props); }, renderProvider: function renderProvider(props) { return /*#__PURE__*/_react["default"].createElement(Provider, props); }, renderConfirm: confirm, // localization locale: _objectSpread(_objectSpread({}, _basic["default"].settings.locale), {}, { antd: _en_US["default"] }) }); var widgets = _objectSpread(_objectSpread({}, _basic["default"].widgets), {}, { text: _objectSpread(_objectSpread({}, _basic["default"].widgets.text), {}, { factory: function factory(props) { return /*#__PURE__*/_react["default"].createElement(TextWidget, props); } }), textarea: _objectSpread(_objectSpread({}, _basic["default"].widgets.textarea), {}, { factory: function factory(props) { return /*#__PURE__*/_react["default"].createElement(TextAreaWidget, props); } }), number: _objectSpread(_objectSpread({}, _basic["default"].widgets.number), {}, { factory: function factory(props) { return /*#__PURE__*/_react["default"].createElement(NumberWidget, props); } }), multiselect: _objectSpread(_objectSpread({}, _basic["default"].widgets.multiselect), {}, { factory: function factory(props) { return props.asyncFetch || props.showSearch ? /*#__PURE__*/_react["default"].createElement(AutocompleteWidget, (0, _extends2["default"])({ multiple: true }, props)) : /*#__PURE__*/_react["default"].createElement(MultiSelectWidget, props); } }), select: _objectSpread(_objectSpread({}, _basic["default"].widgets.select), {}, { factory: function factory(props) { return props.asyncFetch || props.showSearch ? /*#__PURE__*/_react["default"].createElement(AutocompleteWidget, props) : /*#__PURE__*/_react["default"].createElement(SelectWidget, props); } }), slider: _objectSpread(_objectSpread({}, _basic["default"].widgets.slider), {}, { factory: function factory(props) { return /*#__PURE__*/_react["default"].createElement(SliderWidget, props); } }), "boolean": _objectSpread(_objectSpread({}, _basic["default"].widgets["boolean"]), {}, { factory: function factory(props) { return /*#__PURE__*/_react["default"].createElement(BooleanWidget, props); } }), date: _objectSpread(_objectSpread({}, _basic["default"].widgets.date), {}, { factory: function factory(props) { return /*#__PURE__*/_react["default"].createElement(DateWidget, props); } }), time: _objectSpread(_objectSpread({}, _basic["default"].widgets.time), {}, { factory: function factory(props) { return /*#__PURE__*/_react["default"].createElement(TimeWidget, props); } }), datetime: _objectSpread(_objectSpread({}, _basic["default"].widgets.datetime), {}, { factory: function factory(props) { return /*#__PURE__*/_react["default"].createElement(DateTimeWidget, props); } }), rangeslider: { type: "number", jsType: "number", valueSrc: "value", factory: function factory(props) { return /*#__PURE__*/_react["default"].createElement(RangeWidget, 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 ? (0, _basic.stringifyForDisplay)(val) : JSON.stringify(val); }, sqlFormatValue: function sqlFormatValue(val, fieldDef, wgtDef, op, opDef) { return _export.SqlString.escape(val); }, spelFormatValue: function spelFormatValue(val) { return (0, _export.spelEscape)(val); }, singleWidget: "slider", toJS: function toJS(val, fieldSettings) { return val; } }, treeselect: { type: "treeselect", jsType: "string", valueSrc: "value", factory: function factory(props) { return /*#__PURE__*/_react["default"].createElement(TreeSelectWidget, props); }, valueLabel: "Value", valuePlaceholder: "Select value", formatValue: function formatValue(val, fieldDef, wgtDef, isForDisplay) { var valLabel = (0, _stuff.getTitleInListValues)(fieldDef.fieldSettings.listValues || fieldDef.asyncListValues, val); return isForDisplay ? (0, _basic.stringifyForDisplay)(valLabel) : JSON.stringify(val); }, sqlFormatValue: function sqlFormatValue(val, fieldDef, wgtDef, op, opDef) { return _export.SqlString.escape(val); }, spelFormatValue: function spelFormatValue(val) { return (0, _export.spelEscape)(val); }, toJS: function toJS(val, fieldSettings) { return val; } }, treemultiselect: { type: "treemultiselect", jsType: "array", valueSrc: "value", factory: function factory(props) { return /*#__PURE__*/_react["default"].createElement(TreeSelectWidget, (0, _extends2["default"])({}, props, { treeMultiple: true })); }, valueLabel: "Values", valuePlaceholder: "Select values", formatValue: function formatValue(vals, fieldDef, wgtDef, isForDisplay) { var valsLabels = vals.map(function (v) { return (0, _stuff.getTitleInListValues)(fieldDef.fieldSettings.listValues || fieldDef.asyncListValues, v); }); return isForDisplay ? valsLabels.map(_basic.stringifyForDisplay) : vals.map(JSON.stringify); }, sqlFormatValue: function sqlFormatValue(vals, fieldDef, wgtDef, op, opDef) { return vals.map(function (v) { return _export.SqlString.escape(v); }); }, spelFormatValue: function spelFormatValue(val) { return (0, _export.spelEscape)(val); }, 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_null", "is_not_null"] } }) }), date: _objectSpread(_objectSpread({}, _basic["default"].types.date), {}, { widgets: { date: _objectSpread(_objectSpread({}, _basic["default"].types.date.widgets.date), {}, { opProps: { between: { isSpecialRange: true, textSeparators: [null, null] }, not_between: { isSpecialRange: true, textSeparators: [null, null] } } }) } }), treeselect: { mainWidget: "treeselect", defaultOperator: "select_equals", widgets: { treeselect: { operators: ["select_equals", "select_not_equals"] }, treemultiselect: { operators: ["select_any_in", "select_not_any_in"] } } }, treemultiselect: { defaultOperator: "multiselect_equals", widgets: { treemultiselect: { operators: ["multiselect_equals", "multiselect_not_equals"] } } } }); var _default = _objectSpread(_objectSpread({}, _basic["default"]), {}, { types: types, widgets: widgets, settings: settings }); exports["default"] = _default;