@syncfusion/ej2-querybuilder 31.2.2 → 31.2.4

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.
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * filename: index.d.ts
3
- * version : 31.2.2
3
+ * version : 31.2.4
4
4
  * Copyright Syncfusion Inc. 2001 - 2025. All rights reserved.
5
5
  * Use of this code is subject to the terms of our license.
6
6
  * A copy of the current license can be obtained at any time by e-mailing
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@syncfusion/ej2-querybuilder",
3
- "version": "31.2.2",
3
+ "version": "31.2.4",
4
4
  "description": "Essential JS 2 QueryBuilder",
5
5
  "author": "Syncfusion Inc.",
6
6
  "license": "SEE LICENSE IN license",
@@ -8,11 +8,11 @@
8
8
  "module": "./index.js",
9
9
  "es2015": "./dist/es6/ej2-querybuilder.es5.js",
10
10
  "dependencies": {
11
- "@syncfusion/ej2-base": "~31.2.2",
12
- "@syncfusion/ej2-buttons": "~31.2.2",
13
- "@syncfusion/ej2-calendars": "~31.2.2",
14
- "@syncfusion/ej2-dropdowns": "~31.2.2",
15
- "@syncfusion/ej2-inputs": "~31.2.2",
11
+ "@syncfusion/ej2-base": "~31.2.4",
12
+ "@syncfusion/ej2-buttons": "~31.2.3",
13
+ "@syncfusion/ej2-calendars": "~31.2.4",
14
+ "@syncfusion/ej2-dropdowns": "~31.2.4",
15
+ "@syncfusion/ej2-inputs": "~31.2.4",
16
16
  "@syncfusion/ej2-splitbuttons": "~31.2.2"
17
17
  },
18
18
  "devDependencies": {},
@@ -679,6 +679,7 @@ export declare class QueryBuilder extends Component<HTMLDivElement> implements I
679
679
  private changeValue;
680
680
  private filterValue;
681
681
  private changeValueSuccessCallBack;
682
+ private setSecondDateMinFromFirst;
682
683
  private fieldClose;
683
684
  private changeField;
684
685
  private changeRule;
@@ -2359,11 +2359,46 @@ var QueryBuilder = /** @class */ (function (_super) {
2359
2359
  QueryBuilder.prototype.changeValueSuccessCallBack = function (args, element, i, groupID, ruleID) {
2360
2360
  if (!args.cancel) {
2361
2361
  this.updateRules(element, args.value, i);
2362
+ this.setSecondDateMinFromFirst(element, i);
2362
2363
  if (!this.isImportRules) {
2363
2364
  this.trigger('change', { groupID: groupID, ruleID: ruleID, value: args.value, cancel: false, type: 'value' });
2364
2365
  }
2365
2366
  }
2366
2367
  };
2368
+ QueryBuilder.prototype.setSecondDateMinFromFirst = function (element, valueIndex) {
2369
+ if (valueIndex !== 0) {
2370
+ return;
2371
+ }
2372
+ var ruleElem = closest(element, '.e-rule-container');
2373
+ if (!ruleElem) {
2374
+ return;
2375
+ }
2376
+ var operatorDropdownElement = ruleElem.querySelector('.e-rule-operator .e-dropdownlist');
2377
+ if (!operatorDropdownElement) {
2378
+ return;
2379
+ }
2380
+ var operatorDropdown = getComponent(operatorDropdownElement, 'dropdownlist');
2381
+ var operatorValue = operatorDropdown && operatorDropdown.value ? operatorDropdown.value.toString().toLowerCase() : '';
2382
+ if (operatorValue.indexOf('between') < 0) {
2383
+ return;
2384
+ }
2385
+ var firstDateElement = document.getElementById(ruleElem.id + '_valuekey0');
2386
+ var secondDateElement = document.getElementById(ruleElem.id + '_valuekey1');
2387
+ if (!firstDateElement || !secondDateElement) {
2388
+ return;
2389
+ }
2390
+ var firstDatePicker = getComponent(firstDateElement, 'datepicker');
2391
+ var secondDatePicker = getComponent(secondDateElement, 'datepicker');
2392
+ if (!firstDatePicker || !secondDatePicker || !(firstDatePicker.value instanceof Date)) {
2393
+ return;
2394
+ }
2395
+ var nextDay = new Date(firstDatePicker.value.getTime());
2396
+ nextDay.setDate(nextDay.getDate() + 1);
2397
+ secondDatePicker.min = nextDay;
2398
+ if (secondDatePicker.value instanceof Date && secondDatePicker.value.getTime() < nextDay.getTime()) {
2399
+ secondDatePicker.value = nextDay;
2400
+ }
2401
+ };
2367
2402
  QueryBuilder.prototype.fieldClose = function (id) {
2368
2403
  if (this.isFieldChange || this.isDestroy) {
2369
2404
  return;
@@ -3350,6 +3385,12 @@ var QueryBuilder = /** @class */ (function (_super) {
3350
3385
  selVal = (length_1 > 1) ? rule.value[i] : rule.value;
3351
3386
  selectedValue = this.parseDate(selVal, format) || new Date();
3352
3387
  }
3388
+ if (!isNullOrUndefined(itemData) && itemData.value && !isTemplate) {
3389
+ var parsedDate = this.parseDate(itemData.value.toString(), itemData.format);
3390
+ if (parsedDate && !isNaN(parsedDate.getTime())) {
3391
+ selectedValue = parsedDate;
3392
+ }
3393
+ }
3353
3394
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
3354
3395
  if (!itemData.field && !itemData.key && itemData.value) {
3355
3396
  if (itemData.value instanceof Date) {
@@ -3391,6 +3432,19 @@ var QueryBuilder = /** @class */ (function (_super) {
3391
3432
  value: selectedValue, locale: this.getLocale(), placeholder: place,
3392
3433
  format: formatObj.format, change: this.changeValue.bind(this, i)
3393
3434
  };
3435
+ if (!isNullOrUndefined(column) && !isNullOrUndefined(column.values) && column.values.length > 0) {
3436
+ var parsedDate = this.parseDate(column.values[i], format);
3437
+ if (!isNullOrUndefined(parsedDate) && parsedDate instanceof Date) {
3438
+ datePicker.value = parsedDate;
3439
+ if (i === 1) {
3440
+ var parsedMinDate = this.parseDate(column.values[0], format);
3441
+ if (parsedMinDate instanceof Date && !isNaN(parsedMinDate.getTime())) {
3442
+ parsedMinDate.setDate(parsedMinDate.getDate() + 1);
3443
+ datePicker.min = parsedMinDate;
3444
+ }
3445
+ }
3446
+ }
3447
+ }
3394
3448
  if (this.valueModel && this.valueModel.datePickerModel) {
3395
3449
  datePicker = __assign({}, datePicker, this.valueModel.datePickerModel);
3396
3450
  }