@acorex/components 6.5.70 → 6.5.72
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 +6 -2
- 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 +95 -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 +718 -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/{esm2020 → esm2022}/lib/loading/loading.service.mjs +7 -5
- 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 +159 -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 +66 -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 +105 -0
- package/esm2022/lib/searchbox/searchbox.module.mjs +24 -0
- package/esm2022/lib/selectbox/selectbox.component.mjs +1028 -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 +158 -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 +3611 -2674
- package/fesm2022/acorex-components.mjs.map +1 -0
- package/lib/accordion/accordion.component.d.ts +1 -1
- package/lib/base/base-page.class.d.ts +2 -2
- package/lib/base/element.class.d.ts +6 -6
- package/lib/button/button.component.d.ts +1 -1
- package/lib/calendar/calendar-box/calendar-box.component.d.ts +6 -6
- package/lib/calendar/scheduler/scheduler-views.property.d.ts +2 -2
- package/lib/calendar/scheduler/scheduler.class.d.ts +1 -1
- package/lib/calendar/scheduler/scheduler.component.d.ts +1 -1
- package/lib/calendar/scheduler/toolbars/scheduler-toolbar-navigator.d.ts +1 -1
- package/lib/calendar/scheduler/toolbars/scheduler-toolbar-views.d.ts +1 -1
- package/lib/calendar/scheduler/views/agenda/scheduler-agenda-view.component.d.ts +1 -1
- package/lib/calendar/scheduler/views/daytime/scheduler-daytime-view.component.d.ts +1 -1
- package/lib/calendar/scheduler/views/month/scheduler-month-view.component.d.ts +1 -1
- package/lib/calendar/scheduler/views/scheduler-view.component.d.ts +1 -1
- package/lib/calendar/scheduler/views/timeline/scheduler-timeline-view.component.d.ts +1 -1
- package/lib/checkbox/checkbox.component.d.ts +1 -1
- package/lib/color-picker/color-box/color-box.component.d.ts +1 -1
- package/lib/color-picker/color-picker.component.d.ts +1 -1
- package/lib/context-menu/context-menu.component.d.ts +1 -1
- package/lib/context-menu/context-menu.directive.d.ts +3 -3
- package/lib/data-filter/columns/filter-column-date.component.d.ts +1 -1
- package/lib/data-filter/columns/filter-column-number.component.d.ts +1 -1
- package/lib/data-filter/columns/filter-column-selection.component.d.ts +1 -1
- package/lib/data-filter/columns/filter-column-string.component.d.ts +1 -1
- package/lib/data-filter/filter-panel/filter-panel.component.d.ts +1 -1
- package/lib/data-filter/filter.class.d.ts +1 -1
- package/lib/data-filter/toolbar/filter-toolbar.component.d.ts +1 -1
- package/lib/data-list/core/data-list.component.d.ts +1 -1
- package/lib/data-list/list/list.component.d.ts +1 -1
- package/lib/data-list/list/toolbar-list-view.component.d.ts +2 -2
- package/lib/data-source/datasource.component.d.ts +1 -1
- package/lib/date-picker/date-picker.component.d.ts +1 -1
- package/lib/date-picker/date-picker.module.d.ts +2 -2
- package/lib/dialog/dialog.component.d.ts +1 -1
- package/lib/drawer/content.component.d.ts +1 -1
- package/lib/drawer/drawer-container.component.d.ts +1 -1
- package/lib/drawer/drawer.component.d.ts +3 -3
- package/lib/dropdown/dropdown.component.d.ts +1 -1
- package/lib/fieldset/fieldset.component.d.ts +1 -1
- package/lib/form-group/form-group.component.d.ts +1 -1
- package/lib/label/label.component.d.ts +1 -1
- package/lib/loading/loading-indicator.component.d.ts +1 -1
- package/lib/loading/loading-panel.component.d.ts +1 -1
- package/lib/menu/menu-item.component.d.ts +1 -1
- package/lib/menu/menu.component.d.ts +1 -1
- package/lib/menu/menu2.component.d.ts +1 -1
- package/lib/number-box/number-box.component.d.ts +1 -1
- package/lib/page/content.component.d.ts +1 -1
- package/lib/page/footer.component.d.ts +1 -1
- package/lib/page/page.component.d.ts +1 -1
- package/lib/panel-box/panel-box.component.d.ts +1 -1
- package/lib/password-box/password-box.component.d.ts +1 -1
- package/lib/popover/popover.component.d.ts +1 -1
- package/lib/popup/popup.component.d.ts +1 -1
- package/lib/progress-bar/progress-bar.component.d.ts +1 -1
- package/lib/property-editor/editors/check-editor/check-editor.d.ts +1 -1
- package/lib/property-editor/editors/color-editor/color.editor.d.ts +1 -1
- package/lib/property-editor/editors/column-editor/column.editor.d.ts +1 -1
- package/lib/property-editor/editors/conditional-color-editor/conditional-color.editor.d.ts +1 -1
- package/lib/property-editor/editors/date-editor/date.editor.d.ts +1 -1
- package/lib/property-editor/editors/number-editor/number.editor.d.ts +1 -1
- package/lib/property-editor/editors/range-editor/range.editor.d.ts +1 -1
- package/lib/property-editor/editors/searchbar-selectbox-editor/searchbar-selectbox-editor.d.ts +1 -1
- package/lib/property-editor/editors/selectbox-editor/selectbox.editor.d.ts +1 -1
- package/lib/property-editor/editors/selection-editor/selection-editor.d.ts +1 -1
- package/lib/property-editor/editors/switch-editor/number.editor.d.ts +1 -1
- package/lib/property-editor/editors/text-editor/text.editor.d.ts +1 -1
- package/lib/property-editor/editors/textarea-editor/textarea.editor.d.ts +1 -1
- package/lib/property-editor/editors/time-editor/time.editor.d.ts +1 -1
- package/lib/property-editor/property-editor-renderer.directive.d.ts +1 -1
- package/lib/property-editor/property-editor.class.d.ts +3 -3
- package/lib/query-builder/query-builder-group.component.d.ts +1 -1
- package/lib/query-builder/query-builder-popup/query-builder-popup.component.d.ts +1 -1
- package/lib/query-builder/query-builder-rule.component.d.ts +3 -3
- package/lib/query-builder/query-builder.class.d.ts +4 -4
- package/lib/query-builder/query-builder.component.d.ts +1 -1
- package/lib/search-bar/search-bar.component.d.ts +1 -1
- package/lib/searchbox/searchbox.component.d.ts +2 -1
- package/lib/selectbox/selectbox.component.d.ts +2 -1
- package/lib/selectbox/selectbox2.component.d.ts +1 -1
- package/lib/selection-list/selection-list.component.d.ts +2 -2
- package/lib/switch/switch.component.d.ts +1 -1
- package/lib/tab-page/tab-page-Renderer.component.d.ts +1 -1
- package/lib/tab-page/tab-page-host.component.d.ts +1 -1
- package/lib/tab-strip/tab-strip.component.d.ts +1 -1
- package/lib/tab-view/dynamic-tabs.directive.d.ts +1 -1
- package/lib/tab-view/tab-view.component.d.ts +1 -1
- package/lib/tab-view/tab.component.d.ts +1 -1
- package/lib/textarea/textarea.component.d.ts +1 -1
- package/lib/textbox/textbox.component.d.ts +2 -2
- package/lib/textbox/textbox.module.d.ts +2 -2
- package/lib/time-picker/time-picker.component.d.ts +2 -1
- package/lib/time-picker/time-picker.module.d.ts +2 -2
- package/lib/toast/toast-message/toast-message.component.d.ts +1 -1
- package/lib/toast/toast-wrapper/toast-wrapper.component.d.ts +1 -1
- package/lib/toolbar/group-button/toolbar-group-button.component.d.ts +1 -1
- package/lib/toolbar/menu/toolbar-menu.component.d.ts +1 -1
- package/lib/toolbar/search/toolbar-search.component.d.ts +1 -1
- package/lib/toolbar/title/toolbar-title.component.d.ts +1 -1
- package/lib/toolbar/toolbar.component.d.ts +1 -1
- package/lib/tooltip/tooltip.directive.d.ts +1 -1
- package/lib/tree-side-menu/tree-side-menu.component.d.ts +1 -1
- package/lib/tree-view/tree-view.component.d.ts +1 -1
- package/lib/upload-file/upload-file.component.d.ts +2 -2
- package/lib/validation/validation-form.component.d.ts +1 -1
- package/lib/validation/validation-rule.widget.d.ts +1 -1
- package/lib/validation/validation.class.d.ts +1 -1
- package/lib/validation/validation.component.d.ts +1 -1
- 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/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 -79
- 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 -16012
- package/fesm2015/acorex-components.mjs.map +0 -1
- package/fesm2020/acorex-components.mjs.map +0 -1
- /package/{public-api.d.ts → index.d.ts} +0 -0
@@ -1,196 +0,0 @@
|
|
1
|
-
import { NgModule } from '@angular/core';
|
2
|
-
import { RouterModule } from '@angular/router';
|
3
|
-
import { AXCheckBoxPropertyEditorComponent } from './editors/check-editor/check-editor';
|
4
|
-
import { AXCheckPropertyEditorModule } from './editors/check-editor/check.module';
|
5
|
-
import { AXColorPropertyEditorComponent } from './editors/color-editor/color.editor';
|
6
|
-
import { AXColorPropertyEditorModule } from './editors/color-editor/color.module';
|
7
|
-
import { ColumnPropertyEditorComponent } from './editors/column-editor/column.editor';
|
8
|
-
import { AXColumnPropertyEditorModule } from './editors/column-editor/column.module';
|
9
|
-
import { AXConditionalColorPropertyEditorComponent } from './editors/conditional-color-editor/conditional-color.editor';
|
10
|
-
import { AXConditionalColorPropertyEditorModule } from './editors/conditional-color-editor/conditional-color.module';
|
11
|
-
import { AXDatePropertyEditorComponent } from './editors/date-editor/date.editor';
|
12
|
-
import { AXDatePropertyEditorModule } from './editors/date-editor/date.module';
|
13
|
-
import { AXNumberBoxPropertyEditorComponent } from './editors/number-editor/number.editor';
|
14
|
-
import { AXNumberBoxPropertyEditorModule } from './editors/number-editor/number.module';
|
15
|
-
import { AXRangePropertyEditorComponent } from './editors/range-editor/range.editor';
|
16
|
-
import { AXRangePropertyEditorModule } from './editors/range-editor/range.module';
|
17
|
-
import { AXSearchBarSelectBoxEditorComponent } from './editors/searchbar-selectbox-editor/searchbar-selectbox-editor';
|
18
|
-
import { AXSelectBoxPropertyEditorComponent } from './editors/selectbox-editor/selectbox.editor';
|
19
|
-
import { AXSelectBoxPropertyEditorModule } from './editors/selectbox-editor/selectbox.module';
|
20
|
-
import { AXSelectionListPropertyEditorComponent } from './editors/selection-editor/selection-editor';
|
21
|
-
import { AXSelectionPropertyEditorModule } from './editors/selection-editor/selection.module';
|
22
|
-
import { AXSwitchPropertyEditorComponent } from './editors/switch-editor/number.editor';
|
23
|
-
import { AXSwitchPropertyEditorModule } from './editors/switch-editor/number.module';
|
24
|
-
import { AXTextPropertyEditorComponent } from './editors/text-editor/text.editor';
|
25
|
-
import { AXTextPropertyEditorModule } from './editors/text-editor/text.module';
|
26
|
-
import { AXTextareaPropertyEditorComponent } from './editors/textarea-editor/textarea.editor';
|
27
|
-
import { AXTextareaPropertyEditorModule } from './editors/textarea-editor/textarea.module';
|
28
|
-
import { AXTimePropertyEditorComponent } from './editors/time-editor/time.editor';
|
29
|
-
import { AXTimePropertyEditorModule } from './editors/time-editor/time.module';
|
30
|
-
import { AXPropertyEditorRendererDirective } from './property-editor-renderer.directive';
|
31
|
-
import * as i0 from "@angular/core";
|
32
|
-
import * as i1 from "@angular/router";
|
33
|
-
const WDIGET_MODULES = [
|
34
|
-
AXNumberBoxPropertyEditorModule,
|
35
|
-
AXTextPropertyEditorModule,
|
36
|
-
AXSelectBoxPropertyEditorModule,
|
37
|
-
AXRangePropertyEditorModule,
|
38
|
-
AXColorPropertyEditorModule,
|
39
|
-
AXConditionalColorPropertyEditorModule,
|
40
|
-
AXColumnPropertyEditorModule,
|
41
|
-
AXSwitchPropertyEditorModule,
|
42
|
-
AXDatePropertyEditorModule,
|
43
|
-
AXTimePropertyEditorModule,
|
44
|
-
AXTimePropertyEditorModule,
|
45
|
-
AXTextareaPropertyEditorModule,
|
46
|
-
AXCheckPropertyEditorModule,
|
47
|
-
AXSelectionPropertyEditorModule
|
48
|
-
];
|
49
|
-
export class AXProppertyEditorModule {
|
50
|
-
}
|
51
|
-
AXProppertyEditorModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXProppertyEditorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
52
|
-
AXProppertyEditorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXProppertyEditorModule, declarations: [AXPropertyEditorRendererDirective], imports: [AXNumberBoxPropertyEditorModule,
|
53
|
-
AXTextPropertyEditorModule,
|
54
|
-
AXSelectBoxPropertyEditorModule,
|
55
|
-
AXRangePropertyEditorModule,
|
56
|
-
AXColorPropertyEditorModule,
|
57
|
-
AXConditionalColorPropertyEditorModule,
|
58
|
-
AXColumnPropertyEditorModule,
|
59
|
-
AXSwitchPropertyEditorModule,
|
60
|
-
AXDatePropertyEditorModule,
|
61
|
-
AXTimePropertyEditorModule,
|
62
|
-
AXTimePropertyEditorModule,
|
63
|
-
AXTextareaPropertyEditorModule,
|
64
|
-
AXCheckPropertyEditorModule,
|
65
|
-
AXSelectionPropertyEditorModule, i1.RouterModule], exports: [AXPropertyEditorRendererDirective] });
|
66
|
-
AXProppertyEditorModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXProppertyEditorModule, providers: [], imports: [[
|
67
|
-
WDIGET_MODULES,
|
68
|
-
RouterModule.forChild([
|
69
|
-
{
|
70
|
-
path: 'ax/editors/selection',
|
71
|
-
component: AXSelectionListPropertyEditorComponent
|
72
|
-
},
|
73
|
-
{
|
74
|
-
component: AXCheckBoxPropertyEditorComponent,
|
75
|
-
path: 'ax/editors/check'
|
76
|
-
},
|
77
|
-
{
|
78
|
-
component: AXTextPropertyEditorComponent,
|
79
|
-
path: 'ax/editors/text'
|
80
|
-
},
|
81
|
-
{
|
82
|
-
component: AXTextareaPropertyEditorComponent,
|
83
|
-
path: 'ax/editors/textarea'
|
84
|
-
},
|
85
|
-
{
|
86
|
-
component: AXSelectBoxPropertyEditorComponent,
|
87
|
-
path: 'ax/editors/select'
|
88
|
-
},
|
89
|
-
{
|
90
|
-
component: AXSearchBarSelectBoxEditorComponent,
|
91
|
-
path: 'ax/editors/selectBox'
|
92
|
-
},
|
93
|
-
{
|
94
|
-
component: AXNumberBoxPropertyEditorComponent,
|
95
|
-
path: 'ax/editors/number'
|
96
|
-
},
|
97
|
-
{
|
98
|
-
component: AXRangePropertyEditorComponent,
|
99
|
-
path: 'ax/editors/range'
|
100
|
-
},
|
101
|
-
{
|
102
|
-
component: AXConditionalColorPropertyEditorComponent,
|
103
|
-
path: 'ax/editors/conditional-color'
|
104
|
-
},
|
105
|
-
{
|
106
|
-
component: AXColorPropertyEditorComponent,
|
107
|
-
path: 'ax/editors/color'
|
108
|
-
},
|
109
|
-
{
|
110
|
-
component: AXSwitchPropertyEditorComponent,
|
111
|
-
path: 'ax/editors/switch'
|
112
|
-
},
|
113
|
-
{
|
114
|
-
component: ColumnPropertyEditorComponent,
|
115
|
-
path: 'ax/editors/column'
|
116
|
-
},
|
117
|
-
{
|
118
|
-
component: AXDatePropertyEditorComponent,
|
119
|
-
path: 'ax/editors/date'
|
120
|
-
},
|
121
|
-
{
|
122
|
-
component: AXTimePropertyEditorComponent,
|
123
|
-
path: 'ax/editors/time'
|
124
|
-
}
|
125
|
-
])
|
126
|
-
]] });
|
127
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXProppertyEditorModule, decorators: [{
|
128
|
-
type: NgModule,
|
129
|
-
args: [{
|
130
|
-
imports: [
|
131
|
-
WDIGET_MODULES,
|
132
|
-
RouterModule.forChild([
|
133
|
-
{
|
134
|
-
path: 'ax/editors/selection',
|
135
|
-
component: AXSelectionListPropertyEditorComponent
|
136
|
-
},
|
137
|
-
{
|
138
|
-
component: AXCheckBoxPropertyEditorComponent,
|
139
|
-
path: 'ax/editors/check'
|
140
|
-
},
|
141
|
-
{
|
142
|
-
component: AXTextPropertyEditorComponent,
|
143
|
-
path: 'ax/editors/text'
|
144
|
-
},
|
145
|
-
{
|
146
|
-
component: AXTextareaPropertyEditorComponent,
|
147
|
-
path: 'ax/editors/textarea'
|
148
|
-
},
|
149
|
-
{
|
150
|
-
component: AXSelectBoxPropertyEditorComponent,
|
151
|
-
path: 'ax/editors/select'
|
152
|
-
},
|
153
|
-
{
|
154
|
-
component: AXSearchBarSelectBoxEditorComponent,
|
155
|
-
path: 'ax/editors/selectBox'
|
156
|
-
},
|
157
|
-
{
|
158
|
-
component: AXNumberBoxPropertyEditorComponent,
|
159
|
-
path: 'ax/editors/number'
|
160
|
-
},
|
161
|
-
{
|
162
|
-
component: AXRangePropertyEditorComponent,
|
163
|
-
path: 'ax/editors/range'
|
164
|
-
},
|
165
|
-
{
|
166
|
-
component: AXConditionalColorPropertyEditorComponent,
|
167
|
-
path: 'ax/editors/conditional-color'
|
168
|
-
},
|
169
|
-
{
|
170
|
-
component: AXColorPropertyEditorComponent,
|
171
|
-
path: 'ax/editors/color'
|
172
|
-
},
|
173
|
-
{
|
174
|
-
component: AXSwitchPropertyEditorComponent,
|
175
|
-
path: 'ax/editors/switch'
|
176
|
-
},
|
177
|
-
{
|
178
|
-
component: ColumnPropertyEditorComponent,
|
179
|
-
path: 'ax/editors/column'
|
180
|
-
},
|
181
|
-
{
|
182
|
-
component: AXDatePropertyEditorComponent,
|
183
|
-
path: 'ax/editors/date'
|
184
|
-
},
|
185
|
-
{
|
186
|
-
component: AXTimePropertyEditorComponent,
|
187
|
-
path: 'ax/editors/time'
|
188
|
-
}
|
189
|
-
])
|
190
|
-
],
|
191
|
-
exports: [AXPropertyEditorRendererDirective],
|
192
|
-
declarations: [AXPropertyEditorRendererDirective],
|
193
|
-
providers: []
|
194
|
-
}]
|
195
|
-
}] });
|
196
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktZWRpdG9yLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL3NyYy9saWIvcHJvcGVydHktZWRpdG9yL3Byb3BlcnR5LWVkaXRvci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDeEYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDbEYsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDckYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDbEYsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDdEYsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDckYsT0FBTyxFQUFFLHlDQUF5QyxFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFDeEgsT0FBTyxFQUFFLHNDQUFzQyxFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFDckgsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDbEYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDL0UsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDM0YsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDeEYsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDckYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0scUNB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ekMsSUFBSSxFQUFFLGtCQUFrQjs2QkFDekI7NEJBQ0Q7Z0NBQ0UsU0FBUyxFQUFFLCtCQUErQjtnQ0FDMUMsSUFBSSxFQUFFLG1CQUFtQjs2QkFDMUI7NEJBQ0Q7Z0NBQ0UsU0FBUyxFQUFFLDZCQUE2QjtnQ0FDeEMsSUFBSSxFQUFFLG1CQUFtQjs2QkFDMUI7NEJBQ0Q7Z0NBQ0UsU0FBUyxFQUFFLDZCQUE2QjtnQ0FDeEMsSUFBSSxFQUFFLGlCQUFpQjs2QkFDeEI7NEJBQ0Q7Z0NBQ0UsU0FBUyxFQUFFLDZCQUE2QjtnQ0FDeEMsSUFBSSxFQUFFLGlCQUFpQjs2QkFDeEI7eUJBQ0YsQ0FBQztxQkFDSDtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxpQ0FBaUMsQ0FBQztvQkFDNUMsWUFBWSxFQUFFLENBQUMsaUNBQWlDLENBQUM7b0JBQ2pELFNBQVMsRUFBRSxFQUFFO2lCQUNkIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBBWENoZWNrQm94UHJvcGVydHlFZGl0b3JDb21wb25lbnQgfSBmcm9tICcuL2VkaXRvcnMvY2hlY2stZWRpdG9yL2NoZWNrLWVkaXRvcic7XG5pbXBvcnQgeyBBWENoZWNrUHJvcGVydHlFZGl0b3JNb2R1bGUgfSBmcm9tICcuL2VkaXRvcnMvY2hlY2stZWRpdG9yL2NoZWNrLm1vZHVsZSc7XG5pbXBvcnQgeyBBWENvbG9yUHJvcGVydHlFZGl0b3JDb21wb25lbnQgfSBmcm9tICcuL2VkaXRvcnMvY29sb3ItZWRpdG9yL2NvbG9yLmVkaXRvcic7XG5pbXBvcnQgeyBBWENvbG9yUHJvcGVydHlFZGl0b3JNb2R1bGUgfSBmcm9tICcuL2VkaXRvcnMvY29sb3ItZWRpdG9yL2NvbG9yLm1vZHVsZSc7XG5pbXBvcnQgeyBDb2x1bW5Qcm9wZXJ0eUVkaXRvckNvbXBvbmVudCB9IGZyb20gJy4vZWRpdG9ycy9jb2x1bW4tZWRpdG9yL2NvbHVtbi5lZGl0b3InO1xuaW1wb3J0IHsgQVhDb2x1bW5Qcm9wZXJ0eUVkaXRvck1vZHVsZSB9IGZyb20gJy4vZWRpdG9ycy9jb2x1bW4tZWRpdG9yL2NvbHVtbi5tb2R1bGUnO1xuaW1wb3J0IHsgQVhDb25kaXRpb25hbENvbG9yUHJvcGVydHlFZGl0b3JDb21wb25lbnQgfSBmcm9tICcuL2VkaXRvcnMvY29uZGl0aW9uYWwtY29sb3ItZWRpdG9yL2NvbmRpdGlvbmFsLWNvbG9yLmVkaXRvcic7XG5pbXBvcnQgeyBBWENvbmRpdGlvbmFsQ29sb3JQcm9wZXJ0eUVkaXRvck1vZHVsZSB9IGZyb20gJy4vZWRpdG9ycy9jb25kaXRpb25hbC1jb2xvci1lZGl0b3IvY29uZGl0aW9uYWwtY29sb3IubW9kdWxlJztcbmltcG9ydCB7IEFYRGF0ZVByb3BlcnR5RWRpdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9lZGl0b3JzL2RhdGUtZWRpdG9yL2RhdGUuZWRpdG9yJztcbmltcG9ydCB7IEFYRGF0ZVByb3BlcnR5RWRpdG9yTW9kdWxlIH0gZnJvbSAnLi9lZGl0b3JzL2RhdGUtZWRpdG9yL2RhdGUubW9kdWxlJztcbmltcG9ydCB7IEFYTnVtYmVyQm94UHJvcGVydHlFZGl0b3JDb21wb25lbnQgfSBmcm9tICcuL2VkaXRvcnMvbnVtYmVyLWVkaXRvci9udW1iZXIuZWRpdG9yJztcbmltcG9ydCB7IEFYTnVtYmVyQm94UHJvcGVydHlFZGl0b3JNb2R1bGUgfSBmcm9tICcuL2VkaXRvcnMvbnVtYmVyLWVkaXRvci9udW1iZXIubW9kdWxlJztcbmltcG9ydCB7IEFYUmFuZ2VQcm9wZXJ0eUVkaXRvckNvbXBvbmVudCB9IGZyb20gJy4vZWRpdG9ycy9yYW5nZS1lZGl0b3IvcmFuZ2UuZWRpdG9yJztcbmltcG9ydCB7IEFYUmFuZ2VQcm9wZXJ0eUVkaXRvck1vZHVsZSB9IGZyb20gJy4vZWRpdG9ycy9yYW5nZS1lZGl0b3IvcmFuZ2UubW9kdWxlJztcbmltcG9ydCB7IEFYU2VhcmNoQmFyU2VsZWN0Qm94RWRpdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9lZGl0b3JzL3NlYXJjaGJhci1zZWxlY3Rib3gtZWRpdG9yL3NlYXJjaGJhci1zZWxlY3Rib3gtZWRpdG9yJztcbmltcG9ydCB7IEFYU2VsZWN0Qm94UHJvcGVydHlFZGl0b3JDb21wb25lbnQgfSBmcm9tICcuL2VkaXRvcnMvc2VsZWN0Ym94LWVkaXRvci9zZWxlY3Rib3guZWRpdG9yJztcbmltcG9ydCB7IEFYU2VsZWN0Qm94UHJvcGVydHlFZGl0b3JNb2R1bGUgfSBmcm9tICcuL2VkaXRvcnMvc2VsZWN0Ym94LWVkaXRvci9zZWxlY3Rib3gubW9kdWxlJztcbmltcG9ydCB7IEFYU2VsZWN0aW9uTGlzdFByb3BlcnR5RWRpdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9lZGl0b3JzL3NlbGVjdGlvbi1lZGl0b3Ivc2VsZWN0aW9uLWVkaXRvcic7XG5pbXBvcnQgeyBBWFNlbGVjdGlvblByb3BlcnR5RWRpdG9yTW9kdWxlIH0gZnJvbSAnLi9lZGl0b3JzL3NlbGVjdGlvbi1lZGl0b3Ivc2VsZWN0aW9uLm1vZHVsZSc7XG5pbXBvcnQgeyBBWFN3aXRjaFByb3BlcnR5RWRpdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9lZGl0b3JzL3N3aXRjaC1lZGl0b3IvbnVtYmVyLmVkaXRvcic7XG5pbXBvcnQgeyBBWFN3aXRjaFByb3BlcnR5RWRpdG9yTW9kdWxlIH0gZnJvbSAnLi9lZGl0b3JzL3N3aXRjaC1lZGl0b3IvbnVtYmVyLm1vZHVsZSc7XG5pbXBvcnQgeyBBWFRleHRQcm9wZXJ0eUVkaXRvckNvbXBvbmVudCB9IGZyb20gJy4vZWRpdG9ycy90ZXh0LWVkaXRvci90ZXh0LmVkaXRvcic7XG5pbXBvcnQgeyBBWFRleHRQcm9wZXJ0eUVkaXRvck1vZHVsZSB9IGZyb20gJy4vZWRpdG9ycy90ZXh0LWVkaXRvci90ZXh0Lm1vZHVsZSc7XG5pbXBvcnQgeyBBWFRleHRhcmVhUHJvcGVydHlFZGl0b3JDb21wb25lbnQgfSBmcm9tICcuL2VkaXRvcnMvdGV4dGFyZWEtZWRpdG9yL3RleHRhcmVhLmVkaXRvcic7XG5pbXBvcnQgeyBBWFRleHRhcmVhUHJvcGVydHlFZGl0b3JNb2R1bGUgfSBmcm9tICcuL2VkaXRvcnMvdGV4dGFyZWEtZWRpdG9yL3RleHRhcmVhLm1vZHVsZSc7XG5pbXBvcnQgeyBBWFRpbWVQcm9wZXJ0eUVkaXRvckNvbXBvbmVudCB9IGZyb20gJy4vZWRpdG9ycy90aW1lLWVkaXRvci90aW1lLmVkaXRvcic7XG5pbXBvcnQgeyBBWFRpbWVQcm9wZXJ0eUVkaXRvck1vZHVsZSB9IGZyb20gJy4vZWRpdG9ycy90aW1lLWVkaXRvci90aW1lLm1vZHVsZSc7XG5pbXBvcnQgeyBBWFByb3BlcnR5RWRpdG9yUmVuZGVyZXJEaXJlY3RpdmUgfSBmcm9tICcuL3Byb3BlcnR5LWVkaXRvci1yZW5kZXJlci5kaXJlY3RpdmUnO1xuXG5jb25zdCBXRElHRVRfTU9EVUxFUyA9IFtcbiAgQVhOdW1iZXJCb3hQcm9wZXJ0eUVkaXRvck1vZHVsZSxcbiAgQVhUZXh0UHJvcGVydHlFZGl0b3JNb2R1bGUsXG4gIEFYU2VsZWN0Qm94UHJvcGVydHlFZGl0b3JNb2R1bGUsXG4gIEFYUmFuZ2VQcm9wZXJ0eUVkaXRvck1vZHVsZSxcbiAgQVhDb2xvclByb3BlcnR5RWRpdG9yTW9kdWxlLFxuICBBWENvbmRpdGlvbmFsQ29sb3JQcm9wZXJ0eUVkaXRvck1vZHVsZSxcbiAgQVhDb2x1bW5Qcm9wZXJ0eUVkaXRvck1vZHVsZSxcbiAgQVhTd2l0Y2hQcm9wZXJ0eUVkaXRvck1vZHVsZSxcbiAgQVhEYXRlUHJvcGVydHlFZGl0b3JNb2R1bGUsXG4gIEFYVGltZVByb3BlcnR5RWRpdG9yTW9kdWxlLFxuICBBWFRpbWVQcm9wZXJ0eUVkaXRvck1vZHVsZSxcbiAgQVhUZXh0YXJlYVByb3BlcnR5RWRpdG9yTW9kdWxlLFxuICBBWENoZWNrUHJvcGVydHlFZGl0b3JNb2R1bGUsXG4gIEFYU2VsZWN0aW9uUHJvcGVydHlFZGl0b3JNb2R1bGVcbl07XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBXRElHRVRfTU9EVUxFUyxcbiAgICBSb3V0ZXJNb2R1bGUuZm9yQ2hpbGQoW1xuICAgICAge1xuICAgICAgICBwYXRoOiAnYXgvZWRpdG9ycy9zZWxlY3Rpb24nLFxuICAgICAgICBjb21wb25lbnQ6IEFYU2VsZWN0aW9uTGlzdFByb3BlcnR5RWRpdG9yQ29tcG9uZW50XG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBjb21wb25lbnQ6IEFYQ2hlY2tCb3hQcm9wZXJ0eUVkaXRvckNvbXBvbmVudCxcbiAgICAgICAgcGF0aDogJ2F4L2VkaXRvcnMvY2hlY2snXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBjb21wb25lbnQ6IEFYVGV4dFByb3BlcnR5RWRpdG9yQ29tcG9uZW50LFxuICAgICAgICBwYXRoOiAnYXgvZWRpdG9ycy90ZXh0J1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgY29tcG9uZW50OiBBWFRleHRhcmVhUHJvcGVydHlFZGl0b3JDb21wb25lbnQsXG4gICAgICAgIHBhdGg6ICdheC9lZGl0b3JzL3RleHRhcmVhJ1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgY29tcG9uZW50OiBBWFNlbGVjdEJveFByb3BlcnR5RWRpdG9yQ29tcG9uZW50LFxuICAgICAgICBwYXRoOiAnYXgvZWRpdG9ycy9zZWxlY3QnXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBjb21wb25lbnQ6IEFYU2VhcmNoQmFyU2VsZWN0Qm94RWRpdG9yQ29tcG9uZW50LFxuICAgICAgICBwYXRoOiAnYXgvZWRpdG9ycy9zZWxlY3RCb3gnXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBjb21wb25lbnQ6IEFYTnVtYmVyQm94UHJvcGVydHlFZGl0b3JDb21wb25lbnQsXG4gICAgICAgIHBhdGg6ICdheC9lZGl0b3JzL251bWJlcidcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGNvbXBvbmVudDogQVhSYW5nZVByb3BlcnR5RWRpdG9yQ29tcG9uZW50LFxuICAgICAgICBwYXRoOiAnYXgvZWRpdG9ycy9yYW5nZSdcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGNvbXBvbmVudDogQVhDb25kaXRpb25hbENvbG9yUHJvcGVydHlFZGl0b3JDb21wb25lbnQsXG4gICAgICAgIHBhdGg6ICdheC9lZGl0b3JzL2NvbmRpdGlvbmFsLWNvbG9yJ1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgY29tcG9uZW50OiBBWENvbG9yUHJvcGVydHlFZGl0b3JDb21wb25lbnQsXG4gICAgICAgIHBhdGg6ICdheC9lZGl0b3JzL2NvbG9yJ1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgY29tcG9uZW50OiBBWFN3aXRjaFByb3BlcnR5RWRpdG9yQ29tcG9uZW50LFxuICAgICAgICBwYXRoOiAnYXgvZWRpdG9ycy9zd2l0Y2gnXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBjb21wb25lbnQ6IENvbHVtblByb3BlcnR5RWRpdG9yQ29tcG9uZW50LFxuICAgICAgICBwYXRoOiAnYXgvZWRpdG9ycy9jb2x1bW4nXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBjb21wb25lbnQ6IEFYRGF0ZVByb3BlcnR5RWRpdG9yQ29tcG9uZW50LFxuICAgICAgICBwYXRoOiAnYXgvZWRpdG9ycy9kYXRlJ1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgY29tcG9uZW50OiBBWFRpbWVQcm9wZXJ0eUVkaXRvckNvbXBvbmVudCxcbiAgICAgICAgcGF0aDogJ2F4L2VkaXRvcnMvdGltZSdcbiAgICAgIH1cbiAgICBdKVxuICBdLFxuICBleHBvcnRzOiBbQVhQcm9wZXJ0eUVkaXRvclJlbmRlcmVyRGlyZWN0aXZlXSxcbiAgZGVjbGFyYXRpb25zOiBbQVhQcm9wZXJ0eUVkaXRvclJlbmRlcmVyRGlyZWN0aXZlXSxcbiAgcHJvdmlkZXJzOiBbXVxufSlcbmV4cG9ydCBjbGFzcyBBWFByb3BwZXJ0eUVkaXRvck1vZHVsZSB7fVxuIl19
|
@@ -1,124 +0,0 @@
|
|
1
|
-
import { Component, Input, ViewEncapsulation, Output, EventEmitter, ViewChild } from '@angular/core';
|
2
|
-
import { AXValidationFormComponent } from '../validation/validation-form.component';
|
3
|
-
import { AXQueryBuilderRuleComponent } from './query-builder-rule.component';
|
4
|
-
import { AXQueryBuilderGroup, AXQueryBuilderRule } from './query-builder.class';
|
5
|
-
import { AXQueryBuilderService } from './query-builder.service';
|
6
|
-
import * as i0 from "@angular/core";
|
7
|
-
import * as i1 from "./query-builder.service";
|
8
|
-
import * as i2 from "./query-builder-rule.component";
|
9
|
-
import * as i3 from "@angular/common";
|
10
|
-
export class AXQueryBuilderGroupComponent {
|
11
|
-
constructor(qs) {
|
12
|
-
this.qs = qs;
|
13
|
-
this.collapsed = false;
|
14
|
-
this.fields = [];
|
15
|
-
this.mode = 'new';
|
16
|
-
//ruleIsEditing: boolean = true;
|
17
|
-
this.groupRuleChanged = new EventEmitter();
|
18
|
-
this.showGroupCondition = false;
|
19
|
-
}
|
20
|
-
ngOnInit() { }
|
21
|
-
ruleDelete(e) {
|
22
|
-
this.group.items = this.group.items.filter((c) => c !== e.items);
|
23
|
-
this.ruleChanged(null);
|
24
|
-
}
|
25
|
-
handleRemoveClick() {
|
26
|
-
this.parent.items = this.parent.items.filter((c) => c !== this.group);
|
27
|
-
this.groupRuleChanged.emit({ groups: this.group, component: this });
|
28
|
-
}
|
29
|
-
saveRule() {
|
30
|
-
// this.form.validate().then(c => {
|
31
|
-
// });
|
32
|
-
// return this.queryRule.saveRule();
|
33
|
-
}
|
34
|
-
addRule() {
|
35
|
-
const item = new AXQueryBuilderRule();
|
36
|
-
if (this.fields.length > 0) {
|
37
|
-
// item.caption = this.fields[0].caption;
|
38
|
-
// item.dataType = this.fields[0].dataType;
|
39
|
-
// item.dataField = this.fields[0].dataField;
|
40
|
-
}
|
41
|
-
else {
|
42
|
-
}
|
43
|
-
item.operator = 'equal';
|
44
|
-
if (item.dataType === 'string') {
|
45
|
-
item.value = '';
|
46
|
-
}
|
47
|
-
if (item.dataType === 'number') {
|
48
|
-
item.value = 0;
|
49
|
-
}
|
50
|
-
if (this.group.items == undefined) {
|
51
|
-
this.group.items = [];
|
52
|
-
}
|
53
|
-
this.group.items.push(item);
|
54
|
-
this.ruleChanged(null);
|
55
|
-
}
|
56
|
-
addGroup() {
|
57
|
-
this.showGroupCondition = true;
|
58
|
-
}
|
59
|
-
addGroupOR() {
|
60
|
-
this.makeGroup('OR');
|
61
|
-
}
|
62
|
-
addGroupAND() {
|
63
|
-
this.makeGroup('AND');
|
64
|
-
}
|
65
|
-
makeGroup(_condition) {
|
66
|
-
let r = new AXQueryBuilderGroup();
|
67
|
-
r.condition = _condition;
|
68
|
-
r.items = [];
|
69
|
-
r.queryString = '';
|
70
|
-
if (this.group.items == undefined) {
|
71
|
-
this.group.items = [];
|
72
|
-
}
|
73
|
-
this.group.items.push(r);
|
74
|
-
this.showGroupCondition = false;
|
75
|
-
this.ruleChanged(null);
|
76
|
-
}
|
77
|
-
changeDetailMode() {
|
78
|
-
//if (this.parent) {
|
79
|
-
this.collapsed = !this.collapsed;
|
80
|
-
// this.ruleIsEditing = false;
|
81
|
-
//}
|
82
|
-
}
|
83
|
-
handleChangeClick() {
|
84
|
-
if (this.group.condition == 'OR') {
|
85
|
-
this.group.condition = 'AND';
|
86
|
-
}
|
87
|
-
else {
|
88
|
-
this.group.condition = 'OR';
|
89
|
-
}
|
90
|
-
this.ruleChanged(null);
|
91
|
-
}
|
92
|
-
ruleChanged(e) {
|
93
|
-
;
|
94
|
-
// this.group.queryString = this.qs.getQueryString(this.group, 'simple');
|
95
|
-
this.qs.getQueryStringSimple(this.group).then((c) => {
|
96
|
-
this.group.queryString = c;
|
97
|
-
this.group.queryStringElastic = this.qs.getQueryString(this.group, 'elastic');
|
98
|
-
this.groupRuleChanged.emit({ groups: this.group, component: this });
|
99
|
-
});
|
100
|
-
}
|
101
|
-
}
|
102
|
-
AXQueryBuilderGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXQueryBuilderGroupComponent, deps: [{ token: i1.AXQueryBuilderService }], target: i0.ɵɵFactoryTarget.Component });
|
103
|
-
AXQueryBuilderGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: AXQueryBuilderGroupComponent, selector: "ax-query-group", inputs: { group: "group", parent: "parent", fields: "fields", mode: "mode" }, outputs: { groupRuleChanged: "groupRuleChanged" }, host: { classAttribute: "ax ax-query-group" }, viewQueries: [{ propertyName: "queryRule", first: true, predicate: ["queryRule"], descendants: true }, { propertyName: "form", first: true, predicate: AXValidationFormComponent, descendants: true }], ngImport: i0, template: "<div class=\"header\">\n <div class=\"condition\" *ngIf=\"parent\">\n <div class=\"text {{parent.condition}}\">\n <span>{{parent.condition }}</span>\n </div>\n </div>\n <div class=\"handler\">\n <i class=\"far fa-grip-lines-vertical\"></i>\n </div>\n\n <div class=\"detail {{group.condition}}\" (click)=\"changeDetailMode()\">\n <div class=\"collapsed\" *ngIf=\"collapsed;else expandedTemplate\">\n {{group.queryString}}\n </div>\n <ng-template #expandedTemplate>\n <div class=\"expanded\">\n <strong>{{group.condition == 'OR' ? '\u06CC\u06A9\u06CC \u0627\u0632' : '\u0647\u0645\u0647' }} <span>\u0634\u0631\u0627\u06CC\u0637 \u0632\u06CC\u0631 \u0628\u0631\u0642\u0631\u0627\u0631 \u0628\u0627\u0634\u062F</span> </strong>\n </div>\n </ng-template>\n </div>\n <div class=\"buttons-list\">\n <div class=\"button remove\" *ngIf=\"parent && mode=='new'\" (click)=\"handleRemoveClick()\">\n <i class=\"far fa-times ax-danger-color\"></i>\n </div>\n <div class=\"button edit\" *ngIf=\"mode=='new'\" (click)=\"handleChangeClick()\">\n <i class=\"far fa-retweet ax-danger-color\"></i>\n </div>\n </div>\n</div>\n<div class=\"rules\" *ngIf=\"!collapsed\">\n <!-- <ax-validation-form #form> -->\n\n <div *ngFor=\"let item of group.items\" class=\"group-item\">\n <ng-container *ngIf=\"item.condition;else ruleTemplate\">\n <ax-query-group (groupRuleChanged)=\"ruleChanged($event)\" [mode]=\"mode\" [group]=\"item\" [fields]=\"fields\"\n [parent]=\"group\">\n </ax-query-group>\n </ng-container>\n <ng-template #ruleTemplate>\n <ax-query-rule #queryRule (ruleChanged)=\"ruleChanged($event)\" [mode]=\"mode\"\n (onRuleDelete)=\"ruleDelete($event)\" [rule]=\"item\" [fields]=\"fields\" [parent]=\"group\">\n </ax-query-rule>\n </ng-template>\n </div>\n <!-- </ax-validation-form> -->\n <div class=\"group-item\" *ngIf=\"mode=='new'\">\n <div class=\"ax-query-rule\">\n <div class=\"condition\">\n </div>\n <div class=\"handler\">\n <i class=\"far fa-grip-lines-vertical\"></i>\n </div>\n <div class=\"add-rule\" (click)=\"addRule()\" *ngIf=\"mode=='new'\">\n <i class=\"far fa-plus\"></i> <span>\u0634\u0631\u0637</span>\n </div>\n <div class=\"add-group\" (click)=\"addGroup()\" *ngIf=\"!showGroupCondition && mode=='new'\">\n <i class=\"far fa-plus\"></i> <span>\u06AF\u0631\u0648\u0647</span>\n </div>\n <div *ngIf=\"showGroupCondition && mode=='new'\" class=\"add-condition OR\" (click)=\"addGroupOR()\">\n <i class=\"far fa-plus\"></i> <span>OR</span>\n </div>\n <div *ngIf=\"showGroupCondition && mode=='new'\" class=\"add-condition AND\" (click)=\"addGroupAND()\">\n <i class=\"far fa-plus\"></i> <span>AND</span>\n </div>\n\n </div>\n </div>\n</div>", components: [{ type: AXQueryBuilderGroupComponent, selector: "ax-query-group", inputs: ["group", "parent", "fields", "mode"], outputs: ["groupRuleChanged"] }, { type: i2.AXQueryBuilderRuleComponent, selector: "ax-query-rule", inputs: ["isEditing", "rule", "parent", "mode", "fields"], outputs: ["onRuleDelete", "ruleChanged"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], encapsulation: i0.ViewEncapsulation.None });
|
104
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXQueryBuilderGroupComponent, decorators: [{
|
105
|
-
type: Component,
|
106
|
-
args: [{ selector: 'ax-query-group', host: { class: 'ax ax-query-group' }, encapsulation: ViewEncapsulation.None, template: "<div class=\"header\">\n <div class=\"condition\" *ngIf=\"parent\">\n <div class=\"text {{parent.condition}}\">\n <span>{{parent.condition }}</span>\n </div>\n </div>\n <div class=\"handler\">\n <i class=\"far fa-grip-lines-vertical\"></i>\n </div>\n\n <div class=\"detail {{group.condition}}\" (click)=\"changeDetailMode()\">\n <div class=\"collapsed\" *ngIf=\"collapsed;else expandedTemplate\">\n {{group.queryString}}\n </div>\n <ng-template #expandedTemplate>\n <div class=\"expanded\">\n <strong>{{group.condition == 'OR' ? '\u06CC\u06A9\u06CC \u0627\u0632' : '\u0647\u0645\u0647' }} <span>\u0634\u0631\u0627\u06CC\u0637 \u0632\u06CC\u0631 \u0628\u0631\u0642\u0631\u0627\u0631 \u0628\u0627\u0634\u062F</span> </strong>\n </div>\n </ng-template>\n </div>\n <div class=\"buttons-list\">\n <div class=\"button remove\" *ngIf=\"parent && mode=='new'\" (click)=\"handleRemoveClick()\">\n <i class=\"far fa-times ax-danger-color\"></i>\n </div>\n <div class=\"button edit\" *ngIf=\"mode=='new'\" (click)=\"handleChangeClick()\">\n <i class=\"far fa-retweet ax-danger-color\"></i>\n </div>\n </div>\n</div>\n<div class=\"rules\" *ngIf=\"!collapsed\">\n <!-- <ax-validation-form #form> -->\n\n <div *ngFor=\"let item of group.items\" class=\"group-item\">\n <ng-container *ngIf=\"item.condition;else ruleTemplate\">\n <ax-query-group (groupRuleChanged)=\"ruleChanged($event)\" [mode]=\"mode\" [group]=\"item\" [fields]=\"fields\"\n [parent]=\"group\">\n </ax-query-group>\n </ng-container>\n <ng-template #ruleTemplate>\n <ax-query-rule #queryRule (ruleChanged)=\"ruleChanged($event)\" [mode]=\"mode\"\n (onRuleDelete)=\"ruleDelete($event)\" [rule]=\"item\" [fields]=\"fields\" [parent]=\"group\">\n </ax-query-rule>\n </ng-template>\n </div>\n <!-- </ax-validation-form> -->\n <div class=\"group-item\" *ngIf=\"mode=='new'\">\n <div class=\"ax-query-rule\">\n <div class=\"condition\">\n </div>\n <div class=\"handler\">\n <i class=\"far fa-grip-lines-vertical\"></i>\n </div>\n <div class=\"add-rule\" (click)=\"addRule()\" *ngIf=\"mode=='new'\">\n <i class=\"far fa-plus\"></i> <span>\u0634\u0631\u0637</span>\n </div>\n <div class=\"add-group\" (click)=\"addGroup()\" *ngIf=\"!showGroupCondition && mode=='new'\">\n <i class=\"far fa-plus\"></i> <span>\u06AF\u0631\u0648\u0647</span>\n </div>\n <div *ngIf=\"showGroupCondition && mode=='new'\" class=\"add-condition OR\" (click)=\"addGroupOR()\">\n <i class=\"far fa-plus\"></i> <span>OR</span>\n </div>\n <div *ngIf=\"showGroupCondition && mode=='new'\" class=\"add-condition AND\" (click)=\"addGroupAND()\">\n <i class=\"far fa-plus\"></i> <span>AND</span>\n </div>\n\n </div>\n </div>\n</div>" }]
|
107
|
-
}], ctorParameters: function () { return [{ type: i1.AXQueryBuilderService }]; }, propDecorators: { queryRule: [{
|
108
|
-
type: ViewChild,
|
109
|
-
args: ['queryRule']
|
110
|
-
}], form: [{
|
111
|
-
type: ViewChild,
|
112
|
-
args: [AXValidationFormComponent]
|
113
|
-
}], group: [{
|
114
|
-
type: Input
|
115
|
-
}], parent: [{
|
116
|
-
type: Input
|
117
|
-
}], fields: [{
|
118
|
-
type: Input
|
119
|
-
}], mode: [{
|
120
|
-
type: Input
|
121
|
-
}], groupRuleChanged: [{
|
122
|
-
type: Output
|
123
|
-
}] } });
|
124
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktYnVpbGRlci1ncm91cC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL3F1ZXJ5LWJ1aWxkZXIvcXVlcnktYnVpbGRlci1ncm91cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL3F1ZXJ5LWJ1aWxkZXIvcXVlcnktYnVpbGRlci1ncm91cC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNwRixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM3RSxPQUFPLEVBQUUsbUJBQW1CLEVBQXFELGtCQUFrQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbkksT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUJBQXlCLENBQUM7Ozs7O0FBT2hFLE1BQU0sT0FBTyw0QkFBNEI7SUF3QnZDLFlBQW9CLEVBQXlCO1FBQXpCLE9BQUUsR0FBRixFQUFFLENBQXVCO1FBbEI3QyxjQUFTLEdBQVksS0FBSyxDQUFDO1FBTTNCLFdBQU0sR0FBVSxFQUFFLENBQUM7UUFHbkIsU0FBSSxHQUFtQixLQUFLLENBQUM7UUFFN0IsZ0NBQWdDO1FBR2hDLHFCQUFnQixHQUEyQyxJQUFJLFlBQVksRUFBNEIsQ0FBQztRQUV4Ryx1QkFBa0IsR0FBWSxLQUFLLENBQUM7SUFFWSxDQUFDO0lBRWpELFFBQVEsS0FBSSxDQUFDO0lBRWIsVUFBVSxDQUFDLENBQTBCO1FBQ25DLElBQUksQ0FBQyxL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SU4sTUFBTTtzQkFETCxLQUFLO2dCQUlOLElBQUk7c0JBREgsS0FBSztnQkFNTixnQkFBZ0I7c0JBRGYsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgVmlld0VuY2Fwc3VsYXRpb24sIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYVmFsaWRhdGlvbkZvcm1Db21wb25lbnQgfSBmcm9tICcuLi92YWxpZGF0aW9uL3ZhbGlkYXRpb24tZm9ybS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQVhRdWVyeUJ1aWxkZXJSdWxlQ29tcG9uZW50IH0gZnJvbSAnLi9xdWVyeS1idWlsZGVyLXJ1bGUuY29tcG9uZW50JztcbmltcG9ydCB7IEFYUXVlcnlCdWlsZGVyR3JvdXAsIEFYUXVlcnlCdWlsZGVyR3JvdXBFdmVudCwgQVhRdWVyeUJ1aWxkZXJSdWxlRXZlbnQsIEFYUXVlcnlCdWlsZGVyUnVsZSB9IGZyb20gJy4vcXVlcnktYnVpbGRlci5jbGFzcyc7XG5pbXBvcnQgeyBBWFF1ZXJ5QnVpbGRlclNlcnZpY2UgfSBmcm9tICcuL3F1ZXJ5LWJ1aWxkZXIuc2VydmljZSc7XG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheC1xdWVyeS1ncm91cCcsXG4gIHRlbXBsYXRlVXJsOiAncXVlcnktYnVpbGRlci1ncm91cC5jb21wb25lbnQuaHRtbCcsXG4gIGhvc3Q6IHsgY2xhc3M6ICdheCBheC1xdWVyeS1ncm91cCcgfSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBBWFF1ZXJ5QnVpbGRlckdyb3VwQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQFZpZXdDaGlsZCgncXVlcnlSdWxlJykgcXVlcnlSdWxlOiBBWFF1ZXJ5QnVpbGRlclJ1bGVDb21wb25lbnQ7XG4gIEBWaWV3Q2hpbGQoQVhWYWxpZGF0aW9uRm9ybUNvbXBvbmVudCkgZm9ybTogQVhWYWxpZGF0aW9uRm9ybUNvbXBvbmVudDtcbiAgQElucHV0KClcbiAgZ3JvdXA6IEFYUXVlcnlCdWlsZGVyR3JvdXA7XG5cbiAgY29sbGFwc2VkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgcGFyZW50OiBBWFF1ZXJ5QnVpbGRlckdyb3VwO1xuXG4gIEBJbnB1dCgpXG4gIGZpZWxkczogYW55W10gPSBbXTtcblxuICBASW5wdXQoKVxuICBtb2RlOiAnbmV3JyB8ICdlZGl0JyA9ICduZXcnO1xuXG4gIC8vcnVsZUlzRWRpdGluZzogYm9vbGVhbiA9IHRydWU7XG5cbiAgQE91dHB1dCgpXG4gIGdyb3VwUnVsZUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxBWFF1ZXJ5QnVpbGRlckdyb3VwRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxBWFF1ZXJ5QnVpbGRlckdyb3VwRXZlbnQ+KCk7XG5cbiAgc2hvd0dyb3VwQ29uZGl0aW9uOiBib29sZWFuID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBxczogQVhRdWVyeUJ1aWxkZXJTZXJ2aWNlKSB7fVxuXG4gIG5nT25Jbml0KCkge31cblxuICBydWxlRGVsZXRlKGU6IEFYUXVlcnlCdWlsZGVyUnVsZUV2ZW50KSB7XG4gICAgdGhpcy5ncm91cC5pdGVtcyA9IHRoaXMuZ3JvdXAuaXRlbXMuZmlsdGVyKChjKSA9PiBjICE9PSBlLml0ZW1zKTtcbiAgICB0aGlzLnJ1bGVDaGFuZ2VkKG51bGwpO1xuICB9XG4gIGhhbmRsZVJlbW92ZUNsaWNrKCkge1xuICAgIHRoaXMucGFyZW50Lml0ZW1zID0gdGhpcy5wYXJlbnQuaXRlbXMuZmlsdGVyKChjKSA9PiBjICE9PSB0aGlzLmdyb3VwKTtcbiAgICB0aGlzLmdyb3VwUnVsZUNoYW5nZWQuZW1pdCh7IGdyb3VwczogdGhpcy5ncm91cCwgY29tcG9uZW50OiB0aGlzIH0pO1xuICB9XG4gIHNhdmVSdWxlKCkge1xuICAgIC8vIHRoaXMuZm9ybS52YWxpZGF0ZSgpLnRoZW4oYyA9PiB7XG4gICAgLy8gfSk7XG4gICAgLy8gcmV0dXJuIHRoaXMucXVlcnlSdWxlLnNhdmVSdWxlKCk7XG4gIH1cbiAgYWRkUnVsZSgpIHtcbiAgICBjb25zdCBpdGVtOiBBWFF1ZXJ5QnVpbGRlclJ1bGUgPSBuZXcgQVhRdWVyeUJ1aWxkZXJSdWxlKCk7XG4gICAgaWYgKHRoaXMuZmllbGRzLmxlbmd0aCA+IDApIHtcbiAgICAgIC8vICBpdGVtLmNhcHRpb24gPSB0aGlzLmZpZWxkc1swXS5jYXB0aW9uO1xuICAgICAgLy8gaXRlbS5kYXRhVHlwZSA9IHRoaXMuZmllbGRzWzBdLmRhdGFUeXBlO1xuICAgICAgLy8gIGl0ZW0uZGF0YUZpZWxkID0gdGhpcy5maWVsZHNbMF0uZGF0YUZpZWxkO1xuICAgIH0gZWxzZSB7XG4gICAgfVxuICAgIGl0ZW0ub3BlcmF0b3IgPSAnZXF1YWwnO1xuXG4gICAgaWYgKGl0ZW0uZGF0YVR5cGUgPT09ICdzdHJpbmcnKSB7XG4gICAgICBpdGVtLnZhbHVlID0gJyc7XG4gICAgfVxuICAgIGlmIChpdGVtLmRhdGFUeXBlID09PSAnbnVtYmVyJykge1xuICAgICAgaXRlbS52YWx1ZSA9IDA7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuZ3JvdXAuaXRlbXMgPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLmdyb3VwLml0ZW1zID0gW107XG4gICAgfVxuICAgIHRoaXMuZ3JvdXAuaXRlbXMucHVzaChpdGVtKTtcbiAgICB0aGlzLnJ1bGVDaGFuZ2VkKG51bGwpO1xuICB9XG4gIGFkZEdyb3VwKCkge1xuICAgIHRoaXMuc2hvd0dyb3VwQ29uZGl0aW9uID0gdHJ1ZTtcbiAgfVxuICBhZGRHcm91cE9SKCkge1xuICAgIHRoaXMubWFrZUdyb3VwKCdPUicpO1xuICB9XG4gIGFkZEdyb3VwQU5EKCkge1xuICAgIHRoaXMubWFrZUdyb3VwKCdBTkQnKTtcbiAgfVxuICBtYWtlR3JvdXAoX2NvbmRpdGlvbikge1xuICAgIGxldCByOiBBWFF1ZXJ5QnVpbGRlckdyb3VwID0gbmV3IEFYUXVlcnlCdWlsZGVyR3JvdXAoKTtcbiAgICByLmNvbmRpdGlvbiA9IF9jb25kaXRpb247XG4gICAgci5pdGVtcyA9IFtdO1xuICAgIHIucXVlcnlTdHJpbmcgPSAnJztcbiAgICBpZiAodGhpcy5ncm91cC5pdGVtcyA9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuZ3JvdXAuaXRlbXMgPSBbXTtcbiAgICB9XG4gICAgdGhpcy5ncm91cC5pdGVtcy5wdXNoKHIpO1xuICAgIHRoaXMuc2hvd0dyb3VwQ29uZGl0aW9uID0gZmFsc2U7XG4gICAgdGhpcy5ydWxlQ2hhbmdlZChudWxsKTtcbiAgfVxuICBjaGFuZ2VEZXRhaWxNb2RlKCkge1xuICAgIC8vaWYgKHRoaXMucGFyZW50KSB7XG4gICAgdGhpcy5jb2xsYXBzZWQgPSAhdGhpcy5jb2xsYXBzZWQ7XG4gICAgLy8gIHRoaXMucnVsZUlzRWRpdGluZyA9IGZhbHNlO1xuICAgIC8vfVxuICB9XG5cbiAgaGFuZGxlQ2hhbmdlQ2xpY2soKSB7XG4gICAgaWYgKHRoaXMuZ3JvdXAuY29uZGl0aW9uID09ICdPUicpIHtcbiAgICAgIHRoaXMuZ3JvdXAuY29uZGl0aW9uID0gJ0FORCc7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZ3JvdXAuY29uZGl0aW9uID0gJ09SJztcbiAgICB9XG4gICAgdGhpcy5ydWxlQ2hhbmdlZChudWxsKTtcbiAgfVxuXG4gIHJ1bGVDaGFuZ2VkKGUpIHtcbiAgICA7XG4gICAgLy8gdGhpcy5ncm91cC5xdWVyeVN0cmluZyA9IHRoaXMucXMuZ2V0UXVlcnlTdHJpbmcodGhpcy5ncm91cCwgJ3NpbXBsZScpO1xuICAgIHRoaXMucXMuZ2V0UXVlcnlTdHJpbmdTaW1wbGUodGhpcy5ncm91cCkudGhlbigoYykgPT4ge1xuICAgICAgdGhpcy5ncm91cC5xdWVyeVN0cmluZyA9IGM7XG4gICAgICB0aGlzLmdyb3VwLnF1ZXJ5U3RyaW5nRWxhc3RpYyA9IHRoaXMucXMuZ2V0UXVlcnlTdHJpbmcodGhpcy5ncm91cCwgJ2VsYXN0aWMnKTtcbiAgICAgIHRoaXMuZ3JvdXBSdWxlQ2hhbmdlZC5lbWl0KHsgZ3JvdXBzOiB0aGlzLmdyb3VwLCBjb21wb25lbnQ6IHRoaXMgfSk7XG4gICAgfSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJoZWFkZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY29uZGl0aW9uXCIgKm5nSWY9XCJwYXJlbnRcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRleHQge3twYXJlbnQuY29uZGl0aW9ufX1cIj5cbiAgICAgICAgICAgIDxzcGFuPnt7cGFyZW50LmNvbmRpdGlvbiB9fTwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImhhbmRsZXJcIj5cbiAgICAgICAgPGkgY2xhc3M9XCJmYXIgZmEtZ3JpcC1saW5lcy12ZXJ0aWNhbFwiPjwvaT5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJkZXRhaWwge3tncm91cC5jb25kaXRpb259fVwiIChjbGljayk9XCJjaGFuZ2VEZXRhaWxNb2RlKClcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbGxhcHNlZFwiICpuZ0lmPVwiY29sbGFwc2VkO2Vsc2UgZXhwYW5kZWRUZW1wbGF0ZVwiPlxuICAgICAgICAgICAge3tncm91cC5xdWVyeVN0cmluZ319XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bmctdGVtcGxhdGUgI2V4cGFuZGVkVGVtcGxhdGU+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhwYW5kZWRcIj5cbiAgICAgICAgICAgICAgICA8c3Ryb25nPnt7Z3JvdXAuY29uZGl0aW9uID09ICdPUicgPyAn24zaqduMINin2LInIDogJ9mH2YXZhycgfX0gPHNwYW4+2LTYsdin24zYtyDYstuM2LEg2KjYsdmC2LHYp9ixINio2KfYtNivPC9zcGFuPiA8L3N0cm9uZz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJidXR0b25zLWxpc3RcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImJ1dHRvbiByZW1vdmVcIiAqbmdJZj1cInBhcmVudCAmJiBtb2RlPT0nbmV3J1wiIChjbGljayk9XCJoYW5kbGVSZW1vdmVDbGljaygpXCI+XG4gICAgICAgICAgICA8aSBjbGFzcz1cImZhciBmYS10aW1lcyBheC1kYW5nZXItY29sb3JcIj48L2k+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYnV0dG9uIGVkaXRcIiAqbmdJZj1cIm1vZGU9PSduZXcnXCIgKGNsaWNrKT1cImhhbmRsZUNoYW5nZUNsaWNrKClcIj5cbiAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFyIGZhLXJldHdlZXQgYXgtZGFuZ2VyLWNvbG9yXCI+PC9pPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuPGRpdiBjbGFzcz1cInJ1bGVzXCIgKm5nSWY9XCIhY29sbGFwc2VkXCI+XG4gICAgPCEtLSA8YXgtdmFsaWRhdGlvbi1mb3JtICNmb3JtPiAtLT5cblxuICAgIDxkaXYgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZ3JvdXAuaXRlbXNcIiBjbGFzcz1cImdyb3VwLWl0ZW1cIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW0uY29uZGl0aW9uO2Vsc2UgcnVsZVRlbXBsYXRlXCI+XG4gICAgICAgICAgICA8YXgtcXVlcnktZ3JvdXAgKGdyb3VwUnVsZUNoYW5nZWQpPVwicnVsZUNoYW5nZWQoJGV2ZW50KVwiIFttb2RlXT1cIm1vZGVcIiBbZ3JvdXBdPVwiaXRlbVwiIFtmaWVsZHNdPVwiZmllbGRzXCJcbiAgICAgICAgICAgICAgICBbcGFyZW50XT1cImdyb3VwXCI+XG4gICAgICAgICAgICA8L2F4LXF1ZXJ5LWdyb3VwPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNydWxlVGVtcGxhdGU+XG4gICAgICAgICAgICA8YXgtcXVlcnktcnVsZSAjcXVlcnlSdWxlIChydWxlQ2hhbmdlZCk9XCJydWxlQ2hhbmdlZCgkZXZlbnQpXCIgW21vZGVdPVwibW9kZVwiXG4gICAgICAgICAgICAgICAgKG9uUnVsZURlbGV0ZSk9XCJydWxlRGVsZXRlKCRldmVudClcIiBbcnVsZV09XCJpdGVtXCIgW2ZpZWxkc109XCJmaWVsZHNcIiBbcGFyZW50XT1cImdyb3VwXCI+XG4gICAgICAgICAgICA8L2F4LXF1ZXJ5LXJ1bGU+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9kaXY+XG4gICAgPCEtLSA8L2F4LXZhbGlkYXRpb24tZm9ybT4gLS0+XG4gICAgPGRpdiBjbGFzcz1cImdyb3VwLWl0ZW1cIiAqbmdJZj1cIm1vZGU9PSduZXcnXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJheC1xdWVyeS1ydWxlXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29uZGl0aW9uXCI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoYW5kbGVyXCI+XG4gICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYXIgZmEtZ3JpcC1saW5lcy12ZXJ0aWNhbFwiPjwvaT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFkZC1ydWxlXCIgKGNsaWNrKT1cImFkZFJ1bGUoKVwiICpuZ0lmPVwibW9kZT09J25ldydcIj5cbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhciBmYS1wbHVzXCI+PC9pPiZuYnNwOyZuYnNwOzxzcGFuPti02LHYtzwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFkZC1ncm91cFwiIChjbGljayk9XCJhZGRHcm91cCgpXCIgKm5nSWY9XCIhc2hvd0dyb3VwQ29uZGl0aW9uICYmIG1vZGU9PSduZXcnXCI+XG4gICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYXIgZmEtcGx1c1wiPjwvaT4mbmJzcDsmbmJzcDs8c3Bhbj7ar9ix2YjZhzwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cInNob3dHcm91cENvbmRpdGlvbiAmJiBtb2RlPT0nbmV3J1wiIGNsYXNzPVwiYWRkLWNvbmRpdGlvbiBPUlwiIChjbGljayk9XCJhZGRHcm91cE9SKClcIj5cbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhciBmYS1wbHVzXCI+PC9pPiZuYnNwOyZuYnNwOzxzcGFuPk9SPC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwic2hvd0dyb3VwQ29uZGl0aW9uICYmIG1vZGU9PSduZXcnXCIgY2xhc3M9XCJhZGQtY29uZGl0aW9uIEFORFwiIChjbGljayk9XCJhZGRHcm91cEFORCgpXCI+XG4gICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYXIgZmEtcGx1c1wiPjwvaT4mbmJzcDsmbmJzcDs8c3Bhbj5BTkQ8L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZGl2PiJdfQ==
|
@@ -1,172 +0,0 @@
|
|
1
|
-
import { AXTranslator } from '@acorex/core';
|
2
|
-
import { Component, ViewChild } from '@angular/core';
|
3
|
-
import { AXBasePopupPageComponent } from '../../base/base-page.class';
|
4
|
-
import { AXToastService } from '../../toast/toast.service';
|
5
|
-
import { AXValidationFormComponent } from '../../validation/validation-form.component';
|
6
|
-
import * as i0 from "@angular/core";
|
7
|
-
import * as i1 from "../../toast/toast.service";
|
8
|
-
import * as i2 from "../../validation/validation-form.component";
|
9
|
-
import * as i3 from "../../form-group/form-group.component";
|
10
|
-
import * as i4 from "../../label/label.component";
|
11
|
-
import * as i5 from "../../textbox/textbox.component";
|
12
|
-
import * as i6 from "../../validation/validation.component";
|
13
|
-
import * as i7 from "../../validation/validation-rule.widget";
|
14
|
-
import * as i8 from "../../selectbox/selectbox.component";
|
15
|
-
import * as i9 from "../../data-source/datasource.component";
|
16
|
-
import * as i10 from "../../number-box/number-box.component";
|
17
|
-
import * as i11 from "../../date-picker/date-picker.component";
|
18
|
-
import * as i12 from "@angular/common";
|
19
|
-
export class AXQueryBuilderPopupComponent extends AXBasePopupPageComponent {
|
20
|
-
constructor(toast) {
|
21
|
-
super();
|
22
|
-
this.toast = toast;
|
23
|
-
this.items = [];
|
24
|
-
this.complateValue = true;
|
25
|
-
this.getProvideData = (e) => {
|
26
|
-
if (e.extra && e.extra.control.options && e.extra.control.options.dataSource) {
|
27
|
-
return e.extra.control.options.dataSource({ ...e, optionsData: { ...e.extra.control.options } });
|
28
|
-
}
|
29
|
-
};
|
30
|
-
this.provideDataBoolean = (e) => {
|
31
|
-
return new Promise((resolve) => {
|
32
|
-
resolve([
|
33
|
-
{
|
34
|
-
value: 'true',
|
35
|
-
text: AXTranslator.get('queryBuilder.true')
|
36
|
-
},
|
37
|
-
{
|
38
|
-
value: 'false',
|
39
|
-
text: AXTranslator.get('queryBuilder.false')
|
40
|
-
}
|
41
|
-
]);
|
42
|
-
});
|
43
|
-
};
|
44
|
-
}
|
45
|
-
makeJsonString(items) {
|
46
|
-
return new Promise((resolve, reject) => {
|
47
|
-
items.forEach((element, index, array) => {
|
48
|
-
if (element.items) {
|
49
|
-
this.makeJsonString(element.items);
|
50
|
-
}
|
51
|
-
else {
|
52
|
-
if (element.control && element.control.options && (element.control.options.dataSource === '' || element.control.options.dataSource === undefined)) {
|
53
|
-
element.control.options.dataSource = this.provideData;
|
54
|
-
}
|
55
|
-
}
|
56
|
-
if (index === array.length - 1) {
|
57
|
-
resolve(array[0]);
|
58
|
-
}
|
59
|
-
});
|
60
|
-
});
|
61
|
-
}
|
62
|
-
ngAfterViewInit() {
|
63
|
-
var groupString = JSON.stringify(this.group);
|
64
|
-
this.groupCopy = JSON.parse(groupString);
|
65
|
-
this.makeJsonString(this.groupCopy.items);
|
66
|
-
for (let i = 0; i < this.groupCopy.items.length; i++) {
|
67
|
-
this.getNoValueRule(this.groupCopy.items[i]);
|
68
|
-
}
|
69
|
-
if (this.items.length < 1) {
|
70
|
-
this.close(this.group);
|
71
|
-
}
|
72
|
-
}
|
73
|
-
getValue(v) {
|
74
|
-
return v.indexOf('????') == 0 ? v.split('|')[1] : v;
|
75
|
-
}
|
76
|
-
getNoValueRule(gr) {
|
77
|
-
// for (let i = 0; i < gr.items.length; i++) {
|
78
|
-
if (gr.condition) {
|
79
|
-
for (let i = 0; i < gr.items.length; i++) {
|
80
|
-
this.getNoValueRule(gr.items[i]);
|
81
|
-
}
|
82
|
-
}
|
83
|
-
else {
|
84
|
-
if (gr.onDemandLabel?.indexOf('????') == 0) {
|
85
|
-
this.items.push(gr);
|
86
|
-
}
|
87
|
-
}
|
88
|
-
// }
|
89
|
-
}
|
90
|
-
ngOnInit() {
|
91
|
-
}
|
92
|
-
textValueChange(e, rule) {
|
93
|
-
rule.value = e.value;
|
94
|
-
rule.text = e.value;
|
95
|
-
}
|
96
|
-
selectedItemsChange(e, rule) {
|
97
|
-
let n = this.getOption('textField', rule);
|
98
|
-
rule.text = e[0][n];
|
99
|
-
if (rule && rule.control.options.valueField) {
|
100
|
-
rule.value = e[0][rule.control.options.valueField];
|
101
|
-
}
|
102
|
-
else {
|
103
|
-
rule.value = e[0].value;
|
104
|
-
}
|
105
|
-
rule.valueItem[0] = e[0];
|
106
|
-
}
|
107
|
-
valueChange(e, rule) {
|
108
|
-
rule.value = e.value;
|
109
|
-
rule.text = e.value;
|
110
|
-
}
|
111
|
-
valueBooleanChange(e, rule) {
|
112
|
-
rule.text = e.value == undefined ? e[0].value : e.value;
|
113
|
-
rule.value = e.value == undefined ? e[0].value : e.value;
|
114
|
-
}
|
115
|
-
getOption(name, rule) {
|
116
|
-
return rule.control.options ? rule.control.options[name] : null;
|
117
|
-
}
|
118
|
-
findNullValue(gr) {
|
119
|
-
for (let i = 0; i < gr.length; i++) {
|
120
|
-
if (gr[i].value === null || gr[i].value === undefined || gr[i].value === '') {
|
121
|
-
this.complateValue = false;
|
122
|
-
}
|
123
|
-
}
|
124
|
-
// if (gr.condition) {
|
125
|
-
// for (let i = 0; i < gr.items.length; i++) {
|
126
|
-
// this.findNullValue(gr.items[i]);
|
127
|
-
// }
|
128
|
-
// } else {
|
129
|
-
// if (gr.onDemandLabel?.indexOf('????') == 0 || gr.value === null || gr.value === undefined || gr.value === '') {
|
130
|
-
// this.complateValue = false;
|
131
|
-
// }
|
132
|
-
// }
|
133
|
-
}
|
134
|
-
onFooterButtonClick(e) {
|
135
|
-
if (e.name === 'confirm') {
|
136
|
-
this.form.validate().then(c => {
|
137
|
-
if (c.result === true) {
|
138
|
-
this.close(this.groupCopy);
|
139
|
-
}
|
140
|
-
});
|
141
|
-
}
|
142
|
-
if (e.name === 'cancel') {
|
143
|
-
this.close();
|
144
|
-
}
|
145
|
-
}
|
146
|
-
getFooterButtons() {
|
147
|
-
return [
|
148
|
-
{
|
149
|
-
text: AXTranslator.get('common.confirm'),
|
150
|
-
name: 'confirm',
|
151
|
-
style: 'ax primary',
|
152
|
-
icon: 'far fa-check-circle'
|
153
|
-
},
|
154
|
-
{
|
155
|
-
text: AXTranslator.get('common.cancel'),
|
156
|
-
name: 'cancel',
|
157
|
-
style: 'ax light',
|
158
|
-
icon: 'far fa-times'
|
159
|
-
}
|
160
|
-
];
|
161
|
-
}
|
162
|
-
}
|
163
|
-
AXQueryBuilderPopupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXQueryBuilderPopupComponent, deps: [{ token: i1.AXToastService }], target: i0.ɵɵFactoryTarget.Component });
|
164
|
-
AXQueryBuilderPopupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: AXQueryBuilderPopupComponent, selector: "ng-component", viewQueries: [{ propertyName: "form", first: true, predicate: AXValidationFormComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div>\n <ax-validation-form #form>\n <div *ngFor=\"let rule of items\">\n\n <div *ngIf=\" rule.control\" [ngSwitch]=\"rule.control.type\" style=\"padding: 1em;\">\n <div *ngSwitchCase=\"'textBox'\">\n <ax-form-group>\n <ax-label>{{getValue(rule.onDemandLabel)}}</ax-label>\n <ax-text-box (onValueChanged)=\"textValueChange($event,rule)\"\n placeholder=\"\u0645\u0642\u062F\u0627\u0631 \u0645\u0648\u0631\u062F \u0646\u0638\u0631 \u062E\u0648\u062F \u0631\u0627 \u0648\u0627\u0631\u062F \u06A9\u0646\u06CC\u062F\" size=\"sm\">\n <ax-validation>\n <ax-validation-rule type=\"required\"></ax-validation-rule>\n </ax-validation>\n </ax-text-box>\n </ax-form-group>\n </div>\n <div *ngSwitchCase=\"'selectBox'\">\n <ax-form-group>\n <ax-label>{{getValue(rule.onDemandLabel)}}</ax-label>\n <ax-select-box placeholder=\"\u0645\u0642\u062F\u0627\u0631 \u0645\u0648\u0631\u062F \u0646\u0638\u0631 \u062E\u0648\u062F \u0631\u0627 \u0648\u0627\u0631\u062F \u06A9\u0646\u06CC\u062F\"\n [textField]=\"getOption('textField',rule)\" [(selectedItems)]=\"rule.valueItem\"\n [valueField]=\"getOption('valueField',rule)\" [mode]=\"getOption('mode',rule)\"\n (selectedItemsChange)=\"selectedItemsChange($event,rule)\" size=\"sm\" #selectBoxValue\n [remoteOperation]=\"getOption('remoteOperation',rule)\">\n <ax-validation>\n <ax-validation-rule type=\"required\"></ax-validation-rule>\n </ax-validation>\n <ax-data-source [provideData]=\"getProvideData\" [params]=\"rule\"></ax-data-source>\n </ax-select-box>\n </ax-form-group>\n </div>\n <div *ngSwitchCase=\"'numberBox'\">\n <ax-form-group>\n <ax-label>{{getValue(rule.onDemandLabel)}}</ax-label>\n <ax-number-box (onValueChanged)=\"valueChange($event,rule)\"\n placeholder=\"\u0645\u0642\u062F\u0627\u0631 \u0645\u0648\u0631\u062F \u0646\u0638\u0631 \u062E\u0648\u062F \u0631\u0627 \u0648\u0627\u0631\u062F \u06A9\u0646\u06CC\u062F\" size=\"sm\">\n <ax-validation>\n <ax-validation-rule type=\"required\"></ax-validation-rule>\n </ax-validation>\n </ax-number-box>\n </ax-form-group>\n </div>\n <div *ngSwitchCase=\"'datetime'\">\n <ax-date-picker label=\"From\" [(value)]=\"rule.value\" (onValueChanged)=\"valueChange($event,rule)\">\n </ax-date-picker>\n </div>\n <div *ngSwitchCase=\"'boolean'\">\n <ax-form-group>\n <ax-label>{{getValue(rule.onDemandLabel)}}</ax-label>\n <ax-select-box #selectBoxBoolean (selectedItemsChange)=\"valueBooleanChange($event,rule)\"\n allowNull=\"false\" [selectedValues]=\"rule.value\" size=\"sm\" mode=\"single\">\n <ax-data-source [provideData]=\"provideDataBoolean\">\n </ax-data-source>\n <ax-validation>\n <ax-validation-rule type=\"required\"></ax-validation-rule>\n </ax-validation>\n </ax-select-box>\n </ax-form-group>\n </div>\n <div *ngSwitchDefault>\n <ax-form-group>\n <ax-label>{{getValue(rule.onDemandLabel)}}</ax-label>\n <ax-text-box (onValueChanged)=\"textValueChange($event,rule)\"\n placeholder=\"\u0645\u0642\u062F\u0627\u0631 \u0645\u0648\u0631\u062F \u0646\u0638\u0631 \u062E\u0648\u062F \u0631\u0627 \u0648\u0627\u0631\u062F \u06A9\u0646\u06CC\u062F\" size=\"sm\">\n <ax-validation>\n <ax-validation-rule type=\"required\"></ax-validation-rule>\n </ax-validation>\n </ax-text-box>\n\n </ax-form-group>\n\n </div>\n </div>\n\n\n\n\n </div>\n\n </ax-validation-form>\n</div>\n", components: [{ type: i2.AXValidationFormComponent, selector: "ax-validation-form", inputs: ["validateOn"], outputs: ["onInit"] }, { type: i3.AXFormGroupComponent, selector: "ax-form-group", inputs: ["size"] }, { type: i4.AXLabelComponent, selector: "ax-label", inputs: ["size"] }, { type: i5.AXTextBoxComponent, selector: "ax-text-box", inputs: ["mask", "type", "showMask", "maxLength", "maskGuid", "maskPlaceholder", "maskKeepCharPositions"] }, { type: i6.AXValidationComponent, selector: "ax-validation", inputs: ["rules", "validateOn"], outputs: ["rulesChange", "showMessage"] }, { type: i7.AXValidationRuleComponent, selector: "ax-validation-rule", inputs: ["type", "message", "value", "enabled"] }, { type: i8.AXSelectBoxComponent, selector: "ax-select-box", inputs: ["showDropDownButton", "rowInputTemplate", "showCheckBox", "readonly", "rtl", "disabled", "placeholder", "size", "allowNull", "textAlign", "bufferSize", "remoteOperation", "fitParent", "dropdownWidth", "dataSource", "validation", "disabledCallback", "allowSearch", "textField", "valueField", "disabledField", "mode", "items", "selectedItems", "selectedValues"], outputs: ["dropdownToggle", "itemsChange", "onBlur", "onFocus", "selectionChanged", "selectedItemsChange", "selectedValuesChange"] }, { type: i9.AXDataSourceComponent, selector: "ax-data-source", inputs: ["provideData", "params"] }, { type: i10.AXNumberBoxComponent, selector: "ax-number-box", inputs: ["min", "max", "showSeparator", "showCurrency", "showCounter", "scrollWeel", "showDoubleCounter", "maxLength", "intStep", "decimalNumber", "customStep"] }, { type: i11.AXDatePickerComponent, selector: "ax-date-picker", inputs: ["dayStyle", "dayMinMaxResoan", "validation", "placeholder", "min", "max", "readonly", "disabled", "allowClear", "textAlign", "showToday", "selectableHoliday", "dateType", "showTodayButton", "openByClick", "size", "type", "value"], outputs: ["typeChange", "onValueChanged", "valueChange"] }], directives: [{ type: i12.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i12.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i12.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i12.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i12.NgSwitchDefault, selector: "[ngSwitchDefault]" }] });
|
165
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXQueryBuilderPopupComponent, decorators: [{
|
166
|
-
type: Component,
|
167
|
-
args: [{ template: "<div>\n <ax-validation-form #form>\n <div *ngFor=\"let rule of items\">\n\n <div *ngIf=\" rule.control\" [ngSwitch]=\"rule.control.type\" style=\"padding: 1em;\">\n <div *ngSwitchCase=\"'textBox'\">\n <ax-form-group>\n <ax-label>{{getValue(rule.onDemandLabel)}}</ax-label>\n <ax-text-box (onValueChanged)=\"textValueChange($event,rule)\"\n placeholder=\"\u0645\u0642\u062F\u0627\u0631 \u0645\u0648\u0631\u062F \u0646\u0638\u0631 \u062E\u0648\u062F \u0631\u0627 \u0648\u0627\u0631\u062F \u06A9\u0646\u06CC\u062F\" size=\"sm\">\n <ax-validation>\n <ax-validation-rule type=\"required\"></ax-validation-rule>\n </ax-validation>\n </ax-text-box>\n </ax-form-group>\n </div>\n <div *ngSwitchCase=\"'selectBox'\">\n <ax-form-group>\n <ax-label>{{getValue(rule.onDemandLabel)}}</ax-label>\n <ax-select-box placeholder=\"\u0645\u0642\u062F\u0627\u0631 \u0645\u0648\u0631\u062F \u0646\u0638\u0631 \u062E\u0648\u062F \u0631\u0627 \u0648\u0627\u0631\u062F \u06A9\u0646\u06CC\u062F\"\n [textField]=\"getOption('textField',rule)\" [(selectedItems)]=\"rule.valueItem\"\n [valueField]=\"getOption('valueField',rule)\" [mode]=\"getOption('mode',rule)\"\n (selectedItemsChange)=\"selectedItemsChange($event,rule)\" size=\"sm\" #selectBoxValue\n [remoteOperation]=\"getOption('remoteOperation',rule)\">\n <ax-validation>\n <ax-validation-rule type=\"required\"></ax-validation-rule>\n </ax-validation>\n <ax-data-source [provideData]=\"getProvideData\" [params]=\"rule\"></ax-data-source>\n </ax-select-box>\n </ax-form-group>\n </div>\n <div *ngSwitchCase=\"'numberBox'\">\n <ax-form-group>\n <ax-label>{{getValue(rule.onDemandLabel)}}</ax-label>\n <ax-number-box (onValueChanged)=\"valueChange($event,rule)\"\n placeholder=\"\u0645\u0642\u062F\u0627\u0631 \u0645\u0648\u0631\u062F \u0646\u0638\u0631 \u062E\u0648\u062F \u0631\u0627 \u0648\u0627\u0631\u062F \u06A9\u0646\u06CC\u062F\" size=\"sm\">\n <ax-validation>\n <ax-validation-rule type=\"required\"></ax-validation-rule>\n </ax-validation>\n </ax-number-box>\n </ax-form-group>\n </div>\n <div *ngSwitchCase=\"'datetime'\">\n <ax-date-picker label=\"From\" [(value)]=\"rule.value\" (onValueChanged)=\"valueChange($event,rule)\">\n </ax-date-picker>\n </div>\n <div *ngSwitchCase=\"'boolean'\">\n <ax-form-group>\n <ax-label>{{getValue(rule.onDemandLabel)}}</ax-label>\n <ax-select-box #selectBoxBoolean (selectedItemsChange)=\"valueBooleanChange($event,rule)\"\n allowNull=\"false\" [selectedValues]=\"rule.value\" size=\"sm\" mode=\"single\">\n <ax-data-source [provideData]=\"provideDataBoolean\">\n </ax-data-source>\n <ax-validation>\n <ax-validation-rule type=\"required\"></ax-validation-rule>\n </ax-validation>\n </ax-select-box>\n </ax-form-group>\n </div>\n <div *ngSwitchDefault>\n <ax-form-group>\n <ax-label>{{getValue(rule.onDemandLabel)}}</ax-label>\n <ax-text-box (onValueChanged)=\"textValueChange($event,rule)\"\n placeholder=\"\u0645\u0642\u062F\u0627\u0631 \u0645\u0648\u0631\u062F \u0646\u0638\u0631 \u062E\u0648\u062F \u0631\u0627 \u0648\u0627\u0631\u062F \u06A9\u0646\u06CC\u062F\" size=\"sm\">\n <ax-validation>\n <ax-validation-rule type=\"required\"></ax-validation-rule>\n </ax-validation>\n </ax-text-box>\n\n </ax-form-group>\n\n </div>\n </div>\n\n\n\n\n </div>\n\n </ax-validation-form>\n</div>\n" }]
|
168
|
-
}], ctorParameters: function () { return [{ type: i1.AXToastService }]; }, propDecorators: { form: [{
|
169
|
-
type: ViewChild,
|
170
|
-
args: [AXValidationFormComponent]
|
171
|
-
}] } });
|
172
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktYnVpbGRlci1wb3B1cC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL3F1ZXJ5LWJ1aWxkZXIvcXVlcnktYnVpbGRlci1wb3B1cC9xdWVyeS1idWlsZGVyLXBvcHVwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL3NyYy9saWIvcXVlcnktYnVpbGRlci9xdWVyeS1idWlsZGVyLXBvcHVwL3F1ZXJ5LWJ1aWxkZXItcG9wdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFnQixZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDMUQsT0FBTyxFQUFxQixTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBS3RFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7QUFLdkYsTUFBTSxPQUFPLDRCQUE2QixTQUFRLHdCQUF3QjtJQUV0RSxZQUFvQixLQUFxQjtRQUNyQyxLQUFLLEVBQUUsQ0FBQztRQURRLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBSXpDLFVBQUssR0FBeUIsRUFBRSxDQUFDO1FBRWpDLGtCQUFhLEdBQVksSUFBSSxDQUFDO1FBbUY5QixtQkFBYyxHQUFHLENBQUMsQ0FBeUIsRUFBRSxFQUFFO1lBQzNDLElBQUksQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFD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RkFDMUIseUJBQXlCLHVFQ2R4Qyw4cUpBaUZBOzRGRHBFYSw0QkFBNEI7a0JBSnhDLFNBQVM7O3FHQUtnQyxJQUFJO3NCQUF6QyxTQUFTO3VCQUFDLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYQnV0dG9uSXRlbSwgQVhUcmFuc2xhdG9yIH0gZnJvbSAnQGFjb3JleC9jb3JlJztcbmltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhCYXNlUG9wdXBQYWdlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYmFzZS9iYXNlLXBhZ2UuY2xhc3MnO1xuaW1wb3J0IHsgQVhNZW51SXRlbUNsaWNrRXZlbnQgfSBmcm9tICcuLi8uLi9tZW51L21lbnUuY29tcG9uZW50JztcbmltcG9ydCB7IEFYUXVlcnlCdWlsZGVyR3JvdXAsIEFYUXVlcnlCdWlsZGVyUG9wdXAsIEFYUXVlcnlCdWlsZGVyUnVsZSB9IGZyb20gJy4uL3F1ZXJ5LWJ1aWxkZXIuY2xhc3MnO1xuXG5pbXBvcnQgeyBBWERhdGFTb3VyY2VSZWFkUGFyYW1zIH0gZnJvbSAnLi4vLi4vZGF0YS1zb3VyY2UvcmVhZC1wYXJhbSdcbmltcG9ydCB7IEFYVG9hc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdG9hc3QvdG9hc3Quc2VydmljZSc7XG5pbXBvcnQgeyBBWFZhbGlkYXRpb25Gb3JtQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vdmFsaWRhdGlvbi92YWxpZGF0aW9uLWZvcm0uY29tcG9uZW50JztcbkBDb21wb25lbnQoe1xuICAgIHRlbXBsYXRlVXJsOiAnLi9xdWVyeS1idWlsZGVyLXBvcHVwLmNvbXBvbmVudC5odG1sJ1xufSlcblxuZXhwb3J0IGNsYXNzIEFYUXVlcnlCdWlsZGVyUG9wdXBDb21wb25lbnQgZXh0ZW5kcyBBWEJhc2VQb3B1cFBhZ2VDb21wb25lbnQge1xuICAgIEBWaWV3Q2hpbGQoQVhWYWxpZGF0aW9uRm9ybUNvbXBvbmVudCkgZm9ybTogQVhWYWxpZGF0aW9uRm9ybUNvbXBvbmVudDtcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRvYXN0OiBBWFRvYXN0U2VydmljZSkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cbiAgICBncm91cDogQVhRdWVyeUJ1aWxkZXJHcm91cDtcbiAgICBpdGVtczogQVhRdWVyeUJ1aWxkZXJSdWxlW10gPSBbXTtcbiAgICBncm91cENvcHk6IEFYUXVlcnlCdWlsZGVyR3JvdXA7XG4gICAgY29tcGxhdGVWYWx1ZTogYm9vbGVhbiA9IHRydWU7XG4gICAgcHJvdmlkZURhdGE6IGFueTtcbiAgICBtYWtlSnNvblN0cmluZyhpdGVtczogYW55W10pIHtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgICAgIGl0ZW1zLmZvckVhY2goKGVsZW1lbnQsIGluZGV4LCBhcnJheSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChlbGVtZW50Lml0ZW1zKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubWFrZUpzb25TdHJpbmcoZWxlbWVudC5pdGVtcyk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGVsZW1lbnQuY29udHJvbCAmJiBlbGVtZW50LmNvbnRyb2wub3B0aW9ucyAmJiAoZWxlbWVudC5jb250cm9sLm9wdGlvbnMuZGF0YVNvdXJjZSA9PT0gJycgfHwgZWxlbWVudC5jb250cm9sLm9wdGlvbnMuZGF0YVNvdXJjZSA9PT0gdW5kZWZpbmVkKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5jb250cm9sLm9wdGlvbnMuZGF0YVNvdXJjZSA9IHRoaXMucHJvdmlkZURhdGE7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGluZGV4ID09PSBhcnJheS5sZW5ndGggLSAxKSB7XG4gICAgICAgICAgICAgICAgICAgIHJlc29sdmUoYXJyYXlbMF0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgICAgICB2YXIgZ3JvdXBTdHJpbmcgPSBKU09OLnN0cmluZ2lmeSh0aGlzLmdyb3VwKTtcbiAgICAgICAgdGhpcy5ncm91cENvcHkgPSBKU09OLnBhcnNlKGdyb3VwU3RyaW5nKTtcbiAgICAgICAgdGhpcy5tYWtlSnNvblN0cmluZyh0aGlzLmdyb3VwQ29weS5pdGVtcyk7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5ncm91cENvcHkuaXRlbXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIHRoaXMuZ2V0Tm9WYWx1ZVJ1bGUodGhpcy5ncm91cENvcHkuaXRlbXNbaV0pO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLml0ZW1zLmxlbmd0aCA8IDEpIHtcbiAgICAgICAgICAgIHRoaXMuY2xvc2UodGhpcy5ncm91cCk7XG4gICAgICAgIH1cblxuICAgIH1cbiAgICBnZXRWYWx1ZSh2KSB7XG4gICAgICAgIHJldHVybiB2LmluZGV4T2YoJz8/Pz8nKSA9PSAwID8gdi5zcGxpdCgnfCcpWzFdIDogdjtcbiAgICB9XG4gICAgZ2V0Tm9WYWx1ZVJ1bGUoZ3IpIHtcbiAgICAgICAgLy8gZm9yIChsZXQgaSA9IDA7IGkgPCBnci5pdGVtcy5sZW5ndGg7IGkrKykge1xuICAgICAgICBpZiAoZ3IuY29uZGl0aW9uKSB7XG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGdyLml0ZW1zLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5nZXROb1ZhbHVlUnVsZShnci5pdGVtc1tpXSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmIChnci5vbkRlbWFuZExhYmVsPy5pbmRleE9mKCc/Pz8/JykgPT0gMCkge1xuICAgICAgICAgICAgICAgIHRoaXMuaXRlbXMucHVzaChncik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyAgfVxuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuXG4gICAgfVxuXG5cbiAgICB0ZXh0VmFsdWVDaGFuZ2UoZSwgcnVsZSkge1xuICAgICAgICBydWxlLnZhbHVlID0gZS52YWx1ZTtcbiAgICAgICAgcnVsZS50ZXh0ID0gZS52YWx1ZTtcblxuICAgIH1cbiAgICBzZWxlY3RlZEl0ZW1zQ2hhbmdlKGUsIHJ1bGUpIHtcbiAgICAgICAgbGV0IG4gPSB0aGlzLmdldE9wdGlvbigndGV4dEZpZWxkJywgcnVsZSk7XG4gICAgICAgIHJ1bGUudGV4dCA9IGVbMF1bbl07XG4gICAgICAgIGlmIChydWxlICYmIHJ1bGUuY29udHJvbC5vcHRpb25zLnZhbHVlRmllbGQpIHtcbiAgICAgICAgICAgIHJ1bGUudmFsdWUgPSBlWzBdW3J1bGUuY29udHJvbC5vcHRpb25zLnZhbHVlRmllbGRdO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcnVsZS52YWx1ZSA9IGVbMF0udmFsdWU7XG4gICAgICAgIH1cbiAgICAgICAgcnVsZS52YWx1ZUl0ZW1bMF0gPSBlWzBdO1xuXG4gICAgfVxuICAgIHZhbHVlQ2hhbmdlKGUsIHJ1bGUpIHtcbiAgICAgICAgcnVsZS52YWx1ZSA9IGUudmFsdWU7XG4gICAgICAgIHJ1bGUudGV4dCA9IGUudmFsdWU7XG5cbiAgICB9XG4gICAgdmFsdWVCb29sZWFuQ2hhbmdlKGUsIHJ1bGUpIHtcbiAgICAgICAgcnVsZS50ZXh0ID0gZS52YWx1ZSA9PSB1bmRlZmluZWQgPyBlWzBdLnZhbHVlIDogZS52YWx1ZTtcbiAgICAgICAgcnVsZS52YWx1ZSA9IGUudmFsdWUgPT0gdW5kZWZpbmVkID8gZVswXS52YWx1ZSA6IGUudmFsdWU7XG5cbiAgICB9XG4gICAgZ2V0T3B0aW9uKG5hbWU6IHN0cmluZywgcnVsZSkge1xuICAgICAgICByZXR1cm4gcnVsZS5jb250cm9sLm9wdGlvbnMgPyBydWxlLmNvbnRyb2wub3B0aW9uc1tuYW1lXSA6IG51bGw7XG4gICAgfVxuICAgIGdldFByb3ZpZGVEYXRhID0gKGU6IEFYRGF0YVNvdXJjZVJlYWRQYXJhbXMpID0+IHtcbiAgICAgICAgaWYgKGUuZXh0cmEgJiYgZS5leHRyYS5jb250cm9sLm9wdGlvbnMgJiYgZS5leHRyYS5jb250cm9sLm9wdGlvbnMuZGF0YVNvdXJjZSkge1xuICAgICAgICAgICAgcmV0dXJuIGUuZXh0cmEuY29udHJvbC5vcHRpb25zLmRhdGFTb3VyY2UoeyAuLi5lLCBvcHRpb25zRGF0YTogeyAuLi5lLmV4dHJhLmNvbnRyb2wub3B0aW9ucyB9IH0pO1xuICAgICAgICB9XG4gICAgfTtcblxuICAgIHByb3ZpZGVEYXRhQm9vbGVhbiA9IChlKSA9PiB7XG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgICAgICAgICAgcmVzb2x2ZShbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogJ3RydWUnLFxuICAgICAgICAgICAgICAgICAgICB0ZXh0OiBBWFRyYW5zbGF0b3IuZ2V0KCdxdWVyeUJ1aWxkZXIudHJ1ZScpXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiAnZmFsc2UnLFxuICAgICAgICAgICAgICAgICAgICB0ZXh0OiBBWFRyYW5zbGF0b3IuZ2V0KCdxdWVyeUJ1aWxkZXIuZmFsc2UnKVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgXSlcbiAgICAgICAgfSlcbiAgICB9XG5cbiAgICBmaW5kTnVsbFZhbHVlKGdyKSB7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZ3IubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGlmIChncltpXS52YWx1ZSA9PT0gbnVsbCB8fCBncltpXS52YWx1ZSA9PT0gdW5kZWZpbmVkIHx8IGdyW2ldLnZhbHVlID09PSAnJykge1xuICAgICAgICAgICAgICAgIHRoaXMuY29tcGxhdGVWYWx1ZSA9IGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cblxuICAgICAgICAvLyBpZiAoZ3IuY29uZGl0aW9uKSB7XG4gICAgICAgIC8vICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGdyLml0ZW1zLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIC8vICAgICAgICAgdGhpcy5maW5kTnVsbFZhbHVlKGdyLml0ZW1zW2ldKTtcbiAgICAgICAgLy8gICAgIH1cblxuICAgICAgICAvLyB9IGVsc2Uge1xuICAgICAgICAvLyAgICAgaWYgKGdyLm9uRGVtYW5kTGFiZWw/LmluZGV4T2YoJz8/Pz8nKSA9PSAwIHx8IGdyLnZhbHVlID09PSBudWxsIHx8IGdyLnZhbHVlID09PSB1bmRlZmluZWQgfHwgZ3IudmFsdWUgPT09ICcnKSB7XG4gICAgICAgIC8vICAgICAgICAgdGhpcy5jb21wbGF0ZVZhbHVlID0gZmFsc2U7XG4gICAgICAgIC8vICAgICB9XG4gICAgICAgIC8vIH1cblxuICAgIH1cblxuICAgIG9uRm9vdGVyQnV0dG9uQ2xpY2soZTogQVhNZW51SXRlbUNsaWNrRXZlbnQpIHtcbiAgICAgICAgaWYgKGUubmFtZSA9PT0gJ2NvbmZpcm0nKSB7XG4gICAgICAgICAgICB0aGlzLmZvcm0udmFsaWRhdGUoKS50aGVuKGMgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChjLnJlc3VsdCA9PT0gdHJ1ZSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNsb3NlKHRoaXMuZ3JvdXBDb3B5KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZS5uYW1lID09PSAnY2FuY2VsJykge1xuICAgICAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICBnZXRGb290ZXJCdXR0b25zKCk6IEFYQnV0dG9uSXRlbVtdIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB0ZXh0OiBBWFRyYW5zbGF0b3IuZ2V0KCdjb21tb24uY29uZmlybScpLFxuICAgICAgICAgICAgICAgIG5hbWU6ICdjb25maXJtJyxcbiAgICAgICAgICAgICAgICBzdHlsZTogJ2F4IHByaW1hcnknLFxuICAgICAgICAgICAgICAgIGljb246ICdmYXIgZmEtY2hlY2stY2lyY2xlJ1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB0ZXh0OiBBWFRyYW5zbGF0b3IuZ2V0KCdjb21tb24uY2FuY2VsJyksXG4gICAgICAgICAgICAgICAgbmFtZTogJ2NhbmNlbCcsXG4gICAgICAgICAgICAgICAgc3R5bGU6ICdheCBsaWdodCcsXG4gICAgICAgICAgICAgICAgaWNvbjogJ2ZhciBmYS10aW1lcydcbiAgICAgICAgICAgIH1cbiAgICAgICAgXVxuICAgIH1cbn0iLCI8ZGl2PlxuICAgIDxheC12YWxpZGF0aW9uLWZvcm0gI2Zvcm0+XG4gICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IHJ1bGUgb2YgaXRlbXNcIj5cblxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cIiBydWxlLmNvbnRyb2xcIiBbbmdTd2l0Y2hdPVwicnVsZS5jb250cm9sLnR5cGVcIiBzdHlsZT1cInBhZGRpbmc6IDFlbTtcIj5cbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ1N3aXRjaENhc2U9XCIndGV4dEJveCdcIj5cbiAgICAgICAgICAgICAgICAgICAgPGF4LWZvcm0tZ3JvdXA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YXgtbGFiZWw+e3tnZXRWYWx1ZShydWxlLm9uRGVtYW5kTGFiZWwpfX08L2F4LWxhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGF4LXRleHQtYm94IChvblZhbHVlQ2hhbmdlZCk9XCJ0ZXh0VmFsdWVDaGFuZ2UoJGV2ZW50LHJ1bGUpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cItmF2YLYr9in2LEg2YXZiNix2K8g2YbYuNixINiu2YjYryDYsdinINmI2KfYsdivINqp2YbbjNivXCIgc2l6ZT1cInNtXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGF4LXZhbGlkYXRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxheC12YWxpZGF0aW9uLXJ1bGUgdHlwZT1cInJlcXVpcmVkXCI+PC9heC12YWxpZGF0aW9uLXJ1bGU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9heC12YWxpZGF0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9heC10ZXh0LWJveD5cbiAgICAgICAgICAgICAgICAgICAgPC9heC1mb3JtLWdyb3VwPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgKm5nU3dpdGNoQ2FzZT1cIidzZWxlY3RCb3gnXCI+XG4gICAgICAgICAgICAgICAgICAgIDxheC1mb3JtLWdyb3VwPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGF4LWxhYmVsPnt7Z2V0VmFsdWUocnVsZS5vbkRlbWFuZExhYmVsKX19PC9heC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxheC1zZWxlY3QtYm94IHBsYWNlaG9sZGVyPVwi2YXZgtiv2KfYsSDZhdmI2LHYryDZhti42LEg2K7ZiNivINix2Kcg2YjYp9ix2K8g2qnZhtuM2K9cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0ZXh0RmllbGRdPVwiZ2V0T3B0aW9uKCd0ZXh0RmllbGQnLHJ1bGUpXCIgWyhzZWxlY3RlZEl0ZW1zKV09XCJydWxlLnZhbHVlSXRlbVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlRmllbGRdPVwiZ2V0T3B0aW9uKCd2YWx1ZUZpZWxkJyxydWxlKVwiIFttb2RlXT1cImdldE9wdGlvbignbW9kZScscnVsZSlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzZWxlY3RlZEl0ZW1zQ2hhbmdlKT1cInNlbGVjdGVkSXRlbXNDaGFuZ2UoJGV2ZW50LHJ1bGUpXCIgc2l6ZT1cInNtXCIgI3NlbGVjdEJveFZhbHVlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlbW90ZU9wZXJhdGlvbl09XCJnZXRPcHRpb24oJ3JlbW90ZU9wZXJhdGlvbicscnVsZSlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXgtdmFsaWRhdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGF4LXZhbGlkYXRpb24tcnVsZSB0eXBlPVwicmVxdWlyZWRcIj48L2F4LXZhbGlkYXRpb24tcnVsZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2F4LXZhbGlkYXRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGF4LWRhdGEtc291cmNlIFtwcm92aWRlRGF0YV09XCJnZXRQcm92aWRlRGF0YVwiIFtwYXJhbXNdPVwicnVsZVwiPjwvYXgtZGF0YS1zb3VyY2U+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2F4LXNlbGVjdC1ib3g+XG4gICAgICAgICAgICAgICAgICAgIDwvYXgtZm9ybS1ncm91cD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ1N3aXRjaENhc2U9XCInbnVtYmVyQm94J1wiPlxuICAgICAgICAgICAgICAgICAgICA8YXgtZm9ybS1ncm91cD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxheC1sYWJlbD57e2dldFZhbHVlKHJ1bGUub25EZW1hbmRMYWJlbCl9fTwvYXgtbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YXgtbnVtYmVyLWJveCAob25WYWx1ZUNoYW5nZWQpPVwidmFsdWVDaGFuZ2UoJGV2ZW50LHJ1bGUpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cItmF2YLYr9in2LEg2YXZiNix2K8g2YbYuNixINiu2YjYryDYsdinINmI2KfYsdivINqp2YbbjNivXCIgc2l6ZT1cInNtXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGF4LXZhbGlkYXRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxheC12YWxpZGF0aW9uLXJ1bGUgdHlwZT1cInJlcXVpcmVkXCI+PC9heC12YWxpZGF0aW9uLXJ1bGU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9heC12YWxpZGF0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9heC1udW1iZXItYm94PlxuICAgICAgICAgICAgICAgICAgICA8L2F4LWZvcm0tZ3JvdXA+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiAqbmdTd2l0Y2hDYXNlPVwiJ2RhdGV0aW1lJ1wiPlxuICAgICAgICAgICAgICAgICAgPGF4LWRhdGUtcGlja2VyIGxhYmVsPVwiRnJvbVwiIFsodmFsdWUpXT1cInJ1bGUudmFsdWVcIiAob25WYWx1ZUNoYW5nZWQpPVwidmFsdWVDaGFuZ2UoJGV2ZW50LHJ1bGUpXCI+XG4gICAgICAgICAgICAgICAgICA8L2F4LWRhdGUtcGlja2VyPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgKm5nU3dpdGNoQ2FzZT1cIidib29sZWFuJ1wiPlxuICAgICAgICAgICAgICAgICAgICA8YXgtZm9ybS1ncm91cD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxheC1sYWJlbD57e2dldFZhbHVlKHJ1bGUub25EZW1hbmRMYWJlbCl9fTwvYXgtbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YXgtc2VsZWN0LWJveCAjc2VsZWN0Qm94Qm9vbGVhbiAoc2VsZWN0ZWRJdGVtc0NoYW5nZSk9XCJ2YWx1ZUJvb2xlYW5DaGFuZ2UoJGV2ZW50LHJ1bGUpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGxvd051bGw9XCJmYWxzZVwiIFtzZWxlY3RlZFZhbHVlc109XCJydWxlLnZhbHVlXCIgc2l6ZT1cInNtXCIgbW9kZT1cInNpbmdsZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxheC1kYXRhLXNvdXJjZSBbcHJvdmlkZURhdGFdPVwicHJvdmlkZURhdGFCb29sZWFuXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9heC1kYXRhLXNvdXJjZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXgtdmFsaWRhdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGF4LXZhbGlkYXRpb24tcnVsZSB0eXBlPVwicmVxdWlyZWRcIj48L2F4LXZhbGlkYXRpb24tcnVsZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2F4LXZhbGlkYXRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2F4LXNlbGVjdC1ib3g+XG4gICAgICAgICAgICAgICAgICAgIDwvYXgtZm9ybS1ncm91cD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ1N3aXRjaERlZmF1bHQ+XG4gICAgICAgICAgICAgICAgICAgIDxheC1mb3JtLWdyb3VwPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGF4LWxhYmVsPnt7Z2V0VmFsdWUocnVsZS5vbkRlbWFuZExhYmVsKX19PC9heC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxheC10ZXh0LWJveCAob25WYWx1ZUNoYW5nZWQpPVwidGV4dFZhbHVlQ2hhbmdlKCRldmVudCxydWxlKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCLZhdmC2K/Yp9ixINmF2YjYsdivINmG2LjYsSDYrtmI2K8g2LHYpyDZiNin2LHYryDaqdmG24zYr1wiIHNpemU9XCJzbVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxheC12YWxpZGF0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXgtdmFsaWRhdGlvbi1ydWxlIHR5cGU9XCJyZXF1aXJlZFwiPjwvYXgtdmFsaWRhdGlvbi1ydWxlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYXgtdmFsaWRhdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYXgtdGV4dC1ib3g+XG5cbiAgICAgICAgICAgICAgICAgICAgPC9heC1mb3JtLWdyb3VwPlxuXG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cblxuXG5cblxuICAgICAgICA8L2Rpdj5cblxuICAgIDwvYXgtdmFsaWRhdGlvbi1mb3JtPlxuPC9kaXY+XG4iXX0=
|