@syncfusion/ej2-querybuilder 20.3.59 → 20.4.38
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.
- package/.eslintrc.json +16 -1
- package/CHANGELOG.md +1 -16
- package/README.md +43 -43
- package/dist/ej2-querybuilder.min.js +2 -2
- package/dist/ej2-querybuilder.umd.min.js +2 -2
- package/dist/ej2-querybuilder.umd.min.js.map +1 -1
- package/dist/es6/ej2-querybuilder.es2015.js +115 -93
- package/dist/es6/ej2-querybuilder.es2015.js.map +1 -1
- package/dist/es6/ej2-querybuilder.es5.js +113 -91
- package/dist/es6/ej2-querybuilder.es5.js.map +1 -1
- package/dist/global/ej2-querybuilder.min.js +2 -2
- package/dist/global/ej2-querybuilder.min.js.map +1 -1
- package/dist/global/index.d.ts +1 -1
- package/package.json +20 -23
- package/src/query-builder/query-builder-model.d.ts +248 -248
- package/src/query-builder/query-builder.d.ts +1 -1
- package/src/query-builder/query-builder.js +113 -91
|
@@ -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
|
-
*
|
|
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;
|
|
@@ -392,7 +392,7 @@ var QueryBuilder = /** @class */ (function (_super) {
|
|
|
392
392
|
if (sqlIdx > -1) {
|
|
393
393
|
var operator_1 = column.operators[j];
|
|
394
394
|
var operColl = Object.keys(operator_1);
|
|
395
|
-
var values = operColl.map(function (key) { return operator_1[key]; }).join(',').split(',');
|
|
395
|
+
var values = operColl.map(function (key) { return operator_1["" + key]; }).join(',').split(',');
|
|
396
396
|
var valueIdx = operColl.indexOf('value');
|
|
397
397
|
this_1.operators[values[valueIdx]] = values[sqlIdx];
|
|
398
398
|
}
|
|
@@ -789,6 +789,7 @@ var QueryBuilder = /** @class */ (function (_super) {
|
|
|
789
789
|
var tooltip = new Tooltip({ content: this.l10n.getConstant('ValidationMessage'),
|
|
790
790
|
position: 'BottomCenter', cssClass: 'e-querybuilder-error' });
|
|
791
791
|
tooltip.appendTo(element);
|
|
792
|
+
// eslint-disable-next-line
|
|
792
793
|
tooltip.open(element);
|
|
793
794
|
};
|
|
794
795
|
/**
|
|
@@ -846,8 +847,9 @@ var QueryBuilder = /** @class */ (function (_super) {
|
|
|
846
847
|
if (rule.rules[index].value instanceof Array) {
|
|
847
848
|
valArray = rule.rules[index].value;
|
|
848
849
|
}
|
|
849
|
-
if (excludeOprs.indexOf(rule.rules[index].operator) < 0 &&
|
|
850
|
-
rule.rules[index].
|
|
850
|
+
if (excludeOprs.indexOf(rule.rules[index].operator) < 0 &&
|
|
851
|
+
(isNullOrUndefined(rule.rules[index].value) &&
|
|
852
|
+
rule.rules[index].type !== 'date') || rule.rules[index].value === '' ||
|
|
851
853
|
(rule.rules[index].value instanceof Array && valArray.length < 1)) {
|
|
852
854
|
var valElem = tempElem.querySelectorAll('.e-rule-value .e-control');
|
|
853
855
|
isValid = false;
|
|
@@ -925,7 +927,7 @@ var QueryBuilder = /** @class */ (function (_super) {
|
|
|
925
927
|
groupElem.appendChild(grpBodyElem);
|
|
926
928
|
// create button group in OR and AND process
|
|
927
929
|
if (!this.headerTemplate) {
|
|
928
|
-
glueElem = this.createElement('div', { attrs: { class: 'e-lib e-btn-group' } });
|
|
930
|
+
glueElem = this.createElement('div', { attrs: { class: 'e-lib e-btn-group', role: 'group' } });
|
|
929
931
|
if (this.enableNotCondition) {
|
|
930
932
|
inputElem = this.createElement('button', { attrs: { type: 'button', class: 'e-qb-toggle' } });
|
|
931
933
|
glueElem.appendChild(inputElem);
|
|
@@ -1809,29 +1811,29 @@ var QueryBuilder = /** @class */ (function (_super) {
|
|
|
1809
1811
|
for (var j = 0, jLen = fieldColl.length; j < jLen; j++) {
|
|
1810
1812
|
fieldStr = fieldColl[j];
|
|
1811
1813
|
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();
|
|
1814
|
+
value = dataObj["" + fieldStr];
|
|
1815
|
+
if (Number(dataObj["" + fieldStr]) === dataObj["" + fieldStr] && dataObj["" + fieldStr] % 1 !== 0) {
|
|
1816
|
+
value = dataObj["" + fieldStr].toString();
|
|
1815
1817
|
}
|
|
1816
1818
|
}
|
|
1817
1819
|
else {
|
|
1818
|
-
dataObj = dataObj[fieldStr];
|
|
1820
|
+
dataObj = dataObj["" + fieldStr];
|
|
1819
1821
|
}
|
|
1820
1822
|
}
|
|
1821
1823
|
}
|
|
1822
1824
|
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();
|
|
1825
|
+
value = dataSource[i]["" + field];
|
|
1826
|
+
if (Number(dataSource[i]["" + field]) === dataSource[i]["" + field] && dataSource[i]["" + field] % 1 !== 0) {
|
|
1827
|
+
value = dataSource[i]["" + field].toString();
|
|
1826
1828
|
}
|
|
1827
1829
|
}
|
|
1828
1830
|
if (!(value in original)) {
|
|
1829
|
-
original[value] = 1;
|
|
1831
|
+
original["" + value] = 1;
|
|
1830
1832
|
if (fieldColl.length > 1) {
|
|
1831
1833
|
this.createNestedObject(data, fieldColl, value);
|
|
1832
1834
|
}
|
|
1833
1835
|
else {
|
|
1834
|
-
data[field] = value;
|
|
1836
|
+
data["" + field] = value;
|
|
1835
1837
|
}
|
|
1836
1838
|
result.push(data);
|
|
1837
1839
|
}
|
|
@@ -1845,9 +1847,9 @@ var QueryBuilder = /** @class */ (function (_super) {
|
|
|
1845
1847
|
for (var k = 0; k < lastIndex; ++k) {
|
|
1846
1848
|
key = fieldColl[k];
|
|
1847
1849
|
if (!(key in obj)) {
|
|
1848
|
-
obj[key] = {};
|
|
1850
|
+
obj["" + key] = {};
|
|
1849
1851
|
}
|
|
1850
|
-
obj = obj[key];
|
|
1852
|
+
obj = obj["" + key];
|
|
1851
1853
|
}
|
|
1852
1854
|
obj[fieldColl[lastIndex]] = value;
|
|
1853
1855
|
};
|
|
@@ -1859,28 +1861,28 @@ var QueryBuilder = /** @class */ (function (_super) {
|
|
|
1859
1861
|
var isNested = field.indexOf(this.separator);
|
|
1860
1862
|
var _loop_2 = function (i, iLen) {
|
|
1861
1863
|
if (isNested === 0) {
|
|
1862
|
-
value = dataSource[i][field];
|
|
1864
|
+
value = dataSource[i]["" + field];
|
|
1863
1865
|
}
|
|
1864
1866
|
else {
|
|
1865
1867
|
nest = field.split(this_2.separator);
|
|
1866
1868
|
// eslint-disable-next-line @typescript-eslint/tslint/config
|
|
1867
1869
|
nest.forEach(function (element) {
|
|
1868
1870
|
if (value) {
|
|
1869
|
-
value = value[element];
|
|
1871
|
+
value = value["" + element];
|
|
1870
1872
|
}
|
|
1871
1873
|
else {
|
|
1872
|
-
value = dataSource[i][element];
|
|
1874
|
+
value = dataSource[i]["" + element];
|
|
1873
1875
|
}
|
|
1874
1876
|
});
|
|
1875
1877
|
}
|
|
1876
|
-
if (Number(dataSource[i][field]) === dataSource[i][field] && dataSource[i][field] % 1 !== 0) {
|
|
1877
|
-
value = dataSource[i][field].toString();
|
|
1878
|
+
if (Number(dataSource[i]["" + field]) === dataSource[i]["" + field] && dataSource[i]["" + field] % 1 !== 0) {
|
|
1879
|
+
value = dataSource[i]["" + field].toString();
|
|
1878
1880
|
}
|
|
1879
1881
|
var data = {};
|
|
1880
1882
|
if (!(value in original)) {
|
|
1881
|
-
original[value] = 1;
|
|
1883
|
+
original["" + value] = 1;
|
|
1882
1884
|
if (isNested === 0) {
|
|
1883
|
-
data[field] = value;
|
|
1885
|
+
data["" + field] = value;
|
|
1884
1886
|
}
|
|
1885
1887
|
else {
|
|
1886
1888
|
data[nest[nest.length - 1]] = value;
|
|
@@ -2628,7 +2630,8 @@ var QueryBuilder = /** @class */ (function (_super) {
|
|
|
2628
2630
|
var column = this.fieldMode === 'DropdownTree' ? this.getColumn(dropDownObj.value[0])
|
|
2629
2631
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
2630
2632
|
: this.getColumn(dropDownObj.value);
|
|
2631
|
-
if (!this.isImportRules && rule.rules[index].field &&
|
|
2633
|
+
if (!this.isImportRules && rule.rules[index].field &&
|
|
2634
|
+
rule.rules[index].field.toLowerCase() !== column.field.toLowerCase()) {
|
|
2632
2635
|
if (!(ruleElem.querySelectorAll('.e-template')) && !(operator.indexOf('null') > -1)
|
|
2633
2636
|
|| (operator.indexOf('empty') > -1)) {
|
|
2634
2637
|
rule.rules[index].value = '';
|
|
@@ -3423,7 +3426,7 @@ var QueryBuilder = /** @class */ (function (_super) {
|
|
|
3423
3426
|
EventHandler.remove(this.element, 'keydown', this.keyBoardHandler);
|
|
3424
3427
|
};
|
|
3425
3428
|
QueryBuilder.prototype.getParentGroup = function (target, isParent) {
|
|
3426
|
-
var groupLevel = (target instanceof Element) ? this.levelColl[target.id] : this.levelColl[target];
|
|
3429
|
+
var groupLevel = (target instanceof Element) ? this.levelColl[target.id] : this.levelColl["" + target];
|
|
3427
3430
|
var len = isParent ? groupLevel.length - 1 : groupLevel.length;
|
|
3428
3431
|
var rule = this.rule;
|
|
3429
3432
|
for (var i = 0; i < len; i++) {
|
|
@@ -3585,6 +3588,7 @@ var QueryBuilder = /** @class */ (function (_super) {
|
|
|
3585
3588
|
err = [];
|
|
3586
3589
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
3587
3590
|
var error = 'error';
|
|
3591
|
+
// eslint-disable-next-line
|
|
3588
3592
|
err[error] = error;
|
|
3589
3593
|
}
|
|
3590
3594
|
// eslint-enable
|
|
@@ -3746,6 +3750,9 @@ var QueryBuilder = /** @class */ (function (_super) {
|
|
|
3746
3750
|
else {
|
|
3747
3751
|
rule = { 'condition': rule.condition, 'rules': rule.rules };
|
|
3748
3752
|
}
|
|
3753
|
+
if (rule.rules.length === 0) {
|
|
3754
|
+
rule = {};
|
|
3755
|
+
}
|
|
3749
3756
|
}
|
|
3750
3757
|
}
|
|
3751
3758
|
return rule;
|
|
@@ -3954,7 +3961,8 @@ var QueryBuilder = /** @class */ (function (_super) {
|
|
|
3954
3961
|
if (i === 0) {
|
|
3955
3962
|
if (isDateFilter || (oper.indexOf('in') > -1 || oper.indexOf('between') > -1 || oper.indexOf('null') > -1 ||
|
|
3956
3963
|
oper.indexOf('empty') > -1) && oper.indexOf('contains') < 0) {
|
|
3957
|
-
pred = isDateFilter ? this.datePredicate(ruleColl[i], ruleValue) :
|
|
3964
|
+
pred = isDateFilter ? this.datePredicate(ruleColl[i], ruleValue) :
|
|
3965
|
+
this.arrayPredicate(ruleColl[i]);
|
|
3958
3966
|
}
|
|
3959
3967
|
else {
|
|
3960
3968
|
var value = ruleValue;
|
|
@@ -4438,89 +4446,90 @@ var QueryBuilder = /** @class */ (function (_super) {
|
|
|
4438
4446
|
queryStr += rulesNotCondition;
|
|
4439
4447
|
}
|
|
4440
4448
|
}
|
|
4441
|
-
|
|
4442
|
-
|
|
4443
|
-
|
|
4444
|
-
|
|
4445
|
-
|
|
4446
|
-
|
|
4447
|
-
|
|
4448
|
-
|
|
4449
|
-
|
|
4450
|
-
|
|
4451
|
-
|
|
4452
|
-
|
|
4453
|
-
|
|
4454
|
-
|
|
4449
|
+
if (rules.rules) {
|
|
4450
|
+
for (var j = 0, jLen = rules.rules.length; j < jLen; j++) {
|
|
4451
|
+
if (rules.rules[j].rules) {
|
|
4452
|
+
queryStr = this.getSqlString(rules.rules[j], enableEscape, queryStr, sqlLocale);
|
|
4453
|
+
}
|
|
4454
|
+
else {
|
|
4455
|
+
var rule = rules.rules[j];
|
|
4456
|
+
var valueStr = '';
|
|
4457
|
+
var ruleOpertor = sqlLocale ? this.sqlOperators[rule.operator] : this.operators[rule.operator];
|
|
4458
|
+
if (rule.value instanceof Array) {
|
|
4459
|
+
if (rule.operator.toString().indexOf('between') > -1) {
|
|
4460
|
+
var ruleCondition = sqlLocale ? ' ' + this.l10n.getConstant('AND').toUpperCase() + ' ' : ' ' + 'AND' + ' ';
|
|
4461
|
+
if (rule.type === 'date' && !this.isDateFunction(rule.value[0])) {
|
|
4462
|
+
valueStr += '"' + rule.value[0] + '"' + ruleCondition + '"' + rule.value[1] + '"';
|
|
4463
|
+
}
|
|
4464
|
+
else {
|
|
4465
|
+
valueStr += rule.value[0] + ruleCondition + rule.value[1];
|
|
4466
|
+
}
|
|
4455
4467
|
}
|
|
4456
4468
|
else {
|
|
4457
|
-
|
|
4469
|
+
if (typeof rule.value[0] === 'string' && rule.value !== null) {
|
|
4470
|
+
valueStr += '("' + rule.value[0] + '"';
|
|
4471
|
+
for (var k = 1, kLen = rule.value.length; k < kLen; k++) {
|
|
4472
|
+
valueStr += ',"' + rule.value[k] + '"';
|
|
4473
|
+
}
|
|
4474
|
+
valueStr += ')';
|
|
4475
|
+
}
|
|
4476
|
+
else {
|
|
4477
|
+
valueStr += '(' + rule.value + ')';
|
|
4478
|
+
}
|
|
4458
4479
|
}
|
|
4459
4480
|
}
|
|
4460
4481
|
else {
|
|
4461
|
-
if (
|
|
4462
|
-
valueStr += '("' + rule.value
|
|
4463
|
-
|
|
4464
|
-
|
|
4465
|
-
|
|
4466
|
-
|
|
4482
|
+
if (rule.operator.toString().indexOf('startswith') > -1) {
|
|
4483
|
+
valueStr += rule.value ? '("' + rule.value + '%")' : '(' + rule.value + ')';
|
|
4484
|
+
}
|
|
4485
|
+
else if (rule.operator.toString().indexOf('endswith') > -1) {
|
|
4486
|
+
valueStr += rule.value ? '("%' + rule.value + '")' : '(' + rule.value + ')';
|
|
4487
|
+
}
|
|
4488
|
+
else if (rule.operator.toString().indexOf('contains') > -1) {
|
|
4489
|
+
valueStr += rule.value ? '("%' + rule.value + '%")' : '(' + rule.value + ')';
|
|
4467
4490
|
}
|
|
4468
4491
|
else {
|
|
4469
|
-
|
|
4492
|
+
if (rule.type === 'number' || typeof rule.value === 'boolean' || rule.value === null) {
|
|
4493
|
+
valueStr += rule.value;
|
|
4494
|
+
}
|
|
4495
|
+
else {
|
|
4496
|
+
valueStr += '"' + rule.value + '"';
|
|
4497
|
+
}
|
|
4470
4498
|
}
|
|
4471
4499
|
}
|
|
4472
|
-
|
|
4473
|
-
|
|
4474
|
-
|
|
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;
|
|
4500
|
+
if (rule.operator.toString().indexOf('null') > -1 || (rule.operator.toString().indexOf('empty') > -1)) {
|
|
4501
|
+
if (enableEscape) {
|
|
4502
|
+
rule.field = '`' + rule.field + '`';
|
|
4486
4503
|
}
|
|
4487
4504
|
else {
|
|
4488
|
-
|
|
4505
|
+
if (rule.field.indexOf(' ') > -1) {
|
|
4506
|
+
rule.field = '"' + rule.field + '"';
|
|
4507
|
+
}
|
|
4489
4508
|
}
|
|
4490
|
-
|
|
4491
|
-
}
|
|
4492
|
-
if (rule.operator.toString().indexOf('null') > -1 || (rule.operator.toString().indexOf('empty') > -1)) {
|
|
4493
|
-
if (enableEscape) {
|
|
4494
|
-
rule.field = '`' + rule.field + '`';
|
|
4509
|
+
queryStr += rule.field + ' ' + ruleOpertor;
|
|
4495
4510
|
}
|
|
4496
4511
|
else {
|
|
4497
|
-
if (
|
|
4498
|
-
rule.field = '
|
|
4512
|
+
if (enableEscape) {
|
|
4513
|
+
rule.field = '`' + rule.field + '`';
|
|
4499
4514
|
}
|
|
4500
|
-
|
|
4501
|
-
|
|
4502
|
-
|
|
4503
|
-
|
|
4504
|
-
if (enableEscape) {
|
|
4505
|
-
rule.field = '`' + rule.field + '`';
|
|
4506
|
-
}
|
|
4507
|
-
else {
|
|
4508
|
-
if (rule.field.indexOf(' ') > -1) {
|
|
4509
|
-
rule.field = '"' + rule.field + '"';
|
|
4515
|
+
else {
|
|
4516
|
+
if (rule.field.indexOf(' ') > -1) {
|
|
4517
|
+
rule.field = '"' + rule.field + '"';
|
|
4518
|
+
}
|
|
4510
4519
|
}
|
|
4520
|
+
queryStr += rule.field + ' ' + ruleOpertor + ' ' + valueStr;
|
|
4521
|
+
}
|
|
4522
|
+
if (rule.condition && rule.condition !== '') {
|
|
4523
|
+
condition = rule.condition;
|
|
4511
4524
|
}
|
|
4512
|
-
queryStr += rule.field + ' ' + ruleOpertor + ' ' + valueStr;
|
|
4513
|
-
}
|
|
4514
|
-
if (rule.condition && rule.condition !== '') {
|
|
4515
|
-
condition = rule.condition;
|
|
4516
4525
|
}
|
|
4517
|
-
|
|
4518
|
-
|
|
4519
|
-
|
|
4520
|
-
|
|
4526
|
+
if (j !== jLen - 1) {
|
|
4527
|
+
if (condition === '') {
|
|
4528
|
+
condition = rules.rules[j].condition;
|
|
4529
|
+
}
|
|
4530
|
+
condition = sqlLocale ? this.l10n.getConstant(condition.toUpperCase()).toUpperCase() : condition.toUpperCase();
|
|
4531
|
+
queryStr += ' ' + condition + ' ';
|
|
4521
4532
|
}
|
|
4522
|
-
condition = sqlLocale ? this.l10n.getConstant(condition.toUpperCase()).toUpperCase() : condition.toUpperCase();
|
|
4523
|
-
queryStr += ' ' + condition + ' ';
|
|
4524
4533
|
}
|
|
4525
4534
|
}
|
|
4526
4535
|
if (!isRoot) {
|
|
@@ -4567,7 +4576,7 @@ var QueryBuilder = /** @class */ (function (_super) {
|
|
|
4567
4576
|
*
|
|
4568
4577
|
* @param {RuleModel} rule - 'rule' to be passed to get the sql.
|
|
4569
4578
|
* @param {boolean} allowEscape - Set `true` if it exclude the escape character.
|
|
4570
|
-
*
|
|
4579
|
+
* @param {boolean} sqlLocale - Set `true` if Localization for Sql query.
|
|
4571
4580
|
* @returns {object} - Sql query from rules.
|
|
4572
4581
|
*/
|
|
4573
4582
|
QueryBuilder.prototype.getSqlFromRules = function (rule, allowEscape, sqlLocale) {
|
|
@@ -4611,6 +4620,7 @@ var QueryBuilder = /** @class */ (function (_super) {
|
|
|
4611
4620
|
var matchValue;
|
|
4612
4621
|
for (var i = 0, iLen = operators.length; i < iLen; i++) {
|
|
4613
4622
|
regexStr = /^\w+$/.test(operators[i]) ? '\\b' : '';
|
|
4623
|
+
// eslint-disable-next-line
|
|
4614
4624
|
regex = new RegExp('^(' + operators[i] + ')' + regexStr, 'ig');
|
|
4615
4625
|
if (regex.exec(sqlString)) {
|
|
4616
4626
|
this.parser.push(['Operators', operators[i].toLowerCase()]);
|
|
@@ -4621,6 +4631,7 @@ var QueryBuilder = /** @class */ (function (_super) {
|
|
|
4621
4631
|
if (!lastPasrser || (lastPasrser && lastPasrser[0] !== 'Literal')) {
|
|
4622
4632
|
for (var i = 0, iLen = conditions.length; i < iLen; i++) {
|
|
4623
4633
|
regexStr = /^\w+$/.test(conditions[i]) ? '\\b' : '';
|
|
4634
|
+
// eslint-disable-next-line
|
|
4624
4635
|
regex = new RegExp('^(' + conditions[i] + ')' + regexStr, 'ig');
|
|
4625
4636
|
if (regex.exec(sqlString)) {
|
|
4626
4637
|
this.parser.push(['Conditions', conditions[i].toLowerCase()]);
|
|
@@ -4630,6 +4641,7 @@ var QueryBuilder = /** @class */ (function (_super) {
|
|
|
4630
4641
|
}
|
|
4631
4642
|
for (var i = 0, iLen = subOp.length; i < iLen; i++) {
|
|
4632
4643
|
regexStr = /^\w+$/.test(subOp[i]) ? '\\b' : '';
|
|
4644
|
+
// eslint-disable-next-line
|
|
4633
4645
|
regex = new RegExp('^(' + subOp[i] + ')' + regexStr, 'ig');
|
|
4634
4646
|
if (regex.exec(sqlString)) {
|
|
4635
4647
|
this.parser.push(['SubOperators', subOp[i].toLowerCase()]);
|
|
@@ -4673,30 +4685,39 @@ var QueryBuilder = /** @class */ (function (_super) {
|
|
|
4673
4685
|
return matchValue.length + 2;
|
|
4674
4686
|
}
|
|
4675
4687
|
if (this.checkNumberLiteral(sqlString, sqlLocale)) {
|
|
4688
|
+
// eslint-disable-next-line
|
|
4676
4689
|
matchValue = /^[0-9]+(\.[0-9]+)?/.exec(sqlString)[0];
|
|
4677
4690
|
this.parser.push(['Literal', matchValue]);
|
|
4678
4691
|
return matchValue.length;
|
|
4679
4692
|
}
|
|
4680
4693
|
//String
|
|
4694
|
+
// eslint-disable-next-line
|
|
4681
4695
|
if (/^'((?:[^\\']+?|\\.|'')*)'(?!')/.exec(sqlString)) {
|
|
4696
|
+
// eslint-disable-next-line
|
|
4682
4697
|
matchValue = /^'((?:[^\\']+?|\\.|'')*)'(?!')/.exec(sqlString)[0];
|
|
4683
4698
|
this.parser.push(['String', matchValue]);
|
|
4684
4699
|
return matchValue.length;
|
|
4685
4700
|
}
|
|
4686
4701
|
//Double String
|
|
4702
|
+
// eslint-disable-next-line
|
|
4687
4703
|
if (/^"([^\\"]*(?:\\.[^\\"]*)*)"/.exec(sqlString)) {
|
|
4704
|
+
// eslint-disable-next-line
|
|
4688
4705
|
matchValue = /^"([^\\"]*(?:\\.[^\\"]*)*)"/.exec(sqlString)[0];
|
|
4689
4706
|
this.parser.push(['DoubleString', matchValue]);
|
|
4690
4707
|
return matchValue.length;
|
|
4691
4708
|
}
|
|
4692
4709
|
//Number
|
|
4710
|
+
// eslint-disable-next-line
|
|
4693
4711
|
if (/^[0-9]+(\.[0-9]+)?/.exec(sqlString)) {
|
|
4712
|
+
// eslint-disable-next-line
|
|
4694
4713
|
matchValue = /^[0-9]+(\.[0-9]+)?/.exec(sqlString)[0];
|
|
4695
4714
|
this.parser.push(['Number', matchValue]);
|
|
4696
4715
|
return matchValue.length;
|
|
4697
4716
|
}
|
|
4698
4717
|
//Negative Number
|
|
4718
|
+
// eslint-disable-next-line
|
|
4699
4719
|
if (/^-?[0-9]+(\.[0-9]+)?/.exec(sqlString)) {
|
|
4720
|
+
// eslint-disable-next-line
|
|
4700
4721
|
matchValue = /^-?[0-9]+(\.[0-9]+)?/.exec(sqlString)[0];
|
|
4701
4722
|
this.parser.push(['Number', matchValue]);
|
|
4702
4723
|
return matchValue.length;
|
|
@@ -4722,6 +4743,7 @@ var QueryBuilder = /** @class */ (function (_super) {
|
|
|
4722
4743
|
return true;
|
|
4723
4744
|
}
|
|
4724
4745
|
else {
|
|
4746
|
+
// eslint-disable-next-line
|
|
4725
4747
|
if (/^[0-9]+(\.[0-9]+)?/.exec(sqlString)) {
|
|
4726
4748
|
var secParser = this.parser[this.parser.length - 2];
|
|
4727
4749
|
var betweenParser = this.parser[this.parser.length - 3];
|
|
@@ -4779,7 +4801,7 @@ var QueryBuilder = /** @class */ (function (_super) {
|
|
|
4779
4801
|
return 'equal';
|
|
4780
4802
|
}
|
|
4781
4803
|
}
|
|
4782
|
-
return operators[operator];
|
|
4804
|
+
return operators["" + operator];
|
|
4783
4805
|
};
|
|
4784
4806
|
QueryBuilder.prototype.getTypeFromColumn = function (rules) {
|
|
4785
4807
|
var columnData = this.getColumn(rules.field);
|