@syncfusion/ej2-querybuilder 25.1.37 → 25.1.38

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.
@@ -1756,7 +1756,7 @@ let QueryBuilder = class QueryBuilder extends Component {
1756
1756
  this.GetRootColumnName(rule.field) === this.GetRootColumnName(this.previousColumn.field))) {
1757
1757
  const subField = this.selectedColumn.columns;
1758
1758
  for (let i = 0; i < subField.length; i++) {
1759
- if (rule.field === subField[i].field) {
1759
+ if (rule.field === subField[i].field || rule.field.indexOf(subField[i].field + this.separator) > -1) {
1760
1760
  dropDownList.value = subField[i].field;
1761
1761
  this.selectedColumn = subField[i];
1762
1762
  subFieldValue = true;
@@ -2256,7 +2256,7 @@ let QueryBuilder = class QueryBuilder extends Component {
2256
2256
  const columnData = this.getItemData(parentId);
2257
2257
  let selectedValue;
2258
2258
  const isTemplate = (typeof columnData.template === 'string');
2259
- if (this.isImportRules || this.ruleIndex > -1 || this.groupIndex > -1 || this.isPublic || isTemplate) {
2259
+ if (this.isImportRules || this.ruleIndex > -1 || this.groupIndex > -1 || this.isPublic || isTemplate || rule.value != '') {
2260
2260
  selectedValue = rule.value;
2261
2261
  }
2262
2262
  else {
@@ -2295,7 +2295,7 @@ let QueryBuilder = class QueryBuilder extends Component {
2295
2295
  renderNumberValue(parentId, rule, operator, idx, ruleValElem, itemData, length) {
2296
2296
  const columnData = this.getItemData(parentId);
2297
2297
  const isTemplate = (typeof columnData.template === 'string');
2298
- let selectedVal = (this.isImportRules || this.ruleIndex > -1 || this.groupIndex > -1 || this.isPublic || isTemplate) ? rule.value : this.setDefaultValue(parentId, false, true);
2298
+ let selectedVal = (this.isImportRules || this.ruleIndex > -1 || this.groupIndex > -1 || this.isPublic || isTemplate || typeof rule.value === 'number') ? rule.value : this.setDefaultValue(parentId, false, true);
2299
2299
  if ((operator === 'in' || operator === 'notin') && (this.dataColl.length || columnData.values)) {
2300
2300
  selectedVal = (this.isImportRules || this.ruleIndex > -1 || this.groupIndex > -1) ? rule.value : this.setDefaultValue(parentId, true, false);
2301
2301
  this.renderMultiSelect(columnData, parentId, idx, selectedVal, columnData.values);
@@ -2431,6 +2431,10 @@ let QueryBuilder = class QueryBuilder extends Component {
2431
2431
  let datePicker;
2432
2432
  const place = this.l10n.getConstant('SelectValue');
2433
2433
  const isTemplate = (typeof itemData.template === 'string');
2434
+ if (rule.value && !isNullOrUndefined(format)) {
2435
+ selVal = (length > 1) ? rule.value[i] : rule.value;
2436
+ selectedValue = this.parseDate(selVal, format) || new Date();
2437
+ }
2434
2438
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
2435
2439
  if (!itemData.field && !itemData.key && itemData.value) {
2436
2440
  if (itemData.value instanceof Date) {
@@ -2531,7 +2535,15 @@ let QueryBuilder = class QueryBuilder extends Component {
2531
2535
  isCheck = values[i].toString().toLowerCase() === itemData.value.toString().toLowerCase();
2532
2536
  }
2533
2537
  else if (i === 0) {
2534
- isCheck = true;
2538
+ if (typeof rule.value === 'boolean') {
2539
+ isCheck = rule.value ? true : false;
2540
+ }
2541
+ else {
2542
+ isCheck = true;
2543
+ }
2544
+ }
2545
+ if (typeof rule.value === 'boolean' && i === 1) {
2546
+ isCheck = !rule.value ? true : false;
2535
2547
  }
2536
2548
  value = values[i].toString();
2537
2549
  orgValue = values[i];
@@ -2548,7 +2560,7 @@ let QueryBuilder = class QueryBuilder extends Component {
2548
2560
  const radiobutton = new RadioButton(radioBtn);
2549
2561
  radiobutton.appendTo('#' + parentId + '_valuekey' + i);
2550
2562
  if (isCheck) {
2551
- this.updateRules(radiobutton.element, orgValue, 0);
2563
+ this.updateRules(radiobutton.element, orgValue, 0, true);
2552
2564
  }
2553
2565
  }
2554
2566
  getOperatorIndex(ddlObj, rule) {
@@ -5198,9 +5210,9 @@ let QueryBuilder = class QueryBuilder extends Component {
5198
5210
  return matchValue.length;
5199
5211
  }
5200
5212
  // eslint-disable-next-line
5201
- if (this.checkLiteral() && /^'?([a-z_][a-z0-9 _.\[\]\(\)]{0,}(\:(number|float|string|date|boolean))?)'?/i.exec(sqlString)) {
5213
+ if (this.checkLiteral() && /^'?([a-z_][a-z0-9 _.\[\]\(\)-]{0,}(\:(number|float|string|date|boolean))?)'?/i.exec(sqlString)) {
5202
5214
  // eslint-disable-next-line
5203
- matchValue = /^'?([a-z_][a-z0-9 _.\[\]\(\)]{0,}(\:(number|float|string|date|boolean))?)'?/i.exec(sqlString)[1];
5215
+ matchValue = /^'?([a-z_][a-z0-9 _.\[\]\(\)-]{0,}(\:(number|float|string|date|boolean))?)'?/i.exec(sqlString)[1];
5204
5216
  this.parser.push(['Literal', matchValue]);
5205
5217
  return matchValue.length + 2;
5206
5218
  }