@acorex/components 4.0.24 → 4.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -23
- package/acorex-components.d.ts +1 -0
- package/{esm2015/acorex-components.js → esm2020/acorex-components.mjs} +1 -1
- 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 +92 -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 +705 -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/drawer.component.mjs +54 -0
- package/esm2020/lib/drawer/drawer.module.mjs +20 -0
- package/esm2020/lib/dropdown/dropdown.component.mjs +177 -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 +33 -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 +47 -0
- package/esm2020/lib/popover/overlay.service.mjs +87 -0
- package/esm2020/lib/popover/popover.component.mjs +115 -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/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 +60 -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/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/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 +30 -0
- package/esm2020/lib/property-editor/editors/text-editor/text.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 +152 -0
- package/esm2020/lib/property-editor/property-editor.class.mjs +101 -0
- package/esm2020/lib/property-editor/property-editor.module.mjs +147 -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 +171 -0
- package/esm2020/lib/query-builder/query-builder-rule.component.mjs +357 -0
- package/esm2020/lib/query-builder/query-builder.class.mjs +20 -0
- package/esm2020/lib/query-builder/query-builder.component.mjs +82 -0
- package/esm2020/lib/query-builder/query-builder.module.mjs +59 -0
- package/esm2020/lib/query-builder/query-builder.service.mjs +191 -0
- package/esm2020/lib/searchbox/searchbox.component.mjs +79 -0
- package/esm2020/lib/searchbox/searchbox.module.mjs +24 -0
- package/esm2020/lib/selectbox/selectbox.component.mjs +956 -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 +101 -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 +69 -0
- package/esm2020/lib/tab-page/tab-page-host.component.mjs +109 -0
- package/esm2020/lib/tab-page/tab-page.module.mjs +21 -0
- package/esm2020/lib/tab-page/tab-page.service.mjs +156 -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 +726 -0
- package/esm2020/lib/tree-view/tree-view.module.mjs +22 -0
- package/esm2020/lib/upload-file/upload-file.component.mjs +170 -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 +64 -0
- package/esm2020/lib/validation/validation-rule.widget.mjs +103 -0
- package/esm2020/lib/validation/validation.class.mjs +2 -0
- package/esm2020/lib/validation/validation.component.mjs +82 -0
- package/esm2020/lib/validation/validation.module.mjs +34 -0
- package/esm2020/public-api.mjs +154 -0
- package/fesm2015/acorex-components.mjs +15014 -0
- package/fesm2015/acorex-components.mjs.map +1 -0
- package/fesm2020/acorex-components.mjs +14966 -0
- package/fesm2020/acorex-components.mjs.map +1 -0
- package/lib/accordion/accordion.component.d.ts +13 -0
- package/lib/accordion/accordion.module.d.ts +9 -0
- package/lib/{page → base}/base-page.class.d.ts +11 -6
- package/lib/base/element.class.d.ts +106 -0
- package/lib/base/events.class.d.ts +8 -18
- package/lib/button/button.component.d.ts +19 -4
- package/lib/button/button.module.d.ts +6 -0
- package/lib/calendar/calendar-box/calendar-box.component.d.ts +81 -0
- package/lib/calendar/calendar-box/calendar-box.module.d.ts +11 -0
- package/lib/calendar/scheduler/scheduler-views.property.d.ts +19 -0
- package/lib/calendar/scheduler/scheduler.class.d.ts +36 -0
- package/lib/calendar/scheduler/scheduler.component.d.ts +39 -0
- package/lib/calendar/scheduler/scheduler.module.d.ts +21 -0
- package/lib/calendar/scheduler/toolbars/scheduler-toolbar-navigator.d.ts +25 -0
- package/lib/calendar/scheduler/toolbars/scheduler-toolbar-views.d.ts +14 -0
- package/lib/calendar/scheduler/views/agenda/scheduler-agenda-view.component.d.ts +16 -0
- package/lib/calendar/scheduler/views/daytime/scheduler-daytime-view.component.d.ts +26 -0
- package/lib/calendar/scheduler/views/month/scheduler-month-view.component.d.ts +37 -0
- package/lib/calendar/scheduler/views/scheduler-view.component.d.ts +28 -0
- package/lib/calendar/scheduler/views/timeline/scheduler-timeline-view.component.d.ts +24 -0
- package/lib/checkbox/checkbox.component.d.ts +28 -7
- package/lib/checkbox/checkbox.module.d.ts +7 -0
- package/lib/color-picker/color-box/color-box.component.d.ts +25 -0
- package/lib/color-picker/color-picker.component.d.ts +30 -0
- package/lib/color-picker/color-picker.module.d.ts +13 -0
- package/lib/context-menu/context-menu.component.d.ts +22 -0
- package/lib/context-menu/context-menu.directive.d.ts +38 -0
- package/lib/context-menu/context-menu.module.d.ts +9 -0
- package/lib/data-filter/columns/filter-column-date.component.d.ts +22 -0
- package/lib/data-filter/columns/filter-column-number.component.d.ts +15 -0
- package/lib/data-filter/columns/filter-column-selection.component.d.ts +18 -0
- package/lib/data-filter/columns/filter-column-string.component.d.ts +15 -0
- package/lib/data-filter/filter-panel/filter-panel.component.d.ts +45 -0
- package/lib/data-filter/filter.class.d.ts +40 -0
- package/lib/data-filter/filter.module.d.ts +24 -0
- package/lib/data-filter/toolbar/filter-toolbar.component.d.ts +25 -0
- package/lib/data-list/core/data-list.component.d.ts +15 -0
- package/lib/data-list/list/list.component.d.ts +40 -0
- package/lib/data-list/list/list.module.d.ts +11 -0
- package/lib/data-list/list/toolbar-list-view.component.d.ts +17 -0
- package/lib/data-source/datasource.component.d.ts +16 -0
- package/lib/data-source/datasource.module.d.ts +7 -0
- package/lib/data-source/read-param.d.ts +40 -0
- package/lib/date-picker/date-picker.component.d.ts +81 -0
- package/lib/date-picker/date-picker.module.d.ts +14 -0
- package/lib/dialog/dialog.component.d.ts +13 -11
- package/lib/dialog/dialog.module.d.ts +8 -0
- package/lib/dialog/dialog.service.d.ts +34 -11
- package/lib/drawer/drawer.component.d.ts +8 -25
- package/lib/drawer/drawer.module.d.ts +7 -0
- package/lib/dropdown/dropdown.component.d.ts +29 -13
- package/lib/dropdown/dropdown.module.d.ts +11 -0
- package/lib/fieldset/fieldset.component.d.ts +11 -0
- package/lib/fieldset/fieldset.module.d.ts +8 -0
- package/lib/form-group/form-group.component.d.ts +14 -0
- package/lib/form-group/form-group.module.d.ts +8 -0
- package/lib/label/label.component.d.ts +8 -4
- package/lib/label/label.module.d.ts +6 -0
- package/lib/loading/loading-indicator.component.d.ts +9 -0
- package/lib/loading/loading-panel.component.d.ts +13 -0
- package/lib/loading/loading.module.d.ts +8 -0
- package/lib/loading/loading.service.d.ts +7 -39
- package/lib/menu/menu-item.component.d.ts +18 -0
- package/lib/menu/menu.component.d.ts +35 -0
- package/lib/menu/menu.module.d.ts +11 -0
- package/lib/menu/menu2.component.d.ts +21 -0
- package/lib/number-box/number-box.component.d.ts +51 -30
- package/lib/number-box/number-box.module.d.ts +8 -0
- package/lib/page/content.component.d.ts +8 -0
- package/lib/page/footer.component.d.ts +5 -0
- package/lib/page/page.component.d.ts +11 -6
- package/lib/page/page.module.d.ts +11 -0
- package/lib/panel-box/panel-box.component.d.ts +19 -0
- package/lib/panel-box/panel-box.module.d.ts +8 -0
- package/lib/password-box/password-box.component.d.ts +12 -0
- package/lib/password-box/password-box.module.d.ts +10 -0
- package/lib/{base → popover}/custom-cdk-overlay.service.d.ts +7 -3
- package/lib/{base → popover}/overlay.service.d.ts +5 -3
- package/lib/popover/popover.component.d.ts +30 -0
- package/lib/popover/popover.module.d.ts +8 -0
- package/lib/popup/popup.component.d.ts +21 -15
- package/lib/popup/popup.module.d.ts +11 -0
- package/lib/popup/popup.service.d.ts +7 -3
- package/lib/progress-bar/progress-bar.component.d.ts +7 -0
- package/lib/progress-bar/progress-bar.module.d.ts +8 -0
- package/lib/property-editor/editors/color-editor/color.editor.d.ts +13 -0
- package/lib/property-editor/editors/color-editor/color.module.d.ts +12 -0
- package/lib/property-editor/editors/column-editor/column.editor.d.ts +34 -0
- package/lib/property-editor/editors/column-editor/column.module.d.ts +20 -0
- package/lib/property-editor/editors/conditional-color-editor/conditional-color.editor.d.ts +44 -0
- package/lib/property-editor/editors/conditional-color-editor/conditional-color.module.d.ts +19 -0
- package/lib/property-editor/editors/date-editor/date.editor.d.ts +28 -0
- package/lib/property-editor/editors/date-editor/date.module.d.ts +12 -0
- package/lib/property-editor/editors/number-editor/number.editor.d.ts +19 -0
- package/lib/property-editor/editors/number-editor/number.module.d.ts +12 -0
- package/lib/property-editor/editors/range-editor/range.editor.d.ts +29 -0
- package/lib/property-editor/editors/range-editor/range.module.d.ts +18 -0
- package/lib/property-editor/editors/selectbox-editor/selectbox.editor.d.ts +28 -0
- package/lib/property-editor/editors/selectbox-editor/selectbox.module.d.ts +13 -0
- package/lib/property-editor/editors/switch-editor/number.editor.d.ts +11 -0
- package/lib/property-editor/editors/switch-editor/number.module.d.ts +13 -0
- package/lib/property-editor/editors/text-editor/text.editor.d.ts +15 -0
- package/lib/property-editor/editors/text-editor/text.module.d.ts +12 -0
- package/lib/property-editor/editors/time-editor/time.editor.d.ts +17 -0
- package/lib/property-editor/editors/time-editor/time.module.d.ts +12 -0
- package/lib/property-editor/property-editor-renderer.directive.d.ts +30 -0
- package/lib/property-editor/property-editor.class.d.ts +67 -0
- package/lib/property-editor/property-editor.module.d.ts +18 -0
- package/lib/query-builder/query-builder-group.component.d.ts +33 -0
- package/lib/query-builder/query-builder-popup/query-builder-popup.component.d.ts +35 -0
- package/lib/query-builder/query-builder-rule.component.d.ts +45 -0
- package/lib/query-builder/query-builder.class.d.ts +45 -0
- package/lib/query-builder/query-builder.component.d.ts +27 -0
- package/lib/query-builder/query-builder.module.d.ts +22 -0
- package/lib/query-builder/query-builder.service.d.ts +18 -0
- package/lib/searchbox/searchbox.component.d.ts +22 -0
- package/lib/searchbox/searchbox.module.d.ts +13 -0
- package/lib/selectbox/selectbox.component.d.ts +114 -23
- package/lib/selectbox/selectbox.module.d.ts +13 -0
- package/lib/selectbox/selectbox2.component.d.ts +103 -0
- package/lib/selection-list/selection-list.component.d.ts +29 -6
- package/lib/selection-list/selection-list.module.d.ts +8 -0
- package/lib/switch/switch.component.d.ts +19 -5
- package/lib/switch/switch.module.d.ts +7 -0
- package/lib/tab-page/tab-page-Renderer.component.d.ts +16 -0
- package/lib/tab-page/tab-page-host.component.d.ts +26 -0
- package/lib/tab-page/tab-page.module.d.ts +10 -0
- package/lib/tab-page/tab-page.service.d.ts +30 -0
- package/lib/tab-strip/tab-strip.component.d.ts +28 -0
- package/lib/tab-strip/tab-strip.module.d.ts +8 -0
- package/lib/tab-view/dynamic-tabs.directive.d.ts +16 -0
- package/lib/tab-view/tab-view.component.d.ts +26 -0
- package/lib/tab-view/tab-view.module.d.ts +10 -0
- package/lib/tab-view/tab.component.d.ts +12 -0
- package/lib/textarea/textarea.component.d.ts +12 -0
- package/lib/textarea/textarea.module.d.ts +8 -0
- package/lib/textbox/textbox.component.d.ts +14 -6
- package/lib/textbox/textbox.module.d.ts +9 -0
- package/lib/time-picker/time-picker.component.d.ts +52 -0
- package/lib/time-picker/time-picker.module.d.ts +11 -0
- package/lib/toast/toast-message/toast-message.component.d.ts +18 -0
- package/lib/toast/toast-wrapper/toast-wrapper.component.d.ts +8 -0
- package/lib/toast/toast.module.d.ts +7 -0
- package/lib/toast/toast.service.d.ts +16 -13
- package/lib/toolbar/group-button/toolbar-group-button.component.d.ts +12 -0
- package/lib/toolbar/menu/toolbar-menu.component.d.ts +24 -0
- package/lib/toolbar/search/toolbar-search.component.d.ts +16 -0
- package/lib/toolbar/title/toolbar-title.component.d.ts +9 -0
- package/lib/toolbar/toolbar-item.d.ts +3 -0
- package/lib/toolbar/toolbar.component.d.ts +8 -0
- package/lib/toolbar/toolbar.module.d.ts +14 -0
- package/lib/tooltip/tooltip.directive.d.ts +18 -12
- package/lib/tooltip/tooltip.module.d.ts +6 -0
- package/lib/tree-side-menu/tree-side-menu.component.d.ts +111 -0
- package/lib/tree-side-menu/tree-side-menu.module.d.ts +11 -0
- package/lib/tree-view/tree-view.component.d.ts +117 -0
- package/lib/tree-view/tree-view.module.d.ts +11 -0
- package/lib/upload-file/upload-file.component.d.ts +38 -0
- package/lib/upload-file/upload-file.events.d.ts +10 -0
- package/lib/upload-file/upload-file.module.d.ts +13 -0
- package/lib/validation/validation-form.component.d.ts +19 -0
- package/lib/validation/validation-rule.widget.d.ts +5 -7
- package/lib/validation/validation.class.d.ts +0 -1
- package/lib/validation/validation.component.d.ts +23 -0
- package/lib/validation/validation.module.d.ts +8 -0
- package/package.json +25 -14
- package/public-api.d.ts +151 -31
- package/acorex-components.metadata.json +0 -1
- package/bundles/acorex-components.umd.js +0 -6491
- package/bundles/acorex-components.umd.js.map +0 -1
- package/bundles/acorex-components.umd.min.js +0 -16
- package/bundles/acorex-components.umd.min.js.map +0 -1
- package/esm2015/lib/alert/alert-button.component.js +0 -42
- package/esm2015/lib/alert/alert-contnet.component.js +0 -16
- package/esm2015/lib/alert/alert-footer.component.js +0 -18
- package/esm2015/lib/alert/alert-suffix.component.js +0 -18
- package/esm2015/lib/alert/alert-title.component.js +0 -16
- package/esm2015/lib/alert/alert.component.js +0 -87
- package/esm2015/lib/alert/alert.module.js +0 -28
- package/esm2015/lib/alert/index.js +0 -8
- package/esm2015/lib/base/common.module.js +0 -13
- package/esm2015/lib/base/custom-cdk-overlay.service.js +0 -56
- package/esm2015/lib/base/drawing.class.js +0 -11
- package/esm2015/lib/base/events.class.js +0 -19
- package/esm2015/lib/base/index.js +0 -7
- package/esm2015/lib/base/mixin/base-components.class.js +0 -72
- package/esm2015/lib/base/mixin/button-mixin.class.js +0 -36
- package/esm2015/lib/base/mixin/clickable-mixin.class.js +0 -17
- package/esm2015/lib/base/mixin/constratctor.js +0 -2
- package/esm2015/lib/base/mixin/datalist-component.class.js +0 -97
- package/esm2015/lib/base/mixin/dropdown-mixin.class.js +0 -36
- package/esm2015/lib/base/mixin/index.js +0 -3
- package/esm2015/lib/base/mixin/interactive-mixin.class.js +0 -47
- package/esm2015/lib/base/mixin/loading-mixin.class.js +0 -15
- package/esm2015/lib/base/mixin/mixin.class.js +0 -24
- package/esm2015/lib/base/mixin/selection-component.class.js +0 -158
- package/esm2015/lib/base/mixin/sizable-mixin.class.js +0 -19
- package/esm2015/lib/base/mixin/textbox-mixin.class.js +0 -19
- package/esm2015/lib/base/mixin/value-mixin.class.js +0 -172
- package/esm2015/lib/base/overlay.service.js +0 -96
- package/esm2015/lib/base/responsive.directive.js +0 -33
- package/esm2015/lib/base/styles.class.js +0 -4
- package/esm2015/lib/button/button-group.component.js +0 -71
- package/esm2015/lib/button/button-item.class.js +0 -2
- package/esm2015/lib/button/button-item.component.js +0 -35
- package/esm2015/lib/button/button.component.js +0 -34
- package/esm2015/lib/button/button.module.js +0 -24
- package/esm2015/lib/button/dropdown-button.component.js +0 -108
- package/esm2015/lib/button/index.js +0 -7
- package/esm2015/lib/calendar/calendar.component.js +0 -69
- package/esm2015/lib/calendar/calendar.module.js +0 -19
- package/esm2015/lib/calendar/index.js +0 -3
- package/esm2015/lib/carousel/carousel-arrows.component.js +0 -45
- package/esm2015/lib/carousel/carousel-item.component.js +0 -21
- package/esm2015/lib/carousel/carousel-pager.component.js +0 -71
- package/esm2015/lib/carousel/carousel-splidejs.class.js +0 -83
- package/esm2015/lib/carousel/carousel.class.js +0 -7
- package/esm2015/lib/carousel/carousel.component.js +0 -226
- package/esm2015/lib/carousel/carousel.module.js +0 -19
- package/esm2015/lib/carousel/index.js +0 -7
- package/esm2015/lib/checkbox/checkbox.component.js +0 -41
- package/esm2015/lib/checkbox/checkbox.module.js +0 -15
- package/esm2015/lib/checkbox/index.js +0 -3
- package/esm2015/lib/datalist/datalist.component.js +0 -71
- package/esm2015/lib/datalist/datalist.module.js +0 -17
- package/esm2015/lib/datalist/index.js +0 -3
- package/esm2015/lib/datapager/datapager-base.component.js +0 -33
- package/esm2015/lib/datapager/datapager-info.component.js +0 -59
- package/esm2015/lib/datapager/datapager-input-selector.component.js +0 -51
- package/esm2015/lib/datapager/datapager-next-buttons.components.js +0 -51
- package/esm2015/lib/datapager/datapager-numeric-selector.component.js +0 -86
- package/esm2015/lib/datapager/datapager-pagesize-dropdown.component.js +0 -69
- package/esm2015/lib/datapager/datapager-prev-buttons.component.js +0 -47
- package/esm2015/lib/datapager/datapager.component.js +0 -122
- package/esm2015/lib/datapager/datapager.module.js +0 -32
- package/esm2015/lib/datapager/index.js +0 -9
- package/esm2015/lib/datepicker/datepicker.component.js +0 -62
- package/esm2015/lib/datepicker/datepicker.module.js +0 -18
- package/esm2015/lib/datepicker/index.js +0 -3
- package/esm2015/lib/decorators/decorators.module.js +0 -17
- package/esm2015/lib/decorators/index.js +0 -4
- package/esm2015/lib/decorators/prefix.component.js +0 -28
- package/esm2015/lib/decorators/suffix.component.js +0 -28
- package/esm2015/lib/dialog/dialog.class.js +0 -47
- package/esm2015/lib/dialog/dialog.component.js +0 -39
- package/esm2015/lib/dialog/dialog.module.js +0 -19
- package/esm2015/lib/dialog/dialog.service.js +0 -139
- package/esm2015/lib/dialog/index.js +0 -5
- package/esm2015/lib/drawer/drawer-container.component.js +0 -67
- package/esm2015/lib/drawer/drawer-content.component.js +0 -24
- package/esm2015/lib/drawer/drawer.component.js +0 -139
- package/esm2015/lib/drawer/drawer.module.js +0 -18
- package/esm2015/lib/drawer/index.js +0 -5
- package/esm2015/lib/dropdown/dropdown.component.js +0 -127
- package/esm2015/lib/dropdown/dropdown.module.js +0 -15
- package/esm2015/lib/dropdown/index.js +0 -3
- package/esm2015/lib/form/form-field.component.js +0 -20
- package/esm2015/lib/form/form-field.module.js +0 -15
- package/esm2015/lib/form/form.component.js +0 -51
- package/esm2015/lib/form/index.js +0 -4
- package/esm2015/lib/icon/icon.component.js +0 -28
- package/esm2015/lib/icon/icon.module.js +0 -16
- package/esm2015/lib/icon/index.js +0 -3
- package/esm2015/lib/input-mask/index.js +0 -3
- package/esm2015/lib/input-mask/input-mask.component.js +0 -35
- package/esm2015/lib/input-mask/input-mask.module.js +0 -17
- package/esm2015/lib/label/index.js +0 -3
- package/esm2015/lib/label/label.component.js +0 -20
- package/esm2015/lib/label/label.module.js +0 -16
- package/esm2015/lib/loading/index.js +0 -5
- package/esm2015/lib/loading/loading.component.js +0 -23
- package/esm2015/lib/loading/loading.directive.js +0 -70
- package/esm2015/lib/loading/loading.module.js +0 -18
- package/esm2015/lib/loading/loading.service.js +0 -157
- package/esm2015/lib/number-box/index.js +0 -3
- package/esm2015/lib/number-box/number-box.component.js +0 -242
- package/esm2015/lib/number-box/number-box.module.js +0 -24
- package/esm2015/lib/page/base-page.class.js +0 -84
- package/esm2015/lib/page/index.js +0 -3
- package/esm2015/lib/page/page.component.js +0 -32
- package/esm2015/lib/popup/index.js +0 -4
- package/esm2015/lib/popup/popup.component.js +0 -143
- package/esm2015/lib/popup/popup.module.js +0 -19
- package/esm2015/lib/popup/popup.service.js +0 -89
- package/esm2015/lib/selectbox/index.js +0 -3
- package/esm2015/lib/selectbox/selectbox.component.js +0 -188
- package/esm2015/lib/selectbox/selectbox.module.js +0 -16
- package/esm2015/lib/selection-list/index.js +0 -3
- package/esm2015/lib/selection-list/selection-list.component.js +0 -46
- package/esm2015/lib/selection-list/selection-list.module.js +0 -16
- package/esm2015/lib/side-menu/index.js +0 -3
- package/esm2015/lib/side-menu/side-menu.component.js +0 -21
- package/esm2015/lib/side-menu/side-menu.module.js +0 -16
- package/esm2015/lib/switch/index.js +0 -3
- package/esm2015/lib/switch/switch.component.js +0 -29
- package/esm2015/lib/switch/switch.module.js +0 -16
- package/esm2015/lib/tabs/index.js +0 -6
- package/esm2015/lib/tabs/tab-strip.component.js +0 -57
- package/esm2015/lib/tabs/tab-view.component.js +0 -45
- package/esm2015/lib/tabs/tab.component.js +0 -48
- package/esm2015/lib/tabs/tabs.class.js +0 -4
- package/esm2015/lib/tabs/tabs.module.js +0 -18
- package/esm2015/lib/textbox/index.js +0 -3
- package/esm2015/lib/textbox/textbox.component.js +0 -46
- package/esm2015/lib/textbox/textbox.module.js +0 -24
- package/esm2015/lib/time-box/index.js +0 -3
- package/esm2015/lib/time-box/time-box.component.js +0 -127
- package/esm2015/lib/time-box/time-box.module.js +0 -24
- package/esm2015/lib/toast/index.js +0 -5
- package/esm2015/lib/toast/toast.class.js +0 -2
- package/esm2015/lib/toast/toast.component.js +0 -54
- package/esm2015/lib/toast/toast.module.js +0 -17
- package/esm2015/lib/toast/toast.service.js +0 -117
- package/esm2015/lib/tooltip/index.js +0 -4
- package/esm2015/lib/tooltip/tooltip.component.js +0 -37
- package/esm2015/lib/tooltip/tooltip.directive.js +0 -81
- package/esm2015/lib/tooltip/tooltip.module.js +0 -18
- package/esm2015/lib/validation/index.js +0 -3
- package/esm2015/lib/validation/validation-rule.widget.js +0 -110
- package/esm2015/lib/validation/validation.class.js +0 -2
- package/esm2015/lib/validation/validation.module.js +0 -28
- package/esm2015/public-api.js +0 -32
- package/fesm2015/acorex-components.js +0 -5430
- package/fesm2015/acorex-components.js.map +0 -1
- package/lib/alert/alert-button.component.d.ts +0 -10
- package/lib/alert/alert-contnet.component.d.ts +0 -2
- package/lib/alert/alert-footer.component.d.ts +0 -2
- package/lib/alert/alert-suffix.component.d.ts +0 -2
- package/lib/alert/alert-title.component.d.ts +0 -2
- package/lib/alert/alert.component.d.ts +0 -16
- package/lib/alert/alert.module.d.ts +0 -2
- package/lib/alert/index.d.ts +0 -7
- package/lib/base/common.module.d.ts +0 -2
- package/lib/base/drawing.class.d.ts +0 -9
- package/lib/base/index.d.ts +0 -6
- package/lib/base/mixin/base-components.class.d.ts +0 -51
- package/lib/base/mixin/button-mixin.class.d.ts +0 -34
- package/lib/base/mixin/clickable-mixin.class.d.ts +0 -29
- package/lib/base/mixin/constratctor.d.ts +0 -4
- package/lib/base/mixin/datalist-component.class.d.ts +0 -45
- package/lib/base/mixin/dropdown-mixin.class.d.ts +0 -38
- package/lib/base/mixin/index.d.ts +0 -2
- package/lib/base/mixin/interactive-mixin.class.d.ts +0 -34
- package/lib/base/mixin/loading-mixin.class.d.ts +0 -28
- package/lib/base/mixin/mixin.class.d.ts +0 -493
- package/lib/base/mixin/selection-component.class.d.ts +0 -46
- package/lib/base/mixin/sizable-mixin.class.d.ts +0 -28
- package/lib/base/mixin/textbox-mixin.class.d.ts +0 -33
- package/lib/base/mixin/value-mixin.class.d.ts +0 -50
- package/lib/base/responsive.directive.d.ts +0 -7
- package/lib/base/styles.class.d.ts +0 -6
- package/lib/button/button-group.component.d.ts +0 -19
- package/lib/button/button-item.class.d.ts +0 -17
- package/lib/button/button-item.component.d.ts +0 -16
- package/lib/button/dropdown-button.component.d.ts +0 -27
- package/lib/button/index.d.ts +0 -6
- package/lib/calendar/calendar.component.d.ts +0 -17
- package/lib/calendar/calendar.module.d.ts +0 -2
- package/lib/calendar/index.d.ts +0 -2
- package/lib/carousel/carousel-arrows.component.d.ts +0 -11
- package/lib/carousel/carousel-item.component.d.ts +0 -5
- package/lib/carousel/carousel-pager.component.d.ts +0 -19
- package/lib/carousel/carousel-splidejs.class.d.ts +0 -18
- package/lib/carousel/carousel.class.d.ts +0 -45
- package/lib/carousel/carousel.component.d.ts +0 -59
- package/lib/carousel/carousel.module.d.ts +0 -2
- package/lib/carousel/index.d.ts +0 -6
- package/lib/checkbox/index.d.ts +0 -2
- package/lib/datalist/datalist.component.d.ts +0 -22
- package/lib/datalist/datalist.module.d.ts +0 -2
- package/lib/datalist/index.d.ts +0 -2
- package/lib/datapager/datapager-base.component.d.ts +0 -12
- package/lib/datapager/datapager-info.component.d.ts +0 -24
- package/lib/datapager/datapager-input-selector.component.d.ts +0 -12
- package/lib/datapager/datapager-next-buttons.components.d.ts +0 -14
- package/lib/datapager/datapager-numeric-selector.component.d.ts +0 -17
- package/lib/datapager/datapager-pagesize-dropdown.component.d.ts +0 -17
- package/lib/datapager/datapager-prev-buttons.component.d.ts +0 -13
- package/lib/datapager/datapager.component.d.ts +0 -41
- package/lib/datapager/datapager.module.d.ts +0 -2
- package/lib/datapager/index.d.ts +0 -8
- package/lib/datepicker/datepicker.component.d.ts +0 -15
- package/lib/datepicker/datepicker.module.d.ts +0 -2
- package/lib/datepicker/index.d.ts +0 -2
- package/lib/decorators/decorators.module.d.ts +0 -2
- package/lib/decorators/index.d.ts +0 -3
- package/lib/decorators/prefix.component.d.ts +0 -5
- package/lib/decorators/suffix.component.d.ts +0 -5
- package/lib/dialog/dialog.class.d.ts +0 -35
- package/lib/dialog/index.d.ts +0 -4
- package/lib/drawer/drawer-container.component.d.ts +0 -10
- package/lib/drawer/drawer-content.component.d.ts +0 -5
- package/lib/drawer/index.d.ts +0 -4
- package/lib/dropdown/index.d.ts +0 -2
- package/lib/form/form-field.component.d.ts +0 -5
- package/lib/form/form-field.module.d.ts +0 -2
- package/lib/form/form.component.d.ts +0 -10
- package/lib/form/index.d.ts +0 -3
- package/lib/icon/icon.component.d.ts +0 -7
- package/lib/icon/icon.module.d.ts +0 -2
- package/lib/icon/index.d.ts +0 -2
- package/lib/input-mask/index.d.ts +0 -2
- package/lib/input-mask/input-mask.component.d.ts +0 -11
- package/lib/input-mask/input-mask.module.d.ts +0 -2
- package/lib/label/index.d.ts +0 -2
- package/lib/loading/index.d.ts +0 -4
- package/lib/loading/loading.component.d.ts +0 -5
- package/lib/loading/loading.directive.d.ts +0 -19
- package/lib/number-box/index.d.ts +0 -2
- package/lib/page/index.d.ts +0 -2
- package/lib/popup/index.d.ts +0 -3
- package/lib/selectbox/index.d.ts +0 -2
- package/lib/selection-list/index.d.ts +0 -2
- package/lib/side-menu/index.d.ts +0 -2
- package/lib/side-menu/side-menu.component.d.ts +0 -5
- package/lib/side-menu/side-menu.module.d.ts +0 -2
- package/lib/switch/index.d.ts +0 -2
- package/lib/tabs/index.d.ts +0 -5
- package/lib/tabs/tab-strip.component.d.ts +0 -14
- package/lib/tabs/tab-view.component.d.ts +0 -11
- package/lib/tabs/tab.component.d.ts +0 -15
- package/lib/tabs/tabs.class.d.ts +0 -18
- package/lib/tabs/tabs.module.d.ts +0 -2
- package/lib/textbox/index.d.ts +0 -2
- package/lib/time-box/index.d.ts +0 -2
- package/lib/time-box/time-box.component.d.ts +0 -26
- package/lib/time-box/time-box.module.d.ts +0 -2
- package/lib/toast/index.d.ts +0 -4
- package/lib/toast/toast.class.d.ts +0 -14
- package/lib/toast/toast.component.d.ts +0 -13
- package/lib/tooltip/index.d.ts +0 -3
- package/lib/tooltip/tooltip.component.d.ts +0 -7
- package/lib/validation/index.d.ts +0 -2
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { FormsModule } from '@angular/forms';
|
|
4
|
+
import { AXNumberBoxModule } from '../../../number-box/number-box.module';
|
|
5
|
+
import { AXValidationModule } from '../../../validation/validation.module';
|
|
6
|
+
import { AXSwitchPropertyEditorComponent } from './number.editor';
|
|
7
|
+
import { AXSwitchModule } from '../../../switch/switch.module';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
export class AXSwitchPropertyEditorModule {
|
|
10
|
+
constructor() {
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
AXSwitchPropertyEditorModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AXSwitchPropertyEditorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
14
|
+
AXSwitchPropertyEditorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AXSwitchPropertyEditorModule, declarations: [AXSwitchPropertyEditorComponent], imports: [CommonModule, FormsModule, AXNumberBoxModule, AXValidationModule, AXSwitchModule], exports: [AXSwitchPropertyEditorComponent] });
|
|
15
|
+
AXSwitchPropertyEditorModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AXSwitchPropertyEditorModule, providers: [], imports: [[CommonModule, FormsModule, AXNumberBoxModule, AXValidationModule, AXSwitchModule]] });
|
|
16
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AXSwitchPropertyEditorModule, decorators: [{
|
|
17
|
+
type: NgModule,
|
|
18
|
+
args: [{
|
|
19
|
+
declarations: [AXSwitchPropertyEditorComponent],
|
|
20
|
+
imports: [CommonModule, FormsModule, AXNumberBoxModule, AXValidationModule, AXSwitchModule],
|
|
21
|
+
exports: [AXSwitchPropertyEditorComponent],
|
|
22
|
+
providers: []
|
|
23
|
+
}]
|
|
24
|
+
}], ctorParameters: function () { return []; } });
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL3NyYy9saWIvcHJvcGVydHktZWRpdG9yL2VkaXRvcnMvc3dpdGNoLWVkaXRvci9udW1iZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sK0JBQStCLENBQUM7O0FBVy9ELE1BQU0sT0FBTyw0QkFBNEI7SUFDckM7SUFDQSxDQUFDOzt5SEFGUSw0QkFBNEI7MEhBQTVCLDRCQUE0QixpQkFMdEIsK0JBQStCLGFBQ3BDLFlBQVksRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsa0JBQWtCLEVBQUUsY0FBYyxhQUNoRiwrQkFBK0I7MEhBR2hDLDRCQUE0QixhQUYxQixFQUFFLFlBRkosQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFFLGtCQUFrQixFQUFFLGNBQWMsQ0FBQzsyRkFJbEYsNEJBQTRCO2tCQU54QyxRQUFRO21CQUFDO29CQUNOLFlBQVksRUFBRSxDQUFDLCtCQUErQixDQUFDO29CQUMvQyxPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFFLGtCQUFrQixFQUFFLGNBQWMsQ0FBQztvQkFDM0YsT0FBTyxFQUFFLENBQUMsK0JBQStCLENBQUM7b0JBQzFDLFNBQVMsRUFBRSxFQUFFO2lCQUNoQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBBWE51bWJlckJveE1vZHVsZSB9IGZyb20gJy4uLy4uLy4uL251bWJlci1ib3gvbnVtYmVyLWJveC5tb2R1bGUnO1xyXG5pbXBvcnQgeyBBWFZhbGlkYXRpb25Nb2R1bGUgfSBmcm9tICcuLi8uLi8uLi92YWxpZGF0aW9uL3ZhbGlkYXRpb24ubW9kdWxlJztcclxuaW1wb3J0IHsgQVhTd2l0Y2hQcm9wZXJ0eUVkaXRvckNvbXBvbmVudCB9IGZyb20gJy4vbnVtYmVyLmVkaXRvcic7XHJcbmltcG9ydCB7IEFYU3dpdGNoTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vc3dpdGNoL3N3aXRjaC5tb2R1bGUnO1xyXG5cclxuXHJcblxyXG5cclxuQE5nTW9kdWxlKHtcclxuICAgIGRlY2xhcmF0aW9uczogW0FYU3dpdGNoUHJvcGVydHlFZGl0b3JDb21wb25lbnRdLFxyXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgRm9ybXNNb2R1bGUsIEFYTnVtYmVyQm94TW9kdWxlLCBBWFZhbGlkYXRpb25Nb2R1bGUsIEFYU3dpdGNoTW9kdWxlXSxcclxuICAgIGV4cG9ydHM6IFtBWFN3aXRjaFByb3BlcnR5RWRpdG9yQ29tcG9uZW50XSxcclxuICAgIHByb3ZpZGVyczogW11cclxufSlcclxuZXhwb3J0IGNsYXNzIEFYU3dpdGNoUHJvcGVydHlFZGl0b3JNb2R1bGUge1xyXG4gICAgY29uc3RydWN0b3IoKSB7XHJcbiAgICB9XHJcbn0iXX0=
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { Component, ChangeDetectorRef, ViewChild } from '@angular/core';
|
|
2
|
+
import { AXTextBoxComponent } from '../../../textbox/textbox.component';
|
|
3
|
+
import { AXProperyEditorComponent } from '../../property-editor.class';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "../../../textbox/textbox.component";
|
|
6
|
+
import * as i2 from "../../../validation/validation.component";
|
|
7
|
+
export class AXTextPropertyEditorComponent extends AXProperyEditorComponent {
|
|
8
|
+
constructor(cdr) {
|
|
9
|
+
super(cdr);
|
|
10
|
+
this.cdr = cdr;
|
|
11
|
+
this.clearButton = false;
|
|
12
|
+
}
|
|
13
|
+
handleValueChange(e) {
|
|
14
|
+
super.handleValueChange(e.value);
|
|
15
|
+
}
|
|
16
|
+
ngAfterViewInit() {
|
|
17
|
+
this.registerForValidationForm(this.textBox);
|
|
18
|
+
this.onRenderCompleted.emit();
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
AXTextPropertyEditorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AXTextPropertyEditorComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
22
|
+
AXTextPropertyEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.8", type: AXTextPropertyEditorComponent, selector: "ng-component", viewQueries: [{ propertyName: "textBox", first: true, predicate: AXTextBoxComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<ax-text-box (onValueChanged)=\"handleValueChange($event)\" [value]=\"value\" [readonly]=\"readonly\" [allowClear]=\"clearButton\">\r\n <ax-validation [rules]=\"validation?.rules\">\r\n </ax-validation>\r\n</ax-text-box>", components: [{ type: i1.AXTextBoxComponent, selector: "ax-text-box", inputs: ["mask", "type", "showMask", "maxLength", "maskGuid", "maskPlaceholder", "maskKeepCharPositions"] }, { type: i2.AXValidationComponent, selector: "ax-validation", inputs: ["rules", "validateOn"], outputs: ["rulesChange", "showMessage"] }] });
|
|
23
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AXTextPropertyEditorComponent, decorators: [{
|
|
24
|
+
type: Component,
|
|
25
|
+
args: [{ template: "<ax-text-box (onValueChanged)=\"handleValueChange($event)\" [value]=\"value\" [readonly]=\"readonly\" [allowClear]=\"clearButton\">\r\n <ax-validation [rules]=\"validation?.rules\">\r\n </ax-validation>\r\n</ax-text-box>" }]
|
|
26
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { textBox: [{
|
|
27
|
+
type: ViewChild,
|
|
28
|
+
args: [AXTextBoxComponent]
|
|
29
|
+
}] } });
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC5lZGl0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL3Byb3BlcnR5LWVkaXRvci9lZGl0b3JzL3RleHQtZWRpdG9yL3RleHQuZWRpdG9yLnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvbXBvbmVudHMvc3JjL2xpYi9wcm9wZXJ0eS1lZGl0b3IvZWRpdG9ycy90ZXh0LWVkaXRvci90ZXh0LmVkaXRvci5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUcsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBRXhFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7O0FBS3ZFLE1BQU0sT0FBTyw2QkFBOEIsU0FBUSx3QkFBZ0M7SUFXL0UsWUFBc0IsR0FBc0I7UUFDeEMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRE8sUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFINUMsZ0JBQVcsR0FBWSxLQUFLLENBQUM7SUFLN0IsQ0FBQztJQUdELGlCQUFpQixDQUFDLENBQU07UUFDcEIsS0FBSyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBR0QsZUFBZTtRQUNYLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDN0MsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2xDLENBQUM7OzBIQXhCUSw2QkFBNkI7OEdBQTdCLDZCQUE2Qiw2RkFHM0Isa0JBQWtCLHVFQ1hqQyxvT0FHYzsyRkRLRCw2QkFBNkI7a0JBSHpDLFNBQVM7O3dHQU9FLE9BQU87c0JBRGQsU0FBUzt1QkFBQyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsICBDaGFuZ2VEZXRlY3RvclJlZiwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFYVGV4dEJveENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL3RleHRib3gvdGV4dGJveC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBWFZhbGlkYXRpb24gfSBmcm9tICcuLi8uLi8uLi92YWxpZGF0aW9uL3ZhbGlkYXRpb24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgQVhQcm9wZXJ5RWRpdG9yQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vcHJvcGVydHktZWRpdG9yLmNsYXNzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgdGVtcGxhdGVVcmw6ICcuL3RleHQuZWRpdG9yLmh0bWwnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQVhUZXh0UHJvcGVydHlFZGl0b3JDb21wb25lbnQgZXh0ZW5kcyBBWFByb3BlcnlFZGl0b3JDb21wb25lbnQ8c3RyaW5nPiAge1xyXG5cclxuXHJcbiAgICBAVmlld0NoaWxkKEFYVGV4dEJveENvbXBvbmVudClcclxuICAgIHByaXZhdGUgdGV4dEJveDogQVhUZXh0Qm94Q29tcG9uZW50O1xyXG5cclxuXHJcbiAgICB2YWxpZGF0aW9uOiBBWFZhbGlkYXRpb247XHJcbiAgICBjbGVhckJ1dHRvbjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge1xyXG4gICAgICAgIHN1cGVyKGNkcik7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIGhhbmRsZVZhbHVlQ2hhbmdlKGU6IGFueSkge1xyXG4gICAgICAgIHN1cGVyLmhhbmRsZVZhbHVlQ2hhbmdlKGUudmFsdWUpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICAgICAgdGhpcy5yZWdpc3RlckZvclZhbGlkYXRpb25Gb3JtKHRoaXMudGV4dEJveCk7XHJcbiAgICAgICAgdGhpcy5vblJlbmRlckNvbXBsZXRlZC5lbWl0KCk7XHJcbiAgICB9XHJcblxyXG59XHJcbiIsIjxheC10ZXh0LWJveCAob25WYWx1ZUNoYW5nZWQpPVwiaGFuZGxlVmFsdWVDaGFuZ2UoJGV2ZW50KVwiIFt2YWx1ZV09XCJ2YWx1ZVwiIFtyZWFkb25seV09XCJyZWFkb25seVwiIFthbGxvd0NsZWFyXT1cImNsZWFyQnV0dG9uXCI+XHJcbiAgICA8YXgtdmFsaWRhdGlvbiBbcnVsZXNdPVwidmFsaWRhdGlvbj8ucnVsZXNcIj5cclxuICAgIDwvYXgtdmFsaWRhdGlvbj5cclxuPC9heC10ZXh0LWJveD4iXX0=
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { AXTextPropertyEditorComponent } from './text.editor';
|
|
4
|
+
import { FormsModule } from '@angular/forms';
|
|
5
|
+
import { AXTextBoxModule } from '../../../textbox/textbox.module';
|
|
6
|
+
import { AXValidationModule } from '../../../validation/validation.module';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
export class AXTextPropertyEditorModule {
|
|
9
|
+
constructor() {
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
AXTextPropertyEditorModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AXTextPropertyEditorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
13
|
+
AXTextPropertyEditorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AXTextPropertyEditorModule, declarations: [AXTextPropertyEditorComponent], imports: [CommonModule, FormsModule, AXTextBoxModule, AXValidationModule], exports: [AXTextPropertyEditorComponent] });
|
|
14
|
+
AXTextPropertyEditorModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AXTextPropertyEditorModule, providers: [], imports: [[CommonModule, FormsModule, AXTextBoxModule, AXValidationModule]] });
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AXTextPropertyEditorModule, decorators: [{
|
|
16
|
+
type: NgModule,
|
|
17
|
+
args: [{
|
|
18
|
+
declarations: [AXTextPropertyEditorComponent],
|
|
19
|
+
imports: [CommonModule, FormsModule, AXTextBoxModule, AXValidationModule],
|
|
20
|
+
exports: [AXTextPropertyEditorComponent],
|
|
21
|
+
providers: []
|
|
22
|
+
}]
|
|
23
|
+
}], ctorParameters: function () { return []; } });
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL3Byb3BlcnR5LWVkaXRvci9lZGl0b3JzL3RleHQtZWRpdG9yL3RleHQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDOztBQVczRSxNQUFNLE9BQU8sMEJBQTBCO0lBQ25DO0lBQ0EsQ0FBQzs7dUhBRlEsMEJBQTBCO3dIQUExQiwwQkFBMEIsaUJBTHBCLDZCQUE2QixhQUNsQyxZQUFZLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxrQkFBa0IsYUFDOUQsNkJBQTZCO3dIQUc5QiwwQkFBMEIsYUFGeEIsRUFBRSxZQUZKLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsa0JBQWtCLENBQUM7MkZBSWhFLDBCQUEwQjtrQkFOdEMsUUFBUTttQkFBQztvQkFDTixZQUFZLEVBQUUsQ0FBQyw2QkFBNkIsQ0FBQztvQkFDN0MsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsa0JBQWtCLENBQUM7b0JBQ3pFLE9BQU8sRUFBRSxDQUFDLDZCQUE2QixDQUFDO29CQUN4QyxTQUFTLEVBQUUsRUFBRTtpQkFDaEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBBWFRleHRQcm9wZXJ0eUVkaXRvckNvbXBvbmVudCB9IGZyb20gJy4vdGV4dC5lZGl0b3InO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgQVhUZXh0Qm94TW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vdGV4dGJveC90ZXh0Ym94Lm1vZHVsZSc7XHJcbmltcG9ydCB7IEFYVmFsaWRhdGlvbk1vZHVsZSB9IGZyb20gJy4uLy4uLy4uL3ZhbGlkYXRpb24vdmFsaWRhdGlvbi5tb2R1bGUnO1xyXG5cclxuXHJcblxyXG5cclxuQE5nTW9kdWxlKHtcclxuICAgIGRlY2xhcmF0aW9uczogW0FYVGV4dFByb3BlcnR5RWRpdG9yQ29tcG9uZW50XSxcclxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEZvcm1zTW9kdWxlLCBBWFRleHRCb3hNb2R1bGUsIEFYVmFsaWRhdGlvbk1vZHVsZV0sXHJcbiAgICBleHBvcnRzOiBbQVhUZXh0UHJvcGVydHlFZGl0b3JDb21wb25lbnRdLFxyXG4gICAgcHJvdmlkZXJzOiBbXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQVhUZXh0UHJvcGVydHlFZGl0b3JNb2R1bGUge1xyXG4gICAgY29uc3RydWN0b3IoKSB7XHJcbiAgICB9XHJcbn0iXX0=
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { Component, ChangeDetectorRef, ViewChild } from '@angular/core';
|
|
2
|
+
import { AXDatePickerComponent } from '../../../date-picker/date-picker.component';
|
|
3
|
+
import { AXProperyEditorComponent } from '../../property-editor.class';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "../../../time-picker/time-picker.component";
|
|
6
|
+
import * as i2 from "../../../validation/validation.component";
|
|
7
|
+
export class AXTimePropertyEditorComponent extends AXProperyEditorComponent {
|
|
8
|
+
constructor(cdr) {
|
|
9
|
+
super(cdr);
|
|
10
|
+
this.cdr = cdr;
|
|
11
|
+
this.showCurentTime = false;
|
|
12
|
+
this.clearButton = false;
|
|
13
|
+
}
|
|
14
|
+
handleValueChange(e) {
|
|
15
|
+
super.handleValueChange(e.value?.time);
|
|
16
|
+
}
|
|
17
|
+
ngAfterViewInit() {
|
|
18
|
+
this.registerForValidationForm(this.time);
|
|
19
|
+
this.onRenderCompleted.emit();
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
AXTimePropertyEditorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AXTimePropertyEditorComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
23
|
+
AXTimePropertyEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.8", type: AXTimePropertyEditorComponent, selector: "ng-component", viewQueries: [{ propertyName: "time", first: true, predicate: AXDatePickerComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: `
|
|
24
|
+
<ax-time-picker [showCurentTime]="showCurentTime" [timeType]="timeType" [allowClear]="clearButton" (onValueChanged)="handleValueChange($event)">
|
|
25
|
+
<ax-validation [rules]="validation?.rules">
|
|
26
|
+
</ax-validation>
|
|
27
|
+
</ax-time-picker>
|
|
28
|
+
`, isInline: true, components: [{ type: i1.AXTimePickerComponent, selector: "ax-time-picker", inputs: ["timeType", "showCurentTime"], outputs: ["onValueChanged"] }, { type: i2.AXValidationComponent, selector: "ax-validation", inputs: ["rules", "validateOn"], outputs: ["rulesChange", "showMessage"] }] });
|
|
29
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AXTimePropertyEditorComponent, decorators: [{
|
|
30
|
+
type: Component,
|
|
31
|
+
args: [{
|
|
32
|
+
template: `
|
|
33
|
+
<ax-time-picker [showCurentTime]="showCurentTime" [timeType]="timeType" [allowClear]="clearButton" (onValueChanged)="handleValueChange($event)">
|
|
34
|
+
<ax-validation [rules]="validation?.rules">
|
|
35
|
+
</ax-validation>
|
|
36
|
+
</ax-time-picker>
|
|
37
|
+
`,
|
|
38
|
+
}]
|
|
39
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { time: [{
|
|
40
|
+
type: ViewChild,
|
|
41
|
+
args: [AXDatePickerComponent]
|
|
42
|
+
}] } });
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS5lZGl0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL3Byb3BlcnR5LWVkaXRvci9lZGl0b3JzL3RpbWUtZWRpdG9yL3RpbWUuZWRpdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBRW5GLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7O0FBVXZFLE1BQU0sT0FBTyw2QkFBOEIsU0FBUSx3QkFBZ0M7SUFXL0UsWUFBc0IsR0FBc0I7UUFDeEMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRE8sUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFONUMsbUJBQWMsR0FBWSxLQUFLLENBQUM7UUFDaEMsZ0JBQVcsR0FBWSxLQUFLLENBQUM7SUFPN0IsQ0FBQztJQUVELGlCQUFpQixDQUFDLENBQU07UUFDcEIsS0FBSyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVELGVBQWU7UUFDWCxJQUFJLENBQUMseUJBQXlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNsQyxDQUFDOzswSEF0QlEsNkJBQTZCOzhHQUE3Qiw2QkFBNkIsMEZBUTNCLHFCQUFxQix1RUFmdEI7Ozs7O1VBS0o7MkZBRUcsNkJBQTZCO2tCQVJ6QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRTs7Ozs7VUFLSjtpQkFDVDt3R0FVVyxJQUFJO3NCQURYLFNBQVM7dUJBQUMscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIENoYW5nZURldGVjdG9yUmVmLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQVhEYXRlUGlja2VyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vZGF0ZS1waWNrZXIvZGF0ZS1waWNrZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQVhWYWxpZGF0aW9uIH0gZnJvbSAnLi4vLi4vLi4vdmFsaWRhdGlvbi92YWxpZGF0aW9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFYUHJvcGVyeUVkaXRvckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL3Byb3BlcnR5LWVkaXRvci5jbGFzcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHRlbXBsYXRlOiBgXHJcbiAgICA8YXgtdGltZS1waWNrZXIgW3Nob3dDdXJlbnRUaW1lXT1cInNob3dDdXJlbnRUaW1lXCIgW3RpbWVUeXBlXT1cInRpbWVUeXBlXCIgW2FsbG93Q2xlYXJdPVwiY2xlYXJCdXR0b25cIiAob25WYWx1ZUNoYW5nZWQpPVwiaGFuZGxlVmFsdWVDaGFuZ2UoJGV2ZW50KVwiPlxyXG4gICAgICAgIDxheC12YWxpZGF0aW9uIFtydWxlc109XCJ2YWxpZGF0aW9uPy5ydWxlc1wiPlxyXG4gICAgICAgIDwvYXgtdmFsaWRhdGlvbj5cclxuICAgIDwvYXgtdGltZS1waWNrZXI+XHJcbiAgICAgICAgIGAsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBWFRpbWVQcm9wZXJ0eUVkaXRvckNvbXBvbmVudCBleHRlbmRzIEFYUHJvcGVyeUVkaXRvckNvbXBvbmVudDxTdHJpbmc+ICB7XHJcblxyXG5cclxuICAgIHRpbWVUeXBlOiBhbnk7XHJcbiAgICB2YWxpZGF0aW9uOiBBWFZhbGlkYXRpb247XHJcbiAgICBzaG93Q3VyZW50VGltZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgY2xlYXJCdXR0b246IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBAVmlld0NoaWxkKEFYRGF0ZVBpY2tlckNvbXBvbmVudClcclxuICAgIHByaXZhdGUgdGltZTogQVhEYXRlUGlja2VyQ29tcG9uZW50O1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XHJcbiAgICAgICAgc3VwZXIoY2RyKTtcclxuICAgIH1cclxuXHJcbiAgICBoYW5kbGVWYWx1ZUNoYW5nZShlOiBhbnkpIHtcclxuICAgICAgICBzdXBlci5oYW5kbGVWYWx1ZUNoYW5nZShlLnZhbHVlPy50aW1lKTtcclxuICAgIH1cclxuXHJcbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICAgICAgdGhpcy5yZWdpc3RlckZvclZhbGlkYXRpb25Gb3JtKHRoaXMudGltZSk7XHJcbiAgICAgICAgdGhpcy5vblJlbmRlckNvbXBsZXRlZC5lbWl0KCk7XHJcbiAgICB9XHJcblxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { FormsModule } from '@angular/forms';
|
|
4
|
+
import { AXValidationModule } from '../../../validation/validation.module';
|
|
5
|
+
import { AXTimePickerModule } from '../../../time-picker/time-picker.module';
|
|
6
|
+
import { AXTimePropertyEditorComponent } from './time.editor';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
export class AXTimePropertyEditorModule {
|
|
9
|
+
constructor() {
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
AXTimePropertyEditorModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AXTimePropertyEditorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
13
|
+
AXTimePropertyEditorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AXTimePropertyEditorModule, declarations: [AXTimePropertyEditorComponent], imports: [CommonModule, FormsModule, AXTimePickerModule, AXValidationModule], exports: [AXTimePropertyEditorComponent] });
|
|
14
|
+
AXTimePropertyEditorModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AXTimePropertyEditorModule, providers: [], imports: [[CommonModule, FormsModule, AXTimePickerModule, AXValidationModule]] });
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AXTimePropertyEditorModule, decorators: [{
|
|
16
|
+
type: NgModule,
|
|
17
|
+
args: [{
|
|
18
|
+
declarations: [AXTimePropertyEditorComponent],
|
|
19
|
+
imports: [CommonModule, FormsModule, AXTimePickerModule, AXValidationModule],
|
|
20
|
+
exports: [AXTimePropertyEditorComponent],
|
|
21
|
+
providers: []
|
|
22
|
+
}]
|
|
23
|
+
}], ctorParameters: function () { return []; } });
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL3Byb3BlcnR5LWVkaXRvci9lZGl0b3JzL3RpbWUtZWRpdG9yL3RpbWUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBVzlELE1BQU0sT0FBTywwQkFBMEI7SUFDbkM7SUFDQSxDQUFDOzt1SEFGUSwwQkFBMEI7d0hBQTFCLDBCQUEwQixpQkFMcEIsNkJBQTZCLGFBQ2xDLFlBQVksRUFBRSxXQUFXLEVBQUUsa0JBQWtCLEVBQUUsa0JBQWtCLGFBQ2pFLDZCQUE2Qjt3SEFHOUIsMEJBQTBCLGFBRnhCLEVBQUUsWUFGSixDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsa0JBQWtCLEVBQUUsa0JBQWtCLENBQUM7MkZBSW5FLDBCQUEwQjtrQkFOdEMsUUFBUTttQkFBQztvQkFDTixZQUFZLEVBQUUsQ0FBQyw2QkFBNkIsQ0FBQztvQkFDN0MsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxrQkFBa0IsRUFBRSxrQkFBa0IsQ0FBQztvQkFDNUUsT0FBTyxFQUFFLENBQUMsNkJBQTZCLENBQUM7b0JBQ3hDLFNBQVMsRUFBRSxFQUFFO2lCQUNoQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBBWFZhbGlkYXRpb25Nb2R1bGUgfSBmcm9tICcuLi8uLi8uLi92YWxpZGF0aW9uL3ZhbGlkYXRpb24ubW9kdWxlJztcclxuaW1wb3J0IHsgQVhUaW1lUGlja2VyTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vdGltZS1waWNrZXIvdGltZS1waWNrZXIubW9kdWxlJztcclxuaW1wb3J0IHsgQVhUaW1lUHJvcGVydHlFZGl0b3JDb21wb25lbnQgfSBmcm9tICcuL3RpbWUuZWRpdG9yJztcclxuXHJcblxyXG5cclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgICBkZWNsYXJhdGlvbnM6IFtBWFRpbWVQcm9wZXJ0eUVkaXRvckNvbXBvbmVudF0sXHJcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZSwgQVhUaW1lUGlja2VyTW9kdWxlLCBBWFZhbGlkYXRpb25Nb2R1bGVdLFxyXG4gICAgZXhwb3J0czogW0FYVGltZVByb3BlcnR5RWRpdG9yQ29tcG9uZW50XSxcclxuICAgIHByb3ZpZGVyczogW11cclxufSlcclxuZXhwb3J0IGNsYXNzIEFYVGltZVByb3BlcnR5RWRpdG9yTW9kdWxlIHtcclxuICAgIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgfVxyXG59Il19
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
import { Directive, ViewContainerRef, ComponentFactoryResolver, Input, Output, EventEmitter } from '@angular/core';
|
|
2
|
+
import { AXEventService, AXObjectUtil, AXRenderService, setPropByPath } from '@acorex/core';
|
|
3
|
+
import { AXValidationFormComponent } from '../validation/validation-form.component';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@acorex/core";
|
|
6
|
+
export class AXPropertyEditorRendererDirective {
|
|
7
|
+
constructor(target, componentFactoryResolver, renderService, eventService) {
|
|
8
|
+
this.target = target;
|
|
9
|
+
this.componentFactoryResolver = componentFactoryResolver;
|
|
10
|
+
this.renderService = renderService;
|
|
11
|
+
this.eventService = eventService;
|
|
12
|
+
this._context = {};
|
|
13
|
+
this.onValueChange = new EventEmitter();
|
|
14
|
+
}
|
|
15
|
+
get context() {
|
|
16
|
+
return this._context;
|
|
17
|
+
}
|
|
18
|
+
set context(v) {
|
|
19
|
+
this._context = v;
|
|
20
|
+
}
|
|
21
|
+
clear() {
|
|
22
|
+
this.instance.value = null;
|
|
23
|
+
}
|
|
24
|
+
ngOnInit() {
|
|
25
|
+
this.createComponent();
|
|
26
|
+
}
|
|
27
|
+
createComponent() {
|
|
28
|
+
this.renderService.findLoadedComponentByRoute(this.property.property.editorClass).then(c => {
|
|
29
|
+
if (c) {
|
|
30
|
+
const factory = this.componentFactoryResolver.resolveComponentFactory(c.component);
|
|
31
|
+
const cmpRef = this.target.createComponent(factory);
|
|
32
|
+
this.instance = cmpRef.instance;
|
|
33
|
+
this.subscription = this.instance.valueChange.subscribe(value => {
|
|
34
|
+
this.property.value = value;
|
|
35
|
+
this.onValueChange.emit(this.property);
|
|
36
|
+
if (this.property?.property?.name) {
|
|
37
|
+
setTimeout(() => {
|
|
38
|
+
this.eventService.broadcast(`props-${this.groupId}-${this.property.property.name}`, this.property);
|
|
39
|
+
}, 0);
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
this.watchChanges();
|
|
43
|
+
this.assignProps();
|
|
44
|
+
this.instance.value = this.property.value;
|
|
45
|
+
// this.instance.onRenderCompleted.subscribe(() => {
|
|
46
|
+
// });
|
|
47
|
+
if (this.validationForm) {
|
|
48
|
+
this.instance.validatableComponentRegistered.subscribe(v => {
|
|
49
|
+
this.validationForm.addWidget(v);
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
watchChanges() {
|
|
56
|
+
const varsRegx = /((\$\{[a-zA-Z_0-9]+\})+)/gm;
|
|
57
|
+
const varNameRegx = /[a-zA-Z_0-9]+/gm;
|
|
58
|
+
const options = this.property.property.editorOptions;
|
|
59
|
+
if (!options) {
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
for (const p in options) {
|
|
63
|
+
if (options.hasOwnProperty(p)) {
|
|
64
|
+
const opt = options[p];
|
|
65
|
+
const vars = typeof opt === 'string' ? opt?.match(varsRegx) : [];
|
|
66
|
+
// bind the props
|
|
67
|
+
if (vars?.length) {
|
|
68
|
+
vars.forEach(v => {
|
|
69
|
+
const path = v.match(varNameRegx)?.length ? v.match(varNameRegx)[0] : null;
|
|
70
|
+
if (path) {
|
|
71
|
+
this.eventService.on(`props-${this.groupId}-${path}`, (e) => {
|
|
72
|
+
let execCode = opt.slice();
|
|
73
|
+
const params = {};
|
|
74
|
+
vars.forEach(vv => {
|
|
75
|
+
const p2 = vv.match(varNameRegx)?.length ? vv.match(varNameRegx)[0] : null;
|
|
76
|
+
params[p2] = AXObjectUtil.deepCopy(this.context[p2]) || null;
|
|
77
|
+
execCode = execCode.replace(vv, `__params__.${p2}`);
|
|
78
|
+
});
|
|
79
|
+
const func = new Function('__params__', `try { return ${execCode}} catch(e){ console.log(e); return null; }`);
|
|
80
|
+
const val = func(params);
|
|
81
|
+
const keys = p.split('.');
|
|
82
|
+
const prop = Object.assign({}, this.instance[keys[0]]);
|
|
83
|
+
if (keys.length > 1) {
|
|
84
|
+
this.instance[keys[0]] = setPropByPath(prop, p, val);
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
setPropByPath(this.instance, p, val);
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
// else {
|
|
94
|
+
// this.assignProps();
|
|
95
|
+
// }
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
assignProps() {
|
|
100
|
+
const options = this.property.property.editorOptions;
|
|
101
|
+
if (!options) {
|
|
102
|
+
return;
|
|
103
|
+
}
|
|
104
|
+
const varsRegx = /((\$\{[a-zA-Z_0-9]+\})+)/gm;
|
|
105
|
+
for (const p in options) {
|
|
106
|
+
if (options.hasOwnProperty(p)) {
|
|
107
|
+
const opt = options[p];
|
|
108
|
+
const vars = typeof opt === 'string' ? opt?.match(varsRegx) : [];
|
|
109
|
+
if (vars?.length) {
|
|
110
|
+
continue;
|
|
111
|
+
}
|
|
112
|
+
else {
|
|
113
|
+
const val = typeof opt === 'function' ? opt({ data: this.context, host: this.host }, this.property) : opt;
|
|
114
|
+
if (val instanceof Promise) {
|
|
115
|
+
val.then(v => {
|
|
116
|
+
setPropByPath(this.instance, p, val);
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
else {
|
|
120
|
+
setPropByPath(this.instance, p, val);
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
ngOnDestroy() {
|
|
127
|
+
if (this.subscription) {
|
|
128
|
+
this.subscription.unsubscribe();
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
AXPropertyEditorRendererDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AXPropertyEditorRendererDirective, deps: [{ token: i0.ViewContainerRef }, { token: i0.ComponentFactoryResolver }, { token: i1.AXRenderService }, { token: i1.AXEventService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
133
|
+
AXPropertyEditorRendererDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.8", type: AXPropertyEditorRendererDirective, selector: "[ax-property-editor-renderer]", inputs: { property: "property", validationForm: "validationForm", context: "context", host: "host", groupId: "groupId" }, outputs: { onValueChange: "onValueChange" }, ngImport: i0 });
|
|
134
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AXPropertyEditorRendererDirective, decorators: [{
|
|
135
|
+
type: Directive,
|
|
136
|
+
args: [{
|
|
137
|
+
selector: '[ax-property-editor-renderer]',
|
|
138
|
+
}]
|
|
139
|
+
}], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.ComponentFactoryResolver }, { type: i1.AXRenderService }, { type: i1.AXEventService }]; }, propDecorators: { property: [{
|
|
140
|
+
type: Input
|
|
141
|
+
}], validationForm: [{
|
|
142
|
+
type: Input
|
|
143
|
+
}], context: [{
|
|
144
|
+
type: Input
|
|
145
|
+
}], host: [{
|
|
146
|
+
type: Input
|
|
147
|
+
}], groupId: [{
|
|
148
|
+
type: Input
|
|
149
|
+
}], onValueChange: [{
|
|
150
|
+
type: Output
|
|
151
|
+
}] } });
|
|
152
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktZWRpdG9yLXJlbmRlcmVyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL3NyYy9saWIvcHJvcGVydHktZWRpdG9yL3Byb3BlcnR5LWVkaXRvci1yZW5kZXJlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSx3QkFBd0IsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBbUMsTUFBTSxlQUFlLENBQUM7QUFFcEosT0FBTyxFQUFFLGNBQWMsRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFpQixhQUFhLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFM0csT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0seUNBQXlDLENBQUM7OztBQUtwRixNQUFNLE9BQU8saUNBQWlDO0lBa0MxQyxZQUNZLE1BQXdCLEVBQ3hCLHdCQUFrRCxFQUNsRCxhQUE4QixFQUM5QixZQUE0QjtRQUg1QixXQUFNLEdBQU4sTUFBTSxDQUFrQjtRQUN4Qiw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO1FBQ2xELGtCQUFhLEdBQWIsYUFBYSxDQUFpQjtRQUM5QixpQkFBWSxHQUFaLFlBQVksQ0FBZ0I7UUF6QmhDLGFBQVEsR0FBUSxFQUFFLENBQUM7UUFpQjNCLGtCQUFhLEdBQWtELElBQUksWUFBWSxFQUFtQyxDQUFDO0lBV25ILENBQUM7SUEzQkQsSUFDVyxPQUFPO1FBQ2QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3pCLENBQUM7SUFDRCxJQUFXLE9BQU8sQ0FBQyxDQUFNO1FBQ3JCLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDO0lBQ3RCLENBQUM7SUF3QkQsS0FBSztRQUNELElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztJQUMvQixDQUFD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RUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO29CQUMxRyxJQUFJLEdBQUcsWUFBWSxPQUFPLEVBQUU7d0JBQ3hCLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUU7NEJBQ1QsYUFBYSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO3dCQUN6QyxDQUFDLENBQUMsQ0FBQztxQkFDTjt5QkFDSTt3QkFDRCxhQUFhLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7cUJBQ3hDO2lCQUNKO2FBQ0o7U0FDSjtJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ25CLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDbkM7SUFDTCxDQUFDOzs4SEExS1EsaUNBQWlDO2tIQUFqQyxpQ0FBaUM7MkZBQWpDLGlDQUFpQztrQkFIN0MsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsK0JBQStCO2lCQUM1Qzt5TUFNRyxRQUFRO3NCQURQLEtBQUs7Z0JBS04sY0FBYztzQkFEYixLQUFLO2dCQU9LLE9BQU87c0JBRGpCLEtBQUs7Z0JBU04sSUFBSTtzQkFESCxLQUFLO2dCQUlOLE9BQU87c0JBRE4sS0FBSztnQkFLTixhQUFhO3NCQURaLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIFZpZXdDb250YWluZXJSZWYsIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlciwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBLZXlWYWx1ZURpZmZlciwgS2V5VmFsdWVEaWZmZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFYUHJvcGVyeUVkaXRvckNvbXBvbmVudCwgQVhQcm9wZXJ5RWRpdG9yVmFsdWVDaGFuZ2VFdmVudCwgQVhQcm9wZXJ0eUNvbmZpZyB9IGZyb20gJy4vcHJvcGVydHktZWRpdG9yLmNsYXNzJztcclxuaW1wb3J0IHsgQVhFdmVudFNlcnZpY2UsIEFYT2JqZWN0VXRpbCwgQVhSZW5kZXJTZXJ2aWNlLCBnZXRQcm9wQnlQYXRoLCBzZXRQcm9wQnlQYXRoIH0gZnJvbSAnQGFjb3JleC9jb3JlJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEFYVmFsaWRhdGlvbkZvcm1Db21wb25lbnQgfSBmcm9tICcuLi92YWxpZGF0aW9uL3ZhbGlkYXRpb24tZm9ybS5jb21wb25lbnQnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgICBzZWxlY3RvcjogJ1theC1wcm9wZXJ0eS1lZGl0b3ItcmVuZGVyZXJdJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFYUHJvcGVydHlFZGl0b3JSZW5kZXJlckRpcmVjdGl2ZSB7XHJcblxyXG4gICAgcHJpdmF0ZSBpbnN0YW5jZTogQVhQcm9wZXJ5RWRpdG9yQ29tcG9uZW50PGFueT47XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHByb3BlcnR5OiBBWFByb3BlcnR5Q29uZmlnO1xyXG5cclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgdmFsaWRhdGlvbkZvcm06IEFYVmFsaWRhdGlvbkZvcm1Db21wb25lbnQ7XHJcblxyXG5cclxuXHJcbiAgICBwcml2YXRlIF9jb250ZXh0OiBhbnkgPSB7fTtcclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgZ2V0IGNvbnRleHQoKTogYW55IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fY29udGV4dDtcclxuICAgIH1cclxuICAgIHB1YmxpYyBzZXQgY29udGV4dCh2OiBhbnkpIHtcclxuICAgICAgICB0aGlzLl9jb250ZXh0ID0gdjtcclxuICAgIH1cclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgaG9zdDogYW55O1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBncm91cElkOiBhbnk7XHJcblxyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgb25WYWx1ZUNoYW5nZTogRXZlbnRFbWl0dGVyPEFYUHJvcGVyeUVkaXRvclZhbHVlQ2hhbmdlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxBWFByb3BlcnlFZGl0b3JWYWx1ZUNoYW5nZUV2ZW50PigpO1xyXG5cclxuICAgIHByaXZhdGUgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJpdmF0ZSB0YXJnZXQ6IFZpZXdDb250YWluZXJSZWYsXHJcbiAgICAgICAgcHJpdmF0ZSBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcclxuICAgICAgICBwcml2YXRlIHJlbmRlclNlcnZpY2U6IEFYUmVuZGVyU2VydmljZSxcclxuICAgICAgICBwcml2YXRlIGV2ZW50U2VydmljZTogQVhFdmVudFNlcnZpY2VcclxuICAgICkge1xyXG5cclxuICAgIH1cclxuXHJcblxyXG4gICAgY2xlYXIoKSB7XHJcbiAgICAgICAgdGhpcy5pbnN0YW5jZS52YWx1ZSA9IG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5jcmVhdGVDb21wb25lbnQoKTtcclxuICAgIH1cclxuXHJcblxyXG5cclxuXHJcblxyXG4gICAgY3JlYXRlQ29tcG9uZW50KCkge1xyXG4gICAgICAgIHRoaXMucmVuZGVyU2VydmljZS5maW5kTG9hZGVkQ29tcG9uZW50QnlSb3V0ZSh0aGlzLnByb3BlcnR5LnByb3BlcnR5LmVkaXRvckNsYXNzKS50aGVuKGMgPT4ge1xyXG4gICAgICAgICAgICBpZiAoYykge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgZmFjdG9yeSA9IHRoaXMuY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KGMuY29tcG9uZW50KTtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGNtcFJlZiA9IHRoaXMudGFyZ2V0LmNyZWF0ZUNvbXBvbmVudChmYWN0b3J5KTtcclxuICAgICAgICAgICAgICAgIHRoaXMuaW5zdGFuY2UgPSBjbXBSZWYuaW5zdGFuY2UgYXMgQVhQcm9wZXJ5RWRpdG9yQ29tcG9uZW50PGFueT47XHJcbiAgICAgICAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IHRoaXMuaW5zdGFuY2UudmFsdWVDaGFuZ2Uuc3Vic2NyaWJlKHZhbHVlID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnByb3BlcnR5LnZhbHVlID0gdmFsdWU7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vblZhbHVlQ2hhbmdlLmVtaXQodGhpcy5wcm9wZXJ0eSk7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMucHJvcGVydHk/LnByb3BlcnR5Py5uYW1lKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5ldmVudFNlcnZpY2UuYnJvYWRjYXN0KGBwcm9wcy0ke3RoaXMuZ3JvdXBJZH0tJHt0aGlzLnByb3BlcnR5LnByb3BlcnR5Lm5hbWV9YCwgdGhpcy5wcm9wZXJ0eSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sIDApO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgdGhpcy53YXRjaENoYW5nZXMoKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuYXNzaWduUHJvcHMoKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuaW5zdGFuY2UudmFsdWUgPSB0aGlzLnByb3BlcnR5LnZhbHVlO1xyXG5cclxuICAgICAgICAgICAgICAgIC8vIHRoaXMuaW5zdGFuY2Uub25SZW5kZXJDb21wbGV0ZWQuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIC8vIH0pO1xyXG4gICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMudmFsaWRhdGlvbkZvcm0pIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmluc3RhbmNlLnZhbGlkYXRhYmxlQ29tcG9uZW50UmVnaXN0ZXJlZC5zdWJzY3JpYmUodiA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudmFsaWRhdGlvbkZvcm0uYWRkV2lkZ2V0KHYpO1xyXG4gICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIHByaXZhdGUgd2F0Y2hDaGFuZ2VzKCkge1xyXG4gICAgICAgIGNvbnN0IHZhcnNSZWd4ID0gLygoXFwkXFx7W2EtekEtWl8wLTldK1xcfSkrKS9nbTtcclxuICAgICAgICBjb25zdCB2YXJOYW1lUmVneCA9IC9bYS16QS1aXzAtOV0rL2dtO1xyXG4gICAgICAgIGNvbnN0IG9wdGlvbnMgPSB0aGlzLnByb3BlcnR5LnByb3BlcnR5LmVkaXRvck9wdGlvbnM7XHJcbiAgICAgICAgaWYgKCFvcHRpb25zKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgZm9yIChjb25zdCBwIGluIG9wdGlvbnMpIHtcclxuICAgICAgICAgICAgaWYgKG9wdGlvbnMuaGFzT3duUHJvcGVydHkocCkpIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IG9wdCA9IG9wdGlvbnNbcF07XHJcbiAgICAgICAgICAgICAgICBjb25zdCB2YXJzID0gdHlwZW9mIG9wdCA9PT0gJ3N0cmluZycgPyBvcHQ/Lm1hdGNoKHZhcnNSZWd4KSA6IFtdO1xyXG4gICAgICAgICAgICAgICAgLy8gYmluZCB0aGUgcHJvcHNcclxuICAgICAgICAgICAgICAgIGlmICh2YXJzPy5sZW5ndGgpIHtcclxuICAgICAgICAgICAgICAgICAgICB2YXJzLmZvckVhY2godiA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHBhdGggPSB2Lm1hdGNoKHZhck5hbWVSZWd4KT8ubGVuZ3RoID8gdi5tYXRjaCh2YXJOYW1lUmVneClbMF0gOiBudWxsO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAocGF0aCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5ldmVudFNlcnZpY2Uub24oYHByb3BzLSR7dGhpcy5ncm91cElkfS0ke3BhdGh9YCwgKGU6IEFYUHJvcGVydHlDb25maWcpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgZXhlY0NvZGUgPSBvcHQuc2xpY2UoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwYXJhbXMgPSB7fTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXJzLmZvckVhY2godnYgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwMiA9IHZ2Lm1hdGNoKHZhck5hbWVSZWd4KT8ubGVuZ3RoID8gdnYubWF0Y2godmFyTmFtZVJlZ3gpWzBdIDogbnVsbDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1zW3AyXSA9IEFYT2JqZWN0VXRpbC5kZWVwQ29weSh0aGlzLmNvbnRleHRbcDJdKSB8fCBudWxsO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleGVjQ29kZSA9IGV4ZWNDb2RlLnJlcGxhY2UodnYsIGBfX3BhcmFtc19fLiR7cDJ9YCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGZ1bmMgPSBuZXcgRnVuY3Rpb24oJ19fcGFyYW1zX18nLCBgdHJ5IHsgcmV0dXJuICR7ZXhlY0NvZGV9fSBjYXRjaChlKXsgIGNvbnNvbGUubG9nKGUpOyByZXR1cm4gbnVsbDsgIH1gKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB2YWwgPSBmdW5jKHBhcmFtcyk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGtleXMgPSBwLnNwbGl0KCcuJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcHJvcCA9IE9iamVjdC5hc3NpZ24oe30sIHRoaXMuaW5zdGFuY2Vba2V5c1swXV0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChrZXlzLmxlbmd0aCA+IDEpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pbnN0YW5jZVtrZXlzWzBdXSA9IHNldFByb3BCeVBhdGgocHJvcCwgcCwgdmFsKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFByb3BCeVBhdGgodGhpcy5pbnN0YW5jZSwgcCwgdmFsKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAvLyBlbHNlIHtcclxuICAgICAgICAgICAgICAgIC8vICAgIHRoaXMuYXNzaWduUHJvcHMoKTtcclxuICAgICAgICAgICAgICAgIC8vIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gICAgcHJpdmF0ZSBhc3NpZ25Qcm9wcygpIHtcclxuICAgICAgICBjb25zdCBvcHRpb25zID0gdGhpcy5wcm9wZXJ0eS5wcm9wZXJ0eS5lZGl0b3JPcHRpb25zO1xyXG4gICAgICAgIGlmICghb3B0aW9ucykge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IHZhcnNSZWd4ID0gLygoXFwkXFx7W2EtekEtWl8wLTldK1xcfSkrKS9nbTtcclxuICAgICAgICBmb3IgKGNvbnN0IHAgaW4gb3B0aW9ucykge1xyXG4gICAgICAgICAgICBpZiAob3B0aW9ucy5oYXNPd25Qcm9wZXJ0eShwKSkge1xyXG4gICAgICAgICAgICAgICAgY29uc3Qgb3B0ID0gb3B0aW9uc1twXTtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHZhcnMgPSB0eXBlb2Ygb3B0ID09PSAnc3RyaW5nJyA/IG9wdD8ubWF0Y2godmFyc1JlZ3gpIDogW107XHJcbiAgICAgICAgICAgICAgICBpZiAodmFycz8ubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGludWU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCB2YWwgPSB0eXBlb2Ygb3B0ID09PSAnZnVuY3Rpb24nID8gb3B0KHsgZGF0YTogdGhpcy5jb250ZXh0LCBob3N0OiB0aGlzLmhvc3QgfSwgdGhpcy5wcm9wZXJ0eSkgOiBvcHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHZhbCBpbnN0YW5jZW9mIFByb21pc2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsLnRoZW4odiA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRQcm9wQnlQYXRoKHRoaXMuaW5zdGFuY2UsIHAsIHZhbCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgc2V0UHJvcEJ5UGF0aCh0aGlzLmluc3RhbmNlLCBwLCB2YWwpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBuZ09uRGVzdHJveSgpIHtcclxuICAgICAgICBpZiAodGhpcy5zdWJzY3JpcHRpb24pIHtcclxuICAgICAgICAgICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iXX0=
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { Input, Output, EventEmitter, ChangeDetectorRef, Directive } from '@angular/core';
|
|
2
|
+
import { Subject } from 'rxjs';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class AXProperyEditorComponent {
|
|
5
|
+
constructor(cdr) {
|
|
6
|
+
this.cdr = cdr;
|
|
7
|
+
this.readonly = false;
|
|
8
|
+
this._initiated = false;
|
|
9
|
+
this._valueBound = false;
|
|
10
|
+
this.validatableComponentRegistered = new Subject();
|
|
11
|
+
this.valueChange = new EventEmitter();
|
|
12
|
+
this.onRenderCompleted = new EventEmitter();
|
|
13
|
+
this.onRenderCompleted.subscribe(() => {
|
|
14
|
+
this._initiated = true;
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
get initiated() {
|
|
18
|
+
return this._initiated && this._valueBound;
|
|
19
|
+
}
|
|
20
|
+
registerForValidationForm(component) {
|
|
21
|
+
this.validatableComponentRegistered.next(component);
|
|
22
|
+
}
|
|
23
|
+
get value() {
|
|
24
|
+
return this._value;
|
|
25
|
+
}
|
|
26
|
+
set value(v) {
|
|
27
|
+
if (v !== this._value) {
|
|
28
|
+
this._value = v;
|
|
29
|
+
this.valueChange.emit(v);
|
|
30
|
+
this.cdr.detectChanges();
|
|
31
|
+
//TODO: find better solution
|
|
32
|
+
setTimeout(() => {
|
|
33
|
+
this._valueBound = true;
|
|
34
|
+
}, 100);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
handleValueChange(v) {
|
|
38
|
+
this.value = v;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
AXProperyEditorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AXProperyEditorComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
42
|
+
AXProperyEditorComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.8", type: AXProperyEditorComponent, inputs: { value: "value" }, outputs: { valueChange: "valueChange", onRenderCompleted: "onRenderCompleted" }, ngImport: i0 });
|
|
43
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AXProperyEditorComponent, decorators: [{
|
|
44
|
+
type: Directive
|
|
45
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { valueChange: [{
|
|
46
|
+
type: Output
|
|
47
|
+
}], onRenderCompleted: [{
|
|
48
|
+
type: Output
|
|
49
|
+
}], value: [{
|
|
50
|
+
type: Input
|
|
51
|
+
}] } });
|
|
52
|
+
export class AXPropertyDecorator {
|
|
53
|
+
constructor(cls, property, options) {
|
|
54
|
+
this.cls = cls;
|
|
55
|
+
this.property = property;
|
|
56
|
+
this.options = options;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
// @dynamic
|
|
60
|
+
export class AXPropertyDecorators {
|
|
61
|
+
static register(cls, property, options) {
|
|
62
|
+
const item = AXPropertyDecorators.REGISTRY.find(c => c.cls === cls && c.property === property);
|
|
63
|
+
if (item) {
|
|
64
|
+
item.options = options;
|
|
65
|
+
}
|
|
66
|
+
else {
|
|
67
|
+
AXPropertyDecorators.REGISTRY.push(new AXPropertyDecorator(cls, property, options));
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
static has(cls, property) {
|
|
71
|
+
return AXPropertyDecorators.REGISTRY.some(c => c.cls === cls && c.property === property);
|
|
72
|
+
}
|
|
73
|
+
static get(cls, property) {
|
|
74
|
+
return AXPropertyDecorators.REGISTRY.find(c => c.cls === cls && c.property === property);
|
|
75
|
+
}
|
|
76
|
+
static isValid(property) {
|
|
77
|
+
if (property) {
|
|
78
|
+
return AXPropertyDecorators.REGISTRY.some(c => c.property === property);
|
|
79
|
+
}
|
|
80
|
+
return false;
|
|
81
|
+
}
|
|
82
|
+
static getProperties(target) {
|
|
83
|
+
const list = [];
|
|
84
|
+
const p = Array();
|
|
85
|
+
let superClass = Object.getPrototypeOf(target);
|
|
86
|
+
while (superClass.constructor.name !== 'Object') {
|
|
87
|
+
p.push(superClass.constructor);
|
|
88
|
+
superClass = Object.getPrototypeOf(superClass);
|
|
89
|
+
}
|
|
90
|
+
list.push(...AXPropertyDecorators.REGISTRY.filter(c => p.includes(c.cls.constructor)));
|
|
91
|
+
return list;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
AXPropertyDecorators.REGISTRY = new Array();
|
|
95
|
+
export function propertyEditor(options) {
|
|
96
|
+
return (target, key) => {
|
|
97
|
+
options.name = key;
|
|
98
|
+
AXPropertyDecorators.register(target, key, options);
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktZWRpdG9yLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvbXBvbmVudHMvc3JjL2xpYi9wcm9wZXJ0eS1lZGl0b3IvcHJvcGVydHktZWRpdG9yLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUE4Qy9CLE1BQU0sT0FBZ0Isd0JBQXdCO0lBK0MxQyxZQUFzQixHQUFzQjtRQUF0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQTVDNUMsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUdsQixlQUFVLEdBQVksS0FBSyxDQUFDO1FBQzVCLGdCQUFXLEdBQVksS0FBSyxDQUFDO1FBT3JDLG1DQUE4QixHQUFvQyxJQUFJLE9BQU8sRUFBMEIsQ0FBQztRQVN4RyxnQkFBVyxHQUFvQixJQUFJLFlBQVksRUFBSyxDQUFDO1FBSXJELHNCQUFpQixHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBcUI3RCxJQUFJLENBQUMsaUJBQWlCLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNsQyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztRQUMzQixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUExQ0QsSUFBVyxTQUFTO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQy9DLENBQUM7SUFNRCx5QkFBeUIsQ0FBQyxTQUFrQztRQUN4RCxJQUFJLENBQUMsOEJBQThCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFXRCxJQUNXLEtBQUs7UUFDWixPQUFPLElBQUksQ0FB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LE1BQU0sQ0FBQyxDQUFDO1FBQy9DLE9BQU8sVUFBVSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEtBQUssUUFBUSxFQUFFO1lBQzdDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQy9CLFVBQVUsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQ2xEO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3ZGLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7O0FBdkNjLDZCQUFRLEdBQUcsSUFBSSxLQUFLLEVBQXVCLENBQUM7QUE0Qy9ELE1BQU0sVUFBVSxjQUFjLENBQUMsT0FBNEI7SUFDdkQsT0FBTyxDQUFDLE1BQVcsRUFBRSxHQUFXLEVBQUUsRUFBRTtRQUMvQixPQUFlLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQztRQUM1QixvQkFBb0IsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN4RCxDQUFDLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBDaGFuZ2VEZXRlY3RvclJlZiwgRGlyZWN0aXZlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQVhWYWxpZGF0YWJsZUNvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2UvZWxlbWVudC5jbGFzcyc7XHJcblxyXG5leHBvcnQgdHlwZSBBWERhdGFUeXBlID0gJ3N0cmluZycgfCAnbnVtYmVyJyB8ICdkYXRlJyB8ICdib29sZWFuJyB8ICdvYmplY3QnO1xyXG5leHBvcnQgdHlwZSBBWENvbnRyb2xUeXBlID0gJ3RleHRib3gnIHwgJ251bWJlcmJveCcgfCAnZGF0ZVBpY2tlcicgfCAnc3dpdGNoJyB8ICdjdXN0b20nO1xyXG5cclxuXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEFYUHJvcGVydHlEZWYge1xyXG4gICAgbmFtZTogc3RyaW5nO1xyXG4gICAgdGl0bGU6IHN0cmluZztcclxuICAgIGhpbnQ/OiBzdHJpbmc7XHJcbiAgICBkZWZhdWx0VmFsdWU/OiBhbnk7XHJcbiAgICBlZGl0b3JDbGFzczogYW55O1xyXG4gICAgZWRpdG9yT3B0aW9ucz86IGFueTtcclxuICAgIHZpc2libGU/OiBib29sZWFuIHwgKCgpID0+IGJvb2xlYW4pO1xyXG4gICAgb3JkZXI/OiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQVhQcm9wZXJ0eUVkaXRvckRlZiB7XHJcbiAgICB0aXRsZTogc3RyaW5nO1xyXG4gICAgaGludD86IHN0cmluZztcclxuICAgIGRlZmF1bHRWYWx1ZT86IGFueTtcclxuICAgIGVkaXRvckNsYXNzOiBhbnk7XHJcbiAgICBlZGl0b3JPcHRpb25zPzogYW55O1xyXG4gICAgdmlzaWJsZT86IGJvb2xlYW4gfCAoKCkgPT4gYm9vbGVhbik7XHJcbiAgICBvcmRlcj86IG51bWJlcjtcclxufVxyXG5cclxuXHJcblxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBBWFByb3BlcnR5Q29uZmlnIHtcclxuICAgIHByb3BlcnR5OiBBWFByb3BlcnR5RGVmO1xyXG4gICAgdmFsdWU6IGFueTtcclxufVxyXG5cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQVhQcm9wZXJ5RWRpdG9yVmFsdWVDaGFuZ2VFdmVudCB7XHJcbiAgICBwcm9wZXJ0eTogQVhQcm9wZXJ0eURlZjtcclxuICAgIHZhbHVlOiBhbnk7XHJcbn1cclxuXHJcblxyXG5cclxuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQVhQcm9wZXJ5RWRpdG9yQ29tcG9uZW50PFQ+e1xyXG5cclxuXHJcbiAgICByZWFkb25seTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuXHJcbiAgICBwcml2YXRlIF9pbml0aWF0ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIHByaXZhdGUgX3ZhbHVlQm91bmQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBwdWJsaWMgZ2V0IGluaXRpYXRlZCgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5faW5pdGlhdGVkICYmIHRoaXMuX3ZhbHVlQm91bmQ7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIHZhbGlkYXRhYmxlQ29tcG9uZW50UmVnaXN0ZXJlZDogU3ViamVjdDxBWFZhbGlkYXRhYmxlQ29tcG9uZW50PiA9IG5ldyBTdWJqZWN0PEFYVmFsaWRhdGFibGVDb21wb25lbnQ+KCk7XHJcblxyXG5cclxuICAgIHJlZ2lzdGVyRm9yVmFsaWRhdGlvbkZvcm0oY29tcG9uZW50PzogQVhWYWxpZGF0YWJsZUNvbXBvbmVudCkge1xyXG4gICAgICAgIHRoaXMudmFsaWRhdGFibGVDb21wb25lbnRSZWdpc3RlcmVkLm5leHQoY29tcG9uZW50KTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICB2YWx1ZUNoYW5nZTogRXZlbnRFbWl0dGVyPFQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxUPigpO1xyXG5cclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIG9uUmVuZGVyQ29tcGxldGVkOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gICAgcHJpdmF0ZSBfdmFsdWU6IFQ7XHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGdldCB2YWx1ZSgpOiBUIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fdmFsdWU7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHNldCB2YWx1ZSh2OiBUKSB7XHJcbiAgICAgICAgaWYgKHYgIT09IHRoaXMuX3ZhbHVlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3ZhbHVlID0gdjtcclxuICAgICAgICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHYpO1xyXG4gICAgICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgICAgIC8vVE9ETzogZmluZCBiZXR0ZXIgc29sdXRpb25cclxuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl92YWx1ZUJvdW5kID0gdHJ1ZTtcclxuICAgICAgICAgICAgfSwgMTAwKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcclxuICAgICAgICB0aGlzLm9uUmVuZGVyQ29tcGxldGVkLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuX2luaXRpYXRlZCA9IHRydWU7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgdWlkOiBzdHJpbmc7XHJcblxyXG4gICAgaGFuZGxlVmFsdWVDaGFuZ2UodjogVCkge1xyXG4gICAgICAgIHRoaXMudmFsdWUgPSB2O1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuXHJcbmV4cG9ydCBjbGFzcyBBWFByb3BlcnR5RGVjb3JhdG9yIHtcclxuICAgIGNsczogYW55O1xyXG4gICAgcHJvcGVydHk6IHN0cmluZztcclxuICAgIG9wdGlvbnM6IGFueTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBjbHM6IGFueSxcclxuICAgICAgICBwcm9wZXJ0eTogc3RyaW5nLFxyXG4gICAgICAgIG9wdGlvbnM6IGFueSkge1xyXG4gICAgICAgIHRoaXMuY2xzID0gY2xzO1xyXG4gICAgICAgIHRoaXMucHJvcGVydHkgPSBwcm9wZXJ0eTtcclxuICAgICAgICB0aGlzLm9wdGlvbnMgPSBvcHRpb25zO1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLy8gQGR5bmFtaWNcclxuZXhwb3J0IGNsYXNzIEFYUHJvcGVydHlEZWNvcmF0b3JzIHtcclxuICAgIHByaXZhdGUgc3RhdGljIFJFR0lTVFJZID0gbmV3IEFycmF5PEFYUHJvcGVydHlEZWNvcmF0b3I+KCk7XHJcblxyXG4gICAgc3RhdGljIHJlZ2lzdGVyKGNsczogc3RyaW5nLCBwcm9wZXJ0eTogc3RyaW5nLCBvcHRpb25zPzogYW55KSB7XHJcbiAgICAgICAgY29uc3QgaXRlbSA9IEFYUHJvcGVydHlEZWNvcmF0b3JzLlJFR0lTVFJZLmZpbmQoYyA9PiBjLmNscyA9PT0gY2xzICYmIGMucHJvcGVydHkgPT09IHByb3BlcnR5KTtcclxuICAgICAgICBpZiAoaXRlbSkge1xyXG4gICAgICAgICAgICBpdGVtLm9wdGlvbnMgPSBvcHRpb25zO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgQVhQcm9wZXJ0eURlY29yYXRvcnMuUkVHSVNUUlkucHVzaChuZXcgQVhQcm9wZXJ0eURlY29yYXRvcihjbHMsIHByb3BlcnR5LCBvcHRpb25zKSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcblxyXG4gICAgc3RhdGljIGhhcyhjbHM6IHN0cmluZywgcHJvcGVydHk6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiBBWFByb3BlcnR5RGVjb3JhdG9ycy5SRUdJU1RSWS5zb21lKGMgPT4gYy5jbHMgPT09IGNscyAmJiBjLnByb3BlcnR5ID09PSBwcm9wZXJ0eSk7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIGdldChjbHM6IHN0cmluZywgcHJvcGVydHk6IHN0cmluZyk6IEFYUHJvcGVydHlEZWNvcmF0b3Ige1xyXG4gICAgICAgIHJldHVybiBBWFByb3BlcnR5RGVjb3JhdG9ycy5SRUdJU1RSWS5maW5kKGMgPT4gYy5jbHMgPT09IGNscyAmJiBjLnByb3BlcnR5ID09PSBwcm9wZXJ0eSk7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIGlzVmFsaWQocHJvcGVydHk6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgICAgIGlmIChwcm9wZXJ0eSkge1xyXG4gICAgICAgICAgICByZXR1cm4gQVhQcm9wZXJ0eURlY29yYXRvcnMuUkVHSVNUUlkuc29tZShjID0+IGMucHJvcGVydHkgPT09IHByb3BlcnR5KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyBnZXRQcm9wZXJ0aWVzKHRhcmdldDogYW55KTogQVhQcm9wZXJ0eURlY29yYXRvcltdIHtcclxuICAgICAgICBjb25zdCBsaXN0OiBBWFByb3BlcnR5RGVjb3JhdG9yW10gPSBbXTtcclxuICAgICAgICBjb25zdCBwOiBhbnlbXSA9IEFycmF5PGFueT4oKTtcclxuICAgICAgICBsZXQgc3VwZXJDbGFzcyA9IE9iamVjdC5nZXRQcm90b3R5cGVPZih0YXJnZXQpO1xyXG4gICAgICAgIHdoaWxlIChzdXBlckNsYXNzLmNvbnN0cnVjdG9yLm5hbWUgIT09ICdPYmplY3QnKSB7XHJcbiAgICAgICAgICAgIHAucHVzaChzdXBlckNsYXNzLmNvbnN0cnVjdG9yKTtcclxuICAgICAgICAgICAgc3VwZXJDbGFzcyA9IE9iamVjdC5nZXRQcm90b3R5cGVPZihzdXBlckNsYXNzKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgbGlzdC5wdXNoKC4uLkFYUHJvcGVydHlEZWNvcmF0b3JzLlJFR0lTVFJZLmZpbHRlcihjID0+IHAuaW5jbHVkZXMoYy5jbHMuY29uc3RydWN0b3IpKSk7XHJcbiAgICAgICAgcmV0dXJuIGxpc3Q7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHByb3BlcnR5RWRpdG9yKG9wdGlvbnM6IEFYUHJvcGVydHlFZGl0b3JEZWYpIHtcclxuICAgIHJldHVybiAodGFyZ2V0OiBhbnksIGtleTogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgKG9wdGlvbnMgYXMgYW55KS5uYW1lID0ga2V5O1xyXG4gICAgICAgIEFYUHJvcGVydHlEZWNvcmF0b3JzLnJlZ2lzdGVyKHRhcmdldCwga2V5LCBvcHRpb25zKTtcclxuICAgIH07XHJcbn1cclxuXHJcbiJdfQ==
|