@syncfusion/ej2-querybuilder 31.1.17 → 31.2.2

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 (105) hide show
  1. package/dist/ej2-querybuilder.min.js +3 -3
  2. package/dist/ej2-querybuilder.umd.min.js +3 -3
  3. package/dist/ej2-querybuilder.umd.min.js.map +1 -1
  4. package/dist/es6/ej2-querybuilder.es2015.js +43 -9
  5. package/dist/es6/ej2-querybuilder.es2015.js.map +1 -1
  6. package/dist/es6/ej2-querybuilder.es5.js +43 -9
  7. package/dist/es6/ej2-querybuilder.es5.js.map +1 -1
  8. package/dist/global/ej2-querybuilder.min.js +3 -3
  9. package/dist/global/ej2-querybuilder.min.js.map +1 -1
  10. package/dist/global/index.d.ts +2 -2
  11. package/package.json +14 -46
  12. package/src/query-builder/query-builder-model.d.ts +7 -0
  13. package/src/query-builder/query-builder.d.ts +7 -0
  14. package/src/query-builder/query-builder.js +43 -9
  15. package/styles/bds-lite.css +37 -0
  16. package/styles/bds.css +36 -0
  17. package/styles/bootstrap-dark-lite.css +37 -0
  18. package/styles/bootstrap-dark.css +36 -0
  19. package/styles/bootstrap-lite.css +37 -0
  20. package/styles/bootstrap.css +36 -0
  21. package/styles/bootstrap4-lite.css +45 -0
  22. package/styles/bootstrap4.css +44 -0
  23. package/styles/bootstrap5-dark-lite.css +37 -0
  24. package/styles/bootstrap5-dark.css +36 -0
  25. package/styles/bootstrap5-lite.css +37 -0
  26. package/styles/bootstrap5.3-lite.css +37 -0
  27. package/styles/bootstrap5.3.css +36 -0
  28. package/styles/bootstrap5.css +36 -0
  29. package/styles/fabric-dark-lite.css +37 -0
  30. package/styles/fabric-dark.css +36 -0
  31. package/styles/fabric-lite.css +37 -0
  32. package/styles/fabric.css +36 -0
  33. package/styles/fluent-dark-lite.css +37 -0
  34. package/styles/fluent-dark.css +36 -0
  35. package/styles/fluent-lite.css +37 -0
  36. package/styles/fluent.css +36 -0
  37. package/styles/fluent2-lite.css +37 -0
  38. package/styles/fluent2.css +36 -0
  39. package/styles/highcontrast-light-lite.css +37 -0
  40. package/styles/highcontrast-light.css +36 -0
  41. package/styles/highcontrast-lite.css +37 -0
  42. package/styles/highcontrast.css +36 -0
  43. package/styles/material-dark-lite.css +37 -0
  44. package/styles/material-dark.css +36 -0
  45. package/styles/material-lite.css +37 -0
  46. package/styles/material.css +36 -0
  47. package/styles/material3-dark-lite.css +37 -0
  48. package/styles/material3-dark.css +36 -0
  49. package/styles/material3-lite.css +37 -0
  50. package/styles/material3.css +36 -0
  51. package/styles/query-builder/_bds-definition.scss +2 -0
  52. package/styles/query-builder/_bootstrap-dark-definition.scss +2 -0
  53. package/styles/query-builder/_bootstrap-definition.scss +4 -0
  54. package/styles/query-builder/_bootstrap4-definition.scss +3 -0
  55. package/styles/query-builder/_bootstrap5-definition.scss +2 -0
  56. package/styles/query-builder/_bootstrap5.3-definition.scss +2 -0
  57. package/styles/query-builder/_fabric-dark-definition.scss +4 -0
  58. package/styles/query-builder/_fabric-definition.scss +4 -0
  59. package/styles/query-builder/_fluent-definition.scss +2 -0
  60. package/styles/query-builder/_fluent2-definition.scss +2 -0
  61. package/styles/query-builder/_fusionnew-definition.scss +2 -0
  62. package/styles/query-builder/_highcontrast-definition.scss +4 -0
  63. package/styles/query-builder/_highcontrast-light-definition.scss +4 -0
  64. package/styles/query-builder/_material-dark-definition.scss +3 -0
  65. package/styles/query-builder/_material-definition.scss +3 -0
  66. package/styles/query-builder/_material3-definition.scss +2 -0
  67. package/styles/query-builder/_tailwind-definition.scss +2 -0
  68. package/styles/query-builder/_tailwind3-definition.scss +2 -0
  69. package/styles/query-builder/_theme.scss +23 -0
  70. package/styles/query-builder/bds.css +36 -0
  71. package/styles/query-builder/bootstrap-dark.css +36 -0
  72. package/styles/query-builder/bootstrap.css +36 -0
  73. package/styles/query-builder/bootstrap4.css +44 -0
  74. package/styles/query-builder/bootstrap5-dark.css +36 -0
  75. package/styles/query-builder/bootstrap5.3.css +36 -0
  76. package/styles/query-builder/bootstrap5.css +36 -0
  77. package/styles/query-builder/fabric-dark.css +36 -0
  78. package/styles/query-builder/fabric.css +36 -0
  79. package/styles/query-builder/fluent-dark.css +36 -0
  80. package/styles/query-builder/fluent.css +36 -0
  81. package/styles/query-builder/fluent2.css +36 -0
  82. package/styles/query-builder/highcontrast-light.css +36 -0
  83. package/styles/query-builder/highcontrast.css +36 -0
  84. package/styles/query-builder/material-dark.css +36 -0
  85. package/styles/query-builder/material.css +36 -0
  86. package/styles/query-builder/material3-dark.css +36 -0
  87. package/styles/query-builder/material3.css +36 -0
  88. package/styles/query-builder/tailwind-dark.css +36 -0
  89. package/styles/query-builder/tailwind.css +36 -0
  90. package/styles/query-builder/tailwind3.css +36 -0
  91. package/styles/tailwind-dark-lite.css +37 -0
  92. package/styles/tailwind-dark.css +36 -0
  93. package/styles/tailwind-lite.css +37 -0
  94. package/styles/tailwind.css +36 -0
  95. package/styles/tailwind3-lite.css +37 -0
  96. package/styles/tailwind3.css +36 -0
  97. package/dist/ts/index.d.ts +0 -4
  98. package/dist/ts/index.ts +0 -4
  99. package/dist/ts/query-builder/index.d.ts +0 -6
  100. package/dist/ts/query-builder/index.ts +0 -6
  101. package/dist/ts/query-builder/query-builder-model.d.ts +0 -569
  102. package/dist/ts/query-builder/query-builder.d.ts +0 -1172
  103. package/dist/ts/query-builder/query-builder.ts +0 -7612
  104. package/dist/ts/query-builder/query-library.d.ts +0 -24
  105. package/dist/ts/query-builder/query-library.ts +0 -625
