@syncfusion/ej2-querybuilder 20.3.59 → 20.4.40

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
  }
@@ -383,7 +386,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
383
386
  if (sqlIdx > -1) {
384
387
  var operator_1 = column.operators[j];
385
388
  var operColl = Object.keys(operator_1);
386
- var values = operColl.map(function (key) { return operator_1[key]; }).join(',').split(',');
389
+ var values = operColl.map(function (key) { return operator_1["" + key]; }).join(',').split(',');
387
390
  var valueIdx = operColl.indexOf('value');
388
391
  this_1.operators[values[valueIdx]] = values[sqlIdx];
389
392
  }
@@ -780,6 +783,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
780
783
  var tooltip = new Tooltip({ content: this.l10n.getConstant('ValidationMessage'),
781
784
  position: 'BottomCenter', cssClass: 'e-querybuilder-error' });
782
785
  tooltip.appendTo(element);
786
+ // eslint-disable-next-line
783
787
  tooltip.open(element);
784
788
  };
785
789
  /**
@@ -803,23 +807,25 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
803
807
  var tempElem = void 0;
804
808
  var rule = void 0;
805
809
  var ruleElemCln = this.element.querySelectorAll('.e-rule-container');
806
- var validateRule = void 0;
807
810
  for (i = 0, len = ruleElemCln.length; i < len; i++) {
811
+ var validateRule = void 0;
808
812
  groupElem = closest(ruleElemCln[i], '.e-group-container');
809
813
  rule = this.getParentGroup(groupElem);
810
814
  index = 0;
811
815
  indexElem = tempElem = ruleElemCln[i];
812
816
  if (this.fieldMode === 'DropdownTree') {
813
- dropDownTreeObj = getComponent(ruleElemCln[i].querySelector('.e-rule-field input.e-control'), 'dropdowntree');
814
- 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) {
815
819
  this.selectedColumn = this.getColumn(dropDownTreeObj.value[0]);
816
820
  validateRule = this.selectedColumn.validation;
817
821
  }
818
822
  }
819
823
  else {
820
- dropDownObj = getComponent(ruleElemCln[i].querySelector('.e-rule-field input.e-control'), 'dropdownlist');
821
- this.selectedColumn = dropDownObj.getDataByValue(dropDownObj.value);
822
- 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
+ }
823
829
  }
824
830
  fieldElem = tempElem.querySelector('.e-rule-field input.e-control');
825
831
  if (validateRule && validateRule.isRequired) {
@@ -837,8 +843,9 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
837
843
  if (rule.rules[index].value instanceof Array) {
838
844
  valArray = rule.rules[index].value;
839
845
  }
840
- if (excludeOprs.indexOf(rule.rules[index].operator) < 0 && (isNullOrUndefined(rule.rules[index].value) &&
841
- rule.rules[index].type !== 'date') || rule.rules[index].value === '' ||
846
+ if (excludeOprs.indexOf(rule.rules[index].operator) < 0 &&
847
+ (isNullOrUndefined(rule.rules[index].value) &&
848
+ rule.rules[index].type !== 'date') || rule.rules[index].value === '' ||
842
849
  (rule.rules[index].value instanceof Array && valArray.length < 1)) {
843
850
  var valElem = tempElem.querySelectorAll('.e-rule-value .e-control');
844
851
  isValid = false;
@@ -861,8 +868,8 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
861
868
  else if ((dropDownObj && dropDownObj.element && isNullOrUndefined(dropDownObj.index)) ||
862
869
  (dropDownTreeObj && dropDownTreeObj.element && (isNullOrUndefined(dropDownTreeObj.value) ||
863
870
  dropDownTreeObj.value.length < 1))) {
864
- if (fieldElem.parentElement.className.indexOf('e-tooltip') < 0) {
865
- this.renderToolTip(fieldElem.parentElement);
871
+ if (fieldElem.className.indexOf('e-tooltip') < 0) {
872
+ this.renderToolTip(fieldElem);
866
873
  }
867
874
  isValid = false;
868
875
  }
@@ -916,7 +923,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
916
923
  groupElem.appendChild(grpBodyElem);
917
924
  // create button group in OR and AND process
918
925
  if (!this.headerTemplate) {
919
- glueElem = this.createElement('div', { attrs: { class: 'e-lib e-btn-group' } });
926
+ glueElem = this.createElement('div', { attrs: { class: 'e-lib e-btn-group', role: 'group' } });
920
927
  if (this.enableNotCondition) {
921
928
  inputElem = this.createElement('button', { attrs: { type: 'button', class: 'e-qb-toggle' } });
922
929
  glueElem.appendChild(inputElem);
@@ -1526,6 +1533,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
1526
1533
  }
1527
1534
  };
1528
1535
  QueryBuilder.prototype.createSubFields = function (filterElem, rule, tempRule, ddlArgs) {
1536
+ var subFieldValue = false;
1529
1537
  var fieldElem = closest(filterElem, '.e-rule-field');
1530
1538
  var tempElem = this.createElement('div', { attrs: { class: 'e-rule-sub-filter', id: 'subfilter' + this.subFilterCounter } });
1531
1539
  fieldElem.insertBefore(tempElem, fieldElem.querySelector('.e-rule-operator'));
@@ -1555,6 +1563,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
1555
1563
  if (rule.field === subField[i].field || rule.field.indexOf(subField[i].field) > -1) {
1556
1564
  dropDownList.value = subField[i].field;
1557
1565
  this.selectedColumn = subField[i];
1566
+ subFieldValue = true;
1558
1567
  break;
1559
1568
  }
1560
1569
  }
@@ -1563,7 +1572,10 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
1563
1572
  this.subFieldElem = subFieldElem;
1564
1573
  // eslint-disable-next-line
1565
1574
  ddlArgs.itemData = ddlArgs.itemData;
1566
- if (!this.isImportRules) {
1575
+ if (!this.isImportRules || (!subFieldValue && this.selectedColumn.columns)) {
1576
+ if (!subFieldValue && this.isImportRules) {
1577
+ dropDownList.value = null;
1578
+ }
1567
1579
  this.selectedColumn = this.selectedColumn.columns[0];
1568
1580
  }
1569
1581
  if (!this.selectedColumn.columns) {
@@ -1800,29 +1812,29 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
1800
1812
  for (var j = 0, jLen = fieldColl.length; j < jLen; j++) {
1801
1813
  fieldStr = fieldColl[j];
1802
1814
  if (fieldColl.length === (j + 1)) {
1803
- value = dataObj[fieldStr];
1804
- if (Number(dataObj[fieldStr]) === dataObj[fieldStr] && dataObj[fieldStr] % 1 !== 0) {
1805
- value = dataObj[fieldStr].toString();
1815
+ value = dataObj["" + fieldStr];
1816
+ if (Number(dataObj["" + fieldStr]) === dataObj["" + fieldStr] && dataObj["" + fieldStr] % 1 !== 0) {
1817
+ value = dataObj["" + fieldStr].toString();
1806
1818
  }
1807
1819
  }
1808
1820
  else {
1809
- dataObj = dataObj[fieldStr];
1821
+ dataObj = dataObj["" + fieldStr];
1810
1822
  }
1811
1823
  }
1812
1824
  }
1813
1825
  else {
1814
- value = dataSource[i][field];
1815
- if (Number(dataSource[i][field]) === dataSource[i][field] && dataSource[i][field] % 1 !== 0) {
1816
- value = dataSource[i][field].toString();
1826
+ value = dataSource[i]["" + field];
1827
+ if (Number(dataSource[i]["" + field]) === dataSource[i]["" + field] && dataSource[i]["" + field] % 1 !== 0) {
1828
+ value = dataSource[i]["" + field].toString();
1817
1829
  }
1818
1830
  }
1819
1831
  if (!(value in original)) {
1820
- original[value] = 1;
1832
+ original["" + value] = 1;
1821
1833
  if (fieldColl.length > 1) {
1822
1834
  this.createNestedObject(data, fieldColl, value);
1823
1835
  }
1824
1836
  else {
1825
- data[field] = value;
1837
+ data["" + field] = value;
1826
1838
  }
1827
1839
  result.push(data);
1828
1840
  }
@@ -1836,9 +1848,9 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
1836
1848
  for (var k = 0; k < lastIndex; ++k) {
1837
1849
  key = fieldColl[k];
1838
1850
  if (!(key in obj)) {
1839
- obj[key] = {};
1851
+ obj["" + key] = {};
1840
1852
  }
1841
- obj = obj[key];
1853
+ obj = obj["" + key];
1842
1854
  }
1843
1855
  obj[fieldColl[lastIndex]] = value;
1844
1856
  };
@@ -1850,28 +1862,28 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
1850
1862
  var isNested = field.indexOf(this.separator);
1851
1863
  var _loop_2 = function (i, iLen) {
1852
1864
  if (isNested === 0) {
1853
- value = dataSource[i][field];
1865
+ value = dataSource[i]["" + field];
1854
1866
  }
1855
1867
  else {
1856
1868
  nest = field.split(this_2.separator);
1857
1869
  // eslint-disable-next-line @typescript-eslint/tslint/config
1858
1870
  nest.forEach(function (element) {
1859
1871
  if (value) {
1860
- value = value[element];
1872
+ value = value["" + element];
1861
1873
  }
1862
1874
  else {
1863
- value = dataSource[i][element];
1875
+ value = dataSource[i]["" + element];
1864
1876
  }
1865
1877
  });
1866
1878
  }
1867
- if (Number(dataSource[i][field]) === dataSource[i][field] && dataSource[i][field] % 1 !== 0) {
1868
- value = dataSource[i][field].toString();
1879
+ if (Number(dataSource[i]["" + field]) === dataSource[i]["" + field] && dataSource[i]["" + field] % 1 !== 0) {
1880
+ value = dataSource[i]["" + field].toString();
1869
1881
  }
1870
1882
  var data = {};
1871
1883
  if (!(value in original)) {
1872
- original[value] = 1;
1884
+ original["" + value] = 1;
1873
1885
  if (isNested === 0) {
1874
- data[field] = value;
1886
+ data["" + field] = value;
1875
1887
  }
1876
1888
  else {
1877
1889
  data[nest[nest.length - 1]] = value;
@@ -2351,7 +2363,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
2351
2363
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
2352
2364
  prevItemData = this.getColumn(prevItemData.value);
2353
2365
  }
2354
- if (column.template && prevItemData && Object.keys(prevItemData).length < 4) {
2366
+ if (column && column.template && prevItemData && Object.keys(prevItemData).length < 4) {
2355
2367
  prevItemData.template = column.template;
2356
2368
  }
2357
2369
  return prevItemData;
@@ -2407,7 +2419,9 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
2407
2419
  this.validateValue(rule, closest(target, '.e-rule-container'));
2408
2420
  this.destroyControls(target);
2409
2421
  }
2410
- itemData.template = column.template;
2422
+ if (column) {
2423
+ itemData.template = column.template;
2424
+ }
2411
2425
  if (itemData.template) {
2412
2426
  addClass([target.nextElementSibling], 'e-template-value');
2413
2427
  itemData.template = column.template;
@@ -2619,7 +2633,8 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
2619
2633
  var column = this.fieldMode === 'DropdownTree' ? this.getColumn(dropDownObj.value[0])
2620
2634
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
2621
2635
  : this.getColumn(dropDownObj.value);
2622
- if (!this.isImportRules && rule.rules[index].field && rule.rules[index].field.toLowerCase() !== column.field.toLowerCase()) {
2636
+ if (!this.isImportRules && rule.rules[index].field &&
2637
+ rule.rules[index].field.toLowerCase() !== column.field.toLowerCase()) {
2623
2638
  if (!(ruleElem.querySelectorAll('.e-template')) && !(operator.indexOf('null') > -1)
2624
2639
  || (operator.indexOf('empty') > -1)) {
2625
2640
  rule.rules[index].value = '';
@@ -2655,8 +2670,8 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
2655
2670
  if (!this.isImportRules) {
2656
2671
  this.trigger('change', eventsArgs);
2657
2672
  }
2658
- if (this.allowValidation && rule.rules[index].field && target.parentElement.className.indexOf('e-tooltip') > -1) {
2659
- getComponent(target.parentElement, 'tooltip').destroy();
2673
+ if (this.allowValidation && rule.rules[index].field && target.className.indexOf('e-tooltip') > -1) {
2674
+ getComponent(target, 'tooltip').destroy();
2660
2675
  }
2661
2676
  this.filterRules(beforeRules, this.getValidRules(this.rule), 'field');
2662
2677
  }
@@ -3414,7 +3429,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
3414
3429
  EventHandler.remove(this.element, 'keydown', this.keyBoardHandler);
3415
3430
  };
3416
3431
  QueryBuilder.prototype.getParentGroup = function (target, isParent) {
3417
- var groupLevel = (target instanceof Element) ? this.levelColl[target.id] : this.levelColl[target];
3432
+ var groupLevel = (target instanceof Element) ? this.levelColl[target.id] : this.levelColl["" + target];
3418
3433
  var len = isParent ? groupLevel.length - 1 : groupLevel.length;
3419
3434
  var rule = this.rule;
3420
3435
  for (var i = 0; i < len; i++) {
@@ -3576,6 +3591,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
3576
3591
  err = [];
3577
3592
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
3578
3593
  var error = 'error';
3594
+ // eslint-disable-next-line
3579
3595
  err[error] = error;
3580
3596
  }
3581
3597
  // eslint-enable
@@ -3737,6 +3753,9 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
3737
3753
  else {
3738
3754
  rule = { 'condition': rule.condition, 'rules': rule.rules };
3739
3755
  }
3756
+ if (rule.rules.length === 0) {
3757
+ rule = {};
3758
+ }
3740
3759
  }
3741
3760
  }
3742
3761
  return rule;
@@ -3945,7 +3964,8 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
3945
3964
  if (i === 0) {
3946
3965
  if (isDateFilter || (oper.indexOf('in') > -1 || oper.indexOf('between') > -1 || oper.indexOf('null') > -1 ||
3947
3966
  oper.indexOf('empty') > -1) && oper.indexOf('contains') < 0) {
3948
- pred = isDateFilter ? this.datePredicate(ruleColl[i], ruleValue) : this.arrayPredicate(ruleColl[i]);
3967
+ pred = isDateFilter ? this.datePredicate(ruleColl[i], ruleValue) :
3968
+ this.arrayPredicate(ruleColl[i]);
3949
3969
  }
3950
3970
  else {
3951
3971
  var value = ruleValue;
@@ -4429,89 +4449,90 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
4429
4449
  queryStr += rulesNotCondition;
4430
4450
  }
4431
4451
  }
4432
- for (var j = 0, jLen = rules.rules.length; j < jLen; j++) {
4433
- if (rules.rules[j].rules) {
4434
- queryStr = this.getSqlString(rules.rules[j], enableEscape, queryStr, sqlLocale);
4435
- }
4436
- else {
4437
- var rule = rules.rules[j];
4438
- var valueStr = '';
4439
- var ruleOpertor = void 0;
4440
- ruleOpertor = sqlLocale ? this.sqlOperators[rule.operator] : this.operators[rule.operator];
4441
- if (rule.value instanceof Array) {
4442
- if (rule.operator.toString().indexOf('between') > -1) {
4443
- var ruleCondition = sqlLocale ? ' ' + this.l10n.getConstant('AND').toUpperCase() + ' ' : ' ' + 'AND' + ' ';
4444
- if (rule.type === 'date' && !this.isDateFunction(rule.value[0])) {
4445
- valueStr += '"' + rule.value[0] + '"' + ruleCondition + '"' + rule.value[1] + '"';
4452
+ if (rules.rules) {
4453
+ for (var j = 0, jLen = rules.rules.length; j < jLen; j++) {
4454
+ if (rules.rules[j].rules) {
4455
+ queryStr = this.getSqlString(rules.rules[j], enableEscape, queryStr, sqlLocale);
4456
+ }
4457
+ else {
4458
+ var rule = rules.rules[j];
4459
+ var valueStr = '';
4460
+ var ruleOpertor = sqlLocale ? this.sqlOperators[rule.operator] : this.operators[rule.operator];
4461
+ if (rule.value instanceof Array) {
4462
+ if (rule.operator.toString().indexOf('between') > -1) {
4463
+ var ruleCondition = sqlLocale ? ' ' + this.l10n.getConstant('AND').toUpperCase() + ' ' : ' ' + 'AND' + ' ';
4464
+ if (rule.type === 'date' && !this.isDateFunction(rule.value[0])) {
4465
+ valueStr += '"' + rule.value[0] + '"' + ruleCondition + '"' + rule.value[1] + '"';
4466
+ }
4467
+ else {
4468
+ valueStr += rule.value[0] + ruleCondition + rule.value[1];
4469
+ }
4446
4470
  }
4447
4471
  else {
4448
- valueStr += rule.value[0] + ruleCondition + rule.value[1];
4472
+ if (typeof rule.value[0] === 'string' && rule.value !== null) {
4473
+ valueStr += '("' + rule.value[0] + '"';
4474
+ for (var k = 1, kLen = rule.value.length; k < kLen; k++) {
4475
+ valueStr += ',"' + rule.value[k] + '"';
4476
+ }
4477
+ valueStr += ')';
4478
+ }
4479
+ else {
4480
+ valueStr += '(' + rule.value + ')';
4481
+ }
4449
4482
  }
4450
4483
  }
4451
4484
  else {
4452
- if (typeof rule.value[0] === 'string' && rule.value !== null) {
4453
- valueStr += '("' + rule.value[0] + '"';
4454
- for (var k = 1, kLen = rule.value.length; k < kLen; k++) {
4455
- valueStr += ',"' + rule.value[k] + '"';
4456
- }
4457
- valueStr += ')';
4485
+ if (rule.operator.toString().indexOf('startswith') > -1) {
4486
+ valueStr += rule.value ? '("' + rule.value + '%")' : '(' + rule.value + ')';
4487
+ }
4488
+ else if (rule.operator.toString().indexOf('endswith') > -1) {
4489
+ valueStr += rule.value ? '("%' + rule.value + '")' : '(' + rule.value + ')';
4490
+ }
4491
+ else if (rule.operator.toString().indexOf('contains') > -1) {
4492
+ valueStr += rule.value ? '("%' + rule.value + '%")' : '(' + rule.value + ')';
4458
4493
  }
4459
4494
  else {
4460
- valueStr += '(' + rule.value + ')';
4495
+ if (rule.type === 'number' || typeof rule.value === 'boolean' || rule.value === null) {
4496
+ valueStr += rule.value;
4497
+ }
4498
+ else {
4499
+ valueStr += '"' + rule.value + '"';
4500
+ }
4461
4501
  }
4462
4502
  }
4463
- }
4464
- else {
4465
- if (rule.operator.toString().indexOf('startswith') > -1) {
4466
- valueStr += rule.value ? '("' + rule.value + '%")' : '(' + rule.value + ')';
4467
- }
4468
- else if (rule.operator.toString().indexOf('endswith') > -1) {
4469
- valueStr += rule.value ? '("%' + rule.value + '")' : '(' + rule.value + ')';
4470
- }
4471
- else if (rule.operator.toString().indexOf('contains') > -1) {
4472
- valueStr += rule.value ? '("%' + rule.value + '%")' : '(' + rule.value + ')';
4473
- }
4474
- else {
4475
- if (rule.type === 'number' || typeof rule.value === 'boolean' || rule.value === null) {
4476
- valueStr += rule.value;
4503
+ if (rule.operator.toString().indexOf('null') > -1 || (rule.operator.toString().indexOf('empty') > -1)) {
4504
+ if (enableEscape) {
4505
+ rule.field = '`' + rule.field + '`';
4477
4506
  }
4478
4507
  else {
4479
- valueStr += '"' + rule.value + '"';
4508
+ if (rule.field.indexOf(' ') > -1) {
4509
+ rule.field = '"' + rule.field + '"';
4510
+ }
4480
4511
  }
4481
- }
4482
- }
4483
- if (rule.operator.toString().indexOf('null') > -1 || (rule.operator.toString().indexOf('empty') > -1)) {
4484
- if (enableEscape) {
4485
- rule.field = '`' + rule.field + '`';
4512
+ queryStr += rule.field + ' ' + ruleOpertor;
4486
4513
  }
4487
4514
  else {
4488
- if (rule.field.indexOf(' ') > -1) {
4489
- rule.field = '"' + rule.field + '"';
4515
+ if (enableEscape) {
4516
+ rule.field = '`' + rule.field + '`';
4490
4517
  }
4491
- }
4492
- queryStr += rule.field + ' ' + ruleOpertor;
4493
- }
4494
- else {
4495
- if (enableEscape) {
4496
- rule.field = '`' + rule.field + '`';
4497
- }
4498
- else {
4499
- if (rule.field.indexOf(' ') > -1) {
4500
- rule.field = '"' + rule.field + '"';
4518
+ else {
4519
+ if (rule.field.indexOf(' ') > -1) {
4520
+ rule.field = '"' + rule.field + '"';
4521
+ }
4501
4522
  }
4523
+ queryStr += rule.field + ' ' + ruleOpertor + ' ' + valueStr;
4524
+ }
4525
+ if (rule.condition && rule.condition !== '') {
4526
+ condition = rule.condition;
4502
4527
  }
4503
- queryStr += rule.field + ' ' + ruleOpertor + ' ' + valueStr;
4504
- }
4505
- if (rule.condition && rule.condition !== '') {
4506
- condition = rule.condition;
4507
4528
  }
4508
- }
4509
- if (j !== jLen - 1) {
4510
- if (condition === '') {
4511
- condition = rules.rules[j].condition;
4529
+ if (j !== jLen - 1) {
4530
+ if (condition === '') {
4531
+ condition = rules.rules[j].condition;
4532
+ }
4533
+ condition = sqlLocale ? this.l10n.getConstant(condition.toUpperCase()).toUpperCase() : condition.toUpperCase();
4534
+ queryStr += ' ' + condition + ' ';
4512
4535
  }
4513
- condition = sqlLocale ? this.l10n.getConstant(condition.toUpperCase()).toUpperCase() : condition.toUpperCase();
4514
- queryStr += ' ' + condition + ' ';
4515
4536
  }
4516
4537
  }
4517
4538
  if (!isRoot) {
@@ -4558,7 +4579,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
4558
4579
  *
4559
4580
  * @param {RuleModel} rule - 'rule' to be passed to get the sql.
4560
4581
  * @param {boolean} allowEscape - Set `true` if it exclude the escape character.
4561
- * @param {boolean} sqlLocale - Set `true` if Localization for Sql query.
4582
+ * @param {boolean} sqlLocale - Set `true` if Localization for Sql query.
4562
4583
  * @returns {object} - Sql query from rules.
4563
4584
  */
