@syncfusion/ej2-querybuilder 19.4.52 → 19.4.56
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 +25 -0
- 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 +60 -11
- package/dist/es6/ej2-querybuilder.es2015.js.map +1 -1
- package/dist/es6/ej2-querybuilder.es5.js +65 -12
- 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 +8 -8
- package/src/query-builder/query-builder.d.ts +1 -0
- package/src/query-builder/query-builder.js +65 -12
package/dist/global/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* filename: index.d.ts
|
|
3
|
-
* version : 19.4.
|
|
3
|
+
* version : 19.4.56
|
|
4
4
|
* Copyright Syncfusion Inc. 2001 - 2020. All rights reserved.
|
|
5
5
|
* Use of this code is subject to the terms of our license.
|
|
6
6
|
* A copy of the current license can be obtained at any time by e-mailing
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"_from": "@syncfusion/ej2-querybuilder@*",
|
|
3
|
-
"_id": "@syncfusion/ej2-querybuilder@19.4.
|
|
3
|
+
"_id": "@syncfusion/ej2-querybuilder@19.4.55",
|
|
4
4
|
"_inBundle": false,
|
|
5
|
-
"_integrity": "sha512-
|
|
5
|
+
"_integrity": "sha512-jsPRny5G8dpM1RN5ZKE82yL0csUXm3dXmdj/PNyVzrpjsGkZipJvdVFlok6l7d+pT7aBNIPTHw88i50tCFSW6A==",
|
|
6
6
|
"_location": "/@syncfusion/ej2-querybuilder",
|
|
7
7
|
"_phantomChildren": {},
|
|
8
8
|
"_requested": {
|
|
@@ -23,8 +23,8 @@
|
|
|
23
23
|
"/@syncfusion/ej2-react-querybuilder",
|
|
24
24
|
"/@syncfusion/ej2-vue-querybuilder"
|
|
25
25
|
],
|
|
26
|
-
"_resolved": "http://nexus.syncfusion.com/repository/ej2-hotfix-new/@syncfusion/ej2-querybuilder/-/ej2-querybuilder-19.4.
|
|
27
|
-
"_shasum": "
|
|
26
|
+
"_resolved": "http://nexus.syncfusion.com/repository/ej2-hotfix-new/@syncfusion/ej2-querybuilder/-/ej2-querybuilder-19.4.55.tgz",
|
|
27
|
+
"_shasum": "2d8f95a9125ee6b641849a560133117dd300cae2",
|
|
28
28
|
"_spec": "@syncfusion/ej2-querybuilder@*",
|
|
29
29
|
"_where": "/jenkins/workspace/automation_release_19.1.0.1-ZPMUBNQ6AUYH6YGEFBPVYMEQLRRW2SLD4XCZ6GATNZJFYJ3RIAOA/packages/included",
|
|
30
30
|
"author": {
|
|
@@ -33,9 +33,9 @@
|
|
|
33
33
|
"bundleDependencies": false,
|
|
34
34
|
"dependencies": {
|
|
35
35
|
"@syncfusion/ej2-base": "~19.4.52",
|
|
36
|
-
"@syncfusion/ej2-buttons": "~19.4.
|
|
37
|
-
"@syncfusion/ej2-calendars": "~19.4.
|
|
38
|
-
"@syncfusion/ej2-dropdowns": "~19.4.
|
|
36
|
+
"@syncfusion/ej2-buttons": "~19.4.55",
|
|
37
|
+
"@syncfusion/ej2-calendars": "~19.4.56",
|
|
38
|
+
"@syncfusion/ej2-dropdowns": "~19.4.56",
|
|
39
39
|
"@syncfusion/ej2-inputs": "~19.4.52",
|
|
40
40
|
"@syncfusion/ej2-splitbuttons": "~19.4.52"
|
|
41
41
|
},
|
|
@@ -69,6 +69,6 @@
|
|
|
69
69
|
"url": "https://github.com/syncfusion/ej2-javascript-ui-controls/tree/master/controls/querybuilder"
|
|
70
70
|
},
|
|
71
71
|
"typings": "index.d.ts",
|
|
72
|
-
"version": "19.4.
|
|
72
|
+
"version": "19.4.56",
|
|
73
73
|
"sideEffects": false
|
|
74
74
|
}
|
|
@@ -191,6 +191,7 @@ var QueryBuilder = /** @class */ (function (_super) {
|
|
|
191
191
|
_this.isFieldChange = false;
|
|
192
192
|
_this.isFieldClose = false;
|
|
193
193
|
_this.isDestroy = false;
|
|
194
|
+
_this.isGetNestedData = false;
|
|
194
195
|
MultiSelect.Inject(CheckBoxSelection);
|
|
195
196
|
return _this;
|
|
196
197
|
}
|
|
@@ -790,6 +791,7 @@ var QueryBuilder = /** @class */ (function (_super) {
|
|
|
790
791
|
*/
|
|
791
792
|
QueryBuilder.prototype.validateFields = function () {
|
|
792
793
|
var isValid = true;
|
|
794
|
+
var dropDownTreeObj;
|
|
793
795
|
if (this.allowValidation) {
|
|
794
796
|
var excludeOprs = ['isnull', 'isnotnull', 'isempty', 'isnotempty'];
|
|
795
797
|
var i = void 0;
|
|
@@ -809,9 +811,18 @@ var QueryBuilder = /** @class */ (function (_super) {
|
|
|
809
811
|
rule = this.getParentGroup(groupElem);
|
|
810
812
|
index = 0;
|
|
811
813
|
indexElem = tempElem = ruleElemCln[i];
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
814
|
+
if (this.fieldMode === 'DropdownTree') {
|
|
815
|
+
dropDownTreeObj = getComponent(ruleElemCln[i].querySelector('.e-rule-field input.e-control'), 'dropdowntree');
|
|
816
|
+
if (dropDownTreeObj.value && dropDownTreeObj.value.length) {
|
|
817
|
+
this.selectedColumn = this.getColumn(dropDownTreeObj.value[0]);
|
|
818
|
+
validateRule = this.selectedColumn.validation;
|
|
819
|
+
}
|
|
820
|
+
}
|
|
821
|
+
else {
|
|
822
|
+
dropDownObj = getComponent(ruleElemCln[i].querySelector('.e-rule-field input.e-control'), 'dropdownlist');
|
|
823
|
+
this.selectedColumn = dropDownObj.getDataByValue(dropDownObj.value);
|
|
824
|
+
validateRule = !isNullOrUndefined(dropDownObj.index) && this.selectedColumn.validation;
|
|
825
|
+
}
|
|
815
826
|
fieldElem = tempElem.querySelector('.e-rule-field input.e-control');
|
|
816
827
|
if (validateRule && validateRule.isRequired) {
|
|
817
828
|
while (indexElem && indexElem.previousElementSibling !== null) {
|
|
@@ -849,7 +860,9 @@ var QueryBuilder = /** @class */ (function (_super) {
|
|
|
849
860
|
}
|
|
850
861
|
}
|
|
851
862
|
}
|
|
852
|
-
else if (dropDownObj.element && isNullOrUndefined(dropDownObj.index))
|
|
863
|
+
else if ((dropDownObj && dropDownObj.element && isNullOrUndefined(dropDownObj.index)) ||
|
|
864
|
+
(dropDownTreeObj && dropDownTreeObj.element && (isNullOrUndefined(dropDownTreeObj.value) ||
|
|
865
|
+
dropDownTreeObj.value.length < 1))) {
|
|
853
866
|
if (fieldElem.parentElement.className.indexOf('e-tooltip') < 0) {
|
|
854
867
|
this.renderToolTip(fieldElem.parentElement);
|
|
855
868
|
}
|
|
@@ -1332,7 +1345,7 @@ var QueryBuilder = /** @class */ (function (_super) {
|
|
|
1332
1345
|
var fieldElem = closest(args.element, '.e-rule-filter') || closest(args.element, '.e-rule-sub-filter');
|
|
1333
1346
|
var column = this.fieldMode === 'DropdownTree' ? this.getColumn(args.value[0]) : this.getColumn(args.value);
|
|
1334
1347
|
if (this.fieldMode === 'DropdownTree' && fieldElem != null) {
|
|
1335
|
-
var ddtElem = fieldElem.querySelector('.e-control');
|
|
1348
|
+
var ddtElem = fieldElem.querySelector('.e-dropdowntree.e-control');
|
|
1336
1349
|
var ddt = getComponent(ddtElem, 'dropdowntree');
|
|
1337
1350
|
if (column) {
|
|
1338
1351
|
if (column.type === 'object') {
|
|
@@ -1815,17 +1828,42 @@ var QueryBuilder = /** @class */ (function (_super) {
|
|
|
1815
1828
|
QueryBuilder.prototype.getDistinctValues = function (dataSource, field) {
|
|
1816
1829
|
var original = {};
|
|
1817
1830
|
var result = [];
|
|
1818
|
-
|
|
1819
|
-
|
|
1831
|
+
var nest = [];
|
|
1832
|
+
var value = "";
|
|
1833
|
+
var isNested = field.indexOf(this.separator);
|
|
1834
|
+
var _loop_2 = function (i, iLen) {
|
|
1835
|
+
if (isNested === 0) {
|
|
1836
|
+
value = dataSource[i][field];
|
|
1837
|
+
}
|
|
1838
|
+
else {
|
|
1839
|
+
nest = field.split(this_2.separator);
|
|
1840
|
+
nest.forEach(function (element) {
|
|
1841
|
+
if (value) {
|
|
1842
|
+
value = value[element];
|
|
1843
|
+
}
|
|
1844
|
+
else {
|
|
1845
|
+
value = dataSource[i][element];
|
|
1846
|
+
}
|
|
1847
|
+
});
|
|
1848
|
+
}
|
|
1820
1849
|
if (Number(dataSource[i][field]) === dataSource[i][field] && dataSource[i][field] % 1 !== 0) {
|
|
1821
1850
|
value = dataSource[i][field].toString();
|
|
1822
1851
|
}
|
|
1823
1852
|
var data = {};
|
|
1824
|
-
if (!(value in original)) {
|
|
1853
|
+
if (!(value in original) && !isNullOrUndefined(value)) {
|
|
1825
1854
|
original[value] = 1;
|
|
1826
|
-
|
|
1855
|
+
if (isNested === 0) {
|
|
1856
|
+
data[field] = value;
|
|
1857
|
+
}
|
|
1858
|
+
else {
|
|
1859
|
+
data[nest[nest.length - 1]] = value;
|
|
1860
|
+
}
|
|
1827
1861
|
result.push(data);
|
|
1828
1862
|
}
|
|
1863
|
+
};
|
|
1864
|
+
var this_2 = this;
|
|
1865
|
+
for (var i = 0, iLen = dataSource.length; i < iLen; i++) {
|
|
1866
|
+
_loop_2(i, iLen);
|
|
1829
1867
|
}
|
|
1830
1868
|
return result;
|
|
1831
1869
|
};
|
|
@@ -1833,6 +1871,7 @@ var QueryBuilder = /** @class */ (function (_super) {
|
|
|
1833
1871
|
var isFetched = false;
|
|
1834
1872
|
var ds;
|
|
1835
1873
|
var isValues = false;
|
|
1874
|
+
this.isGetNestedData = false;
|
|
1836
1875
|
if (this.dataColl[1]) {
|
|
1837
1876
|
if (Object.keys(this.dataColl[1]).indexOf(rule.field) > -1) {
|
|
1838
1877
|
isFetched = true;
|
|
@@ -1843,11 +1882,17 @@ var QueryBuilder = /** @class */ (function (_super) {
|
|
|
1843
1882
|
if (!this.dataColl.length && values.length) {
|
|
1844
1883
|
isValues = true;
|
|
1845
1884
|
}
|
|
1885
|
+
var fieldValue = this.selectedRule.field;
|
|
1886
|
+
var isNested = this.selectedRule.field.indexOf(this.separator);
|
|
1887
|
+
if (isNested !== 0 && this.fieldMode !== "DropdownTree") {
|
|
1888
|
+
var nest = this.selectedRule.field.split(this.separator);
|
|
1889
|
+
fieldValue = nest[nest.length - 1];
|
|
1890
|
+
}
|
|
1846
1891
|
var multiSelectValue;
|
|
1847
1892
|
multiSelectValue = {
|
|
1848
1893
|
dataSource: isValues ? values : (isFetched ? ds : this.dataManager),
|
|
1849
1894
|
query: new Query([rule.field]),
|
|
1850
|
-
fields: { text:
|
|
1895
|
+
fields: { text: fieldValue, value: fieldValue },
|
|
1851
1896
|
placeholder: this.l10n.getConstant('SelectValue'),
|
|
1852
1897
|
value: selectedValue,
|
|
1853
1898
|
mode: 'CheckBox',
|
|
@@ -1875,6 +1920,10 @@ var QueryBuilder = /** @class */ (function (_super) {
|
|
|
1875
1920
|
if (Object.keys(this.dataColl[1]).indexOf(value) > -1) {
|
|
1876
1921
|
isFetched = true;
|
|
1877
1922
|
}
|
|
1923
|
+
var isNest = value.indexOf(this.separator);
|
|
1924
|
+
if (isNest !== 0 && this.isGetNestedData) {
|
|
1925
|
+
isFetched = true;
|
|
1926
|
+
}
|
|
1878
1927
|
}
|
|
1879
1928
|
if (!isFetched) {
|
|
1880
1929
|
args.cancel = true;
|
|
@@ -1903,6 +1952,7 @@ var QueryBuilder = /** @class */ (function (_super) {
|
|
|
1903
1952
|
}
|
|
1904
1953
|
_this.dataColl = extend(_this.dataColl, dummyData, [], true);
|
|
1905
1954
|
multiselectObj.dataSource = _this.getDistinctValues(_this.dataColl, value);
|
|
1955
|
+
_this.isGetNestedData = true;
|
|
1906
1956
|
hideSpinner(closest(element, '.e-multi-select-wrapper').parentElement);
|
|
1907
1957
|
}).catch(function (e) {
|
|
1908
1958
|
deferred.reject(e);
|
|
@@ -3625,7 +3675,7 @@ var QueryBuilder = /** @class */ (function (_super) {
|
|
|
3625
3675
|
}
|
|
3626
3676
|
}
|
|
3627
3677
|
else if ((isNullOrUndefined(rule.condition)) && isNullOrUndefined(rule.rules)) {
|
|
3628
|
-
rule = {
|
|
3678
|
+
rule = {};
|
|
3629
3679
|
}
|
|
3630
3680
|
else {
|
|
3631
3681
|
if (this.enableNotCondition) {
|
|
@@ -3911,7 +3961,7 @@ var QueryBuilder = /** @class */ (function (_super) {
|
|
|
3911
3961
|
break;
|
|
3912
3962
|
}
|
|
3913
3963
|
}
|
|
3914
|
-
else if (field.indexOf(this.separator) > -1) {
|
|
3964
|
+
else if (field && field.indexOf(this.separator) > -1) {
|
|
3915
3965
|
if (columns[i].field === field.split(this.separator)[0]) {
|
|
3916
3966
|
column = columns[i];
|
|
3917
3967
|
break;
|
|
@@ -4144,6 +4194,9 @@ var QueryBuilder = /** @class */ (function (_super) {
|
|
|
4144
4194
|
}
|
|
4145
4195
|
}
|
|
4146
4196
|
}
|
|
4197
|
+
if (rule.rules.length === 0) {
|
|
4198
|
+
rule.rules[0] = { 'label': '', 'field': '', 'operator': '', 'type': '', 'value': '' };
|
|
4199
|
+
}
|
|
4147
4200
|
var ruleColl = rule.rules;
|
|
4148
4201
|
if (!isNullOrUndefined(ruleColl)) {
|
|
4149
4202
|
for (var i = 0, len = ruleColl.length; i < len; i++) {
|