@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.
- package/dist/ej2-querybuilder.min.js +2 -2
- package/dist/ej2-querybuilder.umd.min.js +2 -2
- package/dist/ej2-querybuilder.umd.min.js.map +1 -1
- package/dist/es6/ej2-querybuilder.es2015.js +59 -26
- package/dist/es6/ej2-querybuilder.es2015.js.map +1 -1
- package/dist/es6/ej2-querybuilder.es5.js +59 -26
- package/dist/es6/ej2-querybuilder.es5.js.map +1 -1
- package/dist/global/ej2-querybuilder.min.js +2 -2
- package/dist/global/ej2-querybuilder.min.js.map +1 -1
- package/dist/global/index.d.ts +1 -1
- package/package.json +7 -7
- package/src/query-builder/query-builder.d.ts +2 -0
- package/src/query-builder/query-builder.js +59 -26
|
@@ -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
|
-
|
|
3016
|
-
|
|
3017
|
-
|
|
3018
|
-
|
|
3019
|
-
|
|
3020
|
-
|
|
3021
|
-
|
|
3022
|
-
|
|
3023
|
-
|
|
3024
|
-
|
|
3025
|
-
|
|
3026
|
-
|
|
3027
|
-
|
|
3028
|
-
|
|
3029
|
-
|
|
3030
|
-
|
|
3031
|
-
multiselectObj.dataSource
|
|
3032
|
-
|
|
3033
|
-
|
|
3034
|
-
|
|
3035
|
-
|
|
3036
|
-
|
|
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' } });
|
|
@@ -4108,6 +4114,29 @@ let QueryBuilder = class QueryBuilder extends Component {
|
|
|
4108
4114
|
if (this.portals && this.portals.length) {
|
|
4109
4115
|
this.clearQBTemplate();
|
|
4110
4116
|
}
|
|
4117
|
+
let qbDdlElems = this.element.querySelectorAll('.qb-dropdownlist');
|
|
4118
|
+
if (!qbDdlElems || qbDdlElems.length === 0) {
|
|
4119
|
+
qbDdlElems = document.querySelectorAll('.qb-dropdownlist');
|
|
4120
|
+
}
|
|
4121
|
+
for (i = 0; i < qbDdlElems.length; i++) {
|
|
4122
|
+
const ddlElem = qbDdlElems[i];
|
|
4123
|
+
const targetInput = ddlElem.tagName === 'INPUT' ? ddlElem : ddlElem.querySelector('input');
|
|
4124
|
+
if (targetInput) {
|
|
4125
|
+
const ddlInst = getComponent(targetInput, 'dropdownlist');
|
|
4126
|
+
if (ddlInst) {
|
|
4127
|
+
if (ddlInst.close) {
|
|
4128
|
+
ddlInst.close = null;
|
|
4129
|
+
}
|
|
4130
|
+
if (ddlInst.open) {
|
|
4131
|
+
ddlInst.open = null;
|
|
4132
|
+
}
|
|
4133
|
+
if (ddlInst.change) {
|
|
4134
|
+
ddlInst.change = null;
|
|
4135
|
+
}
|
|
4136
|
+
ddlInst.destroy();
|
|
4137
|
+
}
|
|
4138
|
+
}
|
|
4139
|
+
}
|
|
4111
4140
|
const popupElement = document.querySelectorAll('.qb-dropdownlist.e-popup');
|
|
4112
4141
|
if (popupElement) {
|
|
4113
4142
|
for (i = 0; i < popupElement.length; i++) {
|
|
@@ -4171,7 +4200,7 @@ let QueryBuilder = class QueryBuilder extends Component {
|
|
|
4171
4200
|
this.getGroup(this.target).rules.length > 1) {
|
|
4172
4201
|
const parent = this.element.querySelector('#' + groupID);
|
|
4173
4202
|
const topLevelGroups = parent.querySelectorAll(':scope > .e-group-body > .e-rule-list > .e-group-container');
|
|
4174
|
-
if (groupID !== 'querybuilder_group0') {
|
|
4203
|
+
if (groupID !== 'querybuilder_group0' && !(this.isAngular && groupID === 'ej2-querybuilder_0_group0')) {
|
|
4175
4204
|
this.groupIndex = topLevelGroups.length > 1 ? topLevelGroups.length - 1 : 0;
|
|
4176
4205
|
}
|
|
4177
4206
|
}
|
|
@@ -5073,7 +5102,8 @@ let QueryBuilder = class QueryBuilder extends Component {
|
|
|
5073
5102
|
if (this.allowDragAndDrop) {
|
|
5074
5103
|
EventHandler.add(document, 'keydown', this.keyBoardHandler, this);
|
|
5075
5104
|
}
|
|
5076
|
-
|
|
5105
|
+
this.boundResizeHandler = this.windowResizeHandler.bind(this);
|
|
5106
|
+
window.addEventListener('resize', this.boundResizeHandler);
|
|
5077
5107
|
}
|
|
5078
5108
|
unWireEvents() {
|
|
5079
5109
|
const wrapper = this.getWrapper();
|
|
@@ -5082,7 +5112,10 @@ let QueryBuilder = class QueryBuilder extends Component {
|
|
|
5082
5112
|
EventHandler.remove(wrapper, 'focusin', this.focusEventHandler);
|
|
5083
5113
|
EventHandler.remove(this.element, 'keydown', this.keyBoardHandler);
|
|
5084
5114
|
EventHandler.remove(document, 'keydown', this.keyBoardHandler);
|
|
5085
|
-
|
|
5115
|
+
if (this.boundResizeHandler) {
|
|
5116
|
+
window.removeEventListener('resize', this.boundResizeHandler);
|
|
5117
|
+
this.boundResizeHandler = null;
|
|
5118
|
+
}
|
|
5086
5119
|
}
|
|
5087
5120
|
getParentGroup(target, isParent) {
|
|
5088
5121
|
const groupLevel = (target instanceof Element) ? this.levelColl[target.id] : this.levelColl[`${target}`];
|