@syncfusion/ej2-querybuilder 32.2.4 → 32.2.8

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.
@@ -2975,7 +2975,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
2975
2975
  value = dataSource[i]["" + field].toString();
2976
2976
  }
2977
2977
  var data = {};
2978
- if (!(value in original)) {
2978
+ if (!(value in original) && value) {
2979
2979
  original["" + value] = 1;
2980
2980
  if (isNested === 0) {
2981
2981
  data["" + field] = value;
@@ -3067,7 +3067,26 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
3067
3067
  args.cancel = true;
3068
3068
  this.bindMultiSelectData(element, value);
3069
3069
  }
3070
+ var multiselectObj = getComponent(element, 'multiselect');
3071
+ if (!multiselectObj) {
3072
+ return;
3073
+ }
3074
+ var incomingQuery = (args.query) ? args.query : null;
3075
+ var existingQuery = multiselectObj.query ? multiselectObj.query : null;
3076
+ if (!this.areQueriesSame(existingQuery, incomingQuery)) {
3077
+ multiselectObj.query = null;
3078
+ args.query = null;
3079
+ }
3080
+ }
3081
+ };
3082
+ QueryBuilder.prototype.areQueriesSame = function (query1, query2) {
3083
+ if ((query1 === null || query1 === undefined) && (query2 === null || query2 === undefined)) {
3084
+ return true;
3085
+ }
3086
+ if ((query1 === null || query1 === undefined) || (query2 === null || query2 === undefined)) {
3087
+ return false;
3070
3088
  }
3089
+ return JSON.stringify(query1) === JSON.stringify(query2);
3071
3090
  };
3072
3091
  QueryBuilder.prototype.bindMultiSelectData = function (element, value) {
3073
3092
  this.getMultiSelectData(element, value);
@@ -4184,6 +4203,29 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
4184
4203
  if (this.portals && this.portals.length) {
4185
4204
  this.clearQBTemplate();
4186
4205
  }
4206
+ var qbDdlElems = this.element.querySelectorAll('.qb-dropdownlist');
4207
+ if (!qbDdlElems || qbDdlElems.length === 0) {
4208
+ qbDdlElems = document.querySelectorAll('.qb-dropdownlist');
4209
+ }
4210
+ for (i = 0; i < qbDdlElems.length; i++) {
4211
+ var ddlElem = qbDdlElems[i];
4212
+ var targetInput = ddlElem.tagName === 'INPUT' ? ddlElem : ddlElem.querySelector('input');
4213
+ if (targetInput) {
4214
+ var ddlInst = getComponent(targetInput, 'dropdownlist');
4215
+ if (ddlInst) {
4216
+ if (ddlInst.close) {
4217
+ ddlInst.close = null;
4218
+ }
4219
+ if (ddlInst.open) {
4220
+ ddlInst.open = null;
4221
+ }
4222
+ if (ddlInst.change) {
4223
+ ddlInst.change = null;
4224
+ }
4225
+ ddlInst.destroy();
4226
+ }
4227
+ }
4228
+ }
4187
4229
  var popupElement = document.querySelectorAll('.qb-dropdownlist.e-popup');
4188
4230
  if (popupElement) {
4189
4231
  for (i = 0; i < popupElement.length; i++) {
@@ -5152,7 +5194,8 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
5152
5194
  if (this.allowDragAndDrop) {
5153
5195
  EventHandler.add(document, 'keydown', this.keyBoardHandler, this);
5154
5196
  }
5155
- window.addEventListener('resize', this.windowResizeHandler.bind(this));
5197
+ this.boundResizeHandler = this.windowResizeHandler.bind(this);
5198
+ window.addEventListener('resize', this.boundResizeHandler);
5156
5199
  };
5157
5200
  QueryBuilder.prototype.unWireEvents = function () {
5158
5201
  var wrapper = this.getWrapper();
@@ -5161,7 +5204,10 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
5161
5204
  EventHandler.remove(wrapper, 'focusin', this.focusEventHandler);
5162
5205
  EventHandler.remove(this.element, 'keydown', this.keyBoardHandler);
5163
5206
  EventHandler.remove(document, 'keydown', this.keyBoardHandler);
5164
- window.removeEventListener('resize', this.windowResizeHandler);
5207
+ if (this.boundResizeHandler) {
5208
+ window.removeEventListener('resize', this.boundResizeHandler);
5209
+ this.boundResizeHandler = null;
5210
+ }
5165
5211
  };
5166
5212
  QueryBuilder.prototype.getParentGroup = function (target, isParent) {
5167
5213
  var groupLevel = (target instanceof Element) ? this.levelColl[target.id] : this.levelColl["" + target];