@syncfusion/ej2-querybuilder 20.2.43 → 20.2.48

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.
@@ -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 && type !== "insertRule") {
500
+ if (column && column.ruleTemplate && rule) {
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 && type !== "insertRule") {
532
+ if (column && column.ruleTemplate && rule) {
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 && args.type !== "insertRule") {
561
+ if (column && column.ruleTemplate && rule.field) {
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,9 +569,6 @@ 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
- }
575
572
  ruleElem = this.appendRuleElem(trgt, column, act, pId, 'field');
576
573
  ruleElem.querySelector('.e-filter-input').setAttribute('id', ruleElem.id + '_filterkey');
577
574
  let element = ruleElem.querySelector('button');
@@ -609,7 +606,7 @@ let QueryBuilder = class QueryBuilder extends Component {
609
606
  if (!this.isImportRules) {
610
607
  this.updateAddedRule(trgt, rule, newRule, isRlTmp, pId);
611
608
  }
612
- if (!column || (column && !column.ruleTemplate) || (column && (column.ruleTemplate && args.type == "insertRule"))) {
609
+ if (!column || (column && !column.ruleTemplate) || !rule.field) {
613
610
  if (this.fieldMode === 'Default') {
614
611
  let ddlField;
615
612
  const ddlValue = this.isImportRules ? this.GetRootColumnName(rule.field) : rule.field;
@@ -1115,6 +1112,7 @@ let QueryBuilder = class QueryBuilder extends Component {
1115
1112
  }
1116
1113
  templateChange(element, value, type) {
1117
1114
  const grpElem = closest(element, '.e-group-container');
1115
+ let eventsArgs;
1118
1116
  const rules = this.getParentGroup(grpElem);
1119
1117
  let ruleElem = closest(element, '.e-rule-container');
1120
1118
  let index = 0;
@@ -1191,7 +1189,10 @@ let QueryBuilder = class QueryBuilder extends Component {
1191
1189
  }
1192
1190
  const args = { requestType: 'template-create', action: type, ruleID: grpEle.id,
1193
1191
  fields: this.fields, rule: rule };
1192
+ eventsArgs = { groupID: grpElem.id.replace(this.element.id + '_', ''), ruleID: grpEle.id.replace(this.element.id + '_', ''),
1193
+ value: rule.field, type: 'field' };
1194
1194
  this.trigger('actionBegin', args);
1195
+ this.trigger('change', eventsArgs);
1195
1196
  }
1196
1197
  }
1197
1198
  }
@@ -4757,8 +4758,14 @@ let QueryBuilder = class QueryBuilder extends Component {
4757
4758
  rule.type = 'string';
4758
4759
  }
4759
4760
  else if (operator.indexOf('between') > -1 && parser[j - 1][0] === 'Conditions') {
4760
- rule.value = numVal;
4761
- rule.type = 'number';
4761
+ if (strVal.length !== 0) {
4762
+ rule.value = strVal;
4763
+ rule.type = 'string';
4764
+ }
4765
+ else {
4766
+ rule.value = numVal;
4767
+ rule.type = 'number';
4768
+ }
4762
4769
  }
4763
4770
  numVal = [];
4764
4771
  strVal = [];