@syncfusion/ej2-querybuilder 25.2.7 → 26.1.38
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 +1334 -290
- package/dist/es6/ej2-querybuilder.es2015.js.map +1 -1
- package/dist/es6/ej2-querybuilder.es5.js +1327 -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 +1319 -262
- package/src/query-builder/query-library.js +2 -2
- package/styles/bootstrap-dark.css +195 -21
- package/styles/bootstrap-dark.scss +15 -1
- package/styles/bootstrap.css +195 -21
- package/styles/bootstrap.scss +15 -1
- package/styles/bootstrap4.css +199 -22
- package/styles/bootstrap4.scss +15 -1
- package/styles/bootstrap5-dark.css +199 -30
- package/styles/bootstrap5-dark.scss +15 -1
- package/styles/bootstrap5.css +199 -30
- package/styles/bootstrap5.scss +15 -1
- package/styles/fabric-dark.css +193 -20
- package/styles/fabric-dark.scss +15 -1
- package/styles/fabric.css +193 -20
- package/styles/fabric.scss +15 -1
- package/styles/fluent-dark.css +197 -28
- package/styles/fluent-dark.scss +15 -1
- package/styles/fluent.css +197 -28
- package/styles/fluent.scss +15 -1
- package/styles/fluent2.css +2052 -0
- package/styles/fluent2.scss +15 -0
- package/styles/highcontrast-light.css +196 -20
- package/styles/highcontrast-light.scss +15 -1
- package/styles/highcontrast.css +196 -20
- package/styles/highcontrast.scss +15 -1
- package/styles/material-dark.css +206 -24
- package/styles/material-dark.scss +15 -1
- package/styles/material.css +208 -24
- package/styles/material.scss +15 -1
- package/styles/material3-dark.css +213 -26
- package/styles/material3-dark.scss +15 -1
- package/styles/material3.css +213 -26
- package/styles/material3.scss +15 -1
- package/styles/query-builder/_bds-definition.scss +8 -1
- package/styles/query-builder/_bootstrap-dark-definition.scss +8 -0
- package/styles/query-builder/_bootstrap-definition.scss +8 -0
- package/styles/query-builder/_bootstrap4-definition.scss +8 -0
- package/styles/query-builder/_bootstrap5-definition.scss +8 -1
- package/styles/query-builder/_bootstrap5.3-definition.scss +115 -0
- package/styles/query-builder/_fabric-dark-definition.scss +8 -0
- package/styles/query-builder/_fabric-definition.scss +8 -0
- package/styles/query-builder/_fluent-definition.scss +8 -1
- package/styles/query-builder/_fluent2-definition.scss +114 -0
- package/styles/query-builder/_fusionnew-definition.scss +8 -1
- package/styles/query-builder/_highcontrast-definition.scss +8 -0
- package/styles/query-builder/_highcontrast-light-definition.scss +8 -0
- package/styles/query-builder/_layout.scss +273 -12
- package/styles/query-builder/_material-dark-definition.scss +8 -0
- package/styles/query-builder/_material-definition.scss +8 -0
- package/styles/query-builder/_material3-definition.scss +8 -1
- package/styles/query-builder/_tailwind-definition.scss +8 -1
- package/styles/query-builder/_theme.scss +34 -22
- package/styles/query-builder/bootstrap-dark.css +195 -21
- package/styles/query-builder/bootstrap.css +195 -21
- package/styles/query-builder/bootstrap4.css +199 -22
- package/styles/query-builder/bootstrap5-dark.css +199 -30
- package/styles/query-builder/bootstrap5.css +199 -30
- package/styles/query-builder/fabric-dark.css +193 -20
- package/styles/query-builder/fabric.css +193 -20
- package/styles/query-builder/fluent-dark.css +197 -28
- package/styles/query-builder/fluent.css +197 -28
- package/styles/query-builder/fluent2.css +2052 -0
- package/styles/query-builder/fluent2.scss +15 -0
- package/styles/query-builder/highcontrast-light.css +196 -20
- package/styles/query-builder/highcontrast.css +196 -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 +206 -24
- package/styles/query-builder/material.css +208 -24
- package/styles/query-builder/material3-dark.css +213 -26
- package/styles/query-builder/material3.css +213 -26
- package/styles/query-builder/tailwind-dark.css +206 -24
- package/styles/query-builder/tailwind.css +206 -24
- package/styles/tailwind-dark.css +206 -24
- package/styles/tailwind-dark.scss +15 -1
- package/styles/tailwind.css +206 -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,20 +1156,68 @@ 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++) {
|
|
844
1208
|
if (columns[parseInt(i.toString(), 10)].type === 'object') {
|
|
1209
|
+
if (this.isAngular && columns[parseInt(i.toString(), 10)].template) {
|
|
1210
|
+
delete columns[parseInt(i.toString(), 10)].template;
|
|
1211
|
+
}
|
|
845
1212
|
columns[parseInt(i.toString(), 10)].selectable = false;
|
|
846
1213
|
this.updateDropdowntreeDS(columns[parseInt(i.toString(), 10)].columns);
|
|
847
1214
|
}
|
|
1215
|
+
else if (this.isAngular && columns[parseInt(i.toString(), 10)].template) {
|
|
1216
|
+
delete columns[parseInt(i.toString(), 10)].template;
|
|
1217
|
+
}
|
|
848
1218
|
}
|
|
849
1219
|
};
|
|
850
|
-
QueryBuilder.prototype.updateAddedRule = function (target, rule, newRule, isRuleTemplate, pId) {
|
|
1220
|
+
QueryBuilder.prototype.updateAddedRule = function (target, rule, newRule, isRuleTemplate, pId, isNewRuleAdded) {
|
|
851
1221
|
var ruleElem;
|
|
852
1222
|
var index = 0;
|
|
853
1223
|
var groupElem;
|
|
@@ -858,7 +1228,12 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
858
1228
|
rules = this.getParentGroup(groupElem);
|
|
859
1229
|
while (ruleElem && ruleElem.previousElementSibling !== null) {
|
|
860
1230
|
ruleElem = ruleElem.previousElementSibling;
|
|
861
|
-
|
|
1231
|
+
var enableSeparateCondition = this.enableSeparateConnector && ((!this.headerTemplate && !ruleElem.classList.contains('e-btn-group')) ||
|
|
1232
|
+
(this.headerTemplate && (ruleElem.classList.contains('e-rule-container') ||
|
|
1233
|
+
ruleElem.classList.contains('e-group-container'))));
|
|
1234
|
+
if (!this.enableSeparateConnector || enableSeparateCondition) {
|
|
1235
|
+
index++;
|
|
1236
|
+
}
|
|
862
1237
|
}
|
|
863
1238
|
rules.rules[index] = rule;
|
|
864
1239
|
}
|
|
@@ -876,6 +1251,9 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
876
1251
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
877
1252
|
rules.rules[rules.rules.length - 1].custom = custom;
|
|
878
1253
|
}
|
|
1254
|
+
if (this.enableSeparateConnector) {
|
|
1255
|
+
rules.rules[rules.rules.length - 1].condition = rule.condition ? rule.condition : newRule.condition;
|
|
1256
|
+
}
|
|
879
1257
|
}
|
|
880
1258
|
else {
|
|
881
1259
|
rules.rules.splice(this.ruleIndex + 1, 0, {
|
|
@@ -885,6 +1263,9 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
885
1263
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
886
1264
|
rules.rules[this.ruleIndex + 1].custom = custom;
|
|
887
1265
|
}
|
|
1266
|
+
if (this.enableSeparateConnector) {
|
|
1267
|
+
rules.rules[this.ruleIndex + 1].condition = rule.condition ? rule.condition : newRule.condition;
|
|
1268
|
+
}
|
|
888
1269
|
}
|
|
889
1270
|
}
|
|
890
1271
|
else {
|
|
@@ -898,7 +1279,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
898
1279
|
rules.rules.push(newRule);
|
|
899
1280
|
}
|
|
900
1281
|
}
|
|
901
|
-
this.disableRuleCondition(target, rules);
|
|
1282
|
+
this.disableRuleCondition(target, rules, isNewRuleAdded);
|
|
902
1283
|
};
|
|
903
1284
|
QueryBuilder.prototype.changeRuleTemplate = function (column, element) {
|
|
904
1285
|
var operVal = this.selectedColumn.operators;
|
|
@@ -976,7 +1357,11 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
976
1357
|
if (validateRule && validateRule.isRequired) {
|
|
977
1358
|
while (indexElem && indexElem.previousElementSibling !== null) {
|
|
978
1359
|
indexElem = indexElem.previousElementSibling;
|
|
979
|
-
|
|
1360
|
+
var separateCondition = this.enableSeparateConnector && ((!this.headerTemplate && !indexElem.classList.contains('e-btn-group')) ||
|
|
1361
|
+
(this.headerTemplate && (indexElem.classList.contains('e-rule-container') || indexElem.classList.contains('e-group-container'))));
|
|
1362
|
+
if (!this.enableSeparateConnector || separateCondition) {
|
|
1363
|
+
index++;
|
|
1364
|
+
}
|
|
980
1365
|
}
|
|
981
1366
|
fieldElem = tempElem.querySelector('.e-rule-operator .e-control');
|
|
982
1367
|
if (!rule.rules[index].operator) {
|
|
@@ -1053,9 +1438,10 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
1053
1438
|
obj.level = this.levelColl[obj.groupElement.id].slice();
|
|
1054
1439
|
return obj;
|
|
1055
1440
|
};
|
|
1056
|
-
QueryBuilder.prototype.groupTemplate = function () {
|
|
1441
|
+
QueryBuilder.prototype.groupTemplate = function (isConnector) {
|
|
1057
1442
|
var glueElem;
|
|
1058
1443
|
var inputElem;
|
|
1444
|
+
var dragClsName;
|
|
1059
1445
|
var labelElem;
|
|
1060
1446
|
var grpActElem;
|
|
1061
1447
|
var groupBtn;
|
|
@@ -1068,9 +1454,27 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
1068
1454
|
groupElem.appendChild(grpBodyElem);
|
|
1069
1455
|
// create button group in OR and AND process
|
|
1070
1456
|
if (!this.headerTemplate) {
|
|
1071
|
-
|
|
1457
|
+
if (this.allowDragAndDrop) {
|
|
1458
|
+
dragClsName = 'e-icons e-drag-qb-rule';
|
|
1459
|
+
}
|
|
1460
|
+
else {
|
|
1461
|
+
dragClsName = 'e-icons e-drag-qb-rule e-hidden';
|
|
1462
|
+
}
|
|
1463
|
+
var spanDragElement = this.createElement('span', { attrs: { class: dragClsName, 'aria-lable': 'drag handle',
|
|
1464
|
+
title: 'drag handle' } });
|
|
1465
|
+
groupHdrElem.appendChild(spanDragElement);
|
|
1466
|
+
var className = this.enableSeparateConnector && !isConnector ? 'e-lib e-btn-group e-qb-toggle-btn' : 'e-lib e-btn-group';
|
|
1467
|
+
glueElem = this.createElement('div', { attrs: { class: className, role: 'group' } });
|
|
1468
|
+
if (this.enableSeparateConnector) {
|
|
1469
|
+
glueElem.classList.add('e-multi-connector');
|
|
1470
|
+
}
|
|
1072
1471
|
if (this.enableNotCondition) {
|
|
1073
|
-
|
|
1472
|
+
if (this.enableSeparateConnector) {
|
|
1473
|
+
inputElem = this.createElement('input', { attrs: { type: 'checkbox', class: 'e-qb-toggle' } });
|
|
1474
|
+
}
|
|
1475
|
+
else {
|
|
1476
|
+
inputElem = this.createElement('button', { attrs: { type: 'button', class: 'e-qb-toggle' } });
|
|
1477
|
+
}
|
|
1074
1478
|
glueElem.appendChild(inputElem);
|
|
1075
1479
|
}
|
|
1076
1480
|
inputElem = this.createElement('input', { attrs: { type: 'radio', class: 'e-btngroup-and', value: 'AND' } });
|
|
@@ -1085,8 +1489,16 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
1085
1489
|
glueElem.appendChild(labelElem);
|
|
1086
1490
|
groupHdrElem.appendChild(glueElem);
|
|
1087
1491
|
grpActElem = this.createElement('div', { attrs: { class: 'e-group-action' } });
|
|
1088
|
-
|
|
1089
|
-
|
|
1492
|
+
if (this.enableSeparateConnector) {
|
|
1493
|
+
groupBtn = this.createElement('button', { attrs: { type: 'button', class: 'e-add-condition-btn' } });
|
|
1494
|
+
grpActElem.appendChild(groupBtn);
|
|
1495
|
+
groupBtn = this.createElement('button', { attrs: { type: 'button', class: 'e-add-group-btn' } });
|
|
1496
|
+
grpActElem.appendChild(groupBtn);
|
|
1497
|
+
}
|
|
1498
|
+
else {
|
|
1499
|
+
groupBtn = this.createElement('button', { attrs: { type: 'button', class: 'e-add-btn' } });
|
|
1500
|
+
grpActElem.appendChild(groupBtn);
|
|
1501
|
+
}
|
|
1090
1502
|
groupHdrElem.appendChild(grpActElem);
|
|
1091
1503
|
}
|
|
1092
1504
|
return groupElem;
|
|
@@ -1096,9 +1508,19 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
1096
1508
|
var clsName;
|
|
1097
1509
|
var cloneClsName;
|
|
1098
1510
|
var lockClsName;
|
|
1511
|
+
var dragClsName;
|
|
1099
1512
|
var ruleElem = this.createElement('div');
|
|
1100
1513
|
var fieldElem = this.createElement('div', { attrs: { class: 'e-rule-field' } });
|
|
1101
1514
|
tempElem = this.createElement('div', { attrs: { class: 'e-rule-filter' } });
|
|
1515
|
+
if (this.allowDragAndDrop) {
|
|
1516
|
+
dragClsName = 'e-icons e-drag-qb-rule';
|
|
1517
|
+
}
|
|
1518
|
+
else {
|
|
1519
|
+
dragClsName = 'e-icons e-drag-qb-rule e-hidden';
|
|
1520
|
+
}
|
|
1521
|
+
var spanDragElement = this.createElement('span', { attrs: { class: dragClsName, 'aria-lable': 'drag handle',
|
|
1522
|
+
title: 'drag handle' } });
|
|
1523
|
+
fieldElem.appendChild(spanDragElement);
|
|
1102
1524
|
var filterElem = this.createElement('input', { attrs: { type: 'text', class: 'e-filter-input' } });
|
|
1103
1525
|
tempElem.appendChild(filterElem);
|
|
1104
1526
|
fieldElem.appendChild(tempElem);
|
|
@@ -1142,7 +1564,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
1142
1564
|
QueryBuilder.prototype.addGroupElement = function (isGroup, target, condition, isBtnClick, not, isRoot, rule) {
|
|
1143
1565
|
var _this = this;
|
|
1144
1566
|
var args = { groupID: target.id.replace(this.element.id + '_', ''), cancel: false, type: 'insertGroup' };
|
|
1145
|
-
if (!this.isImportRules && !this.isInitialLoad) {
|
|
1567
|
+
if (!this.isImportRules && !this.isInitialLoad && !this.prvtEvtTgrDaD) {
|
|
1146
1568
|
this.trigger('beforeChange', args, function (observedChangeArgs) {
|
|
1147
1569
|
_this.addGroupSuccess(observedChangeArgs, isGroup, target, condition, isBtnClick, not, isRoot, rule);
|
|
1148
1570
|
});
|
|
@@ -1153,6 +1575,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
1153
1575
|
}
|
|
1154
1576
|
};
|
|
1155
1577
|
QueryBuilder.prototype.addGroupSuccess = function (args, isGroup, eventTarget, condition, isBtnClick, not, isRoot, rule) {
|
|
1578
|
+
var _this = this;
|
|
1156
1579
|
if (!args.cancel && (this.element.querySelectorAll('.e-group-container').length <= this.maxGroupCount)) {
|
|
1157
1580
|
var target = eventTarget;
|
|
1158
1581
|
var dltGroupBtn = void 0;
|
|
@@ -1163,8 +1586,17 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
1163
1586
|
else {
|
|
1164
1587
|
groupID = target.id;
|
|
1165
1588
|
}
|
|
1589
|
+
if (this.enableSeparateConnector) {
|
|
1590
|
+
this.groupElem = this.groupTemplate();
|
|
1591
|
+
}
|
|
1166
1592
|
var groupElem = this.groupElem.cloneNode(true);
|
|
1167
1593
|
groupElem.setAttribute('id', this.element.id + '_group' + this.groupIdCounter);
|
|
1594
|
+
if (this.groupIdCounter === 0 && this.allowDragAndDrop && groupElem.querySelector('.e-drag-qb-rule')) {
|
|
1595
|
+
if (groupElem && groupElem.children[0]) {
|
|
1596
|
+
groupElem.children[0].classList.add('e-parent-header');
|
|
1597
|
+
}
|
|
1598
|
+
addClass([groupElem.querySelector('.e-drag-qb-rule')], 'e-hidden');
|
|
1599
|
+
}
|
|
1168
1600
|
if (this.headerTemplate) {
|
|
1169
1601
|
if (isRoot) {
|
|
1170
1602
|
isGroup = false;
|
|
@@ -1217,7 +1649,25 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
1217
1649
|
this.isLastGroup = true;
|
|
1218
1650
|
}
|
|
1219
1651
|
else {
|
|
1220
|
-
|
|
1652
|
+
if (this.enableSeparateConnector) {
|
|
1653
|
+
var index = 0;
|
|
1654
|
+
var tempGroupIndex = this.groupIndex + 1;
|
|
1655
|
+
for (var i = 0; i < tempGroupIndex; i++) {
|
|
1656
|
+
if (childElems[i].classList.contains('e-rule-container')) {
|
|
1657
|
+
tempGroupIndex++;
|
|
1658
|
+
index++;
|
|
1659
|
+
}
|
|
1660
|
+
}
|
|
1661
|
+
if (index > 0) {
|
|
1662
|
+
index--;
|
|
1663
|
+
}
|
|
1664
|
+
var idx = this.groupIndex + index + 1;
|
|
1665
|
+
childElems[idx].parentNode.insertBefore(groupElem, childElems[idx]);
|
|
1666
|
+
}
|
|
1667
|
+
else {
|
|
1668
|
+
var idx = this.groupIndex + 1;
|
|
1669
|
+
childElems[idx].parentNode.insertBefore(groupElem, childElems[idx]);
|
|
1670
|
+
}
|
|
1221
1671
|
this.isMiddleGroup = true;
|
|
1222
1672
|
}
|
|
1223
1673
|
}
|
|
@@ -1283,7 +1733,14 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
1283
1733
|
if (this.enableNotCondition) {
|
|
1284
1734
|
if (!this.headerTemplate) {
|
|
1285
1735
|
var notElem = groupElem.querySelector('.e-qb-toggle');
|
|
1286
|
-
|
|
1736
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
1737
|
+
var tglBtn = void 0;
|
|
1738
|
+
if (this.enableSeparateConnector) {
|
|
1739
|
+
tglBtn = new CheckBox({ label: this.l10n.getConstant('NOT'), cssClass: 'e-qb-toggle' });
|
|
1740
|
+
}
|
|
1741
|
+
else {
|
|
1742
|
+
tglBtn = new Button({ content: this.l10n.getConstant('NOT'), cssClass: 'e-btn e-small' });
|
|
1743
|
+
}
|
|
1287
1744
|
tglBtn.appendTo(notElem);
|
|
1288
1745
|
groupElem.querySelector('.e-btngroup-and-lbl').classList.add('e-not');
|
|
1289
1746
|
if (this.updatedRule && this.updatedRule.not) {
|
|
@@ -1291,67 +1748,218 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
1291
1748
|
}
|
|
1292
1749
|
}
|
|
1293
1750
|
}
|
|
1751
|
+
if (this.enableSeparateConnector && !this.headerTemplate) {
|
|
1752
|
+
var andElem = groupElem.querySelector('.e-btngroup-and');
|
|
1753
|
+
var orElem = groupElem.querySelector('.e-btngroup-or');
|
|
1754
|
+
var btnGroup = groupElem.querySelector('.e-btn-group');
|
|
1755
|
+
for (var i = 0; i < btnGroup.childNodes.length; i++) {
|
|
1756
|
+
if (groupElem.querySelector('.e-btn-group').childNodes[i].textContent.toLowerCase() === 'not') {
|
|
1757
|
+
if (!this.enableNotCondition) {
|
|
1758
|
+
btnGroup.childNodes[i].style.display = 'none';
|
|
1759
|
+
}
|
|
1760
|
+
else {
|
|
1761
|
+
btnGroup.childNodes[i].classList.add('e-multiconnector');
|
|
1762
|
+
}
|
|
1763
|
+
}
|
|
1764
|
+
else {
|
|
1765
|
+
btnGroup.childNodes[i].style.display = 'none';
|
|
1766
|
+
}
|
|
1767
|
+
}
|
|
1768
|
+
var prevSibling = groupElem.previousElementSibling;
|
|
1769
|
+
if (prevSibling) {
|
|
1770
|
+
if (isNullOrUndefined(this.headerTemplate)) {
|
|
1771
|
+
groupElem.parentElement.insertBefore(this.groupTemplate(true).querySelector('.e-btn-group'), groupElem);
|
|
1772
|
+
var notElem = groupElem.previousElementSibling.childNodes[0];
|
|
1773
|
+
if (notElem.classList.contains('e-qb-toggle')) {
|
|
1774
|
+
notElem.style.display = 'none';
|
|
1775
|
+
}
|
|
1776
|
+
}
|
|
1777
|
+
if (!this.isImportRules) {
|
|
1778
|
+
var groupElement = groupElem.previousElementSibling;
|
|
1779
|
+
var newAndElem = groupElement.querySelector('.e-btngroup-and');
|
|
1780
|
+
var newOrElem = groupElement.querySelector('.e-btngroup-or');
|
|
1781
|
+
if (!andElem.checked && !orElem.checked) {
|
|
1782
|
+
var nextSibling = groupElem.nextElementSibling;
|
|
1783
|
+
if (nextSibling && nextSibling.classList.contains('e-btn-group')) {
|
|
1784
|
+
andElem = nextSibling.querySelector('.e-btngroup-and');
|
|
1785
|
+
orElem = nextSibling.querySelector('.e-btngroup-or');
|
|
1786
|
+
newAndElem.checked = andElem.checked;
|
|
1787
|
+
newOrElem.checked = orElem.checked;
|
|
1788
|
+
}
|
|
1789
|
+
}
|
|
1790
|
+
else if (this.enableSeparateConnector) {
|
|
1791
|
+
if (andElem.checked) {
|
|
1792
|
+
newAndElem.checked = true;
|
|
1793
|
+
}
|
|
1794
|
+
if (orElem.checked) {
|
|
1795
|
+
newOrElem.checked = true;
|
|
1796
|
+
}
|
|
1797
|
+
}
|
|
1798
|
+
}
|
|
1799
|
+
}
|
|
1800
|
+
}
|
|
1294
1801
|
this.updatedRule = null;
|
|
1295
1802
|
if (this.headerTemplate) {
|
|
1296
|
-
var
|
|
1803
|
+
var args_4 = { requestType: 'header-template-create', ruleID: groupElem.id, condition: condition,
|
|
1297
1804
|
notCondition: this.enableNotCondition ? not : undefined };
|
|
1298
|
-
this.trigger('actionBegin',
|
|
1805
|
+
this.trigger('actionBegin', args_4);
|
|
1299
1806
|
}
|
|
1300
1807
|
else {
|
|
1301
|
-
|
|
1302
|
-
|
|
1303
|
-
|
|
1304
|
-
|
|
1305
|
-
|
|
1306
|
-
|
|
1307
|
-
|
|
1308
|
-
|
|
1309
|
-
|
|
1310
|
-
|
|
1808
|
+
if (this.enableSeparateConnector) {
|
|
1809
|
+
var conditionBtn_1 = groupElem.querySelector('.e-add-condition-btn');
|
|
1810
|
+
var btnObj = new Button({ cssClass: this.element.id + '_addConditionbtn', content: this.l10n.getConstant('AddCondition') });
|
|
1811
|
+
btnObj.appendTo(conditionBtn_1);
|
|
1812
|
+
btnObj.element.onclick = function () {
|
|
1813
|
+
_this.addRuleElement(closest(conditionBtn_1, '.e-group-container'), {});
|
|
1814
|
+
};
|
|
1815
|
+
var groupBtn_1 = groupElem.querySelector('.e-add-group-btn');
|
|
1816
|
+
btnObj = new Button({ cssClass: this.element.id + '_addGroupbtn', content: this.l10n.getConstant('AddGroup') });
|
|
1817
|
+
btnObj.appendTo(groupBtn_1);
|
|
1818
|
+
btnObj.element.onclick = function () {
|
|
1819
|
+
_this.addGroupElement(true, closest(groupBtn_1, '.e-group-container'), '', true);
|
|
1820
|
+
};
|
|
1821
|
+
}
|
|
1822
|
+
else {
|
|
1823
|
+
var groupBtn = groupElem.querySelector('.e-add-btn');
|
|
1824
|
+
var btnObj = new DropDownButton({
|
|
1825
|
+
items: this.items,
|
|
1826
|
+
cssClass: 'e-round e-small e-caret-hide e-addrulegroup',
|
|
1827
|
+
iconCss: 'e-icons e-add-icon',
|
|
1828
|
+
beforeOpen: this.selectBtn.bind(this, groupBtn),
|
|
1829
|
+
select: this.selectBtn.bind(this, groupBtn)
|
|
1830
|
+
});
|
|
1831
|
+
btnObj.appendTo(groupBtn);
|
|
1832
|
+
groupBtn.setAttribute('title', this.l10n.getConstant('AddButton'));
|
|
1833
|
+
}
|
|
1311
1834
|
}
|
|
1312
|
-
if (!this.isImportRules) {
|
|
1835
|
+
if (!this.isImportRules && !this.prvtEvtTgrDaD) {
|
|
1313
1836
|
var grpId = target.id.replace(this.element.id + '_', '');
|
|
1314
1837
|
var chgrpId = groupElem.id.replace(this.element.id + '_', '');
|
|
1315
1838
|
this.trigger('change', { groupID: grpId, type: 'insertGroup', childGroupID: chgrpId });
|
|
1316
1839
|
}
|
|
1317
1840
|
}
|
|
1318
1841
|
};
|
|
1319
|
-
QueryBuilder.prototype.
|
|
1842
|
+
QueryBuilder.prototype.setMultiConnector = function (trgt) {
|
|
1843
|
+
if (this.enableSeparateConnector && !this.headerTemplate) {
|
|
1844
|
+
if (trgt.previousElementSibling && this.groupElem.querySelector('.e-btn-group')) {
|
|
1845
|
+
trgt.parentElement.insertBefore(this.groupTemplate(true).querySelector('.e-btn-group'), trgt);
|
|
1846
|
+
var notElem = trgt.previousElementSibling.childNodes[0];
|
|
1847
|
+
if (notElem.classList.contains('e-qb-toggle')) {
|
|
1848
|
+
notElem.style.display = 'none';
|
|
1849
|
+
}
|
|
1850
|
+
this.addHeaderDiv(trgt);
|
|
1851
|
+
}
|
|
1852
|
+
}
|
|
1853
|
+
};
|
|
1854
|
+
QueryBuilder.prototype.addHeaderDiv = function (elem) {
|
|
1855
|
+
var prevRule;
|
|
1856
|
+
var prevElem = elem.previousElementSibling.previousElementSibling;
|
|
1857
|
+
if (prevElem) {
|
|
1858
|
+
if (prevElem.id.indexOf('rule') > -1) {
|
|
1859
|
+
prevRule = this.getRule(prevElem);
|
|
1860
|
+
}
|
|
1861
|
+
else {
|
|
1862
|
+
prevRule = this.getGroup(prevElem);
|
|
1863
|
+
}
|
|
1864
|
+
if (isNullOrUndefined(prevRule.condition)) {
|
|
1865
|
+
prevRule.condition = 'and';
|
|
1866
|
+
}
|
|
1867
|
+
var orElem = elem.previousElementSibling.querySelector('.e-btngroup-or');
|
|
1868
|
+
var andElem = elem.previousElementSibling.querySelector('.e-btngroup-and');
|
|
1869
|
+
orElem.disabled = false;
|
|
1870
|
+
andElem.disabled = false;
|
|
1871
|
+
if (prevRule.condition === 'or') {
|
|
1872
|
+
orElem.checked = true;
|
|
1873
|
+
}
|
|
1874
|
+
else {
|
|
1875
|
+
andElem.checked = true;
|
|
1876
|
+
}
|
|
1877
|
+
}
|
|
1878
|
+
};
|
|
1879
|
+
QueryBuilder.prototype.headerTemplateFn = function (groupElem, not, condition, rule, groupID, isInitialRule) {
|
|
1320
1880
|
var template;
|
|
1321
1881
|
var templateID = this.element.id + '_header';
|
|
1322
1882
|
var args;
|
|
1323
1883
|
var groupHdr = groupElem.querySelector('.e-group-header');
|
|
1884
|
+
if (this.enableSeparateConnector && groupElem.id.indexOf('rule') !== -1) {
|
|
1885
|
+
groupHdr = groupElem;
|
|
1886
|
+
}
|
|
1324
1887
|
if (this.headerTemplate) {
|
|
1325
1888
|
args = { requestType: 'header-template-initialize', ruleID: groupElem.id,
|
|
1326
1889
|
notCondition: this.enableNotCondition ? not : undefined,
|
|
1327
1890
|
condition: condition, rule: this.getRuleCollection(rule, true), groupID: groupID };
|
|
1328
1891
|
this.trigger('actionBegin', args);
|
|
1892
|
+
if (this.enableSeparateConnector && groupElem.id.indexOf('rule') !== -1) {
|
|
1893
|
+
args.requestType = 'rule-template-create';
|
|
1894
|
+
}
|
|
1329
1895
|
this.headerFn = this.templateParser(this.headerTemplate);
|
|
1330
1896
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
1331
1897
|
if (this.isReact) {
|
|
1332
1898
|
template = this.headerFn(args, this, groupElem.id, templateID)[0];
|
|
1333
|
-
|
|
1899
|
+
if (this.enableSeparateConnector && isInitialRule) {
|
|
1900
|
+
this.enableSeparateConnectorInitialRule(groupElem, template);
|
|
1901
|
+
}
|
|
1902
|
+
else if (this.enableSeparateConnector && groupElem.id.indexOf('rule') !== -1) {
|
|
1903
|
+
groupHdr.parentElement.insertBefore(template, groupHdr.nextElementSibling);
|
|
1904
|
+
}
|
|
1905
|
+
else {
|
|
1906
|
+
groupHdr.appendChild(template);
|
|
1907
|
+
}
|
|
1334
1908
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
1335
1909
|
}
|
|
1336
1910
|
else if (this.isAngular) {
|
|
1337
1911
|
var templateColl = this.headerFn(args, this, groupElem.id, templateID);
|
|
1338
1912
|
template = (templateColl[0].nodeType === 3) ? templateColl[1] : templateColl[0];
|
|
1339
|
-
|
|
1913
|
+
if (this.enableSeparateConnector && isInitialRule) {
|
|
1914
|
+
this.enableSeparateConnectorInitialRule(groupElem, template);
|
|
1915
|
+
}
|
|
1916
|
+
else if (this.enableSeparateConnector && groupElem.id.indexOf('rule') !== -1) {
|
|
1917
|
+
groupHdr.parentElement.insertBefore(template, groupHdr.nextElementSibling);
|
|
1918
|
+
}
|
|
1919
|
+
else {
|
|
1920
|
+
groupHdr.appendChild(template);
|
|
1921
|
+
}
|
|
1340
1922
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
1341
1923
|
}
|
|
1342
1924
|
else if (this.isVue3) {
|
|
1343
1925
|
template = this.headerFn(args, this, groupElem.id, templateID);
|
|
1344
|
-
|
|
1345
|
-
|
|
1926
|
+
if (this.enableSeparateConnector && isInitialRule) {
|
|
1927
|
+
this.enableSeparateConnectorInitialRule(groupElem, template);
|
|
1928
|
+
}
|
|
1929
|
+
else if (this.enableSeparateConnector && groupElem.id.indexOf('rule') !== -1) {
|
|
1930
|
+
groupHdr.parentElement.insertBefore(template, groupHdr.nextElementSibling);
|
|
1931
|
+
}
|
|
1932
|
+
else {
|
|
1933
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
1934
|
+
append(template, groupHdr);
|
|
1935
|
+
}
|
|
1346
1936
|
}
|
|
1347
1937
|
else {
|
|
1348
1938
|
template = this.headerFn(args, this, 'Template', templateID)[0];
|
|
1349
|
-
|
|
1939
|
+
if (this.enableSeparateConnector && isInitialRule) {
|
|
1940
|
+
this.enableSeparateConnectorInitialRule(groupElem, template);
|
|
1941
|
+
}
|
|
1942
|
+
else if (this.enableSeparateConnector && groupElem.id.indexOf('rule') !== -1) {
|
|
1943
|
+
groupHdr.parentElement.insertBefore(template, groupHdr.nextElementSibling);
|
|
1944
|
+
}
|
|
1945
|
+
else {
|
|
1946
|
+
groupHdr.appendChild(template);
|
|
1947
|
+
}
|
|
1350
1948
|
}
|
|
1351
1949
|
this.renderReactTemplates();
|
|
1352
1950
|
}
|
|
1353
1951
|
return groupElem;
|
|
1354
1952
|
};
|
|
1953
|
+
QueryBuilder.prototype.enableSeparateConnectorInitialRule = function (groupElem, template) {
|
|
1954
|
+
var elem = groupElem.nextElementSibling ? groupElem.nextElementSibling : groupElem;
|
|
1955
|
+
var group = elem.closest('.e-group-container');
|
|
1956
|
+
if (!groupElem.nextElementSibling && group) {
|
|
1957
|
+
group = group.nextElementSibling ? group.nextElementSibling : group;
|
|
1958
|
+
}
|
|
1959
|
+
if (group) {
|
|
1960
|
+
group.parentElement.insertBefore(template, group);
|
|
1961
|
+
}
|
|
1962
|
+
};
|
|
1355
1963
|
/**
|
|
1356
1964
|
* Notify the changes to component.
|
|
1357
1965
|
*
|
|
@@ -1370,12 +1978,29 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
1370
1978
|
return;
|
|
1371
1979
|
}
|
|
1372
1980
|
if (type === 'condition') {
|
|
1373
|
-
|
|
1981
|
+
if (this.enableSeparateConnector) {
|
|
1982
|
+
ruleElement = element.parentElement.previousElementSibling;
|
|
1983
|
+
if (ruleElement && ruleElement.classList.contains('e-group-container')) {
|
|
1984
|
+
ruleElement = ruleElement.querySelectorAll('.e-rule-container')[ruleElement.querySelectorAll('.e-rule-container').length - 1];
|
|
1985
|
+
}
|
|
1986
|
+
if (ruleElement && ruleElement.classList.contains('e-rule-container')) {
|
|
1987
|
+
rules = this.getRule(ruleElement);
|
|
1988
|
+
}
|
|
1989
|
+
rules.condition = value;
|
|
1990
|
+
}
|
|
1991
|
+
else {
|
|
1992
|
+
rules.condition = value;
|
|
1993
|
+
}
|
|
1374
1994
|
return;
|
|
1375
1995
|
}
|
|
1376
1996
|
while (ruleElement && ruleElement.previousElementSibling !== null) {
|
|
1377
1997
|
ruleElement = ruleElement.previousElementSibling;
|
|
1378
|
-
|
|
1998
|
+
if (!this.enableSeparateConnector || (this.enableSeparateConnector &&
|
|
1999
|
+
((!this.headerTemplate && !ruleElement.classList.contains('e-btn-group')) ||
|
|
2000
|
+
this.headerTemplate && (ruleElement.classList.contains('e-rule-container') ||
|
|
2001
|
+
ruleElement.classList.contains('e-group-container'))))) {
|
|
2002
|
+
index++;
|
|
2003
|
+
}
|
|
1379
2004
|
}
|
|
1380
2005
|
var rule = rules.rules[index];
|
|
1381
2006
|
var column = this.getColumn(rule.field);
|
|
@@ -1412,7 +2037,12 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
1412
2037
|
}
|
|
1413
2038
|
while (ruleElem && ruleElem.previousElementSibling !== null) {
|
|
1414
2039
|
ruleElem = ruleElem.previousElementSibling;
|
|
1415
|
-
|
|
2040
|
+
if (!this.enableSeparateConnector || (this.enableSeparateConnector &&
|
|
2041
|
+
((!this.headerTemplate && !ruleElem.classList.contains('e-btn-group')) ||
|
|
2042
|
+
this.headerTemplate && (ruleElem.classList.contains('e-rule-container') ||
|
|
2043
|
+
ruleElem.classList.contains('e-group-container'))))) {
|
|
2044
|
+
index++;
|
|
2045
|
+
}
|
|
1416
2046
|
}
|
|
1417
2047
|
var rule = rules.rules[index];
|
|
1418
2048
|
if (type === 'field') {
|
|
@@ -1469,12 +2099,14 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
1469
2099
|
else {
|
|
1470
2100
|
ruleElement.className = 'e-rule-container e-horizontal-mode';
|
|
1471
2101
|
}
|
|
1472
|
-
if (
|
|
1473
|
-
if (ruleElement.className.indexOf('e-
|
|
1474
|
-
ruleElement.className
|
|
1475
|
-
|
|
1476
|
-
|
|
1477
|
-
ruleElement.previousElementSibling.className
|
|
2102
|
+
if (!this.enableSeparateConnector) {
|
|
2103
|
+
if (ruleElement.previousElementSibling && ruleElement.previousElementSibling.className.indexOf('e-rule-container') > -1) {
|
|
2104
|
+
if (ruleElement.className.indexOf('e-joined-rule') < 0) {
|
|
2105
|
+
ruleElement.className += ' e-joined-rule';
|
|
2106
|
+
}
|
|
2107
|
+
if (ruleElement.previousElementSibling.className.indexOf('e-prev-joined-rule') < 0) {
|
|
2108
|
+
ruleElement.previousElementSibling.className += ' e-prev-joined-rule';
|
|
2109
|
+
}
|
|
1478
2110
|
}
|
|
1479
2111
|
}
|
|
1480
2112
|
if (ruleElement.previousElementSibling && ruleElement.previousElementSibling.className.indexOf('e-group-container') > -1 &&
|
|
@@ -1539,8 +2171,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
1539
2171
|
var value;
|
|
1540
2172
|
var rbValue;
|
|
1541
2173
|
if (element.className.indexOf('e-radio') > -1) {
|
|
1542
|
-
|
|
1543
|
-
rbValue = parseInt(element.id.split('valuekey')[1], 0);
|
|
2174
|
+
rbValue = parseInt(element.id.split('valuekey')[1], 10);
|
|
1544
2175
|
if (this.fieldMode === 'Default') {
|
|
1545
2176
|
dropDownObj = getComponent(closest(element, '.e-rule-container').querySelector('.e-filter-input'), 'dropdownlist');
|
|
1546
2177
|
this.selectedColumn = dropDownObj.getDataByValue(dropDownObj.value);
|
|
@@ -1570,7 +2201,9 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
1570
2201
|
if (args.type === 'input' && args.currentTarget) {
|
|
1571
2202
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
1572
2203
|
value = Number(args.currentTarget.value);
|
|
1573
|
-
|
|
2204
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
2205
|
+
var elem = args.currentTarget;
|
|
2206
|
+
var numericTextBoxObj = getInstance(elem, NumericTextBox);
|
|
1574
2207
|
numericTextBoxObj.value = value;
|
|
1575
2208
|
this.isNumInput = true;
|
|
1576
2209
|
}
|
|
@@ -1679,7 +2312,12 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
1679
2312
|
var index = 0;
|
|
1680
2313
|
while (ruleElem && ruleElem.previousElementSibling !== null) {
|
|
1681
2314
|
ruleElem = ruleElem.previousElementSibling;
|
|
1682
|
-
|
|
2315
|
+
if (!this.enableSeparateConnector || (this.enableSeparateConnector &&
|
|
2316
|
+
((!this.headerTemplate && !ruleElem.classList.contains('e-btn-group')) ||
|
|
2317
|
+
this.headerTemplate && (ruleElem.classList.contains('e-rule-container') ||
|
|
2318
|
+
ruleElem.classList.contains('e-group-container'))))) {
|
|
2319
|
+
index++;
|
|
2320
|
+
}
|
|
1683
2321
|
}
|
|
1684
2322
|
rules.rules[index].value = '';
|
|
1685
2323
|
this.changeRule(rules.rules[index], args);
|
|
@@ -1725,7 +2363,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
1725
2363
|
var ruleID = ruleElem.id.replace(this.element.id + '_', '');
|
|
1726
2364
|
var eventsArgs = { groupID: grID, ruleID: ruleID, selectedField: this.fieldMode === 'DropdownTree' ?
|
|
1727
2365
|
dl.value[0] : dl.value, cancel: false, type: 'field' };
|
|
1728
|
-
if (!this.isImportRules) {
|
|
2366
|
+
if (!this.isImportRules && !this.prvtEvtTgrDaD) {
|
|
1729
2367
|
this.trigger('beforeChange', eventsArgs, function (observedChangeArgs) {
|
|
1730
2368
|
_this.fieldChangeSuccess(observedChangeArgs, tmpRl, flt, rl, dArg);
|
|
1731
2369
|
});
|
|
@@ -1896,7 +2534,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
1896
2534
|
if (valElem && this.getColumn(rule.field).template) {
|
|
1897
2535
|
filterElem = operatorElem.previousElementSibling;
|
|
1898
2536
|
}
|
|
1899
|
-
if (valElem.children.length
|
|
2537
|
+
if (valElem.children.length === 0) {
|
|
1900
2538
|
filterElem = operatorElem.previousElementSibling;
|
|
1901
2539
|
}
|
|
1902
2540
|
this.changeRuleValues(filterElem, rule, tempRule, ddlArgs);
|
|
@@ -1950,7 +2588,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
1950
2588
|
value = '';
|
|
1951
2589
|
ddlIdx = -1;
|
|
1952
2590
|
}
|
|
1953
|
-
if (this.isImportRules || (this.ruleIndex > -1 || this.groupIndex > -1)) {
|
|
2591
|
+
if (this.isImportRules || (this.ruleIndex > -1 || this.groupIndex > -1 || this.prvtEvtTgrDaD)) {
|
|
1954
2592
|
value = rule ? (rule.operator ? rule.operator : value) : value;
|
|
1955
2593
|
}
|
|
1956
2594
|
var ddlOperator = void 0;
|
|
@@ -2181,7 +2819,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
2181
2819
|
};
|
|
2182
2820
|
var this_2 = this;
|
|
2183
2821
|
for (var i = 0, iLen = dataSource.length; i < iLen; i++) {
|
|
2184
|
-
_loop_2(i
|
|
2822
|
+
_loop_2(i);
|
|
2185
2823
|
}
|
|
2186
2824
|
return result;
|
|
2187
2825
|
};
|
|
@@ -2335,14 +2973,15 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
2335
2973
|
var columnData = this.getItemData(parentId);
|
|
2336
2974
|
var selectedValue;
|
|
2337
2975
|
var isTemplate = (typeof columnData.template === 'string');
|
|
2338
|
-
if (this.isImportRules || this.ruleIndex > -1 || this.groupIndex > -1 || this.isPublic || isTemplate || rule.value
|
|
2976
|
+
if (this.isImportRules || this.ruleIndex > -1 || this.groupIndex > -1 || this.isPublic || isTemplate || rule.value !== '') {
|
|
2339
2977
|
selectedValue = rule.value;
|
|
2340
2978
|
}
|
|
2341
2979
|
else {
|
|
2342
2980
|
selectedValue = this.setDefaultValue(parentId, false, false);
|
|
2343
2981
|
}
|
|
2344
2982
|
if ((operator === 'in' || operator === 'notin') && (this.dataColl.length || columnData.values)) {
|
|
2345
|
-
selectedVal = (this.isImportRules || this.ruleIndex > -1 || this.groupIndex > -1) ? rule.value :
|
|
2983
|
+
selectedVal = (this.isImportRules || this.ruleIndex > -1 || this.groupIndex > -1 || this.isPublic) ? rule.value :
|
|
2984
|
+
this.setDefaultValue(parentId, true, false);
|
|
2346
2985
|
this.renderMultiSelect(columnData, parentId, idx, selectedVal, columnData.values);
|
|
2347
2986
|
if (this.displayMode === 'Vertical' || this.element.className.indexOf('e-device') > -1) {
|
|
2348
2987
|
ruleValElem.style.width = '100%';
|
|
@@ -2354,7 +2993,8 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
2354
2993
|
}
|
|
2355
2994
|
else {
|
|
2356
2995
|
if (operator === 'in' || operator === 'notin') {
|
|
2357
|
-
selectedVal = (this.isImportRules || this.ruleIndex > -1 || this.groupIndex > -1) ? rule.value :
|
|
2996
|
+
selectedVal = (this.isImportRules || this.ruleIndex > -1 || this.groupIndex > -1) ? rule.value :
|
|
2997
|
+
this.setDefaultValue(parentId, true, false);
|
|
2358
2998
|
selectedValue = selectedVal.join(',');
|
|
2359
2999
|
}
|
|
2360
3000
|
var txtBox = void 0;
|
|
@@ -2374,9 +3014,11 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
2374
3014
|
QueryBuilder.prototype.renderNumberValue = function (parentId, rule, operator, idx, ruleValElem, itemData, length) {
|
|
2375
3015
|
var columnData = this.getItemData(parentId);
|
|
2376
3016
|
var isTemplate = (typeof columnData.template === 'string');
|
|
2377
|
-
var selectedVal = (this.isImportRules || this.ruleIndex > -1 || this.groupIndex > -1 || this.isPublic || isTemplate ||
|
|
3017
|
+
var selectedVal = (this.isImportRules || this.ruleIndex > -1 || this.groupIndex > -1 || this.isPublic || isTemplate ||
|
|
3018
|
+
typeof rule.value === 'number') ? rule.value : this.setDefaultValue(parentId, false, true);
|
|
2378
3019
|
if ((operator === 'in' || operator === 'notin') && (this.dataColl.length || columnData.values)) {
|
|
2379
|
-
selectedVal = (this.isImportRules || this.ruleIndex > -1 || this.groupIndex > -1) ? rule.value :
|
|
3020
|
+
selectedVal = (this.isImportRules || this.ruleIndex > -1 || this.groupIndex > -1 || this.isPublic) ? rule.value :
|
|
3021
|
+
this.setDefaultValue(parentId, true, false);
|
|
2380
3022
|
this.renderMultiSelect(columnData, parentId, idx, selectedVal, columnData.values);
|
|
2381
3023
|
if (this.element.className.indexOf('e-device') > -1 || this.displayMode === 'Vertical') {
|
|
2382
3024
|
ruleValElem.style.width = '100%';
|
|
@@ -2387,7 +3029,8 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
2387
3029
|
}
|
|
2388
3030
|
}
|
|
2389
3031
|
else if (operator === 'in' || operator === 'notin') {
|
|
2390
|
-
selectedVal = (this.isImportRules || this.ruleIndex > -1 || this.groupIndex > -1) ? rule.value :
|
|
3032
|
+
selectedVal = (this.isImportRules || this.ruleIndex > -1 || this.groupIndex > -1) ? rule.value :
|
|
3033
|
+
this.setDefaultValue(parentId, true, false);
|
|
2391
3034
|
var selVal = selectedVal.join(',');
|
|
2392
3035
|
var txtInp = void 0;
|
|
2393
3036
|
txtInp = {
|
|
@@ -2849,10 +3492,14 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
2849
3492
|
}
|
|
2850
3493
|
var controlName = element.className.split(' e-')[idx];
|
|
2851
3494
|
var i = parseInt(element.id.slice(-1), 2);
|
|
3495
|
+
var column;
|
|
3496
|
+
var format;
|
|
3497
|
+
var selectedDate;
|
|
3498
|
+
var value;
|
|
3499
|
+
var radioBtnObj;
|
|
2852
3500
|
switch (controlName) {
|
|
2853
3501
|
case 'checkbox':
|
|
2854
|
-
|
|
2855
|
-
var value = getComponent(element, controlName).value;
|
|
3502
|
+
value = getComponent(element, controlName).value;
|
|
2856
3503
|
rule.value = (value !== '') ? value : undefined;
|
|
2857
3504
|
break;
|
|
2858
3505
|
case 'textbox':
|
|
@@ -2862,8 +3509,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
2862
3509
|
rule.value = getComponent(element, controlName).value;
|
|
2863
3510
|
break;
|
|
2864
3511
|
case 'radio':
|
|
2865
|
-
|
|
2866
|
-
var radioBtnObj = getComponent(element, controlName);
|
|
3512
|
+
radioBtnObj = getComponent(element, controlName);
|
|
2867
3513
|
if (radioBtnObj.checked) {
|
|
2868
3514
|
if (typeof rule.value === 'boolean') {
|
|
2869
3515
|
rule.value = radioBtnObj.value === 'true';
|
|
@@ -2891,12 +3537,9 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
2891
3537
|
}
|
|
2892
3538
|
break;
|
|
2893
3539
|
case 'datepicker':
|
|
2894
|
-
|
|
2895
|
-
|
|
2896
|
-
|
|
2897
|
-
var format = this.getFormat(column.format);
|
|
2898
|
-
// eslint-disable-next-line
|
|
2899
|
-
var selectedDate = getComponent(element, controlName).value;
|
|
3540
|
+
column = this.getColumn(rule.field);
|
|
3541
|
+
format = this.getFormat(column.format);
|
|
3542
|
+
selectedDate = getComponent(element, controlName).value;
|
|
2900
3543
|
if (rule.operator.indexOf('between') > -1) {
|
|
2901
3544
|
if (typeof rule.value === 'string') {
|
|
2902
3545
|
rule.value = [];
|
|
@@ -2929,7 +3572,12 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
2929
3572
|
var beforeRules = this.getValidRules(this.rule);
|
|
2930
3573
|
while (ruleElem && ruleElem.previousElementSibling !== null) {
|
|
2931
3574
|
ruleElem = ruleElem.previousElementSibling;
|
|
2932
|
-
|
|
3575
|
+
if (!this.enableSeparateConnector || (this.enableSeparateConnector &&
|
|
3576
|
+
((!this.headerTemplate && !ruleElem.classList.contains('e-btn-group')) ||
|
|
3577
|
+
this.headerTemplate && (ruleElem.classList.contains('e-rule-container') ||
|
|
3578
|
+
ruleElem.classList.contains('e-group-container'))))) {
|
|
3579
|
+
index++;
|
|
3580
|
+
}
|
|
2933
3581
|
}
|
|
2934
3582
|
var operator = rule.rules[index].operator ? rule.rules[index].operator.toString() : '';
|
|
2935
3583
|
ruleElem = closest(target, '.e-rule-container');
|
|
@@ -2978,7 +3626,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
2978
3626
|
}
|
|
2979
3627
|
this.updateValues(elementCln[i_1], rule.rules[index]);
|
|
2980
3628
|
}
|
|
2981
|
-
if (!this.isImportRules) {
|
|
3629
|
+
if (!this.isImportRules && !this.prvtEvtTgrDaD) {
|
|
2982
3630
|
this.trigger('change', eventsArgs);
|
|
2983
3631
|
}
|
|
2984
3632
|
if (this.allowValidation && rule.rules[index].field && target.parentElement.className.indexOf('e-tooltip') > -1) {
|
|
@@ -3023,7 +3671,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
3023
3671
|
var beforeRuleStr = JSON.stringify({ condition: beforeRule.condition, not: beforeRule.not, rule: beforeRule.rules });
|
|
3024
3672
|
var afetrRuleStr = JSON.stringify({ condition: afterRule.condition, not: afterRule.not, rule: afterRule.rules });
|
|
3025
3673
|
if (beforeRuleStr !== afetrRuleStr) {
|
|
3026
|
-
if (!this.isImportRules) {
|
|
3674
|
+
if (!this.isImportRules && !this.prvtEvtTgrDaD) {
|
|
3027
3675
|
this.trigger('ruleChange', { previousRule: beforeRule, rule: afterRule, type: type });
|
|
3028
3676
|
}
|
|
3029
3677
|
}
|
|
@@ -3190,7 +3838,6 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
3190
3838
|
var len;
|
|
3191
3839
|
var tooltip;
|
|
3192
3840
|
_super.prototype.destroy.call(this);
|
|
3193
|
-
var popupElement;
|
|
3194
3841
|
element = this.element.querySelectorAll('.e-addrulegroup');
|
|
3195
3842
|
len = element.length;
|
|
3196
3843
|
for (i = 0; i < len; i++) {
|
|
@@ -3236,7 +3883,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
3236
3883
|
if (this.portals && this.portals.length) {
|
|
3237
3884
|
this.clearQBTemplate();
|
|
3238
3885
|
}
|
|
3239
|
-
popupElement = document.querySelectorAll('.qb-dropdownlist.e-popup');
|
|
3886
|
+
var popupElement = document.querySelectorAll('.qb-dropdownlist.e-popup');
|
|
3240
3887
|
if (popupElement) {
|
|
3241
3888
|
for (i = 0; i < popupElement.length; i++) {
|
|
3242
3889
|
popupElement[i].remove();
|
|
@@ -3309,7 +3956,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
3309
3956
|
}
|
|
3310
3957
|
}
|
|
3311
3958
|
if (!this.headerTemplate) {
|
|
3312
|
-
this.disableRuleCondition(groupElem, rule);
|
|
3959
|
+
this.disableRuleCondition(groupElem, rule, null, this.enableSeparateConnector ? true : null);
|
|
3313
3960
|
}
|
|
3314
3961
|
}
|
|
3315
3962
|
};
|
|
@@ -3318,6 +3965,9 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
3318
3965
|
if (this.cssClass) {
|
|
3319
3966
|
addClass([this.element], this.cssClass.replace(/\s+/g, ' ').trim().split(' '));
|
|
3320
3967
|
}
|
|
3968
|
+
if (this.enableSeparateConnector) {
|
|
3969
|
+
addClass([this.element], 'e-multi-connector');
|
|
3970
|
+
}
|
|
3321
3971
|
if (this.enableRtl) {
|
|
3322
3972
|
addClass([this.element], 'e-rtl');
|
|
3323
3973
|
}
|
|
@@ -3354,14 +4004,14 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
3354
4004
|
}
|
|
3355
4005
|
}
|
|
3356
4006
|
else {
|
|
3357
|
-
if (this.columns.length && this.isImportRules) {
|
|
4007
|
+
if (this.columns && this.columns.length && this.isImportRules) {
|
|
3358
4008
|
this.addGroupElement(false, this.element, this.rule.condition, false, this.rule.not, false, this.rule);
|
|
3359
4009
|
var mRules = extend({}, this.rule, {}, true);
|
|
3360
4010
|
this.isRefreshed = true;
|
|
3361
4011
|
this.setGroupRules(mRules);
|
|
3362
4012
|
this.isRefreshed = false;
|
|
3363
4013
|
}
|
|
3364
|
-
else if (this.columns.length) {
|
|
4014
|
+
else if (this.columns && this.columns.length) {
|
|
3365
4015
|
this.addRuleElement(this.element.querySelector('.e-group-container'), {});
|
|
3366
4016
|
}
|
|
3367
4017
|
this.notGroupRtl();
|
|
@@ -3415,8 +4065,8 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
3415
4065
|
this.groupIdCounter = 0;
|
|
3416
4066
|
if (!this.headerTemplate) {
|
|
3417
4067
|
if (this.enableNotCondition) {
|
|
3418
|
-
|
|
3419
|
-
|
|
4068
|
+
var inputElem = this.createElement('button', { attrs: { type: 'button', class: 'e-qb-toggle' } });
|
|
4069
|
+
if (this.groupElem.querySelector('.e-btn-group')) {
|
|
3420
4070
|
this.groupElem.querySelector('.e-btn-group').insertBefore(inputElem, this.groupElem.querySelector('.e-btngroup-and'));
|
|
3421
4071
|
}
|
|
3422
4072
|
}
|
|
@@ -3457,14 +4107,12 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
3457
4107
|
};
|
|
3458
4108
|
QueryBuilder.prototype.onPropertyChanged = function (newProp, oldProp) {
|
|
3459
4109
|
var properties = Object.keys(newProp);
|
|
4110
|
+
var groupElem = this.element.querySelector('.e-group-container');
|
|
4111
|
+
var summaryElem = this.element.querySelector('.e-summary-content');
|
|
3460
4112
|
for (var _i = 0, properties_1 = properties; _i < properties_1.length; _i++) {
|
|
3461
4113
|
var prop = properties_1[_i];
|
|
3462
4114
|
switch (prop) {
|
|
3463
4115
|
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
4116
|
if (newProp.summaryView) {
|
|
3469
4117
|
groupElem.style.display = 'none';
|
|
3470
4118
|
if (this.element.querySelectorAll('.e-summary-content').length < 1) {
|
|
@@ -3604,6 +4252,14 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
3604
4252
|
this.isReadonly = newProp.readonly;
|
|
3605
4253
|
this.enableReadonly();
|
|
3606
4254
|
break;
|
|
4255
|
+
case 'allowDragAndDrop':
|
|
4256
|
+
this.allowDragAndDrop = newProp.allowDragAndDrop;
|
|
4257
|
+
this.refresh();
|
|
4258
|
+
break;
|
|
4259
|
+
case 'enableSeparateConnector':
|
|
4260
|
+
this.enableSeparateConnector = newProp.enableSeparateConnector;
|
|
4261
|
+
this.refresh();
|
|
4262
|
+
break;
|
|
3607
4263
|
}
|
|
3608
4264
|
}
|
|
3609
4265
|
};
|
|
@@ -3761,6 +4417,134 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
3761
4417
|
this.initControl();
|
|
3762
4418
|
}
|
|
3763
4419
|
this.renderComplete();
|
|
4420
|
+
if (this.allowDragAndDrop) {
|
|
4421
|
+
this.initializeDrag();
|
|
4422
|
+
}
|
|
4423
|
+
};
|
|
4424
|
+
QueryBuilder.prototype.initializeDrag = function () {
|
|
4425
|
+
this.draggable = new Draggable(this.element, {
|
|
4426
|
+
dragTarget: '.e-drag-qb-rule',
|
|
4427
|
+
distance: 5,
|
|
4428
|
+
helper: this.helper.bind(this),
|
|
4429
|
+
dragStart: this.dragStartHandler.bind(this),
|
|
4430
|
+
drag: this.dragHandler.bind(this),
|
|
4431
|
+
dragStop: this.dragStopHandler.bind(this),
|
|
4432
|
+
isReplaceDragEle: true,
|
|
4433
|
+
isPreventSelect: false,
|
|
4434
|
+
abort: '.e-parent-header',
|
|
4435
|
+
isDragScroll: true
|
|
4436
|
+
});
|
|
4437
|
+
};
|
|
4438
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
4439
|
+
QueryBuilder.prototype.helper = function (e) {
|
|
4440
|
+
var target = this.draggable.currentStateTarget;
|
|
4441
|
+
if (!target.classList.contains('e-drag-qb-rule') || (target.classList.contains('e-drag-qb-rule') && closest(target, '.e-disable'))) {
|
|
4442
|
+
return false;
|
|
4443
|
+
}
|
|
4444
|
+
var visualElement = this.createElement('div', {
|
|
4445
|
+
className: 'e-cloneproperties e-draganddrop e-dragclone',
|
|
4446
|
+
styles: 'height:"auto", z-index:2, width:' + this.element.offsetWidth
|
|
4447
|
+
});
|
|
4448
|
+
var cloneElement;
|
|
4449
|
+
if (this.draggable.currentStateTarget.parentElement.classList.contains('e-group-header')) {
|
|
4450
|
+
cloneElement = closest(target, '.e-group-container').cloneNode(true);
|
|
4451
|
+
closest(target, '.e-group-container').classList.add('e-qb-dragging-rule');
|
|
4452
|
+
}
|
|
4453
|
+
else {
|
|
4454
|
+
visualElement.classList.add('e-group-body');
|
|
4455
|
+
cloneElement = this.createElement('div', { className: 'e-rule-container' });
|
|
4456
|
+
var ruleElement = closest(target, '.e-rule-field').cloneNode(true);
|
|
4457
|
+
cloneElement.appendChild(ruleElement);
|
|
4458
|
+
closest(target, '.e-rule-field').classList.add('e-qb-dragging-rule');
|
|
4459
|
+
}
|
|
4460
|
+
visualElement.appendChild(cloneElement);
|
|
4461
|
+
var childElements = visualElement.querySelectorAll('*');
|
|
4462
|
+
childElements.forEach(function (child) {
|
|
4463
|
+
child.removeAttribute('id');
|
|
4464
|
+
});
|
|
4465
|
+
this.element.appendChild(visualElement);
|
|
4466
|
+
return visualElement;
|
|
4467
|
+
};
|
|
4468
|
+
QueryBuilder.prototype.dragStartHandler = function (e) {
|
|
4469
|
+
this.draggedRule = e.target;
|
|
4470
|
+
this.isDragEventPrevent = false;
|
|
4471
|
+
document.body.classList.add('e-prevent-select');
|
|
4472
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
4473
|
+
this.dragElement = e.dragElement;
|
|
4474
|
+
var rule = closest(e.target, '.e-rule-container');
|
|
4475
|
+
var group = closest(e.target, '.e-group-container');
|
|
4476
|
+
var dragEventArgs = { dragRuleID: rule !== null ? rule.id : group.id, dragGroupID: group.id, cancel: false };
|
|
4477
|
+
this.trigger('dragStart', dragEventArgs);
|
|
4478
|
+
this.isDragEventPrevent = dragEventArgs.cancel;
|
|
4479
|
+
};
|
|
4480
|
+
QueryBuilder.prototype.dragHandler = function (e) {
|
|
4481
|
+
if (this.isDragEventPrevent) {
|
|
4482
|
+
return;
|
|
4483
|
+
}
|
|
4484
|
+
var borderLineElem = this.element.querySelectorAll('.e-drag-rule-bottom-line');
|
|
4485
|
+
borderLineElem.forEach(function (ele) {
|
|
4486
|
+
ele.classList.remove('e-drag-rule-bottom-line');
|
|
4487
|
+
});
|
|
4488
|
+
borderLineElem = this.element.querySelectorAll('.e-drag-rule-top-line');
|
|
4489
|
+
borderLineElem.forEach(function (ele) {
|
|
4490
|
+
ele.classList.remove('e-drag-rule-top-line');
|
|
4491
|
+
});
|
|
4492
|
+
if (isNullOrUndefined(e.target)) {
|
|
4493
|
+
return;
|
|
4494
|
+
}
|
|
4495
|
+
if (e.target.nodeName === 'HTML' || closest(e.target, '.e-qb-dragging-rule') || closest(e.target, '.e-group-header') ||
|
|
4496
|
+
!closest(e.target, '#' + this.element.id) || closest(e.target, '.e-disable') || (e.target.parentElement && e.target.parentElement.classList.contains('e-btn-group') && this.enableSeparateConnector)) {
|
|
4497
|
+
this.dragElement.classList.add('e-notallowedcur');
|
|
4498
|
+
return;
|
|
4499
|
+
}
|
|
4500
|
+
else {
|
|
4501
|
+
this.dragElement.classList.remove('e-notallowedcur');
|
|
4502
|
+
}
|
|
4503
|
+
var targetElem = closest(e.target, '.e-rule-container');
|
|
4504
|
+
var grpElem = closest(e.target, '.e-group-container');
|
|
4505
|
+
if (targetElem) {
|
|
4506
|
+
var rect = targetElem.getBoundingClientRect();
|
|
4507
|
+
var mouseY = e.event.clientY || e.event.changedTouches[0].clientY;
|
|
4508
|
+
var distanceToTop = mouseY - rect.top;
|
|
4509
|
+
var distanceToBottom = rect.bottom - mouseY;
|
|
4510
|
+
var threshold = 20; // Adjust as needed
|
|
4511
|
+
if (distanceToTop < threshold) {
|
|
4512
|
+
targetElem.classList.add('e-drag-rule-top-line');
|
|
4513
|
+
}
|
|
4514
|
+
else if (distanceToBottom < threshold) {
|
|
4515
|
+
targetElem.classList.add('e-drag-rule-bottom-line');
|
|
4516
|
+
}
|
|
4517
|
+
}
|
|
4518
|
+
else if (e.target.classList.contains('e-rule-list') && e.target.children.length === 0) {
|
|
4519
|
+
e.target.classList.add('e-drag-rule-bottom-line');
|
|
4520
|
+
}
|
|
4521
|
+
else if (e.target.classList.contains('e-rule-list') && e.target.children[0].classList.contains('e-group-container')) {
|
|
4522
|
+
var rect = e.target.children[0].getBoundingClientRect();
|
|
4523
|
+
var mouseY = e.event.clientY || e.event.changedTouches[0].clientY;
|
|
4524
|
+
var distanceToTop = mouseY - rect.top;
|
|
4525
|
+
var threshold = 20; // Adjust as needed
|
|
4526
|
+
if (distanceToTop < threshold) {
|
|
4527
|
+
e.target.classList.add('e-drag-rule-top-line');
|
|
4528
|
+
}
|
|
4529
|
+
}
|
|
4530
|
+
else if (closest(e.target, '.e-group-container') || e.target.classList.contains('e-group-container')) {
|
|
4531
|
+
if (!grpElem) {
|
|
4532
|
+
grpElem = e.target;
|
|
4533
|
+
}
|
|
4534
|
+
if (grpElem.id.indexOf('group0') > -1) {
|
|
4535
|
+
var rect = e.target.getBoundingClientRect();
|
|
4536
|
+
var mouseY = e.event.clientY || e.event.changedTouches[0].clientY;
|
|
4537
|
+
var distanceToBottom = rect.bottom - mouseY;
|
|
4538
|
+
var threshold = 20; // Adjust as needed
|
|
4539
|
+
if (distanceToBottom < threshold) {
|
|
4540
|
+
e.target.classList.add('e-drag-rule-bottom-line');
|
|
4541
|
+
}
|
|
4542
|
+
}
|
|
4543
|
+
}
|
|
4544
|
+
var dragEventArgs = { dragRuleID: targetElem !== null ? targetElem.id : grpElem !== null ? grpElem.id : null,
|
|
4545
|
+
dragGroupID: grpElem !== null ? grpElem.id : null, cancel: false };
|
|
4546
|
+
this.trigger('drag', dragEventArgs);
|
|
4547
|
+
this.isDragEventPrevent = dragEventArgs.cancel;
|
|
3764
4548
|
};
|
|
3765
4549
|
QueryBuilder.prototype.templateParser = function (template) {
|
|
3766
4550
|
if (template) {
|
|
@@ -3805,6 +4589,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
3805
4589
|
EventHandler.add(wrapper, 'focusout', this.focusEventHandler, this);
|
|
3806
4590
|
EventHandler.add(wrapper, 'focusin', this.focusEventHandler, this);
|
|
3807
4591
|
EventHandler.add(this.element, 'keydown', this.keyBoardHandler, this);
|
|
4592
|
+
EventHandler.add(document, 'keydown', this.keyBoardHandler, this);
|
|
3808
4593
|
};
|
|
3809
4594
|
QueryBuilder.prototype.unWireEvents = function () {
|
|
3810
4595
|
var wrapper = this.getWrapper();
|
|
@@ -3812,6 +4597,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
3812
4597
|
EventHandler.remove(wrapper, 'focusout', this.focusEventHandler);
|
|
3813
4598
|
EventHandler.remove(wrapper, 'focusin', this.focusEventHandler);
|
|
3814
4599
|
EventHandler.remove(this.element, 'keydown', this.keyBoardHandler);
|
|
4600
|
+
EventHandler.remove(document, 'keydown', this.keyBoardHandler);
|
|
3815
4601
|
};
|
|
3816
4602
|
QueryBuilder.prototype.getParentGroup = function (target, isParent) {
|
|
3817
4603
|
var groupLevel = (target instanceof Element) ? this.levelColl[target.id] : this.levelColl["" + target];
|
|
@@ -3840,7 +4626,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
3840
4626
|
groupId = groupElem.id.replace(this.element.id + '_', '');
|
|
3841
4627
|
}
|
|
3842
4628
|
var args = { groupID: groupId, cancel: false, type: 'deleteGroup' };
|
|
3843
|
-
if (!this.isImportRules) {
|
|
4629
|
+
if (!this.isImportRules && !this.prvtEvtTgrDaD) {
|
|
3844
4630
|
this.trigger('beforeChange', args, function (observedChangeArgs) {
|
|
3845
4631
|
_this.deleteGroupSuccessCallBack(observedChangeArgs, target);
|
|
3846
4632
|
});
|
|
@@ -3870,13 +4656,20 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
3870
4656
|
}
|
|
3871
4657
|
while (groupElem.previousElementSibling !== null) {
|
|
3872
4658
|
groupElem = groupElem.previousElementSibling;
|
|
3873
|
-
|
|
4659
|
+
if (!this.enableSeparateConnector || (this.enableSeparateConnector &&
|
|
4660
|
+
((!this.headerTemplate && !groupElem.classList.contains('e-btn-group')) ||
|
|
4661
|
+
this.headerTemplate && (groupElem.classList.contains('e-rule-container') ||
|
|
4662
|
+
groupElem.classList.contains('e-group-container'))))) {
|
|
4663
|
+
index++;
|
|
4664
|
+
}
|
|
3874
4665
|
}
|
|
3875
|
-
if (
|
|
3876
|
-
|
|
3877
|
-
|
|
3878
|
-
|
|
3879
|
-
|
|
4666
|
+
if (!this.enableSeparateConnector) {
|
|
4667
|
+
if (nextElem && nextElem.className.indexOf('e-separate-rule') > -1) {
|
|
4668
|
+
removeClass([nextElem], 'e-separate-rule');
|
|
4669
|
+
addClass([nextElem], 'e-joined-rule');
|
|
4670
|
+
if (prevElem && prevElem.className.indexOf('e-rule-container') > -1) {
|
|
4671
|
+
addClass([prevElem], 'e-prev-joined-rule');
|
|
4672
|
+
}
|
|
3880
4673
|
}
|
|
3881
4674
|
}
|
|
3882
4675
|
var elem = groupElem.parentElement.parentElement.parentElement;
|
|
@@ -3908,7 +4701,11 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
3908
4701
|
delete this.levelColl[args.groupID];
|
|
3909
4702
|
this.refreshLevelColl();
|
|
3910
4703
|
this.disableRuleCondition(elem, rule);
|
|
3911
|
-
if (!this.
|
|
4704
|
+
if (this.enableSeparateConnector && prevElem && ((!this.headerTemplate && prevElem.classList.contains('e-btn-group')) ||
|
|
4705
|
+
(this.headerTemplate && prevElem.classList.contains('e-custom-group-btn')))) {
|
|
4706
|
+
detach(prevElem);
|
|
4707
|
+
}
|
|
4708
|
+
if (!this.isImportRules && !this.prvtEvtTgrDaD) {
|
|
3912
4709
|
this.trigger('change', args);
|
|
3913
4710
|
}
|
|
3914
4711
|
this.filterRules(beforeRules, this.getValidRules(this.rule), 'deleteGroup');
|
|
@@ -3925,7 +4722,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
3925
4722
|
var groupID = groupElem.id.replace(this.element.id + '_', '');
|
|
3926
4723
|
var ruleID = closest(target, '.e-rule-container').id.replace(this.element.id + '_', '');
|
|
3927
4724
|
var args = { groupID: groupID, ruleID: ruleID, cancel: false, type: 'deleteRule' };
|
|
3928
|
-
if (!this.isImportRules) {
|
|
4725
|
+
if (!this.isImportRules && !this.prvtEvtTgrDaD) {
|
|
3929
4726
|
this.trigger('beforeChange', args, function (observedChangeArgs) {
|
|
3930
4727
|
_this.deleteRuleSuccessCallBack(observedChangeArgs, target);
|
|
3931
4728
|
});
|
|
@@ -3940,10 +4737,10 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
3940
4737
|
var rule = this.getParentGroup(groupElem);
|
|
3941
4738
|
var ruleElem = closest(target, '.e-rule-container');
|
|
3942
4739
|
var beforeRules = this.getValidRules(this.rule);
|
|
3943
|
-
var clnruleElem = ruleElem;
|
|
3944
|
-
var nextElem = ruleElem.nextElementSibling;
|
|
3945
4740
|
var prevElem = ruleElem.previousElementSibling;
|
|
3946
4741
|
var index = 0;
|
|
4742
|
+
var clnruleElem = ruleElem;
|
|
4743
|
+
var nextElem = ruleElem.nextElementSibling;
|
|
3947
4744
|
var valElem = ruleElem.querySelectorAll('.e-tooltip');
|
|
3948
4745
|
var i = void 0;
|
|
3949
4746
|
var len = valElem.length;
|
|
@@ -3952,7 +4749,12 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
3952
4749
|
}
|
|
3953
4750
|
while (ruleElem.previousElementSibling !== null) {
|
|
3954
4751
|
ruleElem = ruleElem.previousElementSibling;
|
|
3955
|
-
|
|
4752
|
+
if (!this.enableSeparateConnector || (this.enableSeparateConnector &&
|
|
4753
|
+
((!this.headerTemplate && !ruleElem.classList.contains('e-btn-group')) ||
|
|
4754
|
+
this.headerTemplate && (ruleElem.classList.contains('e-rule-container') ||
|
|
4755
|
+
ruleElem.classList.contains('e-group-container'))))) {
|
|
4756
|
+
index++;
|
|
4757
|
+
}
|
|
3956
4758
|
}
|
|
3957
4759
|
var column = this.getColumn(rule.rules[index].field);
|
|
3958
4760
|
if (column && column.template && clnruleElem.querySelector('.e-template')) {
|
|
@@ -3971,17 +4773,27 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
3971
4773
|
var isTemplateRendered = clnruleElem.querySelector('.e-template-value');
|
|
3972
4774
|
// eslint-disable
|
|
3973
4775
|
try {
|
|
4776
|
+
if (this.enableSeparateConnector && (clnruleElem.previousElementSibling || clnruleElem.nextElementSibling)) {
|
|
4777
|
+
var previousElem = clnruleElem.previousElementSibling;
|
|
4778
|
+
var nextElem_1 = clnruleElem.nextElementSibling;
|
|
4779
|
+
if (isNullOrUndefined(nextElem_1) && ((!this.headerTemplate && previousElem.classList.contains('e-btn-group'))
|
|
4780
|
+
|| (this.headerTemplate && previousElem.classList.contains('e-custom-group-btn')))) {
|
|
4781
|
+
if (previousElem && previousElem.previousElementSibling && previousElem.previousElementSibling.classList.contains('e-rule-container')) {
|
|
4782
|
+
var rule_1 = this.getRule(previousElem.previousElementSibling);
|
|
4783
|
+
rule_1.condition = null;
|
|
4784
|
+
}
|
|
4785
|
+
detach(previousElem);
|
|
4786
|
+
}
|
|
4787
|
+
else if ((!this.headerTemplate && nextElem_1.classList.contains('e-btn-group'))
|
|
4788
|
+
|| (this.headerTemplate && nextElem_1.classList.contains('e-custom-group-btn'))) {
|
|
4789
|
+
detach(nextElem_1);
|
|
4790
|
+
}
|
|
4791
|
+
}
|
|
3974
4792
|
detach(clnruleElem);
|
|
3975
4793
|
}
|
|
3976
4794
|
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;
|
|
4795
|
+
return;
|
|
3983
4796
|
}
|
|
3984
|
-
// eslint-enable
|
|
3985
4797
|
if (column && column.ruleTemplate) {
|
|
3986
4798
|
this.clearQBTemplate([clnruleElem.id]);
|
|
3987
4799
|
}
|
|
@@ -3990,13 +4802,13 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
3990
4802
|
}
|
|
3991
4803
|
rule.rules.splice(index, 1);
|
|
3992
4804
|
if (!(rule.rules[0] && rule.rules[0].rules)) {
|
|
3993
|
-
this.disableRuleCondition(groupElem, rule);
|
|
4805
|
+
this.disableRuleCondition(groupElem, rule, this.enableSeparateConnector ? true : false);
|
|
3994
4806
|
}
|
|
3995
4807
|
var tooltipElem = this.element.querySelectorAll('.e-tooltip');
|
|
3996
4808
|
for (var i_3 = 0; i_3 < tooltipElem.length; i_3++) {
|
|
3997
4809
|
getComponent(tooltipElem[i_3], 'tooltip').refresh(tooltipElem[i_3]);
|
|
3998
4810
|
}
|
|
3999
|
-
if (!this.isImportRules) {
|
|
4811
|
+
if (!this.isImportRules && !this.prvtEvtTgrDaD) {
|
|
4000
4812
|
this.trigger('change', args);
|
|
4001
4813
|
}
|
|
4002
4814
|
this.filterRules(beforeRules, this.getValidRules(this.rule), 'deleteRule');
|
|
@@ -4020,9 +4832,32 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
4020
4832
|
this.isImportRules = false;
|
|
4021
4833
|
};
|
|
4022
4834
|
QueryBuilder.prototype.keyBoardHandler = function (e) {
|
|
4023
|
-
if (this.readonly && (e.keyCode === 38 || e.keyCode === 40 || e.keyCode === 13)) {
|
|
4835
|
+
if (e.currentTarget === this.element && this.readonly && (e.keyCode === 38 || e.keyCode === 40 || e.keyCode === 13)) {
|
|
4024
4836
|
e.preventDefault();
|
|
4025
4837
|
}
|
|
4838
|
+
else if (e.code === 'Escape' && this.allowDragAndDrop) {
|
|
4839
|
+
this.isDragEventPrevent = true;
|
|
4840
|
+
document.body.classList.remove('e-prevent-select');
|
|
4841
|
+
var borderLineElem = this.element.querySelectorAll('.e-drag-rule-bottom-line');
|
|
4842
|
+
borderLineElem.forEach(function (ele) {
|
|
4843
|
+
ele.classList.remove('e-drag-rule-bottom-line');
|
|
4844
|
+
});
|
|
4845
|
+
borderLineElem = this.element.querySelectorAll('.e-drag-rule-top-line');
|
|
4846
|
+
borderLineElem.forEach(function (ele) {
|
|
4847
|
+
ele.classList.remove('e-drag-rule-top-line');
|
|
4848
|
+
});
|
|
4849
|
+
borderLineElem = this.element.querySelectorAll('.e-qb-dragging-rule');
|
|
4850
|
+
borderLineElem.forEach(function (ele) {
|
|
4851
|
+
ele.classList.remove('e-qb-dragging-rule');
|
|
4852
|
+
});
|
|
4853
|
+
var dragElemnet = this.element.querySelector('.e-cloneproperties');
|
|
4854
|
+
if (dragElemnet) {
|
|
4855
|
+
remove(dragElemnet);
|
|
4856
|
+
}
|
|
4857
|
+
if (this.enableSeparateConnector) {
|
|
4858
|
+
this.refresh();
|
|
4859
|
+
}
|
|
4860
|
+
}
|
|
4026
4861
|
};
|
|
4027
4862
|
QueryBuilder.prototype.clearQBTemplate = function (ruleElemColl) {
|
|
4028
4863
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
@@ -4030,7 +4865,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
4030
4865
|
this.clearTemplate(ruleElemColl);
|
|
4031
4866
|
}
|
|
4032
4867
|
};
|
|
4033
|
-
QueryBuilder.prototype.disableRuleCondition = function (groupElem, rules) {
|
|
4868
|
+
QueryBuilder.prototype.disableRuleCondition = function (groupElem, rules, isNewRuleAdded, isNewGroup) {
|
|
4034
4869
|
if (!this.headerTemplate) {
|
|
4035
4870
|
if (this.readonly) {
|
|
4036
4871
|
return;
|
|
@@ -4046,21 +4881,124 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
4046
4881
|
orElem.nextElementSibling.classList.remove('e-btn-disable');
|
|
4047
4882
|
andElem.nextElementSibling.classList.remove('e-btn-disable');
|
|
4048
4883
|
}
|
|
4049
|
-
if (
|
|
4050
|
-
|
|
4884
|
+
if (this.enableSeparateConnector && !isNewRuleAdded) {
|
|
4885
|
+
var index = 0;
|
|
4886
|
+
var element = void 0;
|
|
4887
|
+
// eslint-disable-next-line no-constant-condition
|
|
4888
|
+
while (true) {
|
|
4889
|
+
var andGroup = groupElem.parentElement.querySelectorAll('.e-btngroup-and');
|
|
4890
|
+
var orGroup = groupElem.parentElement.querySelectorAll('.e-btngroup-or');
|
|
4891
|
+
andElem = andGroup[andGroup.length - (1 + index)];
|
|
4892
|
+
orElem = orGroup[orGroup.length - (1 + index)];
|
|
4893
|
+
element = andGroup[andGroup.length - (1 + index)];
|
|
4894
|
+
if (element && element.parentElement && element.parentElement.style.display === 'none') {
|
|
4895
|
+
index++;
|
|
4896
|
+
}
|
|
4897
|
+
else {
|
|
4898
|
+
break;
|
|
4899
|
+
}
|
|
4900
|
+
}
|
|
4901
|
+
var elem = groupElem.previousElementSibling;
|
|
4902
|
+
while (elem && !elem.classList.contains('e-rule-container')) {
|
|
4903
|
+
if (elem.classList.contains('e-group-container')) {
|
|
4904
|
+
elem = elem.querySelectorAll('.e-rule-container')[elem.querySelectorAll('.e-rule-container').length - 1];
|
|
4905
|
+
break;
|
|
4906
|
+
}
|
|
4907
|
+
elem = elem.previousElementSibling;
|
|
4908
|
+
}
|
|
4909
|
+
if (isNewGroup && groupElem.classList.contains('e-group-container')) {
|
|
4910
|
+
elem = groupElem;
|
|
4911
|
+
var prevRule = this.getGroup(elem);
|
|
4912
|
+
if (prevRule.condition === 'or') {
|
|
4913
|
+
orElem.checked = true;
|
|
4914
|
+
}
|
|
4915
|
+
else {
|
|
4916
|
+
andElem.checked = true;
|
|
4917
|
+
}
|
|
4918
|
+
}
|
|
4919
|
+
else if (elem && elem.classList.contains('e-rule-container')) {
|
|
4920
|
+
var ruleID = elem.id.replace(this.element.id + '_', '');
|
|
4921
|
+
var prevRule = this.getRule(ruleID);
|
|
4922
|
+
if (prevRule.condition === 'or') {
|
|
4923
|
+
orElem.checked = true;
|
|
4924
|
+
}
|
|
4925
|
+
else {
|
|
4926
|
+
andElem.checked = true;
|
|
4927
|
+
}
|
|
4928
|
+
}
|
|
4051
4929
|
}
|
|
4052
|
-
else {
|
|
4053
|
-
|
|
4930
|
+
else if (!isNewRuleAdded) {
|
|
4931
|
+
if (rules && rules.condition === 'or') {
|
|
4932
|
+
orElem.checked = true;
|
|
4933
|
+
}
|
|
4934
|
+
else {
|
|
4935
|
+
andElem.checked = true;
|
|
4936
|
+
}
|
|
4054
4937
|
}
|
|
4055
4938
|
}
|
|
4056
4939
|
else {
|
|
4057
|
-
|
|
4058
|
-
|
|
4059
|
-
|
|
4060
|
-
|
|
4061
|
-
|
|
4062
|
-
|
|
4063
|
-
|
|
4940
|
+
if (this.enableSeparateConnector && !isNewRuleAdded) {
|
|
4941
|
+
var index = 0;
|
|
4942
|
+
var element = void 0;
|
|
4943
|
+
// eslint-disable-next-line no-constant-condition
|
|
4944
|
+
while (true) {
|
|
4945
|
+
var andGroup = groupElem.parentElement.querySelectorAll('.e-btngroup-and');
|
|
4946
|
+
var orGroup = groupElem.parentElement.querySelectorAll('.e-btngroup-or');
|
|
4947
|
+
andElem = andGroup[andGroup.length - (1 + index)];
|
|
4948
|
+
orElem = orGroup[orGroup.length - (1 + index)];
|
|
4949
|
+
element = andGroup[andGroup.length - (1 + index)];
|
|
4950
|
+
if (element && element.parentElement && element.parentElement.style.display === 'none') {
|
|
4951
|
+
index++;
|
|
4952
|
+
}
|
|
4953
|
+
else {
|
|
4954
|
+
break;
|
|
4955
|
+
}
|
|
4956
|
+
}
|
|
4957
|
+
var elem = void 0;
|
|
4958
|
+
var tempElem = groupElem.previousElementSibling;
|
|
4959
|
+
while (tempElem) {
|
|
4960
|
+
if (tempElem.classList.contains('e-group-container')) {
|
|
4961
|
+
tempElem = tempElem.querySelectorAll('.e-rule-container')[tempElem.querySelectorAll('.e-rule-container').length - 1];
|
|
4962
|
+
}
|
|
4963
|
+
if (tempElem.classList.contains('e-rule-container')) {
|
|
4964
|
+
elem = tempElem;
|
|
4965
|
+
break;
|
|
4966
|
+
}
|
|
4967
|
+
tempElem = tempElem.previousElementSibling;
|
|
4968
|
+
}
|
|
4969
|
+
if (isNullOrUndefined(elem) && groupElem.querySelectorAll('.e-rule-container')[groupElem.querySelectorAll('.e-rule-container').length - 1]) {
|
|
4970
|
+
elem = groupElem.querySelectorAll('.e-rule-container')[groupElem.querySelectorAll('.e-rule-container').length - 1];
|
|
4971
|
+
}
|
|
4972
|
+
if (isNewGroup && groupElem.classList.contains('e-group-container')) {
|
|
4973
|
+
elem = groupElem;
|
|
4974
|
+
var prevRule = this.getGroup(elem);
|
|
4975
|
+
if (prevRule.condition === 'or') {
|
|
4976
|
+
orElem.checked = true;
|
|
4977
|
+
}
|
|
4978
|
+
else {
|
|
4979
|
+
andElem.checked = true;
|
|
4980
|
+
}
|
|
4981
|
+
}
|
|
4982
|
+
else if (elem) {
|
|
4983
|
+
var ruleID = elem.id.replace(this.element.id + '_', '');
|
|
4984
|
+
var prevRule = this.getRule(ruleID);
|
|
4985
|
+
if (prevRule.condition === 'or' && orElem) {
|
|
4986
|
+
orElem.checked = true;
|
|
4987
|
+
}
|
|
4988
|
+
else if (andElem) {
|
|
4989
|
+
andElem.checked = true;
|
|
4990
|
+
}
|
|
4991
|
+
}
|
|
4992
|
+
}
|
|
4993
|
+
else if (!isNewRuleAdded) {
|
|
4994
|
+
andElem.checked = false;
|
|
4995
|
+
andElem.disabled = true;
|
|
4996
|
+
orElem.checked = false;
|
|
4997
|
+
orElem.disabled = true;
|
|
4998
|
+
if (rules) {
|
|
4999
|
+
orElem.nextElementSibling.classList.add('e-btn-disable');
|
|
5000
|
+
andElem.nextElementSibling.classList.add('e-btn-disable');
|
|
5001
|
+
}
|
|
4064
5002
|
}
|
|
4065
5003
|
}
|
|
4066
5004
|
}
|
|
@@ -4164,7 +5102,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
4164
5102
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
4165
5103
|
rule.custom = customObj;
|
|
4166
5104
|
}
|
|
4167
|
-
if (rule.rules.length === 0) {
|
|
5105
|
+
if (rule.rules && rule.rules.length === 0) {
|
|
4168
5106
|
rule = {};
|
|
4169
5107
|
}
|
|
4170
5108
|
}
|
|
@@ -4233,7 +5171,12 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
4233
5171
|
var rule = this.getParentGroup(groupElem);
|
|
4234
5172
|
while (ruleElem.previousElementSibling !== null) {
|
|
4235
5173
|
ruleElem = ruleElem.previousElementSibling;
|
|
4236
|
-
|
|
5174
|
+
if (!this.enableSeparateConnector || (this.enableSeparateConnector &&
|
|
5175
|
+
((!this.headerTemplate && !ruleElem.classList.contains('e-btn-group')) ||
|
|
5176
|
+
this.headerTemplate && (ruleElem.classList.contains('e-rule-container') ||
|
|
5177
|
+
ruleElem.classList.contains('e-group-container'))))) {
|
|
5178
|
+
index++;
|
|
5179
|
+
}
|
|
4237
5180
|
}
|
|
4238
5181
|
return rule.rules[index];
|
|
4239
5182
|
};
|
|
@@ -4643,13 +5586,10 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
4643
5586
|
if (value.indexOf(':') > -1 && (value.indexOf('/') < 0 && value.indexOf(',') < 0
|
|
4644
5587
|
&& value.indexOf('-') < 0)) {
|
|
4645
5588
|
currDate = new Date();
|
|
4646
|
-
|
|
4647
|
-
currDate.
|
|
4648
|
-
// eslint-disable-next-line
|
|
4649
|
-
currDate.setMinutes(parseInt(value.split(':')[1]));
|
|
5589
|
+
currDate.setHours(parseInt(value.split(':')[0], 10));
|
|
5590
|
+
currDate.setMinutes(parseInt(value.split(':')[1], 10));
|
|
4650
5591
|
if (value.split(':')[2]) {
|
|
4651
|
-
|
|
4652
|
-
currDate.setSeconds(parseInt(value.split(':')[2]));
|
|
5592
|
+
currDate.setSeconds(parseInt(value.split(':')[2], 10));
|
|
4653
5593
|
}
|
|
4654
5594
|
}
|
|
4655
5595
|
return currDate;
|
|
@@ -4665,17 +5605,43 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
4665
5605
|
parentElem = this.renderGroup(rule, rule.condition, parentElem, not);
|
|
4666
5606
|
}
|
|
4667
5607
|
else {
|
|
4668
|
-
if (rule.rules.length > 1 && !this.headerTemplate) {
|
|
5608
|
+
if (rule.rules && rule.rules.length > 1 && !this.headerTemplate) {
|
|
4669
5609
|
// enable/disable conditions when rule group is added
|
|
4670
5610
|
var orElem = parentElem.querySelector('.e-btngroup-or');
|
|
4671
5611
|
var andElem = parentElem.querySelector('.e-btngroup-and');
|
|
5612
|
+
if (this.enableSeparateConnector && parentElem.previousElementSibling) {
|
|
5613
|
+
orElem = parentElem.previousElementSibling.querySelector('.e-btngroup-or');
|
|
5614
|
+
andElem = parentElem.previousElementSibling.querySelector('.e-btngroup-and');
|
|
5615
|
+
}
|
|
4672
5616
|
orElem.disabled = false;
|
|
4673
5617
|
andElem.disabled = false;
|
|
4674
|
-
if (
|
|
4675
|
-
|
|
5618
|
+
if (this.enableSeparateConnector) {
|
|
5619
|
+
var elem = parentElem.previousElementSibling;
|
|
5620
|
+
while (elem && !elem.classList.contains('e-rule-container')) {
|
|
5621
|
+
if (elem.classList.contains('e-group-container')) {
|
|
5622
|
+
elem = elem.querySelectorAll('.e-rule-container')[elem.querySelectorAll('.e-rule-container').length - 1];
|
|
5623
|
+
break;
|
|
5624
|
+
}
|
|
5625
|
+
elem = elem.previousElementSibling;
|
|
5626
|
+
}
|
|
5627
|
+
if (elem && elem.classList.contains('e-rule-container')) {
|
|
5628
|
+
var ruleID = elem.id.replace(this.element.id + '_', '');
|
|
5629
|
+
var prevRule = this.getRule(ruleID);
|
|
5630
|
+
if (prevRule.condition === 'or') {
|
|
5631
|
+
orElem.checked = true;
|
|
5632
|
+
}
|
|
5633
|
+
else {
|
|
5634
|
+
andElem.checked = true;
|
|
5635
|
+
}
|
|
5636
|
+
}
|
|
4676
5637
|
}
|
|
4677
5638
|
else {
|
|
4678
|
-
|
|
5639
|
+
if (rule.condition === 'or') {
|
|
5640
|
+
orElem.checked = true;
|
|
5641
|
+
}
|
|
5642
|
+
else {
|
|
5643
|
+
andElem.checked = true;
|
|
5644
|
+
}
|
|
4679
5645
|
}
|
|
4680
5646
|
}
|
|
4681
5647
|
else {
|
|
@@ -4695,7 +5661,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
4695
5661
|
}
|
|
4696
5662
|
}
|
|
4697
5663
|
}
|
|
4698
|
-
if (rule.rules.length === 0 && this.headerTemplate) {
|
|
5664
|
+
if (rule.rules && rule.rules.length === 0 && this.headerTemplate) {
|
|
4699
5665
|
rule.rules[0] = { 'label': '', 'field': '', 'operator': '', 'type': '', 'value': '' };
|
|
4700
5666
|
}
|
|
4701
5667
|
var ruleColl = rule.rules;
|
|
@@ -4716,10 +5682,6 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
4716
5682
|
var lockGrpTarget = parentElem.querySelector('.e-rule-list').children[i].querySelector('.e-lock-grp-btn');
|
|
4717
5683
|
this.groupLock(lockGrpTarget);
|
|
4718
5684
|
}
|
|
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
5685
|
}
|
|
4724
5686
|
}
|
|
4725
5687
|
if (parentElem) {
|
|
@@ -4737,7 +5699,17 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
4737
5699
|
if (this.showButtons.cloneGroup && this.cloneGrpBtnClick && this.isMiddleGroup) {
|
|
4738
5700
|
this.isMiddleGroup = false;
|
|
4739
5701
|
this.cloneGrpBtnClick = false;
|
|
4740
|
-
|
|
5702
|
+
var index = 0;
|
|
5703
|
+
var tempGroupIndex = this.groupIndex + 1;
|
|
5704
|
+
if (this.enableSeparateConnector) {
|
|
5705
|
+
for (var i = 0; i < tempGroupIndex; i++) {
|
|
5706
|
+
if (cloneElem[i].classList.contains('e-rule-container')) {
|
|
5707
|
+
tempGroupIndex++;
|
|
5708
|
+
index++;
|
|
5709
|
+
}
|
|
5710
|
+
}
|
|
5711
|
+
}
|
|
5712
|
+
return cloneElem[this.groupIndex + index + 1]; // group added in the middle
|
|
4741
5713
|
}
|
|
4742
5714
|
else if (this.showButtons.cloneGroup && this.cloneGrpBtnClick && this.isLastGroup) {
|
|
4743
5715
|
this.isLastGroup = false;
|
|
@@ -4864,9 +5836,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
4864
5836
|
}
|
|
4865
5837
|
}
|
|
4866
5838
|
}
|
|
4867
|
-
else if (elem.classList.contains('e-btn-disable'))
|
|
4868
|
-
// do nothing
|
|
4869
|
-
}
|
|
5839
|
+
else if (elem.classList.contains('e-btn-disable')) ;
|
|
4870
5840
|
else {
|
|
4871
5841
|
elem.classList.add('e-readonly');
|
|
4872
5842
|
}
|
|
@@ -4906,6 +5876,9 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
4906
5876
|
for (var j = 0, jLen = rules.rules.length; j < jLen; j++) {
|
|
4907
5877
|
if (rules.rules[j].rules) {
|
|
4908
5878
|
queryStr = this.getSqlString(rules.rules[j], enableEscape, queryStr, sqlLocale);
|
|
5879
|
+
if (this.enableSeparateConnector) {
|
|
5880
|
+
condition = rules.rules[j].condition;
|
|
5881
|
+
}
|
|
4909
5882
|
}
|
|
4910
5883
|
else {
|
|
4911
5884
|
var rule = rules.rules[j];
|
|
@@ -4997,8 +5970,10 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
4997
5970
|
if (condition === '' || (rule && rule.condition !== '' && rule.custom && rule.custom.isCustom)) {
|
|
4998
5971
|
condition = rule.condition;
|
|
4999
5972
|
}
|
|
5000
|
-
|
|
5001
|
-
|
|
5973
|
+
if (condition) {
|
|
5974
|
+
condition = sqlLocale ? this.l10n.getConstant(condition.toUpperCase()).toUpperCase() : condition.toUpperCase();
|
|
5975
|
+
queryStr += ' ' + condition + ' ';
|
|
5976
|
+
}
|
|
5002
5977
|
}
|
|
5003
5978
|
}
|
|
5004
5979
|
}
|
|
@@ -5064,12 +6039,19 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
5064
6039
|
* @returns {ParameterizedSql} – Parameterized SQL query from rules.
|
|
5065
6040
|
*/
|
|
5066
6041
|
QueryBuilder.prototype.getParameterizedSql = function (rule) {
|
|
5067
|
-
|
|
5068
|
-
|
|
6042
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
6043
|
+
if (this.moduleLoader.loadedModules.length) {
|
|
6044
|
+
if (!rule) {
|
|
6045
|
+
rule = this.getValidRules();
|
|
6046
|
+
}
|
|
6047
|
+
var obj = { sql: null };
|
|
6048
|
+
this.notify('query-library', { prop: 'getParameterSql', onPropertyChange: false, value: { rule: rule, obj: obj } });
|
|
6049
|
+
return obj['sql'];
|
|
6050
|
+
}
|
|
6051
|
+
else {
|
|
6052
|
+
console.warn('[WARNING] :: Module "query-library" is not available in QueryBuilder component! You either misspelled the module name or forgot to load it.');
|
|
5069
6053
|
}
|
|
5070
|
-
|
|
5071
|
-
this.notify('query-library', { prop: 'getParameterSql', onPropertyChange: false, value: { rule: rule, obj: obj } });
|
|
5072
|
-
return obj['sql'];
|
|
6054
|
+
return null;
|
|
5073
6055
|
};
|
|
5074
6056
|
/**
|
|
5075
6057
|
* Sets the rules from the parameter sql query.
|
|
@@ -5078,13 +6060,19 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
5078
6060
|
* @returns {void}
|
|
5079
6061
|
*/
|
|
5080
6062
|
QueryBuilder.prototype.setParameterizedSql = function (sqlQuery) {
|
|
5081
|
-
|
|
5082
|
-
this.
|
|
5083
|
-
|
|
5084
|
-
|
|
5085
|
-
sql = sql
|
|
5086
|
-
|
|
5087
|
-
|
|
6063
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
6064
|
+
if (this.moduleLoader.loadedModules.length) {
|
|
6065
|
+
var obj = { sql: null };
|
|
6066
|
+
this.notify('query-library', { prop: 'convertParamSqlToSql', onPropertyChange: false, value: { sql: sqlQuery, obj: obj } });
|
|
6067
|
+
var sql = obj['sql'];
|
|
6068
|
+
if (sql) {
|
|
6069
|
+
sql = sql.replace(/`/g, '');
|
|
6070
|
+
var ruleModel = this.getRulesFromSql(sql);
|
|
6071
|
+
this.setRules({ condition: ruleModel.condition, not: ruleModel.not, rules: ruleModel.rules });
|
|
6072
|
+
}
|
|
6073
|
+
}
|
|
6074
|
+
else {
|
|
6075
|
+
console.warn('[WARNING] :: Module "query-library" is not available in QueryBuilder component! You either misspelled the module name or forgot to load it.');
|
|
5088
6076
|
}
|
|
5089
6077
|
};
|
|
5090
6078
|
/**
|
|
@@ -5094,12 +6082,19 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
5094
6082
|
* @returns {ParameterizedNamedSql} – Parameterized Named SQL query from rules.
|
|
5095
6083
|
*/
|
|
5096
6084
|
QueryBuilder.prototype.getParameterizedNamedSql = function (rule) {
|
|
5097
|
-
|
|
5098
|
-
|
|
6085
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
6086
|
+
if (this.moduleLoader.loadedModules.length) {
|
|
6087
|
+
if (!rule) {
|
|
6088
|
+
rule = this.getValidRules();
|
|
6089
|
+
}
|
|
6090
|
+
var obj = { sql: null };
|
|
6091
|
+
this.notify('query-library', { prop: 'getNamedParameterSql', onPropertyChange: false, value: { rule: rule, obj: obj } });
|
|
6092
|
+
return obj['sql'];
|
|
6093
|
+
}
|
|
6094
|
+
else {
|
|
6095
|
+
console.warn('[WARNING] :: Module "query-library" is not available in QueryBuilder component! You either misspelled the module name or forgot to load it.');
|
|
5099
6096
|
}
|
|
5100
|
-
|
|
5101
|
-
this.notify('query-library', { prop: 'getNamedParameterSql', onPropertyChange: false, value: { rule: rule, obj: obj } });
|
|
5102
|
-
return obj['sql'];
|
|
6097
|
+
return null;
|
|
5103
6098
|
};
|
|
5104
6099
|
/**
|
|
5105
6100
|
* Sets the rules from the named parameter SQL query.
|
|
@@ -5108,13 +6103,19 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
5108
6103
|
* @returns {void}
|
|
5109
6104
|
*/
|
|
5110
6105
|
QueryBuilder.prototype.setParameterizedNamedSql = function (sqlQuery) {
|
|
5111
|
-
|
|
5112
|
-
this.
|
|
5113
|
-
|
|
5114
|
-
|
|
5115
|
-
sql = sql
|
|
5116
|
-
|
|
5117
|
-
|
|
6106
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
6107
|
+
if (this.moduleLoader.loadedModules.length) {
|
|
6108
|
+
var obj = { sql: null };
|
|
6109
|
+
this.notify('query-library', { prop: 'convertNamedParamSqlToSql', onPropertyChange: false, value: { sql: sqlQuery, obj: obj } });
|
|
6110
|
+
var sql = obj['sql'];
|
|
6111
|
+
if (sql) {
|
|
6112
|
+
sql = sql.replace(/`/g, '');
|
|
6113
|
+
var ruleModel = this.getRulesFromSql(sql);
|
|
6114
|
+
this.setRules({ condition: ruleModel.condition, not: ruleModel.not, rules: ruleModel.rules });
|
|
6115
|
+
}
|
|
6116
|
+
}
|
|
6117
|
+
else {
|
|
6118
|
+
console.warn('[WARNING] :: Module "query-library" is not available in QueryBuilder component! You either misspelled the module name or forgot to load it.');
|
|
5118
6119
|
}
|
|
5119
6120
|
};
|
|
5120
6121
|
/**
|
|
@@ -5125,8 +6126,14 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
5125
6126
|
* @returns {void}
|
|
5126
6127
|
*/
|
|
5127
6128
|
QueryBuilder.prototype.setMongoQuery = function (mongoQuery, mongoLocale) {
|
|
5128
|
-
|
|
5129
|
-
this.
|
|
6129
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
6130
|
+
if (this.moduleLoader.loadedModules.length) {
|
|
6131
|
+
this.rule = { condition: 'and', not: false, rules: [] };
|
|
6132
|
+
this.notify('query-library', { prop: 'mongoParser', onPropertyChange: false, value: { mongoQuery: JSON.parse(mongoQuery), rule: this.rule, mongoLocale: mongoLocale } });
|
|
6133
|
+
}
|
|
6134
|
+
else {
|
|
6135
|
+
console.warn('[WARNING] :: Module "query-library" is not available in QueryBuilder component! You either misspelled the module name or forgot to load it.');
|
|
6136
|
+
}
|
|
5130
6137
|
};
|
|
5131
6138
|
/**
|
|
5132
6139
|
* Gets the Mongo query from rules.
|
|
@@ -5135,12 +6142,19 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
5135
6142
|
* @returns {object} - Sql query from rules.
|
|
5136
6143
|
*/
|
|
5137
6144
|
QueryBuilder.prototype.getMongoQuery = function (rule) {
|
|
5138
|
-
|
|
5139
|
-
|
|
6145
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
6146
|
+
if (this.moduleLoader.loadedModules.length) {
|
|
6147
|
+
if (!rule) {
|
|
6148
|
+
rule = this.getValidRules();
|
|
6149
|
+
}
|
|
6150
|
+
var obj = { mongoQuery: null };
|
|
6151
|
+
this.notify('query-library', { prop: 'getMongoFromRules', onPropertyChange: false, value: { rule: rule, mongoQuery: '', obj: obj } });
|
|
6152
|
+
return obj['mongoQuery'];
|
|
6153
|
+
}
|
|
6154
|
+
else {
|
|
6155
|
+
console.warn('[WARNING] :: Module "query-library" is not available in QueryBuilder component! You either misspelled the module name or forgot to load it.');
|
|
5140
6156
|
}
|
|
5141
|
-
|
|
5142
|
-
this.notify('query-library', { prop: 'getMongoFromRules', onPropertyChange: false, value: { rule: rule, mongoQuery: '', obj: obj } });
|
|
5143
|
-
return obj['mongoQuery'];
|
|
6157
|
+
return '';
|
|
5144
6158
|
};
|
|
5145
6159
|
/**
|
|
5146
6160
|
* Clones the rule based on the rule ID to the specific group.
|
|
@@ -5159,7 +6173,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
5159
6173
|
this.showButtons.cloneRule = true;
|
|
5160
6174
|
this.addRules([{
|
|
5161
6175
|
'label': getRule.label, 'field': getRule.field, 'type': getRule.type, 'operator': getRule.operator,
|
|
5162
|
-
'value': getRule.value
|
|
6176
|
+
'value': getRule.value, 'condition': getRule.condition
|
|
5163
6177
|
}], groupID);
|
|
5164
6178
|
this.ruleIndex = -1;
|
|
5165
6179
|
this.cloneRuleBtnClick = false;
|
|
@@ -5248,8 +6262,9 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
5248
6262
|
var matchValue;
|
|
5249
6263
|
for (var i = 0, iLen = operators.length; i < iLen; i++) {
|
|
5250
6264
|
regexStr = /^\w+$/.test(operators[i]) ? '\\b' : '';
|
|
5251
|
-
// eslint-disable-next-line
|
|
5252
|
-
|
|
6265
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
6266
|
+
var regExp = RegExp;
|
|
6267
|
+
regex = new regExp('^(' + operators[i] + ')' + regexStr, 'ig');
|
|
5253
6268
|
if (regex.exec(sqlString)) {
|
|
5254
6269
|
this.parser.push(['Operators', operators[i].toLowerCase()]);
|
|
5255
6270
|
return operators[i].length;
|
|
@@ -5259,8 +6274,9 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
5259
6274
|
if (!lastPasrser || (lastPasrser && lastPasrser[0] !== 'Literal')) {
|
|
5260
6275
|
for (var i = 0, iLen = conditions.length; i < iLen; i++) {
|
|
5261
6276
|
regexStr = /^\w+$/.test(conditions[i]) ? '\\b' : '';
|
|
5262
|
-
// eslint-disable-next-line
|
|
5263
|
-
|
|
6277
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
6278
|
+
var regExp = RegExp;
|
|
6279
|
+
regex = new regExp('^(' + conditions[i] + ')' + regexStr, 'ig');
|
|
5264
6280
|
if (regex.exec(sqlString)) {
|
|
5265
6281
|
this.parser.push(['Conditions', conditions[i].toLowerCase()]);
|
|
5266
6282
|
return conditions[i].length;
|
|
@@ -5269,8 +6285,9 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
5269
6285
|
}
|
|
5270
6286
|
for (var i = 0, iLen = subOp.length; i < iLen; i++) {
|
|
5271
6287
|
regexStr = /^\w+$/.test(subOp[i]) ? '\\b' : '';
|
|
5272
|
-
// eslint-disable-next-line
|
|
5273
|
-
|
|
6288
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
6289
|
+
var regExp = RegExp;
|
|
6290
|
+
regex = new regExp('^(' + subOp[i] + ')' + regexStr, 'ig');
|
|
5274
6291
|
if (regex.exec(sqlString)) {
|
|
5275
6292
|
this.parser.push(['SubOperators', subOp[i].toLowerCase()]);
|
|
5276
6293
|
return subOp[i].length;
|
|
@@ -5298,31 +6315,25 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
5298
6315
|
this.parser.push(['String', null]);
|
|
5299
6316
|
return matchValue.length;
|
|
5300
6317
|
}
|
|
5301
|
-
|
|
5302
|
-
|
|
5303
|
-
// eslint-disable-next-line
|
|
5304
|
-
matchValue = /^`?([a-zåäö_][a-z0-9åäö_.\[\]\(\)]{0,}(\:(number|float|string|date|boolean))?)`?/i.exec(sqlString)[1];
|
|
6318
|
+
if (/^`?([a-z_][a-z0-9_.\\[\]\\(\\)]{0,}(\\:(number|float|string|date|boolean))?)`?/i.exec(sqlString)) {
|
|
6319
|
+
matchValue = /^`?([a-z_][a-z0-9_.\\[\]\\(\\)]{0,}(\\:(number|float|string|date|boolean))?)`?/i.exec(sqlString)[1];
|
|
5305
6320
|
this.parser.push(['Literal', matchValue]);
|
|
5306
6321
|
return matchValue.length;
|
|
5307
6322
|
}
|
|
5308
|
-
|
|
5309
|
-
|
|
5310
|
-
// eslint-disable-next-line
|
|
5311
|
-
matchValue = /^'?([a-z_][a-z0-9 _.\[\]\(\)-]{0,}(\:(number|float|string|date|boolean))?)'?/i.exec(sqlString)[1];
|
|
6323
|
+
if (this.checkLiteral() && /^'?([a-z_][a-z0-9 _.\\[\]\\(\\)-]{0,}(\\:(number|float|string|date|boolean))?)'?/i.exec(sqlString)) {
|
|
6324
|
+
matchValue = /^'?([a-z_][a-z0-9 _.\\[\]\\(\\)-]{0,}(\\:(number|float|string|date|boolean))?)'?/i.exec(sqlString)[1];
|
|
5312
6325
|
this.parser.push(['Literal', matchValue]);
|
|
5313
6326
|
return matchValue.length + 2;
|
|
5314
6327
|
}
|
|
5315
6328
|
if (this.checkNumberLiteral(sqlString, sqlLocale)) {
|
|
5316
|
-
|
|
5317
|
-
matchValue = /^[0-9]+(\.[0-9]+)?/.exec(sqlString)[0];
|
|
6329
|
+
matchValue = /^[0-9]+(\.[0-9]+)$/.exec(sqlString)[0];
|
|
5318
6330
|
this.parser.push(['Literal', matchValue]);
|
|
5319
6331
|
return matchValue.length;
|
|
5320
6332
|
}
|
|
5321
6333
|
//String
|
|
5322
|
-
|
|
5323
|
-
if (
|
|
5324
|
-
|
|
5325
|
-
matchValue = /^'((?:[^\\']+?|\\.|'')*)'(?!')/.exec(sqlString)[0];
|
|
6334
|
+
var singleString = this.getSingleQuoteString(sqlString);
|
|
6335
|
+
if (singleString !== '') {
|
|
6336
|
+
matchValue = singleString;
|
|
5326
6337
|
if (matchValue[matchValue.length - 2] === '(') {
|
|
5327
6338
|
var isClosed = false;
|
|
5328
6339
|
for (var j = matchValue.length; j < sqlString.length; j++) {
|
|
@@ -5337,38 +6348,43 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
5337
6348
|
}
|
|
5338
6349
|
else if (sqlString[matchValue.length] && (sqlString[matchValue.length] !== ')') &&
|
|
5339
6350
|
!this.checkCondition(sqlString, matchValue)) {
|
|
5340
|
-
matchValue = this.
|
|
6351
|
+
matchValue = this.combineSingleQuoteString(sqlString, matchValue);
|
|
5341
6352
|
}
|
|
5342
6353
|
// end
|
|
5343
6354
|
this.parser.push(['String', matchValue]);
|
|
5344
6355
|
return matchValue.length;
|
|
5345
6356
|
}
|
|
5346
6357
|
// Double String
|
|
5347
|
-
|
|
5348
|
-
if (
|
|
5349
|
-
|
|
5350
|
-
matchValue = /^"([^\\"]*(?:\\.[^\\"]*)*)"/.exec(sqlString)[0];
|
|
6358
|
+
var doubleString = this.getDoubleQuoteString(sqlString);
|
|
6359
|
+
if (doubleString !== '') {
|
|
6360
|
+
matchValue = doubleString;
|
|
5351
6361
|
this.parser.push(['DoubleString', matchValue]);
|
|
5352
6362
|
return matchValue.length;
|
|
5353
6363
|
}
|
|
5354
6364
|
//Number
|
|
5355
|
-
|
|
5356
|
-
|
|
5357
|
-
// eslint-disable-next-line
|
|
5358
|
-
matchValue = /^[0-9]+(\.[0-9]+)?/.exec(sqlString)[0];
|
|
6365
|
+
if (/^\d*\.?\d+/.exec(sqlString)) {
|
|
6366
|
+
matchValue = /^\d*\.?\d+/.exec(sqlString)[0];
|
|
5359
6367
|
this.parser.push(['Number', matchValue]);
|
|
5360
6368
|
return matchValue.length;
|
|
5361
6369
|
}
|
|
5362
6370
|
//Negative Number
|
|
5363
|
-
|
|
5364
|
-
|
|
5365
|
-
// eslint-disable-next-line
|
|
5366
|
-
matchValue = /^-?[0-9]+(\.[0-9]+)?/.exec(sqlString)[0];
|
|
6371
|
+
if (/^-?\d*\.?\d+/.exec(sqlString)) {
|
|
6372
|
+
matchValue = /^-?\d*\.?\d+/.exec(sqlString)[0];
|
|
5367
6373
|
this.parser.push(['Number', matchValue]);
|
|
5368
6374
|
return matchValue.length;
|
|
5369
6375
|
}
|
|
5370
6376
|
return 1;
|
|
5371
6377
|
};
|
|
6378
|
+
QueryBuilder.prototype.getDoubleQuoteString = function (sqlString) {
|
|
6379
|
+
var start = sqlString.indexOf('"');
|
|
6380
|
+
if (start === 0) {
|
|
6381
|
+
var end = sqlString.indexOf('"', start + 1);
|
|
6382
|
+
if (end !== -1) {
|
|
6383
|
+
return sqlString.substring(start, end + 1);
|
|
6384
|
+
}
|
|
6385
|
+
}
|
|
6386
|
+
return '';
|
|
6387
|
+
};
|
|
5372
6388
|
QueryBuilder.prototype.checkCondition = function (sqlString, matchValue) {
|
|
5373
6389
|
if (sqlString.slice(matchValue.length + 1, matchValue.length + 4) === 'AND' ||
|
|
5374
6390
|
sqlString.slice(matchValue.length + 1, matchValue.length + 3) === 'OR') {
|
|
@@ -5376,16 +6392,26 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
5376
6392
|
}
|
|
5377
6393
|
return false;
|
|
5378
6394
|
};
|
|
5379
|
-
QueryBuilder.prototype.getSingleQuoteString = function (sqlString,
|
|
6395
|
+
QueryBuilder.prototype.getSingleQuoteString = function (sqlString, isBetween) {
|
|
6396
|
+
var start = sqlString.indexOf('\'');
|
|
6397
|
+
if ((start !== -1 && isBetween) || (start === 0 && !isBetween)) {
|
|
6398
|
+
var end = sqlString.indexOf('\'', start + 1);
|
|
6399
|
+
if (end !== -1) {
|
|
6400
|
+
return sqlString.substring(start, end + 1);
|
|
6401
|
+
}
|
|
6402
|
+
}
|
|
6403
|
+
return '';
|
|
6404
|
+
};
|
|
6405
|
+
QueryBuilder.prototype.combineSingleQuoteString = function (sqlString, matchValue) {
|
|
5380
6406
|
if (sqlString[matchValue.length] && (sqlString[matchValue.length] !== ')') &&
|
|
5381
6407
|
!this.checkCondition(sqlString, matchValue) && sqlString[matchValue.length] !== ',') {
|
|
5382
|
-
var
|
|
5383
|
-
|
|
5384
|
-
|
|
5385
|
-
|
|
5386
|
-
var parsedValue =
|
|
6408
|
+
var tempMatchValue = matchValue.substring(0, matchValue.length - 1);
|
|
6409
|
+
var tempStr = sqlString.replace(tempMatchValue, '');
|
|
6410
|
+
var singleString = this.getSingleQuoteString(tempStr, true);
|
|
6411
|
+
if (singleString !== '') {
|
|
6412
|
+
var parsedValue = singleString.substring(1, singleString.length);
|
|
5387
6413
|
matchValue += parsedValue;
|
|
5388
|
-
matchValue = this.
|
|
6414
|
+
matchValue = this.combineSingleQuoteString(sqlString, matchValue);
|
|
5389
6415
|
}
|
|
5390
6416
|
}
|
|
5391
6417
|
return matchValue;
|
|
@@ -5414,8 +6440,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
5414
6440
|
return true;
|
|
5415
6441
|
}
|
|
5416
6442
|
else {
|
|
5417
|
-
|
|
5418
|
-
if (/^[0-9]+(\.[0-9]+)?/.exec(sqlString)) {
|
|
6443
|
+
if (/^[0-9]+(?:\.[0-9]+)$/.exec(sqlString)) {
|
|
5419
6444
|
var secParser = this.parser[this.parser.length - 2];
|
|
5420
6445
|
var betweenParser = this.parser[this.parser.length - 3];
|
|
5421
6446
|
if (lastParser[0] === 'Left' && (secParser && secParser[0] === 'Conditions')) {
|
|
@@ -5628,16 +6653,17 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
5628
6653
|
strVal = [];
|
|
5629
6654
|
rule.type = this.getTypeFromColumn(rule);
|
|
5630
6655
|
}
|
|
6656
|
+
if (this.enableSeparateConnector && parser[i + 1][0] === 'Conditions') {
|
|
6657
|
+
rule.condition = parser[i + 1][1];
|
|
6658
|
+
}
|
|
5631
6659
|
}
|
|
5632
6660
|
else if (parser[i + 1][0] === 'Operators') {
|
|
5633
6661
|
rule.operator = this.getOperator(parser[i + 2][1], parser[i + 1][1], sqlLocale);
|
|
5634
|
-
if (rule.operator
|
|
5635
|
-
rule.operator =
|
|
5636
|
-
|
|
6662
|
+
if (rule.operator === 'equal' && parser[i + 2][0] === 'String' && parser[i + 2][1] === '\'\'') {
|
|
6663
|
+
rule.operator = 'isempty';
|
|
5637
6664
|
}
|
|
5638
|
-
else if (rule.operator
|
|
5639
|
-
rule.operator =
|
|
5640
|
-
|
|
6665
|
+
else if (rule.operator === 'notequal' && parser[i + 2][0] === 'String' && parser[i + 2][1] === '\'\'') {
|
|
6666
|
+
rule.operator = 'isnotempty';
|
|
5641
6667
|
}
|
|
5642
6668
|
if (parser[i + 2][0] === 'Number') {
|
|
5643
6669
|
rule.type = 'number';
|
|
@@ -5651,6 +6677,9 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
5651
6677
|
}
|
|
5652
6678
|
rule.value = val;
|
|
5653
6679
|
}
|
|
6680
|
+
if (this.enableSeparateConnector && parser[i + 3][0] === 'Conditions') {
|
|
6681
|
+
rule.condition = parser[i + 3][1];
|
|
6682
|
+
}
|
|
5654
6683
|
rule.type = this.getTypeFromColumn(rule);
|
|
5655
6684
|
}
|
|
5656
6685
|
rules.rules.push(rule);
|
|
@@ -5678,7 +6707,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
5678
6707
|
subRules = this.processParser(this.parser, subRules, levelColl, sqlLocale);
|
|
5679
6708
|
return rules;
|
|
5680
6709
|
}
|
|
5681
|
-
else if (parser[i][0] === 'Conditions') {
|
|
6710
|
+
else if (parser[i][0] === 'Conditions' && !this.enableSeparateConnector) {
|
|
5682
6711
|
if (parser[i][1] === 'not' || (sqlLocale && this.l10n.getConstant('NOT').toLowerCase() === parser[i][1])) {
|
|
5683
6712
|
rules.not = true;
|
|
5684
6713
|
}
|
|
@@ -5699,27 +6728,6 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
5699
6728
|
}
|
|
5700
6729
|
return rules;
|
|
5701
6730
|
};
|
|
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
6731
|
/**
|
|
5724
6732
|
* Clone the Group
|
|
5725
6733
|
*
|
|
@@ -5754,8 +6762,14 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
5754
6762
|
this.ruleIndex = i;
|
|
5755
6763
|
}
|
|
5756
6764
|
}
|
|
5757
|
-
this.
|
|
5758
|
-
|
|
6765
|
+
if (this.enableSeparateConnector) {
|
|
6766
|
+
this.addRules([{ 'label': getRule.label, 'field': getRule.field, 'type': getRule.type, 'operator': getRule.operator,
|
|
6767
|
+
'value': getRule.value, 'condition': getRule.condition }], groupId);
|
|
6768
|
+
}
|
|
6769
|
+
else {
|
|
6770
|
+
this.addRules([{ 'label': getRule.label, 'field': getRule.field, 'type': getRule.type, 'operator': getRule.operator,
|
|
6771
|
+
'value': getRule.value }], groupId);
|
|
6772
|
+
}
|
|
5759
6773
|
this.ruleIndex = -1;
|
|
5760
6774
|
};
|
|
5761
6775
|
QueryBuilder.prototype.ruleLock = function (target) {
|
|
@@ -5856,6 +6870,8 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
5856
6870
|
var lockElem = groupElem.querySelectorAll('.e-lock-grp-btn');
|
|
5857
6871
|
var cloneElem = groupElem.querySelectorAll('.e-clone-grp-btn');
|
|
5858
6872
|
var groupContElem = groupElem.querySelectorAll('.e-group-container');
|
|
6873
|
+
var addCondition = groupElem.querySelectorAll('.e-add-condition-btn');
|
|
6874
|
+
var addGroup = groupElem.querySelectorAll('.e-add-group-btn');
|
|
5859
6875
|
for (var i = 0; i < andElem.length; i++) {
|
|
5860
6876
|
if (isDisabled) {
|
|
5861
6877
|
if (groupContElem[i] && groupContElem[i].classList.contains('e-disable')) {
|
|
@@ -5863,7 +6879,15 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
5863
6879
|
}
|
|
5864
6880
|
andElem[i].disabled = true;
|
|
5865
6881
|
orElem[i].disabled = true;
|
|
5866
|
-
addElem[i]
|
|
6882
|
+
if (addElem[i]) {
|
|
6883
|
+
addElem[i].disabled = true;
|
|
6884
|
+
}
|
|
6885
|
+
if (addCondition[i]) {
|
|
6886
|
+
addCondition[i].disabled = true;
|
|
6887
|
+
}
|
|
6888
|
+
if (addGroup[i]) {
|
|
6889
|
+
addGroup[i].disabled = true;
|
|
6890
|
+
}
|
|
5867
6891
|
if (notElem[i]) {
|
|
5868
6892
|
notElem[i].disabled = true;
|
|
5869
6893
|
}
|
|
@@ -5874,7 +6898,7 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
5874
6898
|
cloneElem[i].disabled = true;
|
|
5875
6899
|
}
|
|
5876
6900
|
andElem[i].parentElement.classList.add('e-disabled');
|
|
5877
|
-
if (lockElem[i] !== target) {
|
|
6901
|
+
if (lockElem[i] && lockElem[i] !== target) {
|
|
5878
6902
|
lockElem[i].disabled = true;
|
|
5879
6903
|
lockElem[i].children[0].classList.remove('e-unlock');
|
|
5880
6904
|
lockElem[i].children[0].classList.add('e-lock');
|
|
@@ -5886,8 +6910,18 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
5886
6910
|
}
|
|
5887
6911
|
andElem[i].disabled = false;
|
|
5888
6912
|
orElem[i].disabled = false;
|
|
5889
|
-
addElem[i]
|
|
5890
|
-
|
|
6913
|
+
if (addElem[i]) {
|
|
6914
|
+
addElem[i].disabled = false;
|
|
6915
|
+
}
|
|
6916
|
+
if (addCondition[i]) {
|
|
6917
|
+
addCondition[i].disabled = false;
|
|
6918
|
+
}
|
|
6919
|
+
if (addGroup[i]) {
|
|
6920
|
+
addGroup[i].disabled = false;
|
|
6921
|
+
}
|
|
6922
|
+
if (lockElem[i]) {
|
|
6923
|
+
lockElem[i].disabled = false;
|
|
6924
|
+
}
|
|
5891
6925
|
if (notElem[i]) {
|
|
5892
6926
|
notElem[i].disabled = false;
|
|
5893
6927
|
}
|
|
@@ -5898,8 +6932,12 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
5898
6932
|
cloneElem[i].disabled = false;
|
|
5899
6933
|
}
|
|
5900
6934
|
andElem[i].parentElement.classList.remove('e-disabled');
|
|
5901
|
-
lockElem[i]
|
|
5902
|
-
|
|
6935
|
+
if (lockElem[i]) {
|
|
6936
|
+
lockElem[i].children[0].classList.remove('e-lock');
|
|
6937
|
+
}
|
|
6938
|
+
if (lockElem[i]) {
|
|
6939
|
+
lockElem[i].children[0].classList.add('e-unlock');
|
|
6940
|
+
}
|
|
5903
6941
|
}
|
|
5904
6942
|
}
|
|
5905
6943
|
this.disableRuleControls(target, groupElem, isDisabled);
|
|
@@ -6033,6 +7071,15 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
6033
7071
|
__decorate([
|
|
6034
7072
|
Event()
|
|
6035
7073
|
], QueryBuilder.prototype, "ruleChange", void 0);
|
|
7074
|
+
__decorate([
|
|
7075
|
+
Event()
|
|
7076
|
+
], QueryBuilder.prototype, "dragStart", void 0);
|
|
7077
|
+
__decorate([
|
|
7078
|
+
Event()
|
|
7079
|
+
], QueryBuilder.prototype, "drag", void 0);
|
|
7080
|
+
__decorate([
|
|
7081
|
+
Event()
|
|
7082
|
+
], QueryBuilder.prototype, "drop", void 0);
|
|
6036
7083
|
__decorate([
|
|
6037
7084
|
Complex({}, ShowButtons)
|
|
6038
7085
|
], QueryBuilder.prototype, "showButtons", void 0);
|
|
@@ -6108,9 +7155,15 @@ var QueryBuilder = /** @__PURE__ @class */ (function (_super) {
|
|
|
6108
7155
|
__decorate([
|
|
6109
7156
|
Property('')
|
|
6110
7157
|
], QueryBuilder.prototype, "separator", void 0);
|
|
7158
|
+
__decorate([
|
|
7159
|
+
Property(false)
|
|
7160
|
+
], QueryBuilder.prototype, "enableSeparateConnector", void 0);
|
|
6111
7161
|
__decorate([
|
|
6112
7162
|
Complex({ condition: 'and', rules: [] }, Rule)
|
|
6113
7163
|
], QueryBuilder.prototype, "rule", void 0);
|
|
7164
|
+
__decorate([
|
|
7165
|
+
Property(false)
|
|
7166
|
+
], QueryBuilder.prototype, "allowDragAndDrop", void 0);
|
|
6114
7167
|
QueryBuilder = __decorate([
|
|
6115
7168
|
NotifyPropertyChanges
|
|
6116
7169
|
], QueryBuilder);
|
|
@@ -6418,13 +7471,13 @@ var QueryLibrary = /** @__PURE__ @class */ (function () {
|
|
|
6418
7471
|
}
|
|
6419
7472
|
else if (condition === '$or') {
|
|
6420
7473
|
var notBetween = void 0;
|
|
6421
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
7474
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
6422
7475
|
var innerObject = [];
|
|
6423
7476
|
var keys = [];
|
|
6424
7477
|
var firstKey = [];
|
|
6425
7478
|
var secondKey = [];
|
|
6426
7479
|
var innerKeys = [];
|
|
6427
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
7480
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
6428
7481
|
var firstValue = [];
|
|
6429
7482
|
var secondValue = [];
|
|
6430
7483
|
var innerFirstValue = [];
|
|
@@ -6805,13 +7858,5 @@ var QueryLibrary = /** @__PURE__ @class */ (function () {
|
|
|
6805
7858
|
return QueryLibrary;
|
|
6806
7859
|
}());
|
|
6807
7860
|
|
|
6808
|
-
|
|
6809
|
-
* QueryBuilder modules
|
|
6810
|
-
*/
|
|
6811
|
-
|
|
6812
|
-
/**
|
|
6813
|
-
* QueryBuilder all modules
|
|
6814
|
-
*/
|
|
6815
|
-
|
|
6816
|
-
export { Columns, Rule, Value, ShowButtons, QueryBuilder, QueryLibrary };
|
|
7861
|
+
export { Columns, QueryBuilder, QueryLibrary, Rule, ShowButtons, Value };
|
|
6817
7862
|
//# sourceMappingURL=ej2-querybuilder.es5.js.map
|