@acorex/components 6.5.70 → 6.5.90
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -3
- package/esm2022/acorex-components.mjs +5 -0
- package/esm2022/index.mjs +158 -0
- package/esm2022/lib/accordion/accordion.component.mjs +45 -0
- package/esm2022/lib/accordion/accordion.module.mjs +20 -0
- package/esm2022/lib/base/base-page.class.mjs +95 -0
- package/esm2022/lib/base/components.class.mjs +17 -0
- package/esm2022/lib/base/element.class.mjs +301 -0
- package/esm2022/lib/base/events.class.mjs +17 -0
- package/esm2022/lib/button/button.component.mjs +74 -0
- package/esm2022/lib/button/button.module.mjs +21 -0
- package/esm2022/lib/calendar/calendar-box/calendar-box.component.mjs +426 -0
- package/esm2022/lib/calendar/calendar-box/calendar-box.module.mjs +22 -0
- package/esm2022/lib/calendar/scheduler/scheduler-views.property.mjs +59 -0
- package/esm2022/lib/calendar/scheduler/scheduler.class.mjs +16 -0
- package/esm2022/lib/calendar/scheduler/scheduler.component.mjs +226 -0
- package/esm2022/lib/calendar/scheduler/scheduler.module.mjs +68 -0
- package/esm2022/lib/calendar/scheduler/toolbars/scheduler-toolbar-navigator.mjs +136 -0
- package/esm2022/lib/calendar/scheduler/toolbars/scheduler-toolbar-views.mjs +37 -0
- package/esm2022/lib/calendar/scheduler/views/agenda/scheduler-agenda-view.component.mjs +49 -0
- package/esm2022/lib/calendar/scheduler/views/daytime/scheduler-daytime-view.component.mjs +102 -0
- package/esm2022/lib/calendar/scheduler/views/month/scheduler-month-view.component.mjs +214 -0
- package/esm2022/lib/calendar/scheduler/views/scheduler-view.component.mjs +99 -0
- package/esm2022/lib/calendar/scheduler/views/timeline/scheduler-timeline-view.component.mjs +85 -0
- package/esm2022/lib/checkbox/checkbox.component.mjs +102 -0
- package/esm2022/lib/checkbox/checkbox.module.mjs +20 -0
- package/esm2022/lib/color-picker/color-box/color-box.component.mjs +423 -0
- package/esm2022/lib/color-picker/color-picker.component.mjs +89 -0
- package/esm2022/lib/color-picker/color-picker.module.mjs +24 -0
- package/esm2022/lib/context-menu/context-menu.component.mjs +68 -0
- package/esm2022/lib/context-menu/context-menu.directive.mjs +146 -0
- package/esm2022/lib/context-menu/context-menu.module.mjs +20 -0
- package/esm2022/lib/data-filter/columns/filter-column-date.component.mjs +140 -0
- package/esm2022/lib/data-filter/columns/filter-column-number.component.mjs +119 -0
- package/esm2022/lib/data-filter/columns/filter-column-selection.component.mjs +75 -0
- package/esm2022/lib/data-filter/columns/filter-column-string.component.mjs +119 -0
- package/esm2022/lib/data-filter/filter-panel/filter-panel.component.mjs +267 -0
- package/esm2022/lib/data-filter/filter.class.mjs +46 -0
- package/esm2022/lib/data-filter/filter.module.mjs +88 -0
- package/esm2022/lib/data-filter/toolbar/filter-toolbar.component.mjs +168 -0
- package/esm2022/lib/data-list/core/data-list.component.mjs +37 -0
- package/esm2022/lib/data-list/list/list.component.mjs +134 -0
- package/esm2022/lib/data-list/list/list.module.mjs +22 -0
- package/esm2022/lib/data-list/list/toolbar-list-view.component.mjs +84 -0
- package/esm2022/lib/data-source/datasource.component.mjs +47 -0
- package/esm2022/lib/data-source/datasource.module.mjs +18 -0
- package/esm2022/lib/data-source/read-param.mjs +7 -0
- package/esm2022/lib/date-picker/date-picker.component.mjs +718 -0
- package/esm2022/lib/date-picker/date-picker.module.mjs +49 -0
- package/esm2022/lib/dialog/dialog.component.mjs +26 -0
- package/esm2022/lib/dialog/dialog.module.mjs +21 -0
- package/esm2022/lib/dialog/dialog.service.mjs +160 -0
- package/esm2022/lib/drawer/content.component.mjs +18 -0
- package/esm2022/lib/drawer/drawer-container.component.mjs +38 -0
- package/esm2022/lib/drawer/drawer.component.mjs +146 -0
- package/esm2022/lib/drawer/drawer.module.mjs +23 -0
- package/esm2022/lib/dropdown/dropdown.component.mjs +186 -0
- package/esm2022/lib/dropdown/dropdown.module.mjs +26 -0
- package/esm2022/lib/fieldset/fieldset.component.mjs +57 -0
- package/esm2022/lib/fieldset/fieldset.module.mjs +19 -0
- package/esm2022/lib/form-group/form-group.component.mjs +37 -0
- package/esm2022/lib/form-group/form-group.module.mjs +21 -0
- package/esm2022/lib/label/label.component.mjs +19 -0
- package/esm2022/lib/label/label.module.mjs +21 -0
- package/esm2022/lib/loading/loading-indicator.component.mjs +18 -0
- package/esm2022/lib/loading/loading-panel.component.mjs +45 -0
- package/esm2022/lib/loading/loading.module.mjs +21 -0
- package/esm2022/lib/loading/loading.service.mjs +47 -0
- package/esm2022/lib/menu/menu-item.component.mjs +50 -0
- package/esm2022/lib/menu/menu.component.mjs +98 -0
- package/esm2022/lib/menu/menu.module.mjs +22 -0
- package/esm2022/lib/menu/menu2.component.mjs +100 -0
- package/esm2022/lib/number-box/number-box.component.mjs +628 -0
- package/esm2022/lib/number-box/number-box.module.mjs +21 -0
- package/esm2022/lib/page/content.component.mjs +27 -0
- package/esm2022/lib/page/footer.component.mjs +19 -0
- package/esm2022/lib/page/page.component.mjs +57 -0
- package/esm2022/lib/page/page.module.mjs +22 -0
- package/esm2022/lib/panel-box/panel-box.component.mjs +87 -0
- package/esm2022/lib/panel-box/panel-box.module.mjs +19 -0
- package/esm2022/lib/password-box/password-box.component.mjs +32 -0
- package/esm2022/lib/password-box/password-box.module.mjs +23 -0
- package/esm2022/lib/popover/custom-cdk-overlay.service.mjs +50 -0
- package/esm2022/lib/popover/overlay.service.mjs +94 -0
- package/esm2022/lib/popover/popover.component.mjs +145 -0
- package/esm2022/lib/popover/popover.module.mjs +19 -0
- package/esm2022/lib/popup/popup.component.mjs +159 -0
- package/esm2022/lib/popup/popup.module.mjs +25 -0
- package/esm2022/lib/popup/popup.service.mjs +94 -0
- package/esm2022/lib/progress-bar/progress-bar.component.mjs +16 -0
- package/esm2022/lib/progress-bar/progress-bar.module.mjs +19 -0
- package/esm2022/lib/property-editor/editors/check-editor/check-editor.mjs +65 -0
- package/esm2022/lib/property-editor/editors/check-editor/check.module.mjs +22 -0
- package/esm2022/lib/property-editor/editors/color-editor/color.editor.mjs +41 -0
- package/esm2022/lib/property-editor/editors/color-editor/color.module.mjs +24 -0
- package/esm2022/lib/property-editor/editors/column-editor/column.editor.mjs +118 -0
- package/esm2022/lib/property-editor/editors/column-editor/column.module.mjs +32 -0
- package/esm2022/lib/property-editor/editors/conditional-color-editor/conditional-color.editor.mjs +216 -0
- package/esm2022/lib/property-editor/editors/conditional-color-editor/conditional-color.module.mjs +76 -0
- package/esm2022/lib/property-editor/editors/date-editor/date.editor.mjs +87 -0
- package/esm2022/lib/property-editor/editors/date-editor/date.module.mjs +24 -0
- package/esm2022/lib/property-editor/editors/number-editor/number.editor.mjs +66 -0
- package/esm2022/lib/property-editor/editors/number-editor/number.module.mjs +24 -0
- package/esm2022/lib/property-editor/editors/range-editor/range.editor.mjs +145 -0
- package/esm2022/lib/property-editor/editors/range-editor/range.module.mjs +59 -0
- package/esm2022/lib/property-editor/editors/searchbar-selectbox-editor/searchbar-selectbox-editor.mjs +76 -0
- package/esm2022/lib/property-editor/editors/selectbox-editor/selectbox.editor.mjs +75 -0
- package/esm2022/lib/property-editor/editors/selectbox-editor/selectbox.module.mjs +25 -0
- package/esm2022/lib/property-editor/editors/selection-editor/selection-editor.mjs +73 -0
- package/esm2022/lib/property-editor/editors/selection-editor/selection.module.mjs +22 -0
- package/esm2022/lib/property-editor/editors/switch-editor/number.editor.mjs +30 -0
- package/esm2022/lib/property-editor/editors/switch-editor/number.module.mjs +25 -0
- package/esm2022/lib/property-editor/editors/text-editor/text.editor.mjs +36 -0
- package/esm2022/lib/property-editor/editors/text-editor/text.module.mjs +24 -0
- package/esm2022/lib/property-editor/editors/textarea-editor/textarea.editor.mjs +35 -0
- package/esm2022/lib/property-editor/editors/textarea-editor/textarea.module.mjs +24 -0
- package/esm2022/lib/property-editor/editors/time-editor/time.editor.mjs +47 -0
- package/esm2022/lib/property-editor/editors/time-editor/time.module.mjs +24 -0
- package/esm2022/lib/property-editor/property-editor-renderer.directive.mjs +167 -0
- package/esm2022/lib/property-editor/property-editor.class.mjs +108 -0
- package/esm2022/lib/property-editor/property-editor.module.mjs +194 -0
- package/esm2022/lib/query-builder/query-builder-group.component.mjs +129 -0
- package/esm2022/lib/query-builder/query-builder-popup/query-builder-popup.component.mjs +177 -0
- package/esm2022/lib/query-builder/query-builder-rule.component.mjs +428 -0
- package/esm2022/lib/query-builder/query-builder.class.mjs +42 -0
- package/esm2022/lib/query-builder/query-builder.component.mjs +92 -0
- package/esm2022/lib/query-builder/query-builder.module.mjs +62 -0
- package/esm2022/lib/query-builder/query-builder.service.mjs +199 -0
- package/esm2022/lib/search-bar/search-bar.component.mjs +293 -0
- package/esm2022/lib/search-bar/search-bar.module.mjs +61 -0
- package/esm2022/lib/searchbox/searchbox.component.mjs +82 -0
- package/esm2022/lib/searchbox/searchbox.module.mjs +24 -0
- package/esm2022/lib/selectbox/selectbox.component.mjs +1025 -0
- package/esm2022/lib/selectbox/selectbox.module.mjs +44 -0
- package/esm2022/lib/selectbox/selectbox2.component.mjs +617 -0
- package/esm2022/lib/selection-list/selection-list.component.mjs +113 -0
- package/esm2022/lib/selection-list/selection-list.module.mjs +21 -0
- package/esm2022/lib/switch/switch.component.mjs +55 -0
- package/esm2022/lib/switch/switch.module.mjs +20 -0
- package/esm2022/lib/tab-page/tab-page-Renderer.component.mjs +75 -0
- package/esm2022/lib/tab-page/tab-page-host.component.mjs +124 -0
- package/esm2022/lib/tab-page/tab-page.module.mjs +21 -0
- package/esm2022/lib/tab-page/tab-page.service.mjs +158 -0
- package/esm2022/lib/tab-strip/tab-strip.component.mjs +38 -0
- package/esm2022/lib/tab-strip/tab-strip.module.mjs +19 -0
- package/esm2022/lib/tab-view/dynamic-tabs.directive.mjs +25 -0
- package/esm2022/lib/tab-view/tab-view.component.mjs +110 -0
- package/esm2022/lib/tab-view/tab-view.module.mjs +21 -0
- package/esm2022/lib/tab-view/tab.component.mjs +33 -0
- package/esm2022/lib/textarea/textarea.component.mjs +27 -0
- package/esm2022/lib/textarea/textarea.module.mjs +21 -0
- package/esm2022/lib/textbox/textbox.component.mjs +42 -0
- package/esm2022/lib/textbox/textbox.module.mjs +36 -0
- package/esm2022/lib/time-picker/time-picker.component.mjs +1104 -0
- package/esm2022/lib/time-picker/time-picker.module.mjs +34 -0
- package/esm2022/lib/toast/toast-message/toast-message.component.mjs +76 -0
- package/esm2022/lib/toast/toast-wrapper/toast-wrapper.component.mjs +13 -0
- package/esm2022/lib/toast/toast.module.mjs +21 -0
- package/esm2022/lib/toast/toast.service.mjs +45 -0
- package/esm2022/lib/toolbar/group-button/toolbar-group-button.component.mjs +77 -0
- package/esm2022/lib/toolbar/menu/toolbar-menu.component.mjs +62 -0
- package/esm2022/lib/toolbar/search/toolbar-search.component.mjs +56 -0
- package/esm2022/lib/toolbar/title/toolbar-title.component.mjs +37 -0
- package/esm2022/lib/toolbar/toolbar-item.mjs +4 -0
- package/esm2022/lib/toolbar/toolbar.component.mjs +13 -0
- package/esm2022/lib/toolbar/toolbar.module.mjs +40 -0
- package/esm2022/lib/tooltip/tooltip.directive.mjs +104 -0
- package/esm2022/lib/tooltip/tooltip.module.mjs +19 -0
- package/esm2022/lib/tree-side-menu/tree-side-menu.component.mjs +697 -0
- package/esm2022/lib/tree-side-menu/tree-side-menu.module.mjs +33 -0
- package/esm2022/lib/tree-view/tree-view.component.mjs +854 -0
- package/esm2022/lib/tree-view/tree-view.module.mjs +22 -0
- package/esm2022/lib/upload-file/upload-file.component.mjs +218 -0
- package/esm2022/lib/upload-file/upload-file.events.mjs +2 -0
- package/esm2022/lib/upload-file/upload-file.module.mjs +24 -0
- package/esm2022/lib/validation/validation-form.component.mjs +68 -0
- package/esm2022/lib/validation/validation-rule.widget.mjs +114 -0
- package/esm2022/lib/validation/validation.class.mjs +2 -0
- package/esm2022/lib/validation/validation.component.mjs +89 -0
- package/esm2022/lib/validation/validation.module.mjs +34 -0
- package/{fesm2020 → fesm2022}/acorex-components.mjs +3987 -3087
- package/fesm2022/acorex-components.mjs.map +1 -0
- package/lib/accordion/accordion.component.d.ts +1 -1
- package/lib/base/base-page.class.d.ts +2 -2
- package/lib/base/element.class.d.ts +6 -6
- package/lib/button/button.component.d.ts +1 -1
- package/lib/calendar/calendar-box/calendar-box.component.d.ts +6 -6
- package/lib/calendar/scheduler/scheduler-views.property.d.ts +2 -2
- package/lib/calendar/scheduler/scheduler.class.d.ts +1 -1
- package/lib/calendar/scheduler/scheduler.component.d.ts +1 -1
- package/lib/calendar/scheduler/toolbars/scheduler-toolbar-navigator.d.ts +1 -1
- package/lib/calendar/scheduler/toolbars/scheduler-toolbar-views.d.ts +1 -1
- package/lib/calendar/scheduler/views/agenda/scheduler-agenda-view.component.d.ts +1 -1
- package/lib/calendar/scheduler/views/daytime/scheduler-daytime-view.component.d.ts +1 -1
- package/lib/calendar/scheduler/views/month/scheduler-month-view.component.d.ts +1 -1
- package/lib/calendar/scheduler/views/scheduler-view.component.d.ts +1 -1
- package/lib/calendar/scheduler/views/timeline/scheduler-timeline-view.component.d.ts +1 -1
- package/lib/checkbox/checkbox.component.d.ts +1 -1
- package/lib/color-picker/color-box/color-box.component.d.ts +1 -1
- package/lib/color-picker/color-picker.component.d.ts +1 -1
- package/lib/context-menu/context-menu.component.d.ts +1 -1
- package/lib/context-menu/context-menu.directive.d.ts +3 -3
- package/lib/data-filter/columns/filter-column-date.component.d.ts +1 -1
- package/lib/data-filter/columns/filter-column-number.component.d.ts +1 -1
- package/lib/data-filter/columns/filter-column-selection.component.d.ts +1 -1
- package/lib/data-filter/columns/filter-column-string.component.d.ts +1 -1
- package/lib/data-filter/filter-panel/filter-panel.component.d.ts +1 -1
- package/lib/data-filter/filter.class.d.ts +1 -1
- package/lib/data-filter/toolbar/filter-toolbar.component.d.ts +1 -1
- package/lib/data-list/core/data-list.component.d.ts +1 -1
- package/lib/data-list/list/list.component.d.ts +1 -1
- package/lib/data-list/list/toolbar-list-view.component.d.ts +2 -2
- package/lib/data-source/datasource.component.d.ts +1 -1
- package/lib/date-picker/date-picker.component.d.ts +1 -1
- package/lib/date-picker/date-picker.module.d.ts +2 -2
- package/lib/dialog/dialog.component.d.ts +1 -1
- package/lib/drawer/content.component.d.ts +1 -1
- package/lib/drawer/drawer-container.component.d.ts +1 -1
- package/lib/drawer/drawer.component.d.ts +3 -3
- package/lib/dropdown/dropdown.component.d.ts +1 -1
- package/lib/fieldset/fieldset.component.d.ts +1 -1
- package/lib/form-group/form-group.component.d.ts +1 -1
- package/lib/label/label.component.d.ts +1 -1
- package/lib/loading/loading-indicator.component.d.ts +1 -1
- package/lib/loading/loading-panel.component.d.ts +1 -1
- package/lib/menu/menu-item.component.d.ts +1 -1
- package/lib/menu/menu.component.d.ts +1 -1
- package/lib/menu/menu2.component.d.ts +1 -1
- package/lib/number-box/number-box.component.d.ts +1 -1
- package/lib/page/content.component.d.ts +1 -1
- package/lib/page/footer.component.d.ts +1 -1
- package/lib/page/page.component.d.ts +1 -1
- package/lib/panel-box/panel-box.component.d.ts +1 -1
- package/lib/password-box/password-box.component.d.ts +1 -1
- package/lib/popover/popover.component.d.ts +1 -1
- package/lib/popup/popup.component.d.ts +1 -1
- package/lib/progress-bar/progress-bar.component.d.ts +1 -1
- package/lib/property-editor/editors/check-editor/check-editor.d.ts +1 -1
- package/lib/property-editor/editors/color-editor/color.editor.d.ts +1 -1
- package/lib/property-editor/editors/column-editor/column.editor.d.ts +1 -1
- package/lib/property-editor/editors/conditional-color-editor/conditional-color.editor.d.ts +1 -1
- package/lib/property-editor/editors/date-editor/date.editor.d.ts +1 -1
- package/lib/property-editor/editors/number-editor/number.editor.d.ts +1 -1
- package/lib/property-editor/editors/range-editor/range.editor.d.ts +1 -1
- package/lib/property-editor/editors/searchbar-selectbox-editor/searchbar-selectbox-editor.d.ts +1 -1
- package/lib/property-editor/editors/selectbox-editor/selectbox.editor.d.ts +1 -1
- package/lib/property-editor/editors/selection-editor/selection-editor.d.ts +1 -1
- package/lib/property-editor/editors/switch-editor/number.editor.d.ts +1 -1
- package/lib/property-editor/editors/text-editor/text.editor.d.ts +1 -1
- package/lib/property-editor/editors/textarea-editor/textarea.editor.d.ts +1 -1
- package/lib/property-editor/editors/time-editor/time.editor.d.ts +1 -1
- package/lib/property-editor/property-editor-renderer.directive.d.ts +1 -1
- package/lib/property-editor/property-editor.class.d.ts +3 -3
- package/lib/query-builder/query-builder-group.component.d.ts +1 -1
- package/lib/query-builder/query-builder-popup/query-builder-popup.component.d.ts +1 -1
- package/lib/query-builder/query-builder-rule.component.d.ts +3 -3
- package/lib/query-builder/query-builder.class.d.ts +4 -4
- package/lib/query-builder/query-builder.component.d.ts +1 -1
- package/lib/search-bar/search-bar.component.d.ts +1 -1
- package/lib/searchbox/searchbox.component.d.ts +1 -1
- package/lib/selectbox/selectbox.component.d.ts +1 -1
- package/lib/selectbox/selectbox2.component.d.ts +1 -1
- package/lib/selection-list/selection-list.component.d.ts +2 -2
- package/lib/switch/switch.component.d.ts +1 -1
- package/lib/tab-page/tab-page-Renderer.component.d.ts +1 -1
- package/lib/tab-page/tab-page-host.component.d.ts +1 -1
- package/lib/tab-strip/tab-strip.component.d.ts +1 -1
- package/lib/tab-view/dynamic-tabs.directive.d.ts +1 -1
- package/lib/tab-view/tab-view.component.d.ts +1 -1
- package/lib/tab-view/tab.component.d.ts +1 -1
- package/lib/textarea/textarea.component.d.ts +1 -1
- package/lib/textbox/textbox.component.d.ts +1 -1
- package/lib/textbox/textbox.module.d.ts +2 -2
- package/lib/time-picker/time-picker.component.d.ts +1 -1
- package/lib/time-picker/time-picker.module.d.ts +2 -2
- package/lib/toast/toast-message/toast-message.component.d.ts +1 -1
- package/lib/toast/toast-wrapper/toast-wrapper.component.d.ts +1 -1
- package/lib/toolbar/group-button/toolbar-group-button.component.d.ts +1 -1
- package/lib/toolbar/menu/toolbar-menu.component.d.ts +1 -1
- package/lib/toolbar/search/toolbar-search.component.d.ts +1 -1
- package/lib/toolbar/title/toolbar-title.component.d.ts +1 -1
- package/lib/toolbar/toolbar.component.d.ts +1 -1
- package/lib/tooltip/tooltip.directive.d.ts +1 -1
- package/lib/tree-side-menu/tree-side-menu.component.d.ts +1 -1
- package/lib/tree-view/tree-view.component.d.ts +1 -1
- package/lib/upload-file/upload-file.component.d.ts +1 -1
- package/lib/validation/validation-form.component.d.ts +1 -1
- package/lib/validation/validation-rule.widget.d.ts +1 -1
- package/lib/validation/validation.class.d.ts +1 -1
- package/lib/validation/validation.component.d.ts +1 -1
- package/package.json +15 -20
- package/acorex-components.d.ts +0 -5
- package/esm2020/acorex-components.mjs +0 -5
- package/esm2020/lib/accordion/accordion.component.mjs +0 -44
- package/esm2020/lib/accordion/accordion.module.mjs +0 -20
- package/esm2020/lib/base/base-page.class.mjs +0 -94
- package/esm2020/lib/base/components.class.mjs +0 -17
- package/esm2020/lib/base/element.class.mjs +0 -294
- package/esm2020/lib/base/events.class.mjs +0 -11
- package/esm2020/lib/button/button.component.mjs +0 -71
- package/esm2020/lib/button/button.module.mjs +0 -21
- package/esm2020/lib/calendar/calendar-box/calendar-box.component.mjs +0 -413
- package/esm2020/lib/calendar/calendar-box/calendar-box.module.mjs +0 -22
- package/esm2020/lib/calendar/scheduler/scheduler-views.property.mjs +0 -54
- package/esm2020/lib/calendar/scheduler/scheduler.class.mjs +0 -18
- package/esm2020/lib/calendar/scheduler/scheduler.component.mjs +0 -213
- package/esm2020/lib/calendar/scheduler/scheduler.module.mjs +0 -68
- package/esm2020/lib/calendar/scheduler/toolbars/scheduler-toolbar-navigator.mjs +0 -132
- package/esm2020/lib/calendar/scheduler/toolbars/scheduler-toolbar-views.mjs +0 -37
- package/esm2020/lib/calendar/scheduler/views/agenda/scheduler-agenda-view.component.mjs +0 -47
- package/esm2020/lib/calendar/scheduler/views/daytime/scheduler-daytime-view.component.mjs +0 -95
- package/esm2020/lib/calendar/scheduler/views/month/scheduler-month-view.component.mjs +0 -204
- package/esm2020/lib/calendar/scheduler/views/scheduler-view.component.mjs +0 -99
- package/esm2020/lib/calendar/scheduler/views/timeline/scheduler-timeline-view.component.mjs +0 -77
- package/esm2020/lib/checkbox/checkbox.component.mjs +0 -98
- package/esm2020/lib/checkbox/checkbox.module.mjs +0 -20
- package/esm2020/lib/color-picker/color-box/color-box.component.mjs +0 -422
- package/esm2020/lib/color-picker/color-picker.component.mjs +0 -82
- package/esm2020/lib/color-picker/color-picker.module.mjs +0 -24
- package/esm2020/lib/context-menu/context-menu.component.mjs +0 -65
- package/esm2020/lib/context-menu/context-menu.directive.mjs +0 -135
- package/esm2020/lib/context-menu/context-menu.module.mjs +0 -20
- package/esm2020/lib/data-filter/columns/filter-column-date.component.mjs +0 -138
- package/esm2020/lib/data-filter/columns/filter-column-number.component.mjs +0 -117
- package/esm2020/lib/data-filter/columns/filter-column-selection.component.mjs +0 -74
- package/esm2020/lib/data-filter/columns/filter-column-string.component.mjs +0 -117
- package/esm2020/lib/data-filter/filter-panel/filter-panel.component.mjs +0 -258
- package/esm2020/lib/data-filter/filter.class.mjs +0 -44
- package/esm2020/lib/data-filter/filter.module.mjs +0 -90
- package/esm2020/lib/data-filter/toolbar/filter-toolbar.component.mjs +0 -166
- package/esm2020/lib/data-list/core/data-list.component.mjs +0 -40
- package/esm2020/lib/data-list/list/list.component.mjs +0 -124
- package/esm2020/lib/data-list/list/list.module.mjs +0 -22
- package/esm2020/lib/data-list/list/toolbar-list-view.component.mjs +0 -85
- package/esm2020/lib/data-source/datasource.component.mjs +0 -47
- package/esm2020/lib/data-source/datasource.module.mjs +0 -18
- package/esm2020/lib/data-source/read-param.mjs +0 -5
- package/esm2020/lib/date-picker/date-picker.component.mjs +0 -702
- package/esm2020/lib/date-picker/date-picker.module.mjs +0 -25
- package/esm2020/lib/dialog/dialog.component.mjs +0 -24
- package/esm2020/lib/dialog/dialog.module.mjs +0 -21
- package/esm2020/lib/dialog/dialog.service.mjs +0 -150
- package/esm2020/lib/drawer/content.component.mjs +0 -18
- package/esm2020/lib/drawer/drawer-container.component.mjs +0 -36
- package/esm2020/lib/drawer/drawer.component.mjs +0 -142
- package/esm2020/lib/drawer/drawer.module.mjs +0 -23
- package/esm2020/lib/dropdown/dropdown.component.mjs +0 -176
- package/esm2020/lib/dropdown/dropdown.module.mjs +0 -26
- package/esm2020/lib/fieldset/fieldset.component.mjs +0 -59
- package/esm2020/lib/fieldset/fieldset.module.mjs +0 -19
- package/esm2020/lib/form-group/form-group.component.mjs +0 -34
- package/esm2020/lib/form-group/form-group.module.mjs +0 -21
- package/esm2020/lib/label/label.component.mjs +0 -19
- package/esm2020/lib/label/label.module.mjs +0 -21
- package/esm2020/lib/loading/loading-indicator.component.mjs +0 -17
- package/esm2020/lib/loading/loading-panel.component.mjs +0 -44
- package/esm2020/lib/loading/loading.module.mjs +0 -21
- package/esm2020/lib/loading/loading.service.mjs +0 -45
- package/esm2020/lib/menu/menu-item.component.mjs +0 -47
- package/esm2020/lib/menu/menu.component.mjs +0 -86
- package/esm2020/lib/menu/menu.module.mjs +0 -22
- package/esm2020/lib/menu/menu2.component.mjs +0 -96
- package/esm2020/lib/number-box/number-box.component.mjs +0 -622
- package/esm2020/lib/number-box/number-box.module.mjs +0 -21
- package/esm2020/lib/page/content.component.mjs +0 -32
- package/esm2020/lib/page/footer.component.mjs +0 -19
- package/esm2020/lib/page/page.component.mjs +0 -53
- package/esm2020/lib/page/page.module.mjs +0 -22
- package/esm2020/lib/panel-box/panel-box.component.mjs +0 -88
- package/esm2020/lib/panel-box/panel-box.module.mjs +0 -19
- package/esm2020/lib/password-box/password-box.component.mjs +0 -31
- package/esm2020/lib/password-box/password-box.module.mjs +0 -23
- package/esm2020/lib/popover/custom-cdk-overlay.service.mjs +0 -48
- package/esm2020/lib/popover/overlay.service.mjs +0 -91
- package/esm2020/lib/popover/popover.component.mjs +0 -133
- package/esm2020/lib/popover/popover.module.mjs +0 -19
- package/esm2020/lib/popup/popup.component.mjs +0 -147
- package/esm2020/lib/popup/popup.module.mjs +0 -25
- package/esm2020/lib/popup/popup.service.mjs +0 -93
- package/esm2020/lib/progress-bar/progress-bar.component.mjs +0 -19
- package/esm2020/lib/progress-bar/progress-bar.module.mjs +0 -19
- package/esm2020/lib/property-editor/editors/check-editor/check-editor.mjs +0 -61
- package/esm2020/lib/property-editor/editors/check-editor/check.module.mjs +0 -22
- package/esm2020/lib/property-editor/editors/color-editor/color.editor.mjs +0 -38
- package/esm2020/lib/property-editor/editors/color-editor/color.module.mjs +0 -24
- package/esm2020/lib/property-editor/editors/column-editor/column.editor.mjs +0 -115
- package/esm2020/lib/property-editor/editors/column-editor/column.module.mjs +0 -32
- package/esm2020/lib/property-editor/editors/conditional-color-editor/conditional-color.editor.mjs +0 -211
- package/esm2020/lib/property-editor/editors/conditional-color-editor/conditional-color.module.mjs +0 -78
- package/esm2020/lib/property-editor/editors/date-editor/date.editor.mjs +0 -51
- package/esm2020/lib/property-editor/editors/date-editor/date.module.mjs +0 -24
- package/esm2020/lib/property-editor/editors/number-editor/number.editor.mjs +0 -63
- package/esm2020/lib/property-editor/editors/number-editor/number.module.mjs +0 -24
- package/esm2020/lib/property-editor/editors/range-editor/range.editor.mjs +0 -140
- package/esm2020/lib/property-editor/editors/range-editor/range.module.mjs +0 -61
- package/esm2020/lib/property-editor/editors/searchbar-selectbox-editor/searchbar-selectbox-editor.mjs +0 -72
- package/esm2020/lib/property-editor/editors/selectbox-editor/selectbox.editor.mjs +0 -71
- package/esm2020/lib/property-editor/editors/selectbox-editor/selectbox.module.mjs +0 -25
- package/esm2020/lib/property-editor/editors/selection-editor/selection-editor.mjs +0 -69
- package/esm2020/lib/property-editor/editors/selection-editor/selection.module.mjs +0 -22
- package/esm2020/lib/property-editor/editors/switch-editor/number.editor.mjs +0 -29
- package/esm2020/lib/property-editor/editors/switch-editor/number.module.mjs +0 -25
- package/esm2020/lib/property-editor/editors/text-editor/text.editor.mjs +0 -32
- package/esm2020/lib/property-editor/editors/text-editor/text.module.mjs +0 -24
- package/esm2020/lib/property-editor/editors/textarea-editor/textarea.editor.mjs +0 -32
- package/esm2020/lib/property-editor/editors/textarea-editor/textarea.module.mjs +0 -24
- package/esm2020/lib/property-editor/editors/time-editor/time.editor.mjs +0 -43
- package/esm2020/lib/property-editor/editors/time-editor/time.module.mjs +0 -24
- package/esm2020/lib/property-editor/property-editor-renderer.directive.mjs +0 -157
- package/esm2020/lib/property-editor/property-editor.class.mjs +0 -102
- package/esm2020/lib/property-editor/property-editor.module.mjs +0 -196
- package/esm2020/lib/query-builder/query-builder-group.component.mjs +0 -124
- package/esm2020/lib/query-builder/query-builder-popup/query-builder-popup.component.mjs +0 -172
- package/esm2020/lib/query-builder/query-builder-rule.component.mjs +0 -399
- package/esm2020/lib/query-builder/query-builder.class.mjs +0 -20
- package/esm2020/lib/query-builder/query-builder.component.mjs +0 -87
- package/esm2020/lib/query-builder/query-builder.module.mjs +0 -62
- package/esm2020/lib/query-builder/query-builder.service.mjs +0 -197
- package/esm2020/lib/search-bar/search-bar.component.mjs +0 -286
- package/esm2020/lib/search-bar/search-bar.module.mjs +0 -63
- package/esm2020/lib/searchbox/searchbox.component.mjs +0 -79
- package/esm2020/lib/searchbox/searchbox.module.mjs +0 -24
- package/esm2020/lib/selectbox/selectbox.component.mjs +0 -961
- package/esm2020/lib/selectbox/selectbox.module.mjs +0 -44
- package/esm2020/lib/selectbox/selectbox2.component.mjs +0 -574
- package/esm2020/lib/selection-list/selection-list.component.mjs +0 -108
- package/esm2020/lib/selection-list/selection-list.module.mjs +0 -21
- package/esm2020/lib/switch/switch.component.mjs +0 -51
- package/esm2020/lib/switch/switch.module.mjs +0 -20
- package/esm2020/lib/tab-page/tab-page-Renderer.component.mjs +0 -71
- package/esm2020/lib/tab-page/tab-page-host.component.mjs +0 -114
- package/esm2020/lib/tab-page/tab-page.module.mjs +0 -21
- package/esm2020/lib/tab-page/tab-page.service.mjs +0 -160
- package/esm2020/lib/tab-strip/tab-strip.component.mjs +0 -36
- package/esm2020/lib/tab-strip/tab-strip.module.mjs +0 -19
- package/esm2020/lib/tab-view/dynamic-tabs.directive.mjs +0 -24
- package/esm2020/lib/tab-view/tab-view.component.mjs +0 -105
- package/esm2020/lib/tab-view/tab-view.module.mjs +0 -21
- package/esm2020/lib/tab-view/tab.component.mjs +0 -30
- package/esm2020/lib/textarea/textarea.component.mjs +0 -26
- package/esm2020/lib/textarea/textarea.module.mjs +0 -21
- package/esm2020/lib/textbox/textbox.component.mjs +0 -39
- package/esm2020/lib/textbox/textbox.module.mjs +0 -24
- package/esm2020/lib/time-picker/time-picker.component.mjs +0 -943
- package/esm2020/lib/time-picker/time-picker.module.mjs +0 -22
- package/esm2020/lib/toast/toast-message/toast-message.component.mjs +0 -74
- package/esm2020/lib/toast/toast-wrapper/toast-wrapper.component.mjs +0 -13
- package/esm2020/lib/toast/toast.module.mjs +0 -21
- package/esm2020/lib/toast/toast.service.mjs +0 -44
- package/esm2020/lib/toolbar/group-button/toolbar-group-button.component.mjs +0 -78
- package/esm2020/lib/toolbar/menu/toolbar-menu.component.mjs +0 -57
- package/esm2020/lib/toolbar/search/toolbar-search.component.mjs +0 -54
- package/esm2020/lib/toolbar/title/toolbar-title.component.mjs +0 -47
- package/esm2020/lib/toolbar/toolbar-item.mjs +0 -6
- package/esm2020/lib/toolbar/toolbar.component.mjs +0 -13
- package/esm2020/lib/toolbar/toolbar.module.mjs +0 -40
- package/esm2020/lib/tooltip/tooltip.directive.mjs +0 -100
- package/esm2020/lib/tooltip/tooltip.module.mjs +0 -19
- package/esm2020/lib/tree-side-menu/tree-side-menu.component.mjs +0 -646
- package/esm2020/lib/tree-side-menu/tree-side-menu.module.mjs +0 -35
- package/esm2020/lib/tree-view/tree-view.component.mjs +0 -775
- package/esm2020/lib/tree-view/tree-view.module.mjs +0 -22
- package/esm2020/lib/upload-file/upload-file.component.mjs +0 -208
- package/esm2020/lib/upload-file/upload-file.events.mjs +0 -2
- package/esm2020/lib/upload-file/upload-file.module.mjs +0 -24
- package/esm2020/lib/validation/validation-form.component.mjs +0 -65
- package/esm2020/lib/validation/validation-rule.widget.mjs +0 -111
- package/esm2020/lib/validation/validation.class.mjs +0 -2
- package/esm2020/lib/validation/validation.component.mjs +0 -89
- package/esm2020/lib/validation/validation.module.mjs +0 -34
- package/esm2020/public-api.mjs +0 -158
- package/fesm2015/acorex-components.mjs +0 -16012
- package/fesm2015/acorex-components.mjs.map +0 -1
- package/fesm2020/acorex-components.mjs.map +0 -1
- /package/{public-api.d.ts → index.d.ts} +0 -0
@@ -0,0 +1,158 @@
|
|
1
|
+
import { Injectable } from '@angular/core';
|
2
|
+
import { Subject } from 'rxjs';
|
3
|
+
import { AXHtmlUtil } from '@acorex/core';
|
4
|
+
import { TAB_META_KEY, AXPageClosedPromise } from '../base/base-page.class';
|
5
|
+
import * as i0 from "@angular/core";
|
6
|
+
export class AXTabPageService {
|
7
|
+
tabs = new Array();
|
8
|
+
opened = new Subject();
|
9
|
+
activated = new Subject();
|
10
|
+
closed = new Subject();
|
11
|
+
changed = new Subject();
|
12
|
+
constructor() { }
|
13
|
+
open(arg1, arg2, arg3) {
|
14
|
+
let newTab;
|
15
|
+
if (typeof arg1 === 'object') {
|
16
|
+
const options = Object.assign({ closable: true }, arg1);
|
17
|
+
newTab = {
|
18
|
+
title: options.title,
|
19
|
+
closable: options.closable,
|
20
|
+
content: options.content,
|
21
|
+
data: options.data,
|
22
|
+
pinned: options.pinned
|
23
|
+
};
|
24
|
+
}
|
25
|
+
else {
|
26
|
+
newTab = {
|
27
|
+
title: arg2,
|
28
|
+
closable: true,
|
29
|
+
content: arg1,
|
30
|
+
data: arg3,
|
31
|
+
};
|
32
|
+
}
|
33
|
+
newTab[TAB_META_KEY] = {};
|
34
|
+
newTab[TAB_META_KEY].uid = AXHtmlUtil.getUID();
|
35
|
+
if (newTab?.data) {
|
36
|
+
newTab[TAB_META_KEY].oldData = JSON.parse(JSON.stringify(newTab.data));
|
37
|
+
}
|
38
|
+
//
|
39
|
+
const existTab = this.tabs.find((c) => newTab[TAB_META_KEY].uid && c[TAB_META_KEY].uid === newTab[TAB_META_KEY].uid) ||
|
40
|
+
this.findExistTab(newTab.content, newTab.data);
|
41
|
+
//
|
42
|
+
if (existTab) {
|
43
|
+
return Promise.resolve(this.active(existTab));
|
44
|
+
}
|
45
|
+
this.tabs.push(newTab);
|
46
|
+
this.tabs
|
47
|
+
.filter((c) => c[TAB_META_KEY].uid !== newTab[TAB_META_KEY].uid)
|
48
|
+
.forEach((t) => {
|
49
|
+
t[TAB_META_KEY].active = false;
|
50
|
+
});
|
51
|
+
this.opened.next(newTab);
|
52
|
+
this.active(newTab);
|
53
|
+
const promise = new AXPageClosedPromise((resolve) => {
|
54
|
+
newTab[TAB_META_KEY].close = (e) => {
|
55
|
+
if (resolve) {
|
56
|
+
delete e.cancel;
|
57
|
+
resolve(e);
|
58
|
+
}
|
59
|
+
};
|
60
|
+
});
|
61
|
+
promise['closeMethod'] = () => { this.close(newTab); };
|
62
|
+
return promise;
|
63
|
+
}
|
64
|
+
close(tab) {
|
65
|
+
const e = { cancel: false };
|
66
|
+
const closingFunc = tab[TAB_META_KEY].component?.onClosing;
|
67
|
+
if (closingFunc) {
|
68
|
+
const res = closingFunc(e);
|
69
|
+
if (res instanceof Promise) {
|
70
|
+
res.then(() => {
|
71
|
+
if (e == null || e.cancel !== true) {
|
72
|
+
this.doCloseAction(tab, e);
|
73
|
+
}
|
74
|
+
});
|
75
|
+
}
|
76
|
+
else {
|
77
|
+
if (e == null || e.cancel !== true) {
|
78
|
+
this.doCloseAction(tab, e);
|
79
|
+
}
|
80
|
+
}
|
81
|
+
}
|
82
|
+
else {
|
83
|
+
this.doCloseAction(tab, e);
|
84
|
+
}
|
85
|
+
}
|
86
|
+
doCloseAction(tab, e) {
|
87
|
+
const currentTab = this.tabs.find((c) => c[TAB_META_KEY].uid == tab[TAB_META_KEY].uid);
|
88
|
+
if (!currentTab) {
|
89
|
+
return;
|
90
|
+
}
|
91
|
+
const index = this.tabs.indexOf(currentTab);
|
92
|
+
this.tabs = this.tabs.filter(c => c != currentTab);
|
93
|
+
const prev = index > 0 ? this.tabs[index - 1] : this.tabs[0];
|
94
|
+
if (prev) {
|
95
|
+
this.active(prev);
|
96
|
+
}
|
97
|
+
this.closed.next(currentTab);
|
98
|
+
this.changed.next(null);
|
99
|
+
if (currentTab[TAB_META_KEY].close) {
|
100
|
+
currentTab[TAB_META_KEY].close(e);
|
101
|
+
}
|
102
|
+
}
|
103
|
+
active(arg1) {
|
104
|
+
if (!arg1) {
|
105
|
+
return {
|
106
|
+
sender: this.tabs.find((c) => c[TAB_META_KEY].active === true)
|
107
|
+
};
|
108
|
+
}
|
109
|
+
if (typeof arg1 === 'object') {
|
110
|
+
const tab = arg1;
|
111
|
+
tab[TAB_META_KEY].active = true;
|
112
|
+
this.tabs
|
113
|
+
.filter((c) => c[TAB_META_KEY].uid !== tab[TAB_META_KEY].uid)
|
114
|
+
.forEach((t) => {
|
115
|
+
t[TAB_META_KEY].active = false;
|
116
|
+
});
|
117
|
+
this.activated.next(tab);
|
118
|
+
this.changed.next(null);
|
119
|
+
return {
|
120
|
+
sender: tab
|
121
|
+
};
|
122
|
+
}
|
123
|
+
else if (typeof arg1 === 'string') {
|
124
|
+
const tab = this.tabs.find((c) => c[TAB_META_KEY].uid === arg1);
|
125
|
+
if (tab) {
|
126
|
+
return this.active(tab);
|
127
|
+
}
|
128
|
+
return null;
|
129
|
+
}
|
130
|
+
}
|
131
|
+
clear() {
|
132
|
+
this.tabs.forEach((c) => {
|
133
|
+
this.close(c);
|
134
|
+
});
|
135
|
+
this.tabs = [];
|
136
|
+
}
|
137
|
+
findExistTab(component, data) {
|
138
|
+
try {
|
139
|
+
if (!data) {
|
140
|
+
data = {};
|
141
|
+
}
|
142
|
+
const result = this.tabs.find((c) => c.content === component &&
|
143
|
+
((!c.data) ||
|
144
|
+
JSON.parse(JSON.stringify(data)) === JSON.parse(JSON.stringify(c.data)) || JSON.stringify(data) === JSON.stringify(c[TAB_META_KEY].oldData)));
|
145
|
+
return result;
|
146
|
+
}
|
147
|
+
catch (error) {
|
148
|
+
return null;
|
149
|
+
}
|
150
|
+
}
|
151
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: AXTabPageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
152
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: AXTabPageService, providedIn: 'root' });
|
153
|
+
}
|
154
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: AXTabPageService, decorators: [{
|
155
|
+
type: Injectable,
|
156
|
+
args: [{ providedIn: 'root' }]
|
157
|
+
}], ctorParameters: function () { return []; } });
|
158
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLXBhZ2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9zcmMvbGliL3RhYi1wYWdlL3RhYi1wYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBZ0IsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzFDLE9BQU8sRUFBK0IsWUFBWSxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7O0FBYXpHLE1BQU0sT0FBTyxnQkFBZ0I7SUFJM0IsSUFBSSxHQUFnQixJQUFJLEtBQUssRUFBYSxDQUFDO0lBQzNDLE1BQU0sR0FBRyxJQUFJLE9BQU8sRUFBYSxDQUFDO0lBQ2xDLFNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBYSxDQUFDO0lBQ3JDLE1BQU0sR0FBRyxJQUFJLE9BQU8sRUFBYSxDQUFDO0lBQ2xDLE9BQU8sR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO0lBSXhCLGdCQUFnQixDQUFDO0lBTWpCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSyxFQUFFLElBQUs7UUFDckIsSUFBSSxNQUFpQixDQUFDO1FBQ3RCLElBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxFQUFFO1lBQzVCLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDeEQsTUFBTSxHQUFHO2dCQUNQLEtBQUssRUFBRSxPQUFPLENBQUMsS0FBSztnQkFDcEIsUUFBUSxFQUFFLE9BQU8sQ0FBQyxRQUFRO2dCQUMxQixPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU87Z0JBQ3hCLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSTtnQkFDbEIsTUFBTSxFQUFFLE9BQU8sQ0FBQyxNQUFNO2FBQ3ZCLENBQUM7U0FDSDthQUFNO1lBQ0wsTUFBTSxHQUFHO2dCQUNQLEtBQUssRUFBRSxJQUFJO2dCQUNYLFFBQVEsRUFBRSxJQUFJO2dCQUNkLE9BQU8sRUFBRSxJQUFJO2dCQUNiLElBQUksRUFBRSxJQUFJO2FBQ1gsQ0FBQztTQUNIO1FBQ0QsTUFBTSxDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUMxQixNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsR0FBRyxHQUFHLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUMvQyxJQUFJLE1BQU0sRUFBRSxJQUFJLEVBQUU7WUFDaEIsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUE7U0FDdkU7UUFDRCxFQUFFO1FBQ0YsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLEdBQUcsS0FBSyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsR0FBRyxDQUFDO1lBQ2xILElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDakQsRUFBRTtRQUNGLElBQUksUUFBUSxFQUFFO1lBQ1osT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztTQUMvQztRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxJQUFJO2FBQ04sTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsR0FBRyxLQUFLLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxHQUFHLENBQUM7YUFDL0QsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDYixDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUNqQyxDQUFDLENBQUMsQ0FBQztRQUNMLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDcEIsTUFBTSxPQUFPLEdBQUcsSUFBSSxtQkFBbUIsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ2xELE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDakMsSUFBSSxPQUFPLEVBQUU7b0JBQ1gsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDO29CQUNoQixPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQ1o7WUFDSCxDQUFDLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sQ0FBQyxhQUFhLENBQUMsR0FBRyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3ZELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxLQUFLLENBQUMsR0FBYztRQUNsQixNQUFNLENBQUMsR0FBRyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsQ0FBQztRQUM1QixNQUFNLFdBQVcsR0FBRyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQztRQUMzRCxJQUFJLFdBQVcsRUFBRTtZQUNmLE1BQU0sR0FBRyxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMzQixJQUFJLEdBQUcsWUFBWSxPQUFPLEVBQUU7Z0JBQzFCLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO29CQUNaLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLENBQUMsTUFBTSxLQUFLLElBQUksRUFBRTt3QkFDbEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7cUJBQzVCO2dCQUNILENBQUMsQ0FBQyxDQUFDO2FBQ0o7aUJBQ0k7Z0JBQ0gsSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsQ0FBQyxNQUFNLEtBQUssSUFBSSxFQUFFO29CQUNsQyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztpQkFDNUI7YUFDRjtTQUNGO2FBQU07WUFDTCxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztTQUM1QjtJQUNILENBQUM7SUFFTyxhQUFhLENBQUMsR0FBYyxFQUFFLENBQWdCO1FBQ3BELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN2RixJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ2YsT0FBTztTQUNSO1FBQ0QsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDNUMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxVQUFVLENBQUMsQ0FBQztRQUNuRCxNQUFNLElBQUksR0FBRyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM3RCxJQUFJLElBQUksRUFBRTtZQUNSLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDbkI7UUFDRCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM3QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN4QixJQUFJLFVBQVUsQ0FBQyxZQUFZLENBQUMsQ0FBQyxLQUFLLEVBQUU7WUFDbEMsVUFBVSxDQUFDLFlBQVksQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNuQztJQUNILENBQUM7SUFLRCxNQUFNLENBQUMsSUFBSztRQUNWLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDVCxPQUFPO2dCQUNMLE1BQU0sRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUM7YUFDL0QsQ0FBQTtTQUNGO1FBQ0QsSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLEVBQUU7WUFDNUIsTUFBTSxHQUFHLEdBQWMsSUFBSSxDQUFDO1lBQzVCLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1lBQ2hDLElBQUksQ0FBQyxJQUFJO2lCQUNOLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLEdBQUcsS0FBSyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUMsR0FBRyxDQUFDO2lCQUM1RCxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDYixDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztZQUNqQyxDQUFDLENBQUMsQ0FBQztZQUNMLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3pCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3hCLE9BQU87Z0JBQ0wsTUFBTSxFQUFFLEdBQUc7YUFDWixDQUFBO1NBQ0Y7YUFBTSxJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsRUFBRTtZQUNuQyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLEdBQUcsS0FBSyxJQUFJLENBQUMsQ0FBQztZQUNoRSxJQUFJLEdBQUcsRUFBRTtnQkFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDekI7WUFDRCxPQUFPLElBQUksQ0FBQztTQUNiO0lBQ0gsQ0FBQztJQUVELEtBQUs7UUFDSCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ3RCLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDaEIsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBRU8sWUFBWSxDQUFDLFNBQWMsRUFBRSxJQUFTO1FBQzVDLElBQUk7WUFDRixJQUFJLENBQUMsSUFBSSxFQUFFO2dCQUNULElBQUksR0FBRyxFQUFFLENBQUM7YUFDWDtZQUNELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FDdkMsQ0FBQyxDQUFDLE9BQU8sS0FBSyxTQUFTO2dCQUN2QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO29CQUNSLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQy9JLENBQUM7WUFDRixPQUFPLE1BQU0sQ0FBQztTQUNmO1FBQUMsT0FBTyxLQUFLLEVBQUU7WUFDZCxPQUFPLElBQUksQ0FBQztTQUNiO0lBQ0gsQ0FBQzt1R0FqS1UsZ0JBQWdCOzJHQUFoQixnQkFBZ0IsY0FESCxNQUFNOzsyRkFDbkIsZ0JBQWdCO2tCQUQ1QixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEFYSHRtbFV0aWwgfSBmcm9tICdAYWNvcmV4L2NvcmUnO1xyXG5pbXBvcnQgeyBBWFBhZ2VDbG9zaW5nLCBBWFBhZ2VSZXN1bHQsIFRBQl9NRVRBX0tFWSwgQVhQYWdlQ2xvc2VkUHJvbWlzZSB9IGZyb20gJy4uL2Jhc2UvYmFzZS1wYWdlLmNsYXNzJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQVhUYWJQYWdlIHtcclxuICB0aXRsZTogc3RyaW5nO1xyXG4gIGNvbnRlbnQ6IGFueTtcclxuICBjbG9zYWJsZT86IGJvb2xlYW47XHJcbiAgZGF0YT86IGFueTtcclxuICBwaW5uZWQ/OiBib29sZWFuO1xyXG59XHJcblxyXG5cclxuXHJcbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXHJcbmV4cG9ydCBjbGFzcyBBWFRhYlBhZ2VTZXJ2aWNlIHtcclxuXHJcblxyXG5cclxuICB0YWJzOiBBWFRhYlBhZ2VbXSA9IG5ldyBBcnJheTxBWFRhYlBhZ2U+KCk7XHJcbiAgb3BlbmVkID0gbmV3IFN1YmplY3Q8QVhUYWJQYWdlPigpO1xyXG4gIGFjdGl2YXRlZCA9IG5ldyBTdWJqZWN0PEFYVGFiUGFnZT4oKTtcclxuICBjbG9zZWQgPSBuZXcgU3ViamVjdDxBWFRhYlBhZ2U+KCk7XHJcbiAgY2hhbmdlZCA9IG5ldyBTdWJqZWN0KCk7XHJcblxyXG5cclxuXHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgb3Blbihjb250ZW50OiBhbnksIHRpdGxlOiBzdHJpbmcpOiBBWFBhZ2VDbG9zZWRQcm9taXNlO1xyXG4gIG9wZW4oY29udGVudDogYW55LCB0aXRsZTogc3RyaW5nLCBkYXRhPzogYW55KTogQVhQYWdlQ2xvc2VkUHJvbWlzZTtcclxuICBvcGVuKG9wdGlvbnM6IEFYVGFiUGFnZSk6IEFYUGFnZUNsb3NlZFByb21pc2U7XHJcblxyXG4gIG9wZW4oYXJnMSwgYXJnMj8sIGFyZzM/KSB7XHJcbiAgICBsZXQgbmV3VGFiOiBBWFRhYlBhZ2U7XHJcbiAgICBpZiAodHlwZW9mIGFyZzEgPT09ICdvYmplY3QnKSB7XHJcbiAgICAgIGNvbnN0IG9wdGlvbnMgPSBPYmplY3QuYXNzaWduKHsgY2xvc2FibGU6IHRydWUgfSwgYXJnMSk7XHJcbiAgICAgIG5ld1RhYiA9IHtcclxuICAgICAgICB0aXRsZTogb3B0aW9ucy50aXRsZSxcclxuICAgICAgICBjbG9zYWJsZTogb3B0aW9ucy5jbG9zYWJsZSxcclxuICAgICAgICBjb250ZW50OiBvcHRpb25zLmNvbnRlbnQsXHJcbiAgICAgICAgZGF0YTogb3B0aW9ucy5kYXRhLFxyXG4gICAgICAgIHBpbm5lZDogb3B0aW9ucy5waW5uZWRcclxuICAgICAgfTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIG5ld1RhYiA9IHtcclxuICAgICAgICB0aXRsZTogYXJnMixcclxuICAgICAgICBjbG9zYWJsZTogdHJ1ZSxcclxuICAgICAgICBjb250ZW50OiBhcmcxLFxyXG4gICAgICAgIGRhdGE6IGFyZzMsXHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgICBuZXdUYWJbVEFCX01FVEFfS0VZXSA9IHt9O1xyXG4gICAgbmV3VGFiW1RBQl9NRVRBX0tFWV0udWlkID0gQVhIdG1sVXRpbC5nZXRVSUQoKTtcclxuICAgIGlmIChuZXdUYWI/LmRhdGEpIHtcclxuICAgICAgbmV3VGFiW1RBQl9NRVRBX0tFWV0ub2xkRGF0YSA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkobmV3VGFiLmRhdGEpKVxyXG4gICAgfVxyXG4gICAgLy9cclxuICAgIGNvbnN0IGV4aXN0VGFiID0gdGhpcy50YWJzLmZpbmQoKGMpID0+IG5ld1RhYltUQUJfTUVUQV9LRVldLnVpZCAmJiBjW1RBQl9NRVRBX0tFWV0udWlkID09PSBuZXdUYWJbVEFCX01FVEFfS0VZXS51aWQpIHx8XHJcbiAgICAgIHRoaXMuZmluZEV4aXN0VGFiKG5ld1RhYi5jb250ZW50LCBuZXdUYWIuZGF0YSk7XHJcbiAgICAvL1xyXG4gICAgaWYgKGV4aXN0VGFiKSB7XHJcbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUodGhpcy5hY3RpdmUoZXhpc3RUYWIpKTtcclxuICAgIH1cclxuICAgIHRoaXMudGFicy5wdXNoKG5ld1RhYik7XHJcbiAgICB0aGlzLnRhYnNcclxuICAgICAgLmZpbHRlcigoYykgPT4gY1tUQUJfTUVUQV9LRVldLnVpZCAhPT0gbmV3VGFiW1RBQl9NRVRBX0tFWV0udWlkKVxyXG4gICAgICAuZm9yRWFjaCgodCkgPT4ge1xyXG4gICAgICAgIHRbVEFCX01FVEFfS0VZXS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgfSk7XHJcbiAgICB0aGlzLm9wZW5lZC5uZXh0KG5ld1RhYik7XHJcbiAgICB0aGlzLmFjdGl2ZShuZXdUYWIpO1xyXG4gICAgY29uc3QgcHJvbWlzZSA9IG5ldyBBWFBhZ2VDbG9zZWRQcm9taXNlKChyZXNvbHZlKSA9PiB7XHJcbiAgICAgIG5ld1RhYltUQUJfTUVUQV9LRVldLmNsb3NlID0gKGUpID0+IHtcclxuICAgICAgICBpZiAocmVzb2x2ZSkge1xyXG4gICAgICAgICAgZGVsZXRlIGUuY2FuY2VsO1xyXG4gICAgICAgICAgcmVzb2x2ZShlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH07XHJcbiAgICB9KTtcclxuICAgIHByb21pc2VbJ2Nsb3NlTWV0aG9kJ10gPSAoKSA9PiB7IHRoaXMuY2xvc2UobmV3VGFiKTsgfTtcclxuICAgIHJldHVybiBwcm9taXNlO1xyXG4gIH1cclxuXHJcbiAgY2xvc2UodGFiOiBBWFRhYlBhZ2UpIHtcclxuICAgIGNvbnN0IGUgPSB7IGNhbmNlbDogZmFsc2UgfTtcclxuICAgIGNvbnN0IGNsb3NpbmdGdW5jID0gdGFiW1RBQl9NRVRBX0tFWV0uY29tcG9uZW50Py5vbkNsb3Npbmc7XHJcbiAgICBpZiAoY2xvc2luZ0Z1bmMpIHtcclxuICAgICAgY29uc3QgcmVzID0gY2xvc2luZ0Z1bmMoZSk7XHJcbiAgICAgIGlmIChyZXMgaW5zdGFuY2VvZiBQcm9taXNlKSB7XHJcbiAgICAgICAgcmVzLnRoZW4oKCkgPT4ge1xyXG4gICAgICAgICAgaWYgKGUgPT0gbnVsbCB8fCBlLmNhbmNlbCAhPT0gdHJ1ZSkge1xyXG4gICAgICAgICAgICB0aGlzLmRvQ2xvc2VBY3Rpb24odGFiLCBlKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICBpZiAoZSA9PSBudWxsIHx8IGUuY2FuY2VsICE9PSB0cnVlKSB7XHJcbiAgICAgICAgICB0aGlzLmRvQ2xvc2VBY3Rpb24odGFiLCBlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZG9DbG9zZUFjdGlvbih0YWIsIGUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBkb0Nsb3NlQWN0aW9uKHRhYjogQVhUYWJQYWdlLCBlOiBBWFBhZ2VDbG9zaW5nKTogdm9pZCB7XHJcbiAgICBjb25zdCBjdXJyZW50VGFiID0gdGhpcy50YWJzLmZpbmQoKGMpID0+IGNbVEFCX01FVEFfS0VZXS51aWQgPT0gdGFiW1RBQl9NRVRBX0tFWV0udWlkKTtcclxuICAgIGlmICghY3VycmVudFRhYikge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBjb25zdCBpbmRleCA9IHRoaXMudGFicy5pbmRleE9mKGN1cnJlbnRUYWIpO1xyXG4gICAgdGhpcy50YWJzID0gdGhpcy50YWJzLmZpbHRlcihjID0+IGMgIT0gY3VycmVudFRhYik7XHJcbiAgICBjb25zdCBwcmV2ID0gaW5kZXggPiAwID8gdGhpcy50YWJzW2luZGV4IC0gMV0gOiB0aGlzLnRhYnNbMF07XHJcbiAgICBpZiAocHJldikge1xyXG4gICAgICB0aGlzLmFjdGl2ZShwcmV2KTtcclxuICAgIH1cclxuICAgIHRoaXMuY2xvc2VkLm5leHQoY3VycmVudFRhYik7XHJcbiAgICB0aGlzLmNoYW5nZWQubmV4dChudWxsKTtcclxuICAgIGlmIChjdXJyZW50VGFiW1RBQl9NRVRBX0tFWV0uY2xvc2UpIHtcclxuICAgICAgY3VycmVudFRhYltUQUJfTUVUQV9LRVldLmNsb3NlKGUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgYWN0aXZlKHRhYjogQVhUYWJQYWdlKTogQVhQYWdlUmVzdWx0O1xyXG4gIGFjdGl2ZSh1aWQ6IHN0cmluZyk6IEFYUGFnZVJlc3VsdDtcclxuICBhY3RpdmUoKTogQVhQYWdlUmVzdWx0O1xyXG4gIGFjdGl2ZShhcmcxPyk6IEFYUGFnZVJlc3VsdCB7XHJcbiAgICBpZiAoIWFyZzEpIHtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICBzZW5kZXI6IHRoaXMudGFicy5maW5kKChjKSA9PiBjW1RBQl9NRVRBX0tFWV0uYWN0aXZlID09PSB0cnVlKVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBpZiAodHlwZW9mIGFyZzEgPT09ICdvYmplY3QnKSB7XHJcbiAgICAgIGNvbnN0IHRhYiA9IDxBWFRhYlBhZ2U+YXJnMTtcclxuICAgICAgdGFiW1RBQl9NRVRBX0tFWV0uYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgdGhpcy50YWJzXHJcbiAgICAgICAgLmZpbHRlcigoYykgPT4gY1tUQUJfTUVUQV9LRVldLnVpZCAhPT0gdGFiW1RBQl9NRVRBX0tFWV0udWlkKVxyXG4gICAgICAgIC5mb3JFYWNoKCh0KSA9PiB7XHJcbiAgICAgICAgICB0W1RBQl9NRVRBX0tFWV0uYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIHRoaXMuYWN0aXZhdGVkLm5leHQodGFiKTtcclxuICAgICAgdGhpcy5jaGFuZ2VkLm5leHQobnVsbCk7XHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgc2VuZGVyOiB0YWJcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIGlmICh0eXBlb2YgYXJnMSA9PT0gJ3N0cmluZycpIHtcclxuICAgICAgY29uc3QgdGFiID0gdGhpcy50YWJzLmZpbmQoKGMpID0+IGNbVEFCX01FVEFfS0VZXS51aWQgPT09IGFyZzEpO1xyXG4gICAgICBpZiAodGFiKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYWN0aXZlKHRhYik7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjbGVhcigpOiB2b2lkIHtcclxuICAgIHRoaXMudGFicy5mb3JFYWNoKChjKSA9PiB7XHJcbiAgICAgIHRoaXMuY2xvc2UoYyk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMudGFicyA9IFtdO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBmaW5kRXhpc3RUYWIoY29tcG9uZW50OiBhbnksIGRhdGE6IGFueSk6IEFYVGFiUGFnZSB7XHJcbiAgICB0cnkge1xyXG4gICAgICBpZiAoIWRhdGEpIHtcclxuICAgICAgICBkYXRhID0ge307XHJcbiAgICAgIH1cclxuICAgICAgY29uc3QgcmVzdWx0ID0gdGhpcy50YWJzLmZpbmQoKGM6IGFueSkgPT5cclxuICAgICAgICBjLmNvbnRlbnQgPT09IGNvbXBvbmVudCAmJlxyXG4gICAgICAgICgoIWMuZGF0YSkgfHxcclxuICAgICAgICAgIEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoZGF0YSkpID09PSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGMuZGF0YSkpIHx8IEpTT04uc3RyaW5naWZ5KGRhdGEpID09PSBKU09OLnN0cmluZ2lmeShjW1RBQl9NRVRBX0tFWV0ub2xkRGF0YSkpXHJcbiAgICAgICk7XHJcbiAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
|
@@ -0,0 +1,38 @@
|
|
1
|
+
import { Component, Input, Output, EventEmitter, ElementRef } from '@angular/core';
|
2
|
+
import { AXBaseEvent } from '../base/events.class';
|
3
|
+
import * as i0 from "@angular/core";
|
4
|
+
import * as i1 from "@angular/common";
|
5
|
+
export class AXTabStripChangedEvent extends AXBaseEvent {
|
6
|
+
seledtedTab;
|
7
|
+
}
|
8
|
+
export class AXTabStripComponent {
|
9
|
+
ref;
|
10
|
+
constructor(ref) {
|
11
|
+
this.ref = ref;
|
12
|
+
}
|
13
|
+
ngOnInit() { }
|
14
|
+
items = [];
|
15
|
+
onTabChanged = new EventEmitter();
|
16
|
+
handleClick(i) {
|
17
|
+
if (!i.disable) {
|
18
|
+
this.items.forEach((c) => (c.active = false));
|
19
|
+
i.active = true;
|
20
|
+
this.onTabChanged.emit({
|
21
|
+
component: this,
|
22
|
+
seledtedTab: i,
|
23
|
+
htmlElement: this.ref.nativeElement
|
24
|
+
});
|
25
|
+
}
|
26
|
+
}
|
27
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: AXTabStripComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
28
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.0", type: AXTabStripComponent, selector: "ax-tab-strip", inputs: { items: "items" }, outputs: { onTabChanged: "onTabChanged" }, ngImport: i0, template: "<ul class=\"tab-strip-container\">\r\n <ng-container *ngFor=\"let item of items\">\r\n <li *ngIf=\"!!item.visible || item.visible == undefined\" [class.active]=\"item.active\"\r\n [class.disabled]=\"item.disable\" (click)=\"handleClick(item)\">{{item.text}}</li>\r\n </ng-container>\r\n</ul>", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
29
|
+
}
|
30
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: AXTabStripComponent, decorators: [{
|
31
|
+
type: Component,
|
32
|
+
args: [{ selector: 'ax-tab-strip', template: "<ul class=\"tab-strip-container\">\r\n <ng-container *ngFor=\"let item of items\">\r\n <li *ngIf=\"!!item.visible || item.visible == undefined\" [class.active]=\"item.active\"\r\n [class.disabled]=\"item.disable\" (click)=\"handleClick(item)\">{{item.text}}</li>\r\n </ng-container>\r\n</ul>" }]
|
33
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { items: [{
|
34
|
+
type: Input
|
35
|
+
}], onTabChanged: [{
|
36
|
+
type: Output
|
37
|
+
}] } });
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLXN0cmlwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9zcmMvbGliL3RhYi1zdHJpcC90YWItc3RyaXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3NyYy9saWIvdGFiLXN0cmlwL3RhYi1zdHJpcC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7OztBQWVuRCxNQUFNLE9BQU8sc0JBQXVCLFNBQVEsV0FBVztJQUNyRCxXQUFXLENBQWlCO0NBQzdCO0FBTUQsTUFBTSxPQUFPLG1CQUFtQjtJQUNWO0lBQXBCLFlBQW9CLEdBQWU7UUFBZixRQUFHLEdBQUgsR0FBRyxDQUFZO0lBQUcsQ0FBQztJQUV2QyxRQUFRLEtBQVUsQ0FBQztJQUduQixLQUFLLEdBQXFCLEVBQUUsQ0FBQztJQUc3QixZQUFZLEdBQXlDLElBQUksWUFBWSxFQUEwQixDQUFDO0lBRWhHLFdBQVcsQ0FBQyxDQUFpQjtRQUMzQixJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRTtZQUNkLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUM5QyxDQUFDLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztZQUNoQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQztnQkFDckIsU0FBUyxFQUFFLElBQUk7Z0JBQ2YsV0FBVyxFQUFFLENBQUM7Z0JBQ2QsV0FBVyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYTthQUNwQyxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7dUdBckJVLG1CQUFtQjsyRkFBbkIsbUJBQW1CLDJIQ3hCaEMsNlRBS0s7OzJGRG1CUSxtQkFBbUI7a0JBSi9CLFNBQVM7K0JBQ0UsY0FBYztpR0FTeEIsS0FBSztzQkFESixLQUFLO2dCQUlOLFlBQVk7c0JBRFgsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQVhCYXNlRXZlbnQgfSBmcm9tICcuLi9iYXNlL2V2ZW50cy5jbGFzcyc7XHJcblxyXG5leHBvcnQgZGVjbGFyZSBjbGFzcyBBWFRhYlN0cmlwSXRlbSB7XHJcbiAgaWQ6IHN0cmluZztcclxuICBuYW1lPzogc3RyaW5nO1xyXG4gIHRleHQ/OiBzdHJpbmc7XHJcbiAgdG9vbHRpcD86IHN0cmluZztcclxuICBpY29uPzogc3RyaW5nO1xyXG4gIHZpc2libGU/OiBib29sZWFuO1xyXG4gIGRpc2FibGU/OiBib29sZWFuO1xyXG4gIGRhdGE/OiBhbnk7XHJcbiAgc3R5bGU/OiBzdHJpbmc7XHJcbiAgYWN0aXZlPzogYm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIEFYVGFiU3RyaXBDaGFuZ2VkRXZlbnQgZXh0ZW5kcyBBWEJhc2VFdmVudCB7XHJcbiAgc2VsZWR0ZWRUYWI6IEFYVGFiU3RyaXBJdGVtO1xyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2F4LXRhYi1zdHJpcCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RhYi1zdHJpcC5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEFYVGFiU3RyaXBDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVmOiBFbGVtZW50UmVmKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHt9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgaXRlbXM6IEFYVGFiU3RyaXBJdGVtW10gPSBbXTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgb25UYWJDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8QVhUYWJTdHJpcENoYW5nZWRFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEFYVGFiU3RyaXBDaGFuZ2VkRXZlbnQ+KCk7XHJcblxyXG4gIGhhbmRsZUNsaWNrKGk6IEFYVGFiU3RyaXBJdGVtKSB7XHJcbiAgICBpZiAoIWkuZGlzYWJsZSkge1xyXG4gICAgICB0aGlzLml0ZW1zLmZvckVhY2goKGMpID0+IChjLmFjdGl2ZSA9IGZhbHNlKSk7XHJcbiAgICAgIGkuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgdGhpcy5vblRhYkNoYW5nZWQuZW1pdCh7XHJcbiAgICAgICAgY29tcG9uZW50OiB0aGlzLFxyXG4gICAgICAgIHNlbGVkdGVkVGFiOiBpLFxyXG4gICAgICAgIGh0bWxFbGVtZW50OiB0aGlzLnJlZi5uYXRpdmVFbGVtZW50XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8dWwgY2xhc3M9XCJ0YWItc3RyaXAtY29udGFpbmVyXCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zXCI+XHJcbiAgICAgICAgPGxpICpuZ0lmPVwiISFpdGVtLnZpc2libGUgfHwgaXRlbS52aXNpYmxlID09IHVuZGVmaW5lZFwiIFtjbGFzcy5hY3RpdmVdPVwiaXRlbS5hY3RpdmVcIlxyXG4gICAgICAgICAgICBbY2xhc3MuZGlzYWJsZWRdPVwiaXRlbS5kaXNhYmxlXCIgKGNsaWNrKT1cImhhbmRsZUNsaWNrKGl0ZW0pXCI+e3tpdGVtLnRleHR9fTwvbGk+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuPC91bD4iXX0=
|
@@ -0,0 +1,19 @@
|
|
1
|
+
import { NgModule } from '@angular/core';
|
2
|
+
import { CommonModule } from '@angular/common';
|
3
|
+
import { AXTabStripComponent } from './tab-strip.component';
|
4
|
+
import * as i0 from "@angular/core";
|
5
|
+
export class AXTabStripModule {
|
6
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: AXTabStripModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
7
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.0", ngImport: i0, type: AXTabStripModule, declarations: [AXTabStripComponent], imports: [CommonModule], exports: [AXTabStripComponent] });
|
8
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: AXTabStripModule, imports: [CommonModule] });
|
9
|
+
}
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: AXTabStripModule, decorators: [{
|
11
|
+
type: NgModule,
|
12
|
+
args: [{
|
13
|
+
declarations: [AXTabStripComponent],
|
14
|
+
imports: [CommonModule],
|
15
|
+
exports: [AXTabStripComponent],
|
16
|
+
providers: []
|
17
|
+
}]
|
18
|
+
}] });
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLXN0cmlwLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9zcmMvbGliL3RhYi1zdHJpcC90YWItc3RyaXAubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQVE1RCxNQUFNLE9BQU8sZ0JBQWdCO3VHQUFoQixnQkFBZ0I7d0dBQWhCLGdCQUFnQixpQkFMWixtQkFBbUIsYUFDeEIsWUFBWSxhQUNaLG1CQUFtQjt3R0FHbEIsZ0JBQWdCLFlBSmpCLFlBQVk7OzJGQUlYLGdCQUFnQjtrQkFONUIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztvQkFDbkMsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO29CQUN2QixPQUFPLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztvQkFDOUIsU0FBUyxFQUFFLEVBQUU7aUJBQ2QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBBWFRhYlN0cmlwQ29tcG9uZW50IH0gZnJvbSAnLi90YWItc3RyaXAuY29tcG9uZW50JztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbQVhUYWJTdHJpcENvbXBvbmVudF0sXHJcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXHJcbiAgZXhwb3J0czogW0FYVGFiU3RyaXBDb21wb25lbnRdLFxyXG4gIHByb3ZpZGVyczogW11cclxufSlcclxuZXhwb3J0IGNsYXNzIEFYVGFiU3RyaXBNb2R1bGUge31cclxuIl19
|
@@ -0,0 +1,25 @@
|
|
1
|
+
/**
|
2
|
+
* This directive is used as an anchor to get access
|
3
|
+
* to the ViewContainerRef which here is exposed via
|
4
|
+
* the public member `viewContainer`
|
5
|
+
*
|
6
|
+
* Theres an ALTERNATIVE to explicitly using the anchor directive.
|
7
|
+
* Read in the blog post
|
8
|
+
*/
|
9
|
+
import { Directive, ViewContainerRef } from '@angular/core';
|
10
|
+
import * as i0 from "@angular/core";
|
11
|
+
export class DynamicTabsDirective {
|
12
|
+
viewContainer;
|
13
|
+
constructor(viewContainer) {
|
14
|
+
this.viewContainer = viewContainer;
|
15
|
+
}
|
16
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: DynamicTabsDirective, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
|
17
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.0", type: DynamicTabsDirective, selector: "[dynamic-tabs]", ngImport: i0 });
|
18
|
+
}
|
19
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: DynamicTabsDirective, decorators: [{
|
20
|
+
type: Directive,
|
21
|
+
args: [{
|
22
|
+
selector: '[dynamic-tabs]'
|
23
|
+
}]
|
24
|
+
}], ctorParameters: function () { return [{ type: i0.ViewContainerRef }]; } });
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy10YWJzLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9zcmMvbGliL3RhYi12aWV3L2R5bmFtaWMtdGFicy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7R0FPRztBQUVILE9BQU8sRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSzVELE1BQU0sT0FBTyxvQkFBb0I7SUFDWjtJQUFuQixZQUFtQixhQUErQjtRQUEvQixrQkFBYSxHQUFiLGFBQWEsQ0FBa0I7SUFBRyxDQUFDO3VHQUQzQyxvQkFBb0I7MkZBQXBCLG9CQUFvQjs7MkZBQXBCLG9CQUFvQjtrQkFIaEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZ0JBQWdCO2lCQUMzQiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBUaGlzIGRpcmVjdGl2ZSBpcyB1c2VkIGFzIGFuIGFuY2hvciB0byBnZXQgYWNjZXNzXHJcbiAqIHRvIHRoZSBWaWV3Q29udGFpbmVyUmVmIHdoaWNoIGhlcmUgaXMgZXhwb3NlZCB2aWFcclxuICogdGhlIHB1YmxpYyBtZW1iZXIgYHZpZXdDb250YWluZXJgXHJcbiAqXHJcbiAqIFRoZXJlcyBhbiBBTFRFUk5BVElWRSB0byBleHBsaWNpdGx5IHVzaW5nIHRoZSBhbmNob3IgZGlyZWN0aXZlLlxyXG4gKiBSZWFkIGluIHRoZSBibG9nIHBvc3RcclxuICovXHJcblxyXG5pbXBvcnQgeyBEaXJlY3RpdmUsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW2R5bmFtaWMtdGFic10nXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEeW5hbWljVGFic0RpcmVjdGl2ZSB7XHJcbiAgY29uc3RydWN0b3IocHVibGljIHZpZXdDb250YWluZXI6IFZpZXdDb250YWluZXJSZWYpIHt9XHJcbn1cclxuIl19
|
@@ -0,0 +1,110 @@
|
|
1
|
+
/**
|
2
|
+
* The main component that renders single TabComponent
|
3
|
+
* instances.
|
4
|
+
*/
|
5
|
+
import { Component, ContentChildren, QueryList, ViewChild, ComponentFactoryResolver, ViewEncapsulation, Attribute, Output, EventEmitter, ElementRef } from '@angular/core';
|
6
|
+
import { AXTabComponent } from './tab.component';
|
7
|
+
import { DynamicTabsDirective } from './dynamic-tabs.directive';
|
8
|
+
import * as i0 from "@angular/core";
|
9
|
+
import * as i1 from "@angular/common";
|
10
|
+
import * as i2 from "./dynamic-tabs.directive";
|
11
|
+
export class AXTabViewComponent {
|
12
|
+
ref;
|
13
|
+
_componentFactoryResolver;
|
14
|
+
fullWidth;
|
15
|
+
dynamicTabs = [];
|
16
|
+
tabs;
|
17
|
+
dynamicTabPlaceholder;
|
18
|
+
onActiveTab = new EventEmitter();
|
19
|
+
/*
|
20
|
+
Alternative approach of using an anchor directive
|
21
|
+
would be to simply get hold of a template variable
|
22
|
+
as follows
|
23
|
+
*/
|
24
|
+
// @ViewChild('container', {read: ViewContainerRef}) dynamicTabPlaceholder;
|
25
|
+
constructor(ref, _componentFactoryResolver, fullWidth = false) {
|
26
|
+
this.ref = ref;
|
27
|
+
this._componentFactoryResolver = _componentFactoryResolver;
|
28
|
+
this.fullWidth = fullWidth;
|
29
|
+
}
|
30
|
+
// contentChildren are set
|
31
|
+
ngAfterContentInit() {
|
32
|
+
// get all active tabs
|
33
|
+
const activeTabs = this.tabs.filter((tab) => tab.active);
|
34
|
+
// if there is no active tab set, activate the first
|
35
|
+
if (activeTabs.length === 0 && this.tabs.first) {
|
36
|
+
this.selectTab(this.tabs.first);
|
37
|
+
}
|
38
|
+
}
|
39
|
+
openTab(title, template, isCloseable = false, icon = null, data = null) {
|
40
|
+
// get a component factory for our AXTabComponent
|
41
|
+
const componentFactory = this._componentFactoryResolver.resolveComponentFactory(AXTabComponent);
|
42
|
+
// fetch the view container reference from our anchor directive
|
43
|
+
const viewContainerRef = this.dynamicTabPlaceholder.viewContainer;
|
44
|
+
// alternatively...
|
45
|
+
// let viewContainerRef = this.dynamicTabPlaceholder;
|
46
|
+
// create a component instance
|
47
|
+
const componentRef = viewContainerRef.createComponent(componentFactory);
|
48
|
+
// set the according properties on our component instance
|
49
|
+
const instance = componentRef.instance;
|
50
|
+
instance.caption = title;
|
51
|
+
instance.template = template;
|
52
|
+
instance.dataContext = data;
|
53
|
+
instance.isCloseable = isCloseable;
|
54
|
+
instance.icon = icon;
|
55
|
+
// remember the dynamic component for rendering the
|
56
|
+
// tab navigation headers
|
57
|
+
this.dynamicTabs.push(componentRef.instance);
|
58
|
+
//componentRef.changeDetectorRef.detectChanges();
|
59
|
+
// set it active
|
60
|
+
this.selectTab(this.dynamicTabs[this.dynamicTabs.length - 1]);
|
61
|
+
}
|
62
|
+
selectTab(tab) {
|
63
|
+
// deactivate all tabs
|
64
|
+
this.tabs.toArray().forEach((tab) => (tab.active = false));
|
65
|
+
this.dynamicTabs.forEach((tab) => (tab.active = false));
|
66
|
+
// activate the tab the user has clicked on.
|
67
|
+
tab.active = true;
|
68
|
+
this.onActiveTab.emit({ component: this, data: tab, htmlElement: this.ref.nativeElement });
|
69
|
+
}
|
70
|
+
closeTab(tab) {
|
71
|
+
for (let i = 0; i < this.dynamicTabs.length; i++) {
|
72
|
+
if (this.dynamicTabs[i] === tab) {
|
73
|
+
// remove the tab from our array
|
74
|
+
this.dynamicTabs.splice(i, 1);
|
75
|
+
// destroy our dynamically created component again
|
76
|
+
const viewContainerRef = this.dynamicTabPlaceholder.viewContainer;
|
77
|
+
// let viewContainerRef = this.dynamicTabPlaceholder;
|
78
|
+
viewContainerRef.remove(i);
|
79
|
+
// set tab index to 1st one
|
80
|
+
this.selectTab(this.tabs.first);
|
81
|
+
break;
|
82
|
+
}
|
83
|
+
}
|
84
|
+
}
|
85
|
+
closeActiveTab() {
|
86
|
+
const activeTabs = this.dynamicTabs.filter((tab) => tab.active);
|
87
|
+
if (activeTabs.length > 0) {
|
88
|
+
// close the 1st active tab (should only be one at a time)
|
89
|
+
this.closeTab(activeTabs[0]);
|
90
|
+
}
|
91
|
+
}
|
92
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: AXTabViewComponent, deps: [{ token: i0.ElementRef }, { token: i0.ComponentFactoryResolver }, { token: 'fullWidth', attribute: true }], target: i0.ɵɵFactoryTarget.Component });
|
93
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.0", type: AXTabViewComponent, selector: "ax-tab-view", outputs: { onActiveTab: "onActiveTab" }, queries: [{ propertyName: "tabs", predicate: AXTabComponent }], viewQueries: [{ propertyName: "dynamicTabPlaceholder", first: true, predicate: DynamicTabsDirective, descendants: true }], ngImport: i0, template: "<ul class=\"ax nav-tabs\">\r\n <li\r\n *ngFor=\"let tab of tabs\"\r\n (click)=\"selectTab(tab)\"\r\n [class.active]=\"tab.active\"\r\n [class.flex-sm-fill]=\"fullWidth\"\r\n >\r\n <i class=\"{{ tab.icon }}\"></i>\r\n <span>{{ tab.caption }}</span>\r\n </li>\r\n <!-- dynamic tabs -->\r\n <li\r\n *ngFor=\"let tab of dynamicTabs\"\r\n (click)=\"selectTab(tab)\"\r\n [class.active]=\"tab.active\"\r\n [class.flex-sm-fill]=\"fullWidth\"\r\n >\r\n <i class=\"{{ tab.icon }}\"></i>\r\n <span>\r\n {{ tab.caption }}\r\n <i\r\n *ngIf=\"tab.isCloseable\"\r\n (click)=\"closeTab(tab)\"\r\n class=\"far fa-times\"\r\n >\r\n </i>\r\n </span>\r\n </li>\r\n</ul>\r\n<div class=\"ax-tab-container\">\r\n <ng-content></ng-content>\r\n<ng-template dynamic-tabs #container></ng-template>\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DynamicTabsDirective, selector: "[dynamic-tabs]" }], encapsulation: i0.ViewEncapsulation.None });
|
94
|
+
}
|
95
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: AXTabViewComponent, decorators: [{
|
96
|
+
type: Component,
|
97
|
+
args: [{ selector: 'ax-tab-view', encapsulation: ViewEncapsulation.None, template: "<ul class=\"ax nav-tabs\">\r\n <li\r\n *ngFor=\"let tab of tabs\"\r\n (click)=\"selectTab(tab)\"\r\n [class.active]=\"tab.active\"\r\n [class.flex-sm-fill]=\"fullWidth\"\r\n >\r\n <i class=\"{{ tab.icon }}\"></i>\r\n <span>{{ tab.caption }}</span>\r\n </li>\r\n <!-- dynamic tabs -->\r\n <li\r\n *ngFor=\"let tab of dynamicTabs\"\r\n (click)=\"selectTab(tab)\"\r\n [class.active]=\"tab.active\"\r\n [class.flex-sm-fill]=\"fullWidth\"\r\n >\r\n <i class=\"{{ tab.icon }}\"></i>\r\n <span>\r\n {{ tab.caption }}\r\n <i\r\n *ngIf=\"tab.isCloseable\"\r\n (click)=\"closeTab(tab)\"\r\n class=\"far fa-times\"\r\n >\r\n </i>\r\n </span>\r\n </li>\r\n</ul>\r\n<div class=\"ax-tab-container\">\r\n <ng-content></ng-content>\r\n<ng-template dynamic-tabs #container></ng-template>\r\n</div>\r\n" }]
|
98
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ComponentFactoryResolver }, { type: undefined, decorators: [{
|
99
|
+
type: Attribute,
|
100
|
+
args: ['fullWidth']
|
101
|
+
}] }]; }, propDecorators: { tabs: [{
|
102
|
+
type: ContentChildren,
|
103
|
+
args: [AXTabComponent]
|
104
|
+
}], dynamicTabPlaceholder: [{
|
105
|
+
type: ViewChild,
|
106
|
+
args: [DynamicTabsDirective]
|
107
|
+
}], onActiveTab: [{
|
108
|
+
type: Output
|
109
|
+
}] } });
|
110
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3NyYy9saWIvdGFiLXZpZXcvdGFiLXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3NyYy9saWIvdGFiLXZpZXcvdGFiLXZpZXcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBRUgsT0FBTyxFQUNMLFNBQVMsRUFDVCxlQUFlLEVBQ2YsU0FBUyxFQUVULFNBQVMsRUFDVCx3QkFBd0IsRUFDeEIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxNQUFNLEVBQ04sWUFBWSxFQUNaLFVBQVUsRUFDWCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDakQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7QUFTaEUsTUFBTSxPQUFPLGtCQUFrQjtJQWlCbkI7SUFDQTtJQUN1QjtJQWxCakMsV0FBVyxHQUFxQixFQUFFLENBQUM7SUFFRixJQUFJLENBQTRCO0lBRWhDLHFCQUFxQixDQUF1QjtJQUc3RSxXQUFXLEdBQW1DLElBQUksWUFBWSxFQUFvQixDQUFDO0lBQ25GOzs7O01BSUU7SUFDRiwyRUFBMkU7SUFFM0UsWUFDVSxHQUFlLEVBQ2YseUJBQW1ELEVBQzVCLFlBQXFCLEtBQUs7UUFGakQsUUFBRyxHQUFILEdBQUcsQ0FBWTtRQUNmLDhCQUF5QixHQUF6Qix5QkFBeUIsQ0FBMEI7UUFDNUIsY0FBUyxHQUFULFNBQVMsQ0FBaUI7SUFDeEQsQ0FBQztJQUVKLDBCQUEwQjtJQUMxQixrQkFBa0I7UUFDaEIsc0JBQXNCO1FBQ3RCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEVB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QyxDQUFDLENBQUMsQ0FBQztnQkFFM0IsMkJBQTJCO2dCQUMzQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ2hDLE1BQU07YUFDUDtTQUNGO0lBQ0gsQ0FBQztJQUVELGNBQWM7UUFDWixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2hFLElBQUksVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDekIsMERBQTBEO1lBQzFELElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDOUI7SUFDSCxDQUFDO3VHQWxHVSxrQkFBa0Isb0ZBbUJoQixXQUFXOzJGQW5CYixrQkFBa0IsaUhBR1osY0FBYyxvRkFFcEIsb0JBQW9CLGdEQ2xDakMsMDJCQWlDQTs7MkZESmEsa0JBQWtCO2tCQU45QixTQUFTOytCQUNFLGFBQWEsaUJBR1IsaUJBQWlCLENBQUMsSUFBSTs7MEJBcUJsQyxTQUFTOzJCQUFDLFdBQVc7NENBaEJTLElBQUk7c0JBQXBDLGVBQWU7dUJBQUMsY0FBYztnQkFFRSxxQkFBcUI7c0JBQXJELFNBQVM7dUJBQUMsb0JBQW9CO2dCQUcvQixXQUFXO3NCQURWLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogVGhlIG1haW4gY29tcG9uZW50IHRoYXQgcmVuZGVycyBzaW5nbGUgVGFiQ29tcG9uZW50XHJcbiAqIGluc3RhbmNlcy5cclxuICovXHJcblxyXG5pbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBDb250ZW50Q2hpbGRyZW4sXHJcbiAgUXVlcnlMaXN0LFxyXG4gIEFmdGVyQ29udGVudEluaXQsXHJcbiAgVmlld0NoaWxkLFxyXG4gIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxuICBBdHRyaWJ1dGUsXHJcbiAgT3V0cHV0LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBFbGVtZW50UmVmXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBBWFRhYkNvbXBvbmVudCB9IGZyb20gJy4vdGFiLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IER5bmFtaWNUYWJzRGlyZWN0aXZlIH0gZnJvbSAnLi9keW5hbWljLXRhYnMuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgQVhEYXRhRXZlbnQgfSBmcm9tICcuLi9iYXNlL2V2ZW50cy5jbGFzcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2F4LXRhYi12aWV3JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdGFiLXZpZXcuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3RhYi12aWV3LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQVhUYWJWaWV3Q29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCB7XHJcbiAgZHluYW1pY1RhYnM6IEFYVGFiQ29tcG9uZW50W10gPSBbXTtcclxuXHJcbiAgQENvbnRlbnRDaGlsZHJlbihBWFRhYkNvbXBvbmVudCkgdGFiczogUXVlcnlMaXN0PEFYVGFiQ29tcG9uZW50PjtcclxuXHJcbiAgQFZpZXdDaGlsZChEeW5hbWljVGFic0RpcmVjdGl2ZSkgZHluYW1pY1RhYlBsYWNlaG9sZGVyOiBEeW5hbWljVGFic0RpcmVjdGl2ZTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgb25BY3RpdmVUYWI6IEV2ZW50RW1pdHRlcjxBWERhdGFFdmVudDxhbnk+PiA9IG5ldyBFdmVudEVtaXR0ZXI8QVhEYXRhRXZlbnQ8YW55Pj4oKTtcclxuICAvKlxyXG4gICAgQWx0ZXJuYXRpdmUgYXBwcm9hY2ggb2YgdXNpbmcgYW4gYW5jaG9yIGRpcmVjdGl2ZVxyXG4gICAgd291bGQgYmUgdG8gc2ltcGx5IGdldCBob2xkIG9mIGEgdGVtcGxhdGUgdmFyaWFibGVcclxuICAgIGFzIGZvbGxvd3NcclxuICAqL1xyXG4gIC8vIEBWaWV3Q2hpbGQoJ2NvbnRhaW5lcicsIHtyZWFkOiBWaWV3Q29udGFpbmVyUmVmfSkgZHluYW1pY1RhYlBsYWNlaG9sZGVyO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcmVmOiBFbGVtZW50UmVmLFxyXG4gICAgcHJpdmF0ZSBfY29tcG9uZW50RmFjdG9yeVJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXHJcbiAgICBAQXR0cmlidXRlKCdmdWxsV2lkdGgnKSBwdWJsaWMgZnVsbFdpZHRoOiBib29sZWFuID0gZmFsc2VcclxuICApIHt9XHJcblxyXG4gIC8vIGNvbnRlbnRDaGlsZHJlbiBhcmUgc2V0XHJcbiAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xyXG4gICAgLy8gZ2V0IGFsbCBhY3RpdmUgdGFic1xyXG4gICAgY29uc3QgYWN0aXZlVGFicyA9IHRoaXMudGFicy5maWx0ZXIoKHRhYikgPT4gdGFiLmFjdGl2ZSk7XHJcblxyXG4gICAgLy8gaWYgdGhlcmUgaXMgbm8gYWN0aXZlIHRhYiBzZXQsIGFjdGl2YXRlIHRoZSBmaXJzdFxyXG4gICAgaWYgKGFjdGl2ZVRhYnMubGVuZ3RoID09PSAwICYmIHRoaXMudGFicy5maXJzdCkge1xyXG4gICAgICB0aGlzLnNlbGVjdFRhYih0aGlzLnRhYnMuZmlyc3QpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb3BlblRhYih0aXRsZTogc3RyaW5nLCB0ZW1wbGF0ZSwgaXNDbG9zZWFibGUgPSBmYWxzZSwgaWNvbiA9IG51bGwsIGRhdGEgPSBudWxsKSB7XHJcbiAgICAvLyBnZXQgYSBjb21wb25lbnQgZmFjdG9yeSBmb3Igb3VyIEFYVGFiQ29tcG9uZW50XHJcbiAgICBjb25zdCBjb21wb25lbnRGYWN0b3J5ID0gdGhpcy5fY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KEFYVGFiQ29tcG9uZW50KTtcclxuXHJcbiAgICAvLyBmZXRjaCB0aGUgdmlldyBjb250YWluZXIgcmVmZXJlbmNlIGZyb20gb3VyIGFuY2hvciBkaXJlY3RpdmVcclxuICAgIGNvbnN0IHZpZXdDb250YWluZXJSZWYgPSB0aGlzLmR5bmFtaWNUYWJQbGFjZWhvbGRlci52aWV3Q29udGFpbmVyO1xyXG5cclxuICAgIC8vIGFsdGVybmF0aXZlbHkuLi5cclxuICAgIC8vIGxldCB2aWV3Q29udGFpbmVyUmVmID0gdGhpcy5keW5hbWljVGFiUGxhY2Vob2xkZXI7XHJcblxyXG4gICAgLy8gY3JlYXRlIGEgY29tcG9uZW50IGluc3RhbmNlXHJcbiAgICBjb25zdCBjb21wb25lbnRSZWYgPSB2aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUNvbXBvbmVudChjb21wb25lbnRGYWN0b3J5KTtcclxuXHJcbiAgICAvLyBzZXQgdGhlIGFjY29yZGluZyBwcm9wZXJ0aWVzIG9uIG91ciBjb21wb25lbnQgaW5zdGFuY2VcclxuICAgIGNvbnN0IGluc3RhbmNlOiBBWFRhYkNvbXBvbmVudCA9IGNvbXBvbmVudFJlZi5pbnN0YW5jZSBhcyBBWFRhYkNvbXBvbmVudDtcclxuICAgIGluc3RhbmNlLmNhcHRpb24gPSB0aXRsZTtcclxuICAgIGluc3RhbmNlLnRlbXBsYXRlID0gdGVtcGxhdGU7XHJcbiAgICBpbnN0YW5jZS5kYXRhQ29udGV4dCA9IGRhdGE7XHJcbiAgICBpbnN0YW5jZS5pc0Nsb3NlYWJsZSA9IGlzQ2xvc2VhYmxlO1xyXG4gICAgaW5zdGFuY2UuaWNvbiA9IGljb247XHJcblxyXG4gICAgLy8gcmVtZW1iZXIgdGhlIGR5bmFtaWMgY29tcG9uZW50IGZvciByZW5kZXJpbmcgdGhlXHJcbiAgICAvLyB0YWIgbmF2aWdhdGlvbiBoZWFkZXJzXHJcbiAgICB0aGlzLmR5bmFtaWNUYWJzLnB1c2goY29tcG9uZW50UmVmLmluc3RhbmNlIGFzIEFYVGFiQ29tcG9uZW50KTtcclxuXHJcbiAgICAvL2NvbXBvbmVudFJlZi5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcblxyXG4gICAgLy8gc2V0IGl0IGFjdGl2ZVxyXG4gICAgdGhpcy5zZWxlY3RUYWIodGhpcy5keW5hbWljVGFic1t0aGlzLmR5bmFtaWNUYWJzLmxlbmd0aCAtIDFdKTtcclxuICB9XHJcblxyXG4gIHNlbGVjdFRhYih0YWI6IEFYVGFiQ29tcG9uZW50KSB7XHJcbiAgICAvLyBkZWFjdGl2YXRlIGFsbCB0YWJzXHJcbiAgICB0aGlzLnRhYnMudG9BcnJheSgpLmZvckVhY2goKHRhYikgPT4gKHRhYi5hY3RpdmUgPSBmYWxzZSkpO1xyXG4gICAgdGhpcy5keW5hbWljVGFicy5mb3JFYWNoKCh0YWIpID0+ICh0YWIuYWN0aXZlID0gZmFsc2UpKTtcclxuXHJcbiAgICAvLyBhY3RpdmF0ZSB0aGUgdGFiIHRoZSB1c2VyIGhhcyBjbGlja2VkIG9uLlxyXG4gICAgdGFiLmFjdGl2ZSA9IHRydWU7XHJcbiAgICB0aGlzLm9uQWN0aXZlVGFiLmVtaXQoeyBjb21wb25lbnQ6IHRoaXMsIGRhdGE6IHRhYiwgaHRtbEVsZW1lbnQ6IHRoaXMucmVmLm5hdGl2ZUVsZW1lbnQgfSk7XHJcbiAgfVxyXG5cclxuICBjbG9zZVRhYih0YWI6IEFYVGFiQ29tcG9uZW50KSB7XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuZHluYW1pY1RhYnMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgaWYgKHRoaXMuZHluYW1pY1RhYnNbaV0gPT09IHRhYikge1xyXG4gICAgICAgIC8vIHJlbW92ZSB0aGUgdGFiIGZyb20gb3VyIGFycmF5XHJcbiAgICAgICAgdGhpcy5keW5hbWljVGFicy5zcGxpY2UoaSwgMSk7XHJcblxyXG4gICAgICAgIC8vIGRlc3Ryb3kgb3VyIGR5bmFtaWNhbGx5IGNyZWF0ZWQgY29tcG9uZW50IGFnYWluXHJcbiAgICAgICAgY29uc3Qgdmlld0NvbnRhaW5lclJlZiA9IHRoaXMuZHluYW1pY1RhYlBsYWNlaG9sZGVyLnZpZXdDb250YWluZXI7XHJcbiAgICAgICAgLy8gbGV0IHZpZXdDb250YWluZXJSZWYgPSB0aGlzLmR5bmFtaWNUYWJQbGFjZWhvbGRlcjtcclxuICAgICAgICB2aWV3Q29udGFpbmVyUmVmLnJlbW92ZShpKTtcclxuXHJcbiAgICAgICAgLy8gc2V0IHRhYiBpbmRleCB0byAxc3Qgb25lXHJcbiAgICAgICAgdGhpcy5zZWxlY3RUYWIodGhpcy50YWJzLmZpcnN0KTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2xvc2VBY3RpdmVUYWIoKSB7XHJcbiAgICBjb25zdCBhY3RpdmVUYWJzID0gdGhpcy5keW5hbWljVGFicy5maWx0ZXIoKHRhYikgPT4gdGFiLmFjdGl2ZSk7XHJcbiAgICBpZiAoYWN0aXZlVGFicy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIC8vIGNsb3NlIHRoZSAxc3QgYWN0aXZlIHRhYiAoc2hvdWxkIG9ubHkgYmUgb25lIGF0IGEgdGltZSlcclxuICAgICAgdGhpcy5jbG9zZVRhYihhY3RpdmVUYWJzWzBdKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPHVsIGNsYXNzPVwiYXggbmF2LXRhYnNcIj5cclxuICA8bGlcclxuICAgICpuZ0Zvcj1cImxldCB0YWIgb2YgdGFic1wiXHJcbiAgICAoY2xpY2spPVwic2VsZWN0VGFiKHRhYilcIlxyXG4gICAgW2NsYXNzLmFjdGl2ZV09XCJ0YWIuYWN0aXZlXCJcclxuICAgIFtjbGFzcy5mbGV4LXNtLWZpbGxdPVwiZnVsbFdpZHRoXCJcclxuICA+XHJcbiAgICA8aSBjbGFzcz1cInt7IHRhYi5pY29uIH19XCI+PC9pPlxyXG4gICAgPHNwYW4+e3sgdGFiLmNhcHRpb24gfX08L3NwYW4+XHJcbiAgPC9saT5cclxuICA8IS0tIGR5bmFtaWMgdGFicyAtLT5cclxuICA8bGlcclxuICAgICpuZ0Zvcj1cImxldCB0YWIgb2YgZHluYW1pY1RhYnNcIlxyXG4gICAgKGNsaWNrKT1cInNlbGVjdFRhYih0YWIpXCJcclxuICAgIFtjbGFzcy5hY3RpdmVdPVwidGFiLmFjdGl2ZVwiXHJcbiAgICBbY2xhc3MuZmxleC1zbS1maWxsXT1cImZ1bGxXaWR0aFwiXHJcbiAgPlxyXG4gICAgPGkgY2xhc3M9XCJ7eyB0YWIuaWNvbiB9fVwiPjwvaT5cclxuICAgIDxzcGFuPlxyXG4gICAgICB7eyB0YWIuY2FwdGlvbiB9fVxyXG4gICAgICA8aVxyXG4gICAgICAgICpuZ0lmPVwidGFiLmlzQ2xvc2VhYmxlXCJcclxuICAgICAgICAoY2xpY2spPVwiY2xvc2VUYWIodGFiKVwiXHJcbiAgICAgICAgY2xhc3M9XCJmYXIgZmEtdGltZXNcIlxyXG4gICAgICA+XHJcbiAgICAgIDwvaT5cclxuICAgIDwvc3Bhbj5cclxuICA8L2xpPlxyXG48L3VsPlxyXG48ZGl2IGNsYXNzPVwiYXgtdGFiLWNvbnRhaW5lclwiPlxyXG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuPG5nLXRlbXBsYXRlIGR5bmFtaWMtdGFicyAjY29udGFpbmVyPjwvbmctdGVtcGxhdGU+XHJcbjwvZGl2PlxyXG4iXX0=
|
@@ -0,0 +1,21 @@
|
|
1
|
+
import { NgModule } from '@angular/core';
|
2
|
+
import { CommonModule } from '@angular/common';
|
3
|
+
import { AXTabComponent } from './tab.component';
|
4
|
+
import { AXTabViewComponent } from './tab-view.component';
|
5
|
+
import { DynamicTabsDirective } from './dynamic-tabs.directive';
|
6
|
+
import * as i0 from "@angular/core";
|
7
|
+
export class AXTabViewModule {
|
8
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: AXTabViewModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
9
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.0", ngImport: i0, type: AXTabViewModule, declarations: [AXTabComponent, AXTabViewComponent, DynamicTabsDirective], imports: [CommonModule], exports: [AXTabComponent, AXTabViewComponent, DynamicTabsDirective] });
|
10
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: AXTabViewModule, imports: [CommonModule] });
|
11
|
+
}
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: AXTabViewModule, decorators: [{
|
13
|
+
type: NgModule,
|
14
|
+
args: [{
|
15
|
+
declarations: [AXTabComponent, AXTabViewComponent, DynamicTabsDirective],
|
16
|
+
imports: [CommonModule],
|
17
|
+
exports: [AXTabComponent, AXTabViewComponent, DynamicTabsDirective],
|
18
|
+
providers: []
|
19
|
+
}]
|
20
|
+
}] });
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLXZpZXcubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3NyYy9saWIvdGFiLXZpZXcvdGFiLXZpZXcubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7QUFPaEUsTUFBTSxPQUFPLGVBQWU7dUdBQWYsZUFBZTt3R0FBZixlQUFlLGlCQUxYLGNBQWMsRUFBRSxrQkFBa0IsRUFBRSxvQkFBb0IsYUFDN0QsWUFBWSxhQUNaLGNBQWMsRUFBRSxrQkFBa0IsRUFBRSxvQkFBb0I7d0dBR3ZELGVBQWUsWUFKaEIsWUFBWTs7MkZBSVgsZUFBZTtrQkFOM0IsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxjQUFjLEVBQUUsa0JBQWtCLEVBQUUsb0JBQW9CLENBQUM7b0JBQ3hFLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDdkIsT0FBTyxFQUFFLENBQUMsY0FBYyxFQUFFLGtCQUFrQixFQUFFLG9CQUFvQixDQUFDO29CQUNuRSxTQUFTLEVBQUUsRUFBRTtpQkFDZCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEFYVGFiQ29tcG9uZW50IH0gZnJvbSAnLi90YWIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQVhUYWJWaWV3Q29tcG9uZW50IH0gZnJvbSAnLi90YWItdmlldy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBEeW5hbWljVGFic0RpcmVjdGl2ZSB9IGZyb20gJy4vZHluYW1pYy10YWJzLmRpcmVjdGl2ZSc7XHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbQVhUYWJDb21wb25lbnQsIEFYVGFiVmlld0NvbXBvbmVudCwgRHluYW1pY1RhYnNEaXJlY3RpdmVdLFxyXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxyXG4gIGV4cG9ydHM6IFtBWFRhYkNvbXBvbmVudCwgQVhUYWJWaWV3Q29tcG9uZW50LCBEeW5hbWljVGFic0RpcmVjdGl2ZV0sXHJcbiAgcHJvdmlkZXJzOiBbXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQVhUYWJWaWV3TW9kdWxlIHt9XHJcbiJdfQ==
|
@@ -0,0 +1,33 @@
|
|
1
|
+
import { Component, Input, ViewEncapsulation } from '@angular/core';
|
2
|
+
import * as i0 from "@angular/core";
|
3
|
+
import * as i1 from "@angular/common";
|
4
|
+
export class AXTabComponent {
|
5
|
+
caption;
|
6
|
+
name;
|
7
|
+
active = false;
|
8
|
+
isCloseable = false;
|
9
|
+
template;
|
10
|
+
dataContext;
|
11
|
+
icon;
|
12
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: AXTabComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
13
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.0", type: AXTabComponent, selector: "ax-tab", inputs: { caption: "caption", name: "name", active: "active", isCloseable: "isCloseable", template: "template", dataContext: "dataContext", icon: "icon" }, ngImport: i0, template: "<div [hidden]=\"!active\" class=\"ax tab-pane\">\r\n <ng-content></ng-content>\r\n <ng-container *ngIf=\"template\"\r\n [ngTemplateOutlet]=\"template\"\r\n [ngTemplateOutletContext]=\"dataContext\"\r\n >\r\n </ng-container>\r\n</div>", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], encapsulation: i0.ViewEncapsulation.None });
|
14
|
+
}
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: AXTabComponent, decorators: [{
|
16
|
+
type: Component,
|
17
|
+
args: [{ selector: 'ax-tab', encapsulation: ViewEncapsulation.None, template: "<div [hidden]=\"!active\" class=\"ax tab-pane\">\r\n <ng-content></ng-content>\r\n <ng-container *ngIf=\"template\"\r\n [ngTemplateOutlet]=\"template\"\r\n [ngTemplateOutletContext]=\"dataContext\"\r\n >\r\n </ng-container>\r\n</div>" }]
|
18
|
+
}], propDecorators: { caption: [{
|
19
|
+
type: Input
|
20
|
+
}], name: [{
|
21
|
+
type: Input
|
22
|
+
}], active: [{
|
23
|
+
type: Input
|
24
|
+
}], isCloseable: [{
|
25
|
+
type: Input
|
26
|
+
}], template: [{
|
27
|
+
type: Input
|
28
|
+
}], dataContext: [{
|
29
|
+
type: Input
|
30
|
+
}], icon: [{
|
31
|
+
type: Input
|
32
|
+
}] } });
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9zcmMvbGliL3RhYi12aWV3L3RhYi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvc3JjL2xpYi90YWItdmlldy90YWIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQU1wRSxNQUFNLE9BQU8sY0FBYztJQUNoQixPQUFPLENBQVM7SUFDaEIsSUFBSSxDQUFTO0lBQ2IsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUNmLFdBQVcsR0FBRyxLQUFLLENBQUM7SUFDcEIsUUFBUSxDQUFNO0lBQ2QsV0FBVyxDQUFNO0lBQ2pCLElBQUksQ0FBUzt1R0FQWCxjQUFjOzJGQUFkLGNBQWMsME1DTjNCLGlRQU9NOzsyRkRETyxjQUFjO2tCQUwxQixTQUFTOytCQUNFLFFBQVEsaUJBRUgsaUJBQWlCLENBQUMsSUFBSTs4QkFHNUIsT0FBTztzQkFBZixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdheC10YWInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90YWIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIEFYVGFiQ29tcG9uZW50IHtcclxuICBASW5wdXQoKSBjYXB0aW9uOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgbmFtZTogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGFjdGl2ZSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGlzQ2xvc2VhYmxlID0gZmFsc2U7XHJcbiAgQElucHV0KCkgdGVtcGxhdGU6IGFueTtcclxuICBASW5wdXQoKSBkYXRhQ29udGV4dDogYW55O1xyXG4gIEBJbnB1dCgpIGljb246IHN0cmluZztcclxufVxyXG4iLCI8ZGl2IFtoaWRkZW5dPVwiIWFjdGl2ZVwiIGNsYXNzPVwiYXggdGFiLXBhbmVcIj5cclxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0ZW1wbGF0ZVwiXHJcbiAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRlbXBsYXRlXCJcclxuICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cImRhdGFDb250ZXh0XCJcclxuICAgID5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG48L2Rpdj4iXX0=
|
@@ -0,0 +1,27 @@
|
|
1
|
+
import { Component, ChangeDetectionStrategy, ViewEncapsulation, ChangeDetectorRef, ElementRef, Input } from '@angular/core';
|
2
|
+
import { AXBaseTextComponent, AXValidatableComponent } from '../base/element.class';
|
3
|
+
import * as i0 from "@angular/core";
|
4
|
+
import * as i1 from "@angular/common";
|
5
|
+
export class AXTextAreaComponent extends AXBaseTextComponent {
|
6
|
+
cdr;
|
7
|
+
constructor(cdr, ref) {
|
8
|
+
super(cdr, ref);
|
9
|
+
this.cdr = cdr;
|
10
|
+
}
|
11
|
+
rows = 0;
|
12
|
+
cols = 0;
|
13
|
+
maxLength = null;
|
14
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: AXTextAreaComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
15
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.0", type: AXTextAreaComponent, selector: "ax-text-area", inputs: { rows: "rows", cols: "cols", maxLength: "maxLength" }, host: { styleAttribute: "width: 100%" }, providers: [{ provide: AXValidatableComponent, useExisting: AXTextAreaComponent }], usesInheritance: true, ngImport: i0, template: "<div class=\"ax form-item {{size}}\" [class.disabled]=\"disabled\" [attr.id]=\"uid\">\r\n <div class=\"content\">\r\n <div class=\"ax input {{size}}\" [class.disabled]=\"disabled\" [class.readonly]=\"readonly\">\r\n <textarea [name]=\"name\" [attr.maxlength]=\"maxLength\" rows=\"{{rows}}\" cols=\"{{cols}}\" #input type=\"text\"\r\n class=\"ax icon {{size}}\" [ngClass]=\"setTextAlign()\" placeholder=\"{{placeholder}}\" [readonly]=\"readonly\"\r\n [disabled]=\"disabled\" value=\"{{value}}\"></textarea>\r\n </div>\r\n </div>\r\n <div class=\"ax buttons\">\r\n <ng-content select=\"ax-button\">\r\n </ng-content>\r\n </div>\r\n</div>", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
16
|
+
}
|
17
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: AXTextAreaComponent, decorators: [{
|
18
|
+
type: Component,
|
19
|
+
args: [{ selector: 'ax-text-area', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: { style: 'width: 100%' }, providers: [{ provide: AXValidatableComponent, useExisting: AXTextAreaComponent }], template: "<div class=\"ax form-item {{size}}\" [class.disabled]=\"disabled\" [attr.id]=\"uid\">\r\n <div class=\"content\">\r\n <div class=\"ax input {{size}}\" [class.disabled]=\"disabled\" [class.readonly]=\"readonly\">\r\n <textarea [name]=\"name\" [attr.maxlength]=\"maxLength\" rows=\"{{rows}}\" cols=\"{{cols}}\" #input type=\"text\"\r\n class=\"ax icon {{size}}\" [ngClass]=\"setTextAlign()\" placeholder=\"{{placeholder}}\" [readonly]=\"readonly\"\r\n [disabled]=\"disabled\" value=\"{{value}}\"></textarea>\r\n </div>\r\n </div>\r\n <div class=\"ax buttons\">\r\n <ng-content select=\"ax-button\">\r\n </ng-content>\r\n </div>\r\n</div>" }]
|
20
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }]; }, propDecorators: { rows: [{
|
21
|
+
type: Input
|
22
|
+
}], cols: [{
|
23
|
+
type: Input
|
24
|
+
}], maxLength: [{
|
25
|
+
type: Input
|
26
|
+
}] } });
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGFyZWEuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3NyYy9saWIvdGV4dGFyZWEvdGV4dGFyZWEuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3NyYy9saWIvdGV4dGFyZWEvdGV4dGFyZWEuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSx1QkFBdUIsRUFBRSxpQkFBaUIsRUFBRSxpQkFBaUIsRUFBYSxVQUFVLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZJLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7QUFVcEYsTUFBTSxPQUFPLG1CQUFvQixTQUFRLG1CQUFtQjtJQUNwQztJQUF0QixZQUFzQixHQUFzQixFQUFFLEdBQWU7UUFDM0QsS0FBSyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztRQURJLFFBQUcsR0FBSCxHQUFHLENBQW1CO0lBRTVDLENBQUM7SUFHRCxJQUFJLEdBQVcsQ0FBQyxDQUFDO0lBRWpCLElBQUksR0FBVyxDQUFDLENBQUM7SUFHakIsU0FBUyxHQUFXLElBQUksQ0FBQzt1R0FYZCxtQkFBbUI7MkZBQW5CLG1CQUFtQixnSkFGbkIsQ0FBQyxFQUFFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQyxpRENUcEYsOHNCQVlNOzsyRkRETyxtQkFBbUI7a0JBUi9CLFNBQVM7K0JBQ0UsY0FBYyxpQkFFVCxpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLFFBQ3pDLEVBQUUsS0FBSyxFQUFDLGFBQWEsRUFBRSxhQUNsQixDQUFDLEVBQUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLFdBQVcscUJBQXFCLEVBQUUsQ0FBQztpSUFRbEYsSUFBSTtzQkFESCxLQUFLO2dCQUdOLElBQUk7c0JBREgsS0FBSztnQkFJTixTQUFTO3NCQURSLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBWaWV3RW5jYXBzdWxhdGlvbiwgQ2hhbmdlRGV0ZWN0b3JSZWYsIFZpZXdDaGlsZCwgRWxlbWVudFJlZiwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQVhCYXNlVGV4dENvbXBvbmVudCwgQVhWYWxpZGF0YWJsZUNvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2UvZWxlbWVudC5jbGFzcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2F4LXRleHQtYXJlYScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RleHRhcmVhLmNvbXBvbmVudC5odG1sJyxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIGhvc3Q6IHsgc3R5bGU6J3dpZHRoOiAxMDAlJyB9LFxyXG4gIHByb3ZpZGVyczogW3sgcHJvdmlkZTogQVhWYWxpZGF0YWJsZUNvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IEFYVGV4dEFyZWFDb21wb25lbnQgfV1cclxufSlcclxuZXhwb3J0IGNsYXNzIEFYVGV4dEFyZWFDb21wb25lbnQgZXh0ZW5kcyBBWEJhc2VUZXh0Q29tcG9uZW50IHtcclxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZiwgcmVmOiBFbGVtZW50UmVmKSB7XHJcbiAgICBzdXBlcihjZHIsIHJlZik7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKVxyXG4gIHJvd3M6IG51bWJlciA9IDA7XHJcbiAgQElucHV0KClcclxuICBjb2xzOiBudW1iZXIgPSAwO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIG1heExlbmd0aDogbnVtYmVyID0gbnVsbDtcclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiYXggZm9ybS1pdGVtIHt7c2l6ZX19XCIgW2NsYXNzLmRpc2FibGVkXT1cImRpc2FibGVkXCIgW2F0dHIuaWRdPVwidWlkXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29udGVudFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJheCBpbnB1dCB7e3NpemV9fVwiIFtjbGFzcy5kaXNhYmxlZF09XCJkaXNhYmxlZFwiIFtjbGFzcy5yZWFkb25seV09XCJyZWFkb25seVwiPlxyXG4gICAgICAgICAgICA8dGV4dGFyZWEgW25hbWVdPVwibmFtZVwiIFthdHRyLm1heGxlbmd0aF09XCJtYXhMZW5ndGhcIiByb3dzPVwie3tyb3dzfX1cIiBjb2xzPVwie3tjb2xzfX1cIiAjaW5wdXQgdHlwZT1cInRleHRcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJheCBpY29uIHt7c2l6ZX19XCIgW25nQ2xhc3NdPVwic2V0VGV4dEFsaWduKClcIiBwbGFjZWhvbGRlcj1cInt7cGxhY2Vob2xkZXJ9fVwiIFtyZWFkb25seV09XCJyZWFkb25seVwiXHJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiB2YWx1ZT1cInt7dmFsdWV9fVwiPjwvdGV4dGFyZWE+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJheCBidXR0b25zXCI+XHJcbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtYnV0dG9uXCI+XHJcbiAgICAgICAgPC9uZy1jb250ZW50PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PiJdfQ==
|
@@ -0,0 +1,21 @@
|
|
1
|
+
import { NgModule } from '@angular/core';
|
2
|
+
import { CommonModule } from '@angular/common';
|
3
|
+
import { AXTextAreaComponent } from './textarea.component';
|
4
|
+
import * as i0 from "@angular/core";
|
5
|
+
const COMPONENT = [AXTextAreaComponent];
|
6
|
+
const MODULES = [CommonModule];
|
7
|
+
export class AXTextAreaModule {
|
8
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: AXTextAreaModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
9
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.0", ngImport: i0, type: AXTextAreaModule, declarations: [AXTextAreaComponent], imports: [CommonModule], exports: [AXTextAreaComponent] });
|
10
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: AXTextAreaModule, imports: [MODULES] });
|
11
|
+
}
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: AXTextAreaModule, decorators: [{
|
13
|
+
type: NgModule,
|
14
|
+
args: [{
|
15
|
+
declarations: [...COMPONENT],
|
16
|
+
imports: [...MODULES],
|
17
|
+
exports: [...COMPONENT],
|
18
|
+
providers: [],
|
19
|
+
}]
|
20
|
+
}] });
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGFyZWEubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3NyYy9saWIvdGV4dGFyZWEvdGV4dGFyZWEubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQUUzRCxNQUFNLFNBQVMsR0FBRyxDQUFDLG1CQUFtQixDQUFDLENBQUM7QUFDeEMsTUFBTSxPQUFPLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQztBQVEvQixNQUFNLE9BQU8sZ0JBQWdCO3VHQUFoQixnQkFBZ0I7d0dBQWhCLGdCQUFnQixpQkFUVixtQkFBbUIsYUFDckIsWUFBWSxhQURWLG1CQUFtQjt3R0FTekIsZ0JBQWdCLFlBSlosT0FBTzs7MkZBSVgsZ0JBQWdCO2tCQU41QixRQUFRO21CQUFDO29CQUNOLFlBQVksRUFBRSxDQUFDLEdBQUcsU0FBUyxDQUFDO29CQUM1QixPQUFPLEVBQUUsQ0FBQyxHQUFHLE9BQU8sQ0FBQztvQkFDckIsT0FBTyxFQUFFLENBQUMsR0FBRyxTQUFTLENBQUM7b0JBQ3ZCLFNBQVMsRUFBRSxFQUFFO2lCQUNoQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEFYVGV4dEFyZWFDb21wb25lbnQgfSBmcm9tICcuL3RleHRhcmVhLmNvbXBvbmVudCc7XHJcblxyXG5jb25zdCBDT01QT05FTlQgPSBbQVhUZXh0QXJlYUNvbXBvbmVudF07XHJcbmNvbnN0IE1PRFVMRVMgPSBbQ29tbW9uTW9kdWxlXTtcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgICBkZWNsYXJhdGlvbnM6IFsuLi5DT01QT05FTlRdLFxyXG4gICAgaW1wb3J0czogWy4uLk1PRFVMRVNdLFxyXG4gICAgZXhwb3J0czogWy4uLkNPTVBPTkVOVF0sXHJcbiAgICBwcm92aWRlcnM6IFtdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQVhUZXh0QXJlYU1vZHVsZSB7IH0iXX0=
|
@@ -0,0 +1,42 @@
|
|
1
|
+
import { Component, ChangeDetectionStrategy, ViewEncapsulation, ChangeDetectorRef, ElementRef, Input } from '@angular/core';
|
2
|
+
import { AXBaseTextComponent, AXValidatableComponent } from '../base/element.class';
|
3
|
+
import * as i0 from "@angular/core";
|
4
|
+
import * as i1 from "@angular/common";
|
5
|
+
import * as i2 from "../button/button.component";
|
6
|
+
import * as i3 from "ngx-mask";
|
7
|
+
import * as i4 from "@angular/forms";
|
8
|
+
export class AXTextBoxComponent extends AXBaseTextComponent {
|
9
|
+
cdr;
|
10
|
+
mask;
|
11
|
+
type = 'text';
|
12
|
+
showMask = true;
|
13
|
+
maxLength;
|
14
|
+
maskGuid = false;
|
15
|
+
maskPlaceholder = '_';
|
16
|
+
maskKeepCharPositions = false;
|
17
|
+
constructor(cdr, ref) {
|
18
|
+
super(cdr, ref);
|
19
|
+
this.cdr = cdr;
|
20
|
+
}
|
21
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: AXTextBoxComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
22
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.0", type: AXTextBoxComponent, selector: "ax-text-box", inputs: { mask: "mask", type: "type", showMask: "showMask", maxLength: "maxLength", maskGuid: "maskGuid", maskPlaceholder: "maskPlaceholder", maskKeepCharPositions: "maskKeepCharPositions" }, host: { styleAttribute: "width: 100%" }, providers: [{ provide: AXValidatableComponent, useExisting: AXTextBoxComponent }], usesInheritance: true, ngImport: i0, template: "<div class=\"ax form-item\" [class.disabled]=\"disabled\" [attr.id]=\"uid\" #fc>\r\n <div class=\"ax items-wrapper\">\r\n <ng-content select=\"[start]\"> </ng-content>\r\n <i class=\"form-item-icon {{ icon }}\" *ngIf=\"icon\"></i>\r\n </div>\r\n <div class=\"content\" #content>\r\n <div\r\n class=\"ax form-control input {{ size }}\"\r\n [class.disabled]=\"disabled\"\r\n [class.readonly]=\"readonly\"\r\n [class.icon]=\"icon\"\r\n >\r\n <input\r\n #input\r\n [autocomplete]=\"autocomplete\"\r\n [name]=\"name\"\r\n class=\"ax {{ size }}\"\r\n [attr.type]=\"type\"\r\n [attr.maxlength]=\"maxLength\"\r\n [mask]=\"{\r\n mask: mask || false,\r\n showMask: showMask,\r\n keepCharPositions: maskKeepCharPositions,\r\n guide: maskGuid,\r\n placeholderChar: maskPlaceholder\r\n }\"\r\n [(ngModel)]=\"value\"\r\n placeholder=\"{{ placeholder }}\"\r\n [readonly]=\"readonly\"\r\n [disabled]=\"disabled\"\r\n [ngClass]=\"setTextAlign()\"\r\n [class.clear]=\"value && allowClear\"\r\n (focus)=\"handleInputFocus($event)\"\r\n (blur)=\"handleInputBlur($event)\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"ax items-wrapper\">\r\n <ax-button\r\n *ngIf=\"value && allowClear\"\r\n icon=\"far fa-times\"\r\n type=\"danger blank\"\r\n (click)=\"clear()\"\r\n ></ax-button>\r\n <ng-content select=\"[end]\"> </ng-content>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.AXButtonComponent, selector: "ax-button", inputs: ["type", "icon", "submitBehavior", "cancelBehavior", "block", "loading", "selected"] }, { kind: "directive", type: i3.NgxMaskDirective, selector: "input[mask], textarea[mask]", inputs: ["mask", "specialCharacters", "patterns", "prefix", "suffix", "thousandSeparator", "decimalMarker", "dropSpecialCharacters", "hiddenInput", "showMaskTyped", "placeHolderCharacter", "shownMaskExpression", "showTemplate", "clearIfNotMatch", "validation", "separatorLimit", "allowNegativeNumbers", "leadZeroDateTime", "leadZero", "triggerOnMaskChange", "apm"], outputs: ["maskFilled"], exportAs: ["mask", "ngxMask"] }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
23
|
+
}
|
24
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: AXTextBoxComponent, decorators: [{
|
25
|
+
type: Component,
|
26
|
+
args: [{ selector: 'ax-text-box', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: { style: 'width: 100%' }, providers: [{ provide: AXValidatableComponent, useExisting: AXTextBoxComponent }], template: "<div class=\"ax form-item\" [class.disabled]=\"disabled\" [attr.id]=\"uid\" #fc>\r\n <div class=\"ax items-wrapper\">\r\n <ng-content select=\"[start]\"> </ng-content>\r\n <i class=\"form-item-icon {{ icon }}\" *ngIf=\"icon\"></i>\r\n </div>\r\n <div class=\"content\" #content>\r\n <div\r\n class=\"ax form-control input {{ size }}\"\r\n [class.disabled]=\"disabled\"\r\n [class.readonly]=\"readonly\"\r\n [class.icon]=\"icon\"\r\n >\r\n <input\r\n #input\r\n [autocomplete]=\"autocomplete\"\r\n [name]=\"name\"\r\n class=\"ax {{ size }}\"\r\n [attr.type]=\"type\"\r\n [attr.maxlength]=\"maxLength\"\r\n [mask]=\"{\r\n mask: mask || false,\r\n showMask: showMask,\r\n keepCharPositions: maskKeepCharPositions,\r\n guide: maskGuid,\r\n placeholderChar: maskPlaceholder\r\n }\"\r\n [(ngModel)]=\"value\"\r\n placeholder=\"{{ placeholder }}\"\r\n [readonly]=\"readonly\"\r\n [disabled]=\"disabled\"\r\n [ngClass]=\"setTextAlign()\"\r\n [class.clear]=\"value && allowClear\"\r\n (focus)=\"handleInputFocus($event)\"\r\n (blur)=\"handleInputBlur($event)\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"ax items-wrapper\">\r\n <ax-button\r\n *ngIf=\"value && allowClear\"\r\n icon=\"far fa-times\"\r\n type=\"danger blank\"\r\n (click)=\"clear()\"\r\n ></ax-button>\r\n <ng-content select=\"[end]\"> </ng-content>\r\n </div>\r\n</div>\r\n" }]
|
27
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }]; }, propDecorators: { mask: [{
|
28
|
+
type: Input
|
29
|
+
}], type: [{
|
30
|
+
type: Input
|
31
|
+
}], showMask: [{
|
32
|
+
type: Input
|
33
|
+
}], maxLength: [{
|
34
|
+
type: Input
|
35
|
+
}], maskGuid: [{
|
36
|
+
type: Input
|
37
|
+
}], maskPlaceholder: [{
|
38
|
+
type: Input
|
39
|
+
}], maskKeepCharPositions: [{
|
40
|
+
type: Input
|
41
|
+
}] } });
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGJveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvc3JjL2xpYi90ZXh0Ym94L3RleHRib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3NyYy9saWIvdGV4dGJveC90ZXh0Ym94LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsdUJBQXVCLEVBQUUsaUJBQWlCLEVBQUUsaUJBQWlCLEVBQWEsVUFBVSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2SSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7O0FBVXBGLE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxtQkFBbUI7SUF1Qm5DO0lBcEJ0QixJQUFJLENBQU07SUFHVixJQUFJLEdBQThELE1BQU0sQ0FBQztJQUd6RSxRQUFRLEdBQVksSUFBSSxDQUFDO0lBR3pCLFNBQVMsQ0FBUztJQUdsQixRQUFRLEdBQVksS0FBSyxDQUFDO0lBRzFCLGVBQWUsR0FBVyxHQUFHLENBQUM7SUFHOUIscUJBQXFCLEdBQVksS0FBSyxDQUFDO0lBRXZDLFlBQXNCLEdBQXNCLEVBQUUsR0FBZTtRQUMzRCxLQUFLLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBREksUUFBRyxHQUFILEdBQUcsQ0FBbUI7SUFFNUMsQ0FBQzt1R0F6QlUsa0JBQWtCOzJGQUFsQixrQkFBa0IsK1FBRmxCLENBQUMsRUFBRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsV0FBVyxFQUFFLGtCQUFrQixFQUFFLENBQUMsaURDVG5GLG9pREErQ0E7OzJGRHBDYSxrQkFBa0I7a0JBUjlCLFNBQVM7K0JBQ0UsYUFBYSxpQkFFUixpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLFFBQ3pDLEVBQUUsS0FBSyxFQUFDLGFBQWEsRUFBRSxhQUNsQixDQUFDLEVBQUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLFdBQVcsb0JBQW9CLEVBQUUsQ0FBQztpSUFLakYsSUFBSTtzQkFESCxLQUFLO2dCQUlOLElBQUk7c0JBREgsS0FBSztnQkFJTixRQUFRO3NCQURQLEtBQUs7Z0JBSU4sU0FBUztzQkFEUixLQUFLO2dCQUlOLFFBQVE7c0JBRFAsS0FBSztnQkFJTixlQUFlO3NCQURkLEtBQUs7Z0JBSU4scUJBQXFCO3NCQURwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgVmlld0VuY2Fwc3VsYXRpb24sIENoYW5nZURldGVjdG9yUmVmLCBWaWV3Q2hpbGQsIEVsZW1lbnRSZWYsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFYQmFzZVRleHRDb21wb25lbnQsIEFYVmFsaWRhdGFibGVDb21wb25lbnQgfSBmcm9tICcuLi9iYXNlL2VsZW1lbnQuY2xhc3MnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdheC10ZXh0LWJveCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RleHRib3guY29tcG9uZW50Lmh0bWwnLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgaG9zdDogeyBzdHlsZTond2lkdGg6IDEwMCUnIH0sXHJcbiAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBBWFZhbGlkYXRhYmxlQ29tcG9uZW50LCB1c2VFeGlzdGluZzogQVhUZXh0Qm94Q29tcG9uZW50IH1dXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBWFRleHRCb3hDb21wb25lbnQgZXh0ZW5kcyBBWEJhc2VUZXh0Q29tcG9uZW50IHtcclxuXHJcbiAgQElucHV0KClcclxuICBtYXNrOiBhbnk7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgdHlwZTogJ3RleHQnIHwgJ251bWJlcicgfCAndGVsJyB8ICd1cmwnIHwgJ3Bhc3N3b3JkJyB8ICdzZWFyY2gnID0gJ3RleHQnO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHNob3dNYXNrOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgQElucHV0KClcclxuICBtYXhMZW5ndGg6IG51bWJlcjtcclxuXHJcbiAgQElucHV0KClcclxuICBtYXNrR3VpZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIG1hc2tQbGFjZWhvbGRlcjogc3RyaW5nID0gJ18nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIG1hc2tLZWVwQ2hhclBvc2l0aW9uczogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZiwgcmVmOiBFbGVtZW50UmVmKSB7XHJcbiAgICBzdXBlcihjZHIsIHJlZik7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJheCBmb3JtLWl0ZW1cIiBbY2xhc3MuZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBbYXR0ci5pZF09XCJ1aWRcIiAjZmM+XHJcbiAgPGRpdiBjbGFzcz1cImF4IGl0ZW1zLXdyYXBwZXJcIj5cclxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltzdGFydF1cIj4gPC9uZy1jb250ZW50PlxyXG4gICAgPGkgY2xhc3M9XCJmb3JtLWl0ZW0taWNvbiB7eyBpY29uIH19XCIgKm5nSWY9XCJpY29uXCI+PC9pPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJjb250ZW50XCIgI2NvbnRlbnQ+XHJcbiAgICA8ZGl2XHJcbiAgICAgIGNsYXNzPVwiYXggZm9ybS1jb250cm9sIGlucHV0IHt7IHNpemUgfX1cIlxyXG4gICAgICBbY2xhc3MuZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgICBbY2xhc3MucmVhZG9ubHldPVwicmVhZG9ubHlcIlxyXG4gICAgICBbY2xhc3MuaWNvbl09XCJpY29uXCJcclxuICAgID5cclxuICAgICAgPGlucHV0XHJcbiAgICAgICAgI2lucHV0XHJcbiAgICAgICAgW2F1dG9jb21wbGV0ZV09XCJhdXRvY29tcGxldGVcIlxyXG4gICAgICAgIFtuYW1lXT1cIm5hbWVcIlxyXG4gICAgICAgIGNsYXNzPVwiYXgge3sgc2l6ZSB9fVwiXHJcbiAgICAgICAgW2F0dHIudHlwZV09XCJ0eXBlXCJcclxuICAgICAgICBbYXR0ci5tYXhsZW5ndGhdPVwibWF4TGVuZ3RoXCJcclxuICAgICAgICBbbWFza109XCJ7XHJcbiAgICAgICAgICBtYXNrOiBtYXNrIHx8IGZhbHNlLFxyXG4gICAgICAgICAgc2hvd01hc2s6IHNob3dNYXNrLFxyXG4gICAgICAgICAga2VlcENoYXJQb3NpdGlvbnM6IG1hc2tLZWVwQ2hhclBvc2l0aW9ucyxcclxuICAgICAgICAgIGd1aWRlOiBtYXNrR3VpZCxcclxuICAgICAgICAgIHBsYWNlaG9sZGVyQ2hhcjogbWFza1BsYWNlaG9sZGVyXHJcbiAgICAgICAgfVwiXHJcbiAgICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiXHJcbiAgICAgICAgcGxhY2Vob2xkZXI9XCJ7eyBwbGFjZWhvbGRlciB9fVwiXHJcbiAgICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcclxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgICAgIFtuZ0NsYXNzXT1cInNldFRleHRBbGlnbigpXCJcclxuICAgICAgICBbY2xhc3MuY2xlYXJdPVwidmFsdWUgJiYgYWxsb3dDbGVhclwiXHJcbiAgICAgICAgKGZvY3VzKT1cImhhbmRsZUlucHV0Rm9jdXMoJGV2ZW50KVwiXHJcbiAgICAgICAgKGJsdXIpPVwiaGFuZGxlSW5wdXRCbHVyKCRldmVudClcIlxyXG4gICAgICAvPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cImF4IGl0ZW1zLXdyYXBwZXJcIj5cclxuICAgIDxheC1idXR0b25cclxuICAgICAgKm5nSWY9XCJ2YWx1ZSAmJiBhbGxvd0NsZWFyXCJcclxuICAgICAgaWNvbj1cImZhciBmYS10aW1lc1wiXHJcbiAgICAgIHR5cGU9XCJkYW5nZXIgYmxhbmtcIlxyXG4gICAgICAoY2xpY2spPVwiY2xlYXIoKVwiXHJcbiAgICA+PC9heC1idXR0b24+XHJcbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbZW5kXVwiPiA8L25nLWNvbnRlbnQ+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
|