4564
4585
  QueryBuilder.prototype.getSqlFromRules = function (rule, allowEscape, sqlLocale) {
@@ -4602,6 +4623,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
4602
4623
  var matchValue;
4603
4624
  for (var i = 0, iLen = operators.length; i < iLen; i++) {
4604
4625
  regexStr = /^\w+$/.test(operators[i]) ? '\\b' : '';
4626
+ // eslint-disable-next-line
4605
4627
  regex = new RegExp('^(' + operators[i] + ')' + regexStr, 'ig');
4606
4628
  if (regex.exec(sqlString)) {
4607
4629
  this.parser.push(['Operators', operators[i].toLowerCase()]);
@@ -4612,6 +4634,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
4612
4634
  if (!lastPasrser || (lastPasrser && lastPasrser[0] !== 'Literal')) {
4613
4635
  for (var i = 0, iLen = conditions.length; i < iLen; i++) {
4614
4636
  regexStr = /^\w+$/.test(conditions[i]) ? '\\b' : '';
4637
+ // eslint-disable-next-line
4615
4638
  regex = new RegExp('^(' + conditions[i] + ')' + regexStr, 'ig');
4616
4639
  if (regex.exec(sqlString)) {
4617
4640
  this.parser.push(['Conditions', conditions[i].toLowerCase()]);
@@ -4621,6 +4644,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
4621
4644
  }
4622
4645
  for (var i = 0, iLen = subOp.length; i < iLen; i++) {
4623
4646
  regexStr = /^\w+$/.test(subOp[i]) ? '\\b' : '';
4647
+ // eslint-disable-next-line
4624
4648
  regex = new RegExp('^(' + subOp[i] + ')' + regexStr, 'ig');
4625
4649
  if (regex.exec(sqlString)) {
4626
4650
  this.parser.push(['SubOperators', subOp[i].toLowerCase()]);
@@ -4664,30 +4688,39 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
4664
4688
  return matchValue.length + 2;
4665
4689
  }
4666
4690
  if (this.checkNumberLiteral(sqlString, sqlLocale)) {
4691
+ // eslint-disable-next-line
4667
4692
  matchValue = /^[0-9]+(\.[0-9]+)?/.exec(sqlString)[0];
4668
4693
  this.parser.push(['Literal', matchValue]);
4669
4694
  return matchValue.length;
4670
4695
  }
4671
4696
  //String
4697
+ // eslint-disable-next-line
4672
4698
  if (/^'((?:[^\\']+?|\\.|'')*)'(?!')/.exec(sqlString)) {
4699
+ // eslint-disable-next-line
4673
4700
  matchValue = /^'((?:[^\\']+?|\\.|'')*)'(?!')/.exec(sqlString)[0];
