@syncfusion/ej2-querybuilder 27.1.48 → 27.1.52

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.
@@ -204,6 +204,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
204
204
  _this.cloneGrpBtnClick = false;
205
205
  _this.isMiddleGroup = false;
206
206
  _this.cloneRuleBtnClick = false;
207
+ _this.isValueEmpty = false;
207
208
  MultiSelect.Inject(CheckBoxSelection);
208
209
  return _this;
209
210
  }
@@ -1001,13 +1002,14 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
1001
1002
  .filter(function (filteredChild) { return filteredChild !== null; });
1002
1003
  this.changeDataSource(matchedDataSource);
1003
1004
  setTimeout(function () {
1004
- if (!isNullOrUndefined(proxy.ddTree)) {
1005
+ if (!isNullOrUndefined(proxy.ddTree) && !isNullOrUndefined(proxy.ddTree.treeObj)) {
1005
1006
  proxy.ddTree.treeObj.expandAll();
1006
1007
  }
1007
1008
  }, 100);
1008
1009
  }
1009
1010
  };
1010
1011
  QueryBuilder.prototype.changeDataSource = function (data) {
1012
+ this.updateDropdowntreeDS(data);
1011
1013
  this.ddTree.treeObj.fields = {
1012
1014
  dataSource: data,
1013
1015
  value: 'field',
@@ -1042,7 +1044,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
1042
1044
  };
1043
1045
  QueryBuilder.prototype.dropdownTreeClose = function () {
1044
1046
  if (this.ddTree) {
1045
- this.changeDataSource(this.columns);
1047
+ this.changeDataSource(extend([], this.columns, [], true));
1046
1048
  }
1047
1049
  this.ddTree = null;
1048
1050
  };
@@ -2082,7 +2084,9 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
2082
2084
  if (isNaN(value) && elem.value.indexOf(decimalSeparator) !== -1) {
2083
2085
  value = this.intl.getNumberParser({ format: 'n' })(elem.value);
2084
2086
  }
2085
- numericTextBoxObj.value = value;
2087
+ if (!isNaN(value)) {
2088
+ numericTextBoxObj.value = value;
2089
+ }
2086
2090
  this.isNumInput = true;
2087
2091
  }
2088
2092
  }
@@ -2461,11 +2465,13 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
2461
2465
  }
2462
2466
  var height = (this.element.className.indexOf('e-device') > -1) ? '250px' : '200px';
2463
2467
  var operator_2;
2464
- operatorList.forEach(function (obj) {
2465
- if ('value' in obj && typeof obj.value === 'string' && obj.value.toLowerCase() === rule.operator.toLowerCase()) {
2466
- operator_2 = obj.value;
2467
- }
2468
- });
2468
+ if (rule.operator) {
2469
+ operatorList.forEach(function (obj) {
2470
+ if ('value' in obj && typeof obj.value === 'string' && obj.value.toLowerCase() === rule.operator.toLowerCase()) {
2471
+ operator_2 = obj.value;
2472
+ }
2473
+ });
2474
+ }
2469
2475
  var value = operator_2 ? operator_2 : operatorList[0].value;
2470
2476
  var ddlIdx = 0;
2471
2477
  if (!this.autoSelectOperator) {
@@ -3246,6 +3252,10 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
3246
3252
  }
3247
3253
  target.nextElementSibling.innerHTML = '';
3248
3254
  }
3255
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3256
+ if (this.isAngular && !isNullOrUndefined(prevItemData.key) && this.fieldMode === 'DropdownTree') {
3257
+ delete prevItemData.template;
3258
+ }
3249
3259
  }
3250
3260
  if (isRender) {
3251
3261
  this.validateValue(rule, closest(target, '.e-rule-container'));
@@ -3285,6 +3295,10 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
3285
3295
  }
3286
3296
  }
3287
3297
  this.renderControls(target, itemData, rule, tempRule, isTempRendered);
3298
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3299
+ if (this.isAngular && !isNullOrUndefined(itemData.key) && itemData.template && this.fieldMode === 'DropdownTree') {
3300
+ delete itemData.template;
3301
+ }
3288
3302
  }
3289
3303
  }
3290
3304
  else {
@@ -5135,6 +5149,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
5135
5149
  * @returns {RuleModel} - Valid rule or rules collection
5136
5150
  */
5137
5151
  QueryBuilder.prototype.getValidRules = function (currentRule) {
5152
+ this.isValueEmpty = true;
5138
5153
  if (!currentRule) {
5139
5154
  currentRule = this.getRules();
5140
5155
  }
@@ -5144,6 +5159,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
5144
5159
  var rule = !isNullOrUndefined(currentRule.isLocked) ?
5145
5160
  this.getRuleCollection({ condition: ruleCondtion, rules: ruleColl, not: notCondition, isLocked: currentRule.isLocked }, true) :
5146
5161
  this.getRuleCollection({ condition: ruleCondtion, rules: ruleColl, not: notCondition }, true);
5162
+ this.isValueEmpty = false;
5147
5163
  return rule;
5148
5164
  };
5149
5165
  QueryBuilder.prototype.getRuleCollection = function (rule, isValidRule) {
@@ -5173,8 +5189,9 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
5173
5189
  rule.value = null;
5174
5190
  }
5175
5191
  }
5176
- if ((this.isRefreshed && this.enablePersistence) || (rule.field !== '' && rule.operator !== '' && (rule.value !== '' &&
5177
- rule.value !== undefined)) || (customObj && customObj.isQuestion)) {
5192
+ if ((this.isRefreshed && this.enablePersistence) || (rule.field !== '' && rule.operator !== '' &&
5193
+ (this.isValueEmpty ? rule.value !== '' && rule.value !== undefined : rule.value !== undefined)) ||
5194
+ (customObj && customObj.isQuestion)) {
5178
5195
  var condition = rule.condition;
5179
5196
  var lockedRule = rule.isLocked;
5180
5197
  rule = { 'label': rule.label, 'field': rule.field, 'operator': rule.operator, 'type': rule.type, 'value': rule.value };