@syncfusion/ej2-querybuilder 33.2.3 → 33.2.5
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 +42 -3
- package/dist/es6/ej2-querybuilder.es2015.js.map +1 -1
- package/dist/es6/ej2-querybuilder.es5.js +43 -3
- 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 +5 -5
- package/src/query-builder/query-builder.d.ts +3 -0
- package/src/query-builder/query-builder.js +45 -3
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.5
|
|
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.5",
|
|
4
4
|
"description": "Essential JS 2 QueryBuilder",
|
|
5
5
|
"author": "Syncfusion Inc.",
|
|
6
6
|
"license": "SEE LICENSE IN license",
|
|
@@ -9,10 +9,10 @@
|
|
|
9
9
|
"es2015": "./dist/es6/ej2-querybuilder.es5.js",
|
|
10
10
|
"dependencies": {
|
|
11
11
|
"@syncfusion/ej2-base": "~33.2.3",
|
|
12
|
-
"@syncfusion/ej2-buttons": "~33.2.
|
|
13
|
-
"@syncfusion/ej2-calendars": "~33.2.
|
|
14
|
-
"@syncfusion/ej2-dropdowns": "~33.2.
|
|
15
|
-
"@syncfusion/ej2-inputs": "~33.2.
|
|
12
|
+
"@syncfusion/ej2-buttons": "~33.2.5",
|
|
13
|
+
"@syncfusion/ej2-calendars": "~33.2.5",
|
|
14
|
+
"@syncfusion/ej2-dropdowns": "~33.2.5",
|
|
15
|
+
"@syncfusion/ej2-inputs": "~33.2.5",
|
|
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);
|
|
@@ -3432,7 +3438,9 @@ var QueryBuilder = /** @class */ (function (_super) {
|
|
|
3432
3438
|
var isTemplate = (typeof itemData.template === 'string');
|
|
3433
3439
|
if (rule.value && !isNullOrUndefined(format)) {
|
|
3434
3440
|
selVal = (length_1 > 1) ? rule.value[i] : rule.value;
|
|
3435
|
-
|
|
3441
|
+
if (selVal) {
|
|
3442
|
+
selectedValue = this.parseDate(selVal, format) || new Date();
|
|
3443
|
+
}
|
|
3436
3444
|
}
|
|
3437
3445
|
if (!isNullOrUndefined(itemData) && itemData.value && !isTemplate) {
|
|
3438
3446
|
var parsedDate = this.parseDate(itemData.value.toString(), itemData.format);
|
|
@@ -4989,6 +4997,11 @@ var QueryBuilder = /** @class */ (function (_super) {
|
|
|
4989
4997
|
groupRule = groupRule.properties;
|
|
4990
4998
|
}
|
|
4991
4999
|
var groupElem = closest(targetGroup, '.e-group-container');
|
|
5000
|
+
var cloneGroupElem = groupElem.cloneNode(true);
|
|
5001
|
+
var isRuleArea = false;
|
|
5002
|
+
if (closest(e.target, '.e-group-container') && closest(e.target, '.e-group-container').id === this.initialID + '_group0') {
|
|
5003
|
+
isRuleArea = true;
|
|
5004
|
+
}
|
|
4992
5005
|
var nestGrpElem = groupElem.querySelectorAll('.e-group-container');
|
|
4993
5006
|
nestGrpElem.forEach(function (ele) {
|
|
4994
5007
|
if (_this.element.querySelector('#' + ele.id)) {
|
|
@@ -5006,11 +5019,25 @@ var QueryBuilder = /** @class */ (function (_super) {
|
|
|
5006
5019
|
ruleIds.push(ruleElems[i].id.split(this.element.id + '_')[1]);
|
|
5007
5020
|
}
|
|
5008
5021
|
this.deleteRules(ruleIds);
|
|
5022
|
+
// Calculate index considering both groups and rules in the overall rules collection
|
|
5023
|
+
var overallDropIndex = 0;
|
|
5024
|
+
var ruleListElem = cloneGroupElem.querySelector('.e-rule-list');
|
|
5025
|
+
if (ruleListElem) {
|
|
5026
|
+
var droppedElement = void 0;
|
|
5027
|
+
for (var j = 0; j < ruleListElem.children.length; j++) {
|
|
5028
|
+
var child = ruleListElem.children[j];
|
|
5029
|
+
if (child.classList.contains('e-drag-rule-top-line') || child.classList.contains('e-drag-rule-bottom-line')) {
|
|
5030
|
+
droppedElement = child;
|
|
5031
|
+
overallDropIndex = j;
|
|
5032
|
+
break;
|
|
5033
|
+
}
|
|
5034
|
+
}
|
|
5035
|
+
}
|
|
5009
5036
|
if (targetGroup.classList.contains('e-drag-rule-top-line')) {
|
|
5010
|
-
groupRule.rules.splice(dropInd, 0, rule);
|
|
5037
|
+
groupRule.rules.splice(isRuleArea ? overallDropIndex : dropInd, 0, rule);
|
|
5011
5038
|
}
|
|
5012
5039
|
else {
|
|
5013
|
-
groupRule.rules.splice(dropInd + 1, 0, rule);
|
|
5040
|
+
groupRule.rules.splice(isRuleArea ? overallDropIndex + 1 : dropInd + 1, 0, rule);
|
|
5014
5041
|
}
|
|
5015
5042
|
groupRule.rules.forEach(function (rule) {
|
|
5016
5043
|
if (_this.enableSeparateConnector) {
|
|
@@ -5210,12 +5237,24 @@ var QueryBuilder = /** @class */ (function (_super) {
|
|
|
5210
5237
|
this.initWrapper();
|
|
5211
5238
|
this.wireEvents();
|
|
5212
5239
|
};
|
|
5240
|
+
QueryBuilder.prototype.scrollEventHandler = function (e) {
|
|
5241
|
+
var target = e.target;
|
|
5242
|
+
if (target && ((target.closest && target.closest('.e-popup')))) {
|
|
5243
|
+
this.isPopupScroll = true;
|
|
5244
|
+
}
|
|
5245
|
+
else {
|
|
5246
|
+
this.isPopupScroll = false;
|
|
5247
|
+
}
|
|
5248
|
+
};
|
|
5213
5249
|
QueryBuilder.prototype.wireEvents = function () {
|
|
5214
5250
|
var wrapper = this.getWrapper();
|
|
5215
5251
|
EventHandler.add(wrapper, 'click', this.clickEventHandler, this);
|
|
5216
5252
|
EventHandler.add(wrapper, 'focusout', this.focusEventHandler, this);
|
|
5217
5253
|
EventHandler.add(wrapper, 'focusin', this.focusEventHandler, this);
|
|
5218
5254
|
EventHandler.add(this.element, 'keydown', this.keyBoardHandler, this);
|
|
5255
|
+
this.boundScrollHandler = this.scrollEventHandler.bind(this);
|
|
5256
|
+
document.addEventListener('wheel', this.boundScrollHandler);
|
|
5257
|
+
document.addEventListener('scroll', this.boundScrollHandler);
|
|
5219
5258
|
if (this.allowDragAndDrop) {
|
|
5220
5259
|
EventHandler.add(document, 'keydown', this.keyBoardHandler, this);
|
|
5221
5260
|
}
|
|
@@ -5228,6 +5267,9 @@ var QueryBuilder = /** @class */ (function (_super) {
|
|
|
5228
5267
|
EventHandler.remove(wrapper, 'focusout', this.focusEventHandler);
|
|
5229
5268
|
EventHandler.remove(wrapper, 'focusin', this.focusEventHandler);
|
|
5230
5269
|
EventHandler.remove(this.element, 'keydown', this.keyBoardHandler);
|
|
5270
|
+
document.removeEventListener('wheel', this.boundScrollHandler);
|
|
5271
|
+
document.removeEventListener('scroll', this.boundScrollHandler);
|
|
5272
|
+
this.boundScrollHandler = null;
|
|
5231
5273
|
EventHandler.remove(document, 'keydown', this.keyBoardHandler);
|
|
5232
5274
|
if (this.boundResizeHandler) {
|
|
5233
5275
|
window.removeEventListener('resize', this.boundResizeHandler);
|