@syncfusion/ej2-querybuilder 19.3.44 → 19.4.40

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.
@@ -878,7 +878,7 @@ let QueryBuilder = class QueryBuilder extends Component {
878
878
  else {
879
879
  clsName = 'e-removerule e-rule-delete e-css e-btn e-small e-button-hide';
880
880
  }
881
- const delBtnElem = this.createElement('button', { attrs: { class: clsName } });
881
+ const delBtnElem = this.createElement('button', { attrs: { type: 'button', class: clsName } });
882
882
  tempElem.appendChild(delBtnElem);
883
883
  fieldElem.appendChild(tempElem);
884
884
  ruleElem.appendChild(fieldElem);
@@ -929,7 +929,7 @@ let QueryBuilder = class QueryBuilder extends Component {
929
929
  }
930
930
  if (isGroup) {
931
931
  const clsName = this.showButtons.groupDelete ? 'e-deletegroup' : 'e-deletegroup e-button-hide';
932
- dltGroupBtn = this.createElement('button', { attrs: { class: clsName } });
932
+ dltGroupBtn = this.createElement('button', { attrs: { type: 'button', class: clsName } });
933
933
  const button = new Button({ iconCss: 'e-icons e-delete-icon', cssClass: 'e-small e-round' });
934
934
  button.appendTo(dltGroupBtn);
935
935
  dltGroupBtn.setAttribute('title', this.l10n.getConstant('DeleteGroup'));
@@ -2841,7 +2841,7 @@ let QueryBuilder = class QueryBuilder extends Component {
2841
2841
  }
2842
2842
  });
2843
2843
  const textElem = this.createElement('textarea', { attrs: { class: 'e-summary-text', readonly: 'true' }, styles: 'max-height:500px' });
2844
- const editElem = this.createElement('button', { attrs: { class: 'e-edit-rule e-css e-btn e-small e-flat e-primary' } });
2844
+ const editElem = this.createElement('button', { attrs: { type: 'button', class: 'e-edit-rule e-css e-btn e-small e-flat e-primary' } });
2845
2845
  const divElem = this.createElement('div', { attrs: { class: 'e-summary-btndiv' } });
2846
2846
  contentElem.appendChild(textElem);
2847
2847
  textElem.textContent = this.getSqlFromRules(this.rule);
@@ -4448,14 +4448,8 @@ let QueryBuilder = class QueryBuilder extends Component {
4448
4448
  return operators[operator];
4449
4449
  }
4450
4450
  getTypeFromColumn(rules) {
4451
- const columnData = this.columns;
4452
- for (let i = 0; i < columnData.length; i++) {
4453
- if (columnData[i].field === rules.field) {
4454
- rules.type = columnData[i].type;
4455
- break;
4456
- }
4457
- }
4458
- return rules.type;
4451
+ const columnData = this.getColumn(rules.field);
4452
+ return columnData.type;
4459
4453
  }
4460
4454
  processParser(parser, rules, levelColl) {
4461
4455
  let j;
@@ -4470,6 +4464,7 @@ let QueryBuilder = class QueryBuilder extends Component {
4470
4464
  let lLen;
4471
4465
  let grpCount;
4472
4466
  let operator;
4467
+ let isLeftOpened = false;
4473
4468
  for (let i = 0, iLen = parser.length; i < iLen; i++) {
4474
4469
  if (parser[i][0] === 'Literal') {
4475
4470
  rule = { label: parser[i][1], field: parser[i][1] };
@@ -4488,8 +4483,12 @@ let QueryBuilder = class QueryBuilder extends Component {
4488
4483
  j = i + 1;
4489
4484
  jLen = iLen;
4490
4485
  for (j = i + 1; j < jLen; j++) {
4491
- if (parser[j][0] === 'Right') {
4486
+ if (operator.indexOf('between') < 0 && parser[j][0] === 'Left') {
4487
+ isLeftOpened = true;
4488
+ }
4489
+ else if (parser[j][0] === 'Right' && isLeftOpened) {
4492
4490
  i = j;
4491
+ isLeftOpened = false;
4493
4492
  break;
4494
4493
  }
4495
4494
  else {