@syncfusion/ej2-querybuilder 27.1.48 → 27.1.52
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 +27 -10
- package/dist/es6/ej2-querybuilder.es2015.js.map +1 -1
- package/dist/es6/ej2-querybuilder.es5.js +27 -10
- 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 +11 -12
- package/src/query-builder/query-builder.d.ts +1 -0
- package/src/query-builder/query-builder.js +27 -10
- package/styles/fluent2-lite.css +1 -1
- package/styles/fluent2.css +1 -1
- package/styles/query-builder/fluent2.css +1 -1
|
@@ -159,6 +159,7 @@ let QueryBuilder = class QueryBuilder extends Component {
|
|
|
159
159
|
this.cloneGrpBtnClick = false;
|
|
160
160
|
this.isMiddleGroup = false;
|
|
161
161
|
this.cloneRuleBtnClick = false;
|
|
162
|
+
this.isValueEmpty = false;
|
|
162
163
|
MultiSelect.Inject(CheckBoxSelection);
|
|
163
164
|
}
|
|
164
165
|
getPersistData() {
|
|
@@ -948,13 +949,14 @@ let QueryBuilder = class QueryBuilder extends Component {
|
|
|
948
949
|
.filter((filteredChild) => filteredChild !== null);
|
|
949
950
|
this.changeDataSource(matchedDataSource);
|
|
950
951
|
setTimeout(() => {
|
|
951
|
-
if (!isNullOrUndefined(proxy.ddTree)) {
|
|
952
|
+
if (!isNullOrUndefined(proxy.ddTree) && !isNullOrUndefined(proxy.ddTree.treeObj)) {
|
|
952
953
|
proxy.ddTree.treeObj.expandAll();
|
|
953
954
|
}
|
|
954
955
|
}, 100);
|
|
955
956
|
}
|
|
956
957
|
}
|
|
957
958
|
changeDataSource(data) {
|
|
959
|
+
this.updateDropdowntreeDS(data);
|
|
958
960
|
this.ddTree.treeObj.fields = {
|
|
959
961
|
dataSource: data,
|
|
960
962
|
value: 'field',
|
|
@@ -988,7 +990,7 @@ let QueryBuilder = class QueryBuilder extends Component {
|
|
|
988
990
|
}
|
|
989
991
|
dropdownTreeClose() {
|
|
990
992
|
if (this.ddTree) {
|
|
991
|
-
this.changeDataSource(this.columns);
|
|
993
|
+
this.changeDataSource(extend([], this.columns, [], true));
|
|
992
994
|
}
|
|
993
995
|
this.ddTree = null;
|
|
994
996
|
}
|
|
@@ -2025,7 +2027,9 @@ let QueryBuilder = class QueryBuilder extends Component {
|
|
|
2025
2027
|
if (isNaN(value) && elem.value.indexOf(decimalSeparator) !== -1) {
|
|
2026
2028
|
value = this.intl.getNumberParser({ format: 'n' })(elem.value);
|
|
2027
2029
|
}
|
|
2028
|
-
|
|
2030
|
+
if (!isNaN(value)) {
|
|
2031
|
+
numericTextBoxObj.value = value;
|
|
2032
|
+
}
|
|
2029
2033
|
this.isNumInput = true;
|
|
2030
2034
|
}
|
|
2031
2035
|
}
|
|
@@ -2401,11 +2405,13 @@ let QueryBuilder = class QueryBuilder extends Component {
|
|
|
2401
2405
|
}
|
|
2402
2406
|
const height = (this.element.className.indexOf('e-device') > -1) ? '250px' : '200px';
|
|
2403
2407
|
let operator;
|
|
2404
|
-
|
|
2405
|
-
|
|
2406
|
-
|
|
2407
|
-
|
|
2408
|
-
|
|
2408
|
+
if (rule.operator) {
|
|
2409
|
+
operatorList.forEach((obj) => {
|
|
2410
|
+
if ('value' in obj && typeof obj.value === 'string' && obj.value.toLowerCase() === rule.operator.toLowerCase()) {
|
|
2411
|
+
operator = obj.value;
|
|
2412
|
+
}
|
|
2413
|
+
});
|
|
2414
|
+
}
|
|
2409
2415
|
let value = operator ? operator : operatorList[0].value;
|
|
2410
2416
|
let ddlIdx = 0;
|
|
2411
2417
|
if (!this.autoSelectOperator) {
|
|
@@ -3181,6 +3187,10 @@ let QueryBuilder = class QueryBuilder extends Component {
|
|
|
3181
3187
|
}
|
|
3182
3188
|
target.nextElementSibling.innerHTML = '';
|
|
3183
3189
|
}
|
|
3190
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
3191
|
+
if (this.isAngular && !isNullOrUndefined(prevItemData.key) && this.fieldMode === 'DropdownTree') {
|
|
3192
|
+
delete prevItemData.template;
|
|
3193
|
+
}
|
|
3184
3194
|
}
|
|
3185
3195
|
if (isRender) {
|
|
3186
3196
|
this.validateValue(rule, closest(target, '.e-rule-container'));
|
|
@@ -3220,6 +3230,10 @@ let QueryBuilder = class QueryBuilder extends Component {
|
|
|
3220
3230
|
}
|
|
3221
3231
|
}
|
|
3222
3232
|
this.renderControls(target, itemData, rule, tempRule, isTempRendered);
|
|
3233
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
3234
|
+
if (this.isAngular && !isNullOrUndefined(itemData.key) && itemData.template && this.fieldMode === 'DropdownTree') {
|
|
3235
|
+
delete itemData.template;
|
|
3236
|
+
}
|
|
3223
3237
|
}
|
|
3224
3238
|
}
|
|
3225
3239
|
else {
|
|
@@ -5064,6 +5078,7 @@ let QueryBuilder = class QueryBuilder extends Component {
|
|
|
5064
5078
|
* @returns {RuleModel} - Valid rule or rules collection
|
|
5065
5079
|
*/
|
|
5066
5080
|
getValidRules(currentRule) {
|
|
5081
|
+
this.isValueEmpty = true;
|
|
5067
5082
|
if (!currentRule) {
|
|
5068
5083
|
currentRule = this.getRules();
|
|
5069
5084
|
}
|
|
@@ -5073,6 +5088,7 @@ let QueryBuilder = class QueryBuilder extends Component {
|
|
|
5073
5088
|
const rule = !isNullOrUndefined(currentRule.isLocked) ?
|
|
5074
5089
|
this.getRuleCollection({ condition: ruleCondtion, rules: ruleColl, not: notCondition, isLocked: currentRule.isLocked }, true) :
|
|
5075
5090
|
this.getRuleCollection({ condition: ruleCondtion, rules: ruleColl, not: notCondition }, true);
|
|
5091
|
+
this.isValueEmpty = false;
|
|
5076
5092
|
return rule;
|
|
5077
5093
|
}
|
|
5078
5094
|
getRuleCollection(rule, isValidRule) {
|
|
@@ -5102,8 +5118,9 @@ let QueryBuilder = class QueryBuilder extends Component {
|
|
|
5102
5118
|
rule.value = null;
|
|
5103
5119
|
}
|
|
5104
5120
|
}
|
|
5105
|
-
if ((this.isRefreshed && this.enablePersistence) || (rule.field !== '' && rule.operator !== '' &&
|
|
5106
|
-
rule.value !== undefined
|
|
5121
|
+
if ((this.isRefreshed && this.enablePersistence) || (rule.field !== '' && rule.operator !== '' &&
|
|
5122
|
+
(this.isValueEmpty ? rule.value !== '' && rule.value !== undefined : rule.value !== undefined)) ||
|
|
5123
|
+
(customObj && customObj.isQuestion)) {
|
|
5107
5124
|
const condition = rule.condition;
|
|
5108
5125
|
const lockedRule = rule.isLocked;
|
|
5109
5126
|
rule = { 'label': rule.label, 'field': rule.field, 'operator': rule.operator, 'type': rule.type, 'value': rule.value };
|