@syncfusion/ej2-querybuilder 19.4.42 → 19.4.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.
@@ -732,12 +732,19 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
732
732
  else {
733
733
  groupElem = closest(target, '.e-group-container');
734
734
  rules = this.getParentGroup(groupElem);
735
+ var custom = rule.custom;
735
736
  if (Object.keys(rule).length) {
736
737
  rules.rules.push({
737
738
  'field': rule.field, 'type': rule.type, 'label': rule.label, 'operator': rule.operator, value: rule.value
738
739
  });
740
+ if (custom) {
741
+ rules.rules[rules.rules.length - 1].custom = custom;
742
+ }
739
743
  }
740
744
  else {
745
+ if (custom) {
746
+ newRule.custom = custom;
747
+ }
741
748
  rules.rules.push(newRule);
742
749
  }
743
750
  }
@@ -1308,6 +1315,9 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
1308
1315
  };
1309
1316
  QueryBuilder.prototype.changeField = function (args) {
1310
1317
  if (args.isInteracted) {
1318
+ if (isNullOrUndefined(args.value)) {
1319
+ return;
1320
+ }
1311
1321
  this.isFieldChange = true;
1312
1322
  this.prevItemData = args.itemData;
1313
1323
  var fieldElem = closest(args.element, '.e-rule-filter') || closest(args.element, '.e-rule-sub-filter');
@@ -1358,6 +1368,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
1358
1368
  ruleElem = ruleElem.previousElementSibling;
1359
1369
  index++;
1360
1370
  }
1371
+ rules.rules[index].value = '';
1361
1372
  this.changeRule(rules.rules[index], args);
1362
1373
  }
1363
1374
  }
@@ -1447,6 +1458,9 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
1447
1458
  getComponent(tooltipElem[i], 'tooltip').destroy();
1448
1459
  }
1449
1460
  if (!args.cancel) {
1461
+ if (isNullOrUndefined(this.selectedColumn)) {
1462
+ return;
1463
+ }
1450
1464
  tempRule.type = this.selectedColumn.type;
1451
1465
  if (ruleElem.querySelector('.e-template')) {
1452
1466
  rule.value = '';
@@ -3448,7 +3462,11 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
3448
3462
  }
3449
3463
  }
3450
3464
  var isTemplateRendered = clnruleElem.querySelector('.e-template-value');
3451
- detach(clnruleElem);
3465
+ try {
3466
+ detach(clnruleElem);
3467
+ }
3468
+ catch (err) {
3469
+ }
3452
3470
  if (column && column.ruleTemplate) {
3453
3471
  this.clearQBTemplate([clnruleElem.id]);
3454
3472
  }
@@ -3568,10 +3586,14 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
3568
3586
  }
3569
3587
  }
3570
3588
  if ((this.isRefreshed && this.enablePersistence) || (this.rule.field !== '' && rule.operator !== '' && (rule.value !== '' &&
3571
- rule.value !== undefined))) {
3589
+ rule.value !== undefined)) || (customObj && customObj.isQuestion)) {
3590
+ var condition = rule.condition;
3572
3591
  rule = {
3573
3592
  'label': rule.label, 'field': rule.field, 'operator': rule.operator, 'type': rule.type, 'value': rule.value
3574
3593
  };
3594
+ if (condition) {
3595
+ rule.condition = condition;
3596
+ }
3575
3597
  if (customObj) {
3576
3598
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
3577
3599
  rule.custom = customObj;
@@ -3880,6 +3902,12 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
3880
3902
  break;
3881
3903
  }
3882
3904
  }
3905
+ else if (field.indexOf(this.separator) > -1) {
3906
+ if (columns[i].field === field.split(this.separator)[0]) {
3907
+ column = columns[i];
3908
+ break;
3909
+ }
3910
+ }
3883
3911
  }
3884
3912
  return column;
3885
3913
  };
@@ -3969,7 +3997,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
3969
3997
  }
3970
3998
  if (!(operator.indexOf('null') > -1 || operator.indexOf('empty') > -1)) {
3971
3999
  for (var j = 0, jLen = value.length; j < jLen; j++) {
3972
- if (value[j] !== '') {
4000
+ if (value[j] !== '' || ((operator === 'in' || operator === 'notin') && column.type === 'string')) {
3973
4001
  if (j === 0) {
3974
4002
  var gte = 'greaterthanorequal';
3975
4003
  switch (operator) {
@@ -4348,8 +4376,14 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
4348
4376
  }
4349
4377
  queryStr += rule.field + ' ' + this.operators[rule.operator] + ' ' + valueStr;
4350
4378
  }
4379
+ if (rule.condition && rule.condition != '') {
4380
+ condition = rule.condition;
4381
+ }
4351
4382
  }
4352
4383
  if (j !== jLen - 1) {
4384
+ if (condition === '') {
4385
+ condition = rules.rules[j].condition;
4386
+ }
4353
4387
  queryStr += ' ' + condition.toUpperCase() + ' ';
4354
4388
  }
4355
4389
  }