@syncfusion/ej2-querybuilder 29.2.4 → 29.2.8
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/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 +32 -6
- package/dist/es6/ej2-querybuilder.es2015.js.map +1 -1
- package/dist/es6/ej2-querybuilder.es5.js +32 -6
- 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 +12 -44
- package/src/query-builder/query-builder.d.ts +2 -0
- package/src/query-builder/query-builder.js +32 -6
package/dist/global/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* filename: index.d.ts
|
|
3
|
-
* version : 29.2.
|
|
3
|
+
* version : 29.2.8
|
|
4
4
|
* Copyright Syncfusion Inc. 2001 - 2024. All rights reserved.
|
|
5
5
|
* Use of this code is subject to the terms of our license.
|
|
6
6
|
* A copy of the current license can be obtained at any time by e-mailing
|
package/package.json
CHANGED
|
@@ -1,48 +1,21 @@
|
|
|
1
1
|
{
|
|
2
|
-
"
|
|
3
|
-
"
|
|
4
|
-
"
|
|
5
|
-
"
|
|
6
|
-
"
|
|
7
|
-
"
|
|
8
|
-
"
|
|
9
|
-
|
|
10
|
-
"registry": true,
|
|
11
|
-
"raw": "@syncfusion/ej2-querybuilder@*",
|
|
12
|
-
"name": "@syncfusion/ej2-querybuilder",
|
|
13
|
-
"escapedName": "@syncfusion%2fej2-querybuilder",
|
|
14
|
-
"scope": "@syncfusion",
|
|
15
|
-
"rawSpec": "*",
|
|
16
|
-
"saveSpec": null,
|
|
17
|
-
"fetchSpec": "*"
|
|
18
|
-
},
|
|
19
|
-
"_requiredBy": [
|
|
20
|
-
"/",
|
|
21
|
-
"/@syncfusion/ej2",
|
|
22
|
-
"/@syncfusion/ej2-angular-querybuilder",
|
|
23
|
-
"/@syncfusion/ej2-react-querybuilder",
|
|
24
|
-
"/@syncfusion/ej2-vue-querybuilder"
|
|
25
|
-
],
|
|
26
|
-
"_resolved": "https://nexus.syncfusioninternal.com/repository/ej2-hotfix-new/@syncfusion/ej2-querybuilder/-/ej2-querybuilder-29.1.39.tgz",
|
|
27
|
-
"_shasum": "37103c76afb3323801d32118c1b2dc2e4075e575",
|
|
28
|
-
"_spec": "@syncfusion/ej2-querybuilder@*",
|
|
29
|
-
"_where": "/jenkins/workspace/elease-automation_release_29.1.1/packages/included",
|
|
30
|
-
"author": {
|
|
31
|
-
"name": "Syncfusion Inc."
|
|
32
|
-
},
|
|
33
|
-
"bundleDependencies": false,
|
|
2
|
+
"name": "@syncfusion/ej2-querybuilder",
|
|
3
|
+
"version": "29.2.8",
|
|
4
|
+
"description": "Essential JS 2 QueryBuilder",
|
|
5
|
+
"author": "Syncfusion Inc.",
|
|
6
|
+
"license": "SEE LICENSE IN license",
|
|
7
|
+
"main": "./dist/ej2-querybuilder.umd.min.js",
|
|
8
|
+
"module": "./index.js",
|
|
9
|
+
"es2015": "./dist/es6/ej2-querybuilder.es5.js",
|
|
34
10
|
"dependencies": {
|
|
35
11
|
"@syncfusion/ej2-base": "~29.2.4",
|
|
36
|
-
"@syncfusion/ej2-buttons": "~29.2.
|
|
37
|
-
"@syncfusion/ej2-calendars": "~29.2.
|
|
38
|
-
"@syncfusion/ej2-dropdowns": "~29.2.
|
|
39
|
-
"@syncfusion/ej2-inputs": "~29.2.
|
|
12
|
+
"@syncfusion/ej2-buttons": "~29.2.5",
|
|
13
|
+
"@syncfusion/ej2-calendars": "~29.2.5",
|
|
14
|
+
"@syncfusion/ej2-dropdowns": "~29.2.8",
|
|
15
|
+
"@syncfusion/ej2-inputs": "~29.2.5",
|
|
40
16
|
"@syncfusion/ej2-splitbuttons": "~29.2.4"
|
|
41
17
|
},
|
|
42
|
-
"deprecated": false,
|
|
43
|
-
"description": "Essential JS 2 QueryBuilder",
|
|
44
18
|
"devDependencies": {},
|
|
45
|
-
"es2015": "./dist/es6/ej2-querybuilder.es5.js",
|
|
46
19
|
"keywords": [
|
|
47
20
|
"ej2",
|
|
48
21
|
"syncfusion",
|
|
@@ -57,16 +30,11 @@
|
|
|
57
30
|
"typescript query builder",
|
|
58
31
|
"syncfusion query builder"
|
|
59
32
|
],
|
|
60
|
-
"license": "SEE LICENSE IN license",
|
|
61
|
-
"main": "./dist/ej2-querybuilder.umd.min.js",
|
|
62
|
-
"module": "./index.js",
|
|
63
|
-
"name": "@syncfusion/ej2-querybuilder",
|
|
64
33
|
"repository": {
|
|
65
34
|
"type": "git",
|
|
66
35
|
"url": "https://github.com/syncfusion/ej2-javascript-ui-controls/tree/master/controls/querybuilder"
|
|
67
36
|
},
|
|
68
37
|
"typings": "index.d.ts",
|
|
69
|
-
"version": "29.2.4",
|
|
70
38
|
"sideEffects": false,
|
|
71
39
|
"homepage": "https://www.syncfusion.com/javascript-ui-controls"
|
|
72
40
|
}
|
|
@@ -347,6 +347,7 @@ export declare class QueryBuilder extends Component<HTMLDivElement> implements I
|
|
|
347
347
|
private prvtEvtTgrDaD;
|
|
348
348
|
private isDragEventPrevent;
|
|
349
349
|
private isValueEmpty;
|
|
350
|
+
private isPropChange;
|
|
350
351
|
private ddTree;
|
|
351
352
|
/**
|
|
352
353
|
* Triggers when the component is created.
|
|
@@ -768,6 +769,7 @@ export declare class QueryBuilder extends Component<HTMLDivElement> implements I
|
|
|
768
769
|
private deleteRuleSuccessCallBack;
|
|
769
770
|
private setGroupRules;
|
|
770
771
|
private keyBoardHandler;
|
|
772
|
+
private windowResizeHandler;
|
|
771
773
|
private clearQBTemplate;
|
|
772
774
|
private disableRuleCondition;
|
|
773
775
|
/**
|
|
@@ -218,6 +218,7 @@ var QueryBuilder = /** @class */ (function (_super) {
|
|
|
218
218
|
_this.isMiddleGroup = false;
|
|
219
219
|
_this.cloneRuleBtnClick = false;
|
|
220
220
|
_this.isValueEmpty = false;
|
|
221
|
+
_this.isPropChange = false;
|
|
221
222
|
MultiSelect.Inject(CheckBoxSelection);
|
|
222
223
|
return _this;
|
|
223
224
|
}
|
|
@@ -1743,14 +1744,14 @@ var QueryBuilder = /** @class */ (function (_super) {
|
|
|
1743
1744
|
else {
|
|
1744
1745
|
prevRule = this.getGroup(prevElem);
|
|
1745
1746
|
}
|
|
1746
|
-
if (isNullOrUndefined(prevRule.condition)) {
|
|
1747
|
+
if (!isNullOrUndefined(prevRule) && isNullOrUndefined(prevRule.condition)) {
|
|
1747
1748
|
prevRule.condition = 'and';
|
|
1748
1749
|
}
|
|
1749
1750
|
var orElem = elem.previousElementSibling.querySelector('.e-btngroup-or');
|
|
1750
1751
|
var andElem = elem.previousElementSibling.querySelector('.e-btngroup-and');
|
|
1751
1752
|
orElem.disabled = false;
|
|
1752
1753
|
andElem.disabled = false;
|
|
1753
|
-
if (prevRule.condition === 'or') {
|
|
1754
|
+
if (!isNullOrUndefined(prevRule) && prevRule.condition === 'or') {
|
|
1754
1755
|
orElem.checked = true;
|
|
1755
1756
|
}
|
|
1756
1757
|
else {
|
|
@@ -3956,8 +3957,8 @@ var QueryBuilder = /** @class */ (function (_super) {
|
|
|
3956
3957
|
else {
|
|
3957
3958
|
this.addGroupElement(false, this.element);
|
|
3958
3959
|
}
|
|
3959
|
-
if (Browser.isDevice || this.displayMode === 'Vertical') {
|
|
3960
|
-
if (Browser.isDevice) {
|
|
3960
|
+
if (Browser.isDevice || (window.innerWidth < 768 && !this.isPropChange) || this.displayMode === 'Vertical') {
|
|
3961
|
+
if (Browser.isDevice || window.innerWidth < 768) {
|
|
3961
3962
|
this.element.style.width = '100%';
|
|
3962
3963
|
this.element.classList.add('e-device');
|
|
3963
3964
|
}
|
|
@@ -4080,6 +4081,7 @@ var QueryBuilder = /** @class */ (function (_super) {
|
|
|
4080
4081
|
};
|
|
4081
4082
|
QueryBuilder.prototype.onPropertyChanged = function (newProp, oldProp) {
|
|
4082
4083
|
var properties = Object.keys(newProp);
|
|
4084
|
+
this.isPropChange = true;
|
|
4083
4085
|
var groupElem = this.element.querySelector('.e-group-container');
|
|
4084
4086
|
var summaryElem = this.element.querySelector('.e-summary-content');
|
|
4085
4087
|
for (var _i = 0, properties_1 = properties; _i < properties_1.length; _i++) {
|
|
@@ -4235,6 +4237,7 @@ var QueryBuilder = /** @class */ (function (_super) {
|
|
|
4235
4237
|
break;
|
|
4236
4238
|
}
|
|
4237
4239
|
}
|
|
4240
|
+
this.isPropChange = false;
|
|
4238
4241
|
};
|
|
4239
4242
|
QueryBuilder.prototype.preRender = function () {
|
|
4240
4243
|
this.element.id = this.element.id || getUniqueID('ej2-querybuilder');
|
|
@@ -4794,6 +4797,7 @@ var QueryBuilder = /** @class */ (function (_super) {
|
|
|
4794
4797
|
EventHandler.add(wrapper, 'focusin', this.focusEventHandler, this);
|
|
4795
4798
|
EventHandler.add(this.element, 'keydown', this.keyBoardHandler, this);
|
|
4796
4799
|
EventHandler.add(document, 'keydown', this.keyBoardHandler, this);
|
|
4800
|
+
window.addEventListener('resize', this.windowResizeHandler.bind(this));
|
|
4797
4801
|
};
|
|
4798
4802
|
QueryBuilder.prototype.unWireEvents = function () {
|
|
4799
4803
|
var wrapper = this.getWrapper();
|
|
@@ -4802,6 +4806,7 @@ var QueryBuilder = /** @class */ (function (_super) {
|
|
|
4802
4806
|
EventHandler.remove(wrapper, 'focusin', this.focusEventHandler);
|
|
4803
4807
|
EventHandler.remove(this.element, 'keydown', this.keyBoardHandler);
|
|
4804
4808
|
EventHandler.remove(document, 'keydown', this.keyBoardHandler);
|
|
4809
|
+
window.removeEventListener('resize', this.windowResizeHandler);
|
|
4805
4810
|
};
|
|
4806
4811
|
QueryBuilder.prototype.getParentGroup = function (target, isParent) {
|
|
4807
4812
|
var groupLevel = (target instanceof Element) ? this.levelColl[target.id] : this.levelColl["" + target];
|
|
@@ -5067,6 +5072,14 @@ var QueryBuilder = /** @class */ (function (_super) {
|
|
|
5067
5072
|
}
|
|
5068
5073
|
}
|
|
5069
5074
|
};
|
|
5075
|
+
QueryBuilder.prototype.windowResizeHandler = function () {
|
|
5076
|
+
if (Browser.isDevice || window.innerWidth < 768) {
|
|
5077
|
+
this.displayMode = 'Vertical';
|
|
5078
|
+
}
|
|
5079
|
+
else {
|
|
5080
|
+
this.displayMode = 'Horizontal';
|
|
5081
|
+
}
|
|
5082
|
+
};
|
|
5070
5083
|
QueryBuilder.prototype.clearQBTemplate = function (ruleElemColl) {
|
|
5071
5084
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
5072
5085
|
if (this.isReact || this.isAngular) {
|
|
@@ -5893,6 +5906,13 @@ var QueryBuilder = /** @class */ (function (_super) {
|
|
|
5893
5906
|
parentElem = this.renderGroup(ruleColl[i], ruleColl[i].condition, parentElem, ruleColl[i].not);
|
|
5894
5907
|
parentElem = this.importRules(ruleColl[i], parentElem, true);
|
|
5895
5908
|
}
|
|
5909
|
+
else if (!isNullOrUndefined(ruleColl[i].rules)) {
|
|
5910
|
+
parentElem = this.renderGroup(ruleColl[i], ruleColl[i].condition, parentElem, ruleColl[i].not);
|
|
5911
|
+
var andElem = parentElem.querySelector('.e-btngroup-and');
|
|
5912
|
+
var orElem = parentElem.querySelector('.e-btngroup-or');
|
|
5913
|
+
andElem.disabled = true;
|
|
5914
|
+
orElem.disabled = true;
|
|
5915
|
+
}
|
|
5896
5916
|
else {
|
|
5897
5917
|
this.renderRule(ruleColl[i], parentElem);
|
|
5898
5918
|
}
|
|
@@ -6787,8 +6807,14 @@ var QueryBuilder = /** @class */ (function (_super) {
|
|
|
6787
6807
|
rule.type = this.getTypeFromColumn(rule);
|
|
6788
6808
|
}
|
|
6789
6809
|
else {
|
|
6790
|
-
|
|
6791
|
-
|
|
6810
|
+
if (parser.length === 3 && parser[2][0] === 'String' && (parser[2][1]).indexOf('%') !== -1) {
|
|
6811
|
+
var oper = parser[i + 2][1] ? parser[i + 2][1].replace(/'/g, '') : parser[i + 2][1];
|
|
6812
|
+
rule.operator = this.getOperator(oper, parser[i + 1][1], sqlLocale);
|
|
6813
|
+
}
|
|
6814
|
+
else {
|
|
6815
|
+
var oper = parser[i + 3][1] ? parser[i + 3][1].replace(/'/g, '') : parser[i + 3][1];
|
|
6816
|
+
rule.operator = this.getOperator(oper, parser[i + 1][1], sqlLocale);
|
|
6817
|
+
}
|
|
6792
6818
|
}
|
|
6793
6819
|
operator = parser[i + 1][1];
|
|
6794
6820
|
i++;
|