@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
|
@@ -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);
|
|
@@ -3418,7 +3424,9 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
3418
3424
|
var isTemplate = (typeof itemData.template === 'string');
|
|
3419
3425
|
if (rule.value && !isNullOrUndefined(format)) {
|
|
3420
3426
|
selVal = (length_1 > 1) ? rule.value[i] : rule.value;
|
|
3421
|
-
|
|
3427
|
+
if (selVal) {
|
|
3428
|
+
selectedValue = this.parseDate(selVal, format) || new Date();
|
|
3429
|
+
}
|
|
3422
3430
|
}
|
|
3423
3431
|
if (!isNullOrUndefined(itemData) && itemData.value && !isTemplate) {
|
|
3424
3432
|
var parsedDate = this.parseDate(itemData.value.toString(), itemData.format);
|
|
@@ -4975,6 +4983,11 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
4975
4983
|
groupRule = groupRule.properties;
|
|
4976
4984
|
}
|
|
4977
4985
|
var groupElem = closest(targetGroup, '.e-group-container');
|
|
4986
|
+
var cloneGroupElem = groupElem.cloneNode(true);
|
|
4987
|
+
var isRuleArea = false;
|
|
4988
|
+
if (closest(e.target, '.e-group-container') && closest(e.target, '.e-group-container').id === this.initialID + '_group0') {
|
|
4989
|
+
isRuleArea = true;
|
|
4990
|
+
}
|
|
4978
4991
|
var nestGrpElem = groupElem.querySelectorAll('.e-group-container');
|
|
4979
4992
|
nestGrpElem.forEach(function (ele) {
|
|
4980
4993
|
if (_this.element.querySelector('#' + ele.id)) {
|
|
@@ -4992,11 +5005,23 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
4992
5005
|
ruleIds.push(ruleElems[i].id.split(this.element.id + '_')[1]);
|
|
4993
5006
|
}
|
|
4994
5007
|
this.deleteRules(ruleIds);
|
|
5008
|
+
// Calculate index considering both groups and rules in the overall rules collection
|
|
5009
|
+
var overallDropIndex = 0;
|
|
5010
|
+
var ruleListElem = cloneGroupElem.querySelector('.e-rule-list');
|
|
5011
|
+
if (ruleListElem) {
|
|
5012
|
+
for (var j = 0; j < ruleListElem.children.length; j++) {
|
|
5013
|
+
var child = ruleListElem.children[j];
|
|
5014
|
+
if (child.classList.contains('e-drag-rule-top-line') || child.classList.contains('e-drag-rule-bottom-line')) {
|
|
5015
|
+
overallDropIndex = j;
|
|
5016
|
+
break;
|
|
5017
|
+
}
|
|
5018
|
+
}
|
|
5019
|
+
}
|
|
4995
5020
|
if (targetGroup.classList.contains('e-drag-rule-top-line')) {
|
|
4996
|
-
groupRule.rules.splice(dropInd, 0, rule);
|
|
5021
|
+
groupRule.rules.splice(isRuleArea ? overallDropIndex : dropInd, 0, rule);
|
|
4997
5022
|
}
|
|
4998
5023
|
else {
|
|
4999
|
-
groupRule.rules.splice(dropInd + 1, 0, rule);
|
|
5024
|
+
groupRule.rules.splice(isRuleArea ? overallDropIndex + 1 : dropInd + 1, 0, rule);
|
|
5000
5025
|
}
|
|
5001
5026
|
groupRule.rules.forEach(function (rule) {
|
|
5002
5027
|
if (_this.enableSeparateConnector) {
|
|
@@ -5196,12 +5221,24 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
5196
5221
|
this.initWrapper();
|
|
5197
5222
|
this.wireEvents();
|
|
5198
5223
|
};
|
|
5224
|
+
QueryBuilder.prototype.scrollEventHandler = function (e) {
|
|
5225
|
+
var target = e.target;
|
|
5226
|
+
if (target && ((target.closest && target.closest('.e-popup')))) {
|
|
5227
|
+
this.isPopupScroll = true;
|
|
5228
|
+
}
|
|
5229
|
+
else {
|
|
5230
|
+
this.isPopupScroll = false;
|
|
5231
|
+
}
|
|
5232
|
+
};
|
|
5199
5233
|
QueryBuilder.prototype.wireEvents = function () {
|
|
5200
5234
|
var wrapper = this.getWrapper();
|
|
5201
5235
|
EventHandler.add(wrapper, 'click', this.clickEventHandler, this);
|
|
5202
5236
|
EventHandler.add(wrapper, 'focusout', this.focusEventHandler, this);
|
|
5203
5237
|
EventHandler.add(wrapper, 'focusin', this.focusEventHandler, this);
|
|
5204
5238
|
EventHandler.add(this.element, 'keydown', this.keyBoardHandler, this);
|
|
5239
|
+
this.boundScrollHandler = this.scrollEventHandler.bind(this);
|
|
5240
|
+
document.addEventListener('wheel', this.boundScrollHandler);
|
|
5241
|
+
document.addEventListener('scroll', this.boundScrollHandler);
|
|
5205
5242
|
if (this.allowDragAndDrop) {
|
|
5206
5243
|
EventHandler.add(document, 'keydown', this.keyBoardHandler, this);
|
|
5207
5244
|
}
|
|
@@ -5214,6 +5251,9 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
5214
5251
|
EventHandler.remove(wrapper, 'focusout', this.focusEventHandler);
|
|
5215
5252
|
EventHandler.remove(wrapper, 'focusin', this.focusEventHandler);
|
|
5216
5253
|
EventHandler.remove(this.element, 'keydown', this.keyBoardHandler);
|
|
5254
|
+
document.removeEventListener('wheel', this.boundScrollHandler);
|
|
5255
|
+
document.removeEventListener('scroll', this.boundScrollHandler);
|
|
5256
|
+
this.boundScrollHandler = null;
|
|
5217
5257
|
EventHandler.remove(document, 'keydown', this.keyBoardHandler);
|
|
5218
5258
|
if (this.boundResizeHandler) {
|
|
5219
5259
|
window.removeEventListener('resize', this.boundResizeHandler);
|