@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.
- 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 +49 -3
- package/dist/es6/ej2-querybuilder.es2015.js.map +1 -1
- package/dist/es6/ej2-querybuilder.es5.js +49 -3
- 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 +49 -3
- package/styles/material3-dark-lite.css +0 -2
- package/styles/material3-dark.css +0 -2
- package/styles/material3-lite.css +0 -2
- package/styles/material3.css +0 -2
- package/styles/query-builder/material3-dark.css +0 -2
- package/styles/query-builder/material3.css +0 -2
|
@@ -2911,7 +2911,7 @@ let QueryBuilder = class QueryBuilder extends Component {
|
|
|
2911
2911
|
value = dataSource[i][`${field}`].toString();
|
|
2912
2912
|
}
|
|
2913
2913
|
const data = {};
|
|
2914
|
-
if (!(value in original)) {
|
|
2914
|
+
if (!(value in original) && value) {
|
|
2915
2915
|
original[`${value}`] = 1;
|
|
2916
2916
|
if (isNested === 0) {
|
|
2917
2917
|
data[`${field}`] = value;
|
|
@@ -2999,7 +2999,26 @@ let QueryBuilder = class QueryBuilder extends Component {
|
|
|
2999
2999
|
args.cancel = true;
|
|
3000
3000
|
this.bindMultiSelectData(element, value);
|
|
3001
3001
|
}
|
|
3002
|
+
const multiselectObj = getComponent(element, 'multiselect');
|
|
3003
|
+
if (!multiselectObj) {
|
|
3004
|
+
return;
|
|
3005
|
+
}
|
|
3006
|
+
const incomingQuery = (args.query) ? args.query : null;
|
|
3007
|
+
const existingQuery = multiselectObj.query ? multiselectObj.query : null;
|
|
3008
|
+
if (!this.areQueriesSame(existingQuery, incomingQuery)) {
|
|
3009
|
+
multiselectObj.query = null;
|
|
3010
|
+
args.query = null;
|
|
3011
|
+
}
|
|
3012
|
+
}
|
|
3013
|
+
}
|
|
3014
|
+
areQueriesSame(query1, query2) {
|
|
3015
|
+
if ((query1 === null || query1 === undefined) && (query2 === null || query2 === undefined)) {
|
|
3016
|
+
return true;
|
|
3017
|
+
}
|
|
3018
|
+
if ((query1 === null || query1 === undefined) || (query2 === null || query2 === undefined)) {
|
|
3019
|
+
return false;
|
|
3002
3020
|
}
|
|
3021
|
+
return JSON.stringify(query1) === JSON.stringify(query2);
|
|
3003
3022
|
}
|
|
3004
3023
|
bindMultiSelectData(element, value) {
|
|
3005
3024
|
this.getMultiSelectData(element, value);
|
|
@@ -4114,6 +4133,29 @@ let QueryBuilder = class QueryBuilder extends Component {
|
|
|
4114
4133
|
if (this.portals && this.portals.length) {
|
|
4115
4134
|
this.clearQBTemplate();
|
|
4116
4135
|
}
|
|
4136
|
+
let qbDdlElems = this.element.querySelectorAll('.qb-dropdownlist');
|
|
4137
|
+
if (!qbDdlElems || qbDdlElems.length === 0) {
|
|
4138
|
+
qbDdlElems = document.querySelectorAll('.qb-dropdownlist');
|
|
4139
|
+
}
|
|
4140
|
+
for (i = 0; i < qbDdlElems.length; i++) {
|
|
4141
|
+
const ddlElem = qbDdlElems[i];
|
|
4142
|
+
const targetInput = ddlElem.tagName === 'INPUT' ? ddlElem : ddlElem.querySelector('input');
|
|
4143
|
+
if (targetInput) {
|
|
4144
|
+
const ddlInst = getComponent(targetInput, 'dropdownlist');
|
|
4145
|
+
if (ddlInst) {
|
|
4146
|
+
if (ddlInst.close) {
|
|
4147
|
+
ddlInst.close = null;
|
|
4148
|
+
}
|
|
4149
|
+
if (ddlInst.open) {
|
|
4150
|
+
ddlInst.open = null;
|
|
4151
|
+
}
|
|
4152
|
+
if (ddlInst.change) {
|
|
4153
|
+
ddlInst.change = null;
|
|
4154
|
+
}
|
|
4155
|
+
ddlInst.destroy();
|
|
4156
|
+
}
|
|
4157
|
+
}
|
|
4158
|
+
}
|
|
4117
4159
|
const popupElement = document.querySelectorAll('.qb-dropdownlist.e-popup');
|
|
4118
4160
|
if (popupElement) {
|
|
4119
4161
|
for (i = 0; i < popupElement.length; i++) {
|
|
@@ -5079,7 +5121,8 @@ let QueryBuilder = class QueryBuilder extends Component {
|
|
|
5079
5121
|
if (this.allowDragAndDrop) {
|
|
5080
5122
|
EventHandler.add(document, 'keydown', this.keyBoardHandler, this);
|
|
5081
5123
|
}
|
|
5082
|
-
|
|
5124
|
+
this.boundResizeHandler = this.windowResizeHandler.bind(this);
|
|
5125
|
+
window.addEventListener('resize', this.boundResizeHandler);
|
|
5083
5126
|
}
|
|
5084
5127
|
unWireEvents() {
|
|
5085
5128
|
const wrapper = this.getWrapper();
|
|
@@ -5088,7 +5131,10 @@ let QueryBuilder = class QueryBuilder extends Component {
|
|
|
5088
5131
|
EventHandler.remove(wrapper, 'focusin', this.focusEventHandler);
|
|
5089
5132
|
EventHandler.remove(this.element, 'keydown', this.keyBoardHandler);
|
|
5090
5133
|
EventHandler.remove(document, 'keydown', this.keyBoardHandler);
|
|
5091
|
-
|
|
5134
|
+
if (this.boundResizeHandler) {
|
|
5135
|
+
window.removeEventListener('resize', this.boundResizeHandler);
|
|
5136
|
+
this.boundResizeHandler = null;
|
|
5137
|
+
}
|
|
5092
5138
|
}
|
|
5093
5139
|
getParentGroup(target, isParent) {
|
|
5094
5140
|
const groupLevel = (target instanceof Element) ? this.levelColl[target.id] : this.levelColl[`${target}`];
|