4674
4701
  this.parser.push(['String', matchValue]);
4675
4702
  return matchValue.length;
4676
4703
  }
4677
4704
  //Double String
4705
+ // eslint-disable-next-line
4678
4706
  if (/^"([^\\"]*(?:\\.[^\\"]*)*)"/.exec(sqlString)) {
4707
+ // eslint-disable-next-line
4679
4708
  matchValue = /^"([^\\"]*(?:\\.[^\\"]*)*)"/.exec(sqlString)[0];
4680
4709
  this.parser.push(['DoubleString', matchValue]);
4681
4710
  return matchValue.length;
4682
4711
  }
4683
4712
  //Number
4713
+ // eslint-disable-next-line
4684
4714
  if (/^[0-9]+(\.[0-9]+)?/.exec(sqlString)) {
4715
+ // eslint-disable-next-line
4685
4716
  matchValue = /^[0-9]+(\.[0-9]+)?/.exec(sqlString)[0];
4686
4717
  this.parser.push(['Number', matchValue]);
4687
4718
  return matchValue.length;
4688
4719
  }
4689
4720
  //Negative Number
4721
+ // eslint-disable-next-line
4690
4722
  if (/^-?[0-9]+(\.[0-9]+)?/.exec(sqlString)) {
4723
+ // eslint-disable-next-line
4691
4724
  matchValue = /^-?[0-9]+(\.[0-9]+)?/.exec(sqlString)[0];
4692
4725
  this.parser.push(['Number', matchValue]);
4693
4726
  return matchValue.length;
@@ -4713,6 +4746,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
4713
4746
  return true;
4714
4747
  }
4715
4748
  else {
4749
+ // eslint-disable-next-line
4716
4750
  if (/^[0-9]+(\.[0-9]+)?/.exec(sqlString)) {
4717
4751
  var secParser = this.parser[this.parser.length - 2];
4718
4752
  var betweenParser = this.parser[this.parser.length - 3];
@@ -4770,7 +4804,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
4770
4804
  return 'equal';
4771
4805
  }
4772
4806
  }
4773
- return operators[operator];
4807
+ return operators["" + operator];
4774
4808
  };
4775
4809
  QueryBuilder.prototype.getTypeFromColumn = function (rules) {
4776
4810
  var columnData = this.getColumn(rules.field);