@syncfusion/ej2-querybuilder 33.1.44 → 33.1.49

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.
@@ -4203,30 +4203,32 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
4203
4203
  this.clearQBTemplate();
4204
4204
  }
4205
4205
  var qbDdlElems = this.element.querySelectorAll('.qb-dropdownlist');
4206
- if (!qbDdlElems || qbDdlElems.length === 0) {
4207
- qbDdlElems = document.querySelectorAll('.qb-dropdownlist');
4208
- }
4209
- for (i = 0; i < qbDdlElems.length; i++) {
4210
- var ddlElem = qbDdlElems[i];
4211
- var targetInput = ddlElem.tagName === 'INPUT' ? ddlElem : ddlElem.querySelector('input');
4212
- if (targetInput) {
4213
- var ddlInst = getComponent(targetInput, 'dropdownlist');
4214
- if (ddlInst) {
4215
- if (ddlInst.close) {
4216
- ddlInst.close = null;
4217
- }
4218
- if (ddlInst.open) {
4219
- ddlInst.open = null;
4220
- }
4221
- if (ddlInst.change) {
4222
- ddlInst.change = null;
4206
+ if (qbDdlElems && qbDdlElems.length > 0) {
4207
+ for (i = 0; i < qbDdlElems.length; i++) {
4208
+ var ddlElem = qbDdlElems[i];
4209
+ if (this.element.contains(ddlElem)) {
4210
+ var targetInput = ddlElem.tagName === 'INPUT' ? ddlElem : ddlElem.querySelector('input');
4211
+ if (targetInput) {
4212
+ var ddlInst = getComponent(targetInput, 'dropdownlist');
4213
+ if (ddlInst) {
4214
+ if (ddlInst.close) {
4215
+ ddlInst.close = null;
4216
+ }
4217
+ if (ddlInst.open) {
4218
+ ddlInst.open = null;
4219
+ }
4220
+ if (ddlInst.change) {
4221
+ ddlInst.change = null;
4222
+ }
4223
+ ddlInst.destroy();
4224
+ }
4223
4225
  }
4224
- ddlInst.destroy();
4225
4226
  }
4226
4227
  }
4227
4228
  }
4228
- var popupElement = document.querySelectorAll('.qb-dropdownlist.e-popup');
4229
- if (popupElement) {
4229
+ // Cleanup orphaned popup elements
4230
+ var popupElement = this.element.querySelectorAll('.e-popup.e-dropdownlist');
4231
+ if (popupElement && popupElement.length > 0) {
4230
4232
  for (i = 0; i < popupElement.length; i++) {
4231
4233
  popupElement[i].remove();
4232
4234
  }
@@ -4289,7 +4291,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
4289
4291
  var parent_1 = this.element.querySelector('#' + groupID);
4290
4292
  var allContainers = parent_1.querySelectorAll(':scope > .e-group-body > .e-rule-list > [class*="-container"]');
4291
4293
  var topLevelGroups = parent_1.querySelectorAll(':scope > .e-group-body > .e-rule-list > .e-group-container');
4292
- if (topLevelGroups.length > 0 && groupID !== 'querybuilder_group0' && !(this.isAngular && groupID === 'ej2-querybuilder_0_group0')) {
4294
+ if (topLevelGroups.length > 0 && groupID !== 'querybuilder_group0' && !(this.isAngular && groupID === this.initialID + '_group0')) {
4293
4295
  var lastGroupIndex = -1;
4294
4296
  var lastGroup = topLevelGroups[topLevelGroups.length - 1];
4295
4297
  for (var i = 0; i < allContainers.length; i++) {
@@ -4633,6 +4635,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
4633
4635
  };
4634
4636
  QueryBuilder.prototype.preRender = function () {
4635
4637
  this.element.id = this.element.id || getUniqueID('ej2-querybuilder');
4638
+ this.initialID = this.element.id;
4636
4639
  this.defaultLocale = {
4637
4640
  StartsWith: 'Starts With',
4638
4641
  DoesNotStartWith: 'Does Not Start With',
@@ -5440,6 +5443,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
5440
5443
  if (this.headerTemplate && isRoot) {
5441
5444
  this.isRoot = true;
5442
5445
  }
5446
+ this.clearQBTemplate();
5443
5447
  this.reset();
5444
5448
  this.groupIdCounter = 1;
5445
5449
  this.ruleIdCounter = 0;