@acorex/components 6.5.70 → 6.5.90
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -3
- package/esm2022/acorex-components.mjs +5 -0
- package/esm2022/index.mjs +158 -0
- package/esm2022/lib/accordion/accordion.component.mjs +45 -0
- package/esm2022/lib/accordion/accordion.module.mjs +20 -0
- package/esm2022/lib/base/base-page.class.mjs +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/esm2022/lib/loading/loading.service.mjs +47 -0
- package/esm2022/lib/menu/menu-item.component.mjs +50 -0
- package/esm2022/lib/menu/menu.component.mjs +98 -0
- package/esm2022/lib/menu/menu.module.mjs +22 -0
- package/esm2022/lib/menu/menu2.component.mjs +100 -0
- package/esm2022/lib/number-box/number-box.component.mjs +628 -0
- package/esm2022/lib/number-box/number-box.module.mjs +21 -0
- package/esm2022/lib/page/content.component.mjs +27 -0
- package/esm2022/lib/page/footer.component.mjs +19 -0
- package/esm2022/lib/page/page.component.mjs +57 -0
- package/esm2022/lib/page/page.module.mjs +22 -0
- package/esm2022/lib/panel-box/panel-box.component.mjs +87 -0
- package/esm2022/lib/panel-box/panel-box.module.mjs +19 -0
- package/esm2022/lib/password-box/password-box.component.mjs +32 -0
- package/esm2022/lib/password-box/password-box.module.mjs +23 -0
- package/esm2022/lib/popover/custom-cdk-overlay.service.mjs +50 -0
- package/esm2022/lib/popover/overlay.service.mjs +94 -0
- package/esm2022/lib/popover/popover.component.mjs +145 -0
- package/esm2022/lib/popover/popover.module.mjs +19 -0
- package/esm2022/lib/popup/popup.component.mjs +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 +82 -0
- package/esm2022/lib/searchbox/searchbox.module.mjs +24 -0
- package/esm2022/lib/selectbox/selectbox.component.mjs +1025 -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 +1104 -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 +218 -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 +3987 -3087
- 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 +1 -1
- package/lib/selectbox/selectbox.component.d.ts +1 -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 +1 -1
- package/lib/textbox/textbox.module.d.ts +2 -2
- package/lib/time-picker/time-picker.component.d.ts +1 -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 +1 -1
- 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/loading/loading.service.mjs +0 -45
- package/esm2020/lib/menu/menu-item.component.mjs +0 -47
- package/esm2020/lib/menu/menu.component.mjs +0 -86
- package/esm2020/lib/menu/menu.module.mjs +0 -22
- package/esm2020/lib/menu/menu2.component.mjs +0 -96
- package/esm2020/lib/number-box/number-box.component.mjs +0 -622
- package/esm2020/lib/number-box/number-box.module.mjs +0 -21
- package/esm2020/lib/page/content.component.mjs +0 -32
- package/esm2020/lib/page/footer.component.mjs +0 -19
- package/esm2020/lib/page/page.component.mjs +0 -53
- package/esm2020/lib/page/page.module.mjs +0 -22
- package/esm2020/lib/panel-box/panel-box.component.mjs +0 -88
- package/esm2020/lib/panel-box/panel-box.module.mjs +0 -19
- package/esm2020/lib/password-box/password-box.component.mjs +0 -31
- package/esm2020/lib/password-box/password-box.module.mjs +0 -23
- package/esm2020/lib/popover/custom-cdk-overlay.service.mjs +0 -48
- package/esm2020/lib/popover/overlay.service.mjs +0 -91
- package/esm2020/lib/popover/popover.component.mjs +0 -133
- package/esm2020/lib/popover/popover.module.mjs +0 -19
- package/esm2020/lib/popup/popup.component.mjs +0 -147
- package/esm2020/lib/popup/popup.module.mjs +0 -25
- package/esm2020/lib/popup/popup.service.mjs +0 -93
- package/esm2020/lib/progress-bar/progress-bar.component.mjs +0 -19
- package/esm2020/lib/progress-bar/progress-bar.module.mjs +0 -19
- package/esm2020/lib/property-editor/editors/check-editor/check-editor.mjs +0 -61
- package/esm2020/lib/property-editor/editors/check-editor/check.module.mjs +0 -22
- package/esm2020/lib/property-editor/editors/color-editor/color.editor.mjs +0 -38
- package/esm2020/lib/property-editor/editors/color-editor/color.module.mjs +0 -24
- package/esm2020/lib/property-editor/editors/column-editor/column.editor.mjs +0 -115
- package/esm2020/lib/property-editor/editors/column-editor/column.module.mjs +0 -32
- package/esm2020/lib/property-editor/editors/conditional-color-editor/conditional-color.editor.mjs +0 -211
- package/esm2020/lib/property-editor/editors/conditional-color-editor/conditional-color.module.mjs +0 -78
- package/esm2020/lib/property-editor/editors/date-editor/date.editor.mjs +0 -51
- package/esm2020/lib/property-editor/editors/date-editor/date.module.mjs +0 -24
- package/esm2020/lib/property-editor/editors/number-editor/number.editor.mjs +0 -63
- package/esm2020/lib/property-editor/editors/number-editor/number.module.mjs +0 -24
- package/esm2020/lib/property-editor/editors/range-editor/range.editor.mjs +0 -140
- package/esm2020/lib/property-editor/editors/range-editor/range.module.mjs +0 -61
- package/esm2020/lib/property-editor/editors/searchbar-selectbox-editor/searchbar-selectbox-editor.mjs +0 -72
- package/esm2020/lib/property-editor/editors/selectbox-editor/selectbox.editor.mjs +0 -71
- package/esm2020/lib/property-editor/editors/selectbox-editor/selectbox.module.mjs +0 -25
- package/esm2020/lib/property-editor/editors/selection-editor/selection-editor.mjs +0 -69
- package/esm2020/lib/property-editor/editors/selection-editor/selection.module.mjs +0 -22
- package/esm2020/lib/property-editor/editors/switch-editor/number.editor.mjs +0 -29
- package/esm2020/lib/property-editor/editors/switch-editor/number.module.mjs +0 -25
- package/esm2020/lib/property-editor/editors/text-editor/text.editor.mjs +0 -32
- package/esm2020/lib/property-editor/editors/text-editor/text.module.mjs +0 -24
- package/esm2020/lib/property-editor/editors/textarea-editor/textarea.editor.mjs +0 -32
- package/esm2020/lib/property-editor/editors/textarea-editor/textarea.module.mjs +0 -24
- package/esm2020/lib/property-editor/editors/time-editor/time.editor.mjs +0 -43
- package/esm2020/lib/property-editor/editors/time-editor/time.module.mjs +0 -24
- package/esm2020/lib/property-editor/property-editor-renderer.directive.mjs +0 -157
- package/esm2020/lib/property-editor/property-editor.class.mjs +0 -102
- package/esm2020/lib/property-editor/property-editor.module.mjs +0 -196
- package/esm2020/lib/query-builder/query-builder-group.component.mjs +0 -124
- package/esm2020/lib/query-builder/query-builder-popup/query-builder-popup.component.mjs +0 -172
- package/esm2020/lib/query-builder/query-builder-rule.component.mjs +0 -399
- package/esm2020/lib/query-builder/query-builder.class.mjs +0 -20
- package/esm2020/lib/query-builder/query-builder.component.mjs +0 -87
- package/esm2020/lib/query-builder/query-builder.module.mjs +0 -62
- package/esm2020/lib/query-builder/query-builder.service.mjs +0 -197
- package/esm2020/lib/search-bar/search-bar.component.mjs +0 -286
- package/esm2020/lib/search-bar/search-bar.module.mjs +0 -63
- package/esm2020/lib/searchbox/searchbox.component.mjs +0 -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
@@ -0,0 +1,428 @@
|
|
1
|
+
import { AXTranslator } from '@acorex/core';
|
2
|
+
import { Component, EventEmitter, Input, Output, ViewChild, ViewEncapsulation, } from '@angular/core';
|
3
|
+
import { AXSelectBoxComponent } from '../selectbox/selectbox.component';
|
4
|
+
import { AXTextBoxComponent } from '../textbox/textbox.component';
|
5
|
+
import { AXValidationFormComponent } from '../validation/validation-form.component';
|
6
|
+
import { AXQueryBuilderControl, AXQueryBuilderGroup, AXQueryBuilderRule, } from './query-builder.class';
|
7
|
+
import * as i0 from "@angular/core";
|
8
|
+
import * as i1 from "@angular/common";
|
9
|
+
import * as i2 from "../selectbox/selectbox.component";
|
10
|
+
import * as i3 from "../data-source/datasource.component";
|
11
|
+
import * as i4 from "../textbox/textbox.component";
|
12
|
+
import * as i5 from "../number-box/number-box.component";
|
13
|
+
import * as i6 from "../form-group/form-group.component";
|
14
|
+
import * as i7 from "../checkbox/checkbox.component";
|
15
|
+
import * as i8 from "../date-picker/date-picker.component";
|
16
|
+
import * as i9 from "@acorex/core";
|
17
|
+
export class AXQueryBuilderRuleComponent {
|
18
|
+
selectBox;
|
19
|
+
selectBoxValue;
|
20
|
+
selectBoxBoolean;
|
21
|
+
textBoxNameValue;
|
22
|
+
form;
|
23
|
+
isEditing = true;
|
24
|
+
rule;
|
25
|
+
parent;
|
26
|
+
mode = 'new';
|
27
|
+
fields = [];
|
28
|
+
onRuleDelete = new EventEmitter();
|
29
|
+
ruleChanged = new EventEmitter();
|
30
|
+
showValue = false;
|
31
|
+
isOnDemandLabel = false;
|
32
|
+
showSelectBox = true;
|
33
|
+
showOperatorSelectBox = true;
|
34
|
+
constructor() { }
|
35
|
+
ngOnInit() {
|
36
|
+
this.fields.forEach((field) => {
|
37
|
+
if (field.dataField == this.rule.dataField) {
|
38
|
+
this.rule.control.options = field.control.options;
|
39
|
+
}
|
40
|
+
});
|
41
|
+
}
|
42
|
+
ngAfterViewInit() {
|
43
|
+
if (this.rule.onDemandLabel) {
|
44
|
+
this.isOnDemandLabel = true;
|
45
|
+
}
|
46
|
+
}
|
47
|
+
provideDataBoolean = (e) => {
|
48
|
+
return new Promise((resolve) => {
|
49
|
+
resolve([
|
50
|
+
{
|
51
|
+
value: 'true',
|
52
|
+
text: AXTranslator.get('queryBuilder.true'),
|
53
|
+
},
|
54
|
+
{
|
55
|
+
value: 'false',
|
56
|
+
text: AXTranslator.get('queryBuilder.false'),
|
57
|
+
},
|
58
|
+
]);
|
59
|
+
});
|
60
|
+
};
|
61
|
+
saveRule() {
|
62
|
+
this.form.validate().then((c) => { });
|
63
|
+
}
|
64
|
+
provideDataOperator = (e) => {
|
65
|
+
return new Promise((resolve) => {
|
66
|
+
if (this.rule.dataType === 'string') {
|
67
|
+
if (this.rule &&
|
68
|
+
this.rule.control &&
|
69
|
+
this.rule.control.type &&
|
70
|
+
this.rule.control.type == 'selectBox') {
|
71
|
+
if (this.rule.control.options.mode == 'multiple') {
|
72
|
+
resolve([
|
73
|
+
{
|
74
|
+
value: 'contains',
|
75
|
+
text: AXTranslator.get('queryBuilder.contains'),
|
76
|
+
},
|
77
|
+
{
|
78
|
+
value: 'not-contains',
|
79
|
+
text: AXTranslator.get('queryBuilder.not-contains'),
|
80
|
+
},
|
81
|
+
{
|
82
|
+
value: 'contains-all',
|
83
|
+
text: AXTranslator.get('queryBuilder.contains-all'),
|
84
|
+
},
|
85
|
+
{
|
86
|
+
value: 'null',
|
87
|
+
text: AXTranslator.get('queryBuilder.null'),
|
88
|
+
},
|
89
|
+
{
|
90
|
+
value: 'not-null',
|
91
|
+
text: AXTranslator.get('queryBuilder.not-null'),
|
92
|
+
},
|
93
|
+
]);
|
94
|
+
}
|
95
|
+
else {
|
96
|
+
resolve([
|
97
|
+
{
|
98
|
+
value: 'equal',
|
99
|
+
text: AXTranslator.get('queryBuilder.equal'),
|
100
|
+
},
|
101
|
+
{
|
102
|
+
value: 'not-equal',
|
103
|
+
text: AXTranslator.get('queryBuilder.not-equal'),
|
104
|
+
},
|
105
|
+
{
|
106
|
+
value: 'null',
|
107
|
+
text: AXTranslator.get('queryBuilder.null'),
|
108
|
+
},
|
109
|
+
{
|
110
|
+
value: 'not-null',
|
111
|
+
text: AXTranslator.get('queryBuilder.not-null'),
|
112
|
+
},
|
113
|
+
]);
|
114
|
+
}
|
115
|
+
}
|
116
|
+
else {
|
117
|
+
resolve([
|
118
|
+
{
|
119
|
+
value: 'equal',
|
120
|
+
text: AXTranslator.get('queryBuilder.equal'),
|
121
|
+
},
|
122
|
+
{
|
123
|
+
value: 'contains',
|
124
|
+
text: AXTranslator.get('queryBuilder.contains'),
|
125
|
+
},
|
126
|
+
{
|
127
|
+
value: 'start-with',
|
128
|
+
text: AXTranslator.get('queryBuilder.start-with'),
|
129
|
+
},
|
130
|
+
{
|
131
|
+
value: 'end-with',
|
132
|
+
text: AXTranslator.get('queryBuilder.end-with'),
|
133
|
+
},
|
134
|
+
{
|
135
|
+
value: 'not-equal',
|
136
|
+
text: AXTranslator.get('queryBuilder.not-equal'),
|
137
|
+
},
|
138
|
+
{
|
139
|
+
value: 'null',
|
140
|
+
text: AXTranslator.get('queryBuilder.null'),
|
141
|
+
},
|
142
|
+
{
|
143
|
+
value: 'not-null',
|
144
|
+
text: AXTranslator.get('queryBuilder.not-null'),
|
145
|
+
},
|
146
|
+
]);
|
147
|
+
}
|
148
|
+
}
|
149
|
+
if (this.rule.dataType === 'number') {
|
150
|
+
resolve([
|
151
|
+
{
|
152
|
+
value: 'equal',
|
153
|
+
text: AXTranslator.get('queryBuilder.equal'),
|
154
|
+
},
|
155
|
+
{
|
156
|
+
value: 'gt',
|
157
|
+
text: AXTranslator.get('queryBuilder.greater-than'),
|
158
|
+
},
|
159
|
+
{
|
160
|
+
value: 'gte',
|
161
|
+
text: AXTranslator.get('queryBuilder.greater-than-equal'),
|
162
|
+
},
|
163
|
+
{
|
164
|
+
value: 'lt',
|
165
|
+
text: AXTranslator.get('queryBuilder.less-than'),
|
166
|
+
},
|
167
|
+
{
|
168
|
+
value: 'lte',
|
169
|
+
text: AXTranslator.get('queryBuilder.less-than-equal'),
|
170
|
+
},
|
171
|
+
{
|
172
|
+
value: 'not-equal',
|
173
|
+
text: AXTranslator.get('queryBuilder.not-equal'),
|
174
|
+
},
|
175
|
+
{
|
176
|
+
value: 'null',
|
177
|
+
text: AXTranslator.get('queryBuilder.null'),
|
178
|
+
},
|
179
|
+
{
|
180
|
+
value: 'not-null',
|
181
|
+
text: AXTranslator.get('queryBuilder.not-null'),
|
182
|
+
},
|
183
|
+
]);
|
184
|
+
}
|
185
|
+
if (this.rule.dataType === 'boolean') {
|
186
|
+
resolve([
|
187
|
+
{
|
188
|
+
value: 'equal',
|
189
|
+
text: AXTranslator.get('queryBuilder.equal'),
|
190
|
+
},
|
191
|
+
{
|
192
|
+
value: 'null',
|
193
|
+
text: AXTranslator.get('queryBuilder.null'),
|
194
|
+
},
|
195
|
+
{
|
196
|
+
value: 'not-null',
|
197
|
+
text: AXTranslator.get('queryBuilder.not-null'),
|
198
|
+
},
|
199
|
+
]);
|
200
|
+
}
|
201
|
+
if (this.rule.dataType === 'datetime' || this.rule.dataType === 'date') {
|
202
|
+
resolve([
|
203
|
+
{
|
204
|
+
value: 'equal',
|
205
|
+
text: AXTranslator.get('queryBuilder.equal'),
|
206
|
+
},
|
207
|
+
{
|
208
|
+
value: 'gt',
|
209
|
+
text: AXTranslator.get('queryBuilder.greater-than'),
|
210
|
+
},
|
211
|
+
{
|
212
|
+
value: 'gte',
|
213
|
+
text: AXTranslator.get('queryBuilder.greater-than-equal'),
|
214
|
+
},
|
215
|
+
{
|
216
|
+
value: 'lt',
|
217
|
+
text: AXTranslator.get('queryBuilder.less-than'),
|
218
|
+
},
|
219
|
+
{
|
220
|
+
value: 'lte',
|
221
|
+
text: AXTranslator.get('queryBuilder.less-than-equal'),
|
222
|
+
},
|
223
|
+
{
|
224
|
+
value: 'not-equal',
|
225
|
+
text: AXTranslator.get('queryBuilder.not-equal'),
|
226
|
+
},
|
227
|
+
{
|
228
|
+
value: 'null',
|
229
|
+
text: AXTranslator.get('queryBuilder.null'),
|
230
|
+
},
|
231
|
+
{
|
232
|
+
value: 'not-null',
|
233
|
+
text: AXTranslator.get('queryBuilder.not-null'),
|
234
|
+
},
|
235
|
+
]);
|
236
|
+
}
|
237
|
+
resolve([]);
|
238
|
+
});
|
239
|
+
};
|
240
|
+
handleEditClick() {
|
241
|
+
this.isEditing = true;
|
242
|
+
}
|
243
|
+
handleCommitClick() {
|
244
|
+
this.isEditing = false;
|
245
|
+
this.ruleChanged.emit({ items: this.rule, component: this });
|
246
|
+
}
|
247
|
+
handleRemoveClick() {
|
248
|
+
this.onRuleDelete.emit({ items: this.rule, component: this });
|
249
|
+
}
|
250
|
+
captionChange(e) {
|
251
|
+
if (e.selectedItems[0]) {
|
252
|
+
this.rule.caption = e.selectedItems[0].caption;
|
253
|
+
this.rule.dataField = e.selectedItems[0].dataField;
|
254
|
+
this.rule.dataType = e.selectedItems[0].dataType;
|
255
|
+
this.rule.control =
|
256
|
+
e.selectedItems[0].control || new AXQueryBuilderControl();
|
257
|
+
this.rule.dataFieldItem[0] = e.selectedItems[0];
|
258
|
+
}
|
259
|
+
if (this.selectBox) {
|
260
|
+
if (this.rule.control.type === 'selectBox' &&
|
261
|
+
this.rule.control.options.mode == 'multiple') {
|
262
|
+
this.rule.operator = 'contains';
|
263
|
+
}
|
264
|
+
else {
|
265
|
+
this.rule.operator = 'equal';
|
266
|
+
}
|
267
|
+
this.selectBox.refresh();
|
268
|
+
}
|
269
|
+
this.showOperatorSelectBox = false;
|
270
|
+
setTimeout(() => {
|
271
|
+
this.showOperatorSelectBox = true;
|
272
|
+
}, 20);
|
273
|
+
this.rule.value = null;
|
274
|
+
this.rule.valueItem = [];
|
275
|
+
this.rule.text = '';
|
276
|
+
if (this.rule.control.type === 'selectBox' && this.selectBoxValue) {
|
277
|
+
this.showSelectBox = false;
|
278
|
+
setTimeout(() => {
|
279
|
+
this.showSelectBox = true;
|
280
|
+
this.selectBoxValue.refresh();
|
281
|
+
}, 20);
|
282
|
+
}
|
283
|
+
if (this.rule.control.type == 'boolean') {
|
284
|
+
this.selectBoxBoolean.refresh();
|
285
|
+
}
|
286
|
+
this.ruleChanged.emit({ component: this, items: this.rule });
|
287
|
+
}
|
288
|
+
operatorChange(e) {
|
289
|
+
this.rule.operator = e[0].value;
|
290
|
+
this.ruleChanged.emit({ component: this, items: this.rule });
|
291
|
+
if (e[0].value !== 'null' && e[0].value !== 'not-null') {
|
292
|
+
this.showValue = true;
|
293
|
+
}
|
294
|
+
else {
|
295
|
+
this.showValue = false;
|
296
|
+
this.rule.value = '';
|
297
|
+
this.rule.text = '';
|
298
|
+
this.rule.valueItem = [];
|
299
|
+
this.rule.onDemandLabel = '';
|
300
|
+
}
|
301
|
+
}
|
302
|
+
valueChange(e) {
|
303
|
+
// this.rule.text = e.value == undefined ? e[0].value : (e.value == null ? '' : e.value);
|
304
|
+
this.rule.text = e[0]
|
305
|
+
? e[0].value == null
|
306
|
+
? ''
|
307
|
+
: e[0].value
|
308
|
+
: e.value == null
|
309
|
+
? ''
|
310
|
+
: e.value;
|
311
|
+
this.rule.onDemandLabel = '';
|
312
|
+
this.ruleChanged.emit({ component: this, items: this.rule });
|
313
|
+
}
|
314
|
+
onDemandLabelChange(e) {
|
315
|
+
// this.rule.onDemandLabel = e.value == undefined ? '????|' + e[0].value : '????|' + e.value;
|
316
|
+
this.rule.onDemandLabel = e[0]
|
317
|
+
? '????|' + (e[0].value == null ? '' : e[0].value)
|
318
|
+
: '????|' + (e.value == null ? '' : e.value);
|
319
|
+
this.rule.value = '';
|
320
|
+
this.rule.text = '';
|
321
|
+
this.rule.valueItem = [];
|
322
|
+
this.ruleChanged.emit({ component: this, items: this.rule });
|
323
|
+
}
|
324
|
+
valueBooleanChange(e) {
|
325
|
+
// this.rule.text = e.value == undefined ? e[0].value : (e.value == null ? '' : e.value);
|
326
|
+
this.rule.text = e[0]
|
327
|
+
? e[0].value == null
|
328
|
+
? ''
|
329
|
+
: e[0].value
|
330
|
+
: e.value == null
|
331
|
+
? ''
|
332
|
+
: e.value;
|
333
|
+
this.rule.value = e.value == undefined ? e[0].value : e.value;
|
334
|
+
this.rule.onDemandLabel = '';
|
335
|
+
this.ruleChanged.emit({ component: this, items: this.rule });
|
336
|
+
}
|
337
|
+
getOnDemandName(v) {
|
338
|
+
return v ? v.split('|')[1] : '';
|
339
|
+
}
|
340
|
+
selectedItemsChange(e) {
|
341
|
+
let n = this.getOption('textField');
|
342
|
+
if (this.rule.control.options.mode === 'single') {
|
343
|
+
this.rule.text = e[0][n];
|
344
|
+
if (this.rule && this.rule.control.options.valueField) {
|
345
|
+
this.rule.value = e[0][this.rule.control.options.valueField];
|
346
|
+
}
|
347
|
+
else {
|
348
|
+
this.rule.value = e[0].value;
|
349
|
+
}
|
350
|
+
this.rule.valueItem[0] = e[0];
|
351
|
+
}
|
352
|
+
else {
|
353
|
+
this.rule.text = e.map((x) => x[n]).join('- ');
|
354
|
+
const THAT = this;
|
355
|
+
if (THAT.rule && THAT.rule.control.options.valueField) {
|
356
|
+
THAT.rule.value = e.map(function (item) {
|
357
|
+
return item[THAT.rule.control.options.valueField];
|
358
|
+
});
|
359
|
+
}
|
360
|
+
else {
|
361
|
+
this.rule.value = e.map(function (item) {
|
362
|
+
return item.value;
|
363
|
+
});
|
364
|
+
}
|
365
|
+
this.rule.valueItem = e;
|
366
|
+
}
|
367
|
+
this.ruleChanged.emit({ component: this, items: this.rule });
|
368
|
+
this.rule.onDemandLabel = '';
|
369
|
+
}
|
370
|
+
onDemandLabel(e) {
|
371
|
+
// if (e.value && (this.rule.onDemandLabel == '????|' || this.rule.onDemandLabel === undefined || this.rule.onDemandLabel === null || this.rule.onDemandLabel === '')) {
|
372
|
+
// this.textBoxNameValue.focus();
|
373
|
+
// }
|
374
|
+
if (e.value == false) {
|
375
|
+
this.rule.onDemandLabel = '';
|
376
|
+
}
|
377
|
+
this.isOnDemandLabel = e.value;
|
378
|
+
}
|
379
|
+
getProvideData = (e) => {
|
380
|
+
if (this.rule &&
|
381
|
+
this.rule.control.options &&
|
382
|
+
this.rule.control.options.dataSource) {
|
383
|
+
return this.rule.control.options.dataSource({
|
384
|
+
...e,
|
385
|
+
optionsData: { ...this.rule.control.options },
|
386
|
+
});
|
387
|
+
}
|
388
|
+
};
|
389
|
+
getOption(name) {
|
390
|
+
return this.rule.control.options ? this.rule.control.options[name] : null;
|
391
|
+
}
|
392
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: AXQueryBuilderRuleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
393
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.0", type: AXQueryBuilderRuleComponent, selector: "ax-query-rule", inputs: { isEditing: "isEditing", rule: "rule", parent: "parent", mode: "mode", fields: "fields" }, outputs: { onRuleDelete: "onRuleDelete", ruleChanged: "ruleChanged" }, host: { classAttribute: "ax ax-query-rule" }, viewQueries: [{ propertyName: "selectBox", first: true, predicate: ["selectBox"], descendants: true }, { propertyName: "selectBoxValue", first: true, predicate: ["selectBoxValue"], descendants: true }, { propertyName: "selectBoxBoolean", first: true, predicate: ["selectBoxBoolean"], descendants: true }, { propertyName: "textBoxNameValue", first: true, predicate: ["textBoxNameValue"], descendants: true }, { propertyName: "form", first: true, predicate: AXValidationFormComponent, descendants: true }], ngImport: i0, template: "<div class=\"condition\" *ngIf=\"parent\">\r\n <div class=\"text {{parent.condition}}\">\r\n <span>{{parent.condition}}</span>\r\n </div>\r\n</div>\r\n<div class=\"handler\">\r\n <i class=\"far fa-grip-lines-vertical\"></i>\r\n</div>\r\n\r\n<div class=\"caption\" [ngClass]=\"{'editable': isEditing}\">\r\n <ng-container *ngIf=\"isEditing;else fieldsTemplate\">\r\n <ax-form-group>\r\n <ax-select-box [readonly]=\"mode == 'edit'\" (selectionChanged)=\"captionChange($event)\" allowNull=\"false\"\r\n [(selectedItems)]=\"rule.dataFieldItem\" textField=\"caption\" valueField=\"dataField\" [items]=\"fields\"\r\n mode=\"single\">\r\n </ax-select-box>\r\n </ax-form-group>\r\n </ng-container>\r\n <ng-template #fieldsTemplate>\r\n <div (click)=\"handleEditClick()\">\r\n {{rule.caption}}\r\n </div>\r\n </ng-template>\r\n</div>\r\n\r\n<div class=\"operator\" [ngClass]=\"{'editable': isEditing,'radius':!showValue}\">\r\n <ng-container *ngIf=\"isEditing;else operatorTemplate\">\r\n <ax-form-group>\r\n <ax-select-box [readonly]=\"mode == 'edit'\" *ngIf=\"showOperatorSelectBox\" [(selectedValues)]=\"rule.operator\"\r\n #selectBox (selectedItemsChange)=\"operatorChange($event)\" allowNull=\"false\" mode=\"single\">\r\n <ax-data-source [provideData]=\"provideDataOperator\">\r\n </ax-data-source>\r\n </ax-select-box>\r\n </ax-form-group>\r\n </ng-container>\r\n <ng-template #operatorTemplate>\r\n <div class=\"text\" (click)=\"handleEditClick()\">\r\n {{('queryBuilder.'+rule.operator) | trans}}\r\n </div>\r\n </ng-template>\r\n</div>\r\n<div *ngIf=\"showValue\" class=\"value\" [ngClass]=\"{'editable': isEditing}\">\r\n <ng-container *ngIf=\"isEditing;else valueTemplate\">\r\n\r\n <div *ngIf=\" rule.control && !isOnDemandLabel\" [ngSwitch]=\"rule.control.type\">\r\n <div *ngSwitchCase=\"'textBox'\">\r\n <ax-form-group>\r\n <ax-text-box (onValueChanged)=\"valueChange($event)\" 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\"\r\n [(value)]=\"rule.value\">\r\n </ax-text-box>\r\n </ax-form-group>\r\n </div>\r\n <div *ngSwitchCase=\"'selectBox'\">\r\n <ax-form-group>\r\n <ax-select-box *ngIf=\"showSelectBox\" [mode]=\"getOption('mode')\"\r\n [remoteOperation]=\"getOption('remoteOperation')\" [valueField]=\"getOption('valueField')\"\r\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\" [textField]=\"getOption('textField')\"\r\n [(selectedItems)]=\"rule.valueItem\" (selectedItemsChange)=\"selectedItemsChange($event)\"\r\n #selectBoxValue>\r\n <ax-data-source [provideData]=\"getProvideData\"></ax-data-source>\r\n </ax-select-box>\r\n </ax-form-group>\r\n </div>\r\n\r\n <div *ngSwitchCase=\"'numberBox'\">\r\n <ax-form-group>\r\n <ax-number-box [decimalNumber]=\"2\" (onValueChanged)=\"valueChange($event)\"\r\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\" [(value)]=\"rule.value\">\r\n </ax-number-box>\r\n </ax-form-group>\r\n </div>\r\n <div *ngSwitchCase=\"'datetime'\">\r\n <ax-date-picker label=\"From\" [(value)]=\"rule.value\" (onValueChanged)=\"valueChange($event)\">\r\n </ax-date-picker>\r\n\r\n </div>\r\n <div *ngSwitchCase=\"'boolean'\">\r\n\r\n <ax-form-group>\r\n <ax-select-box #selectBoxBoolean (selectedItemsChange)=\"valueBooleanChange($event)\"\r\n allowNull=\"false\" [selectedValues]=\"rule.value\" mode=\"single\">\r\n <ax-data-source [provideData]=\"provideDataBoolean\">\r\n </ax-data-source>\r\n </ax-select-box>\r\n </ax-form-group>\r\n\r\n </div>\r\n <div *ngSwitchDefault>\r\n <ax-form-group>\r\n <ax-text-box (onValueChanged)=\"valueChange($event)\" 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\"\r\n [(value)]=\"rule.value\">\r\n </ax-text-box>\r\n\r\n </ax-form-group>\r\n\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"isOnDemandLabel\">\r\n\r\n <ax-text-box #textBoxNameValue [value]=\"getOnDemandName(rule.onDemandLabel)\"\r\n (onValueChanged)=\"onDemandLabelChange($event)\" placeholder=\"\u0646\u0627\u0645 \u0645\u062A\u063A\u06CC\u0631 \u062E\u0648\u062F \u0631\u0627 \u0648\u0627\u0631\u062F \u06A9\u0646\u06CC\u062F\">\r\n <!-- <ax-validation>\r\n <ax-validation-rule type=\"required\"></ax-validation-rule>\r\n </ax-validation> -->\r\n </ax-text-box>\r\n\r\n\r\n </div>\r\n\r\n </ng-container>\r\n <ng-template #valueTemplate>\r\n <div (click)=\"handleEditClick()\">\r\n\r\n {{rule.text}}\r\n\r\n </div>\r\n </ng-template>\r\n</div>\r\n\r\n<div class=\"buttons-list\">\r\n <div *ngIf=\"showValue && isEditing && mode == 'new'\" class=\"button variable\"\r\n [ngClass]=\"{'active-button': isOnDemandLabel}\">\r\n <i class=\"far fa-dollar-sign\"></i>\r\n <ax-check-box [value]=\"isOnDemandLabel\" (onClick)=\"onDemandLabel($event)\">\r\n </ax-check-box>\r\n </div>\r\n\r\n <div class=\"button commit\" (click)=\"handleCommitClick()\" *ngIf=\"isEditing\">\r\n <i class=\"far fa-check\"></i>\r\n </div>\r\n <div class=\"button remove\" (click)=\"handleRemoveClick()\" *ngIf=\"mode == 'new'\">\r\n <i class=\"far fa-times\"></i>\r\n </div>\r\n</div>", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "component", type: i2.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"] }, { kind: "component", type: i3.AXDataSourceComponent, selector: "ax-data-source", inputs: ["provideData", "params"] }, { kind: "component", type: i4.AXTextBoxComponent, selector: "ax-text-box", inputs: ["mask", "type", "showMask", "maxLength", "maskGuid", "maskPlaceholder", "maskKeepCharPositions"] }, { kind: "component", type: i5.AXNumberBoxComponent, selector: "ax-number-box", inputs: ["min", "max", "showSeparator", "showCurrency", "showCounter", "scrollWeel", "showDoubleCounter", "maxLength", "intStep", "decimalNumber", "customStep"] }, { kind: "component", type: i6.AXFormGroupComponent, selector: "ax-form-group", inputs: ["size"] }, { kind: "component", type: i7.AXCheckBoxComponent, selector: "ax-check-box", inputs: ["readonly", "disabled", "size", "label", "tabIndex", "indeterminate", "value"], outputs: ["onValueChanged", "valueChange", "onClick"] }, { kind: "component", type: i8.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"] }, { kind: "pipe", type: i9.AXTranslatorPipe, name: "trans" }], encapsulation: i0.ViewEncapsulation.None });
|
394
|
+
}
|
395
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: AXQueryBuilderRuleComponent, decorators: [{
|
396
|
+
type: Component,
|
397
|
+
args: [{ selector: 'ax-query-rule', host: { class: 'ax ax-query-rule' }, encapsulation: ViewEncapsulation.None, template: "<div class=\"condition\" *ngIf=\"parent\">\r\n <div class=\"text {{parent.condition}}\">\r\n <span>{{parent.condition}}</span>\r\n </div>\r\n</div>\r\n<div class=\"handler\">\r\n <i class=\"far fa-grip-lines-vertical\"></i>\r\n</div>\r\n\r\n<div class=\"caption\" [ngClass]=\"{'editable': isEditing}\">\r\n <ng-container *ngIf=\"isEditing;else fieldsTemplate\">\r\n <ax-form-group>\r\n <ax-select-box [readonly]=\"mode == 'edit'\" (selectionChanged)=\"captionChange($event)\" allowNull=\"false\"\r\n [(selectedItems)]=\"rule.dataFieldItem\" textField=\"caption\" valueField=\"dataField\" [items]=\"fields\"\r\n mode=\"single\">\r\n </ax-select-box>\r\n </ax-form-group>\r\n </ng-container>\r\n <ng-template #fieldsTemplate>\r\n <div (click)=\"handleEditClick()\">\r\n {{rule.caption}}\r\n </div>\r\n </ng-template>\r\n</div>\r\n\r\n<div class=\"operator\" [ngClass]=\"{'editable': isEditing,'radius':!showValue}\">\r\n <ng-container *ngIf=\"isEditing;else operatorTemplate\">\r\n <ax-form-group>\r\n <ax-select-box [readonly]=\"mode == 'edit'\" *ngIf=\"showOperatorSelectBox\" [(selectedValues)]=\"rule.operator\"\r\n #selectBox (selectedItemsChange)=\"operatorChange($event)\" allowNull=\"false\" mode=\"single\">\r\n <ax-data-source [provideData]=\"provideDataOperator\">\r\n </ax-data-source>\r\n </ax-select-box>\r\n </ax-form-group>\r\n </ng-container>\r\n <ng-template #operatorTemplate>\r\n <div class=\"text\" (click)=\"handleEditClick()\">\r\n {{('queryBuilder.'+rule.operator) | trans}}\r\n </div>\r\n </ng-template>\r\n</div>\r\n<div *ngIf=\"showValue\" class=\"value\" [ngClass]=\"{'editable': isEditing}\">\r\n <ng-container *ngIf=\"isEditing;else valueTemplate\">\r\n\r\n <div *ngIf=\" rule.control && !isOnDemandLabel\" [ngSwitch]=\"rule.control.type\">\r\n <div *ngSwitchCase=\"'textBox'\">\r\n <ax-form-group>\r\n <ax-text-box (onValueChanged)=\"valueChange($event)\" 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\"\r\n [(value)]=\"rule.value\">\r\n </ax-text-box>\r\n </ax-form-group>\r\n </div>\r\n <div *ngSwitchCase=\"'selectBox'\">\r\n <ax-form-group>\r\n <ax-select-box *ngIf=\"showSelectBox\" [mode]=\"getOption('mode')\"\r\n [remoteOperation]=\"getOption('remoteOperation')\" [valueField]=\"getOption('valueField')\"\r\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\" [textField]=\"getOption('textField')\"\r\n [(selectedItems)]=\"rule.valueItem\" (selectedItemsChange)=\"selectedItemsChange($event)\"\r\n #selectBoxValue>\r\n <ax-data-source [provideData]=\"getProvideData\"></ax-data-source>\r\n </ax-select-box>\r\n </ax-form-group>\r\n </div>\r\n\r\n <div *ngSwitchCase=\"'numberBox'\">\r\n <ax-form-group>\r\n <ax-number-box [decimalNumber]=\"2\" (onValueChanged)=\"valueChange($event)\"\r\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\" [(value)]=\"rule.value\">\r\n </ax-number-box>\r\n </ax-form-group>\r\n </div>\r\n <div *ngSwitchCase=\"'datetime'\">\r\n <ax-date-picker label=\"From\" [(value)]=\"rule.value\" (onValueChanged)=\"valueChange($event)\">\r\n </ax-date-picker>\r\n\r\n </div>\r\n <div *ngSwitchCase=\"'boolean'\">\r\n\r\n <ax-form-group>\r\n <ax-select-box #selectBoxBoolean (selectedItemsChange)=\"valueBooleanChange($event)\"\r\n allowNull=\"false\" [selectedValues]=\"rule.value\" mode=\"single\">\r\n <ax-data-source [provideData]=\"provideDataBoolean\">\r\n </ax-data-source>\r\n </ax-select-box>\r\n </ax-form-group>\r\n\r\n </div>\r\n <div *ngSwitchDefault>\r\n <ax-form-group>\r\n <ax-text-box (onValueChanged)=\"valueChange($event)\" 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\"\r\n [(value)]=\"rule.value\">\r\n </ax-text-box>\r\n\r\n </ax-form-group>\r\n\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"isOnDemandLabel\">\r\n\r\n <ax-text-box #textBoxNameValue [value]=\"getOnDemandName(rule.onDemandLabel)\"\r\n (onValueChanged)=\"onDemandLabelChange($event)\" placeholder=\"\u0646\u0627\u0645 \u0645\u062A\u063A\u06CC\u0631 \u062E\u0648\u062F \u0631\u0627 \u0648\u0627\u0631\u062F \u06A9\u0646\u06CC\u062F\">\r\n <!-- <ax-validation>\r\n <ax-validation-rule type=\"required\"></ax-validation-rule>\r\n </ax-validation> -->\r\n </ax-text-box>\r\n\r\n\r\n </div>\r\n\r\n </ng-container>\r\n <ng-template #valueTemplate>\r\n <div (click)=\"handleEditClick()\">\r\n\r\n {{rule.text}}\r\n\r\n </div>\r\n </ng-template>\r\n</div>\r\n\r\n<div class=\"buttons-list\">\r\n <div *ngIf=\"showValue && isEditing && mode == 'new'\" class=\"button variable\"\r\n [ngClass]=\"{'active-button': isOnDemandLabel}\">\r\n <i class=\"far fa-dollar-sign\"></i>\r\n <ax-check-box [value]=\"isOnDemandLabel\" (onClick)=\"onDemandLabel($event)\">\r\n </ax-check-box>\r\n </div>\r\n\r\n <div class=\"button commit\" (click)=\"handleCommitClick()\" *ngIf=\"isEditing\">\r\n <i class=\"far fa-check\"></i>\r\n </div>\r\n <div class=\"button remove\" (click)=\"handleRemoveClick()\" *ngIf=\"mode == 'new'\">\r\n <i class=\"far fa-times\"></i>\r\n </div>\r\n</div>" }]
|
398
|
+
}], ctorParameters: function () { return []; }, propDecorators: { selectBox: [{
|
399
|
+
type: ViewChild,
|
400
|
+
args: ['selectBox']
|
401
|
+
}], selectBoxValue: [{
|
402
|
+
type: ViewChild,
|
403
|
+
args: ['selectBoxValue']
|
404
|
+
}], selectBoxBoolean: [{
|
405
|
+
type: ViewChild,
|
406
|
+
args: ['selectBoxBoolean']
|
407
|
+
}], textBoxNameValue: [{
|
408
|
+
type: ViewChild,
|
409
|
+
args: ['textBoxNameValue']
|
410
|
+
}], form: [{
|
411
|
+
type: ViewChild,
|
412
|
+
args: [AXValidationFormComponent]
|
413
|
+
}], isEditing: [{
|
414
|
+
type: Input
|
415
|
+
}], rule: [{
|
416
|
+
type: Input
|
417
|
+
}], parent: [{
|
418
|
+
type: Input
|
419
|
+
}], mode: [{
|
420
|
+
type: Input
|
421
|
+
}], fields: [{
|
422
|
+
type: Input
|
423
|
+
}], onRuleDelete: [{
|
424
|
+
type: Output
|
425
|
+
}], ruleChanged: [{
|
426
|
+
type: Output
|
427
|
+
}] } });
|
428
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktYnVpbGRlci1ydWxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9zcmMvbGliL3F1ZXJ5LWJ1aWxkZXIvcXVlcnktYnVpbGRlci1ydWxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9zcmMvbGliL3F1ZXJ5LWJ1aWxkZXIvcXVlcnktYnVpbGRlci1ydWxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDNUMsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ3BGLE9BQU8sRUFDTCxxQkFBcUIsRUFDckIsbUJBQW1CLEVBQ25CLGtCQUFrQixHQUVuQixNQUFNLHVCQUF1QixDQUFDOzs7Ozs7Ozs7OztBQVEvQixNQUFNLE9BQU8sMkJBQTJCO0lBQ2QsU0FBUyxDQUF1QjtJQUMzQixjQUFjLENBQXVCO0lBRW5DLGdCQUFnQixDQUF1QjtJQUV2QyxnQkFBZ0IsQ0FBcUI7SUFDOUIsSUFBSSxDQUE0QjtJQUV0RSxTQUFTLEdBQVksSUFBSSxDQUFDO0lBRzFCLElBQUksQ0FBcUI7SUFHekIsTUFBTSxDQUFzQjtJQUc1QixJQUFJLEdBQW1CLEtBQUssQ0FBQztJQUc3QixNQUFNLEdBQVUsRUFBRSxDQUFDO0lBR25CLFlBQVksR0FDVixJQUFJLFlBQVksRUFBMkIsQ0FBQztJ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QUFPLENBQUMsT0FBTyxFQUFFO2FBQzlDLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQyxDQUFDO0lBRUYsU0FBUyxDQUFDLElBQVk7UUFDcEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQzVFLENBQUM7dUdBMVpVLDJCQUEyQjsyRkFBM0IsMkJBQTJCLDhyQkFPM0IseUJBQXlCLGdEQ2pDdEMsMjhNQXNJTTs7MkZENUdPLDJCQUEyQjtrQkFOdkMsU0FBUzsrQkFDRSxlQUFlLFFBRW5CLEVBQUUsS0FBSyxFQUFFLGtCQUFrQixFQUFFLGlCQUNwQixpQkFBaUIsQ0FBQyxJQUFJOzBFQUdiLFNBQVM7c0JBQWhDLFNBQVM7dUJBQUMsV0FBVztnQkFDTyxjQUFjO3NCQUExQyxTQUFTO3VCQUFDLGdCQUFnQjtnQkFFSSxnQkFBZ0I7c0JBQTlDLFNBQVM7dUJBQUMsa0JBQWtCO2dCQUVFLGdCQUFnQjtzQkFBOUMsU0FBUzt1QkFBQyxrQkFBa0I7Z0JBQ1MsSUFBSTtzQkFBekMsU0FBUzt1QkFBQyx5QkFBeUI7Z0JBRXBDLFNBQVM7c0JBRFIsS0FBSztnQkFJTixJQUFJO3NCQURILEtBQUs7Z0JBSU4sTUFBTTtzQkFETCxLQUFLO2dCQUlOLElBQUk7c0JBREgsS0FBSztnQkFJTixNQUFNO3NCQURMLEtBQUs7Z0JBSU4sWUFBWTtzQkFEWCxNQUFNO2dCQUtQLFdBQVc7c0JBRFYsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYVHJhbnNsYXRvciB9IGZyb20gJ0BhY29yZXgvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0LFxyXG4gIFZpZXdDaGlsZCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQVhTZWxlY3RCb3hDb21wb25lbnQgfSBmcm9tICcuLi9zZWxlY3Rib3gvc2VsZWN0Ym94LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFYVGV4dEJveENvbXBvbmVudCB9IGZyb20gJy4uL3RleHRib3gvdGV4dGJveC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBWFZhbGlkYXRpb25Gb3JtQ29tcG9uZW50IH0gZnJvbSAnLi4vdmFsaWRhdGlvbi92YWxpZGF0aW9uLWZvcm0uY29tcG9uZW50JztcclxuaW1wb3J0IHtcclxuICBBWFF1ZXJ5QnVpbGRlckNvbnRyb2wsXHJcbiAgQVhRdWVyeUJ1aWxkZXJHcm91cCxcclxuICBBWFF1ZXJ5QnVpbGRlclJ1bGUsXHJcbiAgQVhRdWVyeUJ1aWxkZXJSdWxlRXZlbnQsXHJcbn0gZnJvbSAnLi9xdWVyeS1idWlsZGVyLmNsYXNzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXgtcXVlcnktcnVsZScsXHJcbiAgdGVtcGxhdGVVcmw6ICdxdWVyeS1idWlsZGVyLXJ1bGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIGhvc3Q6IHsgY2xhc3M6ICdheCBheC1xdWVyeS1ydWxlJyB9LFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBWFF1ZXJ5QnVpbGRlclJ1bGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBWaWV3Q2hpbGQoJ3NlbGVjdEJveCcpIHNlbGVjdEJveDogQVhTZWxlY3RCb3hDb21wb25lbnQ7XHJcbiAgQFZpZXdDaGlsZCgnc2VsZWN0Qm94VmFsdWUnKSBzZWxlY3RCb3hWYWx1ZTogQVhTZWxlY3RCb3hDb21wb25lbnQ7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ3NlbGVjdEJveEJvb2xlYW4nKSBzZWxlY3RCb3hCb29sZWFuOiBBWFNlbGVjdEJveENvbXBvbmVudDtcclxuXHJcbiAgQFZpZXdDaGlsZCgndGV4dEJveE5hbWVWYWx1ZScpIHRleHRCb3hOYW1lVmFsdWU6IEFYVGV4dEJveENvbXBvbmVudDtcclxuICBAVmlld0NoaWxkKEFYVmFsaWRhdGlvbkZvcm1Db21wb25lbnQpIGZvcm06IEFYVmFsaWRhdGlvbkZvcm1Db21wb25lbnQ7XHJcbiAgQElucHV0KClcclxuICBpc0VkaXRpbmc6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHJ1bGU6IEFYUXVlcnlCdWlsZGVyUnVsZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwYXJlbnQ6IEFYUXVlcnlCdWlsZGVyR3JvdXA7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgbW9kZTogJ25ldycgfCAnZWRpdCcgPSAnbmV3JztcclxuXHJcbiAgQElucHV0KClcclxuICBmaWVsZHM6IGFueVtdID0gW107XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIG9uUnVsZURlbGV0ZTogRXZlbnRFbWl0dGVyPEFYUXVlcnlCdWlsZGVyUnVsZUV2ZW50PiA9XHJcbiAgICBuZXcgRXZlbnRFbWl0dGVyPEFYUXVlcnlCdWlsZGVyUnVsZUV2ZW50PigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBydWxlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEFYUXVlcnlCdWlsZGVyUnVsZUV2ZW50PiA9XHJcbiAgICBuZXcgRXZlbnRFbWl0dGVyPEFYUXVlcnlCdWlsZGVyUnVsZUV2ZW50PigpO1xyXG5cclxuICBzaG93VmFsdWU6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgaXNPbkRlbWFuZExhYmVsOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIHNob3dTZWxlY3RCb3g6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIHNob3dPcGVyYXRvclNlbGVjdEJveDogYm9vbGVhbiA9IHRydWU7XHJcbiAgY29uc3RydWN0b3IoKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZmllbGRzLmZvckVhY2goKGZpZWxkKSA9PiB7XHJcbiAgICAgIGlmIChmaWVsZC5kYXRhRmllbGQgPT0gdGhpcy5ydWxlLmRhdGFGaWVsZCkge1xyXG4gICAgICAgIHRoaXMucnVsZS5jb250cm9sLm9wdGlvbnMgPSBmaWVsZC5jb250cm9sLm9wdGlvbnM7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMucnVsZS5vbkRlbWFuZExhYmVsKSB7XHJcbiAgICAgIHRoaXMuaXNPbkRlbWFuZExhYmVsID0gdHJ1ZTtcclxuICAgIH1cclxuICB9XHJcbiAgcHJvdmlkZURhdGFCb29sZWFuID0gKGUpID0+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xyXG4gICAgICByZXNvbHZlKFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICB2YWx1ZTogJ3RydWUnLFxyXG4gICAgICAgICAgdGV4dDogQVhUcmFuc2xhdG9yLmdldCgncXVlcnlCdWlsZGVyLnRydWUnKSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIHZhbHVlOiAnZmFsc2UnLFxyXG4gICAgICAgICAgdGV4dDogQVhUcmFuc2xhdG9yLmdldCgncXVlcnlCdWlsZGVyLmZhbHNlJyksXHJcbiAgICAgICAgfSxcclxuICAgICAgXSk7XHJcbiAgICB9KTtcclxuICB9O1xyXG5cclxuICBzYXZlUnVsZSgpIHtcclxuICAgIHRoaXMuZm9ybS52YWxpZGF0ZSgpLnRoZW4oKGMpID0+IHt9KTtcclxuICB9XHJcblxyXG4gIHByb3ZpZGVEYXRhT3BlcmF0b3IgPSAoZSkgPT4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XHJcbiAgICAgIGlmICh0aGlzLnJ1bGUuZGF0YVR5cGUgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgICAgaWYgKFxyXG4gICAgICAgICAgdGhpcy5ydWxlICYmXHJcbiAgICAgICAgICB0aGlzLnJ1bGUuY29udHJvbCAmJlxyXG4gICAgICAgICAgdGhpcy5ydWxlLmNvbnRyb2wudHlwZSAmJlxyXG4gICAgICAgICAgdGhpcy5ydWxlLmNvbnRyb2wudHlwZSA9PSAnc2VsZWN0Qm94J1xyXG4gICAgICAgICkge1xyXG4gICAgICAgICAgaWYgKHRoaXMucnVsZS5jb250cm9sLm9wdGlvbnMubW9kZSA9PSAnbXVsdGlwbGUnKSB7XHJcbiAgICAgICAgICAgIHJlc29sdmUoW1xyXG4gICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHZhbHVlOiAnY29udGFpbnMnLFxyXG4gICAgICAgICAgICAgICAgdGV4dDogQVhUcmFuc2xhdG9yLmdldCgncXVlcnlCdWlsZGVyLmNvbnRhaW5zJyksXHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogJ25vdC1jb250YWlucycsXHJcbiAgICAgICAgICAgICAgICB0ZXh0OiBBWFRyYW5zbGF0b3IuZ2V0KCdxdWVyeUJ1aWxkZXIubm90LWNvbnRhaW5zJyksXHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogJ2NvbnRhaW5zLWFsbCcsXHJcbiAgICAgICAgICAgICAgICB0ZXh0OiBBWFRyYW5zbGF0b3IuZ2V0KCdxdWVyeUJ1aWxkZXIuY29udGFpbnMtYWxsJyksXHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogJ251bGwnLFxyXG4gICAgICAgICAgICAgICAgdGV4dDogQVhUcmFuc2xhdG9yLmdldCgncXVlcnlCdWlsZGVyLm51bGwnKSxcclxuICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHZhbHVlOiAnbm90LW51bGwnLFxyXG4gICAgICAgICAgICAgICAgdGV4dDogQVhUcmFuc2xhdG9yLmdldCgncXVlcnlCdWlsZGVyLm5vdC1udWxsJyksXHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgXSk7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXNvbHZlKFtcclxuICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogJ2VxdWFsJyxcclxuICAgICAgICAgICAgICAgIHRleHQ6IEFYVHJhbnNsYXRvci5nZXQoJ3F1ZXJ5QnVpbGRlci5lcXVhbCcpLFxyXG4gICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgdmFsdWU6ICdub3QtZXF1YWwnLFxyXG4gICAgICAgICAgICAgICAgdGV4dDogQVhUcmFuc2xhdG9yLmdldCgncXVlcnlCdWlsZGVyLm5vdC1lcXVhbCcpLFxyXG4gICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgdmFsdWU6ICdudWxsJyxcclxuICAgICAgICAgICAgICAgIHRleHQ6IEFYVHJhbnNsYXRvci5nZXQoJ3F1ZXJ5QnVpbGRlci5udWxsJyksXHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogJ25vdC1udWxsJyxcclxuICAgICAgICAgICAgICAgIHRleHQ6IEFYVHJhbnNsYXRvci5nZXQoJ3F1ZXJ5QnVpbGRlci5ub3QtbnVsbCcpLFxyXG4gICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIF0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICByZXNvbHZlKFtcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgIHZhbHVlOiAnZXF1YWwnLFxyXG4gICAgICAgICAgICAgIHRleHQ6IEFYVHJhbnNsYXRvci5nZXQoJ3F1ZXJ5QnVpbGRlci5lcXVhbCcpLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgdmFsdWU6ICdjb250YWlucycsXHJcbiAgICAgICAgICAgICAgdGV4dDogQVhUcmFuc2xhdG9yLmdldCgncXVlcnlCdWlsZGVyLmNvbnRhaW5zJyksXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICB2YWx1ZTogJ3N0YXJ0LXdpdGgnLFxyXG4gICAgICAgICAgICAgIHRleHQ6IEFYVHJhbnNsYXRvci5nZXQoJ3F1ZXJ5QnVpbGRlci5zdGFydC13aXRoJyksXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICB2YWx1ZTogJ2VuZC13aXRoJyxcclxuICAgICAgICAgICAgICB0ZXh0OiBBWFRyYW5zbGF0b3IuZ2V0KCdxdWVyeUJ1aWxkZXIuZW5kLXdpdGgnKSxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgIHZhbHVlOiAnbm90LWVxdWFsJyxcclxuICAgICAgICAgICAgICB0ZXh0OiBBWFRyYW5zbGF0b3IuZ2V0KCdxdWVyeUJ1aWxkZXIubm90LWVxdWFsJyksXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICB2YWx1ZTogJ251bGwnLFxyXG4gICAgICAgICAgICAgIHRleHQ6IEFYVHJhbnNsYXRvci5nZXQoJ3F1ZXJ5QnVpbGRlci5udWxsJyksXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICB2YWx1ZTogJ25vdC1udWxsJyxcclxuICAgICAgICAgICAgICB0ZXh0OiBBWFRyYW5zbGF0b3IuZ2V0KCdxdWVyeUJ1aWxkZXIubm90LW51bGwnKSxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgIF0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5ydWxlLmRhdGFUeXBlID09PSAnbnVtYmVyJykge1xyXG4gICAgICAgIHJlc29sdmUoW1xyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB2YWx1ZTogJ2VxdWFsJyxcclxuICAgICAgICAgICAgdGV4dDogQVhUcmFuc2xhdG9yLmdldCgncXVlcnlCdWlsZGVyLmVxdWFsJyksXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB2YWx1ZTogJ2d0JyxcclxuICAgICAgICAgICAgdGV4dDogQVhUcmFuc2xhdG9yLmdldCgncXVlcnlCdWlsZGVyLmdyZWF0ZXItdGhhbicpLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgdmFsdWU6ICdndGUnLFxyXG4gICAgICAgICAgICB0ZXh0OiBBWFRyYW5zbGF0b3IuZ2V0KCdxdWVyeUJ1aWxkZXIuZ3JlYXRlci10aGFuLWVxdWFsJyksXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB2YWx1ZTogJ2x0JyxcclxuICAgICAgICAgICAgdGV4dDogQVhUcmFuc2xhdG9yLmdldCgncXVlcnlCdWlsZGVyLmxlc3MtdGhhbicpLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgdmFsdWU6ICdsdGUnLFxyXG4gICAgICAgICAgICB0ZXh0OiBBWFRyYW5zbGF0b3IuZ2V0KCdxdWVyeUJ1aWxkZXIubGVzcy10aGFuLWVxdWFsJyksXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB2YWx1ZTogJ25vdC1lcXVhbCcsXHJcbiAgICAgICAgICAgIHRleHQ6IEFYVHJhbnNsYXRvci5nZXQoJ3F1ZXJ5QnVpbGRlci5ub3QtZXF1YWwnKSxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHZhbHVlOiAnbnVsbCcsXHJcbiAgICAgICAgICAgIHRleHQ6IEFYVHJhbnNsYXRvci5nZXQoJ3F1ZXJ5QnVpbGRlci5udWxsJyksXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB2YWx1ZTogJ25vdC1udWxsJyxcclxuICAgICAgICAgICAgdGV4dDogQVhUcmFuc2xhdG9yLmdldCgncXVlcnlCdWlsZGVyLm5vdC1udWxsJyksXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIF0pO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLnJ1bGUuZGF0YVR5cGUgPT09ICdib29sZWFuJykge1xyXG4gICAgICAgIHJlc29sdmUoW1xyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB2YWx1ZTogJ2VxdWFsJyxcclxuICAgICAgICAgICAgdGV4dDogQVhUcmFuc2xhdG9yLmdldCgncXVlcnlCdWlsZGVyLmVxdWFsJyksXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB2YWx1ZTogJ251bGwnLFxyXG4gICAgICAgICAgICB0ZXh0OiBBWFRyYW5zbGF0b3IuZ2V0KCdxdWVyeUJ1aWxkZXIubnVsbCcpLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgdmFsdWU6ICdub3QtbnVsbCcsXHJcbiAgICAgICAgICAgIHRleHQ6IEFYVHJhbnNsYXRvci5nZXQoJ3F1ZXJ5QnVpbGRlci5ub3QtbnVsbCcpLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICBdKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5ydWxlLmRhdGFUeXBlID09PSAnZGF0ZXRpbWUnIHx8IHRoaXMucnVsZS5kYXRhVHlwZSA9PT0gJ2RhdGUnKSB7XHJcbiAgICAgICAgcmVzb2x2ZShbXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHZhbHVlOiAnZXF1YWwnLFxyXG4gICAgICAgICAgICB0ZXh0OiBBWFRyYW5zbGF0b3IuZ2V0KCdxdWVyeUJ1aWxkZXIuZXF1YWwnKSxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHZhbHVlOiAnZ3QnLFxyXG4gICAgICAgICAgICB0ZXh0OiBBWFRyYW5zbGF0b3IuZ2V0KCdxdWVyeUJ1aWxkZXIuZ3JlYXRlci10aGFuJyksXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB2YWx1ZTogJ2d0ZScsXHJcbiAgICAgICAgICAgIHRleHQ6IEFYVHJhbnNsYXRvci5nZXQoJ3F1ZXJ5QnVpbGRlci5ncmVhdGVyLXRoYW4tZXF1YWwnKSxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHZhbHVlOiAnbHQnLFxyXG4gICAgICAgICAgICB0ZXh0OiBBWFRyYW5zbGF0b3IuZ2V0KCdxdWVyeUJ1aWxkZXIubGVzcy10aGFuJyksXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB2YWx1ZTogJ2x0ZScsXHJcbiAgICAgICAgICAgIHRleHQ6IEFYVHJhbnNsYXRvci5nZXQoJ3F1ZXJ5QnVpbGRlci5sZXNzLXRoYW4tZXF1YWwnKSxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHZhbHVlOiAnbm90LWVxdWFsJyxcclxuICAgICAgICAgICAgdGV4dDogQVhUcmFuc2xhdG9yLmdldCgncXVlcnlCdWlsZGVyLm5vdC1lcXVhbCcpLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgdmFsdWU6ICdudWxsJyxcclxuICAgICAgICAgICAgdGV4dDogQVhUcmFuc2xhdG9yLmdldCgncXVlcnlCdWlsZGVyLm51bGwnKSxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHZhbHVlOiAnbm90LW51bGwnLFxyXG4gICAgICAgICAgICB0ZXh0OiBBWFRyYW5zbGF0b3IuZ2V0KCdxdWVyeUJ1aWxkZXIubm90LW51bGwnKSxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgXSk7XHJcbiAgICAgIH1cclxuICAgICAgcmVzb2x2ZShbXSk7XHJcbiAgICB9KTtcclxuICB9O1xyXG5cclxuICBoYW5kbGVFZGl0Q2xpY2soKSB7XHJcbiAgICB0aGlzLmlzRWRpdGluZyA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBoYW5kbGVDb21taXRDbGljaygpIHtcclxuICAgIHRoaXMuaXNFZGl0aW5nID0gZmFsc2U7XHJcbiAgICB0aGlzLnJ1bGVDaGFuZ2VkLmVtaXQoeyBpdGVtczogdGhpcy5ydWxlLCBjb21wb25lbnQ6IHRoaXMgfSk7XHJcbiAgfVxyXG4gIGhhbmRsZVJlbW92ZUNsaWNrKCkge1xyXG4gICAgdGhpcy5vblJ1bGVEZWxldGUuZW1pdCh7IGl0ZW1zOiB0aGlzLnJ1bGUsIGNvbXBvbmVudDogdGhpcyB9KTtcclxuICB9XHJcbiAgY2FwdGlvbkNoYW5nZShlKSB7XHJcbiAgICBpZiAoZS5zZWxlY3RlZEl0ZW1zWzBdKSB7XHJcbiAgICAgIHRoaXMucnVsZS5jYXB0aW9uID0gZS5zZWxlY3RlZEl0ZW1zWzBdLmNhcHRpb247XHJcbiAgICAgIHRoaXMucnVsZS5kYXRhRmllbGQgPSBlLnNlbGVjdGVkSXRlbXNbMF0uZGF0YUZpZWxkO1xyXG4gICAgICB0aGlzLnJ1bGUuZGF0YVR5cGUgPSBlLnNlbGVjdGVkSXRlbXNbMF0uZGF0YVR5cGU7XHJcbiAgICAgIHRoaXMucnVsZS5jb250cm9sID1cclxuICAgICAgICBlLnNlbGVjdGVkSXRlbXNbMF0uY29udHJvbCB8fCBuZXcgQVhRdWVyeUJ1aWxkZXJDb250cm9sKCk7XHJcbiAgICAgIHRoaXMucnVsZS5kYXRhRmllbGRJdGVtWzBdID0gZS5zZWxlY3RlZEl0ZW1zWzBdO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLnNlbGVjdEJveCkge1xyXG4gICAgICBpZiAoXHJcbiAgICAgICAgdGhpcy5ydWxlLmNvbnRyb2wudHlwZSA9PT0gJ3NlbGVjdEJveCcgJiZcclxuICAgICAgICB0aGlzLnJ1bGUuY29udHJvbC5vcHRpb25zLm1vZGUgPT0gJ211bHRpcGxlJ1xyXG4gICAgICApIHtcclxuICAgICAgICB0aGlzLnJ1bGUub3BlcmF0b3IgPSAnY29udGFpbnMnO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMucnVsZS5vcGVyYXRvciA9ICdlcXVhbCc7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5zZWxlY3RCb3gucmVmcmVzaCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuc2hvd09wZXJhdG9yU2VsZWN0Qm94ID0gZmFsc2U7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5zaG93T3BlcmF0b3JTZWxlY3RCb3ggPSB0cnVlO1xyXG4gICAgfSwgMjApO1xyXG5cclxuICAgIHRoaXMucnVsZS52YWx1ZSA9IG51bGw7XHJcbiAgICB0aGlzLnJ1bGUudmFsdWVJdGVtID0gW107XHJcbiAgICB0aGlzLnJ1bGUudGV4dCA9ICcnO1xyXG5cclxuICAgIGlmICh0aGlzLnJ1bGUuY29udHJvbC50eXBlID09PSAnc2VsZWN0Qm94JyAmJiB0aGlzLnNlbGVjdEJveFZhbHVlKSB7XHJcbiAgICAgIHRoaXMuc2hvd1NlbGVjdEJveCA9IGZhbHNlO1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICB0aGlzLnNob3dTZWxlY3RCb3ggPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuc2VsZWN0Qm94VmFsdWUucmVmcmVzaCgpO1xyXG4gICAgICB9LCAyMCk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5ydWxlLmNvbnRyb2wudHlwZSA9PSAnYm9vbGVhbicpIHtcclxuICAgICAgdGhpcy5zZWxlY3RCb3hCb29sZWFuLnJlZnJlc2goKTtcclxuICAgIH1cclxuICAgIHRoaXMucnVsZUNoYW5nZWQuZW1pdCh7IGNvbXBvbmVudDogdGhpcywgaXRlbXM6IHRoaXMucnVsZSB9KTtcclxuICB9XHJcblxyXG4gIG9wZXJhdG9yQ2hhbmdlKGUpIHtcclxuICAgIHRoaXMucnVsZS5vcGVyYXRvciA9IGVbMF0udmFsdWU7XHJcbiAgICB0aGlzLnJ1bGVDaGFuZ2VkLmVtaXQoeyBjb21wb25lbnQ6IHRoaXMsIGl0ZW1zOiB0aGlzLnJ1bGUgfSk7XHJcblxyXG4gICAgaWYgKGVbMF0udmFsdWUgIT09ICdudWxsJyAmJiBlWzBdLnZhbHVlICE9PSAnbm90LW51bGwnKSB7XHJcbiAgICAgIHRoaXMuc2hvd1ZhbHVlID0gdHJ1ZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2hvd1ZhbHVlID0gZmFsc2U7XHJcbiAgICAgIHRoaXMucnVsZS52YWx1ZSA9ICcnO1xyXG4gICAgICB0aGlzLnJ1bGUudGV4dCA9ICcnO1xyXG4gICAgICB0aGlzLnJ1bGUudmFsdWVJdGVtID0gW107XHJcbiAgICAgIHRoaXMucnVsZS5vbkRlbWFuZExhYmVsID0gJyc7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHZhbHVlQ2hhbmdlKGUpIHtcclxuICAgIC8vIHRoaXMucnVsZS50ZXh0ID0gZS52YWx1ZSA9PSB1bmRlZmluZWQgPyBlWzBdLnZhbHVlIDogKGUudmFsdWUgPT0gbnVsbCA/ICcnIDogZS52YWx1ZSk7XHJcblxyXG4gICAgdGhpcy5ydWxlLnRleHQgPSBlWzBdXHJcbiAgICAgID8gZVswXS52YWx1ZSA9PSBudWxsXHJcbiAgICAgICAgPyAnJ1xyXG4gICAgICAgIDogZVswXS52YWx1ZVxyXG4gICAgICA6IGUudmFsdWUgPT0gbnVsbFxyXG4gICAgICA/ICcnXHJcbiAgICAgIDogZS52YWx1ZTtcclxuICAgIHRoaXMucnVsZS5vbkRlbWFuZExhYmVsID0gJyc7XHJcbiAgICB0aGlzLnJ1bGVDaGFuZ2VkLmVtaXQoeyBjb21wb25lbnQ6IHRoaXMsIGl0ZW1zOiB0aGlzLnJ1bGUgfSk7XHJcbiAgfVxyXG4gIG9uRGVtYW5kTGFiZWxDaGFuZ2UoZSkge1xyXG4gICAgLy8gdGhpcy5ydWxlLm9uRGVtYW5kTGFiZWwgPSBlLnZhbHVlID09IHVuZGVmaW5lZCA/ICc/Pz8/fCcgKyBlWzBdLnZhbHVlIDogJz8/Pz98JyArIGUudmFsdWU7XHJcbiAgICB0aGlzLnJ1bGUub25EZW1hbmRMYWJlbCA9IGVbMF1cclxuICAgICAgPyAnPz8/P3wnICsgKGVbMF0udmFsdWUgPT0gbnVsbCA/ICcnIDogZVswXS52YWx1ZSlcclxuICAgICAgOiAnPz8/P3wnICsgKGUudmFsdWUgPT0gbnVsbCA/ICcnIDogZS52YWx1ZSk7XHJcbiAgICB0aGlzLnJ1bGUudmFsdWUgPSAnJztcclxuICAgIHRoaXMucnVsZS50ZXh0ID0gJyc7XHJcbiAgICB0aGlzLnJ1bGUudmFsdWVJdGVtID0gW107XHJcblxyXG4gICAgdGhpcy5ydWxlQ2hhbmdlZC5lbWl0KHsgY29tcG9uZW50OiB0aGlzLCBpdGVtczogdGhpcy5ydWxlIH0pO1xyXG4gIH1cclxuICB2YWx1ZUJvb2xlYW5DaGFuZ2UoZSkge1xyXG4gICAgLy8gdGhpcy5ydWxlLnRleHQgPSBlLnZhbHVlID09IHVuZGVmaW5lZCA/IGVbMF0udmFsdWUgOiAoZS52YWx1ZSA9PSBudWxsID8gJycgOiBlLnZhbHVlKTtcclxuICAgIHRoaXMucnVsZS50ZXh0ID0gZVswXVxyXG4gICAgICA/IGVbMF0udmFsdWUgPT0gbnVsbFxyXG4gICAgICAgID8gJydcclxuICAgICAgICA6IGVbMF0udmFsdWVcclxuICAgICAgOiBlLnZhbHVlID09IG51bGxcclxuICAgICAgPyAnJ1xyXG4gICAgICA6IGUudmFsdWU7XHJcbiAgICB0aGlzLnJ1bGUudmFsdWUgPSBlLnZhbHVlID09IHVuZGVmaW5lZCA/IGVbMF0udmFsdWUgOiBlLnZhbHVlO1xyXG4gICAgdGhpcy5ydWxlLm9uRGVtYW5kTGFiZWwgPSAnJztcclxuICAgIHRoaXMucnVsZUNoYW5nZWQuZW1pdCh7IGNvbXBvbmVudDogdGhpcywgaXRlbXM6IHRoaXMucnVsZSB9KTtcclxuICB9XHJcbiAgZ2V0T25EZW1hbmROYW1lKHYpIHtcclxuICAgIHJldHVybiB2ID8gdi5zcGxpdCgnfCcpWzFdIDogJyc7XHJcbiAgfVxyXG4gIHNlbGVjdGVkSXRlbXNDaGFuZ2UoZSkge1xyXG4gICAgbGV0IG4gPSB0aGlzLmdldE9wdGlvbigndGV4dEZpZWxkJyk7XHJcblxyXG4gICAgaWYgKHRoaXMucnVsZS5jb250cm9sLm9wdGlvbnMubW9kZSA9PT0gJ3NpbmdsZScpIHtcclxuICAgICAgdGhpcy5ydWxlLnRleHQgPSBlWzBdW25dO1xyXG4gICAgICBpZiAodGhpcy5ydWxlICYmIHRoaXMucnVsZS5jb250cm9sLm9wdGlvbnMudmFsdWVGaWVsZCkge1xyXG4gICAgICAgIHRoaXMucnVsZS52YWx1ZSA9IGVbMF1bdGhpcy5ydWxlLmNvbnRyb2wub3B0aW9ucy52YWx1ZUZpZWxkXTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnJ1bGUudmFsdWUgPSBlWzBdLnZhbHVlO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMucnVsZS52YWx1ZUl0ZW1bMF0gPSBlWzBdO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5ydWxlLnRleHQgPSBlLm1hcCgoeCkgPT4geFtuXSkuam9pbignLSAnKTtcclxuICAgICAgY29uc3QgVEhBVCA9IHRoaXM7XHJcbiAgICAgIGlmIChUSEFULnJ1bGUgJiYgVEhBVC5ydWxlLmNvbnRyb2wub3B0aW9ucy52YWx1ZUZpZWxkKSB7XHJcbiAgICAgICAgVEhBVC5ydWxlLnZhbHVlID0gZS5tYXAoZnVuY3Rpb24gKGl0ZW0pIHtcclxuICAgICAgICAgIHJldHVybiBpdGVtW1RIQVQucnVsZS5jb250cm9sLm9wdGlvbnMudmFsdWVGaWVsZF07XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5ydWxlLnZhbHVlID0gZS5tYXAoZnVuY3Rpb24gKGl0ZW0pIHtcclxuICAgICAgICAgIHJldHVybiBpdGVtLnZhbHVlO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMucnVsZS52YWx1ZUl0ZW0gPSBlO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMucnVsZUNoYW5nZWQuZW1pdCh7IGNvbXBvbmVudDogdGhpcywgaXRlbXM6IHRoaXMucnVsZSB9KTtcclxuICAgIHRoaXMucnVsZS5vbkRlbWFuZExhYmVsID0gJyc7XHJcbiAgfVxyXG4gIG9uRGVtYW5kTGFiZWwoZSkge1xyXG4gICAgLy8gaWYgKGUudmFsdWUgJiYgKHRoaXMucnVsZS5vbkRlbWFuZExhYmVsID09ICc/Pz8/fCcgfHwgdGhpcy5ydWxlLm9uRGVtYW5kTGFiZWwgPT09IHVuZGVmaW5lZCB8fCB0aGlzLnJ1bGUub25EZW1hbmRMYWJlbCA9PT0gbnVsbCB8fCB0aGlzLnJ1bGUub25EZW1hbmRMYWJlbCA9PT0gJycpKSB7XHJcbiAgICAvLyAgIHRoaXMudGV4dEJveE5hbWVWYWx1ZS5mb2N1cygpO1xyXG4gICAgLy8gfVxyXG4gICAgaWYgKGUudmFsdWUgPT0gZmFsc2UpIHtcclxuICAgICAgdGhpcy5ydWxlLm9uRGVtYW5kTGFiZWwgPSAnJztcclxuICAgIH1cclxuICAgIHRoaXMuaXNPbkRlbWFuZExhYmVsID0gZS52YWx1ZTtcclxuICB9XHJcbiAgZ2V0UHJvdmlkZURhdGEgPSAoZSkgPT4ge1xyXG4gICAgaWYgKFxyXG4gICAgICB0aGlzLnJ1bGUgJiZcclxuICAgICAgdGhpcy5ydWxlLmNvbnRyb2wub3B0aW9ucyAmJlxyXG4gICAgICB0aGlzLnJ1bGUuY29udHJvbC5vcHRpb25zLmRhdGFTb3VyY2VcclxuICAgICkge1xyXG4gICAgICByZXR1cm4gdGhpcy5ydWxlLmNvbnRyb2wub3B0aW9ucy5kYXRhU291cmNlKHtcclxuICAgICAgICAuLi5lLFxyXG4gICAgICAgIG9wdGlvbnNEYXRhOiB7IC4uLnRoaXMucnVsZS5jb250cm9sLm9wdGlvbnMgfSxcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfTtcclxuXHJcbiAgZ2V0T3B0aW9uKG5hbWU6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIHRoaXMucnVsZS5jb250cm9sLm9wdGlvbnMgPyB0aGlzLnJ1bGUuY29udHJvbC5vcHRpb25zW25hbWVdIDogbnVsbDtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImNvbmRpdGlvblwiICpuZ0lmPVwicGFyZW50XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwidGV4dCB7e3BhcmVudC5jb25kaXRpb259fVwiPlxyXG4gICAgICAgIDxzcGFuPnt7cGFyZW50LmNvbmRpdGlvbn19PC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG48ZGl2IGNsYXNzPVwiaGFuZGxlclwiPlxyXG4gICAgPGkgY2xhc3M9XCJmYXIgZmEtZ3JpcC1saW5lcy12ZXJ0aWNhbFwiPjwvaT5cclxuPC9kaXY+XHJcblxyXG48ZGl2IGNsYXNzPVwiY2FwdGlvblwiIFtuZ0NsYXNzXT1cInsnZWRpdGFibGUnOiBpc0VkaXRpbmd9XCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNFZGl0aW5nO2Vsc2UgZmllbGRzVGVtcGxhdGVcIj5cclxuICAgICAgICA8YXgtZm9ybS1ncm91cD5cclxuICAgICAgICAgICAgPGF4LXNlbGVjdC1ib3ggW3JlYWRvbmx5XT1cIm1vZGUgPT0gJ2VkaXQnXCIgKHNlbGVjdGlvbkNoYW5nZWQpPVwiY2FwdGlvbkNoYW5nZSgkZXZlbnQpXCIgYWxsb3dOdWxsPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgWyhzZWxlY3RlZEl0ZW1zKV09XCJydWxlLmRhdGFGaWVsZEl0ZW1cIiB0ZXh0RmllbGQ9XCJjYXB0aW9uXCIgdmFsdWVGaWVsZD1cImRhdGFGaWVsZFwiIFtpdGVtc109XCJmaWVsZHNcIlxyXG4gICAgICAgICAgICAgICAgbW9kZT1cInNpbmdsZVwiPlxyXG4gICAgICAgICAgICA8L2F4LXNlbGVjdC1ib3g+XHJcbiAgICAgICAgPC9heC1mb3JtLWdyb3VwPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8bmctdGVtcGxhdGUgI2ZpZWxkc1RlbXBsYXRlPlxyXG4gICAgICAgIDxkaXYgKGNsaWNrKT1cImhhbmRsZUVkaXRDbGljaygpXCI+XHJcbiAgICAgICAgICAgIHt7cnVsZS5jYXB0aW9ufX1cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbjwvZGl2PlxyXG5cclxuPGRpdiBjbGFzcz1cIm9wZXJhdG9yXCIgW25nQ2xhc3NdPVwieydlZGl0YWJsZSc6IGlzRWRpdGluZywncmFkaXVzJzohc2hvd1ZhbHVlfVwiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzRWRpdGluZztlbHNlIG9wZXJhdG9yVGVtcGxhdGVcIj5cclxuICAgICAgICA8YXgtZm9ybS1ncm91cD5cclxuICAgICAgICAgICAgPGF4LXNlbGVjdC1ib3ggW3JlYWRvbmx5XT1cIm1vZGUgPT0gJ2VkaXQnXCIgKm5nSWY9XCJzaG93T3BlcmF0b3JTZWxlY3RCb3hcIiBbKHNlbGVjdGVkVmFsdWVzKV09XCJydWxlLm9wZXJhdG9yXCJcclxuICAgICAgICAgICAgICAgICNzZWxlY3RCb3ggKHNlbGVjdGVkSXRlbXNDaGFuZ2UpPVwib3BlcmF0b3JDaGFuZ2UoJGV2ZW50KVwiIGFsbG93TnVsbD1cImZhbHNlXCIgbW9kZT1cInNpbmdsZVwiPlxyXG4gICAgICAgICAgICAgICAgPGF4LWRhdGEtc291cmNlIFtwcm92aWRlRGF0YV09XCJwcm92aWRlRGF0YU9wZXJhdG9yXCI+XHJcbiAgICAgICAgICAgICAgICA8L2F4LWRhdGEtc291cmNlPlxyXG4gICAgICAgICAgICA8L2F4LXNlbGVjdC1ib3g+XHJcbiAgICAgICAgPC9heC1mb3JtLWdyb3VwPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8bmctdGVtcGxhdGUgI29wZXJhdG9yVGVtcGxhdGU+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInRleHRcIiAoY2xpY2spPVwiaGFuZGxlRWRpdENsaWNrKClcIj5cclxuICAgICAgICAgICAge3soJ3F1ZXJ5QnVpbGRlci4nK3J1bGUub3BlcmF0b3IpIHwgdHJhbnN9fVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuPC9kaXY+XHJcbjxkaXYgKm5nSWY9XCJzaG93VmFsdWVcIiBjbGFzcz1cInZhbHVlXCIgW25nQ2xhc3NdPVwieydlZGl0YWJsZSc6IGlzRWRpdGluZ31cIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc0VkaXRpbmc7ZWxzZSB2YWx1ZVRlbXBsYXRlXCI+XHJcblxyXG4gICAgICAgIDxkaXYgKm5nSWY9XCIgcnVsZS5jb250cm9sICYmICFpc09uRGVtYW5kTGFiZWxcIiBbbmdTd2l0Y2hdPVwicnVsZS5jb250cm9sLnR5cGVcIj5cclxuICAgICAgICAgICAgPGRpdiAqbmdTd2l0Y2hDYXNlPVwiJ3RleHRCb3gnXCI+XHJcbiAgICAgICAgICAgICAgICA8YXgtZm9ybS1ncm91cD5cclxuICAgICAgICAgICAgICAgICAgICA8YXgtdGV4dC1ib3ggKG9uVmFsdWVDaGFuZ2VkKT1cInZhbHVlQ2hhbmdlKCRldmVudClcIiBwbGFjZWhvbGRlcj1cItmF2YLYr9in2LEg2YXZiNix2K8g2YbYuNixINiu2YjYryDYsdinINmI2KfYsdivINqp2YbbjNivXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgWyh2YWx1ZSldPVwicnVsZS52YWx1ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvYXgtdGV4dC1ib3g+XHJcbiAgICAgICAgICAgICAgICA8L2F4LWZvcm0tZ3JvdXA+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ1N3aXRjaENhc2U9XCInc2VsZWN0Qm94J1wiPlxyXG4gICAgICAgICAgICAgICAgPGF4LWZvcm0tZ3JvdXA+XHJcbiAgICAgICAgICAgICAgICAgICAgPGF4LXNlbGVjdC1ib3ggKm5nSWY9XCJzaG93U2VsZWN0Qm94XCIgW21vZGVdPVwiZ2V0T3B0aW9uKCdtb2RlJylcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbcmVtb3RlT3BlcmF0aW9uXT1cImdldE9wdGlvbigncmVtb3RlT3BlcmF0aW9uJylcIiBbdmFsdWVGaWVsZF09XCJnZXRPcHRpb24oJ3ZhbHVlRmllbGQnKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwi2YXZgtiv2KfYsSDZhdmI2LHYryDZhti42LEg2K7ZiNivINix2Kcg2YjYp9ix2K8g2qnZhtuM2K9cIiBbdGV4dEZpZWxkXT1cImdldE9wdGlvbigndGV4dEZpZWxkJylcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbKHNlbGVjdGVkSXRlbXMpXT1cInJ1bGUudmFsdWVJdGVtXCIgKHNlbGVjdGVkSXRlbXNDaGFuZ2UpPVwic2VsZWN0ZWRJdGVtc0NoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgI3NlbGVjdEJveFZhbHVlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8YXgtZGF0YS1zb3VyY2UgW3Byb3ZpZGVEYXRhXT1cImdldFByb3ZpZGVEYXRhXCI+PC9heC1kYXRhLXNvdXJjZT5cclxuICAgICAgICAgICAgICAgICAgICA8L2F4LXNlbGVjdC1ib3g+XHJcbiAgICAgICAgICAgICAgICA8L2F4LWZvcm0tZ3JvdXA+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiAqbmdTd2l0Y2hDYXNlPVwiJ251bWJlckJveCdcIj5cclxuICAgICAgICAgICAgICAgIDxheC1mb3JtLWdyb3VwPlxyXG4gICAgICAgICAgICAgICAgICAgIDxheC1udW1iZXItYm94IFtkZWNpbWFsTnVtYmVyXT1cIjJcIiAob25WYWx1ZUNoYW5nZWQpPVwidmFsdWVDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwi2YXZgtiv2KfYsSDZhdmI2LHYryDZhti42LEg2K7ZiNivINix2Kcg2YjYp9ix2K8g2qnZhtuM2K9cIiBbKHZhbHVlKV09XCJydWxlLnZhbHVlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9heC1udW1iZXItYm94PlxyXG4gICAgICAgICAgICAgICAgPC9heC1mb3JtLWdyb3VwPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiAqbmdTd2l0Y2hDYXNlPVwiJ2RhdGV0aW1lJ1wiPlxyXG4gICAgICAgICAgICAgICAgPGF4LWRhdGUtcGlja2VyIGxhYmVsPVwiRnJvbVwiIFsodmFsdWUpXT1cInJ1bGUudmFsdWVcIiAob25WYWx1ZUNoYW5nZWQpPVwidmFsdWVDaGFuZ2UoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgPC9heC1kYXRlLXBpY2tlcj5cclxuXHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ1N3aXRjaENhc2U9XCInYm9vbGVhbidcIj5cclxuXHJcbiAgICAgICAgICAgICAgICA8YXgtZm9ybS1ncm91cD5cclxuICAgICAgICAgICAgICAgICAgICA8YXgtc2VsZWN0LWJveCAjc2VsZWN0Qm94Qm9vbGVhbiAoc2VsZWN0ZWRJdGVtc0NoYW5nZSk9XCJ2YWx1ZUJvb2xlYW5DaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFsbG93TnVsbD1cImZhbHNlXCIgW3NlbGVjdGVkVmFsdWVzXT1cInJ1bGUudmFsdWVcIiBtb2RlPVwic2luZ2xlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxheC1kYXRhLXNvdXJjZSBbcHJvdmlkZURhdGFdPVwicHJvdmlkZURhdGFCb29sZWFuXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYXgtZGF0YS1zb3VyY2U+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9heC1zZWxlY3QtYm94PlxyXG4gICAgICAgICAgICAgICAgPC9heC1mb3JtLWdyb3VwPlxyXG5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nU3dpdGNoRGVmYXVsdD5cclxuICAgICAgICAgICAgICAgIDxheC1mb3JtLWdyb3VwPlxyXG4gICAgICAgICAgICAgICAgICAgIDxheC10ZXh0LWJveCAob25WYWx1ZUNoYW5nZWQpPVwidmFsdWVDaGFuZ2UoJGV2ZW50KVwiIHBsYWNlaG9sZGVyPVwi2YXZgtiv2KfYsSDZhdmI2LHYryDZhti42LEg2K7ZiNivINix2Kcg2YjYp9ix2K8g2qnZhtuM2K9cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbKHZhbHVlKV09XCJydWxlLnZhbHVlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9heC10ZXh0LWJveD5cclxuXHJcbiAgICAgICAgICAgICAgICA8L2F4LWZvcm0tZ3JvdXA+XHJcblxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdiAqbmdJZj1cImlzT25EZW1hbmRMYWJlbFwiPlxyXG5cclxuICAgICAgICAgICAgPGF4LXRleHQtYm94ICN0ZXh0Qm94TmFtZVZhbHVlIFt2YWx1ZV09XCJnZXRPbkRlbWFuZE5hbWUocnVsZS5vbkRlbWFuZExhYmVsKVwiXHJcbiAgICAgICAgICAgICAgICAob25WYWx1ZUNoYW5nZWQpPVwib25EZW1hbmRMYWJlbENoYW5nZSgkZXZlbnQpXCIgcGxhY2Vob2xkZXI9XCLZhtin2YUg2YXYqti624zYsSDYrtmI2K8g2LHYpyDZiNin2LHYryDaqdmG24zYr1wiPlxyXG4gICAgICAgICAgICAgICAgPCEtLSA8YXgtdmFsaWRhdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICA8YXgtdmFsaWRhdGlvbi1ydWxlIHR5cGU9XCJyZXF1aXJlZFwiPjwvYXgtdmFsaWRhdGlvbi1ydWxlPlxyXG4gICAgICAgICAgICAgICAgPC9heC12YWxpZGF0aW9uPiAtLT5cclxuICAgICAgICAgICAgPC9heC10ZXh0LWJveD5cclxuXHJcblxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPG5nLXRlbXBsYXRlICN2YWx1ZVRlbXBsYXRlPlxyXG4gICAgICAgIDxkaXYgKGNsaWNrKT1cImhhbmRsZUVkaXRDbGljaygpXCI+XHJcblxyXG4gICAgICAgICAgICB7e3J1bGUudGV4dH19XHJcblxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuPC9kaXY+XHJcblxyXG48ZGl2IGNsYXNzPVwiYnV0dG9ucy1saXN0XCI+XHJcbiAgICA8ZGl2ICpuZ0lmPVwic2hvd1ZhbHVlICYmIGlzRWRpdGluZyAmJiBtb2RlID09ICduZXcnXCIgY2xhc3M9XCJidXR0b24gdmFyaWFibGVcIlxyXG4gICAgICAgIFtuZ0NsYXNzXT1cInsnYWN0aXZlLWJ1dHRvbic6IGlzT25EZW1hbmRMYWJlbH1cIj5cclxuICAgICAgICA8aSBjbGFzcz1cImZhciBmYS1kb2xsYXItc2lnblwiPjwvaT5cclxuICAgICAgICA8YXgtY2hlY2stYm94IFt2YWx1ZV09XCJpc09uRGVtYW5kTGFiZWxcIiAob25DbGljayk9XCJvbkRlbWFuZExhYmVsKCRldmVudClcIj5cclxuICAgICAgICA8L2F4LWNoZWNrLWJveD5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJidXR0b24gY29tbWl0XCIgKGNsaWNrKT1cImhhbmRsZUNvbW1pdENsaWNrKClcIiAqbmdJZj1cImlzRWRpdGluZ1wiPlxyXG4gICAgICAgIDxpIGNsYXNzPVwiZmFyIGZhLWNoZWNrXCI+PC9pPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYnV0dG9uIHJlbW92ZVwiIChjbGljayk9XCJoYW5kbGVSZW1vdmVDbGljaygpXCIgKm5nSWY9XCJtb2RlID09ICduZXcnXCI+XHJcbiAgICAgICAgPGkgY2xhc3M9XCJmYXIgZmEtdGltZXNcIj48L2k+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+Il19
|
@@ -0,0 +1,42 @@
|
|
1
|
+
import { AXDataEvent } from '../base/events.class';
|
2
|
+
export class AXQueryBuilderControl {
|
3
|
+
type = 'textBox';
|
4
|
+
options = {};
|
5
|
+
}
|
6
|
+
export class AXQueryBuilderRule {
|
7
|
+
dataField;
|
8
|
+
caption;
|
9
|
+
dataType;
|
10
|
+
control;
|
11
|
+
operator;
|
12
|
+
value;
|
13
|
+
text;
|
14
|
+
dataFieldItem;
|
15
|
+
valueItem;
|
16
|
+
onDemandLabel;
|
17
|
+
}
|
18
|
+
export class AXQueryBuilderGroup {
|
19
|
+
items;
|
20
|
+
condition;
|
21
|
+
queryString;
|
22
|
+
queryStringElastic;
|
23
|
+
}
|
24
|
+
export class AXQueryBuilderField {
|
25
|
+
caption;
|
26
|
+
dataField;
|
27
|
+
dataType;
|
28
|
+
default;
|
29
|
+
options;
|
30
|
+
}
|
31
|
+
export class AXQueryBuilderRuleEvent extends AXDataEvent {
|
32
|
+
items;
|
33
|
+
}
|
34
|
+
export class AXQueryBuilderGroupEvent extends AXDataEvent {
|
35
|
+
items;
|
36
|
+
groups;
|
37
|
+
}
|
38
|
+
export class AXQueryBuilderPopup {
|
39
|
+
name;
|
40
|
+
type;
|
41
|
+
}
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktYnVpbGRlci5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9zcmMvbGliL3F1ZXJ5LWJ1aWxkZXIvcXVlcnktYnVpbGRlci5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFRbkQsTUFBTSxPQUFPLHFCQUFxQjtJQUNoQyxJQUFJLEdBQThCLFNBQVMsQ0FBQztJQUM1QyxPQUFPLEdBQVEsRUFBRSxDQUFDO0NBQ25CO0FBRUQsTUFBTSxPQUFPLGtCQUFrQjtJQUM3QixTQUFTLENBQVM7SUFDbEIsT0FBTyxDQUFTO0lBQ2hCLFFBQVEsQ0FBeUI7SUFDakMsT0FBTyxDQUF3QjtJQUMvQixRQUFRLENBQVM7SUFDakIsS0FBSyxDQUFPO0lBQ1osSUFBSSxDQUFVO0lBQ2QsYUFBYSxDQUFNO0lBQ25CLFNBQVMsQ0FBTztJQUNoQixhQUFhLENBQVU7Q0FDeEI7QUFFRCxNQUFNLE9BQU8sbUJBQW1CO0lBQzlCLEtBQUssQ0FBNEI7SUFDakMsU0FBUyxDQUFTO0lBQ2xCLFdBQVcsQ0FBUztJQUNwQixrQkFBa0IsQ0FBTztDQUMxQjtBQUNELE1BQU0sT0FBTyxtQkFBbUI7SUFDOUIsT0FBTyxDQUFTO0lBQ2hCLFNBQVMsQ0FBUztJQUNsQixRQUFRLENBQXlCO0lBQ2pDLE9BQU8sQ0FBTztJQUNkLE9BQU8sQ0FBTztDQUNmO0FBRUQsTUFBTSxPQUFPLHVCQUF3QixTQUFRLFdBQW9DO0lBQy9FLEtBQUssQ0FBcUI7Q0FDM0I7QUFFRCxNQUFNLE9BQU8sd0JBQXlCLFNBQVEsV0FBcUM7SUFDakYsS0FBSyxDQUFzQjtJQUMzQixNQUFNLENBQXNCO0NBQzdCO0FBRUQsTUFBTSxPQUFPLG1CQUFtQjtJQUM5QixJQUFJLENBQVM7SUFDYixJQUFJLENBQVM7Q0FDZCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYRGF0YUV2ZW50IH0gZnJvbSAnLi4vYmFzZS9ldmVudHMuY2xhc3MnO1xyXG5pbXBvcnQgeyBBWFRyYW5zbGF0b3IgfSBmcm9tICdAYWNvcmV4L2NvcmUnO1xyXG5cclxuZXhwb3J0IHR5cGUgQVhRdWVyeUJ1aWxkZXJEYXRhVHlwZSA9ICdzdHJpbmcnIHwgJ251bWJlcicgfCAnZGF0ZScgfCAndGltZScgfCAnZGF0ZXRpbWUnIHwgJ2Jvb2xlYW4nO1xyXG5leHBvcnQgdHlwZSBBWFF1ZXJ5QnVpbGRlckdyb3VwSXRlbSA9IEFYUXVlcnlCdWlsZGVyR3JvdXAgfCBBWFF1ZXJ5QnVpbGRlclJ1bGU7XHJcbmV4cG9ydCB0eXBlIEFYUXVlcnlCdWlsZGVyQ29udHJvbFR5cGUgPSAndGV4dEJveCcgfCAnc2VsZWN0Qm94JyB8ICdudW1iZXJCb3gnIHwgJ2RhdGFQaWNrZXInIHwgJ2xvdicgfCAnYm9vbGVhbic7XHJcbmV4cG9ydCB0eXBlIEFYUXVlcnlCdWlsZGVyU3RyaW5nVHlwZSA9ICdzaW1wbGUnIHwgJ3NxbCcgfCAnc29kb2NvJyB8ICdlbGFzdGljJztcclxuXHJcbmV4cG9ydCBjbGFzcyBBWFF1ZXJ5QnVpbGRlckNvbnRyb2wge1xyXG4gIHR5cGU6IEFYUXVlcnlCdWlsZGVyQ29udHJvbFR5cGUgPSAndGV4dEJveCc7XHJcbiAgb3B0aW9uczogYW55ID0ge307XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBBWFF1ZXJ5QnVpbGRlclJ1bGUge1xyXG4gIGRhdGFGaWVsZDogc3RyaW5nO1xyXG4gIGNhcHRpb246IHN0cmluZztcclxuICBkYXRhVHlwZTogQVhRdWVyeUJ1aWxkZXJEYXRhVHlwZTtcclxuICBjb250cm9sOiBBWFF1ZXJ5QnVpbGRlckNvbnRyb2w7XHJcbiAgb3BlcmF0b3I6IHN0cmluZztcclxuICB2YWx1ZT86IGFueTtcclxuICB0ZXh0Pzogc3RyaW5nO1xyXG4gIGRhdGFGaWVsZEl0ZW06IGFueTtcclxuICB2YWx1ZUl0ZW0/OiBhbnk7XHJcbiAgb25EZW1hbmRMYWJlbD86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIEFYUXVlcnlCdWlsZGVyR3JvdXAge1xyXG4gIGl0ZW1zOiBBWFF1ZXJ5QnVpbGRlckdyb3VwSXRlbVtdO1xyXG4gIGNvbmRpdGlvbjogc3RyaW5nO1xyXG4gIHF1ZXJ5U3RyaW5nOiBzdHJpbmc7XHJcbiAgcXVlcnlTdHJpbmdFbGFzdGljOnN0cmluZ1xyXG59XHJcbmV4cG9ydCBjbGFzcyBBWFF1ZXJ5QnVpbGRlckZpZWxkIHtcclxuICBjYXB0aW9uOiBzdHJpbmc7XHJcbiAgZGF0YUZpZWxkOiBzdHJpbmc7XHJcbiAgZGF0YVR5cGU6IEFYUXVlcnlCdWlsZGVyRGF0YVR5cGU7XHJcbiAgZGVmYXVsdD86IGFueTtcclxuICBvcHRpb25zPzogYW55O1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgQVhRdWVyeUJ1aWxkZXJSdWxlRXZlbnQgZXh0ZW5kcyBBWERhdGFFdmVudDxBWFF1ZXJ5QnVpbGRlclJ1bGVFdmVudD4ge1xyXG4gIGl0ZW1zOiBBWFF1ZXJ5QnVpbGRlclJ1bGU7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBBWFF1ZXJ5QnVpbGRlckdyb3VwRXZlbnQgZXh0ZW5kcyBBWERhdGFFdmVudDxBWFF1ZXJ5QnVpbGRlckdyb3VwRXZlbnQ+IHtcclxuICBpdGVtcz86IEFYUXVlcnlCdWlsZGVyUnVsZTtcclxuICBncm91cHM6IEFYUXVlcnlCdWlsZGVyR3JvdXA7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBBWFF1ZXJ5QnVpbGRlclBvcHVwIHtcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgdHlwZTogc3RyaW5nO1xyXG59XHJcbiJdfQ==
|