@syncfusion/ej2-querybuilder 33.2.7 → 33.2.10

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.
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * filename: index.d.ts
3
- * version : 33.2.7
3
+ * version : 33.2.10
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.7",
3
+ "version": "33.2.10",
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.5",
13
- "@syncfusion/ej2-calendars": "~33.2.7",
14
- "@syncfusion/ej2-dropdowns": "~33.2.7",
15
- "@syncfusion/ej2-inputs": "~33.2.5",
13
+ "@syncfusion/ej2-calendars": "~33.2.10",
14
+ "@syncfusion/ej2-dropdowns": "~33.2.10",
15
+ "@syncfusion/ej2-inputs": "~33.2.10",
16
16
  "@syncfusion/ej2-splitbuttons": "~33.2.6"
17
17
  },
18
18
  "devDependencies": {},
@@ -347,6 +347,7 @@ export declare class QueryBuilder extends Component<HTMLDivElement> implements I
347
347
  private dragElement;
348
348
  private prvtEvtTgrDaD;
349
349
  private isDragEventPrevent;
350
+ private groupConnectorStates;
350
351
  private isValueEmpty;
351
352
  private isPropChange;
352
353
  private isRuleClicked;
@@ -795,6 +796,7 @@ export declare class QueryBuilder extends Component<HTMLDivElement> implements I
795
796
  private deleteRuleSuccessCallBack;
796
797
  private setGroupRules;
797
798
  private keyBoardHandler;
799
+ private restoreGroupConnectorStates;
798
800
  private windowResizeHandler;
799
801
  private clearQBTemplate;
800
802
  private disableRuleCondition;
@@ -217,6 +217,7 @@ var QueryBuilder = /** @class */ (function (_super) {
217
217
  _this.cloneGrpBtnClick = false;
218
218
  _this.isMiddleGroup = false;
219
219
  _this.cloneRuleBtnClick = false;
220
+ _this.groupConnectorStates = {};
220
221
  _this.isValueEmpty = false;
221
222
  _this.isPropChange = false;
222
223
  _this.isRuleClicked = false;
@@ -4866,6 +4867,17 @@ var QueryBuilder = /** @class */ (function (_super) {
4866
4867
  return visualElement;
4867
4868
  };
4868
4869
  QueryBuilder.prototype.dragStartHandler = function (e) {
4870
+ var _this = this;
4871
+ this.groupConnectorStates = {};
4872
+ var allGroupContainers = this.element.querySelectorAll('.e-group-container');
4873
+ allGroupContainers.forEach(function (grpContainer) {
4874
+ if (grpContainer.id !== '') {
4875
+ var groupRule = _this.getGroup(grpContainer);
4876
+ if (groupRule && groupRule.condition) {
4877
+ _this.groupConnectorStates[grpContainer.id] = groupRule.condition.toUpperCase();
4878
+ }
4879
+ }
4880
+ });
4869
4881
  this.draggedRule = e.target;
4870
4882
  this.isDragEventPrevent = false;
4871
4883
  document.body.classList.add('e-prevent-select');
@@ -4953,6 +4965,7 @@ var QueryBuilder = /** @class */ (function (_super) {
4953
4965
  if (this.isDragEventPrevent) {
4954
4966
  return;
4955
4967
  }
4968
+ var dropped = false;
4956
4969
  var targetGroup = closest(e.target, '.e-rule-container');
4957
4970
  if (isNullOrUndefined(targetGroup) && e.target.parentElement &&
4958
4971
  e.target.parentElement.classList.contains('e-btn-group') && this.enableSeparateConnector) {
@@ -5057,6 +5070,7 @@ var QueryBuilder = /** @class */ (function (_super) {
5057
5070
  }
5058
5071
  }
5059
5072
  });
5073
+ dropped = true;
5060
5074
  }
5061
5075
  }
5062
5076
  else if (tgrt.classList.contains('e-rule-list') && tgrt.children.length === 0 && !isPreventelem) {
@@ -5087,6 +5101,7 @@ var QueryBuilder = /** @class */ (function (_super) {
5087
5101
  this.addRules([rule], groupId);
5088
5102
  }
5089
5103
  }
5104
+ dropped = true;
5090
5105
  }
5091
5106
  else if (tgrt.classList.contains('e-rule-list') && tgrt.children[0].classList.contains('e-group-container') && !isPreventelem) {
5092
5107
  var groupElem = closest(tgrt, '.e-group-container');
@@ -5141,6 +5156,7 @@ var QueryBuilder = /** @class */ (function (_super) {
5141
5156
  }
5142
5157
  }
5143
5158
  });
5159
+ dropped = true;
5144
5160
  }
5145
5161
  else if ((closest(e.target, '.e-group-container') || e.target.classList.contains('e-group-container')) && !isPreventelem) {
5146
5162
  var rule = void 0;
@@ -5175,10 +5191,14 @@ var QueryBuilder = /** @class */ (function (_super) {
5175
5191
  }
5176
5192
  }
5177
5193
  }
5194
+ dropped = true;
5178
5195
  }
