@acorex/components 6.5.79 → 6.5.91
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 +3 -7
- package/acorex-components.d.ts +5 -0
- package/esm2020/acorex-components.mjs +5 -0
- package/esm2020/lib/accordion/accordion.component.mjs +44 -0
- package/esm2020/lib/accordion/accordion.module.mjs +20 -0
- package/esm2020/lib/base/base-page.class.mjs +94 -0
- package/esm2020/lib/base/components.class.mjs +17 -0
- package/esm2020/lib/base/element.class.mjs +294 -0
- package/esm2020/lib/base/events.class.mjs +11 -0
- package/esm2020/lib/button/button.component.mjs +71 -0
- package/esm2020/lib/button/button.module.mjs +21 -0
- package/esm2020/lib/calendar/calendar-box/calendar-box.component.mjs +413 -0
- package/esm2020/lib/calendar/calendar-box/calendar-box.module.mjs +22 -0
- package/esm2020/lib/calendar/scheduler/scheduler-views.property.mjs +54 -0
- package/esm2020/lib/calendar/scheduler/scheduler.class.mjs +18 -0
- package/esm2020/lib/calendar/scheduler/scheduler.component.mjs +213 -0
- package/esm2020/lib/calendar/scheduler/scheduler.module.mjs +68 -0
- package/esm2020/lib/calendar/scheduler/toolbars/scheduler-toolbar-navigator.mjs +132 -0
- package/esm2020/lib/calendar/scheduler/toolbars/scheduler-toolbar-views.mjs +37 -0
- package/esm2020/lib/calendar/scheduler/views/agenda/scheduler-agenda-view.component.mjs +47 -0
- package/esm2020/lib/calendar/scheduler/views/daytime/scheduler-daytime-view.component.mjs +95 -0
- package/esm2020/lib/calendar/scheduler/views/month/scheduler-month-view.component.mjs +204 -0
- package/esm2020/lib/calendar/scheduler/views/scheduler-view.component.mjs +99 -0
- package/esm2020/lib/calendar/scheduler/views/timeline/scheduler-timeline-view.component.mjs +77 -0
- package/esm2020/lib/checkbox/checkbox.component.mjs +98 -0
- package/esm2020/lib/checkbox/checkbox.module.mjs +20 -0
- package/esm2020/lib/color-picker/color-box/color-box.component.mjs +422 -0
- package/esm2020/lib/color-picker/color-picker.component.mjs +82 -0
- package/esm2020/lib/color-picker/color-picker.module.mjs +24 -0
- package/esm2020/lib/context-menu/context-menu.component.mjs +65 -0
- package/esm2020/lib/context-menu/context-menu.directive.mjs +135 -0
- package/esm2020/lib/context-menu/context-menu.module.mjs +20 -0
- package/esm2020/lib/data-filter/columns/filter-column-date.component.mjs +138 -0
- package/esm2020/lib/data-filter/columns/filter-column-number.component.mjs +117 -0
- package/esm2020/lib/data-filter/columns/filter-column-selection.component.mjs +74 -0
- package/esm2020/lib/data-filter/columns/filter-column-string.component.mjs +117 -0
- package/esm2020/lib/data-filter/filter-panel/filter-panel.component.mjs +258 -0
- package/esm2020/lib/data-filter/filter.class.mjs +44 -0
- package/esm2020/lib/data-filter/filter.module.mjs +90 -0
- package/esm2020/lib/data-filter/toolbar/filter-toolbar.component.mjs +166 -0
- package/esm2020/lib/data-list/core/data-list.component.mjs +40 -0
- package/esm2020/lib/data-list/list/list.component.mjs +124 -0
- package/esm2020/lib/data-list/list/list.module.mjs +22 -0
- package/esm2020/lib/data-list/list/toolbar-list-view.component.mjs +85 -0
- package/esm2020/lib/data-source/datasource.component.mjs +47 -0
- package/esm2020/lib/data-source/datasource.module.mjs +18 -0
- package/esm2020/lib/data-source/read-param.mjs +5 -0
- package/esm2020/lib/date-picker/date-picker.component.mjs +702 -0
- package/esm2020/lib/date-picker/date-picker.module.mjs +25 -0
- package/esm2020/lib/dialog/dialog.component.mjs +24 -0
- package/esm2020/lib/dialog/dialog.module.mjs +21 -0
- package/esm2020/lib/dialog/dialog.service.mjs +150 -0
- package/esm2020/lib/drawer/content.component.mjs +18 -0
- package/esm2020/lib/drawer/drawer-container.component.mjs +36 -0
- package/esm2020/lib/drawer/drawer.component.mjs +142 -0
- package/esm2020/lib/drawer/drawer.module.mjs +23 -0
- package/esm2020/lib/dropdown/dropdown.component.mjs +176 -0
- package/esm2020/lib/dropdown/dropdown.module.mjs +26 -0
- package/esm2020/lib/fieldset/fieldset.component.mjs +59 -0
- package/esm2020/lib/fieldset/fieldset.module.mjs +19 -0
- package/esm2020/lib/form-group/form-group.component.mjs +34 -0
- package/esm2020/lib/form-group/form-group.module.mjs +21 -0
- package/esm2020/lib/label/label.component.mjs +19 -0
- package/esm2020/lib/label/label.module.mjs +21 -0
- package/esm2020/lib/loading/loading-indicator.component.mjs +17 -0
- package/esm2020/lib/loading/loading-panel.component.mjs +44 -0
- package/esm2020/lib/loading/loading.module.mjs +21 -0
- package/esm2020/lib/loading/loading.service.mjs +45 -0
- package/esm2020/lib/menu/menu-item.component.mjs +47 -0
- package/esm2020/lib/menu/menu.component.mjs +86 -0
- package/esm2020/lib/menu/menu.module.mjs +22 -0
- package/esm2020/lib/menu/menu2.component.mjs +96 -0
- package/esm2020/lib/number-box/number-box.component.mjs +622 -0
- package/esm2020/lib/number-box/number-box.module.mjs +21 -0
- package/esm2020/lib/page/content.component.mjs +32 -0
- package/esm2020/lib/page/footer.component.mjs +19 -0
- package/esm2020/lib/page/page.component.mjs +53 -0
- package/esm2020/lib/page/page.module.mjs +22 -0
- package/esm2020/lib/panel-box/panel-box.component.mjs +88 -0
- package/esm2020/lib/panel-box/panel-box.module.mjs +19 -0
- package/esm2020/lib/password-box/password-box.component.mjs +31 -0
- package/esm2020/lib/password-box/password-box.module.mjs +23 -0
- package/esm2020/lib/popover/custom-cdk-overlay.service.mjs +48 -0
- package/esm2020/lib/popover/overlay.service.mjs +91 -0
- package/esm2020/lib/popover/popover.component.mjs +133 -0
- package/esm2020/lib/popover/popover.module.mjs +19 -0
- package/esm2020/lib/popup/popup.component.mjs +147 -0
- package/esm2020/lib/popup/popup.module.mjs +25 -0
- package/esm2020/lib/popup/popup.service.mjs +93 -0
- package/esm2020/lib/progress-bar/progress-bar.component.mjs +19 -0
- package/esm2020/lib/progress-bar/progress-bar.module.mjs +19 -0
- package/esm2020/lib/property-editor/editors/check-editor/check-editor.mjs +61 -0
- package/esm2020/lib/property-editor/editors/check-editor/check.module.mjs +22 -0
- package/esm2020/lib/property-editor/editors/color-editor/color.editor.mjs +38 -0
- package/esm2020/lib/property-editor/editors/color-editor/color.module.mjs +24 -0
- package/esm2020/lib/property-editor/editors/column-editor/column.editor.mjs +115 -0
- package/esm2020/lib/property-editor/editors/column-editor/column.module.mjs +32 -0
- package/esm2020/lib/property-editor/editors/conditional-color-editor/conditional-color.editor.mjs +211 -0
- package/esm2020/lib/property-editor/editors/conditional-color-editor/conditional-color.module.mjs +78 -0
- package/esm2020/lib/property-editor/editors/date-editor/date.editor.mjs +51 -0
- package/esm2020/lib/property-editor/editors/date-editor/date.module.mjs +24 -0
- package/esm2020/lib/property-editor/editors/number-editor/number.editor.mjs +63 -0
- package/esm2020/lib/property-editor/editors/number-editor/number.module.mjs +24 -0
- package/esm2020/lib/property-editor/editors/range-editor/range.editor.mjs +140 -0
- package/esm2020/lib/property-editor/editors/range-editor/range.module.mjs +61 -0
- package/esm2020/lib/property-editor/editors/searchbar-selectbox-editor/searchbar-selectbox-editor.mjs +72 -0
- package/esm2020/lib/property-editor/editors/selectbox-editor/selectbox.editor.mjs +71 -0
- package/esm2020/lib/property-editor/editors/selectbox-editor/selectbox.module.mjs +25 -0
- package/esm2020/lib/property-editor/editors/selection-editor/selection-editor.mjs +69 -0
- package/esm2020/lib/property-editor/editors/selection-editor/selection.module.mjs +22 -0
- package/esm2020/lib/property-editor/editors/switch-editor/number.editor.mjs +29 -0
- package/esm2020/lib/property-editor/editors/switch-editor/number.module.mjs +25 -0
- package/esm2020/lib/property-editor/editors/text-editor/text.editor.mjs +32 -0
- package/esm2020/lib/property-editor/editors/text-editor/text.module.mjs +24 -0
- package/esm2020/lib/property-editor/editors/textarea-editor/textarea.editor.mjs +32 -0
- package/esm2020/lib/property-editor/editors/textarea-editor/textarea.module.mjs +24 -0
- package/esm2020/lib/property-editor/editors/time-editor/time.editor.mjs +43 -0
- package/esm2020/lib/property-editor/editors/time-editor/time.module.mjs +24 -0
- package/esm2020/lib/property-editor/property-editor-renderer.directive.mjs +157 -0
- package/esm2020/lib/property-editor/property-editor.class.mjs +102 -0
- package/esm2020/lib/property-editor/property-editor.module.mjs +196 -0
- package/esm2020/lib/query-builder/query-builder-group.component.mjs +124 -0
- package/esm2020/lib/query-builder/query-builder-popup/query-builder-popup.component.mjs +172 -0
- package/esm2020/lib/query-builder/query-builder-rule.component.mjs +399 -0
- package/esm2020/lib/query-builder/query-builder.class.mjs +20 -0
- package/esm2020/lib/query-builder/query-builder.component.mjs +87 -0
- package/esm2020/lib/query-builder/query-builder.module.mjs +62 -0
- package/esm2020/lib/query-builder/query-builder.service.mjs +197 -0
- package/esm2020/lib/search-bar/search-bar.component.mjs +286 -0
- package/esm2020/lib/search-bar/search-bar.module.mjs +63 -0
- package/esm2020/lib/searchbox/searchbox.component.mjs +81 -0
- package/esm2020/lib/searchbox/searchbox.module.mjs +24 -0
- package/esm2020/lib/selectbox/selectbox.component.mjs +961 -0
- package/esm2020/lib/selectbox/selectbox.module.mjs +44 -0
- package/esm2020/lib/selectbox/selectbox2.component.mjs +574 -0
- package/esm2020/lib/selection-list/selection-list.component.mjs +108 -0
- package/esm2020/lib/selection-list/selection-list.module.mjs +21 -0
- package/esm2020/lib/switch/switch.component.mjs +51 -0
- package/esm2020/lib/switch/switch.module.mjs +20 -0
- package/esm2020/lib/tab-page/tab-page-Renderer.component.mjs +71 -0
- package/esm2020/lib/tab-page/tab-page-host.component.mjs +114 -0
- package/esm2020/lib/tab-page/tab-page.module.mjs +21 -0
- package/esm2020/lib/tab-page/tab-page.service.mjs +160 -0
- package/esm2020/lib/tab-strip/tab-strip.component.mjs +36 -0
- package/esm2020/lib/tab-strip/tab-strip.module.mjs +19 -0
- package/esm2020/lib/tab-view/dynamic-tabs.directive.mjs +24 -0
- package/esm2020/lib/tab-view/tab-view.component.mjs +105 -0
- package/esm2020/lib/tab-view/tab-view.module.mjs +21 -0
- package/esm2020/lib/tab-view/tab.component.mjs +30 -0
- package/esm2020/lib/textarea/textarea.component.mjs +26 -0
- package/esm2020/lib/textarea/textarea.module.mjs +21 -0
- package/esm2020/lib/textbox/textbox.component.mjs +39 -0
- package/esm2020/lib/textbox/textbox.module.mjs +24 -0
- package/esm2020/lib/time-picker/time-picker.component.mjs +943 -0
- package/esm2020/lib/time-picker/time-picker.module.mjs +22 -0
- package/esm2020/lib/toast/toast-message/toast-message.component.mjs +74 -0
- package/esm2020/lib/toast/toast-wrapper/toast-wrapper.component.mjs +13 -0
- package/esm2020/lib/toast/toast.module.mjs +21 -0
- package/esm2020/lib/toast/toast.service.mjs +44 -0
- package/esm2020/lib/toolbar/group-button/toolbar-group-button.component.mjs +78 -0
- package/esm2020/lib/toolbar/menu/toolbar-menu.component.mjs +57 -0
- package/esm2020/lib/toolbar/search/toolbar-search.component.mjs +54 -0
- package/esm2020/lib/toolbar/title/toolbar-title.component.mjs +47 -0
- package/esm2020/lib/toolbar/toolbar-item.mjs +6 -0
- package/esm2020/lib/toolbar/toolbar.component.mjs +13 -0
- package/esm2020/lib/toolbar/toolbar.module.mjs +40 -0
- package/esm2020/lib/tooltip/tooltip.directive.mjs +100 -0
- package/esm2020/lib/tooltip/tooltip.module.mjs +19 -0
- package/esm2020/lib/tree-side-menu/tree-side-menu.component.mjs +646 -0
- package/esm2020/lib/tree-side-menu/tree-side-menu.module.mjs +35 -0
- package/esm2020/lib/tree-view/tree-view.component.mjs +775 -0
- package/esm2020/lib/tree-view/tree-view.module.mjs +22 -0
- package/esm2020/lib/upload-file/upload-file.component.mjs +208 -0
- package/esm2020/lib/upload-file/upload-file.events.mjs +2 -0
- package/esm2020/lib/upload-file/upload-file.module.mjs +24 -0
- package/esm2020/lib/validation/validation-form.component.mjs +65 -0
- package/esm2020/lib/validation/validation-rule.widget.mjs +111 -0
- package/esm2020/lib/validation/validation.class.mjs +2 -0
- package/esm2020/lib/validation/validation.component.mjs +89 -0
- package/esm2020/lib/validation/validation.module.mjs +34 -0
- package/esm2020/public-api.mjs +158 -0
- package/fesm2015/acorex-components.mjs +16013 -0
- package/fesm2015/acorex-components.mjs.map +1 -0
- package/{fesm2022 → fesm2020}/acorex-components.mjs +15581 -16543
- package/fesm2020/acorex-components.mjs.map +1 -0
- package/lib/accordion/accordion.component.d.ts +13 -13
- package/lib/accordion/accordion.module.d.ts +9 -9
- package/lib/base/base-page.class.d.ts +46 -46
- package/lib/base/components.class.d.ts +10 -10
- package/lib/base/element.class.d.ts +106 -106
- package/lib/base/events.class.d.ts +18 -18
- package/lib/button/button.component.d.ts +21 -21
- package/lib/button/button.module.d.ts +8 -8
- package/lib/calendar/calendar-box/calendar-box.component.d.ts +81 -81
- package/lib/calendar/calendar-box/calendar-box.module.d.ts +11 -11
- package/lib/calendar/scheduler/scheduler-views.property.d.ts +19 -19
- package/lib/calendar/scheduler/scheduler.class.d.ts +36 -36
- package/lib/calendar/scheduler/scheduler.component.d.ts +39 -39
- package/lib/calendar/scheduler/scheduler.module.d.ts +21 -21
- package/lib/calendar/scheduler/toolbars/scheduler-toolbar-navigator.d.ts +25 -25
- package/lib/calendar/scheduler/toolbars/scheduler-toolbar-views.d.ts +14 -14
- package/lib/calendar/scheduler/views/agenda/scheduler-agenda-view.component.d.ts +16 -16
- package/lib/calendar/scheduler/views/daytime/scheduler-daytime-view.component.d.ts +26 -26
- package/lib/calendar/scheduler/views/month/scheduler-month-view.component.d.ts +37 -37
- package/lib/calendar/scheduler/views/scheduler-view.component.d.ts +28 -28
- package/lib/calendar/scheduler/views/timeline/scheduler-timeline-view.component.d.ts +24 -24
- package/lib/checkbox/checkbox.component.d.ts +30 -30
- package/lib/checkbox/checkbox.module.d.ts +9 -9
- package/lib/color-picker/color-box/color-box.component.d.ts +25 -25
- package/lib/color-picker/color-picker.component.d.ts +30 -30
- package/lib/color-picker/color-picker.module.d.ts +13 -13
- package/lib/context-menu/context-menu.component.d.ts +22 -22
- package/lib/context-menu/context-menu.directive.d.ts +38 -38
- package/lib/context-menu/context-menu.module.d.ts +9 -9
- package/lib/data-filter/columns/filter-column-date.component.d.ts +22 -22
- package/lib/data-filter/columns/filter-column-number.component.d.ts +15 -15
- package/lib/data-filter/columns/filter-column-selection.component.d.ts +18 -18
- package/lib/data-filter/columns/filter-column-string.component.d.ts +15 -15
- package/lib/data-filter/filter-panel/filter-panel.component.d.ts +45 -45
- package/lib/data-filter/filter.class.d.ts +40 -40
- package/lib/data-filter/filter.module.d.ts +24 -24
- package/lib/data-filter/toolbar/filter-toolbar.component.d.ts +25 -25
- package/lib/data-list/core/data-list.component.d.ts +15 -15
- package/lib/data-list/list/list.component.d.ts +40 -40
- package/lib/data-list/list/list.module.d.ts +11 -11
- package/lib/data-list/list/toolbar-list-view.component.d.ts +17 -17
- package/lib/data-source/datasource.component.d.ts +16 -16
- package/lib/data-source/datasource.module.d.ts +7 -7
- package/lib/data-source/read-param.d.ts +40 -40
- package/lib/date-picker/date-picker.component.d.ts +81 -81
- package/lib/date-picker/date-picker.module.d.ts +14 -14
- package/lib/dialog/dialog.component.d.ts +14 -14
- package/lib/dialog/dialog.module.d.ts +10 -10
- package/lib/dialog/dialog.service.d.ts +36 -36
- package/lib/drawer/content.component.d.ts +7 -7
- package/lib/drawer/drawer-container.component.d.ts +10 -10
- package/lib/drawer/drawer.component.d.ts +34 -34
- package/lib/drawer/drawer.module.d.ts +10 -10
- package/lib/dropdown/dropdown.component.d.ts +38 -38
- package/lib/dropdown/dropdown.module.d.ts +13 -13
- package/lib/fieldset/fieldset.component.d.ts +11 -11
- package/lib/fieldset/fieldset.module.d.ts +8 -8
- package/lib/form-group/form-group.component.d.ts +14 -14
- package/lib/form-group/form-group.module.d.ts +8 -8
- package/lib/label/label.component.d.ts +9 -9
- package/lib/label/label.module.d.ts +8 -8
- package/lib/loading/loading-indicator.component.d.ts +9 -9
- package/lib/loading/loading-panel.component.d.ts +13 -13
- package/lib/loading/loading.module.d.ts +10 -10
- package/lib/loading/loading.service.d.ts +13 -13
- package/lib/menu/menu-item.component.d.ts +18 -18
- package/lib/menu/menu.component.d.ts +35 -35
- package/lib/menu/menu.module.d.ts +11 -11
- package/lib/menu/menu2.component.d.ts +21 -21
- package/lib/number-box/number-box.component.d.ts +52 -52
- package/lib/number-box/number-box.module.d.ts +10 -10
- package/lib/page/content.component.d.ts +8 -8
- package/lib/page/footer.component.d.ts +5 -5
- package/lib/page/page.component.d.ts +16 -16
- package/lib/page/page.module.d.ts +11 -11
- package/lib/panel-box/panel-box.component.d.ts +19 -19
- package/lib/panel-box/panel-box.module.d.ts +8 -8
- package/lib/password-box/password-box.component.d.ts +12 -12
- package/lib/password-box/password-box.module.d.ts +10 -10
- package/lib/popover/custom-cdk-overlay.service.d.ts +19 -19
- package/lib/popover/overlay.service.d.ts +32 -32
- package/lib/popover/popover.component.d.ts +35 -35
- package/lib/popover/popover.module.d.ts +8 -8
- package/lib/popup/popup.component.d.ts +40 -40
- package/lib/popup/popup.module.d.ts +13 -13
- package/lib/popup/popup.service.d.ts +22 -22
- package/lib/progress-bar/progress-bar.component.d.ts +7 -7
- package/lib/progress-bar/progress-bar.module.d.ts +8 -8
- package/lib/property-editor/editors/check-editor/check-editor.d.ts +19 -19
- package/lib/property-editor/editors/check-editor/check.module.d.ts +11 -11
- package/lib/property-editor/editors/color-editor/color.editor.d.ts +13 -13
- package/lib/property-editor/editors/color-editor/color.module.d.ts +12 -12
- package/lib/property-editor/editors/column-editor/column.editor.d.ts +34 -34
- package/lib/property-editor/editors/column-editor/column.module.d.ts +20 -20
- package/lib/property-editor/editors/conditional-color-editor/conditional-color.editor.d.ts +44 -44
- package/lib/property-editor/editors/conditional-color-editor/conditional-color.module.d.ts +19 -19
- package/lib/property-editor/editors/date-editor/date.editor.d.ts +28 -28
- package/lib/property-editor/editors/date-editor/date.module.d.ts +12 -12
- package/lib/property-editor/editors/number-editor/number.editor.d.ts +20 -20
- package/lib/property-editor/editors/number-editor/number.module.d.ts +12 -12
- package/lib/property-editor/editors/range-editor/range.editor.d.ts +29 -29
- package/lib/property-editor/editors/range-editor/range.module.d.ts +18 -18
- package/lib/property-editor/editors/searchbar-selectbox-editor/searchbar-selectbox-editor.d.ts +29 -29
- package/lib/property-editor/editors/selectbox-editor/selectbox.editor.d.ts +28 -28
- package/lib/property-editor/editors/selectbox-editor/selectbox.module.d.ts +14 -14
- package/lib/property-editor/editors/selection-editor/selection-editor.d.ts +25 -25
- package/lib/property-editor/editors/selection-editor/selection.module.d.ts +11 -11
- package/lib/property-editor/editors/switch-editor/number.editor.d.ts +11 -11
- package/lib/property-editor/editors/switch-editor/number.module.d.ts +13 -13
- package/lib/property-editor/editors/text-editor/text.editor.d.ts +18 -18
- package/lib/property-editor/editors/text-editor/text.module.d.ts +12 -12
- package/lib/property-editor/editors/textarea-editor/textarea.editor.d.ts +17 -17
- package/lib/property-editor/editors/textarea-editor/textarea.module.d.ts +12 -12
- package/lib/property-editor/editors/time-editor/time.editor.d.ts +17 -17
- package/lib/property-editor/editors/time-editor/time.module.d.ts +12 -12
- package/lib/property-editor/property-editor-renderer.directive.d.ts +31 -31
- package/lib/property-editor/property-editor.class.d.ts +93 -93
- package/lib/property-editor/property-editor.module.d.ts +21 -21
- package/lib/query-builder/query-builder-group.component.d.ts +33 -33
- package/lib/query-builder/query-builder-popup/query-builder-popup.component.d.ts +35 -35
- package/lib/query-builder/query-builder-rule.component.d.ts +45 -45
- package/lib/query-builder/query-builder.class.d.ts +45 -45
- package/lib/query-builder/query-builder.component.d.ts +29 -29
- package/lib/query-builder/query-builder.module.d.ts +23 -23
- package/lib/query-builder/query-builder.service.d.ts +18 -18
- package/lib/search-bar/search-bar.component.d.ts +62 -62
- package/lib/search-bar/search-bar.module.d.ts +18 -18
- package/lib/searchbox/searchbox.component.d.ts +22 -23
- package/lib/searchbox/searchbox.module.d.ts +13 -13
- package/lib/selectbox/selectbox.component.d.ts +118 -120
- package/lib/selectbox/selectbox.module.d.ts +15 -15
- package/lib/selectbox/selectbox2.component.d.ts +103 -103
- package/lib/selection-list/selection-list.component.d.ts +32 -32
- package/lib/selection-list/selection-list.module.d.ts +10 -10
- package/lib/switch/switch.component.d.ts +20 -20
- package/lib/switch/switch.module.d.ts +9 -9
- package/lib/tab-page/tab-page-Renderer.component.d.ts +16 -16
- package/lib/tab-page/tab-page-host.component.d.ts +24 -24
- package/lib/tab-page/tab-page.module.d.ts +10 -10
- package/lib/tab-page/tab-page.service.d.ts +30 -30
- package/lib/tab-strip/tab-strip.component.d.ts +28 -28
- package/lib/tab-strip/tab-strip.module.d.ts +8 -8
- package/lib/tab-view/dynamic-tabs.directive.d.ts +16 -16
- package/lib/tab-view/tab-view.component.d.ts +26 -26
- package/lib/tab-view/tab-view.module.d.ts +10 -10
- package/lib/tab-view/tab.component.d.ts +12 -12
- package/lib/textarea/textarea.component.d.ts +12 -12
- package/lib/textarea/textarea.module.d.ts +8 -8
- package/lib/textbox/textbox.component.d.ts +16 -16
- package/lib/textbox/textbox.module.d.ts +11 -11
- package/lib/time-picker/time-picker.component.d.ts +52 -53
- package/lib/time-picker/time-picker.module.d.ts +11 -11
- package/lib/toast/toast-message/toast-message.component.d.ts +18 -18
- package/lib/toast/toast-wrapper/toast-wrapper.component.d.ts +8 -8
- package/lib/toast/toast.module.d.ts +9 -9
- package/lib/toast/toast.service.d.ts +18 -18
- package/lib/toolbar/group-button/toolbar-group-button.component.d.ts +12 -12
- package/lib/toolbar/menu/toolbar-menu.component.d.ts +24 -24
- package/lib/toolbar/search/toolbar-search.component.d.ts +16 -16
- package/lib/toolbar/title/toolbar-title.component.d.ts +9 -9
- package/lib/toolbar/toolbar-item.d.ts +3 -3
- package/lib/toolbar/toolbar.component.d.ts +8 -8
- package/lib/toolbar/toolbar.module.d.ts +14 -14
- package/lib/tooltip/tooltip.directive.d.ts +21 -21
- package/lib/tooltip/tooltip.module.d.ts +8 -8
- package/lib/tree-side-menu/tree-side-menu.component.d.ts +111 -111
- package/lib/tree-side-menu/tree-side-menu.module.d.ts +11 -11
- package/lib/tree-view/tree-view.component.d.ts +121 -121
- package/lib/tree-view/tree-view.module.d.ts +11 -11
- package/lib/upload-file/upload-file.component.d.ts +42 -42
- package/lib/upload-file/upload-file.events.d.ts +10 -10
- package/lib/upload-file/upload-file.module.d.ts +13 -13
- package/lib/validation/validation-form.component.d.ts +19 -19
- package/lib/validation/validation-rule.widget.d.ts +23 -23
- package/lib/validation/validation.class.d.ts +16 -16
- package/lib/validation/validation.component.d.ts +25 -25
- package/lib/validation/validation.module.d.ts +11 -11
- package/package.json +20 -15
- package/{index.d.ts → public-api.d.ts} +155 -155
- package/esm2022/acorex-components.mjs +0 -5
- package/esm2022/index.mjs +0 -158
- package/esm2022/lib/accordion/accordion.component.mjs +0 -45
- package/esm2022/lib/accordion/accordion.module.mjs +0 -20
- package/esm2022/lib/base/base-page.class.mjs +0 -97
- package/esm2022/lib/base/components.class.mjs +0 -17
- package/esm2022/lib/base/element.class.mjs +0 -301
- package/esm2022/lib/base/events.class.mjs +0 -17
- package/esm2022/lib/button/button.component.mjs +0 -74
- package/esm2022/lib/button/button.module.mjs +0 -21
- package/esm2022/lib/calendar/calendar-box/calendar-box.component.mjs +0 -426
- package/esm2022/lib/calendar/calendar-box/calendar-box.module.mjs +0 -22
- package/esm2022/lib/calendar/scheduler/scheduler-views.property.mjs +0 -59
- package/esm2022/lib/calendar/scheduler/scheduler.class.mjs +0 -16
- package/esm2022/lib/calendar/scheduler/scheduler.component.mjs +0 -226
- package/esm2022/lib/calendar/scheduler/scheduler.module.mjs +0 -68
- package/esm2022/lib/calendar/scheduler/toolbars/scheduler-toolbar-navigator.mjs +0 -136
- package/esm2022/lib/calendar/scheduler/toolbars/scheduler-toolbar-views.mjs +0 -37
- package/esm2022/lib/calendar/scheduler/views/agenda/scheduler-agenda-view.component.mjs +0 -49
- package/esm2022/lib/calendar/scheduler/views/daytime/scheduler-daytime-view.component.mjs +0 -102
- package/esm2022/lib/calendar/scheduler/views/month/scheduler-month-view.component.mjs +0 -214
- package/esm2022/lib/calendar/scheduler/views/scheduler-view.component.mjs +0 -99
- package/esm2022/lib/calendar/scheduler/views/timeline/scheduler-timeline-view.component.mjs +0 -85
- package/esm2022/lib/checkbox/checkbox.component.mjs +0 -102
- package/esm2022/lib/checkbox/checkbox.module.mjs +0 -20
- package/esm2022/lib/color-picker/color-box/color-box.component.mjs +0 -423
- package/esm2022/lib/color-picker/color-picker.component.mjs +0 -89
- package/esm2022/lib/color-picker/color-picker.module.mjs +0 -24
- package/esm2022/lib/context-menu/context-menu.component.mjs +0 -68
- package/esm2022/lib/context-menu/context-menu.directive.mjs +0 -146
- package/esm2022/lib/context-menu/context-menu.module.mjs +0 -20
- package/esm2022/lib/data-filter/columns/filter-column-date.component.mjs +0 -140
- package/esm2022/lib/data-filter/columns/filter-column-number.component.mjs +0 -119
- package/esm2022/lib/data-filter/columns/filter-column-selection.component.mjs +0 -75
- package/esm2022/lib/data-filter/columns/filter-column-string.component.mjs +0 -119
- package/esm2022/lib/data-filter/filter-panel/filter-panel.component.mjs +0 -267
- package/esm2022/lib/data-filter/filter.class.mjs +0 -46
- package/esm2022/lib/data-filter/filter.module.mjs +0 -88
- package/esm2022/lib/data-filter/toolbar/filter-toolbar.component.mjs +0 -168
- package/esm2022/lib/data-list/core/data-list.component.mjs +0 -37
- package/esm2022/lib/data-list/list/list.component.mjs +0 -134
- package/esm2022/lib/data-list/list/list.module.mjs +0 -22
- package/esm2022/lib/data-list/list/toolbar-list-view.component.mjs +0 -84
- package/esm2022/lib/data-source/datasource.component.mjs +0 -47
- package/esm2022/lib/data-source/datasource.module.mjs +0 -18
- package/esm2022/lib/data-source/read-param.mjs +0 -7
- package/esm2022/lib/date-picker/date-picker.component.mjs +0 -718
- package/esm2022/lib/date-picker/date-picker.module.mjs +0 -49
- package/esm2022/lib/dialog/dialog.component.mjs +0 -26
- package/esm2022/lib/dialog/dialog.module.mjs +0 -21
- package/esm2022/lib/dialog/dialog.service.mjs +0 -160
- package/esm2022/lib/drawer/content.component.mjs +0 -18
- package/esm2022/lib/drawer/drawer-container.component.mjs +0 -38
- package/esm2022/lib/drawer/drawer.component.mjs +0 -146
- package/esm2022/lib/drawer/drawer.module.mjs +0 -23
- package/esm2022/lib/dropdown/dropdown.component.mjs +0 -186
- package/esm2022/lib/dropdown/dropdown.module.mjs +0 -26
- package/esm2022/lib/fieldset/fieldset.component.mjs +0 -57
- package/esm2022/lib/fieldset/fieldset.module.mjs +0 -19
- package/esm2022/lib/form-group/form-group.component.mjs +0 -37
- package/esm2022/lib/form-group/form-group.module.mjs +0 -21
- package/esm2022/lib/label/label.component.mjs +0 -19
- package/esm2022/lib/label/label.module.mjs +0 -21
- package/esm2022/lib/loading/loading-indicator.component.mjs +0 -18
- package/esm2022/lib/loading/loading-panel.component.mjs +0 -45
- package/esm2022/lib/loading/loading.module.mjs +0 -21
- package/esm2022/lib/loading/loading.service.mjs +0 -47
- package/esm2022/lib/menu/menu-item.component.mjs +0 -50
- package/esm2022/lib/menu/menu.component.mjs +0 -98
- package/esm2022/lib/menu/menu.module.mjs +0 -22
- package/esm2022/lib/menu/menu2.component.mjs +0 -100
- package/esm2022/lib/number-box/number-box.component.mjs +0 -628
- package/esm2022/lib/number-box/number-box.module.mjs +0 -21
- package/esm2022/lib/page/content.component.mjs +0 -27
- package/esm2022/lib/page/footer.component.mjs +0 -19
- package/esm2022/lib/page/page.component.mjs +0 -57
- package/esm2022/lib/page/page.module.mjs +0 -22
- package/esm2022/lib/panel-box/panel-box.component.mjs +0 -87
- package/esm2022/lib/panel-box/panel-box.module.mjs +0 -19
- package/esm2022/lib/password-box/password-box.component.mjs +0 -32
- package/esm2022/lib/password-box/password-box.module.mjs +0 -23
- package/esm2022/lib/popover/custom-cdk-overlay.service.mjs +0 -50
- package/esm2022/lib/popover/overlay.service.mjs +0 -94
- package/esm2022/lib/popover/popover.component.mjs +0 -145
- package/esm2022/lib/popover/popover.module.mjs +0 -19
- package/esm2022/lib/popup/popup.component.mjs +0 -160
- package/esm2022/lib/popup/popup.module.mjs +0 -25
- package/esm2022/lib/popup/popup.service.mjs +0 -94
- package/esm2022/lib/progress-bar/progress-bar.component.mjs +0 -16
- package/esm2022/lib/progress-bar/progress-bar.module.mjs +0 -19
- package/esm2022/lib/property-editor/editors/check-editor/check-editor.mjs +0 -65
- package/esm2022/lib/property-editor/editors/check-editor/check.module.mjs +0 -22
- package/esm2022/lib/property-editor/editors/color-editor/color.editor.mjs +0 -41
- package/esm2022/lib/property-editor/editors/color-editor/color.module.mjs +0 -24
- package/esm2022/lib/property-editor/editors/column-editor/column.editor.mjs +0 -118
- package/esm2022/lib/property-editor/editors/column-editor/column.module.mjs +0 -32
- package/esm2022/lib/property-editor/editors/conditional-color-editor/conditional-color.editor.mjs +0 -216
- package/esm2022/lib/property-editor/editors/conditional-color-editor/conditional-color.module.mjs +0 -76
- package/esm2022/lib/property-editor/editors/date-editor/date.editor.mjs +0 -87
- package/esm2022/lib/property-editor/editors/date-editor/date.module.mjs +0 -24
- package/esm2022/lib/property-editor/editors/number-editor/number.editor.mjs +0 -66
- package/esm2022/lib/property-editor/editors/number-editor/number.module.mjs +0 -24
- package/esm2022/lib/property-editor/editors/range-editor/range.editor.mjs +0 -145
- package/esm2022/lib/property-editor/editors/range-editor/range.module.mjs +0 -59
- package/esm2022/lib/property-editor/editors/searchbar-selectbox-editor/searchbar-selectbox-editor.mjs +0 -76
- package/esm2022/lib/property-editor/editors/selectbox-editor/selectbox.editor.mjs +0 -75
- package/esm2022/lib/property-editor/editors/selectbox-editor/selectbox.module.mjs +0 -25
- package/esm2022/lib/property-editor/editors/selection-editor/selection-editor.mjs +0 -73
- package/esm2022/lib/property-editor/editors/selection-editor/selection.module.mjs +0 -22
- package/esm2022/lib/property-editor/editors/switch-editor/number.editor.mjs +0 -30
- package/esm2022/lib/property-editor/editors/switch-editor/number.module.mjs +0 -25
- package/esm2022/lib/property-editor/editors/text-editor/text.editor.mjs +0 -36
- package/esm2022/lib/property-editor/editors/text-editor/text.module.mjs +0 -24
- package/esm2022/lib/property-editor/editors/textarea-editor/textarea.editor.mjs +0 -35
- package/esm2022/lib/property-editor/editors/textarea-editor/textarea.module.mjs +0 -24
- package/esm2022/lib/property-editor/editors/time-editor/time.editor.mjs +0 -47
- package/esm2022/lib/property-editor/editors/time-editor/time.module.mjs +0 -24
- package/esm2022/lib/property-editor/property-editor-renderer.directive.mjs +0 -167
- package/esm2022/lib/property-editor/property-editor.class.mjs +0 -108
- package/esm2022/lib/property-editor/property-editor.module.mjs +0 -194
- package/esm2022/lib/query-builder/query-builder-group.component.mjs +0 -129
- package/esm2022/lib/query-builder/query-builder-popup/query-builder-popup.component.mjs +0 -177
- package/esm2022/lib/query-builder/query-builder-rule.component.mjs +0 -428
- package/esm2022/lib/query-builder/query-builder.class.mjs +0 -42
- package/esm2022/lib/query-builder/query-builder.component.mjs +0 -92
- package/esm2022/lib/query-builder/query-builder.module.mjs +0 -62
- package/esm2022/lib/query-builder/query-builder.service.mjs +0 -199
- package/esm2022/lib/search-bar/search-bar.component.mjs +0 -293
- package/esm2022/lib/search-bar/search-bar.module.mjs +0 -61
- package/esm2022/lib/searchbox/searchbox.component.mjs +0 -106
- package/esm2022/lib/searchbox/searchbox.module.mjs +0 -24
- package/esm2022/lib/selectbox/selectbox.component.mjs +0 -1051
- package/esm2022/lib/selectbox/selectbox.module.mjs +0 -44
- package/esm2022/lib/selectbox/selectbox2.component.mjs +0 -617
- package/esm2022/lib/selection-list/selection-list.component.mjs +0 -113
- package/esm2022/lib/selection-list/selection-list.module.mjs +0 -21
- package/esm2022/lib/switch/switch.component.mjs +0 -55
- package/esm2022/lib/switch/switch.module.mjs +0 -20
- package/esm2022/lib/tab-page/tab-page-Renderer.component.mjs +0 -75
- package/esm2022/lib/tab-page/tab-page-host.component.mjs +0 -124
- package/esm2022/lib/tab-page/tab-page.module.mjs +0 -21
- package/esm2022/lib/tab-page/tab-page.service.mjs +0 -159
- package/esm2022/lib/tab-strip/tab-strip.component.mjs +0 -38
- package/esm2022/lib/tab-strip/tab-strip.module.mjs +0 -19
- package/esm2022/lib/tab-view/dynamic-tabs.directive.mjs +0 -25
- package/esm2022/lib/tab-view/tab-view.component.mjs +0 -110
- package/esm2022/lib/tab-view/tab-view.module.mjs +0 -21
- package/esm2022/lib/tab-view/tab.component.mjs +0 -33
- package/esm2022/lib/textarea/textarea.component.mjs +0 -27
- package/esm2022/lib/textarea/textarea.module.mjs +0 -21
- package/esm2022/lib/textbox/textbox.component.mjs +0 -42
- package/esm2022/lib/textbox/textbox.module.mjs +0 -36
- package/esm2022/lib/time-picker/time-picker.component.mjs +0 -1107
- package/esm2022/lib/time-picker/time-picker.module.mjs +0 -34
- package/esm2022/lib/toast/toast-message/toast-message.component.mjs +0 -76
- package/esm2022/lib/toast/toast-wrapper/toast-wrapper.component.mjs +0 -13
- package/esm2022/lib/toast/toast.module.mjs +0 -21
- package/esm2022/lib/toast/toast.service.mjs +0 -45
- package/esm2022/lib/toolbar/group-button/toolbar-group-button.component.mjs +0 -77
- package/esm2022/lib/toolbar/menu/toolbar-menu.component.mjs +0 -62
- package/esm2022/lib/toolbar/search/toolbar-search.component.mjs +0 -56
- package/esm2022/lib/toolbar/title/toolbar-title.component.mjs +0 -37
- package/esm2022/lib/toolbar/toolbar-item.mjs +0 -4
- package/esm2022/lib/toolbar/toolbar.component.mjs +0 -13
- package/esm2022/lib/toolbar/toolbar.module.mjs +0 -40
- package/esm2022/lib/tooltip/tooltip.directive.mjs +0 -104
- package/esm2022/lib/tooltip/tooltip.module.mjs +0 -19
- package/esm2022/lib/tree-side-menu/tree-side-menu.component.mjs +0 -697
- package/esm2022/lib/tree-side-menu/tree-side-menu.module.mjs +0 -33
- package/esm2022/lib/tree-view/tree-view.component.mjs +0 -854
- package/esm2022/lib/tree-view/tree-view.module.mjs +0 -22
- package/esm2022/lib/upload-file/upload-file.component.mjs +0 -226
- package/esm2022/lib/upload-file/upload-file.events.mjs +0 -2
- package/esm2022/lib/upload-file/upload-file.module.mjs +0 -24
- package/esm2022/lib/validation/validation-form.component.mjs +0 -68
- package/esm2022/lib/validation/validation-rule.widget.mjs +0 -114
- package/esm2022/lib/validation/validation.class.mjs +0 -2
- package/esm2022/lib/validation/validation.component.mjs +0 -89
- package/esm2022/lib/validation/validation.module.mjs +0 -34
- package/fesm2022/acorex-components.mjs.map +0 -1
@@ -1,22 +0,0 @@
|
|
1
|
-
import { NgModule } from '@angular/core';
|
2
|
-
import { AXTreeViewComponent } from './tree-view.component';
|
3
|
-
import { CommonModule } from '@angular/common';
|
4
|
-
import { AXDataSourceModule } from '../data-source/datasource.module';
|
5
|
-
import { AXCheckBoxModule } from '../checkbox/checkbox.module';
|
6
|
-
import { AXContextMenuModule } from '../context-menu/context-menu.module';
|
7
|
-
import * as i0 from "@angular/core";
|
8
|
-
export class AXTreeViewModule {
|
9
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AXTreeViewModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
10
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: AXTreeViewModule, declarations: [AXTreeViewComponent], imports: [AXDataSourceModule, CommonModule, AXCheckBoxModule, AXContextMenuModule], exports: [AXTreeViewComponent] });
|
11
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AXTreeViewModule, imports: [AXDataSourceModule, CommonModule, AXCheckBoxModule, AXContextMenuModule] });
|
12
|
-
}
|
13
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AXTreeViewModule, decorators: [{
|
14
|
-
type: NgModule,
|
15
|
-
args: [{
|
16
|
-
declarations: [AXTreeViewComponent],
|
17
|
-
imports: [AXDataSourceModule, CommonModule, AXCheckBoxModule, AXContextMenuModule],
|
18
|
-
exports: [AXTreeViewComponent],
|
19
|
-
providers: []
|
20
|
-
}]
|
21
|
-
}] });
|
22
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS12aWV3Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9zcmMvbGliL3RyZWUtdmlldy90cmVlLXZpZXcubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDOztBQVUxRSxNQUFNLE9BQU8sZ0JBQWdCO3dHQUFoQixnQkFBZ0I7eUdBQWhCLGdCQUFnQixpQkFOVixtQkFBbUIsYUFDeEIsa0JBQWtCLEVBQUUsWUFBWSxFQUFFLGdCQUFnQixFQUFFLG1CQUFtQixhQUN2RSxtQkFBbUI7eUdBSXBCLGdCQUFnQixZQUxmLGtCQUFrQixFQUFFLFlBQVksRUFBRSxnQkFBZ0IsRUFBRSxtQkFBbUI7OzRGQUt4RSxnQkFBZ0I7a0JBUDVCLFFBQVE7bUJBQUM7b0JBQ04sWUFBWSxFQUFFLENBQUMsbUJBQW1CLENBQUM7b0JBQ25DLE9BQU8sRUFBRSxDQUFDLGtCQUFrQixFQUFFLFlBQVksRUFBRSxnQkFBZ0IsRUFBRSxtQkFBbUIsQ0FBQztvQkFDbEYsT0FBTyxFQUFFLENBQUMsbUJBQW1CLENBQUM7b0JBQzlCLFNBQVMsRUFBRSxFQUFFO2lCQUNoQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWFRyZWVWaWV3Q29tcG9uZW50IH0gZnJvbSAnLi90cmVlLXZpZXcuY29tcG9uZW50JztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBBWERhdGFTb3VyY2VNb2R1bGUgfSBmcm9tICcuLi9kYXRhLXNvdXJjZS9kYXRhc291cmNlLm1vZHVsZSc7XG5pbXBvcnQgeyBBWENoZWNrQm94TW9kdWxlIH0gZnJvbSAnLi4vY2hlY2tib3gvY2hlY2tib3gubW9kdWxlJztcbmltcG9ydCB7IEFYQ29udGV4dE1lbnVNb2R1bGUgfSBmcm9tICcuLi9jb250ZXh0LW1lbnUvY29udGV4dC1tZW51Lm1vZHVsZSc7XG5cblxuQE5nTW9kdWxlKHtcbiAgICBkZWNsYXJhdGlvbnM6IFtBWFRyZWVWaWV3Q29tcG9uZW50XSxcbiAgICBpbXBvcnRzOiBbQVhEYXRhU291cmNlTW9kdWxlLCBDb21tb25Nb2R1bGUsIEFYQ2hlY2tCb3hNb2R1bGUsIEFYQ29udGV4dE1lbnVNb2R1bGVdLFxuICAgIGV4cG9ydHM6IFtBWFRyZWVWaWV3Q29tcG9uZW50XSxcbiAgICBwcm92aWRlcnM6IFtdXG59KVxuXG5leHBvcnQgY2xhc3MgQVhUcmVlVmlld01vZHVsZSB7IH0iXX0=
|
@@ -1,226 +0,0 @@
|
|
1
|
-
import { Component, ViewChild, Input, ElementRef, ViewEncapsulation, TemplateRef, Renderer2, EventEmitter, Output, ChangeDetectorRef } from '@angular/core';
|
2
|
-
import { AXProgressBarComponent } from '../progress-bar/progress-bar.component';
|
3
|
-
import { AXBaseComponent } from '../base/element.class';
|
4
|
-
import { AXRenderService } from '@acorex/core';
|
5
|
-
import * as i0 from "@angular/core";
|
6
|
-
import * as i1 from "@acorex/core";
|
7
|
-
import * as i2 from "@angular/common";
|
8
|
-
import * as i3 from "../button/button.component";
|
9
|
-
import * as i4 from "../textbox/textbox.component";
|
10
|
-
import * as i5 from "../form-group/form-group.component";
|
11
|
-
export class AXUploadFileComponent extends AXBaseComponent {
|
12
|
-
el;
|
13
|
-
injectionService;
|
14
|
-
rendrer;
|
15
|
-
cdr;
|
16
|
-
overlayDiv;
|
17
|
-
contentType = 'image';
|
18
|
-
dropRef;
|
19
|
-
progressRef;
|
20
|
-
label;
|
21
|
-
size = "md";
|
22
|
-
fileInput;
|
23
|
-
type = 'inline';
|
24
|
-
template;
|
25
|
-
disabled = false;
|
26
|
-
onLoad = new EventEmitter();
|
27
|
-
onProgress = new EventEmitter();
|
28
|
-
onRemove = new EventEmitter();
|
29
|
-
fileTypes = [
|
30
|
-
{
|
31
|
-
type: 'image',
|
32
|
-
accept: ['image/gif', 'image/jpeg', 'image/png'],
|
33
|
-
},
|
34
|
-
{
|
35
|
-
type: 'audio',
|
36
|
-
accept: ['audio/mp3'],
|
37
|
-
},
|
38
|
-
{
|
39
|
-
type: 'ebook',
|
40
|
-
accept: ['application/pdf'],
|
41
|
-
},
|
42
|
-
{
|
43
|
-
type: 'excel',
|
44
|
-
accept: ['application/vnd.ms-excel', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'],
|
45
|
-
},
|
46
|
-
{
|
47
|
-
type: 'video',
|
48
|
-
accept: ['video/*'],
|
49
|
-
},
|
50
|
-
{
|
51
|
-
type: 'video/image',
|
52
|
-
accept: ['image/gif', 'image/jpeg', 'image/png', 'video/*'],
|
53
|
-
},
|
54
|
-
{
|
55
|
-
type: 'json',
|
56
|
-
accept: ['application/json'],
|
57
|
-
},
|
58
|
-
{
|
59
|
-
type: 'any',
|
60
|
-
accept: ['*/*'],
|
61
|
-
},
|
62
|
-
];
|
63
|
-
files = [];
|
64
|
-
focus() { }
|
65
|
-
fileName = '';
|
66
|
-
constructor(el, injectionService, rendrer, cdr) {
|
67
|
-
super();
|
68
|
-
this.el = el;
|
69
|
-
this.injectionService = injectionService;
|
70
|
-
this.rendrer = rendrer;
|
71
|
-
this.cdr = cdr;
|
72
|
-
}
|
73
|
-
onDeleteClick(e) {
|
74
|
-
e.stopPropagation();
|
75
|
-
}
|
76
|
-
onFileChange(e) {
|
77
|
-
const files = e.target.files;
|
78
|
-
this.addFile(files[0]);
|
79
|
-
this.fileInput.nativeElement.value = null;
|
80
|
-
}
|
81
|
-
open() {
|
82
|
-
this.fileInput.nativeElement.click({ accept: this.accessTypes });
|
83
|
-
}
|
84
|
-
remove() {
|
85
|
-
this.fileInput.nativeElement.value = '';
|
86
|
-
this.files = [];
|
87
|
-
this.fileName = null;
|
88
|
-
this.onRemove.emit();
|
89
|
-
}
|
90
|
-
ngAfterViewInit() {
|
91
|
-
if (this.dropRef != null) {
|
92
|
-
}
|
93
|
-
else {
|
94
|
-
this.dropRef = this.el.nativeElement;
|
95
|
-
}
|
96
|
-
//
|
97
|
-
if (this.progressRef != null) {
|
98
|
-
}
|
99
|
-
else {
|
100
|
-
this.progressRef = this.el.nativeElement;
|
101
|
-
}
|
102
|
-
//
|
103
|
-
if (this.type === 'hidden' || this.type === 'box') {
|
104
|
-
this.overlayDiv = this.rendrer.createElement('div');
|
105
|
-
this.overlayDiv.classList.add('overlay');
|
106
|
-
this.overlayDiv.innerHTML = `
|
107
|
-
<div class="icon-wrapper">
|
108
|
-
<i class="far fa-cloud-upload-alt fa-3x"></i>
|
109
|
-
<span>Drop File(s) Here</span>
|
110
|
-
</div>
|
111
|
-
`;
|
112
|
-
this.overlayDiv.addEventListener('drag', this.handleOverlayDragOver);
|
113
|
-
this.overlayDiv.addEventListener('dragover', this.handleOverlayDragOver);
|
114
|
-
this.overlayDiv.addEventListener('dragleave', this.handleOverlayDragOver);
|
115
|
-
this.rendrer.appendChild(this.dropRef, this.overlayDiv);
|
116
|
-
}
|
117
|
-
//
|
118
|
-
this.dropRef.classList.add('ax-upload-drop-over');
|
119
|
-
this.dropRef.addEventListener('dragover', this.handleDragOver.bind(this));
|
120
|
-
this.dropRef.addEventListener('dragleave', this.handleDragLeave.bind(this));
|
121
|
-
this.dropRef.addEventListener('drop', this.handleDrop.bind(this));
|
122
|
-
}
|
123
|
-
handleOverlayDragOver(e) {
|
124
|
-
e.preventDefault();
|
125
|
-
e.stopPropagation();
|
126
|
-
return false;
|
127
|
-
}
|
128
|
-
handleDragOver(e) {
|
129
|
-
e.preventDefault();
|
130
|
-
e.stopPropagation();
|
131
|
-
this.overlayDiv.classList.add('show');
|
132
|
-
return false;
|
133
|
-
}
|
134
|
-
handleDragLeave(e) {
|
135
|
-
e.preventDefault();
|
136
|
-
e.stopPropagation();
|
137
|
-
this.overlayDiv.classList.remove('show');
|
138
|
-
return false;
|
139
|
-
}
|
140
|
-
handleDrop(e) {
|
141
|
-
this.handleDragLeave(e);
|
142
|
-
for (let i = 0; i < e.dataTransfer.files.length; i++) {
|
143
|
-
const file = e.dataTransfer.files[i];
|
144
|
-
this.addFile(file);
|
145
|
-
}
|
146
|
-
}
|
147
|
-
addFile(file) {
|
148
|
-
const progressDiv = this.rendrer.createElement('div');
|
149
|
-
progressDiv.classList.add('ax-upload-progress-panel');
|
150
|
-
const progressLabel = this.rendrer.createElement('small');
|
151
|
-
progressLabel.innerText = file.name;
|
152
|
-
this.fileName = file.name;
|
153
|
-
this.rendrer.appendChild(this.progressRef, progressDiv);
|
154
|
-
const com = this.injectionService.appendComponent(AXProgressBarComponent, { progress: 0 }, progressDiv).instance;
|
155
|
-
this.rendrer.appendChild(progressDiv, progressLabel);
|
156
|
-
const reader = new FileReader();
|
157
|
-
reader.addEventListener('load', (e) => {
|
158
|
-
this.onLoad.emit({
|
159
|
-
file,
|
160
|
-
data: e.target.result
|
161
|
-
});
|
162
|
-
//
|
163
|
-
// Fake Upload
|
164
|
-
let pv = 0;
|
165
|
-
let uploaded = 0;
|
166
|
-
const intv = setInterval(() => {
|
167
|
-
uploaded += 1024 * 1000;
|
168
|
-
if (uploaded > e.total) {
|
169
|
-
uploaded = e.total;
|
170
|
-
}
|
171
|
-
pv = Math.ceil((uploaded / e.total) * 100);
|
172
|
-
com.progress = pv;
|
173
|
-
this.onProgress.emit({
|
174
|
-
file,
|
175
|
-
total: e.total,
|
176
|
-
uploaded,
|
177
|
-
value: pv
|
178
|
-
});
|
179
|
-
//
|
180
|
-
if (com.progress >= 100) {
|
181
|
-
clearInterval(intv);
|
182
|
-
setTimeout(() => {
|
183
|
-
this.rendrer.removeChild(this.progressRef, progressDiv);
|
184
|
-
}, 1000);
|
185
|
-
}
|
186
|
-
}, 100);
|
187
|
-
});
|
188
|
-
reader.readAsDataURL(file);
|
189
|
-
this.files.push(file);
|
190
|
-
}
|
191
|
-
get accessTypes() {
|
192
|
-
return this.fileTypes.find((item) => item.type == this.contentType).accept;
|
193
|
-
}
|
194
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AXUploadFileComponent, deps: [{ token: i0.ElementRef }, { token: i1.AXRenderService }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
195
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: AXUploadFileComponent, selector: "ax-upload-file", inputs: { contentType: "contentType", dropRef: "dropRef", progressRef: "progressRef", label: "label", size: "size", type: "type", template: "template", disabled: "disabled" }, outputs: { onLoad: "onLoad", onProgress: "onProgress", onRemove: "onRemove" }, host: { styleAttribute: "display: block; width:100%; position: relative" }, viewQueries: [{ propertyName: "fileInput", first: true, predicate: ["fileInput"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<input #fileInput type=\"file\" [accept]=\"accessTypes.join(',')\" style=\"display: none;\" (change)=\"onFileChange($event)\" />\n\n<ng-container *ngIf=\"type == 'inline'; else elseTemplate\">\n <ax-form-group size=\"{{size}}\">\n <ax-text-box [value]=\"fileName\" readonly=\"true\" [disabled]=\"disabled\"></ax-text-box>\n <ax-button type=\"blank light\" icon=\"far fa-times\" (click)=\"remove()\" *ngIf=\"fileName\" [tabIndex]=\"-1\">\n </ax-button>\n <ax-button type=\"primary blank\" icon=\"far fa-upload\" (click)=\"open()\" [disabled]=\"disabled\" [tabIndex]=\"-1\">\n </ax-button>\n </ax-form-group>\n</ng-container>\n\n<ng-template #elseTemplate>\n <div class=\"ax upload-file-box\" (click)=\"open()\" #dropRef>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.AXButtonComponent, selector: "ax-button", inputs: ["type", "icon", "submitBehavior", "cancelBehavior", "block", "loading", "selected"] }, { kind: "component", type: i4.AXTextBoxComponent, selector: "ax-text-box", inputs: ["mask", "showMask", "type", "maxLength", "maskGuid", "maskPlaceholder", "maskKeepCharPositions"] }, { kind: "component", type: i5.AXFormGroupComponent, selector: "ax-form-group", inputs: ["size"] }], encapsulation: i0.ViewEncapsulation.None });
|
196
|
-
}
|
197
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AXUploadFileComponent, decorators: [{
|
198
|
-
type: Component,
|
199
|
-
args: [{ selector: 'ax-upload-file', encapsulation: ViewEncapsulation.None, host: { style: 'display: block; width:100%; position: relative' }, template: "<input #fileInput type=\"file\" [accept]=\"accessTypes.join(',')\" style=\"display: none;\" (change)=\"onFileChange($event)\" />\n\n<ng-container *ngIf=\"type == 'inline'; else elseTemplate\">\n <ax-form-group size=\"{{size}}\">\n <ax-text-box [value]=\"fileName\" readonly=\"true\" [disabled]=\"disabled\"></ax-text-box>\n <ax-button type=\"blank light\" icon=\"far fa-times\" (click)=\"remove()\" *ngIf=\"fileName\" [tabIndex]=\"-1\">\n </ax-button>\n <ax-button type=\"primary blank\" icon=\"far fa-upload\" (click)=\"open()\" [disabled]=\"disabled\" [tabIndex]=\"-1\">\n </ax-button>\n </ax-form-group>\n</ng-container>\n\n<ng-template #elseTemplate>\n <div class=\"ax upload-file-box\" (click)=\"open()\" #dropRef>\n </div>\n</ng-template>\n" }]
|
200
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.AXRenderService }, { type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { contentType: [{
|
201
|
-
type: Input
|
202
|
-
}], dropRef: [{
|
203
|
-
type: Input
|
204
|
-
}], progressRef: [{
|
205
|
-
type: Input
|
206
|
-
}], label: [{
|
207
|
-
type: Input
|
208
|
-
}], size: [{
|
209
|
-
type: Input
|
210
|
-
}], fileInput: [{
|
211
|
-
type: ViewChild,
|
212
|
-
args: ['fileInput']
|
213
|
-
}], type: [{
|
214
|
-
type: Input
|
215
|
-
}], template: [{
|
216
|
-
type: Input
|
217
|
-
}], disabled: [{
|
218
|
-
type: Input
|
219
|
-
}], onLoad: [{
|
220
|
-
type: Output
|
221
|
-
}], onProgress: [{
|
222
|
-
type: Output
|
223
|
-
}], onRemove: [{
|
224
|
-
type: Output
|
225
|
-
}] } });
|
226
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLWZpbGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3NyYy9saWIvdXBsb2FkLWZpbGUvdXBsb2FkLWZpbGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3NyYy9saWIvdXBsb2FkLWZpbGUvdXBsb2FkLWZpbGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxTQUFTLEVBQ1QsS0FBSyxFQUNMLFVBQVUsRUFDVixpQkFBaUIsRUFDakIsV0FBVyxFQUNYLFNBQVMsRUFDVCxZQUFZLEVBQ1osTUFBTSxFQUNOLGlCQUFpQixFQUNsQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNoRixPQUFPLEVBQThELGVBQWUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3BILE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxjQUFjLENBQUM7Ozs7Ozs7QUFRL0MsTUFBTSxPQUFPLHFCQUFzQixTQUFRLGVBQWU7SUE4RTlDO0lBQ0E7SUFDQTtJQUNFO0lBaEZKLFVBQVUsQ0FBYztJQUdoQyxXQUFXLEdBQTJFLE9BQU8sQ0FBQztJQUc5RixPQUFPLENBQWM7SUFHckIsV0FBVyxDQUFjO0lBR3pCLEtBQUssQ0FBUztJQUdkLElBQUksR0FBa0IsSUFBSSxDQUFDO0lBRUgsU0FBUyxDQUFhO0lBRzlDLElBQUksR0FBZ0MsUUFBUSxDQUFDO0lBR3RDLFFBQVEsQ0FBbUI7SUFFekIsUUFBUSxHQUFZLEtBQUssQ0FBQztJQUVuQyxNQUFNLEdBQXdDLElBQUksWUFBWSxFQUF5QixDQUFDO0lBR3hGLFVBQVUsR0FBNEMsSUFBSSxZQUFZLEVBQTZCLENBQUM7SUFHcEcsUUFBUSxHQUFzQixJQUFJLFlBQVksRUFBRSxD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QVM7dUJBQUMsV0FBVztnQkFHdEIsSUFBSTtzQkFESCxLQUFLO2dCQUlDLFFBQVE7c0JBRGQsS0FBSztnQkFHRyxRQUFRO3NCQUFoQixLQUFLO2dCQUVOLE1BQU07c0JBREwsTUFBTTtnQkFJUCxVQUFVO3NCQURULE1BQU07Z0JBSVAsUUFBUTtzQkFEUCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBWaWV3Q2hpbGQsXG4gIElucHV0LFxuICBFbGVtZW50UmVmLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgVGVtcGxhdGVSZWYsXG4gIFJlbmRlcmVyMixcbiAgRXZlbnRFbWl0dGVyLFxuICBPdXRwdXQsXG4gIENoYW5nZURldGVjdG9yUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhVcGxvYWRGaWxlTG9hZEV2ZW50LCBBWFVwbG9hZEZpbGVQcm9ncmVzc0V2ZW50IH0gZnJvbSAnLi91cGxvYWQtZmlsZS5ldmVudHMnO1xuaW1wb3J0IHsgQVhQcm9ncmVzc0JhckNvbXBvbmVudCB9IGZyb20gJy4uL3Byb2dyZXNzLWJhci9wcm9ncmVzcy1iYXIuY29tcG9uZW50JztcbmltcG9ydCB7IEFYQmFzZVRleHRDb21wb25lbnQsIEFYRWxlbWVudFNpemUsIEFYQmFzZVNpemFibGVDb21wb25lbnQsIEFYQmFzZUNvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2UvZWxlbWVudC5jbGFzcyc7XG5pbXBvcnQgeyBBWFJlbmRlclNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheC11cGxvYWQtZmlsZScsXG4gIHRlbXBsYXRlVXJsOiAnLi91cGxvYWQtZmlsZS5jb21wb25lbnQuaHRtbCcsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGhvc3Q6IHsgc3R5bGU6ICdkaXNwbGF5OiBibG9jazsgd2lkdGg6MTAwJTsgcG9zaXRpb246IHJlbGF0aXZlJyB9XG59KVxuZXhwb3J0IGNsYXNzIEFYVXBsb2FkRmlsZUNvbXBvbmVudCBleHRlbmRzIEFYQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIEFYQmFzZVNpemFibGVDb21wb25lbnQge1xuICBwcml2YXRlIG92ZXJsYXlEaXY6IEhUTUxFbGVtZW50O1xuXG4gIEBJbnB1dCgpXG4gIGNvbnRlbnRUeXBlOiAnaW1hZ2UnIHwgJ2V4Y2VsJyB8ICdhdWRpbycgfCAndmlkZW8nIHwgJ3ZpZGVvL2ltYWdlJyB8ICdhbnknIHwgJ2pzb24nID0gJ2ltYWdlJztcblxuICBASW5wdXQoKVxuICBkcm9wUmVmOiBIVE1MRWxlbWVudDtcblxuICBASW5wdXQoKVxuICBwcm9ncmVzc1JlZjogSFRNTEVsZW1lbnQ7XG5cbiAgQElucHV0KClcbiAgbGFiZWw6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBzaXplOiBBWEVsZW1lbnRTaXplID0gXCJtZFwiO1xuXG4gIEBWaWV3Q2hpbGQoJ2ZpbGVJbnB1dCcpIGZpbGVJbnB1dDogRWxlbWVudFJlZjtcblxuICBASW5wdXQoKVxuICB0eXBlOiAnYm94JyB8ICdpbmxpbmUnIHwgJ2hpZGRlbicgPSAnaW5saW5lJztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQE91dHB1dCgpXG4gIG9uTG9hZDogRXZlbnRFbWl0dGVyPEFYVXBsb2FkRmlsZUxvYWRFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEFYVXBsb2FkRmlsZUxvYWRFdmVudD4oKTtcblxuICBAT3V0cHV0KClcbiAgb25Qcm9ncmVzczogRXZlbnRFbWl0dGVyPEFYVXBsb2FkRmlsZVByb2dyZXNzRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxBWFVwbG9hZEZpbGVQcm9ncmVzc0V2ZW50PigpO1xuXG4gIEBPdXRwdXQoKVxuICBvblJlbW92ZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgZmlsZVR5cGVzOiBhbnlbXSA9IFtcbiAgICB7XG4gICAgICB0eXBlOiAnaW1hZ2UnLFxuICAgICAgYWNjZXB0OiBbJ2ltYWdlL2dpZicsICdpbWFnZS9qcGVnJywgJ2ltYWdlL3BuZyddLFxuICAgIH0sXG4gICAge1xuICAgICAgdHlwZTogJ2F1ZGlvJyxcbiAgICAgIGFjY2VwdDogWydhdWRpby9tcDMnXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHR5cGU6ICdlYm9vaycsXG4gICAgICBhY2NlcHQ6IFsnYXBwbGljYXRpb24vcGRmJ10sXG4gICAgfSxcbiAgICB7XG4gICAgICB0eXBlOiAnZXhjZWwnLFxuICAgICAgYWNjZXB0OiBbJ2FwcGxpY2F0aW9uL3ZuZC5tcy1leGNlbCcsICdhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC5zaGVldCddLFxuICAgIH0sXG4gICAge1xuICAgICAgdHlwZTogJ3ZpZGVvJyxcbiAgICAgIGFjY2VwdDogWyd2aWRlby8qJ10sXG4gICAgfSxcbiAgICB7XG4gICAgICB0eXBlOiAndmlkZW8vaW1hZ2UnLFxuICAgICAgYWNjZXB0OiBbJ2ltYWdlL2dpZicsICdpbWFnZS9qcGVnJywgJ2ltYWdlL3BuZycsICd2aWRlby8qJ10sXG4gICAgfSxcbiAgICB7XG4gICAgICB0eXBlOiAnanNvbicsXG4gICAgICBhY2NlcHQ6IFsnYXBwbGljYXRpb24vanNvbiddLFxuICAgIH0sXG4gICAge1xuICAgICAgdHlwZTogJ2FueScsXG4gICAgICBhY2NlcHQ6IFsnKi8qJ10sXG4gICAgfSxcbiAgXTtcblxuXG5cbiAgZmlsZXM6IEZpbGVbXSA9IFtdO1xuICBmb2N1cygpIHsgfVxuXG4gIGZpbGVOYW1lOiBzdHJpbmcgPSAnJztcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBlbDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgcHJpdmF0ZSBpbmplY3Rpb25TZXJ2aWNlOiBBWFJlbmRlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZW5kcmVyOiBSZW5kZXJlcjIsXG4gICAgcHJvdGVjdGVkIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG5cbiAgb25EZWxldGVDbGljayhlKSB7XG4gICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgfVxuXG4gIG9uRmlsZUNoYW5nZShlKSB7XG4gICAgY29uc3QgZmlsZXMgPSBlLnRhcmdldC5maWxlcztcbiAgICB0aGlzLmFkZEZpbGUoZmlsZXNbMF0pO1xuICAgICh0aGlzLmZpbGVJbnB1dC5uYXRpdmVFbGVtZW50IGFzIEhUTUxJbnB1dEVsZW1lbnQpLnZhbHVlID0gbnVsbDtcbiAgfVxuXG4gIG9wZW4oKSB7XG4gICAgdGhpcy5maWxlSW5wdXQubmF0aXZlRWxlbWVudC5jbGljayh7IGFjY2VwdDogdGhpcy5hY2Nlc3NUeXBlcyB9KTtcbiAgfVxuICByZW1vdmUoKSB7XG4gICAgdGhpcy5maWxlSW5wdXQubmF0aXZlRWxlbWVudC52YWx1ZSA9ICcnXG4gICAgdGhpcy5maWxlcyA9IFtdO1xuICAgIHRoaXMuZmlsZU5hbWUgPSBudWxsXG4gICAgdGhpcy5vblJlbW92ZS5lbWl0KClcbiAgfVxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZHJvcFJlZiAhPSBudWxsKSB7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZHJvcFJlZiA9IHRoaXMuZWwubmF0aXZlRWxlbWVudDtcbiAgICB9XG4gICAgLy9cbiAgICBpZiAodGhpcy5wcm9ncmVzc1JlZiAhPSBudWxsKSB7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucHJvZ3Jlc3NSZWYgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQ7XG4gICAgfVxuICAgIC8vXG4gICAgaWYgKHRoaXMudHlwZSA9PT0gJ2hpZGRlbicgfHwgdGhpcy50eXBlID09PSAnYm94Jykge1xuICAgICAgdGhpcy5vdmVybGF5RGl2ID0gdGhpcy5yZW5kcmVyLmNyZWF0ZUVsZW1lbnQoJ2RpdicpIGFzIEhUTUxFbGVtZW50O1xuICAgICAgdGhpcy5vdmVybGF5RGl2LmNsYXNzTGlzdC5hZGQoJ292ZXJsYXknKTtcbiAgICAgIHRoaXMub3ZlcmxheURpdi5pbm5lckhUTUwgPSBgXG4gICAgICA8ZGl2IGNsYXNzPVwiaWNvbi13cmFwcGVyXCI+XG4gICAgICAgIDxpIGNsYXNzPVwiZmFyIGZhLWNsb3VkLXVwbG9hZC1hbHQgZmEtM3hcIj48L2k+XG4gICAgICAgIDxzcGFuPkRyb3AgRmlsZShzKSBIZXJlPC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgYDtcbiAgICAgIHRoaXMub3ZlcmxheURpdi5hZGRFdmVudExpc3RlbmVyKCdkcmFnJywgdGhpcy5oYW5kbGVPdmVybGF5RHJhZ092ZXIpO1xuICAgICAgdGhpcy5vdmVybGF5RGl2LmFkZEV2ZW50TGlzdGVuZXIoJ2RyYWdvdmVyJywgdGhpcy5oYW5kbGVPdmVybGF5RHJhZ092ZXIpO1xuICAgICAgdGhpcy5vdmVybGF5RGl2LmFkZEV2ZW50TGlzdGVuZXIoJ2RyYWdsZWF2ZScsIHRoaXMuaGFuZGxlT3ZlcmxheURyYWdPdmVyKTtcbiAgICAgIHRoaXMucmVuZHJlci5hcHBlbmRDaGlsZCh0aGlzLmRyb3BSZWYsIHRoaXMub3ZlcmxheURpdik7XG4gICAgfVxuICAgIC8vXG4gICAgdGhpcy5kcm9wUmVmLmNsYXNzTGlzdC5hZGQoJ2F4LXVwbG9hZC1kcm9wLW92ZXInKTtcbiAgICB0aGlzLmRyb3BSZWYuYWRkRXZlbnRMaXN0ZW5lcignZHJhZ292ZXInLCB0aGlzLmhhbmRsZURyYWdPdmVyLmJpbmQodGhpcykpO1xuICAgIHRoaXMuZHJvcFJlZi5hZGRFdmVudExpc3RlbmVyKCdkcmFnbGVhdmUnLCB0aGlzLmhhbmRsZURyYWdMZWF2ZS5iaW5kKHRoaXMpKTtcbiAgICB0aGlzLmRyb3BSZWYuYWRkRXZlbnRMaXN0ZW5lcignZHJvcCcsIHRoaXMuaGFuZGxlRHJvcC5iaW5kKHRoaXMpKTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlT3ZlcmxheURyYWdPdmVyKGU6IERyYWdFdmVudCkge1xuICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlRHJhZ092ZXIoZTogRHJhZ0V2ZW50KSB7XG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgdGhpcy5vdmVybGF5RGl2LmNsYXNzTGlzdC5hZGQoJ3Nob3cnKTtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZURyYWdMZWF2ZShlOiBEcmFnRXZlbnQpIHtcbiAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLm92ZXJsYXlEaXYuY2xhc3NMaXN0LnJlbW92ZSgnc2hvdycpO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGhhbmRsZURyb3AoZTogRHJhZ0V2ZW50KSB7XG4gICAgdGhpcy5oYW5kbGVEcmFnTGVhdmUoZSk7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBlLmRhdGFUcmFuc2Zlci5maWxlcy5sZW5ndGg7IGkrKykge1xuICAgICAgY29uc3QgZmlsZSA9IGUuZGF0YVRyYW5zZmVyLmZpbGVzW2ldO1xuICAgICAgdGhpcy5hZGRGaWxlKGZpbGUpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYWRkRmlsZShmaWxlOiBGaWxlKSB7XG4gICAgY29uc3QgcHJvZ3Jlc3NEaXYgPSB0aGlzLnJlbmRyZXIuY3JlYXRlRWxlbWVudCgnZGl2JykgYXMgSFRNTEVsZW1lbnQ7XG4gICAgcHJvZ3Jlc3NEaXYuY2xhc3NMaXN0LmFkZCgnYXgtdXBsb2FkLXByb2dyZXNzLXBhbmVsJyk7XG4gICAgY29uc3QgcHJvZ3Jlc3NMYWJlbCA9IHRoaXMucmVuZHJlci5jcmVhdGVFbGVtZW50KCdzbWFsbCcpIGFzIEhUTUxFbGVtZW50O1xuICAgIHByb2dyZXNzTGFiZWwuaW5uZXJUZXh0ID0gZmlsZS5uYW1lO1xuICAgIHRoaXMuZmlsZU5hbWUgPSBmaWxlLm5hbWU7XG4gICAgdGhpcy5yZW5kcmVyLmFwcGVuZENoaWxkKHRoaXMucHJvZ3Jlc3NSZWYsIHByb2dyZXNzRGl2KTtcbiAgICBjb25zdCBjb20gPSB0aGlzLmluamVjdGlvblNlcnZpY2UuYXBwZW5kQ29tcG9uZW50KEFYUHJvZ3Jlc3NCYXJDb21wb25lbnQsIHsgcHJvZ3Jlc3M6IDAgfSwgcHJvZ3Jlc3NEaXYpLmluc3RhbmNlIGFzIEFYUHJvZ3Jlc3NCYXJDb21wb25lbnQ7XG4gICAgdGhpcy5yZW5kcmVyLmFwcGVuZENoaWxkKHByb2dyZXNzRGl2LCBwcm9ncmVzc0xhYmVsKTtcblxuICAgIGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XG4gICAgcmVhZGVyLmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCAoZSkgPT4ge1xuICAgICAgdGhpcy5vbkxvYWQuZW1pdCh7XG4gICAgICAgIGZpbGUsXG4gICAgICAgIGRhdGE6IChlIGFzIGFueSkudGFyZ2V0LnJlc3VsdFxuICAgICAgfSk7XG4gICAgICAvL1xuICAgICAgLy8gRmFrZSBVcGxvYWRcbiAgICAgIGxldCBwdiA9IDA7XG4gICAgICBsZXQgdXBsb2FkZWQgPSAwO1xuICAgICAgY29uc3QgaW50diA9IHNldEludGVydmFsKCgpID0+IHtcbiAgICAgICAgdXBsb2FkZWQgKz0gMTAyNCAqIDEwMDA7XG4gICAgICAgIGlmICh1cGxvYWRlZCA+IGUudG90YWwpIHtcbiAgICAgICAgICB1cGxvYWRlZCA9IGUudG90YWw7XG4gICAgICAgIH1cbiAgICAgICAgcHYgPSBNYXRoLmNlaWwoKHVwbG9hZGVkIC8gZS50b3RhbCkgKiAxMDApO1xuICAgICAgICBjb20ucHJvZ3Jlc3MgPSBwdjtcbiAgICAgICAgdGhpcy5vblByb2dyZXNzLmVtaXQoe1xuICAgICAgICAgIGZpbGUsXG4gICAgICAgICAgdG90YWw6IGUudG90YWwsXG4gICAgICAgICAgdXBsb2FkZWQsXG4gICAgICAgICAgdmFsdWU6IHB2XG4gICAgICAgIH0pO1xuICAgICAgICAvL1xuICAgICAgICBpZiAoY29tLnByb2dyZXNzID49IDEwMCkge1xuICAgICAgICAgIGNsZWFySW50ZXJ2YWwoaW50dik7XG4gICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnJlbmRyZXIucmVtb3ZlQ2hpbGQodGhpcy5wcm9ncmVzc1JlZiwgcHJvZ3Jlc3NEaXYpO1xuICAgICAgICAgIH0sIDEwMDApO1xuICAgICAgICB9XG4gICAgICB9LCAxMDApO1xuICAgIH0pO1xuICAgIHJlYWRlci5yZWFkQXNEYXRhVVJMKGZpbGUpO1xuICAgIHRoaXMuZmlsZXMucHVzaChmaWxlKTtcbiAgfVxuXG4gIGdldCBhY2Nlc3NUeXBlcygpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIHRoaXMuZmlsZVR5cGVzLmZpbmQoKGl0ZW0pID0+IGl0ZW0udHlwZSA9PSB0aGlzLmNvbnRlbnRUeXBlKS5hY2NlcHQ7XG4gIH1cbn1cbiIsIjxpbnB1dCAjZmlsZUlucHV0IHR5cGU9XCJmaWxlXCIgW2FjY2VwdF09XCJhY2Nlc3NUeXBlcy5qb2luKCcsJylcIiBzdHlsZT1cImRpc3BsYXk6IG5vbmU7XCIgKGNoYW5nZSk9XCJvbkZpbGVDaGFuZ2UoJGV2ZW50KVwiIC8+XG5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJ0eXBlID09ICdpbmxpbmUnOyBlbHNlIGVsc2VUZW1wbGF0ZVwiPlxuICA8YXgtZm9ybS1ncm91cCBzaXplPVwie3tzaXplfX1cIj5cbiAgICA8YXgtdGV4dC1ib3ggW3ZhbHVlXT1cImZpbGVOYW1lXCIgcmVhZG9ubHk9XCJ0cnVlXCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCI+PC9heC10ZXh0LWJveD5cbiAgICA8YXgtYnV0dG9uIHR5cGU9XCJibGFuayBsaWdodFwiIGljb249XCJmYXIgZmEtdGltZXNcIiAoY2xpY2spPVwicmVtb3ZlKClcIiAqbmdJZj1cImZpbGVOYW1lXCIgW3RhYkluZGV4XT1cIi0xXCI+XG4gICAgPC9heC1idXR0b24+XG4gICAgPGF4LWJ1dHRvbiB0eXBlPVwicHJpbWFyeSBibGFua1wiIGljb249XCJmYXIgZmEtdXBsb2FkXCIgKGNsaWNrKT1cIm9wZW4oKVwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiIFt0YWJJbmRleF09XCItMVwiPlxuICAgIDwvYXgtYnV0dG9uPlxuICA8L2F4LWZvcm0tZ3JvdXA+XG48L25nLWNvbnRhaW5lcj5cblxuPG5nLXRlbXBsYXRlICNlbHNlVGVtcGxhdGU+XG4gIDxkaXYgY2xhc3M9XCJheCB1cGxvYWQtZmlsZS1ib3hcIiAoY2xpY2spPVwib3BlbigpXCIgI2Ryb3BSZWY+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
@@ -1,2 +0,0 @@
|
|
1
|
-
export {};
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLWZpbGUuZXZlbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3NyYy9saWIvdXBsb2FkLWZpbGUvdXBsb2FkLWZpbGUuZXZlbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIEFYVXBsb2FkRmlsZVByb2dyZXNzRXZlbnQge1xuICByZWFkb25seSBmaWxlOiBGaWxlO1xuICByZWFkb25seSB1cGxvYWRlZDogbnVtYmVyO1xuICByZWFkb25seSB0b3RhbDogbnVtYmVyO1xuICByZWFkb25seSB2YWx1ZTogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFYVXBsb2FkRmlsZUxvYWRFdmVudCB7XG4gIHJlYWRvbmx5IGZpbGU6IEZpbGU7XG4gIHJlYWRvbmx5IGRhdGE6IEFycmF5QnVmZmVyO1xufVxuIl19
|
@@ -1,24 +0,0 @@
|
|
1
|
-
import { NgModule } from '@angular/core';
|
2
|
-
import { CommonModule } from '@angular/common';
|
3
|
-
import { AXUploadFileComponent } from './upload-file.component';
|
4
|
-
import { AXButtonModule } from '../button/button.module';
|
5
|
-
import { AXTextBoxModule } from '../textbox/textbox.module';
|
6
|
-
import { AXProgressBarModule } from '../progress-bar/progress-bar.module';
|
7
|
-
import { AXLabelModule } from '../label/label.module';
|
8
|
-
import { AXFormGroupModule } from '../form-group/form-group.module';
|
9
|
-
import * as i0 from "@angular/core";
|
10
|
-
export class AXUploadFileModule {
|
11
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AXUploadFileModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
12
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: AXUploadFileModule, declarations: [AXUploadFileComponent], imports: [CommonModule, AXButtonModule, AXTextBoxModule, AXProgressBarModule, AXLabelModule, AXFormGroupModule], exports: [AXUploadFileComponent] });
|
13
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AXUploadFileModule, imports: [CommonModule, AXButtonModule, AXTextBoxModule, AXProgressBarModule, AXLabelModule, AXFormGroupModule] });
|
14
|
-
}
|
15
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AXUploadFileModule, decorators: [{
|
16
|
-
type: NgModule,
|
17
|
-
args: [{
|
18
|
-
declarations: [AXUploadFileComponent],
|
19
|
-
imports: [CommonModule, AXButtonModule, AXTextBoxModule, AXProgressBarModule, AXLabelModule, AXFormGroupModule],
|
20
|
-
exports: [AXUploadFileComponent],
|
21
|
-
providers: []
|
22
|
-
}]
|
23
|
-
}] });
|
24
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLWZpbGUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3NyYy9saWIvdXBsb2FkLWZpbGUvdXBsb2FkLWZpbGUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDMUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOztBQVFwRSxNQUFNLE9BQU8sa0JBQWtCO3dHQUFsQixrQkFBa0I7eUdBQWxCLGtCQUFrQixpQkFMZCxxQkFBcUIsYUFDMUIsWUFBWSxFQUFFLGNBQWMsRUFBRSxlQUFlLEVBQUUsbUJBQW1CLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixhQUNwRyxxQkFBcUI7eUdBR3BCLGtCQUFrQixZQUpuQixZQUFZLEVBQUUsY0FBYyxFQUFFLGVBQWUsRUFBRSxtQkFBbUIsRUFBRSxhQUFhLEVBQUUsaUJBQWlCOzs0RkFJbkcsa0JBQWtCO2tCQU45QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLHFCQUFxQixDQUFDO29CQUNyQyxPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsY0FBYyxFQUFFLGVBQWUsRUFBRSxtQkFBbUIsRUFBRSxhQUFhLEVBQUUsaUJBQWlCLENBQUM7b0JBQy9HLE9BQU8sRUFBRSxDQUFDLHFCQUFxQixDQUFDO29CQUNoQyxTQUFTLEVBQUUsRUFBRTtpQkFDZCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQVhVcGxvYWRGaWxlQ29tcG9uZW50IH0gZnJvbSAnLi91cGxvYWQtZmlsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQVhCdXR0b25Nb2R1bGUgfSBmcm9tICcuLi9idXR0b24vYnV0dG9uLm1vZHVsZSc7XG5pbXBvcnQgeyBBWFRleHRCb3hNb2R1bGUgfSBmcm9tICcuLi90ZXh0Ym94L3RleHRib3gubW9kdWxlJztcbmltcG9ydCB7IEFYUHJvZ3Jlc3NCYXJNb2R1bGUgfSBmcm9tICcuLi9wcm9ncmVzcy1iYXIvcHJvZ3Jlc3MtYmFyLm1vZHVsZSc7XG5pbXBvcnQgeyBBWExhYmVsTW9kdWxlIH0gZnJvbSAnLi4vbGFiZWwvbGFiZWwubW9kdWxlJztcbmltcG9ydCB7IEFYRm9ybUdyb3VwTW9kdWxlIH0gZnJvbSAnLi4vZm9ybS1ncm91cC9mb3JtLWdyb3VwLm1vZHVsZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW0FYVXBsb2FkRmlsZUNvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEFYQnV0dG9uTW9kdWxlLCBBWFRleHRCb3hNb2R1bGUsIEFYUHJvZ3Jlc3NCYXJNb2R1bGUsIEFYTGFiZWxNb2R1bGUsIEFYRm9ybUdyb3VwTW9kdWxlXSxcbiAgZXhwb3J0czogW0FYVXBsb2FkRmlsZUNvbXBvbmVudF0sXG4gIHByb3ZpZGVyczogW11cbn0pXG5leHBvcnQgY2xhc3MgQVhVcGxvYWRGaWxlTW9kdWxlIHt9XG4iXX0=
|
@@ -1,68 +0,0 @@
|
|
1
|
-
import { Component, QueryList, ContentChildren, Input, Output, EventEmitter, ElementRef, ChangeDetectorRef } from '@angular/core';
|
2
|
-
import { AXValidatableComponent } from '../base/element.class';
|
3
|
-
import * as i0 from "@angular/core";
|
4
|
-
export class AXValidationFormComponent {
|
5
|
-
ref;
|
6
|
-
cdr;
|
7
|
-
constructor(ref, cdr) {
|
8
|
-
this.ref = ref;
|
9
|
-
this.cdr = cdr;
|
10
|
-
}
|
11
|
-
widgets = [];
|
12
|
-
widgetsQuery;
|
13
|
-
validateOn = 'submit';
|
14
|
-
onInit = new EventEmitter();
|
15
|
-
ngAfterViewInit() {
|
16
|
-
this.onInit.emit({
|
17
|
-
component: this,
|
18
|
-
htmlElement: this.ref.nativeElement
|
19
|
-
});
|
20
|
-
}
|
21
|
-
validate() {
|
22
|
-
this.widgets.push(...this.widgetsQuery.toArray().filter(c => !this.widgets.includes(c)));
|
23
|
-
//
|
24
|
-
this.widgets.forEach(w => {
|
25
|
-
if (w.validation && w.validation.validateOn == null) {
|
26
|
-
w.validation.validateOn = this.validateOn;
|
27
|
-
}
|
28
|
-
});
|
29
|
-
return new Promise(resolve => {
|
30
|
-
if (!this.widgets || this.widgets.length === 0) {
|
31
|
-
return Promise.resolve({ result: true });
|
32
|
-
}
|
33
|
-
Promise.all(this.widgets.map((c) => c.validate())).then((rules) => {
|
34
|
-
const failed = rules.filter((c) => !c.result);
|
35
|
-
if (failed.length) {
|
36
|
-
resolve({
|
37
|
-
result: false,
|
38
|
-
items: failed
|
39
|
-
});
|
40
|
-
}
|
41
|
-
else {
|
42
|
-
resolve({ result: true });
|
43
|
-
}
|
44
|
-
});
|
45
|
-
});
|
46
|
-
}
|
47
|
-
addWidget(widget) {
|
48
|
-
if (widget)
|
49
|
-
this.widgets.push(widget);
|
50
|
-
}
|
51
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AXValidationFormComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
52
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: AXValidationFormComponent, selector: "ax-validation-form", inputs: { validateOn: "validateOn" }, outputs: { onInit: "onInit" }, queries: [{ propertyName: "widgetsQuery", predicate: AXValidatableComponent, descendants: true }], ngImport: i0, template: '<ng-content></ng-content>', isInline: true });
|
53
|
-
}
|
54
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AXValidationFormComponent, decorators: [{
|
55
|
-
type: Component,
|
56
|
-
args: [{
|
57
|
-
selector: 'ax-validation-form',
|
58
|
-
template: '<ng-content></ng-content>'
|
59
|
-
}]
|
60
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { widgetsQuery: [{
|
61
|
-
type: ContentChildren,
|
62
|
-
args: [AXValidatableComponent, { descendants: true }]
|
63
|
-
}], validateOn: [{
|
64
|
-
type: Input
|
65
|
-
}], onInit: [{
|
66
|
-
type: Output
|
67
|
-
}] } });
|
68
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9zcmMvbGliL3ZhbGlkYXRpb24vdmFsaWRhdGlvbi1mb3JtLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULFNBQVMsRUFDVCxlQUFlLEVBQ2YsS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEVBQ1osVUFBVSxFQUNWLGlCQUFpQixFQUNsQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7QUFNL0QsTUFBTSxPQUFPLHlCQUF5QjtJQUVoQjtJQUF5QjtJQUE3QyxZQUFvQixHQUFlLEVBQVUsR0FBc0I7UUFBL0MsUUFBRyxHQUFILEdBQUcsQ0FBWTtRQUFVLFFBQUcsR0FBSCxHQUFHLENBQW1CO0lBQUksQ0FBQztJQUdoRSxPQUFPLEdBQTZCLEVBQUUsQ0FBQztJQUl2QyxZQUFZLENBQW9DO0lBR3hELFVBQVUsR0FBaUMsUUFBUSxDQUFDO0lBR3BELE1BQU0sR0FBOEIsSUFBSSxZQUFZLEVBQWUsQ0FBQztJQUdwRSxlQUFlO1FBQ2IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7WUFDZixTQUFTLEVBQUUsSUFBSTtZQUNmLFdBQVcsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWE7U0FDcEMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDekYsRUFBRTtRQUNGLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxDQUFDLFVBQVUsSUFBSSxDQUFDLENBQUMsVUFBVSxDQUFDLFVBQVUsSUFBSSxJQUFJLEVBQUU7Z0JBQ25ELENBQUMsQ0FBQyxVQUFVLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7YUFDM0M7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sSUFBSSxPQUFPLENBQXFCLE9BQU8sQ0FBQyxFQUFFO1lBQy9DLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtnQkFDOUMsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7YUFDMUM7WUFDRCxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQVUsRUFBRSxFQUFFO2dCQUNyRSxNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDbkQsSUFBSSxNQUFNLENBQUMsTUFBTSxFQUFFO29CQUNqQixPQUFPLENBQUM7d0JBQ04sTUFBTSxFQUFFLEtBQUs7d0JBQ2IsS0FBSyxFQUFFLE1BQU07cUJBQ2QsQ0FBQyxDQUFDO2lCQUNKO3FCQUNJO29CQUNILE9BQU8sQ0FBQyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO2lCQUMzQjtZQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBR0QsU0FBUyxDQUFDLE1BQThCO1FBQ3RDLElBQUcsTUFBTTtZQUNQLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzlCLENBQUM7d0dBekRVLHlCQUF5Qjs0RkFBekIseUJBQXlCLDRKQVFuQixzQkFBc0IsZ0RBVjdCLDJCQUEyQjs7NEZBRTFCLHlCQUF5QjtrQkFKckMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsb0JBQW9CO29CQUM5QixRQUFRLEVBQUUsMkJBQTJCO2lCQUN0QztpSUFVUyxZQUFZO3NCQURuQixlQUFlO3VCQUFDLHNCQUFzQixFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRTtnQkFJOUQsVUFBVTtzQkFEVCxLQUFLO2dCQUlOLE1BQU07c0JBREwsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgT25Jbml0LFxuICBRdWVyeUxpc3QsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgRXZlbnRFbWl0dGVyLFxuICBFbGVtZW50UmVmLFxuICBDaGFuZ2VEZXRlY3RvclJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYVmFsaWRhdGlvblJlc3VsdCB9IGZyb20gJy4vdmFsaWRhdGlvbi5jbGFzcyc7XG5pbXBvcnQgeyBBWFZhbGlkYXRhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi4vYmFzZS9lbGVtZW50LmNsYXNzJztcbmltcG9ydCB7IEFYQmFzZUV2ZW50IH0gZnJvbSAnLi4vYmFzZS9ldmVudHMuY2xhc3MnO1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXgtdmFsaWRhdGlvbi1mb3JtJyxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+J1xufSlcbmV4cG9ydCBjbGFzcyBBWFZhbGlkYXRpb25Gb3JtQ29tcG9uZW50IHtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlZjogRWxlbWVudFJlZiwgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7IH1cblxuXG4gIHByaXZhdGUgd2lkZ2V0czogQVhWYWxpZGF0YWJsZUNvbXBvbmVudFtdID0gW107XG5cblxuICBAQ29udGVudENoaWxkcmVuKEFYVmFsaWRhdGFibGVDb21wb25lbnQsIHsgZGVzY2VuZGFudHM6IHRydWUgfSlcbiAgcHJpdmF0ZSB3aWRnZXRzUXVlcnk6IFF1ZXJ5TGlzdDxBWFZhbGlkYXRhYmxlQ29tcG9uZW50PjtcblxuICBASW5wdXQoKVxuICB2YWxpZGF0ZU9uOiAnYmx1cicgfCAnY2hhbmdlJyB8ICdzdWJtaXQnID0gJ3N1Ym1pdCc7XG5cbiAgQE91dHB1dCgpXG4gIG9uSW5pdDogRXZlbnRFbWl0dGVyPEFYQmFzZUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8QVhCYXNlRXZlbnQ+KCk7XG5cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy5vbkluaXQuZW1pdCh7XG4gICAgICBjb21wb25lbnQ6IHRoaXMsXG4gICAgICBodG1sRWxlbWVudDogdGhpcy5yZWYubmF0aXZlRWxlbWVudFxuICAgIH0pO1xuICB9XG5cbiAgdmFsaWRhdGUoKTogUHJvbWlzZTxBWFZhbGlkYXRpb25SZXN1bHQ+IHtcbiAgICB0aGlzLndpZGdldHMucHVzaCguLi50aGlzLndpZGdldHNRdWVyeS50b0FycmF5KCkuZmlsdGVyKGMgPT4gIXRoaXMud2lkZ2V0cy5pbmNsdWRlcyhjKSkpO1xuICAgIC8vXG4gICAgdGhpcy53aWRnZXRzLmZvckVhY2godyA9PiB7XG4gICAgICBpZiAody52YWxpZGF0aW9uICYmIHcudmFsaWRhdGlvbi52YWxpZGF0ZU9uID09IG51bGwpIHtcbiAgICAgICAgdy52YWxpZGF0aW9uLnZhbGlkYXRlT24gPSB0aGlzLnZhbGlkYXRlT247XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gbmV3IFByb21pc2U8QVhWYWxpZGF0aW9uUmVzdWx0PihyZXNvbHZlID0+IHtcbiAgICAgIGlmICghdGhpcy53aWRnZXRzIHx8IHRoaXMud2lkZ2V0cy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh7IHJlc3VsdDogdHJ1ZSB9KTtcbiAgICAgIH1cbiAgICAgIFByb21pc2UuYWxsKHRoaXMud2lkZ2V0cy5tYXAoKGMpID0+IGMudmFsaWRhdGUoKSkpLnRoZW4oKHJ1bGVzOiBhbnkpID0+IHtcbiAgICAgICAgY29uc3QgZmFpbGVkID0gcnVsZXMuZmlsdGVyKChjOiBhbnkpID0+ICFjLnJlc3VsdCk7XG4gICAgICAgIGlmIChmYWlsZWQubGVuZ3RoKSB7XG4gICAgICAgICAgcmVzb2x2ZSh7XG4gICAgICAgICAgICByZXN1bHQ6IGZhbHNlLFxuICAgICAgICAgICAgaXRlbXM6IGZhaWxlZFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgIHJlc29sdmUoeyByZXN1bHQ6IHRydWUgfSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cblxuICBhZGRXaWRnZXQod2lkZ2V0OiBBWFZhbGlkYXRhYmxlQ29tcG9uZW50KSB7XG4gICAgaWYod2lkZ2V0KVxuICAgICAgdGhpcy53aWRnZXRzLnB1c2god2lkZ2V0KTtcbiAgfVxuXG59XG4iXX0=
|
@@ -1,114 +0,0 @@
|
|
1
|
-
import { Component, ElementRef, Inject, Input, Optional } from '@angular/core';
|
2
|
-
import { AXTranslator } from '@acorex/core';
|
3
|
-
import * as i0 from "@angular/core";
|
4
|
-
// @dynamic
|
5
|
-
export class AXValidationRules {
|
6
|
-
static registredRules = [];
|
7
|
-
static addRule(name, rule) {
|
8
|
-
const exists = AXValidationRules.get(name);
|
9
|
-
if (exists) {
|
10
|
-
exists.rule = rule;
|
11
|
-
}
|
12
|
-
else {
|
13
|
-
AXValidationRules.registredRules.push({
|
14
|
-
name,
|
15
|
-
rule
|
16
|
-
});
|
17
|
-
}
|
18
|
-
}
|
19
|
-
static get(name) {
|
20
|
-
return this.registredRules.find(c => c.name === name);
|
21
|
-
}
|
22
|
-
}
|
23
|
-
export class AXValidationRuleComponent {
|
24
|
-
ref;
|
25
|
-
type = 'required';
|
26
|
-
message;
|
27
|
-
value;
|
28
|
-
enabled = true;
|
29
|
-
constructor(ref) {
|
30
|
-
this.ref = ref;
|
31
|
-
if (ref)
|
32
|
-
ref.nativeElement["__axContext__"] = this;
|
33
|
-
}
|
34
|
-
validate(value) {
|
35
|
-
if (this.enabled === false) {
|
36
|
-
return Promise.resolve({ result: true });
|
37
|
-
}
|
38
|
-
const regRule = AXValidationRules.get(this.type);
|
39
|
-
if (regRule) {
|
40
|
-
return this.internalValidate(regRule.rule.type, value, this.message || regRule.rule.message, regRule.rule.value);
|
41
|
-
}
|
42
|
-
else {
|
43
|
-
return this.internalValidate(this.type, value, this.message, this.value);
|
44
|
-
}
|
45
|
-
}
|
46
|
-
internalValidate(type, value, message, ruleValue) {
|
47
|
-
return new Promise(resolve => {
|
48
|
-
switch (type) {
|
49
|
-
case 'required':
|
50
|
-
resolve({
|
51
|
-
message: message || AXTranslator.get('validation.messages.required'),
|
52
|
-
result: value != null && value != '' && (!Array.isArray(value) || (Array.isArray(value) && value.length > 0))
|
53
|
-
});
|
54
|
-
break;
|
55
|
-
case 'regex':
|
56
|
-
const ex = new RegExp(ruleValue);
|
57
|
-
resolve({
|
58
|
-
message: message || AXTranslator.get('validation.messages.regex'),
|
59
|
-
result: ex.test(value)
|
60
|
-
});
|
61
|
-
break;
|
62
|
-
case 'custom':
|
63
|
-
case 'callback':
|
64
|
-
if (typeof ruleValue === 'function') {
|
65
|
-
const res = {};
|
66
|
-
res.message = message;
|
67
|
-
const val = ruleValue({ value, message });
|
68
|
-
if (val instanceof Promise) {
|
69
|
-
val.then(c => {
|
70
|
-
res.result = c;
|
71
|
-
}).catch(c => {
|
72
|
-
res.result = false;
|
73
|
-
}).finally(() => {
|
74
|
-
resolve(res);
|
75
|
-
});
|
76
|
-
}
|
77
|
-
else {
|
78
|
-
res.result = val;
|
79
|
-
resolve(res);
|
80
|
-
}
|
81
|
-
}
|
82
|
-
else {
|
83
|
-
resolve({ result: true });
|
84
|
-
}
|
85
|
-
break;
|
86
|
-
default:
|
87
|
-
resolve({ result: true });
|
88
|
-
}
|
89
|
-
});
|
90
|
-
}
|
91
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AXValidationRuleComponent, deps: [{ token: ElementRef, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
92
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: AXValidationRuleComponent, selector: "ax-validation-rule", inputs: { type: "type", message: "message", value: "value", enabled: "enabled" }, ngImport: i0, template: '', isInline: true });
|
93
|
-
}
|
94
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AXValidationRuleComponent, decorators: [{
|
95
|
-
type: Component,
|
96
|
-
args: [{
|
97
|
-
selector: 'ax-validation-rule',
|
98
|
-
template: ''
|
99
|
-
}]
|
100
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef, decorators: [{
|
101
|
-
type: Inject,
|
102
|
-
args: [ElementRef]
|
103
|
-
}, {
|
104
|
-
type: Optional
|
105
|
-
}] }]; }, propDecorators: { type: [{
|
106
|
-
type: Input
|
107
|
-
}], message: [{
|
108
|
-
type: Input
|
109
|
-
}], value: [{
|
110
|
-
type: Input
|
111
|
-
}], enabled: [{
|
112
|
-
type: Input
|
113
|
-
}] } });
|
114
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi1ydWxlLndpZGdldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9zcmMvbGliL3ZhbGlkYXRpb24vdmFsaWRhdGlvbi1ydWxlLndpZGdldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQVUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV2RixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFDOztBQUc1QyxXQUFXO0FBQ1gsTUFBTSxPQUFPLGlCQUFpQjtJQUNwQixNQUFNLENBQUMsY0FBYyxHQUErQyxFQUFFLENBQUM7SUFFeEUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFZLEVBQUUsSUFBc0I7UUFDeEQsTUFBTSxNQUFNLEdBQUcsaUJBQWlCLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNDLElBQUksTUFBTSxFQUFFO1lBQ1YsTUFBTSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7U0FDcEI7YUFDSTtZQUNILGlCQUFpQixDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUM7Z0JBQ3BDLElBQUk7Z0JBQ0osSUFBSTthQUNMLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQztJQUVNLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBWTtRQUM1QixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsQ0FBQztJQUN4RCxDQUFDOztBQVFILE1BQU0sT0FBTyx5QkFBeUI7SUFlMUI7SUFiVixJQUFJLEdBQTBCLFVBQVUsQ0FBQztJQUV6QyxPQUFPLENBQVM7SUFFaEIsS0FBSyxDQUFNO0lBR1gsT0FBTyxHQUFZLElBQUksQ0FBQztJQUd4QixZQUdVLEdBQWdCO1FBQWhCLFFBQUcsR0FBSCxHQUFHLENBQWE7UUFDeEIsSUFBSSxHQUFHO1lBQ0wsR0FBRyxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUMsR0FBRyxJQUFJLENBQUM7SUFDOUMsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFVO1FBQ2pCLElBQUksSUFBSSxDQUFDLE9BQU8sS0FBSyxLQUFLLEVBQUU7WUFDMUIsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7U0FDMUM7UUFDRCxNQUFNLE9BQU8sR0FBRyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2pELElBQUksT0FBTyxFQUFFO1lBQ1gsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxPQUFPLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNsSDthQUNJO1lBQ0gsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDMUU7SUFDSCxDQUFDO0lBR08sZ0JBQWdCLENBQUMsSUFBWSxFQUFFLEtBQVcsRUFBRSxPQUFnQixFQUFFLFNBQWU7UUFDbkYsT0FBTyxJQUFJLE9BQU8sQ0FBeUIsT0FBTyxDQUFDLEVBQUU7WUFDbkQsUUFBUSxJQUFJLEVBQUU7Z0JBQ1osS0FBSyxVQUFVO29CQUNiLE9BQU8sQ0FBQzt3QkFDTixPQUFPLEVBQUUsT0FBTyxJQUFJLFlBQVksQ0FBQyxHQUFHLENBQUMsOEJBQThCLENBQUM7d0JBQ3BFLE1BQU0sRUFBRSxLQUFLLElBQUksSUFBSSxJQUFJLEtBQUssSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7cUJBQzlHLENBQUMsQ0FBQztvQkFDSCxNQUFNO2dCQUNSLEtBQUssT0FBTztvQkFDVixNQUFNLEVBQUUsR0FBRyxJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztvQkFDakMsT0FBTyxDQUFDO3dCQUNOLE9BQU8sRUFBRSxPQUFPLElBQUksWUFBWSxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsQ0FBQzt3QkFDakUsTUFBTSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO3FCQUN2QixDQUFDLENBQUM7b0JBQ0gsTUFBTTtnQkFDUixLQUFLLFFBQVEsQ0FBQztnQkFDZCxLQUFLLFVBQVU7b0JBQ2IsSUFBSSxPQUFPLFNBQVMsS0FBSyxVQUFVLEVBQUU7d0JBQ25DLE1BQU0sR0FBRyxHQUFRLEVBQUUsQ0FBQzt3QkFDcEIsR0FBRyxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7d0JBQ3RCLE1BQU0sR0FBRyxHQUFHLFNBQVMsQ0FBQyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO3dCQUMxQyxJQUFJLEdBQUcsWUFBWSxPQUFPLEVBQUU7NEJBQzFCLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0NBQ1gsR0FBRyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7NEJBQ2pCLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRTtnQ0FDWCxHQUFHLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQzs0QkFDckIsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRTtnQ0FDZCxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7NEJBQ2YsQ0FBQyxDQUFDLENBQUM7eUJBQ0o7NkJBQ0k7NEJBQ0gsR0FBRyxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUM7NEJBQ2pCLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQzt5QkFDZDtxQkFDRjt5QkFDSTt3QkFDSCxPQUFPLENBQUMsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztxQkFDM0I7b0JBQ0QsTUFBTTtnQkFDUjtvQkFDRSxPQUFPLENBQUMsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQzthQUM3QjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzt3R0E5RVUseUJBQXlCLGtCQWExQixVQUFVOzRGQWJULHlCQUF5Qiw0SUFGMUIsRUFBRTs7NEZBRUQseUJBQXlCO2tCQUpyQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxvQkFBb0I7b0JBQzlCLFFBQVEsRUFBRSxFQUFFO2lCQUNiOzswQkFjSSxNQUFNOzJCQUFDLFVBQVU7OzBCQUNqQixRQUFROzRDQVpYLElBQUk7c0JBREgsS0FBSztnQkFHTixPQUFPO3NCQUROLEtBQUs7Z0JBR04sS0FBSztzQkFESixLQUFLO2dCQUlOLE9BQU87c0JBRE4sS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5qZWN0LCBpbmplY3QsIElucHV0LCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhWYWxpZGF0aW9uUnVsZVJlc3VsdCwgQVhWYWxpZGF0aW9uUnVsZSwgQVhWYWxpZGF0aW9uUnVsZVR5cGVzIH0gZnJvbSAnLi92YWxpZGF0aW9uLmNsYXNzJztcbmltcG9ydCB7IEFYVHJhbnNsYXRvciB9IGZyb20gJ0BhY29yZXgvY29yZSc7XG5cblxuLy8gQGR5bmFtaWNcbmV4cG9ydCBjbGFzcyBBWFZhbGlkYXRpb25SdWxlcyB7XG4gIHByaXZhdGUgc3RhdGljIHJlZ2lzdHJlZFJ1bGVzOiB7IG5hbWU6IHN0cmluZywgcnVsZTogQVhWYWxpZGF0aW9uUnVsZSB9W10gPSBbXTtcblxuICBwdWJsaWMgc3RhdGljIGFkZFJ1bGUobmFtZTogc3RyaW5nLCBydWxlOiBBWFZhbGlkYXRpb25SdWxlKSB7XG4gICAgY29uc3QgZXhpc3RzID0gQVhWYWxpZGF0aW9uUnVsZXMuZ2V0KG5hbWUpO1xuICAgIGlmIChleGlzdHMpIHtcbiAgICAgIGV4aXN0cy5ydWxlID0gcnVsZTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICBBWFZhbGlkYXRpb25SdWxlcy5yZWdpc3RyZWRSdWxlcy5wdXNoKHtcbiAgICAgICAgbmFtZSxcbiAgICAgICAgcnVsZVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHN0YXRpYyBnZXQobmFtZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMucmVnaXN0cmVkUnVsZXMuZmluZChjID0+IGMubmFtZSA9PT0gbmFtZSk7XG4gIH1cbn1cblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheC12YWxpZGF0aW9uLXJ1bGUnLFxuICB0ZW1wbGF0ZTogJydcbn0pXG5leHBvcnQgY2xhc3MgQVhWYWxpZGF0aW9uUnVsZUNvbXBvbmVudCBpbXBsZW1lbnRzIEFYVmFsaWRhdGlvblJ1bGUge1xuICBASW5wdXQoKVxuICB0eXBlOiBBWFZhbGlkYXRpb25SdWxlVHlwZXMgPSAncmVxdWlyZWQnO1xuICBASW5wdXQoKVxuICBtZXNzYWdlOiBzdHJpbmc7XG4gIEBJbnB1dCgpXG4gIHZhbHVlOiBhbnk7XG5cbiAgQElucHV0KClcbiAgZW5hYmxlZDogYm9vbGVhbiA9IHRydWU7XG5cblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KEVsZW1lbnRSZWYpXG4gICAgQE9wdGlvbmFsKClcbiAgICBwcml2YXRlIHJlZj86IEVsZW1lbnRSZWYpIHtcbiAgICBpZiAocmVmKVxuICAgICAgcmVmLm5hdGl2ZUVsZW1lbnRbXCJfX2F4Q29udGV4dF9fXCJdID0gdGhpcztcbiAgfVxuXG4gIHZhbGlkYXRlKHZhbHVlOiBhbnkpOiBQcm9taXNlPEFYVmFsaWRhdGlvblJ1bGVSZXN1bHQ+IHtcbiAgICBpZiAodGhpcy5lbmFibGVkID09PSBmYWxzZSkge1xuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh7IHJlc3VsdDogdHJ1ZSB9KTtcbiAgICB9XG4gICAgY29uc3QgcmVnUnVsZSA9IEFYVmFsaWRhdGlvblJ1bGVzLmdldCh0aGlzLnR5cGUpO1xuICAgIGlmIChyZWdSdWxlKSB7XG4gICAgICByZXR1cm4gdGhpcy5pbnRlcm5hbFZhbGlkYXRlKHJlZ1J1bGUucnVsZS50eXBlLCB2YWx1ZSwgdGhpcy5tZXNzYWdlIHx8IHJlZ1J1bGUucnVsZS5tZXNzYWdlLCByZWdSdWxlLnJ1bGUudmFsdWUpO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLmludGVybmFsVmFsaWRhdGUodGhpcy50eXBlLCB2YWx1ZSwgdGhpcy5tZXNzYWdlLCB0aGlzLnZhbHVlKTtcbiAgICB9XG4gIH1cblxuXG4gIHByaXZhdGUgaW50ZXJuYWxWYWxpZGF0ZSh0eXBlOiBzdHJpbmcsIHZhbHVlPzogYW55LCBtZXNzYWdlPzogc3RyaW5nLCBydWxlVmFsdWU/OiBhbnkpOiBQcm9taXNlPEFYVmFsaWRhdGlvblJ1bGVSZXN1bHQ+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2U8QVhWYWxpZGF0aW9uUnVsZVJlc3VsdD4ocmVzb2x2ZSA9PiB7XG4gICAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgICAgY2FzZSAncmVxdWlyZWQnOlxuICAgICAgICAgIHJlc29sdmUoe1xuICAgICAgICAgICAgbWVzc2FnZTogbWVzc2FnZSB8fCBBWFRyYW5zbGF0b3IuZ2V0KCd2YWxpZGF0aW9uLm1lc3NhZ2VzLnJlcXVpcmVkJyksXG4gICAgICAgICAgICByZXN1bHQ6IHZhbHVlICE9IG51bGwgJiYgdmFsdWUgIT0gJycgJiYgKCFBcnJheS5pc0FycmF5KHZhbHVlKSB8fCAoQXJyYXkuaXNBcnJheSh2YWx1ZSkgJiYgdmFsdWUubGVuZ3RoID4gMCkpXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ3JlZ2V4JzpcbiAgICAgICAgICBjb25zdCBleCA9IG5ldyBSZWdFeHAocnVsZVZhbHVlKTtcbiAgICAgICAgICByZXNvbHZlKHtcbiAgICAgICAgICAgIG1lc3NhZ2U6IG1lc3NhZ2UgfHwgQVhUcmFuc2xhdG9yLmdldCgndmFsaWRhdGlvbi5tZXNzYWdlcy5yZWdleCcpLFxuICAgICAgICAgICAgcmVzdWx0OiBleC50ZXN0KHZhbHVlKVxuICAgICAgICAgIH0pO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdjdXN0b20nOlxuICAgICAgICBjYXNlICdjYWxsYmFjayc6XG4gICAgICAgICAgaWYgKHR5cGVvZiBydWxlVmFsdWUgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIGNvbnN0IHJlczogYW55ID0ge307XG4gICAgICAgICAgICByZXMubWVzc2FnZSA9IG1lc3NhZ2U7XG4gICAgICAgICAgICBjb25zdCB2YWwgPSBydWxlVmFsdWUoeyB2YWx1ZSwgbWVzc2FnZSB9KTtcbiAgICAgICAgICAgIGlmICh2YWwgaW5zdGFuY2VvZiBQcm9taXNlKSB7XG4gICAgICAgICAgICAgIHZhbC50aGVuKGMgPT4ge1xuICAgICAgICAgICAgICAgIHJlcy5yZXN1bHQgPSBjO1xuICAgICAgICAgICAgICB9KS5jYXRjaChjID0+IHtcbiAgICAgICAgICAgICAgICByZXMucmVzdWx0ID0gZmFsc2U7XG4gICAgICAgICAgICAgIH0pLmZpbmFsbHkoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHJlc29sdmUocmVzKTtcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgcmVzLnJlc3VsdCA9IHZhbDtcbiAgICAgICAgICAgICAgcmVzb2x2ZShyZXMpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHJlc29sdmUoeyByZXN1bHQ6IHRydWUgfSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHJlc29sdmUoeyByZXN1bHQ6IHRydWUgfSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
@@ -1,2 +0,0 @@
|
|
1
|
-
export {};
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9zcmMvbGliL3ZhbGlkYXRpb24vdmFsaWRhdGlvbi5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiXG5leHBvcnQgdHlwZSBBWFZhbGlkYXRpb25SdWxlVHlwZXMgPSAncmVxdWlyZWQnIHwgJ3JlZ2V4JyB8ICdjYWxsYmFjaycgfCAnY3VzdG9tJztcblxuZXhwb3J0IGludGVyZmFjZSBBWFZhbGlkYXRpb25SdWxlIHtcbiAgbWVzc2FnZT86IHN0cmluZztcbiAgdHlwZTogQVhWYWxpZGF0aW9uUnVsZVR5cGVzO1xuICB2YWx1ZT86IGFueTtcbiAgZW5hYmxlZD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhWYWxpZGF0aW9uUnVsZVJlc3VsdCB7XG4gIG1lc3NhZ2U/OiBzdHJpbmc7XG4gIHJlc3VsdDogYm9vbGVhbjtcbiAgdGFyZ2V0PzogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFYVmFsaWRhdGlvblJlc3VsdCB7XG4gIHJlc3VsdDogYm9vbGVhbjtcbiAgaXRlbXM/OiBBWFZhbGlkYXRpb25SdWxlUmVzdWx0W107XG59XG5cblxuIl19
|
@@ -1,89 +0,0 @@
|
|
1
|
-
import { Component, Input, Output, EventEmitter, Injectable, ElementRef, Optional, Inject } from '@angular/core';
|
2
|
-
import { AXValidationRuleComponent } from './validation-rule.widget';
|
3
|
-
import * as i0 from "@angular/core";
|
4
|
-
export class AXValidation {
|
5
|
-
validateOn = 'submit';
|
6
|
-
showMessage;
|
7
|
-
validate(value) {
|
8
|
-
if (!this.rules || this.rules.length === 0) {
|
9
|
-
return Promise.resolve({ result: true });
|
10
|
-
}
|
11
|
-
return new Promise(resolve => {
|
12
|
-
Promise.all(this.rules.map(c => {
|
13
|
-
if (c instanceof AXValidationRuleComponent) {
|
14
|
-
return c.validate(value);
|
15
|
-
}
|
16
|
-
else {
|
17
|
-
const v = new AXValidationRuleComponent();
|
18
|
-
Object.assign(v, c);
|
19
|
-
return v.validate(value);
|
20
|
-
}
|
21
|
-
})).then(d => {
|
22
|
-
const error = d.find(c => c.result === false);
|
23
|
-
if (error) {
|
24
|
-
resolve(error);
|
25
|
-
}
|
26
|
-
else {
|
27
|
-
resolve({ result: true });
|
28
|
-
}
|
29
|
-
});
|
30
|
-
});
|
31
|
-
}
|
32
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AXValidation, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
33
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AXValidation });
|
34
|
-
}
|
35
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AXValidation, decorators: [{
|
36
|
-
type: Injectable
|
37
|
-
}] });
|
38
|
-
export class AXValidationComponent extends AXValidation {
|
39
|
-
ref;
|
40
|
-
_getComponenets() {
|
41
|
-
return Array.from(this.ref?.nativeElement.querySelectorAll('ax-validation-rule')).map(c => c["__axContext__"]);
|
42
|
-
}
|
43
|
-
constructor(ref) {
|
44
|
-
super();
|
45
|
-
this.ref = ref;
|
46
|
-
}
|
47
|
-
rulesChange = new EventEmitter();
|
48
|
-
showMessage = true;
|
49
|
-
_rules = [];
|
50
|
-
get rules() {
|
51
|
-
return this._rules;
|
52
|
-
}
|
53
|
-
set rules(v) {
|
54
|
-
this._rules = v;
|
55
|
-
if (this.rulesChange) {
|
56
|
-
this.rulesChange.emit(v);
|
57
|
-
}
|
58
|
-
}
|
59
|
-
validateOn = null;
|
60
|
-
ngAfterContentInit() {
|
61
|
-
if (this.rules && this.rules.length === 0) {
|
62
|
-
this.rules.push(...this._getComponenets());
|
63
|
-
}
|
64
|
-
}
|
65
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AXValidationComponent, deps: [{ token: ElementRef, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
66
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: AXValidationComponent, selector: "ax-validation", inputs: { rules: "rules", validateOn: "validateOn" }, outputs: { rulesChange: "rulesChange", showMessage: "showMessage" }, providers: [{ provide: AXValidation, useExisting: AXValidationComponent }], usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true });
|
67
|
-
}
|
68
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AXValidationComponent, decorators: [{
|
69
|
-
type: Component,
|
70
|
-
args: [{
|
71
|
-
selector: 'ax-validation',
|
72
|
-
template: '<ng-content></ng-content>',
|
73
|
-
providers: [{ provide: AXValidation, useExisting: AXValidationComponent }]
|
74
|
-
}]
|
75
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef, decorators: [{
|
76
|
-
type: Inject,
|
77
|
-
args: [ElementRef]
|
78
|
-
}, {
|
79
|
-
type: Optional
|
80
|
-
}] }]; }, propDecorators: { rulesChange: [{
|
81
|
-
type: Output
|
82
|
-
}], showMessage: [{
|
83
|
-
type: Output
|
84
|
-
}], rules: [{
|
85
|
-
type: Input
|
86
|
-
}], validateOn: [{
|
87
|
-
type: Input
|
88
|
-
}] } });
|
89
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvc3JjL2xpYi92YWxpZGF0aW9uL3ZhbGlkYXRpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQThCLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU3SSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7QUFLckUsTUFBTSxPQUFnQixZQUFZO0lBR2hDLFVBQVUsR0FBaUMsUUFBUSxDQUFDO0lBQ3BELFdBQVcsQ0FBVTtJQUVyQixRQUFRLENBQUMsS0FBVTtRQUNqQixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDMUMsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7U0FDMUM7UUFDRCxPQUFPLElBQUksT0FBTyxDQUF5QixPQUFPLENBQUMsRUFBRTtZQUNuRCxPQUFPLENBQUMsR0FBRyxDQUNULElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUNqQixJQUFJLENBQUMsWUFBWSx5QkFBeUIsRUFBRTtvQkFDMUMsT0FBTyxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO2lCQUMxQjtxQkFDSTtvQkFDSCxNQUFNLENBQUMsR0FBRyxJQUFJLHlCQUF5QixFQUFFLENBQUM7b0JBQzFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO29CQUNwQixPQUFPLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7aUJBQzFCO1lBQ0gsQ0FBQyxDQUFDLENBQ0gsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQ1QsTUFBTSxLQUFLLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEtBQUssS0FBSyxDQUFDLENBQUM7Z0JBQzlDLElBQUksS0FBSyxFQUFFO29CQUNULE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztpQkFDaEI7cUJBQU07b0JBQ0wsT0FBTyxDQUFDLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7aUJBQzNCO1lBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7d0dBL0JtQixZQUFZOzRHQUFaLFlBQVk7OzRGQUFaLFlBQVk7a0JBRGpDLFVBQVU7O0FBMENYLE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxZQUFZO0lBUzNDO0lBUFYsZUFBZTtRQUNiLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBcUIsQ0FBQyxDQUFDO0lBQ3JJLENBQUM7SUFFRCxZQUdVLEdBQWdCO1FBRXhCLEtBQUssRUFBRSxDQUFDO1FBRkEsUUFBRyxHQUFILEdBQUcsQ0FBYTtJQUcxQixDQUFDO0lBSUQsV0FBVyxHQUFxQyxJQUFJLFlBQVksRUFBc0IsQ0FBQztJQUd2RixXQUFXLEdBQVksSUFBSSxDQUFDO0lBRXBCLE1BQU0sR0FBdUIsRUFBRSxDQUFDO0lBRXhDLElBQ1csS0FBSztRQUNkLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBQ0QsSUFBVyxLQUFLLENBQUMsQ0FBcUI7UUFDcEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFDaEIsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3BCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQzFCO0lBQ0gsQ0FBQztJQUdELFVBQVUsR0FBaUMsSUFBSSxDQUFDO0lBR2hELGtCQUFrQjtRQUNoQixJQUFJLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQ3pDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUM7U0FDNUM7SUFDSCxDQUFDO3dHQTFDVSxxQkFBcUIsa0JBT3RCLFVBQVU7NEZBUFQscUJBQXFCLG1LQUZyQixDQUFDLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUscUJBQXFCLEVBQUUsQ0FBQyxpREFEaEUsMkJBQTJCOzs0RkFHMUIscUJBQXFCO2tCQUxqQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxlQUFlO29CQUN6QixRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyxTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsV0FBVyx1QkFBdUIsRUFBRSxDQUFDO2lCQUMzRTs7MEJBUUksTUFBTTsyQkFBQyxVQUFVOzswQkFDakIsUUFBUTs0Q0FRWCxXQUFXO3NCQURWLE1BQU07Z0JBSVAsV0FBVztzQkFEVixNQUFNO2dCQU1JLEtBQUs7c0JBRGYsS0FBSztnQkFZTixVQUFVO3NCQURULEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIENvbnRlbnRDaGlsZHJlbiwgUXVlcnlMaXN0LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIEluamVjdGFibGUsIEVsZW1lbnRSZWYsIE9wdGlvbmFsLCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYVmFsaWRhdGFibGVDb21wb25lbnQgfSBmcm9tICcuLi9iYXNlL2VsZW1lbnQuY2xhc3MnO1xuaW1wb3J0IHsgQVhWYWxpZGF0aW9uUnVsZUNvbXBvbmVudCB9IGZyb20gJy4vdmFsaWRhdGlvbi1ydWxlLndpZGdldCc7XG5pbXBvcnQgeyBBWFZhbGlkYXRpb25SdWxlLCBBWFZhbGlkYXRpb25SdWxlUmVzdWx0IH0gZnJvbSAnLi92YWxpZGF0aW9uLmNsYXNzJztcblxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQVhWYWxpZGF0aW9uIHtcblxuICBhYnN0cmFjdCBydWxlczogQVhWYWxpZGF0aW9uUnVsZVtdO1xuICB2YWxpZGF0ZU9uOiAnYmx1cicgfCAnY2hhbmdlJyB8ICdzdWJtaXQnID0gJ3N1Ym1pdCc7XG4gIHNob3dNZXNzYWdlOiBib29sZWFuO1xuXG4gIHZhbGlkYXRlKHZhbHVlOiBhbnkpOiBQcm9taXNlPEFYVmFsaWRhdGlvblJ1bGVSZXN1bHQ+IHtcbiAgICBpZiAoIXRoaXMucnVsZXMgfHwgdGhpcy5ydWxlcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoeyByZXN1bHQ6IHRydWUgfSk7XG4gICAgfVxuICAgIHJldHVybiBuZXcgUHJvbWlzZTxBWFZhbGlkYXRpb25SdWxlUmVzdWx0PihyZXNvbHZlID0+IHtcbiAgICAgIFByb21pc2UuYWxsKFxuICAgICAgICB0aGlzLnJ1bGVzLm1hcChjID0+IHtcbiAgICAgICAgICBpZiAoYyBpbnN0YW5jZW9mIEFYVmFsaWRhdGlvblJ1bGVDb21wb25lbnQpIHtcbiAgICAgICAgICAgIHJldHVybiBjLnZhbGlkYXRlKHZhbHVlKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBjb25zdCB2ID0gbmV3IEFYVmFsaWRhdGlvblJ1bGVDb21wb25lbnQoKTtcbiAgICAgICAgICAgIE9iamVjdC5hc3NpZ24odiwgYyk7XG4gICAgICAgICAgICByZXR1cm4gdi52YWxpZGF0ZSh2YWx1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgKS50aGVuKGQgPT4ge1xuICAgICAgICBjb25zdCBlcnJvciA9IGQuZmluZChjID0+IGMucmVzdWx0ID09PSBmYWxzZSk7XG4gICAgICAgIGlmIChlcnJvcikge1xuICAgICAgICAgIHJlc29sdmUoZXJyb3IpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJlc29sdmUoeyByZXN1bHQ6IHRydWUgfSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbn1cblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheC12YWxpZGF0aW9uJyxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBBWFZhbGlkYXRpb24sIHVzZUV4aXN0aW5nOiBBWFZhbGlkYXRpb25Db21wb25lbnQgfV1cbn0pXG5leHBvcnQgY2xhc3MgQVhWYWxpZGF0aW9uQ29tcG9uZW50IGV4dGVuZHMgQVhWYWxpZGF0aW9uIHtcblxuICBfZ2V0Q29tcG9uZW5ldHMoKTogQVhWYWxpZGF0aW9uUnVsZVtdIHtcbiAgICByZXR1cm4gQXJyYXkuZnJvbSh0aGlzLnJlZj8ubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKCdheC12YWxpZGF0aW9uLXJ1bGUnKSkubWFwKGMgPT4gY1tcIl9fYXhDb250ZXh0X19cIl0gYXMgQVhWYWxpZGF0aW9uUnVsZSk7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KEVsZW1lbnRSZWYpXG4gICAgQE9wdGlvbmFsKClcbiAgICBwcml2YXRlIHJlZj86IEVsZW1lbnRSZWZcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG5cbiAgQE91dHB1dCgpXG4gIHJ1bGVzQ2hhbmdlOiBFdmVudEVtaXR0ZXI8QVhWYWxpZGF0aW9uUnVsZVtdPiA9IG5ldyBFdmVudEVtaXR0ZXI8QVhWYWxpZGF0aW9uUnVsZVtdPigpO1xuXG4gIEBPdXRwdXQoKVxuICBzaG93TWVzc2FnZTogYm9vbGVhbiA9IHRydWU7XG5cbiAgcHJpdmF0ZSBfcnVsZXM6IEFYVmFsaWRhdGlvblJ1bGVbXSA9IFtdO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBnZXQgcnVsZXMoKTogQVhWYWxpZGF0aW9uUnVsZVtdIHtcbiAgICByZXR1cm4gdGhpcy5fcnVsZXM7XG4gIH1cbiAgcHVibGljIHNldCBydWxlcyh2OiBBWFZhbGlkYXRpb25SdWxlW10pIHtcbiAgICB0aGlzLl9ydWxlcyA9IHY7XG4gICAgaWYgKHRoaXMucnVsZXNDaGFuZ2UpIHtcbiAgICAgIHRoaXMucnVsZXNDaGFuZ2UuZW1pdCh2KTtcbiAgICB9XG4gIH1cblxuICBASW5wdXQoKVxuICB2YWxpZGF0ZU9uOiAnYmx1cicgfCAnY2hhbmdlJyB8ICdzdWJtaXQnID0gbnVsbDtcblxuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICBpZiAodGhpcy5ydWxlcyAmJiB0aGlzLnJ1bGVzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhpcy5ydWxlcy5wdXNoKC4uLnRoaXMuX2dldENvbXBvbmVuZXRzKCkpO1xuICAgIH1cbiAgfVxufVxuIl19
|