@syncfusion/ej2-querybuilder 23.2.7-52849 → 24.1.41

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.
@@ -822,7 +822,7 @@ let QueryBuilder = class QueryBuilder extends Component {
822
822
  if (rule.rules[index].value instanceof Array) {
823
823
  valArray = rule.rules[index].value;
824
824
  }
825
- if (excludeOprs.indexOf(rule.rules[index].operator) < 0 &&
825
+ if (excludeOprs.indexOf(rule.rules[index].operator) < -1 &&
826
826
  (isNullOrUndefined(rule.rules[index].value) &&
827
827
  rule.rules[index].type !== 'date') || rule.rules[index].value === '' ||
828
828
  (rule.rules[index].value instanceof Array && valArray.length < 1)) {
@@ -1274,12 +1274,20 @@ let QueryBuilder = class QueryBuilder extends Component {
1274
1274
  const groupID = groupElem && groupElem.id.replace(this.element.id + '_', '');
1275
1275
  const ruleID = ruleElem.id.replace(this.element.id + '_', '');
1276
1276
  const dateElement = args;
1277
+ let dropDownObj;
1277
1278
  if (dateElement.element && dateElement.element.className.indexOf('e-datepicker') > -1) {
1278
1279
  element = dateElement.element;
1280
+ dropDownObj = getComponent(closest(element, '.e-rule-container').querySelector('.e-filter-input'), 'dropdownlist');
1281
+ if (dropDownObj) {
1282
+ this.selectedColumn = dropDownObj.getDataByValue(dropDownObj.value);
1283
+ }
1284
+ dropDownObj = getComponent(closest(element, '.e-rule-container').querySelector('.e-filter-input'), 'dropdowntree');
1285
+ if (dropDownObj) {
1286
+ this.selectedColumn = this.getColumn(dropDownObj.value[0]);
1287
+ }
1279
1288
  }
1280
1289
  let value;
1281
1290
  let rbValue;
1282
- let dropDownObj;
1283
1291
  if (element.className.indexOf('e-radio') > -1) {
1284
1292
  // eslint-disable-next-line
1285
1293
  rbValue = parseInt(element.id.split('valuekey')[1], 0);
@@ -1564,7 +1572,7 @@ let QueryBuilder = class QueryBuilder extends Component {
1564
1572
  this.GetRootColumnName(rule.field) === this.GetRootColumnName(this.previousColumn.field))) {
1565
1573
  const subField = this.selectedColumn.columns;
1566
1574
  for (let i = 0; i < subField.length; i++) {
1567
- if (rule.field === subField[i].field) {
1575
+ if (rule.field === subField[i].field || rule.field.indexOf(subField[i].field) > -1) {
1568
1576
  dropDownList.value = subField[i].field;
1569
1577
  this.selectedColumn = subField[i];
1570
1578
  subFieldValue = true;
@@ -2392,7 +2400,7 @@ let QueryBuilder = class QueryBuilder extends Component {
2392
2400
  }
2393
2401
  const operator = tempRule.operator.toString();
2394
2402
  let isTempRendered = false;
2395
- if (!(operator.indexOf('null') > -1 || operator.indexOf('empty') > -1)) {
2403
+ if (!(operator.indexOf('null') > -1 || operator.indexOf('isempty') > -1 || operator.indexOf('isnotempty') > -1)) {
2396
2404
  const parentId = closest(target, '.e-rule-container').id;
2397
2405
  prevItemData = this.getPreviousItemData(prevItemData, column);
2398
2406
  if (prevItemData && prevItemData.template === undefined) {
@@ -2520,7 +2528,6 @@ let QueryBuilder = class QueryBuilder extends Component {
2520
2528
  const valElemColl = this.columnTemplateFn(args, this, ruleID, templateID);
2521
2529
  valElem = (valElemColl[0].nodeType === 3) ? valElemColl[1] : valElemColl[0];
2522
2530
  target.nextElementSibling.appendChild(valElem);
2523
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
2524
2531
  }
2525
2532
  else if (this.isVue3) {
2526
2533
  valElem = this.columnTemplateFn(args, this, 'Template', templateID);
@@ -4767,9 +4774,14 @@ let QueryBuilder = class QueryBuilder extends Component {
4767
4774
  }
4768
4775
  else {
4769
4776
  const secParser = this.parser[this.parser.length - 2];
4777
+ const betweenParser = this.parser[this.parser.length - 3];
4770
4778
  if (lastParser[0] === 'Left' && (secParser && secParser[0] === 'Conditions')) {
4771
4779
  return true;
4772
4780
  }
4781
+ const betweenOperator = 'between';
4782
+ if (lastParser[0] === 'Conditions' && (betweenParser && betweenParser[1].indexOf(betweenOperator) < 0)) {
4783
+ return true;
4784
+ }
4773
4785
  }
4774
4786
  return false;
4775
4787
  }