@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.
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * filename: index.d.ts
3
- * version : 19.4.52
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.48",
3
+ "_id": "@syncfusion/ej2-querybuilder@19.4.55",
4
4
  "_inBundle": false,
5
- "_integrity": "sha512-38+4DXealvr+/ilsoiXsSbntiZsi12LiBsyZj7m2Lt2sYbqASv3glc3KevxKzpN+56ID6iVUnDtp3hAGn6FehA==",
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.48.tgz",
27
- "_shasum": "40848896d9dba8fe345fae9dc651c97e14420f14",
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.52",
37
- "@syncfusion/ej2-calendars": "~19.4.52",
38
- "@syncfusion/ej2-dropdowns": "~19.4.52",
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.52",
72
+ "version": "19.4.56",
73
73
  "sideEffects": false
74
74
  }
@@ -288,6 +288,7 @@ export declare class QueryBuilder extends Component<HTMLDivElement> implements I
288
288
  private isFieldChange;
289
289
  private isFieldClose;
290
290
  private isDestroy;
291
+ private isGetNestedData;
291
292
  /**
292
293
  * Triggers when the component is created.
293
294
  *
@@ -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
- dropDownObj = getComponent(ruleElemCln[i].querySelector('.e-rule-field input.e-control'), 'dropdownlist');
813
- this.selectedColumn = dropDownObj.getDataByValue(dropDownObj.value);
814
- validateRule = !isNullOrUndefined(dropDownObj.index) && this.selectedColumn.validation;
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
- for (var i = 0, iLen = dataSource.length; i < iLen; i++) {
1819
- var value = dataSource[i][field];
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
- data[field] = value;
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: this.selectedRule.field, value: this.selectedRule.field },
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 = { 'label': '', 'field': '', 'operator': '', 'type': '', 'value': '' };
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++) {