@syncfusion/ej2-querybuilder 20.1.47 → 20.1.55
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/CHANGELOG.md +23 -0
- 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 +78 -25
- package/dist/es6/ej2-querybuilder.es2015.js.map +1 -1
- package/dist/es6/ej2-querybuilder.es5.js +74 -21
- 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 +11 -11
- package/src/query-builder/query-builder.d.ts +2 -0
- package/src/query-builder/query-builder.js +74 -21
- package/styles/fluent-dark.css +0 -14
- package/styles/fluent.css +0 -14
- package/styles/query-builder/fluent-dark.css +0 -14
- package/styles/query-builder/fluent.css +0 -14
|
@@ -329,7 +329,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
329
329
|
};
|
|
330
330
|
QueryBuilder.prototype.updateSubFieldsFromColumns = function (col, field) {
|
|
331
331
|
for (var i = 0; i < col.length; i++) {
|
|
332
|
-
if (this.separator
|
|
332
|
+
if (this.separator !== '' && col[i].field.indexOf(this.separator) < 0) {
|
|
333
333
|
col[i].field = field ? field + this.separator + col[i].field : col[i].field;
|
|
334
334
|
}
|
|
335
335
|
if (col[i].operators) {
|
|
@@ -556,6 +556,9 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
556
556
|
var template = void 0;
|
|
557
557
|
args.fields = this.fields;
|
|
558
558
|
args.columns = this.columns;
|
|
559
|
+
if (rule.field === '') {
|
|
560
|
+
rule.field = column.field;
|
|
561
|
+
}
|
|
559
562
|
args.operators = this.getOperators(rule.field);
|
|
560
563
|
args.operatorFields = { text: 'key', value: 'value' };
|
|
561
564
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
@@ -680,7 +683,6 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
680
683
|
}
|
|
681
684
|
}
|
|
682
685
|
else {
|
|
683
|
-
var dropdowntree = void 0;
|
|
684
686
|
var ddlField = void 0;
|
|
685
687
|
var ddlValue = this.isImportRules ? rule.field : rule.field;
|
|
686
688
|
ddlField = {
|
|
@@ -694,11 +696,13 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
694
696
|
if (this.fieldModel) {
|
|
695
697
|
ddlField = __assign({}, ddlField, this.fieldModel);
|
|
696
698
|
}
|
|
697
|
-
dropdowntree = new DropDownTree(ddlField);
|
|
699
|
+
var dropdowntree = new DropDownTree(ddlField);
|
|
698
700
|
dropdowntree.appendTo('#' + ruleElem.id + '_filterkey');
|
|
699
701
|
if (!isNullOrUndefined(dropdowntree.value)) {
|
|
700
|
-
|
|
702
|
+
var value = this.getLabelFromColumn(dropdowntree.value[0]);
|
|
703
|
+
dropdowntree.element.value = value;
|
|
701
704
|
}
|
|
705
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
702
706
|
var ddlVal = this.isImportRules ?
|
|
703
707
|
this.GetRootColumnName(rule.field) : dropdowntree.value;
|
|
704
708
|
this.selectedColumn = this.getColumn(ddlVal);
|
|
@@ -733,17 +737,20 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
733
737
|
else {
|
|
734
738
|
groupElem = closest(target, '.e-group-container');
|
|
735
739
|
rules = this.getParentGroup(groupElem);
|
|
740
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
736
741
|
var custom = rule.custom;
|
|
737
742
|
if (Object.keys(rule).length) {
|
|
738
743
|
rules.rules.push({
|
|
739
744
|
'field': rule.field, 'type': rule.type, 'label': rule.label, 'operator': rule.operator, value: rule.value
|
|
740
745
|
});
|
|
741
746
|
if (custom) {
|
|
747
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
742
748
|
rules.rules[rules.rules.length - 1].custom = custom;
|
|
743
749
|
}
|
|
744
750
|
}
|
|
745
751
|
else {
|
|
746
752
|
if (custom) {
|
|
753
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
747
754
|
newRule.custom = custom;
|
|
748
755
|
}
|
|
749
756
|
rules.rules.push(newRule);
|
|
@@ -810,17 +817,17 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
810
817
|
}
|
|
811
818
|
}
|
|
812
819
|
else {
|
|
813
|
-
dropDownObj = getComponent(ruleElemCln[i].querySelector('.e-rule-field
|
|
820
|
+
dropDownObj = getComponent(ruleElemCln[i].querySelector('.e-rule-field .e-control'), 'dropdownlist');
|
|
814
821
|
this.selectedColumn = dropDownObj.getDataByValue(dropDownObj.value);
|
|
815
822
|
validateRule = !isNullOrUndefined(dropDownObj.index) && this.selectedColumn.validation;
|
|
816
823
|
}
|
|
817
|
-
fieldElem = tempElem.querySelector('.e-rule-field
|
|
824
|
+
fieldElem = tempElem.querySelector('.e-rule-field .e-control');
|
|
818
825
|
if (validateRule && validateRule.isRequired) {
|
|
819
826
|
while (indexElem && indexElem.previousElementSibling !== null) {
|
|
820
827
|
indexElem = indexElem.previousElementSibling;
|
|
821
828
|
index++;
|
|
822
829
|
}
|
|
823
|
-
fieldElem = tempElem.querySelector('.e-rule-operator
|
|
830
|
+
fieldElem = tempElem.querySelector('.e-rule-operator .e-control');
|
|
824
831
|
if (!rule.rules[index].operator) {
|
|
825
832
|
if (fieldElem.parentElement.className.indexOf('e-tooltip') < 0) {
|
|
826
833
|
this.renderToolTip(fieldElem.parentElement);
|
|
@@ -833,7 +840,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
833
840
|
if (excludeOprs.indexOf(rule.rules[index].operator) < 0 && (isNullOrUndefined(rule.rules[index].value) &&
|
|
834
841
|
rule.rules[index].type !== 'date') || rule.rules[index].value === '' ||
|
|
835
842
|
(rule.rules[index].value instanceof Array && valArray.length < 1)) {
|
|
836
|
-
var valElem = tempElem.querySelectorAll('.e-rule-value
|
|
843
|
+
var valElem = tempElem.querySelectorAll('.e-rule-value .e-control');
|
|
837
844
|
isValid = false;
|
|
838
845
|
for (var j = 0, jLen = valElem.length; j < jLen; j++) {
|
|
839
846
|
var element = valElem[j];
|
|
@@ -1358,7 +1365,8 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
1358
1365
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
1359
1366
|
ddt.value = args.value[0];
|
|
1360
1367
|
ddt.dataBind();
|
|
1361
|
-
|
|
1368
|
+
var result = this.getLabelFromColumn(args.value[0]);
|
|
1369
|
+
ddtElem.value = result;
|
|
1362
1370
|
}
|
|
1363
1371
|
}
|
|
1364
1372
|
}
|
|
@@ -1388,7 +1396,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
1388
1396
|
};
|
|
1389
1397
|
QueryBuilder.prototype.changeRule = function (rule, ddlArgs) {
|
|
1390
1398
|
if (!ddlArgs.itemData) {
|
|
1391
|
-
if (this.fieldMode ===
|
|
1399
|
+
if (this.fieldMode === 'DropdownTree') {
|
|
1392
1400
|
var ddt = getComponent(ddlArgs.element, 'dropdowntree');
|
|
1393
1401
|
if (ddt.value == null) {
|
|
1394
1402
|
return;
|
|
@@ -1412,6 +1420,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
1412
1420
|
QueryBuilder.prototype.changeFilter = function (flt, dl, grID, rl, tmpRl, dArg) {
|
|
1413
1421
|
var _this = this;
|
|
1414
1422
|
if (flt) {
|
|
1423
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
1415
1424
|
var ddlValue = void 0;
|
|
1416
1425
|
if (this.fieldMode === 'DropdownTree') {
|
|
1417
1426
|
ddlValue = (dl.value[0]);
|
|
@@ -1438,7 +1447,9 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
1438
1447
|
this.changeOperator(flt, operatorElem, dl, grID, rl, tmpRl, dArg);
|
|
1439
1448
|
}
|
|
1440
1449
|
};
|
|
1441
|
-
QueryBuilder.prototype.changeOperator = function (
|
|
1450
|
+
QueryBuilder.prototype.changeOperator = function (
|
|
1451
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
1452
|
+
flt, opr, dl, grID, rl, tmpRl, dArg) {
|
|
1442
1453
|
var _this = this;
|
|
1443
1454
|
var ruleElem;
|
|
1444
1455
|
var ruleID;
|
|
@@ -1820,7 +1831,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
1820
1831
|
var original = {};
|
|
1821
1832
|
var result = [];
|
|
1822
1833
|
var nest = [];
|
|
1823
|
-
var value =
|
|
1834
|
+
var value = '';
|
|
1824
1835
|
var isNested = field.indexOf(this.separator);
|
|
1825
1836
|
var _loop_2 = function (i, iLen) {
|
|
1826
1837
|
if (isNested === 0) {
|
|
@@ -1828,6 +1839,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
1828
1839
|
}
|
|
1829
1840
|
else {
|
|
1830
1841
|
nest = field.split(this_2.separator);
|
|
1842
|
+
// eslint-disable-next-line @typescript-eslint/tslint/config
|
|
1831
1843
|
nest.forEach(function (element) {
|
|
1832
1844
|
if (value) {
|
|
1833
1845
|
value = value[element];
|
|
@@ -1841,7 +1853,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
1841
1853
|
value = dataSource[i][field].toString();
|
|
1842
1854
|
}
|
|
1843
1855
|
var data = {};
|
|
1844
|
-
if (!(value in original)
|
|
1856
|
+
if (!(value in original)) {
|
|
1845
1857
|
original[value] = 1;
|
|
1846
1858
|
if (isNested === 0) {
|
|
1847
1859
|
data[field] = value;
|
|
@@ -1875,7 +1887,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
1875
1887
|
}
|
|
1876
1888
|
var fieldValue = this.selectedRule.field;
|
|
1877
1889
|
var isNested = this.selectedRule.field.indexOf(this.separator);
|
|
1878
|
-
if (isNested !== 0 && this.fieldMode !==
|
|
1890
|
+
if (isNested !== 0 && this.fieldMode !== 'DropdownTree') {
|
|
1879
1891
|
var nest = this.selectedRule.field.split(this.separator);
|
|
1880
1892
|
fieldValue = nest[nest.length - 1];
|
|
1881
1893
|
}
|
|
@@ -1987,10 +1999,10 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
1987
1999
|
};
|
|
1988
2000
|
QueryBuilder.prototype.getItemData = function (parentId) {
|
|
1989
2001
|
var fieldObj = getComponent(document.getElementById(parentId + '_filterkey'), 'dropdownlist');
|
|
1990
|
-
if (this.fieldMode ===
|
|
2002
|
+
if (this.fieldMode === 'DropdownTree') {
|
|
1991
2003
|
fieldObj = getComponent(document.getElementById(parentId + '_filterkey'), 'dropdowntree');
|
|
1992
2004
|
}
|
|
1993
|
-
return this.fieldMode ===
|
|
2005
|
+
return this.fieldMode === 'DropdownTree' ? this.getColumn(fieldObj.value[0]) : this.getColumn(fieldObj.value);
|
|
1994
2006
|
};
|
|
1995
2007
|
QueryBuilder.prototype.setDefaultValue = function (parentId, isArryValue, isNumber) {
|
|
1996
2008
|
var itemData = this.getItemData(parentId);
|
|
@@ -2321,6 +2333,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
2321
2333
|
};
|
|
2322
2334
|
QueryBuilder.prototype.getPreviousItemData = function (prevItemData, column) {
|
|
2323
2335
|
if (this.isFieldClose && prevItemData) {
|
|
2336
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
2324
2337
|
prevItemData = this.getColumn(prevItemData.value);
|
|
2325
2338
|
}
|
|
2326
2339
|
if (column.template && prevItemData && Object.keys(prevItemData).length < 4) {
|
|
@@ -2334,6 +2347,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
2334
2347
|
var filtObj = this.fieldMode === 'DropdownTree' ? getComponent(filtElem, 'dropdowntree')
|
|
2335
2348
|
: getComponent(filtElem, 'dropdownlist');
|
|
2336
2349
|
var column = this.fieldMode === 'DropdownTree' ? this.getColumn(filtObj.value[0])
|
|
2350
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
2337
2351
|
: this.getColumn(filtObj.value);
|
|
2338
2352
|
this.selectedRule = column;
|
|
2339
2353
|
if (isRender) {
|
|
@@ -2578,7 +2592,9 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
2578
2592
|
}
|
|
2579
2593
|
dropDownObj = this.fieldMode === 'DropdownTree' ? getComponent(target, 'dropdowntree') :
|
|
2580
2594
|
getComponent(target, 'dropdownlist');
|
|
2595
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
2581
2596
|
var column = this.fieldMode === 'DropdownTree' ? this.getColumn(dropDownObj.value[0])
|
|
2597
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
2582
2598
|
: this.getColumn(dropDownObj.value);
|
|
2583
2599
|
if (!this.isImportRules && rule.rules[index].field && rule.rules[index].field.toLowerCase() !== column.field.toLowerCase()) {
|
|
2584
2600
|
if (!(ruleElem.querySelectorAll('.e-template')) && !(operator.indexOf('null') > -1)
|
|
@@ -3515,11 +3531,18 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
3515
3531
|
}
|
|
3516
3532
|
}
|
|
3517
3533
|
var isTemplateRendered = clnruleElem.querySelector('.e-template-value');
|
|
3534
|
+
// eslint-disable
|
|
3518
3535
|
try {
|
|
3519
3536
|
detach(clnruleElem);
|
|
3520
3537
|
}
|
|
3521
3538
|
catch (err) {
|
|
3539
|
+
// eslint-disable-next-line no-ex-assign
|
|
3540
|
+
err = [];
|
|
3541
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
3542
|
+
var error = 'error';
|
|
3543
|
+
err[error] = error;
|
|
3522
3544
|
}
|
|
3545
|
+
// eslint-enable
|
|
3523
3546
|
if (column && column.ruleTemplate) {
|
|
3524
3547
|
this.clearQBTemplate([clnruleElem.id]);
|
|
3525
3548
|
}
|
|
@@ -3929,8 +3952,8 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
3929
3952
|
}
|
|
3930
3953
|
}
|
|
3931
3954
|
if (this.dataSource instanceof DataManager) {
|
|
3932
|
-
if (!isNullOrUndefined(pred) && (pred.operator ===
|
|
3933
|
-
pred.operator = pred.operator ===
|
|
3955
|
+
if (!isNullOrUndefined(pred) && (pred.operator === 'isnull' || pred.operator === 'notnull')) {
|
|
3956
|
+
pred.operator = pred.operator === 'isnull' ? 'equal' : 'notequal';
|
|
3934
3957
|
}
|
|
3935
3958
|
}
|
|
3936
3959
|
return pred;
|
|
@@ -4193,7 +4216,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
4193
4216
|
}
|
|
4194
4217
|
}
|
|
4195
4218
|
}
|
|
4196
|
-
if (rule.rules.length === 0) {
|
|
4219
|
+
if (rule.rules.length === 0 && this.headerTemplate) {
|
|
4197
4220
|
rule.rules[0] = { 'label': '', 'field': '', 'operator': '', 'type': '', 'value': '' };
|
|
4198
4221
|
}
|
|
4199
4222
|
var ruleColl = rule.rules;
|
|
@@ -4437,7 +4460,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
4437
4460
|
}
|
|
4438
4461
|
queryStr += rule.field + ' ' + this.operators[rule.operator] + ' ' + valueStr;
|
|
4439
4462
|
}
|
|
4440
|
-
if (rule.condition && rule.condition
|
|
4463
|
+
if (rule.condition && rule.condition !== '') {
|
|
4441
4464
|
condition = rule.condition;
|
|
4442
4465
|
}
|
|
4443
4466
|
}
|
|
@@ -4578,7 +4601,6 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
4578
4601
|
this.parser.push(['Literal', matchValue]);
|
|
4579
4602
|
return matchValue.length + 2;
|
|
4580
4603
|
}
|
|
4581
|
-
// eslint-disable-next-line
|
|
4582
4604
|
if (this.checkNumberLiteral(sqlString)) {
|
|
4583
4605
|
matchValue = /^[0-9]+(\.[0-9]+)?/.exec(sqlString)[0];
|
|
4584
4606
|
this.parser.push(['Literal', matchValue]);
|
|
@@ -4673,6 +4695,37 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
4673
4695
|
var columnData = this.getColumn(rules.field);
|
|
4674
4696
|
return columnData.type;
|
|
4675
4697
|
};
|
|
4698
|
+
QueryBuilder.prototype.getLabelFromColumn = function (field) {
|
|
4699
|
+
var label = '';
|
|
4700
|
+
var l = 0;
|
|
4701
|
+
if (this.separator !== '') {
|
|
4702
|
+
var fieldColl = field.split(this.separator);
|
|
4703
|
+
for (var i = 0; i < fieldColl.length; i++) {
|
|
4704
|
+
label += this.getLabelFromField(fieldColl, i + 1);
|
|
4705
|
+
l++;
|
|
4706
|
+
if (l < fieldColl.length) {
|
|
4707
|
+
label += this.separator;
|
|
4708
|
+
}
|
|
4709
|
+
}
|
|
4710
|
+
return label;
|
|
4711
|
+
}
|
|
4712
|
+
else {
|
|
4713
|
+
var labelItem = this.getColumn(field).label;
|
|
4714
|
+
return labelItem;
|
|
4715
|
+
}
|
|
4716
|
+
};
|
|
4717
|
+
QueryBuilder.prototype.getLabelFromField = function (field, startIdx) {
|
|
4718
|
+
var fieldName = '';
|
|
4719
|
+
var j = 0;
|
|
4720
|
+
for (var k = 0; k < startIdx; k++) {
|
|
4721
|
+
fieldName += field[k];
|
|
4722
|
+
j++;
|
|
4723
|
+
if (j < startIdx) {
|
|
4724
|
+
fieldName += this.separator;
|
|
4725
|
+
}
|
|
4726
|
+
}
|
|
4727
|
+
return this.getColumn(fieldName).label;
|
|
4728
|
+
};
|
|
4676
4729
|
QueryBuilder.prototype.processParser = function (parser, rules, levelColl) {
|
|
4677
4730
|
var j;
|
|
4678
4731
|
var jLen;
|