@syncfusion/ej2-querybuilder 20.1.48 → 20.1.59

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.
Files changed (43) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/dist/ej2-querybuilder.umd.min.js +2 -2
  3. package/dist/ej2-querybuilder.umd.min.js.map +1 -1
  4. package/dist/es6/ej2-querybuilder.es2015.js +76 -26
  5. package/dist/es6/ej2-querybuilder.es2015.js.map +1 -1
  6. package/dist/es6/ej2-querybuilder.es5.js +72 -22
  7. package/dist/es6/ej2-querybuilder.es5.js.map +1 -1
  8. package/dist/global/ej2-querybuilder.min.js +2 -2
  9. package/dist/global/ej2-querybuilder.min.js.map +1 -1
  10. package/dist/global/index.d.ts +1 -1
  11. package/package.json +11 -11
  12. package/src/query-builder/query-builder.d.ts +2 -0
  13. package/src/query-builder/query-builder.js +72 -22
  14. package/styles/bootstrap-dark.css +31 -214
  15. package/styles/bootstrap.css +31 -214
  16. package/styles/bootstrap4.css +32 -221
  17. package/styles/bootstrap5-dark.css +32 -213
  18. package/styles/bootstrap5.css +32 -213
  19. package/styles/fabric-dark.css +31 -210
  20. package/styles/fabric.css +31 -210
  21. package/styles/fluent-dark.css +31 -212
  22. package/styles/fluent.css +31 -212
  23. package/styles/highcontrast-light.css +32 -252
  24. package/styles/highcontrast.css +32 -252
  25. package/styles/material-dark.css +27 -199
  26. package/styles/material.css +27 -199
  27. package/styles/query-builder/bootstrap-dark.css +31 -214
  28. package/styles/query-builder/bootstrap.css +31 -214
  29. package/styles/query-builder/bootstrap4.css +32 -221
  30. package/styles/query-builder/bootstrap5-dark.css +32 -213
  31. package/styles/query-builder/bootstrap5.css +32 -213
  32. package/styles/query-builder/fabric-dark.css +31 -210
  33. package/styles/query-builder/fabric.css +31 -210
  34. package/styles/query-builder/fluent-dark.css +31 -212
  35. package/styles/query-builder/fluent.css +31 -212
  36. package/styles/query-builder/highcontrast-light.css +32 -252
  37. package/styles/query-builder/highcontrast.css +32 -252
  38. package/styles/query-builder/material-dark.css +27 -199
  39. package/styles/query-builder/material.css +27 -199
  40. package/styles/query-builder/tailwind-dark.css +28 -200
  41. package/styles/query-builder/tailwind.css +28 -200
  42. package/styles/tailwind-dark.css +28 -200
  43. package/styles/tailwind.css +28 -200
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * filename: index.d.ts
3
- * version : 20.1.48
3
+ * version : 20.1.59
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@20.1.47",
3
+ "_id": "@syncfusion/ej2-querybuilder@20.1.55",
4
4
  "_inBundle": false,
5
- "_integrity": "sha512-Jb8Qv+wKPB9KkZuvy+pHquwUod46+o3tUe8woYlLR19vY7zvi7pT91lHKHz9f/4Mc/5FHNDpuW5mNZN/63F+Zw==",
5
+ "_integrity": "sha512-i1dST0CED6dcM8vnOjmfGcM2WPzIEH1WOTCpaVKQcgrlXxGm0z4IGiEG0whAakou34axPQ9gBw3Q4lWZ5ieqtA==",
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-20.1.47.tgz",
27
- "_shasum": "a9395a3817be3ef13a7f4f0da76a9f7f1302db96",
26
+ "_resolved": "http://nexus.syncfusion.com/repository/ej2-hotfix-new/@syncfusion/ej2-querybuilder/-/ej2-querybuilder-20.1.55.tgz",
27
+ "_shasum": "e66a03e35c3674b0d04d26967aff0f1bb4aa3763",
28
28
  "_spec": "@syncfusion/ej2-querybuilder@*",
29
29
  "_where": "/jenkins/workspace/automation_release_19.1.0.1-ZPMUBNQ6AUYH6YGEFBPVYMEQLRRW2SLD4XCZ6GATNZJFYJ3RIAOA/packages/included",
30
30
  "author": {
@@ -32,12 +32,12 @@
32
32
  },
33
33
  "bundleDependencies": false,
