@syncfusion/ej2-querybuilder 30.2.4 → 30.2.6
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/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 +157 -217
- package/dist/es6/ej2-querybuilder.es2015.js.map +1 -1
- package/dist/es6/ej2-querybuilder.es5.js +158 -219
- 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 +3 -3
- package/src/query-builder/query-builder.d.ts +0 -7
- package/src/query-builder/query-builder.js +157 -219
package/dist/global/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* filename: index.d.ts
|
|
3
|
-
* version : 30.2.
|
|
3
|
+
* version : 30.2.6
|
|
4
4
|
* Copyright Syncfusion Inc. 2001 - 2024. 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": "30.2.
|
|
3
|
+
"version": "30.2.6",
|
|
4
4
|
"description": "Essential JS 2 QueryBuilder",
|
|
5
5
|
"author": "Syncfusion Inc.",
|
|
6
6
|
"license": "SEE LICENSE IN license",
|
|
@@ -11,8 +11,8 @@
|
|
|
11
11
|
"@syncfusion/ej2-base": "~30.2.4",
|
|
12
12
|
"@syncfusion/ej2-buttons": "~30.2.4",
|
|
13
13
|
"@syncfusion/ej2-calendars": "~30.2.4",
|
|
14
|
-
"@syncfusion/ej2-dropdowns": "~30.2.
|
|
15
|
-
"@syncfusion/ej2-inputs": "~30.2.
|
|
14
|
+
"@syncfusion/ej2-dropdowns": "~30.2.6",
|
|
15
|
+
"@syncfusion/ej2-inputs": "~30.2.6",
|
|
16
16
|
"@syncfusion/ej2-splitbuttons": "~30.2.4"
|
|
17
17
|
},
|
|
18
18
|
"devDependencies": {},
|
|
@@ -627,13 +627,6 @@ export declare class QueryBuilder extends Component<HTMLDivElement> implements I
|
|
|
627
627
|
private appendRuleElem;
|
|
628
628
|
private addRuleElement;
|
|
629
629
|
private addRuleSuccessCallBack;
|
|
630
|
-
private processAdjacentElements;
|
|
631
|
-
private handleOrphanedRuleElement;
|
|
632
|
-
private processConnectorElements;
|
|
633
|
-
private handleOrphanedConnectorElement;
|
|
634
|
-
private applyFieldComponent;
|
|
635
|
-
private applyDropdownListComponent;
|
|
636
|
-
private applyDropdownTreeComponent;
|
|
637
630
|
private dropdownTreeFiltering;
|
|
638
631
|
private changeDataSource;
|
|
639
632
|
private nestedChildFilter;
|
|
@@ -891,9 +891,7 @@ var QueryBuilder = /** @class */ (function (_super) {
|
|
|
891
891
|
}
|
|
892
892
|
};
|
|
893
893
|
QueryBuilder.prototype.addRuleSuccessCallBack = function (args, trgt, rule, col, act, pId, isRlTmp) {
|
|
894
|
-
var
|
|
895
|
-
var isVertical = this.element.className.indexOf('e-device') > -1 || this.displayMode === 'Vertical';
|
|
896
|
-
var height = isVertical ? '250px' : '200px';
|
|
894
|
+
var height = (this.element.className.indexOf('e-device') > -1) ? '250px' : '200px';
|
|
897
895
|
var ruleID;
|
|
898
896
|
var column = (rule && rule.field) ? this.getColumn(rule.field) : col ? col : this.columns[0];
|
|
899
897
|
var operators;
|
|
@@ -901,26 +899,15 @@ var QueryBuilder = /** @class */ (function (_super) {
|
|
|
901
899
|
var ruleElem;
|
|
902
900
|
var newRule = { 'label': '', 'field': '', 'type': '', 'operator': '' };
|
|
903
901
|
if (!args.cancel) {
|
|
904
|
-
var fragment = document.createDocumentFragment();
|
|
905
902
|
if (column && column.ruleTemplate && rule.field) {
|
|
906
903
|
this.selectedColumn = column;
|
|
907
904
|
operators = this.selectedColumn.operators;
|
|
908
|
-
newRule = {
|
|
909
|
-
'label': column.label,
|
|
910
|
-
'field': column.field,
|
|
911
|
-
'type': column.type,
|
|
912
|
-
'operator': operators[0].value
|
|
913
|
-
};
|
|
905
|
+
newRule = { 'label': column.label, 'field': column.field, 'type': column.type, 'operator': operators[0].value };
|
|
914
906
|
var passedRule = Object.keys(rule).length ? rule : newRule;
|
|
915
907
|
ruleElem = this.appendRuleElem(trgt, column, act, pId, 'field', passedRule);
|
|
916
|
-
var
|
|
917
|
-
|
|
918
|
-
|
|
919
|
-
action: 'insert-rule',
|
|
920
|
-
fields: this.fields,
|
|
921
|
-
rule: passedRule
|
|
922
|
-
};
|
|
923
|
-
this.trigger('actionBegin', actionArgs);
|
|
908
|
+
var args_1 = { requestType: 'template-create', action: 'insert-rule', ruleID: ruleElem.id,
|
|
909
|
+
fields: this.fields, rule: passedRule };
|
|
910
|
+
this.trigger('actionBegin', args_1);
|
|
924
911
|
}
|
|
925
912
|
else {
|
|
926
913
|
ruleElem = this.appendRuleElem(trgt, column, act, pId, 'field');
|
|
@@ -935,30 +922,139 @@ var QueryBuilder = /** @class */ (function (_super) {
|
|
|
935
922
|
addClass([element], 'e-round');
|
|
936
923
|
addClass([element], 'e-icon-btn');
|
|
937
924
|
element.setAttribute('title', this.l10n.getConstant('DeleteRule'));
|
|
938
|
-
var spanElement = this.createElement('span', {
|
|
939
|
-
|
|
940
|
-
});
|
|
941
|
-
element.appendChild(spanElement);
|
|
925
|
+
var spanElement = this.createElement('span', { attrs: { class: 'e-btn-icon e-icons e-delete-icon' } });
|
|
926
|
+
ruleElem.querySelector('.e-rule-delete').appendChild(spanElement);
|
|
942
927
|
}
|
|
943
928
|
if (!this.showButtons.ruleDelete) {
|
|
944
929
|
element.classList.add('e-button-hide');
|
|
945
930
|
}
|
|
946
931
|
}
|
|
947
|
-
|
|
932
|
+
if (this.displayMode === 'Vertical' || this.element.className.indexOf('e-device') > -1) {
|
|
933
|
+
ruleElem.className = 'e-rule-container e-vertical-mode';
|
|
934
|
+
}
|
|
935
|
+
else {
|
|
936
|
+
ruleElem.className = 'e-rule-container e-horizontal-mode';
|
|
937
|
+
}
|
|
948
938
|
var previousRuleElem = ruleElem.previousElementSibling;
|
|
949
|
-
this.
|
|
939
|
+
if (this.enableSeparateConnector) {
|
|
940
|
+
var prevRule = void 0;
|
|
941
|
+
var ruleContainer = void 0;
|
|
942
|
+
if (previousRuleElem && previousRuleElem.classList.contains('e-group-container')) {
|
|
943
|
+
ruleContainer = previousRuleElem.querySelectorAll('.e-rule-container');
|
|
944
|
+
previousRuleElem = ruleContainer[ruleContainer.length - 1];
|
|
945
|
+
}
|
|
946
|
+
if (previousRuleElem && previousRuleElem.classList.contains('e-rule-container')) {
|
|
947
|
+
prevRule = this.getRule(previousRuleElem);
|
|
948
|
+
}
|
|
949
|
+
if (this.headerTemplate && previousRuleElem && prevRule) {
|
|
950
|
+
this.headerTemplateFn(previousRuleElem, false, prevRule.condition, prevRule, previousRuleElem.id);
|
|
951
|
+
}
|
|
952
|
+
else if (isNullOrUndefined(previousRuleElem) && ruleElem.id !== this.element.id + '_group0_rule0') {
|
|
953
|
+
var group = ruleElem.closest('.e-group-container');
|
|
954
|
+
if (group && group.previousElementSibling) {
|
|
955
|
+
var prevElem = group.previousElementSibling;
|
|
956
|
+
var prevRuleContainer = prevElem.querySelectorAll('.e-rule-container');
|
|
957
|
+
if (prevElem.classList.contains('e-group-container')) {
|
|
958
|
+
prevElem = prevRuleContainer[prevRuleContainer.length - 1];
|
|
959
|
+
}
|
|
960
|
+
if (prevElem.classList.contains('e-rule-container')) {
|
|
961
|
+
var prevRule_1 = this.getRule(prevElem);
|
|
962
|
+
this.headerTemplateFn(prevElem, false, prevRule_1.condition, prevRule_1, prevElem.id, true);
|
|
963
|
+
}
|
|
964
|
+
}
|
|
965
|
+
else {
|
|
966
|
+
this.headerTemplateFn(ruleElem, false, rule.condition, rule, ruleElem.id, true);
|
|
967
|
+
}
|
|
968
|
+
}
|
|
969
|
+
}
|
|
970
|
+
else {
|
|
971
|
+
if (previousRuleElem && previousRuleElem.className.indexOf('e-rule-container') > -1) {
|
|
972
|
+
if (ruleElem.className.indexOf('e-joined-rule') < 0) {
|
|
973
|
+
ruleElem.className += ' e-joined-rule';
|
|
974
|
+
}
|
|
975
|
+
if (previousRuleElem.className.indexOf('e-prev-joined-rule') < 0) {
|
|
976
|
+
previousRuleElem.className += ' e-prev-joined-rule';
|
|
977
|
+
}
|
|
978
|
+
}
|
|
979
|
+
}
|
|
980
|
+
if (previousRuleElem && previousRuleElem.className.indexOf('e-group-container') > -1 &&
|
|
981
|
+
ruleElem.className.indexOf('e-separate-rule') < 0) {
|
|
982
|
+
ruleElem.className += ' e-separate-rule';
|
|
983
|
+
}
|
|
950
984
|
if (!this.isImportRules) {
|
|
951
985
|
this.updateAddedRule(trgt, rule, newRule, isRlTmp, pId, this.enableSeparateConnector ? true : null);
|
|
952
986
|
}
|
|
953
|
-
var ruleCount = this.rule.rules.length;
|
|
954
987
|
if (!column || (column && !column.ruleTemplate) || !rule.field) {
|
|
955
|
-
if (
|
|
956
|
-
|
|
957
|
-
|
|
958
|
-
|
|
988
|
+
if (this.fieldMode === 'Default') {
|
|
989
|
+
var ddlField = void 0;
|
|
990
|
+
var ddlValue = void 0;
|
|
991
|
+
if (this.separator && rule.field) {
|
|
992
|
+
ddlValue = this.GetRootColumnName(rule.field);
|
|
993
|
+
}
|
|
994
|
+
else if (this.autoSelectField) {
|
|
995
|
+
ddlValue = this.GetRootColumnName(rule.field);
|
|
996
|
+
}
|
|
997
|
+
else {
|
|
998
|
+
ddlValue = this.isImportRules ? this.GetRootColumnName(rule.field) : rule.field;
|
|
999
|
+
}
|
|
1000
|
+
ddlField = {
|
|
1001
|
+
dataSource: this.columns,
|
|
1002
|
+
fields: this.fields, placeholder: this.l10n.getConstant('SelectField'),
|
|
1003
|
+
popupHeight: ((this.columns.length > 5) ? height : 'auto'), close: this.fieldClose.bind(this, ruleElem.id + '_filterkey'),
|
|
1004
|
+
change: this.changeField.bind(this), value: rule ? ddlValue : null, open: this.popupOpen.bind(this, true), cssClass: 'qb-dropdownlist'
|
|
1005
|
+
};
|
|
1006
|
+
if (this.fieldModel) {
|
|
1007
|
+
ddlField = __assign({}, ddlField, this.fieldModel);
|
|
1008
|
+
}
|
|
1009
|
+
dropDownList = new DropDownList(ddlField);
|
|
1010
|
+
dropDownList.appendTo('#' + ruleElem.id + '_filterkey');
|
|
1011
|
+
var ddlVal = void 0;
|
|
1012
|
+
if (this.separator && rule.field) {
|
|
1013
|
+
ddlVal = this.GetRootColumnName(rule.field);
|
|
1014
|
+
}
|
|
1015
|
+
else {
|
|
1016
|
+
ddlVal = this.isImportRules ? this.GetRootColumnName(rule.field) :
|
|
1017
|
+
dropDownList.value;
|
|
1018
|
+
}
|
|
1019
|
+
this.selectedColumn = dropDownList.getDataByValue(ddlVal);
|
|
1020
|
+
if (Object.keys(rule).length) {
|
|
1021
|
+
this.changeRule(rule, {
|
|
1022
|
+
element: dropDownList.element, itemData: this.selectedColumn
|
|
1023
|
+
});
|
|
1024
|
+
}
|
|
959
1025
|
}
|
|
960
1026
|
else {
|
|
961
|
-
|
|
1027
|
+
var ddlField = void 0;
|
|
1028
|
+
var ddlValue = this.isImportRules ? rule.field : rule.field;
|
|
1029
|
+
this.dummyDropdownTreeDs = extend([], this.columns, [], true);
|
|
1030
|
+
this.updateDropdowntreeDS(this.dummyDropdownTreeDs);
|
|
1031
|
+
ddlField = {
|
|
1032
|
+
fields: { dataSource: this.dummyDropdownTreeDs,
|
|
1033
|
+
value: 'field', text: 'label', child: 'columns', expanded: 'expanded', selectable: 'selectable' },
|
|
1034
|
+
placeholder: this.l10n.getConstant('SelectField'), showClearButton: false,
|
|
1035
|
+
popupHeight: ((this.columns.length > 5) ? height : 'auto'), changeOnBlur: false,
|
|
1036
|
+
change: this.changeField.bind(this), value: !isNullOrUndefined(ddlValue) ? [ddlValue] : null,
|
|
1037
|
+
open: this.popupOpen.bind(this, false), treeSettings: { expandOn: 'Click' },
|
|
1038
|
+
cssClass: 'e-qb-ddt', filtering: this.dropdownTreeFiltering.bind(this), close: this.dropdownTreeClose.bind(this)
|
|
1039
|
+
};
|
|
1040
|
+
if (this.fieldModel) {
|
|
1041
|
+
ddlField = __assign({}, ddlField, this.fieldModel);
|
|
1042
|
+
}
|
|
1043
|
+
var dropdowntree = new DropDownTree(ddlField);
|
|
1044
|
+
dropdowntree.appendTo('#' + ruleElem.id + '_filterkey');
|
|
1045
|
+
if (!isNullOrUndefined(dropdowntree.value)) {
|
|
1046
|
+
var value = this.getLabelFromColumn(dropdowntree.value[0]);
|
|
1047
|
+
dropdowntree.element.value = value;
|
|
1048
|
+
}
|
|
1049
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
1050
|
+
var ddlVal = !isNullOrUndefined(rule.field) ?
|
|
1051
|
+
this.GetRootColumnName(rule.field) : dropdowntree.value;
|
|
1052
|
+
this.selectedColumn = this.getColumn(ddlVal);
|
|
1053
|
+
if (Object.keys(rule).length) {
|
|
1054
|
+
this.changeRule(rule, {
|
|
1055
|
+
element: dropdowntree.element, itemData: this.selectedColumn
|
|
1056
|
+
});
|
|
1057
|
+
}
|
|
962
1058
|
}
|
|
963
1059
|
}
|
|
964
1060
|
ruleID = ruleElem.id.replace(this.element.id + '_', '');
|
|
@@ -967,204 +1063,46 @@ var QueryBuilder = /** @class */ (function (_super) {
|
|
|
967
1063
|
this.ruleLock(lockRuleTarget);
|
|
968
1064
|
}
|
|
969
1065
|
if (!this.isImportRules && !this.prvtEvtTgrDaD) {
|
|
970
|
-
this.trigger('change', {
|
|
971
|
-
groupID: trgt.id.replace(this.element.id + '_', ''),
|
|
972
|
-
ruleID: ruleID,
|
|
973
|
-
type: 'insertRule'
|
|
974
|
-
});
|
|
1066
|
+
this.trigger('change', { groupID: trgt.id.replace(this.element.id + '_', ''), ruleID: ruleID, type: 'insertRule' });
|
|
975
1067
|
}
|
|
976
1068
|
}
|
|
977
1069
|
if (this.enableSeparateConnector && isNullOrUndefined(rule.condition) && ruleID) {
|
|
978
1070
|
rule = this.getRule(ruleID);
|
|
979
1071
|
}
|
|
980
1072
|
if (this.enableSeparateConnector) {
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
previousRuleElem = ruleContainer[ruleContainer.length - 1];
|
|
989
|
-
}
|
|
990
|
-
if (previousRuleElem && previousRuleElem.classList.contains('e-rule-container')) {
|
|
991
|
-
var prevRule = this.getRule(previousRuleElem);
|
|
992
|
-
if (this.headerTemplate) {
|
|
993
|
-
this.headerTemplateFn(previousRuleElem, false, prevRule.condition, prevRule, previousRuleElem.id);
|
|
1073
|
+
var prevElem = ruleElem.previousElementSibling;
|
|
1074
|
+
var ruleContainer = void 0;
|
|
1075
|
+
while (prevElem && !prevElem.classList.contains('e-rule-container')) {
|
|
1076
|
+
if (prevElem.classList.contains('e-group-container')) {
|
|
1077
|
+
ruleContainer = prevElem.querySelectorAll('.e-rule-container');
|
|
1078
|
+
prevElem = ruleContainer[ruleContainer.length - 1];
|
|
1079
|
+
break;
|
|
994
1080
|
}
|
|
1081
|
+
prevElem = prevElem.previousElementSibling;
|
|
995
1082
|
}
|
|
996
|
-
|
|
997
|
-
this.handleOrphanedRuleElement(ruleElem, rule);
|
|
998
|
-
}
|
|
999
|
-
}
|
|
1000
|
-
else {
|
|
1001
|
-
if (previousRuleElem && previousRuleElem.className.indexOf('e-rule-container') > -1) {
|
|
1002
|
-
ruleElem.classList.add('e-joined-rule');
|
|
1003
|
-
previousRuleElem.classList.add('e-prev-joined-rule');
|
|
1004
|
-
}
|
|
1005
|
-
}
|
|
1006
|
-
if (previousRuleElem && previousRuleElem.className.indexOf('e-group-container') > -1 &&
|
|
1007
|
-
ruleElem.className.indexOf('e-separate-rule') < 0) {
|
|
1008
|
-
ruleElem.className += ' e-separate-rule';
|
|
1009
|
-
}
|
|
1010
|
-
};
|
|
1011
|
-
QueryBuilder.prototype.handleOrphanedRuleElement = function (ruleElem, rule) {
|
|
1012
|
-
var group = ruleElem.closest('.e-group-container');
|
|
1013
|
-
if (group && group.previousElementSibling) {
|
|
1014
|
-
var prevElem = group.previousElementSibling;
|
|
1015
|
-
var prevRuleContainer = prevElem.querySelectorAll('.e-rule-container');
|
|
1016
|
-
if (prevElem.classList.contains('e-group-container')) {
|
|
1017
|
-
prevElem = prevRuleContainer[prevRuleContainer.length - 1];
|
|
1018
|
-
}
|
|
1019
|
-
if (prevElem.classList.contains('e-rule-container')) {
|
|
1083
|
+
if (this.headerTemplate && prevElem) {
|
|
1020
1084
|
var prevRule = this.getRule(prevElem);
|
|
1021
|
-
|
|
1022
|
-
|
|
1023
|
-
|
|
1024
|
-
else {
|
|
1025
|
-
this.headerTemplateFn(ruleElem, false, rule.condition, rule, ruleElem.id, true);
|
|
1026
|
-
}
|
|
1027
|
-
};
|
|
1028
|
-
QueryBuilder.prototype.processConnectorElements = function (ruleElem) {
|
|
1029
|
-
var prevElem = ruleElem.previousElementSibling;
|
|
1030
|
-
var ruleContainer;
|
|
1031
|
-
while (prevElem && !prevElem.classList.contains('e-rule-container')) {
|
|
1032
|
-
if (prevElem.classList.contains('e-group-container')) {
|
|
1033
|
-
ruleContainer = prevElem.querySelectorAll('.e-rule-container');
|
|
1034
|
-
prevElem = ruleContainer[ruleContainer.length - 1];
|
|
1035
|
-
break;
|
|
1036
|
-
}
|
|
1037
|
-
prevElem = prevElem.previousElementSibling;
|
|
1038
|
-
}
|
|
1039
|
-
if (this.headerTemplate && prevElem) {
|
|
1040
|
-
var prevRule = this.getRule(prevElem);
|
|
1041
|
-
var args = {
|
|
1042
|
-
requestType: 'rule-template-create',
|
|
1043
|
-
ruleID: prevElem.id,
|
|
1044
|
-
condition: prevRule.condition,
|
|
1045
|
-
notCondition: this.enableNotCondition ? true : undefined
|
|
1046
|
-
};
|
|
1047
|
-
this.trigger('actionBegin', args);
|
|
1048
|
-
}
|
|
1049
|
-
else if (isNullOrUndefined(prevElem) && ruleElem.id !== this.element.id + '_group0_rule0') {
|
|
1050
|
-
this.handleOrphanedConnectorElement(ruleElem);
|
|
1051
|
-
}
|
|
1052
|
-
this.setMultiConnector(ruleElem);
|
|
1053
|
-
};
|
|
1054
|
-
QueryBuilder.prototype.handleOrphanedConnectorElement = function (ruleElem) {
|
|
1055
|
-
var group = ruleElem.closest('.e-group-container');
|
|
1056
|
-
if (group && group.previousElementSibling && group.previousElementSibling.previousElementSibling) {
|
|
1057
|
-
var prevElem = group.previousElementSibling.previousElementSibling;
|
|
1058
|
-
if (prevElem.classList.contains('e-group-container')) {
|
|
1059
|
-
var ruleContainer = prevElem.querySelectorAll('.e-rule-container');
|
|
1060
|
-
prevElem = ruleContainer[ruleContainer.length - 1];
|
|
1085
|
+
var args_2 = { requestType: 'rule-template-create', ruleID: prevElem.id, condition: prevRule.condition,
|
|
1086
|
+
notCondition: this.enableNotCondition ? true : undefined };
|
|
1087
|
+
this.trigger('actionBegin', args_2);
|
|
1061
1088
|
}
|
|
1062
|
-
if (prevElem.
|
|
1063
|
-
var
|
|
1064
|
-
|
|
1065
|
-
|
|
1066
|
-
|
|
1067
|
-
|
|
1068
|
-
|
|
1069
|
-
|
|
1070
|
-
|
|
1089
|
+
else if (isNullOrUndefined(prevElem) && ruleElem.id !== this.element.id + '_group0_rule0') {
|
|
1090
|
+
var group = ruleElem.closest('.e-group-container');
|
|
1091
|
+
if (group && group.previousElementSibling && group.previousElementSibling.previousElementSibling) {
|
|
1092
|
+
var prevElem_1 = group.previousElementSibling.previousElementSibling;
|
|
1093
|
+
if (prevElem_1.classList.contains('e-group-container')) {
|
|
1094
|
+
var ruleContainer_1 = prevElem_1.querySelectorAll('.e-rule-container');
|
|
1095
|
+
prevElem_1 = ruleContainer_1[ruleContainer_1.length - 1];
|
|
1096
|
+
}
|
|
1097
|
+
if (prevElem_1.classList.contains('e-rule-container')) {
|
|
1098
|
+
var prevRule = this.getRule(prevElem_1);
|
|
1099
|
+
var args_3 = { requestType: 'rule-template-create', ruleID: prevElem_1.id,
|
|
1100
|
+
condition: prevRule.condition, notCondition: this.enableNotCondition ? true : undefined };
|
|
1101
|
+
this.trigger('actionBegin', args_3);
|
|
1102
|
+
}
|
|
1103
|
+
}
|
|
1071
1104
|
}
|
|
1072
|
-
|
|
1073
|
-
};
|
|
1074
|
-
QueryBuilder.prototype.applyFieldComponent = function (ruleElem, rule, height) {
|
|
1075
|
-
if (this.fieldMode === 'Default') {
|
|
1076
|
-
this.applyDropdownListComponent(ruleElem, rule, height);
|
|
1077
|
-
}
|
|
1078
|
-
else {
|
|
1079
|
-
this.applyDropdownTreeComponent(ruleElem, rule, height);
|
|
1080
|
-
}
|
|
1081
|
-
};
|
|
1082
|
-
QueryBuilder.prototype.applyDropdownListComponent = function (ruleElem, rule, height) {
|
|
1083
|
-
var ddlField;
|
|
1084
|
-
var ddlValue;
|
|
1085
|
-
if (this.separator && rule.field) {
|
|
1086
|
-
ddlValue = this.GetRootColumnName(rule.field);
|
|
1087
|
-
}
|
|
1088
|
-
else if (this.autoSelectField) {
|
|
1089
|
-
ddlValue = this.GetRootColumnName(rule.field);
|
|
1090
|
-
}
|
|
1091
|
-
else {
|
|
1092
|
-
ddlValue = this.isImportRules ? this.GetRootColumnName(rule.field) : rule.field;
|
|
1093
|
-
}
|
|
1094
|
-
ddlField = {
|
|
1095
|
-
dataSource: this.columns,
|
|
1096
|
-
fields: this.fields,
|
|
1097
|
-
placeholder: this.l10n.getConstant('SelectField'),
|
|
1098
|
-
popupHeight: ((this.columns.length > 5) ? height : 'auto'),
|
|
1099
|
-
close: this.fieldClose.bind(this, ruleElem.id + '_filterkey'),
|
|
1100
|
-
change: this.changeField.bind(this),
|
|
1101
|
-
value: rule ? ddlValue : null,
|
|
1102
|
-
open: this.popupOpen.bind(this, true),
|
|
1103
|
-
cssClass: 'qb-dropdownlist'
|
|
1104
|
-
};
|
|
1105
|
-
if (this.fieldModel) {
|
|
1106
|
-
ddlField = __assign({}, ddlField, this.fieldModel);
|
|
1107
|
-
}
|
|
1108
|
-
var dropDownList = new DropDownList(ddlField);
|
|
1109
|
-
dropDownList.appendTo('#' + ruleElem.id + '_filterkey');
|
|
1110
|
-
var ddlVal;
|
|
1111
|
-
if (this.separator && rule.field) {
|
|
1112
|
-
ddlVal = this.GetRootColumnName(rule.field);
|
|
1113
|
-
}
|
|
1114
|
-
else {
|
|
1115
|
-
ddlVal = this.isImportRules ? this.GetRootColumnName(rule.field) : dropDownList.value;
|
|
1116
|
-
}
|
|
1117
|
-
this.selectedColumn = dropDownList.getDataByValue(ddlVal);
|
|
1118
|
-
if (Object.keys(rule).length) {
|
|
1119
|
-
this.changeRule(rule, {
|
|
1120
|
-
element: dropDownList.element,
|
|
1121
|
-
itemData: this.selectedColumn
|
|
1122
|
-
});
|
|
1123
|
-
}
|
|
1124
|
-
};
|
|
1125
|
-
QueryBuilder.prototype.applyDropdownTreeComponent = function (ruleElem, rule, height) {
|
|
1126
|
-
var ddlField;
|
|
1127
|
-
var ddlValue = this.isImportRules ? rule.field : rule.field;
|
|
1128
|
-
this.dummyDropdownTreeDs = extend([], this.columns, [], true);
|
|
1129
|
-
this.updateDropdowntreeDS(this.dummyDropdownTreeDs);
|
|
1130
|
-
ddlField = {
|
|
1131
|
-
fields: {
|
|
1132
|
-
dataSource: this.dummyDropdownTreeDs,
|
|
1133
|
-
value: 'field',
|
|
1134
|
-
text: 'label',
|
|
1135
|
-
child: 'columns',
|
|
1136
|
-
expanded: 'expanded',
|
|
1137
|
-
selectable: 'selectable'
|
|
1138
|
-
},
|
|
1139
|
-
placeholder: this.l10n.getConstant('SelectField'),
|
|
1140
|
-
showClearButton: false,
|
|
1141
|
-
popupHeight: ((this.columns.length > 5) ? height : 'auto'),
|
|
1142
|
-
changeOnBlur: false,
|
|
1143
|
-
change: this.changeField.bind(this),
|
|
1144
|
-
value: !isNullOrUndefined(ddlValue) ? [ddlValue] : null,
|
|
1145
|
-
open: this.popupOpen.bind(this, false),
|
|
1146
|
-
treeSettings: { expandOn: 'Click' },
|
|
1147
|
-
cssClass: 'e-qb-ddt',
|
|
1148
|
-
filtering: this.dropdownTreeFiltering.bind(this),
|
|
1149
|
-
close: this.dropdownTreeClose.bind(this)
|
|
1150
|
-
};
|
|
1151
|
-
if (this.fieldModel) {
|
|
1152
|
-
ddlField = __assign({}, ddlField, this.fieldModel);
|
|
1153
|
-
}
|
|
1154
|
-
var dropdowntree = new DropDownTree(ddlField);
|
|
1155
|
-
dropdowntree.appendTo('#' + ruleElem.id + '_filterkey');
|
|
1156
|
-
if (!isNullOrUndefined(dropdowntree.value)) {
|
|
1157
|
-
var value = this.getLabelFromColumn(dropdowntree.value[0]);
|
|
1158
|
-
dropdowntree.element.value = value;
|
|
1159
|
-
}
|
|
1160
|
-
var ddlVal = !isNullOrUndefined(rule.field) ?
|
|
1161
|
-
this.GetRootColumnName(rule.field) : dropdowntree.value;
|
|
1162
|
-
this.selectedColumn = this.getColumn(ddlVal);
|
|
1163
|
-
if (Object.keys(rule).length) {
|
|
1164
|
-
this.changeRule(rule, {
|
|
1165
|
-
element: dropdowntree.element,
|
|
1166
|
-
itemData: this.selectedColumn
|
|
1167
|
-
});
|
|
1105
|
+
this.setMultiConnector(ruleElem);
|
|
1168
1106
|
}
|
|
1169
1107
|
};
|
|
1170
1108
|
QueryBuilder.prototype.dropdownTreeFiltering = function (args) {
|
|
@@ -1865,11 +1803,11 @@ var QueryBuilder = /** @class */ (function (_super) {
|
|
|
1865
1803
|
}
|
|
1866
1804
|
this.updatedRule = null;
|
|
1867
1805
|
if (this.headerTemplate) {
|
|
1868
|
-
var
|
|
1806
|
+
var args_4 = {
|
|
1869
1807
|
requestType: 'header-template-create', ruleID: groupElem.id, condition: condition,
|
|
1870
1808
|
notCondition: this.enableNotCondition ? not : undefined
|
|
1871
1809
|
};
|
|
1872
|
-
this.trigger('actionBegin',
|
|
1810
|
+
this.trigger('actionBegin', args_4);
|
|
1873
1811
|
}
|
|
1874
1812
|
else {
|
|
1875
1813
|
if (this.enableSeparateConnector) {
|