@@ -161,6 +161,7 @@ let QueryBuilder = class QueryBuilder extends Component {
161
161
  this.cloneRuleBtnClick = false;
162
162
  this.isValueEmpty = false;
163
163
  this.isPropChange = false;
164
+ this.isRuleClicked = false;
164
165
  MultiSelect.Inject(CheckBoxSelection);
165
166
  }
166
167
  getPersistData() {
@@ -516,6 +517,7 @@ let QueryBuilder = class QueryBuilder extends Component {
516
517
  case target.className.indexOf('e-clone-rule-btn') > -1:
517
518
  this.actionButton = target;
518
519
  this.cloneRuleBtnClick = true;
520
+ this.isRuleClicked = true;
519
521
  this.ruleClone(target);
520
522
  break;
521
523
  case target.className.indexOf('e-lock-rule-btn') > -1:
@@ -529,6 +531,7 @@ let QueryBuilder = class QueryBuilder extends Component {
529
531
  case target.className.indexOf('e-clone-grp-btn') > -1:
530
532
  this.actionButton = target;
531
533
  this.cloneGrpBtnClick = true;
534
+ this.isRuleClicked = true;
532
535
  this.groupClone(closest(target, '.e-group-container'));
533
536
  break;
534
537
  case target.className.indexOf('e-deletegroup') > -1:
@@ -688,9 +691,11 @@ let QueryBuilder = class QueryBuilder extends Component {
688
691
  }
689
692
  }
690
693
  else if (event.element.children[0].className.indexOf('e-addrule') > -1) {
694
+ this.isRuleClicked = true;
691
695
  this.addRuleElement(closest(target, '.e-group-container'), {});
692
696
  }
693
697
  else if (event.element.children[0].className.indexOf('e-addgroup') > -1) {
698
+ this.isRuleClicked = true;
694
699
  this.addGroupElement(true, closest(target, '.e-group-container'), '', true);
695
700
  }
696
701
  }
@@ -889,6 +894,10 @@ let QueryBuilder = class QueryBuilder extends Component {
889
894
  if (!this.isImportRules) {
890
895
  this.updateAddedRule(trgt, rule, newRule, isRlTmp, pId, this.enableSeparateConnector ? true : null);
891
896
  }
897
+ if (this.rule.condition === '' && (this.isRuleClicked || this.rule.rules.length > 1)) {
898
+ this.rule.condition = 'and';
899
+ }
900
+ this.isRuleClicked = false;
892
901
  const ruleCount = this.rule.rules.length;
893
902
  if (!column || (column && !column.ruleTemplate) || !rule.field) {
894
903
  if (ruleCount > 20) {
@@ -2989,26 +2998,45 @@ let QueryBuilder = class QueryBuilder extends Component {
2989
2998
  const ddlObj = this.fieldMode === 'DropdownTree' ? getComponent(filterElem, 'dropdowntree')
2990
2999
  : getComponent(container.querySelector('.e-rule-filter .e-filter-input'), 'dropdownlist');
2991
3000
  const column = this.fieldMode === 'DropdownTree' ? this.getColumn(ddlObj.value[0]) : this.getColumn(ddlObj.value);
3001
+ if (target && target.nextElementSibling) {
3002
+ target.nextElementSibling.style.position = 'relative';
3003
+ target.nextElementSibling.classList.add('e-querybuilder-spinner');
3004
+ }
3005
+ const onComplete = () => {
3006
+ if (target && target.nextElementSibling && target.nextElementSibling.classList.contains('e-querybuilder-spinner')) {
3007
+ target.nextElementSibling.classList.remove('e-querybuilder-spinner');
3008
+ }
3009
+ };
2992
3010
  if (typeof itemData.template === 'string' || itemData.template.write === undefined) {
2993
3011
  const args = {
2994
3012
  rule: rule, ruleID: container.id, operator: tempRule.operator, field: column.field,
2995
3013
  requestType: 'value-template-create'
2996
3014
  };
2997
3015
  this.trigger('actionBegin', args);
3016
+ onComplete();
2998
3017
  }
2999
3018
  else {
3000
3019
  const template = itemData.template;
3020
+ const templateArgs = {
3021
+ elements: tempElements.length > 1 ? tempElements : tempElements[0],
3022
+ values: rule.value,
3023
+ operator: tempRule.operator,
3024
+ field: column.field,
3025
+ dataSource: column.values,
3026
+ onComplete: onComplete
3027
+ };
3028
+ let writeResult;
3001
3029
  if (typeof template.write === 'string') {
3002
- getValue(template.write, window)({
3003
- elements: tempElements.length > 1 ? tempElements : tempElements[0], values: rule.value,
3004
- operator: tempRule.operator, field: column.field, dataSource: column.values
3005
- });
3030
+ writeResult = getValue(template.write, window)(templateArgs);
3006
3031
  }
3007
3032
  else if (typeof itemData.template !== 'function') {
3008
- itemData.template.write({
3009
- elements: tempElements.length > 1 ? tempElements : tempElements[0],
3010
- values: rule.value, operator: tempRule.operator, field: column.field, dataSource: column.values
3011
- });
3033
+ writeResult = itemData.template.write(templateArgs);
3034
+ }
3035
+ if (writeResult && typeof writeResult.then === 'function') {
3036
+ writeResult.then(() => onComplete());
3037
+ }
3038
+ else {
3039
+ setTimeout(() => onComplete(), 100);
3012
3040
  }
3013
3041
  }
3014
3042
  }
@@ -4009,6 +4037,7 @@ let QueryBuilder = class QueryBuilder extends Component {
4009
4037
  }
4010
4038
  classList(this.element, [], ['e-rtl', 'e-responsive', 'e-device']);
4011
4039
  this.isDestroy = false;
4040
+ super.destroy();
4012
4041
  }
4013
4042
  /**
4014
4043
  * Adds single or multiple rules.
@@ -7355,7 +7384,8 @@ let QueryBuilder = class QueryBuilder extends Component {
7355
7384
  deleteElem: groupElem.querySelectorAll('.e-rule-delete'),
7356
7385
  lockElem: groupElem.querySelectorAll('.e-lock-rule'),
7357
7386
  cloneElem: groupElem.querySelectorAll('.e-clone-rule'),
7358
- ruleElem: groupElem.querySelectorAll('.e-rule-container')
7387
+ ruleElem: groupElem.querySelectorAll('.e-rule-container'),
7388
+ ddTree: groupElem.querySelectorAll('.e-control.e-dropdowntree')
7359
7389
  };
7360
7390
  elements.deleteElem.forEach((elem, i) => {
7361
7391
  if (isDisabled) {
@@ -7392,11 +7422,15 @@ let QueryBuilder = class QueryBuilder extends Component {
7392
7422
  disableComponents(elements.checkbox, (elem) => getComponent(elem, 'checkbox'), isDisabled);
7393
7423
  disableComponents(elements.radio, (elem) => getComponent(elem, 'radio'), isDisabled);
7394
7424
  disableComponents(elements.multiSelect, (elem) => getComponent(elem, 'multiselect'), isDisabled);
7425
+ disableComponents(elements.ddTree, (elem) => getComponent(elem, 'dropdowntree'), isDisabled);
7395
7426
  }
7396
7427
  };
7397
7428
  __decorate([
7398
7429
  Event()
7399
7430
  ], QueryBuilder.prototype, "created", void 0);
7431
+ __decorate([
7432
+ Event()
7433
+ ], QueryBuilder.prototype, "destroyed", void 0);
7400
7434
  __decorate([
7401
7435
  Event()
7402
7436
  ], QueryBuilder.prototype, "actionBegin", void 0);