@syncfusion/ej2-querybuilder 33.1.49 → 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 +7 -7
- package/src/query-builder/query-builder.d.ts +3 -0
- package/src/query-builder/query-builder.js +42 -2
|
@@ -209,6 +209,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
209
209
|
_this.isRuleClicked = false;
|
|
210
210
|
_this.groupCloned = false;
|
|
211
211
|
_this.isRequestSent = false;
|
|
212
|
+
_this.isPopupScroll = false;
|
|
212
213
|
MultiSelect.Inject(CheckBoxSelection);
|
|
213
214
|
return _this;
|
|
214
215
|
}
|
|
@@ -1344,6 +1345,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
1344
1345
|
}
|
|
1345
1346
|
};
|
|
1346
1347
|
QueryBuilder.prototype.renderToolTip = function (element) {
|
|
1348
|
+
var _this = this;
|
|
1347
1349
|
var tooltip = new Tooltip({
|
|
1348
1350
|
content: this.l10n.getConstant('ValidationMessage'),
|
|
1349
1351
|
position: 'BottomCenter', cssClass: 'e-querybuilder-error', afterClose: function () {
|
|
@@ -1353,6 +1355,10 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
1353
1355
|
if (tooltipCloseElement) {
|
|
1354
1356
|
tooltipCloseElement.style.display = 'none';
|
|
1355
1357
|
}
|
|
1358
|
+
}, beforeClose: function (args) {
|
|
1359
|
+
if (_this.isPopupScroll) {
|
|
1360
|
+
args.cancel = true;
|
|
1361
|
+
}
|
|
1356
1362
|
}
|
|
1357
1363
|
});
|
|
1358
1364
|
tooltip.appendTo(element);
|
|
@@ -4975,6 +4981,11 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
4975
4981
|
groupRule = groupRule.properties;
|
|
4976
4982
|
}
|
|
4977
4983
|
var groupElem = closest(targetGroup, '.e-group-container');
|
|
4984
|
+
var cloneGroupElem = groupElem.cloneNode(true);
|
|
4985
|
+
var isRuleArea = false;
|
|
4986
|
+
if (closest(e.target, '.e-group-container') && closest(e.target, '.e-group-container').id === this.initialID + '_group0') {
|
|
4987
|
+
isRuleArea = true;
|
|
4988
|
+
}
|
|
4978
4989
|
var nestGrpElem = groupElem.querySelectorAll('.e-group-container');
|
|
4979
4990
|
nestGrpElem.forEach(function (ele) {
|
|
4980
4991
|
if (_this.element.querySelector('#' + ele.id)) {
|
|
@@ -4992,11 +5003,23 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
4992
5003
|
ruleIds.push(ruleElems[i].id.split(this.element.id + '_')[1]);
|
|
4993
5004
|
}
|
|
4994
5005
|
this.deleteRules(ruleIds);
|
|
5006
|
+
// Calculate index considering both groups and rules in the overall rules collection
|
|
5007
|
+
var overallDropIndex = 0;
|
|
5008
|
+
var ruleListElem = cloneGroupElem.querySelector('.e-rule-list');
|
|
5009
|
+
if (ruleListElem) {
|
|
5010
|
+
for (var j = 0; j < ruleListElem.children.length; j++) {
|
|
5011
|
+
var child = ruleListElem.children[j];
|
|
5012
|
+
if (child.classList.contains('e-drag-rule-top-line') || child.classList.contains('e-drag-rule-bottom-line')) {
|
|
5013
|
+
overallDropIndex = j;
|
|
5014
|
+
break;
|
|
5015
|
+
}
|
|
5016
|
+
}
|
|
5017
|
+
}
|
|
4995
5018
|
if (targetGroup.classList.contains('e-drag-rule-top-line')) {
|
|
4996
|
-
groupRule.rules.splice(dropInd, 0, rule);
|
|
5019
|
+
groupRule.rules.splice(isRuleArea ? overallDropIndex : dropInd, 0, rule);
|
|
4997
5020
|
}
|
|
4998
5021
|
else {
|
|
4999
|
-
groupRule.rules.splice(dropInd + 1, 0, rule);
|
|
5022
|
+
groupRule.rules.splice(isRuleArea ? overallDropIndex + 1 : dropInd + 1, 0, rule);
|
|
5000
5023
|
}
|
|
5001
5024
|
groupRule.rules.forEach(function (rule) {
|
|
5002
5025
|
if (_this.enableSeparateConnector) {
|
|
@@ -5196,12 +5219,24 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
5196
5219
|
this.initWrapper();
|
|
5197
5220
|
this.wireEvents();
|
|
5198
5221
|
};
|
|
5222
|
+
QueryBuilder.prototype.scrollEventHandler = function (e) {
|
|
5223
|
+
var target = e.target;
|
|
5224
|
+
if (target && ((target.closest && target.closest('.e-popup')))) {
|
|
5225
|
+
this.isPopupScroll = true;
|
|
5226
|
+
}
|
|
5227
|
+
else {
|
|
5228
|
+
this.isPopupScroll = false;
|
|
5229
|
+
}
|
|
5230
|
+
};
|
|
5199
5231
|
QueryBuilder.prototype.wireEvents = function () {
|
|
5200
5232
|
var wrapper = this.getWrapper();
|
|
5201
5233
|
EventHandler.add(wrapper, 'click', this.clickEventHandler, this);
|
|
5202
5234
|
EventHandler.add(wrapper, 'focusout', this.focusEventHandler, this);
|
|
5203
5235
|
EventHandler.add(wrapper, 'focusin', this.focusEventHandler, this);
|
|
5204
5236
|
EventHandler.add(this.element, 'keydown', this.keyBoardHandler, this);
|
|
5237
|
+
this.boundScrollHandler = this.scrollEventHandler.bind(this);
|
|
5238
|
+
document.addEventListener('wheel', this.boundScrollHandler);
|
|
5239
|
+
document.addEventListener('scroll', this.boundScrollHandler);
|
|
5205
5240
|
if (this.allowDragAndDrop) {
|
|
5206
5241
|
EventHandler.add(document, 'keydown', this.keyBoardHandler, this);
|
|
5207
5242
|
}
|
|
@@ -5214,6 +5249,9 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
5214
5249
|
EventHandler.remove(wrapper, 'focusout', this.focusEventHandler);
|
|
5215
5250
|
EventHandler.remove(wrapper, 'focusin', this.focusEventHandler);
|
|
5216
5251
|
EventHandler.remove(this.element, 'keydown', this.keyBoardHandler);
|
|
5252
|
+
document.removeEventListener('wheel', this.boundScrollHandler);
|
|
5253
|
+
document.removeEventListener('scroll', this.boundScrollHandler);
|
|
5254
|
+
this.boundScrollHandler = null;
|
|
5217
5255
|
EventHandler.remove(document, 'keydown', this.keyBoardHandler);
|
|
5218
5256
|
if (this.boundResizeHandler) {
|
|
5219
5257
|
window.removeEventListener('resize', this.boundResizeHandler);
|