UNPKG

@react-awesome-query-builder/core

Version:
84 lines (82 loc) 5.25 kB
import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray"; import Immutable from "immutable"; import { getFieldConfig, getFieldParts, getFirstField, getOperatorConfig, getFirstOperator } from "./configUtils"; import { isImmutable, isImmutableList } from "./stuff"; import { jsToImmutable } from "./treeUtils"; // @deprecated Use defaultGroupConjunction export var defaultConjunction = function defaultConjunction(config) { return defaultGroupConjunction(config); }; //used for complex operators like proximity export var defaultOperatorOptions = function defaultOperatorOptions(config, operator, field) { var operatorConfig = operator ? getOperatorConfig(config, operator, field) : null; if (!operatorConfig) return null; //new Immutable.Map(); return operatorConfig.options ? new Immutable.Map(operatorConfig.options && operatorConfig.options.defaults || {}) : null; }; export var defaultGroupConjunction = function defaultGroupConjunction(config) { var _groupFieldConfig, _groupFieldConfig2; var groupFieldConfig = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; groupFieldConfig = 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]; }; export var defaultGroupProperties = function defaultGroupProperties(config) { var groupFieldConfig = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; return new Immutable.Map({ conjunction: defaultGroupConjunction(config, groupFieldConfig), not: false }); }; export var 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 && getFirstField(config, parentRuleGroupField) || null; // if default LHS is func, convert to Immutable if (f != null && typeof f !== "string" && !isImmutable(f)) { f = jsToImmutable(f); } return f; }; export var 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 = getFieldConfig(config, parentRuleGroupField); var f = parentRuleGroupConfig === null || parentRuleGroupConfig === void 0 ? void 0 : parentRuleGroupConfig.defaultField; if (f) { f = [].concat(_toConsumableArray(getFieldParts(parentRuleGroupField)), [f]).join(fieldSeparator); } return f; }; export var 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"; }; export var getDefaultOperator = function getDefaultOperator(config, field) { var canGetFirst = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true; var fieldConfig = 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 ? getFirstOperator(config, field) : null; var op = fieldOwnDefaultOperator || globalDefaultOperator || fieldDefaultOperator || firstOperator; return op; }; export var createListWithOneElement = function createListWithOneElement(el) { if (isImmutableList(el)) return el; // already Immutable list return createListFromArray([el]); }; export var createListFromArray = function createListFromArray(arr) { if (isImmutableList(arr)) return arr; // already Immutable list return new Immutable.List(arr); }; export var emptyProperties = function emptyProperties() { return new Immutable.Map(); };