@acorex/components 4.0.24 → 5.0.4
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 +24 -24
- package/acorex-components.d.ts +5 -4
- package/bundles/acorex-components.umd.js +6858 -6233
- package/bundles/acorex-components.umd.js.map +1 -1
- package/esm2015/acorex-components.js +5 -5
- package/esm2015/lib/alert/alert-button.component.js +52 -42
- package/esm2015/lib/alert/alert-contnet.component.js +21 -16
- package/esm2015/lib/alert/alert-footer.component.js +27 -18
- package/esm2015/lib/alert/alert-suffix.component.js +27 -18
- package/esm2015/lib/alert/alert-title.component.js +23 -16
- package/esm2015/lib/alert/alert.component.js +131 -87
- package/esm2015/lib/alert/alert.module.js +43 -28
- package/esm2015/lib/alert/index.js +8 -8
- package/esm2015/lib/avatar/avatar.component.js +55 -0
- package/esm2015/lib/avatar/avatar.module.js +21 -0
- package/esm2015/lib/avatar/index.js +3 -0
- package/esm2015/lib/base/common.module.js +18 -13
- package/esm2015/lib/base/custom-cdk-overlay.service.js +47 -56
- package/esm2015/lib/base/drawing.class.js +11 -11
- package/esm2015/lib/base/events.class.js +53 -19
- package/esm2015/lib/base/index.js +7 -7
- package/esm2015/lib/base/mixin/base-components.class.js +83 -72
- package/esm2015/lib/base/mixin/button-mixin.class.js +129 -36
- package/esm2015/lib/base/mixin/clickable-mixin.class.js +24 -17
- package/esm2015/lib/base/mixin/constratctor.js +2 -2
- package/esm2015/lib/base/mixin/datalist-component.class.js +97 -97
- package/esm2015/lib/base/mixin/dropdown-mixin.class.js +36 -36
- package/esm2015/lib/base/mixin/index.js +3 -3
- package/esm2015/lib/base/mixin/interactive-mixin.class.js +72 -47
- package/esm2015/lib/base/mixin/loading-mixin.class.js +18 -15
- package/esm2015/lib/base/mixin/mixin.class.js +23 -24
- package/esm2015/lib/base/mixin/selection-component.class.js +158 -158
- package/esm2015/lib/base/mixin/sizable-mixin.class.js +18 -19
- package/esm2015/lib/base/mixin/textbox-mixin.class.js +38 -19
- package/esm2015/lib/base/mixin/value-mixin.class.js +190 -172
- package/esm2015/lib/base/overlay.service.js +91 -96
- package/esm2015/lib/base/responsive.directive.js +34 -33
- package/esm2015/lib/base/styles.class.js +4 -4
- package/esm2015/lib/button/button-group.component.js +131 -71
- package/esm2015/lib/button/button-item.class.js +2 -2
- package/esm2015/lib/button/button-item.component.js +81 -35
- package/esm2015/lib/button/button.component.js +51 -34
- package/esm2015/lib/button/button.module.js +37 -24
- package/esm2015/lib/button/dropdown-button.component.js +200 -108
- package/esm2015/lib/button/index.js +7 -7
- package/esm2015/lib/calendar/calendar.component.js +59 -69
- package/esm2015/lib/calendar/calendar.module.js +24 -19
- package/esm2015/lib/calendar/index.js +3 -3
- package/esm2015/lib/carousel/carousel-arrows.component.js +53 -45
- package/esm2015/lib/carousel/carousel-item.component.js +21 -21
- package/esm2015/lib/carousel/carousel-pager.component.js +74 -71
- package/esm2015/lib/carousel/carousel-splidejs.class.js +82 -83
- package/esm2015/lib/carousel/carousel.class.js +10 -7
- package/esm2015/lib/carousel/carousel.component.js +246 -226
- package/esm2015/lib/carousel/carousel.module.js +24 -19
- package/esm2015/lib/carousel/index.js +7 -7
- package/esm2015/lib/checkbox/checkbox.component.js +40 -41
- package/esm2015/lib/checkbox/checkbox.module.js +20 -15
- package/esm2015/lib/checkbox/index.js +3 -3
- package/esm2015/lib/datalist/datalist.component.js +81 -71
- package/esm2015/lib/datalist/datalist.module.js +22 -17
- package/esm2015/lib/datalist/index.js +3 -3
- package/esm2015/lib/datepicker/datepicker.component.js +64 -62
- package/esm2015/lib/datepicker/datepicker.module.js +23 -18
- package/esm2015/lib/datepicker/index.js +3 -3
- package/esm2015/lib/decorators/decorators.module.js +22 -17
- package/esm2015/lib/decorators/index.js +4 -4
- package/esm2015/lib/decorators/prefix.component.js +27 -28
- package/esm2015/lib/decorators/suffix.component.js +35 -28
- package/esm2015/lib/dialog/dialog.class.js +2 -47
- package/esm2015/lib/dialog/dialog.component.js +45 -39
- package/esm2015/lib/dialog/dialog.module.js +26 -19
- package/esm2015/lib/dialog/dialog.service.js +127 -139
- package/esm2015/lib/dialog/index.js +5 -5
- package/esm2015/lib/drawer/drawer-container.component.js +73 -67
- package/esm2015/lib/drawer/drawer-content.component.js +27 -24
- package/esm2015/lib/drawer/drawer.component.js +145 -139
- package/esm2015/lib/drawer/drawer.module.js +23 -18
- package/esm2015/lib/drawer/index.js +5 -5
- package/esm2015/lib/dropdown/dropdown-panel.component.js +194 -0
- package/esm2015/lib/dropdown/dropdown.component.js +139 -127
- package/esm2015/lib/dropdown/dropdown.module.js +24 -15
- package/esm2015/lib/dropdown/index.js +4 -3
- package/esm2015/lib/form/form-field.component.js +20 -20
- package/esm2015/lib/form/form-field.module.js +21 -15
- package/esm2015/lib/form/form-hint.component.js +20 -0
- package/esm2015/lib/form/form.component.js +51 -51
- package/esm2015/lib/form/index.js +5 -4
- package/esm2015/lib/icon/icon.component.js +28 -28
- package/esm2015/lib/icon/icon.module.js +21 -16
- package/esm2015/lib/icon/index.js +3 -3
- package/esm2015/lib/input-mask/index.js +3 -3
- package/esm2015/lib/input-mask/input-mask.component.js +42 -35
- package/esm2015/lib/input-mask/input-mask.module.js +23 -17
- package/esm2015/lib/label/index.js +3 -3
- package/esm2015/lib/label/label.component.js +20 -20
- package/esm2015/lib/label/label.module.js +21 -16
- package/esm2015/lib/loading/index.js +6 -5
- package/esm2015/lib/loading/loading-spinner.component.js +32 -0
- package/esm2015/lib/loading/loading.component.js +54 -23
- package/esm2015/lib/loading/loading.directive.js +67 -70
- package/esm2015/lib/loading/loading.module.js +35 -18
- package/esm2015/lib/loading/loading.service.js +155 -157
- package/esm2015/lib/number-box/index.js +3 -3
- package/esm2015/lib/number-box/number-box.component.js +289 -242
- package/esm2015/lib/number-box/number-box.module.js +32 -24
- package/esm2015/lib/page/base-page.class.js +66 -84
- package/esm2015/lib/page/index.js +5 -3
- package/esm2015/lib/page/page-footer.component.js +32 -0
- package/esm2015/lib/page/page.component.js +33 -32
- package/esm2015/lib/page/page.module.js +18 -0
- package/esm2015/lib/popover/index.js +3 -0
- package/esm2015/lib/popover/popover.component.js +119 -0
- package/esm2015/lib/popover/popover.module.js +19 -0
- package/esm2015/lib/popup/index.js +4 -4
- package/esm2015/lib/popup/popup.component.js +97 -143
- package/esm2015/lib/popup/popup.module.js +26 -19
- package/esm2015/lib/popup/popup.service.js +94 -89
- package/esm2015/lib/range-slider/index.js +3 -0
- package/esm2015/lib/range-slider/range-slider.component.js +22 -0
- package/esm2015/lib/range-slider/range-slider.module.js +21 -0
- package/esm2015/lib/selectbox/index.js +3 -3
- package/esm2015/lib/selectbox/selectbox.component.js +193 -188
- package/esm2015/lib/selectbox/selectbox.module.js +21 -16
- package/esm2015/lib/selection-list/index.js +3 -3
- package/esm2015/lib/selection-list/selection-list.component.js +46 -46
- package/esm2015/lib/selection-list/selection-list.module.js +21 -16
- package/esm2015/lib/side-menu/index.js +3 -3
- package/esm2015/lib/side-menu/side-menu.component.js +21 -21
- package/esm2015/lib/side-menu/side-menu.module.js +21 -16
- package/esm2015/lib/switch/index.js +3 -3
- package/esm2015/lib/switch/switch.component.js +30 -29
- package/esm2015/lib/switch/switch.module.js +21 -16
- package/esm2015/lib/tabs/index.js +6 -6
- package/esm2015/lib/tabs/tab-strip.component.js +61 -57
- package/esm2015/lib/tabs/tab-view.component.js +46 -45
- package/esm2015/lib/tabs/tab.component.js +59 -48
- package/esm2015/lib/tabs/tabs.class.js +4 -4
- package/esm2015/lib/tabs/tabs.module.js +23 -18
- package/esm2015/lib/textbox/index.js +3 -3
- package/esm2015/lib/textbox/textbox.component.js +62 -46
- package/esm2015/lib/textbox/textbox.module.js +43 -24
- package/esm2015/lib/time-box/index.js +3 -3
- package/esm2015/lib/time-box/time-box.component.js +134 -127
- package/esm2015/lib/time-box/time-box.module.js +32 -24
- package/esm2015/lib/toast/index.js +5 -5
- package/esm2015/lib/toast/toast.class.js +2 -2
- package/esm2015/lib/toast/toast.component.js +50 -54
- package/esm2015/lib/toast/toast.module.js +22 -17
- package/esm2015/lib/toast/toast.service.js +114 -117
- package/esm2015/lib/tooltip/index.js +4 -4
- package/esm2015/lib/tooltip/tooltip.component.js +45 -37
- package/esm2015/lib/tooltip/tooltip.directive.js +86 -81
- package/esm2015/lib/tooltip/tooltip.module.js +23 -18
- package/esm2015/lib/validation/index.js +3 -3
- package/esm2015/lib/validation/validation-rule.widget.js +113 -110
- package/esm2015/lib/validation/validation.class.js +2 -2
- package/esm2015/lib/validation/validation.module.js +32 -28
- package/esm2015/public-api.js +39 -32
- package/fesm2015/acorex-components.js +5918 -5285
- package/fesm2015/acorex-components.js.map +1 -1
- package/lib/alert/alert-button.component.d.ts +13 -10
- package/lib/alert/alert-contnet.component.d.ts +5 -2
- package/lib/alert/alert-footer.component.d.ts +5 -2
- package/lib/alert/alert-suffix.component.d.ts +5 -2
- package/lib/alert/alert-title.component.d.ts +5 -2
- package/lib/alert/alert.component.d.ts +46 -16
- package/lib/alert/alert.module.d.ts +13 -2
- package/lib/alert/index.d.ts +7 -7
- package/lib/avatar/avatar.component.d.ts +20 -0
- package/lib/avatar/avatar.module.d.ts +8 -0
- package/lib/avatar/index.d.ts +2 -0
- package/lib/base/common.module.d.ts +7 -2
- package/lib/base/custom-cdk-overlay.service.d.ts +19 -14
- package/lib/base/drawing.class.d.ts +9 -9
- package/lib/base/events.class.d.ts +72 -28
- package/lib/base/index.d.ts +6 -6
- package/lib/base/mixin/base-components.class.d.ts +84 -51
- package/lib/base/mixin/button-mixin.class.d.ts +79 -34
- package/lib/base/mixin/clickable-mixin.class.d.ts +42 -29
- package/lib/base/mixin/constratctor.d.ts +4 -4
- package/lib/base/mixin/datalist-component.class.d.ts +54 -45
- package/lib/base/mixin/dropdown-mixin.class.d.ts +47 -38
- package/lib/base/mixin/index.d.ts +2 -2
- package/lib/base/mixin/interactive-mixin.class.d.ts +60 -34
- package/lib/base/mixin/loading-mixin.class.d.ts +46 -28
- package/lib/base/mixin/mixin.class.d.ts +814 -493
- package/lib/base/mixin/selection-component.class.d.ts +55 -46
- package/lib/base/mixin/sizable-mixin.class.d.ts +40 -28
- package/lib/base/mixin/textbox-mixin.class.d.ts +59 -33
- package/lib/base/mixin/value-mixin.class.d.ts +68 -50
- package/lib/base/overlay.service.d.ts +31 -28
- package/lib/base/responsive.directive.d.ts +10 -7
- package/lib/base/styles.class.d.ts +17 -6
- package/lib/button/button-group.component.d.ts +36 -19
- package/lib/button/button-item.class.d.ts +22 -17
- package/lib/button/button-item.component.d.ts +92 -16
- package/lib/button/button.component.d.ts +18 -6
- package/lib/button/button.module.d.ts +13 -2
- package/lib/button/dropdown-button.component.d.ts +234 -27
- package/lib/button/index.d.ts +6 -6
- package/lib/calendar/calendar.component.d.ts +16 -17
- package/lib/calendar/calendar.module.d.ts +11 -2
- package/lib/calendar/index.d.ts +2 -2
- package/lib/carousel/carousel-arrows.component.d.ts +14 -11
- package/lib/carousel/carousel-item.component.d.ts +8 -5
- package/lib/carousel/carousel-pager.component.d.ts +22 -19
- package/lib/carousel/carousel-splidejs.class.d.ts +18 -18
- package/lib/carousel/carousel.class.d.ts +48 -45
- package/lib/carousel/carousel.component.d.ts +62 -59
- package/lib/carousel/carousel.module.d.ts +11 -2
- package/lib/carousel/index.d.ts +6 -6
- package/lib/checkbox/checkbox.component.d.ts +12 -9
- package/lib/checkbox/checkbox.module.d.ts +9 -2
- package/lib/checkbox/index.d.ts +2 -2
- package/lib/datalist/datalist.component.d.ts +25 -22
- package/lib/datalist/datalist.module.d.ts +9 -2
- package/lib/datalist/index.d.ts +2 -2
- package/lib/datepicker/datepicker.component.d.ts +18 -15
- package/lib/datepicker/datepicker.module.d.ts +10 -2
- package/lib/datepicker/index.d.ts +2 -2
- package/lib/decorators/decorators.module.d.ts +9 -2
- package/lib/decorators/index.d.ts +3 -3
- package/lib/decorators/prefix.component.d.ts +8 -5
- package/lib/decorators/suffix.component.d.ts +8 -5
- package/lib/dialog/dialog.class.d.ts +12 -35
- package/lib/dialog/dialog.component.d.ts +15 -12
- package/lib/dialog/dialog.module.d.ts +13 -2
- package/lib/dialog/dialog.service.d.ts +18 -13
- package/lib/dialog/index.d.ts +4 -4
- package/lib/drawer/drawer-container.component.d.ts +13 -10
- package/lib/drawer/drawer-content.component.d.ts +8 -5
- package/lib/drawer/drawer.component.d.ts +30 -27
- package/lib/drawer/drawer.module.d.ts +10 -2
- package/lib/drawer/index.d.ts +4 -4
- package/lib/dropdown/dropdown-panel.component.d.ts +117 -0
- package/lib/dropdown/dropdown.component.d.ts +31 -22
- package/lib/dropdown/dropdown.module.d.ts +13 -2
- package/lib/dropdown/index.d.ts +3 -2
- package/lib/form/form-field.component.d.ts +8 -5
- package/lib/form/form-field.module.d.ts +10 -2
- package/lib/form/form-hint.component.d.ts +8 -0
- package/lib/form/form.component.d.ts +13 -10
- package/lib/form/index.d.ts +4 -3
- package/lib/icon/icon.component.d.ts +10 -7
- package/lib/icon/icon.module.d.ts +8 -2
- package/lib/icon/index.d.ts +2 -2
- package/lib/input-mask/index.d.ts +2 -2
- package/lib/input-mask/input-mask.component.d.ts +14 -11
- package/lib/input-mask/input-mask.module.d.ts +9 -2
- package/lib/label/index.d.ts +2 -2
- package/lib/label/label.component.d.ts +8 -5
- package/lib/label/label.module.d.ts +8 -2
- package/lib/loading/index.d.ts +5 -4
- package/lib/loading/loading-spinner.component.d.ts +5 -0
- package/lib/loading/loading.component.d.ts +19 -5
- package/lib/loading/loading.directive.d.ts +22 -19
- package/lib/loading/loading.module.d.ts +13 -2
- package/lib/loading/loading.service.d.ts +48 -45
- package/lib/number-box/index.d.ts +2 -2
- package/lib/number-box/number-box.component.d.ts +69 -31
- package/lib/number-box/number-box.module.d.ts +11 -2
- package/lib/page/base-page.class.d.ts +37 -40
- package/lib/page/index.d.ts +4 -2
- package/lib/page/page-footer.component.d.ts +7 -0
- package/lib/page/page.component.d.ts +13 -11
- package/lib/page/page.module.d.ts +7 -0
- package/lib/popover/index.d.ts +2 -0
- package/lib/popover/popover.component.d.ts +30 -0
- package/lib/popover/popover.module.d.ts +8 -0
- package/lib/popup/index.d.ts +3 -3
- package/lib/popup/popup.component.d.ts +33 -33
- package/lib/popup/popup.module.d.ts +12 -2
- package/lib/popup/popup.service.d.ts +37 -18
- package/lib/range-slider/index.d.ts +2 -0
- package/lib/range-slider/range-slider.component.d.ts +8 -0
- package/lib/range-slider/range-slider.module.d.ts +8 -0
- package/lib/selectbox/index.d.ts +2 -2
- package/lib/selectbox/selectbox.component.d.ts +28 -25
- package/lib/selectbox/selectbox.module.d.ts +10 -2
- package/lib/selection-list/index.d.ts +2 -2
- package/lib/selection-list/selection-list.component.d.ts +10 -7
- package/lib/selection-list/selection-list.module.d.ts +10 -2
- package/lib/side-menu/index.d.ts +2 -2
- package/lib/side-menu/side-menu.component.d.ts +8 -5
- package/lib/side-menu/side-menu.module.d.ts +8 -2
- package/lib/switch/index.d.ts +2 -2
- package/lib/switch/switch.component.d.ts +9 -6
- package/lib/switch/switch.module.d.ts +9 -2
- package/lib/tabs/index.d.ts +5 -5
- package/lib/tabs/tab-strip.component.d.ts +17 -14
- package/lib/tabs/tab-view.component.d.ts +14 -11
- package/lib/tabs/tab.component.d.ts +18 -15
- package/lib/tabs/tabs.class.d.ts +18 -18
- package/lib/tabs/tabs.module.d.ts +10 -2
- package/lib/textbox/index.d.ts +2 -2
- package/lib/textbox/textbox.component.d.ts +19 -8
- package/lib/textbox/textbox.module.d.ts +13 -2
- package/lib/time-box/index.d.ts +2 -2
- package/lib/time-box/time-box.component.d.ts +29 -26
- package/lib/time-box/time-box.module.d.ts +11 -2
- package/lib/toast/index.d.ts +4 -4
- package/lib/toast/toast.class.d.ts +14 -14
- package/lib/toast/toast.component.d.ts +16 -13
- package/lib/toast/toast.module.d.ts +9 -2
- package/lib/toast/toast.service.d.ts +18 -15
- package/lib/tooltip/index.d.ts +3 -3
- package/lib/tooltip/tooltip.component.d.ts +10 -7
- package/lib/tooltip/tooltip.directive.d.ts +18 -15
- package/lib/tooltip/tooltip.module.d.ts +10 -2
- package/lib/validation/index.d.ts +2 -2
- package/lib/validation/validation-rule.widget.d.ts +25 -22
- package/lib/validation/validation.class.d.ts +17 -17
- package/lib/validation/validation.module.d.ts +9 -3
- package/package.json +19 -21
- package/public-api.d.ts +37 -31
- package/acorex-components.metadata.json +0 -1
- package/bundles/acorex-components.umd.min.js +0 -16
- package/bundles/acorex-components.umd.min.js.map +0 -1
- package/esm2015/lib/datapager/datapager-base.component.js +0 -33
- package/esm2015/lib/datapager/datapager-info.component.js +0 -59
- package/esm2015/lib/datapager/datapager-input-selector.component.js +0 -51
- package/esm2015/lib/datapager/datapager-next-buttons.components.js +0 -51
- package/esm2015/lib/datapager/datapager-numeric-selector.component.js +0 -86
- package/esm2015/lib/datapager/datapager-pagesize-dropdown.component.js +0 -69
- package/esm2015/lib/datapager/datapager-prev-buttons.component.js +0 -47
- package/esm2015/lib/datapager/datapager.component.js +0 -122
- package/esm2015/lib/datapager/datapager.module.js +0 -32
- package/esm2015/lib/datapager/index.js +0 -9
- package/lib/datapager/datapager-base.component.d.ts +0 -12
- package/lib/datapager/datapager-info.component.d.ts +0 -24
- package/lib/datapager/datapager-input-selector.component.d.ts +0 -12
- package/lib/datapager/datapager-next-buttons.components.d.ts +0 -14
- package/lib/datapager/datapager-numeric-selector.component.d.ts +0 -17
- package/lib/datapager/datapager-pagesize-dropdown.component.d.ts +0 -17
- package/lib/datapager/datapager-prev-buttons.component.d.ts +0 -13
- package/lib/datapager/datapager.component.d.ts +0 -41
- package/lib/datapager/datapager.module.d.ts +0 -2
- package/lib/datapager/index.d.ts +0 -8
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { AXRangeSliderComponent } from './range-slider.component';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
const COMPONENT = [AXRangeSliderComponent];
|
|
6
|
+
const MODULES = [CommonModule];
|
|
7
|
+
export class AXRangeSliderModule {
|
|
8
|
+
}
|
|
9
|
+
AXRangeSliderModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXRangeSliderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
10
|
+
AXRangeSliderModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXRangeSliderModule, declarations: [AXRangeSliderComponent], imports: [CommonModule], exports: [AXRangeSliderComponent] });
|
|
11
|
+
AXRangeSliderModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXRangeSliderModule, providers: [], imports: [[...MODULES]] });
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXRangeSliderModule, 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFuZ2Utc2xpZGVyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL3NyYy9saWIvcmFuZ2Utc2xpZGVyL3JhbmdlLXNsaWRlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7O0FBRWxFLE1BQU0sU0FBUyxHQUFHLENBQUMsc0JBQXNCLENBQUMsQ0FBQztBQUMzQyxNQUFNLE9BQU8sR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDO0FBUS9CLE1BQU0sT0FBTyxtQkFBbUI7O2dIQUFuQixtQkFBbUI7aUhBQW5CLG1CQUFtQixpQkFUYixzQkFBc0IsYUFDeEIsWUFBWSxhQURWLHNCQUFzQjtpSEFTNUIsbUJBQW1CLGFBRmpCLEVBQUUsWUFGSixDQUFDLEdBQUcsT0FBTyxDQUFDOzJGQUlaLG1CQUFtQjtrQkFOL0IsUUFBUTttQkFBQztvQkFDTixZQUFZLEVBQUUsQ0FBQyxHQUFHLFNBQVMsQ0FBQztvQkFDNUIsT0FBTyxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUM7b0JBQ3JCLE9BQU8sRUFBRSxDQUFDLEdBQUcsU0FBUyxDQUFDO29CQUN2QixTQUFTLEVBQUUsRUFBRTtpQkFDaEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEFYUmFuZ2VTbGlkZXJDb21wb25lbnQgfSBmcm9tICcuL3JhbmdlLXNsaWRlci5jb21wb25lbnQnO1xuXG5jb25zdCBDT01QT05FTlQgPSBbQVhSYW5nZVNsaWRlckNvbXBvbmVudF07XG5jb25zdCBNT0RVTEVTID0gW0NvbW1vbk1vZHVsZV07XG5cbkBOZ01vZHVsZSh7XG4gICAgZGVjbGFyYXRpb25zOiBbLi4uQ09NUE9ORU5UXSxcbiAgICBpbXBvcnRzOiBbLi4uTU9EVUxFU10sXG4gICAgZXhwb3J0czogWy4uLkNPTVBPTkVOVF0sXG4gICAgcHJvdmlkZXJzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhSYW5nZVNsaWRlck1vZHVsZSB7IH1cbiJdfQ==
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export * from './selectbox.component';
|
|
2
|
-
export * from './selectbox.module';
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
export * from './selectbox.component';
|
|
2
|
+
export * from './selectbox.module';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL3NlbGVjdGJveC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsb0JBQW9CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NlbGVjdGJveC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zZWxlY3Rib3gubW9kdWxlJzsiXX0=
|
|
@@ -1,188 +1,193 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy,
|
|
2
|
-
import { AXBaseSelectionDropdownMixin } from '../base';
|
|
3
|
-
import { AXDropdownComponent } from '../dropdown';
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
this.
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
this.dropdown.
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
this.dropdown.
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
this.dropdown.
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
this.
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
this.
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
this.
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
this.
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
this.
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
this._currentfocusedIndex
|
|
133
|
-
}
|
|
134
|
-
if (this._currentfocusedIndex
|
|
135
|
-
this._currentfocusedIndex =
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
if (index
|
|
161
|
-
index =
|
|
162
|
-
}
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
]
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
]
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0Ym94LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvIiwic291cmNlcyI6WyJsaWIvc2VsZWN0Ym94L3NlbGVjdGJveC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLHVCQUF1QixFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQW9CLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hLLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUV2RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFXbEQsTUFBTSxPQUFPLG9CQUFxQixTQUFRLDRCQUE0QjtJQVdsRSxZQUNJLFVBQXNCLEVBQ3RCLEdBQXNCLEVBQ2QsSUFBWTtRQUVwQixLQUFLLENBQUMsVUFBVSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBRmYsU0FBSSxHQUFKLElBQUksQ0FBUTtRQUx4Qix5QkFBb0IsR0FBVyxDQUFDLENBQUMsQ0FBQztJQVFsQyxDQUFDO0lBRUQsSUFBSTtRQUNBLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUNELEtBQUs7UUFDRCxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFDRCxNQUFNO1FBQ0YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBR0QsVUFBVTtRQUNOLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDbEMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDOUIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsSUFBSSxNQUFNO1FBQ04sT0FB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QWEsRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsU0FBUyxDQUFDO2dCQUN2RixhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtnQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07Z0JBQy9DLElBQUksRUFBRSxFQUFFLE9BQU8sRUFBRSxlQUFlLEVBQUU7YUFDckM7OztZQWIrRCxVQUFVO1lBQXhDLGlCQUFpQjtZQUF1QyxNQUFNOzs7dUJBZ0IzRixTQUFTLFNBQUMsbUJBQW1COzRCQUc3QixTQUFTLFNBQUMsZUFBZSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTs2QkFtRTNDLFlBQVksU0FBQyxrQkFBa0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE92ZXJsYXkgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XHJcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBIb3N0TGlzdGVuZXIsIE5nWm9uZSwgVmlld0NoaWxkLCBWaWV3Q29udGFpbmVyUmVmLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBWEJhc2VTZWxlY3Rpb25Ecm9wZG93bk1peGluIH0gZnJvbSAnLi4vYmFzZSc7XHJcbmltcG9ydCB7IERyb3Bkb3duQ29tcG9uZW50SW50ZXJmYWNlIH0gZnJvbSAnLi4vYmFzZS9taXhpbi9kcm9wZG93bi1taXhpbi5jbGFzcyc7XHJcbmltcG9ydCB7IEFYRHJvcGRvd25Db21wb25lbnQgfSBmcm9tICcuLi9kcm9wZG93bic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYXgtc2VsZWN0LWJveCcsXHJcbiAgICB0ZW1wbGF0ZVVybDogJ3NlbGVjdGJveC5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBpbnB1dHM6IFsnZGlzYWJsZWQnLCAncmVhZG9ubHknLCAndGFiSW5kZXgnLCAnc2l6ZScsICdmaXRQYXJlbnQnLCAndmFsdWUnLCAnaXRlbXMnLCAnbXVsdGlwbGUnLCAnYWxsb3dOdWxsJywgJ3ZhbHVlRmllbGQnLCAndGV4dEZpZWxkJ10sXHJcbiAgICBvdXRwdXRzOiBbJ29uT3BlbmVkJywgJ29uQ2xvc2VkJywgJ3ZhbHVlQ2hhbmdlJywgJ29uVmFsdWVDaGFuZ2VkJywgJ29uQmx1cicsICdvbkZvY3VzJ10sXHJcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgICBob3N0OiB7ICdjbGFzcyc6ICdheC1zZWxlY3QtYm94JyB9XHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBWFNlbGVjdEJveENvbXBvbmVudCBleHRlbmRzIEFYQmFzZVNlbGVjdGlvbkRyb3Bkb3duTWl4aW4gaW1wbGVtZW50cyBEcm9wZG93bkNvbXBvbmVudEludGVyZmFjZSB7XHJcblxyXG4gICAgQFZpZXdDaGlsZChBWERyb3Bkb3duQ29tcG9uZW50KVxyXG4gICAgcHJpdmF0ZSBkcm9wZG93bjogQVhEcm9wZG93bkNvbXBvbmVudDtcclxuXHJcbiAgICBAVmlld0NoaWxkKCdsaXN0Q29udGFpbmVyJywgeyBzdGF0aWM6IHRydWUgfSlcclxuICAgIHByaXZhdGUgbGlzdENvbnRhaW5lcjogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XHJcblxyXG5cclxuICAgIF9jdXJyZW50Zm9jdXNlZEluZGV4OiBudW1iZXIgPSAtMTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxyXG4gICAgICAgIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICAgICAgcHJpdmF0ZSB6b25lOiBOZ1pvbmVcclxuICAgICkge1xyXG4gICAgICAgIHN1cGVyKGVsZW1lbnRSZWYsIGNkcik7XHJcbiAgICB9XHJcblxyXG4gICAgb3BlbigpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmRyb3Bkb3duLm9wZW4oKTtcclxuICAgIH1cclxuICAgIGNsb3NlKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuZHJvcGRvd24uY2xvc2UoKTtcclxuICAgIH1cclxuICAgIHRvZ2dsZSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmRyb3Bkb3duLnRvZ2dsZSgpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBvblZpZXdJbml0KCkge1xyXG4gICAgICAgIHRoaXMuZHJvcGRvd24ub25PcGVuZWQuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5fZm9jdXNTZWxlY3RlZEl0ZW0oKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgaXNPcGVuKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmRyb3Bkb3duLmlzT3BlbjtcclxuICAgIH1cclxuXHJcblxyXG4gICAgX2hhbmRsZU9uSXRlbUNsaWNrKGU6IE1vdXNlRXZlbnQsIGl0ZW06IGFueSkge1xyXG4gICAgICAgIHRoaXMuY2xvc2UoKTtcclxuICAgICAgICB0aGlzLnRvZ2dsZVNlbGVjdChpdGVtKTtcclxuICAgIH1cclxuXHJcbiAgICBfaGFuZGxlTGlzdFNjcm9sbChlOiBVSUV2ZW50KSB7XHJcbiAgICAgICAgY29uc3QgbGlzdCA9IGUudGFyZ2V0IGFzIEhUTUxEaXZFbGVtZW50O1xyXG4gICAgICAgIGlmICgobGlzdC5zY3JvbGxUb3AgPCBsaXN0LnNjcm9sbEhlaWdodCAtIGxpc3QuY2xpZW50SGVpZ2h0KSkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuX2ZldGNoRGF0YSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX2NoZWNrRm9yTG9hZERhdGEoKSB7XHJcbiAgICAgICAgY29uc3QgbGlzdCA9IHRoaXMubGlzdENvbnRhaW5lci5uYXRpdmVFbGVtZW50O1xyXG4gICAgICAgIGlmICh0aGlzLmxvYWRlZENvdW50IDwgdGhpcy50b3RhbENvdW50ICYmIGxpc3QuY2xpZW50SGVpZ2h0IDwgbGlzdC5wYXJlbnRFbGVtZW50LmNsaWVudEhlaWdodCkge1xyXG4gICAgICAgICAgICB0aGlzLl9mZXRjaERhdGEoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgX29uRGF0YUxvYWRlZCgpIHtcclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5fY2hlY2tGb3JMb2FkRGF0YSgpO1xyXG4gICAgICAgIH0sIDEwMCk7XHJcbiAgICB9XHJcblxyXG4gICAgX2hhbmRsZU9uUmVtb3ZlSXRlbUNsaWNrKGU6IE1vdXNlRXZlbnQsIGl0ZW06IGFueSkge1xyXG4gICAgICAgIHRoaXMudW5zZWxlY3RJdGVtcyhpdGVtKVxyXG4gICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICB9XHJcblxyXG4gICAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6a2V5ZG93bicsIFsnJGV2ZW50J10pXHJcbiAgICBfaGFuZGxlS2V5ZG93bihlOiBLZXlib2FyZEV2ZW50KSB7XHJcbiAgICAgICAgaWYgKCEoXHJcbiAgICAgICAgICAgIHRoaXMuX2dldEhvc3RFbGVtZW50KCkgPT0gZG9jdW1lbnQuYWN0aXZlRWxlbWVudCB8fFxyXG4gICAgICAgICAgICB0aGlzLl9nZXRIb3N0RWxlbWVudCgpLmNvbnRhaW5zKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpIHx8XHJcbiAgICAgICAgICAgIHRoaXMubGlzdENvbnRhaW5lci5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpXHJcbiAgICAgICAgKSkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoZS5rZXkgPT09ICdFc2NhcGUnIHx8IHRoaXMuZGlzYWJsZWQgfHwgdGhpcy5yZWFkb25seSkge1xyXG4gICAgICAgICAgICB0aGlzLmNsb3NlKCk7XHJcbiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCBpc0xldHRlciA9IG5ldyBSZWdFeHAoL1thLXpBLVowLTlcXC1dLykudGVzdChTdHJpbmcuZnJvbUNoYXJDb2RlKGUua2V5Q29kZSkpO1xyXG4gICAgICAgIGlmIChlLmtleSA9PT0gJ0JhY2tzcGFjZScgJiYgZS50eXBlID09PSAna2V5ZG93bicgJiZcclxuICAgICAgICAgICAgKCh0aGlzLmFsbG93TnVsbCA9PT0gdHJ1ZSAmJiB0aGlzLnNlbGVjdGVkSXRlbXMubGVuZ3RoID4gMCkgfHxcclxuICAgICAgICAgICAgICAgICh0aGlzLmFsbG93TnVsbCAhPT0gdHJ1ZSAmJiB0aGlzLnNlbGVjdGVkSXRlbXMubGVuZ3RoID4gMSkpKSB7XHJcbiAgICAgICAgICAgIHRoaXMuaXNVc2VySW5wdXQgPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLnVuc2VsZWN0SXRlbXModGhpcy5zZWxlY3RlZEl0ZW1zLnBvcCgpKTtcclxuICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKChlLmtleSA9PT0gJ0Fycm93RG93bicgfHwgZS5rZXkgPT09ICdBcnJvd1VwJykgJiYgdGhpcy5kaXNwbGF5SXRlbXMubGVuZ3RoID4gMCAmJiAhdGhpcy5kcm9wZG93bi5pc09wZW4gJiYgZS50eXBlID09PSAna2V5ZG93bicpIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMubXVsdGlwbGUpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMub3BlbigpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5pc1VzZXJJbnB1dCA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICBpZiAoZS5jdHJsS2V5KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vcGVuKCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9zZWxlY3RlZEl0ZW1CeUluZGV4KHRoaXMuX2N1cnJlbnRmb2N1c2VkSW5kZXggKyAoZS5rZXkgPT09ICdBcnJvd0Rvd24nID8gMSA6IC0xKSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlzTGV0dGVyKSB7XHJcbiAgICAgICAgICAgIHRoaXMudGV4dCA9IGUua2V5O1xyXG4gICAgICAgICAgICB0aGlzLm9wZW4oKTtcclxuICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aGlzLmRyb3Bkb3duLmlzT3Blbikge1xyXG4gICAgICAgICAgICBpZiAoKGUua2V5ID09PSAnQXJyb3dEb3duJyB8fCBlLmtleSA9PT0gJ0Fycm93VXAnKSAmJiB0aGlzLmRpc3BsYXlJdGVtcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmlzVXNlcklucHV0ID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIHRoaXMuX2ZvY3VzSXRlbUJ5TmF2KChlLmtleSA9PT0gJ0Fycm93RG93bicgPyAxIDogLTEpKTtcclxuICAgICAgICAgICAgICAgIGlmICghdGhpcy5tdWx0aXBsZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0SXRlbXModGhpcy5kaXNwbGF5SXRlbXNbdGhpcy5fY3VycmVudGZvY3VzZWRJbmRleF0pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmICgoZS5rZXkgPT09ICdFbnRlcicgfHwgZS5jb2RlID09PSAnU3BhY2UnKSkge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgZm9jdXNlZEl0ZW0gPSB0aGlzLmRpc3BsYXlJdGVtc1t0aGlzLl9jdXJyZW50Zm9jdXNlZEluZGV4XTtcclxuICAgICAgICAgICAgICAgIGlmIChmb2N1c2VkSXRlbSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLm11bHRpcGxlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaXNVc2VySW5wdXQgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRvZ2dsZVNlbGVjdChmb2N1c2VkSXRlbSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmlzVXNlcklucHV0ID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RJdGVtcyhmb2N1c2VkSXRlbSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgIHByaXZhdGUgX2ZvY3VzSXRlbUJ5TmF2KHNpZ246IC0xIHwgMSB8IG51bGwgPSBudWxsKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHNpZ24gPT0gbnVsbCkge1xyXG4gICAgICAgICAgICBjb25zdCBsYXN0U2VsZWN0ZWRJdGVtID0gdGhpcy5zZWxlY3RlZEl0ZW1zW3RoaXMuc2VsZWN0ZWRJdGVtcy5sZW5ndGggLSAxXTtcclxuICAgICAgICAgICAgdGhpcy5fY3VycmVudGZvY3VzZWRJbmRleCA9IGxhc3RTZWxlY3RlZEl0ZW0gPyB0aGlzLmRpc3BsYXlJdGVtcy5maW5kSW5kZXgoYyA9PiBjW3RoaXMudmFsdWVGaWVsZF0gPT0gbGFzdFNlbGVjdGVkSXRlbVt0aGlzLnZhbHVlRmllbGRdKSA6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBzaWduID09PSAtMSA/IHRoaXMuX2N1cnJlbnRmb2N1c2VkSW5kZXgtLSA6IHRoaXMuX2N1cnJlbnRmb2N1c2VkSW5kZXgrKztcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMuX2N1cnJlbnRmb2N1c2VkSW5kZXggPCAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2N1cnJlbnRmb2N1c2VkSW5kZXggPSAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGhpcy5fY3VycmVudGZvY3VzZWRJbmRleCA+IHRoaXMuZGlzcGxheUl0ZW1zLmxlbmd0aCAtIDEpIHtcclxuICAgICAgICAgICAgdGhpcy5fY3VycmVudGZvY3VzZWRJbmRleCA9IHRoaXMuZGlzcGxheUl0ZW1zLmxlbmd0aCAtIDE7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBzZXQgc2Nyb2xsXHJcbiAgICAgICAgdGhpcy5fZm9jdXNJdGVtQnlJbmRleCh0aGlzLl9jdXJyZW50Zm9jdXNlZEluZGV4KTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9mb2N1c0l0ZW1CeUluZGV4KGluZWR4OiBudW1iZXIpIHtcclxuICAgICAgICBpZiAodGhpcy5saXN0Q29udGFpbmVyKSB7XHJcbiAgICAgICAgICAgIHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBpdGVtRGl2ID0gdGhpcy5saXN0Q29udGFpbmVyLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcjxIVE1MRWxlbWVudD4oYC5heC1saXN0LWl0ZW06bnRoLWNoaWxkKCR7aW5lZHggKyAxfSlgKTtcclxuICAgICAgICAgICAgICAgIGlmIChpdGVtRGl2KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaXRlbURpdi5mb2N1cygpO1xyXG4gICAgICAgICAgICAgICAgICAgIGl0ZW1EaXYuc2Nyb2xsSW50b1ZpZXcoeyBiZWhhdmlvcjogJ2F1dG8nIH0pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfZm9jdXNTZWxlY3RlZEl0ZW0oKSB7XHJcbiAgICAgICAgY29uc3QgbGFzdFNlbGVjdGVkSXRlbSA9IHRoaXMuc2VsZWN0ZWRJdGVtc1t0aGlzLnNlbGVjdGVkSXRlbXMubGVuZ3RoIC0gMV07XHJcbiAgICAgICAgdGhpcy5fY3VycmVudGZvY3VzZWRJbmRleCA9IGxhc3RTZWxlY3RlZEl0ZW0gPyB0aGlzLmRpc3BsYXlJdGVtcy5maW5kSW5kZXgoYyA9PiBjW3RoaXMudmFsdWVGaWVsZF0gPT0gbGFzdFNlbGVjdGVkSXRlbVt0aGlzLnZhbHVlRmllbGRdKSA6IDA7XHJcbiAgICAgICAgdGhpcy5fZm9jdXNJdGVtQnlJbmRleCh0aGlzLl9jdXJyZW50Zm9jdXNlZEluZGV4KTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9zZWxlY3RlZEl0ZW1CeUluZGV4KGluZGV4OiBudW1iZXIpIHtcclxuICAgICAgICBpZiAoaW5kZXggPCAwKSB7XHJcbiAgICAgICAgICAgIGluZGV4ID0gMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGluZGV4ID4gdGhpcy5kaXNwbGF5SXRlbXMubGVuZ3RoIC0gMSkge1xyXG4gICAgICAgICAgICBpbmRleCA9IHRoaXMuZGlzcGxheUl0ZW1zLmxlbmd0aCAtIDE7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuc2VsZWN0SXRlbXModGhpcy5kaXNwbGF5SXRlbXNbaW5kZXhdKTtcclxuICAgICAgICB0aGlzLl9jdXJyZW50Zm9jdXNlZEluZGV4ID0gaW5kZXg7XHJcbiAgICB9XHJcbn0iXX0=
|
|
1
|
+
import { ChangeDetectionStrategy, Component, HostListener, ViewChild, ViewEncapsulation } from '@angular/core';
|
|
2
|
+
import { AXBaseSelectionDropdownMixin } from '../base';
|
|
3
|
+
import { AXDropdownComponent } from '../dropdown';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "../dropdown/dropdown.component";
|
|
6
|
+
import * as i2 from "@angular/common";
|
|
7
|
+
export class AXSelectBoxComponent extends AXBaseSelectionDropdownMixin {
|
|
8
|
+
constructor(elementRef, cdr, zone) {
|
|
9
|
+
super(elementRef, cdr);
|
|
10
|
+
this.zone = zone;
|
|
11
|
+
this._currentfocusedIndex = -1;
|
|
12
|
+
}
|
|
13
|
+
open() {
|
|
14
|
+
this.dropdown.open();
|
|
15
|
+
}
|
|
16
|
+
close() {
|
|
17
|
+
this.dropdown.close();
|
|
18
|
+
}
|
|
19
|
+
toggle() {
|
|
20
|
+
this.dropdown.toggle();
|
|
21
|
+
}
|
|
22
|
+
onViewInit() {
|
|
23
|
+
this.dropdown.onOpened.subscribe(() => {
|
|
24
|
+
this._focusSelectedItem();
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
get isOpen() {
|
|
28
|
+
return this.dropdown.isOpen;
|
|
29
|
+
}
|
|
30
|
+
_handleOnItemClick(e, item) {
|
|
31
|
+
this.close();
|
|
32
|
+
this.toggleSelect(item);
|
|
33
|
+
}
|
|
34
|
+
_handleListScroll(e) {
|
|
35
|
+
const list = e.target;
|
|
36
|
+
if ((list.scrollTop < list.scrollHeight - list.clientHeight)) {
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
this._fetchData();
|
|
40
|
+
}
|
|
41
|
+
_checkForLoadData() {
|
|
42
|
+
const list = this.listContainer.nativeElement;
|
|
43
|
+
if (this.loadedCount < this.totalCount && list.clientHeight < list.parentElement.clientHeight) {
|
|
44
|
+
this._fetchData();
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
_onDataLoaded() {
|
|
48
|
+
setTimeout(() => {
|
|
49
|
+
this._checkForLoadData();
|
|
50
|
+
}, 100);
|
|
51
|
+
}
|
|
52
|
+
_handleOnRemoveItemClick(e, item) {
|
|
53
|
+
this.unselectItems(item);
|
|
54
|
+
e.stopPropagation();
|
|
55
|
+
}
|
|
56
|
+
_handleKeydown(e) {
|
|
57
|
+
if (!(this._getHostElement() == document.activeElement ||
|
|
58
|
+
this._getHostElement().contains(document.activeElement) ||
|
|
59
|
+
this.listContainer.nativeElement.contains(document.activeElement))) {
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
if (e.key === 'Escape' || this.disabled || this.readonly) {
|
|
63
|
+
this.close();
|
|
64
|
+
e.preventDefault();
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
const isLetter = new RegExp(/[a-zA-Z0-9\-]/).test(String.fromCharCode(e.keyCode));
|
|
68
|
+
if (e.key === 'Backspace' && e.type === 'keydown' &&
|
|
69
|
+
((this.allowNull === true && this.selectedItems.length > 0) ||
|
|
70
|
+
(this.allowNull !== true && this.selectedItems.length > 1))) {
|
|
71
|
+
this.isUserInput = true;
|
|
72
|
+
this.unselectItems(this.selectedItems.pop());
|
|
73
|
+
e.preventDefault();
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
else if ((e.key === 'ArrowDown' || e.key === 'ArrowUp') && this.displayItems.length > 0 && !this.dropdown.isOpen && e.type === 'keydown') {
|
|
77
|
+
if (this.multiple) {
|
|
78
|
+
this.open();
|
|
79
|
+
}
|
|
80
|
+
else {
|
|
81
|
+
this.isUserInput = true;
|
|
82
|
+
if (e.ctrlKey) {
|
|
83
|
+
this.open();
|
|
84
|
+
}
|
|
85
|
+
else {
|
|
86
|
+
this._selectedItemByIndex(this._currentfocusedIndex + (e.key === 'ArrowDown' ? 1 : -1));
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
e.preventDefault();
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
else if (isLetter) {
|
|
93
|
+
this.text = e.key;
|
|
94
|
+
this.open();
|
|
95
|
+
e.preventDefault();
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
98
|
+
if (this.dropdown.isOpen) {
|
|
99
|
+
if ((e.key === 'ArrowDown' || e.key === 'ArrowUp') && this.displayItems.length > 0) {
|
|
100
|
+
this.isUserInput = true;
|
|
101
|
+
this._focusItemByNav((e.key === 'ArrowDown' ? 1 : -1));
|
|
102
|
+
if (!this.multiple) {
|
|
103
|
+
this.selectItems(this.displayItems[this._currentfocusedIndex]);
|
|
104
|
+
}
|
|
105
|
+
e.preventDefault();
|
|
106
|
+
return;
|
|
107
|
+
}
|
|
108
|
+
if ((e.key === 'Enter' || e.code === 'Space')) {
|
|
109
|
+
const focusedItem = this.displayItems[this._currentfocusedIndex];
|
|
110
|
+
if (focusedItem) {
|
|
111
|
+
if (this.multiple) {
|
|
112
|
+
this.isUserInput = true;
|
|
113
|
+
this.toggleSelect(focusedItem);
|
|
114
|
+
}
|
|
115
|
+
else {
|
|
116
|
+
this.isUserInput = true;
|
|
117
|
+
this.selectItems(focusedItem);
|
|
118
|
+
this.close();
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
e.preventDefault();
|
|
122
|
+
return;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
_focusItemByNav(sign = null) {
|
|
127
|
+
if (sign == null) {
|
|
128
|
+
const lastSelectedItem = this.selectedItems[this.selectedItems.length - 1];
|
|
129
|
+
this._currentfocusedIndex = lastSelectedItem ? this.displayItems.findIndex(c => c[this.valueField] == lastSelectedItem[this.valueField]) : 0;
|
|
130
|
+
}
|
|
131
|
+
else {
|
|
132
|
+
sign === -1 ? this._currentfocusedIndex-- : this._currentfocusedIndex++;
|
|
133
|
+
}
|
|
134
|
+
if (this._currentfocusedIndex < 0) {
|
|
135
|
+
this._currentfocusedIndex = 0;
|
|
136
|
+
}
|
|
137
|
+
if (this._currentfocusedIndex > this.displayItems.length - 1) {
|
|
138
|
+
this._currentfocusedIndex = this.displayItems.length - 1;
|
|
139
|
+
}
|
|
140
|
+
// set scroll
|
|
141
|
+
this._focusItemByIndex(this._currentfocusedIndex);
|
|
142
|
+
}
|
|
143
|
+
_focusItemByIndex(inedx) {
|
|
144
|
+
if (this.listContainer) {
|
|
145
|
+
this.zone.runOutsideAngular(() => {
|
|
146
|
+
const itemDiv = this.listContainer.nativeElement.querySelector(`.ax-list-item:nth-child(${inedx + 1})`);
|
|
147
|
+
if (itemDiv) {
|
|
148
|
+
itemDiv.focus();
|
|
149
|
+
itemDiv.scrollIntoView({ behavior: 'auto' });
|
|
150
|
+
}
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
_focusSelectedItem() {
|
|
155
|
+
const lastSelectedItem = this.selectedItems[this.selectedItems.length - 1];
|
|
156
|
+
this._currentfocusedIndex = lastSelectedItem ? this.displayItems.findIndex(c => c[this.valueField] == lastSelectedItem[this.valueField]) : 0;
|
|
157
|
+
this._focusItemByIndex(this._currentfocusedIndex);
|
|
158
|
+
}
|
|
159
|
+
_selectedItemByIndex(index) {
|
|
160
|
+
if (index < 0) {
|
|
161
|
+
index = 0;
|
|
162
|
+
}
|
|
163
|
+
if (index > this.displayItems.length - 1) {
|
|
164
|
+
index = this.displayItems.length - 1;
|
|
165
|
+
}
|
|
166
|
+
this.selectItems(this.displayItems[index]);
|
|
167
|
+
this._currentfocusedIndex = index;
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
AXSelectBoxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXSelectBoxComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
171
|
+
AXSelectBoxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.6", type: AXSelectBoxComponent, selector: "ax-select-box", inputs: { disabled: "disabled", readonly: "readonly", tabIndex: "tabIndex", size: "size", fitParent: "fitParent", value: "value", items: "items", multiple: "multiple", allowNull: "allowNull", valueField: "valueField", textField: "textField" }, outputs: { onOpened: "onOpened", onClosed: "onClosed", valueChange: "valueChange", onValueChanged: "onValueChanged", onBlur: "onBlur", onFocus: "onFocus" }, host: { listeners: { "document:keydown": "_handleKeydown($event)" }, classAttribute: "ax-select-box" }, viewQueries: [{ propertyName: "dropdown", first: true, predicate: AXDropdownComponent, descendants: true }, { propertyName: "listContainer", first: true, predicate: ["listContainer"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<ax-drop-down (onOpened)=\"_emitOnOpenedEvent()\" (onClosed)=\"_emitOnClosedEvent()\">\n <ng-container input>\n <ng-content select=\"ax-prefix\">\n </ng-content>\n <div class=\"ax-select-box-selection\" [tabindex]=\"tabIndex\" (focus)=\"_emitOnFocusEvent($event)\" (blur)=\"_emitOnBlurEvent($event)\">\n <div class=\"ax-dropdown-chips\">\n <div *ngFor=\"let item of selectedItems\" [ngClass]=\"{'ax-badge ax-primary ax-m-1': multiple,'ax-badge':!multiple}\" [title]=\"_getItemDisplayTextTemplte(item)\">\n <span> {{ _getItemDisplayTextTemplte(item) }}</span>\n <i class=\"ax-ic ax-ic-close ax-text-base\" (click)=\"_handleOnRemoveItemClick($event,item)\" *ngIf=\" (readonly!=true) && multiple && disabled!=true && (allowNull==true || (selectedItems.length> 1))\">\n </i>\n\n </div>\n </div>\n <!-- <div class=\"ax-selectbox-input\">\n <input type=\"text\" [tabindex]=\"tabIndex\" (focus)=\"_emitOnFocusEvent($event)\" (blur)=\"_emitOnBlurEvent($event)\" (keydown)=\"_handleKeydown($event)\">\n </div> -->\n <ng-content select=\"ax-suffix\">\n </ng-content>\n </div>\n </ng-container>\n <ng-container panel>\n <div class=\"ax-list ax-list-container\">\n <div class=\"ax-list-items-container ax-vertical ax-default\" (scroll)=\"_handleListScroll($event)\" #listContainer>\n <ng-container *ngFor=\"let item of displayItems;let i = index;trackBy : _trackByFunction\">\n <ng-container *ngIf=\"itemTemplate; else elseTemplate\">\n <div class=\"ax-list-item\" (click)=\"_handleOnItemClick($event,item)\">\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item,direction:direction}\">\n </ng-container>\n </div>\n </ng-container>\n <ng-template #elseTemplate>\n <div class=\"ax-list-item\" [class.ax-state-selected]=\"isItemSelected(item)\" [attr.tabindex]=\"i\" (click)=\"_handleOnItemClick($event,item)\">\n {{ _getItemDisplayTextTemplte(item) }}\n </div>\n </ng-template>\n </ng-container>\n <ng-container *ngIf=\"(displayItems==null || displayItems.length==0) && !isLoading\">\n <ng-container *ngIf=\"emptyTemplate; else elseEmptyTemplate\">\n <ng-container *ngTemplateOutlet=\"elseEmptyTemplate\">\n </ng-container>\n </ng-container>\n <ng-template #elseTemplate>\n Empty!\n </ng-template>\n </ng-container>\n <ng-container *ngIf=\"isLoading\">\n <ng-container *ngIf=\"loadingTemplate; else elseLoadingTemplate\">\n <ng-container *ngTemplateOutlet=\"loadingTemplate\">\n </ng-container>\n </ng-container>\n <ng-template #elseLoadingTemplate>\n <div class=\"ax-list-loading-container\">\n <div><i class=\"fas fa-spinner ax-animate-spin\"></i> Loading ...</div>\n </div>\n </ng-template>\n </ng-container>\n </div>\n </div>\n </ng-container>\n</ax-drop-down>", components: [{ type: i1.AXDropdownComponent, selector: "ax-drop-down", inputs: ["disabled", "readonly", "tabIndex", "size", "fitParent"], outputs: ["onOpened", "onClosed"] }], directives: [{ type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
172
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXSelectBoxComponent, decorators: [{
|
|
173
|
+
type: Component,
|
|
174
|
+
args: [{
|
|
175
|
+
selector: 'ax-select-box',
|
|
176
|
+
templateUrl: 'selectbox.component.html',
|
|
177
|
+
inputs: ['disabled', 'readonly', 'tabIndex', 'size', 'fitParent', 'value', 'items', 'multiple', 'allowNull', 'valueField', 'textField'],
|
|
178
|
+
outputs: ['onOpened', 'onClosed', 'valueChange', 'onValueChanged', 'onBlur', 'onFocus'],
|
|
179
|
+
encapsulation: ViewEncapsulation.None,
|
|
180
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
181
|
+
host: { 'class': 'ax-select-box' }
|
|
182
|
+
}]
|
|
183
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i0.NgZone }]; }, propDecorators: { dropdown: [{
|
|
184
|
+
type: ViewChild,
|
|
185
|
+
args: [AXDropdownComponent]
|
|
186
|
+
}], listContainer: [{
|
|
187
|
+
type: ViewChild,
|
|
188
|
+
args: ['listContainer', { static: true }]
|
|
189
|
+
}], _handleKeydown: [{
|
|
190
|
+
type: HostListener,
|
|
191
|
+
args: ['document:keydown', ['$event']]
|
|
192
|
+
}] } });
|
|
193
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0Ym94LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL3NyYy9saWIvc2VsZWN0Ym94L3NlbGVjdGJveC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL3NlbGVjdGJveC9zZWxlY3Rib3guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLHVCQUF1QixFQUFxQixTQUFTLEVBQWMsWUFBWSxFQUFVLFNBQVMsRUFBb0IsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEssT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRXZELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7OztBQVdsRCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsNEJBQTRCO0lBV2xFLFlBQ0ksVUFBc0IsRUFDdEIsR0FBc0IsRUFDZCxJQUFZO1FBRXBCLEtBQUssQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFGZixTQUFJLEdBQUosSUFBSSxDQUFRO1FBTHhCLHlCQUFvQixHQUFXLENBQUMsQ0FBQyxDQUFDO0lBUWxDLENBQUM7SUFFRCxJQUFJO1FBQ0EsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBQ0QsS0FBSztRQUNELElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUNELE1BQU07UUFDRixJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFHRCxVQUFVO1FBQ04sSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNsQyxJQUFJLENBQUMsa0JB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VSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLFdBQVcsQ0FBQztvQkFDdkksT0FBTyxFQUFFLENBQUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLFNBQVMsQ0FBQztvQkFDdkYsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7b0JBQ3JDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxJQUFJLEVBQUUsRUFBRSxPQUFPLEVBQUUsZUFBZSxFQUFFO2lCQUNyQztzSkFJVyxRQUFRO3NCQURmLFNBQVM7dUJBQUMsbUJBQW1CO2dCQUl0QixhQUFhO3NCQURwQixTQUFTO3VCQUFDLGVBQWUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBb0U1QyxjQUFjO3NCQURiLFlBQVk7dUJBQUMsa0JBQWtCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPdmVybGF5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEhvc3RMaXN0ZW5lciwgTmdab25lLCBWaWV3Q2hpbGQsIFZpZXdDb250YWluZXJSZWYsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWEJhc2VTZWxlY3Rpb25Ecm9wZG93bk1peGluIH0gZnJvbSAnLi4vYmFzZSc7XG5pbXBvcnQgeyBEcm9wZG93bkNvbXBvbmVudEludGVyZmFjZSB9IGZyb20gJy4uL2Jhc2UvbWl4aW4vZHJvcGRvd24tbWl4aW4uY2xhc3MnO1xuaW1wb3J0IHsgQVhEcm9wZG93bkNvbXBvbmVudCB9IGZyb20gJy4uL2Ryb3Bkb3duJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdheC1zZWxlY3QtYm94JyxcbiAgICB0ZW1wbGF0ZVVybDogJ3NlbGVjdGJveC5jb21wb25lbnQuaHRtbCcsXG4gICAgaW5wdXRzOiBbJ2Rpc2FibGVkJywgJ3JlYWRvbmx5JywgJ3RhYkluZGV4JywgJ3NpemUnLCAnZml0UGFyZW50JywgJ3ZhbHVlJywgJ2l0ZW1zJywgJ211bHRpcGxlJywgJ2FsbG93TnVsbCcsICd2YWx1ZUZpZWxkJywgJ3RleHRGaWVsZCddLFxuICAgIG91dHB1dHM6IFsnb25PcGVuZWQnLCAnb25DbG9zZWQnLCAndmFsdWVDaGFuZ2UnLCAnb25WYWx1ZUNoYW5nZWQnLCAnb25CbHVyJywgJ29uRm9jdXMnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGhvc3Q6IHsgJ2NsYXNzJzogJ2F4LXNlbGVjdC1ib3gnIH1cbn0pXG5leHBvcnQgY2xhc3MgQVhTZWxlY3RCb3hDb21wb25lbnQgZXh0ZW5kcyBBWEJhc2VTZWxlY3Rpb25Ecm9wZG93bk1peGluIGltcGxlbWVudHMgRHJvcGRvd25Db21wb25lbnRJbnRlcmZhY2Uge1xuXG4gICAgQFZpZXdDaGlsZChBWERyb3Bkb3duQ29tcG9uZW50KVxuICAgIHByaXZhdGUgZHJvcGRvd246IEFYRHJvcGRvd25Db21wb25lbnQ7XG5cbiAgICBAVmlld0NoaWxkKCdsaXN0Q29udGFpbmVyJywgeyBzdGF0aWM6IHRydWUgfSlcbiAgICBwcml2YXRlIGxpc3RDb250YWluZXI6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xuXG5cbiAgICBfY3VycmVudGZvY3VzZWRJbmRleDogbnVtYmVyID0gLTE7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgcHJpdmF0ZSB6b25lOiBOZ1pvbmVcbiAgICApIHtcbiAgICAgICAgc3VwZXIoZWxlbWVudFJlZiwgY2RyKTtcbiAgICB9XG5cbiAgICBvcGVuKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRyb3Bkb3duLm9wZW4oKTtcbiAgICB9XG4gICAgY2xvc2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZHJvcGRvd24uY2xvc2UoKTtcbiAgICB9XG4gICAgdG9nZ2xlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRyb3Bkb3duLnRvZ2dsZSgpO1xuICAgIH1cblxuXG4gICAgb25WaWV3SW5pdCgpIHtcbiAgICAgICAgdGhpcy5kcm9wZG93bi5vbk9wZW5lZC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5fZm9jdXNTZWxlY3RlZEl0ZW0oKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZ2V0IGlzT3BlbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZHJvcGRvd24uaXNPcGVuO1xuICAgIH1cblxuXG4gICAgX2hhbmRsZU9uSXRlbUNsaWNrKGU6IE1vdXNlRXZlbnQsIGl0ZW06IGFueSkge1xuICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgIHRoaXMudG9nZ2xlU2VsZWN0KGl0ZW0pO1xuICAgIH1cblxuICAgIF9oYW5kbGVMaXN0U2Nyb2xsKGU6IEV2ZW50KSB7XG4gICAgICAgIGNvbnN0IGxpc3QgPSBlLnRhcmdldCBhcyBIVE1MRGl2RWxlbWVudDtcbiAgICAgICAgaWYgKChsaXN0LnNjcm9sbFRvcCA8IGxpc3Quc2Nyb2xsSGVpZ2h0IC0gbGlzdC5jbGllbnRIZWlnaHQpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fZmV0Y2hEYXRhKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfY2hlY2tGb3JMb2FkRGF0YSgpIHtcbiAgICAgICAgY29uc3QgbGlzdCA9IHRoaXMubGlzdENvbnRhaW5lci5uYXRpdmVFbGVtZW50O1xuICAgICAgICBpZiAodGhpcy5sb2FkZWRDb3VudCA8IHRoaXMudG90YWxDb3VudCAmJiBsaXN0LmNsaWVudEhlaWdodCA8IGxpc3QucGFyZW50RWxlbWVudC5jbGllbnRIZWlnaHQpIHtcbiAgICAgICAgICAgIHRoaXMuX2ZldGNoRGF0YSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgX29uRGF0YUxvYWRlZCgpIHtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9jaGVja0ZvckxvYWREYXRhKCk7XG4gICAgICAgIH0sIDEwMCk7XG4gICAgfVxuXG4gICAgX2hhbmRsZU9uUmVtb3ZlSXRlbUNsaWNrKGU6IE1vdXNlRXZlbnQsIGl0ZW06IGFueSkge1xuICAgICAgICB0aGlzLnVuc2VsZWN0SXRlbXMoaXRlbSlcbiAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDprZXlkb3duJywgWyckZXZlbnQnXSlcbiAgICBfaGFuZGxlS2V5ZG93bihlOiBLZXlib2FyZEV2ZW50KSB7XG4gICAgICAgIGlmICghKFxuICAgICAgICAgICAgdGhpcy5fZ2V0SG9zdEVsZW1lbnQoKSA9PSBkb2N1bWVudC5hY3RpdmVFbGVtZW50IHx8XG4gICAgICAgICAgICB0aGlzLl9nZXRIb3N0RWxlbWVudCgpLmNvbnRhaW5zKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpIHx8XG4gICAgICAgICAgICB0aGlzLmxpc3RDb250YWluZXIubmF0aXZlRWxlbWVudC5jb250YWlucyhkb2N1bWVudC5hY3RpdmVFbGVtZW50KVxuICAgICAgICApKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZS5rZXkgPT09ICdFc2NhcGUnIHx8IHRoaXMuZGlzYWJsZWQgfHwgdGhpcy5yZWFkb25seSkge1xuICAgICAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGlzTGV0dGVyID0gbmV3IFJlZ0V4cCgvW2EtekEtWjAtOVxcLV0vKS50ZXN0KFN0cmluZy5mcm9tQ2hhckNvZGUoZS5rZXlDb2RlKSk7XG4gICAgICAgIGlmIChlLmtleSA9PT0gJ0JhY2tzcGFjZScgJiYgZS50eXBlID09PSAna2V5ZG93bicgJiZcbiAgICAgICAgICAgICgodGhpcy5hbGxvd051bGwgPT09IHRydWUgJiYgdGhpcy5zZWxlY3RlZEl0ZW1zLmxlbmd0aCA+IDApIHx8XG4gICAgICAgICAgICAgICAgKHRoaXMuYWxsb3dOdWxsICE9PSB0cnVlICYmIHRoaXMuc2VsZWN0ZWRJdGVtcy5sZW5ndGggPiAxKSkpIHtcbiAgICAgICAgICAgIHRoaXMuaXNVc2VySW5wdXQgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy51bnNlbGVjdEl0ZW1zKHRoaXMuc2VsZWN0ZWRJdGVtcy5wb3AoKSk7XG4gICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoKGUua2V5ID09PSAnQXJyb3dEb3duJyB8fCBlLmtleSA9PT0gJ0Fycm93VXAnKSAmJiB0aGlzLmRpc3BsYXlJdGVtcy5sZW5ndGggPiAwICYmICF0aGlzLmRyb3Bkb3duLmlzT3BlbiAmJiBlLnR5cGUgPT09ICdrZXlkb3duJykge1xuICAgICAgICAgICAgaWYgKHRoaXMubXVsdGlwbGUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm9wZW4oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuaXNVc2VySW5wdXQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIGlmIChlLmN0cmxLZXkpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vcGVuKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9zZWxlY3RlZEl0ZW1CeUluZGV4KHRoaXMuX2N1cnJlbnRmb2N1c2VkSW5kZXggKyAoZS5rZXkgPT09ICdBcnJvd0Rvd24nID8gMSA6IC0xKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKGlzTGV0dGVyKSB7XG4gICAgICAgICAgICB0aGlzLnRleHQgPSBlLmtleTtcbiAgICAgICAgICAgIHRoaXMub3BlbigpO1xuICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmRyb3Bkb3duLmlzT3Blbikge1xuICAgICAgICAgICAgaWYgKChlLmtleSA9PT0gJ0Fycm93RG93bicgfHwgZS5rZXkgPT09ICdBcnJvd1VwJykgJiYgdGhpcy5kaXNwbGF5SXRlbXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIHRoaXMuaXNVc2VySW5wdXQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHRoaXMuX2ZvY3VzSXRlbUJ5TmF2KChlLmtleSA9PT0gJ0Fycm93RG93bicgPyAxIDogLTEpKTtcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMubXVsdGlwbGUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RJdGVtcyh0aGlzLmRpc3BsYXlJdGVtc1t0aGlzLl9jdXJyZW50Zm9jdXNlZEluZGV4XSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoKGUua2V5ID09PSAnRW50ZXInIHx8IGUuY29kZSA9PT0gJ1NwYWNlJykpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBmb2N1c2VkSXRlbSA9IHRoaXMuZGlzcGxheUl0ZW1zW3RoaXMuX2N1cnJlbnRmb2N1c2VkSW5kZXhdO1xuICAgICAgICAgICAgICAgIGlmIChmb2N1c2VkSXRlbSkge1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5tdWx0aXBsZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pc1VzZXJJbnB1dCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRvZ2dsZVNlbGVjdChmb2N1c2VkSXRlbSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmlzVXNlcklucHV0ID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0SXRlbXMoZm9jdXNlZEl0ZW0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIHByaXZhdGUgX2ZvY3VzSXRlbUJ5TmF2KHNpZ246IC0xIHwgMSB8IG51bGwgPSBudWxsKTogdm9pZCB7XG4gICAgICAgIGlmIChzaWduID09IG51bGwpIHtcbiAgICAgICAgICAgIGNvbnN0IGxhc3RTZWxlY3RlZEl0ZW0gPSB0aGlzLnNlbGVjdGVkSXRlbXNbdGhpcy5zZWxlY3RlZEl0ZW1zLmxlbmd0aCAtIDFdO1xuICAgICAgICAgICAgdGhpcy5fY3VycmVudGZvY3VzZWRJbmRleCA9IGxhc3RTZWxlY3RlZEl0ZW0gPyB0aGlzLmRpc3BsYXlJdGVtcy5maW5kSW5kZXgoYyA9PiBjW3RoaXMudmFsdWVGaWVsZF0gPT0gbGFzdFNlbGVjdGVkSXRlbVt0aGlzLnZhbHVlRmllbGRdKSA6IDA7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBzaWduID09PSAtMSA/IHRoaXMuX2N1cnJlbnRmb2N1c2VkSW5kZXgtLSA6IHRoaXMuX2N1cnJlbnRmb2N1c2VkSW5kZXgrKztcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5fY3VycmVudGZvY3VzZWRJbmRleCA8IDApIHtcbiAgICAgICAgICAgIHRoaXMuX2N1cnJlbnRmb2N1c2VkSW5kZXggPSAwO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLl9jdXJyZW50Zm9jdXNlZEluZGV4ID4gdGhpcy5kaXNwbGF5SXRlbXMubGVuZ3RoIC0gMSkge1xuICAgICAgICAgICAgdGhpcy5fY3VycmVudGZvY3VzZWRJbmRleCA9IHRoaXMuZGlzcGxheUl0ZW1zLmxlbmd0aCAtIDE7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBzZXQgc2Nyb2xsXG4gICAgICAgIHRoaXMuX2ZvY3VzSXRlbUJ5SW5kZXgodGhpcy5fY3VycmVudGZvY3VzZWRJbmRleCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZm9jdXNJdGVtQnlJbmRleChpbmVkeDogbnVtYmVyKSB7XG4gICAgICAgIGlmICh0aGlzLmxpc3RDb250YWluZXIpIHtcbiAgICAgICAgICAgIHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgaXRlbURpdiA9IHRoaXMubGlzdENvbnRhaW5lci5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3I8SFRNTEVsZW1lbnQ+KGAuYXgtbGlzdC1pdGVtOm50aC1jaGlsZCgke2luZWR4ICsgMX0pYCk7XG4gICAgICAgICAgICAgICAgaWYgKGl0ZW1EaXYpIHtcbiAgICAgICAgICAgICAgICAgICAgaXRlbURpdi5mb2N1cygpO1xuICAgICAgICAgICAgICAgICAgICBpdGVtRGl2LnNjcm9sbEludG9WaWV3KHsgYmVoYXZpb3I6ICdhdXRvJyB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX2ZvY3VzU2VsZWN0ZWRJdGVtKCkge1xuICAgICAgICBjb25zdCBsYXN0U2VsZWN0ZWRJdGVtID0gdGhpcy5zZWxlY3RlZEl0ZW1zW3RoaXMuc2VsZWN0ZWRJdGVtcy5sZW5ndGggLSAxXTtcbiAgICAgICAgdGhpcy5fY3VycmVudGZvY3VzZWRJbmRleCA9IGxhc3RTZWxlY3RlZEl0ZW0gPyB0aGlzLmRpc3BsYXlJdGVtcy5maW5kSW5kZXgoYyA9PiBjW3RoaXMudmFsdWVGaWVsZF0gPT0gbGFzdFNlbGVjdGVkSXRlbVt0aGlzLnZhbHVlRmllbGRdKSA6IDA7XG4gICAgICAgIHRoaXMuX2ZvY3VzSXRlbUJ5SW5kZXgodGhpcy5fY3VycmVudGZvY3VzZWRJbmRleCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfc2VsZWN0ZWRJdGVtQnlJbmRleChpbmRleDogbnVtYmVyKSB7XG4gICAgICAgIGlmIChpbmRleCA8IDApIHtcbiAgICAgICAgICAgIGluZGV4ID0gMDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaW5kZXggPiB0aGlzLmRpc3BsYXlJdGVtcy5sZW5ndGggLSAxKSB7XG4gICAgICAgICAgICBpbmRleCA9IHRoaXMuZGlzcGxheUl0ZW1zLmxlbmd0aCAtIDE7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zZWxlY3RJdGVtcyh0aGlzLmRpc3BsYXlJdGVtc1tpbmRleF0pO1xuICAgICAgICB0aGlzLl9jdXJyZW50Zm9jdXNlZEluZGV4ID0gaW5kZXg7XG4gICAgfVxufSIsIjxheC1kcm9wLWRvd24gKG9uT3BlbmVkKT1cIl9lbWl0T25PcGVuZWRFdmVudCgpXCIgKG9uQ2xvc2VkKT1cIl9lbWl0T25DbG9zZWRFdmVudCgpXCI+XG4gICAgPG5nLWNvbnRhaW5lciBpbnB1dD5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtcHJlZml4XCI+XG4gICAgICAgIDwvbmctY29udGVudD5cbiAgICAgICAgPGRpdiBjbGFzcz1cImF4LXNlbGVjdC1ib3gtc2VsZWN0aW9uXCIgW3RhYmluZGV4XT1cInRhYkluZGV4XCIgKGZvY3VzKT1cIl9lbWl0T25Gb2N1c0V2ZW50KCRldmVudClcIiAoYmx1cik9XCJfZW1pdE9uQmx1ckV2ZW50KCRldmVudClcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1kcm9wZG93bi1jaGlwc1wiPlxuICAgICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGl0ZW0gb2Ygc2VsZWN0ZWRJdGVtc1wiIFtuZ0NsYXNzXT1cInsnYXgtYmFkZ2UgYXgtcHJpbWFyeSBheC1tLTEnOiBtdWx0aXBsZSwnYXgtYmFkZ2UnOiFtdWx0aXBsZX1cIiBbdGl0bGVdPVwiX2dldEl0ZW1EaXNwbGF5VGV4dFRlbXBsdGUoaXRlbSlcIj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4+IHt7IF9nZXRJdGVtRGlzcGxheVRleHRUZW1wbHRlKGl0ZW0pIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImF4LWljIGF4LWljLWNsb3NlIGF4LXRleHQtYmFzZVwiIChjbGljayk9XCJfaGFuZGxlT25SZW1vdmVJdGVtQ2xpY2soJGV2ZW50LGl0ZW0pXCIgKm5nSWY9XCIgKHJlYWRvbmx5IT10cnVlKSAmJiBtdWx0aXBsZSAmJiBkaXNhYmxlZCE9dHJ1ZSAmJiAoYWxsb3dOdWxsPT10cnVlIHx8IChzZWxlY3RlZEl0ZW1zLmxlbmd0aD4gMSkpXCI+XG4gICAgICAgICAgICAgICAgICAgIDwvaT5cblxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJheC1zZWxlY3Rib3gtaW5wdXRcIj5cbiAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBbdGFiaW5kZXhdPVwidGFiSW5kZXhcIiAoZm9jdXMpPVwiX2VtaXRPbkZvY3VzRXZlbnQoJGV2ZW50KVwiIChibHVyKT1cIl9lbWl0T25CbHVyRXZlbnQoJGV2ZW50KVwiIChrZXlkb3duKT1cIl9oYW5kbGVLZXlkb3duKCRldmVudClcIj5cbiAgICAgICAgICAgIDwvZGl2PiAtLT5cbiAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImF4LXN1ZmZpeFwiPlxuICAgICAgICAgICAgPC9uZy1jb250ZW50PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyIHBhbmVsPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtbGlzdCBheC1saXN0LWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWxpc3QtaXRlbXMtY29udGFpbmVyIGF4LXZlcnRpY2FsIGF4LWRlZmF1bHRcIiAoc2Nyb2xsKT1cIl9oYW5kbGVMaXN0U2Nyb2xsKCRldmVudClcIiAjbGlzdENvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIGRpc3BsYXlJdGVtcztsZXQgaSA9IGluZGV4O3RyYWNrQnkgOiBfdHJhY2tCeUZ1bmN0aW9uXCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpdGVtVGVtcGxhdGU7IGVsc2UgZWxzZVRlbXBsYXRlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtbGlzdC1pdGVtXCIgKGNsaWNrKT1cIl9oYW5kbGVPbkl0ZW1DbGljaygkZXZlbnQsaXRlbSlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaXRlbVRlbXBsYXRlOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogaXRlbSxkaXJlY3Rpb246ZGlyZWN0aW9ufVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2Vsc2VUZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1saXN0LWl0ZW1cIiBbY2xhc3MuYXgtc3RhdGUtc2VsZWN0ZWRdPVwiaXNJdGVtU2VsZWN0ZWQoaXRlbSlcIiBbYXR0ci50YWJpbmRleF09XCJpXCIgKGNsaWNrKT1cIl9oYW5kbGVPbkl0ZW1DbGljaygkZXZlbnQsaXRlbSlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBfZ2V0SXRlbURpc3BsYXlUZXh0VGVtcGx0ZShpdGVtKSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIihkaXNwbGF5SXRlbXM9PW51bGwgfHwgZGlzcGxheUl0ZW1zLmxlbmd0aD09MCkgJiYgIWlzTG9hZGluZ1wiPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZW1wdHlUZW1wbGF0ZTsgZWxzZSBlbHNlRW1wdHlUZW1wbGF0ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImVsc2VFbXB0eVRlbXBsYXRlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZWxzZVRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICAgICAgRW1wdHkhXG4gICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzTG9hZGluZ1wiPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibG9hZGluZ1RlbXBsYXRlOyBlbHNlIGVsc2VMb2FkaW5nVGVtcGxhdGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJsb2FkaW5nVGVtcGxhdGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNlbHNlTG9hZGluZ1RlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWxpc3QtbG9hZGluZy1jb250YWluZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PjxpIGNsYXNzPVwiZmFzIGZhLXNwaW5uZXIgYXgtYW5pbWF0ZS1zcGluXCI+PC9pPiBMb2FkaW5nIC4uLjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG48L2F4LWRyb3AtZG93bj4iXX0=
|
|
@@ -1,16 +1,21 @@
|
|
|
1
|
-
import { CommonModule } from '@angular/common';
|
|
2
|
-
import { NgModule } from '@angular/core';
|
|
3
|
-
import { FormsModule } from '@angular/forms';
|
|
4
|
-
import { AXDropdownModule } from '../dropdown';
|
|
5
|
-
import { AXSelectBoxComponent } from './selectbox.component';
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
]
|
|
16
|
-
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { NgModule } from '@angular/core';
|
|
3
|
+
import { FormsModule } from '@angular/forms';
|
|
4
|
+
import { AXDropdownModule } from '../dropdown';
|
|
5
|
+
import { AXSelectBoxComponent } from './selectbox.component';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
export class AXSelectBoxModule {
|
|
8
|
+
}
|
|
9
|
+
AXSelectBoxModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXSelectBoxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
10
|
+
AXSelectBoxModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXSelectBoxModule, declarations: [AXSelectBoxComponent], imports: [CommonModule, AXDropdownModule, FormsModule], exports: [AXSelectBoxComponent] });
|
|
11
|
+
AXSelectBoxModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXSelectBoxModule, providers: [], imports: [[CommonModule, AXDropdownModule, FormsModule]] });
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXSelectBoxModule, decorators: [{
|
|
13
|
+
type: NgModule,
|
|
14
|
+
args: [{
|
|
15
|
+
imports: [CommonModule, AXDropdownModule, FormsModule],
|
|
16
|
+
exports: [AXSelectBoxComponent],
|
|
17
|
+
declarations: [AXSelectBoxComponent],
|
|
18
|
+
providers: [],
|
|
19
|
+
}]
|
|
20
|
+
}] });
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0Ym94Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL3NyYy9saWIvc2VsZWN0Ym94L3NlbGVjdGJveC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUUvQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7QUFRN0QsTUFBTSxPQUFPLGlCQUFpQjs7OEdBQWpCLGlCQUFpQjsrR0FBakIsaUJBQWlCLGlCQUhYLG9CQUFvQixhQUZ6QixZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxhQUMzQyxvQkFBb0I7K0dBSXJCLGlCQUFpQixhQUZmLEVBQUUsWUFISixDQUFDLFlBQVksRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLENBQUM7MkZBSzdDLGlCQUFpQjtrQkFON0IsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxDQUFDO29CQUN0RCxPQUFPLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztvQkFDL0IsWUFBWSxFQUFFLENBQUMsb0JBQW9CLENBQUM7b0JBQ3BDLFNBQVMsRUFBRSxFQUFFO2lCQUNoQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBBWEJ1dHRvbk1vZHVsZSB9IGZyb20gJy4uL2J1dHRvbic7XG5pbXBvcnQgeyBBWERyb3Bkb3duTW9kdWxlIH0gZnJvbSAnLi4vZHJvcGRvd24nO1xuXG5pbXBvcnQgeyBBWFNlbGVjdEJveENvbXBvbmVudCB9IGZyb20gJy4vc2VsZWN0Ym94LmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgQVhEcm9wZG93bk1vZHVsZSwgRm9ybXNNb2R1bGVdLFxuICAgIGV4cG9ydHM6IFtBWFNlbGVjdEJveENvbXBvbmVudF0sXG4gICAgZGVjbGFyYXRpb25zOiBbQVhTZWxlY3RCb3hDb21wb25lbnRdLFxuICAgIHByb3ZpZGVyczogW10sXG59KVxuZXhwb3J0IGNsYXNzIEFYU2VsZWN0Qm94TW9kdWxlIHsgfVxuIl19
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export * from './selection-list.component';
|
|
2
|
-
export * from './selection-list.module';
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
export * from './selection-list.component';
|
|
2
|
+
export * from './selection-list.module';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL3NlbGVjdGlvbi1saXN0L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyx5QkFBeUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc2VsZWN0aW9uLWxpc3QuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc2VsZWN0aW9uLWxpc3QubW9kdWxlJzsiXX0=
|