@syncfusion/ej2-querybuilder 33.2.3 → 33.2.4
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 +39 -2
- package/dist/es6/ej2-querybuilder.es2015.js.map +1 -1
- package/dist/es6/ej2-querybuilder.es5.js +40 -2
- 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 +4 -4
- package/src/query-builder/query-builder.d.ts +3 -0
- package/src/query-builder/query-builder.js +42 -2
package/dist/global/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* filename: index.d.ts
|
|
3
|
-
* version : 33.2.
|
|
3
|
+
* version : 33.2.4
|
|
4
4
|
* Copyright Syncfusion Inc. 2001 - 2025. 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,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@syncfusion/ej2-querybuilder",
|
|
3
|
-
"version": "33.2.
|
|
3
|
+
"version": "33.2.4",
|
|
4
4
|
"description": "Essential JS 2 QueryBuilder",
|
|
5
5
|
"author": "Syncfusion Inc.",
|
|
6
6
|
"license": "SEE LICENSE IN license",
|
|
@@ -10,9 +10,9 @@
|
|
|
10
10
|
"dependencies": {
|
|
11
11
|
"@syncfusion/ej2-base": "~33.2.3",
|
|
12
12
|
"@syncfusion/ej2-buttons": "~33.2.3",
|
|
13
|
-
"@syncfusion/ej2-calendars": "~33.2.
|
|
14
|
-
"@syncfusion/ej2-dropdowns": "~33.2.
|
|
15
|
-
"@syncfusion/ej2-inputs": "~33.2.
|
|
13
|
+
"@syncfusion/ej2-calendars": "~33.2.4",
|
|
14
|
+
"@syncfusion/ej2-dropdowns": "~33.2.4",
|
|
15
|
+
"@syncfusion/ej2-inputs": "~33.2.4",
|
|
16
16
|
"@syncfusion/ej2-splitbuttons": "~33.2.3"
|
|
17
17
|
},
|
|
18
18
|
"devDependencies": {},
|
|
@@ -355,6 +355,8 @@ export declare class QueryBuilder extends Component<HTMLDivElement> implements I
|
|
|
355
355
|
private initialID;
|
|
356
356
|
private ddTree;
|
|
357
357
|
private boundResizeHandler;
|
|
358
|
+
private isPopupScroll;
|
|
359
|
+
private boundScrollHandler;
|
|
358
360
|
/**
|
|
359
361
|
* Triggers when the component is created.
|
|
360
362
|
*
|
|
@@ -776,6 +778,7 @@ export declare class QueryBuilder extends Component<HTMLDivElement> implements I
|
|
|
776
778
|
private templateParser;
|
|
777
779
|
private executeDataManager;
|
|
778
780
|
private initControl;
|
|
781
|
+
private scrollEventHandler;
|
|
779
782
|
protected wireEvents(): void;
|
|
780
783
|
protected unWireEvents(): void;
|
|
781
784
|
private getParentGroup;
|
|
@@ -222,6 +222,7 @@ var QueryBuilder = /** @class */ (function (_super) {
|
|
|
222
222
|
_this.isRuleClicked = false;
|
|
223
223
|
_this.groupCloned = false;
|
|
224
224
|
_this.isRequestSent = false;
|
|
225
|
+
_this.isPopupScroll = false;
|
|
225
226
|
MultiSelect.Inject(CheckBoxSelection);
|
|
226
227
|
return _this;
|
|
227
228
|
}
|
|
@@ -1358,6 +1359,7 @@ var QueryBuilder = /** @class */ (function (_super) {
|
|
|
1358
1359
|
}
|
|
1359
1360
|
};
|
|
1360
1361
|
QueryBuilder.prototype.renderToolTip = function (element) {
|
|
1362
|
+
var _this = this;
|
|
1361
1363
|
var tooltip = new Tooltip({
|
|
1362
1364
|
content: this.l10n.getConstant('ValidationMessage'),
|
|
1363
1365
|
position: 'BottomCenter', cssClass: 'e-querybuilder-error', afterClose: function () {
|
|
@@ -1367,6 +1369,10 @@ var QueryBuilder = /** @class */ (function (_super) {
|
|
|
1367
1369
|
if (tooltipCloseElement) {
|
|
1368
1370
|
tooltipCloseElement.style.display = 'none';
|
|
1369
1371
|
}
|
|
1372
|
+
}, beforeClose: function (args) {
|
|
1373
|
+
if (_this.isPopupScroll) {
|
|
1374
|
+
args.cancel = true;
|
|
1375
|
+
}
|
|
1370
1376
|
}
|
|
1371
1377
|
});
|
|
1372
1378
|
tooltip.appendTo(element);
|
|
@@ -4989,6 +4995,11 @@ var QueryBuilder = /** @class */ (function (_super) {
|
|
|
4989
4995
|
groupRule = groupRule.properties;
|
|
4990
4996
|
}
|
|
4991
4997
|
var groupElem = closest(targetGroup, '.e-group-container');
|
|
4998
|
+
var cloneGroupElem = groupElem.cloneNode(true);
|
|
4999
|
+
var isRuleArea = false;
|
|
5000
|
+
if (closest(e.target, '.e-group-container') && closest(e.target, '.e-group-container').id === this.initialID + '_group0') {
|
|
5001
|
+
isRuleArea = true;
|
|
5002
|
+
}
|
|
4992
5003
|
var nestGrpElem = groupElem.querySelectorAll('.e-group-container');
|
|
4993
5004
|
nestGrpElem.forEach(function (ele) {
|
|
4994
5005
|
if (_this.element.querySelector('#' + ele.id)) {
|
|
@@ -5006,11 +5017,25 @@ var QueryBuilder = /** @class */ (function (_super) {
|
|
|
5006
5017
|
ruleIds.push(ruleElems[i].id.split(this.element.id + '_')[1]);
|
|
5007
5018
|
}
|
|
5008
5019
|
this.deleteRules(ruleIds);
|
|
5020
|
+
// Calculate index considering both groups and rules in the overall rules collection
|
|
5021
|
+
var overallDropIndex = 0;
|
|
5022
|
+
var ruleListElem = cloneGroupElem.querySelector('.e-rule-list');
|
|
5023
|
+
if (ruleListElem) {
|
|
5024
|
+
var droppedElement = void 0;
|
|
5025
|
+
for (var j = 0; j < ruleListElem.children.length; j++) {
|
|
5026
|
+
var child = ruleListElem.children[j];
|
|
5027
|
+
if (child.classList.contains('e-drag-rule-top-line') || child.classList.contains('e-drag-rule-bottom-line')) {
|
|
5028
|
+
droppedElement = child;
|
|
5029
|
+
overallDropIndex = j;
|
|
5030
|
+
break;
|
|
5031
|
+
}
|
|
5032
|
+
}
|
|
5033
|
+
}
|
|
5009
5034
|
if (targetGroup.classList.contains('e-drag-rule-top-line')) {
|
|
5010
|
-
groupRule.rules.splice(dropInd, 0, rule);
|
|
5035
|
+
groupRule.rules.splice(isRuleArea ? overallDropIndex : dropInd, 0, rule);
|
|
5011
5036
|
}
|
|
5012
5037
|
else {
|
|
5013
|
-
groupRule.rules.splice(dropInd + 1, 0, rule);
|
|
5038
|
+
groupRule.rules.splice(isRuleArea ? overallDropIndex + 1 : dropInd + 1, 0, rule);
|
|
5014
5039
|
}
|
|
5015
5040
|
groupRule.rules.forEach(function (rule) {
|
|
5016
5041
|
if (_this.enableSeparateConnector) {
|
|
@@ -5210,12 +5235,24 @@ var QueryBuilder = /** @class */ (function (_super) {
|
|
|
5210
5235
|
this.initWrapper();
|
|
5211
5236
|
this.wireEvents();
|
|
5212
5237
|
};
|
|
5238
|
+
QueryBuilder.prototype.scrollEventHandler = function (e) {
|
|
5239
|
+
var target = e.target;
|
|
5240
|
+
if (target && ((target.closest && target.closest('.e-popup')))) {
|
|
5241
|
+
this.isPopupScroll = true;
|
|
5242
|
+
}
|
|
5243
|
+
else {
|
|
5244
|
+
this.isPopupScroll = false;
|
|
5245
|
+
}
|
|
5246
|
+
};
|
|
5213
5247
|
QueryBuilder.prototype.wireEvents = function () {
|
|
5214
5248
|
var wrapper = this.getWrapper();
|
|
5215
5249
|
EventHandler.add(wrapper, 'click', this.clickEventHandler, this);
|
|
5216
5250
|
EventHandler.add(wrapper, 'focusout', this.focusEventHandler, this);
|
|
5217
5251
|
EventHandler.add(wrapper, 'focusin', this.focusEventHandler, this);
|
|
5218
5252
|
EventHandler.add(this.element, 'keydown', this.keyBoardHandler, this);
|
|
5253
|
+
this.boundScrollHandler = this.scrollEventHandler.bind(this);
|
|
5254
|
+
document.addEventListener('wheel', this.boundScrollHandler);
|
|
5255
|
+
document.addEventListener('scroll', this.boundScrollHandler);
|
|
5219
5256
|
if (this.allowDragAndDrop) {
|
|
5220
5257
|
EventHandler.add(document, 'keydown', this.keyBoardHandler, this);
|
|
5221
5258
|
}
|
|
@@ -5228,6 +5265,9 @@ var QueryBuilder = /** @class */ (function (_super) {
|
|
|
5228
5265
|
EventHandler.remove(wrapper, 'focusout', this.focusEventHandler);
|
|
5229
5266
|
EventHandler.remove(wrapper, 'focusin', this.focusEventHandler);
|
|
5230
5267
|
EventHandler.remove(this.element, 'keydown', this.keyBoardHandler);
|
|
5268
|
+
document.removeEventListener('wheel', this.boundScrollHandler);
|
|
5269
|
+
document.removeEventListener('scroll', this.boundScrollHandler);
|
|
5270
|
+
this.boundScrollHandler = null;
|
|
5231
5271
|
EventHandler.remove(document, 'keydown', this.keyBoardHandler);
|
|
5232
5272
|
if (this.boundResizeHandler) {
|
|
5233
5273
|
window.removeEventListener('resize', this.boundResizeHandler);
|