UNPKG

@react-awesome-query-builder/ui

Version:
159 lines (157 loc) 8.4 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 _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray")); var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties")); var _react = _interopRequireWildcard(require("react")); var _core = require("@react-awesome-query-builder/core"); var _omit = _interopRequireDefault(require("lodash/omit")); var _excluded = ["widgetFactory"], _excluded2 = ["factory"]; function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); } function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; } function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } var getTitleInListValues = _core.Utils.ListUtils.getTitleInListValues; var _widgetDefKeysToOmit = _core.Utils.ConfigUtils._widgetDefKeysToOmit; var _Utils$TreeUtils = _core.Utils.TreeUtils, _fixImmutableValue = _Utils$TreeUtils._fixImmutableValue, isImmutable = _Utils$TreeUtils.isImmutable; var WidgetFactoryMemo = /*#__PURE__*/(0, _react.memo)(function (_ref) { var widgetFactory = _ref.widgetFactory, widgetProps = (0, _objectWithoutProperties2["default"])(_ref, _excluded); var config = widgetProps.config, isFuncArg = widgetProps.isFuncArg, fieldDefinition = widgetProps.fieldDefinition; var _ref2 = fieldDefinition || {}, fieldSettings = _ref2.fieldSettings, defaultValue = _ref2.defaultValue, valueSources = _ref2.valueSources; var isConst = isFuncArg && (valueSources === null || valueSources === void 0 ? void 0 : valueSources.length) == 1 && (valueSources === null || valueSources === void 0 ? void 0 : valueSources[0]) === "const"; var listValues = (fieldSettings === null || fieldSettings === void 0 ? void 0 : fieldSettings.treeValues) || (fieldSettings === null || fieldSettings === void 0 ? void 0 : fieldSettings.listValues); if (isConst && defaultValue) { if (typeof defaultValue === "boolean") { return defaultValue ? widgetProps.labelYes || "YES" : widgetProps.labelNo || "NO"; } else if (listValues) { if (Array.isArray(defaultValue)) return defaultValue.map(function (v) { return getTitleInListValues(listValues, v) || v; }).join(", ");else return getTitleInListValues(listValues, defaultValue) || defaultValue; } return "" + defaultValue; } if (!widgetFactory) { return "?"; } return widgetFactory(widgetProps, config.ctx); }); WidgetFactoryMemo.displayName = "WidgetFactoryMemo"; var WidgetFactory = function WidgetFactory(_ref3) { var delta = _ref3.delta, parentDelta = _ref3.parentDelta, isFuncArg = _ref3.isFuncArg, valueSrc = _ref3.valueSrc, immValue = _ref3.value, immValueError = _ref3.valueError, fieldError = _ref3.fieldError, asyncListValues = _ref3.asyncListValues, isSpecialRange = _ref3.isSpecialRange, fieldDefinition = _ref3.fieldDefinition, widget = _ref3.widget, widgetDefinition = _ref3.widgetDefinition, widgetValueLabel = _ref3.widgetValueLabel, valueLabels = _ref3.valueLabels, textSeparators = _ref3.textSeparators, setValue = _ref3.setValue, setFuncValue = _ref3.setFuncValue, config = _ref3.config, field = _ref3.field, fieldSrc = _ref3.fieldSrc, fieldPath = _ref3.fieldPath, fieldType = _ref3.fieldType, isLHS = _ref3.isLHS, operator = _ref3.operator, readonly = _ref3.readonly, parentField = _ref3.parentField, parentFuncs = _ref3.parentFuncs, id = _ref3.id, groupId = _ref3.groupId, widgetId = _ref3.widgetId; var widgetFactory = widgetDefinition.factory, fieldWidgetProps = (0, _objectWithoutProperties2["default"])(widgetDefinition, _excluded2); // Widget value (if it's not a func with args) should NOT be Immutable // Eg. for multiselect value should be a JS Array, not Immutable List var fixedImmValue = immValue ? immValue.map(function (v) { return _fixImmutableValue(v); }) : undefined; var value = (0, _react.useMemo)(function () { if (isSpecialRange) { var _value = [fixedImmValue === null || fixedImmValue === void 0 ? void 0 : fixedImmValue.get(0), fixedImmValue === null || fixedImmValue === void 0 ? void 0 : fixedImmValue.get(1)]; if (_value[0] === undefined && _value[1] === undefined) _value = undefined; return _value; } return fixedImmValue === null || fixedImmValue === void 0 ? void 0 : fixedImmValue.get(delta); }, [isSpecialRange, immValue]); var valueError = (0, _react.useMemo)(function () { var _immValueError$get; if (!immValueError) { return null; } if (isSpecialRange) { return [immValueError.get(0), immValueError.get(1), immValueError.get(2)]; } return immValueError === null || immValueError === void 0 || (_immValueError$get = immValueError.get) === null || _immValueError$get === void 0 ? void 0 : _immValueError$get.call(immValueError, delta); }, [isSpecialRange, immValue]); var errorMessage = isLHS ? fieldError : valueError; var _ref4 = fieldDefinition || {}, fieldSettings = _ref4.fieldSettings; var label = widgetValueLabel.label, placeholder = widgetValueLabel.placeholder; var placeholders = valueLabels ? valueLabels.placeholder : null; var simpleField = isImmutable(field) ? null : field; var widgetProps = (0, _omit["default"])(_objectSpread(_objectSpread(_objectSpread({}, fieldWidgetProps), fieldSettings), {}, { config: config, field: simpleField, // !!! using of field prop in widget is strongly discouraged fieldPath: fieldPath, fieldSrc: fieldSrc, fieldType: fieldType, isLHS: isLHS, parentField: parentField, parentFuncs: parentFuncs, fieldDefinition: fieldDefinition, operator: operator, delta: delta, parentDelta: parentDelta, isSpecialRange: isSpecialRange, isFuncArg: isFuncArg, value: value, valueSrc: valueSrc, valueError: valueError, fieldError: fieldError, errorMessage: errorMessage, label: label, placeholder: placeholder, placeholders: placeholders, textSeparators: textSeparators, setValue: setValue, setFuncValue: setFuncValue, readonly: readonly, asyncListValues: asyncListValues, id: id, groupId: groupId, widgetId: widgetId, widgetFactory: widgetFactory, widget: widget }), [].concat((0, _toConsumableArray2["default"])(_widgetDefKeysToOmit), ["toJS"])); return /*#__PURE__*/_react["default"].createElement(WidgetFactoryMemo, (0, _extends2["default"])({ widgetFactory: widgetFactory }, widgetProps)); }; WidgetFactory.displayName = "WidgetFactory"; var _default = exports["default"] = WidgetFactory;