@syncfusion/ej2-querybuilder 29.2.4 → 29.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 +32 -6
- package/dist/es6/ej2-querybuilder.es2015.js.map +1 -1
- package/dist/es6/ej2-querybuilder.es5.js +32 -6
- 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 +12 -44
- package/src/query-builder/query-builder.d.ts +2 -0
- package/src/query-builder/query-builder.js +32 -6
|
@@ -160,6 +160,7 @@ let QueryBuilder = class QueryBuilder extends Component {
|
|
|
160
160
|
this.isMiddleGroup = false;
|
|
161
161
|
this.cloneRuleBtnClick = false;
|
|
162
162
|
this.isValueEmpty = false;
|
|
163
|
+
this.isPropChange = false;
|
|
163
164
|
MultiSelect.Inject(CheckBoxSelection);
|
|
164
165
|
}
|
|
165
166
|
getPersistData() {
|
|
@@ -1674,14 +1675,14 @@ let QueryBuilder = class QueryBuilder extends Component {
|
|
|
1674
1675
|
else {
|
|
1675
1676
|
prevRule = this.getGroup(prevElem);
|
|
1676
1677
|
}
|
|
1677
|
-
if (isNullOrUndefined(prevRule.condition)) {
|
|
1678
|
+
if (!isNullOrUndefined(prevRule) && isNullOrUndefined(prevRule.condition)) {
|
|
1678
1679
|
prevRule.condition = 'and';
|
|
1679
1680
|
}
|
|
1680
1681
|
const orElem = elem.previousElementSibling.querySelector('.e-btngroup-or');
|
|
1681
1682
|
const andElem = elem.previousElementSibling.querySelector('.e-btngroup-and');
|
|
1682
1683
|
orElem.disabled = false;
|
|
1683
1684
|
andElem.disabled = false;
|
|
1684
|
-
if (prevRule.condition === 'or') {
|
|
1685
|
+
if (!isNullOrUndefined(prevRule) && prevRule.condition === 'or') {
|
|
1685
1686
|
orElem.checked = true;
|
|
1686
1687
|
}
|
|
1687
1688
|
else {
|
|
@@ -3877,8 +3878,8 @@ let QueryBuilder = class QueryBuilder extends Component {
|
|
|
3877
3878
|
else {
|
|
3878
3879
|
this.addGroupElement(false, this.element);
|
|
3879
3880
|
}
|
|
3880
|
-
if (Browser.isDevice || this.displayMode === 'Vertical') {
|
|
3881
|
-
if (Browser.isDevice) {
|
|
3881
|
+
if (Browser.isDevice || (window.innerWidth < 768 && !this.isPropChange) || this.displayMode === 'Vertical') {
|
|
3882
|
+
if (Browser.isDevice || window.innerWidth < 768) {
|
|
3882
3883
|
this.element.style.width = '100%';
|
|
3883
3884
|
this.element.classList.add('e-device');
|
|
3884
3885
|
}
|
|
@@ -4001,6 +4002,7 @@ let QueryBuilder = class QueryBuilder extends Component {
|
|
|
4001
4002
|
}
|
|
4002
4003
|
onPropertyChanged(newProp, oldProp) {
|
|
4003
4004
|
const properties = Object.keys(newProp);
|
|
4005
|
+
this.isPropChange = true;
|
|
4004
4006
|
const groupElem = this.element.querySelector('.e-group-container');
|
|
4005
4007
|
let summaryElem = this.element.querySelector('.e-summary-content');
|
|
4006
4008
|
for (const prop of properties) {
|
|
@@ -4155,6 +4157,7 @@ let QueryBuilder = class QueryBuilder extends Component {
|
|
|
4155
4157
|
break;
|
|
4156
4158
|
}
|
|
4157
4159
|
}
|
|
4160
|
+
this.isPropChange = false;
|
|
4158
4161
|
}
|
|
4159
4162
|
preRender() {
|
|
4160
4163
|
this.element.id = this.element.id || getUniqueID('ej2-querybuilder');
|
|
@@ -4712,6 +4715,7 @@ let QueryBuilder = class QueryBuilder extends Component {
|
|
|
4712
4715
|
EventHandler.add(wrapper, 'focusin', this.focusEventHandler, this);
|
|
4713
4716
|
EventHandler.add(this.element, 'keydown', this.keyBoardHandler, this);
|
|
4714
4717
|
EventHandler.add(document, 'keydown', this.keyBoardHandler, this);
|
|
4718
|
+
window.addEventListener('resize', this.windowResizeHandler.bind(this));
|
|
4715
4719
|
}
|
|
4716
4720
|
unWireEvents() {
|
|
4717
4721
|
const wrapper = this.getWrapper();
|
|
@@ -4720,6 +4724,7 @@ let QueryBuilder = class QueryBuilder extends Component {
|
|
|
4720
4724
|
EventHandler.remove(wrapper, 'focusin', this.focusEventHandler);
|
|
4721
4725
|
EventHandler.remove(this.element, 'keydown', this.keyBoardHandler);
|
|
4722
4726
|
EventHandler.remove(document, 'keydown', this.keyBoardHandler);
|
|
4727
|
+
window.removeEventListener('resize', this.windowResizeHandler);
|
|
4723
4728
|
}
|
|
4724
4729
|
getParentGroup(target, isParent) {
|
|
4725
4730
|
const groupLevel = (target instanceof Element) ? this.levelColl[target.id] : this.levelColl[`${target}`];
|
|
@@ -4983,6 +4988,14 @@ let QueryBuilder = class QueryBuilder extends Component {
|
|
|
4983
4988
|
}
|
|
4984
4989
|
}
|
|
4985
4990
|
}
|
|
4991
|
+
windowResizeHandler() {
|
|
4992
|
+
if (Browser.isDevice || window.innerWidth < 768) {
|
|
4993
|
+
this.displayMode = 'Vertical';
|
|
4994
|
+
}
|
|
4995
|
+
else {
|
|
4996
|
+
this.displayMode = 'Horizontal';
|
|
4997
|
+
}
|
|
4998
|
+
}
|
|
4986
4999
|
clearQBTemplate(ruleElemColl) {
|
|
4987
5000
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
4988
5001
|
if (this.isReact || this.isAngular) {
|
|
@@ -5809,6 +5822,13 @@ let QueryBuilder = class QueryBuilder extends Component {
|
|
|
5809
5822
|
parentElem = this.renderGroup(ruleColl[i], ruleColl[i].condition, parentElem, ruleColl[i].not);
|
|
5810
5823
|
parentElem = this.importRules(ruleColl[i], parentElem, true);
|
|
5811
5824
|
}
|
|
5825
|
+
else if (!isNullOrUndefined(ruleColl[i].rules)) {
|
|
5826
|
+
parentElem = this.renderGroup(ruleColl[i], ruleColl[i].condition, parentElem, ruleColl[i].not);
|
|
5827
|
+
const andElem = parentElem.querySelector('.e-btngroup-and');
|
|
5828
|
+
const orElem = parentElem.querySelector('.e-btngroup-or');
|
|
5829
|
+
andElem.disabled = true;
|
|
5830
|
+
orElem.disabled = true;
|
|
5831
|
+
}
|
|
5812
5832
|
else {
|
|
5813
5833
|
this.renderRule(ruleColl[i], parentElem);
|
|
5814
5834
|
}
|
|
@@ -6700,8 +6720,14 @@ let QueryBuilder = class QueryBuilder extends Component {
|
|
|
6700
6720
|
rule.type = this.getTypeFromColumn(rule);
|
|
6701
6721
|
}
|
|
6702
6722
|
else {
|
|
6703
|
-
|
|
6704
|
-
|
|
6723
|
+
if (parser.length === 3 && parser[2][0] === 'String' && (parser[2][1]).indexOf('%') !== -1) {
|
|
6724
|
+
const oper = parser[i + 2][1] ? parser[i + 2][1].replace(/'/g, '') : parser[i + 2][1];
|
|
6725
|
+
rule.operator = this.getOperator(oper, parser[i + 1][1], sqlLocale);
|
|
6726
|
+
}
|
|
6727
|
+
else {
|
|
6728
|
+
const oper = parser[i + 3][1] ? parser[i + 3][1].replace(/'/g, '') : parser[i + 3][1];
|
|
6729
|
+
rule.operator = this.getOperator(oper, parser[i + 1][1], sqlLocale);
|
|
6730
|
+
}
|
|
6705
6731
|
}
|
|
6706
6732
|
operator = parser[i + 1][1];
|
|
6707
6733
|
i++;
|