UNPKG

@react-awesome-query-builder/core

Version:
90 lines (88 loc) 6.22 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.getDefaultSubField = exports.getDefaultOperator = exports.getDefaultFieldSrc = exports.getDefaultField = exports.emptyProperties = exports.defaultOperatorOptions = exports.defaultGroupProperties = exports.defaultGroupConjunction = exports.defaultConjunction = exports.createListWithOneElement = exports.createListFromArray = void 0; var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray")); var _immutable = _interopRequireDefault(require("immutable")); var _configUtils = require("./configUtils"); var _stuff = require("./stuff"); var _treeUtils = require("./treeUtils"); // @deprecated Use defaultGroupConjunction var defaultConjunction = exports.defaultConjunction = function defaultConjunction(config) { return defaultGroupConjunction(config); }; //used for complex operators like proximity var defaultOperatorOptions = exports.defaultOperatorOptions = function defaultOperatorOptions(config, operator, field) { var operatorConfig = operator ? (0, _configUtils.getOperatorConfig)(config, operator, field) : null; if (!operatorConfig) return null; //new Immutable.Map(); return operatorConfig.options ? new _immutable["default"].Map(operatorConfig.options && operatorConfig.options.defaults || {}) : null; }; var defaultGroupConjunction = exports.defaultGroupConjunction = function defaultGroupConjunction(config) { var _groupFieldConfig, _groupFieldConfig2; var groupFieldConfig = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; groupFieldConfig = (0, _configUtils.getFieldConfig)(config, groupFieldConfig); // if `groupFieldConfig` is field name, not config var conjs = ((_groupFieldConfig = groupFieldConfig) === null || _groupFieldConfig === void 0 ? void 0 : _groupFieldConfig.conjunctions) || Object.keys(config.conjunctions); if (conjs.length == 1) return conjs[0]; // todo: config.settings.defaultGroupConjunction is deprecated, defaultConjunction should be used instead return ((_groupFieldConfig2 = groupFieldConfig) === null || _groupFieldConfig2 === void 0 ? void 0 : _groupFieldConfig2.defaultConjunction) || config.settings.defaultConjunction || config.settings.defaultGroupConjunction || conjs[0]; }; var defaultGroupProperties = exports.defaultGroupProperties = function defaultGroupProperties(config) { var groupFieldConfig = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; return new _immutable["default"].Map({ conjunction: defaultGroupConjunction(config, groupFieldConfig), not: false }); }; var getDefaultField = exports.getDefaultField = function getDefaultField(config) { var canGetFirst = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true; var parentRuleGroupField = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; var defaultField = config.settings.defaultField; var f = (!parentRuleGroupField ? defaultField : getDefaultSubField(config, parentRuleGroupField)) || canGetFirst && (0, _configUtils.getFirstField)(config, parentRuleGroupField) || null; // if default LHS is func, convert to Immutable if (f != null && typeof f !== "string" && !(0, _stuff.isImmutable)(f)) { f = (0, _treeUtils.jsToImmutable)(f); } return f; }; var getDefaultSubField = exports.getDefaultSubField = function getDefaultSubField(config) { var _config$settings; var parentRuleGroupField = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; if (!parentRuleGroupField) return null; var fieldSeparator = (config === null || config === void 0 || (_config$settings = config.settings) === null || _config$settings === void 0 ? void 0 : _config$settings.fieldSeparator) || "."; var parentRuleGroupConfig = (0, _configUtils.getFieldConfig)(config, parentRuleGroupField); var f = parentRuleGroupConfig === null || parentRuleGroupConfig === void 0 ? void 0 : parentRuleGroupConfig.defaultField; if (f) { f = [].concat((0, _toConsumableArray2["default"])((0, _configUtils.getFieldParts)(parentRuleGroupField)), [f]).join(fieldSeparator); } return f; }; var getDefaultFieldSrc = exports.getDefaultFieldSrc = function getDefaultFieldSrc(config) { var _config$settings$fiel; var canGetFirst = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true; return canGetFirst && ((_config$settings$fiel = config.settings.fieldSources) === null || _config$settings$fiel === void 0 ? void 0 : _config$settings$fiel[0]) || "field"; }; var getDefaultOperator = exports.getDefaultOperator = function getDefaultOperator(config, field) { var canGetFirst = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true; var fieldConfig = (0, _configUtils.getFieldConfig)(config, field); var fieldOperators = (fieldConfig === null || fieldConfig === void 0 ? void 0 : fieldConfig.operators) || []; var globalDefaultOperator = config.settings.defaultOperator; if (globalDefaultOperator && !fieldOperators.includes(globalDefaultOperator)) globalDefaultOperator = null; var fieldDefaultOperator = fieldConfig === null || fieldConfig === void 0 ? void 0 : fieldConfig.defaultOperator; var fieldOwnDefaultOperator = fieldConfig === null || fieldConfig === void 0 ? void 0 : fieldConfig.ownDefaultOperator; var firstOperator = canGetFirst ? (0, _configUtils.getFirstOperator)(config, field) : null; var op = fieldOwnDefaultOperator || globalDefaultOperator || fieldDefaultOperator || firstOperator; return op; }; var createListWithOneElement = exports.createListWithOneElement = function createListWithOneElement(el) { if ((0, _stuff.isImmutableList)(el)) return el; // already Immutable list return createListFromArray([el]); }; var createListFromArray = exports.createListFromArray = function createListFromArray(arr) { if ((0, _stuff.isImmutableList)(arr)) return arr; // already Immutable list return new _immutable["default"].List(arr); }; var emptyProperties = exports.emptyProperties = function emptyProperties() { return new _immutable["default"].Map(); };