@syncfusion/ej2-querybuilder 27.2.3 → 27.2.5

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.
@@ -2834,6 +2834,11 @@ let QueryBuilder = class QueryBuilder extends Component {
2834
2834
  this.setDefaultValue(parentId, true, false);
2835
2835
  selectedValue = selectedVal.join(',');
2836
2836
  }
2837
+ if (operator === 'between' || operator === 'notbetween') {
2838
+ if (selectedValue.length > 1) {
2839
+ selectedValue = selectedValue[idx];
2840
+ }
2841
+ }
2837
2842
  let txtBox;
2838
2843
  txtBox = {
2839
2844
  placeholder: this.l10n.getConstant('SelectValue'),
@@ -3571,6 +3576,12 @@ let QueryBuilder = class QueryBuilder extends Component {
3571
3576
  rule.rules[index].value = this.processValueString(selectedValue, rule.rules[index].type);
3572
3577
  }
3573
3578
  }
3579
+ else if (oper === 'between' || oper === 'notbetween') {
3580
+ if (typeof rule.rules[index].value === 'string') {
3581
+ rule.rules[index].value = [];
3582
+ }
3583
+ rule.rules[index].value[i] = selectedValue;
3584
+ }
3574
3585
  else {
3575
3586
  rule.rules[index].value = selectedValue;
3576
3587
  }
@@ -5147,6 +5158,10 @@ let QueryBuilder = class QueryBuilder extends Component {
5147
5158
  if ((rule.operator === 'in' || rule.operator === 'notin') && rule.value && rule.value.length === 0) {
5148
5159
  rule = {};
5149
5160
  }
5161
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
5162
+ if ((rule.operator === 'between' || rule.operator === 'notbetween') && Array.isArray(rule.value) && (rule.value.length < 2 || rule.value.some((val) => val === '' || val === null))) {
5163
+ rule = {};
5164
+ }
5150
5165
  }
5151
5166
  else {
5152
5167
  rule = {};
@@ -7530,6 +7545,7 @@ class QueryLibrary {
7530
7545
  let stringValue;
7531
7546
  let key;
7532
7547
  let betweenValue;
7548
+ let fieldType;
7533
7549
  let condition;
7534
7550
  let value;
7535
7551
  let subRules;
@@ -7701,7 +7717,13 @@ class QueryLibrary {
7701
7717
  ruleValue = stringValue.replace('$', '');
7702
7718
  type = 'string';
7703
7719
  }
7704
- if (!isNaN(Date.parse(stringValue))) { // Date type operators
7720
+ for (const column of this.parent.columns) {
7721
+ if (column.field === condition) {
7722
+ fieldType = column.type;
7723
+ break;
7724
+ }
7725
+ }
7726
+ if (!isNaN(Date.parse(stringValue)) || fieldType === 'date') { // Date type operators
7705
7727
  operatorValue = operatorValue || this.getOperatorFromMongoOperator(key);
7706
7728
  type = 'date';
7707
7729
  ruleValue = stringValue;