@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.
@@ -744,7 +744,7 @@ export declare class QueryBuilder extends Component<HTMLDivElement> implements I
744
744
  *
745
745
  * @param {RuleModel} rule - 'rule' to be passed to get the sql.
746
746
  * @param {boolean} allowEscape - Set `true` if it exclude the escape character.
747
- * @param {boolean} sqlLocale - Set `true` if Localization for Sql query.
747
+ * @param {boolean} sqlLocale - Set `true` if Localization for Sql query.
748
748
  * @returns {object} - Sql query from rules.
749
749
  */
750
750
  getSqlFromRules(rule?: RuleModel, allowEscape?: boolean, sqlLocale?: boolean): string;
@@ -208,7 +208,10 @@ var QueryBuilder = /** @class */ (function (_super) {
208
208
  var bodyElem = this.element.querySelector('.e-group-body');
209
209
  var inputElement = this.element.querySelectorAll('input.e-control');
210
210
  for (var i = 0, len = inputElement.length; i < len; i++) {
211
- if (inputElement[i].parentElement.className.indexOf('e-tooltip') > -1) {
211
+ if (inputElement[i].className.indexOf('e-tooltip') > -1) {
212
+ getComponent(inputElement[i], 'tooltip').destroy();
213
+ }
214
+ else if (inputElement[i].parentElement.className.indexOf('e-tooltip') > -1) {
212
215
  getComponent(inputElement[i].parentElement, 'tooltip').destroy();
213
216
  }
214
217
  }
@@ -392,7 +395,7 @@ var QueryBuilder = /** @class */ (function (_super) {
392
395
  if (sqlIdx > -1) {
393
396
  var operator_1 = column.operators[j];
394
397
  var operColl = Object.keys(operator_1);
395
- var values = operColl.map(function (key) { return operator_1[key]; }).join(',').split(',');
398
+ var values = operColl.map(function (key) { return operator_1["" + key]; }).join(',').split(',');
396
399
  var valueIdx = operColl.indexOf('value');
397
400
  this_1.operators[values[valueIdx]] = values[sqlIdx];
398
401
  }
@@ -789,6 +792,7 @@ var QueryBuilder = /** @class */ (function (_super) {
789
792
  var tooltip = new Tooltip({ content: this.l10n.getConstant('ValidationMessage'),
790
793
  position: 'BottomCenter', cssClass: 'e-querybuilder-error' });
791
794
  tooltip.appendTo(element);
795
+ // eslint-disable-next-line
792
796
  tooltip.open(element);
793
797
  };
794
798
  /**
@@ -812,23 +816,25 @@ var QueryBuilder = /** @class */ (function (_super) {
812
816
  var tempElem = void 0;
813
817
  var rule = void 0;
814
818
  var ruleElemCln = this.element.querySelectorAll('.e-rule-container');
815
- var validateRule = void 0;
816
819
  for (i = 0, len = ruleElemCln.length; i < len; i++) {
820
+ var validateRule = void 0;
817
821
  groupElem = closest(ruleElemCln[i], '.e-group-container');
818
822
  rule = this.getParentGroup(groupElem);
819
823
  index = 0;
820
824
  indexElem = tempElem = ruleElemCln[i];
821
825
  if (this.fieldMode === 'DropdownTree') {
822
- dropDownTreeObj = getComponent(ruleElemCln[i].querySelector('.e-rule-field input.e-control'), 'dropdowntree');
823
- if (dropDownTreeObj.value && dropDownTreeObj.value.length) {
826
+ dropDownTreeObj = getComponent(ruleElemCln[i].querySelector('.e-rule-filter input.e-dropdowntree'), 'dropdowntree');
827
+ if (dropDownTreeObj && dropDownTreeObj.value && dropDownTreeObj.value.length) {
824
828
  this.selectedColumn = this.getColumn(dropDownTreeObj.value[0]);
825
829
  validateRule = this.selectedColumn.validation;
826
830
  }
827
831
  }
828
832
  else {
829
- dropDownObj = getComponent(ruleElemCln[i].querySelector('.e-rule-field input.e-control'), 'dropdownlist');
830
- this.selectedColumn = dropDownObj.getDataByValue(dropDownObj.value);
831
- validateRule = !isNullOrUndefined(dropDownObj.index) && this.selectedColumn.validation;
833
+ dropDownObj = getComponent(ruleElemCln[i].querySelector('.e-rule-filter input.e-dropdownlist'), 'dropdownlist');
834
+ if (dropDownObj && dropDownObj.value) {
835
+ this.selectedColumn = dropDownObj.getDataByValue(dropDownObj.value);
836
+ validateRule = !isNullOrUndefined(dropDownObj.index) && this.selectedColumn.validation;
837
+ }
832
838
  }
833
839
  fieldElem = tempElem.querySelector('.e-rule-field input.e-control');
834
840
  if (validateRule && validateRule.isRequired) {
@@ -846,8 +852,9 @@ var QueryBuilder = /** @class */ (function (_super) {
846
852
  if (rule.rules[index].value instanceof Array) {
847
853
  valArray = rule.rules[index].value;
848
854
  }
849
- if (excludeOprs.indexOf(rule.rules[index].operator) < 0 && (isNullOrUndefined(rule.rules[index].value) &&
850
- rule.rules[index].type !== 'date') || rule.rules[index].value === '' ||
855
+ if (excludeOprs.indexOf(rule.rules[index].operator) < 0 &&
856
+ (isNullOrUndefined(rule.rules[index].value) &&
857
+ rule.rules[index].type !== 'date') || rule.rules[index].value === '' ||
851
858
  (rule.rules[index].value instanceof Array && valArray.length < 1)) {
852
859
  var valElem = tempElem.querySelectorAll('.e-rule-value .e-control');
853
860
  isValid = false;
@@ -870,8 +877,8 @@ var QueryBuilder = /** @class */ (function (_super) {
870
877
  else if ((dropDownObj && dropDownObj.element && isNullOrUndefined(dropDownObj.index)) ||
871
878
  (dropDownTreeObj && dropDownTreeObj.element && (isNullOrUndefined(dropDownTreeObj.value) ||
872
879
  dropDownTreeObj.value.length < 1))) {
873
- if (fieldElem.parentElement.className.indexOf('e-tooltip') < 0) {
874
- this.renderToolTip(fieldElem.parentElement);
880
+ if (fieldElem.className.indexOf('e-tooltip') < 0) {
881
+ this.renderToolTip(fieldElem);
875
882
  }
876
883
  isValid = false;
877
884
  }
@@ -925,7 +932,7 @@ var QueryBuilder = /** @class */ (function (_super) {
925
932
  groupElem.appendChild(grpBodyElem);
926
933
  // create button group in OR and AND process
927
934
  if (!this.headerTemplate) {
928
- glueElem = this.createElement('div', { attrs: { class: 'e-lib e-btn-group' } });
935
+ glueElem = this.createElement('div', { attrs: { class: 'e-lib e-btn-group', role: 'group' } });
929
936
  if (this.enableNotCondition) {
930
937
  inputElem = this.createElement('button', { attrs: { type: 'button', class: 'e-qb-toggle' } });
931
938
  glueElem.appendChild(inputElem);
@@ -1535,6 +1542,7 @@ var QueryBuilder = /** @class */ (function (_super) {
1535
1542
  }
1536
1543
  };
1537
1544
  QueryBuilder.prototype.createSubFields = function (filterElem, rule, tempRule, ddlArgs) {
1545
+ var subFieldValue = false;
1538
1546
  var fieldElem = closest(filterElem, '.e-rule-field');
1539
1547
  var tempElem = this.createElement('div', { attrs: { class: 'e-rule-sub-filter', id: 'subfilter' + this.subFilterCounter } });
1540
1548
  fieldElem.insertBefore(tempElem, fieldElem.querySelector('.e-rule-operator'));
@@ -1564,6 +1572,7 @@ var QueryBuilder = /** @class */ (function (_super) {
1564
1572
  if (rule.field === subField[i].field || rule.field.indexOf(subField[i].field) > -1) {
1565
1573
  dropDownList.value = subField[i].field;
1566
1574
  this.selectedColumn = subField[i];
1575
+ subFieldValue = true;
1567
1576
  break;
1568
1577
  }
1569
1578
  }
@@ -1572,7 +1581,10 @@ var QueryBuilder = /** @class */ (function (_super) {
1572
1581
  this.subFieldElem = subFieldElem;
1573
1582
  // eslint-disable-next-line
1574
1583
  ddlArgs.itemData = ddlArgs.itemData;
1575
- if (!this.isImportRules) {
1584
+ if (!this.isImportRules || (!subFieldValue && this.selectedColumn.columns)) {
1585
+ if (!subFieldValue && this.isImportRules) {
1586
+ dropDownList.value = null;
1587
+ }
1576
1588
  this.selectedColumn = this.selectedColumn.columns[0];
1577
1589
  }
1578
1590
  if (!this.selectedColumn.columns) {
@@ -1809,29 +1821,29 @@ var QueryBuilder = /** @class */ (function (_super) {
1809
1821
  for (var j = 0, jLen = fieldColl.length; j < jLen; j++) {
1810
1822
  fieldStr = fieldColl[j];
1811
1823
  if (fieldColl.length === (j + 1)) {
1812
- value = dataObj[fieldStr];
1813
- if (Number(dataObj[fieldStr]) === dataObj[fieldStr] && dataObj[fieldStr] % 1 !== 0) {
1814
- value = dataObj[fieldStr].toString();
1824
+ value = dataObj["" + fieldStr];
1825
+ if (Number(dataObj["" + fieldStr]) === dataObj["" + fieldStr] && dataObj["" + fieldStr] % 1 !== 0) {
1826
+ value = dataObj["" + fieldStr].toString();
1815
1827
  }
1816
1828
  }
1817
1829
  else {
1818
- dataObj = dataObj[fieldStr];
1830
+ dataObj = dataObj["" + fieldStr];
1819
1831
  }
1820
1832
  }
1821
1833
  }
1822
1834
  else {
1823
- value = dataSource[i][field];
1824
- if (Number(dataSource[i][field]) === dataSource[i][field] && dataSource[i][field] % 1 !== 0) {
1825
- value = dataSource[i][field].toString();
1835
+ value = dataSource[i]["" + field];
1836
+ if (Number(dataSource[i]["" + field]) === dataSource[i]["" + field] && dataSource[i]["" + field] % 1 !== 0) {
1837
+ value = dataSource[i]["" + field].toString();
1826
1838
  }
1827
1839
  }
1828
1840
  if (!(value in original)) {
1829
- original[value] = 1;
1841
+ original["" + value] = 1;
1830
1842
  if (fieldColl.length > 1) {
1831
1843
  this.createNestedObject(data, fieldColl, value);
1832
1844
  }
1833
1845
  else {
1834
- data[field] = value;
1846
+ data["" + field] = value;
1835
1847
  }
1836
1848
  result.push(data);
1837
1849
  }
@@ -1845,9 +1857,9 @@ var QueryBuilder = /** @class */ (function (_super) {
1845
1857
  for (var k = 0; k < lastIndex; ++k) {
1846
1858
  key = fieldColl[k];
1847
1859
  if (!(key in obj)) {
1848
- obj[key] = {};
1860
+ obj["" + key] = {};
1849
1861
  }
1850
- obj = obj[key];
1862
+ obj = obj["" + key];
1851
1863
  }
1852
1864
  obj[fieldColl[lastIndex]] = value;
1853
1865
  };
@@ -1859,28 +1871,28 @@ var QueryBuilder = /** @class */ (function (_super) {
1859
1871
  var isNested = field.indexOf(this.separator);
1860
1872
  var _loop_2 = function (i, iLen) {
1861
1873
  if (isNested === 0) {
1862
- value = dataSource[i][field];
1874
+ value = dataSource[i]["" + field];
1863
1875
  }
1864
1876
  else {
1865
1877
  nest = field.split(this_2.separator);
1866
1878
  // eslint-disable-next-line @typescript-eslint/tslint/config
1867
1879
  nest.forEach(function (element) {
1868
1880
  if (value) {
1869
- value = value[element];
1881
+ value = value["" + element];
1870
1882
  }
1871
1883
  else {
1872
- value = dataSource[i][element];
1884
+ value = dataSource[i]["" + element];
1873
1885
  }
1874
1886
  });
1875
1887
  }
1876
- if (Number(dataSource[i][field]) === dataSource[i][field] && dataSource[i][field] % 1 !== 0) {
1877
- value = dataSource[i][field].toString();
1888
+ if (Number(dataSource[i]["" + field]) === dataSource[i]["" + field] && dataSource[i]["" + field] % 1 !== 0) {
1889
+ value = dataSource[i]["" + field].toString();
1878
1890
  }
1879
1891
  var data = {};
1880
1892
  if (!(value in original)) {
1881
- original[value] = 1;
1893
+ original["" + value] = 1;
1882
1894
  if (isNested === 0) {
1883
- data[field] = value;
1895
+ data["" + field] = value;
1884
1896
  }
1885
1897
  else {
1886
1898
  data[nest[nest.length - 1]] = value;
@@ -2360,7 +2372,7 @@ var QueryBuilder = /** @class */ (function (_super) {
2360
2372
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
2361
2373
  prevItemData = this.getColumn(prevItemData.value);
2362
2374
  }
2363
- if (column.template && prevItemData && Object.keys(prevItemData).length < 4) {
2375
+ if (column && column.template && prevItemData && Object.keys(prevItemData).length < 4) {
2364
2376
  prevItemData.template = column.template;
2365
2377
  }
2366
2378
  return prevItemData;
@@ -2416,7 +2428,9 @@ var QueryBuilder = /** @class */ (function (_super) {
2416
2428
  this.validateValue(rule, closest(target, '.e-rule-container'));
2417
2429
  this.destroyControls(target);
2418
2430
  }
2419
- itemData.template = column.template;
2431
+ if (column) {
2432
+ itemData.template = column.template;
2433
+ }
2420
2434
  if (itemData.template) {
2421
2435
  addClass([target.nextElementSibling], 'e-template-value');
2422
2436
  itemData.template = column.template;
@@ -2628,7 +2642,8 @@ var QueryBuilder = /** @class */ (function (_super) {
2628
2642
  var column = this.fieldMode === 'DropdownTree' ? this.getColumn(dropDownObj.value[0])
2629
2643
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
2630
2644
  : this.getColumn(dropDownObj.value);
2631
- if (!this.isImportRules && rule.rules[index].field && rule.rules[index].field.toLowerCase() !== column.field.toLowerCase()) {
2645
+ if (!this.isImportRules && rule.rules[index].field &&
2646
+ rule.rules[index].field.toLowerCase() !== column.field.toLowerCase()) {
2632
2647
  if (!(ruleElem.querySelectorAll('.e-template')) && !(operator.indexOf('null') > -1)
2633
2648
  || (operator.indexOf('empty') > -1)) {
2634
2649
  rule.rules[index].value = '';
@@ -2664,8 +2679,8 @@ var QueryBuilder = /** @class */ (function (_super) {
2664
2679
  if (!this.isImportRules) {
2665
2680
  this.trigger('change', eventsArgs);
2666
2681
  }
2667
- if (this.allowValidation && rule.rules[index].field && target.parentElement.className.indexOf('e-tooltip') > -1) {
2668
- getComponent(target.parentElement, 'tooltip').destroy();
2682
+ if (this.allowValidation && rule.rules[index].field && target.className.indexOf('e-tooltip') > -1) {
2683
+ getComponent(target, 'tooltip').destroy();
2669
2684
  }
2670
2685
  this.filterRules(beforeRules, this.getValidRules(this.rule), 'field');
2671
2686
  }
@@ -3423,7 +3438,7 @@ var QueryBuilder = /** @class */ (function (_super) {
3423
3438
  EventHandler.remove(this.element, 'keydown', this.keyBoardHandler);
3424
3439
  };
3425
3440
  QueryBuilder.prototype.getParentGroup = function (target, isParent) {
3426
- var groupLevel = (target instanceof Element) ? this.levelColl[target.id] : this.levelColl[target];
3441
+ var groupLevel = (target instanceof Element) ? this.levelColl[target.id] : this.levelColl["" + target];
3427
3442
  var len = isParent ? groupLevel.length - 1 : groupLevel.length;
3428
3443
  var rule = this.rule;
3429
3444
  for (var i = 0; i < len; i++) {
@@ -3585,6 +3600,7 @@ var QueryBuilder = /** @class */ (function (_super) {
3585
3600
  err = [];
3586
3601
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
3587
3602
  var error = 'error';
3603
+ // eslint-disable-next-line
3588
3604
  err[error] = error;
3589
3605
  }
3590
3606
  // eslint-enable
@@ -3746,6 +3762,9 @@ var QueryBuilder = /** @class */ (function (_super) {
3746
3762
  else {
3747
3763
  rule = { 'condition': rule.condition, 'rules': rule.rules };
3748
3764
  }
3765
+ if (rule.rules.length === 0) {
3766
+ rule = {};
3767
+ }
3749
3768
  }
3750
3769
  }
3751
3770
  return rule;
@@ -3954,7 +3973,8 @@ var QueryBuilder = /** @class */ (function (_super) {
3954
3973
  if (i === 0) {
3955
3974
  if (isDateFilter || (oper.indexOf('in') > -1 || oper.indexOf('between') > -1 || oper.indexOf('null') > -1 ||
3956
3975
  oper.indexOf('empty') > -1) && oper.indexOf('contains') < 0) {
3957
- pred = isDateFilter ? this.datePredicate(ruleColl[i], ruleValue) : this.arrayPredicate(ruleColl[i]);
3976
+ pred = isDateFilter ? this.datePredicate(ruleColl[i], ruleValue) :
3977
+ this.arrayPredicate(ruleColl[i]);
3958
3978
  }
3959
3979
  else {
3960
3980
  var value = ruleValue;
@@ -4438,89 +4458,90 @@ var QueryBuilder = /** @class */ (function (_super) {
4438
4458
  queryStr += rulesNotCondition;
4439
4459
  }
4440
4460
  }
4441
- for (var j = 0, jLen = rules.rules.length; j < jLen; j++) {
4442
- if (rules.rules[j].rules) {
4443
- queryStr = this.getSqlString(rules.rules[j], enableEscape, queryStr, sqlLocale);
4444
- }
4445
- else {
4446
- var rule = rules.rules[j];
4447
- var valueStr = '';
4448
- var ruleOpertor = void 0;
4449
- ruleOpertor = sqlLocale ? this.sqlOperators[rule.operator] : this.operators[rule.operator];
4450
- if (rule.value instanceof Array) {
4451
- if (rule.operator.toString().indexOf('between') > -1) {
4452
- var ruleCondition = sqlLocale ? ' ' + this.l10n.getConstant('AND').toUpperCase() + ' ' : ' ' + 'AND' + ' ';
4453
- if (rule.type === 'date' && !this.isDateFunction(rule.value[0])) {
4454
- valueStr += '"' + rule.value[0] + '"' + ruleCondition + '"' + rule.value[1] + '"';
4461
+ if (rules.rules) {
4462
+ for (var j = 0, jLen = rules.rules.length; j < jLen; j++) {
4463
+ if (rules.rules[j].rules) {
4464
+ queryStr = this.getSqlString(rules.rules[j], enableEscape, queryStr, sqlLocale);
4465
+ }
4466
+ else {
4467
+ var rule = rules.rules[j];
4468
+ var valueStr = '';
4469
+ var ruleOpertor = sqlLocale ? this.sqlOperators[rule.operator] : this.operators[rule.operator];
4470
+ if (rule.value instanceof Array) {
4471
+ if (rule.operator.toString().indexOf('between') > -1) {
4472
+ var ruleCondition = sqlLocale ? ' ' + this.l10n.getConstant('AND').toUpperCase() + ' ' : ' ' + 'AND' + ' ';
4473
+ if (rule.type === 'date' && !this.isDateFunction(rule.value[0])) {
4474
+ valueStr += '"' + rule.value[0] + '"' + ruleCondition + '"' + rule.value[1] + '"';
4475
+ }
4476
+ else {
4477
+ valueStr += rule.value[0] + ruleCondition + rule.value[1];
4478
+ }
4455
4479
  }
4456
4480
  else {
4457
- valueStr += rule.value[0] + ruleCondition + rule.value[1];
4481
+ if (typeof rule.value[0] === 'string' && rule.value !== null) {
4482
+ valueStr += '("' + rule.value[0] + '"';
4483
+ for (var k = 1, kLen = rule.value.length; k < kLen; k++) {
4484
+ valueStr += ',"' + rule.value[k] + '"';
4485
+ }
4486
+ valueStr += ')';
4487
+ }
4488
+ else {
4489
+ valueStr += '(' + rule.value + ')';
4490
+ }
4458
4491
  }
4459
4492
  }
4460
4493
  else {
4461
- if (typeof rule.value[0] === 'string' && rule.value !== null) {
4462
- valueStr += '("' + rule.value[0] + '"';
4463
- for (var k = 1, kLen = rule.value.length; k < kLen; k++) {
4464
- valueStr += ',"' + rule.value[k] + '"';
4465
- }
4466
- valueStr += ')';
4494
+ if (rule.operator.toString().indexOf('startswith') > -1) {
4495
+ valueStr += rule.value ? '("' + rule.value + '%")' : '(' + rule.value + ')';
4496
+ }
4497
+ else if (rule.operator.toString().indexOf('endswith') > -1) {
4498
+ valueStr += rule.value ? '("%' + rule.value + '")' : '(' + rule.value + ')';
4499
+ }
4500
+ else if (rule.operator.toString().indexOf('contains') > -1) {
4501
+ valueStr += rule.value ? '("%' + rule.value + '%")' : '(' + rule.value + ')';
4467
4502
  }
4468
4503
  else {
4469
- valueStr += '(' + rule.value + ')';
4504
+ if (rule.type === 'number' || typeof rule.value === 'boolean' || rule.value === null) {
4505
+ valueStr += rule.value;
4506
+ }
4507
+ else {
4508
+ valueStr += '"' + rule.value + '"';
4509
+ }
4470
4510
  }
4471
4511
  }
4472
- }
4473
- else {
4474
- if (rule.operator.toString().indexOf('startswith') > -1) {
4475
- valueStr += rule.value ? '("' + rule.value + '%")' : '(' + rule.value + ')';
4476
- }
4477
- else if (rule.operator.toString().indexOf('endswith') > -1) {
4478
- valueStr += rule.value ? '("%' + rule.value + '")' : '(' + rule.value + ')';
4479
- }
4480
- else if (rule.operator.toString().indexOf('contains') > -1) {
4481
- valueStr += rule.value ? '("%' + rule.value + '%")' : '(' + rule.value + ')';
4482
- }
4483
- else {
4484
- if (rule.type === 'number' || typeof rule.value === 'boolean' || rule.value === null) {
4485
- valueStr += rule.value;
4512
+ if (rule.operator.toString().indexOf('null') > -1 || (rule.operator.toString().indexOf('empty') > -1)) {
4513
+ if (enableEscape) {
4514
+ rule.field = '`' + rule.field + '`';
4486
4515
  }
4487
4516
  else {
4488
- valueStr += '"' + rule.value + '"';
4517
+ if (rule.field.indexOf(' ') > -1) {
4518
+ rule.field = '"' + rule.field + '"';
4519
+ }
4489
4520
  }
4490
- }
4491
- }
4492
- if (rule.operator.toString().indexOf('null') > -1 || (rule.operator.toString().indexOf('empty') > -1)) {
4493
- if (enableEscape) {
4494
- rule.field = '`' + rule.field + '`';
4521
+ queryStr += rule.field + ' ' + ruleOpertor;
4495
4522
  }
4496
4523
  else {
4497
- if (rule.field.indexOf(' ') > -1) {
4498
- rule.field = '"' + rule.field + '"';
4524
+ if (enableEscape) {
4525
+ rule.field = '`' + rule.field + '`';
4499
4526
  }
4500
- }
4501
- queryStr += rule.field + ' ' + ruleOpertor;
4502
- }
4503
- else {
4504
- if (enableEscape) {
4505
- rule.field = '`' + rule.field + '`';
4506
- }
4507
- else {
4508
- if (rule.field.indexOf(' ') > -1) {
4509
- rule.field = '"' + rule.field + '"';
4527
+ else {
4528
+ if (rule.field.indexOf(' ') > -1) {
4529
+ rule.field = '"' + rule.field + '"';
4530
+ }
4510
4531
  }
4532
+ queryStr += rule.field + ' ' + ruleOpertor + ' ' + valueStr;
4533
+ }
4534
+ if (rule.condition && rule.condition !== '') {
4535
+ condition = rule.condition;
4511
4536
  }
4512
- queryStr += rule.field + ' ' + ruleOpertor + ' ' + valueStr;
4513
- }
4514
- if (rule.condition && rule.condition !== '') {
4515
- condition = rule.condition;
4516
4537
  }
4517
- }
4518
- if (j !== jLen - 1) {
4519
- if (condition === '') {
4520
- condition = rules.rules[j].condition;
4538
+ if (j !== jLen - 1) {
4539
+ if (condition === '') {
4540
+ condition = rules.rules[j].condition;
4541
+ }
4542
+ condition = sqlLocale ? this.l10n.getConstant(condition.toUpperCase()).toUpperCase() : condition.toUpperCase();
4543
+ queryStr += ' ' + condition + ' ';
4521
4544
  }
4522
- condition = sqlLocale ? this.l10n.getConstant(condition.toUpperCase()).toUpperCase() : condition.toUpperCase();
4523
- queryStr += ' ' + condition + ' ';
4524
4545
  }
4525
4546
  }
4526
4547
  if (!isRoot) {
@@ -4567,7 +4588,7 @@ var QueryBuilder = /** @class */ (function (_super) {
4567
4588
  *
4568
4589
  * @param {RuleModel} rule - 'rule' to be passed to get the sql.
4569
4590
  * @param {boolean} allowEscape - Set `true` if it exclude the escape character.
4570
- * @param {boolean} sqlLocale - Set `true` if Localization for Sql query.
4591
+ * @param {boolean} sqlLocale - Set `true` if Localization for Sql query.
4571
4592
  * @returns {object} - Sql query from rules.
4572
4593
  */
4573
4594
  QueryBuilder.prototype.getSqlFromRules = function (rule, allowEscape, sqlLocale) {
@@ -4611,6 +4632,7 @@ var QueryBuilder = /** @class */ (function (_super) {
4611
4632
  var matchValue;
4612
4633
  for (var i = 0, iLen = operators.length; i < iLen; i++) {
4613
4634
  regexStr = /^\w+$/.test(operators[i]) ? '\\b' : '';
4635
+ // eslint-disable-next-line
4614
4636
  regex = new RegExp('^(' + operators[i] + ')' + regexStr, 'ig');
4615
4637
  if (regex.exec(sqlString)) {
4616
4638
  this.parser.push(['Operators', operators[i].toLowerCase()]);
@@ -4621,6 +4643,7 @@ var QueryBuilder = /** @class */ (function (_super) {
4621
4643
  if (!lastPasrser || (lastPasrser && lastPasrser[0] !== 'Literal')) {
4622
4644
  for (var i = 0, iLen = conditions.length; i < iLen; i++) {
4623
4645
  regexStr = /^\w+$/.test(conditions[i]) ? '\\b' : '';
4646
+ // eslint-disable-next-line
4624
4647
  regex = new RegExp('^(' + conditions[i] + ')' + regexStr, 'ig');
4625
4648
  if (regex.exec(sqlString)) {
4626
4649
  this.parser.push(['Conditions', conditions[i].toLowerCase()]);
@@ -4630,6 +4653,7 @@ var QueryBuilder = /** @class */ (function (_super) {
4630
4653
  }
4631
4654
  for (var i = 0, iLen = subOp.length; i < iLen; i++) {
4632
4655
  regexStr = /^\w+$/.test(subOp[i]) ? '\\b' : '';
4656
+ // eslint-disable-next-line
4633
4657
  regex = new RegExp('^(' + subOp[i] + ')' + regexStr, 'ig');
4634
4658
  if (regex.exec(sqlString)) {
4635
4659
  this.parser.push(['SubOperators', subOp[i].toLowerCase()]);
@@ -4673,30 +4697,39 @@ var QueryBuilder = /** @class */ (function (_super) {
4673
4697
  return matchValue.length + 2;
4674
4698
  }
4675
4699
  if (this.checkNumberLiteral(sqlString, sqlLocale)) {
4700
+ // eslint-disable-next-line
4676
4701
  matchValue = /^[0-9]+(\.[0-9]+)?/.exec(sqlString)[0];
4677
4702
  this.parser.push(['Literal', matchValue]);
4678
4703
  return matchValue.length;
4679
4704
  }
4680
4705
  //String
4706
+ // eslint-disable-next-line
4681
4707
  if (/^'((?:[^\\']+?|\\.|'')*)'(?!')/.exec(sqlString)) {
4708
+ // eslint-disable-next-line
4682
4709
  matchValue = /^'((?:[^\\']+?|\\.|'')*)'(?!')/.exec(sqlString)[0];
4683
4710
  this.parser.push(['String', matchValue]);
4684
4711
  return matchValue.length;
4685
4712
  }
4686
4713
  //Double String
4714
+ // eslint-disable-next-line
4687
4715
  if (/^"([^\\"]*(?:\\.[^\\"]*)*)"/.exec(sqlString)) {
4716
+ // eslint-disable-next-line
4688
4717
  matchValue = /^"([^\\"]*(?:\\.[^\\"]*)*)"/.exec(sqlString)[0];
4689
4718
  this.parser.push(['DoubleString', matchValue]);
4690
4719
  return matchValue.length;
4691
4720
  }
4692
4721
  //Number
4722
+ // eslint-disable-next-line
4693
4723
  if (/^[0-9]+(\.[0-9]+)?/.exec(sqlString)) {
4724
+ // eslint-disable-next-line
4694
4725
  matchValue = /^[0-9]+(\.[0-9]+)?/.exec(sqlString)[0];
4695
4726
  this.parser.push(['Number', matchValue]);
4696
4727
  return matchValue.length;
4697
4728
  }
4698
4729
  //Negative Number
4730
+ // eslint-disable-next-line
4699
4731
  if (/^-?[0-9]+(\.[0-9]+)?/.exec(sqlString)) {
4732
+ // eslint-disable-next-line
4700
4733
  matchValue = /^-?[0-9]+(\.[0-9]+)?/.exec(sqlString)[0];
4701
4734
  this.parser.push(['Number', matchValue]);
4702
4735
  return matchValue.length;
@@ -4722,6 +4755,7 @@ var QueryBuilder = /** @class */ (function (_super) {
4722
4755
  return true;
4723
4756
  }
4724
4757
  else {
4758
+ // eslint-disable-next-line
4725
4759
  if (/^[0-9]+(\.[0-9]+)?/.exec(sqlString)) {
4726
4760
  var secParser = this.parser[this.parser.length - 2];
4727
4761
  var betweenParser = this.parser[this.parser.length - 3];
@@ -4779,7 +4813,7 @@ var QueryBuilder = /** @class */ (function (_super) {
4779
4813
  return 'equal';
4780
4814
  }
4781
4815
  }
4782
- return operators[operator];
4816
+ return operators["" + operator];
4783
4817
  };
4784
4818
  QueryBuilder.prototype.getTypeFromColumn = function (rules) {
4785
4819
  var columnData = this.getColumn(rules.field);
@@ -159,7 +159,7 @@
159
159
 
160
160
  .e-bigger .e-multi-select-wrapper .e-chips-close {
161
161
  height: 30px;
162
- width: auto;
162
+ width: 30px;
163
163
  }
164
164
 
165
165
  .e-popup.e-multi-select-list-wrapper .e-list-item.e-active.e-item-focus.e-hover {
@@ -159,7 +159,7 @@
159
159
 
160
160
  .e-bigger .e-multi-select-wrapper .e-chips-close {
161
161
  height: 30px;
162
- width: auto;
162
+ width: 30px;
163
163
  }
164
164
 
165
165
  .e-popup.e-multi-select-list-wrapper .e-list-item.e-active.e-item-focus.e-hover {