@syncfusion/ej2-querybuilder 24.1.46 → 24.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.
@@ -643,7 +643,8 @@ let QueryBuilder = class QueryBuilder extends Component {
643
643
  dataSource: this.columns,
644
644
  fields: this.fields, placeholder: this.l10n.getConstant('SelectField'),
645
645
  popupHeight: ((this.columns.length > 5) ? height : 'auto'), close: this.fieldClose.bind(this, ruleElem.id + '_filterkey'),
646
- change: this.changeField.bind(this), value: rule ? ddlValue : null, open: this.popupOpen.bind(this, true)
646
+ change: this.changeField.bind(this), value: rule ? ddlValue : null, open: this.popupOpen.bind(this, true),
647
+ cssClass: 'qb-dropdownlist'
647
648
  };
648
649
  if (this.fieldModel) {
649
650
  ddlField = Object.assign({}, ddlField, this.fieldModel);
@@ -770,9 +771,14 @@ let QueryBuilder = class QueryBuilder extends Component {
770
771
  }
771
772
  }
772
773
  renderToolTip(element) {
773
- const tooltip = new Tooltip({ content: this.l10n.getConstant('ValidationMessage'),
774
+ const tooltip = new Tooltip({ content: this.l10n.getConstant('ValidationMessage'), isSticky: true,
774
775
  position: 'BottomCenter', cssClass: 'e-querybuilder-error', afterClose: () => {
775
776
  tooltip.destroy();
777
+ }, beforeOpen: (args) => {
778
+ const tooltipCloseElement = args.element.querySelector('.e-tooltip-close');
779
+ if (tooltipCloseElement) {
780
+ tooltipCloseElement.style.display = 'none';
781
+ }
776
782
  } });
777
783
  tooltip.appendTo(element);
778
784
  tooltip.open(element);
@@ -826,7 +832,7 @@ let QueryBuilder = class QueryBuilder extends Component {
826
832
  }
827
833
  fieldElem = tempElem.querySelector('.e-rule-operator .e-control');
828
834
  if (!rule.rules[index].operator) {
829
- if (fieldElem.parentElement.className.indexOf('e-tooltip') < 0) {
835
+ if (fieldElem.parentElement.className.indexOf('e-tooltip') < 0 && fieldElem.className.indexOf('e-tooltip') < 0) {
830
836
  this.renderToolTip(fieldElem.parentElement);
831
837
  }
832
838
  isValid = false;
@@ -2900,6 +2906,7 @@ let QueryBuilder = class QueryBuilder extends Component {
2900
2906
  let i;
2901
2907
  let len;
2902
2908
  let tooltip;
2909
+ let popupElement;
2903
2910
  super.destroy();
2904
2911
  element = this.element.querySelectorAll('.e-addrulegroup');
2905
2912
  len = element.length;
@@ -2907,6 +2914,12 @@ let QueryBuilder = class QueryBuilder extends Component {
2907
2914
  getComponent(element[i], 'dropdown-btn').destroy();
2908
2915
  detach(element[i]);
2909
2916
  }
2917
+ popupElement = document.querySelectorAll('.qb-dropdownlist');
2918
+ if (popupElement) {
2919
+ for (i = 0; i < popupElement.length; i++) {
2920
+ popupElement[i].remove();
2921
+ }
2922
+ }
2910
2923
  tooltip = this.element.querySelectorAll('.e-rule-filter .e-control.e-tooltip');
2911
2924
  for (i = 0; i < tooltip.length; i++) {
2912
2925
  getComponent(tooltip[i], 'tooltip').destroy();
@@ -3526,9 +3539,11 @@ let QueryBuilder = class QueryBuilder extends Component {
3526
3539
  if (remRule && remRule.rules) {
3527
3540
  for (let r = 0; r < remRule.rules.length; r++) {
3528
3541
  const column = this.getColumn(remRule.rules[r].field);
3529
- const isTemplateRendered = ruleElemColl[r].querySelector('.e-template-value');
3530
- if (column && (column.ruleTemplate || (this.isPlatformTemplate(column) && isTemplateRendered))) {
3531
- removeString.push(ruleElemColl[r].id);
3542
+ if (ruleElemColl[r]) {
3543
+ const isTemplateRendered = ruleElemColl[r].querySelector('.e-template-value');
3544
+ if (column && (column.ruleTemplate || (this.isPlatformTemplate(column) && isTemplateRendered))) {
3545
+ removeString.push(ruleElemColl[r].id);
3546
+ }
3532
3547
  }
3533
3548
  }
3534
3549
  }