@syncfusion/ej2-querybuilder 19.4.38 → 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.
- package/CHANGELOG.md +0 -2
- package/dist/ej2-querybuilder.umd.min.js +11 -2
- package/dist/ej2-querybuilder.umd.min.js.map +1 -1
- package/dist/es6/ej2-querybuilder.es2015.js +12 -68
- package/dist/es6/ej2-querybuilder.es2015.js.map +1 -1
- package/dist/es6/ej2-querybuilder.es5.js +12 -68
- package/dist/es6/ej2-querybuilder.es5.js.map +1 -1
- package/dist/global/ej2-querybuilder.min.js +11 -2
- package/dist/global/ej2-querybuilder.min.js.map +1 -1
- package/dist/global/index.d.ts +10 -1
- package/package.json +13 -9
- package/src/query-builder/query-builder.d.ts +0 -6
- package/src/query-builder/query-builder.js +12 -68
- package/styles/bootstrap4.css +0 -5
- package/styles/bootstrap5-dark.css +0 -5
- package/styles/bootstrap5.css +0 -5
- package/styles/query-builder/bootstrap4.css +0 -5
- package/styles/query-builder/bootstrap5-dark.css +0 -5
- package/styles/query-builder/bootstrap5.css +0 -5
- package/.github/PULL_REQUEST_TEMPLATE/Bug.md +0 -63
- package/.github/PULL_REQUEST_TEMPLATE/feature.md +0 -39
- package/styles/query-builder/_fluent-definition.scss +0 -107
- package/styles/query-builder/icons/_fluent.scss +0 -8
|
@@ -134,9 +134,6 @@ let QueryBuilder = class QueryBuilder extends Component {
|
|
|
134
134
|
this.isNotified = false;
|
|
135
135
|
this.isAddSuccess = false;
|
|
136
136
|
this.isNotValueChange = false;
|
|
137
|
-
this.isFieldChange = false;
|
|
138
|
-
this.isFieldClose = false;
|
|
139
|
-
this.isDestroy = false;
|
|
140
137
|
MultiSelect.Inject(CheckBoxSelection);
|
|
141
138
|
}
|
|
142
139
|
getPersistData() {
|
|
@@ -609,8 +606,8 @@ let QueryBuilder = class QueryBuilder extends Component {
|
|
|
609
606
|
ddlField = {
|
|
610
607
|
dataSource: this.columns,
|
|
611
608
|
fields: this.fields, placeholder: this.l10n.getConstant('SelectField'),
|
|
612
|
-
popupHeight: ((this.columns.length > 5) ? height : 'auto'),
|
|
613
|
-
change: this.changeField.bind(this), value: rule ? ddlValue : null, open: this.popupOpen.bind(this
|
|
609
|
+
popupHeight: ((this.columns.length > 5) ? height : 'auto'),
|
|
610
|
+
change: this.changeField.bind(this), value: rule ? ddlValue : null, open: this.popupOpen.bind(this)
|
|
614
611
|
};
|
|
615
612
|
if (this.fieldModel) {
|
|
616
613
|
ddlField = Object.assign({}, ddlField, this.fieldModel);
|
|
@@ -632,11 +629,11 @@ let QueryBuilder = class QueryBuilder extends Component {
|
|
|
632
629
|
const ddlValue = this.isImportRules ? rule.field : rule.field;
|
|
633
630
|
ddlField = {
|
|
634
631
|
fields: { dataSource: this.columns,
|
|
635
|
-
value:
|
|
632
|
+
value: "field", text: "label", child: 'columns', expanded: "expanded" },
|
|
636
633
|
placeholder: this.l10n.getConstant('SelectField'), showClearButton: false,
|
|
637
634
|
popupHeight: ((this.columns.length > 5) ? height : 'auto'), changeOnBlur: false,
|
|
638
635
|
change: this.changeField.bind(this), value: this.isImportRules ? [ddlValue] : null,
|
|
639
|
-
open: this.popupOpen.bind(this
|
|
636
|
+
open: this.popupOpen.bind(this)
|
|
640
637
|
};
|
|
641
638
|
if (this.fieldModel) {
|
|
642
639
|
ddlField = Object.assign({}, ddlField, this.fieldModel);
|
|
@@ -1236,38 +1233,21 @@ let QueryBuilder = class QueryBuilder extends Component {
|
|
|
1236
1233
|
}
|
|
1237
1234
|
}
|
|
1238
1235
|
}
|
|
1239
|
-
fieldClose(id) {
|
|
1240
|
-
if (this.isFieldChange || this.isDestroy) {
|
|
1241
|
-
return;
|
|
1242
|
-
}
|
|
1243
|
-
this.isFieldClose = true;
|
|
1244
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
1245
|
-
const ddl = getComponent(id, 'dropdownlist');
|
|
1246
|
-
const item = ddl.popupObj.element.querySelector('.e-active');
|
|
1247
|
-
const itemData = ddl.getItemData();
|
|
1248
|
-
ddl.value = itemData.value;
|
|
1249
|
-
const customArgs = { element: ddl.element, value: itemData.value, isInteracted: true,
|
|
1250
|
-
previousItemData: this.prevItemData, previousItem: null, item: item, itemData: itemData, event: null, e: null };
|
|
1251
|
-
this.changeField(customArgs);
|
|
1252
|
-
this.isFieldChange = false;
|
|
1253
|
-
}
|
|
1254
1236
|
changeField(args) {
|
|
1255
1237
|
if (args.isInteracted) {
|
|
1256
|
-
this.isFieldChange = true;
|
|
1257
|
-
this.prevItemData = args.itemData;
|
|
1258
1238
|
const fieldElem = closest(args.element, '.e-rule-filter') || closest(args.element, '.e-rule-sub-filter');
|
|
1259
1239
|
const column = this.fieldMode === 'DropdownTree' ? this.getColumn(args.value[0]) : this.getColumn(args.value);
|
|
1260
1240
|
if (this.fieldMode === 'DropdownTree' && fieldElem != null) {
|
|
1261
|
-
const ddtElem = fieldElem.querySelector(
|
|
1241
|
+
const ddtElem = fieldElem.querySelector(".e-control");
|
|
1262
1242
|
const ddt = getComponent(ddtElem, 'dropdowntree');
|
|
1263
1243
|
if (column) {
|
|
1264
|
-
if (column.type
|
|
1244
|
+
if (column.type == 'object') {
|
|
1265
1245
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
1266
1246
|
ddt.value = args.oldValue;
|
|
1267
1247
|
ddt.dataBind();
|
|
1268
1248
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
1269
1249
|
if (isNullOrUndefined(args.oldValue)) {
|
|
1270
|
-
ddtElem.value =
|
|
1250
|
+
ddtElem.value = "";
|
|
1271
1251
|
}
|
|
1272
1252
|
else {
|
|
1273
1253
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
@@ -1431,7 +1411,7 @@ let QueryBuilder = class QueryBuilder extends Component {
|
|
|
1431
1411
|
popupHeight: ((subFieldData.length > 5) ? height : 'auto'),
|
|
1432
1412
|
change: this.changeField.bind(this),
|
|
1433
1413
|
index: 0,
|
|
1434
|
-
open: this.popupOpen.bind(this
|
|
1414
|
+
open: this.popupOpen.bind(this)
|
|
1435
1415
|
});
|
|
1436
1416
|
dropDownList.appendTo('#' + ruleId + '_subfilterkey' + this.subFilterCounter);
|
|
1437
1417
|
if (this.isImportRules) {
|
|
@@ -1552,7 +1532,7 @@ let QueryBuilder = class QueryBuilder extends Component {
|
|
|
1552
1532
|
change: this.changeField.bind(this),
|
|
1553
1533
|
index: 0,
|
|
1554
1534
|
value: value,
|
|
1555
|
-
open: this.popupOpen.bind(this
|
|
1535
|
+
open: this.popupOpen.bind(this)
|
|
1556
1536
|
};
|
|
1557
1537
|
if (this.operatorModel) {
|
|
1558
1538
|
ddlOperator = Object.assign({}, ddlOperator, this.operatorModel);
|
|
@@ -1571,13 +1551,10 @@ let QueryBuilder = class QueryBuilder extends Component {
|
|
|
1571
1551
|
this.updateRules(ddlArgs.element, ddlArgs.item);
|
|
1572
1552
|
}
|
|
1573
1553
|
}
|
|
1574
|
-
popupOpen(
|
|
1554
|
+
popupOpen(args) {
|
|
1575
1555
|
if (this.enableRtl) {
|
|
1576
1556
|
addClass([args.popup.element], 'e-rtl');
|
|
1577
1557
|
}
|
|
1578
|
-
if (isField) {
|
|
1579
|
-
this.isFieldClose = false;
|
|
1580
|
-
}
|
|
1581
1558
|
}
|
|
1582
1559
|
destroyControls(target, isRuleTemplate) {
|
|
1583
1560
|
const element = isRuleTemplate ? target : target.nextElementSibling;
|
|
@@ -1770,7 +1747,7 @@ let QueryBuilder = class QueryBuilder extends Component {
|
|
|
1770
1747
|
change: this.changeValue.bind(this, i),
|
|
1771
1748
|
close: this.closePopup.bind(this, i),
|
|
1772
1749
|
actionBegin: this.multiSelectOpen.bind(this, parentId + '_valuekey' + i),
|
|
1773
|
-
open: this.popupOpen.bind(this
|
|
1750
|
+
open: this.popupOpen.bind(this)
|
|
1774
1751
|
};
|
|
1775
1752
|
if (this.valueModel && this.valueModel.multiSelectModel) {
|
|
1776
1753
|
multiSelectValue = Object.assign({}, multiSelectValue, this.valueModel.multiSelectModel);
|
|
@@ -2191,9 +2168,6 @@ let QueryBuilder = class QueryBuilder extends Component {
|
|
|
2191
2168
|
return 0;
|
|
2192
2169
|
}
|
|
2193
2170
|
getPreviousItemData(prevItemData, column) {
|
|
2194
|
-
if (this.isFieldClose && prevItemData) {
|
|
2195
|
-
prevItemData = this.getColumn(prevItemData.value);
|
|
2196
|
-
}
|
|
2197
2171
|
if (column.template && prevItemData && Object.keys(prevItemData).length < 4) {
|
|
2198
2172
|
prevItemData.template = column.template;
|
|
2199
2173
|
}
|
|
@@ -2685,7 +2659,6 @@ let QueryBuilder = class QueryBuilder extends Component {
|
|
|
2685
2659
|
* @returns {void}
|
|
2686
2660
|
*/
|
|
2687
2661
|
destroy() {
|
|
2688
|
-
this.isDestroy = true;
|
|
2689
2662
|
const queryElement = this.element;
|
|
2690
2663
|
if (!queryElement) {
|
|
2691
2664
|
return;
|
|
@@ -2741,7 +2714,6 @@ let QueryBuilder = class QueryBuilder extends Component {
|
|
|
2741
2714
|
this.clearQBTemplate();
|
|
2742
2715
|
}
|
|
2743
2716
|
classList(this.element, [], ['e-rtl', 'e-responsive', 'e-device']);
|
|
2744
|
-
this.isDestroy = false;
|
|
2745
2717
|
}
|
|
2746
2718
|
/**
|
|
2747
2719
|
* Adds single or multiple rules.
|
|
@@ -3523,9 +3495,6 @@ let QueryBuilder = class QueryBuilder extends Component {
|
|
|
3523
3495
|
rule.not = notValue;
|
|
3524
3496
|
}
|
|
3525
3497
|
}
|
|
3526
|
-
else if ((isNullOrUndefined(rule.condition)) && isNullOrUndefined(rule.rules)) {
|
|
3527
|
-
rule = { 'label': '', 'field': '', 'operator': '', 'type': '', 'value': '' };
|
|
3528
|
-
}
|
|
3529
3498
|
else {
|
|
3530
3499
|
if (this.enableNotCondition) {
|
|
3531
3500
|
rule = { 'condition': rule.condition, 'rules': rule.rules, 'not': rule.not };
|
|
@@ -3709,7 +3678,7 @@ let QueryBuilder = class QueryBuilder extends Component {
|
|
|
3709
3678
|
}
|
|
3710
3679
|
}
|
|
3711
3680
|
}
|
|
3712
|
-
else if (
|
|
3681
|
+
else if (ruleColl[i].operator.length) {
|
|
3713
3682
|
const oper = ruleColl[i].operator.toLowerCase();
|
|
3714
3683
|
let isDateFilter = false;
|
|
3715
3684
|
const dateOperColl = ['equal', 'notequal', 'greaterthan', 'greaterthanorequal', 'lessthan', 'lessthanorequal'];
|
|
@@ -4412,12 +4381,6 @@ let QueryBuilder = class QueryBuilder extends Component {
|
|
|
4412
4381
|
this.parser.push(['Literal', matchValue]);
|
|
4413
4382
|
return matchValue.length + 2;
|
|
4414
4383
|
}
|
|
4415
|
-
// eslint-disable-next-line
|
|
4416
|
-
if (this.checkNumberLiteral(sqlString)) {
|
|
4417
|
-
matchValue = /^[0-9]+(\.[0-9]+)?/.exec(sqlString)[0];
|
|
4418
|
-
this.parser.push(['Literal', matchValue]);
|
|
4419
|
-
return matchValue.length;
|
|
4420
|
-
}
|
|
4421
4384
|
//String
|
|
4422
4385
|
if (/^'((?:[^\\']+?|\\.|'')*)'(?!')/.exec(sqlString)) {
|
|
4423
4386
|
matchValue = /^'((?:[^\\']+?|\\.|'')*)'(?!')/.exec(sqlString)[0];
|
|
@@ -4457,25 +4420,6 @@ let QueryBuilder = class QueryBuilder extends Component {
|
|
|
4457
4420
|
}
|
|
4458
4421
|
return false;
|
|
4459
4422
|
}
|
|
4460
|
-
checkNumberLiteral(sqlString) {
|
|
4461
|
-
const lastParser = this.parser[this.parser.length - 1];
|
|
4462
|
-
if (!lastParser) {
|
|
4463
|
-
return true;
|
|
4464
|
-
}
|
|
4465
|
-
else {
|
|
4466
|
-
if (/^[0-9]+(\.[0-9]+)?/.exec(sqlString)) {
|
|
4467
|
-
const secParser = this.parser[this.parser.length - 2];
|
|
4468
|
-
const betweenParser = this.parser[this.parser.length - 3];
|
|
4469
|
-
if (lastParser[0] === 'Left' && (secParser && secParser[0] === 'Conditions')) {
|
|
4470
|
-
return true;
|
|
4471
|
-
}
|
|
4472
|
-
if (lastParser[0] === 'Conditions' && (betweenParser && betweenParser[1].indexOf('between') < 0)) {
|
|
4473
|
-
return true;
|
|
4474
|
-
}
|
|
4475
|
-
}
|
|
4476
|
-
}
|
|
4477
|
-
return false;
|
|
4478
|
-
}
|
|
4479
4423
|
getOperator(value, operator) {
|
|
4480
4424
|
const operators = {
|
|
4481
4425
|
'=': 'equal', '!=': 'notequal', '<': 'lessthan', '>': 'greaterthan', '<=': 'lessthanorequal',
|