@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.
@@ -2345,11 +2345,46 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
2345
2345
  QueryBuilder.prototype.changeValueSuccessCallBack = function (args, element, i, groupID, ruleID) {
2346
2346
  if (!args.cancel) {
2347
2347
  this.updateRules(element, args.value, i);
2348
+ this.setSecondDateMinFromFirst(element, i);
2348
2349
  if (!this.isImportRules) {
2349
2350
  this.trigger('change', { groupID: groupID, ruleID: ruleID, value: args.value, cancel: false, type: 'value' });
2350
2351
  }
2351
2352
  }
2352
2353
  };
2354
+ QueryBuilder.prototype.setSecondDateMinFromFirst = function (element, valueIndex) {
2355
+ if (valueIndex !== 0) {
2356
+ return;
2357
+ }
2358
+ var ruleElem = closest(element, '.e-rule-container');
2359
+ if (!ruleElem) {
2360
+ return;
2361
+ }
2362
+ var operatorDropdownElement = ruleElem.querySelector('.e-rule-operator .e-dropdownlist');
2363
+ if (!operatorDropdownElement) {
2364
+ return;
2365
+ }
2366
+ var operatorDropdown = getComponent(operatorDropdownElement, 'dropdownlist');
2367
+ var operatorValue = operatorDropdown && operatorDropdown.value ? operatorDropdown.value.toString().toLowerCase() : '';
2368
+ if (operatorValue.indexOf('between') < 0) {
2369
+ return;
2370
+ }
2371
+ var firstDateElement = document.getElementById(ruleElem.id + '_valuekey0');
2372
+ var secondDateElement = document.getElementById(ruleElem.id + '_valuekey1');
2373
+ if (!firstDateElement || !secondDateElement) {
2374
+ return;
2375
+ }
2376
+ var firstDatePicker = getComponent(firstDateElement, 'datepicker');
2377
+ var secondDatePicker = getComponent(secondDateElement, 'datepicker');
2378
+ if (!firstDatePicker || !secondDatePicker || !(firstDatePicker.value instanceof Date)) {
2379
+ return;
2380
+ }
2381
+ var nextDay = new Date(firstDatePicker.value.getTime());
2382
+ nextDay.setDate(nextDay.getDate() + 1);
2383
+ secondDatePicker.min = nextDay;
2384
+ if (secondDatePicker.value instanceof Date && secondDatePicker.value.getTime() < nextDay.getTime()) {
2385
+ secondDatePicker.value = nextDay;
2386
+ }
2387
+ };
2353
2388
  QueryBuilder.prototype.fieldClose = function (id) {
2354
2389
  if (this.isFieldChange || this.isDestroy) {
2355
2390
  return;
@@ -3336,6 +3371,12 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
3336
3371
  selVal = (length_1 > 1) ? rule.value[i] : rule.value;
3337
3372
  selectedValue = this.parseDate(selVal, format) || new Date();
3338
3373
  }
3374
+ if (!isNullOrUndefined(itemData) && itemData.value && !isTemplate) {
3375
+ var parsedDate = this.parseDate(itemData.value.toString(), itemData.format);
3376
+ if (parsedDate && !isNaN(parsedDate.getTime())) {
3377
+ selectedValue = parsedDate;
3378
+ }
3379
+ }
3339
3380
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
3340
3381
  if (!itemData.field && !itemData.key && itemData.value) {
3341
3382
  if (itemData.value instanceof Date) {
@@ -3377,6 +3418,19 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
3377
3418
  value: selectedValue, locale: this.getLocale(), placeholder: place,
3378
3419
  format: formatObj.format, change: this.changeValue.bind(this, i)
3379
3420
  };
3421
+ if (!isNullOrUndefined(column) && !isNullOrUndefined(column.values) && column.values.length > 0) {
3422
+ var parsedDate = this.parseDate(column.values[i], format);
3423
+ if (!isNullOrUndefined(parsedDate) && parsedDate instanceof Date) {
3424
+ datePicker.value = parsedDate;
3425
+ if (i === 1) {
3426
+ var parsedMinDate = this.parseDate(column.values[0], format);
3427
+ if (parsedMinDate instanceof Date && !isNaN(parsedMinDate.getTime())) {
3428
+ parsedMinDate.setDate(parsedMinDate.getDate() + 1);
3429
+ datePicker.min = parsedMinDate;
3430
+ }
3431
+ }
3432
+ }
3433
+ }
3380
3434
  if (this.valueModel && this.valueModel.datePickerModel) {
3381
3435
  datePicker = __assign({}, datePicker, this.valueModel.datePickerModel);
3382
3436
  }