@syncfusion/ej2-querybuilder 32.2.3 → 32.2.7

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.
@@ -208,6 +208,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
208
208
  _this.isPropChange = false;
209
209
  _this.isRuleClicked = false;
210
210
  _this.groupCloned = false;
211
+ _this.isRequestSent = false;
211
212
  MultiSelect.Inject(CheckBoxSelection);
212
213
  return _this;
213
214
  }
@@ -3081,29 +3082,34 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
3081
3082
  ? userQuery.clone()
3082
3083
  : new Query();
3083
3084
  dataQuery.select([value]);
3084
- var data = this.dataManager.executeQuery(dataQuery);
3085
- multiselectObj.hideSpinner();
3086
- this.createSpinner(closest(element, '.e-multi-select-wrapper').parentElement);
3087
- showSpinner(closest(element, '.e-multi-select-wrapper').parentElement);
3088
- data.then(function (e) {
3089
- if (e.actual && e.actual.result) {
3090
- dummyData = e.actual.result;
3091
- }
3092
- else {
3093
- dummyData = e.result;
3094
- }
3095
- _this.dataColl = extend(_this.dataColl, dummyData, [], true);
3096
- var newData = _this.getDistinctValues(_this.dataColl, value);
3097
- var current = multiselectObj.dataSource;
3098
- if ((current.length !== newData.length &&
3099
- (JSON.stringify(current) !== JSON.stringify(newData)))) {
3100
- multiselectObj.dataSource = newData;
3101
- }
3102
- _this.isGetNestedData = true;
3103
- hideSpinner(closest(element, '.e-multi-select-wrapper').parentElement);
3104
- }).catch(function (e) {
3105
- deferred.reject(e);
3106
- });
3085
+ if (!this.isRequestSent) {
3086
+ var data = this.dataManager.executeQuery(dataQuery);
3087
+ this.isRequestSent = true;
3088
+ multiselectObj.hideSpinner();
3089
+ this.createSpinner(closest(element, '.e-multi-select-wrapper').parentElement);
3090
+ showSpinner(closest(element, '.e-multi-select-wrapper').parentElement);
3091
+ data.then(function (e) {
3092
+ _this.isRequestSent = false;
3093
+ if (e.actual && e.actual.result) {
3094
+ dummyData = e.actual.result;
3095
+ }
3096
+ else {
3097
+ dummyData = e.result;
3098
+ }
3099
+ _this.dataColl = extend(_this.dataColl, dummyData, [], true);
3100
+ var newData = _this.getDistinctValues(_this.dataColl, value);
3101
+ var current = multiselectObj.dataSource;
3102
+ if ((current.length !== newData.length &&
3103
+ (JSON.stringify(current) !== JSON.stringify(newData)))) {
3104
+ multiselectObj.dataSource = newData;
3105
+ }
3106
+ _this.isGetNestedData = true;
3107
+ hideSpinner(closest(element, '.e-multi-select-wrapper').parentElement);
3108
+ }).catch(function (e) {
3109
+ _this.isRequestSent = false;
3110
+ deferred.reject(e);
3111
+ });
3112
+ }
3107
3113
  };
3108
3114
  QueryBuilder.prototype.createSpinner = function (element) {
3109
3115
  var spinnerElem = this.createElement('span', { attrs: { class: 'e-qb-spinner' } });
@@ -4178,6 +4184,29 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
4178
4184
  if (this.portals && this.portals.length) {
4179
4185
  this.clearQBTemplate();
4180
4186
  }
4187
+ var qbDdlElems = this.element.querySelectorAll('.qb-dropdownlist');
4188
+ if (!qbDdlElems || qbDdlElems.length === 0) {
4189
+ qbDdlElems = document.querySelectorAll('.qb-dropdownlist');
4190
+ }
4191
+ for (i = 0; i < qbDdlElems.length; i++) {
4192
+ var ddlElem = qbDdlElems[i];
4193
+ var targetInput = ddlElem.tagName === 'INPUT' ? ddlElem : ddlElem.querySelector('input');
4194
+ if (targetInput) {
4195
+ var ddlInst = getComponent(targetInput, 'dropdownlist');
4196
+ if (ddlInst) {
4197
+ if (ddlInst.close) {
4198
+ ddlInst.close = null;
4199
+ }
4200
+ if (ddlInst.open) {
4201
+ ddlInst.open = null;
4202
+ }
4203
+ if (ddlInst.change) {
4204
+ ddlInst.change = null;
4205
+ }
4206
+ ddlInst.destroy();
4207
+ }
4208
+ }
4209
+ }
4181
4210
  var popupElement = document.querySelectorAll('.qb-dropdownlist.e-popup');
4182
4211
  if (popupElement) {
4183
4212
  for (i = 0; i < popupElement.length; i++) {
@@ -4241,7 +4270,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
4241
4270
  this.getGroup(this.target).rules.length > 1) {
4242
4271
  var parent_1 = this.element.querySelector('#' + groupID);
4243
4272
  var topLevelGroups = parent_1.querySelectorAll(':scope > .e-group-body > .e-rule-list > .e-group-container');
4244
- if (groupID !== 'querybuilder_group0') {
4273
+ if (groupID !== 'querybuilder_group0' && !(this.isAngular && groupID === 'ej2-querybuilder_0_group0')) {
4245
4274
  this.groupIndex = topLevelGroups.length > 1 ? topLevelGroups.length - 1 : 0;
4246
4275
  }
4247
4276
  }
@@ -5146,7 +5175,8 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
5146
5175
  if (this.allowDragAndDrop) {
5147
5176
  EventHandler.add(document, 'keydown', this.keyBoardHandler, this);
5148
5177
  }
5149
- window.addEventListener('resize', this.windowResizeHandler.bind(this));
5178
+ this.boundResizeHandler = this.windowResizeHandler.bind(this);
5179
+ window.addEventListener('resize', this.boundResizeHandler);
5150
5180
  };
5151
5181
  QueryBuilder.prototype.unWireEvents = function () {
5152
5182
  var wrapper = this.getWrapper();
@@ -5155,7 +5185,10 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
5155
5185
  EventHandler.remove(wrapper, 'focusin', this.focusEventHandler);
5156
5186
  EventHandler.remove(this.element, 'keydown', this.keyBoardHandler);
5157
5187
  EventHandler.remove(document, 'keydown', this.keyBoardHandler);
5158
- window.removeEventListener('resize', this.windowResizeHandler);
5188
+ if (this.boundResizeHandler) {
5189
+ window.removeEventListener('resize', this.boundResizeHandler);
5190
+ this.boundResizeHandler = null;
5191
+ }
5159
5192
  };
5160
5193
  QueryBuilder.prototype.getParentGroup = function (target, isParent) {
5161
5194
  var groupLevel = (target instanceof Element) ? this.levelColl[target.id] : this.levelColl["" + target];