5179
5196
  if (!isPreventelem) {
5180
5197
  this.trigger('ruleChange', { previousRule: prevRule, rule: this.getValidRules(), type: 'drag-and-drop' });
5181
5198
  }
5199
+ if (!dropped) {
5200
+ this.restoreGroupConnectorStates();
5201
+ }
5182
5202
  this.prvtEvtTgrDaD = false;
5183
5203
  document.body.classList.remove('e-prevent-select');
5184
5204
  var borderLineElem = this.element.querySelectorAll('.e-drag-rule-bottom-line');
@@ -5538,11 +5558,38 @@ var QueryBuilder = /** @class */ (function (_super) {
5538
5558
  if (dragElemnet) {
5539
5559
  remove(dragElemnet);
5540
5560
  }
5561
+ this.restoreGroupConnectorStates();
5541
5562
  if (this.enableSeparateConnector) {
5542
5563
  this.refresh();
5543
5564
  }
5544
5565
  }
5545
5566
  };
5567
+ QueryBuilder.prototype.restoreGroupConnectorStates = function () {
5568
+ var _this = this;
5569
+ var updatedGroupContainers = this.element.querySelectorAll('.e-group-container');
5570
+ updatedGroupContainers.forEach(function (grpContainer) {
5571
+ var groupId = grpContainer.id;
5572
+ if (_this.groupConnectorStates.hasOwnProperty(groupId)) {
5573
+ var savedCondition = _this.groupConnectorStates[groupId];
5574
+ var groupRule = _this.getGroup(grpContainer);
5575
+ if (groupRule) {
5576
+ groupRule.condition = savedCondition.toLowerCase();
5577
+ }
5578
+ var andElem = grpContainer.querySelector('.e-btngroup-and');
5579
+ var orElem = grpContainer.querySelector('.e-btngroup-or');
5580
+ if (andElem && orElem) {
5581
+ if (savedCondition === 'AND') {
5582
+ andElem.checked = true;
5583
+ orElem.checked = false;
5584
+ }
5585
+ else {
5586
+ orElem.checked = true;
5587
+ andElem.checked = false;
5588
+ }
5589
+ }
5590
+ }
5591
+ });
5592
+ };
5546
5593
  QueryBuilder.prototype.windowResizeHandler = function () {
5547
5594
  if (Browser.isDevice || window.innerWidth < 768) {
5548
5595
  this.displayMode = 'Vertical';
@@ -6401,8 +6448,7 @@ var QueryBuilder = /** @class */ (function (_super) {
6401
6448
  if (this.element.querySelectorAll('.e-group-container').length > this.maxGroupCount) {
6402
6449
  return null;
6403
6450
  }
6404
- if (isNullOrUndefined(this.updatedRule) && this.allowDragAndDrop && this.dragElement &&
6405
- this.dragElement.querySelector('.e-rule-list') && this.dragElement.querySelector('.e-rule-list').querySelector('.e-group-container')) {
6451
+ if (isNullOrUndefined(this.updatedRule) && this.allowDragAndDrop && this.dragElement) {
6406
6452
  this.updatedRule = {
6407
6453
  isLocked: ruleColl[i].isLocked, condition: ruleColl[i].condition,
6408
6454
  not: ruleColl[i].not