@acorex/components 6.5.91 → 6.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -3
- package/esm2022/acorex-components.mjs +5 -0
- package/esm2022/index.mjs +158 -0
- package/esm2022/lib/accordion/accordion.component.mjs +45 -0
- package/esm2022/lib/accordion/accordion.module.mjs +20 -0
- package/esm2022/lib/base/base-page.class.mjs +97 -0
- package/esm2022/lib/base/components.class.mjs +17 -0
- package/esm2022/lib/base/element.class.mjs +301 -0
- package/esm2022/lib/base/events.class.mjs +17 -0
- package/esm2022/lib/button/button.component.mjs +74 -0
- package/esm2022/lib/button/button.module.mjs +21 -0
- package/esm2022/lib/calendar/calendar-box/calendar-box.component.mjs +426 -0
- package/esm2022/lib/calendar/calendar-box/calendar-box.module.mjs +22 -0
- package/esm2022/lib/calendar/scheduler/scheduler-views.property.mjs +59 -0
- package/esm2022/lib/calendar/scheduler/scheduler.class.mjs +16 -0
- package/esm2022/lib/calendar/scheduler/scheduler.component.mjs +226 -0
- package/esm2022/lib/calendar/scheduler/scheduler.module.mjs +68 -0
- package/esm2022/lib/calendar/scheduler/toolbars/scheduler-toolbar-navigator.mjs +136 -0
- package/esm2022/lib/calendar/scheduler/toolbars/scheduler-toolbar-views.mjs +37 -0
- package/esm2022/lib/calendar/scheduler/views/agenda/scheduler-agenda-view.component.mjs +49 -0
- package/esm2022/lib/calendar/scheduler/views/daytime/scheduler-daytime-view.component.mjs +102 -0
- package/esm2022/lib/calendar/scheduler/views/month/scheduler-month-view.component.mjs +214 -0
- package/esm2022/lib/calendar/scheduler/views/scheduler-view.component.mjs +99 -0
- package/esm2022/lib/calendar/scheduler/views/timeline/scheduler-timeline-view.component.mjs +85 -0
- package/esm2022/lib/checkbox/checkbox.component.mjs +102 -0
- package/esm2022/lib/checkbox/checkbox.module.mjs +20 -0
- package/esm2022/lib/color-picker/color-box/color-box.component.mjs +423 -0
- package/esm2022/lib/color-picker/color-picker.component.mjs +89 -0
- package/esm2022/lib/color-picker/color-picker.module.mjs +24 -0
- package/esm2022/lib/context-menu/context-menu.component.mjs +68 -0
- package/esm2022/lib/context-menu/context-menu.directive.mjs +146 -0
- package/esm2022/lib/context-menu/context-menu.module.mjs +20 -0
- package/esm2022/lib/data-filter/columns/filter-column-date.component.mjs +140 -0
- package/esm2022/lib/data-filter/columns/filter-column-number.component.mjs +119 -0
- package/esm2022/lib/data-filter/columns/filter-column-selection.component.mjs +75 -0
- package/esm2022/lib/data-filter/columns/filter-column-string.component.mjs +119 -0
- package/esm2022/lib/data-filter/filter-panel/filter-panel.component.mjs +267 -0
- package/esm2022/lib/data-filter/filter.class.mjs +46 -0
- package/esm2022/lib/data-filter/filter.module.mjs +88 -0
- package/esm2022/lib/data-filter/toolbar/filter-toolbar.component.mjs +168 -0
- package/esm2022/lib/data-list/core/data-list.component.mjs +37 -0
- package/esm2022/lib/data-list/list/list.component.mjs +134 -0
- package/esm2022/lib/data-list/list/list.module.mjs +22 -0
- package/esm2022/lib/data-list/list/toolbar-list-view.component.mjs +84 -0
- package/esm2022/lib/data-source/datasource.component.mjs +47 -0
- package/esm2022/lib/data-source/datasource.module.mjs +18 -0
- package/esm2022/lib/data-source/read-param.mjs +7 -0
- package/esm2022/lib/date-picker/date-picker.component.mjs +1093 -0
- package/esm2022/lib/date-picker/date-picker.module.mjs +49 -0
- package/esm2022/lib/dialog/dialog.component.mjs +26 -0
- package/esm2022/lib/dialog/dialog.module.mjs +21 -0
- package/esm2022/lib/dialog/dialog.service.mjs +160 -0
- package/esm2022/lib/drawer/content.component.mjs +18 -0
- package/esm2022/lib/drawer/drawer-container.component.mjs +38 -0
- package/esm2022/lib/drawer/drawer.component.mjs +146 -0
- package/esm2022/lib/drawer/drawer.module.mjs +23 -0
- package/esm2022/lib/dropdown/dropdown.component.mjs +186 -0
- package/esm2022/lib/dropdown/dropdown.module.mjs +26 -0
- package/esm2022/lib/fieldset/fieldset.component.mjs +57 -0
- package/esm2022/lib/fieldset/fieldset.module.mjs +19 -0
- package/esm2022/lib/form-group/form-group.component.mjs +37 -0
- package/esm2022/lib/form-group/form-group.module.mjs +21 -0
- package/esm2022/lib/label/label.component.mjs +19 -0
- package/esm2022/lib/label/label.module.mjs +21 -0
- package/esm2022/lib/loading/loading-indicator.component.mjs +18 -0
- package/esm2022/lib/loading/loading-panel.component.mjs +45 -0
- package/esm2022/lib/loading/loading.module.mjs +21 -0
- package/esm2022/lib/loading/loading.service.mjs +47 -0
- package/esm2022/lib/menu/menu-item.component.mjs +50 -0
- package/esm2022/lib/menu/menu.component.mjs +98 -0
- package/esm2022/lib/menu/menu.module.mjs +22 -0
- package/esm2022/lib/menu/menu2.component.mjs +100 -0
- package/esm2022/lib/number-box/number-box.component.mjs +628 -0
- package/esm2022/lib/number-box/number-box.module.mjs +21 -0
- package/esm2022/lib/page/content.component.mjs +27 -0
- package/esm2022/lib/page/footer.component.mjs +19 -0
- package/esm2022/lib/page/page.component.mjs +57 -0
- package/esm2022/lib/page/page.module.mjs +22 -0
- package/esm2022/lib/panel-box/panel-box.component.mjs +87 -0
- package/esm2022/lib/panel-box/panel-box.module.mjs +19 -0
- package/esm2022/lib/password-box/password-box.component.mjs +32 -0
- package/esm2022/lib/password-box/password-box.module.mjs +23 -0
- package/esm2022/lib/popover/custom-cdk-overlay.service.mjs +50 -0
- package/esm2022/lib/popover/overlay.service.mjs +94 -0
- package/esm2022/lib/popover/popover.component.mjs +145 -0
- package/esm2022/lib/popover/popover.module.mjs +19 -0
- package/esm2022/lib/popup/popup.component.mjs +160 -0
- package/esm2022/lib/popup/popup.module.mjs +25 -0
- package/esm2022/lib/popup/popup.service.mjs +94 -0
- package/esm2022/lib/progress-bar/progress-bar.component.mjs +16 -0
- package/esm2022/lib/progress-bar/progress-bar.module.mjs +19 -0
- package/esm2022/lib/property-editor/editors/check-editor/check-editor.mjs +65 -0
- package/esm2022/lib/property-editor/editors/check-editor/check.module.mjs +22 -0
- package/esm2022/lib/property-editor/editors/color-editor/color.editor.mjs +41 -0
- package/esm2022/lib/property-editor/editors/color-editor/color.module.mjs +24 -0
- package/esm2022/lib/property-editor/editors/column-editor/column.editor.mjs +118 -0
- package/esm2022/lib/property-editor/editors/column-editor/column.module.mjs +32 -0
- package/esm2022/lib/property-editor/editors/conditional-color-editor/conditional-color.editor.mjs +216 -0
- package/esm2022/lib/property-editor/editors/conditional-color-editor/conditional-color.module.mjs +76 -0
- package/esm2022/lib/property-editor/editors/date-editor/date.editor.mjs +87 -0
- package/esm2022/lib/property-editor/editors/date-editor/date.module.mjs +24 -0
- package/esm2022/lib/property-editor/editors/number-editor/number.editor.mjs +69 -0
- package/esm2022/lib/property-editor/editors/number-editor/number.module.mjs +24 -0
- package/esm2022/lib/property-editor/editors/range-editor/range.editor.mjs +145 -0
- package/esm2022/lib/property-editor/editors/range-editor/range.module.mjs +59 -0
- package/esm2022/lib/property-editor/editors/searchbar-selectbox-editor/searchbar-selectbox-editor.mjs +76 -0
- package/esm2022/lib/property-editor/editors/selectbox-editor/selectbox.editor.mjs +75 -0
- package/esm2022/lib/property-editor/editors/selectbox-editor/selectbox.module.mjs +25 -0
- package/esm2022/lib/property-editor/editors/selection-editor/selection-editor.mjs +73 -0
- package/esm2022/lib/property-editor/editors/selection-editor/selection.module.mjs +22 -0
- package/esm2022/lib/property-editor/editors/switch-editor/number.editor.mjs +30 -0
- package/esm2022/lib/property-editor/editors/switch-editor/number.module.mjs +25 -0
- package/esm2022/lib/property-editor/editors/text-editor/text.editor.mjs +36 -0
- package/esm2022/lib/property-editor/editors/text-editor/text.module.mjs +24 -0
- package/esm2022/lib/property-editor/editors/textarea-editor/textarea.editor.mjs +35 -0
- package/esm2022/lib/property-editor/editors/textarea-editor/textarea.module.mjs +24 -0
- package/esm2022/lib/property-editor/editors/time-editor/time.editor.mjs +47 -0
- package/esm2022/lib/property-editor/editors/time-editor/time.module.mjs +24 -0
- package/esm2022/lib/property-editor/property-editor-renderer.directive.mjs +167 -0
- package/esm2022/lib/property-editor/property-editor.class.mjs +108 -0
- package/esm2022/lib/property-editor/property-editor.module.mjs +194 -0
- package/esm2022/lib/query-builder/query-builder-group.component.mjs +129 -0
- package/esm2022/lib/query-builder/query-builder-popup/query-builder-popup.component.mjs +177 -0
- package/esm2022/lib/query-builder/query-builder-rule.component.mjs +428 -0
- package/esm2022/lib/query-builder/query-builder.class.mjs +42 -0
- package/esm2022/lib/query-builder/query-builder.component.mjs +92 -0
- package/esm2022/lib/query-builder/query-builder.module.mjs +62 -0
- package/esm2022/lib/query-builder/query-builder.service.mjs +199 -0
- package/esm2022/lib/search-bar/search-bar.component.mjs +293 -0
- package/esm2022/lib/search-bar/search-bar.module.mjs +61 -0
- package/esm2022/lib/searchbox/searchbox.component.mjs +106 -0
- package/esm2022/lib/searchbox/searchbox.module.mjs +24 -0
- package/esm2022/lib/selectbox/selectbox.component.mjs +1134 -0
- package/esm2022/lib/selectbox/selectbox.module.mjs +44 -0
- package/esm2022/lib/selectbox/selectbox2.component.mjs +617 -0
- package/esm2022/lib/selection-list/selection-list.component.mjs +113 -0
- package/esm2022/lib/selection-list/selection-list.module.mjs +21 -0
- package/esm2022/lib/switch/switch.component.mjs +55 -0
- package/esm2022/lib/switch/switch.module.mjs +20 -0
- package/esm2022/lib/tab-page/tab-page-Renderer.component.mjs +75 -0
- package/esm2022/lib/tab-page/tab-page-host.component.mjs +124 -0
- package/esm2022/lib/tab-page/tab-page.module.mjs +21 -0
- package/esm2022/lib/tab-page/tab-page.service.mjs +159 -0
- package/esm2022/lib/tab-strip/tab-strip.component.mjs +38 -0
- package/esm2022/lib/tab-strip/tab-strip.module.mjs +19 -0
- package/esm2022/lib/tab-view/dynamic-tabs.directive.mjs +25 -0
- package/esm2022/lib/tab-view/tab-view.component.mjs +110 -0
- package/esm2022/lib/tab-view/tab-view.module.mjs +21 -0
- package/esm2022/lib/tab-view/tab.component.mjs +33 -0
- package/esm2022/lib/textarea/textarea.component.mjs +27 -0
- package/esm2022/lib/textarea/textarea.module.mjs +21 -0
- package/esm2022/lib/textbox/textbox.component.mjs +42 -0
- package/esm2022/lib/textbox/textbox.module.mjs +36 -0
- package/esm2022/lib/time-picker/time-picker.component.mjs +1107 -0
- package/esm2022/lib/time-picker/time-picker.module.mjs +34 -0
- package/esm2022/lib/toast/toast-message/toast-message.component.mjs +76 -0
- package/esm2022/lib/toast/toast-wrapper/toast-wrapper.component.mjs +13 -0
- package/esm2022/lib/toast/toast.module.mjs +21 -0
- package/esm2022/lib/toast/toast.service.mjs +45 -0
- package/esm2022/lib/toolbar/group-button/toolbar-group-button.component.mjs +77 -0
- package/esm2022/lib/toolbar/menu/toolbar-menu.component.mjs +62 -0
- package/esm2022/lib/toolbar/search/toolbar-search.component.mjs +56 -0
- package/esm2022/lib/toolbar/title/toolbar-title.component.mjs +37 -0
- package/esm2022/lib/toolbar/toolbar-item.mjs +4 -0
- package/esm2022/lib/toolbar/toolbar.component.mjs +13 -0
- package/esm2022/lib/toolbar/toolbar.module.mjs +40 -0
- package/esm2022/lib/tooltip/tooltip.directive.mjs +104 -0
- package/esm2022/lib/tooltip/tooltip.module.mjs +19 -0
- package/esm2022/lib/tree-side-menu/tree-side-menu.component.mjs +697 -0
- package/esm2022/lib/tree-side-menu/tree-side-menu.module.mjs +33 -0
- package/esm2022/lib/tree-view/tree-view.component.mjs +854 -0
- package/esm2022/lib/tree-view/tree-view.module.mjs +22 -0
- package/esm2022/lib/upload-file/upload-file.component.mjs +226 -0
- package/esm2022/lib/upload-file/upload-file.events.mjs +2 -0
- package/esm2022/lib/upload-file/upload-file.module.mjs +24 -0
- package/esm2022/lib/validation/validation-form.component.mjs +68 -0
- package/esm2022/lib/validation/validation-rule.widget.mjs +114 -0
- package/esm2022/lib/validation/validation.class.mjs +2 -0
- package/esm2022/lib/validation/validation.component.mjs +89 -0
- package/esm2022/lib/validation/validation.module.mjs +34 -0
- package/{fesm2020 → fesm2022}/acorex-components.mjs +17004 -15581
- package/fesm2022/acorex-components.mjs.map +1 -0
- package/{public-api.d.ts → index.d.ts} +155 -155
- package/lib/accordion/accordion.component.d.ts +13 -13
- package/lib/accordion/accordion.module.d.ts +9 -9
- package/lib/base/base-page.class.d.ts +46 -46
- package/lib/base/components.class.d.ts +10 -10
- package/lib/base/element.class.d.ts +106 -106
- package/lib/base/events.class.d.ts +18 -18
- package/lib/button/button.component.d.ts +21 -21
- package/lib/button/button.module.d.ts +8 -8
- package/lib/calendar/calendar-box/calendar-box.component.d.ts +81 -81
- package/lib/calendar/calendar-box/calendar-box.module.d.ts +11 -11
- package/lib/calendar/scheduler/scheduler-views.property.d.ts +19 -19
- package/lib/calendar/scheduler/scheduler.class.d.ts +36 -36
- package/lib/calendar/scheduler/scheduler.component.d.ts +39 -39
- package/lib/calendar/scheduler/scheduler.module.d.ts +21 -21
- package/lib/calendar/scheduler/toolbars/scheduler-toolbar-navigator.d.ts +25 -25
- package/lib/calendar/scheduler/toolbars/scheduler-toolbar-views.d.ts +14 -14
- package/lib/calendar/scheduler/views/agenda/scheduler-agenda-view.component.d.ts +16 -16
- package/lib/calendar/scheduler/views/daytime/scheduler-daytime-view.component.d.ts +26 -26
- package/lib/calendar/scheduler/views/month/scheduler-month-view.component.d.ts +37 -37
- package/lib/calendar/scheduler/views/scheduler-view.component.d.ts +28 -28
- package/lib/calendar/scheduler/views/timeline/scheduler-timeline-view.component.d.ts +24 -24
- package/lib/checkbox/checkbox.component.d.ts +30 -30
- package/lib/checkbox/checkbox.module.d.ts +9 -9
- package/lib/color-picker/color-box/color-box.component.d.ts +25 -25
- package/lib/color-picker/color-picker.component.d.ts +30 -30
- package/lib/color-picker/color-picker.module.d.ts +13 -13
- package/lib/context-menu/context-menu.component.d.ts +22 -22
- package/lib/context-menu/context-menu.directive.d.ts +38 -38
- package/lib/context-menu/context-menu.module.d.ts +9 -9
- package/lib/data-filter/columns/filter-column-date.component.d.ts +22 -22
- package/lib/data-filter/columns/filter-column-number.component.d.ts +15 -15
- package/lib/data-filter/columns/filter-column-selection.component.d.ts +18 -18
- package/lib/data-filter/columns/filter-column-string.component.d.ts +15 -15
- package/lib/data-filter/filter-panel/filter-panel.component.d.ts +45 -45
- package/lib/data-filter/filter.class.d.ts +40 -40
- package/lib/data-filter/filter.module.d.ts +24 -24
- package/lib/data-filter/toolbar/filter-toolbar.component.d.ts +25 -25
- package/lib/data-list/core/data-list.component.d.ts +15 -15
- package/lib/data-list/list/list.component.d.ts +40 -40
- package/lib/data-list/list/list.module.d.ts +11 -11
- package/lib/data-list/list/toolbar-list-view.component.d.ts +17 -17
- package/lib/data-source/datasource.component.d.ts +16 -16
- package/lib/data-source/datasource.module.d.ts +7 -7
- package/lib/data-source/read-param.d.ts +40 -40
- package/lib/date-picker/date-picker.component.d.ts +81 -81
- package/lib/date-picker/date-picker.module.d.ts +14 -14
- package/lib/dialog/dialog.component.d.ts +14 -14
- package/lib/dialog/dialog.module.d.ts +10 -10
- package/lib/dialog/dialog.service.d.ts +36 -36
- package/lib/drawer/content.component.d.ts +7 -7
- package/lib/drawer/drawer-container.component.d.ts +10 -10
- package/lib/drawer/drawer.component.d.ts +34 -34
- package/lib/drawer/drawer.module.d.ts +10 -10
- package/lib/dropdown/dropdown.component.d.ts +38 -38
- package/lib/dropdown/dropdown.module.d.ts +13 -13
- package/lib/fieldset/fieldset.component.d.ts +11 -11
- package/lib/fieldset/fieldset.module.d.ts +8 -8
- package/lib/form-group/form-group.component.d.ts +14 -14
- package/lib/form-group/form-group.module.d.ts +8 -8
- package/lib/label/label.component.d.ts +9 -9
- package/lib/label/label.module.d.ts +8 -8
- package/lib/loading/loading-indicator.component.d.ts +9 -9
- package/lib/loading/loading-panel.component.d.ts +13 -13
- package/lib/loading/loading.module.d.ts +10 -10
- package/lib/loading/loading.service.d.ts +13 -13
- package/lib/menu/menu-item.component.d.ts +18 -18
- package/lib/menu/menu.component.d.ts +35 -35
- package/lib/menu/menu.module.d.ts +11 -11
- package/lib/menu/menu2.component.d.ts +21 -21
- package/lib/number-box/number-box.component.d.ts +52 -52
- package/lib/number-box/number-box.module.d.ts +10 -10
- package/lib/page/content.component.d.ts +8 -8
- package/lib/page/footer.component.d.ts +5 -5
- package/lib/page/page.component.d.ts +16 -16
- package/lib/page/page.module.d.ts +11 -11
- package/lib/panel-box/panel-box.component.d.ts +19 -19
- package/lib/panel-box/panel-box.module.d.ts +8 -8
- package/lib/password-box/password-box.component.d.ts +12 -12
- package/lib/password-box/password-box.module.d.ts +10 -10
- package/lib/popover/custom-cdk-overlay.service.d.ts +19 -19
- package/lib/popover/overlay.service.d.ts +32 -32
- package/lib/popover/popover.component.d.ts +35 -35
- package/lib/popover/popover.module.d.ts +8 -8
- package/lib/popup/popup.component.d.ts +40 -40
- package/lib/popup/popup.module.d.ts +13 -13
- package/lib/popup/popup.service.d.ts +22 -22
- package/lib/progress-bar/progress-bar.component.d.ts +7 -7
- package/lib/progress-bar/progress-bar.module.d.ts +8 -8
- package/lib/property-editor/editors/check-editor/check-editor.d.ts +19 -19
- package/lib/property-editor/editors/check-editor/check.module.d.ts +11 -11
- package/lib/property-editor/editors/color-editor/color.editor.d.ts +13 -13
- package/lib/property-editor/editors/color-editor/color.module.d.ts +12 -12
- package/lib/property-editor/editors/column-editor/column.editor.d.ts +34 -34
- package/lib/property-editor/editors/column-editor/column.module.d.ts +20 -20
- package/lib/property-editor/editors/conditional-color-editor/conditional-color.editor.d.ts +44 -44
- package/lib/property-editor/editors/conditional-color-editor/conditional-color.module.d.ts +19 -19
- package/lib/property-editor/editors/date-editor/date.editor.d.ts +28 -28
- package/lib/property-editor/editors/date-editor/date.module.d.ts +12 -12
- package/lib/property-editor/editors/number-editor/number.editor.d.ts +21 -20
- package/lib/property-editor/editors/number-editor/number.module.d.ts +12 -12
- package/lib/property-editor/editors/range-editor/range.editor.d.ts +29 -29
- package/lib/property-editor/editors/range-editor/range.module.d.ts +18 -18
- package/lib/property-editor/editors/searchbar-selectbox-editor/searchbar-selectbox-editor.d.ts +29 -29
- package/lib/property-editor/editors/selectbox-editor/selectbox.editor.d.ts +28 -28
- package/lib/property-editor/editors/selectbox-editor/selectbox.module.d.ts +14 -14
- package/lib/property-editor/editors/selection-editor/selection-editor.d.ts +25 -25
- package/lib/property-editor/editors/selection-editor/selection.module.d.ts +11 -11
- package/lib/property-editor/editors/switch-editor/number.editor.d.ts +11 -11
- package/lib/property-editor/editors/switch-editor/number.module.d.ts +13 -13
- package/lib/property-editor/editors/text-editor/text.editor.d.ts +18 -18
- package/lib/property-editor/editors/text-editor/text.module.d.ts +12 -12
- package/lib/property-editor/editors/textarea-editor/textarea.editor.d.ts +17 -17
- package/lib/property-editor/editors/textarea-editor/textarea.module.d.ts +12 -12
- package/lib/property-editor/editors/time-editor/time.editor.d.ts +17 -17
- package/lib/property-editor/editors/time-editor/time.module.d.ts +12 -12
- package/lib/property-editor/property-editor-renderer.directive.d.ts +31 -31
- package/lib/property-editor/property-editor.class.d.ts +93 -93
- package/lib/property-editor/property-editor.module.d.ts +21 -21
- package/lib/query-builder/query-builder-group.component.d.ts +33 -33
- package/lib/query-builder/query-builder-popup/query-builder-popup.component.d.ts +35 -35
- package/lib/query-builder/query-builder-rule.component.d.ts +45 -45
- package/lib/query-builder/query-builder.class.d.ts +45 -45
- package/lib/query-builder/query-builder.component.d.ts +29 -29
- package/lib/query-builder/query-builder.module.d.ts +23 -23
- package/lib/query-builder/query-builder.service.d.ts +18 -18
- package/lib/search-bar/search-bar.component.d.ts +62 -62
- package/lib/search-bar/search-bar.module.d.ts +18 -18
- package/lib/searchbox/searchbox.component.d.ts +23 -22
- package/lib/searchbox/searchbox.module.d.ts +13 -13
- package/lib/selectbox/selectbox.component.d.ts +149 -118
- package/lib/selectbox/selectbox.module.d.ts +15 -15
- package/lib/selectbox/selectbox2.component.d.ts +103 -103
- package/lib/selection-list/selection-list.component.d.ts +32 -32
- package/lib/selection-list/selection-list.module.d.ts +10 -10
- package/lib/switch/switch.component.d.ts +20 -20
- package/lib/switch/switch.module.d.ts +9 -9
- package/lib/tab-page/tab-page-Renderer.component.d.ts +16 -16
- package/lib/tab-page/tab-page-host.component.d.ts +24 -24
- package/lib/tab-page/tab-page.module.d.ts +10 -10
- package/lib/tab-page/tab-page.service.d.ts +30 -30
- package/lib/tab-strip/tab-strip.component.d.ts +28 -28
- package/lib/tab-strip/tab-strip.module.d.ts +8 -8
- package/lib/tab-view/dynamic-tabs.directive.d.ts +16 -16
- package/lib/tab-view/tab-view.component.d.ts +26 -26
- package/lib/tab-view/tab-view.module.d.ts +10 -10
- package/lib/tab-view/tab.component.d.ts +12 -12
- package/lib/textarea/textarea.component.d.ts +12 -12
- package/lib/textarea/textarea.module.d.ts +8 -8
- package/lib/textbox/textbox.component.d.ts +16 -16
- package/lib/textbox/textbox.module.d.ts +11 -11
- package/lib/time-picker/time-picker.component.d.ts +53 -52
- package/lib/time-picker/time-picker.module.d.ts +11 -11
- package/lib/toast/toast-message/toast-message.component.d.ts +18 -18
- package/lib/toast/toast-wrapper/toast-wrapper.component.d.ts +8 -8
- package/lib/toast/toast.module.d.ts +9 -9
- package/lib/toast/toast.service.d.ts +18 -18
- package/lib/toolbar/group-button/toolbar-group-button.component.d.ts +12 -12
- package/lib/toolbar/menu/toolbar-menu.component.d.ts +24 -24
- package/lib/toolbar/search/toolbar-search.component.d.ts +16 -16
- package/lib/toolbar/title/toolbar-title.component.d.ts +9 -9
- package/lib/toolbar/toolbar-item.d.ts +3 -3
- package/lib/toolbar/toolbar.component.d.ts +8 -8
- package/lib/toolbar/toolbar.module.d.ts +14 -14
- package/lib/tooltip/tooltip.directive.d.ts +21 -21
- package/lib/tooltip/tooltip.module.d.ts +8 -8
- package/lib/tree-side-menu/tree-side-menu.component.d.ts +111 -111
- package/lib/tree-side-menu/tree-side-menu.module.d.ts +11 -11
- package/lib/tree-view/tree-view.component.d.ts +121 -121
- package/lib/tree-view/tree-view.module.d.ts +11 -11
- package/lib/upload-file/upload-file.component.d.ts +42 -42
- package/lib/upload-file/upload-file.events.d.ts +10 -10
- package/lib/upload-file/upload-file.module.d.ts +13 -13
- package/lib/validation/validation-form.component.d.ts +19 -19
- package/lib/validation/validation-rule.widget.d.ts +23 -23
- package/lib/validation/validation.class.d.ts +16 -16
- package/lib/validation/validation.component.d.ts +25 -25
- package/lib/validation/validation.module.d.ts +11 -11
- package/package.json +15 -20
- package/acorex-components.d.ts +0 -5
- package/esm2020/acorex-components.mjs +0 -5
- package/esm2020/lib/accordion/accordion.component.mjs +0 -44
- package/esm2020/lib/accordion/accordion.module.mjs +0 -20
- package/esm2020/lib/base/base-page.class.mjs +0 -94
- package/esm2020/lib/base/components.class.mjs +0 -17
- package/esm2020/lib/base/element.class.mjs +0 -294
- package/esm2020/lib/base/events.class.mjs +0 -11
- package/esm2020/lib/button/button.component.mjs +0 -71
- package/esm2020/lib/button/button.module.mjs +0 -21
- package/esm2020/lib/calendar/calendar-box/calendar-box.component.mjs +0 -413
- package/esm2020/lib/calendar/calendar-box/calendar-box.module.mjs +0 -22
- package/esm2020/lib/calendar/scheduler/scheduler-views.property.mjs +0 -54
- package/esm2020/lib/calendar/scheduler/scheduler.class.mjs +0 -18
- package/esm2020/lib/calendar/scheduler/scheduler.component.mjs +0 -213
- package/esm2020/lib/calendar/scheduler/scheduler.module.mjs +0 -68
- package/esm2020/lib/calendar/scheduler/toolbars/scheduler-toolbar-navigator.mjs +0 -132
- package/esm2020/lib/calendar/scheduler/toolbars/scheduler-toolbar-views.mjs +0 -37
- package/esm2020/lib/calendar/scheduler/views/agenda/scheduler-agenda-view.component.mjs +0 -47
- package/esm2020/lib/calendar/scheduler/views/daytime/scheduler-daytime-view.component.mjs +0 -95
- package/esm2020/lib/calendar/scheduler/views/month/scheduler-month-view.component.mjs +0 -204
- package/esm2020/lib/calendar/scheduler/views/scheduler-view.component.mjs +0 -99
- package/esm2020/lib/calendar/scheduler/views/timeline/scheduler-timeline-view.component.mjs +0 -77
- package/esm2020/lib/checkbox/checkbox.component.mjs +0 -98
- package/esm2020/lib/checkbox/checkbox.module.mjs +0 -20
- package/esm2020/lib/color-picker/color-box/color-box.component.mjs +0 -422
- package/esm2020/lib/color-picker/color-picker.component.mjs +0 -82
- package/esm2020/lib/color-picker/color-picker.module.mjs +0 -24
- package/esm2020/lib/context-menu/context-menu.component.mjs +0 -65
- package/esm2020/lib/context-menu/context-menu.directive.mjs +0 -135
- package/esm2020/lib/context-menu/context-menu.module.mjs +0 -20
- package/esm2020/lib/data-filter/columns/filter-column-date.component.mjs +0 -138
- package/esm2020/lib/data-filter/columns/filter-column-number.component.mjs +0 -117
- package/esm2020/lib/data-filter/columns/filter-column-selection.component.mjs +0 -74
- package/esm2020/lib/data-filter/columns/filter-column-string.component.mjs +0 -117
- package/esm2020/lib/data-filter/filter-panel/filter-panel.component.mjs +0 -258
- package/esm2020/lib/data-filter/filter.class.mjs +0 -44
- package/esm2020/lib/data-filter/filter.module.mjs +0 -90
- package/esm2020/lib/data-filter/toolbar/filter-toolbar.component.mjs +0 -166
- package/esm2020/lib/data-list/core/data-list.component.mjs +0 -40
- package/esm2020/lib/data-list/list/list.component.mjs +0 -124
- package/esm2020/lib/data-list/list/list.module.mjs +0 -22
- package/esm2020/lib/data-list/list/toolbar-list-view.component.mjs +0 -85
- package/esm2020/lib/data-source/datasource.component.mjs +0 -47
- package/esm2020/lib/data-source/datasource.module.mjs +0 -18
- package/esm2020/lib/data-source/read-param.mjs +0 -5
- package/esm2020/lib/date-picker/date-picker.component.mjs +0 -702
- package/esm2020/lib/date-picker/date-picker.module.mjs +0 -25
- package/esm2020/lib/dialog/dialog.component.mjs +0 -24
- package/esm2020/lib/dialog/dialog.module.mjs +0 -21
- package/esm2020/lib/dialog/dialog.service.mjs +0 -150
- package/esm2020/lib/drawer/content.component.mjs +0 -18
- package/esm2020/lib/drawer/drawer-container.component.mjs +0 -36
- package/esm2020/lib/drawer/drawer.component.mjs +0 -142
- package/esm2020/lib/drawer/drawer.module.mjs +0 -23
- package/esm2020/lib/dropdown/dropdown.component.mjs +0 -176
- package/esm2020/lib/dropdown/dropdown.module.mjs +0 -26
- package/esm2020/lib/fieldset/fieldset.component.mjs +0 -59
- package/esm2020/lib/fieldset/fieldset.module.mjs +0 -19
- package/esm2020/lib/form-group/form-group.component.mjs +0 -34
- package/esm2020/lib/form-group/form-group.module.mjs +0 -21
- package/esm2020/lib/label/label.component.mjs +0 -19
- package/esm2020/lib/label/label.module.mjs +0 -21
- package/esm2020/lib/loading/loading-indicator.component.mjs +0 -17
- package/esm2020/lib/loading/loading-panel.component.mjs +0 -44
- package/esm2020/lib/loading/loading.module.mjs +0 -21
- package/esm2020/lib/loading/loading.service.mjs +0 -45
- package/esm2020/lib/menu/menu-item.component.mjs +0 -47
- package/esm2020/lib/menu/menu.component.mjs +0 -86
- package/esm2020/lib/menu/menu.module.mjs +0 -22
- package/esm2020/lib/menu/menu2.component.mjs +0 -96
- package/esm2020/lib/number-box/number-box.component.mjs +0 -622
- package/esm2020/lib/number-box/number-box.module.mjs +0 -21
- package/esm2020/lib/page/content.component.mjs +0 -32
- package/esm2020/lib/page/footer.component.mjs +0 -19
- package/esm2020/lib/page/page.component.mjs +0 -53
- package/esm2020/lib/page/page.module.mjs +0 -22
- package/esm2020/lib/panel-box/panel-box.component.mjs +0 -88
- package/esm2020/lib/panel-box/panel-box.module.mjs +0 -19
- package/esm2020/lib/password-box/password-box.component.mjs +0 -31
- package/esm2020/lib/password-box/password-box.module.mjs +0 -23
- package/esm2020/lib/popover/custom-cdk-overlay.service.mjs +0 -48
- package/esm2020/lib/popover/overlay.service.mjs +0 -91
- package/esm2020/lib/popover/popover.component.mjs +0 -133
- package/esm2020/lib/popover/popover.module.mjs +0 -19
- package/esm2020/lib/popup/popup.component.mjs +0 -147
- package/esm2020/lib/popup/popup.module.mjs +0 -25
- package/esm2020/lib/popup/popup.service.mjs +0 -93
- package/esm2020/lib/progress-bar/progress-bar.component.mjs +0 -19
- package/esm2020/lib/progress-bar/progress-bar.module.mjs +0 -19
- package/esm2020/lib/property-editor/editors/check-editor/check-editor.mjs +0 -61
- package/esm2020/lib/property-editor/editors/check-editor/check.module.mjs +0 -22
- package/esm2020/lib/property-editor/editors/color-editor/color.editor.mjs +0 -38
- package/esm2020/lib/property-editor/editors/color-editor/color.module.mjs +0 -24
- package/esm2020/lib/property-editor/editors/column-editor/column.editor.mjs +0 -115
- package/esm2020/lib/property-editor/editors/column-editor/column.module.mjs +0 -32
- package/esm2020/lib/property-editor/editors/conditional-color-editor/conditional-color.editor.mjs +0 -211
- package/esm2020/lib/property-editor/editors/conditional-color-editor/conditional-color.module.mjs +0 -78
- package/esm2020/lib/property-editor/editors/date-editor/date.editor.mjs +0 -51
- package/esm2020/lib/property-editor/editors/date-editor/date.module.mjs +0 -24
- package/esm2020/lib/property-editor/editors/number-editor/number.editor.mjs +0 -63
- package/esm2020/lib/property-editor/editors/number-editor/number.module.mjs +0 -24
- package/esm2020/lib/property-editor/editors/range-editor/range.editor.mjs +0 -140
- package/esm2020/lib/property-editor/editors/range-editor/range.module.mjs +0 -61
- package/esm2020/lib/property-editor/editors/searchbar-selectbox-editor/searchbar-selectbox-editor.mjs +0 -72
- package/esm2020/lib/property-editor/editors/selectbox-editor/selectbox.editor.mjs +0 -71
- package/esm2020/lib/property-editor/editors/selectbox-editor/selectbox.module.mjs +0 -25
- package/esm2020/lib/property-editor/editors/selection-editor/selection-editor.mjs +0 -69
- package/esm2020/lib/property-editor/editors/selection-editor/selection.module.mjs +0 -22
- package/esm2020/lib/property-editor/editors/switch-editor/number.editor.mjs +0 -29
- package/esm2020/lib/property-editor/editors/switch-editor/number.module.mjs +0 -25
- package/esm2020/lib/property-editor/editors/text-editor/text.editor.mjs +0 -32
- package/esm2020/lib/property-editor/editors/text-editor/text.module.mjs +0 -24
- package/esm2020/lib/property-editor/editors/textarea-editor/textarea.editor.mjs +0 -32
- package/esm2020/lib/property-editor/editors/textarea-editor/textarea.module.mjs +0 -24
- package/esm2020/lib/property-editor/editors/time-editor/time.editor.mjs +0 -43
- package/esm2020/lib/property-editor/editors/time-editor/time.module.mjs +0 -24
- package/esm2020/lib/property-editor/property-editor-renderer.directive.mjs +0 -157
- package/esm2020/lib/property-editor/property-editor.class.mjs +0 -102
- package/esm2020/lib/property-editor/property-editor.module.mjs +0 -196
- package/esm2020/lib/query-builder/query-builder-group.component.mjs +0 -124
- package/esm2020/lib/query-builder/query-builder-popup/query-builder-popup.component.mjs +0 -172
- package/esm2020/lib/query-builder/query-builder-rule.component.mjs +0 -399
- package/esm2020/lib/query-builder/query-builder.class.mjs +0 -20
- package/esm2020/lib/query-builder/query-builder.component.mjs +0 -87
- package/esm2020/lib/query-builder/query-builder.module.mjs +0 -62
- package/esm2020/lib/query-builder/query-builder.service.mjs +0 -197
- package/esm2020/lib/search-bar/search-bar.component.mjs +0 -286
- package/esm2020/lib/search-bar/search-bar.module.mjs +0 -63
- package/esm2020/lib/searchbox/searchbox.component.mjs +0 -81
- package/esm2020/lib/searchbox/searchbox.module.mjs +0 -24
- package/esm2020/lib/selectbox/selectbox.component.mjs +0 -961
- package/esm2020/lib/selectbox/selectbox.module.mjs +0 -44
- package/esm2020/lib/selectbox/selectbox2.component.mjs +0 -574
- package/esm2020/lib/selection-list/selection-list.component.mjs +0 -108
- package/esm2020/lib/selection-list/selection-list.module.mjs +0 -21
- package/esm2020/lib/switch/switch.component.mjs +0 -51
- package/esm2020/lib/switch/switch.module.mjs +0 -20
- package/esm2020/lib/tab-page/tab-page-Renderer.component.mjs +0 -71
- package/esm2020/lib/tab-page/tab-page-host.component.mjs +0 -114
- package/esm2020/lib/tab-page/tab-page.module.mjs +0 -21
- package/esm2020/lib/tab-page/tab-page.service.mjs +0 -160
- package/esm2020/lib/tab-strip/tab-strip.component.mjs +0 -36
- package/esm2020/lib/tab-strip/tab-strip.module.mjs +0 -19
- package/esm2020/lib/tab-view/dynamic-tabs.directive.mjs +0 -24
- package/esm2020/lib/tab-view/tab-view.component.mjs +0 -105
- package/esm2020/lib/tab-view/tab-view.module.mjs +0 -21
- package/esm2020/lib/tab-view/tab.component.mjs +0 -30
- package/esm2020/lib/textarea/textarea.component.mjs +0 -26
- package/esm2020/lib/textarea/textarea.module.mjs +0 -21
- package/esm2020/lib/textbox/textbox.component.mjs +0 -39
- package/esm2020/lib/textbox/textbox.module.mjs +0 -24
- package/esm2020/lib/time-picker/time-picker.component.mjs +0 -943
- package/esm2020/lib/time-picker/time-picker.module.mjs +0 -22
- package/esm2020/lib/toast/toast-message/toast-message.component.mjs +0 -74
- package/esm2020/lib/toast/toast-wrapper/toast-wrapper.component.mjs +0 -13
- package/esm2020/lib/toast/toast.module.mjs +0 -21
- package/esm2020/lib/toast/toast.service.mjs +0 -44
- package/esm2020/lib/toolbar/group-button/toolbar-group-button.component.mjs +0 -78
- package/esm2020/lib/toolbar/menu/toolbar-menu.component.mjs +0 -57
- package/esm2020/lib/toolbar/search/toolbar-search.component.mjs +0 -54
- package/esm2020/lib/toolbar/title/toolbar-title.component.mjs +0 -47
- package/esm2020/lib/toolbar/toolbar-item.mjs +0 -6
- package/esm2020/lib/toolbar/toolbar.component.mjs +0 -13
- package/esm2020/lib/toolbar/toolbar.module.mjs +0 -40
- package/esm2020/lib/tooltip/tooltip.directive.mjs +0 -100
- package/esm2020/lib/tooltip/tooltip.module.mjs +0 -19
- package/esm2020/lib/tree-side-menu/tree-side-menu.component.mjs +0 -646
- package/esm2020/lib/tree-side-menu/tree-side-menu.module.mjs +0 -35
- package/esm2020/lib/tree-view/tree-view.component.mjs +0 -775
- package/esm2020/lib/tree-view/tree-view.module.mjs +0 -22
- package/esm2020/lib/upload-file/upload-file.component.mjs +0 -208
- package/esm2020/lib/upload-file/upload-file.events.mjs +0 -2
- package/esm2020/lib/upload-file/upload-file.module.mjs +0 -24
- package/esm2020/lib/validation/validation-form.component.mjs +0 -65
- package/esm2020/lib/validation/validation-rule.widget.mjs +0 -111
- package/esm2020/lib/validation/validation.class.mjs +0 -2
- package/esm2020/lib/validation/validation.component.mjs +0 -89
- package/esm2020/lib/validation/validation.module.mjs +0 -34
- package/esm2020/public-api.mjs +0 -158
- package/fesm2015/acorex-components.mjs +0 -16013
- package/fesm2015/acorex-components.mjs.map +0 -1
- package/fesm2020/acorex-components.mjs.map +0 -1
@@ -0,0 +1,92 @@
|
|
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: "16.2.12", 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: "16.2.12", 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;-webkit-text-decoration:underline dashed;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: "16.2.12", 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;-webkit-text-decoration:underline dashed;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: function () { return [{ 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktYnVpbGRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvc3JjL2xpYi9xdWVyeS1idWlsZGVyL3F1ZXJ5LWJ1aWxkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3NyYy9saWIvcXVlcnktYnVpbGRlci9xdWVyeS1idWlsZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakgsT0FBTyxFQUFFLG1CQUFtQixFQUFxRCxNQUFNLHVCQUF1QixDQUFDO0FBQy9HLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7OztBQVF4RCxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsZUFBZTtJQWdCdEM7SUFBeUI7SUFmcEIsVUFBVSxDQUErQjtJQUdsRSxLQUFLLENBQXNCO0lBRzNCLElBQUksR0FBbUIsS0FBSyxDQUFDO0lBRTdCLFNBQVMsR0FBd0IsSUFBSSxtQkFBbUIsRUFBRSxDQUFDO0lBRTNELFFBQVE7UUFDTixJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUMvRSxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FB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QmFzZUNvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2UvZWxlbWVudC5jbGFzcyc7XG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgRWxlbWVudFJlZiwgVmlld0VuY2Fwc3VsYXRpb24sIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhUcmFuc2xhdG9yLCBBWEh0bWxVdGlsIH0gZnJvbSAnQGFjb3JleC9jb3JlJztcbmltcG9ydCB7IEFYUXVlcnlCdWlsZGVyR3JvdXAsIEFYUXVlcnlCdWlsZGVyR3JvdXBFdmVudCwgQVhRdWVyeUJ1aWxkZXJHcm91cEl0ZW0gfSBmcm9tICcuL3F1ZXJ5LWJ1aWxkZXIuY2xhc3MnO1xuaW1wb3J0IHsgQVhRdWVyeUJ1aWxkZXJHcm91cENvbXBvbmVudCB9IGZyb20gJy4vcXVlcnktYnVpbGRlci1ncm91cC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQVhUb2FzdFNlcnZpY2UgfSBmcm9tICcuLi90b2FzdC90b2FzdC5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXgtcXVlcnktYnVpbGRlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9xdWVyeS1idWlsZGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcXVlcnktYnVpbGRlci5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIEFYUXVlcnlCdWlsZGVyQ29tcG9uZW50IGV4dGVuZHMgQVhCYXNlQ29tcG9uZW50IHtcbiAgQFZpZXdDaGlsZCgncXVlcnlHcm91cCcpIHF1ZXJ5R3JvdXA6IEFYUXVlcnlCdWlsZGVyR3JvdXBDb21wb25lbnQ7XG5cbiAgQElucHV0KClcbiAgcXVlcnk6IEFYUXVlcnlCdWlsZGVyR3JvdXA7XG5cbiAgQElucHV0KClcbiAgbW9kZTogJ25ldycgfCAnZWRpdCcgPSAnbmV3JztcblxuICByb290R3JvdXA6IEFYUXVlcnlCdWlsZGVyR3JvdXAgPSBuZXcgQVhRdWVyeUJ1aWxkZXJHcm91cCgpO1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMucm9vdEdyb3VwLmNvbmRpdGlvbiA9IHRoaXMucXVlcnkuY29uZGl0aW9uID8gdGhpcy5xdWVyeS5jb25kaXRpb24gOiAnQU5EJztcbiAgICB0aGlzLnJvb3RHcm91cC5pdGVtcyA9IHRoaXMucXVlcnkuaXRlbXMgPyB0aGlzLnF1ZXJ5Lml0ZW1zIDogW107XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlZjogRWxlbWVudFJlZiwgcHJpdmF0ZSB0b2FzdDogQVhUb2FzdFNlcnZpY2UpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZmllbGRzIDogYW55W107XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBnZXQgZmllbGRzKCkgOiBhbnlbXSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZpZWxkcztcbiAgfVxuICBwdWJsaWMgc2V0IGZpZWxkcyh2IDogYW55W10pIHtcbiAgICB0aGlzLl9maWVsZHMgPSB2O1xuICB9XG5cbiAgLy8gQElucHV0KClcbiAgLy8gbW9kZTogJ2ltbWVkaWF0ZScgfCAnY2xpY2snID0gJ2NsaWNrJztcblxuICBAT3V0cHV0KClcbiAgb25SdWxlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEFYUXVlcnlCdWlsZGVyR3JvdXBFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEFYUXVlcnlCdWlsZGVyR3JvdXBFdmVudD4oKTtcblxuICBzYXZlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHB1YmxpYyBnZXRRdWVyeUJ1aWxkZXIoKSB7XG4gICAgcmV0dXJuIHsgZ3JvdXBzOiB0aGlzLnJvb3RHcm91cCB9O1xuICB9XG5cbiAgcnVsZUNoYW5nZWQoZSkge1xuICAgIHRoaXMub25SdWxlQ2hhbmdlZC5lbWl0KHsgY29tcG9uZW50OiB0aGlzLCBncm91cHM6IHRoaXMucm9vdEdyb3VwIH0pO1xuICB9XG5cbiAgcHVibGljIHNhdmVSdWxlKCkge1xuICAgIC8vLyByZXR1cm4gdGhpcy5xdWVyeUdyb3VwLnNhdmVSdWxlKCk7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIHRoaXMuc2F2ZWQgPSB0cnVlO1xuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnJvb3RHcm91cC5pdGVtcy5sZW5ndGg7IGkrKykge1xuICAgICAgICBpZiAodGhpcy5zYXZlZCA9PSB0cnVlKSB7XG4gICAgICAgICAgdGhpcy5maW5kTnVsbFZhbHVlKHRoaXMucm9vdEdyb3VwLml0ZW1zW2ldKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKHRoaXMuc2F2ZWQgPT0gdHJ1ZSkge1xuICAgICAgICByZXNvbHZlKHRoaXMucm9vdEdyb3VwKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJlamVjdCgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgZmluZE51bGxWYWx1ZShncikge1xuICAgIGlmICh0aGlzLnNhdmVkID09IHRydWUpIHtcbiAgICAgIGlmIChnci5jb25kaXRpb24pIHtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBnci5pdGVtcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgIHRoaXMuZmluZE51bGxWYWx1ZShnci5pdGVtc1tpXSk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmIChnci5vbkRlbWFuZExhYmVsID09ICc/Pz8/fCcpIHtcbiAgICAgICAgICB0aGlzLnNhdmVkID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy50b2FzdC5lcnJvcign2YTYt9mB2Kcg2YbYp9mFINmF2KrYutuM2LEg2YfYp9uMINmF2YjYsdivINmG24zYp9iyINix2Kcg2qnYp9mF2YQg2qnZhtuM2K8nKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIHNlbGVjdGlvbkZpZWxkc0NoYW5nZWQoZSwgcnVsZXM6IEFYUXVlcnlCdWlsZGVyUnVsZSkge1xuICAvL1xuICAvLyAgICAgcnVsZXMuZGF0YUZpZWxkID0gZS5zZWxlY3RlZEl0ZW1zWzBdLmRhdGFGaWVsZDtcbiAgLy8gICAgIHJ1bGVzLmNhcHRpb24gPSBlLnNlbGVjdGVkSXRlbXNbMF0uY2FwdGlvbjtcbiAgLy8gICAgIHJ1bGVzLmRhdGFUeXBlID0gZS5zZWxlY3RlZEl0ZW1zWzBdLmRhdGFUeXBlO1xuXG4gIC8vICAgICAvLyBUTyBETyBjaGFjayBkYXRhVHlwZSBGb3IgRGVmIG9wZXJhdG9yIGFuZCBWYWx1ZVxuICAvLyAgICAgaWYgKHJ1bGVzLmRhdGFUeXBlID09ICdzdHJpbmcnKSB7XG4gIC8vICAgICAgICAgcnVsZXMub3BlcmF0b3IgPSB0aGlzLm9wZXJhdG9yU3RyaW5nSXRlbVswXS5pZDtcbiAgLy8gICAgICAgICBydWxlcy52YWx1ZSA9ICdudWxsJztcbiAgLy8gICAgIH1cbiAgLy8gICAgIGlmIChydWxlcy5kYXRhVHlwZSA9PSAnbnVtYmVyJykge1xuICAvLyAgICAgICAgIHJ1bGVzLm9wZXJhdG9yID0gdGhpcy5vcGVyYXRvck51bWJlckl0ZW1bMF0uaWQ7XG4gIC8vICAgICAgICAgcnVsZXMudmFsdWUgPSAnMCc7XG4gIC8vICAgICB9XG5cbiAgLy8gICAgIHRoaXMub25SdWxlQ2hhbmdlZC5lbWl0KHsgZ3JvdXBzOiB0aGlzLnJvb3RHcm91cCwgcXVlcnlTdHJpbmc6IHRoaXMuZ2V0UXVlcnlEaXNwbGF5KCksIGNvbXBvbmVudDogdGhpcywgaHRtbEVsZW1lbnQ6IHRoaXMucmVmLm5hdGl2ZUVsZW1lbnQgfSlcbiAgLy8gfVxuXG4gIC8vIHNlbGVjdGlvbk9wYXJhdG9yQ2hhbmdlZChlLCBydWxlczogQVhRdWVyeUJ1aWxkZXJSdWxlKSB7XG4gIC8vICAgICBydWxlcy5vcGVyYXRvciA9IGUuc2VsZWN0ZWRJdGVtc1swXS5pZDtcbiAgLy8gfVxuXG4gIC8vIHByb3ZpZGVEYXRhRmllbGRzID0gKGUpID0+IHtcbiAgLy8gICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAvLyAgICAgICAgIHJlc29sdmUodGhpcy5maWVsZHMpO1xuICAvLyAgICAgfSk7XG4gIC8vIH1cblxuICAvLyBwcm92aWRlRGF0YU9wZXJhdG9yU3RyaW5nID0gKGUpID0+IHtcbiAgLy8gICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAvLyAgICAgICAgIHJlc29sdmUodGhpcy5vcGVyYXRvclN0cmluZ0l0ZW0pO1xuICAvLyAgICAgfSk7XG4gIC8vIH1cbiAgLy8gcHJvdmlkZURhdGFPcGVyYXRvck51bWJlciA9IChlKSA9PiB7XG4gIC8vICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgLy8gICAgICAgICByZXNvbHZlKHRoaXMub3BlcmF0b3JOdW1iZXJJdGVtKTtcbiAgLy8gICAgIH0pO1xuICAvLyB9XG5cbiAgLy8gcHJpdmF0ZSBnZXRRdWVyeURpc3BsYXkoZ3IgPSB0aGlzLmxpc3QsIF9jb25kaXRpb24gPSB0aGlzLmxpc3RbMF0uY29uZGl0aW9uKSB7XG4gIC8vICAgICB2YXIgY2FwOiBzdHJpbmcgPSAnKCc7XG5cbiAgLy8gICAgIGZvciAobGV0IGogPSAwOyBqIDwgZ3IubGVuZ3RoOyBqKyspIHtcbiAgLy8gICAgICAgICBpZiAoaiA+IDApIHtcbiAgLy8gICAgICAgICAgICAgY2FwID0gY2FwICsgX2NvbmRpdGlvbjtcbiAgLy8gICAgICAgICB9XG4gIC8vICAgICAgICAgY2FwID0gY2FwICsgXCIgKCBcIjtcbiAgLy8gICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGdyW2pdLml0ZW1zLmxlbmd0aDsgaSsrKSB7XG4gIC8vICAgICAgICAgICAgIGlmIChncltqXS5pdGVtc1tpXS52YWx1ZSAmJiBncltqXS5pdGVtc1tpXS5vcGVyYXRvciAmJiBncltqXS5pdGVtc1tpXS5jYXB0aW9uIHx8ICgoZ3Jbal0uaXRlbXNbaV0ub3BlcmF0b3IgPT0gXCJpcy1lbXB0eVwiIHx8IGdyW2pdLml0ZW1zW2ldLm9wZXJhdG9yID09IFwiaXMtbm90LWVtcHR5XCIpICYmIGdyW2pdLml0ZW1zW2ldLmNhcHRpb24pKSB7XG4gIC8vICAgICAgICAgICAgICAgICB2YXIgb3ByOiBzdHJpbmc7XG4gIC8vICAgICAgICAgICAgICAgICBpZiAoZ3Jbal0uaXRlbXNbaV0uZGF0YVR5cGUgPT0gXCJudW1iZXJcIiB8fCBncltqXS5pdGVtc1tpXS5kYXRhVHlwZSA9PSBcImRhdGVcIiB8fCBncltqXS5pdGVtc1tpXS5kYXRhVHlwZSA9PSBcImRhdGVUaW1lXCIpIHtcbiAgLy8gICAgICAgICAgICAgICAgICAgICBsZXQgZCA9IHRoaXMub3BlcmF0b3JOdW1iZXJJdGVtLmZpbHRlcihjID0+IGMuaWQgPT0gZ3Jbal0uaXRlbXNbaV0ub3BlcmF0b3IpO1xuICAvLyAgICAgICAgICAgICAgICAgICAgIG9wciA9IGRbMF0udGV4dDtcbiAgLy8gICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gIC8vICAgICAgICAgICAgICAgICAgICAgbGV0IGQgPSB0aGlzLm9wZXJhdG9yU3RyaW5nSXRlbS5maWx0ZXIoYyA9PiBjLmlkID09IGdyW2pdLml0ZW1zW2ldLm9wZXJhdG9yKTtcbiAgLy8gICAgICAgICAgICAgICAgICAgICBvcHIgPSBkWzBdLnRleHQ7XG4gIC8vICAgICAgICAgICAgICAgICB9XG4gIC8vICAgICAgICAgICAgICAgICBpZiAoKGdyW2pdLml0ZW1zW2ldLm9wZXJhdG9yID09IFwiaXMtZW1wdHlcIiB8fCBncltqXS5pdGVtc1tpXS5vcGVyYXRvciA9PSBcImlzLW5vdC1lbXB0eVwiKSkge1xuXG4gIC8vICAgICAgICAgICAgICAgICAgICAgaWYgKGkgPT09IGdyW2pdLml0ZW1zLmxlbmd0aCAtIDEpIHtcbiAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgY2FwID0gY2FwICsgXCIgXCIgKyBcIltcIiArIGdyW2pdLml0ZW1zW2ldLmNhcHRpb24gKyBcIl1cIjtcbiAgLy8gICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAvLyAgICAgICAgICAgICAgICAgICAgICAgICBjYXAgPSBjYXAgKyBcIiBcIiArIFwiW1wiICsgZ3Jbal0uaXRlbXNbaV0uY2FwdGlvbiArIFwiXVwiICsgXCIgXCIgKyBvcHIgKyBcIiBcIiArIGdyW2pdLmNvbmRpdGlvbjtcbiAgLy8gICAgICAgICAgICAgICAgICAgICB9XG4gIC8vICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAvLyAgICAgICAgICAgICAgICAgICAgIHZhciB2YWw6IHN0cmluZztcblxuICAvLyAgICAgICAgICAgICAgICAgICAgIGlmIChncltqXS5pdGVtc1tpXS5kYXRhVHlwZSA9PSAnZGF0ZScpIHtcbiAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgLy8gdmFsID0gbW9tZW50KGl0ZW0udmFsdWUpLmxvY2FsZSgnZmEnKS5mb3JtYXQoJ1lZWVkvTU0vREQnKTtcbiAgLy8gICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGdyW2pdLml0ZW1zW2ldLmRhdGFUeXBlID09ICdkYXRlVGltZScpIHtcbiAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgLy8gdmFsID0gbW9tZW50KGl0ZW0udmFsdWUpLmxvY2FsZSgnZmEnKS5mb3JtYXQoJ0hIOm1tIFlZWVkvTU0vREQnKTtcbiAgLy8gICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAvLyAgICAgICAgICAgICAgICAgICAgICAgICB2YWwgPSBncltqXS5pdGVtc1tpXS52YWx1ZTtcbiAgLy8gICAgICAgICAgICAgICAgICAgICB9XG4gIC8vICAgICAgICAgICAgICAgICAgICAgaWYgKGkgPT09IGdyW2pdLml0ZW1zLmxlbmd0aCAtIDEpIHtcbiAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgY2FwID0gY2FwICsgXCIgXCIgKyBcIltcIiArIGdyW2pdLml0ZW1zW2ldLmNhcHRpb24gKyBcIl1cIiArIFwiIFwiICsgb3ByICsgXCIgXCIgKyB2YWxcbiAgLy8gICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAvLyAgICAgICAgICAgICAgICAgICAgICAgICBjYXAgPSBjYXAgKyBcIiBcIiArIFwiW1wiICsgZ3Jbal0uaXRlbXNbaV0uY2FwdGlvbiArIFwiXVwiICsgXCIgXCIgKyBvcHIgKyBcIiBcIiArIHZhbCArIFwiIFwiICsgZ3Jbal0uY29uZGl0aW9uXG4gIC8vICAgICAgICAgICAgICAgICAgICAgfVxuXG4gIC8vICAgICAgICAgICAgICAgICB9XG4gIC8vICAgICAgICAgICAgIH1cbiAgLy8gICAgICAgICB9XG5cbiAgLy8gICAgICAgICBpZiAoZ3Jbal0uZ3JvdXBzICYmIGdyW2pdLmdyb3Vwcy5sZW5ndGggPiAwKSB7XG4gIC8vICAgICAgICAgICAgIGxldCBjID0gdGhpcy5nZXRRdWVyeURpc3BsYXkoZ3Jbal0uZ3JvdXBzLCBncltqXS5jb25kaXRpb24pO1xuICAvLyAgICAgICAgICAgICBpZiAoYyAhPSBcIiggKSBcIikge1xuICAvLyAgICAgICAgICAgICAgICAgaWYgKGdyW2pdLml0ZW1zLmxlbmd0aCA+IDAgfHwgaiA+IDApIHtcbiAgLy8gICAgICAgICAgICAgICAgICAgICBjYXAgPSBjYXAgKyBcIiBcIiArIGdyW2pdLmNvbmRpdGlvbiArIFwiIFwiICsgYyArIFwiIFwiO1xuICAvLyAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgLy8gICAgICAgICAgICAgICAgICAgICBjYXAgPSBjYXAgKyBcIiBcIiArIGMgKyBcIiBcIjtcbiAgLy8gICAgICAgICAgICAgICAgIH1cblxuICAvLyAgICAgICAgICAgICB9XG4gIC8vICAgICAgICAgfVxuXG4gIC8vICAgICAgICAgY2FwID0gY2FwICsgXCIgKSBcIjtcbiAgLy8gICAgIH07XG5cbiAgLy8gICAgIGNhcCA9IGNhcCArIFwiICkgXCI7XG4gIC8vICAgICByZXR1cm4gY2FwO1xuICAvLyB9XG5cbiAgLy8gZGVsZXRlR3JvdXAoZ3JvdXBPdXQ6IEFYUXVlcnlCdWlsZGVyR3JvdXAsIGdyb3VwSW46IEFYUXVlcnlCdWlsZGVyR3JvdXApIHtcbiAgLy8gICAgIGdyb3VwT3V0Lml0ZW1zID0gZ3JvdXBPdXQuaXRlbXMuZmlsdGVyKGMgPT4gYy5pZCAhPSBncm91cEluLmlkKTtcbiAgLy8gfVxuXG4gIC8vIGRlbGV0ZVJ1bGUxKGdyb3VwOiBBWFF1ZXJ5QnVpbGRlckdyb3VwLCBydWxlOiBBWFF1ZXJ5QnVpbGRlclJ1bGUpIHtcbiAgLy8gICAgIGdyb3VwLml0ZW1zID0gZ3JvdXAuaXRlbXMuZmlsdGVyKGMgPT4gYy5pZCAhPSBydWxlLmlkKTtcbiAgLy8gfVxuXG4gIC8vIGFkZFJ1bGUoZ3JvdXA6IEFYUXVlcnlCdWlsZGVyR3JvdXApIHtcbiAgLy8gICAgIGNvbnN0IGl0ZW06IEFYUXVlcnlCdWlsZGVyUnVsZSA9IG5ldyBBWFF1ZXJ5QnVpbGRlclJ1bGUoKTtcbiAgLy8gICAgIGdyb3VwLml0ZW1zLnB1c2goaXRlbSk7XG4gIC8vIH1cblxuICAvLyBhZGRHcm91cEFORChncm91cDogQVhRdWVyeUJ1aWxkZXJHcm91cCkge1xuICAvLyAgICAgdGhpcy5hZGRHcm91cE9uQ2xpY2soZ3JvdXApO1xuICAvLyAgICAgZ3JvdXAuY29uZGl0aW9uID0gXCJBTkRcIjtcbiAgLy8gfVxuICAvLyBhZGRHcm91cE9SKGdyb3VwOiBBWFF1ZXJ5QnVpbGRlckdyb3VwKSB7XG4gIC8vICAgICB0aGlzLmFkZEdyb3VwT25DbGljayhncm91cCk7XG4gIC8vICAgICBncm91cC5jb25kaXRpb24gPSBcIk9SXCI7XG4gIC8vIH1cblxuICAvLyBhZGRHcm91cE9uQ2xpY2soZ3JvdXBzOiBBWFF1ZXJ5QnVpbGRlckdyb3VwKSB7XG4gIC8vICAgICBsZXQgcjogQVhRdWVyeUJ1aWxkZXJHcm91cCA9IG5ldyBBWFF1ZXJ5QnVpbGRlckdyb3VwKCk7XG4gIC8vICAgICByLmNvbmRpdGlvbiA9IFwiXCI7XG4gIC8vICAgICByLml0ZW1zID0gW107XG4gIC8vICAgICBpZiAoZ3JvdXBzLml0ZW1zID09IHVuZGVmaW5lZCkge1xuICAvLyAgICAgICAgIGdyb3Vwcy5pdGVtcyA9IFtdO1xuICAvLyAgICAgfVxuICAvLyAgICAgZ3JvdXBzLml0ZW1zLnB1c2gocik7XG4gIC8vIH1cbn1cbiIsIjxheC1xdWVyeS1ncm91cCAjcXVlcnlHcm91cCBbbW9kZV09XCJtb2RlXCIgW2dyb3VwXT1cInJvb3RHcm91cFwiIFtmaWVsZHNdPVwiZmllbGRzXCJcbiAgICAoZ3JvdXBSdWxlQ2hhbmdlZCk9XCJydWxlQ2hhbmdlZCgkZXZlbnQpXCI+XG48L2F4LXF1ZXJ5LWdyb3VwPiJdfQ==
|
@@ -0,0 +1,62 @@
|
|
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: "16.2.12", ngImport: i0, type: AXQueryBuilderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
38
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", 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: "16.2.12", ngImport: i0, type: AXQueryBuilderModule, providers: [AXQueryBuilderService], imports: [MODUELS] });
|
52
|
+
}
|
53
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktYnVpbGRlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvc3JjL2xpYi9xdWVyeS1idWlsZGVyL3F1ZXJ5LWJ1aWxkZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDN0UsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDL0UsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2xELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ25HLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7QUFFdkUsTUFBTSxPQUFPLEdBQUc7SUFDWixZQUFZO0lBQ1osY0FBYztJQUNkLGdCQUFnQjtJQUNoQixpQkFBaUI7SUFDakIsa0JBQWtCO0lBQ2xCLGVBQWU7SUFDZixpQkFBaUI7SUFDakIsaUJBQWlCO0lBQ2pCLGtCQUFrQjtJQUNsQixhQUFhO0lBQ2IsZ0JBQWdCO0lBQ2hCLGtCQUFrQjtJQUNsQixrQkFBa0I7Q0FDckIsQ0FBQTtBQVNELE1BQU0sT0FBTyxvQkFBb0I7d0dBQXBCLG9CQUFvQjt5R0FBcEIsb0JBQW9CLGlCQU5kLHVCQUF1QixFQUFFLDRCQUE0QixFQUFFLDJCQUEyQixFQUFFLDRCQUE0QixhQWhCL0gsWUFBWTtZQUNaLGNBQWM7WUFDZCxnQkFBZ0I7WUFDaEIsaUJBQWlCO1lBQ2pCLGtCQUFrQjtZQUNsQixlQUFlO1lBQ2YsaUJBQWlCO1lBQ2pCLGlCQUFpQjtZQUNqQixrQkFBa0I7WUFDbEIsYUFBYTtZQUNiLGdCQUFnQjtZQUNoQixrQkFBa0I7WUFDbEIsa0JBQWtCLGFBTVIsdUJBQXVCO3lHQUl4QixvQkFBb0IsYUFIbEIsQ0FBQyxxQkFBcUIsQ0FBQyxZQUZ4QixPQUFPOzs0RkFLUixvQkFBb0I7a0JBUGhDLFFBQVE7bUJBQUM7b0JBQ04sWUFBWSxFQUFFLENBQUMsdUJBQXVCLEVBQUUsNEJBQTRCLEVBQUUsMkJBQTJCLEVBQUUsNEJBQTRCLENBQUM7b0JBQ2hJLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQztvQkFDbEIsT0FBTyxFQUFFLENBQUMsdUJBQXVCLENBQUM7b0JBQ2xDLFNBQVMsRUFBRSxDQUFDLHFCQUFxQixDQUFDO2lCQUNyQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWFF1ZXJ5QnVpbGRlckNvbXBvbmVudCB9IGZyb20gJy4vcXVlcnktYnVpbGRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQVhCdXR0b25Nb2R1bGUgfSBmcm9tICcuLi9idXR0b24vYnV0dG9uLm1vZHVsZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQVhQYW5lbEJveE1vZHVsZSB9IGZyb20gJy4uL3BhbmVsLWJveC9wYW5lbC1ib3gubW9kdWxlJztcbmltcG9ydCB7IEFYU2VsZWN0Qm94TW9kdWxlIH0gZnJvbSAnLi4vc2VsZWN0Ym94L3NlbGVjdGJveC5tb2R1bGUnO1xuaW1wb3J0IHsgQVhUZXh0Qm94TW9kdWxlIH0gZnJvbSAnLi4vdGV4dGJveC90ZXh0Ym94Lm1vZHVsZSc7XG5pbXBvcnQgeyBBWFF1ZXJ5QnVpbGRlclJ1bGVDb21wb25lbnQgfSBmcm9tICcuL3F1ZXJ5LWJ1aWxkZXItcnVsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQVhRdWVyeUJ1aWxkZXJHcm91cENvbXBvbmVudCB9IGZyb20gJy4vcXVlcnktYnVpbGRlci1ncm91cC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQVhUcmFuc2xhdG9yTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb3JlJztcbmltcG9ydCB7IEFYTnVtYmVyQm94TW9kdWxlIH0gZnJvbSAnLi4vbnVtYmVyLWJveC9udW1iZXItYm94Lm1vZHVsZSc7XG5pbXBvcnQgeyBBWERhdGFTb3VyY2VNb2R1bGUgfSBmcm9tICcuLi9kYXRhLXNvdXJjZS9kYXRhc291cmNlLm1vZHVsZSc7XG5pbXBvcnQgeyBBWEZvcm1Hcm91cE1vZHVsZSB9IGZyb20gJy4uL2Zvcm0tZ3JvdXAvZm9ybS1ncm91cC5tb2R1bGUnO1xuaW1wb3J0IHsgQVhRdWVyeUJ1aWxkZXJQb3B1cENvbXBvbmVudCB9IGZyb20gJy4vcXVlcnktYnVpbGRlci1wb3B1cC9xdWVyeS1idWlsZGVyLXBvcHVwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBWExhYmVsTW9kdWxlIH0gZnJvbSAnLi4vbGFiZWwvbGFiZWwubW9kdWxlJztcbmltcG9ydCB7IEFYQ2hlY2tCb3hNb2R1bGUgfSBmcm9tICcuLi9jaGVja2JveC9jaGVja2JveC5tb2R1bGUnO1xuaW1wb3J0IHsgQVhWYWxpZGF0aW9uTW9kdWxlIH0gZnJvbSAnLi4vdmFsaWRhdGlvbi92YWxpZGF0aW9uLm1vZHVsZSc7XG5pbXBvcnQgeyBBWFF1ZXJ5QnVpbGRlclNlcnZpY2UgfSBmcm9tICcuL3F1ZXJ5LWJ1aWxkZXIuc2VydmljZSc7XG5pbXBvcnQgeyBBWERhdGVQaWNrZXJNb2R1bGUgfSBmcm9tICcuLi9kYXRlLXBpY2tlci9kYXRlLXBpY2tlci5tb2R1bGUnO1xuXG5jb25zdCBNT0RVRUxTID0gW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBBWEJ1dHRvbk1vZHVsZSxcbiAgICBBWFBhbmVsQm94TW9kdWxlLFxuICAgIEFYU2VsZWN0Qm94TW9kdWxlLFxuICAgIEFYRGF0YVNvdXJjZU1vZHVsZSxcbiAgICBBWFRleHRCb3hNb2R1bGUsXG4gICAgQVhOdW1iZXJCb3hNb2R1bGUsXG4gICAgQVhGb3JtR3JvdXBNb2R1bGUsXG4gICAgQVhUcmFuc2xhdG9yTW9kdWxlLFxuICAgIEFYTGFiZWxNb2R1bGUsXG4gICAgQVhDaGVja0JveE1vZHVsZSxcbiAgICBBWFZhbGlkYXRpb25Nb2R1bGUsXG4gICAgQVhEYXRlUGlja2VyTW9kdWxlXG5dXG5cbkBOZ01vZHVsZSh7XG4gICAgZGVjbGFyYXRpb25zOiBbQVhRdWVyeUJ1aWxkZXJDb21wb25lbnQsIEFYUXVlcnlCdWlsZGVyR3JvdXBDb21wb25lbnQsIEFYUXVlcnlCdWlsZGVyUnVsZUNvbXBvbmVudCwgQVhRdWVyeUJ1aWxkZXJQb3B1cENvbXBvbmVudF0sXG4gICAgaW1wb3J0czogW01PRFVFTFNdLFxuICAgIGV4cG9ydHM6IFtBWFF1ZXJ5QnVpbGRlckNvbXBvbmVudF0sXG4gICAgcHJvdmlkZXJzOiBbQVhRdWVyeUJ1aWxkZXJTZXJ2aWNlXVxufSlcblxuZXhwb3J0IGNsYXNzIEFYUXVlcnlCdWlsZGVyTW9kdWxlIHsgfSJdfQ==
|
@@ -0,0 +1,199 @@
|
|
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: "16.2.12", 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: "16.2.12", ngImport: i0, type: AXQueryBuilderService, providedIn: 'root' });
|
194
|
+
}
|
195
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AXQueryBuilderService, decorators: [{
|
196
|
+
type: Injectable,
|
197
|
+
args: [{ providedIn: 'root' }]
|
198
|
+
}], ctorParameters: function () { return [{ type: i1.AXPopupService }, { type: i2.AXToastService }]; } });
|
199
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktYnVpbGRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3NyYy9saWIvcXVlcnktYnVpbGRlci9xdWVyeS1idWlsZGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG1CQUFtQixFQUE0QixNQUFNLHVCQUF1QixDQUFDO0FBQ3RGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3hELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ25HLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7O0FBRTFDLE1BQU0sT0FBTyxxQkFBcUI7SUFDWjtJQUErQjtJQUFuRCxZQUFvQixLQUFxQixFQUFVLEtBQXFCO1FBQXBELFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQVUsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7SUFBSSxDQUFDO0lBQzdFLE9BQU8sR0FBWSxLQUFLLENBQUM7SUFDekIsTUFBTSxHQUFZLEtBQUssQ0FBQztJQUNqQixRQUFRLENBQUMsS0FBMEIsRUFBRSxXQUFXO1FBQ3JELE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUM3QixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztZQUNyQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7Z0JBQzNDLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ3JDO1lB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ZjtnQkFDRCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7b0JBQzNDLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQzVCLElBQUksSUFBSSxZQUFZLG1CQUFtQixFQUFFO3dCQUN2QyxLQUFLLEdBQUcsS0FBSyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztxQkFDekM7eUJBQU07d0JBQ0wsS0FBSyxHQUFHLEtBQUssR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLFNBQVMsR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEsR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztxQkFDL0U7b0JBQ0QsSUFBSSxDQUFDLEtBQUssS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLEtBQUssSUFBSSxLQUFLLEVBQUU7d0JBQ2xELEtBQUssR0FBRyxLQUFLLEdBQUcsR0FBRyxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUM7cUJBQ3ZDO2lCQUNGO2dCQUNELElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO29CQUMxQixLQUFLLEdBQUcsS0FBSyxHQUFHLEtBQUssQ0FBQztpQkFDdkI7Z0JBRUQsTUFBTTtZQUNSLEtBQUssS0FBSztnQkFDUixNQUFNO1NBQ1Q7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7d0dBbkxVLHFCQUFxQjs0R0FBckIscUJBQXFCLGNBRFIsTUFBTTs7NEZBQ25CLHFCQUFxQjtrQkFEakMsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFF1ZXJ5QnVpbGRlckdyb3VwLCBBWFF1ZXJ5QnVpbGRlclN0cmluZ1R5cGUgfSBmcm9tICcuL3F1ZXJ5LWJ1aWxkZXIuY2xhc3MnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhQb3B1cFNlcnZpY2UgfSBmcm9tICcuLi9wb3B1cC9wb3B1cC5zZXJ2aWNlJztcbmltcG9ydCB7IEFYUXVlcnlCdWlsZGVyUG9wdXBDb21wb25lbnQgfSBmcm9tICcuL3F1ZXJ5LWJ1aWxkZXItcG9wdXAvcXVlcnktYnVpbGRlci1wb3B1cC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQVhUb2FzdFNlcnZpY2UgfSBmcm9tICcuLi90b2FzdC90b2FzdC5zZXJ2aWNlJztcbmltcG9ydCB7IEFYRGF0ZVRpbWUgfSBmcm9tICdAYWNvcmV4L2NvcmUnO1xuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBBWFF1ZXJ5QnVpbGRlclNlcnZpY2Uge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHBvcHVwOiBBWFBvcHVwU2VydmljZSwgcHJpdmF0ZSB0b2FzdDogQVhUb2FzdFNlcnZpY2UpIHsgfVxuICBjYW5PcGVuOiBib29sZWFuID0gZmFsc2U7XG4gIGNhblJ1bjogYm9vbGVhbiA9IGZhbHNlO1xuICBwdWJsaWMgcnVuUXVlcnkoZ3JvdXA6IEFYUXVlcnlCdWlsZGVyR3JvdXAsIHByb3ZpZGVEYXRhKSB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XG4gICAgICB0aGlzLmNhbk9wZW4gPSBmYWxzZTtcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZ3JvdXAuaXRlbXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgdGhpcy5nZXROb1ZhbHVlUnVsZShncm91cC5pdGVtc1tpXSk7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5jYW5PcGVuKSB7XG4gICAgICAgIHRoaXMuY2FuUnVuID0gdHJ1ZTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBncm91cC5pdGVtcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgIGlmICh0aGlzLmNhblJ1biA9PSB0cnVlKSB7XG4gICAgICAgICAgICB0aGlzLmZpbmROdWxsVmFsdWUoZ3JvdXAuaXRlbXNbaV0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5jYW5SdW4pIHtcbiAgICAgICAgICB0aGlzLnBvcHVwLm9wZW4oQVhRdWVyeUJ1aWxkZXJQb3B1cENvbXBvbmVudCwgeyBkYXRhOiB7IGdyb3VwOiBncm91cCwgcHJvdmlkZURhdGE6IHByb3ZpZGVEYXRhIH0sIHRpdGxlOiAn2K/YsduM2KfZgdiqINmF2YLYp9iv24zYsScgfSkudGhlbigoYykgPT4ge1xuICAgICAgICAgICAgcmVzb2x2ZShjKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmVzb2x2ZShncm91cCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBmaW5kTnVsbFZhbHVlKGdyKSB7XG4gICAgaWYgKHRoaXMuY2FuUnVuID09IHRydWUpIHtcbiAgICAgIGlmIChnci5jb25kaXRpb24pIHtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBnci5pdGVtcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgIHRoaXMuZmluZE51bGxWYWx1ZShnci5pdGVtc1tpXSk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmIChnci5vbkRlbWFuZExhYmVsID09ICc/Pz8/fCcpIHtcbiAgICAgICAgICB0aGlzLmNhblJ1biA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMudG9hc3QuZXJyb3IoJ9mE2LfZgdinINmG2KfZhSDZhdiq2LrbjNixINmH2KfbjCDZhdmI2LHYryDZhtuM2KfYsiDYsdinINqp2KfZhdmEINqp2YbbjNivJyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldE5vVmFsdWVSdWxlKGdyKSB7XG4gICAgLy8gZm9yIChsZXQgaSA9IDA7IGkgPCBnci5pdGVtcy5sZW5ndGg7IGkrKykge1xuICAgIGlmIChnci5jb25kaXRpb24pIHtcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZ3IuaXRlbXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgdGhpcy5nZXROb1ZhbHVlUnVsZShnci5pdGVtc1tpXSk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChnci5vbkRlbWFuZExhYmVsPy5pbmRleE9mKCc/Pz8/JykgPT0gMCkge1xuICAgICAgICB0aGlzLmNhbk9wZW4gPSB0cnVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vICB9XG4gIH1cblxuICBhc3luYyBnZXRRdWVyeVN0cmluZ1NpbXBsZShncm91cDogQVhRdWVyeUJ1aWxkZXJHcm91cCkge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZTxzdHJpbmc+KGFzeW5jIChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIHZhciBxdWVyeTogc3RyaW5nO1xuICAgICAgaWYgKGdyb3VwLml0ZW1zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgcXVlcnkgPSAnICggJztcbiAgICAgIH1cbiAgICAgIHZhciBpZCA9IDA7XG4gICAgICBmb3IgYXdhaXQgKGNvbnN0IGl0ZXJhdG9yIG9mIGdyb3VwLml0ZW1zKSB7XG4gICAgICAgIGNvbnN0IGl0ZW06IGFueSA9IGdyb3VwLml0ZW1zW2lkXTtcblxuICAgICAgICBpZiAoaXRlbS5jb25kaXRpb24pIHtcbiAgICAgICAgICBhd2FpdCB0aGlzLmdldFF1ZXJ5U3RyaW5nU2ltcGxlKGl0ZW0pLnRoZW4oKGMpID0+IHtcbiAgICAgICAgICAgIHF1ZXJ5ID0gcXVlcnkgKyBjO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGxldCBjb2RlT3BlcmF0b3I6IHN0cmluZyA9IG51bGw7XG4gICAgICAgICAgc3dpdGNoIChpdGVtLm9wZXJhdG9yKSB7XG4gICAgICAgICAgICBjYXNlICdlcXVhbCc6XG4gICAgICAgICAgICAgIGNvZGVPcGVyYXRvciA9ICc9PSc7XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnbm90LWVxdWFsJzpcbiAgICAgICAgICAgICAgY29kZU9wZXJhdG9yID0gJyE9JztcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdub3QtbnVsbCc6XG4gICAgICAgICAgICAgIGNvZGVPcGVyYXRvciA9ICchPSBudWxsJztcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdudWxsJzpcbiAgICAgICAgICAgICAgY29kZU9wZXJhdG9yID0gJz09IG51bGwnO1xuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ2d0JzpcbiAgICAgICAgICAgICAgY29kZU9wZXJhdG9yID0gJz4nO1xuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ2d0ZSc6XG4gICAgICAgICAgICAgIGNvZGVPcGVyYXRvciA9ICc+PSc7XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnbHQnOlxuICAgICAgICAgICAgICBjb2RlT3BlcmF0b3IgPSAnPCc7XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnbHRlJzpcbiAgICAgICAgICAgICAgY29kZU9wZXJhdG9yID0gJzw9JztcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdjb250YWlucyc6XG4gICAgICAgICAgICAgIGNvZGVPcGVyYXRvciA9IGl0ZW0ub3BlcmF0b3I7XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnc3RhcnQtd2l0aCc6XG4gICAgICAgICAgICAgIGNvZGVPcGVyYXRvciA9IGl0ZW0ub3BlcmF0b3I7XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnZW5kLXdpdGgnOlxuICAgICAgICAgICAgICBjb2RlT3BlcmF0b3IgPSBpdGVtLm9wZXJhdG9yO1xuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgIGNvZGVPcGVyYXRvciA9IGl0ZW0ub3BlcmF0b3I7XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoaXRlbS5kYXRhVHlwZSA9PSAnZGF0ZXRpbWUnICYmIGl0ZW0udGV4dCAmJiBpdGVtLnRleHQgIT0gJycgJiYgaXRlbS50ZXh0ICE9IG51bGwgfHwgaXRlbS5kYXRhVHlwZSA9PSAnZGF0ZScgJiYgaXRlbS50ZXh0ICYmIGl0ZW0udGV4dCAhPSAnJyAmJiBpdGVtLnRleHQgIT0gbnVsbCkge1xuICAgICAgICAgICAgcXVlcnkgPSBxdWVyeSArICcgJyArIGl0ZW0uY2FwdGlvbiArICcgJyArIGNvZGVPcGVyYXRvciArICcgKCcgKyBBWERhdGVUaW1lLmNvbnZlcnQoaXRlbS50ZXh0LCAnamFsYWxpJykgKyAnKSc7XG4gICAgICAgICAgfSBlbHNlIGlmIChpdGVtLmRhdGFUeXBlICE9ICdkYXRldGltZScgfHwgaXRlbS5kYXRhVHlwZSAhPSAnZGF0ZScpIHtcbiAgICAgICAgICAgIHF1ZXJ5ID0gcXVlcnkgKyAnICcgKyBpdGVtLmNhcHRpb24gKyAnICcgKyBjb2RlT3BlcmF0b3IgKyAnICcgKyBpdGVtLnRleHQ7XG4gICAgICAgICAgfVxuXG4gICAgICAgIH1cbiAgICAgICAgaWYgKGlkICE9PSBncm91cC5pdGVtcy5sZW5ndGggLSAxICYmIHF1ZXJ5ICE9ICcgKCAnKSB7XG4gICAgICAgICAgcXVlcnkgPSBxdWVyeSArICcgJyArIGdyb3VwLmNvbmRpdGlvbjtcbiAgICAgICAgfVxuICAgICAgICBpZCArPSAxO1xuICAgICAgfVxuICAgICAgaWYgKGdyb3VwLml0ZW1zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgcXVlcnkgPSBxdWVyeSArICcgKSAnO1xuICAgICAgfVxuICAgICAgcmVzb2x2ZShxdWVyeSk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0UXVlcnlTdHJpbmcoZ3JvdXA6IEFYUXVlcnlCdWlsZGVyR3JvdXAsIHR5cGU6IEFYUXVlcnlCdWlsZGVyU3RyaW5nVHlwZSk6IHN0cmluZyB7XG4gICAgbGV0IHF1ZXJ5ID0gJyc7XG4gICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICBjYXNlICdzaW1wbGUnOlxuICAgICAgICBpZiAoZ3JvdXAuaXRlbXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgIHF1ZXJ5ID0gJyAoICc7XG4gICAgICAgIH1cbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBncm91cC5pdGVtcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgIGNvbnN0IGl0ZW0gPSBncm91cC5pdGVtc1tpXTtcbiAgICAgICAgICBpZiAoaXRlbSBpbnN0YW5jZW9mIEFYUXVlcnlCdWlsZGVyR3JvdXApIHtcbiAgICAgICAgICAgIHF1ZXJ5ID0gcXVlcnkgKyBpdGVtLnF1ZXJ5U3RyaW5nO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBxdWVyeSA9IHF1ZXJ5ICsgJyAnICsgaXRlbS5jYXB0aW9uICsgJyAnICsgaXRlbS5vcGVyYXRvciArICcgJyArIGl0ZW0udmFsdWU7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChpICE9PSBncm91cC5pdGVtcy5sZW5ndGggLSAxICYmIHF1ZXJ5ICE9ICcgKCAnKSB7XG4gICAgICAgICAgICBxdWVyeSA9IHF1ZXJ5ICsgJyAnICsgZ3JvdXAuY29uZGl0aW9uO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoZ3JvdXAuaXRlbXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgIHF1ZXJ5ID0gcXVlcnkgKyAnICkgJztcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSAnZWxhc3RpYyc6XG4gICAgICAgIGlmIChncm91cC5pdGVtcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgcXVlcnkgPSAnICggJztcbiAgICAgICAgfVxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGdyb3VwLml0ZW1zLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgY29uc3QgaXRlbSA9IGdyb3VwLml0ZW1zW2ldO1xuICAgICAgICAgIGlmIChpdGVtIGluc3RhbmNlb2YgQVhRdWVyeUJ1aWxkZXJHcm91cCkge1xuICAgICAgICAgICAgcXVlcnkgPSBxdWVyeSArIGl0ZW0ucXVlcnlTdHJpbmdFbGFzdGljO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBxdWVyeSA9IHF1ZXJ5ICsgJyAnICsgaXRlbS5kYXRhRmllbGQgKyAnICcgKyBpdGVtLm9wZXJhdG9yICsgJyAnICsgaXRlbS52YWx1ZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGkgIT09IGdyb3VwLml0ZW1zLmxlbmd0aCAtIDEgJiYgcXVlcnkgIT0gJyAoICcpIHtcbiAgICAgICAgICAgIHF1ZXJ5ID0gcXVlcnkgKyAnICcgKyBncm91cC5jb25kaXRpb247XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChncm91cC5pdGVtcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgcXVlcnkgPSBxdWVyeSArICcgKSAnO1xuICAgICAgICB9XG5cbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdzcWwnOlxuICAgICAgICBicmVhaztcbiAgICB9XG5cbiAgICByZXR1cm4gcXVlcnk7XG4gIH1cbn1cbiJdfQ==
|