@syncfusion/ej2-querybuilder 31.2.2 → 31.2.12
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.
- package/README.md +10 -2
- package/dist/ej2-querybuilder.min.js +2 -2
- package/dist/ej2-querybuilder.umd.min.js +2 -2
- package/dist/ej2-querybuilder.umd.min.js.map +1 -1
- package/dist/es6/ej2-querybuilder.es2015.js +77 -2
- package/dist/es6/ej2-querybuilder.es2015.js.map +1 -1
- package/dist/es6/ej2-querybuilder.es5.js +77 -2
- package/dist/es6/ej2-querybuilder.es5.js.map +1 -1
- package/dist/global/ej2-querybuilder.min.js +2 -2
- package/dist/global/ej2-querybuilder.min.js.map +1 -1
- package/dist/global/index.d.ts +1 -1
- package/package.json +7 -7
- package/src/query-builder/query-builder.d.ts +1 -0
- package/src/query-builder/query-builder.js +77 -2
|
@@ -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;
|
|
@@ -2971,9 +3006,23 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
2971
3006
|
isValues = true;
|
|
2972
3007
|
}
|
|
2973
3008
|
var multiSelectValue;
|
|
3009
|
+
var multiSelectUserQuery = (this.valueModel && this.valueModel.multiSelectModel && this.valueModel.multiSelectModel.query)
|
|
3010
|
+
? this.valueModel.multiSelectModel.query
|
|
3011
|
+
: null;
|
|
3012
|
+
var multiSelectQuery = (multiSelectUserQuery && typeof multiSelectUserQuery.clone === 'function')
|
|
3013
|
+
? multiSelectUserQuery.clone()
|
|
3014
|
+
: new Query();
|
|
3015
|
+
var selectedField = rule.field;
|
|
3016
|
+
if (selectedField) {
|
|
3017
|
+
multiSelectQuery.select([selectedField]);
|
|
3018
|
+
}
|
|
3019
|
+
var resolvedQuery = new Query([rule.field]);
|
|
3020
|
+
if (!isValues && !isFetched && (this.dataManager instanceof DataManager || this.dataSource instanceof DataManager)) {
|
|
3021
|
+
resolvedQuery = multiSelectQuery;
|
|
3022
|
+
}
|
|
2974
3023
|
multiSelectValue = {
|
|
2975
3024
|
dataSource: isValues ? values : (isFetched ? ds : this.dataManager),
|
|
2976
|
-
query:
|
|
3025
|
+
query: resolvedQuery,
|
|
2977
3026
|
fields: { text: this.selectedRule.field, value: this.selectedRule.field },
|
|
2978
3027
|
placeholder: this.l10n.getConstant('SelectValue'),
|
|
2979
3028
|
value: selectedValue,
|
|
@@ -3025,7 +3074,14 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
3025
3074
|
var _this = this;
|
|
3026
3075
|
var dummyData;
|
|
3027
3076
|
var deferred = new Deferred();
|
|
3028
|
-
var
|
|
3077
|
+
var userQuery = (this.valueModel && this.valueModel.multiSelectModel && this.valueModel.multiSelectModel.query)
|
|
3078
|
+
? this.valueModel.multiSelectModel.query
|
|
3079
|
+
: null;
|
|
3080
|
+
var dataQuery = (userQuery && typeof userQuery.clone === 'function')
|
|
3081
|
+
? userQuery.clone()
|
|
3082
|
+
: new Query();
|
|
3083
|
+
dataQuery.select([value]);
|
|
3084
|
+
var data = this.dataManager.executeQuery(dataQuery);
|
|
3029
3085
|
var multiselectObj = getComponent(element, 'multiselect');
|
|
3030
3086
|
multiselectObj.hideSpinner();
|
|
3031
3087
|
this.createSpinner(closest(element, '.e-multi-select-wrapper').parentElement);
|
|
@@ -3336,6 +3392,12 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
3336
3392
|
selVal = (length_1 > 1) ? rule.value[i] : rule.value;
|
|
3337
3393
|
selectedValue = this.parseDate(selVal, format) || new Date();
|
|
3338
3394
|
}
|
|
3395
|
+
if (!isNullOrUndefined(itemData) && itemData.value && !isTemplate) {
|
|
3396
|
+
var parsedDate = this.parseDate(itemData.value.toString(), itemData.format);
|
|
3397
|
+
if (parsedDate && !isNaN(parsedDate.getTime())) {
|
|
3398
|
+
selectedValue = parsedDate;
|
|
3399
|
+
}
|
|
3400
|
+
}
|
|
3339
3401
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
3340
3402
|
if (!itemData.field && !itemData.key && itemData.value) {
|
|
3341
3403
|
if (itemData.value instanceof Date) {
|
|
@@ -3377,6 +3439,19 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
3377
3439
|
value: selectedValue, locale: this.getLocale(), placeholder: place,
|
|
3378
3440
|
format: formatObj.format, change: this.changeValue.bind(this, i)
|
|
3379
3441
|
};
|
|
3442
|
+
if (!isNullOrUndefined(column) && !isNullOrUndefined(column.values) && column.values.length > 0) {
|
|
3443
|
+
var parsedDate = this.parseDate(column.values[i], format);
|
|
3444
|
+
if (!isNullOrUndefined(parsedDate) && parsedDate instanceof Date) {
|
|
3445
|
+
datePicker.value = parsedDate;
|
|
3446
|
+
if (i === 1) {
|
|
3447
|
+
var parsedMinDate = this.parseDate(column.values[0], format);
|
|
3448
|
+
if (parsedMinDate instanceof Date && !isNaN(parsedMinDate.getTime())) {
|
|
3449
|
+
parsedMinDate.setDate(parsedMinDate.getDate() + 1);
|
|
3450
|
+
datePicker.min = parsedMinDate;
|
|
3451
|
+
}
|
|
3452
|
+
}
|
|
3453
|
+
}
|
|
3454
|
+
}
|
|
3380
3455
|
if (this.valueModel && this.valueModel.datePickerModel) {
|
|
3381
3456
|
datePicker = __assign({}, datePicker, this.valueModel.datePickerModel);
|
|
3382
3457
|
}
|