@syncfusion/ej2-querybuilder 23.2.7 → 24.1.43

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -227,7 +227,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
227
227
  }
228
228
  bodyElem.appendChild(this.createElement('div', { attrs: { class: 'e-rule-list' } }));
229
229
  this.levelColl[this.element.id + '_group0'] = [0];
230
- this.rule = { condition: 'and', not: false, rules: [] };
230
+ this.setProperties({ rule: { condition: 'and', not: false, rules: [] } }, true);
231
231
  this.disableRuleCondition(bodyElem.parentElement);
232
232
  };
233
233
  QueryBuilder.prototype.getWrapper = function () {
@@ -874,7 +874,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
874
874
  if (rule.rules[index].value instanceof Array) {
875
875
  valArray = rule.rules[index].value;
876
876
  }
877
- if (excludeOprs.indexOf(rule.rules[index].operator) < 0 &&
877
+ if (excludeOprs.indexOf(rule.rules[index].operator) < -1 &&
878
878
  (isNullOrUndefined(rule.rules[index].value) &&
879
879
  rule.rules[index].type !== 'date') || rule.rules[index].value === '' ||
880
880
  (rule.rules[index].value instanceof Array && valArray.length < 1)) {
@@ -1328,12 +1328,20 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
1328
1328
  var groupID = groupElem && groupElem.id.replace(this.element.id + '_', '');
1329
1329
  var ruleID = ruleElem.id.replace(this.element.id + '_', '');
1330
1330
  var dateElement = args;
1331
+ var dropDownObj;
1331
1332
  if (dateElement.element && dateElement.element.className.indexOf('e-datepicker') > -1) {
1332
1333
  element = dateElement.element;
1334
+ dropDownObj = getComponent(closest(element, '.e-rule-container').querySelector('.e-filter-input'), 'dropdownlist');
1335
+ if (dropDownObj) {
1336
+ this.selectedColumn = dropDownObj.getDataByValue(dropDownObj.value);
1337
+ }
1338
+ dropDownObj = getComponent(closest(element, '.e-rule-container').querySelector('.e-filter-input'), 'dropdowntree');
1339
+ if (dropDownObj) {
1340
+ this.selectedColumn = this.getColumn(dropDownObj.value[0]);
1341
+ }
1333
1342
  }
1334
1343
  var value;
1335
1344
  var rbValue;
1336
- var dropDownObj;
1337
1345
  if (element.className.indexOf('e-radio') > -1) {
1338
1346
  // eslint-disable-next-line
1339
1347
  rbValue = parseInt(element.id.split('valuekey')[1], 0);
@@ -1621,7 +1629,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
1621
1629
  this.GetRootColumnName(rule.field) === this.GetRootColumnName(this.previousColumn.field))) {
1622
1630
  var subField = this.selectedColumn.columns;
1623
1631
  for (var i = 0; i < subField.length; i++) {
1624
- if (rule.field === subField[i].field) {
1632
+ if (rule.field === subField[i].field || rule.field.indexOf(subField[i].field) > -1) {
1625
1633
  dropDownList.value = subField[i].field;
1626
1634
  this.selectedColumn = subField[i];
1627
1635
  subFieldValue = true;
@@ -2454,7 +2462,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
2454
2462
  }
2455
2463
  var operator = tempRule.operator.toString();
2456
2464
  var isTempRendered = false;
2457
- if (!(operator.indexOf('null') > -1 || operator.indexOf('empty') > -1)) {
2465
+ if (!(operator.indexOf('null') > -1 || operator.indexOf('isempty') > -1 || operator.indexOf('isnotempty') > -1)) {
2458
2466
  var parentId = closest(target, '.e-rule-container').id;
2459
2467
  prevItemData = this.getPreviousItemData(prevItemData, column);
2460
2468
  if (prevItemData && prevItemData.template === undefined) {
@@ -2583,7 +2591,6 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
2583
2591
  var valElemColl = this.columnTemplateFn(args, this, ruleID, templateID);
2584
2592
  valElem = (valElemColl[0].nodeType === 3) ? valElemColl[1] : valElemColl[0];
2585
2593
  target.nextElementSibling.appendChild(valElem);
2586
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
2587
2594
  }
2588
2595
  else if (this.isVue3) {
2589
2596
  valElem = this.columnTemplateFn(args, this, 'Template', templateID);
@@ -3164,7 +3171,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
3164
3171
  this.groupElem.querySelector('.e-qb-toggle').remove();
3165
3172
  }
3166
3173
  }
3167
- this.rule = this.checkNotGroup(this.rule);
3174
+ this.setProperties({ rule: this.checkNotGroup(this.rule) }, true);
3168
3175
  this.initWrapper();
3169
3176
  };
3170
3177
  QueryBuilder.prototype.notGroupRtl = function () {
@@ -3286,7 +3293,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
3286
3293
  if (this.rule.rules.length == 0 && !isNullOrUndefined(this.rule)) {
3287
3294
  this.reset();
3288
3295
  }
3289
- this.rule = newProp.rule;
3296
+ this.setProperties({ rule: newProp.rule }, true);
3290
3297
  newProp.rule = this.getRuleCollection(this.rule, false);
3291
3298
  this.setRules(this.rule);
3292
3299
  break;
@@ -3694,7 +3701,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
3694
3701
  this.groupIdCounter = 1;
3695
3702
  this.ruleIdCounter = 0;
3696
3703
  this.isImportRules = true;
3697
- this.rule = rule;
3704
+ this.setProperties({ rule: rule }, true);
3698
3705
  rule = this.getRuleCollection(this.rule, false);
3699
3706
  this.importRules(this.rule, this.element.querySelector('.e-group-container'), true, this.rule.not, isRoot);
3700
3707
  this.isImportRules = false;
@@ -4654,7 +4661,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
4654
4661
  QueryBuilder.prototype.getRulesFromSql = function (sqlString, sqlLocale) {
4655
4662
  this.parser = [];
4656
4663
  this.sqlParser(sqlString, sqlLocale);
4657
- this.rule = { condition: 'and', not: false, rules: [] };
4664
+ this.setProperties({ rule: { condition: 'and', not: false, rules: [] } }, true);
4658
4665
  var rule = this.processParser(this.parser, this.rule, [0], sqlLocale);
4659
4666
  if (this.enableNotCondition) {
4660
4667
  return { condition: rule.condition, not: rule.not, rules: rule.rules };
@@ -4835,9 +4842,14 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
4835
4842
  }
4836
4843
  else {
4837
4844
  var secParser = this.parser[this.parser.length - 2];
4845
+ var betweenParser = this.parser[this.parser.length - 3];
4838
4846
  if (lastParser[0] === 'Left' && (secParser && secParser[0] === 'Conditions')) {
4839
4847
  return true;
4840
4848
  }
4849
+ var betweenOperator = 'between';
4850
+ if (lastParser[0] === 'Conditions' && (betweenParser && betweenParser[1].indexOf(betweenOperator) < 0)) {
4851
+ return true;
4852
+ }
4841
4853
  }
4842
4854
  return false;
4843
4855
  };