@syncfusion/ej2-querybuilder 32.2.7 → 32.2.9

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,8 +3067,27 @@ 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
+ }
3070
3080
  }
3071
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;
3088
+ }
3089
+ return JSON.stringify(query1) === JSON.stringify(query2);
3090
+ };
3072
3091
  QueryBuilder.prototype.bindMultiSelectData = function (element, value) {
3073
3092
  this.getMultiSelectData(element, value);
3074
3093
  };
@@ -4269,9 +4288,18 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
4269
4288
  if (this.groupCloned && this.target instanceof HTMLElement &&
4270
4289
  this.getGroup(this.target).rules.length > 1) {
4271
4290
  var parent_1 = this.element.querySelector('#' + groupID);
4291
+ var allContainers = parent_1.querySelectorAll(':scope > .e-group-body > .e-rule-list > [class*="-container"]');
4272
4292
  var topLevelGroups = parent_1.querySelectorAll(':scope > .e-group-body > .e-rule-list > .e-group-container');
4273
- if (groupID !== 'querybuilder_group0' && !(this.isAngular && groupID === 'ej2-querybuilder_0_group0')) {
4274
- this.groupIndex = topLevelGroups.length > 1 ? topLevelGroups.length - 1 : 0;
4293
+ if (topLevelGroups.length > 0 && groupID !== 'querybuilder_group0' && !(this.isAngular && groupID === 'ej2-querybuilder_0_group0')) {
4294
+ var lastGroupIndex = -1;
4295
+ var lastGroup = topLevelGroups[topLevelGroups.length - 1];
4296
+ for (var i = 0; i < allContainers.length; i++) {
4297
+ if (allContainers[i] === lastGroup) {
4298
+ lastGroupIndex = i;
4299
+ break;
4300
+ }
4301
+ }
4302
+ this.groupIndex = lastGroupIndex - 1;
4275
4303
  }
4276
4304
  }
4277
4305
  if (this.groupIndex < 0) {