@syncfusion/ej2-querybuilder 20.4.38 → 20.4.42
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/CHANGELOG.md +17 -0
- package/README.md +1 -1
- 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 +29 -17
- package/dist/es6/ej2-querybuilder.es2015.js.map +1 -1
- package/dist/es6/ej2-querybuilder.es5.js +29 -17
- 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 +13 -12
- package/src/query-builder/query-builder.js +29 -17
|
@@ -153,7 +153,10 @@ let QueryBuilder = class QueryBuilder extends Component {
|
|
|
153
153
|
let bodyElem = this.element.querySelector('.e-group-body');
|
|
154
154
|
const inputElement = this.element.querySelectorAll('input.e-control');
|
|
155
155
|
for (let i = 0, len = inputElement.length; i < len; i++) {
|
|
156
|
-
if (inputElement[i].
|
|
156
|
+
if (inputElement[i].className.indexOf('e-tooltip') > -1) {
|
|
157
|
+
getComponent(inputElement[i], 'tooltip').destroy();
|
|
158
|
+
}
|
|
159
|
+
else if (inputElement[i].parentElement.className.indexOf('e-tooltip') > -1) {
|
|
157
160
|
getComponent(inputElement[i].parentElement, 'tooltip').destroy();
|
|
158
161
|
}
|
|
159
162
|
}
|
|
@@ -752,23 +755,25 @@ let QueryBuilder = class QueryBuilder extends Component {
|
|
|
752
755
|
let tempElem;
|
|
753
756
|
let rule;
|
|
754
757
|
const ruleElemCln = this.element.querySelectorAll('.e-rule-container');
|
|
755
|
-
let validateRule;
|
|
756
758
|
for (i = 0, len = ruleElemCln.length; i < len; i++) {
|
|
759
|
+
let validateRule;
|
|
757
760
|
groupElem = closest(ruleElemCln[i], '.e-group-container');
|
|
758
761
|
rule = this.getParentGroup(groupElem);
|
|
759
762
|
index = 0;
|
|
760
763
|
indexElem = tempElem = ruleElemCln[i];
|
|
761
764
|
if (this.fieldMode === 'DropdownTree') {
|
|
762
|
-
dropDownTreeObj = getComponent(ruleElemCln[i].querySelector('.e-rule-
|
|
763
|
-
if (dropDownTreeObj.value && dropDownTreeObj.value.length) {
|
|
765
|
+
dropDownTreeObj = getComponent(ruleElemCln[i].querySelector('.e-rule-filter input.e-dropdowntree'), 'dropdowntree');
|
|
766
|
+
if (dropDownTreeObj && dropDownTreeObj.value && dropDownTreeObj.value.length) {
|
|
764
767
|
this.selectedColumn = this.getColumn(dropDownTreeObj.value[0]);
|
|
765
768
|
validateRule = this.selectedColumn.validation;
|
|
766
769
|
}
|
|
767
770
|
}
|
|
768
771
|
else {
|
|
769
|
-
dropDownObj = getComponent(ruleElemCln[i].querySelector('.e-rule-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
+
dropDownObj = getComponent(ruleElemCln[i].querySelector('.e-rule-filter input.e-dropdownlist'), 'dropdownlist');
|
|
773
|
+
if (dropDownObj && dropDownObj.value) {
|
|
774
|
+
this.selectedColumn = dropDownObj.getDataByValue(dropDownObj.value);
|
|
775
|
+
validateRule = !isNullOrUndefined(dropDownObj.index) && this.selectedColumn.validation;
|
|
776
|
+
}
|
|
772
777
|
}
|
|
773
778
|
fieldElem = tempElem.querySelector('.e-rule-field input.e-control');
|
|
774
779
|
if (validateRule && validateRule.isRequired) {
|
|
@@ -811,8 +816,8 @@ let QueryBuilder = class QueryBuilder extends Component {
|
|
|
811
816
|
else if ((dropDownObj && dropDownObj.element && isNullOrUndefined(dropDownObj.index)) ||
|
|
812
817
|
(dropDownTreeObj && dropDownTreeObj.element && (isNullOrUndefined(dropDownTreeObj.value) ||
|
|
813
818
|
dropDownTreeObj.value.length < 1))) {
|
|
814
|
-
if (fieldElem.
|
|
815
|
-
this.renderToolTip(fieldElem
|
|
819
|
+
if (fieldElem.className.indexOf('e-tooltip') < 0) {
|
|
820
|
+
this.renderToolTip(fieldElem);
|
|
816
821
|
}
|
|
817
822
|
isValid = false;
|
|
818
823
|
}
|
|
@@ -872,7 +877,6 @@ let QueryBuilder = class QueryBuilder extends Component {
|
|
|
872
877
|
glueElem.appendChild(inputElem);
|
|
873
878
|
}
|
|
874
879
|
inputElem = this.createElement('input', { attrs: { type: 'radio', class: 'e-btngroup-and', value: 'AND' } });
|
|
875
|
-
inputElem.setAttribute('checked', 'true');
|
|
876
880
|
glueElem.appendChild(inputElem);
|
|
877
881
|
labelElem = this.createElement('label', { attrs: { class: 'e-lib e-btn e-btngroup-and-lbl e-small' },
|
|
878
882
|
innerHTML: this.l10n.getConstant('AND') });
|
|
@@ -1471,6 +1475,7 @@ let QueryBuilder = class QueryBuilder extends Component {
|
|
|
1471
1475
|
}
|
|
1472
1476
|
}
|
|
1473
1477
|
createSubFields(filterElem, rule, tempRule, ddlArgs) {
|
|
1478
|
+
let subFieldValue = false;
|
|
1474
1479
|
const fieldElem = closest(filterElem, '.e-rule-field');
|
|
1475
1480
|
const tempElem = this.createElement('div', { attrs: { class: 'e-rule-sub-filter', id: 'subfilter' + this.subFilterCounter } });
|
|
1476
1481
|
fieldElem.insertBefore(tempElem, fieldElem.querySelector('.e-rule-operator'));
|
|
@@ -1500,6 +1505,7 @@ let QueryBuilder = class QueryBuilder extends Component {
|
|
|
1500
1505
|
if (rule.field === subField[i].field || rule.field.indexOf(subField[i].field) > -1) {
|
|
1501
1506
|
dropDownList.value = subField[i].field;
|
|
1502
1507
|
this.selectedColumn = subField[i];
|
|
1508
|
+
subFieldValue = true;
|
|
1503
1509
|
break;
|
|
1504
1510
|
}
|
|
1505
1511
|
}
|
|
@@ -1508,7 +1514,10 @@ let QueryBuilder = class QueryBuilder extends Component {
|
|
|
1508
1514
|
this.subFieldElem = subFieldElem;
|
|
1509
1515
|
// eslint-disable-next-line
|
|
1510
1516
|
ddlArgs.itemData = ddlArgs.itemData;
|
|
1511
|
-
if (!this.isImportRules) {
|
|
1517
|
+
if (!this.isImportRules || (!subFieldValue && this.selectedColumn.columns)) {
|
|
1518
|
+
if (!subFieldValue && this.isImportRules) {
|
|
1519
|
+
dropDownList.value = null;
|
|
1520
|
+
}
|
|
1512
1521
|
this.selectedColumn = this.selectedColumn.columns[0];
|
|
1513
1522
|
}
|
|
1514
1523
|
if (!this.selectedColumn.columns) {
|
|
@@ -2068,6 +2077,7 @@ let QueryBuilder = class QueryBuilder extends Component {
|
|
|
2068
2077
|
}
|
|
2069
2078
|
const numeric = new NumericTextBox(numericTxt);
|
|
2070
2079
|
numeric.appendTo('#' + parentId + '_valuekey' + idx);
|
|
2080
|
+
numeric.element.setAttribute('aria-label', itemData.label + ' ' + 'Value');
|
|
2071
2081
|
}
|
|
2072
2082
|
}
|
|
2073
2083
|
processValueString(value, type) {
|
|
@@ -2291,7 +2301,7 @@ let QueryBuilder = class QueryBuilder extends Component {
|
|
|
2291
2301
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
2292
2302
|
prevItemData = this.getColumn(prevItemData.value);
|
|
2293
2303
|
}
|
|
2294
|
-
if (column.template && prevItemData && Object.keys(prevItemData).length < 4) {
|
|
2304
|
+
if (column && column.template && prevItemData && Object.keys(prevItemData).length < 4) {
|
|
2295
2305
|
prevItemData.template = column.template;
|
|
2296
2306
|
}
|
|
2297
2307
|
return prevItemData;
|
|
@@ -2347,7 +2357,9 @@ let QueryBuilder = class QueryBuilder extends Component {
|
|
|
2347
2357
|
this.validateValue(rule, closest(target, '.e-rule-container'));
|
|
2348
2358
|
this.destroyControls(target);
|
|
2349
2359
|
}
|
|
2350
|
-
|
|
2360
|
+
if (column) {
|
|
2361
|
+
itemData.template = column.template;
|
|
2362
|
+
}
|
|
2351
2363
|
if (itemData.template) {
|
|
2352
2364
|
addClass([target.nextElementSibling], 'e-template-value');
|
|
2353
2365
|
itemData.template = column.template;
|
|
@@ -2595,8 +2607,8 @@ let QueryBuilder = class QueryBuilder extends Component {
|
|
|
2595
2607
|
if (!this.isImportRules) {
|
|
2596
2608
|
this.trigger('change', eventsArgs);
|
|
2597
2609
|
}
|
|
2598
|
-
if (this.allowValidation && rule.rules[index].field && target.
|
|
2599
|
-
getComponent(target
|
|
2610
|
+
if (this.allowValidation && rule.rules[index].field && target.className.indexOf('e-tooltip') > -1) {
|
|
2611
|
+
getComponent(target, 'tooltip').destroy();
|
|
2600
2612
|
}
|
|
2601
2613
|
this.filterRules(beforeRules, this.getValidRules(this.rule), 'field');
|
|
2602
2614
|
}
|
|
@@ -2910,7 +2922,7 @@ let QueryBuilder = class QueryBuilder extends Component {
|
|
|
2910
2922
|
initWrapper() {
|
|
2911
2923
|
this.isInitialLoad = true;
|
|
2912
2924
|
if (this.cssClass) {
|
|
2913
|
-
addClass([this.element], this.cssClass);
|
|
2925
|
+
addClass([this.element], this.cssClass.replace(/\s+/g, ' ').trim().split(' '));
|
|
2914
2926
|
}
|
|
2915
2927
|
if (this.enableRtl) {
|
|
2916
2928
|
addClass([this.element], 'e-rtl');
|
|
@@ -3099,7 +3111,7 @@ let QueryBuilder = class QueryBuilder extends Component {
|
|
|
3099
3111
|
removeClass([this.element], oldProp.cssClass.split(' '));
|
|
3100
3112
|
}
|
|
3101
3113
|
if (newProp.cssClass) {
|
|
3102
|
-
addClass([this.element], newProp.cssClass.split(' '));
|
|
3114
|
+
addClass([this.element], newProp.cssClass.replace(/\s+/g, ' ').trim().split(' '));
|
|
3103
3115
|
}
|
|
3104
3116
|
break;
|
|
3105
3117
|
case 'enableRtl':
|