@syncfusion/ej2-querybuilder 27.2.2 → 27.2.5
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 -2
- package/dist/es6/ej2-querybuilder.es2015.js.map +1 -1
- package/dist/es6/ej2-querybuilder.es5.js +33 -2
- 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 +10 -10
- package/src/query-builder/query-builder.js +24 -1
- package/src/query-builder/query-library.js +9 -1
- package/styles/bootstrap5-dark-lite.css +4 -0
- package/styles/bootstrap5-dark.css +4 -0
- package/styles/bootstrap5-lite.css +4 -0
- package/styles/bootstrap5.3-lite.css +4 -0
- package/styles/bootstrap5.3.css +4 -0
- package/styles/bootstrap5.css +4 -0
- package/styles/query-builder/bootstrap5-dark.css +4 -0
- package/styles/query-builder/bootstrap5.3.css +4 -0
- package/styles/query-builder/bootstrap5.css +4 -0
|
@@ -2775,9 +2775,17 @@ let QueryBuilder = class QueryBuilder extends Component {
|
|
|
2775
2775
|
}
|
|
2776
2776
|
getItemData(parentId) {
|
|
2777
2777
|
let fieldObj = getComponent(document.getElementById(parentId + '_filterkey'), 'dropdownlist');
|
|
2778
|
+
const parentFieldObj = this.element.querySelector(`#${parentId}`);
|
|
2778
2779
|
if (this.fieldMode === 'DropdownTree') {
|
|
2779
2780
|
fieldObj = getComponent(document.getElementById(parentId + '_filterkey'), 'dropdowntree');
|
|
2780
2781
|
}
|
|
2782
|
+
else if (parentFieldObj) {
|
|
2783
|
+
const subFieldObjList = parentFieldObj.querySelectorAll('.e-rule-sub-filter');
|
|
2784
|
+
if (subFieldObjList.length > 0) {
|
|
2785
|
+
const lastSubFieldObj = subFieldObjList[subFieldObjList.length - 1].querySelector('.e-dropdownlist');
|
|
2786
|
+
fieldObj = getComponent(lastSubFieldObj, 'dropdownlist');
|
|
2787
|
+
}
|
|
2788
|
+
}
|
|
2781
2789
|
return this.fieldMode === 'DropdownTree' ? this.getColumn(fieldObj.value[0]) : this.getColumn(fieldObj.value);
|
|
2782
2790
|
}
|
|
2783
2791
|
setDefaultValue(parentId, isArryValue, isNumber) {
|
|
@@ -2826,6 +2834,11 @@ let QueryBuilder = class QueryBuilder extends Component {
|
|
|
2826
2834
|
this.setDefaultValue(parentId, true, false);
|
|
2827
2835
|
selectedValue = selectedVal.join(',');
|
|
2828
2836
|
}
|
|
2837
|
+
if (operator === 'between' || operator === 'notbetween') {
|
|
2838
|
+
if (selectedValue.length > 1) {
|
|
2839
|
+
selectedValue = selectedValue[idx];
|
|
2840
|
+
}
|
|
2841
|
+
}
|
|
2829
2842
|
let txtBox;
|
|
2830
2843
|
txtBox = {
|
|
2831
2844
|
placeholder: this.l10n.getConstant('SelectValue'),
|
|
@@ -3129,7 +3142,7 @@ let QueryBuilder = class QueryBuilder extends Component {
|
|
|
3129
3142
|
getPreviousItemData(prevItemData, column) {
|
|
3130
3143
|
if (this.isFieldClose && prevItemData) {
|
|
3131
3144
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
3132
|
-
prevItemData = this.getColumn(prevItemData.value);
|
|
3145
|
+
prevItemData = this.getColumn(prevItemData.value ? prevItemData.value : prevItemData.field);
|
|
3133
3146
|
}
|
|
3134
3147
|
if (column && column.template && prevItemData && Object.keys(prevItemData).length < 4) {
|
|
3135
3148
|
prevItemData.template = column.template;
|
|
@@ -3563,6 +3576,12 @@ let QueryBuilder = class QueryBuilder extends Component {
|
|
|
3563
3576
|
rule.rules[index].value = this.processValueString(selectedValue, rule.rules[index].type);
|
|
3564
3577
|
}
|
|
3565
3578
|
}
|
|
3579
|
+
else if (oper === 'between' || oper === 'notbetween') {
|
|
3580
|
+
if (typeof rule.rules[index].value === 'string') {
|
|
3581
|
+
rule.rules[index].value = [];
|
|
3582
|
+
}
|
|
3583
|
+
rule.rules[index].value[i] = selectedValue;
|
|
3584
|
+
}
|
|
3566
3585
|
else {
|
|
3567
3586
|
rule.rules[index].value = selectedValue;
|
|
3568
3587
|
}
|
|
@@ -5139,6 +5158,10 @@ let QueryBuilder = class QueryBuilder extends Component {
|
|
|
5139
5158
|
if ((rule.operator === 'in' || rule.operator === 'notin') && rule.value && rule.value.length === 0) {
|
|
5140
5159
|
rule = {};
|
|
5141
5160
|
}
|
|
5161
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
5162
|
+
if ((rule.operator === 'between' || rule.operator === 'notbetween') && Array.isArray(rule.value) && (rule.value.length < 2 || rule.value.some((val) => val === '' || val === null))) {
|
|
5163
|
+
rule = {};
|
|
5164
|
+
}
|
|
5142
5165
|
}
|
|
5143
5166
|
else {
|
|
5144
5167
|
rule = {};
|
|
@@ -7522,6 +7545,7 @@ class QueryLibrary {
|
|
|
7522
7545
|
let stringValue;
|
|
7523
7546
|
let key;
|
|
7524
7547
|
let betweenValue;
|
|
7548
|
+
let fieldType;
|
|
7525
7549
|
let condition;
|
|
7526
7550
|
let value;
|
|
7527
7551
|
let subRules;
|
|
@@ -7693,7 +7717,13 @@ class QueryLibrary {
|
|
|
7693
7717
|
ruleValue = stringValue.replace('$', '');
|
|
7694
7718
|
type = 'string';
|
|
7695
7719
|
}
|
|
7696
|
-
|
|
7720
|
+
for (const column of this.parent.columns) {
|
|
7721
|
+
if (column.field === condition) {
|
|
7722
|
+
fieldType = column.type;
|
|
7723
|
+
break;
|
|
7724
|
+
}
|
|
7725
|
+
}
|
|
7726
|
+
if (!isNaN(Date.parse(stringValue)) || fieldType === 'date') { // Date type operators
|
|
7697
7727
|
operatorValue = operatorValue || this.getOperatorFromMongoOperator(key);
|
|
7698
7728
|
type = 'date';
|
|
7699
7729
|
ruleValue = stringValue;
|