34
34
  "dependencies": {
35
- "@syncfusion/ej2-base": "~20.1.48",
36
- "@syncfusion/ej2-buttons": "~20.1.47",
37
- "@syncfusion/ej2-calendars": "~20.1.47",
38
- "@syncfusion/ej2-dropdowns": "~20.1.47",
39
- "@syncfusion/ej2-inputs": "~20.1.48",
40
- "@syncfusion/ej2-splitbuttons": "~20.1.47"
35
+ "@syncfusion/ej2-base": "~20.1.57",
36
+ "@syncfusion/ej2-buttons": "~20.1.55",
37
+ "@syncfusion/ej2-calendars": "~20.1.58",
38
+ "@syncfusion/ej2-dropdowns": "~20.1.59",
39
+ "@syncfusion/ej2-inputs": "~20.1.59",
40
+ "@syncfusion/ej2-splitbuttons": "~20.1.57"
41
41
  },
42
42
  "deprecated": false,
43
43
  "description": "Essential JS 2 QueryBuilder",
@@ -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": "20.1.48",
72
+ "version": "20.1.59",
73
73
  "sideEffects": false
74
74
  }
@@ -750,6 +750,8 @@ export declare class QueryBuilder extends Component<HTMLDivElement> implements I
750
750
  private checkNumberLiteral;
751
751
  private getOperator;
752
752
  private getTypeFromColumn;
753
+ private getLabelFromColumn;
754
+ private getLabelFromField;
753
755
  private processParser;
754
756
  }
