@syncfusion/ej2-querybuilder 19.4.40 → 19.4.50
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/.github/PULL_REQUEST_TEMPLATE/Bug.md +63 -0
- package/.github/PULL_REQUEST_TEMPLATE/feature.md +39 -0
- package/CHANGELOG.md +27 -1
- package/dist/ej2-querybuilder.umd.min.js +2 -11
- package/dist/ej2-querybuilder.umd.min.js.map +1 -1
- package/dist/es6/ej2-querybuilder.es2015.js +118 -21
- package/dist/es6/ej2-querybuilder.es2015.js.map +1 -1
- package/dist/es6/ej2-querybuilder.es5.js +117 -20
- package/dist/es6/ej2-querybuilder.es5.js.map +1 -1
- package/dist/global/ej2-querybuilder.min.js +2 -11
- package/dist/global/ej2-querybuilder.min.js.map +1 -1
- package/dist/global/index.d.ts +1 -10
- package/package.json +13 -17
- package/src/query-builder/query-builder.d.ts +6 -0
- package/src/query-builder/query-builder.js +117 -20
- package/styles/bootstrap4.css +5 -0
- package/styles/bootstrap5-dark.css +8 -3
- package/styles/bootstrap5.css +8 -3
- package/styles/query-builder/_bootstrap5-definition.scss +1 -1
- package/styles/query-builder/_fluent-definition.scss +107 -0
- package/styles/query-builder/_layout.scss +6 -1
- package/styles/query-builder/_tailwind-definition.scss +1 -1
- package/styles/query-builder/bootstrap4.css +5 -0
- package/styles/query-builder/bootstrap5-dark.css +8 -3
- package/styles/query-builder/bootstrap5.css +8 -3
- package/styles/query-builder/icons/_fluent.scss +8 -0
- package/styles/query-builder/tailwind-dark.css +3 -3
- package/styles/query-builder/tailwind.css +3 -3
- package/styles/tailwind-dark.css +3 -3
- package/styles/tailwind.css +3 -3
|
@@ -179,6 +179,9 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
179
179
|
_this.isNotified = false;
|
|
180
180
|
_this.isAddSuccess = false;
|
|
181
181
|
_this.isNotValueChange = false;
|
|
182
|
+
_this.isFieldChange = false;
|
|
183
|
+
_this.isFieldClose = false;
|
|
184
|
+
_this.isDestroy = false;
|
|
182
185
|
MultiSelect.Inject(CheckBoxSelection);
|
|
183
186
|
return _this;
|
|
184
187
|
}
|
|
@@ -658,8 +661,8 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
658
661
|
ddlField = {
|
|
659
662
|
dataSource: this.columns,
|
|
660
663
|
fields: this.fields, placeholder: this.l10n.getConstant('SelectField'),
|
|
661
|
-
popupHeight: ((this.columns.length > 5) ? height : 'auto'),
|
|
662
|
-
change: this.changeField.bind(this), value: rule ? ddlValue : null, open: this.popupOpen.bind(this)
|
|
664
|
+
popupHeight: ((this.columns.length > 5) ? height : 'auto'), close: this.fieldClose.bind(this, ruleElem.id + '_filterkey'),
|
|
665
|
+
change: this.changeField.bind(this), value: rule ? ddlValue : null, open: this.popupOpen.bind(this, true)
|
|
663
666
|
};
|
|
664
667
|
if (this.fieldModel) {
|
|
665
668
|
ddlField = __assign({}, ddlField, this.fieldModel);
|
|
@@ -681,11 +684,11 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
681
684
|
var ddlValue = this.isImportRules ? rule.field : rule.field;
|
|
682
685
|
ddlField = {
|
|
683
686
|
fields: { dataSource: this.columns,
|
|
684
|
-
value:
|
|
687
|
+
value: 'field', text: 'label', child: 'columns', expanded: 'expanded' },
|
|
685
688
|
placeholder: this.l10n.getConstant('SelectField'), showClearButton: false,
|
|
686
689
|
popupHeight: ((this.columns.length > 5) ? height : 'auto'), changeOnBlur: false,
|
|
687
690
|
change: this.changeField.bind(this), value: this.isImportRules ? [ddlValue] : null,
|
|
688
|
-
open: this.popupOpen.bind(this)
|
|
691
|
+
open: this.popupOpen.bind(this, false)
|
|
689
692
|
};
|
|
690
693
|
if (this.fieldModel) {
|
|
691
694
|
ddlField = __assign({}, ddlField, this.fieldModel);
|
|
@@ -729,12 +732,19 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
729
732
|
else {
|
|
730
733
|
groupElem = closest(target, '.e-group-container');
|
|
731
734
|
rules = this.getParentGroup(groupElem);
|
|
735
|
+
var custom = rule.custom;
|
|
732
736
|
if (Object.keys(rule).length) {
|
|
733
737
|
rules.rules.push({
|
|
734
738
|
'field': rule.field, 'type': rule.type, 'label': rule.label, 'operator': rule.operator, value: rule.value
|
|
735
739
|
});
|
|
740
|
+
if (custom) {
|
|
741
|
+
rules.rules[rules.rules.length - 1].custom = custom;
|
|
742
|
+
}
|
|
736
743
|
}
|
|
737
744
|
else {
|
|
745
|
+
if (custom) {
|
|
746
|
+
newRule.custom = custom;
|
|
747
|
+
}
|
|
738
748
|
rules.rules.push(newRule);
|
|
739
749
|
}
|
|
740
750
|
}
|
|
@@ -1288,21 +1298,41 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
1288
1298
|
}
|
|
1289
1299
|
}
|
|
1290
1300
|
};
|
|
1301
|
+
QueryBuilder.prototype.fieldClose = function (id) {
|
|
1302
|
+
if (this.isFieldChange || this.isDestroy) {
|
|
1303
|
+
return;
|
|
1304
|
+
}
|
|
1305
|
+
this.isFieldClose = true;
|
|
1306
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
1307
|
+
var ddl = getComponent(id, 'dropdownlist');
|
|
1308
|
+
var item = ddl.popupObj.element.querySelector('.e-active');
|
|
1309
|
+
var itemData = ddl.getItemData();
|
|
1310
|
+
ddl.value = itemData.value;
|
|
1311
|
+
var customArgs = { element: ddl.element, value: itemData.value, isInteracted: true,
|
|
1312
|
+
previousItemData: this.prevItemData, previousItem: null, item: item, itemData: itemData, event: null, e: null };
|
|
1313
|
+
this.changeField(customArgs);
|
|
1314
|
+
this.isFieldChange = false;
|
|
1315
|
+
};
|
|
1291
1316
|
QueryBuilder.prototype.changeField = function (args) {
|
|
1292
1317
|
if (args.isInteracted) {
|
|
1318
|
+
if (isNullOrUndefined(args.value)) {
|
|
1319
|
+
return;
|
|
1320
|
+
}
|
|
1321
|
+
this.isFieldChange = true;
|
|
1322
|
+
this.prevItemData = args.itemData;
|
|
1293
1323
|
var fieldElem = closest(args.element, '.e-rule-filter') || closest(args.element, '.e-rule-sub-filter');
|
|
1294
1324
|
var column = this.fieldMode === 'DropdownTree' ? this.getColumn(args.value[0]) : this.getColumn(args.value);
|
|
1295
1325
|
if (this.fieldMode === 'DropdownTree' && fieldElem != null) {
|
|
1296
|
-
var ddtElem = fieldElem.querySelector(
|
|
1326
|
+
var ddtElem = fieldElem.querySelector('.e-control');
|
|
1297
1327
|
var ddt = getComponent(ddtElem, 'dropdowntree');
|
|
1298
1328
|
if (column) {
|
|
1299
|
-
if (column.type
|
|
1329
|
+
if (column.type === 'object') {
|
|
1300
1330
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
1301
1331
|
ddt.value = args.oldValue;
|
|
1302
1332
|
ddt.dataBind();
|
|
1303
1333
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
1304
1334
|
if (isNullOrUndefined(args.oldValue)) {
|
|
1305
|
-
ddtElem.value =
|
|
1335
|
+
ddtElem.value = '';
|
|
1306
1336
|
}
|
|
1307
1337
|
else {
|
|
1308
1338
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
@@ -1338,6 +1368,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
1338
1368
|
ruleElem = ruleElem.previousElementSibling;
|
|
1339
1369
|
index++;
|
|
1340
1370
|
}
|
|
1371
|
+
rules.rules[index].value = '';
|
|
1341
1372
|
this.changeRule(rules.rules[index], args);
|
|
1342
1373
|
}
|
|
1343
1374
|
}
|
|
@@ -1427,6 +1458,9 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
1427
1458
|
getComponent(tooltipElem[i], 'tooltip').destroy();
|
|
1428
1459
|
}
|
|
1429
1460
|
if (!args.cancel) {
|
|
1461
|
+
if (isNullOrUndefined(this.selectedColumn)) {
|
|
1462
|
+
return;
|
|
1463
|
+
}
|
|
1430
1464
|
tempRule.type = this.selectedColumn.type;
|
|
1431
1465
|
if (ruleElem.querySelector('.e-template')) {
|
|
1432
1466
|
rule.value = '';
|
|
@@ -1461,15 +1495,20 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
1461
1495
|
tempElem.appendChild(subFieldElem);
|
|
1462
1496
|
var height = (this.element.className.indexOf('e-device') > -1) ? '250px' : '200px';
|
|
1463
1497
|
var subFieldData = Object.keys(this.selectedColumn.columns[0]);
|
|
1464
|
-
var
|
|
1498
|
+
var ddlField;
|
|
1499
|
+
ddlField = {
|
|
1465
1500
|
dataSource: this.selectedColumn.columns,
|
|
1466
1501
|
fields: this.fields,
|
|
1467
1502
|
placeholder: this.l10n.getConstant('SelectField'),
|
|
1468
1503
|
popupHeight: ((subFieldData.length > 5) ? height : 'auto'),
|
|
1469
1504
|
change: this.changeField.bind(this),
|
|
1470
1505
|
index: 0,
|
|
1471
|
-
open: this.popupOpen.bind(this)
|
|
1472
|
-
}
|
|
1506
|
+
open: this.popupOpen.bind(this, false)
|
|
1507
|
+
};
|
|
1508
|
+
if (this.fieldModel) {
|
|
1509
|
+
ddlField = __assign({}, ddlField, this.fieldModel);
|
|
1510
|
+
}
|
|
1511
|
+
var dropDownList = new DropDownList(ddlField);
|
|
1473
1512
|
dropDownList.appendTo('#' + ruleId + '_subfilterkey' + this.subFilterCounter);
|
|
1474
1513
|
if (this.isImportRules) {
|
|
1475
1514
|
var subField = this.selectedColumn.columns;
|
|
@@ -1589,7 +1628,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
1589
1628
|
change: this.changeField.bind(this),
|
|
1590
1629
|
index: 0,
|
|
1591
1630
|
value: value,
|
|
1592
|
-
open: this.popupOpen.bind(this)
|
|
1631
|
+
open: this.popupOpen.bind(this, false)
|
|
1593
1632
|
};
|
|
1594
1633
|
if (this.operatorModel) {
|
|
1595
1634
|
ddlOperator = __assign({}, ddlOperator, this.operatorModel);
|
|
@@ -1608,10 +1647,13 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
1608
1647
|
this.updateRules(ddlArgs.element, ddlArgs.item);
|
|
1609
1648
|
}
|
|
1610
1649
|
};
|
|
1611
|
-
QueryBuilder.prototype.popupOpen = function (args) {
|
|
1650
|
+
QueryBuilder.prototype.popupOpen = function (isField, args) {
|
|
1612
1651
|
if (this.enableRtl) {
|
|
1613
1652
|
addClass([args.popup.element], 'e-rtl');
|
|
1614
1653
|
}
|
|
1654
|
+
if (isField) {
|
|
1655
|
+
this.isFieldClose = false;
|
|
1656
|
+
}
|
|
1615
1657
|
};
|
|
1616
1658
|
QueryBuilder.prototype.destroyControls = function (target, isRuleTemplate) {
|
|
1617
1659
|
var element = isRuleTemplate ? target : target.nextElementSibling;
|
|
@@ -1804,7 +1846,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
1804
1846
|
change: this.changeValue.bind(this, i),
|
|
1805
1847
|
close: this.closePopup.bind(this, i),
|
|
1806
1848
|
actionBegin: this.multiSelectOpen.bind(this, parentId + '_valuekey' + i),
|
|
1807
|
-
open: this.popupOpen.bind(this)
|
|
1849
|
+
open: this.popupOpen.bind(this, false)
|
|
1808
1850
|
};
|
|
1809
1851
|
if (this.valueModel && this.valueModel.multiSelectModel) {
|
|
1810
1852
|
multiSelectValue = __assign({}, multiSelectValue, this.valueModel.multiSelectModel);
|
|
@@ -1864,8 +1906,10 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
1864
1906
|
};
|
|
1865
1907
|
QueryBuilder.prototype.closePopup = function (i, args) {
|
|
1866
1908
|
var element = document.getElementById(args.popup.element.id.replace('_popup', ''));
|
|
1867
|
-
|
|
1868
|
-
|
|
1909
|
+
if (element) {
|
|
1910
|
+
var value = getComponent(element, 'multiselect').value;
|
|
1911
|
+
this.updateRules(element, value, i);
|
|
1912
|
+
}
|
|
1869
1913
|
};
|
|
1870
1914
|
QueryBuilder.prototype.processTemplate = function (target, itemData, rule, tempRule) {
|
|
1871
1915
|
var container = closest(target, '.e-rule-container');
|
|
@@ -2226,6 +2270,9 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
2226
2270
|
return 0;
|
|
2227
2271
|
};
|
|
2228
2272
|
QueryBuilder.prototype.getPreviousItemData = function (prevItemData, column) {
|
|
2273
|
+
if (this.isFieldClose && prevItemData) {
|
|
2274
|
+
prevItemData = this.getColumn(prevItemData.value);
|
|
2275
|
+
}
|
|
2229
2276
|
if (column.template && prevItemData && Object.keys(prevItemData).length < 4) {
|
|
2230
2277
|
prevItemData.template = column.template;
|
|
2231
2278
|
}
|
|
@@ -2718,6 +2765,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
2718
2765
|
* @returns {void}
|
|
2719
2766
|
*/
|
|
2720
2767
|
QueryBuilder.prototype.destroy = function () {
|
|
2768
|
+
this.isDestroy = true;
|
|
2721
2769
|
var queryElement = this.element;
|
|
2722
2770
|
if (!queryElement) {
|
|
2723
2771
|
return;
|
|
@@ -2773,6 +2821,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
2773
2821
|
this.clearQBTemplate();
|
|
2774
2822
|
}
|
|
2775
2823
|
classList(this.element, [], ['e-rtl', 'e-responsive', 'e-device']);
|
|
2824
|
+
this.isDestroy = false;
|
|
2776
2825
|
};
|
|
2777
2826
|
/**
|
|
2778
2827
|
* Adds single or multiple rules.
|
|
@@ -3413,7 +3462,11 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
3413
3462
|
}
|
|
3414
3463
|
}
|
|
3415
3464
|
var isTemplateRendered = clnruleElem.querySelector('.e-template-value');
|
|
3416
|
-
|
|
3465
|
+
try {
|
|
3466
|
+
detach(clnruleElem);
|
|
3467
|
+
}
|
|
3468
|
+
catch (err) {
|
|
3469
|
+
}
|
|
3417
3470
|
if (column && column.ruleTemplate) {
|
|
3418
3471
|
this.clearQBTemplate([clnruleElem.id]);
|
|
3419
3472
|
}
|
|
@@ -3533,10 +3586,14 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
3533
3586
|
}
|
|
3534
3587
|
}
|
|
3535
3588
|
if ((this.isRefreshed && this.enablePersistence) || (this.rule.field !== '' && rule.operator !== '' && (rule.value !== '' &&
|
|
3536
|
-
rule.value !== undefined))) {
|
|
3589
|
+
rule.value !== undefined)) || (customObj && customObj.isQuestion)) {
|
|
3590
|
+
var condition = rule.condition;
|
|
3537
3591
|
rule = {
|
|
3538
3592
|
'label': rule.label, 'field': rule.field, 'operator': rule.operator, 'type': rule.type, 'value': rule.value
|
|
3539
3593
|
};
|
|
3594
|
+
if (condition) {
|
|
3595
|
+
rule.condition = condition;
|
|
3596
|
+
}
|
|
3540
3597
|
if (customObj) {
|
|
3541
3598
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
3542
3599
|
rule.custom = customObj;
|
|
@@ -3558,6 +3615,9 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
3558
3615
|
rule.not = notValue;
|
|
3559
3616
|
}
|
|
3560
3617
|
}
|
|
3618
|
+
else if ((isNullOrUndefined(rule.condition)) && isNullOrUndefined(rule.rules)) {
|
|
3619
|
+
rule = { 'label': '', 'field': '', 'operator': '', 'type': '', 'value': '' };
|
|
3620
|
+
}
|
|
3561
3621
|
else {
|
|
3562
3622
|
if (this.enableNotCondition) {
|
|
3563
3623
|
rule = { 'condition': rule.condition, 'rules': rule.rules, 'not': rule.not };
|
|
@@ -3741,7 +3801,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
3741
3801
|
}
|
|
3742
3802
|
}
|
|
3743
3803
|
}
|
|
3744
|
-
else if (ruleColl[i].operator.length) {
|
|
3804
|
+
else if (!isNullOrUndefined(ruleColl[i].operator) && !isNullOrUndefined(ruleColl[i].operator.length)) {
|
|
3745
3805
|
var oper = ruleColl[i].operator.toLowerCase();
|
|
3746
3806
|
var isDateFilter = false;
|
|
3747
3807
|
var dateOperColl = ['equal', 'notequal', 'greaterthan', 'greaterthanorequal', 'lessthan', 'lessthanorequal'];
|
|
@@ -3842,6 +3902,12 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
3842
3902
|
break;
|
|
3843
3903
|
}
|
|
3844
3904
|
}
|
|
3905
|
+
else if (field.indexOf(this.separator) > -1) {
|
|
3906
|
+
if (columns[i].field === field.split(this.separator)[0]) {
|
|
3907
|
+
column = columns[i];
|
|
3908
|
+
break;
|
|
3909
|
+
}
|
|
3910
|
+
}
|
|
3845
3911
|
}
|
|
3846
3912
|
return column;
|
|
3847
3913
|
};
|
|
@@ -3931,7 +3997,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
3931
3997
|
}
|
|
3932
3998
|
if (!(operator.indexOf('null') > -1 || operator.indexOf('empty') > -1)) {
|
|
3933
3999
|
for (var j = 0, jLen = value.length; j < jLen; j++) {
|
|
3934
|
-
if (value[j] !== '') {
|
|
4000
|
+
if (value[j] !== '' || ((operator === 'in' || operator === 'notin') && column.type === 'string')) {
|
|
3935
4001
|
if (j === 0) {
|
|
3936
4002
|
var gte = 'greaterthanorequal';
|
|
3937
4003
|
switch (operator) {
|
|
@@ -4073,7 +4139,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
4073
4139
|
if (!isNullOrUndefined(ruleColl)) {
|
|
4074
4140
|
for (var i = 0, len = ruleColl.length; i < len; i++) {
|
|
4075
4141
|
var keys = Object.keys(ruleColl[i]);
|
|
4076
|
-
if (!isNullOrUndefined(ruleColl[i].rules) && keys.indexOf('rules') > -1) {
|
|
4142
|
+
if (!isNullOrUndefined(ruleColl[i].rules) && keys.indexOf('rules') > -1 && (ruleColl[i].rules.length !== 0)) {
|
|
4077
4143
|
parentElem = this.renderGroup(ruleColl[i], ruleColl[i].condition, parentElem, ruleColl[i].not);
|
|
4078
4144
|
parentElem = this.importRules(ruleColl[i], parentElem, true);
|
|
4079
4145
|
}
|
|
@@ -4310,8 +4376,14 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
4310
4376
|
}
|
|
4311
4377
|
queryStr += rule.field + ' ' + this.operators[rule.operator] + ' ' + valueStr;
|
|
4312
4378
|
}
|
|
4379
|
+
if (rule.condition && rule.condition != '') {
|
|
4380
|
+
condition = rule.condition;
|
|
4381
|
+
}
|
|
4313
4382
|
}
|
|
4314
4383
|
if (j !== jLen - 1) {
|
|
4384
|
+
if (condition === '') {
|
|
4385
|
+
condition = rules.rules[j].condition;
|
|
4386
|
+
}
|
|
4315
4387
|
queryStr += ' ' + condition.toUpperCase() + ' ';
|
|
4316
4388
|
}
|
|
4317
4389
|
}
|
|
@@ -4445,6 +4517,12 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
4445
4517
|
this.parser.push(['Literal', matchValue]);
|
|
4446
4518
|
return matchValue.length + 2;
|
|
4447
4519
|
}
|
|
4520
|
+
// eslint-disable-next-line
|
|
4521
|
+
if (this.checkNumberLiteral(sqlString)) {
|
|
4522
|
+
matchValue = /^[0-9]+(\.[0-9]+)?/.exec(sqlString)[0];
|
|
4523
|
+
this.parser.push(['Literal', matchValue]);
|
|
4524
|
+
return matchValue.length;
|
|
4525
|
+
}
|
|
4448
4526
|
//String
|
|
4449
4527
|
if (/^'((?:[^\\']+?|\\.|'')*)'(?!')/.exec(sqlString)) {
|
|
4450
4528
|
matchValue = /^'((?:[^\\']+?|\\.|'')*)'(?!')/.exec(sqlString)[0];
|
|
@@ -4484,6 +4562,25 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
4484
4562
|
}
|
|
4485
4563
|
return false;
|
|
4486
4564
|
};
|
|
4565
|
+
QueryBuilder.prototype.checkNumberLiteral = function (sqlString) {
|
|
4566
|
+
var lastParser = this.parser[this.parser.length - 1];
|
|
4567
|
+
if (!lastParser) {
|
|
4568
|
+
return true;
|
|
4569
|
+
}
|
|
4570
|
+
else {
|
|
4571
|
+
if (/^[0-9]+(\.[0-9]+)?/.exec(sqlString)) {
|
|
4572
|
+
var secParser = this.parser[this.parser.length - 2];
|
|
4573
|
+
var betweenParser = this.parser[this.parser.length - 3];
|
|
4574
|
+
if (lastParser[0] === 'Left' && (secParser && secParser[0] === 'Conditions')) {
|
|
4575
|
+
return true;
|
|
4576
|
+
}
|
|
4577
|
+
if (lastParser[0] === 'Conditions' && (betweenParser && betweenParser[1].indexOf('between') < 0)) {
|
|
4578
|
+
return true;
|
|
4579
|
+
}
|
|
4580
|
+
}
|
|
4581
|
+
}
|
|
4582
|
+
return false;
|
|
4583
|
+
};
|
|
4487
4584
|
QueryBuilder.prototype.getOperator = function (value, operator) {
|
|
4488
4585
|
var operators = {
|
|
4489
4586
|
'=': 'equal', '!=': 'notequal', '<': 'lessthan', '>': 'greaterthan', '<=': 'lessthanorequal',
|