@syncfusion/ej2-querybuilder 26.2.11 → 27.1.50
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 +1 -1
- 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 +285 -259
- package/dist/es6/ej2-querybuilder.es2015.js.map +1 -1
- package/dist/es6/ej2-querybuilder.es5.js +286 -259
- 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 +12 -12
- package/src/query-builder/query-builder.js +285 -258
- package/styles/bootstrap-dark-lite.css +728 -0
- package/styles/bootstrap-dark-lite.scss +15 -0
- package/styles/bootstrap-dark.css +114 -170
- package/styles/bootstrap-dark.scss +1 -0
- package/styles/bootstrap-lite.css +713 -0
- package/styles/bootstrap-lite.scss +15 -0
- package/styles/bootstrap.css +106 -162
- package/styles/bootstrap.scss +1 -0
- package/styles/bootstrap4-lite.css +781 -0
- package/styles/bootstrap4-lite.scss +15 -0
- package/styles/bootstrap4.css +120 -231
- package/styles/bootstrap4.scss +1 -0
- package/styles/bootstrap5-dark-lite.css +764 -0
- package/styles/bootstrap5-dark-lite.scss +15 -0
- package/styles/bootstrap5-dark.css +109 -165
- package/styles/bootstrap5-dark.scss +1 -0
- package/styles/bootstrap5-lite.css +764 -0
- package/styles/bootstrap5-lite.scss +15 -0
- package/styles/bootstrap5.3-lite.css +775 -0
- package/styles/bootstrap5.3-lite.scss +15 -0
- package/styles/bootstrap5.3.css +959 -0
- package/styles/bootstrap5.3.scss +16 -0
- package/styles/bootstrap5.css +109 -165
- package/styles/bootstrap5.scss +1 -0
- package/styles/fabric-dark-lite.css +690 -0
- package/styles/fabric-dark-lite.scss +15 -0
- package/styles/fabric-dark.css +108 -156
- package/styles/fabric-dark.scss +1 -0
- package/styles/fabric-lite.css +679 -0
- package/styles/fabric-lite.scss +15 -0
- package/styles/fabric.css +102 -143
- package/styles/fabric.scss +1 -0
- package/styles/fluent-dark-lite.css +759 -0
- package/styles/fluent-dark-lite.scss +15 -0
- package/styles/fluent-dark.css +111 -159
- package/styles/fluent-dark.scss +1 -0
- package/styles/fluent-lite.css +759 -0
- package/styles/fluent-lite.scss +15 -0
- package/styles/fluent.css +111 -159
- package/styles/fluent.scss +1 -0
- package/styles/fluent2-lite.css +771 -0
- package/styles/fluent2-lite.scss +15 -0
- package/styles/fluent2.css +114 -151
- package/styles/fluent2.scss +1 -0
- package/styles/highcontrast-light-lite.css +773 -0
- package/styles/highcontrast-light-lite.scss +15 -0
- package/styles/highcontrast-light.css +101 -135
- package/styles/highcontrast-light.scss +1 -0
- package/styles/highcontrast-lite.css +801 -0
- package/styles/highcontrast-lite.scss +15 -0
- package/styles/highcontrast.css +122 -156
- package/styles/highcontrast.scss +1 -0
- package/styles/material-dark-lite.css +725 -0
- package/styles/material-dark-lite.scss +15 -0
- package/styles/material-dark.css +105 -131
- package/styles/material-dark.scss +1 -0
- package/styles/material-lite.css +731 -0
- package/styles/material-lite.scss +15 -0
- package/styles/material.css +105 -152
- package/styles/material.scss +1 -0
- package/styles/material3-dark-lite.css +738 -0
- package/styles/material3-dark-lite.scss +15 -0
- package/styles/material3-dark.css +101 -157
- package/styles/material3-dark.scss +1 -0
- package/styles/material3-lite.css +740 -0
- package/styles/material3-lite.scss +15 -0
- package/styles/material3.css +101 -157
- package/styles/material3.scss +1 -0
- package/styles/query-builder/_bigger.scss +208 -0
- package/styles/query-builder/_bootstrap5.3-definition.scss +1 -1
- package/styles/query-builder/_layout.scss +5 -210
- package/styles/query-builder/_theme.scss +10 -3
- package/styles/query-builder/bootstrap-dark.css +114 -170
- package/styles/query-builder/bootstrap-dark.scss +1 -0
- package/styles/query-builder/bootstrap.css +106 -162
- package/styles/query-builder/bootstrap.scss +1 -0
- package/styles/query-builder/bootstrap4.css +120 -231
- package/styles/query-builder/bootstrap4.scss +1 -0
- package/styles/query-builder/bootstrap5-dark.css +109 -165
- package/styles/query-builder/bootstrap5-dark.scss +1 -0
- package/styles/query-builder/bootstrap5.3.css +959 -0
- package/styles/query-builder/bootstrap5.3.scss +16 -0
- package/styles/query-builder/bootstrap5.css +109 -165
- package/styles/query-builder/bootstrap5.scss +1 -0
- package/styles/query-builder/fabric-dark.css +108 -156
- package/styles/query-builder/fabric-dark.scss +1 -0
- package/styles/query-builder/fabric.css +102 -143
- package/styles/query-builder/fabric.scss +1 -0
- package/styles/query-builder/fluent-dark.css +111 -159
- package/styles/query-builder/fluent-dark.scss +1 -0
- package/styles/query-builder/fluent.css +111 -159
- package/styles/query-builder/fluent.scss +1 -0
- package/styles/query-builder/fluent2.css +114 -151
- package/styles/query-builder/fluent2.scss +1 -0
- package/styles/query-builder/highcontrast-light.css +101 -135
- package/styles/query-builder/highcontrast-light.scss +1 -0
- package/styles/query-builder/highcontrast.css +122 -156
- package/styles/query-builder/highcontrast.scss +1 -0
- package/styles/query-builder/material-dark.css +105 -131
- package/styles/query-builder/material-dark.scss +1 -0
- package/styles/query-builder/material.css +105 -152
- package/styles/query-builder/material.scss +1 -0
- package/styles/query-builder/material3-dark.css +101 -157
- package/styles/query-builder/material3-dark.scss +1 -0
- package/styles/query-builder/material3.css +101 -157
- package/styles/query-builder/material3.scss +1 -0
- package/styles/query-builder/tailwind-dark.css +100 -137
- package/styles/query-builder/tailwind-dark.scss +1 -0
- package/styles/query-builder/tailwind.css +100 -137
- package/styles/query-builder/tailwind.scss +1 -0
- package/styles/tailwind-dark-lite.css +726 -0
- package/styles/tailwind-dark-lite.scss +15 -0
- package/styles/tailwind-dark.css +100 -137
- package/styles/tailwind-dark.scss +1 -0
- package/styles/tailwind-lite.css +726 -0
- package/styles/tailwind-lite.scss +15 -0
- package/styles/tailwind.css +100 -137
- package/styles/tailwind.scss +1 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ChildProperty, Property, Collection, Component,
|
|
1
|
+
import { ChildProperty, Property, Collection, Component, getComponent, removeClass, isNullOrUndefined, Animation, extend, closest, addClass, select, append, detach, rippleEffect, getInstance, getValue, getNumericObject, Browser, classList, Internationalization, getUniqueID, L10n, Draggable, remove, compile, EventHandler, cldrData, Event, Complex, NotifyPropertyChanges } from '@syncfusion/ej2-base';
|
|
2
2
|
import { Button, CheckBox, RadioButton } from '@syncfusion/ej2-buttons';
|
|
3
3
|
import { MultiSelect, CheckBoxSelection, DropDownList, DropDownTree } from '@syncfusion/ej2-dropdowns';
|
|
4
4
|
import { Query, DataManager, Deferred, Predicate } from '@syncfusion/ej2-data';
|
|
@@ -160,233 +160,6 @@ let QueryBuilder = class QueryBuilder extends Component {
|
|
|
160
160
|
this.isMiddleGroup = false;
|
|
161
161
|
this.cloneRuleBtnClick = false;
|
|
162
162
|
this.isValueEmpty = false;
|
|
163
|
-
this.dragStopHandler = (e) => {
|
|
164
|
-
if (this.isDragEventPrevent) {
|
|
165
|
-
return;
|
|
166
|
-
}
|
|
167
|
-
let targetGroup = closest(e.target, '.e-rule-container');
|
|
168
|
-
if (isNullOrUndefined(targetGroup) && e.target.parentElement &&
|
|
169
|
-
e.target.parentElement.classList.contains('e-btn-group') && this.enableSeparateConnector) {
|
|
170
|
-
targetGroup = closest(e.target.parentElement.previousElementSibling, '.e-rule-container');
|
|
171
|
-
}
|
|
172
|
-
let isPreventelem = closest(e.helper, '.e-notallowedcur');
|
|
173
|
-
let prevRule;
|
|
174
|
-
if (!isPreventelem) {
|
|
175
|
-
const targetGrp = closest(e.target, '.e-group-container');
|
|
176
|
-
const dropEventArgs = { cancel: false, dropRuleID: targetGroup !== null ? targetGroup.id
|
|
177
|
-
: targetGrp !== null ? targetGrp.id : null, dropGroupID: targetGrp !== null ? targetGrp.id : null };
|
|
178
|
-
this.trigger('drop', dropEventArgs);
|
|
179
|
-
if (dropEventArgs.cancel) {
|
|
180
|
-
isPreventelem = true;
|
|
181
|
-
}
|
|
182
|
-
prevRule = this.getValidRules();
|
|
183
|
-
}
|
|
184
|
-
this.prvtEvtTgrDaD = true;
|
|
185
|
-
const tgrt = this.enableSeparateConnector && e.target.parentElement &&
|
|
186
|
-
e.target.parentElement.classList.contains('e-btn-group') ? e.target.parentElement.previousElementSibling : e.target;
|
|
187
|
-
if (targetGroup && !isPreventelem) {
|
|
188
|
-
const groupId = targetGroup.id.split(this.element.id + '_')[1].split('_')[0];
|
|
189
|
-
if (this.draggable.currentStateTarget.parentElement.classList.contains('e-rule-field') ||
|
|
190
|
-
this.draggable.currentStateTarget.parentElement.classList.contains('e-group-header')) {
|
|
191
|
-
let rule;
|
|
192
|
-
if (this.draggable.currentStateTarget.parentElement.classList.contains('e-group-header')) {
|
|
193
|
-
rule = this.getGroup(this.draggedRule);
|
|
194
|
-
this.deleteGroup(closest(this.draggedRule, '.e-group-container'));
|
|
195
|
-
}
|
|
196
|
-
else {
|
|
197
|
-
rule = this.getRule(this.draggedRule);
|
|
198
|
-
this.deleteRule(this.draggedRule);
|
|
199
|
-
}
|
|
200
|
-
let groupRule = extend([], this.getGroup(targetGroup), [], true);
|
|
201
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
202
|
-
if (groupRule.properties) {
|
|
203
|
-
groupRule = groupRule.properties;
|
|
204
|
-
}
|
|
205
|
-
const groupElem = closest(targetGroup, '.e-group-container');
|
|
206
|
-
const nestGrpElem = groupElem.querySelectorAll('.e-group-container');
|
|
207
|
-
nestGrpElem.forEach((ele) => {
|
|
208
|
-
if (this.element.querySelector('#' + ele.id)) {
|
|
209
|
-
this.deleteGroup(ele);
|
|
210
|
-
}
|
|
211
|
-
});
|
|
212
|
-
const ruleElems = groupElem.querySelectorAll('.e-rule-container');
|
|
213
|
-
const ruleIds = [];
|
|
214
|
-
let dropInd;
|
|
215
|
-
for (let i = 0; i < ruleElems.length; i++) {
|
|
216
|
-
if (ruleElems[i].classList.contains('e-drag-rule-top-line') ||
|
|
217
|
-
ruleElems[i].classList.contains('e-drag-rule-bottom-line')) {
|
|
218
|
-
dropInd = i;
|
|
219
|
-
}
|
|
220
|
-
ruleIds.push(ruleElems[i].id.split(this.element.id + '_')[1]);
|
|
221
|
-
}
|
|
222
|
-
this.deleteRules(ruleIds);
|
|
223
|
-
if (targetGroup.classList.contains('e-drag-rule-top-line')) {
|
|
224
|
-
groupRule.rules.splice(dropInd, 0, rule);
|
|
225
|
-
}
|
|
226
|
-
else {
|
|
227
|
-
groupRule.rules.splice(dropInd + 1, 0, rule);
|
|
228
|
-
}
|
|
229
|
-
groupRule.rules.forEach((rule) => {
|
|
230
|
-
if (this.enableSeparateConnector) {
|
|
231
|
-
if (!rule.rules) {
|
|
232
|
-
this.addRules([rule], groupId);
|
|
233
|
-
}
|
|
234
|
-
else {
|
|
235
|
-
this.addGroups([rule], groupId);
|
|
236
|
-
}
|
|
237
|
-
}
|
|
238
|
-
else {
|
|
239
|
-
if (rule.condition) {
|
|
240
|
-
this.addGroups([rule], groupId);
|
|
241
|
-
}
|
|
242
|
-
else {
|
|
243
|
-
this.addRules([rule], groupId);
|
|
244
|
-
}
|
|
245
|
-
}
|
|
246
|
-
});
|
|
247
|
-
}
|
|
248
|
-
}
|
|
249
|
-
else if (tgrt.classList.contains('e-rule-list') && tgrt.children.length === 0 && !isPreventelem) {
|
|
250
|
-
const groupElem = closest(tgrt, '.e-group-container');
|
|
251
|
-
const groupId = groupElem.id.split(this.element.id + '_')[1].split('_')[0];
|
|
252
|
-
let rule;
|
|
253
|
-
if (this.draggable.currentStateTarget.parentElement.classList.contains('e-group-header')) {
|
|
254
|
-
rule = this.getGroup(this.draggedRule);
|
|
255
|
-
this.deleteGroup(closest(this.draggedRule, '.e-group-container'));
|
|
256
|
-
}
|
|
257
|
-
else {
|
|
258
|
-
rule = this.getRule(this.draggedRule);
|
|
259
|
-
this.deleteRule(this.draggedRule);
|
|
260
|
-
}
|
|
261
|
-
if (this.enableSeparateConnector) {
|
|
262
|
-
if (!rule.rules) {
|
|
263
|
-
this.addRules([rule], groupId);
|
|
264
|
-
}
|
|
265
|
-
else {
|
|
266
|
-
this.addGroups([rule], groupId);
|
|
267
|
-
}
|
|
268
|
-
}
|
|
269
|
-
else {
|
|
270
|
-
if (rule.condition) {
|
|
271
|
-
this.addGroups([rule], groupId);
|
|
272
|
-
}
|
|
273
|
-
else {
|
|
274
|
-
this.addRules([rule], groupId);
|
|
275
|
-
}
|
|
276
|
-
}
|
|
277
|
-
}
|
|
278
|
-
else if (tgrt.classList.contains('e-rule-list') && tgrt.children[0].classList.contains('e-group-container') && !isPreventelem) {
|
|
279
|
-
const groupElem = closest(tgrt, '.e-group-container');
|
|
280
|
-
const groupId = groupElem.id.split(this.element.id + '_')[1].split('_')[0];
|
|
281
|
-
let rule;
|
|
282
|
-
if (this.draggable.currentStateTarget.parentElement.classList.contains('e-group-header')) {
|
|
283
|
-
rule = this.getGroup(this.draggedRule);
|
|
284
|
-
this.deleteGroup(closest(this.draggedRule, '.e-group-container'));
|
|
285
|
-
}
|
|
286
|
-
else {
|
|
287
|
-
rule = this.getRule(this.draggedRule);
|
|
288
|
-
this.deleteRule(this.draggedRule);
|
|
289
|
-
}
|
|
290
|
-
let groupRule = extend([], this.getGroup(tgrt), [], true);
|
|
291
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
292
|
-
if (groupRule.properties) {
|
|
293
|
-
groupRule = groupRule.properties;
|
|
294
|
-
}
|
|
295
|
-
const groupElems = tgrt.querySelectorAll('.e-group-container');
|
|
296
|
-
groupElems.forEach((ele) => {
|
|
297
|
-
if (this.element.querySelector('#' + ele.id)) {
|
|
298
|
-
this.deleteGroup(ele);
|
|
299
|
-
}
|
|
300
|
-
});
|
|
301
|
-
const ruleElems = groupElem.querySelectorAll('.e-rule-container');
|
|
302
|
-
ruleElems.forEach((ele) => {
|
|
303
|
-
if (this.element.querySelector('#' + ele.id)) {
|
|
304
|
-
this.deleteRule(ele);
|
|
305
|
-
}
|
|
306
|
-
});
|
|
307
|
-
if (this.draggable.currentStateTarget.parentElement.classList.contains('e-group-header')) {
|
|
308
|
-
this.addGroups([rule], groupId);
|
|
309
|
-
}
|
|
310
|
-
else {
|
|
311
|
-
this.addRules([rule], groupId);
|
|
312
|
-
}
|
|
313
|
-
groupRule.rules.forEach((rule) => {
|
|
314
|
-
if (this.enableSeparateConnector) {
|
|
315
|
-
if (!rule.rules) {
|
|
316
|
-
this.addRules([rule], groupId);
|
|
317
|
-
}
|
|
318
|
-
else {
|
|
319
|
-
this.addGroups([rule], groupId);
|
|
320
|
-
}
|
|
321
|
-
}
|
|
322
|
-
else {
|
|
323
|
-
if (rule.condition) {
|
|
324
|
-
this.addGroups([rule], groupId);
|
|
325
|
-
}
|
|
326
|
-
else {
|
|
327
|
-
this.addRules([rule], groupId);
|
|
328
|
-
}
|
|
329
|
-
}
|
|
330
|
-
});
|
|
331
|
-
}
|
|
332
|
-
else if ((closest(e.target, '.e-group-container') || e.target.classList.contains('e-group-container')) && !isPreventelem) {
|
|
333
|
-
let rule;
|
|
334
|
-
targetGroup = closest(e.target, '.e-group-container');
|
|
335
|
-
if (!targetGroup && e.target.classList.contains('e-group-container')) {
|
|
336
|
-
targetGroup = e.target;
|
|
337
|
-
}
|
|
338
|
-
const groupId = targetGroup.id.split(this.element.id + '_')[1].split('_')[0];
|
|
339
|
-
if (groupId === 'group0') {
|
|
340
|
-
if (this.draggable.currentStateTarget.parentElement.classList.contains('e-group-header')) {
|
|
341
|
-
rule = this.getGroup(this.draggedRule);
|
|
342
|
-
this.deleteGroup(closest(this.draggedRule, '.e-group-container'));
|
|
343
|
-
}
|
|
344
|
-
else {
|
|
345
|
-
rule = this.getRule(this.draggedRule);
|
|
346
|
-
this.deleteRule(this.draggedRule);
|
|
347
|
-
}
|
|
348
|
-
if (this.enableSeparateConnector) {
|
|
349
|
-
if (!rule.rules) {
|
|
350
|
-
this.addRules([rule], groupId);
|
|
351
|
-
}
|
|
352
|
-
else {
|
|
353
|
-
this.addGroups([rule], groupId);
|
|
354
|
-
}
|
|
355
|
-
}
|
|
356
|
-
else {
|
|
357
|
-
if (rule.condition) {
|
|
358
|
-
this.addGroups([rule], groupId);
|
|
359
|
-
}
|
|
360
|
-
else {
|
|
361
|
-
this.addRules([rule], groupId);
|
|
362
|
-
}
|
|
363
|
-
}
|
|
364
|
-
}
|
|
365
|
-
}
|
|
366
|
-
if (!isPreventelem) {
|
|
367
|
-
this.trigger('ruleChange', { previousRule: prevRule, rule: this.getValidRules(), type: 'drag-and-drop' });
|
|
368
|
-
}
|
|
369
|
-
this.prvtEvtTgrDaD = false;
|
|
370
|
-
document.body.classList.remove('e-prevent-select');
|
|
371
|
-
let borderLineElem = this.element.querySelectorAll('.e-drag-rule-bottom-line');
|
|
372
|
-
borderLineElem.forEach((ele) => {
|
|
373
|
-
ele.classList.remove('e-drag-rule-bottom-line');
|
|
374
|
-
});
|
|
375
|
-
borderLineElem = this.element.querySelectorAll('.e-drag-rule-top-line');
|
|
376
|
-
borderLineElem.forEach((ele) => {
|
|
377
|
-
ele.classList.remove('e-drag-rule-top-line');
|
|
378
|
-
});
|
|
379
|
-
borderLineElem = this.element.querySelectorAll('.e-qb-dragging-rule');
|
|
380
|
-
borderLineElem.forEach((ele) => {
|
|
381
|
-
ele.classList.remove('e-qb-dragging-rule');
|
|
382
|
-
});
|
|
383
|
-
if (e.helper.classList.contains('e-cloneproperties') && document.querySelector('.' + e.helper.classList[0])) {
|
|
384
|
-
remove(e.helper);
|
|
385
|
-
}
|
|
386
|
-
if (this.enableSeparateConnector) {
|
|
387
|
-
this.refresh();
|
|
388
|
-
}
|
|
389
|
-
};
|
|
390
163
|
MultiSelect.Inject(CheckBoxSelection);
|
|
391
164
|
}
|
|
392
165
|
getPersistData() {
|
|
@@ -886,7 +659,9 @@ let QueryBuilder = class QueryBuilder extends Component {
|
|
|
886
659
|
elem = template;
|
|
887
660
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
888
661
|
append(elem, ruleElem);
|
|
889
|
-
ruleElem.children
|
|
662
|
+
if (ruleElem.children.length) {
|
|
663
|
+
ruleElem.children[ruleElem.children.length - 1].className += ' e-rule-field';
|
|
664
|
+
}
|
|
890
665
|
}
|
|
891
666
|
else {
|
|
892
667
|
template = this.ruleTemplateFn(args, this, 'Template', templateID)[0];
|
|
@@ -1174,11 +949,14 @@ let QueryBuilder = class QueryBuilder extends Component {
|
|
|
1174
949
|
.filter((filteredChild) => filteredChild !== null);
|
|
1175
950
|
this.changeDataSource(matchedDataSource);
|
|
1176
951
|
setTimeout(() => {
|
|
1177
|
-
proxy.ddTree.treeObj
|
|
952
|
+
if (!isNullOrUndefined(proxy.ddTree) && !isNullOrUndefined(proxy.ddTree.treeObj)) {
|
|
953
|
+
proxy.ddTree.treeObj.expandAll();
|
|
954
|
+
}
|
|
1178
955
|
}, 100);
|
|
1179
956
|
}
|
|
1180
957
|
}
|
|
1181
958
|
changeDataSource(data) {
|
|
959
|
+
this.updateDropdowntreeDS(data);
|
|
1182
960
|
this.ddTree.treeObj.fields = {
|
|
1183
961
|
dataSource: data,
|
|
1184
962
|
value: 'field',
|
|
@@ -1212,7 +990,7 @@ let QueryBuilder = class QueryBuilder extends Component {
|
|
|
1212
990
|
}
|
|
1213
991
|
dropdownTreeClose() {
|
|
1214
992
|
if (this.ddTree) {
|
|
1215
|
-
this.changeDataSource(this.columns);
|
|
993
|
+
this.changeDataSource(extend([], this.columns, [], true));
|
|
1216
994
|
}
|
|
1217
995
|
this.ddTree = null;
|
|
1218
996
|
}
|
|
@@ -1914,7 +1692,7 @@ let QueryBuilder = class QueryBuilder extends Component {
|
|
|
1914
1692
|
if (this.headerTemplate) {
|
|
1915
1693
|
args = { requestType: 'header-template-initialize', ruleID: groupElem.id,
|
|
1916
1694
|
notCondition: this.enableNotCondition ? not : undefined,
|
|
1917
|
-
condition: condition, rule: this.getRuleCollection(rule,
|
|
1695
|
+
condition: condition, rule: this.getRuleCollection(rule, false), groupID: groupID };
|
|
1918
1696
|
this.trigger('actionBegin', args);
|
|
1919
1697
|
if (this.enableSeparateConnector && groupElem.id.indexOf('rule') !== -1) {
|
|
1920
1698
|
args.requestType = 'rule-template-create';
|
|
@@ -1950,6 +1728,17 @@ let QueryBuilder = class QueryBuilder extends Component {
|
|
|
1950
1728
|
}
|
|
1951
1729
|
else if (this.isVue3) {
|
|
1952
1730
|
template = this.headerFn(args, this, groupElem.id, templateID);
|
|
1731
|
+
if (this.enableSeparateConnector && (isInitialRule || groupElem.id.indexOf('rule') !== -1)) {
|
|
1732
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
1733
|
+
for (let i = 0; i < template.length; i++) {
|
|
1734
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
1735
|
+
if (template[i].nodeName === 'DIV') {
|
|
1736
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
1737
|
+
template = template[i];
|
|
1738
|
+
break;
|
|
1739
|
+
}
|
|
1740
|
+
}
|
|
1741
|
+
}
|
|
1953
1742
|
if (this.enableSeparateConnector && isInitialRule) {
|
|
1954
1743
|
this.enableSeparateConnectorInitialRule(groupElem, template);
|
|
1955
1744
|
}
|
|
@@ -2152,7 +1941,8 @@ let QueryBuilder = class QueryBuilder extends Component {
|
|
|
2152
1941
|
changeValue(i, args) {
|
|
2153
1942
|
let element;
|
|
2154
1943
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
2155
|
-
if (this.isNumInput && typeof args.value === 'number')
|
|
1944
|
+
if ((this.isNumInput && typeof args.value === 'number') || (args.type === 'input' && args.target && args.target.classList.contains('e-numerictextbox'))
|
|
1945
|
+
&& (this.selectedColumn.validation.max !== Number.MAX_VALUE || this.selectedColumn.validation.min > 0)) {
|
|
2156
1946
|
this.isNumInput = false;
|
|
2157
1947
|
return;
|
|
2158
1948
|
}
|
|
@@ -2165,7 +1955,7 @@ let QueryBuilder = class QueryBuilder extends Component {
|
|
|
2165
1955
|
element = args.event.target;
|
|
2166
1956
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
2167
1957
|
}
|
|
2168
|
-
else if (args.type === 'input' && args.
|
|
1958
|
+
else if (args.type === 'input' && args.target && args.target.classList.contains('e-numerictextbox')) {
|
|
2169
1959
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
2170
1960
|
element = args.currentTarget;
|
|
2171
1961
|
}
|
|
@@ -2227,7 +2017,7 @@ let QueryBuilder = class QueryBuilder extends Component {
|
|
|
2227
2017
|
else {
|
|
2228
2018
|
value = args.value;
|
|
2229
2019
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
2230
|
-
if (args.type === 'input' && args.
|
|
2020
|
+
if (args.type === 'input' && args.target && args.target.classList.contains('e-numerictextbox')) {
|
|
2231
2021
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
2232
2022
|
value = Number(args.currentTarget.value);
|
|
2233
2023
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
@@ -2276,7 +2066,7 @@ let QueryBuilder = class QueryBuilder extends Component {
|
|
|
2276
2066
|
this.isFieldClose = true;
|
|
2277
2067
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
2278
2068
|
const ddl = getComponent(id, 'dropdownlist');
|
|
2279
|
-
const item = ddl.popupObj.element.querySelector('.e-active');
|
|
2069
|
+
const item = ddl.popupObj && ddl.popupObj.element.querySelector('.e-active');
|
|
2280
2070
|
const itemData = ddl.getItemData();
|
|
2281
2071
|
ddl.value = itemData.value;
|
|
2282
2072
|
const customArgs = { element: ddl.element, value: itemData.value, isInteracted: true,
|
|
@@ -2613,13 +2403,13 @@ let QueryBuilder = class QueryBuilder extends Component {
|
|
|
2613
2403
|
}
|
|
2614
2404
|
const height = (this.element.className.indexOf('e-device') > -1) ? '250px' : '200px';
|
|
2615
2405
|
let operator;
|
|
2616
|
-
|
|
2617
|
-
|
|
2618
|
-
|
|
2619
|
-
|
|
2620
|
-
|
|
2621
|
-
|
|
2622
|
-
|
|
2406
|
+
if (rule.operator) {
|
|
2407
|
+
operatorList.forEach((obj) => {
|
|
2408
|
+
if ('value' in obj && typeof obj.value === 'string' && obj.value.toLowerCase() === rule.operator.toLowerCase()) {
|
|
2409
|
+
operator = obj.value;
|
|
2410
|
+
}
|
|
2411
|
+
});
|
|
2412
|
+
}
|
|
2623
2413
|
let value = operator ? operator : operatorList[0].value;
|
|
2624
2414
|
let ddlIdx = 0;
|
|
2625
2415
|
if (!this.autoSelectOperator) {
|
|
@@ -2949,8 +2739,11 @@ let QueryBuilder = class QueryBuilder extends Component {
|
|
|
2949
2739
|
closePopup(i, args) {
|
|
2950
2740
|
const element = document.getElementById(args.popup.element.id.replace('_popup', ''));
|
|
2951
2741
|
if (element) {
|
|
2952
|
-
const
|
|
2953
|
-
|
|
2742
|
+
const ms = getComponent(element, 'multiselect');
|
|
2743
|
+
if (ms) {
|
|
2744
|
+
const value = ms.value;
|
|
2745
|
+
this.updateRules(element, value, i);
|
|
2746
|
+
}
|
|
2954
2747
|
}
|
|
2955
2748
|
}
|
|
2956
2749
|
processTemplate(target, itemData, rule, tempRule) {
|
|
@@ -4580,6 +4373,236 @@ let QueryBuilder = class QueryBuilder extends Component {
|
|
|
4580
4373
|
this.trigger('drag', dragEventArgs);
|
|
4581
4374
|
this.isDragEventPrevent = dragEventArgs.cancel;
|
|
4582
4375
|
}
|
|
4376
|
+
dragStopHandler(e) {
|
|
4377
|
+
if (this.isDragEventPrevent) {
|
|
4378
|
+
return;
|
|
4379
|
+
}
|
|
4380
|
+
let targetGroup = closest(e.target, '.e-rule-container');
|
|
4381
|
+
if (isNullOrUndefined(targetGroup) && e.target.parentElement &&
|
|
4382
|
+
e.target.parentElement.classList.contains('e-btn-group') && this.enableSeparateConnector) {
|
|
4383
|
+
targetGroup = closest(e.target.parentElement.previousElementSibling, '.e-rule-container');
|
|
4384
|
+
}
|
|
4385
|
+
let isPreventelem;
|
|
4386
|
+
if (!isNullOrUndefined(e.helper)) {
|
|
4387
|
+
isPreventelem = closest(e.helper, '.e-notallowedcur');
|
|
4388
|
+
}
|
|
4389
|
+
let prevRule;
|
|
4390
|
+
if (!isPreventelem) {
|
|
4391
|
+
const targetGrp = closest(e.target, '.e-group-container');
|
|
4392
|
+
const dropEventArgs = { cancel: false, dropRuleID: targetGroup !== null ? targetGroup.id
|
|
4393
|
+
: targetGrp !== null ? targetGrp.id : null, dropGroupID: targetGrp !== null ? targetGrp.id : null };
|
|
4394
|
+
this.trigger('drop', dropEventArgs);
|
|
4395
|
+
if (dropEventArgs.cancel) {
|
|
4396
|
+
isPreventelem = true;
|
|
4397
|
+
}
|
|
4398
|
+
prevRule = this.getValidRules();
|
|
4399
|
+
}
|
|
4400
|
+
this.prvtEvtTgrDaD = true;
|
|
4401
|
+
const tgrt = this.enableSeparateConnector && e.target.parentElement &&
|
|
4402
|
+
e.target.parentElement.classList.contains('e-btn-group') ? e.target.parentElement.previousElementSibling : e.target;
|
|
4403
|
+
if (targetGroup && !isPreventelem) {
|
|
4404
|
+
const groupId = targetGroup.id.split(this.element.id + '_')[1].split('_')[0];
|
|
4405
|
+
if (this.draggable.currentStateTarget.parentElement.classList.contains('e-rule-field') ||
|
|
4406
|
+
this.draggable.currentStateTarget.parentElement.classList.contains('e-group-header')) {
|
|
4407
|
+
let rule;
|
|
4408
|
+
if (this.draggable.currentStateTarget.parentElement.classList.contains('e-group-header')) {
|
|
4409
|
+
rule = this.getGroup(this.draggedRule);
|
|
4410
|
+
this.deleteGroup(closest(this.draggedRule, '.e-group-container'));
|
|
4411
|
+
}
|
|
4412
|
+
else {
|
|
4413
|
+
rule = this.getRule(this.draggedRule);
|
|
4414
|
+
this.deleteRule(this.draggedRule);
|
|
4415
|
+
}
|
|
4416
|
+
let groupRule = extend([], this.getGroup(targetGroup), [], true);
|
|
4417
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
4418
|
+
if (groupRule.properties) {
|
|
4419
|
+
groupRule = groupRule.properties;
|
|
4420
|
+
}
|
|
4421
|
+
const groupElem = closest(targetGroup, '.e-group-container');
|
|
4422
|
+
const nestGrpElem = groupElem.querySelectorAll('.e-group-container');
|
|
4423
|
+
nestGrpElem.forEach((ele) => {
|
|
4424
|
+
if (this.element.querySelector('#' + ele.id)) {
|
|
4425
|
+
this.deleteGroup(ele);
|
|
4426
|
+
}
|
|
4427
|
+
});
|
|
4428
|
+
const ruleElems = groupElem.querySelectorAll('.e-rule-container');
|
|
4429
|
+
const ruleIds = [];
|
|
4430
|
+
let dropInd;
|
|
4431
|
+
for (let i = 0; i < ruleElems.length; i++) {
|
|
4432
|
+
if (ruleElems[i].classList.contains('e-drag-rule-top-line') ||
|
|
4433
|
+
ruleElems[i].classList.contains('e-drag-rule-bottom-line')) {
|
|
4434
|
+
dropInd = i;
|
|
4435
|
+
}
|
|
4436
|
+
ruleIds.push(ruleElems[i].id.split(this.element.id + '_')[1]);
|
|
4437
|
+
}
|
|
4438
|
+
this.deleteRules(ruleIds);
|
|
4439
|
+
if (targetGroup.classList.contains('e-drag-rule-top-line')) {
|
|
4440
|
+
groupRule.rules.splice(dropInd, 0, rule);
|
|
4441
|
+
}
|
|
4442
|
+
else {
|
|
4443
|
+
groupRule.rules.splice(dropInd + 1, 0, rule);
|
|
4444
|
+
}
|
|
4445
|
+
groupRule.rules.forEach((rule) => {
|
|
4446
|
+
if (this.enableSeparateConnector) {
|
|
4447
|
+
if (!rule.rules) {
|
|
4448
|
+
this.addRules([rule], groupId);
|
|
4449
|
+
}
|
|
4450
|
+
else {
|
|
4451
|
+
this.addGroups([rule], groupId);
|
|
4452
|
+
}
|
|
4453
|
+
}
|
|
4454
|
+
else {
|
|
4455
|
+
if (rule.condition) {
|
|
4456
|
+
this.addGroups([rule], groupId);
|
|
4457
|
+
}
|
|
4458
|
+
else {
|
|
4459
|
+
this.addRules([rule], groupId);
|
|
4460
|
+
}
|
|
4461
|
+
}
|
|
4462
|
+
});
|
|
4463
|
+
}
|
|
4464
|
+
}
|
|
4465
|
+
else if (tgrt.classList.contains('e-rule-list') && tgrt.children.length === 0 && !isPreventelem) {
|
|
4466
|
+
const groupElem = closest(tgrt, '.e-group-container');
|
|
4467
|
+
const groupId = groupElem.id.split(this.element.id + '_')[1].split('_')[0];
|
|
4468
|
+
let rule;
|
|
4469
|
+
if (this.draggable.currentStateTarget.parentElement.classList.contains('e-group-header')) {
|
|
4470
|
+
rule = this.getGroup(this.draggedRule);
|
|
4471
|
+
this.deleteGroup(closest(this.draggedRule, '.e-group-container'));
|
|
4472
|
+
}
|
|
4473
|
+
else {
|
|
4474
|
+
rule = this.getRule(this.draggedRule);
|
|
4475
|
+
this.deleteRule(this.draggedRule);
|
|
4476
|
+
}
|
|
4477
|
+
if (this.enableSeparateConnector) {
|
|
4478
|
+
if (!rule.rules) {
|
|
4479
|
+
this.addRules([rule], groupId);
|
|
4480
|
+
}
|
|
4481
|
+
else {
|
|
4482
|
+
this.addGroups([rule], groupId);
|
|
4483
|
+
}
|
|
4484
|
+
}
|
|
4485
|
+
else {
|
|
4486
|
+
if (rule.condition) {
|
|
4487
|
+
this.addGroups([rule], groupId);
|
|
4488
|
+
}
|
|
4489
|
+
else {
|
|
4490
|
+
this.addRules([rule], groupId);
|
|
4491
|
+
}
|
|
4492
|
+
}
|
|
4493
|
+
}
|
|
4494
|
+
else if (tgrt.classList.contains('e-rule-list') && tgrt.children[0].classList.contains('e-group-container') && !isPreventelem) {
|
|
4495
|
+
const groupElem = closest(tgrt, '.e-group-container');
|
|
4496
|
+
const groupId = groupElem.id.split(this.element.id + '_')[1].split('_')[0];
|
|
4497
|
+
let rule;
|
|
4498
|
+
if (this.draggable.currentStateTarget.parentElement.classList.contains('e-group-header')) {
|
|
4499
|
+
rule = this.getGroup(this.draggedRule);
|
|
4500
|
+
this.deleteGroup(closest(this.draggedRule, '.e-group-container'));
|
|
4501
|
+
}
|
|
4502
|
+
else {
|
|
4503
|
+
rule = this.getRule(this.draggedRule);
|
|
4504
|
+
this.deleteRule(this.draggedRule);
|
|
4505
|
+
}
|
|
4506
|
+
let groupRule = extend([], this.getGroup(tgrt), [], true);
|
|
4507
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
4508
|
+
if (groupRule.properties) {
|
|
4509
|
+
groupRule = groupRule.properties;
|
|
4510
|
+
}
|
|
4511
|
+
const groupElems = tgrt.querySelectorAll('.e-group-container');
|
|
4512
|
+
groupElems.forEach((ele) => {
|
|
4513
|
+
if (this.element.querySelector('#' + ele.id)) {
|
|
4514
|
+
this.deleteGroup(ele);
|
|
4515
|
+
}
|
|
4516
|
+
});
|
|
4517
|
+
const ruleElems = groupElem.querySelectorAll('.e-rule-container');
|
|
4518
|
+
ruleElems.forEach((ele) => {
|
|
4519
|
+
if (this.element.querySelector('#' + ele.id)) {
|
|
4520
|
+
this.deleteRule(ele);
|
|
4521
|
+
}
|
|
4522
|
+
});
|
|
4523
|
+
if (this.draggable.currentStateTarget.parentElement.classList.contains('e-group-header')) {
|
|
4524
|
+
this.addGroups([rule], groupId);
|
|
4525
|
+
}
|
|
4526
|
+
else {
|
|
4527
|
+
this.addRules([rule], groupId);
|
|
4528
|
+
}
|
|
4529
|
+
groupRule.rules.forEach((rule) => {
|
|
4530
|
+
if (this.enableSeparateConnector) {
|
|
4531
|
+
if (!rule.rules) {
|
|
4532
|
+
this.addRules([rule], groupId);
|
|
4533
|
+
}
|
|
4534
|
+
else {
|
|
4535
|
+
this.addGroups([rule], groupId);
|
|
4536
|
+
}
|
|
4537
|
+
}
|
|
4538
|
+
else {
|
|
4539
|
+
if (rule.condition) {
|
|
4540
|
+
this.addGroups([rule], groupId);
|
|
4541
|
+
}
|
|
4542
|
+
else {
|
|
4543
|
+
this.addRules([rule], groupId);
|
|
4544
|
+
}
|
|
4545
|
+
}
|
|
4546
|
+
});
|
|
4547
|
+
}
|
|
4548
|
+
else if ((closest(e.target, '.e-group-container') || e.target.classList.contains('e-group-container')) && !isPreventelem) {
|
|
4549
|
+
let rule;
|
|
4550
|
+
targetGroup = closest(e.target, '.e-group-container');
|
|
4551
|
+
if (!targetGroup && e.target.classList.contains('e-group-container')) {
|
|
4552
|
+
targetGroup = e.target;
|
|
4553
|
+
}
|
|
4554
|
+
const groupId = targetGroup.id.split(this.element.id + '_')[1].split('_')[0];
|
|
4555
|
+
if (groupId === 'group0') {
|
|
4556
|
+
if (this.draggable.currentStateTarget.parentElement.classList.contains('e-group-header')) {
|
|
4557
|
+
rule = this.getGroup(this.draggedRule);
|
|
4558
|
+
this.deleteGroup(closest(this.draggedRule, '.e-group-container'));
|
|
4559
|
+
}
|
|
4560
|
+
else {
|
|
4561
|
+
rule = this.getRule(this.draggedRule);
|
|
4562
|
+
this.deleteRule(this.draggedRule);
|
|
4563
|
+
}
|
|
4564
|
+
if (this.enableSeparateConnector) {
|
|
4565
|
+
if (!rule.rules) {
|
|
4566
|
+
this.addRules([rule], groupId);
|
|
4567
|
+
}
|
|
4568
|
+
else {
|
|
4569
|
+
this.addGroups([rule], groupId);
|
|
4570
|
+
}
|
|
4571
|
+
}
|
|
4572
|
+
else {
|
|
4573
|
+
if (rule.condition) {
|
|
4574
|
+
this.addGroups([rule], groupId);
|
|
4575
|
+
}
|
|
4576
|
+
else {
|
|
4577
|
+
this.addRules([rule], groupId);
|
|
4578
|
+
}
|
|
4579
|
+
}
|
|
4580
|
+
}
|
|
4581
|
+
}
|
|
4582
|
+
if (!isPreventelem) {
|
|
4583
|
+
this.trigger('ruleChange', { previousRule: prevRule, rule: this.getValidRules(), type: 'drag-and-drop' });
|
|
4584
|
+
}
|
|
4585
|
+
this.prvtEvtTgrDaD = false;
|
|
4586
|
+
document.body.classList.remove('e-prevent-select');
|
|
4587
|
+
let borderLineElem = this.element.querySelectorAll('.e-drag-rule-bottom-line');
|
|
4588
|
+
borderLineElem.forEach((ele) => {
|
|
4589
|
+
ele.classList.remove('e-drag-rule-bottom-line');
|
|
4590
|
+
});
|
|
4591
|
+
borderLineElem = this.element.querySelectorAll('.e-drag-rule-top-line');
|
|
4592
|
+
borderLineElem.forEach((ele) => {
|
|
4593
|
+
ele.classList.remove('e-drag-rule-top-line');
|
|
4594
|
+
});
|
|
4595
|
+
borderLineElem = this.element.querySelectorAll('.e-qb-dragging-rule');
|
|
4596
|
+
borderLineElem.forEach((ele) => {
|
|
4597
|
+
ele.classList.remove('e-qb-dragging-rule');
|
|
4598
|
+
});
|
|
4599
|
+
if (e.helper && e.helper.classList.contains('e-cloneproperties') && document.querySelector('.' + e.helper.classList[0])) {
|
|
4600
|
+
remove(e.helper);
|
|
4601
|
+
}
|
|
4602
|
+
if (this.enableSeparateConnector) {
|
|
4603
|
+
this.refresh();
|
|
4604
|
+
}
|
|
4605
|
+
}
|
|
4583
4606
|
templateParser(template) {
|
|
4584
4607
|
if (template) {
|
|
4585
4608
|
try {
|
|
@@ -4653,10 +4676,14 @@ let QueryBuilder = class QueryBuilder extends Component {
|
|
|
4653
4676
|
if (typeof target === 'string') {
|
|
4654
4677
|
groupId = this.element.id + '_' + target;
|
|
4655
4678
|
target = document.getElementById(groupId);
|
|
4679
|
+
groupId = groupId.replace(this.element.id + '_', '');
|
|
4656
4680
|
}
|
|
4657
4681
|
else {
|
|
4658
4682
|
groupId = groupElem.id.replace(this.element.id + '_', '');
|
|
4659
4683
|
}
|
|
4684
|
+
if (groupId === 'group0' || !target) {
|
|
4685
|
+
return;
|
|
4686
|
+
}
|
|
4660
4687
|
const args = { groupID: groupId, cancel: false, type: 'deleteGroup' };
|
|
4661
4688
|
if (!this.isImportRules && !this.prvtEvtTgrDaD) {
|
|
4662
4689
|
this.trigger('beforeChange', args, (observedChangeArgs) => {
|
|
@@ -5021,7 +5048,7 @@ let QueryBuilder = class QueryBuilder extends Component {
|
|
|
5021
5048
|
}
|
|
5022
5049
|
}
|
|
5023
5050
|
}
|
|
5024
|
-
else if (!isNewRuleAdded) {
|
|
5051
|
+
else if (!isNewRuleAdded && !isNullOrUndefined(andElem)) {
|
|
5025
5052
|
andElem.checked = false;
|
|
5026
5053
|
andElem.disabled = true;
|
|
5027
5054
|
orElem.checked = false;
|
|
@@ -5239,6 +5266,9 @@ let QueryBuilder = class QueryBuilder extends Component {
|
|
|
5239
5266
|
const len = groupIdColl.length;
|
|
5240
5267
|
let groupID;
|
|
5241
5268
|
for (i = 0; i < len; i++) {
|
|
5269
|
+
if (groupIdColl[i] === 'group0') {
|
|
5270
|
+
continue;
|
|
5271
|
+
}
|
|
5242
5272
|
groupID = this.element.id + '_' + groupIdColl[i];
|
|
5243
5273
|
this.deleteGroup(document.getElementById(groupID));
|
|
5244
5274
|
}
|
|
@@ -6359,9 +6389,13 @@ let QueryBuilder = class QueryBuilder extends Component {
|
|
|
6359
6389
|
return matchValue.length + 2;
|
|
6360
6390
|
}
|
|
6361
6391
|
if (this.checkNumberLiteral(sqlString, sqlLocale)) {
|
|
6362
|
-
|
|
6363
|
-
|
|
6364
|
-
|
|
6392
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
6393
|
+
const regExValue = /^[0-9]+(\.[0-9]+)$/.exec(sqlString);
|
|
6394
|
+
if (regExValue) {
|
|
6395
|
+
matchValue = regExValue[0];
|
|
6396
|
+
this.parser.push(['Literal', matchValue]);
|
|
6397
|
+
return matchValue.length;
|
|
6398
|
+
}
|
|
6365
6399
|
}
|
|
6366
6400
|
//String
|
|
6367
6401
|
const singleString = this.getSingleQuoteString(sqlString);
|
|
@@ -6775,16 +6809,8 @@ let QueryBuilder = class QueryBuilder extends Component {
|
|
|
6775
6809
|
*/
|
|
6776
6810
|
groupClone(target) {
|
|
6777
6811
|
const groupElem = target.closest('.e-rule-list').closest('.e-group-container');
|
|
6778
|
-
|
|
6779
|
-
|
|
6780
|
-
if (typeof target === 'string') {
|
|
6781
|
-
groupId = this.element.id + '_' + target;
|
|
6782
|
-
target = document.getElementById(groupId);
|
|
6783
|
-
}
|
|
6784
|
-
else {
|
|
6785
|
-
targetGrpId = target.id.replace(this.element.id + '_', '');
|
|
6786
|
-
groupId = groupElem.id.replace(this.element.id + '_', '');
|
|
6787
|
-
}
|
|
6812
|
+
const targetGrpId = target.id.replace(this.element.id + '_', '');
|
|
6813
|
+
const groupId = groupElem.id.replace(this.element.id + '_', '');
|
|
6788
6814
|
const group = this.getGroup(targetGrpId);
|
|
6789
6815
|
this.groupIndex = Array.prototype.indexOf.call(target.closest('.e-rule-list').children, target.closest('.e-group-container'));
|
|
6790
6816
|
this.addGroups([{ 'condition': group.condition, 'not': group.not, 'rules': group.rules }], groupId);
|