@syncfusion/ej2-querybuilder 20.2.36 → 20.2.43

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.
@@ -461,7 +461,7 @@ let QueryBuilder = class QueryBuilder extends Component {
461
461
  }
462
462
  selectBtn(target, event) {
463
463
  if (event.name === 'beforeOpen') {
464
- if (this.showButtons.groupInsert) {
464
+ if (this.showButtons.groupInsert || isNullOrUndefined(this.showButtons.groupInsert)) {
465
465
  if (this.element.querySelectorAll('.e-group-container').length >= this.maxGroupCount + 1) {
466
466
  addClass([event.element.querySelector('li span.e-addgroup').parentElement], 'e-button-hide');
467
467
  }
@@ -497,7 +497,7 @@ let QueryBuilder = class QueryBuilder extends Component {
497
497
  ruleListElem.appendChild(ruleElem);
498
498
  this.ruleIdCounter++;
499
499
  }
500
- if (column && column.ruleTemplate) {
500
+ if (column && column.ruleTemplate && type !== "insertRule") {
501
501
  args = { requestType: 'template-initialize', ruleID: ruleElem.id, action: action, fields: this.fields, rule: rule };
502
502
  this.trigger('actionBegin', args);
503
503
  this.ruleTemplateFn = this.templateParser(column.ruleTemplate);
@@ -529,7 +529,7 @@ let QueryBuilder = class QueryBuilder extends Component {
529
529
  elem = this.ruleElem.querySelector('.e-rule-field').cloneNode(true);
530
530
  }
531
531
  ruleElem.appendChild(elem);
532
- if (column && column.ruleTemplate) {
532
+ if (column && column.ruleTemplate && type !== "insertRule") {
533
533
  this.renderReactTemplates();
534
534
  }
535
535
  return ruleElem;
@@ -558,7 +558,7 @@ let QueryBuilder = class QueryBuilder extends Component {
558
558
  let ruleElem;
559
559
  let newRule = { 'label': '', 'field': '', 'type': '', 'operator': '' };
560
560
  if (!args.cancel) {
561
- if (column && column.ruleTemplate) {
561
+ if (column && column.ruleTemplate && args.type !== "insertRule") {
562
562
  this.selectedColumn = column;
563
563
  operators = this.selectedColumn.operators;
564
564
  newRule = { 'label': column.label, 'field': column.field, 'type': column.type, 'operator': operators[0].value };
@@ -569,6 +569,9 @@ let QueryBuilder = class QueryBuilder extends Component {
569
569
  this.trigger('actionBegin', args);
570
570
  }
571
571
  else {
572
+ if (column && column.ruleTemplate) {
573
+ act = args.type;
574
+ }
572
575
  ruleElem = this.appendRuleElem(trgt, column, act, pId, 'field');
573
576
  ruleElem.querySelector('.e-filter-input').setAttribute('id', ruleElem.id + '_filterkey');
574
577
  let element = ruleElem.querySelector('button');
@@ -606,7 +609,7 @@ let QueryBuilder = class QueryBuilder extends Component {
606
609
  if (!this.isImportRules) {
607
610
  this.updateAddedRule(trgt, rule, newRule, isRlTmp, pId);
608
611
  }
609
- if (!column || (column && !column.ruleTemplate)) {
612
+ if (!column || (column && !column.ruleTemplate) || (column && (column.ruleTemplate && args.type == "insertRule"))) {
610
613
  if (this.fieldMode === 'Default') {
611
614
  let ddlField;
612
615
  const ddlValue = this.isImportRules ? this.GetRootColumnName(rule.field) : rule.field;
@@ -902,7 +905,7 @@ let QueryBuilder = class QueryBuilder extends Component {
902
905
  tempElem = this.createElement('div', { attrs: { class: 'e-rule-value' } });
903
906
  fieldElem.appendChild(tempElem);
904
907
  tempElem = this.createElement('div', { attrs: { class: 'e-rule-value-delete' } });
905
- if (this.showButtons.ruleDelete) {
908
+ if (this.showButtons.ruleDelete || isNullOrUndefined(this.showButtons.ruleDelete)) {
906
909
  clsName = 'e-removerule e-rule-delete e-css e-btn e-small';
907
910
  }
908
911
  else {
@@ -958,7 +961,13 @@ let QueryBuilder = class QueryBuilder extends Component {
958
961
  this.btnGroupId++;
959
962
  }
960
963
  if (isGroup) {
961
- const clsName = this.showButtons.groupDelete ? 'e-deletegroup' : 'e-deletegroup e-button-hide';
964
+ let clsName;
965
+ if (this.showButtons.groupDelete || isNullOrUndefined(this.showButtons.groupDelete)) {
966
+ clsName = 'e-deletegroup';
967
+ }
968
+ else {
969
+ clsName = 'e-deletegroup e-button-hide';
970
+ }
962
971
  dltGroupBtn = this.createElement('button', { attrs: { type: 'button', class: clsName } });
963
972
  const button = new Button({ iconCss: 'e-icons e-delete-icon', cssClass: 'e-small e-round' });
964
973
  button.appendTo(dltGroupBtn);
@@ -2305,6 +2314,14 @@ let QueryBuilder = class QueryBuilder extends Component {
2305
2314
  if (!(operator.indexOf('null') > -1 || operator.indexOf('empty') > -1)) {
2306
2315
  const parentId = closest(target, '.e-rule-container').id;
2307
2316
  prevItemData = this.getPreviousItemData(prevItemData, column);
2317
+ if (prevItemData && prevItemData.template === undefined) {
2318
+ if (prevItemData.columns) {
2319
+ prevItemData = this.getColumn(rule.field);
2320
+ }
2321
+ }
2322
+ else if (this.fieldMode === 'DropdownTree' && prevItemData === undefined) {
2323
+ prevItemData = this.getColumn(rule.field);
2324
+ }
2308
2325
  if (prevItemData && prevItemData.template) {
2309
2326
  this.templateDestroy(prevItemData, parentId + '_valuekey0');
2310
2327
  const elem = select('#' + parentId + '_valuekey0', target.nextElementSibling);