@syncfusion/ej2-querybuilder 25.2.7 → 26.1.35
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/.eslintrc.json +3 -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 +1326 -290
- package/dist/es6/ej2-querybuilder.es2015.js.map +1 -1
- package/dist/es6/ej2-querybuilder.es5.js +1319 -282
- 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-model.d.ts +45 -6
- package/src/query-builder/query-builder.d.ts +102 -5
- package/src/query-builder/query-builder.js +1311 -262
- package/src/query-builder/query-library.js +2 -2
- package/styles/bootstrap-dark.css +194 -21
- package/styles/bootstrap-dark.scss +15 -1
- package/styles/bootstrap.css +194 -21
- package/styles/bootstrap.scss +15 -1
- package/styles/bootstrap4.css +198 -22
- package/styles/bootstrap4.scss +15 -1
- package/styles/bootstrap5-dark.css +198 -30
- package/styles/bootstrap5-dark.scss +15 -1
- package/styles/bootstrap5.css +198 -30
- package/styles/bootstrap5.scss +15 -1
- package/styles/fabric-dark.css +192 -20
- package/styles/fabric-dark.scss +15 -1
- package/styles/fabric.css +192 -20
- package/styles/fabric.scss +15 -1
- package/styles/fluent-dark.css +196 -28
- package/styles/fluent-dark.scss +15 -1
- package/styles/fluent.css +196 -28
- package/styles/fluent.scss +15 -1
- package/styles/fluent2.css +2052 -0
- package/styles/fluent2.scss +15 -0
- package/styles/highcontrast-light.css +195 -20
- package/styles/highcontrast-light.scss +15 -1
- package/styles/highcontrast.css +195 -20
- package/styles/highcontrast.scss +15 -1
- package/styles/material-dark.css +205 -24
- package/styles/material-dark.scss +15 -1
- package/styles/material.css +207 -24
- package/styles/material.scss +15 -1
- package/styles/material3-dark.css +211 -26
- package/styles/material3-dark.scss +15 -1
- package/styles/material3.css +211 -26
- package/styles/material3.scss +15 -1
- package/styles/query-builder/_bds-definition.scss +7 -1
- package/styles/query-builder/_bootstrap-dark-definition.scss +7 -0
- package/styles/query-builder/_bootstrap-definition.scss +7 -0
- package/styles/query-builder/_bootstrap4-definition.scss +7 -0
- package/styles/query-builder/_bootstrap5-definition.scss +7 -1
- package/styles/query-builder/_bootstrap5.3-definition.scss +114 -0
- package/styles/query-builder/_fabric-dark-definition.scss +7 -0
- package/styles/query-builder/_fabric-definition.scss +7 -0
- package/styles/query-builder/_fluent-definition.scss +7 -1
- package/styles/query-builder/_fluent2-definition.scss +114 -0
- package/styles/query-builder/_fusionnew-definition.scss +7 -1
- package/styles/query-builder/_highcontrast-definition.scss +7 -0
- package/styles/query-builder/_highcontrast-light-definition.scss +7 -0
- package/styles/query-builder/_layout.scss +275 -12
- package/styles/query-builder/_material-dark-definition.scss +7 -0
- package/styles/query-builder/_material-definition.scss +7 -0
- package/styles/query-builder/_material3-definition.scss +7 -1
- package/styles/query-builder/_tailwind-definition.scss +7 -1
- package/styles/query-builder/_theme.scss +34 -22
- package/styles/query-builder/bootstrap-dark.css +194 -21
- package/styles/query-builder/bootstrap.css +194 -21
- package/styles/query-builder/bootstrap4.css +198 -22
- package/styles/query-builder/bootstrap5-dark.css +198 -30
- package/styles/query-builder/bootstrap5.css +198 -30
- package/styles/query-builder/fabric-dark.css +192 -20
- package/styles/query-builder/fabric.css +192 -20
- package/styles/query-builder/fluent-dark.css +196 -28
- package/styles/query-builder/fluent.css +196 -28
- package/styles/query-builder/fluent2.css +2052 -0
- package/styles/query-builder/fluent2.scss +15 -0
- package/styles/query-builder/highcontrast-light.css +195 -20
- package/styles/query-builder/highcontrast.css +195 -20
- package/styles/query-builder/icons/_bds.scss +4 -0
- package/styles/query-builder/icons/_bootstrap-dark.scss +4 -0
- package/styles/query-builder/icons/_bootstrap.scss +4 -0
- package/styles/query-builder/icons/_bootstrap4.scss +4 -0
- package/styles/query-builder/icons/_bootstrap5.3.scss +11 -0
- package/styles/query-builder/icons/_bootstrap5.scss +4 -0
- package/styles/query-builder/icons/_fabric-dark.scss +4 -0
- package/styles/query-builder/icons/_fabric.scss +4 -0
- package/styles/query-builder/icons/_fluent.scss +4 -0
- package/styles/query-builder/icons/_fluent2.scss +11 -0
- package/styles/query-builder/icons/_fusionnew.scss +4 -0
- package/styles/query-builder/icons/_highcontrast-light.scss +4 -0
- package/styles/query-builder/icons/_highcontrast.scss +4 -0
- package/styles/query-builder/icons/_material-dark.scss +4 -0
- package/styles/query-builder/icons/_material.scss +4 -0
- package/styles/query-builder/icons/_material3.scss +4 -0
- package/styles/query-builder/icons/_tailwind-dark.scss +4 -0
- package/styles/query-builder/icons/_tailwind.scss +4 -0
- package/styles/query-builder/material-dark.css +205 -24
- package/styles/query-builder/material.css +207 -24
- package/styles/query-builder/material3-dark.css +211 -26
- package/styles/query-builder/material3.css +211 -26
- package/styles/query-builder/tailwind-dark.css +205 -24
- package/styles/query-builder/tailwind.css +205 -24
- package/styles/tailwind-dark.css +205 -24
- package/styles/tailwind-dark.scss +15 -1
- package/styles/tailwind.css +205 -24
- package/styles/tailwind.scss +15 -1
- package/CHANGELOG.md +0 -828
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { Button, RadioButton } from '@syncfusion/ej2-buttons';
|
|
3
|
-
import { CheckBoxSelection, DropDownList, DropDownTree
|
|
4
|
-
import { DataManager, Deferred, Predicate
|
|
1
|
+
import { Property, ChildProperty, Collection, closest, isNullOrUndefined, extend, remove, getComponent, removeClass, Animation, addClass, select, append, detach, rippleEffect, getInstance, getValue, Browser, classList, Internationalization, getUniqueID, L10n, Draggable, compile, EventHandler, cldrData, Event, Complex, NotifyPropertyChanges, Component } from '@syncfusion/ej2-base';
|
|
2
|
+
import { Button, CheckBox, RadioButton } from '@syncfusion/ej2-buttons';
|
|
3
|
+
import { MultiSelect, CheckBoxSelection, DropDownList, DropDownTree } from '@syncfusion/ej2-dropdowns';
|
|
4
|
+
import { Query, DataManager, Deferred, Predicate } from '@syncfusion/ej2-data';
|
|
5
5
|
import { NumericTextBox, TextBox } from '@syncfusion/ej2-inputs';
|
|
6
6
|
import { DatePicker } from '@syncfusion/ej2-calendars';
|
|
7
7
|
import { DropDownButton } from '@syncfusion/ej2-splitbuttons';
|
|
8
|
-
import { Tooltip,
|
|
8
|
+
import { Tooltip, showSpinner, hideSpinner, createSpinner } from '@syncfusion/ej2-popups';
|
|
9
9
|
|
|
10
10
|
var __extends = (undefined && undefined.__extends) || (function () {
|
|
11
11
|
var extendStatics = function (d, b) {
|
|
@@ -37,9 +37,6 @@ var __decorate = (undefined && undefined.__decorate) || function (decorators, ta
|
|
|
37
37
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
38
38
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
39
39
|
};
|
|
40
|
-
/**
|
|
41
|
-
* Query Builder Source
|
|
42
|
-
*/
|
|
43
40
|
/**
|
|
44
41
|
* Defines the Columns of Query Builder
|
|
45
42
|
*/
|
|
@@ -207,6 +204,233 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
207
204
|
_this.cloneGrpBtnClick = false;
|
|
208
205
|
_this.isMiddleGroup = false;
|
|
209
206
|
_this.cloneRuleBtnClick = false;
|
|
207
|
+
_this.dragStopHandler = function (e) {
|
|
208
|
+
if (_this.isDragEventPrevent) {
|
|
209
|
+
return;
|
|
210
|
+
}
|
|
211
|
+
var targetGroup = closest(e.target, '.e-rule-container');
|
|
212
|
+
if (isNullOrUndefined(targetGroup) && e.target.parentElement &&
|
|
213
|
+
e.target.parentElement.classList.contains('e-btn-group') && _this.enableSeparateConnector) {
|
|
214
|
+
targetGroup = closest(e.target.parentElement.previousElementSibling, '.e-rule-container');
|
|
215
|
+
}
|
|
216
|
+
var isPreventelem = closest(e.helper, '.e-notallowedcur');
|
|
217
|
+
var prevRule;
|
|
218
|
+
if (!isPreventelem) {
|
|
219
|
+
var targetGrp = closest(e.target, '.e-group-container');
|
|
220
|
+
var dropEventArgs = { cancel: false, dropRuleID: targetGroup !== null ? targetGroup.id
|
|
221
|
+
: targetGrp !== null ? targetGrp.id : null, dropGroupID: targetGrp !== null ? targetGrp.id : null };
|
|
222
|
+
_this.trigger('drop', dropEventArgs);
|
|
223
|
+
if (dropEventArgs.cancel) {
|
|
224
|
+
isPreventelem = true;
|
|
225
|
+
}
|
|
226
|
+
prevRule = _this.getValidRules();
|
|
227
|
+
}
|
|
228
|
+
_this.prvtEvtTgrDaD = true;
|
|
229
|
+
var tgrt = _this.enableSeparateConnector && e.target.parentElement &&
|
|
230
|
+
e.target.parentElement.classList.contains('e-btn-group') ? e.target.parentElement.previousElementSibling : e.target;
|
|
231
|
+
if (targetGroup && !isPreventelem) {
|
|
232
|
+
var groupId_1 = targetGroup.id.split(_this.element.id + '_')[1].split('_')[0];
|
|
233
|
+
if (_this.draggable.currentStateTarget.parentElement.classList.contains('e-rule-field') ||
|
|
234
|
+
_this.draggable.currentStateTarget.parentElement.classList.contains('e-group-header')) {
|
|
235
|
+
var rule = void 0;
|
|
236
|
+
if (_this.draggable.currentStateTarget.parentElement.classList.contains('e-group-header')) {
|
|
237
|
+
rule = _this.getGroup(_this.draggedRule);
|
|
238
|
+
_this.deleteGroup(closest(_this.draggedRule, '.e-group-container'));
|
|
239
|
+
}
|
|
240
|
+
else {
|
|
241
|
+
rule = _this.getRule(_this.draggedRule);
|
|
242
|
+
_this.deleteRule(_this.draggedRule);
|
|
243
|
+
}
|
|
244
|
+
var groupRule = extend([], _this.getGroup(targetGroup), [], true);
|
|
245
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
246
|
+
if (groupRule.properties) {
|
|
247
|
+
groupRule = groupRule.properties;
|
|
248
|
+
}
|
|
249
|
+
var groupElem = closest(targetGroup, '.e-group-container');
|
|
250
|
+
var nestGrpElem = groupElem.querySelectorAll('.e-group-container');
|
|
251
|
+
nestGrpElem.forEach(function (ele) {
|
|
252
|
+
if (_this.element.querySelector('#' + ele.id)) {
|
|
253
|
+
_this.deleteGroup(ele);
|
|
254
|
+
}
|
|
255
|
+
});
|
|
256
|
+
var ruleElems = groupElem.querySelectorAll('.e-rule-container');
|
|
257
|
+
var ruleIds = [];
|
|
258
|
+
var dropInd = void 0;
|
|
259
|
+
for (var i = 0; i < ruleElems.length; i++) {
|
|
260
|
+
if (ruleElems[i].classList.contains('e-drag-rule-top-line') ||
|
|
261
|
+
ruleElems[i].classList.contains('e-drag-rule-bottom-line')) {
|
|
262
|
+
dropInd = i;
|
|
263
|
+
}
|
|
264
|
+
ruleIds.push(ruleElems[i].id.split(_this.element.id + '_')[1]);
|
|
265
|
+
}
|
|
266
|
+
_this.deleteRules(ruleIds);
|
|
267
|
+
if (targetGroup.classList.contains('e-drag-rule-top-line')) {
|
|
268
|
+
groupRule.rules.splice(dropInd, 0, rule);
|
|
269
|
+
}
|
|
270
|
+
else {
|
|
271
|
+
groupRule.rules.splice(dropInd + 1, 0, rule);
|
|
272
|
+
}
|
|
273
|
+
groupRule.rules.forEach(function (rule) {
|
|
274
|
+
if (_this.enableSeparateConnector) {
|
|
275
|
+
if (!rule.rules) {
|
|
276
|
+
_this.addRules([rule], groupId_1);
|
|
277
|
+
}
|
|
278
|
+
else {
|
|
279
|
+
_this.addGroups([rule], groupId_1);
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
else {
|
|
283
|
+
if (rule.condition) {
|
|
284
|
+
_this.addGroups([rule], groupId_1);
|
|
285
|
+
}
|
|
286
|
+
else {
|
|
287
|
+
_this.addRules([rule], groupId_1);
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
});
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
else if (tgrt.classList.contains('e-rule-list') && tgrt.children.length === 0 && !isPreventelem) {
|
|
294
|
+
var groupElem = closest(tgrt, '.e-group-container');
|
|
295
|
+
var groupId = groupElem.id.split(_this.element.id + '_')[1].split('_')[0];
|
|
296
|
+
var rule = void 0;
|
|
297
|
+
if (_this.draggable.currentStateTarget.parentElement.classList.contains('e-group-header')) {
|
|
298
|
+
rule = _this.getGroup(_this.draggedRule);
|
|
299
|
+
_this.deleteGroup(closest(_this.draggedRule, '.e-group-container'));
|
|
300
|
+
}
|
|
301
|
+
else {
|
|
302
|
+
rule = _this.getRule(_this.draggedRule);
|
|
303
|
+
_this.deleteRule(_this.draggedRule);
|
|
304
|
+
}
|
|
305
|
+
if (_this.enableSeparateConnector) {
|
|
306
|
+
if (!rule.rules) {
|
|
307
|
+
_this.addRules([rule], groupId);
|
|
308
|
+
}
|
|
309
|
+
else {
|
|
310
|
+
_this.addGroups([rule], groupId);
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
else {
|
|
314
|
+
if (rule.condition) {
|
|
315
|
+
_this.addGroups([rule], groupId);
|
|
316
|
+
}
|
|
317
|
+
else {
|
|
318
|
+
_this.addRules([rule], groupId);
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
else if (tgrt.classList.contains('e-rule-list') && tgrt.children[0].classList.contains('e-group-container') && !isPreventelem) {
|
|
323
|
+
var groupElem = closest(tgrt, '.e-group-container');
|
|
324
|
+
var groupId_2 = groupElem.id.split(_this.element.id + '_')[1].split('_')[0];
|
|
325
|
+
var rule = void 0;
|
|
326
|
+
if (_this.draggable.currentStateTarget.parentElement.classList.contains('e-group-header')) {
|
|
327
|
+
rule = _this.getGroup(_this.draggedRule);
|
|
328
|
+
_this.deleteGroup(closest(_this.draggedRule, '.e-group-container'));
|
|
329
|
+
}
|
|
330
|
+
else {
|
|
331
|
+
rule = _this.getRule(_this.draggedRule);
|
|
332
|
+
_this.deleteRule(_this.draggedRule);
|
|
333
|
+
}
|
|
334
|
+
var groupRule = extend([], _this.getGroup(tgrt), [], true);
|
|
335
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
336
|
+
if (groupRule.properties) {
|
|
337
|
+
groupRule = groupRule.properties;
|
|
338
|
+
}
|
|
339
|
+
var groupElems = tgrt.querySelectorAll('.e-group-container');
|
|
340
|
+
groupElems.forEach(function (ele) {
|
|
341
|
+
if (_this.element.querySelector('#' + ele.id)) {
|
|
342
|
+
_this.deleteGroup(ele);
|
|
343
|
+
}
|
|
344
|
+
});
|
|
345
|
+
var ruleElems = groupElem.querySelectorAll('.e-rule-container');
|
|
346
|
+
ruleElems.forEach(function (ele) {
|
|
347
|
+
if (_this.element.querySelector('#' + ele.id)) {
|
|
348
|
+
_this.deleteRule(ele);
|
|
349
|
+
}
|
|
350
|
+
});
|
|
351
|
+
if (_this.draggable.currentStateTarget.parentElement.classList.contains('e-group-header')) {
|
|
352
|
+
_this.addGroups([rule], groupId_2);
|
|
353
|
+
}
|
|
354
|
+
else {
|
|
355
|
+
_this.addRules([rule], groupId_2);
|
|
356
|
+
}
|
|
357
|
+
groupRule.rules.forEach(function (rule) {
|
|
358
|
+
if (_this.enableSeparateConnector) {
|
|
359
|
+
if (!rule.rules) {
|
|
360
|
+
_this.addRules([rule], groupId_2);
|
|
361
|
+
}
|
|
362
|
+
else {
|
|
363
|
+
_this.addGroups([rule], groupId_2);
|
|
364
|
+
}
|
|
365
|
+
}
|
|
366
|
+
else {
|
|
367
|
+
if (rule.condition) {
|
|
368
|
+
_this.addGroups([rule], groupId_2);
|
|
369
|
+
}
|
|
370
|
+
else {
|
|
371
|
+
_this.addRules([rule], groupId_2);
|
|
372
|
+
}
|
|
373
|
+
}
|
|
374
|
+
});
|
|
375
|
+
}
|
|
376
|
+
else if ((closest(e.target, '.e-group-container') || e.target.classList.contains('e-group-container')) && !isPreventelem) {
|
|
377
|
+
var rule = void 0;
|
|
378
|
+
targetGroup = closest(e.target, '.e-group-container');
|
|
379
|
+
if (!targetGroup && e.target.classList.contains('e-group-container')) {
|
|
380
|
+
targetGroup = e.target;
|
|
381
|
+
}
|
|
382
|
+
var groupId = targetGroup.id.split(_this.element.id + '_')[1].split('_')[0];
|
|
383
|
+
if (groupId === 'group0') {
|
|
384
|
+
if (_this.draggable.currentStateTarget.parentElement.classList.contains('e-group-header')) {
|
|
385
|
+
rule = _this.getGroup(_this.draggedRule);
|
|
386
|
+
_this.deleteGroup(closest(_this.draggedRule, '.e-group-container'));
|
|
387
|
+
}
|
|
388
|
+
else {
|
|
389
|
+
rule = _this.getRule(_this.draggedRule);
|
|
390
|
+
_this.deleteRule(_this.draggedRule);
|
|
391
|
+
}
|
|
392
|
+
if (_this.enableSeparateConnector) {
|
|
393
|
+
if (!rule.rules) {
|
|
394
|
+
_this.addRules([rule], groupId);
|
|
395
|
+
}
|
|
396
|
+
else {
|
|
397
|
+
_this.addGroups([rule], groupId);
|
|
398
|
+
}
|
|
399
|
+
}
|
|
400
|
+
else {
|
|
401
|
+
if (rule.condition) {
|
|
402
|
+
_this.addGroups([rule], groupId);
|
|
403
|
+
}
|
|
404
|
+
else {
|
|
405
|
+
_this.addRules([rule], groupId);
|
|
406
|
+
}
|
|
407
|
+
}
|
|
408
|
+
}
|
|
409
|
+
}
|
|
410
|
+
if (!isPreventelem) {
|
|
411
|
+
_this.trigger('ruleChange', { previousRule: prevRule, rule: _this.getValidRules(), type: 'drag-and-drop' });
|
|
412
|
+
}
|
|
413
|
+
_this.prvtEvtTgrDaD = false;
|
|
414
|
+
document.body.classList.remove('e-prevent-select');
|
|
415
|
+
var borderLineElem = _this.element.querySelectorAll('.e-drag-rule-bottom-line');
|
|
416
|
+
borderLineElem.forEach(function (ele) {
|
|
417
|
+
ele.classList.remove('e-drag-rule-bottom-line');
|
|
418
|
+
});
|
|
419
|
+
borderLineElem = _this.element.querySelectorAll('.e-drag-rule-top-line');
|
|
420
|
+
borderLineElem.forEach(function (ele) {
|
|
421
|
+
ele.classList.remove('e-drag-rule-top-line');
|
|
422
|
+
});
|
|
423
|
+
borderLineElem = _this.element.querySelectorAll('.e-qb-dragging-rule');
|
|
424
|
+
borderLineElem.forEach(function (ele) {
|
|
425
|
+
ele.classList.remove('e-qb-dragging-rule');
|
|
426
|
+
});
|
|
427
|
+
if (e.helper.classList.contains('e-cloneproperties') && document.querySelector('.' + e.helper.classList[0])) {
|
|
428
|
+
remove(e.helper);
|
|
429
|
+
}
|
|
430
|
+
if (_this.enableSeparateConnector) {
|
|
431
|
+
_this.refresh();
|
|
432
|
+
}
|
|
433
|
+
};
|
|
210
434
|
MultiSelect.Inject(CheckBoxSelection);
|
|
211
435
|
return _this;
|
|
212
436
|
}
|
|
@@ -345,7 +569,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
345
569
|
this.columns = cols;
|
|
346
570
|
}
|
|
347
571
|
}
|
|
348
|
-
else if (this.columns.length) {
|
|
572
|
+
else if (this.columns && this.columns.length) {
|
|
349
573
|
var columns = this.columns;
|
|
350
574
|
for (var i = 0, len = columns.length; i < len; i++) {
|
|
351
575
|
if (columns[i].category) {
|
|
@@ -460,6 +684,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
460
684
|
txtareaElem.style.height = txtareaElem.scrollHeight + 'px';
|
|
461
685
|
}
|
|
462
686
|
if (target.tagName === 'BUTTON' && target.className.indexOf('e-qb-toggle') < 0) {
|
|
687
|
+
var animation = new Animation({ duration: 1000, delay: 0 });
|
|
463
688
|
switch (true) {
|
|
464
689
|
case target.className.indexOf('e-removerule') > -1:
|
|
465
690
|
this.actionButton = target;
|
|
@@ -488,7 +713,6 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
488
713
|
this.deleteGroup(closest(target, '.e-group-container'));
|
|
489
714
|
break;
|
|
490
715
|
case target.className.indexOf('e-edit-rule') > -1:
|
|
491
|
-
var animation = new Animation({ duration: 1000, delay: 0 });
|
|
492
716
|
animation.animate('.e-query-builder', { name: 'SlideLeftIn' });
|
|
493
717
|
document.getElementById(this.element.id + '_summary_content').style.display = 'none';
|
|
494
718
|
if (this.element.querySelectorAll('.e-group-container').length < 1) {
|
|
@@ -516,6 +740,9 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
516
740
|
if (forIdValue) {
|
|
517
741
|
targetValue = document.getElementById(forIdValue).getAttribute('value');
|
|
518
742
|
}
|
|
743
|
+
else if (this.enableSeparateConnector) {
|
|
744
|
+
targetValue = target.textContent;
|
|
745
|
+
}
|
|
519
746
|
groupID = element.id.replace(this.element.id + '_', '');
|
|
520
747
|
var group = this.getGroup(groupID);
|
|
521
748
|
var ariaChecked = void 0;
|
|
@@ -559,14 +786,55 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
559
786
|
var groupID = element.id.replace(this.element.id + '_', '');
|
|
560
787
|
var beforeRules = this.getValidRules(this.rule);
|
|
561
788
|
var rule = this.getParentGroup(element);
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
789
|
+
if (this.enableSeparateConnector) {
|
|
790
|
+
if (isNullOrUndefined(closest(target, '.e-rule-container')) &&
|
|
791
|
+
element.classList.contains('e-group-container')) {
|
|
792
|
+
element = target.parentElement.previousElementSibling !== null ?
|
|
793
|
+
target.parentElement.previousElementSibling : element;
|
|
794
|
+
}
|
|
795
|
+
else {
|
|
796
|
+
element = closest(target, '.e-rule-container');
|
|
797
|
+
}
|
|
798
|
+
var id = element.id.replace(this.element.id + '_', '');
|
|
799
|
+
if (element.classList.contains('e-rule-container')) {
|
|
800
|
+
rule = this.getRule(element);
|
|
801
|
+
rule.condition = args.value;
|
|
802
|
+
}
|
|
803
|
+
else if (element.classList.contains('e-group-container')) {
|
|
804
|
+
rule = this.getGroup(element);
|
|
805
|
+
rule.condition = args.value;
|
|
806
|
+
}
|
|
807
|
+
if (this.enableNotCondition) {
|
|
808
|
+
rule.not = args.not;
|
|
809
|
+
}
|
|
810
|
+
if (!this.isImportRules) {
|
|
811
|
+
this.trigger('change', { groupID: groupID, ruleID: id, type: 'condition', value: rule.condition });
|
|
812
|
+
}
|
|
565
813
|
}
|
|
566
|
-
|
|
567
|
-
|
|
814
|
+
else {
|
|
815
|
+
rule.condition = args.value;
|
|
816
|
+
if (this.enableNotCondition) {
|
|
817
|
+
rule.not = args.not;
|
|
818
|
+
}
|
|
819
|
+
if (!this.isImportRules) {
|
|
820
|
+
this.trigger('change', { groupID: groupID, type: 'condition', value: rule.condition });
|
|
821
|
+
}
|
|
568
822
|
}
|
|
569
823
|
this.filterRules(beforeRules, this.getValidRules(this.rule), 'condition');
|
|
824
|
+
if (this.enableSeparateConnector) {
|
|
825
|
+
var andElem = target.parentElement.querySelector('.e-btngroup-and');
|
|
826
|
+
var orElem = target.parentElement.querySelector('.e-btngroup-or');
|
|
827
|
+
if (andElem && orElem) {
|
|
828
|
+
if (args.value === 'and') {
|
|
829
|
+
andElem.checked = true;
|
|
830
|
+
orElem.checked = false;
|
|
831
|
+
}
|
|
832
|
+
else if (args.value === 'or') {
|
|
833
|
+
orElem.checked = true;
|
|
834
|
+
andElem.checked = false;
|
|
835
|
+
}
|
|
836
|
+
}
|
|
837
|
+
}
|
|
570
838
|
}
|
|
571
839
|
};
|
|
572
840
|
QueryBuilder.prototype.selectBtn = function (target, event) {
|
|
@@ -609,7 +877,23 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
609
877
|
ruleListElem.appendChild(ruleElem);
|
|
610
878
|
}
|
|
611
879
|
else {
|
|
612
|
-
|
|
880
|
+
if (this.enableSeparateConnector) {
|
|
881
|
+
var index = -1;
|
|
882
|
+
var tempRuleIndex = this.ruleIndex + 1;
|
|
883
|
+
for (var i = 0; i < tempRuleIndex; i++) {
|
|
884
|
+
if (i === ruleListElem.children.length) {
|
|
885
|
+
break;
|
|
886
|
+
}
|
|
887
|
+
if (ruleListElem.children[i].classList.contains('e-rule-container')) {
|
|
888
|
+
tempRuleIndex++;
|
|
889
|
+
index++;
|
|
890
|
+
}
|
|
891
|
+
}
|
|
892
|
+
ruleListElem.insertBefore(ruleElem, ruleListElem.children[this.ruleIndex + index + 1]); // added clone rule to next position
|
|
893
|
+
}
|
|
894
|
+
else {
|
|
895
|
+
ruleListElem.insertBefore(ruleElem, ruleListElem.children[this.ruleIndex + 1]); // added clone rule to next position
|
|
896
|
+
}
|
|
613
897
|
}
|
|
614
898
|
this.cloneRuleBtnClick = false;
|
|
615
899
|
}
|
|
@@ -680,6 +964,9 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
680
964
|
if (this.showButtons.ruleDelete) {
|
|
681
965
|
removeClass(ruleElem.querySelectorAll('.e-lock-grp-btn'), 'e-button-hide');
|
|
682
966
|
}
|
|
967
|
+
if (this.allowDragAndDrop) {
|
|
968
|
+
removeClass(ruleElem.querySelectorAll('.e-drag-qb-rule'), 'e-hidden');
|
|
969
|
+
}
|
|
683
970
|
if (column && column.ruleTemplate && rule) {
|
|
684
971
|
this.renderReactTemplates();
|
|
685
972
|
}
|
|
@@ -691,7 +978,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
691
978
|
return;
|
|
692
979
|
}
|
|
693
980
|
var args = { groupID: target.id.replace(this.element.id + '_', ''), cancel: false, type: 'insertRule' };
|
|
694
|
-
if (!this.isImportRules && !this.isInitialLoad) {
|
|
981
|
+
if (!this.isImportRules && !this.isInitialLoad && !this.prvtEvtTgrDaD) {
|
|
695
982
|
this.trigger('beforeChange', args, function (observedChangeArgs) {
|
|
696
983
|
_this.addRuleSuccessCallBack(observedChangeArgs, target, rule, column, action, parentId, isRuleTemplate);
|
|
697
984
|
});
|
|
@@ -746,20 +1033,54 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
746
1033
|
else {
|
|
747
1034
|
ruleElem.className = 'e-rule-container e-horizontal-mode';
|
|
748
1035
|
}
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
1036
|
+
var previousRuleElem = ruleElem.previousElementSibling;
|
|
1037
|
+
if (this.enableSeparateConnector) {
|
|
1038
|
+
var prevRule = void 0;
|
|
1039
|
+
var ruleContainer = void 0;
|
|
1040
|
+
if (previousRuleElem && previousRuleElem.classList.contains('e-group-container')) {
|
|
1041
|
+
ruleContainer = previousRuleElem.querySelectorAll('.e-rule-container');
|
|
1042
|
+
previousRuleElem = ruleContainer[ruleContainer.length - 1];
|
|
1043
|
+
}
|
|
1044
|
+
if (previousRuleElem && previousRuleElem.classList.contains('e-rule-container')) {
|
|
1045
|
+
prevRule = this.getRule(previousRuleElem);
|
|
1046
|
+
}
|
|
1047
|
+
if (this.headerTemplate && previousRuleElem && prevRule) {
|
|
1048
|
+
this.headerTemplateFn(previousRuleElem, false, prevRule.condition, prevRule, previousRuleElem.id);
|
|
1049
|
+
}
|
|
1050
|
+
else if (isNullOrUndefined(previousRuleElem) && ruleElem.id !== this.element.id + '_group0_rule0') {
|
|
1051
|
+
var group = ruleElem.closest('.e-group-container');
|
|
1052
|
+
if (group && group.previousElementSibling) {
|
|
1053
|
+
var prevElem = group.previousElementSibling;
|
|
1054
|
+
var prevRuleContainer = prevElem.querySelectorAll('.e-rule-container');
|
|
1055
|
+
if (prevElem.classList.contains('e-group-container')) {
|
|
1056
|
+
prevElem = prevRuleContainer[prevRuleContainer.length - 1];
|
|
1057
|
+
}
|
|
1058
|
+
if (prevElem.classList.contains('e-rule-container')) {
|
|
1059
|
+
var prevRule_1 = this.getRule(prevElem);
|
|
1060
|
+
this.headerTemplateFn(prevElem, false, prevRule_1.condition, prevRule_1, prevElem.id, true);
|
|
1061
|
+
}
|
|
1062
|
+
}
|
|
1063
|
+
else {
|
|
1064
|
+
this.headerTemplateFn(ruleElem, false, rule.condition, rule, ruleElem.id, true);
|
|
1065
|
+
}
|
|
752
1066
|
}
|
|
753
|
-
|
|
754
|
-
|
|
1067
|
+
}
|
|
1068
|
+
else {
|
|
1069
|
+
if (previousRuleElem && previousRuleElem.className.indexOf('e-rule-container') > -1) {
|
|
1070
|
+
if (ruleElem.className.indexOf('e-joined-rule') < 0) {
|
|
1071
|
+
ruleElem.className += ' e-joined-rule';
|
|
1072
|
+
}
|
|
1073
|
+
if (previousRuleElem.className.indexOf('e-prev-joined-rule') < 0) {
|
|
1074
|
+
previousRuleElem.className += ' e-prev-joined-rule';
|
|
1075
|
+
}
|
|
755
1076
|
}
|
|
756
1077
|
}
|
|
757
|
-
if (
|
|
1078
|
+
if (previousRuleElem && previousRuleElem.className.indexOf('e-group-container') > -1 &&
|
|
758
1079
|
ruleElem.className.indexOf('e-separate-rule') < 0) {
|
|
759
1080
|
ruleElem.className += ' e-separate-rule';
|
|
760
1081
|
}
|
|
761
1082
|
if (!this.isImportRules) {
|
|
762
|
-
this.updateAddedRule(trgt, rule, newRule, isRlTmp, pId);
|
|
1083
|
+
this.updateAddedRule(trgt, rule, newRule, isRlTmp, pId, this.enableSeparateConnector ? true : null);
|
|
763
1084
|
}
|
|
764
1085
|
if (!column || (column && !column.ruleTemplate) || !rule.field) {
|
|
765
1086
|
if (this.fieldMode === 'Default') {
|
|
@@ -790,7 +1111,8 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
790
1111
|
ddlVal = this.GetRootColumnName(rule.field);
|
|
791
1112
|
}
|
|
792
1113
|
else {
|
|
793
|
-
ddlVal = this.isImportRules ? this.GetRootColumnName(rule.field) :
|
|
1114
|
+
ddlVal = this.isImportRules ? this.GetRootColumnName(rule.field) :
|
|
1115
|
+
dropDownList.value;
|
|
794
1116
|
}
|
|
795
1117
|
this.selectedColumn = dropDownList.getDataByValue(ddlVal);
|
|
796
1118
|
if (Object.keys(rule).length) {
|
|
@@ -834,10 +1156,52 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
834
1156
|
}
|
|
835
1157
|
}
|
|
836
1158
|
ruleID = ruleElem.id.replace(this.element.id + '_', '');
|
|
837
|
-
if (
|
|
1159
|
+
if (rule && rule.isLocked) {
|
|
1160
|
+
var lockRuleTarget = ruleElem.querySelector('.e-lock-rule-btn');
|
|
1161
|
+
this.ruleLock(lockRuleTarget);
|
|
1162
|
+
}
|
|
1163
|
+
if (!this.isImportRules && !this.prvtEvtTgrDaD) {
|
|
838
1164
|
this.trigger('change', { groupID: trgt.id.replace(this.element.id + '_', ''), ruleID: ruleID, type: 'insertRule' });
|
|
839
1165
|
}
|
|
840
1166
|
}
|
|
1167
|
+
if (this.enableSeparateConnector && isNullOrUndefined(rule.condition) && ruleID) {
|
|
1168
|
+
rule = this.getRule(ruleID);
|
|
1169
|
+
}
|
|
1170
|
+
if (this.enableSeparateConnector) {
|
|
1171
|
+
var prevElem = ruleElem.previousElementSibling;
|
|
1172
|
+
var ruleContainer = void 0;
|
|
1173
|
+
while (prevElem && !prevElem.classList.contains('e-rule-container')) {
|
|
1174
|
+
if (prevElem.classList.contains('e-group-container')) {
|
|
1175
|
+
ruleContainer = prevElem.querySelectorAll('.e-rule-container');
|
|
1176
|
+
prevElem = ruleContainer[ruleContainer.length - 1];
|
|
1177
|
+
break;
|
|
1178
|
+
}
|
|
1179
|
+
prevElem = prevElem.previousElementSibling;
|
|
1180
|
+
}
|
|
1181
|
+
if (this.headerTemplate && prevElem) {
|
|
1182
|
+
var prevRule = this.getRule(prevElem);
|
|
1183
|
+
var args_2 = { requestType: 'rule-template-create', ruleID: prevElem.id, condition: prevRule.condition,
|
|
1184
|
+
notCondition: this.enableNotCondition ? true : undefined };
|
|
1185
|
+
this.trigger('actionBegin', args_2);
|
|
1186
|
+
}
|
|
1187
|
+
else if (isNullOrUndefined(prevElem) && ruleElem.id !== this.element.id + '_group0_rule0') {
|
|
1188
|
+
var group = ruleElem.closest('.e-group-container');
|
|
1189
|
+
if (group && group.previousElementSibling && group.previousElementSibling.previousElementSibling) {
|
|
1190
|
+
var prevElem_1 = group.previousElementSibling.previousElementSibling;
|
|
1191
|
+
if (prevElem_1.classList.contains('e-group-container')) {
|
|
1192
|
+
var ruleContainer_1 = prevElem_1.querySelectorAll('.e-rule-container');
|
|
1193
|
+
prevElem_1 = ruleContainer_1[ruleContainer_1.length - 1];
|
|
1194
|
+
}
|
|
1195
|
+
if (prevElem_1.classList.contains('e-rule-container')) {
|
|
1196
|
+
var prevRule = this.getRule(prevElem_1);
|
|
1197
|
+
var args_3 = { requestType: 'rule-template-create', ruleID: prevElem_1.id,
|
|
1198
|
+
condition: prevRule.condition, notCondition: this.enableNotCondition ? true : undefined };
|
|
1199
|
+
this.trigger('actionBegin', args_3);
|
|
1200
|
+
}
|
|
1201
|
+
}
|
|
1202
|
+
}
|
|
1203
|
+
this.setMultiConnector(ruleElem);
|
|
1204
|
+
}
|
|
841
1205
|
};
|
|
842
1206
|
QueryBuilder.prototype.updateDropdowntreeDS = function (columns) {
|
|
843
1207
|
for (var i = 0; i < columns.length; i++) {
|
|
@@ -847,7 +1211,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
847
1211
|
}
|
|
848
1212
|
}
|
|
849
1213
|
};
|
|
850
|
-
QueryBuilder.prototype.updateAddedRule = function (target, rule, newRule, isRuleTemplate, pId) {
|
|
1214
|
+
QueryBuilder.prototype.updateAddedRule = function (target, rule, newRule, isRuleTemplate, pId, isNewRuleAdded) {
|
|
851
1215
|
var ruleElem;
|
|
852
1216
|
var index = 0;
|
|
853
1217
|
var groupElem;
|
|
@@ -858,7 +1222,12 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
858
1222
|
rules = this.getParentGroup(groupElem);
|
|
859
1223
|
while (ruleElem && ruleElem.previousElementSibling !== null) {
|
|
860
1224
|
ruleElem = ruleElem.previousElementSibling;
|
|
861
|
-
|
|
1225
|
+
var enableSeparateCondition = this.enableSeparateConnector && ((!this.headerTemplate && !ruleElem.classList.contains('e-btn-group')) ||
|
|
1226
|
+
(this.headerTemplate && (ruleElem.classList.contains('e-rule-container') ||
|
|
1227
|
+
ruleElem.classList.contains('e-group-container'))));
|
|
1228
|
+
if (!this.enableSeparateConnector || enableSeparateCondition) {
|
|
1229
|
+
index++;
|
|
1230
|
+
}
|
|
862
1231
|
}
|
|
863
1232
|
rules.rules[index] = rule;
|
|
864
1233
|
}
|
|
@@ -876,6 +1245,9 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
876
1245
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
877
1246
|
rules.rules[rules.rules.length - 1].custom = custom;
|
|
878
1247
|
}
|
|
1248
|
+
if (this.enableSeparateConnector) {
|
|
1249
|
+
rules.rules[rules.rules.length - 1].condition = rule.condition ? rule.condition : newRule.condition;
|
|
1250
|
+
}
|
|
879
1251
|
}
|
|
880
1252
|
else {
|
|
881
1253
|
rules.rules.splice(this.ruleIndex + 1, 0, {
|
|
@@ -885,6 +1257,9 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
885
1257
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
886
1258
|
rules.rules[this.ruleIndex + 1].custom = custom;
|
|
887
1259
|
}
|
|
1260
|
+
if (this.enableSeparateConnector) {
|
|
1261
|
+
rules.rules[this.ruleIndex + 1].condition = rule.condition ? rule.condition : newRule.condition;
|
|
1262
|
+
}
|
|
888
1263
|
}
|
|
889
1264
|
}
|
|
890
1265
|
else {
|
|
@@ -898,7 +1273,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
898
1273
|
rules.rules.push(newRule);
|
|
899
1274
|
}
|
|
900
1275
|
}
|
|
901
|
-
this.disableRuleCondition(target, rules);
|
|
1276
|
+
this.disableRuleCondition(target, rules, isNewRuleAdded);
|
|
902
1277
|
};
|
|
903
1278
|
QueryBuilder.prototype.changeRuleTemplate = function (column, element) {
|
|
904
1279
|
var operVal = this.selectedColumn.operators;
|
|
@@ -976,7 +1351,11 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
976
1351
|
if (validateRule && validateRule.isRequired) {
|
|
977
1352
|
while (indexElem && indexElem.previousElementSibling !== null) {
|
|
978
1353
|
indexElem = indexElem.previousElementSibling;
|
|
979
|
-
|
|
1354
|
+
var separateCondition = this.enableSeparateConnector && ((!this.headerTemplate && !indexElem.classList.contains('e-btn-group')) ||
|
|
1355
|
+
(this.headerTemplate && (indexElem.classList.contains('e-rule-container') || indexElem.classList.contains('e-group-container'))));
|
|
1356
|
+
if (!this.enableSeparateConnector || separateCondition) {
|
|
1357
|
+
index++;
|
|
1358
|
+
}
|
|
980
1359
|
}
|
|
981
1360
|
fieldElem = tempElem.querySelector('.e-rule-operator .e-control');
|
|
982
1361
|
if (!rule.rules[index].operator) {
|
|
@@ -1053,9 +1432,10 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
1053
1432
|
obj.level = this.levelColl[obj.groupElement.id].slice();
|
|
1054
1433
|
return obj;
|
|
1055
1434
|
};
|
|
1056
|
-
QueryBuilder.prototype.groupTemplate = function () {
|
|
1435
|
+
QueryBuilder.prototype.groupTemplate = function (isConnector) {
|
|
1057
1436
|
var glueElem;
|
|
1058
1437
|
var inputElem;
|
|
1438
|
+
var dragClsName;
|
|
1059
1439
|
var labelElem;
|
|
1060
1440
|
var grpActElem;
|
|
1061
1441
|
var groupBtn;
|
|
@@ -1068,9 +1448,27 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
1068
1448
|
groupElem.appendChild(grpBodyElem);
|
|
1069
1449
|
// create button group in OR and AND process
|
|
1070
1450
|
if (!this.headerTemplate) {
|
|
1071
|
-
|
|
1451
|
+
if (this.allowDragAndDrop) {
|
|
1452
|
+
dragClsName = 'e-icons e-drag-qb-rule';
|
|
1453
|
+
}
|
|
1454
|
+
else {
|
|
1455
|
+
dragClsName = 'e-icons e-drag-qb-rule e-hidden';
|
|
1456
|
+
}
|
|
1457
|
+
var spanDragElement = this.createElement('span', { attrs: { class: dragClsName, 'aria-lable': 'drag handle',
|
|
1458
|
+
title: 'drag handle' } });
|
|
1459
|
+
groupHdrElem.appendChild(spanDragElement);
|
|
1460
|
+
var className = this.enableSeparateConnector && !isConnector ? 'e-lib e-btn-group e-qb-toggle-btn' : 'e-lib e-btn-group';
|
|
1461
|
+
glueElem = this.createElement('div', { attrs: { class: className, role: 'group' } });
|
|
1462
|
+
if (this.enableSeparateConnector) {
|
|
1463
|
+
glueElem.classList.add('e-multi-connector');
|
|
1464
|
+
}
|
|
1072
1465
|
if (this.enableNotCondition) {
|
|
1073
|
-
|
|
1466
|
+
if (this.enableSeparateConnector) {
|
|
1467
|
+
inputElem = this.createElement('input', { attrs: { type: 'checkbox', class: 'e-qb-toggle' } });
|
|
1468
|
+
}
|
|
1469
|
+
else {
|
|
1470
|
+
inputElem = this.createElement('button', { attrs: { type: 'button', class: 'e-qb-toggle' } });
|
|
1471
|
+
}
|
|
1074
1472
|
glueElem.appendChild(inputElem);
|
|
1075
1473
|
}
|
|
1076
1474
|
inputElem = this.createElement('input', { attrs: { type: 'radio', class: 'e-btngroup-and', value: 'AND' } });
|
|
@@ -1085,8 +1483,16 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
1085
1483
|
glueElem.appendChild(labelElem);
|
|
1086
1484
|
groupHdrElem.appendChild(glueElem);
|
|
1087
1485
|
grpActElem = this.createElement('div', { attrs: { class: 'e-group-action' } });
|
|
1088
|
-
|
|
1089
|
-
|
|
1486
|
+
if (this.enableSeparateConnector) {
|
|
1487
|
+
groupBtn = this.createElement('button', { attrs: { type: 'button', class: 'e-add-condition-btn' } });
|
|
1488
|
+
grpActElem.appendChild(groupBtn);
|
|
1489
|
+
groupBtn = this.createElement('button', { attrs: { type: 'button', class: 'e-add-group-btn' } });
|
|
1490
|
+
grpActElem.appendChild(groupBtn);
|
|
1491
|
+
}
|
|
1492
|
+
else {
|
|
1493
|
+
groupBtn = this.createElement('button', { attrs: { type: 'button', class: 'e-add-btn' } });
|
|
1494
|
+
grpActElem.appendChild(groupBtn);
|
|
1495
|
+
}
|
|
1090
1496
|
groupHdrElem.appendChild(grpActElem);
|
|
1091
1497
|
}
|
|
1092
1498
|
return groupElem;
|
|
@@ -1096,9 +1502,19 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
1096
1502
|
var clsName;
|
|
1097
1503
|
var cloneClsName;
|
|
1098
1504
|
var lockClsName;
|
|
1505
|
+
var dragClsName;
|
|
1099
1506
|
var ruleElem = this.createElement('div');
|
|
1100
1507
|
var fieldElem = this.createElement('div', { attrs: { class: 'e-rule-field' } });
|
|
1101
1508
|
tempElem = this.createElement('div', { attrs: { class: 'e-rule-filter' } });
|
|
1509
|
+
if (this.allowDragAndDrop) {
|
|
1510
|
+
dragClsName = 'e-icons e-drag-qb-rule';
|
|
1511
|
+
}
|
|
1512
|
+
else {
|
|
1513
|
+
dragClsName = 'e-icons e-drag-qb-rule e-hidden';
|
|
1514
|
+
}
|
|
1515
|
+
var spanDragElement = this.createElement('span', { attrs: { class: dragClsName, 'aria-lable': 'drag handle',
|
|
1516
|
+
title: 'drag handle' } });
|
|
1517
|
+
fieldElem.appendChild(spanDragElement);
|
|
1102
1518
|
var filterElem = this.createElement('input', { attrs: { type: 'text', class: 'e-filter-input' } });
|
|
1103
1519
|
tempElem.appendChild(filterElem);
|
|
1104
1520
|
fieldElem.appendChild(tempElem);
|
|
@@ -1142,7 +1558,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
1142
1558
|
QueryBuilder.prototype.addGroupElement = function (isGroup, target, condition, isBtnClick, not, isRoot, rule) {
|
|
1143
1559
|
var _this = this;
|
|
1144
1560
|
var args = { groupID: target.id.replace(this.element.id + '_', ''), cancel: false, type: 'insertGroup' };
|
|
1145
|
-
if (!this.isImportRules && !this.isInitialLoad) {
|
|
1561
|
+
if (!this.isImportRules && !this.isInitialLoad && !this.prvtEvtTgrDaD) {
|
|
1146
1562
|
this.trigger('beforeChange', args, function (observedChangeArgs) {
|
|
1147
1563
|
_this.addGroupSuccess(observedChangeArgs, isGroup, target, condition, isBtnClick, not, isRoot, rule);
|
|
1148
1564
|
});
|
|
@@ -1153,6 +1569,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
1153
1569
|
}
|
|
1154
1570
|
};
|
|
1155
1571
|
QueryBuilder.prototype.addGroupSuccess = function (args, isGroup, eventTarget, condition, isBtnClick, not, isRoot, rule) {
|
|
1572
|
+
var _this = this;
|
|
1156
1573
|
if (!args.cancel && (this.element.querySelectorAll('.e-group-container').length <= this.maxGroupCount)) {
|
|
1157
1574
|
var target = eventTarget;
|
|
1158
1575
|
var dltGroupBtn = void 0;
|
|
@@ -1163,8 +1580,17 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
1163
1580
|
else {
|
|
1164
1581
|
groupID = target.id;
|
|
1165
1582
|
}
|
|
1583
|
+
if (this.enableSeparateConnector) {
|
|
1584
|
+
this.groupElem = this.groupTemplate();
|
|
1585
|
+
}
|
|
1166
1586
|
var groupElem = this.groupElem.cloneNode(true);
|
|
1167
1587
|
groupElem.setAttribute('id', this.element.id + '_group' + this.groupIdCounter);
|
|
1588
|
+
if (this.groupIdCounter === 0 && this.allowDragAndDrop && groupElem.querySelector('.e-drag-qb-rule')) {
|
|
1589
|
+
if (groupElem && groupElem.children[0]) {
|
|
1590
|
+
groupElem.children[0].classList.add('e-parent-header');
|
|
1591
|
+
}
|
|
1592
|
+
addClass([groupElem.querySelector('.e-drag-qb-rule')], 'e-hidden');
|
|
1593
|
+
}
|
|
1168
1594
|
if (this.headerTemplate) {
|
|
1169
1595
|
if (isRoot) {
|
|
1170
1596
|
isGroup = false;
|
|
@@ -1217,7 +1643,25 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
1217
1643
|
this.isLastGroup = true;
|
|
1218
1644
|
}
|
|
1219
1645
|
else {
|
|
1220
|
-
|
|
1646
|
+
if (this.enableSeparateConnector) {
|
|
1647
|
+
var index = 0;
|
|
1648
|
+
var tempGroupIndex = this.groupIndex + 1;
|
|
1649
|
+
for (var i = 0; i < tempGroupIndex; i++) {
|
|
1650
|
+
if (childElems[i].classList.contains('e-rule-container')) {
|
|
1651
|
+
tempGroupIndex++;
|
|
1652
|
+
index++;
|
|
1653
|
+
}
|
|
1654
|
+
}
|
|
1655
|
+
if (index > 0) {
|
|
1656
|
+
index--;
|
|
1657
|
+
}
|
|
1658
|
+
var idx = this.groupIndex + index + 1;
|
|
1659
|
+
childElems[idx].parentNode.insertBefore(groupElem, childElems[idx]);
|
|
1660
|
+
}
|
|
1661
|
+
else {
|
|
1662
|
+
var idx = this.groupIndex + 1;
|
|
1663
|
+
childElems[idx].parentNode.insertBefore(groupElem, childElems[idx]);
|
|
1664
|
+
}
|
|
1221
1665
|
this.isMiddleGroup = true;
|
|
1222
1666
|
}
|
|
1223
1667
|
}
|
|
@@ -1283,7 +1727,14 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
1283
1727
|
if (this.enableNotCondition) {
|
|
1284
1728
|
if (!this.headerTemplate) {
|
|
1285
1729
|
var notElem = groupElem.querySelector('.e-qb-toggle');
|
|
1286
|
-
|
|
1730
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
1731
|
+
var tglBtn = void 0;
|
|
1732
|
+
if (this.enableSeparateConnector) {
|
|
1733
|
+
tglBtn = new CheckBox({ label: this.l10n.getConstant('NOT'), cssClass: 'e-qb-toggle' });
|
|
1734
|
+
}
|
|
1735
|
+
else {
|
|
1736
|
+
tglBtn = new Button({ content: this.l10n.getConstant('NOT'), cssClass: 'e-btn e-small' });
|
|
1737
|
+
}
|
|
1287
1738
|
tglBtn.appendTo(notElem);
|
|
1288
1739
|
groupElem.querySelector('.e-btngroup-and-lbl').classList.add('e-not');
|
|
1289
1740
|
if (this.updatedRule && this.updatedRule.not) {
|
|
@@ -1291,67 +1742,218 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
1291
1742
|
}
|
|
1292
1743
|
}
|
|
1293
1744
|
}
|
|
1745
|
+
if (this.enableSeparateConnector && !this.headerTemplate) {
|
|
1746
|
+
var andElem = groupElem.querySelector('.e-btngroup-and');
|
|
1747
|
+
var orElem = groupElem.querySelector('.e-btngroup-or');
|
|
1748
|
+
var btnGroup = groupElem.querySelector('.e-btn-group');
|
|
1749
|
+
for (var i = 0; i < btnGroup.childNodes.length; i++) {
|
|
1750
|
+
if (groupElem.querySelector('.e-btn-group').childNodes[i].textContent.toLowerCase() === 'not') {
|
|
1751
|
+
if (!this.enableNotCondition) {
|
|
1752
|
+
btnGroup.childNodes[i].style.display = 'none';
|
|
1753
|
+
}
|
|
1754
|
+
else {
|
|
1755
|
+
btnGroup.childNodes[i].classList.add('e-multiconnector');
|
|
1756
|
+
}
|
|
1757
|
+
}
|
|
1758
|
+
else {
|
|
1759
|
+
btnGroup.childNodes[i].style.display = 'none';
|
|
1760
|
+
}
|
|
1761
|
+
}
|
|
1762
|
+
var prevSibling = groupElem.previousElementSibling;
|
|
1763
|
+
if (prevSibling) {
|
|
1764
|
+
if (isNullOrUndefined(this.headerTemplate)) {
|
|
1765
|
+
groupElem.parentElement.insertBefore(this.groupTemplate(true).querySelector('.e-btn-group'), groupElem);
|
|
1766
|
+
var notElem = groupElem.previousElementSibling.childNodes[0];
|
|
1767
|
+
if (notElem.classList.contains('e-qb-toggle')) {
|
|
1768
|
+
notElem.style.display = 'none';
|
|
1769
|
+
}
|
|
1770
|
+
}
|
|
1771
|
+
if (!this.isImportRules) {
|
|
1772
|
+
var groupElement = groupElem.previousElementSibling;
|
|
1773
|
+
var newAndElem = groupElement.querySelector('.e-btngroup-and');
|
|
1774
|
+
var newOrElem = groupElement.querySelector('.e-btngroup-or');
|
|
1775
|
+
if (!andElem.checked && !orElem.checked) {
|
|
1776
|
+
var nextSibling = groupElem.nextElementSibling;
|
|
1777
|
+
if (nextSibling && nextSibling.classList.contains('e-btn-group')) {
|
|
1778
|
+
andElem = nextSibling.querySelector('.e-btngroup-and');
|
|
1779
|
+
orElem = nextSibling.querySelector('.e-btngroup-or');
|
|
1780
|
+
newAndElem.checked = andElem.checked;
|
|
1781
|
+
newOrElem.checked = orElem.checked;
|
|
1782
|
+
}
|
|
1783
|
+
}
|
|
1784
|
+
else if (this.enableSeparateConnector) {
|
|
1785
|
+
if (andElem.checked) {
|
|
1786
|
+
newAndElem.checked = true;
|
|
1787
|
+
}
|
|
1788
|
+
if (orElem.checked) {
|
|
1789
|
+
newOrElem.checked = true;
|
|
1790
|
+
}
|
|
1791
|
+
}
|
|
1792
|
+
}
|
|
1793
|
+
}
|
|
1794
|
+
}
|
|
1294
1795
|
this.updatedRule = null;
|
|
1295
1796
|
if (this.headerTemplate) {
|
|
1296
|
-
var
|
|
1797
|
+
var args_4 = { requestType: 'header-template-create', ruleID: groupElem.id, condition: condition,
|
|
1297
1798
|
notCondition: this.enableNotCondition ? not : undefined };
|
|
1298
|
-
this.trigger('actionBegin',
|
|
1799
|
+
this.trigger('actionBegin', args_4);
|
|
1299
1800
|
}
|
|
1300
1801
|
else {
|
|
1301
|
-
|
|
1302
|
-
|
|
1303
|
-
|
|
1304
|
-
|
|
1305
|
-
|
|
1306
|
-
|
|
1307
|
-
|
|
1308
|
-
|
|
1309
|
-
|
|
1310
|
-
|
|
1802
|
+
if (this.enableSeparateConnector) {
|
|
1803
|
+
var conditionBtn_1 = groupElem.querySelector('.e-add-condition-btn');
|
|
1804
|
+
var btnObj = new Button({ cssClass: this.element.id + '_addConditionbtn', content: this.l10n.getConstant('AddCondition') });
|
|
1805
|
+
btnObj.appendTo(conditionBtn_1);
|
|
1806
|
+
btnObj.element.onclick = function () {
|
|
1807
|
+
_this.addRuleElement(closest(conditionBtn_1, '.e-group-container'), {});
|
|
1808
|
+
};
|
|
1809
|
+
var groupBtn_1 = groupElem.querySelector('.e-add-group-btn');
|
|
1810
|
+
btnObj = new Button({ cssClass: this.element.id + '_addGroupbtn', content: this.l10n.getConstant('AddGroup') });
|
|
1811
|
+
btnObj.appendTo(groupBtn_1);
|
|
1812
|
+
btnObj.element.onclick = function () {
|
|
1813
|
+
_this.addGroupElement(true, closest(groupBtn_1, '.e-group-container'), '', true);
|
|
1814
|
+
};
|
|
1815
|
+
}
|
|
1816
|
+
else {
|
|
1817
|
+
var groupBtn = groupElem.querySelector('.e-add-btn');
|
|
1818
|
+
var btnObj = new DropDownButton({
|
|
1819
|
+
items: this.items,
|
|
1820
|
+
cssClass: 'e-round e-small e-caret-hide e-addrulegroup',
|
|
1821
|
+
iconCss: 'e-icons e-add-icon',
|
|
1822
|
+
beforeOpen: this.selectBtn.bind(this, groupBtn),
|
|
1823
|
+
select: this.selectBtn.bind(this, groupBtn)
|
|
1824
|
+
});
|
|
1825
|
+
btnObj.appendTo(groupBtn);
|
|
1826
|
+
groupBtn.setAttribute('title', this.l10n.getConstant('AddButton'));
|
|
1827
|
+
}
|
|
1311
1828
|
}
|
|
1312
|
-
if (!this.isImportRules) {
|
|
1829
|
+
if (!this.isImportRules && !this.prvtEvtTgrDaD) {
|
|
1313
1830
|
var grpId = target.id.replace(this.element.id + '_', '');
|
|
1314
1831
|
var chgrpId = groupElem.id.replace(this.element.id + '_', '');
|
|
1315
1832
|
this.trigger('change', { groupID: grpId, type: 'insertGroup', childGroupID: chgrpId });
|
|
1316
1833
|
}
|
|
1317
1834
|
}
|
|
1318
1835
|
};
|
|
1319
|
-
QueryBuilder.prototype.
|
|
1836
|
+
QueryBuilder.prototype.setMultiConnector = function (trgt) {
|
|
1837
|
+
if (this.enableSeparateConnector && !this.headerTemplate) {
|
|
1838
|
+
if (trgt.previousElementSibling && this.groupElem.querySelector('.e-btn-group')) {
|
|
1839
|
+
trgt.parentElement.insertBefore(this.groupTemplate(true).querySelector('.e-btn-group'), trgt);
|
|
1840
|
+
var notElem = trgt.previousElementSibling.childNodes[0];
|
|
1841
|
+
if (notElem.classList.contains('e-qb-toggle')) {
|
|
1842
|
+
notElem.style.display = 'none';
|
|
1843
|
+
}
|
|
1844
|
+
this.addHeaderDiv(trgt);
|
|
1845
|
+
}
|
|
1846
|
+
}
|
|
1847
|
+
};
|
|
1848
|
+
QueryBuilder.prototype.addHeaderDiv = function (elem) {
|
|
1849
|
+
var prevRule;
|
|
1850
|
+
var prevElem = elem.previousElementSibling.previousElementSibling;
|
|
1851
|
+
if (prevElem) {
|
|
1852
|
+
if (prevElem.id.indexOf('rule') > -1) {
|
|
1853
|
+
prevRule = this.getRule(prevElem);
|
|
1854
|
+
}
|
|
1855
|
+
else {
|
|
1856
|
+
prevRule = this.getGroup(prevElem);
|
|
1857
|
+
}
|
|
1858
|
+
if (isNullOrUndefined(prevRule.condition)) {
|
|
1859
|
+
prevRule.condition = 'and';
|
|
1860
|
+
}
|
|
1861
|
+
var orElem = elem.previousElementSibling.querySelector('.e-btngroup-or');
|
|
1862
|
+
var andElem = elem.previousElementSibling.querySelector('.e-btngroup-and');
|
|
1863
|
+
orElem.disabled = false;
|
|
1864
|
+
andElem.disabled = false;
|
|
1865
|
+
if (prevRule.condition === 'or') {
|
|
1866
|
+
orElem.checked = true;
|
|
1867
|
+
}
|
|
1868
|
+
else {
|
|
1869
|
+
andElem.checked = true;
|
|
1870
|
+
}
|
|
1871
|
+
}
|
|
1872
|
+
};
|
|
1873
|
+
QueryBuilder.prototype.headerTemplateFn = function (groupElem, not, condition, rule, groupID, isInitialRule) {
|
|
1320
1874
|
var template;
|
|
1321
1875
|
var templateID = this.element.id + '_header';
|
|
1322
1876
|
var args;
|
|
1323
1877
|
var groupHdr = groupElem.querySelector('.e-group-header');
|
|
1878
|
+
if (this.enableSeparateConnector && groupElem.id.indexOf('rule') !== -1) {
|
|
1879
|
+
groupHdr = groupElem;
|
|
1880
|
+
}
|
|
1324
1881
|
if (this.headerTemplate) {
|
|
1325
1882
|
args = { requestType: 'header-template-initialize', ruleID: groupElem.id,
|
|
1326
1883
|
notCondition: this.enableNotCondition ? not : undefined,
|
|
1327
1884
|
condition: condition, rule: this.getRuleCollection(rule, true), groupID: groupID };
|
|
1328
1885
|
this.trigger('actionBegin', args);
|
|
1886
|
+
if (this.enableSeparateConnector && groupElem.id.indexOf('rule') !== -1) {
|
|
1887
|
+
args.requestType = 'rule-template-create';
|
|
1888
|
+
}
|
|
1329
1889
|
this.headerFn = this.templateParser(this.headerTemplate);
|
|
1330
1890
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
1331
1891
|
if (this.isReact) {
|
|
1332
1892
|
template = this.headerFn(args, this, groupElem.id, templateID)[0];
|
|
1333
|
-
|
|
1893
|
+
if (this.enableSeparateConnector && isInitialRule) {
|
|
1894
|
+
this.enableSeparateConnectorInitialRule(groupElem, template);
|
|
1895
|
+
}
|
|
1896
|
+
else if (this.enableSeparateConnector && groupElem.id.indexOf('rule') !== -1) {
|
|
1897
|
+
groupHdr.parentElement.insertBefore(template, groupHdr.nextElementSibling);
|
|
1898
|
+
}
|
|
1899
|
+
else {
|
|
1900
|
+
groupHdr.appendChild(template);
|
|
1901
|
+
}
|
|
1334
1902
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
1335
1903
|
}
|
|
1336
1904
|
else if (this.isAngular) {
|
|
1337
1905
|
var templateColl = this.headerFn(args, this, groupElem.id, templateID);
|
|
1338
1906
|
template = (templateColl[0].nodeType === 3) ? templateColl[1] : templateColl[0];
|
|
1339
|
-
|
|
1907
|
+
if (this.enableSeparateConnector && isInitialRule) {
|
|
1908
|
+
this.enableSeparateConnectorInitialRule(groupElem, template);
|
|
1909
|
+
}
|
|
1910
|
+
else if (this.enableSeparateConnector && groupElem.id.indexOf('rule') !== -1) {
|
|
1911
|
+
groupHdr.parentElement.insertBefore(template, groupHdr.nextElementSibling);
|
|
1912
|
+
}
|
|
1913
|
+
else {
|
|
1914
|
+
groupHdr.appendChild(template);
|
|
1915
|
+
}
|
|
1340
1916
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
1341
1917
|
}
|
|
1342
1918
|
else if (this.isVue3) {
|
|
1343
1919
|
template = this.headerFn(args, this, groupElem.id, templateID);
|
|
1344
|
-
|
|
1345
|
-
|
|
1920
|
+
if (this.enableSeparateConnector && isInitialRule) {
|
|
1921
|
+
this.enableSeparateConnectorInitialRule(groupElem, template);
|
|
1922
|
+
}
|
|
1923
|
+
else if (this.enableSeparateConnector && groupElem.id.indexOf('rule') !== -1) {
|
|
1924
|
+
groupHdr.parentElement.insertBefore(template, groupHdr.nextElementSibling);
|
|
1925
|
+
}
|
|
1926
|
+
else {
|
|
1927
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
1928
|
+
append(template, groupHdr);
|
|
1929
|
+
}
|
|
1346
1930
|
}
|
|
1347
1931
|
else {
|
|
1348
1932
|
template = this.headerFn(args, this, 'Template', templateID)[0];
|
|
1349
|
-
|
|
1933
|
+
if (this.enableSeparateConnector && isInitialRule) {
|
|
1934
|
+
this.enableSeparateConnectorInitialRule(groupElem, template);
|
|
1935
|
+
}
|
|
1936
|
+
else if (this.enableSeparateConnector && groupElem.id.indexOf('rule') !== -1) {
|
|
1937
|
+
groupHdr.parentElement.insertBefore(template, groupHdr.nextElementSibling);
|
|
1938
|
+
}
|
|
1939
|
+
else {
|
|
1940
|
+
groupHdr.appendChild(template);
|
|
1941
|
+
}
|
|
1350
1942
|
}
|
|
1351
1943
|
this.renderReactTemplates();
|
|
1352
1944
|
}
|
|
1353
1945
|
return groupElem;
|
|
1354
1946
|
};
|
|
1947
|
+
QueryBuilder.prototype.enableSeparateConnectorInitialRule = function (groupElem, template) {
|
|
1948
|
+
var elem = groupElem.nextElementSibling ? groupElem.nextElementSibling : groupElem;
|
|
1949
|
+
var group = elem.closest('.e-group-container');
|
|
1950
|
+
if (!groupElem.nextElementSibling && group) {
|
|
1951
|
+
group = group.nextElementSibling ? group.nextElementSibling : group;
|
|
1952
|
+
}
|
|
1953
|
+
if (group) {
|
|
1954
|
+
group.parentElement.insertBefore(template, group);
|
|
1955
|
+
}
|
|
1956
|
+
};
|
|
1355
1957
|
/**
|
|
1356
1958
|
* Notify the changes to component.
|
|
1357
1959
|
*
|
|
@@ -1370,12 +1972,29 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
1370
1972
|
return;
|
|
1371
1973
|
}
|
|
1372
1974
|
if (type === 'condition') {
|
|
1373
|
-
|
|
1975
|
+
if (this.enableSeparateConnector) {
|
|
1976
|
+
ruleElement = element.parentElement.previousElementSibling;
|
|
1977
|
+
if (ruleElement && ruleElement.classList.contains('e-group-container')) {
|
|
1978
|
+
ruleElement = ruleElement.querySelectorAll('.e-rule-container')[ruleElement.querySelectorAll('.e-rule-container').length - 1];
|
|
1979
|
+
}
|
|
1980
|
+
if (ruleElement && ruleElement.classList.contains('e-rule-container')) {
|
|
1981
|
+
rules = this.getRule(ruleElement);
|
|
1982
|
+
}
|
|
1983
|
+
rules.condition = value;
|
|
1984
|
+
}
|
|
1985
|
+
else {
|
|
1986
|
+
rules.condition = value;
|
|
1987
|
+
}
|
|
1374
1988
|
return;
|
|
1375
1989
|
}
|
|
1376
1990
|
while (ruleElement && ruleElement.previousElementSibling !== null) {
|
|
1377
1991
|
ruleElement = ruleElement.previousElementSibling;
|
|
1378
|
-
|
|
1992
|
+
if (!this.enableSeparateConnector || (this.enableSeparateConnector &&
|
|
1993
|
+
((!this.headerTemplate && !ruleElement.classList.contains('e-btn-group')) ||
|
|
1994
|
+
this.headerTemplate && (ruleElement.classList.contains('e-rule-container') ||
|
|
1995
|
+
ruleElement.classList.contains('e-group-container'))))) {
|
|
1996
|
+
index++;
|
|
1997
|
+
}
|
|
1379
1998
|
}
|
|
1380
1999
|
var rule = rules.rules[index];
|
|
1381
2000
|
var column = this.getColumn(rule.field);
|
|
@@ -1412,7 +2031,12 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
1412
2031
|
}
|
|
1413
2032
|
while (ruleElem && ruleElem.previousElementSibling !== null) {
|
|
1414
2033
|
ruleElem = ruleElem.previousElementSibling;
|
|
1415
|
-
|
|
2034
|
+
if (!this.enableSeparateConnector || (this.enableSeparateConnector &&
|
|
2035
|
+
((!this.headerTemplate && !ruleElem.classList.contains('e-btn-group')) ||
|
|
2036
|
+
this.headerTemplate && (ruleElem.classList.contains('e-rule-container') ||
|
|
2037
|
+
ruleElem.classList.contains('e-group-container'))))) {
|
|
2038
|
+
index++;
|
|
2039
|
+
}
|
|
1416
2040
|
}
|
|
1417
2041
|
var rule = rules.rules[index];
|
|
1418
2042
|
if (type === 'field') {
|
|
@@ -1469,12 +2093,14 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
1469
2093
|
else {
|
|
1470
2094
|
ruleElement.className = 'e-rule-container e-horizontal-mode';
|
|
1471
2095
|
}
|
|
1472
|
-
if (
|
|
1473
|
-
if (ruleElement.className.indexOf('e-
|
|
1474
|
-
ruleElement.className
|
|
1475
|
-
|
|
1476
|
-
|
|
1477
|
-
ruleElement.previousElementSibling.className
|
|
2096
|
+
if (!this.enableSeparateConnector) {
|
|
2097
|
+
if (ruleElement.previousElementSibling && ruleElement.previousElementSibling.className.indexOf('e-rule-container') > -1) {
|
|
2098
|
+
if (ruleElement.className.indexOf('e-joined-rule') < 0) {
|
|
2099
|
+
ruleElement.className += ' e-joined-rule';
|
|
2100
|
+
}
|
|
2101
|
+
if (ruleElement.previousElementSibling.className.indexOf('e-prev-joined-rule') < 0) {
|
|
2102
|
+
ruleElement.previousElementSibling.className += ' e-prev-joined-rule';
|
|
2103
|
+
}
|
|
1478
2104
|
}
|
|
1479
2105
|
}
|
|
1480
2106
|
if (ruleElement.previousElementSibling && ruleElement.previousElementSibling.className.indexOf('e-group-container') > -1 &&
|
|
@@ -1539,8 +2165,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
1539
2165
|
var value;
|
|
1540
2166
|
var rbValue;
|
|
1541
2167
|
if (element.className.indexOf('e-radio') > -1) {
|
|
1542
|
-
|
|
1543
|
-
rbValue = parseInt(element.id.split('valuekey')[1], 0);
|
|
2168
|
+
rbValue = parseInt(element.id.split('valuekey')[1], 10);
|
|
1544
2169
|
if (this.fieldMode === 'Default') {
|
|
1545
2170
|
dropDownObj = getComponent(closest(element, '.e-rule-container').querySelector('.e-filter-input'), 'dropdownlist');
|
|
1546
2171
|
this.selectedColumn = dropDownObj.getDataByValue(dropDownObj.value);
|
|
@@ -1570,7 +2195,9 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
1570
2195
|
if (args.type === 'input' && args.currentTarget) {
|
|
1571
2196
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
1572
2197
|
value = Number(args.currentTarget.value);
|
|
1573
|
-
|
|
2198
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
2199
|
+
var elem = args.currentTarget;
|
|
2200
|
+
var numericTextBoxObj = getInstance(elem, NumericTextBox);
|
|
1574
2201
|
numericTextBoxObj.value = value;
|
|
1575
2202
|
this.isNumInput = true;
|
|
1576
2203
|
}
|
|
@@ -1679,7 +2306,12 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
1679
2306
|
var index = 0;
|
|
1680
2307
|
while (ruleElem && ruleElem.previousElementSibling !== null) {
|
|
1681
2308
|
ruleElem = ruleElem.previousElementSibling;
|
|
1682
|
-
|
|
2309
|
+
if (!this.enableSeparateConnector || (this.enableSeparateConnector &&
|
|
2310
|
+
((!this.headerTemplate && !ruleElem.classList.contains('e-btn-group')) ||
|
|
2311
|
+
this.headerTemplate && (ruleElem.classList.contains('e-rule-container') ||
|
|
2312
|
+
ruleElem.classList.contains('e-group-container'))))) {
|
|
2313
|
+
index++;
|
|
2314
|
+
}
|
|
1683
2315
|
}
|
|
1684
2316
|
rules.rules[index].value = '';
|
|
1685
2317
|
this.changeRule(rules.rules[index], args);
|
|
@@ -1725,7 +2357,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
1725
2357
|
var ruleID = ruleElem.id.replace(this.element.id + '_', '');
|
|
1726
2358
|
var eventsArgs = { groupID: grID, ruleID: ruleID, selectedField: this.fieldMode === 'DropdownTree' ?
|
|
1727
2359
|
dl.value[0] : dl.value, cancel: false, type: 'field' };
|
|
1728
|
-
if (!this.isImportRules) {
|
|
2360
|
+
if (!this.isImportRules && !this.prvtEvtTgrDaD) {
|
|
1729
2361
|
this.trigger('beforeChange', eventsArgs, function (observedChangeArgs) {
|
|
1730
2362
|
_this.fieldChangeSuccess(observedChangeArgs, tmpRl, flt, rl, dArg);
|
|
1731
2363
|
});
|
|
@@ -1896,7 +2528,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
1896
2528
|
if (valElem && this.getColumn(rule.field).template) {
|
|
1897
2529
|
filterElem = operatorElem.previousElementSibling;
|
|
1898
2530
|
}
|
|
1899
|
-
if (valElem.children.length
|
|
2531
|
+
if (valElem.children.length === 0) {
|
|
1900
2532
|
filterElem = operatorElem.previousElementSibling;
|
|
1901
2533
|
}
|
|
1902
2534
|
this.changeRuleValues(filterElem, rule, tempRule, ddlArgs);
|
|
@@ -1950,7 +2582,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
1950
2582
|
value = '';
|
|
1951
2583
|
ddlIdx = -1;
|
|
1952
2584
|
}
|
|
1953
|
-
if (this.isImportRules || (this.ruleIndex > -1 || this.groupIndex > -1)) {
|
|
2585
|
+
if (this.isImportRules || (this.ruleIndex > -1 || this.groupIndex > -1 || this.prvtEvtTgrDaD)) {
|
|
1954
2586
|
value = rule ? (rule.operator ? rule.operator : value) : value;
|
|
1955
2587
|
}
|
|
1956
2588
|
var ddlOperator = void 0;
|
|
@@ -2181,7 +2813,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
2181
2813
|
};
|
|
2182
2814
|
var this_2 = this;
|
|
2183
2815
|
for (var i = 0, iLen = dataSource.length; i < iLen; i++) {
|
|
2184
|
-
_loop_2(i
|
|
2816
|
+
_loop_2(i);
|
|
2185
2817
|
}
|
|
2186
2818
|
return result;
|
|
2187
2819
|
};
|
|
@@ -2335,14 +2967,15 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
2335
2967
|
var columnData = this.getItemData(parentId);
|
|
2336
2968
|
var selectedValue;
|
|
2337
2969
|
var isTemplate = (typeof columnData.template === 'string');
|
|
2338
|
-
if (this.isImportRules || this.ruleIndex > -1 || this.groupIndex > -1 || this.isPublic || isTemplate || rule.value
|
|
2970
|
+
if (this.isImportRules || this.ruleIndex > -1 || this.groupIndex > -1 || this.isPublic || isTemplate || rule.value !== '') {
|
|
2339
2971
|
selectedValue = rule.value;
|
|
2340
2972
|
}
|
|
2341
2973
|
else {
|
|
2342
2974
|
selectedValue = this.setDefaultValue(parentId, false, false);
|
|
2343
2975
|
}
|
|
2344
2976
|
if ((operator === 'in' || operator === 'notin') && (this.dataColl.length || columnData.values)) {
|
|
2345
|
-
selectedVal = (this.isImportRules || this.ruleIndex > -1 || this.groupIndex > -1) ? rule.value :
|
|
2977
|
+
selectedVal = (this.isImportRules || this.ruleIndex > -1 || this.groupIndex > -1 || this.isPublic) ? rule.value :
|
|
2978
|
+
this.setDefaultValue(parentId, true, false);
|
|
2346
2979
|
this.renderMultiSelect(columnData, parentId, idx, selectedVal, columnData.values);
|
|
2347
2980
|
if (this.displayMode === 'Vertical' || this.element.className.indexOf('e-device') > -1) {
|
|
2348
2981
|
ruleValElem.style.width = '100%';
|
|
@@ -2354,7 +2987,8 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
2354
2987
|
}
|
|
2355
2988
|
else {
|
|
2356
2989
|
if (operator === 'in' || operator === 'notin') {
|
|
2357
|
-
selectedVal = (this.isImportRules || this.ruleIndex > -1 || this.groupIndex > -1) ? rule.value :
|
|
2990
|
+
selectedVal = (this.isImportRules || this.ruleIndex > -1 || this.groupIndex > -1) ? rule.value :
|
|
2991
|
+
this.setDefaultValue(parentId, true, false);
|
|
2358
2992
|
selectedValue = selectedVal.join(',');
|
|
2359
2993
|
}
|
|
2360
2994
|
var txtBox = void 0;
|
|
@@ -2374,9 +3008,11 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
2374
3008
|
QueryBuilder.prototype.renderNumberValue = function (parentId, rule, operator, idx, ruleValElem, itemData, length) {
|
|
2375
3009
|
var columnData = this.getItemData(parentId);
|
|
2376
3010
|
var isTemplate = (typeof columnData.template === 'string');
|
|
2377
|
-
var selectedVal = (this.isImportRules || this.ruleIndex > -1 || this.groupIndex > -1 || this.isPublic || isTemplate ||
|
|
3011
|
+
var selectedVal = (this.isImportRules || this.ruleIndex > -1 || this.groupIndex > -1 || this.isPublic || isTemplate ||
|
|
3012
|
+
typeof rule.value === 'number') ? rule.value : this.setDefaultValue(parentId, false, true);
|
|
2378
3013
|
if ((operator === 'in' || operator === 'notin') && (this.dataColl.length || columnData.values)) {
|
|
2379
|
-
selectedVal = (this.isImportRules || this.ruleIndex > -1 || this.groupIndex > -1) ? rule.value :
|
|
3014
|
+
selectedVal = (this.isImportRules || this.ruleIndex > -1 || this.groupIndex > -1 || this.isPublic) ? rule.value :
|
|
3015
|
+
this.setDefaultValue(parentId, true, false);
|
|
2380
3016
|
this.renderMultiSelect(columnData, parentId, idx, selectedVal, columnData.values);
|
|
2381
3017
|
if (this.element.className.indexOf('e-device') > -1 || this.displayMode === 'Vertical') {
|
|
2382
3018
|
ruleValElem.style.width = '100%';
|
|
@@ -2387,7 +3023,8 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
2387
3023
|
}
|
|
2388
3024
|
}
|
|
2389
3025
|
else if (operator === 'in' || operator === 'notin') {
|
|
2390
|
-
selectedVal = (this.isImportRules || this.ruleIndex > -1 || this.groupIndex > -1) ? rule.value :
|
|
3026
|
+
selectedVal = (this.isImportRules || this.ruleIndex > -1 || this.groupIndex > -1) ? rule.value :
|
|
3027
|
+
this.setDefaultValue(parentId, true, false);
|
|
2391
3028
|
var selVal = selectedVal.join(',');
|
|
2392
3029
|
var txtInp = void 0;
|
|
2393
3030
|
txtInp = {
|
|
@@ -2849,10 +3486,14 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
2849
3486
|
}
|
|
2850
3487
|
var controlName = element.className.split(' e-')[idx];
|
|
2851
3488
|
var i = parseInt(element.id.slice(-1), 2);
|
|
3489
|
+
var column;
|
|
3490
|
+
var format;
|
|
3491
|
+
var selectedDate;
|
|
3492
|
+
var value;
|
|
3493
|
+
var radioBtnObj;
|
|
2852
3494
|
switch (controlName) {
|
|
2853
3495
|
case 'checkbox':
|
|
2854
|
-
|
|
2855
|
-
var value = getComponent(element, controlName).value;
|
|
3496
|
+
value = getComponent(element, controlName).value;
|
|
2856
3497
|
rule.value = (value !== '') ? value : undefined;
|
|
2857
3498
|
break;
|
|
2858
3499
|
case 'textbox':
|
|
@@ -2862,8 +3503,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
2862
3503
|
rule.value = getComponent(element, controlName).value;
|
|
2863
3504
|
break;
|
|
2864
3505
|
case 'radio':
|
|
2865
|
-
|
|
2866
|
-
var radioBtnObj = getComponent(element, controlName);
|
|
3506
|
+
radioBtnObj = getComponent(element, controlName);
|
|
2867
3507
|
if (radioBtnObj.checked) {
|
|
2868
3508
|
if (typeof rule.value === 'boolean') {
|
|
2869
3509
|
rule.value = radioBtnObj.value === 'true';
|
|
@@ -2891,12 +3531,9 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
2891
3531
|
}
|
|
2892
3532
|
break;
|
|
2893
3533
|
case 'datepicker':
|
|
2894
|
-
|
|
2895
|
-
|
|
2896
|
-
|
|
2897
|
-
var format = this.getFormat(column.format);
|
|
2898
|
-
// eslint-disable-next-line
|
|
2899
|
-
var selectedDate = getComponent(element, controlName).value;
|
|
3534
|
+
column = this.getColumn(rule.field);
|
|
3535
|
+
format = this.getFormat(column.format);
|
|
3536
|
+
selectedDate = getComponent(element, controlName).value;
|
|
2900
3537
|
if (rule.operator.indexOf('between') > -1) {
|
|
2901
3538
|
if (typeof rule.value === 'string') {
|
|
2902
3539
|
rule.value = [];
|
|
@@ -2929,7 +3566,12 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
2929
3566
|
var beforeRules = this.getValidRules(this.rule);
|
|
2930
3567
|
while (ruleElem && ruleElem.previousElementSibling !== null) {
|
|
2931
3568
|
ruleElem = ruleElem.previousElementSibling;
|
|
2932
|
-
|
|
3569
|
+
if (!this.enableSeparateConnector || (this.enableSeparateConnector &&
|
|
3570
|
+
((!this.headerTemplate && !ruleElem.classList.contains('e-btn-group')) ||
|
|
3571
|
+
this.headerTemplate && (ruleElem.classList.contains('e-rule-container') ||
|
|
3572
|
+
ruleElem.classList.contains('e-group-container'))))) {
|
|
3573
|
+
index++;
|
|
3574
|
+
}
|
|
2933
3575
|
}
|
|
2934
3576
|
var operator = rule.rules[index].operator ? rule.rules[index].operator.toString() : '';
|
|
2935
3577
|
ruleElem = closest(target, '.e-rule-container');
|
|
@@ -2978,7 +3620,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
2978
3620
|
}
|
|
2979
3621
|
this.updateValues(elementCln[i_1], rule.rules[index]);
|
|
2980
3622
|
}
|
|
2981
|
-
if (!this.isImportRules) {
|
|
3623
|
+
if (!this.isImportRules && !this.prvtEvtTgrDaD) {
|
|
2982
3624
|
this.trigger('change', eventsArgs);
|
|
2983
3625
|
}
|
|
2984
3626
|
if (this.allowValidation && rule.rules[index].field && target.parentElement.className.indexOf('e-tooltip') > -1) {
|
|
@@ -3023,7 +3665,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
3023
3665
|
var beforeRuleStr = JSON.stringify({ condition: beforeRule.condition, not: beforeRule.not, rule: beforeRule.rules });
|
|
3024
3666
|
var afetrRuleStr = JSON.stringify({ condition: afterRule.condition, not: afterRule.not, rule: afterRule.rules });
|
|
3025
3667
|
if (beforeRuleStr !== afetrRuleStr) {
|
|
3026
|
-
if (!this.isImportRules) {
|
|
3668
|
+
if (!this.isImportRules && !this.prvtEvtTgrDaD) {
|
|
3027
3669
|
this.trigger('ruleChange', { previousRule: beforeRule, rule: afterRule, type: type });
|
|
3028
3670
|
}
|
|
3029
3671
|
}
|
|
@@ -3190,7 +3832,6 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
3190
3832
|
var len;
|
|
3191
3833
|
var tooltip;
|
|
3192
3834
|
_super.prototype.destroy.call(this);
|
|
3193
|
-
var popupElement;
|
|
3194
3835
|
element = this.element.querySelectorAll('.e-addrulegroup');
|
|
3195
3836
|
len = element.length;
|
|
3196
3837
|
for (i = 0; i < len; i++) {
|
|
@@ -3236,7 +3877,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
3236
3877
|
if (this.portals && this.portals.length) {
|
|
3237
3878
|
this.clearQBTemplate();
|
|
3238
3879
|
}
|
|
3239
|
-
popupElement = document.querySelectorAll('.qb-dropdownlist.e-popup');
|
|
3880
|
+
var popupElement = document.querySelectorAll('.qb-dropdownlist.e-popup');
|
|
3240
3881
|
if (popupElement) {
|
|
3241
3882
|
for (i = 0; i < popupElement.length; i++) {
|
|
3242
3883
|
popupElement[i].remove();
|
|
@@ -3309,7 +3950,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
3309
3950
|
}
|
|
3310
3951
|
}
|
|
3311
3952
|
if (!this.headerTemplate) {
|
|
3312
|
-
this.disableRuleCondition(groupElem, rule);
|
|
3953
|
+
this.disableRuleCondition(groupElem, rule, null, this.enableSeparateConnector ? true : null);
|
|
3313
3954
|
}
|
|
3314
3955
|
}
|
|
3315
3956
|
};
|
|
@@ -3318,6 +3959,9 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
3318
3959
|
if (this.cssClass) {
|
|
3319
3960
|
addClass([this.element], this.cssClass.replace(/\s+/g, ' ').trim().split(' '));
|
|
3320
3961
|
}
|
|
3962
|
+
if (this.enableSeparateConnector) {
|
|
3963
|
+
addClass([this.element], 'e-multi-connector');
|
|
3964
|
+
}
|
|
3321
3965
|
if (this.enableRtl) {
|
|
3322
3966
|
addClass([this.element], 'e-rtl');
|
|
3323
3967
|
}
|
|
@@ -3354,14 +3998,14 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
3354
3998
|
}
|
|
3355
3999
|
}
|
|
3356
4000
|
else {
|
|
3357
|
-
if (this.columns.length && this.isImportRules) {
|
|
4001
|
+
if (this.columns && this.columns.length && this.isImportRules) {
|
|
3358
4002
|
this.addGroupElement(false, this.element, this.rule.condition, false, this.rule.not, false, this.rule);
|
|
3359
4003
|
var mRules = extend({}, this.rule, {}, true);
|
|
3360
4004
|
this.isRefreshed = true;
|
|
3361
4005
|
this.setGroupRules(mRules);
|
|
3362
4006
|
this.isRefreshed = false;
|
|
3363
4007
|
}
|
|
3364
|
-
else if (this.columns.length) {
|
|
4008
|
+
else if (this.columns && this.columns.length) {
|
|
3365
4009
|
this.addRuleElement(this.element.querySelector('.e-group-container'), {});
|
|
3366
4010
|
}
|
|
3367
4011
|
this.notGroupRtl();
|
|
@@ -3415,8 +4059,8 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
3415
4059
|
this.groupIdCounter = 0;
|
|
3416
4060
|
if (!this.headerTemplate) {
|
|
3417
4061
|
if (this.enableNotCondition) {
|
|
3418
|
-
|
|
3419
|
-
|
|
4062
|
+
var inputElem = this.createElement('button', { attrs: { type: 'button', class: 'e-qb-toggle' } });
|
|
4063
|
+
if (this.groupElem.querySelector('.e-btn-group')) {
|
|
3420
4064
|
this.groupElem.querySelector('.e-btn-group').insertBefore(inputElem, this.groupElem.querySelector('.e-btngroup-and'));
|
|
3421
4065
|
}
|
|
3422
4066
|
}
|
|
@@ -3457,14 +4101,12 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
3457
4101
|
};
|
|
3458
4102
|
QueryBuilder.prototype.onPropertyChanged = function (newProp, oldProp) {
|
|
3459
4103
|
var properties = Object.keys(newProp);
|
|
4104
|
+
var groupElem = this.element.querySelector('.e-group-container');
|
|
4105
|
+
var summaryElem = this.element.querySelector('.e-summary-content');
|
|
3460
4106
|
for (var _i = 0, properties_1 = properties; _i < properties_1.length; _i++) {
|
|
3461
4107
|
var prop = properties_1[_i];
|
|
3462
4108
|
switch (prop) {
|
|
3463
4109
|
case 'summaryView':
|
|
3464
|
-
// eslint-disable-next-line
|
|
3465
|
-
var groupElem = this.element.querySelector('.e-group-container');
|
|
3466
|
-
// eslint-disable-next-line
|
|
3467
|
-
var summaryElem = this.element.querySelector('.e-summary-content');
|
|
3468
4110
|
if (newProp.summaryView) {
|
|
3469
4111
|
groupElem.style.display = 'none';
|
|
3470
4112
|
if (this.element.querySelectorAll('.e-summary-content').length < 1) {
|
|
@@ -3604,6 +4246,14 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
3604
4246
|
this.isReadonly = newProp.readonly;
|
|
3605
4247
|
this.enableReadonly();
|
|
3606
4248
|
break;
|
|
4249
|
+
case 'allowDragAndDrop':
|
|
4250
|
+
this.allowDragAndDrop = newProp.allowDragAndDrop;
|
|
4251
|
+
this.refresh();
|
|
4252
|
+
break;
|
|
4253
|
+
case 'enableSeparateConnector':
|
|
4254
|
+
this.enableSeparateConnector = newProp.enableSeparateConnector;
|
|
4255
|
+
this.refresh();
|
|
4256
|
+
break;
|
|
3607
4257
|
}
|
|
3608
4258
|
}
|
|
3609
4259
|
};
|
|
@@ -3761,6 +4411,134 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
3761
4411
|
this.initControl();
|
|
3762
4412
|
}
|
|
3763
4413
|
this.renderComplete();
|
|
4414
|
+
if (this.allowDragAndDrop) {
|
|
4415
|
+
this.initializeDrag();
|
|
4416
|
+
}
|
|
4417
|
+
};
|
|
4418
|
+
QueryBuilder.prototype.initializeDrag = function () {
|
|
4419
|
+
this.draggable = new Draggable(this.element, {
|
|
4420
|
+
dragTarget: '.e-drag-qb-rule',
|
|
4421
|
+
distance: 5,
|
|
4422
|
+
helper: this.helper.bind(this),
|
|
4423
|
+
dragStart: this.dragStartHandler.bind(this),
|
|
4424
|
+
drag: this.dragHandler.bind(this),
|
|
4425
|
+
dragStop: this.dragStopHandler.bind(this),
|
|
4426
|
+
isReplaceDragEle: true,
|
|
4427
|
+
isPreventSelect: false,
|
|
4428
|
+
abort: '.e-parent-header',
|
|
4429
|
+
isDragScroll: true
|
|
4430
|
+
});
|
|
4431
|
+
};
|
|
4432
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
4433
|
+
QueryBuilder.prototype.helper = function (e) {
|
|
4434
|
+
var target = this.draggable.currentStateTarget;
|
|
4435
|
+
if (!target.classList.contains('e-drag-qb-rule') || (target.classList.contains('e-drag-qb-rule') && closest(target, '.e-disable'))) {
|
|
4436
|
+
return false;
|
|
4437
|
+
}
|
|
4438
|
+
var visualElement = this.createElement('div', {
|
|
4439
|
+
className: 'e-cloneproperties e-draganddrop e-dragclone',
|
|
4440
|
+
styles: 'height:"auto", z-index:2, width:' + this.element.offsetWidth
|
|
4441
|
+
});
|
|
4442
|
+
var cloneElement;
|
|
4443
|
+
if (this.draggable.currentStateTarget.parentElement.classList.contains('e-group-header')) {
|
|
4444
|
+
cloneElement = closest(target, '.e-group-container').cloneNode(true);
|
|
4445
|
+
closest(target, '.e-group-container').classList.add('e-qb-dragging-rule');
|
|
4446
|
+
}
|
|
4447
|
+
else {
|
|
4448
|
+
visualElement.classList.add('e-group-body');
|
|
4449
|
+
cloneElement = this.createElement('div', { className: 'e-rule-container' });
|
|
4450
|
+
var ruleElement = closest(target, '.e-rule-field').cloneNode(true);
|
|
4451
|
+
cloneElement.appendChild(ruleElement);
|
|
4452
|
+
closest(target, '.e-rule-field').classList.add('e-qb-dragging-rule');
|
|
4453
|
+
}
|
|
4454
|
+
visualElement.appendChild(cloneElement);
|
|
4455
|
+
var childElements = visualElement.querySelectorAll('*');
|
|
4456
|
+
childElements.forEach(function (child) {
|
|
4457
|
+
child.removeAttribute('id');
|
|
4458
|
+
});
|
|
4459
|
+
this.element.appendChild(visualElement);
|
|
4460
|
+
return visualElement;
|
|
4461
|
+
};
|
|
4462
|
+
QueryBuilder.prototype.dragStartHandler = function (e) {
|
|
4463
|
+
this.draggedRule = e.target;
|
|
4464
|
+
this.isDragEventPrevent = false;
|
|
4465
|
+
document.body.classList.add('e-prevent-select');
|
|
4466
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
4467
|
+
this.dragElement = e.dragElement;
|
|
4468
|
+
var rule = closest(e.target, '.e-rule-container');
|
|
4469
|
+
var group = closest(e.target, '.e-group-container');
|
|
4470
|
+
var dragEventArgs = { dragRuleID: rule !== null ? rule.id : group.id, dragGroupID: group.id, cancel: false };
|
|
4471
|
+
this.trigger('dragStart', dragEventArgs);
|
|
4472
|
+
this.isDragEventPrevent = dragEventArgs.cancel;
|
|
4473
|
+
};
|
|
4474
|
+
QueryBuilder.prototype.dragHandler = function (e) {
|
|
4475
|
+
if (this.isDragEventPrevent) {
|
|
4476
|
+
return;
|
|
4477
|
+
}
|
|
4478
|
+
var borderLineElem = this.element.querySelectorAll('.e-drag-rule-bottom-line');
|
|
4479
|
+
borderLineElem.forEach(function (ele) {
|
|
4480
|
+
ele.classList.remove('e-drag-rule-bottom-line');
|
|
4481
|
+
});
|
|
4482
|
+
borderLineElem = this.element.querySelectorAll('.e-drag-rule-top-line');
|
|
4483
|
+
borderLineElem.forEach(function (ele) {
|
|
4484
|
+
ele.classList.remove('e-drag-rule-top-line');
|
|
4485
|
+
});
|
|
4486
|
+
if (isNullOrUndefined(e.target)) {
|
|
4487
|
+
return;
|
|
4488
|
+
}
|
|
4489
|
+
if (e.target.nodeName === 'HTML' || closest(e.target, '.e-qb-dragging-rule') || closest(e.target, '.e-group-header') ||
|
|
4490
|
+
!closest(e.target, '#' + this.element.id) || closest(e.target, '.e-disable') || (e.target.parentElement && e.target.parentElement.classList.contains('e-btn-group') && this.enableSeparateConnector)) {
|
|
4491
|
+
this.dragElement.classList.add('e-notallowedcur');
|
|
4492
|
+
return;
|
|
4493
|
+
}
|
|
4494
|
+
else {
|
|
4495
|
+
this.dragElement.classList.remove('e-notallowedcur');
|
|
4496
|
+
}
|
|
4497
|
+
var targetElem = closest(e.target, '.e-rule-container');
|
|
4498
|
+
var grpElem = closest(e.target, '.e-group-container');
|
|
4499
|
+
if (targetElem) {
|
|
4500
|
+
var rect = targetElem.getBoundingClientRect();
|
|
4501
|
+
var mouseY = e.event.clientY || e.event.changedTouches[0].clientY;
|
|
4502
|
+
var distanceToTop = mouseY - rect.top;
|
|
4503
|
+
var distanceToBottom = rect.bottom - mouseY;
|
|
4504
|
+
var threshold = 20; // Adjust as needed
|
|
4505
|
+
if (distanceToTop < threshold) {
|
|
4506
|
+
targetElem.classList.add('e-drag-rule-top-line');
|
|
4507
|
+
}
|
|
4508
|
+
else if (distanceToBottom < threshold) {
|
|
4509
|
+
targetElem.classList.add('e-drag-rule-bottom-line');
|
|
4510
|
+
}
|
|
4511
|
+
}
|
|
4512
|
+
else if (e.target.classList.contains('e-rule-list') && e.target.children.length === 0) {
|
|
4513
|
+
e.target.classList.add('e-drag-rule-bottom-line');
|
|
4514
|
+
}
|
|
4515
|
+
else if (e.target.classList.contains('e-rule-list') && e.target.children[0].classList.contains('e-group-container')) {
|
|
4516
|
+
var rect = e.target.children[0].getBoundingClientRect();
|
|
4517
|
+
var mouseY = e.event.clientY || e.event.changedTouches[0].clientY;
|
|
4518
|
+
var distanceToTop = mouseY - rect.top;
|
|
4519
|
+
var threshold = 20; // Adjust as needed
|
|
4520
|
+
if (distanceToTop < threshold) {
|
|
4521
|
+
e.target.classList.add('e-drag-rule-top-line');
|
|
4522
|
+
}
|
|
4523
|
+
}
|
|
4524
|
+
else if (closest(e.target, '.e-group-container') || e.target.classList.contains('e-group-container')) {
|
|
4525
|
+
if (!grpElem) {
|
|
4526
|
+
grpElem = e.target;
|
|
4527
|
+
}
|
|
4528
|
+
if (grpElem.id.indexOf('group0') > -1) {
|
|
4529
|
+
var rect = e.target.getBoundingClientRect();
|
|
4530
|
+
var mouseY = e.event.clientY || e.event.changedTouches[0].clientY;
|
|
4531
|
+
var distanceToBottom = rect.bottom - mouseY;
|
|
4532
|
+
var threshold = 20; // Adjust as needed
|
|
4533
|
+
if (distanceToBottom < threshold) {
|
|
4534
|
+
e.target.classList.add('e-drag-rule-bottom-line');
|
|
4535
|
+
}
|
|
4536
|
+
}
|
|
4537
|
+
}
|
|
4538
|
+
var dragEventArgs = { dragRuleID: targetElem !== null ? targetElem.id : grpElem !== null ? grpElem.id : null,
|
|
4539
|
+
dragGroupID: grpElem !== null ? grpElem.id : null, cancel: false };
|
|
4540
|
+
this.trigger('drag', dragEventArgs);
|
|
4541
|
+
this.isDragEventPrevent = dragEventArgs.cancel;
|
|
3764
4542
|
};
|
|
3765
4543
|
QueryBuilder.prototype.templateParser = function (template) {
|
|
3766
4544
|
if (template) {
|
|
@@ -3805,6 +4583,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
3805
4583
|
EventHandler.add(wrapper, 'focusout', this.focusEventHandler, this);
|
|
3806
4584
|
EventHandler.add(wrapper, 'focusin', this.focusEventHandler, this);
|
|
3807
4585
|
EventHandler.add(this.element, 'keydown', this.keyBoardHandler, this);
|
|
4586
|
+
EventHandler.add(document, 'keydown', this.keyBoardHandler, this);
|
|
3808
4587
|
};
|
|
3809
4588
|
QueryBuilder.prototype.unWireEvents = function () {
|
|
3810
4589
|
var wrapper = this.getWrapper();
|
|
@@ -3812,6 +4591,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
3812
4591
|
EventHandler.remove(wrapper, 'focusout', this.focusEventHandler);
|
|
3813
4592
|
EventHandler.remove(wrapper, 'focusin', this.focusEventHandler);
|
|
3814
4593
|
EventHandler.remove(this.element, 'keydown', this.keyBoardHandler);
|
|
4594
|
+
EventHandler.remove(document, 'keydown', this.keyBoardHandler);
|
|
3815
4595
|
};
|
|
3816
4596
|
QueryBuilder.prototype.getParentGroup = function (target, isParent) {
|
|
3817
4597
|
var groupLevel = (target instanceof Element) ? this.levelColl[target.id] : this.levelColl["" + target];
|
|
@@ -3840,7 +4620,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
3840
4620
|
groupId = groupElem.id.replace(this.element.id + '_', '');
|
|
3841
4621
|
}
|
|
3842
4622
|
var args = { groupID: groupId, cancel: false, type: 'deleteGroup' };
|
|
3843
|
-
if (!this.isImportRules) {
|
|
4623
|
+
if (!this.isImportRules && !this.prvtEvtTgrDaD) {
|
|
3844
4624
|
this.trigger('beforeChange', args, function (observedChangeArgs) {
|
|
3845
4625
|
_this.deleteGroupSuccessCallBack(observedChangeArgs, target);
|
|
3846
4626
|
});
|
|
@@ -3870,13 +4650,20 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
3870
4650
|
}
|
|
3871
4651
|
while (groupElem.previousElementSibling !== null) {
|
|
3872
4652
|
groupElem = groupElem.previousElementSibling;
|
|
3873
|
-
|
|
4653
|
+
if (!this.enableSeparateConnector || (this.enableSeparateConnector &&
|
|
4654
|
+
((!this.headerTemplate && !groupElem.classList.contains('e-btn-group')) ||
|
|
4655
|
+
this.headerTemplate && (groupElem.classList.contains('e-rule-container') ||
|
|
4656
|
+
groupElem.classList.contains('e-group-container'))))) {
|
|
4657
|
+
index++;
|
|
4658
|
+
}
|
|
3874
4659
|
}
|
|
3875
|
-
if (
|
|
3876
|
-
|
|
3877
|
-
|
|
3878
|
-
|
|
3879
|
-
|
|
4660
|
+
if (!this.enableSeparateConnector) {
|
|
4661
|
+
if (nextElem && nextElem.className.indexOf('e-separate-rule') > -1) {
|
|
4662
|
+
removeClass([nextElem], 'e-separate-rule');
|
|
4663
|
+
addClass([nextElem], 'e-joined-rule');
|
|
4664
|
+
if (prevElem && prevElem.className.indexOf('e-rule-container') > -1) {
|
|
4665
|
+
addClass([prevElem], 'e-prev-joined-rule');
|
|
4666
|
+
}
|
|
3880
4667
|
}
|
|
3881
4668
|
}
|
|
3882
4669
|
var elem = groupElem.parentElement.parentElement.parentElement;
|
|
@@ -3908,7 +4695,11 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
3908
4695
|
delete this.levelColl[args.groupID];
|
|
3909
4696
|
this.refreshLevelColl();
|
|
3910
4697
|
this.disableRuleCondition(elem, rule);
|
|
3911
|
-
if (!this.
|
|
4698
|
+
if (this.enableSeparateConnector && prevElem && ((!this.headerTemplate && prevElem.classList.contains('e-btn-group')) ||
|
|
4699
|
+
(this.headerTemplate && prevElem.classList.contains('e-custom-group-btn')))) {
|
|
4700
|
+
detach(prevElem);
|
|
4701
|
+
}
|
|
4702
|
+
if (!this.isImportRules && !this.prvtEvtTgrDaD) {
|
|
3912
4703
|
this.trigger('change', args);
|
|
3913
4704
|
}
|
|
3914
4705
|
this.filterRules(beforeRules, this.getValidRules(this.rule), 'deleteGroup');
|
|
@@ -3925,7 +4716,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
3925
4716
|
var groupID = groupElem.id.replace(this.element.id + '_', '');
|
|
3926
4717
|
var ruleID = closest(target, '.e-rule-container').id.replace(this.element.id + '_', '');
|
|
3927
4718
|
var args = { groupID: groupID, ruleID: ruleID, cancel: false, type: 'deleteRule' };
|
|
3928
|
-
if (!this.isImportRules) {
|
|
4719
|
+
if (!this.isImportRules && !this.prvtEvtTgrDaD) {
|
|
3929
4720
|
this.trigger('beforeChange', args, function (observedChangeArgs) {
|
|
3930
4721
|
_this.deleteRuleSuccessCallBack(observedChangeArgs, target);
|
|
3931
4722
|
});
|
|
@@ -3940,10 +4731,10 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
3940
4731
|
var rule = this.getParentGroup(groupElem);
|
|
3941
4732
|
var ruleElem = closest(target, '.e-rule-container');
|
|
3942
4733
|
var beforeRules = this.getValidRules(this.rule);
|
|
3943
|
-
var clnruleElem = ruleElem;
|
|
3944
|
-
var nextElem = ruleElem.nextElementSibling;
|
|
3945
4734
|
var prevElem = ruleElem.previousElementSibling;
|
|
3946
4735
|
var index = 0;
|
|
4736
|
+
var clnruleElem = ruleElem;
|
|
4737
|
+
var nextElem = ruleElem.nextElementSibling;
|
|
3947
4738
|
var valElem = ruleElem.querySelectorAll('.e-tooltip');
|
|
3948
4739
|
var i = void 0;
|
|
3949
4740
|
var len = valElem.length;
|
|
@@ -3952,7 +4743,12 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
3952
4743
|
}
|
|
3953
4744
|
while (ruleElem.previousElementSibling !== null) {
|
|
3954
4745
|
ruleElem = ruleElem.previousElementSibling;
|
|
3955
|
-
|
|
4746
|
+
if (!this.enableSeparateConnector || (this.enableSeparateConnector &&
|
|
4747
|
+
((!this.headerTemplate && !ruleElem.classList.contains('e-btn-group')) ||
|
|
4748
|
+
this.headerTemplate && (ruleElem.classList.contains('e-rule-container') ||
|
|
4749
|
+
ruleElem.classList.contains('e-group-container'))))) {
|
|
4750
|
+
index++;
|
|
4751
|
+
}
|
|
3956
4752
|
}
|
|
3957
4753
|
var column = this.getColumn(rule.rules[index].field);
|
|
3958
4754
|
if (column && column.template && clnruleElem.querySelector('.e-template')) {
|
|
@@ -3971,17 +4767,27 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
3971
4767
|
var isTemplateRendered = clnruleElem.querySelector('.e-template-value');
|
|
3972
4768
|
// eslint-disable
|
|
3973
4769
|
try {
|
|
4770
|
+
if (this.enableSeparateConnector && (clnruleElem.previousElementSibling || clnruleElem.nextElementSibling)) {
|
|
4771
|
+
var previousElem = clnruleElem.previousElementSibling;
|
|
4772
|
+
var nextElem_1 = clnruleElem.nextElementSibling;
|
|
4773
|
+
if (isNullOrUndefined(nextElem_1) && ((!this.headerTemplate && previousElem.classList.contains('e-btn-group'))
|
|
4774
|
+
|| (this.headerTemplate && previousElem.classList.contains('e-custom-group-btn')))) {
|
|
4775
|
+
if (previousElem && previousElem.previousElementSibling && previousElem.previousElementSibling.classList.contains('e-rule-container')) {
|
|
4776
|
+
var rule_1 = this.getRule(previousElem.previousElementSibling);
|
|
4777
|
+
rule_1.condition = null;
|
|
4778
|
+
}
|
|
4779
|
+
detach(previousElem);
|
|
4780
|
+
}
|
|
4781
|
+
else if ((!this.headerTemplate && nextElem_1.classList.contains('e-btn-group'))
|
|
4782
|
+
|| (this.headerTemplate && nextElem_1.classList.contains('e-custom-group-btn'))) {
|
|
4783
|
+
detach(nextElem_1);
|
|
4784
|
+
}
|
|
4785
|
+
}
|
|
3974
4786
|
detach(clnruleElem);
|
|
3975
4787
|
}
|
|
3976
4788
|
catch (err) {
|
|
3977
|
-
|
|
3978
|
-
err = [];
|
|
3979
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
3980
|
-
var error = 'error';
|
|
3981
|
-
// eslint-disable-next-line
|
|
3982
|
-
err[error] = error;
|
|
4789
|
+
return;
|
|
3983
4790
|
}
|
|
3984
|
-
// eslint-enable
|
|
3985
4791
|
if (column && column.ruleTemplate) {
|
|
3986
4792
|
this.clearQBTemplate([clnruleElem.id]);
|
|
3987
4793
|
}
|
|
@@ -3990,13 +4796,13 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
3990
4796
|
}
|
|
3991
4797
|
rule.rules.splice(index, 1);
|
|
3992
4798
|
if (!(rule.rules[0] && rule.rules[0].rules)) {
|
|
3993
|
-
this.disableRuleCondition(groupElem, rule);
|
|
4799
|
+
this.disableRuleCondition(groupElem, rule, this.enableSeparateConnector ? true : false);
|
|
3994
4800
|
}
|
|
3995
4801
|
var tooltipElem = this.element.querySelectorAll('.e-tooltip');
|
|
3996
4802
|
for (var i_3 = 0; i_3 < tooltipElem.length; i_3++) {
|
|
3997
4803
|
getComponent(tooltipElem[i_3], 'tooltip').refresh(tooltipElem[i_3]);
|
|
3998
4804
|
}
|
|
3999
|
-
if (!this.isImportRules) {
|
|
4805
|
+
if (!this.isImportRules && !this.prvtEvtTgrDaD) {
|
|
4000
4806
|
this.trigger('change', args);
|
|
4001
4807
|
}
|
|
4002
4808
|
this.filterRules(beforeRules, this.getValidRules(this.rule), 'deleteRule');
|
|
@@ -4020,9 +4826,32 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
4020
4826
|
this.isImportRules = false;
|
|
4021
4827
|
};
|
|
4022
4828
|
QueryBuilder.prototype.keyBoardHandler = function (e) {
|
|
4023
|
-
if (this.readonly && (e.keyCode === 38 || e.keyCode === 40 || e.keyCode === 13)) {
|
|
4829
|
+
if (e.currentTarget === this.element && this.readonly && (e.keyCode === 38 || e.keyCode === 40 || e.keyCode === 13)) {
|
|
4024
4830
|
e.preventDefault();
|
|
4025
4831
|
}
|
|
4832
|
+
else if (e.code === 'Escape' && this.allowDragAndDrop) {
|
|
4833
|
+
this.isDragEventPrevent = true;
|
|
4834
|
+
document.body.classList.remove('e-prevent-select');
|
|
4835
|
+
var borderLineElem = this.element.querySelectorAll('.e-drag-rule-bottom-line');
|
|
4836
|
+
borderLineElem.forEach(function (ele) {
|
|
4837
|
+
ele.classList.remove('e-drag-rule-bottom-line');
|
|
4838
|
+
});
|
|
4839
|
+
borderLineElem = this.element.querySelectorAll('.e-drag-rule-top-line');
|
|
4840
|
+
borderLineElem.forEach(function (ele) {
|
|
4841
|
+
ele.classList.remove('e-drag-rule-top-line');
|
|
4842
|
+
});
|
|
4843
|
+
borderLineElem = this.element.querySelectorAll('.e-qb-dragging-rule');
|
|
4844
|
+
borderLineElem.forEach(function (ele) {
|
|
4845
|
+
ele.classList.remove('e-qb-dragging-rule');
|
|
4846
|
+
});
|
|
4847
|
+
var dragElemnet = this.element.querySelector('.e-cloneproperties');
|
|
4848
|
+
if (dragElemnet) {
|
|
4849
|
+
remove(dragElemnet);
|
|
4850
|
+
}
|
|
4851
|
+
if (this.enableSeparateConnector) {
|
|
4852
|
+
this.refresh();
|
|
4853
|
+
}
|
|
4854
|
+
}
|
|
4026
4855
|
};
|
|
4027
4856
|
QueryBuilder.prototype.clearQBTemplate = function (ruleElemColl) {
|
|
4028
4857
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
@@ -4030,7 +4859,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
4030
4859
|
this.clearTemplate(ruleElemColl);
|
|
4031
4860
|
}
|
|
4032
4861
|
};
|
|
4033
|
-
QueryBuilder.prototype.disableRuleCondition = function (groupElem, rules) {
|
|
4862
|
+
QueryBuilder.prototype.disableRuleCondition = function (groupElem, rules, isNewRuleAdded, isNewGroup) {
|
|
4034
4863
|
if (!this.headerTemplate) {
|
|
4035
4864
|
if (this.readonly) {
|
|
4036
4865
|
return;
|
|
@@ -4046,21 +4875,124 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
4046
4875
|
orElem.nextElementSibling.classList.remove('e-btn-disable');
|
|
4047
4876
|
andElem.nextElementSibling.classList.remove('e-btn-disable');
|
|
4048
4877
|
}
|
|
4049
|
-
if (
|
|
4050
|
-
|
|
4878
|
+
if (this.enableSeparateConnector && !isNewRuleAdded) {
|
|
4879
|
+
var index = 0;
|
|
4880
|
+
var element = void 0;
|
|
4881
|
+
// eslint-disable-next-line no-constant-condition
|
|
4882
|
+
while (true) {
|
|
4883
|
+
var andGroup = groupElem.parentElement.querySelectorAll('.e-btngroup-and');
|
|
4884
|
+
var orGroup = groupElem.parentElement.querySelectorAll('.e-btngroup-or');
|
|
4885
|
+
andElem = andGroup[andGroup.length - (1 + index)];
|
|
4886
|
+
orElem = orGroup[orGroup.length - (1 + index)];
|
|
4887
|
+
element = andGroup[andGroup.length - (1 + index)];
|
|
4888
|
+
if (element && element.parentElement && element.parentElement.style.display === 'none') {
|
|
4889
|
+
index++;
|
|
4890
|
+
}
|
|
4891
|
+
else {
|
|
4892
|
+
break;
|
|
4893
|
+
}
|
|
4894
|
+
}
|
|
4895
|
+
var elem = groupElem.previousElementSibling;
|
|
4896
|
+
while (elem && !elem.classList.contains('e-rule-container')) {
|
|
4897
|
+
if (elem.classList.contains('e-group-container')) {
|
|
4898
|
+
elem = elem.querySelectorAll('.e-rule-container')[elem.querySelectorAll('.e-rule-container').length - 1];
|
|
4899
|
+
break;
|
|
4900
|
+
}
|
|
4901
|
+
elem = elem.previousElementSibling;
|
|
4902
|
+
}
|
|
4903
|
+
if (isNewGroup && groupElem.classList.contains('e-group-container')) {
|
|
4904
|
+
elem = groupElem;
|
|
4905
|
+
var prevRule = this.getGroup(elem);
|
|
4906
|
+
if (prevRule.condition === 'or') {
|
|
4907
|
+
orElem.checked = true;
|
|
4908
|
+
}
|
|
4909
|
+
else {
|
|
4910
|
+
andElem.checked = true;
|
|
4911
|
+
}
|
|
4912
|
+
}
|
|
4913
|
+
else if (elem && elem.classList.contains('e-rule-container')) {
|
|
4914
|
+
var ruleID = elem.id.replace(this.element.id + '_', '');
|
|
4915
|
+
var prevRule = this.getRule(ruleID);
|
|
4916
|
+
if (prevRule.condition === 'or') {
|
|
4917
|
+
orElem.checked = true;
|
|
4918
|
+
}
|
|
4919
|
+
else {
|
|
4920
|
+
andElem.checked = true;
|
|
4921
|
+
}
|
|
4922
|
+
}
|
|
4051
4923
|
}
|
|
4052
|
-
else {
|
|
4053
|
-
|
|
4924
|
+
else if (!isNewRuleAdded) {
|
|
4925
|
+
if (rules && rules.condition === 'or') {
|
|
4926
|
+
orElem.checked = true;
|
|
4927
|
+
}
|
|
4928
|
+
else {
|
|
4929
|
+
andElem.checked = true;
|
|
4930
|
+
}
|
|
4054
4931
|
}
|
|
4055
4932
|
}
|
|
4056
4933
|
else {
|
|
4057
|
-
|
|
4058
|
-
|
|
4059
|
-
|
|
4060
|
-
|
|
4061
|
-
|
|
4062
|
-
|
|
4063
|
-
|
|
4934
|
+
if (this.enableSeparateConnector && !isNewRuleAdded) {
|
|
4935
|
+
var index = 0;
|
|
4936
|
+
var element = void 0;
|
|
4937
|
+
// eslint-disable-next-line no-constant-condition
|
|
4938
|
+
while (true) {
|
|
4939
|
+
var andGroup = groupElem.parentElement.querySelectorAll('.e-btngroup-and');
|
|
4940
|
+
var orGroup = groupElem.parentElement.querySelectorAll('.e-btngroup-or');
|
|
4941
|
+
andElem = andGroup[andGroup.length - (1 + index)];
|
|
4942
|
+
orElem = orGroup[orGroup.length - (1 + index)];
|
|
4943
|
+
element = andGroup[andGroup.length - (1 + index)];
|
|
4944
|
+
if (element && element.parentElement && element.parentElement.style.display === 'none') {
|
|
4945
|
+
index++;
|
|
4946
|
+
}
|
|
4947
|
+
else {
|
|
4948
|
+
break;
|
|
4949
|
+
}
|
|
4950
|
+
}
|
|
4951
|
+
var elem = void 0;
|
|
4952
|
+
var tempElem = groupElem.previousElementSibling;
|
|
4953
|
+
while (tempElem) {
|
|
4954
|
+
if (tempElem.classList.contains('e-group-container')) {
|
|
4955
|
+
tempElem = tempElem.querySelectorAll('.e-rule-container')[tempElem.querySelectorAll('.e-rule-container').length - 1];
|
|
4956
|
+
}
|
|
4957
|
+
if (tempElem.classList.contains('e-rule-container')) {
|
|
4958
|
+
elem = tempElem;
|
|
4959
|
+
break;
|
|
4960
|
+
}
|
|
4961
|
+
tempElem = tempElem.previousElementSibling;
|
|
4962
|
+
}
|
|
4963
|
+
if (isNullOrUndefined(elem) && groupElem.querySelectorAll('.e-rule-container')[groupElem.querySelectorAll('.e-rule-container').length - 1]) {
|
|
4964
|
+
elem = groupElem.querySelectorAll('.e-rule-container')[groupElem.querySelectorAll('.e-rule-container').length - 1];
|
|
4965
|
+
}
|
|
4966
|
+
if (isNewGroup && groupElem.classList.contains('e-group-container')) {
|
|
4967
|
+
elem = groupElem;
|
|
4968
|
+
var prevRule = this.getGroup(elem);
|
|
4969
|
+
if (prevRule.condition === 'or') {
|
|
4970
|
+
orElem.checked = true;
|
|
4971
|
+
}
|
|
4972
|
+
else {
|
|
4973
|
+
andElem.checked = true;
|
|
4974
|
+
}
|
|
4975
|
+
}
|
|
4976
|
+
else if (elem) {
|
|
4977
|
+
var ruleID = elem.id.replace(this.element.id + '_', '');
|
|
4978
|
+
var prevRule = this.getRule(ruleID);
|
|
4979
|
+
if (prevRule.condition === 'or' && orElem) {
|
|
4980
|
+
orElem.checked = true;
|
|
4981
|
+
}
|
|
4982
|
+
else if (andElem) {
|
|
4983
|
+
andElem.checked = true;
|
|
4984
|
+
}
|
|
4985
|
+
}
|
|
4986
|
+
}
|
|
4987
|
+
else if (!isNewRuleAdded) {
|
|
4988
|
+
andElem.checked = false;
|
|
4989
|
+
andElem.disabled = true;
|
|
4990
|
+
orElem.checked = false;
|
|
4991
|
+
orElem.disabled = true;
|
|
4992
|
+
if (rules) {
|
|
4993
|
+
orElem.nextElementSibling.classList.add('e-btn-disable');
|
|
4994
|
+
andElem.nextElementSibling.classList.add('e-btn-disable');
|
|
4995
|
+
}
|
|
4064
4996
|
}
|
|
4065
4997
|
}
|
|
4066
4998
|
}
|
|
@@ -4164,7 +5096,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
4164
5096
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
4165
5097
|
rule.custom = customObj;
|
|
4166
5098
|
}
|
|
4167
|
-
if (rule.rules.length === 0) {
|
|
5099
|
+
if (rule.rules && rule.rules.length === 0) {
|
|
4168
5100
|
rule = {};
|
|
4169
5101
|
}
|
|
4170
5102
|
}
|
|
@@ -4233,7 +5165,12 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
4233
5165
|
var rule = this.getParentGroup(groupElem);
|
|
4234
5166
|
while (ruleElem.previousElementSibling !== null) {
|
|
4235
5167
|
ruleElem = ruleElem.previousElementSibling;
|
|
4236
|
-
|
|
5168
|
+
if (!this.enableSeparateConnector || (this.enableSeparateConnector &&
|
|
5169
|
+
((!this.headerTemplate && !ruleElem.classList.contains('e-btn-group')) ||
|
|
5170
|
+
this.headerTemplate && (ruleElem.classList.contains('e-rule-container') ||
|
|
5171
|
+
ruleElem.classList.contains('e-group-container'))))) {
|
|
5172
|
+
index++;
|
|
5173
|
+
}
|
|
4237
5174
|
}
|
|
4238
5175
|
return rule.rules[index];
|
|
4239
5176
|
};
|
|
@@ -4643,13 +5580,10 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
4643
5580
|
if (value.indexOf(':') > -1 && (value.indexOf('/') < 0 && value.indexOf(',') < 0
|
|
4644
5581
|
&& value.indexOf('-') < 0)) {
|
|
4645
5582
|
currDate = new Date();
|
|
4646
|
-
|
|
4647
|
-
currDate.
|
|
4648
|
-
// eslint-disable-next-line
|
|
4649
|
-
currDate.setMinutes(parseInt(value.split(':')[1]));
|
|
5583
|
+
currDate.setHours(parseInt(value.split(':')[0], 10));
|
|
5584
|
+
currDate.setMinutes(parseInt(value.split(':')[1], 10));
|
|
4650
5585
|
if (value.split(':')[2]) {
|
|
4651
|
-
|
|
4652
|
-
currDate.setSeconds(parseInt(value.split(':')[2]));
|
|
5586
|
+
currDate.setSeconds(parseInt(value.split(':')[2], 10));
|
|
4653
5587
|
}
|
|
4654
5588
|
}
|
|
4655
5589
|
return currDate;
|
|
@@ -4665,17 +5599,43 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
4665
5599
|
parentElem = this.renderGroup(rule, rule.condition, parentElem, not);
|
|
4666
5600
|
}
|
|
4667
5601
|
else {
|
|
4668
|
-
if (rule.rules.length > 1 && !this.headerTemplate) {
|
|
5602
|
+
if (rule.rules && rule.rules.length > 1 && !this.headerTemplate) {
|
|
4669
5603
|
// enable/disable conditions when rule group is added
|
|
4670
5604
|
var orElem = parentElem.querySelector('.e-btngroup-or');
|
|
4671
5605
|
var andElem = parentElem.querySelector('.e-btngroup-and');
|
|
5606
|
+
if (this.enableSeparateConnector && parentElem.previousElementSibling) {
|
|
5607
|
+
orElem = parentElem.previousElementSibling.querySelector('.e-btngroup-or');
|
|
5608
|
+
andElem = parentElem.previousElementSibling.querySelector('.e-btngroup-and');
|
|
5609
|
+
}
|
|
4672
5610
|
orElem.disabled = false;
|
|
4673
5611
|
andElem.disabled = false;
|
|
4674
|
-
if (
|
|
4675
|
-
|
|
5612
|
+
if (this.enableSeparateConnector) {
|
|
5613
|
+
var elem = parentElem.previousElementSibling;
|
|
5614
|
+
while (elem && !elem.classList.contains('e-rule-container')) {
|
|
5615
|
+
if (elem.classList.contains('e-group-container')) {
|
|
5616
|
+
elem = elem.querySelectorAll('.e-rule-container')[elem.querySelectorAll('.e-rule-container').length - 1];
|
|
5617
|
+
break;
|
|
5618
|
+
}
|
|
5619
|
+
elem = elem.previousElementSibling;
|
|
5620
|
+
}
|
|
5621
|
+
if (elem && elem.classList.contains('e-rule-container')) {
|
|
5622
|
+
var ruleID = elem.id.replace(this.element.id + '_', '');
|
|
5623
|
+
var prevRule = this.getRule(ruleID);
|
|
5624
|
+
if (prevRule.condition === 'or') {
|
|
5625
|
+
orElem.checked = true;
|
|
5626
|
+
}
|
|
5627
|
+
else {
|
|
5628
|
+
andElem.checked = true;
|
|
5629
|
+
}
|
|
5630
|
+
}
|
|
4676
5631
|
}
|
|
4677
5632
|
else {
|
|
4678
|
-
|
|
5633
|
+
if (rule.condition === 'or') {
|
|
5634
|
+
orElem.checked = true;
|
|
5635
|
+
}
|
|
5636
|
+
else {
|
|
5637
|
+
andElem.checked = true;
|
|
5638
|
+
}
|
|
4679
5639
|
}
|
|
4680
5640
|
}
|
|
4681
5641
|
else {
|
|
@@ -4695,7 +5655,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
4695
5655
|
}
|
|
4696
5656
|
}
|
|
4697
5657
|
}
|
|
4698
|
-
if (rule.rules.length === 0 && this.headerTemplate) {
|
|
5658
|
+
if (rule.rules && rule.rules.length === 0 && this.headerTemplate) {
|
|
4699
5659
|
rule.rules[0] = { 'label': '', 'field': '', 'operator': '', 'type': '', 'value': '' };
|
|
4700
5660
|
}
|
|
4701
5661
|
var ruleColl = rule.rules;
|
|
@@ -4716,10 +5676,6 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
4716
5676
|
var lockGrpTarget = parentElem.querySelector('.e-rule-list').children[i].querySelector('.e-lock-grp-btn');
|
|
4717
5677
|
this.groupLock(lockGrpTarget);
|
|
4718
5678
|
}
|
|
4719
|
-
if (isNullOrUndefined(ruleColl[i].rules) && ruleColl[i].isLocked) {
|
|
4720
|
-
var lockRuleTarget = parentElem.querySelector('.e-rule-list').children[i].querySelector('.e-lock-rule-btn');
|
|
4721
|
-
this.ruleLock(lockRuleTarget);
|
|
4722
|
-
}
|
|
4723
5679
|
}
|
|
4724
5680
|
}
|
|
4725
5681
|
if (parentElem) {
|
|
@@ -4737,7 +5693,17 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
4737
5693
|
if (this.showButtons.cloneGroup && this.cloneGrpBtnClick && this.isMiddleGroup) {
|
|
4738
5694
|
this.isMiddleGroup = false;
|
|
4739
5695
|
this.cloneGrpBtnClick = false;
|
|
4740
|
-
|
|
5696
|
+
var index = 0;
|
|
5697
|
+
var tempGroupIndex = this.groupIndex + 1;
|
|
5698
|
+
if (this.enableSeparateConnector) {
|
|
5699
|
+
for (var i = 0; i < tempGroupIndex; i++) {
|
|
5700
|
+
if (cloneElem[i].classList.contains('e-rule-container')) {
|
|
5701
|
+
tempGroupIndex++;
|
|
5702
|
+
index++;
|
|
5703
|
+
}
|
|
5704
|
+
}
|
|
5705
|
+
}
|
|
5706
|
+
return cloneElem[this.groupIndex + index + 1]; // group added in the middle
|
|
4741
5707
|
}
|
|
4742
5708
|
else if (this.showButtons.cloneGroup && this.cloneGrpBtnClick && this.isLastGroup) {
|
|
4743
5709
|
this.isLastGroup = false;
|
|
@@ -4864,9 +5830,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
4864
5830
|
}
|
|
4865
5831
|
}
|
|
4866
5832
|
}
|
|
4867
|
-
else if (elem.classList.contains('e-btn-disable'))
|
|
4868
|
-
// do nothing
|
|
4869
|
-
}
|
|
5833
|
+
else if (elem.classList.contains('e-btn-disable')) ;
|
|
4870
5834
|
else {
|
|
4871
5835
|
elem.classList.add('e-readonly');
|
|
4872
5836
|
}
|
|
@@ -4906,6 +5870,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
4906
5870
|
for (var j = 0, jLen = rules.rules.length; j < jLen; j++) {
|
|
4907
5871
|
if (rules.rules[j].rules) {
|
|
4908
5872
|
queryStr = this.getSqlString(rules.rules[j], enableEscape, queryStr, sqlLocale);
|
|
5873
|
+
condition = rules.rules[j].condition;
|
|
4909
5874
|
}
|
|
4910
5875
|
else {
|
|
4911
5876
|
var rule = rules.rules[j];
|
|
@@ -4997,8 +5962,10 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
4997
5962
|
if (condition === '' || (rule && rule.condition !== '' && rule.custom && rule.custom.isCustom)) {
|
|
4998
5963
|
condition = rule.condition;
|
|
4999
5964
|
}
|
|
5000
|
-
|
|
5001
|
-
|
|
5965
|
+
if (condition) {
|
|
5966
|
+
condition = sqlLocale ? this.l10n.getConstant(condition.toUpperCase()).toUpperCase() : condition.toUpperCase();
|
|
5967
|
+
queryStr += ' ' + condition + ' ';
|
|
5968
|
+
}
|
|
5002
5969
|
}
|
|
5003
5970
|
}
|
|
5004
5971
|
}
|
|
@@ -5064,12 +6031,19 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
5064
6031
|
* @returns {ParameterizedSql} – Parameterized SQL query from rules.
|
|
5065
6032
|
*/
|
|
5066
6033
|
QueryBuilder.prototype.getParameterizedSql = function (rule) {
|
|
5067
|
-
|
|
5068
|
-
|
|
6034
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
6035
|
+
if (this.moduleLoader.loadedModules.length) {
|
|
6036
|
+
if (!rule) {
|
|
6037
|
+
rule = this.getValidRules();
|
|
6038
|
+
}
|
|
6039
|
+
var obj = { sql: null };
|
|
6040
|
+
this.notify('query-library', { prop: 'getParameterSql', onPropertyChange: false, value: { rule: rule, obj: obj } });
|
|
6041
|
+
return obj['sql'];
|
|
6042
|
+
}
|
|
6043
|
+
else {
|
|
6044
|
+
console.warn('[WARNING] :: Module "query-library" is not available in QueryBuilder component! You either misspelled the module name or forgot to load it.');
|
|
5069
6045
|
}
|
|
5070
|
-
|
|
5071
|
-
this.notify('query-library', { prop: 'getParameterSql', onPropertyChange: false, value: { rule: rule, obj: obj } });
|
|
5072
|
-
return obj['sql'];
|
|
6046
|
+
return null;
|
|
5073
6047
|
};
|
|
5074
6048
|
/**
|
|
5075
6049
|
* Sets the rules from the parameter sql query.
|
|
@@ -5078,13 +6052,19 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
5078
6052
|
* @returns {void}
|
|
5079
6053
|
*/
|
|
5080
6054
|
QueryBuilder.prototype.setParameterizedSql = function (sqlQuery) {
|
|
5081
|
-
|
|
5082
|
-
this.
|
|
5083
|
-
|
|
5084
|
-
|
|
5085
|
-
sql = sql
|
|
5086
|
-
|
|
5087
|
-
|
|
6055
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
6056
|
+
if (this.moduleLoader.loadedModules.length) {
|
|
6057
|
+
var obj = { sql: null };
|
|
6058
|
+
this.notify('query-library', { prop: 'convertParamSqlToSql', onPropertyChange: false, value: { sql: sqlQuery, obj: obj } });
|
|
6059
|
+
var sql = obj['sql'];
|
|
6060
|
+
if (sql) {
|
|
6061
|
+
sql = sql.replace(/`/g, '');
|
|
6062
|
+
var ruleModel = this.getRulesFromSql(sql);
|
|
6063
|
+
this.setRules({ condition: ruleModel.condition, not: ruleModel.not, rules: ruleModel.rules });
|
|
6064
|
+
}
|
|
6065
|
+
}
|
|
6066
|
+
else {
|
|
6067
|
+
console.warn('[WARNING] :: Module "query-library" is not available in QueryBuilder component! You either misspelled the module name or forgot to load it.');
|
|
5088
6068
|
}
|
|
5089
6069
|
};
|
|
5090
6070
|
/**
|
|
@@ -5094,12 +6074,19 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
5094
6074
|
* @returns {ParameterizedNamedSql} – Parameterized Named SQL query from rules.
|
|
5095
6075
|
*/
|
|
5096
6076
|
QueryBuilder.prototype.getParameterizedNamedSql = function (rule) {
|
|
5097
|
-
|
|
5098
|
-
|
|
6077
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
6078
|
+
if (this.moduleLoader.loadedModules.length) {
|
|
6079
|
+
if (!rule) {
|
|
6080
|
+
rule = this.getValidRules();
|
|
6081
|
+
}
|
|
6082
|
+
var obj = { sql: null };
|
|
6083
|
+
this.notify('query-library', { prop: 'getNamedParameterSql', onPropertyChange: false, value: { rule: rule, obj: obj } });
|
|
6084
|
+
return obj['sql'];
|
|
6085
|
+
}
|
|
6086
|
+
else {
|
|
6087
|
+
console.warn('[WARNING] :: Module "query-library" is not available in QueryBuilder component! You either misspelled the module name or forgot to load it.');
|
|
5099
6088
|
}
|
|
5100
|
-
|
|
5101
|
-
this.notify('query-library', { prop: 'getNamedParameterSql', onPropertyChange: false, value: { rule: rule, obj: obj } });
|
|
5102
|
-
return obj['sql'];
|
|
6089
|
+
return null;
|
|
5103
6090
|
};
|
|
5104
6091
|
/**
|
|
5105
6092
|
* Sets the rules from the named parameter SQL query.
|
|
@@ -5108,13 +6095,19 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
5108
6095
|
* @returns {void}
|
|
5109
6096
|
*/
|
|
5110
6097
|
QueryBuilder.prototype.setParameterizedNamedSql = function (sqlQuery) {
|
|
5111
|
-
|
|
5112
|
-
this.
|
|
5113
|
-
|
|
5114
|
-
|
|
5115
|
-
sql = sql
|
|
5116
|
-
|
|
5117
|
-
|
|
6098
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
6099
|
+
if (this.moduleLoader.loadedModules.length) {
|
|
6100
|
+
var obj = { sql: null };
|
|
6101
|
+
this.notify('query-library', { prop: 'convertNamedParamSqlToSql', onPropertyChange: false, value: { sql: sqlQuery, obj: obj } });
|
|
6102
|
+
var sql = obj['sql'];
|
|
6103
|
+
if (sql) {
|
|
6104
|
+
sql = sql.replace(/`/g, '');
|
|
6105
|
+
var ruleModel = this.getRulesFromSql(sql);
|
|
6106
|
+
this.setRules({ condition: ruleModel.condition, not: ruleModel.not, rules: ruleModel.rules });
|
|
6107
|
+
}
|
|
6108
|
+
}
|
|
6109
|
+
else {
|
|
6110
|
+
console.warn('[WARNING] :: Module "query-library" is not available in QueryBuilder component! You either misspelled the module name or forgot to load it.');
|
|
5118
6111
|
}
|
|
5119
6112
|
};
|
|
5120
6113
|
/**
|
|
@@ -5125,8 +6118,14 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
5125
6118
|
* @returns {void}
|
|
5126
6119
|
*/
|
|
5127
6120
|
QueryBuilder.prototype.setMongoQuery = function (mongoQuery, mongoLocale) {
|
|
5128
|
-
|
|
5129
|
-
this.
|
|
6121
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
6122
|
+
if (this.moduleLoader.loadedModules.length) {
|
|
6123
|
+
this.rule = { condition: 'and', not: false, rules: [] };
|
|
6124
|
+
this.notify('query-library', { prop: 'mongoParser', onPropertyChange: false, value: { mongoQuery: JSON.parse(mongoQuery), rule: this.rule, mongoLocale: mongoLocale } });
|
|
6125
|
+
}
|
|
6126
|
+
else {
|
|
6127
|
+
console.warn('[WARNING] :: Module "query-library" is not available in QueryBuilder component! You either misspelled the module name or forgot to load it.');
|
|
6128
|
+
}
|
|
5130
6129
|
};
|
|
5131
6130
|
/**
|
|
5132
6131
|
* Gets the Mongo query from rules.
|
|
@@ -5135,12 +6134,19 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
5135
6134
|
* @returns {object} - Sql query from rules.
|
|
5136
6135
|
*/
|
|
5137
6136
|
QueryBuilder.prototype.getMongoQuery = function (rule) {
|
|
5138
|
-
|
|
5139
|
-
|
|
6137
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
6138
|
+
if (this.moduleLoader.loadedModules.length) {
|
|
6139
|
+
if (!rule) {
|
|
6140
|
+
rule = this.getValidRules();
|
|
6141
|
+
}
|
|
6142
|
+
var obj = { mongoQuery: null };
|
|
6143
|
+
this.notify('query-library', { prop: 'getMongoFromRules', onPropertyChange: false, value: { rule: rule, mongoQuery: '', obj: obj } });
|
|
6144
|
+
return obj['mongoQuery'];
|
|
6145
|
+
}
|
|
6146
|
+
else {
|
|
6147
|
+
console.warn('[WARNING] :: Module "query-library" is not available in QueryBuilder component! You either misspelled the module name or forgot to load it.');
|
|
5140
6148
|
}
|
|
5141
|
-
|
|
5142
|
-
this.notify('query-library', { prop: 'getMongoFromRules', onPropertyChange: false, value: { rule: rule, mongoQuery: '', obj: obj } });
|
|
5143
|
-
return obj['mongoQuery'];
|
|
6149
|
+
return '';
|
|
5144
6150
|
};
|
|
5145
6151
|
/**
|
|
5146
6152
|
* Clones the rule based on the rule ID to the specific group.
|
|
@@ -5159,7 +6165,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
5159
6165
|
this.showButtons.cloneRule = true;
|
|
5160
6166
|
this.addRules([{
|
|
5161
6167
|
'label': getRule.label, 'field': getRule.field, 'type': getRule.type, 'operator': getRule.operator,
|
|
5162
|
-
'value': getRule.value
|
|
6168
|
+
'value': getRule.value, 'condition': getRule.condition
|
|
5163
6169
|
}], groupID);
|
|
5164
6170
|
this.ruleIndex = -1;
|
|
5165
6171
|
this.cloneRuleBtnClick = false;
|
|
@@ -5248,8 +6254,9 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
5248
6254
|
var matchValue;
|
|
5249
6255
|
for (var i = 0, iLen = operators.length; i < iLen; i++) {
|
|
5250
6256
|
regexStr = /^\w+$/.test(operators[i]) ? '\\b' : '';
|
|
5251
|
-
// eslint-disable-next-line
|
|
5252
|
-
|
|
6257
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
6258
|
+
var regExp = RegExp;
|
|
6259
|
+
regex = new regExp('^(' + operators[i] + ')' + regexStr, 'ig');
|
|
5253
6260
|
if (regex.exec(sqlString)) {
|
|
5254
6261
|
this.parser.push(['Operators', operators[i].toLowerCase()]);
|
|
5255
6262
|
return operators[i].length;
|
|
@@ -5259,8 +6266,9 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
5259
6266
|
if (!lastPasrser || (lastPasrser && lastPasrser[0] !== 'Literal')) {
|
|
5260
6267
|
for (var i = 0, iLen = conditions.length; i < iLen; i++) {
|
|
5261
6268
|
regexStr = /^\w+$/.test(conditions[i]) ? '\\b' : '';
|
|
5262
|
-
// eslint-disable-next-line
|
|
5263
|
-
|
|
6269
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
6270
|
+
var regExp = RegExp;
|
|
6271
|
+
regex = new regExp('^(' + conditions[i] + ')' + regexStr, 'ig');
|
|
5264
6272
|
if (regex.exec(sqlString)) {
|
|
5265
6273
|
this.parser.push(['Conditions', conditions[i].toLowerCase()]);
|
|
5266
6274
|
return conditions[i].length;
|
|
@@ -5269,8 +6277,9 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
5269
6277
|
}
|
|
5270
6278
|
for (var i = 0, iLen = subOp.length; i < iLen; i++) {
|
|
5271
6279
|
regexStr = /^\w+$/.test(subOp[i]) ? '\\b' : '';
|
|
5272
|
-
// eslint-disable-next-line
|
|
5273
|
-
|
|
6280
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
6281
|
+
var regExp = RegExp;
|
|
6282
|
+
regex = new regExp('^(' + subOp[i] + ')' + regexStr, 'ig');
|
|
5274
6283
|
if (regex.exec(sqlString)) {
|
|
5275
6284
|
this.parser.push(['SubOperators', subOp[i].toLowerCase()]);
|
|
5276
6285
|
return subOp[i].length;
|
|
@@ -5298,31 +6307,25 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
5298
6307
|
this.parser.push(['String', null]);
|
|
5299
6308
|
return matchValue.length;
|
|
5300
6309
|
}
|
|
5301
|
-
|
|
5302
|
-
|
|
5303
|
-
// eslint-disable-next-line
|
|
5304
|
-
matchValue = /^`?([a-zåäö_][a-z0-9åäö_.\[\]\(\)]{0,}(\:(number|float|string|date|boolean))?)`?/i.exec(sqlString)[1];
|
|
6310
|
+
if (/^`?([a-z_][a-z0-9_.\\[\]\\(\\)]{0,}(\\:(number|float|string|date|boolean))?)`?/i.exec(sqlString)) {
|
|
6311
|
+
matchValue = /^`?([a-z_][a-z0-9_.\\[\]\\(\\)]{0,}(\\:(number|float|string|date|boolean))?)`?/i.exec(sqlString)[1];
|
|
5305
6312
|
this.parser.push(['Literal', matchValue]);
|
|
5306
6313
|
return matchValue.length;
|
|
5307
6314
|
}
|
|
5308
|
-
|
|
5309
|
-
|
|
5310
|
-
// eslint-disable-next-line
|
|
5311
|
-
matchValue = /^'?([a-z_][a-z0-9 _.\[\]\(\)-]{0,}(\:(number|float|string|date|boolean))?)'?/i.exec(sqlString)[1];
|
|
6315
|
+
if (this.checkLiteral() && /^'?([a-z_][a-z0-9 _.\\[\]\\(\\)-]{0,}(\\:(number|float|string|date|boolean))?)'?/i.exec(sqlString)) {
|
|
6316
|
+
matchValue = /^'?([a-z_][a-z0-9 _.\\[\]\\(\\)-]{0,}(\\:(number|float|string|date|boolean))?)'?/i.exec(sqlString)[1];
|
|
5312
6317
|
this.parser.push(['Literal', matchValue]);
|
|
5313
6318
|
return matchValue.length + 2;
|
|
5314
6319
|
}
|
|
5315
6320
|
if (this.checkNumberLiteral(sqlString, sqlLocale)) {
|
|
5316
|
-
|
|
5317
|
-
matchValue = /^[0-9]+(\.[0-9]+)?/.exec(sqlString)[0];
|
|
6321
|
+
matchValue = /^[0-9]+(\.[0-9]+)$/.exec(sqlString)[0];
|
|
5318
6322
|
this.parser.push(['Literal', matchValue]);
|
|
5319
6323
|
return matchValue.length;
|
|
5320
6324
|
}
|
|
5321
6325
|
//String
|
|
5322
|
-
|
|
5323
|
-
if (
|
|
5324
|
-
|
|
5325
|
-
matchValue = /^'((?:[^\\']+?|\\.|'')*)'(?!')/.exec(sqlString)[0];
|
|
6326
|
+
var singleString = this.getSingleQuoteString(sqlString);
|
|
6327
|
+
if (singleString !== '') {
|
|
6328
|
+
matchValue = singleString;
|
|
5326
6329
|
if (matchValue[matchValue.length - 2] === '(') {
|
|
5327
6330
|
var isClosed = false;
|
|
5328
6331
|
for (var j = matchValue.length; j < sqlString.length; j++) {
|
|
@@ -5337,38 +6340,43 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
5337
6340
|
}
|
|
5338
6341
|
else if (sqlString[matchValue.length] && (sqlString[matchValue.length] !== ')') &&
|
|
5339
6342
|
!this.checkCondition(sqlString, matchValue)) {
|
|
5340
|
-
matchValue = this.
|
|
6343
|
+
matchValue = this.combineSingleQuoteString(sqlString, matchValue);
|
|
5341
6344
|
}
|
|
5342
6345
|
// end
|
|
5343
6346
|
this.parser.push(['String', matchValue]);
|
|
5344
6347
|
return matchValue.length;
|
|
5345
6348
|
}
|
|
5346
6349
|
// Double String
|
|
5347
|
-
|
|
5348
|
-
if (
|
|
5349
|
-
|
|
5350
|
-
matchValue = /^"([^\\"]*(?:\\.[^\\"]*)*)"/.exec(sqlString)[0];
|
|
6350
|
+
var doubleString = this.getDoubleQuoteString(sqlString);
|
|
6351
|
+
if (doubleString !== '') {
|
|
6352
|
+
matchValue = doubleString;
|
|
5351
6353
|
this.parser.push(['DoubleString', matchValue]);
|
|
5352
6354
|
return matchValue.length;
|
|
5353
6355
|
}
|
|
5354
6356
|
//Number
|
|
5355
|
-
|
|
5356
|
-
|
|
5357
|
-
// eslint-disable-next-line
|
|
5358
|
-
matchValue = /^[0-9]+(\.[0-9]+)?/.exec(sqlString)[0];
|
|
6357
|
+
if (/^\d*\.?\d+/.exec(sqlString)) {
|
|
6358
|
+
matchValue = /^\d*\.?\d+/.exec(sqlString)[0];
|
|
5359
6359
|
this.parser.push(['Number', matchValue]);
|
|
5360
6360
|
return matchValue.length;
|
|
5361
6361
|
}
|
|
5362
6362
|
//Negative Number
|
|
5363
|
-
|
|
5364
|
-
|
|
5365
|
-
// eslint-disable-next-line
|
|
5366
|
-
matchValue = /^-?[0-9]+(\.[0-9]+)?/.exec(sqlString)[0];
|
|
6363
|
+
if (/^-?\d*\.?\d+/.exec(sqlString)) {
|
|
6364
|
+
matchValue = /^-?\d*\.?\d+/.exec(sqlString)[0];
|
|
5367
6365
|
this.parser.push(['Number', matchValue]);
|
|
5368
6366
|
return matchValue.length;
|
|
5369
6367
|
}
|
|
5370
6368
|
return 1;
|
|
5371
6369
|
};
|
|
6370
|
+
QueryBuilder.prototype.getDoubleQuoteString = function (sqlString) {
|
|
6371
|
+
var start = sqlString.indexOf('"');
|
|
6372
|
+
if (start === 0) {
|
|
6373
|
+
var end = sqlString.indexOf('"', start + 1);
|
|
6374
|
+
if (end !== -1) {
|
|
6375
|
+
return sqlString.substring(start, end + 1);
|
|
6376
|
+
}
|
|
6377
|
+
}
|
|
6378
|
+
return '';
|
|
6379
|
+
};
|
|
5372
6380
|
QueryBuilder.prototype.checkCondition = function (sqlString, matchValue) {
|
|
5373
6381
|
if (sqlString.slice(matchValue.length + 1, matchValue.length + 4) === 'AND' ||
|
|
5374
6382
|
sqlString.slice(matchValue.length + 1, matchValue.length + 3) === 'OR') {
|
|
@@ -5376,16 +6384,26 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
5376
6384
|
}
|
|
5377
6385
|
return false;
|
|
5378
6386
|
};
|
|
5379
|
-
QueryBuilder.prototype.getSingleQuoteString = function (sqlString,
|
|
6387
|
+
QueryBuilder.prototype.getSingleQuoteString = function (sqlString, isBetween) {
|
|
6388
|
+
var start = sqlString.indexOf('\'');
|
|
6389
|
+
if ((start !== -1 && isBetween) || (start === 0 && !isBetween)) {
|
|
6390
|
+
var end = sqlString.indexOf('\'', start + 1);
|
|
6391
|
+
if (end !== -1) {
|
|
6392
|
+
return sqlString.substring(start, end + 1);
|
|
6393
|
+
}
|
|
6394
|
+
}
|
|
6395
|
+
return '';
|
|
6396
|
+
};
|
|
6397
|
+
QueryBuilder.prototype.combineSingleQuoteString = function (sqlString, matchValue) {
|
|
5380
6398
|
if (sqlString[matchValue.length] && (sqlString[matchValue.length] !== ')') &&
|
|
5381
6399
|
!this.checkCondition(sqlString, matchValue) && sqlString[matchValue.length] !== ',') {
|
|
5382
|
-
var
|
|
5383
|
-
|
|
5384
|
-
|
|
5385
|
-
|
|
5386
|
-
var parsedValue =
|
|
6400
|
+
var tempMatchValue = matchValue.substring(0, matchValue.length - 1);
|
|
6401
|
+
var tempStr = sqlString.replace(tempMatchValue, '');
|
|
6402
|
+
var singleString = this.getSingleQuoteString(tempStr, true);
|
|
6403
|
+
if (singleString !== '') {
|
|
6404
|
+
var parsedValue = singleString.substring(1, singleString.length);
|
|
5387
6405
|
matchValue += parsedValue;
|
|
5388
|
-
matchValue = this.
|
|
6406
|
+
matchValue = this.combineSingleQuoteString(sqlString, matchValue);
|
|
5389
6407
|
}
|
|
5390
6408
|
}
|
|
5391
6409
|
return matchValue;
|
|
@@ -5414,8 +6432,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
5414
6432
|
return true;
|
|
5415
6433
|
}
|
|
5416
6434
|
else {
|
|
5417
|
-
|
|
5418
|
-
if (/^[0-9]+(\.[0-9]+)?/.exec(sqlString)) {
|
|
6435
|
+
if (/^[0-9]+(?:\.[0-9]+)$/.exec(sqlString)) {
|
|
5419
6436
|
var secParser = this.parser[this.parser.length - 2];
|
|
5420
6437
|
var betweenParser = this.parser[this.parser.length - 3];
|
|
5421
6438
|
if (lastParser[0] === 'Left' && (secParser && secParser[0] === 'Conditions')) {
|
|
@@ -5628,16 +6645,17 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
5628
6645
|
strVal = [];
|
|
5629
6646
|
rule.type = this.getTypeFromColumn(rule);
|
|
5630
6647
|
}
|
|
6648
|
+
if (this.enableSeparateConnector && parser[i + 1][0] === 'Conditions') {
|
|
6649
|
+
rule.condition = parser[i + 1][1];
|
|
6650
|
+
}
|
|
5631
6651
|
}
|
|
5632
6652
|
else if (parser[i + 1][0] === 'Operators') {
|
|
5633
6653
|
rule.operator = this.getOperator(parser[i + 2][1], parser[i + 1][1], sqlLocale);
|
|
5634
|
-
if (rule.operator
|
|
5635
|
-
rule.operator =
|
|
5636
|
-
|
|
6654
|
+
if (rule.operator === 'equal' && parser[i + 2][0] === 'String' && parser[i + 2][1] === '\'\'') {
|
|
6655
|
+
rule.operator = 'isempty';
|
|
5637
6656
|
}
|
|
5638
|
-
else if (rule.operator
|
|
5639
|
-
rule.operator =
|
|
5640
|
-
|
|
6657
|
+
else if (rule.operator === 'notequal' && parser[i + 2][0] === 'String' && parser[i + 2][1] === '\'\'') {
|
|
6658
|
+
rule.operator = 'isnotempty';
|
|
5641
6659
|
}
|
|
5642
6660
|
if (parser[i + 2][0] === 'Number') {
|
|
5643
6661
|
rule.type = 'number';
|
|
@@ -5651,6 +6669,9 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
5651
6669
|
}
|
|
5652
6670
|
rule.value = val;
|
|
5653
6671
|
}
|
|
6672
|
+
if (this.enableSeparateConnector && parser[i + 3][0] === 'Conditions') {
|
|
6673
|
+
rule.condition = parser[i + 3][1];
|
|
6674
|
+
}
|
|
5654
6675
|
rule.type = this.getTypeFromColumn(rule);
|
|
5655
6676
|
}
|
|
5656
6677
|
rules.rules.push(rule);
|
|
@@ -5678,7 +6699,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
5678
6699
|
subRules = this.processParser(this.parser, subRules, levelColl, sqlLocale);
|
|
5679
6700
|
return rules;
|
|
5680
6701
|
}
|
|
5681
|
-
else if (parser[i][0] === 'Conditions') {
|
|
6702
|
+
else if (parser[i][0] === 'Conditions' && !this.enableSeparateConnector) {
|
|
5682
6703
|
if (parser[i][1] === 'not' || (sqlLocale && this.l10n.getConstant('NOT').toLowerCase() === parser[i][1])) {
|
|
5683
6704
|
rules.not = true;
|
|
5684
6705
|
}
|
|
@@ -5699,27 +6720,6 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
5699
6720
|
}
|
|
5700
6721
|
return rules;
|
|
5701
6722
|
};
|
|
5702
|
-
QueryBuilder.prototype.getValueFromParser = function (parser, idx) {
|
|
5703
|
-
var value = '';
|
|
5704
|
-
var k;
|
|
5705
|
-
for (k = idx; k < parser.length; k++) {
|
|
5706
|
-
if (parser[k][0] !== 'String' || parser[k][1] === ',' || parser[k][1] === ', ') {
|
|
5707
|
-
break;
|
|
5708
|
-
}
|
|
5709
|
-
else {
|
|
5710
|
-
if (value !== '') {
|
|
5711
|
-
idx += 1;
|
|
5712
|
-
}
|
|
5713
|
-
if (parser[k][1] !== null) {
|
|
5714
|
-
value += parser[k][1];
|
|
5715
|
-
}
|
|
5716
|
-
else {
|
|
5717
|
-
value = null;
|
|
5718
|
-
}
|
|
5719
|
-
}
|
|
5720
|
-
}
|
|
5721
|
-
return { value: value, idx: idx };
|
|
5722
|
-
};
|
|
5723
6723
|
/**
|
|
5724
6724
|
* Clone the Group
|
|
5725
6725
|
*
|
|
@@ -5754,8 +6754,14 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
5754
6754
|
this.ruleIndex = i;
|
|
5755
6755
|
}
|
|
5756
6756
|
}
|
|
5757
|
-
this.
|
|
5758
|
-
|
|
6757
|
+
if (this.enableSeparateConnector) {
|
|
6758
|
+
this.addRules([{ 'label': getRule.label, 'field': getRule.field, 'type': getRule.type, 'operator': getRule.operator,
|
|
6759
|
+
'value': getRule.value, 'condition': getRule.condition }], groupId);
|
|
6760
|
+
}
|
|
6761
|
+
else {
|
|
6762
|
+
this.addRules([{ 'label': getRule.label, 'field': getRule.field, 'type': getRule.type, 'operator': getRule.operator,
|
|
6763
|
+
'value': getRule.value }], groupId);
|
|
6764
|
+
}
|
|
5759
6765
|
this.ruleIndex = -1;
|
|
5760
6766
|
};
|
|
5761
6767
|
QueryBuilder.prototype.ruleLock = function (target) {
|
|
@@ -5856,6 +6862,8 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
5856
6862
|
var lockElem = groupElem.querySelectorAll('.e-lock-grp-btn');
|
|
5857
6863
|
var cloneElem = groupElem.querySelectorAll('.e-clone-grp-btn');
|
|
5858
6864
|
var groupContElem = groupElem.querySelectorAll('.e-group-container');
|
|
6865
|
+
var addCondition = groupElem.querySelectorAll('.e-add-condition-btn');
|
|
6866
|
+
var addGroup = groupElem.querySelectorAll('.e-add-group-btn');
|
|
5859
6867
|
for (var i = 0; i < andElem.length; i++) {
|
|
5860
6868
|
if (isDisabled) {
|
|
5861
6869
|
if (groupContElem[i] && groupContElem[i].classList.contains('e-disable')) {
|
|
@@ -5863,7 +6871,15 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
5863
6871
|
}
|
|
5864
6872
|
andElem[i].disabled = true;
|
|
5865
6873
|
orElem[i].disabled = true;
|
|
5866
|
-
addElem[i]
|
|
6874
|
+
if (addElem[i]) {
|
|
6875
|
+
addElem[i].disabled = true;
|
|
6876
|
+
}
|
|
6877
|
+
if (addCondition[i]) {
|
|
6878
|
+
addCondition[i].disabled = true;
|
|
6879
|
+
}
|
|
6880
|
+
if (addGroup[i]) {
|
|
6881
|
+
addGroup[i].disabled = true;
|
|
6882
|
+
}
|
|
5867
6883
|
if (notElem[i]) {
|
|
5868
6884
|
notElem[i].disabled = true;
|
|
5869
6885
|
}
|
|
@@ -5874,7 +6890,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
5874
6890
|
cloneElem[i].disabled = true;
|
|
5875
6891
|
}
|
|
5876
6892
|
andElem[i].parentElement.classList.add('e-disabled');
|
|
5877
|
-
if (lockElem[i] !== target) {
|
|
6893
|
+
if (lockElem[i] && lockElem[i] !== target) {
|
|
5878
6894
|
lockElem[i].disabled = true;
|
|
5879
6895
|
lockElem[i].children[0].classList.remove('e-unlock');
|
|
5880
6896
|
lockElem[i].children[0].classList.add('e-lock');
|
|
@@ -5886,8 +6902,18 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
5886
6902
|
}
|
|
5887
6903
|
andElem[i].disabled = false;
|
|
5888
6904
|
orElem[i].disabled = false;
|
|
5889
|
-
addElem[i]
|
|
5890
|
-
|
|
6905
|
+
if (addElem[i]) {
|
|
6906
|
+
addElem[i].disabled = false;
|
|
6907
|
+
}
|
|
6908
|
+
if (addCondition[i]) {
|
|
6909
|
+
addCondition[i].disabled = false;
|
|
6910
|
+
}
|
|
6911
|
+
if (addGroup[i]) {
|
|
6912
|
+
addGroup[i].disabled = false;
|
|
6913
|
+
}
|
|
6914
|
+
if (lockElem[i]) {
|
|
6915
|
+
lockElem[i].disabled = false;
|
|
6916
|
+
}
|
|
5891
6917
|
if (notElem[i]) {
|
|
5892
6918
|
notElem[i].disabled = false;
|
|
5893
6919
|
}
|
|
@@ -5898,8 +6924,12 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
5898
6924
|
cloneElem[i].disabled = false;
|
|
5899
6925
|
}
|
|
5900
6926
|
andElem[i].parentElement.classList.remove('e-disabled');
|
|
5901
|
-
lockElem[i]
|
|
5902
|
-
|
|
6927
|
+
if (lockElem[i]) {
|
|
6928
|
+
lockElem[i].children[0].classList.remove('e-lock');
|
|
6929
|
+
}
|
|
6930
|
+
if (lockElem[i]) {
|
|
6931
|
+
lockElem[i].children[0].classList.add('e-unlock');
|
|
6932
|
+
}
|
|
5903
6933
|
}
|
|
5904
6934
|
}
|
|
5905
6935
|
this.disableRuleControls(target, groupElem, isDisabled);
|
|
@@ -6033,6 +7063,15 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
6033
7063
|
__decorate([
|
|
6034
7064
|
Event()
|
|
6035
7065
|
], QueryBuilder.prototype, "ruleChange", void 0);
|
|
7066
|
+
__decorate([
|
|
7067
|
+
Event()
|
|
7068
|
+
], QueryBuilder.prototype, "dragStart", void 0);
|
|
7069
|
+
__decorate([
|
|
7070
|
+
Event()
|
|
7071
|
+
], QueryBuilder.prototype, "drag", void 0);
|
|
7072
|
+
__decorate([
|
|
7073
|
+
Event()
|
|
7074
|
+
], QueryBuilder.prototype, "drop", void 0);
|
|
6036
7075
|
__decorate([
|
|
6037
7076
|
Complex({}, ShowButtons)
|
|
6038
7077
|
], QueryBuilder.prototype, "showButtons", void 0);
|
|
@@ -6108,9 +7147,15 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
6108
7147
|
__decorate([
|
|
6109
7148
|
Property('')
|
|
6110
7149
|
], QueryBuilder.prototype, "separator", void 0);
|
|
7150
|
+
__decorate([
|
|
7151
|
+
Property(false)
|
|
7152
|
+
], QueryBuilder.prototype, "enableSeparateConnector", void 0);
|
|
6111
7153
|
__decorate([
|
|
6112
7154
|
Complex({ condition: 'and', rules: [] }, Rule)
|
|
6113
7155
|
], QueryBuilder.prototype, "rule", void 0);
|
|
7156
|
+
__decorate([
|
|
7157
|
+
Property(false)
|
|
7158
|
+
], QueryBuilder.prototype, "allowDragAndDrop", void 0);
|
|
6114
7159
|
QueryBuilder = __decorate([
|
|
6115
7160
|
NotifyPropertyChanges
|
|
6116
7161
|
], QueryBuilder);
|
|
@@ -6418,13 +7463,13 @@ var QueryLibrary = /** @__PURE__ @class */ (function () {
|
|
|
6418
7463
|
}
|
|
6419
7464
|
else if (condition === '$or') {
|
|
6420
7465
|
var notBetween = void 0;
|
|
6421
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
7466
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
6422
7467
|
var innerObject = [];
|
|
6423
7468
|
var keys = [];
|
|
6424
7469
|
var firstKey = [];
|
|
6425
7470
|
var secondKey = [];
|
|
6426
7471
|
var innerKeys = [];
|
|
6427
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
7472
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
6428
7473
|
var firstValue = [];
|
|
6429
7474
|
var secondValue = [];
|
|
6430
7475
|
var innerFirstValue = [];
|
|
@@ -6805,13 +7850,5 @@ var QueryLibrary = /** @__PURE__ @class */ (function () {
|
|
|
6805
7850
|
return QueryLibrary;
|
|
6806
7851
|
}());
|
|
6807
7852
|
|
|
6808
|
-
|
|
6809
|
-
* QueryBuilder modules
|
|
6810
|
-
*/
|
|
6811
|
-
|
|
6812
|
-
/**
|
|
6813
|
-
* QueryBuilder all modules
|
|
6814
|
-
*/
|
|
6815
|
-
|
|
6816
|
-
export { Columns, Rule, Value, ShowButtons, QueryBuilder, QueryLibrary };
|
|
7853
|
+
export { Columns, QueryBuilder, QueryLibrary, Rule, ShowButtons, Value };
|
|
6817
7854
|
//# sourceMappingURL=ej2-querybuilder.es5.js.map
|