755
757
  export interface Level {
@@ -338,7 +338,7 @@ var QueryBuilder = /** @class */ (function (_super) {
338
338
  };
339
339
  QueryBuilder.prototype.updateSubFieldsFromColumns = function (col, field) {
340
340
  for (var i = 0; i < col.length; i++) {
341
- if (this.separator != '' && col[i].field.indexOf(this.separator) < 0) {
341
+ if (this.separator !== '' && col[i].field.indexOf(this.separator) < 0) {
342
342
  col[i].field = field ? field + this.separator + col[i].field : col[i].field;
343
343
  }
344
344
  if (col[i].operators) {
@@ -565,7 +565,7 @@ var QueryBuilder = /** @class */ (function (_super) {
565
565
  var template = void 0;
566
566
  args.fields = this.fields;
567
567
  args.columns = this.columns;
568
- if (rule.field === "") {
568
+ if (rule.field === '') {
569
569
  rule.field = column.field;
570
570
  }
571
571
  args.operators = this.getOperators(rule.field);
@@ -692,7 +692,6 @@ var QueryBuilder = /** @class */ (function (_super) {
692
692
  }
693
693
  }
694
694
  else {
695
- var dropdowntree = void 0;
696
695
  var ddlField = void 0;
697
696
  var ddlValue = this.isImportRules ? rule.field : rule.field;
698
697
  ddlField = {
@@ -706,11 +705,13 @@ var QueryBuilder = /** @class */ (function (_super) {
706
705
  if (this.fieldModel) {
707
706
  ddlField = __assign({}, ddlField, this.fieldModel);
708
707
  }
709
- dropdowntree = new DropDownTree(ddlField);
708
+ var dropdowntree = new DropDownTree(ddlField);
710
709
  dropdowntree.appendTo('#' + ruleElem.id + '_filterkey');
711
710
  if (!isNullOrUndefined(dropdowntree.value)) {
712
- dropdowntree.element.value = dropdowntree.value[0];
711
+ var value = this.getLabelFromColumn(dropdowntree.value[0]);
712
+ dropdowntree.element.value = value;
713
713
  }
714
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
714
715
  var ddlVal = this.isImportRules ?
715
716
  this.GetRootColumnName(rule.field) : dropdowntree.value;
716
717
  this.selectedColumn = this.getColumn(ddlVal);
@@ -745,17 +746,20 @@ var QueryBuilder = /** @class */ (function (_super) {
745
746
  else {
746
747
  groupElem = closest(target, '.e-group-container');
747
748
  rules = this.getParentGroup(groupElem);
749
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
748
750
  var custom = rule.custom;
749
751
  if (Object.keys(rule).length) {
750
752
  rules.rules.push({
751
753
  'field': rule.field, 'type': rule.type, 'label': rule.label, 'operator': rule.operator, value: rule.value
752
754
  });
753
755
  if (custom) {
756
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
754
757
  rules.rules[rules.rules.length - 1].custom = custom;
755
758
  }
756
759
  }
757
760
  else {
758
761
  if (custom) {
762
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
759
763
  newRule.custom = custom;
760
764
  }
761
765
  rules.rules.push(newRule);
@@ -822,17 +826,17 @@ var QueryBuilder = /** @class */ (function (_super) {
822
826
  }
823
827
  }
824
828
  else {
825
- dropDownObj = getComponent(ruleElemCln[i].querySelector('.e-rule-field input.e-control'), 'dropdownlist');
829
+ dropDownObj = getComponent(ruleElemCln[i].querySelector('.e-rule-field .e-control'), 'dropdownlist');
826
830
  this.selectedColumn = dropDownObj.getDataByValue(dropDownObj.value);
827
831
  validateRule = !isNullOrUndefined(dropDownObj.index) && this.selectedColumn.validation;
828
832
  }
829
- fieldElem = tempElem.querySelector('.e-rule-field input.e-control');
833
+ fieldElem = tempElem.querySelector('.e-rule-field .e-control');
830
834
  if (validateRule && validateRule.isRequired) {
831
835
  while (indexElem && indexElem.previousElementSibling !== null) {
832
836
  indexElem = indexElem.previousElementSibling;
833
837
  index++;
834
838
  }
835
- fieldElem = tempElem.querySelector('.e-rule-operator input.e-control');
839
+ fieldElem = tempElem.querySelector('.e-rule-operator .e-control');
836
840
  if (!rule.rules[index].operator) {
837
841
  if (fieldElem.parentElement.className.indexOf('e-tooltip') < 0) {
838
842
  this.renderToolTip(fieldElem.parentElement);
@@ -845,7 +849,7 @@ var QueryBuilder = /** @class */ (function (_super) {
845
849
  if (excludeOprs.indexOf(rule.rules[index].operator) < 0 && (isNullOrUndefined(rule.rules[index].value) &&
846
850
  rule.rules[index].type !== 'date') || rule.rules[index].value === '' ||
847
851
  (rule.rules[index].value instanceof Array && valArray.length < 1)) {
848
- var valElem = tempElem.querySelectorAll('.e-rule-value input.e-control');
852
+ var valElem = tempElem.querySelectorAll('.e-rule-value .e-control');
849
853
  isValid = false;
850
854
  for (var j = 0, jLen = valElem.length; j < jLen; j++) {
851
855
  var element = valElem[j];
@@ -1370,7 +1374,8 @@ var QueryBuilder = /** @class */ (function (_super) {
1370
1374
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
1371
1375
  ddt.value = args.value[0];
1372
1376
  ddt.dataBind();
1373
- ddtElem.value = args.value[0];
1377
+ var result = this.getLabelFromColumn(args.value[0]);
1378
+ ddtElem.value = result;
1374
1379
  }
1375
1380
  }
1376
1381
  }
@@ -1400,7 +1405,7 @@ var QueryBuilder = /** @class */ (function (_super) {
1400
1405
  };
1401
1406
  QueryBuilder.prototype.changeRule = function (rule, ddlArgs) {
1402
1407
  if (!ddlArgs.itemData) {
1403
- if (this.fieldMode === "DropdownTree") {
1408
+ if (this.fieldMode === 'DropdownTree') {
1404
1409
  var ddt = getComponent(ddlArgs.element, 'dropdowntree');
1405
1410
  if (ddt.value == null) {
1406
1411
  return;
@@ -1424,6 +1429,7 @@ var QueryBuilder = /** @class */ (function (_super) {
1424
1429
  QueryBuilder.prototype.changeFilter = function (flt, dl, grID, rl, tmpRl, dArg) {
1425
1430
  var _this = this;
1426
1431
  if (flt) {
1432
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1427
1433
  var ddlValue = void 0;
1428
1434
  if (this.fieldMode === 'DropdownTree') {
1429
1435
  ddlValue = (dl.value[0]);
@@ -1450,7 +1456,9 @@ var QueryBuilder = /** @class */ (function (_super) {
1450
1456
  this.changeOperator(flt, operatorElem, dl, grID, rl, tmpRl, dArg);
1451
1457
  }
1452
1458
  };
1453
- QueryBuilder.prototype.changeOperator = function (flt, opr, dl, grID, rl, tmpRl, dArg) {
1459
+ QueryBuilder.prototype.changeOperator = function (
1460
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1461
+ flt, opr, dl, grID, rl, tmpRl, dArg) {
1454
1462
  var _this = this;
1455
1463
  var ruleElem;
1456
1464
  var ruleID;
@@ -1832,7 +1840,7 @@ var QueryBuilder = /** @class */ (function (_super) {
1832
1840
  var original = {};
1833
1841
  var result = [];
1834
1842
  var nest = [];
1835
- var value = "";
1843
+ var value = '';
1836
1844
  var isNested = field.indexOf(this.separator);
1837
1845
  var _loop_2 = function (i, iLen) {
1838
1846
  if (isNested === 0) {
@@ -1840,6 +1848,7 @@ var QueryBuilder = /** @class */ (function (_super) {
1840
1848
  }
1841
1849
  else {
1842
1850
  nest = field.split(this_2.separator);
1851
+ // eslint-disable-next-line @typescript-eslint/tslint/config
1843
1852
  nest.forEach(function (element) {
1844
1853
  if (value) {
1845
1854
  value = value[element];
@@ -1853,7 +1862,7 @@ var QueryBuilder = /** @class */ (function (_super) {
1853
1862
  value = dataSource[i][field].toString();
1854
1863
  }
1855
1864
  var data = {};
1856
- if (!(value in original) && !isNullOrUndefined(value)) {
1865
+ if (!(value in original)) {
1857
1866
  original[value] = 1;
1858
1867
  if (isNested === 0) {
1859
1868
  data[field] = value;
@@ -1887,7 +1896,7 @@ var QueryBuilder = /** @class */ (function (_super) {
1887
1896
  }
1888
1897
  var fieldValue = this.selectedRule.field;
1889
1898
  var isNested = this.selectedRule.field.indexOf(this.separator);
1890
- if (isNested !== 0 && this.fieldMode !== "DropdownTree") {
1899
+ if (isNested !== 0 && this.fieldMode !== 'DropdownTree') {
1891
1900
  var nest = this.selectedRule.field.split(this.separator);
1892
1901
  fieldValue = nest[nest.length - 1];
1893
1902
  }
@@ -1999,10 +2008,10 @@ var QueryBuilder = /** @class */ (function (_super) {
1999
2008
  };
2000
2009
  QueryBuilder.prototype.getItemData = function (parentId) {
2001
2010
  var fieldObj = getComponent(document.getElementById(parentId + '_filterkey'), 'dropdownlist');
2002
- if (this.fieldMode === "DropdownTree") {
2011
+ if (this.fieldMode === 'DropdownTree') {
2003
2012
  fieldObj = getComponent(document.getElementById(parentId + '_filterkey'), 'dropdowntree');
2004
2013
  }
2005
- return this.fieldMode === "DropdownTree" ? this.getColumn(fieldObj.value[0]) : this.getColumn(fieldObj.value);
2014
+ return this.fieldMode === 'DropdownTree' ? this.getColumn(fieldObj.value[0]) : this.getColumn(fieldObj.value);
2006
2015
  };
2007
2016
  QueryBuilder.prototype.setDefaultValue = function (parentId, isArryValue, isNumber) {
2008
2017
  var itemData = this.getItemData(parentId);
@@ -2333,6 +2342,7 @@ var QueryBuilder = /** @class */ (function (_super) {
2333
2342
  };
2334
2343
  QueryBuilder.prototype.getPreviousItemData = function (prevItemData, column) {
2335
2344
  if (this.isFieldClose && prevItemData) {
2345
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2336
2346
  prevItemData = this.getColumn(prevItemData.value);
2337
2347
  }
2338
2348
  if (column.template && prevItemData && Object.keys(prevItemData).length < 4) {
@@ -2346,6 +2356,7 @@ var QueryBuilder = /** @class */ (function (_super) {
2346
2356
  var filtObj = this.fieldMode === 'DropdownTree' ? getComponent(filtElem, 'dropdowntree')
2347
2357
  : getComponent(filtElem, 'dropdownlist');
2348
2358
  var column = this.fieldMode === 'DropdownTree' ? this.getColumn(filtObj.value[0])
2359
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2349
2360
  : this.getColumn(filtObj.value);
2350
2361
  this.selectedRule = column;
2351
2362
  if (isRender) {
@@ -2590,7 +2601,9 @@ var QueryBuilder = /** @class */ (function (_super) {
2590
2601
  }
2591
2602
  dropDownObj = this.fieldMode === 'DropdownTree' ? getComponent(target, 'dropdowntree') :
2592
2603
  getComponent(target, 'dropdownlist');
2604
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2593
2605
  var column = this.fieldMode === 'DropdownTree' ? this.getColumn(dropDownObj.value[0])
2606
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2594
2607
  : this.getColumn(dropDownObj.value);
2595
2608
  if (!this.isImportRules && rule.rules[index].field && rule.rules[index].field.toLowerCase() !== column.field.toLowerCase()) {
2596
2609
  if (!(ruleElem.querySelectorAll('.e-template')) && !(operator.indexOf('null') > -1)
@@ -2617,8 +2630,8 @@ var QueryBuilder = /** @class */ (function (_super) {
2617
2630
  if (elementCln.length < 1) {
2618
2631
  elementCln = valueContainer.querySelectorAll('.e-template');
2619
2632
  }
2633
+ eventsArgs = { groupID: groupID, ruleID: ruleID, value: rule.rules[index].field, type: 'field' };
2620
2634
  for (var i_1 = 0; i_1 < elementCln.length; i_1++) {
2621
- eventsArgs = { groupID: groupID, ruleID: ruleID, value: rule.rules[index].field, type: 'field' };
2622
2635
  if (operator.indexOf('null') > -1 || operator.indexOf('empty') > -1) {
2623
2636
  rule.rules[index].value = null;
2624
2637
  continue;
@@ -3527,11 +3540,18 @@ var QueryBuilder = /** @class */ (function (_super) {
3527
3540
  }
3528
3541
  }
3529
3542
  var isTemplateRendered = clnruleElem.querySelector('.e-template-value');
3543
+ // eslint-disable
3530
3544
  try {
3531
3545
  detach(clnruleElem);
3532
3546
  }
3533
3547
  catch (err) {
3548
+ // eslint-disable-next-line no-ex-assign
3549
+ err = [];
3550
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3551
+ var error = 'error';
3552
+ err[error] = error;
3534
3553
  }
3554
+ // eslint-enable
3535
3555
  if (column && column.ruleTemplate) {
3536
3556
  this.clearQBTemplate([clnruleElem.id]);
3537
3557
  }
@@ -3941,8 +3961,8 @@ var QueryBuilder = /** @class */ (function (_super) {
3941
3961
  }
3942
3962
  }
3943
3963
  if (this.dataSource instanceof DataManager) {
3944
- if (!isNullOrUndefined(pred) && (pred.operator === "isnull" || pred.operator === "notnull")) {
3945
- pred.operator = pred.operator === "isnull" ? "equal" : "notequal";
3964
+ if (!isNullOrUndefined(pred) && (pred.operator === 'isnull' || pred.operator === 'notnull')) {
3965
+ pred.operator = pred.operator === 'isnull' ? 'equal' : 'notequal';
3946
3966
  }
3947
3967
  }
3948
3968
  return pred;
@@ -4449,7 +4469,7 @@ var QueryBuilder = /** @class */ (function (_super) {
4449
4469
  }
4450
4470
  queryStr += rule.field + ' ' + this.operators[rule.operator] + ' ' + valueStr;
4451
4471
  }
4452
- if (rule.condition && rule.condition != '') {
4472
+ if (rule.condition && rule.condition !== '') {
4453
4473
  condition = rule.condition;
4454
4474
  }
4455
4475
  }
@@ -4590,7 +4610,6 @@ var QueryBuilder = /** @class */ (function (_super) {
4590
4610
  this.parser.push(['Literal', matchValue]);
4591
4611
  return matchValue.length + 2;
4592
4612
  }
4593
- // eslint-disable-next-line
4594
4613
  if (this.checkNumberLiteral(sqlString)) {
4595
4614
  matchValue = /^[0-9]+(\.[0-9]+)?/.exec(sqlString)[0];
4596
4615
  this.parser.push(['Literal', matchValue]);
@@ -4685,6 +4704,37 @@ var QueryBuilder = /** @class */ (function (_super) {
4685
4704
  var columnData = this.getColumn(rules.field);
4686
4705
  return columnData.type;
4687
4706
  };
4707
+ QueryBuilder.prototype.getLabelFromColumn = function (field) {
4708
+ var label = '';
4709
+ var l = 0;
4710
+ if (this.separator !== '') {
4711
+ var fieldColl = field.split(this.separator);
4712
+ for (var i = 0; i < fieldColl.length; i++) {
4713
+ label += this.getLabelFromField(fieldColl, i + 1);
4714
+ l++;
4715
+ if (l < fieldColl.length) {
4716
+ label += this.separator;
4717
+ }
4718
+ }
4719
+ return label;
4720
+ }
4721
+ else {
4722
+ var labelItem = this.getColumn(field).label;
4723
+ return labelItem;
4724
+ }
4725
+ };
4726
+ QueryBuilder.prototype.getLabelFromField = function (field, startIdx) {
4727
+ var fieldName = '';
4728
+ var j = 0;
4729
+ for (var k = 0; k < startIdx; k++) {
4730
+ fieldName += field[k];
4731
+ j++;
4732
+ if (j < startIdx) {
4733
+ fieldName += this.separator;
4734
+ }
4735
+ }
4736
+ return this.getColumn(fieldName).label;
4737
+ };
4688
4738
  QueryBuilder.prototype.processParser = function (parser, rules, levelColl) {
4689
4739
  var j;
4690
4740
  var jLen;