@syncfusion/ej2-querybuilder 20.4.38 → 20.4.40

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.
@@ -199,7 +199,10 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
199
199
  var bodyElem = this.element.querySelector('.e-group-body');
200
200
  var inputElement = this.element.querySelectorAll('input.e-control');
201
201
  for (var i = 0, len = inputElement.length; i < len; i++) {
202
- if (inputElement[i].parentElement.className.indexOf('e-tooltip') > -1) {
202
+ if (inputElement[i].className.indexOf('e-tooltip') > -1) {
203
+ getComponent(inputElement[i], 'tooltip').destroy();
204
+ }
205
+ else if (inputElement[i].parentElement.className.indexOf('e-tooltip') > -1) {
203
206
  getComponent(inputElement[i].parentElement, 'tooltip').destroy();
204
207
  }
205
208
  }
@@ -804,23 +807,25 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
804
807
  var tempElem = void 0;
805
808
  var rule = void 0;
806
809
  var ruleElemCln = this.element.querySelectorAll('.e-rule-container');
807
- var validateRule = void 0;
808
810
  for (i = 0, len = ruleElemCln.length; i < len; i++) {
811
+ var validateRule = void 0;
809
812
  groupElem = closest(ruleElemCln[i], '.e-group-container');
810
813
  rule = this.getParentGroup(groupElem);
811
814
  index = 0;
812
815
  indexElem = tempElem = ruleElemCln[i];
813
816
  if (this.fieldMode === 'DropdownTree') {
814
- dropDownTreeObj = getComponent(ruleElemCln[i].querySelector('.e-rule-field input.e-control'), 'dropdowntree');
815
- if (dropDownTreeObj.value && dropDownTreeObj.value.length) {
817
+ dropDownTreeObj = getComponent(ruleElemCln[i].querySelector('.e-rule-filter input.e-dropdowntree'), 'dropdowntree');
818
+ if (dropDownTreeObj && dropDownTreeObj.value && dropDownTreeObj.value.length) {
816
819
  this.selectedColumn = this.getColumn(dropDownTreeObj.value[0]);
817
820
  validateRule = this.selectedColumn.validation;
818
821
  }
819
822
  }
820
823
  else {
821
- dropDownObj = getComponent(ruleElemCln[i].querySelector('.e-rule-field input.e-control'), 'dropdownlist');
822
- this.selectedColumn = dropDownObj.getDataByValue(dropDownObj.value);
823
- validateRule = !isNullOrUndefined(dropDownObj.index) && this.selectedColumn.validation;
824
+ dropDownObj = getComponent(ruleElemCln[i].querySelector('.e-rule-filter input.e-dropdownlist'), 'dropdownlist');
825
+ if (dropDownObj && dropDownObj.value) {
826
+ this.selectedColumn = dropDownObj.getDataByValue(dropDownObj.value);
827
+ validateRule = !isNullOrUndefined(dropDownObj.index) && this.selectedColumn.validation;
828
+ }
824
829
  }
825
830
  fieldElem = tempElem.querySelector('.e-rule-field input.e-control');
826
831
  if (validateRule && validateRule.isRequired) {
@@ -863,8 +868,8 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
863
868
  else if ((dropDownObj && dropDownObj.element && isNullOrUndefined(dropDownObj.index)) ||
864
869
  (dropDownTreeObj && dropDownTreeObj.element && (isNullOrUndefined(dropDownTreeObj.value) ||
865
870
  dropDownTreeObj.value.length < 1))) {
866
- if (fieldElem.parentElement.className.indexOf('e-tooltip') < 0) {
867
- this.renderToolTip(fieldElem.parentElement);
871
+ if (fieldElem.className.indexOf('e-tooltip') < 0) {
872
+ this.renderToolTip(fieldElem);
868
873
  }
869
874
  isValid = false;
870
875
  }
@@ -1528,6 +1533,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
1528
1533
  }
1529
1534
  };
1530
1535
  QueryBuilder.prototype.createSubFields = function (filterElem, rule, tempRule, ddlArgs) {
1536
+ var subFieldValue = false;
1531
1537
  var fieldElem = closest(filterElem, '.e-rule-field');
1532
1538
  var tempElem = this.createElement('div', { attrs: { class: 'e-rule-sub-filter', id: 'subfilter' + this.subFilterCounter } });
1533
1539
  fieldElem.insertBefore(tempElem, fieldElem.querySelector('.e-rule-operator'));
@@ -1557,6 +1563,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
1557
1563
  if (rule.field === subField[i].field || rule.field.indexOf(subField[i].field) > -1) {
1558
1564
  dropDownList.value = subField[i].field;
1559
1565
  this.selectedColumn = subField[i];
1566
+ subFieldValue = true;
1560
1567
  break;
1561
1568
  }
1562
1569
  }
@@ -1565,7 +1572,10 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
1565
1572
  this.subFieldElem = subFieldElem;
1566
1573
  // eslint-disable-next-line
1567
1574
  ddlArgs.itemData = ddlArgs.itemData;
1568
- if (!this.isImportRules) {
1575
+ if (!this.isImportRules || (!subFieldValue && this.selectedColumn.columns)) {
1576
+ if (!subFieldValue && this.isImportRules) {
1577
+ dropDownList.value = null;
1578
+ }
1569
1579
  this.selectedColumn = this.selectedColumn.columns[0];
1570
1580
  }
1571
1581
  if (!this.selectedColumn.columns) {
@@ -2353,7 +2363,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
2353
2363
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
2354
2364
  prevItemData = this.getColumn(prevItemData.value);
2355
2365
  }
2356
- if (column.template && prevItemData && Object.keys(prevItemData).length < 4) {
2366
+ if (column && column.template && prevItemData && Object.keys(prevItemData).length < 4) {
2357
2367
  prevItemData.template = column.template;
2358
2368
  }
2359
2369
  return prevItemData;
@@ -2409,7 +2419,9 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
2409
2419
  this.validateValue(rule, closest(target, '.e-rule-container'));
2410
2420
  this.destroyControls(target);
2411
2421
  }
2412
- itemData.template = column.template;
2422
+ if (column) {
2423
+ itemData.template = column.template;
2424
+ }
2413
2425
  if (itemData.template) {
2414
2426
  addClass([target.nextElementSibling], 'e-template-value');
2415
2427
  itemData.template = column.template;
@@ -2658,8 +2670,8 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
2658
2670
  if (!this.isImportRules) {
2659
2671
  this.trigger('change', eventsArgs);
2660
2672
  }
2661
- if (this.allowValidation && rule.rules[index].field && target.parentElement.className.indexOf('e-tooltip') > -1) {
2662
- getComponent(target.parentElement, 'tooltip').destroy();
2673
+ if (this.allowValidation && rule.rules[index].field && target.className.indexOf('e-tooltip') > -1) {
2674
+ getComponent(target, 'tooltip').destroy();
2663
2675
  }
2664
2676
  this.filterRules(beforeRules, this.getValidRules(this.rule), 'field');
2665
2677
  }