@syncfusion/ej2-querybuilder 32.1.25 → 32.2.4

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.
@@ -163,6 +163,7 @@ let QueryBuilder = class QueryBuilder extends Component {
163
163
  this.isPropChange = false;
164
164
  this.isRuleClicked = false;
165
165
  this.groupCloned = false;
166
+ this.isRequestSent = false;
166
167
  MultiSelect.Inject(CheckBoxSelection);
167
168
  }
168
169
  getPersistData() {
@@ -3012,29 +3013,34 @@ let QueryBuilder = class QueryBuilder extends Component {
3012
3013
  ? userQuery.clone()
3013
3014
  : new Query();
3014
3015
  dataQuery.select([value]);
3015
- const data = this.dataManager.executeQuery(dataQuery);
3016
- multiselectObj.hideSpinner();
3017
- this.createSpinner(closest(element, '.e-multi-select-wrapper').parentElement);
3018
- showSpinner(closest(element, '.e-multi-select-wrapper').parentElement);
3019
- data.then((e) => {
3020
- if (e.actual && e.actual.result) {
3021
- dummyData = e.actual.result;
3022
- }
3023
- else {
3024
- dummyData = e.result;
3025
- }
3026
- this.dataColl = extend(this.dataColl, dummyData, [], true);
3027
- const newData = this.getDistinctValues(this.dataColl, value);
3028
- const current = multiselectObj.dataSource;
3029
- if ((current.length !== newData.length &&
3030
- (JSON.stringify(current) !== JSON.stringify(newData)))) {
3031
- multiselectObj.dataSource = newData;
3032
- }
3033
- this.isGetNestedData = true;
3034
- hideSpinner(closest(element, '.e-multi-select-wrapper').parentElement);
3035
- }).catch((e) => {
3036
- deferred.reject(e);
3037
- });
3016
+ if (!this.isRequestSent) {
3017
+ const data = this.dataManager.executeQuery(dataQuery);
3018
+ this.isRequestSent = true;
3019
+ multiselectObj.hideSpinner();
3020
+ this.createSpinner(closest(element, '.e-multi-select-wrapper').parentElement);
3021
+ showSpinner(closest(element, '.e-multi-select-wrapper').parentElement);
3022
+ data.then((e) => {
3023
+ this.isRequestSent = false;
3024
+ if (e.actual && e.actual.result) {
3025
+ dummyData = e.actual.result;
3026
+ }
3027
+ else {
3028
+ dummyData = e.result;
3029
+ }
3030
+ this.dataColl = extend(this.dataColl, dummyData, [], true);
3031
+ const newData = this.getDistinctValues(this.dataColl, value);
3032
+ const current = multiselectObj.dataSource;
3033
+ if ((current.length !== newData.length &&
3034
+ (JSON.stringify(current) !== JSON.stringify(newData)))) {
3035
+ multiselectObj.dataSource = newData;
3036
+ }
3037
+ this.isGetNestedData = true;
3038
+ hideSpinner(closest(element, '.e-multi-select-wrapper').parentElement);
3039
+ }).catch((e) => {
3040
+ this.isRequestSent = false;
3041
+ deferred.reject(e);
3042
+ });
3043
+ }
3038
3044
  }
3039
3045
  createSpinner(element) {
3040
3046
  const spinnerElem = this.createElement('span', { attrs: { class: 'e-qb-spinner' } });
@@ -4171,7 +4177,7 @@ let QueryBuilder = class QueryBuilder extends Component {
4171
4177
  this.getGroup(this.target).rules.length > 1) {
4172
4178
  const parent = this.element.querySelector('#' + groupID);
4173
4179
  const topLevelGroups = parent.querySelectorAll(':scope > .e-group-body > .e-rule-list > .e-group-container');
4174
- if (groupID !== 'querybuilder_group0') {
4180
+ if (groupID !== 'querybuilder_group0' && !(this.isAngular && groupID === 'ej2-querybuilder_0_group0')) {
4175
4181
  this.groupIndex = topLevelGroups.length > 1 ? topLevelGroups.length - 1 : 0;
4176
4182
  }
4177
4183
  }