@acorex/components 16.18.50 → 16.19.1
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/fesm2022/acorex-components.mjs +723 -687
- package/fesm2022/acorex-components.mjs.map +1 -1
- package/index.d.ts +1 -0
- package/lib/base/base-page.class.d.ts +2 -2
- package/lib/base/element.class.d.ts +5 -5
- package/lib/calendar/scheduler/views/scheduler-view.component.d.ts +1 -1
- package/lib/data-filter/filter.class.d.ts +1 -1
- package/lib/data-list/core/data-list.component.d.ts +1 -1
- package/lib/property-editor/property-editor.class.d.ts +1 -1
- package/package.json +4 -6
- package/esm2022/acorex-components.mjs +0 -5
- package/esm2022/index.mjs +0 -159
- package/esm2022/lib/accordion/accordion.component.mjs +0 -45
- package/esm2022/lib/accordion/accordion.module.mjs +0 -20
- package/esm2022/lib/base/base-page.class.mjs +0 -97
- package/esm2022/lib/base/components.class.mjs +0 -17
- package/esm2022/lib/base/element.class.mjs +0 -307
- package/esm2022/lib/base/events.class.mjs +0 -17
- package/esm2022/lib/button/button.component.mjs +0 -74
- package/esm2022/lib/button/button.module.mjs +0 -21
- package/esm2022/lib/calendar/calendar-box/calendar-box.component.mjs +0 -469
- package/esm2022/lib/calendar/calendar-box/calendar-box.module.mjs +0 -22
- package/esm2022/lib/calendar/scheduler/scheduler-views.property.mjs +0 -59
- package/esm2022/lib/calendar/scheduler/scheduler.class.mjs +0 -16
- package/esm2022/lib/calendar/scheduler/scheduler.component.mjs +0 -226
- package/esm2022/lib/calendar/scheduler/scheduler.module.mjs +0 -68
- package/esm2022/lib/calendar/scheduler/toolbars/scheduler-toolbar-navigator.mjs +0 -136
- package/esm2022/lib/calendar/scheduler/toolbars/scheduler-toolbar-views.mjs +0 -37
- package/esm2022/lib/calendar/scheduler/views/agenda/scheduler-agenda-view.component.mjs +0 -49
- package/esm2022/lib/calendar/scheduler/views/daytime/scheduler-daytime-view.component.mjs +0 -102
- package/esm2022/lib/calendar/scheduler/views/month/scheduler-month-view.component.mjs +0 -214
- package/esm2022/lib/calendar/scheduler/views/scheduler-view.component.mjs +0 -99
- package/esm2022/lib/calendar/scheduler/views/timeline/scheduler-timeline-view.component.mjs +0 -85
- package/esm2022/lib/checkbox/checkbox.component.mjs +0 -112
- package/esm2022/lib/checkbox/checkbox.module.mjs +0 -20
- package/esm2022/lib/color-picker/color-box/color-box.component.mjs +0 -423
- package/esm2022/lib/color-picker/color-picker.component.mjs +0 -89
- package/esm2022/lib/color-picker/color-picker.module.mjs +0 -24
- package/esm2022/lib/context-menu/context-menu.component.mjs +0 -68
- package/esm2022/lib/context-menu/context-menu.directive.mjs +0 -146
- package/esm2022/lib/context-menu/context-menu.module.mjs +0 -20
- package/esm2022/lib/data-filter/columns/filter-column-date.component.mjs +0 -140
- package/esm2022/lib/data-filter/columns/filter-column-number.component.mjs +0 -119
- package/esm2022/lib/data-filter/columns/filter-column-selection.component.mjs +0 -75
- package/esm2022/lib/data-filter/columns/filter-column-string.component.mjs +0 -119
- package/esm2022/lib/data-filter/filter-panel/filter-panel.component.mjs +0 -267
- package/esm2022/lib/data-filter/filter.class.mjs +0 -46
- package/esm2022/lib/data-filter/filter.module.mjs +0 -88
- package/esm2022/lib/data-filter/toolbar/filter-toolbar.component.mjs +0 -168
- package/esm2022/lib/data-list/core/data-list.component.mjs +0 -37
- package/esm2022/lib/data-list/list/list.component.mjs +0 -134
- package/esm2022/lib/data-list/list/list.module.mjs +0 -22
- package/esm2022/lib/data-list/list/toolbar-list-view.component.mjs +0 -84
- package/esm2022/lib/data-source/datasource.component.mjs +0 -47
- package/esm2022/lib/data-source/datasource.module.mjs +0 -18
- package/esm2022/lib/data-source/read-param.mjs +0 -7
- package/esm2022/lib/date-picker/date-picker.component.mjs +0 -1102
- package/esm2022/lib/date-picker/date-picker.module.mjs +0 -50
- package/esm2022/lib/dialog/dialog.component.mjs +0 -26
- package/esm2022/lib/dialog/dialog.module.mjs +0 -21
- package/esm2022/lib/dialog/dialog.service.mjs +0 -160
- package/esm2022/lib/drawer/content.component.mjs +0 -18
- package/esm2022/lib/drawer/drawer-container.component.mjs +0 -38
- package/esm2022/lib/drawer/drawer.component.mjs +0 -146
- package/esm2022/lib/drawer/drawer.module.mjs +0 -23
- package/esm2022/lib/dropdown/dropdown.component.mjs +0 -186
- package/esm2022/lib/dropdown/dropdown.module.mjs +0 -26
- package/esm2022/lib/fieldset/fieldset.component.mjs +0 -57
- package/esm2022/lib/fieldset/fieldset.module.mjs +0 -19
- package/esm2022/lib/form-group/form-group.component.mjs +0 -108
- package/esm2022/lib/form-group/form-group.module.mjs +0 -22
- package/esm2022/lib/form-group/form-lable.directive.mjs +0 -23
- package/esm2022/lib/label/label.component.mjs +0 -22
- package/esm2022/lib/label/label.module.mjs +0 -21
- package/esm2022/lib/loading/loading-indicator.component.mjs +0 -18
- package/esm2022/lib/loading/loading-panel.component.mjs +0 -45
- package/esm2022/lib/loading/loading.module.mjs +0 -21
- package/esm2022/lib/loading/loading.service.mjs +0 -47
- package/esm2022/lib/menu/menu-item.component.mjs +0 -50
- package/esm2022/lib/menu/menu.component.mjs +0 -114
- package/esm2022/lib/menu/menu.module.mjs +0 -22
- package/esm2022/lib/menu/menu2.component.mjs +0 -100
- package/esm2022/lib/number-box/number-box.component.mjs +0 -715
- package/esm2022/lib/number-box/number-box.module.mjs +0 -21
- package/esm2022/lib/page/content.component.mjs +0 -27
- package/esm2022/lib/page/footer.component.mjs +0 -19
- package/esm2022/lib/page/page.component.mjs +0 -57
- package/esm2022/lib/page/page.module.mjs +0 -22
- package/esm2022/lib/panel-box/panel-box.component.mjs +0 -87
- package/esm2022/lib/panel-box/panel-box.module.mjs +0 -19
- package/esm2022/lib/password-box/password-box.component.mjs +0 -36
- package/esm2022/lib/password-box/password-box.module.mjs +0 -23
- package/esm2022/lib/popover/custom-cdk-overlay.service.mjs +0 -50
- package/esm2022/lib/popover/overlay.service.mjs +0 -94
- package/esm2022/lib/popover/popover.component.mjs +0 -145
- package/esm2022/lib/popover/popover.module.mjs +0 -19
- package/esm2022/lib/popup/popup.component.mjs +0 -160
- package/esm2022/lib/popup/popup.module.mjs +0 -25
- package/esm2022/lib/popup/popup.service.mjs +0 -94
- package/esm2022/lib/progress-bar/progress-bar.component.mjs +0 -16
- package/esm2022/lib/progress-bar/progress-bar.module.mjs +0 -19
- package/esm2022/lib/property-editor/editors/check-editor/check-editor.mjs +0 -65
- package/esm2022/lib/property-editor/editors/check-editor/check.module.mjs +0 -22
- package/esm2022/lib/property-editor/editors/color-editor/color.editor.mjs +0 -41
- package/esm2022/lib/property-editor/editors/color-editor/color.module.mjs +0 -24
- package/esm2022/lib/property-editor/editors/column-editor/column.editor.mjs +0 -118
- package/esm2022/lib/property-editor/editors/column-editor/column.module.mjs +0 -32
- package/esm2022/lib/property-editor/editors/conditional-color-editor/conditional-color.editor.mjs +0 -216
- package/esm2022/lib/property-editor/editors/conditional-color-editor/conditional-color.module.mjs +0 -76
- package/esm2022/lib/property-editor/editors/date-editor/date.editor.mjs +0 -87
- package/esm2022/lib/property-editor/editors/date-editor/date.module.mjs +0 -24
- package/esm2022/lib/property-editor/editors/number-editor/number.editor.mjs +0 -72
- package/esm2022/lib/property-editor/editors/number-editor/number.module.mjs +0 -24
- package/esm2022/lib/property-editor/editors/range-editor/range.editor.mjs +0 -145
- package/esm2022/lib/property-editor/editors/range-editor/range.module.mjs +0 -59
- package/esm2022/lib/property-editor/editors/searchbar-selectbox-editor/searchbar-selectbox-editor.mjs +0 -76
- package/esm2022/lib/property-editor/editors/selectbox-editor/selectbox.editor.mjs +0 -75
- package/esm2022/lib/property-editor/editors/selectbox-editor/selectbox.module.mjs +0 -25
- package/esm2022/lib/property-editor/editors/selection-editor/selection-editor.mjs +0 -73
- package/esm2022/lib/property-editor/editors/selection-editor/selection.module.mjs +0 -22
- package/esm2022/lib/property-editor/editors/switch-editor/number.editor.mjs +0 -30
- package/esm2022/lib/property-editor/editors/switch-editor/number.module.mjs +0 -25
- package/esm2022/lib/property-editor/editors/text-editor/text.editor.mjs +0 -36
- package/esm2022/lib/property-editor/editors/text-editor/text.module.mjs +0 -24
- package/esm2022/lib/property-editor/editors/textarea-editor/textarea.editor.mjs +0 -35
- package/esm2022/lib/property-editor/editors/textarea-editor/textarea.module.mjs +0 -24
- package/esm2022/lib/property-editor/editors/time-editor/time.editor.mjs +0 -55
- package/esm2022/lib/property-editor/editors/time-editor/time.module.mjs +0 -24
- package/esm2022/lib/property-editor/property-editor-renderer.directive.mjs +0 -167
- package/esm2022/lib/property-editor/property-editor.class.mjs +0 -108
- package/esm2022/lib/property-editor/property-editor.module.mjs +0 -194
- package/esm2022/lib/query-builder/query-builder-group.component.mjs +0 -129
- package/esm2022/lib/query-builder/query-builder-popup/query-builder-popup.component.mjs +0 -177
- package/esm2022/lib/query-builder/query-builder-rule.component.mjs +0 -428
- package/esm2022/lib/query-builder/query-builder.class.mjs +0 -42
- package/esm2022/lib/query-builder/query-builder.component.mjs +0 -92
- package/esm2022/lib/query-builder/query-builder.module.mjs +0 -62
- package/esm2022/lib/query-builder/query-builder.service.mjs +0 -199
- package/esm2022/lib/search-bar/search-bar.component.mjs +0 -293
- package/esm2022/lib/search-bar/search-bar.module.mjs +0 -61
- package/esm2022/lib/searchbox/searchbox.component.mjs +0 -138
- package/esm2022/lib/searchbox/searchbox.module.mjs +0 -24
- package/esm2022/lib/selectbox/selectbox.component.mjs +0 -1137
- package/esm2022/lib/selectbox/selectbox.module.mjs +0 -45
- package/esm2022/lib/selectbox/selectbox2.component.mjs +0 -617
- package/esm2022/lib/selection-list/selection-list.component.mjs +0 -120
- package/esm2022/lib/selection-list/selection-list.module.mjs +0 -21
- package/esm2022/lib/switch/switch.component.mjs +0 -55
- package/esm2022/lib/switch/switch.module.mjs +0 -20
- package/esm2022/lib/tab-page/tab-page-Renderer.component.mjs +0 -75
- package/esm2022/lib/tab-page/tab-page-host.component.mjs +0 -124
- package/esm2022/lib/tab-page/tab-page.module.mjs +0 -21
- package/esm2022/lib/tab-page/tab-page.service.mjs +0 -159
- package/esm2022/lib/tab-strip/tab-strip.component.mjs +0 -48
- package/esm2022/lib/tab-strip/tab-strip.module.mjs +0 -19
- package/esm2022/lib/tab-view/dynamic-tabs.directive.mjs +0 -25
- package/esm2022/lib/tab-view/tab-view.component.mjs +0 -110
- package/esm2022/lib/tab-view/tab-view.module.mjs +0 -21
- package/esm2022/lib/tab-view/tab.component.mjs +0 -33
- package/esm2022/lib/textarea/textarea.component.mjs +0 -44
- package/esm2022/lib/textarea/textarea.module.mjs +0 -21
- package/esm2022/lib/textbox/textbox.component.mjs +0 -46
- package/esm2022/lib/textbox/textbox.module.mjs +0 -36
- package/esm2022/lib/time-picker/time-picker.component.mjs +0 -1107
- package/esm2022/lib/time-picker/time-picker.module.mjs +0 -34
- package/esm2022/lib/toast/toast-message/toast-message.component.mjs +0 -76
- package/esm2022/lib/toast/toast-wrapper/toast-wrapper.component.mjs +0 -13
- package/esm2022/lib/toast/toast.module.mjs +0 -21
- package/esm2022/lib/toast/toast.service.mjs +0 -45
- package/esm2022/lib/toolbar/group-button/toolbar-group-button.component.mjs +0 -77
- package/esm2022/lib/toolbar/menu/toolbar-menu.component.mjs +0 -65
- package/esm2022/lib/toolbar/search/toolbar-search.component.mjs +0 -56
- package/esm2022/lib/toolbar/title/toolbar-title.component.mjs +0 -37
- package/esm2022/lib/toolbar/toolbar-item.mjs +0 -4
- package/esm2022/lib/toolbar/toolbar.component.mjs +0 -13
- package/esm2022/lib/toolbar/toolbar.module.mjs +0 -40
- package/esm2022/lib/tooltip/tooltip.directive.mjs +0 -115
- package/esm2022/lib/tooltip/tooltip.module.mjs +0 -19
- package/esm2022/lib/tree-side-menu/tree-side-menu.component.mjs +0 -697
- package/esm2022/lib/tree-side-menu/tree-side-menu.module.mjs +0 -33
- package/esm2022/lib/tree-view/tree-view.component.mjs +0 -854
- package/esm2022/lib/tree-view/tree-view.module.mjs +0 -22
- package/esm2022/lib/upload-file/upload-file.component.mjs +0 -299
- package/esm2022/lib/upload-file/upload-file.events.mjs +0 -2
- package/esm2022/lib/upload-file/upload-file.module.mjs +0 -24
- package/esm2022/lib/validation/validation-form.component.mjs +0 -68
- package/esm2022/lib/validation/validation-rule.widget.mjs +0 -133
- package/esm2022/lib/validation/validation.class.mjs +0 -2
- package/esm2022/lib/validation/validation.component.mjs +0 -89
- package/esm2022/lib/validation/validation.module.mjs +0 -34
@@ -1,92 +0,0 @@
|
|
1
|
-
import { AXBaseComponent } from '../base/element.class';
|
2
|
-
import { Component, Input, Output, EventEmitter, ElementRef, ViewEncapsulation, ViewChild } from '@angular/core';
|
3
|
-
import { AXQueryBuilderGroup } from './query-builder.class';
|
4
|
-
import { AXQueryBuilderGroupComponent } from './query-builder-group.component';
|
5
|
-
import { AXToastService } from '../toast/toast.service';
|
6
|
-
import * as i0 from "@angular/core";
|
7
|
-
import * as i1 from "../toast/toast.service";
|
8
|
-
import * as i2 from "./query-builder-group.component";
|
9
|
-
export class AXQueryBuilderComponent extends AXBaseComponent {
|
10
|
-
ref;
|
11
|
-
toast;
|
12
|
-
queryGroup;
|
13
|
-
query;
|
14
|
-
mode = 'new';
|
15
|
-
rootGroup = new AXQueryBuilderGroup();
|
16
|
-
ngOnInit() {
|
17
|
-
this.rootGroup.condition = this.query.condition ? this.query.condition : 'AND';
|
18
|
-
this.rootGroup.items = this.query.items ? this.query.items : [];
|
19
|
-
}
|
20
|
-
constructor(ref, toast) {
|
21
|
-
super();
|
22
|
-
this.ref = ref;
|
23
|
-
this.toast = toast;
|
24
|
-
}
|
25
|
-
_fields;
|
26
|
-
get fields() {
|
27
|
-
return this._fields;
|
28
|
-
}
|
29
|
-
set fields(v) {
|
30
|
-
this._fields = v;
|
31
|
-
}
|
32
|
-
// @Input()
|
33
|
-
// mode: 'immediate' | 'click' = 'click';
|
34
|
-
onRuleChanged = new EventEmitter();
|
35
|
-
saved = false;
|
36
|
-
getQueryBuilder() {
|
37
|
-
return { groups: this.rootGroup };
|
38
|
-
}
|
39
|
-
ruleChanged(e) {
|
40
|
-
this.onRuleChanged.emit({ component: this, groups: this.rootGroup });
|
41
|
-
}
|
42
|
-
saveRule() {
|
43
|
-
/// return this.queryGroup.saveRule();
|
44
|
-
return new Promise((resolve, reject) => {
|
45
|
-
this.saved = true;
|
46
|
-
for (let i = 0; i < this.rootGroup.items.length; i++) {
|
47
|
-
if (this.saved == true) {
|
48
|
-
this.findNullValue(this.rootGroup.items[i]);
|
49
|
-
}
|
50
|
-
}
|
51
|
-
if (this.saved == true) {
|
52
|
-
resolve(this.rootGroup);
|
53
|
-
}
|
54
|
-
else {
|
55
|
-
reject();
|
56
|
-
}
|
57
|
-
});
|
58
|
-
}
|
59
|
-
findNullValue(gr) {
|
60
|
-
if (this.saved == true) {
|
61
|
-
if (gr.condition) {
|
62
|
-
for (let i = 0; i < gr.items.length; i++) {
|
63
|
-
this.findNullValue(gr.items[i]);
|
64
|
-
}
|
65
|
-
}
|
66
|
-
else {
|
67
|
-
if (gr.onDemandLabel == '????|') {
|
68
|
-
this.saved = false;
|
69
|
-
this.toast.error('لطفا نام متغیر های مورد نیاز را کامل کنید');
|
70
|
-
}
|
71
|
-
}
|
72
|
-
}
|
73
|
-
}
|
74
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.7", ngImport: i0, type: AXQueryBuilderComponent, deps: [{ token: i0.ElementRef }, { token: i1.AXToastService }], target: i0.ɵɵFactoryTarget.Component });
|
75
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.7", type: AXQueryBuilderComponent, selector: "ax-query-builder", inputs: { query: "query", mode: "mode", fields: "fields" }, outputs: { onRuleChanged: "onRuleChanged" }, viewQueries: [{ propertyName: "queryGroup", first: true, predicate: ["queryGroup"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ax-query-group #queryGroup [mode]=\"mode\" [group]=\"rootGroup\" [fields]=\"fields\"\n (groupRuleChanged)=\"ruleChanged($event)\">\n</ax-query-group>", styles: [".ax-query-group{display:flex;flex-direction:column;margin:5px;padding-inline-start:0px}.ax-query-group .add-buttons{display:flex;margin:5px;flex-direction:row}.ax-query-group .add-buttons .handler{display:flex;align-items:center;background-color:var(--ax-primary-trans-light-color);color:var(--ax-primary-color);padding:5px;cursor:move;border:1px solid var(--ax-primary-trans-light-color);border-start-start-radius:4px;border-end-start-radius:4px}.ax-query-group .buttons-list{margin-inline-start:10px;display:flex;align-items:center}.ax-query-group .buttons-list .button{cursor:pointer;margin-inline-end:.5em;width:2.3em;height:2.3em;display:flex;align-items:center;justify-content:center;border-radius:50px;position:relative}.ax-query-group .buttons-list .button ax-check-box{opacity:0;width:100%;height:100%;position:absolute;z-index:1;left:0;top:0}.ax-query-group .buttons-list .variable{color:var(--ax-warning-color);background:var(--ax-warning-trans-light-color)}.ax-query-group .buttons-list .variable.active-button{background:var(--ax-warning-light-color);color:var(--ax-white-color);opacity:.7}.ax-query-group .buttons-list .commit{color:var(--ax-success-color);background:var(--ax-success-trans-light-color)}.ax-query-group .buttons-list .remove{color:var(--ax-danger-color);background:var(--ax-danger-trans-light-color)}.ax-query-group .buttons-list .edit{color:var(--ax-primary-color);background:var(--ax-primary-trans-light-color)}.ax-query-group .group-item{transition:all .5s}.ax-query-group .group-item .condition{width:40px;display:flex;align-items:center;background:linear-gradient(180deg,rgba(2,0,36,0) 49%,var(--ax-gray-light-color) 49%,var(--ax-gray-light-color) 55%,rgba(0,212,255,0) 50%)}.ax-query-group .group-item .condition .text{margin-inline-start:-50%;border-radius:50%;width:35px;height:35px;display:flex;align-items:center;justify-content:center}.ax-query-group .group-item .condition .text.OR{background:var(--ax-warning-color);color:var(--ax-warning-fore-color)}.ax-query-group .group-item .condition .text.AND{background:var(--ax-success-color);color:var(--ax-success-fore-color)}.ax-query-group .header{display:flex;flex-direction:row}.ax-query-group .header .handler{display:flex;align-items:center;background-color:var(--ax-light-light-color);color:var(--ax-light-fore-color);padding:5px;cursor:move;border:1px solid var(--ax-light-light-color);border-start-start-radius:4px;border-end-start-radius:4px}.ax-query-group .header .caption{padding:.5rem;background-color:var(--ax-gray-trans-light-color);color:var(--ax-gray-dark-color);font-weight:700;cursor:pointer}.ax-query-group .header .detail{padding:.5rem;background-color:var(--ax-gray-trans-light-color);border-right:none;border-start-end-radius:4px;border-end-end-radius:4px;cursor:pointer}.ax-query-group .header .detail.OR{background-color:var(--ax-warning-trans-light-color)}.ax-query-group .header .detail.AND{background-color:var(--ax-success-trans-light-color)}.ax-query-group .rules{margin-inline-start:10px;border-inline-start:2px solid var(--ax-gray-light-color)}.ax-query-group .rules .rules{margin-inline-start:48px}.ax-query-group .ax-query-rule{display:flex;margin:5px;flex-direction:row;transition:all .5s}.ax-query-group .ax-query-rule .handler{display:flex;align-items:center;background-color:var(--ax-light-light-color);color:var(--ax-light-fore-color);padding:.5em;cursor:move;border:1px solid var(--ax-light-light-color);border-start-start-radius:4px;border-end-start-radius:4px}.ax-query-group .ax-query-rule .caption{padding:.5rem;background-color:var(--ax-gray-trans-light-color);border:1px solid var(--ax-gray-light-color);color:#333;font-weight:700;cursor:pointer}.ax-query-group .ax-query-rule .caption.editable{width:200px}.ax-query-group .ax-query-rule .operator{border-top:1px solid var(--ax-gray-light-color);border-bottom:1px solid var(--ax-gray-light-color);background-color:var(--ax-gray-trans-light-color);padding:.5rem}.ax-query-group .ax-query-rule .operator.editable{width:200px}.ax-query-group .ax-query-rule .operator .text{color:var(--ax-primary-color);font-weight:700;text-decoration:underline dashed;cursor:pointer}.ax-query-group .ax-query-rule .operator.radius{border-top-left-radius:4px;border-bottom-left-radius:4px;border:1px solid var(--ax-gray-light-color);border-right:none}.ax-query-group .ax-query-rule .value{padding:.5rem;background-color:var(--ax-light-light-color);color:#000;border:1px solid var(--ax-gray-light-color);border-right:none;border-start-end-radius:4px;border-end-end-radius:4px;cursor:pointer}.ax-query-group .ax-query-rule .value.editable{width:200px}.ax-query-group .ax-query-rule .add-rule{border-top:1px dashed var(--ax-gray-light-color);border-bottom:1px dashed var(--ax-gray-light-color);color:var(--ax-gray-dark-color);padding:.5rem;font-weight:700;cursor:pointer}.ax-query-group .ax-query-rule .add-rule:hover,.ax-query-group .ax-query-rule .add-group:hover{background-color:var(--ax-gray-light-color)}.ax-query-group .ax-query-rule .add-group,.ax-query-group .ax-query-rule .add-condition{border-top:1px dashed var(--ax-gray-light-color);border-bottom:1px dashed var(--ax-gray-light-color);color:var(--ax-gray-dark-color);padding:.5rem;border:1px dashed var(--ax-gray-light-color);border-top-left-radius:4px;border-bottom-left-radius:4px;cursor:pointer}.ax-query-group .ax-query-rule .add-condition.OR{background-color:var(--ax-warning-trans-light-color);color:var(--ax-warning-dark-color)}.ax-query-group .ax-query-rule .add-condition.AND{background-color:var(--ax-success-trans-light-color);color:var(--ax-success-dark-color)}.ax-query-group .ax-query-rule .add-condition:hover.OR{background-color:var(--ax-warning-trans-light-color);color:var(--ax-warning-dark-color)}.ax-query-group .ax-query-rule .add-condition:hover.AND{background-color:var(--ax-success-trans-light-color);color:var(--ax-success-dark-color)}\n"], dependencies: [{ kind: "component", type: i2.AXQueryBuilderGroupComponent, selector: "ax-query-group", inputs: ["group", "parent", "fields", "mode"], outputs: ["groupRuleChanged"] }], encapsulation: i0.ViewEncapsulation.None });
|
76
|
-
}
|
77
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.7", ngImport: i0, type: AXQueryBuilderComponent, decorators: [{
|
78
|
-
type: Component,
|
79
|
-
args: [{ selector: 'ax-query-builder', encapsulation: ViewEncapsulation.None, template: "<ax-query-group #queryGroup [mode]=\"mode\" [group]=\"rootGroup\" [fields]=\"fields\"\n (groupRuleChanged)=\"ruleChanged($event)\">\n</ax-query-group>", styles: [".ax-query-group{display:flex;flex-direction:column;margin:5px;padding-inline-start:0px}.ax-query-group .add-buttons{display:flex;margin:5px;flex-direction:row}.ax-query-group .add-buttons .handler{display:flex;align-items:center;background-color:var(--ax-primary-trans-light-color);color:var(--ax-primary-color);padding:5px;cursor:move;border:1px solid var(--ax-primary-trans-light-color);border-start-start-radius:4px;border-end-start-radius:4px}.ax-query-group .buttons-list{margin-inline-start:10px;display:flex;align-items:center}.ax-query-group .buttons-list .button{cursor:pointer;margin-inline-end:.5em;width:2.3em;height:2.3em;display:flex;align-items:center;justify-content:center;border-radius:50px;position:relative}.ax-query-group .buttons-list .button ax-check-box{opacity:0;width:100%;height:100%;position:absolute;z-index:1;left:0;top:0}.ax-query-group .buttons-list .variable{color:var(--ax-warning-color);background:var(--ax-warning-trans-light-color)}.ax-query-group .buttons-list .variable.active-button{background:var(--ax-warning-light-color);color:var(--ax-white-color);opacity:.7}.ax-query-group .buttons-list .commit{color:var(--ax-success-color);background:var(--ax-success-trans-light-color)}.ax-query-group .buttons-list .remove{color:var(--ax-danger-color);background:var(--ax-danger-trans-light-color)}.ax-query-group .buttons-list .edit{color:var(--ax-primary-color);background:var(--ax-primary-trans-light-color)}.ax-query-group .group-item{transition:all .5s}.ax-query-group .group-item .condition{width:40px;display:flex;align-items:center;background:linear-gradient(180deg,rgba(2,0,36,0) 49%,var(--ax-gray-light-color) 49%,var(--ax-gray-light-color) 55%,rgba(0,212,255,0) 50%)}.ax-query-group .group-item .condition .text{margin-inline-start:-50%;border-radius:50%;width:35px;height:35px;display:flex;align-items:center;justify-content:center}.ax-query-group .group-item .condition .text.OR{background:var(--ax-warning-color);color:var(--ax-warning-fore-color)}.ax-query-group .group-item .condition .text.AND{background:var(--ax-success-color);color:var(--ax-success-fore-color)}.ax-query-group .header{display:flex;flex-direction:row}.ax-query-group .header .handler{display:flex;align-items:center;background-color:var(--ax-light-light-color);color:var(--ax-light-fore-color);padding:5px;cursor:move;border:1px solid var(--ax-light-light-color);border-start-start-radius:4px;border-end-start-radius:4px}.ax-query-group .header .caption{padding:.5rem;background-color:var(--ax-gray-trans-light-color);color:var(--ax-gray-dark-color);font-weight:700;cursor:pointer}.ax-query-group .header .detail{padding:.5rem;background-color:var(--ax-gray-trans-light-color);border-right:none;border-start-end-radius:4px;border-end-end-radius:4px;cursor:pointer}.ax-query-group .header .detail.OR{background-color:var(--ax-warning-trans-light-color)}.ax-query-group .header .detail.AND{background-color:var(--ax-success-trans-light-color)}.ax-query-group .rules{margin-inline-start:10px;border-inline-start:2px solid var(--ax-gray-light-color)}.ax-query-group .rules .rules{margin-inline-start:48px}.ax-query-group .ax-query-rule{display:flex;margin:5px;flex-direction:row;transition:all .5s}.ax-query-group .ax-query-rule .handler{display:flex;align-items:center;background-color:var(--ax-light-light-color);color:var(--ax-light-fore-color);padding:.5em;cursor:move;border:1px solid var(--ax-light-light-color);border-start-start-radius:4px;border-end-start-radius:4px}.ax-query-group .ax-query-rule .caption{padding:.5rem;background-color:var(--ax-gray-trans-light-color);border:1px solid var(--ax-gray-light-color);color:#333;font-weight:700;cursor:pointer}.ax-query-group .ax-query-rule .caption.editable{width:200px}.ax-query-group .ax-query-rule .operator{border-top:1px solid var(--ax-gray-light-color);border-bottom:1px solid var(--ax-gray-light-color);background-color:var(--ax-gray-trans-light-color);padding:.5rem}.ax-query-group .ax-query-rule .operator.editable{width:200px}.ax-query-group .ax-query-rule .operator .text{color:var(--ax-primary-color);font-weight:700;text-decoration:underline dashed;cursor:pointer}.ax-query-group .ax-query-rule .operator.radius{border-top-left-radius:4px;border-bottom-left-radius:4px;border:1px solid var(--ax-gray-light-color);border-right:none}.ax-query-group .ax-query-rule .value{padding:.5rem;background-color:var(--ax-light-light-color);color:#000;border:1px solid var(--ax-gray-light-color);border-right:none;border-start-end-radius:4px;border-end-end-radius:4px;cursor:pointer}.ax-query-group .ax-query-rule .value.editable{width:200px}.ax-query-group .ax-query-rule .add-rule{border-top:1px dashed var(--ax-gray-light-color);border-bottom:1px dashed var(--ax-gray-light-color);color:var(--ax-gray-dark-color);padding:.5rem;font-weight:700;cursor:pointer}.ax-query-group .ax-query-rule .add-rule:hover,.ax-query-group .ax-query-rule .add-group:hover{background-color:var(--ax-gray-light-color)}.ax-query-group .ax-query-rule .add-group,.ax-query-group .ax-query-rule .add-condition{border-top:1px dashed var(--ax-gray-light-color);border-bottom:1px dashed var(--ax-gray-light-color);color:var(--ax-gray-dark-color);padding:.5rem;border:1px dashed var(--ax-gray-light-color);border-top-left-radius:4px;border-bottom-left-radius:4px;cursor:pointer}.ax-query-group .ax-query-rule .add-condition.OR{background-color:var(--ax-warning-trans-light-color);color:var(--ax-warning-dark-color)}.ax-query-group .ax-query-rule .add-condition.AND{background-color:var(--ax-success-trans-light-color);color:var(--ax-success-dark-color)}.ax-query-group .ax-query-rule .add-condition:hover.OR{background-color:var(--ax-warning-trans-light-color);color:var(--ax-warning-dark-color)}.ax-query-group .ax-query-rule .add-condition:hover.AND{background-color:var(--ax-success-trans-light-color);color:var(--ax-success-dark-color)}\n"] }]
|
80
|
-
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.AXToastService }], propDecorators: { queryGroup: [{
|
81
|
-
type: ViewChild,
|
82
|
-
args: ['queryGroup']
|
83
|
-
}], query: [{
|
84
|
-
type: Input
|
85
|
-
}], mode: [{
|
86
|
-
type: Input
|
87
|
-
}], fields: [{
|
88
|
-
type: Input
|
89
|
-
}], onRuleChanged: [{
|
90
|
-
type: Output
|
91
|
-
}] } });
|
92
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktYnVpbGRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvc3JjL2xpYi9xdWVyeS1idWlsZGVyL3F1ZXJ5LWJ1aWxkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3NyYy9saWIvcXVlcnktYnVpbGRlci9xdWVyeS1idWlsZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakgsT0FBTyxFQUFFLG1CQUFtQixFQUFxRCxNQUFNLHVCQUF1QixDQUFDO0FBQy9HLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7OztBQVF4RCxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsZUFBZTtJQWdCdEM7SUFBeUI7SUFmcEIsVUFBVSxDQUErQjtJQUdsRSxLQUFLLENBQXNCO0lBRzNCLElBQUksR0FBbUIsS0FBSyxDQUFDO0lBRTdCLFNBQVMsR0FBd0IsSUFBSSxtQkFBbUIsRUFBRSxDQUFDO0lBRTNELFFBQVE7UUFDTixJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUMvRSxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUNsRSxDQUFDO0lBRUQsWUFBb0IsR0FBZSxFQUFVLEtBQXFCO1FBQ2hFLEtBQUssRUFBRSxDQUFDO1FBRFUsUUFBRyxHQUFILEdBQUcsQ0FBWTtRQUFVLFVBQUssR0FBTCxLQUFLLENBQWdCO0lBRWxFLENBQUM7SUFFTyxPQUFPLENBQVM7SUFDeEIsSUFDVyxNQUFNO1FBQ2YsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFDRCxJQUFXLE1BQU0sQ0FBQyxDQUFTO1FBQ3pCLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDO0lBQ25CLENBQUM7SUFFRCxXQUFXO0lBQ1gseUNBQXlDO0lBR3pDLGFBQWEsR0FBMkMsSUFBSSxZQUFZLEVBQTRCLENBQUM7SUFFckcsS0FBSyxHQUFZLEtBQUssQ0FBQztJQUVoQixlQUFlO1FBQ3BCLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFRCxXQUFXLENBQUMsQ0FBQztRQUNYLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUVNLFFBQVE7UUFDYixzQ0FBc0M7UUFDdEMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUNyQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztZQUNsQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7Z0JBQ3JELElBQUksSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLEVBQUUsQ0FBQztvQkFDdkIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUM5QyxDQUFDO1lBQ0gsQ0FBQztZQUNELElBQUksSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLEVBQUUsQ0FBQztnQkFDdkIsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUMxQixDQUFDO2lCQUFNLENBQUM7Z0JBQ04sTUFBTSxFQUFFLENBQUM7WUFDWCxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsYUFBYSxDQUFDLEVBQUU7UUFDZCxJQUFJLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxFQUFFLENBQUM7WUFDdkIsSUFBSSxFQUFFLENBQUMsU0FBUyxFQUFFLENBQUM7Z0JBQ2pCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO29CQUN6QyxJQUFJLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDbEMsQ0FBQztZQUNILENBQUM7aUJBQU0sQ0FBQztnQkFDTixJQUFJLEVBQUUsQ0FBQyxhQUFhLElBQUksT0FBTyxFQUFFLENBQUM7b0JBQ2hDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO29CQUNuQixJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQywyQ0FBMkMsQ0FBQyxDQUFDO2dCQUNoRSxDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO3VHQTNFVSx1QkFBdUI7MkZBQXZCLHVCQUF1QixrU0NicEMsMkpBRWlCOzsyRkRXSix1QkFBdUI7a0JBTm5DLFNBQVM7K0JBQ0Usa0JBQWtCLGlCQUdiLGlCQUFpQixDQUFDLElBQUk7NEdBR1osVUFBVTtzQkFBbEMsU0FBUzt1QkFBQyxZQUFZO2dCQUd2QixLQUFLO3NCQURKLEtBQUs7Z0JBSU4sSUFBSTtzQkFESCxLQUFLO2dCQWdCSyxNQUFNO3NCQURoQixLQUFLO2dCQVlOLGFBQWE7c0JBRFosTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYQmFzZUNvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2UvZWxlbWVudC5jbGFzcyc7XG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgRWxlbWVudFJlZiwgVmlld0VuY2Fwc3VsYXRpb24sIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhUcmFuc2xhdG9yLCBBWEh0bWxVdGlsIH0gZnJvbSAnQGFjb3JleC9jb3JlJztcbmltcG9ydCB7IEFYUXVlcnlCdWlsZGVyR3JvdXAsIEFYUXVlcnlCdWlsZGVyR3JvdXBFdmVudCwgQVhRdWVyeUJ1aWxkZXJHcm91cEl0ZW0gfSBmcm9tICcuL3F1ZXJ5LWJ1aWxkZXIuY2xhc3MnO1xuaW1wb3J0IHsgQVhRdWVyeUJ1aWxkZXJHcm91cENvbXBvbmVudCB9IGZyb20gJy4vcXVlcnktYnVpbGRlci1ncm91cC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQVhUb2FzdFNlcnZpY2UgfSBmcm9tICcuLi90b2FzdC90b2FzdC5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXgtcXVlcnktYnVpbGRlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9xdWVyeS1idWlsZGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcXVlcnktYnVpbGRlci5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIEFYUXVlcnlCdWlsZGVyQ29tcG9uZW50IGV4dGVuZHMgQVhCYXNlQ29tcG9uZW50IHtcbiAgQFZpZXdDaGlsZCgncXVlcnlHcm91cCcpIHF1ZXJ5R3JvdXA6IEFYUXVlcnlCdWlsZGVyR3JvdXBDb21wb25lbnQ7XG5cbiAgQElucHV0KClcbiAgcXVlcnk6IEFYUXVlcnlCdWlsZGVyR3JvdXA7XG5cbiAgQElucHV0KClcbiAgbW9kZTogJ25ldycgfCAnZWRpdCcgPSAnbmV3JztcblxuICByb290R3JvdXA6IEFYUXVlcnlCdWlsZGVyR3JvdXAgPSBuZXcgQVhRdWVyeUJ1aWxkZXJHcm91cCgpO1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMucm9vdEdyb3VwLmNvbmRpdGlvbiA9IHRoaXMucXVlcnkuY29uZGl0aW9uID8gdGhpcy5xdWVyeS5jb25kaXRpb24gOiAnQU5EJztcbiAgICB0aGlzLnJvb3RHcm91cC5pdGVtcyA9IHRoaXMucXVlcnkuaXRlbXMgPyB0aGlzLnF1ZXJ5Lml0ZW1zIDogW107XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlZjogRWxlbWVudFJlZiwgcHJpdmF0ZSB0b2FzdDogQVhUb2FzdFNlcnZpY2UpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZmllbGRzIDogYW55W107XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBnZXQgZmllbGRzKCkgOiBhbnlbXSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZpZWxkcztcbiAgfVxuICBwdWJsaWMgc2V0IGZpZWxkcyh2IDogYW55W10pIHtcbiAgICB0aGlzLl9maWVsZHMgPSB2O1xuICB9XG5cbiAgLy8gQElucHV0KClcbiAgLy8gbW9kZTogJ2ltbWVkaWF0ZScgfCAnY2xpY2snID0gJ2NsaWNrJztcblxuICBAT3V0cHV0KClcbiAgb25SdWxlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEFYUXVlcnlCdWlsZGVyR3JvdXBFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEFYUXVlcnlCdWlsZGVyR3JvdXBFdmVudD4oKTtcblxuICBzYXZlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHB1YmxpYyBnZXRRdWVyeUJ1aWxkZXIoKSB7XG4gICAgcmV0dXJuIHsgZ3JvdXBzOiB0aGlzLnJvb3RHcm91cCB9O1xuICB9XG5cbiAgcnVsZUNoYW5nZWQoZSkge1xuICAgIHRoaXMub25SdWxlQ2hhbmdlZC5lbWl0KHsgY29tcG9uZW50OiB0aGlzLCBncm91cHM6IHRoaXMucm9vdEdyb3VwIH0pO1xuICB9XG5cbiAgcHVibGljIHNhdmVSdWxlKCkge1xuICAgIC8vLyByZXR1cm4gdGhpcy5xdWVyeUdyb3VwLnNhdmVSdWxlKCk7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIHRoaXMuc2F2ZWQgPSB0cnVlO1xuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnJvb3RHcm91cC5pdGVtcy5sZW5ndGg7IGkrKykge1xuICAgICAgICBpZiAodGhpcy5zYXZlZCA9PSB0cnVlKSB7XG4gICAgICAgICAgdGhpcy5maW5kTnVsbFZhbHVlKHRoaXMucm9vdEdyb3VwLml0ZW1zW2ldKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKHRoaXMuc2F2ZWQgPT0gdHJ1ZSkge1xuICAgICAgICByZXNvbHZlKHRoaXMucm9vdEdyb3VwKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJlamVjdCgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgZmluZE51bGxWYWx1ZShncikge1xuICAgIGlmICh0aGlzLnNhdmVkID09IHRydWUpIHtcbiAgICAgIGlmIChnci5jb25kaXRpb24pIHtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBnci5pdGVtcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgIHRoaXMuZmluZE51bGxWYWx1ZShnci5pdGVtc1tpXSk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmIChnci5vbkRlbWFuZExhYmVsID09ICc/Pz8/fCcpIHtcbiAgICAgICAgICB0aGlzLnNhdmVkID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy50b2FzdC5lcnJvcign2YTYt9mB2Kcg2YbYp9mFINmF2KrYutuM2LEg2YfYp9uMINmF2YjYsdivINmG24zYp9iyINix2Kcg2qnYp9mF2YQg2qnZhtuM2K8nKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIHNlbGVjdGlvbkZpZWxkc0NoYW5nZWQoZSwgcnVsZXM6IEFYUXVlcnlCdWlsZGVyUnVsZSkge1xuICAvL1xuICAvLyAgICAgcnVsZXMuZGF0YUZpZWxkID0gZS5zZWxlY3RlZEl0ZW1zWzBdLmRhdGFGaWVsZDtcbiAgLy8gICAgIHJ1bGVzLmNhcHRpb24gPSBlLnNlbGVjdGVkSXRlbXNbMF0uY2FwdGlvbjtcbiAgLy8gICAgIHJ1bGVzLmRhdGFUeXBlID0gZS5zZWxlY3RlZEl0ZW1zWzBdLmRhdGFUeXBlO1xuXG4gIC8vICAgICAvLyBUTyBETyBjaGFjayBkYXRhVHlwZSBGb3IgRGVmIG9wZXJhdG9yIGFuZCBWYWx1ZVxuICAvLyAgICAgaWYgKHJ1bGVzLmRhdGFUeXBlID09ICdzdHJpbmcnKSB7XG4gIC8vICAgICAgICAgcnVsZXMub3BlcmF0b3IgPSB0aGlzLm9wZXJhdG9yU3RyaW5nSXRlbVswXS5pZDtcbiAgLy8gICAgICAgICBydWxlcy52YWx1ZSA9ICdudWxsJztcbiAgLy8gICAgIH1cbiAgLy8gICAgIGlmIChydWxlcy5kYXRhVHlwZSA9PSAnbnVtYmVyJykge1xuICAvLyAgICAgICAgIHJ1bGVzLm9wZXJhdG9yID0gdGhpcy5vcGVyYXRvck51bWJlckl0ZW1bMF0uaWQ7XG4gIC8vICAgICAgICAgcnVsZXMudmFsdWUgPSAnMCc7XG4gIC8vICAgICB9XG5cbiAgLy8gICAgIHRoaXMub25SdWxlQ2hhbmdlZC5lbWl0KHsgZ3JvdXBzOiB0aGlzLnJvb3RHcm91cCwgcXVlcnlTdHJpbmc6IHRoaXMuZ2V0UXVlcnlEaXNwbGF5KCksIGNvbXBvbmVudDogdGhpcywgaHRtbEVsZW1lbnQ6IHRoaXMucmVmLm5hdGl2ZUVsZW1lbnQgfSlcbiAgLy8gfVxuXG4gIC8vIHNlbGVjdGlvbk9wYXJhdG9yQ2hhbmdlZChlLCBydWxlczogQVhRdWVyeUJ1aWxkZXJSdWxlKSB7XG4gIC8vICAgICBydWxlcy5vcGVyYXRvciA9IGUuc2VsZWN0ZWRJdGVtc1swXS5pZDtcbiAgLy8gfVxuXG4gIC8vIHByb3ZpZGVEYXRhRmllbGRzID0gKGUpID0+IHtcbiAgLy8gICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAvLyAgICAgICAgIHJlc29sdmUodGhpcy5maWVsZHMpO1xuICAvLyAgICAgfSk7XG4gIC8vIH1cblxuICAvLyBwcm92aWRlRGF0YU9wZXJhdG9yU3RyaW5nID0gKGUpID0+IHtcbiAgLy8gICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAvLyAgICAgICAgIHJlc29sdmUodGhpcy5vcGVyYXRvclN0cmluZ0l0ZW0pO1xuICAvLyAgICAgfSk7XG4gIC8vIH1cbiAgLy8gcHJvdmlkZURhdGFPcGVyYXRvck51bWJlciA9IChlKSA9PiB7XG4gIC8vICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgLy8gICAgICAgICByZXNvbHZlKHRoaXMub3BlcmF0b3JOdW1iZXJJdGVtKTtcbiAgLy8gICAgIH0pO1xuICAvLyB9XG5cbiAgLy8gcHJpdmF0ZSBnZXRRdWVyeURpc3BsYXkoZ3IgPSB0aGlzLmxpc3QsIF9jb25kaXRpb24gPSB0aGlzLmxpc3RbMF0uY29uZGl0aW9uKSB7XG4gIC8vICAgICB2YXIgY2FwOiBzdHJpbmcgPSAnKCc7XG5cbiAgLy8gICAgIGZvciAobGV0IGogPSAwOyBqIDwgZ3IubGVuZ3RoOyBqKyspIHtcbiAgLy8gICAgICAgICBpZiAoaiA+IDApIHtcbiAgLy8gICAgICAgICAgICAgY2FwID0gY2FwICsgX2NvbmRpdGlvbjtcbiAgLy8gICAgICAgICB9XG4gIC8vICAgICAgICAgY2FwID0gY2FwICsgXCIgKCBcIjtcbiAgLy8gICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGdyW2pdLml0ZW1zLmxlbmd0aDsgaSsrKSB7XG4gIC8vICAgICAgICAgICAgIGlmIChncltqXS5pdGVtc1tpXS52YWx1ZSAmJiBncltqXS5pdGVtc1tpXS5vcGVyYXRvciAmJiBncltqXS5pdGVtc1tpXS5jYXB0aW9uIHx8ICgoZ3Jbal0uaXRlbXNbaV0ub3BlcmF0b3IgPT0gXCJpcy1lbXB0eVwiIHx8IGdyW2pdLml0ZW1zW2ldLm9wZXJhdG9yID09IFwiaXMtbm90LWVtcHR5XCIpICYmIGdyW2pdLml0ZW1zW2ldLmNhcHRpb24pKSB7XG4gIC8vICAgICAgICAgICAgICAgICB2YXIgb3ByOiBzdHJpbmc7XG4gIC8vICAgICAgICAgICAgICAgICBpZiAoZ3Jbal0uaXRlbXNbaV0uZGF0YVR5cGUgPT0gXCJudW1iZXJcIiB8fCBncltqXS5pdGVtc1tpXS5kYXRhVHlwZSA9PSBcImRhdGVcIiB8fCBncltqXS5pdGVtc1tpXS5kYXRhVHlwZSA9PSBcImRhdGVUaW1lXCIpIHtcbiAgLy8gICAgICAgICAgICAgICAgICAgICBsZXQgZCA9IHRoaXMub3BlcmF0b3JOdW1iZXJJdGVtLmZpbHRlcihjID0+IGMuaWQgPT0gZ3Jbal0uaXRlbXNbaV0ub3BlcmF0b3IpO1xuICAvLyAgICAgICAgICAgICAgICAgICAgIG9wciA9IGRbMF0udGV4dDtcbiAgLy8gICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gIC8vICAgICAgICAgICAgICAgICAgICAgbGV0IGQgPSB0aGlzLm9wZXJhdG9yU3RyaW5nSXRlbS5maWx0ZXIoYyA9PiBjLmlkID09IGdyW2pdLml0ZW1zW2ldLm9wZXJhdG9yKTtcbiAgLy8gICAgICAgICAgICAgICAgICAgICBvcHIgPSBkWzBdLnRleHQ7XG4gIC8vICAgICAgICAgICAgICAgICB9XG4gIC8vICAgICAgICAgICAgICAgICBpZiAoKGdyW2pdLml0ZW1zW2ldLm9wZXJhdG9yID09IFwiaXMtZW1wdHlcIiB8fCBncltqXS5pdGVtc1tpXS5vcGVyYXRvciA9PSBcImlzLW5vdC1lbXB0eVwiKSkge1xuXG4gIC8vICAgICAgICAgICAgICAgICAgICAgaWYgKGkgPT09IGdyW2pdLml0ZW1zLmxlbmd0aCAtIDEpIHtcbiAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgY2FwID0gY2FwICsgXCIgXCIgKyBcIltcIiArIGdyW2pdLml0ZW1zW2ldLmNhcHRpb24gKyBcIl1cIjtcbiAgLy8gICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAvLyAgICAgICAgICAgICAgICAgICAgICAgICBjYXAgPSBjYXAgKyBcIiBcIiArIFwiW1wiICsgZ3Jbal0uaXRlbXNbaV0uY2FwdGlvbiArIFwiXVwiICsgXCIgXCIgKyBvcHIgKyBcIiBcIiArIGdyW2pdLmNvbmRpdGlvbjtcbiAgLy8gICAgICAgICAgICAgICAgICAgICB9XG4gIC8vICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAvLyAgICAgICAgICAgICAgICAgICAgIHZhciB2YWw6IHN0cmluZztcblxuICAvLyAgICAgICAgICAgICAgICAgICAgIGlmIChncltqXS5pdGVtc1tpXS5kYXRhVHlwZSA9PSAnZGF0ZScpIHtcbiAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgLy8gdmFsID0gbW9tZW50KGl0ZW0udmFsdWUpLmxvY2FsZSgnZmEnKS5mb3JtYXQoJ1lZWVkvTU0vREQnKTtcbiAgLy8gICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGdyW2pdLml0ZW1zW2ldLmRhdGFUeXBlID09ICdkYXRlVGltZScpIHtcbiAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgLy8gdmFsID0gbW9tZW50KGl0ZW0udmFsdWUpLmxvY2FsZSgnZmEnKS5mb3JtYXQoJ0hIOm1tIFlZWVkvTU0vREQnKTtcbiAgLy8gICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAvLyAgICAgICAgICAgICAgICAgICAgICAgICB2YWwgPSBncltqXS5pdGVtc1tpXS52YWx1ZTtcbiAgLy8gICAgICAgICAgICAgICAgICAgICB9XG4gIC8vICAgICAgICAgICAgICAgICAgICAgaWYgKGkgPT09IGdyW2pdLml0ZW1zLmxlbmd0aCAtIDEpIHtcbiAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgY2FwID0gY2FwICsgXCIgXCIgKyBcIltcIiArIGdyW2pdLml0ZW1zW2ldLmNhcHRpb24gKyBcIl1cIiArIFwiIFwiICsgb3ByICsgXCIgXCIgKyB2YWxcbiAgLy8gICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAvLyAgICAgICAgICAgICAgICAgICAgICAgICBjYXAgPSBjYXAgKyBcIiBcIiArIFwiW1wiICsgZ3Jbal0uaXRlbXNbaV0uY2FwdGlvbiArIFwiXVwiICsgXCIgXCIgKyBvcHIgKyBcIiBcIiArIHZhbCArIFwiIFwiICsgZ3Jbal0uY29uZGl0aW9uXG4gIC8vICAgICAgICAgICAgICAgICAgICAgfVxuXG4gIC8vICAgICAgICAgICAgICAgICB9XG4gIC8vICAgICAgICAgICAgIH1cbiAgLy8gICAgICAgICB9XG5cbiAgLy8gICAgICAgICBpZiAoZ3Jbal0uZ3JvdXBzICYmIGdyW2pdLmdyb3Vwcy5sZW5ndGggPiAwKSB7XG4gIC8vICAgICAgICAgICAgIGxldCBjID0gdGhpcy5nZXRRdWVyeURpc3BsYXkoZ3Jbal0uZ3JvdXBzLCBncltqXS5jb25kaXRpb24pO1xuICAvLyAgICAgICAgICAgICBpZiAoYyAhPSBcIiggKSBcIikge1xuICAvLyAgICAgICAgICAgICAgICAgaWYgKGdyW2pdLml0ZW1zLmxlbmd0aCA+IDAgfHwgaiA+IDApIHtcbiAgLy8gICAgICAgICAgICAgICAgICAgICBjYXAgPSBjYXAgKyBcIiBcIiArIGdyW2pdLmNvbmRpdGlvbiArIFwiIFwiICsgYyArIFwiIFwiO1xuICAvLyAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgLy8gICAgICAgICAgICAgICAgICAgICBjYXAgPSBjYXAgKyBcIiBcIiArIGMgKyBcIiBcIjtcbiAgLy8gICAgICAgICAgICAgICAgIH1cblxuICAvLyAgICAgICAgICAgICB9XG4gIC8vICAgICAgICAgfVxuXG4gIC8vICAgICAgICAgY2FwID0gY2FwICsgXCIgKSBcIjtcbiAgLy8gICAgIH07XG5cbiAgLy8gICAgIGNhcCA9IGNhcCArIFwiICkgXCI7XG4gIC8vICAgICByZXR1cm4gY2FwO1xuICAvLyB9XG5cbiAgLy8gZGVsZXRlR3JvdXAoZ3JvdXBPdXQ6IEFYUXVlcnlCdWlsZGVyR3JvdXAsIGdyb3VwSW46IEFYUXVlcnlCdWlsZGVyR3JvdXApIHtcbiAgLy8gICAgIGdyb3VwT3V0Lml0ZW1zID0gZ3JvdXBPdXQuaXRlbXMuZmlsdGVyKGMgPT4gYy5pZCAhPSBncm91cEluLmlkKTtcbiAgLy8gfVxuXG4gIC8vIGRlbGV0ZVJ1bGUxKGdyb3VwOiBBWFF1ZXJ5QnVpbGRlckdyb3VwLCBydWxlOiBBWFF1ZXJ5QnVpbGRlclJ1bGUpIHtcbiAgLy8gICAgIGdyb3VwLml0ZW1zID0gZ3JvdXAuaXRlbXMuZmlsdGVyKGMgPT4gYy5pZCAhPSBydWxlLmlkKTtcbiAgLy8gfVxuXG4gIC8vIGFkZFJ1bGUoZ3JvdXA6IEFYUXVlcnlCdWlsZGVyR3JvdXApIHtcbiAgLy8gICAgIGNvbnN0IGl0ZW06IEFYUXVlcnlCdWlsZGVyUnVsZSA9IG5ldyBBWFF1ZXJ5QnVpbGRlclJ1bGUoKTtcbiAgLy8gICAgIGdyb3VwLml0ZW1zLnB1c2goaXRlbSk7XG4gIC8vIH1cblxuICAvLyBhZGRHcm91cEFORChncm91cDogQVhRdWVyeUJ1aWxkZXJHcm91cCkge1xuICAvLyAgICAgdGhpcy5hZGRHcm91cE9uQ2xpY2soZ3JvdXApO1xuICAvLyAgICAgZ3JvdXAuY29uZGl0aW9uID0gXCJBTkRcIjtcbiAgLy8gfVxuICAvLyBhZGRHcm91cE9SKGdyb3VwOiBBWFF1ZXJ5QnVpbGRlckdyb3VwKSB7XG4gIC8vICAgICB0aGlzLmFkZEdyb3VwT25DbGljayhncm91cCk7XG4gIC8vICAgICBncm91cC5jb25kaXRpb24gPSBcIk9SXCI7XG4gIC8vIH1cblxuICAvLyBhZGRHcm91cE9uQ2xpY2soZ3JvdXBzOiBBWFF1ZXJ5QnVpbGRlckdyb3VwKSB7XG4gIC8vICAgICBsZXQgcjogQVhRdWVyeUJ1aWxkZXJHcm91cCA9IG5ldyBBWFF1ZXJ5QnVpbGRlckdyb3VwKCk7XG4gIC8vICAgICByLmNvbmRpdGlvbiA9IFwiXCI7XG4gIC8vICAgICByLml0ZW1zID0gW107XG4gIC8vICAgICBpZiAoZ3JvdXBzLml0ZW1zID09IHVuZGVmaW5lZCkge1xuICAvLyAgICAgICAgIGdyb3Vwcy5pdGVtcyA9IFtdO1xuICAvLyAgICAgfVxuICAvLyAgICAgZ3JvdXBzLml0ZW1zLnB1c2gocik7XG4gIC8vIH1cbn1cbiIsIjxheC1xdWVyeS1ncm91cCAjcXVlcnlHcm91cCBbbW9kZV09XCJtb2RlXCIgW2dyb3VwXT1cInJvb3RHcm91cFwiIFtmaWVsZHNdPVwiZmllbGRzXCJcbiAgICAoZ3JvdXBSdWxlQ2hhbmdlZCk9XCJydWxlQ2hhbmdlZCgkZXZlbnQpXCI+XG48L2F4LXF1ZXJ5LWdyb3VwPiJdfQ==
|
@@ -1,62 +0,0 @@
|
|
1
|
-
import { NgModule } from '@angular/core';
|
2
|
-
import { AXQueryBuilderComponent } from './query-builder.component';
|
3
|
-
import { AXButtonModule } from '../button/button.module';
|
4
|
-
import { CommonModule } from '@angular/common';
|
5
|
-
import { AXPanelBoxModule } from '../panel-box/panel-box.module';
|
6
|
-
import { AXSelectBoxModule } from '../selectbox/selectbox.module';
|
7
|
-
import { AXTextBoxModule } from '../textbox/textbox.module';
|
8
|
-
import { AXQueryBuilderRuleComponent } from './query-builder-rule.component';
|
9
|
-
import { AXQueryBuilderGroupComponent } from './query-builder-group.component';
|
10
|
-
import { AXTranslatorModule } from '@acorex/core';
|
11
|
-
import { AXNumberBoxModule } from '../number-box/number-box.module';
|
12
|
-
import { AXDataSourceModule } from '../data-source/datasource.module';
|
13
|
-
import { AXFormGroupModule } from '../form-group/form-group.module';
|
14
|
-
import { AXQueryBuilderPopupComponent } from './query-builder-popup/query-builder-popup.component';
|
15
|
-
import { AXLabelModule } from '../label/label.module';
|
16
|
-
import { AXCheckBoxModule } from '../checkbox/checkbox.module';
|
17
|
-
import { AXValidationModule } from '../validation/validation.module';
|
18
|
-
import { AXQueryBuilderService } from './query-builder.service';
|
19
|
-
import { AXDatePickerModule } from '../date-picker/date-picker.module';
|
20
|
-
import * as i0 from "@angular/core";
|
21
|
-
const MODUELS = [
|
22
|
-
CommonModule,
|
23
|
-
AXButtonModule,
|
24
|
-
AXPanelBoxModule,
|
25
|
-
AXSelectBoxModule,
|
26
|
-
AXDataSourceModule,
|
27
|
-
AXTextBoxModule,
|
28
|
-
AXNumberBoxModule,
|
29
|
-
AXFormGroupModule,
|
30
|
-
AXTranslatorModule,
|
31
|
-
AXLabelModule,
|
32
|
-
AXCheckBoxModule,
|
33
|
-
AXValidationModule,
|
34
|
-
AXDatePickerModule
|
35
|
-
];
|
36
|
-
export class AXQueryBuilderModule {
|
37
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.7", ngImport: i0, type: AXQueryBuilderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
38
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.7", ngImport: i0, type: AXQueryBuilderModule, declarations: [AXQueryBuilderComponent, AXQueryBuilderGroupComponent, AXQueryBuilderRuleComponent, AXQueryBuilderPopupComponent], imports: [CommonModule,
|
39
|
-
AXButtonModule,
|
40
|
-
AXPanelBoxModule,
|
41
|
-
AXSelectBoxModule,
|
42
|
-
AXDataSourceModule,
|
43
|
-
AXTextBoxModule,
|
44
|
-
AXNumberBoxModule,
|
45
|
-
AXFormGroupModule,
|
46
|
-
AXTranslatorModule,
|
47
|
-
AXLabelModule,
|
48
|
-
AXCheckBoxModule,
|
49
|
-
AXValidationModule,
|
50
|
-
AXDatePickerModule], exports: [AXQueryBuilderComponent] });
|
51
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.7", ngImport: i0, type: AXQueryBuilderModule, providers: [AXQueryBuilderService], imports: [MODUELS] });
|
52
|
-
}
|
53
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.7", ngImport: i0, type: AXQueryBuilderModule, decorators: [{
|
54
|
-
type: NgModule,
|
55
|
-
args: [{
|
56
|
-
declarations: [AXQueryBuilderComponent, AXQueryBuilderGroupComponent, AXQueryBuilderRuleComponent, AXQueryBuilderPopupComponent],
|
57
|
-
imports: [MODUELS],
|
58
|
-
exports: [AXQueryBuilderComponent],
|
59
|
-
providers: [AXQueryBuilderService]
|
60
|
-
}]
|
61
|
-
}] });
|
62
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktYnVpbGRlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvc3JjL2xpYi9xdWVyeS1idWlsZGVyL3F1ZXJ5LWJ1aWxkZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDN0UsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDL0UsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2xELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ25HLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7QUFFdkUsTUFBTSxPQUFPLEdBQUc7SUFDWixZQUFZO0lBQ1osY0FBYztJQUNkLGdCQUFnQjtJQUNoQixpQkFBaUI7SUFDakIsa0JBQWtCO0lBQ2xCLGVBQWU7SUFDZixpQkFBaUI7SUFDakIsaUJBQWlCO0lBQ2pCLGtCQUFrQjtJQUNsQixhQUFhO0lBQ2IsZ0JBQWdCO0lBQ2hCLGtCQUFrQjtJQUNsQixrQkFBa0I7Q0FDckIsQ0FBQTtBQVNELE1BQU0sT0FBTyxvQkFBb0I7dUdBQXBCLG9CQUFvQjt3R0FBcEIsb0JBQW9CLGlCQU5kLHVCQUF1QixFQUFFLDRCQUE0QixFQUFFLDJCQUEyQixFQUFFLDRCQUE0QixhQWhCL0gsWUFBWTtZQUNaLGNBQWM7WUFDZCxnQkFBZ0I7WUFDaEIsaUJBQWlCO1lBQ2pCLGtCQUFrQjtZQUNsQixlQUFlO1lBQ2YsaUJBQWlCO1lBQ2pCLGlCQUFpQjtZQUNqQixrQkFBa0I7WUFDbEIsYUFBYTtZQUNiLGdCQUFnQjtZQUNoQixrQkFBa0I7WUFDbEIsa0JBQWtCLGFBTVIsdUJBQXVCO3dHQUl4QixvQkFBb0IsYUFIbEIsQ0FBQyxxQkFBcUIsQ0FBQyxZQUZ4QixPQUFPOzsyRkFLUixvQkFBb0I7a0JBUGhDLFFBQVE7bUJBQUM7b0JBQ04sWUFBWSxFQUFFLENBQUMsdUJBQXVCLEVBQUUsNEJBQTRCLEVBQUUsMkJBQTJCLEVBQUUsNEJBQTRCLENBQUM7b0JBQ2hJLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQztvQkFDbEIsT0FBTyxFQUFFLENBQUMsdUJBQXVCLENBQUM7b0JBQ2xDLFNBQVMsRUFBRSxDQUFDLHFCQUFxQixDQUFDO2lCQUNyQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWFF1ZXJ5QnVpbGRlckNvbXBvbmVudCB9IGZyb20gJy4vcXVlcnktYnVpbGRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQVhCdXR0b25Nb2R1bGUgfSBmcm9tICcuLi9idXR0b24vYnV0dG9uLm1vZHVsZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQVhQYW5lbEJveE1vZHVsZSB9IGZyb20gJy4uL3BhbmVsLWJveC9wYW5lbC1ib3gubW9kdWxlJztcbmltcG9ydCB7IEFYU2VsZWN0Qm94TW9kdWxlIH0gZnJvbSAnLi4vc2VsZWN0Ym94L3NlbGVjdGJveC5tb2R1bGUnO1xuaW1wb3J0IHsgQVhUZXh0Qm94TW9kdWxlIH0gZnJvbSAnLi4vdGV4dGJveC90ZXh0Ym94Lm1vZHVsZSc7XG5pbXBvcnQgeyBBWFF1ZXJ5QnVpbGRlclJ1bGVDb21wb25lbnQgfSBmcm9tICcuL3F1ZXJ5LWJ1aWxkZXItcnVsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQVhRdWVyeUJ1aWxkZXJHcm91cENvbXBvbmVudCB9IGZyb20gJy4vcXVlcnktYnVpbGRlci1ncm91cC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQVhUcmFuc2xhdG9yTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb3JlJztcbmltcG9ydCB7IEFYTnVtYmVyQm94TW9kdWxlIH0gZnJvbSAnLi4vbnVtYmVyLWJveC9udW1iZXItYm94Lm1vZHVsZSc7XG5pbXBvcnQgeyBBWERhdGFTb3VyY2VNb2R1bGUgfSBmcm9tICcuLi9kYXRhLXNvdXJjZS9kYXRhc291cmNlLm1vZHVsZSc7XG5pbXBvcnQgeyBBWEZvcm1Hcm91cE1vZHVsZSB9IGZyb20gJy4uL2Zvcm0tZ3JvdXAvZm9ybS1ncm91cC5tb2R1bGUnO1xuaW1wb3J0IHsgQVhRdWVyeUJ1aWxkZXJQb3B1cENvbXBvbmVudCB9IGZyb20gJy4vcXVlcnktYnVpbGRlci1wb3B1cC9xdWVyeS1idWlsZGVyLXBvcHVwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBWExhYmVsTW9kdWxlIH0gZnJvbSAnLi4vbGFiZWwvbGFiZWwubW9kdWxlJztcbmltcG9ydCB7IEFYQ2hlY2tCb3hNb2R1bGUgfSBmcm9tICcuLi9jaGVja2JveC9jaGVja2JveC5tb2R1bGUnO1xuaW1wb3J0IHsgQVhWYWxpZGF0aW9uTW9kdWxlIH0gZnJvbSAnLi4vdmFsaWRhdGlvbi92YWxpZGF0aW9uLm1vZHVsZSc7XG5pbXBvcnQgeyBBWFF1ZXJ5QnVpbGRlclNlcnZpY2UgfSBmcm9tICcuL3F1ZXJ5LWJ1aWxkZXIuc2VydmljZSc7XG5pbXBvcnQgeyBBWERhdGVQaWNrZXJNb2R1bGUgfSBmcm9tICcuLi9kYXRlLXBpY2tlci9kYXRlLXBpY2tlci5tb2R1bGUnO1xuXG5jb25zdCBNT0RVRUxTID0gW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBBWEJ1dHRvbk1vZHVsZSxcbiAgICBBWFBhbmVsQm94TW9kdWxlLFxuICAgIEFYU2VsZWN0Qm94TW9kdWxlLFxuICAgIEFYRGF0YVNvdXJjZU1vZHVsZSxcbiAgICBBWFRleHRCb3hNb2R1bGUsXG4gICAgQVhOdW1iZXJCb3hNb2R1bGUsXG4gICAgQVhGb3JtR3JvdXBNb2R1bGUsXG4gICAgQVhUcmFuc2xhdG9yTW9kdWxlLFxuICAgIEFYTGFiZWxNb2R1bGUsXG4gICAgQVhDaGVja0JveE1vZHVsZSxcbiAgICBBWFZhbGlkYXRpb25Nb2R1bGUsXG4gICAgQVhEYXRlUGlja2VyTW9kdWxlXG5dXG5cbkBOZ01vZHVsZSh7XG4gICAgZGVjbGFyYXRpb25zOiBbQVhRdWVyeUJ1aWxkZXJDb21wb25lbnQsIEFYUXVlcnlCdWlsZGVyR3JvdXBDb21wb25lbnQsIEFYUXVlcnlCdWlsZGVyUnVsZUNvbXBvbmVudCwgQVhRdWVyeUJ1aWxkZXJQb3B1cENvbXBvbmVudF0sXG4gICAgaW1wb3J0czogW01PRFVFTFNdLFxuICAgIGV4cG9ydHM6IFtBWFF1ZXJ5QnVpbGRlckNvbXBvbmVudF0sXG4gICAgcHJvdmlkZXJzOiBbQVhRdWVyeUJ1aWxkZXJTZXJ2aWNlXVxufSlcblxuZXhwb3J0IGNsYXNzIEFYUXVlcnlCdWlsZGVyTW9kdWxlIHsgfSJdfQ==
|
@@ -1,199 +0,0 @@
|
|
1
|
-
import { AXQueryBuilderGroup } from './query-builder.class';
|
2
|
-
import { Injectable } from '@angular/core';
|
3
|
-
import { AXPopupService } from '../popup/popup.service';
|
4
|
-
import { AXQueryBuilderPopupComponent } from './query-builder-popup/query-builder-popup.component';
|
5
|
-
import { AXToastService } from '../toast/toast.service';
|
6
|
-
import { AXDateTime } from '@acorex/core';
|
7
|
-
import * as i0 from "@angular/core";
|
8
|
-
import * as i1 from "../popup/popup.service";
|
9
|
-
import * as i2 from "../toast/toast.service";
|
10
|
-
export class AXQueryBuilderService {
|
11
|
-
popup;
|
12
|
-
toast;
|
13
|
-
constructor(popup, toast) {
|
14
|
-
this.popup = popup;
|
15
|
-
this.toast = toast;
|
16
|
-
}
|
17
|
-
canOpen = false;
|
18
|
-
canRun = false;
|
19
|
-
runQuery(group, provideData) {
|
20
|
-
return new Promise((resolve) => {
|
21
|
-
this.canOpen = false;
|
22
|
-
for (let i = 0; i < group.items.length; i++) {
|
23
|
-
this.getNoValueRule(group.items[i]);
|
24
|
-
}
|
25
|
-
if (this.canOpen) {
|
26
|
-
this.canRun = true;
|
27
|
-
for (let i = 0; i < group.items.length; i++) {
|
28
|
-
if (this.canRun == true) {
|
29
|
-
this.findNullValue(group.items[i]);
|
30
|
-
}
|
31
|
-
}
|
32
|
-
if (this.canRun) {
|
33
|
-
this.popup.open(AXQueryBuilderPopupComponent, { data: { group: group, provideData: provideData }, title: 'دریافت مقادیر' }).then((c) => {
|
34
|
-
resolve(c);
|
35
|
-
});
|
36
|
-
}
|
37
|
-
}
|
38
|
-
else {
|
39
|
-
resolve(group);
|
40
|
-
}
|
41
|
-
});
|
42
|
-
}
|
43
|
-
findNullValue(gr) {
|
44
|
-
if (this.canRun == true) {
|
45
|
-
if (gr.condition) {
|
46
|
-
for (let i = 0; i < gr.items.length; i++) {
|
47
|
-
this.findNullValue(gr.items[i]);
|
48
|
-
}
|
49
|
-
}
|
50
|
-
else {
|
51
|
-
if (gr.onDemandLabel == '????|') {
|
52
|
-
this.canRun = false;
|
53
|
-
this.toast.error('لطفا نام متغیر های مورد نیاز را کامل کنید');
|
54
|
-
}
|
55
|
-
}
|
56
|
-
}
|
57
|
-
}
|
58
|
-
getNoValueRule(gr) {
|
59
|
-
// for (let i = 0; i < gr.items.length; i++) {
|
60
|
-
if (gr.condition) {
|
61
|
-
for (let i = 0; i < gr.items.length; i++) {
|
62
|
-
this.getNoValueRule(gr.items[i]);
|
63
|
-
}
|
64
|
-
}
|
65
|
-
else {
|
66
|
-
if (gr.onDemandLabel?.indexOf('????') == 0) {
|
67
|
-
this.canOpen = true;
|
68
|
-
}
|
69
|
-
}
|
70
|
-
// }
|
71
|
-
}
|
72
|
-
async getQueryStringSimple(group) {
|
73
|
-
return new Promise(async (resolve, reject) => {
|
74
|
-
var query;
|
75
|
-
if (group.items.length > 0) {
|
76
|
-
query = ' ( ';
|
77
|
-
}
|
78
|
-
var id = 0;
|
79
|
-
for await (const iterator of group.items) {
|
80
|
-
const item = group.items[id];
|
81
|
-
if (item.condition) {
|
82
|
-
await this.getQueryStringSimple(item).then((c) => {
|
83
|
-
query = query + c;
|
84
|
-
});
|
85
|
-
}
|
86
|
-
else {
|
87
|
-
let codeOperator = null;
|
88
|
-
switch (item.operator) {
|
89
|
-
case 'equal':
|
90
|
-
codeOperator = '==';
|
91
|
-
break;
|
92
|
-
case 'not-equal':
|
93
|
-
codeOperator = '!=';
|
94
|
-
break;
|
95
|
-
case 'not-null':
|
96
|
-
codeOperator = '!= null';
|
97
|
-
break;
|
98
|
-
case 'null':
|
99
|
-
codeOperator = '== null';
|
100
|
-
break;
|
101
|
-
case 'gt':
|
102
|
-
codeOperator = '>';
|
103
|
-
break;
|
104
|
-
case 'gte':
|
105
|
-
codeOperator = '>=';
|
106
|
-
break;
|
107
|
-
case 'lt':
|
108
|
-
codeOperator = '<';
|
109
|
-
break;
|
110
|
-
case 'lte':
|
111
|
-
codeOperator = '<=';
|
112
|
-
break;
|
113
|
-
case 'contains':
|
114
|
-
codeOperator = item.operator;
|
115
|
-
break;
|
116
|
-
case 'start-with':
|
117
|
-
codeOperator = item.operator;
|
118
|
-
break;
|
119
|
-
case 'end-with':
|
120
|
-
codeOperator = item.operator;
|
121
|
-
break;
|
122
|
-
default:
|
123
|
-
codeOperator = item.operator;
|
124
|
-
break;
|
125
|
-
}
|
126
|
-
if (item.dataType == 'datetime' && item.text && item.text != '' && item.text != null || item.dataType == 'date' && item.text && item.text != '' && item.text != null) {
|
127
|
-
query = query + ' ' + item.caption + ' ' + codeOperator + ' (' + AXDateTime.convert(item.text, 'jalali') + ')';
|
128
|
-
}
|
129
|
-
else if (item.dataType != 'datetime' || item.dataType != 'date') {
|
130
|
-
query = query + ' ' + item.caption + ' ' + codeOperator + ' ' + item.text;
|
131
|
-
}
|
132
|
-
}
|
133
|
-
if (id !== group.items.length - 1 && query != ' ( ') {
|
134
|
-
query = query + ' ' + group.condition;
|
135
|
-
}
|
136
|
-
id += 1;
|
137
|
-
}
|
138
|
-
if (group.items.length > 0) {
|
139
|
-
query = query + ' ) ';
|
140
|
-
}
|
141
|
-
resolve(query);
|
142
|
-
});
|
143
|
-
}
|
144
|
-
getQueryString(group, type) {
|
145
|
-
let query = '';
|
146
|
-
switch (type) {
|
147
|
-
case 'simple':
|
148
|
-
if (group.items.length > 0) {
|
149
|
-
query = ' ( ';
|
150
|
-
}
|
151
|
-
for (let i = 0; i < group.items.length; i++) {
|
152
|
-
const item = group.items[i];
|
153
|
-
if (item instanceof AXQueryBuilderGroup) {
|
154
|
-
query = query + item.queryString;
|
155
|
-
}
|
156
|
-
else {
|
157
|
-
query = query + ' ' + item.caption + ' ' + item.operator + ' ' + item.value;
|
158
|
-
}
|
159
|
-
if (i !== group.items.length - 1 && query != ' ( ') {
|
160
|
-
query = query + ' ' + group.condition;
|
161
|
-
}
|
162
|
-
}
|
163
|
-
if (group.items.length > 0) {
|
164
|
-
query = query + ' ) ';
|
165
|
-
}
|
166
|
-
break;
|
167
|
-
case 'elastic':
|
168
|
-
if (group.items.length > 0) {
|
169
|
-
query = ' ( ';
|
170
|
-
}
|
171
|
-
for (let i = 0; i < group.items.length; i++) {
|
172
|
-
const item = group.items[i];
|
173
|
-
if (item instanceof AXQueryBuilderGroup) {
|
174
|
-
query = query + item.queryStringElastic;
|
175
|
-
}
|
176
|
-
else {
|
177
|
-
query = query + ' ' + item.dataField + ' ' + item.operator + ' ' + item.value;
|
178
|
-
}
|
179
|
-
if (i !== group.items.length - 1 && query != ' ( ') {
|
180
|
-
query = query + ' ' + group.condition;
|
181
|
-
}
|
182
|
-
}
|
183
|
-
if (group.items.length > 0) {
|
184
|
-
query = query + ' ) ';
|
185
|
-
}
|
186
|
-
break;
|
187
|
-
case 'sql':
|
188
|
-
break;
|
189
|
-
}
|
190
|
-
return query;
|
191
|
-
}
|
192
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.7", ngImport: i0, type: AXQueryBuilderService, deps: [{ token: i1.AXPopupService }, { token: i2.AXToastService }], target: i0.ɵɵFactoryTarget.Injectable });
|
193
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.7", ngImport: i0, type: AXQueryBuilderService, providedIn: 'root' });
|
194
|
-
}
|
195
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.7", ngImport: i0, type: AXQueryBuilderService, decorators: [{
|
196
|
-
type: Injectable,
|
197
|
-
args: [{ providedIn: 'root' }]
|
198
|
-
}], ctorParameters: () => [{ type: i1.AXPopupService }, { type: i2.AXToastService }] });
|
199
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktYnVpbGRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3NyYy9saWIvcXVlcnktYnVpbGRlci9xdWVyeS1idWlsZGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG1CQUFtQixFQUE0QixNQUFNLHVCQUF1QixDQUFDO0FBQ3RGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3hELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ25HLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7O0FBRTFDLE1BQU0sT0FBTyxxQkFBcUI7SUFDWjtJQUErQjtJQUFuRCxZQUFvQixLQUFxQixFQUFVLEtBQXFCO1FBQXBELFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQVUsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7SUFBSSxDQUFDO0lBQzdFLE9BQU8sR0FBWSxLQUFLLENBQUM7SUFDekIsTUFBTSxHQUFZLEtBQUssQ0FBQztJQUNqQixRQUFRLENBQUMsS0FBMEIsRUFBRSxXQUFXO1FBQ3JELE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUM3QixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztZQUNyQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztnQkFDNUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFD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S0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztvQkFDM0IsS0FBSyxHQUFHLEtBQUssR0FBRyxLQUFLLENBQUM7Z0JBQ3hCLENBQUM7Z0JBRUQsTUFBTTtZQUNSLEtBQUssS0FBSztnQkFDUixNQUFNO1FBQ1YsQ0FBQztRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzt1R0FuTFUscUJBQXFCOzJHQUFyQixxQkFBcUIsY0FEUixNQUFNOzsyRkFDbkIscUJBQXFCO2tCQURqQyxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUXVlcnlCdWlsZGVyR3JvdXAsIEFYUXVlcnlCdWlsZGVyU3RyaW5nVHlwZSB9IGZyb20gJy4vcXVlcnktYnVpbGRlci5jbGFzcyc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWFBvcHVwU2VydmljZSB9IGZyb20gJy4uL3BvcHVwL3BvcHVwLnNlcnZpY2UnO1xuaW1wb3J0IHsgQVhRdWVyeUJ1aWxkZXJQb3B1cENvbXBvbmVudCB9IGZyb20gJy4vcXVlcnktYnVpbGRlci1wb3B1cC9xdWVyeS1idWlsZGVyLXBvcHVwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBWFRvYXN0U2VydmljZSB9IGZyb20gJy4uL3RvYXN0L3RvYXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgQVhEYXRlVGltZSB9IGZyb20gJ0BhY29yZXgvY29yZSc7XG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEFYUXVlcnlCdWlsZGVyU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcG9wdXA6IEFYUG9wdXBTZXJ2aWNlLCBwcml2YXRlIHRvYXN0OiBBWFRvYXN0U2VydmljZSkgeyB9XG4gIGNhbk9wZW46IGJvb2xlYW4gPSBmYWxzZTtcbiAgY2FuUnVuOiBib29sZWFuID0gZmFsc2U7XG4gIHB1YmxpYyBydW5RdWVyeShncm91cDogQVhRdWVyeUJ1aWxkZXJHcm91cCwgcHJvdmlkZURhdGEpIHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICAgIHRoaXMuY2FuT3BlbiA9IGZhbHNlO1xuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBncm91cC5pdGVtcy5sZW5ndGg7IGkrKykge1xuICAgICAgICB0aGlzLmdldE5vVmFsdWVSdWxlKGdyb3VwLml0ZW1zW2ldKTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLmNhbk9wZW4pIHtcbiAgICAgICAgdGhpcy5jYW5SdW4gPSB0cnVlO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGdyb3VwLml0ZW1zLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgaWYgKHRoaXMuY2FuUnVuID09IHRydWUpIHtcbiAgICAgICAgICAgIHRoaXMuZmluZE51bGxWYWx1ZShncm91cC5pdGVtc1tpXSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmNhblJ1bikge1xuICAgICAgICAgIHRoaXMucG9wdXAub3BlbihBWFF1ZXJ5QnVpbGRlclBvcHVwQ29tcG9uZW50LCB7IGRhdGE6IHsgZ3JvdXA6IGdyb3VwLCBwcm92aWRlRGF0YTogcHJvdmlkZURhdGEgfSwgdGl0bGU6ICfYr9ix24zYp9mB2Kog2YXZgtin2K/bjNixJyB9KS50aGVuKChjKSA9PiB7XG4gICAgICAgICAgICByZXNvbHZlKGMpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXNvbHZlKGdyb3VwKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGZpbmROdWxsVmFsdWUoZ3IpIHtcbiAgICBpZiAodGhpcy5jYW5SdW4gPT0gdHJ1ZSkge1xuICAgICAgaWYgKGdyLmNvbmRpdGlvbikge1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGdyLml0ZW1zLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgdGhpcy5maW5kTnVsbFZhbHVlKGdyLml0ZW1zW2ldKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKGdyLm9uRGVtYW5kTGFiZWwgPT0gJz8/Pz98Jykge1xuICAgICAgICAgIHRoaXMuY2FuUnVuID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy50b2FzdC5lcnJvcign2YTYt9mB2Kcg2YbYp9mFINmF2KrYutuM2LEg2YfYp9uMINmF2YjYsdivINmG24zYp9iyINix2Kcg2qnYp9mF2YQg2qnZhtuM2K8nKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0Tm9WYWx1ZVJ1bGUoZ3IpIHtcbiAgICAvLyBmb3IgKGxldCBpID0gMDsgaSA8IGdyLml0ZW1zLmxlbmd0aDsgaSsrKSB7XG4gICAgaWYgKGdyLmNvbmRpdGlvbikge1xuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBnci5pdGVtcy5sZW5ndGg7IGkrKykge1xuICAgICAgICB0aGlzLmdldE5vVmFsdWVSdWxlKGdyLml0ZW1zW2ldKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKGdyLm9uRGVtYW5kTGFiZWw/LmluZGV4T2YoJz8/Pz8nKSA9PSAwKSB7XG4gICAgICAgIHRoaXMuY2FuT3BlbiA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gIH1cbiAgfVxuXG4gIGFzeW5jIGdldFF1ZXJ5U3RyaW5nU2ltcGxlKGdyb3VwOiBBWFF1ZXJ5QnVpbGRlckdyb3VwKSB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlPHN0cmluZz4oYXN5bmMgKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgdmFyIHF1ZXJ5OiBzdHJpbmc7XG4gICAgICBpZiAoZ3JvdXAuaXRlbXMubGVuZ3RoID4gMCkge1xuICAgICAgICBxdWVyeSA9ICcgKCAnO1xuICAgICAgfVxuICAgICAgdmFyIGlkID0gMDtcbiAgICAgIGZvciBhd2FpdCAoY29uc3QgaXRlcmF0b3Igb2YgZ3JvdXAuaXRlbXMpIHtcbiAgICAgICAgY29uc3QgaXRlbTogYW55ID0gZ3JvdXAuaXRlbXNbaWRdO1xuXG4gICAgICAgIGlmIChpdGVtLmNvbmRpdGlvbikge1xuICAgICAgICAgIGF3YWl0IHRoaXMuZ2V0UXVlcnlTdHJpbmdTaW1wbGUoaXRlbSkudGhlbigoYykgPT4ge1xuICAgICAgICAgICAgcXVlcnkgPSBxdWVyeSArIGM7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgbGV0IGNvZGVPcGVyYXRvcjogc3RyaW5nID0gbnVsbDtcbiAgICAgICAgICBzd2l0Y2ggKGl0ZW0ub3BlcmF0b3IpIHtcbiAgICAgICAgICAgIGNhc2UgJ2VxdWFsJzpcbiAgICAgICAgICAgICAgY29kZU9wZXJhdG9yID0gJz09JztcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdub3QtZXF1YWwnOlxuICAgICAgICAgICAgICBjb2RlT3BlcmF0b3IgPSAnIT0nO1xuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ25vdC1udWxsJzpcbiAgICAgICAgICAgICAgY29kZU9wZXJhdG9yID0gJyE9IG51bGwnO1xuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ251bGwnOlxuICAgICAgICAgICAgICBjb2RlT3BlcmF0b3IgPSAnPT0gbnVsbCc7XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnZ3QnOlxuICAgICAgICAgICAgICBjb2RlT3BlcmF0b3IgPSAnPic7XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnZ3RlJzpcbiAgICAgICAgICAgICAgY29kZU9wZXJhdG9yID0gJz49JztcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdsdCc6XG4gICAgICAgICAgICAgIGNvZGVPcGVyYXRvciA9ICc8JztcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdsdGUnOlxuICAgICAgICAgICAgICBjb2RlT3BlcmF0b3IgPSAnPD0nO1xuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ2NvbnRhaW5zJzpcbiAgICAgICAgICAgICAgY29kZU9wZXJhdG9yID0gaXRlbS5vcGVyYXRvcjtcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdzdGFydC13aXRoJzpcbiAgICAgICAgICAgICAgY29kZU9wZXJhdG9yID0gaXRlbS5vcGVyYXRvcjtcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdlbmQtd2l0aCc6XG4gICAgICAgICAgICAgIGNvZGVPcGVyYXRvciA9IGl0ZW0ub3BlcmF0b3I7XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgY29kZU9wZXJhdG9yID0gaXRlbS5vcGVyYXRvcjtcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChpdGVtLmRhdGFUeXBlID09ICdkYXRldGltZScgJiYgaXRlbS50ZXh0ICYmIGl0ZW0udGV4dCAhPSAnJyAmJiBpdGVtLnRleHQgIT0gbnVsbCB8fCBpdGVtLmRhdGFUeXBlID09ICdkYXRlJyAmJiBpdGVtLnRleHQgJiYgaXRlbS50ZXh0ICE9ICcnICYmIGl0ZW0udGV4dCAhPSBudWxsKSB7XG4gICAgICAgICAgICBxdWVyeSA9IHF1ZXJ5ICsgJyAnICsgaXRlbS5jYXB0aW9uICsgJyAnICsgY29kZU9wZXJhdG9yICsgJyAoJyArIEFYRGF0ZVRpbWUuY29udmVydChpdGVtLnRleHQsICdqYWxhbGknKSArICcpJztcbiAgICAgICAgICB9IGVsc2UgaWYgKGl0ZW0uZGF0YVR5cGUgIT0gJ2RhdGV0aW1lJyB8fCBpdGVtLmRhdGFUeXBlICE9ICdkYXRlJykge1xuICAgICAgICAgICAgcXVlcnkgPSBxdWVyeSArICcgJyArIGl0ZW0uY2FwdGlvbiArICcgJyArIGNvZGVPcGVyYXRvciArICcgJyArIGl0ZW0udGV4dDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgfVxuICAgICAgICBpZiAoaWQgIT09IGdyb3VwLml0ZW1zLmxlbmd0aCAtIDEgJiYgcXVlcnkgIT0gJyAoICcpIHtcbiAgICAgICAgICBxdWVyeSA9IHF1ZXJ5ICsgJyAnICsgZ3JvdXAuY29uZGl0aW9uO1xuICAgICAgICB9XG4gICAgICAgIGlkICs9IDE7XG4gICAgICB9XG4gICAgICBpZiAoZ3JvdXAuaXRlbXMubGVuZ3RoID4gMCkge1xuICAgICAgICBxdWVyeSA9IHF1ZXJ5ICsgJyApICc7XG4gICAgICB9XG4gICAgICByZXNvbHZlKHF1ZXJ5KTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRRdWVyeVN0cmluZyhncm91cDogQVhRdWVyeUJ1aWxkZXJHcm91cCwgdHlwZTogQVhRdWVyeUJ1aWxkZXJTdHJpbmdUeXBlKTogc3RyaW5nIHtcbiAgICBsZXQgcXVlcnkgPSAnJztcbiAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgIGNhc2UgJ3NpbXBsZSc6XG4gICAgICAgIGlmIChncm91cC5pdGVtcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgcXVlcnkgPSAnICggJztcbiAgICAgICAgfVxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGdyb3VwLml0ZW1zLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgY29uc3QgaXRlbSA9IGdyb3VwLml0ZW1zW2ldO1xuICAgICAgICAgIGlmIChpdGVtIGluc3RhbmNlb2YgQVhRdWVyeUJ1aWxkZXJHcm91cCkge1xuICAgICAgICAgICAgcXVlcnkgPSBxdWVyeSArIGl0ZW0ucXVlcnlTdHJpbmc7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHF1ZXJ5ID0gcXVlcnkgKyAnICcgKyBpdGVtLmNhcHRpb24gKyAnICcgKyBpdGVtLm9wZXJhdG9yICsgJyAnICsgaXRlbS52YWx1ZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGkgIT09IGdyb3VwLml0ZW1zLmxlbmd0aCAtIDEgJiYgcXVlcnkgIT0gJyAoICcpIHtcbiAgICAgICAgICAgIHF1ZXJ5ID0gcXVlcnkgKyAnICcgKyBncm91cC5jb25kaXRpb247XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChncm91cC5pdGVtcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgcXVlcnkgPSBxdWVyeSArICcgKSAnO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlICdlbGFzdGljJzpcbiAgICAgICAgaWYgKGdyb3VwLml0ZW1zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICBxdWVyeSA9ICcgKCAnO1xuICAgICAgICB9XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZ3JvdXAuaXRlbXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICBjb25zdCBpdGVtID0gZ3JvdXAuaXRlbXNbaV07XG4gICAgICAgICAgaWYgKGl0ZW0gaW5zdGFuY2VvZiBBWFF1ZXJ5QnVpbGRlckdyb3VwKSB7XG4gICAgICAgICAgICBxdWVyeSA9IHF1ZXJ5ICsgaXRlbS5xdWVyeVN0cmluZ0VsYXN0aWM7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHF1ZXJ5ID0gcXVlcnkgKyAnICcgKyBpdGVtLmRhdGFGaWVsZCArICcgJyArIGl0ZW0ub3BlcmF0b3IgKyAnICcgKyBpdGVtLnZhbHVlO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoaSAhPT0gZ3JvdXAuaXRlbXMubGVuZ3RoIC0gMSAmJiBxdWVyeSAhPSAnICggJykge1xuICAgICAgICAgICAgcXVlcnkgPSBxdWVyeSArICcgJyArIGdyb3VwLmNvbmRpdGlvbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGdyb3VwLml0ZW1zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICBxdWVyeSA9IHF1ZXJ5ICsgJyApICc7XG4gICAgICAgIH1cblxuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ3NxbCc6XG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIHJldHVybiBxdWVyeTtcbiAgfVxufVxuIl19
|