@syncfusion/ej2-querybuilder 20.4.38 → 20.4.42

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
  }
@@ -924,7 +929,6 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
924
929
  glueElem.appendChild(inputElem);
925
930
  }
926
931
  inputElem = this.createElement('input', { attrs: { type: 'radio', class: 'e-btngroup-and', value: 'AND' } });
927
- inputElem.setAttribute('checked', 'true');
928
932
  glueElem.appendChild(inputElem);
929
933
  labelElem = this.createElement('label', { attrs: { class: 'e-lib e-btn e-btngroup-and-lbl e-small' },
930
934
  innerHTML: this.l10n.getConstant('AND') });
@@ -1528,6 +1532,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
1528
1532
  }
1529
1533
  };
1530
1534
  QueryBuilder.prototype.createSubFields = function (filterElem, rule, tempRule, ddlArgs) {
1535
+ var subFieldValue = false;
1531
1536
  var fieldElem = closest(filterElem, '.e-rule-field');
1532
1537
  var tempElem = this.createElement('div', { attrs: { class: 'e-rule-sub-filter', id: 'subfilter' + this.subFilterCounter } });
1533
1538
  fieldElem.insertBefore(tempElem, fieldElem.querySelector('.e-rule-operator'));
@@ -1557,6 +1562,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
1557
1562
  if (rule.field === subField[i].field || rule.field.indexOf(subField[i].field) > -1) {
1558
1563
  dropDownList.value = subField[i].field;
1559
1564
  this.selectedColumn = subField[i];
1565
+ subFieldValue = true;
1560
1566
  break;
1561
1567
  }
1562
1568
  }
@@ -1565,7 +1571,10 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
1565
1571
  this.subFieldElem = subFieldElem;
1566
1572
  // eslint-disable-next-line
1567
1573
  ddlArgs.itemData = ddlArgs.itemData;
1568
- if (!this.isImportRules) {
1574
+ if (!this.isImportRules || (!subFieldValue && this.selectedColumn.columns)) {
1575
+ if (!subFieldValue && this.isImportRules) {
1576
+ dropDownList.value = null;
1577
+ }
1569
1578
  this.selectedColumn = this.selectedColumn.columns[0];
1570
1579
  }
1571
1580
  if (!this.selectedColumn.columns) {
@@ -2130,6 +2139,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
2130
2139
  }
2131
2140
  var numeric = new NumericTextBox(numericTxt);
2132
2141
  numeric.appendTo('#' + parentId + '_valuekey' + idx);
2142
+ numeric.element.setAttribute('aria-label', itemData.label + ' ' + 'Value');
2133
2143
  }
2134
2144
  };
2135
2145
  QueryBuilder.prototype.processValueString = function (value, type) {
@@ -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
  }
@@ -2973,7 +2985,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
2973
2985
  QueryBuilder.prototype.initWrapper = function () {
2974
2986
  this.isInitialLoad = true;
2975
2987
  if (this.cssClass) {
2976
- addClass([this.element], this.cssClass);
2988
+ addClass([this.element], this.cssClass.replace(/\s+/g, ' ').trim().split(' '));
2977
2989
  }
2978
2990
  if (this.enableRtl) {
2979
2991
  addClass([this.element], 'e-rtl');
@@ -3163,7 +3175,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
3163
3175
  removeClass([this.element], oldProp.cssClass.split(' '));
3164
3176
  }
3165
3177
  if (newProp.cssClass) {
3166
- addClass([this.element], newProp.cssClass.split(' '));
3178
+ addClass([this.element], newProp.cssClass.replace(/\s+/g, ' ').trim().split(' '));
3167
3179
  }
3168
3180
  break;
3169
3181
  case 'enableRtl':