ecabs-components 1.0.19 → 1.0.21
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/esm2022/ecabs-components.mjs +5 -0
- package/esm2022/lib/base/consts/date-mask.consts.mjs +57 -0
- package/esm2022/lib/base/directives/date-mask.directive.mjs +67 -0
- package/esm2022/lib/base/directives/date-mask.directive.module.mjs +22 -0
- package/esm2022/lib/base/directives/digits-only.directive.mjs +133 -0
- package/esm2022/lib/base/directives/digits-only.directive.module.mjs +22 -0
- package/esm2022/lib/base/directives/number-border.directive.mjs +58 -0
- package/esm2022/lib/base/directives/number-border.directive.module.mjs +22 -0
- package/esm2022/lib/base/element-base.mjs +105 -0
- package/esm2022/lib/base/element-wrapper/element-wrapper.component.mjs +56 -0
- package/esm2022/lib/base/element-wrapper/element-wrapper.module.mjs +52 -0
- package/esm2022/lib/base/hint/hint.component.mjs +21 -0
- package/esm2022/lib/base/hint/hint.module.mjs +20 -0
- package/esm2022/lib/base/validation/validation.component.mjs +75 -0
- package/esm2022/lib/base/validation/validation.module.mjs +20 -0
- package/esm2022/lib/ecabs-breadcrumb/ecabs-breadcrumb.component.mjs +17 -0
- package/esm2022/lib/ecabs-breadcrumb/ecabs-breadcrumb.module.mjs +20 -0
- package/esm2022/lib/ecabs-buttons/ecabs-buttons.component.mjs +64 -0
- package/esm2022/lib/ecabs-buttons/ecabs-buttons.module.mjs +21 -0
- package/esm2022/lib/ecabs-checkbox-toggle/ecabs-checkbox-toggle.component.mjs +94 -0
- package/esm2022/lib/ecabs-checkbox-toggle/ecabs-checkbox-toggle.module.mjs +36 -0
- package/esm2022/lib/ecabs-date-picker/components/ecabs-date-picker-header/ecabs-date-picker-header.component.mjs +15 -0
- package/esm2022/lib/ecabs-date-picker/ecabs-date-picker.component.mjs +89 -0
- package/esm2022/lib/ecabs-date-picker/ecabs-date-picker.module.mjs +48 -0
- package/esm2022/lib/ecabs-date-time-picker/components/ecabs-date-time-picker-header/ecabs-date-time-picker-header.component.mjs +15 -0
- package/esm2022/lib/ecabs-date-time-picker/ecabs-date-time-picker.component.mjs +186 -0
- package/esm2022/lib/ecabs-date-time-picker/ecabs-date-time-picker.module.mjs +64 -0
- package/esm2022/lib/ecabs-date-time-range-picker/components/ecabs-date-time-range-picker-header/ecabs-date-time-range-picker-header.component.mjs +15 -0
- package/esm2022/lib/ecabs-date-time-range-picker/ecabs-date-time-range-picker.component.mjs +199 -0
- package/esm2022/lib/ecabs-date-time-range-picker/ecabs-date-time-range-picker.module.mjs +65 -0
- package/esm2022/lib/ecabs-date-time-range-picker/time-range.directive.mjs +48 -0
- package/esm2022/lib/ecabs-dialog-confirm/ecabs-dialog-confirm.component.mjs +50 -0
- package/esm2022/lib/ecabs-dialog-confirm/ecabs-dialog-confirm.module.mjs +20 -0
- package/esm2022/lib/ecabs-dialog-message/ecabs-dialog-message.component.mjs +47 -0
- package/esm2022/lib/ecabs-dialog-message/ecabs-dialog-message.module.mjs +20 -0
- package/esm2022/lib/ecabs-empty-placeholder/ecabs-empty-placeholder.component.mjs +22 -0
- package/esm2022/lib/ecabs-empty-placeholder/ecabs-empty-placeholder.module.mjs +19 -0
- package/esm2022/lib/ecabs-expansion-panel/ecabs-expansion-panel.component.mjs +85 -0
- package/esm2022/lib/ecabs-expansion-panel/ecabs-expansion-panel.module.mjs +24 -0
- package/esm2022/lib/ecabs-increment/ecabs-increment.component.mjs +83 -0
- package/esm2022/lib/ecabs-increment/ecabs-increment.module.mjs +23 -0
- package/esm2022/lib/ecabs-input/ecabs-input.component.mjs +90 -0
- package/esm2022/lib/ecabs-input/ecabs-input.module.mjs +22 -0
- package/esm2022/lib/ecabs-language-selector/ecabs-language-selector.component.mjs +64 -0
- package/esm2022/lib/ecabs-language-selector/ecabs-language-selector.module.mjs +39 -0
- package/esm2022/lib/ecabs-loading/ecabs-loading.component.mjs +22 -0
- package/esm2022/lib/ecabs-loading/ecabs-loading.module.mjs +19 -0
- package/esm2022/lib/ecabs-loading/spinner/spinner.component.mjs +14 -0
- package/esm2022/lib/ecabs-note/ecabs-note.component.mjs +28 -0
- package/esm2022/lib/ecabs-note/ecabs-note.module.mjs +19 -0
- package/esm2022/lib/ecabs-phone/ecabs-phone.component.mjs +111 -0
- package/esm2022/lib/ecabs-phone/ecabs-phone.module.mjs +22 -0
- package/esm2022/lib/ecabs-picker-header/ecabs-picker-header.component.mjs +53 -0
- package/esm2022/lib/ecabs-picker-header/ecabs-picker-header.module.mjs +22 -0
- package/esm2022/lib/ecabs-radio-button-list/ecabs-radio-button-list.component.mjs +68 -0
- package/esm2022/lib/ecabs-radio-button-list/ecabs-radio-button-list.module.mjs +32 -0
- package/esm2022/lib/ecabs-select/ecabs-select.component.mjs +316 -0
- package/esm2022/lib/ecabs-select/ecabs-select.module.mjs +60 -0
- package/esm2022/lib/ecabs-table/ecabs-table-filter-wrapper/ecabs-table-filter-wrapper.component.mjs +19 -0
- package/esm2022/lib/ecabs-table/ecabs-table-filter-wrapper/ecabs-table-filter-wrapper.module.mjs +24 -0
- package/esm2022/lib/ecabs-table/ecabs-table.component.mjs +48 -0
- package/esm2022/lib/ecabs-table/ecabs-table.module.mjs +33 -0
- package/esm2022/lib/ecabs-textarea/ecabs-textarea.component.mjs +65 -0
- package/esm2022/lib/ecabs-textarea/ecabs-textarea.module.mjs +20 -0
- package/esm2022/lib/ecabs-timepicker/componets/ecabs-time-list-panel/ecabs-time-list-panel.component.mjs +144 -0
- package/esm2022/lib/ecabs-timepicker/config.model.mjs +2 -0
- package/esm2022/lib/ecabs-timepicker/ecabs-timepicker.component.mjs +322 -0
- package/esm2022/lib/ecabs-timepicker/ecabs-timepicker.module.mjs +20 -0
- package/esm2022/lib/ecabs-timepicker/ecabs-timepicker.service.mjs +29 -0
- package/esm2022/lib/models/bread-crumb.mjs +2 -0
- package/esm2022/lib/models/timepicker.models.mjs +2 -0
- package/esm2022/lib/services/ecabs-components.service.mjs +31 -0
- package/esm2022/public-api.mjs +55 -0
- package/fesm2022/ecabs-components.mjs +3478 -0
- package/fesm2022/ecabs-components.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/base/consts/date-mask.consts.d.ts +7 -0
- package/lib/base/directives/date-mask.directive.d.ts +16 -0
- package/lib/base/directives/date-mask.directive.module.d.ts +8 -0
- package/lib/base/directives/digits-only.directive.d.ts +26 -0
- package/lib/base/directives/digits-only.directive.module.d.ts +8 -0
- package/lib/base/directives/number-border.directive.d.ts +13 -0
- package/lib/base/directives/number-border.directive.module.d.ts +8 -0
- package/lib/base/element-base.d.ts +28 -0
- package/lib/base/element-wrapper/element-wrapper.component.d.ts +19 -0
- package/lib/base/element-wrapper/element-wrapper.module.d.ts +16 -0
- package/lib/base/hint/hint.component.d.ts +8 -0
- package/lib/base/hint/hint.module.d.ts +10 -0
- package/lib/base/validation/validation.component.d.ts +24 -0
- package/lib/base/validation/validation.module.d.ts +10 -0
- package/lib/ecabs-breadcrumb/ecabs-breadcrumb.component.d.ts +7 -0
- package/lib/ecabs-breadcrumb/ecabs-breadcrumb.module.d.ts +10 -0
- package/lib/ecabs-buttons/ecabs-buttons.component.d.ts +20 -0
- package/lib/ecabs-buttons/ecabs-buttons.module.d.ts +11 -0
- package/lib/ecabs-checkbox-toggle/ecabs-checkbox-toggle.component.d.ts +29 -0
- package/lib/ecabs-checkbox-toggle/ecabs-checkbox-toggle.module.d.ts +12 -0
- package/lib/ecabs-date-picker/components/ecabs-date-picker-header/ecabs-date-picker-header.component.d.ts +6 -0
- package/lib/ecabs-date-picker/ecabs-date-picker.component.d.ts +29 -0
- package/lib/ecabs-date-picker/ecabs-date-picker.module.d.ts +15 -0
- package/lib/ecabs-date-time-picker/components/ecabs-date-time-picker-header/ecabs-date-time-picker-header.component.d.ts +6 -0
- package/lib/ecabs-date-time-picker/ecabs-date-time-picker.component.d.ts +51 -0
- package/lib/ecabs-date-time-picker/ecabs-date-time-picker.module.d.ts +19 -0
- package/lib/ecabs-date-time-range-picker/components/ecabs-date-time-range-picker-header/ecabs-date-time-range-picker-header.component.d.ts +6 -0
- package/lib/ecabs-date-time-range-picker/ecabs-date-time-range-picker.component.d.ts +58 -0
- package/lib/ecabs-date-time-range-picker/ecabs-date-time-range-picker.module.d.ts +20 -0
- package/lib/ecabs-date-time-range-picker/time-range.directive.d.ts +15 -0
- package/lib/ecabs-dialog-confirm/ecabs-dialog-confirm.component.d.ts +31 -0
- package/lib/ecabs-dialog-confirm/ecabs-dialog-confirm.module.d.ts +11 -0
- package/lib/ecabs-dialog-message/ecabs-dialog-message.component.d.ts +28 -0
- package/lib/ecabs-dialog-message/ecabs-dialog-message.module.d.ts +11 -0
- package/lib/ecabs-empty-placeholder/ecabs-empty-placeholder.component.d.ts +12 -0
- package/lib/ecabs-empty-placeholder/ecabs-empty-placeholder.module.d.ts +9 -0
- package/lib/ecabs-expansion-panel/ecabs-expansion-panel.component.d.ts +28 -0
- package/lib/ecabs-expansion-panel/ecabs-expansion-panel.module.d.ts +14 -0
- package/lib/ecabs-increment/ecabs-increment.component.d.ts +26 -0
- package/lib/ecabs-increment/ecabs-increment.module.d.ts +13 -0
- package/lib/ecabs-input/ecabs-input.component.d.ts +27 -0
- package/lib/ecabs-input/ecabs-input.module.d.ts +12 -0
- package/lib/ecabs-language-selector/ecabs-language-selector.component.d.ts +20 -0
- package/lib/ecabs-language-selector/ecabs-language-selector.module.d.ts +12 -0
- package/lib/ecabs-loading/ecabs-loading.component.d.ts +8 -0
- package/lib/ecabs-loading/ecabs-loading.module.d.ts +9 -0
- package/lib/ecabs-loading/spinner/spinner.component.d.ts +6 -0
- package/lib/ecabs-note/ecabs-note.component.d.ts +7 -0
- package/lib/ecabs-note/ecabs-note.module.d.ts +9 -0
- package/lib/ecabs-phone/ecabs-phone.component.d.ts +33 -0
- package/lib/ecabs-phone/ecabs-phone.module.d.ts +12 -0
- package/lib/ecabs-picker-header/ecabs-picker-header.component.d.ts +19 -0
- package/lib/ecabs-picker-header/ecabs-picker-header.module.d.ts +12 -0
- package/lib/ecabs-radio-button-list/ecabs-radio-button-list.component.d.ts +24 -0
- package/lib/ecabs-radio-button-list/ecabs-radio-button-list.module.d.ts +11 -0
- package/lib/ecabs-select/ecabs-select.component.d.ts +71 -0
- package/lib/ecabs-select/ecabs-select.module.d.ts +15 -0
- package/lib/ecabs-table/ecabs-table-filter-wrapper/ecabs-table-filter-wrapper.component.d.ts +8 -0
- package/lib/ecabs-table/ecabs-table-filter-wrapper/ecabs-table-filter-wrapper.module.d.ts +9 -0
- package/lib/ecabs-table/ecabs-table.component.d.ts +18 -0
- package/lib/ecabs-table/ecabs-table.module.d.ts +12 -0
- package/lib/ecabs-textarea/ecabs-textarea.component.d.ts +20 -0
- package/lib/ecabs-textarea/ecabs-textarea.module.d.ts +10 -0
- package/lib/ecabs-timepicker/componets/ecabs-time-list-panel/ecabs-time-list-panel.component.d.ts +40 -0
- package/lib/ecabs-timepicker/config.model.d.ts +5 -0
- package/lib/ecabs-timepicker/ecabs-timepicker.component.d.ts +53 -0
- package/lib/ecabs-timepicker/ecabs-timepicker.module.d.ts +10 -0
- package/lib/ecabs-timepicker/ecabs-timepicker.service.d.ts +12 -0
- package/lib/models/bread-crumb.d.ts +5 -0
- package/{src/lib/models/timepicker.models.ts → lib/models/timepicker.models.d.ts} +3 -4
- package/lib/services/ecabs-components.service.d.ts +16 -0
- package/package.json +33 -25
- package/{src/styles → styles}/material/overrides/_button.scss +1 -0
- package/styles/material/overrides/_icon.scss +3 -0
- package/{src/styles → styles}/material/overrides/_phone.scss +24 -2
- package/karma.conf.js +0 -44
- package/ng-package.json +0 -7
- package/src/assets/images/nothing-here.svg +0 -22
- package/src/lib/base/consts/date-mask.consts.ts +0 -70
- package/src/lib/base/directives/date-mask.directive.module.ts +0 -14
- package/src/lib/base/directives/date-mask.directive.ts +0 -58
- package/src/lib/base/directives/digits-only.directive.module.ts +0 -15
- package/src/lib/base/directives/digits-only.directive.ts +0 -129
- package/src/lib/base/directives/number-border.directive.module.ts +0 -14
- package/src/lib/base/directives/number-border.directive.ts +0 -57
- package/src/lib/base/element-base.ts +0 -72
- package/src/lib/base/element-wrapper/element-wrapper.component.html +0 -30
- package/src/lib/base/element-wrapper/element-wrapper.component.ts +0 -33
- package/src/lib/base/element-wrapper/element-wrapper.module.ts +0 -30
- package/src/lib/base/hint/hint.component.html +0 -1
- package/src/lib/base/hint/hint.component.scss +0 -0
- package/src/lib/base/hint/hint.component.ts +0 -12
- package/src/lib/base/hint/hint.module.ts +0 -13
- package/src/lib/base/validation/validation.component.html +0 -8
- package/src/lib/base/validation/validation.component.scss +0 -0
- package/src/lib/base/validation/validation.component.ts +0 -84
- package/src/lib/base/validation/validation.module.ts +0 -13
- package/src/lib/consts/tenant.consts.ts +0 -8
- package/src/lib/ecabs-breadcrumb/ecabs-breadcrumb.component.html +0 -11
- package/src/lib/ecabs-breadcrumb/ecabs-breadcrumb.component.scss +0 -0
- package/src/lib/ecabs-breadcrumb/ecabs-breadcrumb.component.spec.ts +0 -24
- package/src/lib/ecabs-breadcrumb/ecabs-breadcrumb.component.ts +0 -12
- package/src/lib/ecabs-breadcrumb/ecabs-breadcrumb.module.ts +0 -12
- package/src/lib/ecabs-buttons/ecabs-buttons.component.html +0 -18
- package/src/lib/ecabs-buttons/ecabs-buttons.component.scss +0 -3
- package/src/lib/ecabs-buttons/ecabs-buttons.component.ts +0 -55
- package/src/lib/ecabs-buttons/ecabs-buttons.module.ts +0 -14
- package/src/lib/ecabs-checkbox-toggle/ecabs-checkbox-toggle.component.html +0 -27
- package/src/lib/ecabs-checkbox-toggle/ecabs-checkbox-toggle.component.scss +0 -15
- package/src/lib/ecabs-checkbox-toggle/ecabs-checkbox-toggle.component.ts +0 -81
- package/src/lib/ecabs-checkbox-toggle/ecabs-checkbox-toggle.module.ts +0 -21
- package/src/lib/ecabs-date-picker/components/ecabs-date-picker-header/ecabs-date-picker-header.component.html +0 -4
- package/src/lib/ecabs-date-picker/components/ecabs-date-picker-header/ecabs-date-picker-header.component.scss +0 -0
- package/src/lib/ecabs-date-picker/components/ecabs-date-picker-header/ecabs-date-picker-header.component.spec.ts +0 -23
- package/src/lib/ecabs-date-picker/components/ecabs-date-picker-header/ecabs-date-picker-header.component.ts +0 -11
- package/src/lib/ecabs-date-picker/ecabs-date-picker.component.html +0 -31
- package/src/lib/ecabs-date-picker/ecabs-date-picker.component.scss +0 -23
- package/src/lib/ecabs-date-picker/ecabs-date-picker.component.spec.ts +0 -24
- package/src/lib/ecabs-date-picker/ecabs-date-picker.component.ts +0 -72
- package/src/lib/ecabs-date-picker/ecabs-date-picker.module.ts +0 -29
- package/src/lib/ecabs-date-range-picker/components/ecabs-date-range-picker-header/ecabs-date-range-picker-header.component.html +0 -4
- package/src/lib/ecabs-date-range-picker/components/ecabs-date-range-picker-header/ecabs-date-range-picker-header.component.scss +0 -0
- package/src/lib/ecabs-date-range-picker/components/ecabs-date-range-picker-header/ecabs-date-range-picker-header.component.spec.ts +0 -23
- package/src/lib/ecabs-date-range-picker/components/ecabs-date-range-picker-header/ecabs-date-range-picker-header.component.ts +0 -11
- package/src/lib/ecabs-date-range-picker/ecabs-date-range-picker.component.html +0 -31
- package/src/lib/ecabs-date-range-picker/ecabs-date-range-picker.component.scss +0 -36
- package/src/lib/ecabs-date-range-picker/ecabs-date-range-picker.component.spec.ts +0 -23
- package/src/lib/ecabs-date-range-picker/ecabs-date-range-picker.component.ts +0 -113
- package/src/lib/ecabs-date-range-picker/ecabs-date-range-picker.module.ts +0 -50
- package/src/lib/ecabs-date-time-picker/components/ecabs-date-time-picker-header/ecabs-date-time-picker-header.component.html +0 -4
- package/src/lib/ecabs-date-time-picker/components/ecabs-date-time-picker-header/ecabs-date-time-picker-header.component.scss +0 -14
- package/src/lib/ecabs-date-time-picker/components/ecabs-date-time-picker-header/ecabs-date-time-picker-header.component.ts +0 -11
- package/src/lib/ecabs-date-time-picker/ecabs-date-time-picker.component.html +0 -87
- package/src/lib/ecabs-date-time-picker/ecabs-date-time-picker.component.scss +0 -82
- package/src/lib/ecabs-date-time-picker/ecabs-date-time-picker.component.spec.ts +0 -23
- package/src/lib/ecabs-date-time-picker/ecabs-date-time-picker.component.ts +0 -185
- package/src/lib/ecabs-date-time-picker/ecabs-date-time-picker.module.ts +0 -38
- package/src/lib/ecabs-date-time-range-picker/components/ecabs-date-time-range-picker-header/ecabs-date-time-range-picker-header.component.html +0 -4
- package/src/lib/ecabs-date-time-range-picker/components/ecabs-date-time-range-picker-header/ecabs-date-time-range-picker-header.component.scss +0 -5
- package/src/lib/ecabs-date-time-range-picker/components/ecabs-date-time-range-picker-header/ecabs-date-time-range-picker-header.component.spec.ts +0 -23
- package/src/lib/ecabs-date-time-range-picker/components/ecabs-date-time-range-picker-header/ecabs-date-time-range-picker-header.component.ts +0 -10
- package/src/lib/ecabs-date-time-range-picker/ecabs-date-time-range-picker.component.html +0 -116
- package/src/lib/ecabs-date-time-range-picker/ecabs-date-time-range-picker.component.scss +0 -43
- package/src/lib/ecabs-date-time-range-picker/ecabs-date-time-range-picker.component.spec.ts +0 -24
- package/src/lib/ecabs-date-time-range-picker/ecabs-date-time-range-picker.component.ts +0 -206
- package/src/lib/ecabs-date-time-range-picker/ecabs-date-time-range-picker.module.ts +0 -39
- package/src/lib/ecabs-date-time-range-picker/time-range.directive.ts +0 -38
- package/src/lib/ecabs-dialog-confirm/ecabs-dialog-confirm.component.html +0 -32
- package/src/lib/ecabs-dialog-confirm/ecabs-dialog-confirm.component.scss +0 -24
- package/src/lib/ecabs-dialog-confirm/ecabs-dialog-confirm.component.ts +0 -57
- package/src/lib/ecabs-dialog-confirm/ecabs-dialog-confirm.module.ts +0 -13
- package/src/lib/ecabs-dialog-message/ecabs-dialog-message.component.html +0 -27
- package/src/lib/ecabs-dialog-message/ecabs-dialog-message.component.scss +0 -25
- package/src/lib/ecabs-dialog-message/ecabs-dialog-message.component.spec.ts +0 -38
- package/src/lib/ecabs-dialog-message/ecabs-dialog-message.component.ts +0 -49
- package/src/lib/ecabs-dialog-message/ecabs-dialog-message.module.ts +0 -13
- package/src/lib/ecabs-empty-placeholder/ecabs-empty-placeholder.component.html +0 -9
- package/src/lib/ecabs-empty-placeholder/ecabs-empty-placeholder.component.scss +0 -0
- package/src/lib/ecabs-empty-placeholder/ecabs-empty-placeholder.component.spec.ts +0 -34
- package/src/lib/ecabs-empty-placeholder/ecabs-empty-placeholder.component.ts +0 -22
- package/src/lib/ecabs-empty-placeholder/ecabs-empty-placeholder.module.ts +0 -11
- package/src/lib/ecabs-expansion-panel/ecabs-expansion-panel.component.html +0 -33
- package/src/lib/ecabs-expansion-panel/ecabs-expansion-panel.component.scss +0 -79
- package/src/lib/ecabs-expansion-panel/ecabs-expansion-panel.component.spec.ts +0 -26
- package/src/lib/ecabs-expansion-panel/ecabs-expansion-panel.component.ts +0 -77
- package/src/lib/ecabs-expansion-panel/ecabs-expansion-panel.module.ts +0 -17
- package/src/lib/ecabs-increment/ecabs-increment.component.html +0 -18
- package/src/lib/ecabs-increment/ecabs-increment.component.scss +0 -33
- package/src/lib/ecabs-increment/ecabs-increment.component.ts +0 -74
- package/src/lib/ecabs-increment/ecabs-increment.module.ts +0 -15
- package/src/lib/ecabs-input/ecabs-input.component.html +0 -26
- package/src/lib/ecabs-input/ecabs-input.component.ts +0 -85
- package/src/lib/ecabs-input/ecabs-input.module.ts +0 -14
- package/src/lib/ecabs-language-selector/ecabs-language-selector.component.html +0 -17
- package/src/lib/ecabs-language-selector/ecabs-language-selector.component.scss +0 -26
- package/src/lib/ecabs-language-selector/ecabs-language-selector.component.ts +0 -63
- package/src/lib/ecabs-language-selector/ecabs-language-selector.module.ts +0 -22
- package/src/lib/ecabs-loading/ecabs-loading.component.html +0 -7
- package/src/lib/ecabs-loading/ecabs-loading.component.spec.ts +0 -24
- package/src/lib/ecabs-loading/ecabs-loading.component.ts +0 -11
- package/src/lib/ecabs-loading/ecabs-loading.module.ts +0 -11
- package/src/lib/ecabs-loading/spinner/spinner.component.html +0 -5
- package/src/lib/ecabs-loading/spinner/spinner.component.scss +0 -61
- package/src/lib/ecabs-loading/spinner/spinner.component.spec.ts +0 -24
- package/src/lib/ecabs-loading/spinner/spinner.component.ts +0 -11
- package/src/lib/ecabs-note/ecabs-note.component.html +0 -10
- package/src/lib/ecabs-note/ecabs-note.component.scss +0 -29
- package/src/lib/ecabs-note/ecabs-note.component.ts +0 -27
- package/src/lib/ecabs-note/ecabs-note.module.ts +0 -11
- package/src/lib/ecabs-phone/ecabs-phone.component.html +0 -17
- package/src/lib/ecabs-phone/ecabs-phone.component.ts +0 -108
- package/src/lib/ecabs-phone/ecabs-phone.module.ts +0 -15
- package/src/lib/ecabs-picker-header/ecabs-picker-header.component.html +0 -12
- package/src/lib/ecabs-picker-header/ecabs-picker-header.component.scss +0 -16
- package/src/lib/ecabs-picker-header/ecabs-picker-header.component.ts +0 -61
- package/src/lib/ecabs-picker-header/ecabs-picker-header.module.ts +0 -15
- package/src/lib/ecabs-radio-button-list/ecabs-radio-button-list.component.html +0 -13
- package/src/lib/ecabs-radio-button-list/ecabs-radio-button-list.component.scss +0 -16
- package/src/lib/ecabs-radio-button-list/ecabs-radio-button-list.component.ts +0 -60
- package/src/lib/ecabs-radio-button-list/ecabs-radio-button-list.module.ts +0 -18
- package/src/lib/ecabs-select/ecabs-select.component.html +0 -45
- package/src/lib/ecabs-select/ecabs-select.component.ts +0 -346
- package/src/lib/ecabs-select/ecabs-select.module.ts +0 -37
- package/src/lib/ecabs-table/ecabs-table-filter-wrapper/ecabs-table-filter-wrapper.component.html +0 -7
- package/src/lib/ecabs-table/ecabs-table-filter-wrapper/ecabs-table-filter-wrapper.component.scss +0 -11
- package/src/lib/ecabs-table/ecabs-table-filter-wrapper/ecabs-table-filter-wrapper.component.spec.ts +0 -34
- package/src/lib/ecabs-table/ecabs-table-filter-wrapper/ecabs-table-filter-wrapper.component.ts +0 -14
- package/src/lib/ecabs-table/ecabs-table-filter-wrapper/ecabs-table-filter-wrapper.module.ts +0 -14
- package/src/lib/ecabs-table/ecabs-table.component.html +0 -26
- package/src/lib/ecabs-table/ecabs-table.component.scss +0 -6
- package/src/lib/ecabs-table/ecabs-table.component.spec.ts +0 -24
- package/src/lib/ecabs-table/ecabs-table.component.ts +0 -42
- package/src/lib/ecabs-table/ecabs-table.module.ts +0 -19
- package/src/lib/ecabs-textarea/ecabs-textarea.component.html +0 -13
- package/src/lib/ecabs-textarea/ecabs-textarea.component.ts +0 -61
- package/src/lib/ecabs-textarea/ecabs-textarea.module.ts +0 -12
- package/src/lib/ecabs-timepicker/componets/ecabs-time-list-panel/ecabs-time-list-panel.component.html +0 -16
- package/src/lib/ecabs-timepicker/componets/ecabs-time-list-panel/ecabs-time-list-panel.component.ts +0 -126
- package/src/lib/ecabs-timepicker/config.model.ts +0 -5
- package/src/lib/ecabs-timepicker/ecabs-timepicker.component.html +0 -36
- package/src/lib/ecabs-timepicker/ecabs-timepicker.component.scss +0 -5
- package/src/lib/ecabs-timepicker/ecabs-timepicker.component.ts +0 -330
- package/src/lib/ecabs-timepicker/ecabs-timepicker.module.ts +0 -12
- package/src/lib/ecabs-timepicker/ecabs-timepicker.service.ts +0 -28
- package/src/lib/models/bread-crumb.ts +0 -5
- package/src/lib/services/ecabs-components.service.ts +0 -33
- package/src/styles/material/overrides/_icon.scss +0 -3
- package/src/test.ts +0 -27
- package/tailwind.config.js +0 -31
- package/tsconfig.lib.json +0 -15
- package/tsconfig.lib.prod.json +0 -10
- package/tsconfig.spec.json +0 -17
- /package/{src/public-api.ts → public-api.d.ts} +0 -0
- /package/{src/styles → styles}/material/_theme.scss +0 -0
- /package/{src/styles → styles}/material/overrides/_autocomplete.scss +0 -0
- /package/{src/styles → styles}/material/overrides/_card.scss +0 -0
- /package/{src/styles → styles}/material/overrides/_chip.scss +0 -0
- /package/{src/styles → styles}/material/overrides/_datepicker.scss +0 -0
- /package/{src/styles → styles}/material/overrides/_dialog.scss +0 -0
- /package/{src/styles → styles}/material/overrides/_divider.scss +0 -0
- /package/{src/styles → styles}/material/overrides/_expansion.scss +0 -0
- /package/{src/styles → styles}/material/overrides/_form.scss +0 -0
- /package/{src/styles → styles}/material/overrides/_menu.scss +0 -0
- /package/{src/styles → styles}/material/overrides/_paginator.scss +0 -0
- /package/{src/styles → styles}/material/overrides/_select.scss +0 -0
- /package/{src/styles → styles}/material/overrides/_tab.scss +0 -0
- /package/{src/styles → styles}/material/overrides/_table.scss +0 -0
- /package/{src/styles → styles}/material/overrides/_toaster.scss +0 -0
- /package/{src/styles → styles}/material/overrides/_toggle.scss +0 -0
- /package/{src/styles → styles}/material/overrides/_toolbar.scss +0 -0
- /package/{src/styles → styles}/material/overrides/_tooltip.scss +0 -0
- /package/{src/styles → styles}/material/overrides/index.scss +0 -0
- /package/{src/styles → styles}/scss/base/_heading.scss +0 -0
- /package/{src/styles → styles}/scss/base/_normalize.scss +0 -0
- /package/{src/styles → styles}/scss/base/index.scss +0 -0
- /package/{src/styles → styles}/scss/modules/_autocomplete.scss +0 -0
- /package/{src/styles → styles}/scss/modules/_button.scss +0 -0
- /package/{src/styles → styles}/scss/modules/_card.scss +0 -0
- /package/{src/styles → styles}/scss/modules/_chip.scss +0 -0
- /package/{src/styles → styles}/scss/modules/_datepicker.scss +0 -0
- /package/{src/styles → styles}/scss/modules/_dialog.scss +0 -0
- /package/{src/styles → styles}/scss/modules/_divider.scss +0 -0
- /package/{src/styles → styles}/scss/modules/_form.scss +0 -0
- /package/{src/styles → styles}/scss/modules/_icon.scss +0 -0
- /package/{src/styles → styles}/scss/modules/_img.scss +0 -0
- /package/{src/styles → styles}/scss/modules/_legend.scss +0 -0
- /package/{src/styles → styles}/scss/modules/_list.scss +0 -0
- /package/{src/styles → styles}/scss/modules/_map.scss +0 -0
- /package/{src/styles → styles}/scss/modules/_percentage.scss +0 -0
- /package/{src/styles → styles}/scss/modules/_phone.scss +0 -0
- /package/{src/styles → styles}/scss/modules/_select.scss +0 -0
- /package/{src/styles → styles}/scss/modules/_statuses.scss +0 -0
- /package/{src/styles → styles}/scss/modules/_tab.scss +0 -0
- /package/{src/styles → styles}/scss/modules/_table.scss +0 -0
- /package/{src/styles → styles}/scss/modules/_timepicker.scss +0 -0
- /package/{src/styles → styles}/scss/modules/_toaster.scss +0 -0
- /package/{src/styles → styles}/scss/modules/_tooltip.scss +0 -0
- /package/{src/styles → styles}/scss/modules/drag-drop.scss +0 -0
- /package/{src/styles → styles}/scss/modules/index.scss +0 -0
- /package/{src/styles → styles}/scss/utilities/_colors.scss +0 -0
- /package/{src/styles → styles}/scss/utilities/_fonts.scss +0 -0
- /package/{src/styles → styles}/scss/utilities/_functions.scss +0 -0
- /package/{src/styles → styles}/scss/utilities/_helpers.scss +0 -0
- /package/{src/styles → styles}/scss/utilities/_mixins.scss +0 -0
- /package/{src/styles → styles}/scss/utilities/_palettes.scss +0 -0
- /package/{src/styles → styles}/scss/utilities/_variables.scss +0 -0
- /package/{src/styles → styles}/scss/utilities/index.scss +0 -0
- /package/{src/styles → styles}/styles.scss +0 -0
- /package/{src/styles → styles}/tailwind/index.scss +0 -0
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { NgModule } from '@angular/core';
|
|
3
|
+
import { MatLegacyButtonModule as MatButtonModule } from '@angular/material/legacy-button';
|
|
4
|
+
import { MatDatepickerModule } from '@angular/material/datepicker';
|
|
5
|
+
import { MatIconModule } from '@angular/material/icon';
|
|
6
|
+
import { ElementWrapperModule } from '../base/element-wrapper/element-wrapper.module';
|
|
7
|
+
import { EcabsPickerHeaderComponent } from './ecabs-picker-header.component';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
export class EcabsPickerHeaderModule {
|
|
10
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsPickerHeaderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
11
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: EcabsPickerHeaderModule, declarations: [EcabsPickerHeaderComponent], imports: [CommonModule, ElementWrapperModule, MatIconModule, MatButtonModule, MatDatepickerModule], exports: [EcabsPickerHeaderComponent] });
|
|
12
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsPickerHeaderModule, imports: [CommonModule, ElementWrapperModule, MatIconModule, MatButtonModule, MatDatepickerModule] });
|
|
13
|
+
}
|
|
14
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsPickerHeaderModule, decorators: [{
|
|
15
|
+
type: NgModule,
|
|
16
|
+
args: [{
|
|
17
|
+
declarations: [EcabsPickerHeaderComponent],
|
|
18
|
+
imports: [CommonModule, ElementWrapperModule, MatIconModule, MatButtonModule, MatDatepickerModule],
|
|
19
|
+
exports: [EcabsPickerHeaderComponent],
|
|
20
|
+
}]
|
|
21
|
+
}] });
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtcGlja2VyLWhlYWRlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lY2Ficy1jb21wb25lbnRzL3NyYy9saWIvZWNhYnMtcGlja2VyLWhlYWRlci9lY2Ficy1waWNrZXItaGVhZGVyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUscUJBQXFCLElBQUksZUFBZSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDM0YsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXZELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ3RGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOztBQU83RSxNQUFNLE9BQU8sdUJBQXVCO3dHQUF2Qix1QkFBdUI7eUdBQXZCLHVCQUF1QixpQkFKbEIsMEJBQTBCLGFBQy9CLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLG1CQUFtQixhQUN2RiwwQkFBMEI7eUdBRTFCLHVCQUF1QixZQUh2QixZQUFZLEVBQUUsb0JBQW9CLEVBQUUsYUFBYSxFQUFFLGVBQWUsRUFBRSxtQkFBbUI7OzRGQUd2Rix1QkFBdUI7a0JBTG5DLFFBQVE7bUJBQUU7b0JBQ1QsWUFBWSxFQUFFLENBQUUsMEJBQTBCLENBQUU7b0JBQzVDLE9BQU8sRUFBRSxDQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLG1CQUFtQixDQUFFO29CQUNwRyxPQUFPLEVBQUUsQ0FBRSwwQkFBMEIsQ0FBRTtpQkFDeEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXRMZWdhY3lCdXR0b25Nb2R1bGUgYXMgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGVnYWN5LWJ1dHRvbic7XHJcbmltcG9ydCB7IE1hdERhdGVwaWNrZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kYXRlcGlja2VyJztcclxuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5cclxuaW1wb3J0IHsgRWxlbWVudFdyYXBwZXJNb2R1bGUgfSBmcm9tICcuLi9iYXNlL2VsZW1lbnQtd3JhcHBlci9lbGVtZW50LXdyYXBwZXIubW9kdWxlJztcclxuaW1wb3J0IHsgRWNhYnNQaWNrZXJIZWFkZXJDb21wb25lbnQgfSBmcm9tICcuL2VjYWJzLXBpY2tlci1oZWFkZXIuY29tcG9uZW50JztcclxuXHJcbkBOZ01vZHVsZSgge1xyXG4gIGRlY2xhcmF0aW9uczogWyBFY2Fic1BpY2tlckhlYWRlckNvbXBvbmVudCBdLFxyXG4gIGltcG9ydHM6IFsgQ29tbW9uTW9kdWxlLCBFbGVtZW50V3JhcHBlck1vZHVsZSwgTWF0SWNvbk1vZHVsZSwgTWF0QnV0dG9uTW9kdWxlLCBNYXREYXRlcGlja2VyTW9kdWxlIF0sXHJcbiAgZXhwb3J0czogWyBFY2Fic1BpY2tlckhlYWRlckNvbXBvbmVudCBdLFxyXG59IClcclxuZXhwb3J0IGNsYXNzIEVjYWJzUGlja2VySGVhZGVyTW9kdWxlIHsgfVxyXG4iXX0=
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import { NgControl, NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
|
+
import ElementBaseComponent from '../base/element-base';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/common";
|
|
6
|
+
import * as i2 from "../base/element-wrapper/element-wrapper.component";
|
|
7
|
+
import * as i3 from "@angular/material/legacy-radio";
|
|
8
|
+
import * as i4 from "@angular/forms";
|
|
9
|
+
export class EcabsRadioButtonListComponent extends ElementBaseComponent {
|
|
10
|
+
injector;
|
|
11
|
+
items;
|
|
12
|
+
direction = 'horizontal';
|
|
13
|
+
val;
|
|
14
|
+
get value() {
|
|
15
|
+
return this.val;
|
|
16
|
+
}
|
|
17
|
+
set value(val) {
|
|
18
|
+
if (val !== undefined && this.val !== val) {
|
|
19
|
+
this.val = val;
|
|
20
|
+
this.onChange(val);
|
|
21
|
+
this.onTouch(val);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
constructor(injector) {
|
|
25
|
+
super();
|
|
26
|
+
this.injector = injector;
|
|
27
|
+
}
|
|
28
|
+
onChange = () => { };
|
|
29
|
+
onTouch = () => { };
|
|
30
|
+
ngAfterViewInit() {
|
|
31
|
+
const ngControl = this.injector.get(NgControl, null);
|
|
32
|
+
if (ngControl) {
|
|
33
|
+
this.control = ngControl.control;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
writeValue(value) {
|
|
37
|
+
this.value = value;
|
|
38
|
+
}
|
|
39
|
+
registerOnChange(fn) {
|
|
40
|
+
this.onChange = fn;
|
|
41
|
+
}
|
|
42
|
+
registerOnTouched(fn) {
|
|
43
|
+
this.onTouch = fn;
|
|
44
|
+
}
|
|
45
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsRadioButtonListComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
|
|
46
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EcabsRadioButtonListComponent, selector: "ecabs-radio-button-list", inputs: { items: "items", direction: "direction" }, providers: [
|
|
47
|
+
{
|
|
48
|
+
provide: NG_VALUE_ACCESSOR,
|
|
49
|
+
useExisting: EcabsRadioButtonListComponent,
|
|
50
|
+
multi: true,
|
|
51
|
+
},
|
|
52
|
+
], usesInheritance: true, ngImport: i0, template: "<app-element-wrapper [data]=\"getData()\">\r\n <mat-radio-group\r\n [ngClass]=\"{ 'flex flex-col my-1': direction === 'vertical' }\"\r\n [(ngModel)]=\"value\"\r\n [disabled]=\"disabled\"\r\n >\r\n <mat-radio-button\r\n [ngClass]=\"{ 'my-1': direction === 'vertical' }\"\r\n class=\"mr-4\"\r\n *ngFor=\"let item of items\"\r\n [value]=\"item.value\">{{ item.label }}</mat-radio-button>\r\n </mat-radio-group>\r\n</app-element-wrapper>\r\n", styles: [".mr-4{margin-right:1rem}.my-1{margin-top:.25rem;margin-bottom:.25rem}.flex{display:flex}.flex-col{flex-direction:column}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i2.ElementWrapperComponent, selector: "app-element-wrapper", inputs: ["data", "showCloseIcon", "focusedFlag", "showPassword", "control"], outputs: ["showHidePassword", "clear", "increase", "decrease"] }, { kind: "directive", type: i3.MatLegacyRadioGroup, selector: "mat-radio-group", exportAs: ["matRadioGroup"] }, { kind: "component", type: i3.MatLegacyRadioButton, selector: "mat-radio-button", inputs: ["disableRipple", "tabIndex"], exportAs: ["matRadioButton"] }, { 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"] }] });
|
|
53
|
+
}
|
|
54
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsRadioButtonListComponent, decorators: [{
|
|
55
|
+
type: Component,
|
|
56
|
+
args: [{ selector: 'ecabs-radio-button-list', providers: [
|
|
57
|
+
{
|
|
58
|
+
provide: NG_VALUE_ACCESSOR,
|
|
59
|
+
useExisting: EcabsRadioButtonListComponent,
|
|
60
|
+
multi: true,
|
|
61
|
+
},
|
|
62
|
+
], template: "<app-element-wrapper [data]=\"getData()\">\r\n <mat-radio-group\r\n [ngClass]=\"{ 'flex flex-col my-1': direction === 'vertical' }\"\r\n [(ngModel)]=\"value\"\r\n [disabled]=\"disabled\"\r\n >\r\n <mat-radio-button\r\n [ngClass]=\"{ 'my-1': direction === 'vertical' }\"\r\n class=\"mr-4\"\r\n *ngFor=\"let item of items\"\r\n [value]=\"item.value\">{{ item.label }}</mat-radio-button>\r\n </mat-radio-group>\r\n</app-element-wrapper>\r\n", styles: [".mr-4{margin-right:1rem}.my-1{margin-top:.25rem;margin-bottom:.25rem}.flex{display:flex}.flex-col{flex-direction:column}\n"] }]
|
|
63
|
+
}], ctorParameters: function () { return [{ type: i0.Injector }]; }, propDecorators: { items: [{
|
|
64
|
+
type: Input
|
|
65
|
+
}], direction: [{
|
|
66
|
+
type: Input
|
|
67
|
+
}] } });
|
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtcmFkaW8tYnV0dG9uLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWNhYnMtY29tcG9uZW50cy9zcmMvbGliL2VjYWJzLXJhZGlvLWJ1dHRvbi1saXN0L2VjYWJzLXJhZGlvLWJ1dHRvbi1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9lY2Ficy1yYWRpby1idXR0b24tbGlzdC9lY2Ficy1yYWRpby1idXR0b24tbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBWSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUUsT0FBTyxFQUE0QyxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4RyxPQUFPLG9CQUFvQixNQUFNLHNCQUFzQixDQUFDOzs7Ozs7QUFjeEQsTUFBTSxPQUFPLDZCQUE4QixTQUFRLG9CQUFvQjtJQWtCaEQ7SUFqQlosS0FBSyxDQUFtQztJQUN4QyxTQUFTLEdBQThCLFlBQVksQ0FBQztJQUU3RCxHQUFHLENBQVU7SUFFYixJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUM7SUFDbEIsQ0FBQztJQUVELElBQUksS0FBSyxDQUFFLEdBQUc7UUFDWixJQUFLLEdBQUcsS0FBSyxTQUFTLElBQUksSUFBSSxDQUFDLEdBQUcsS0FBSyxHQUFHLEVBQUc7WUFDM0MsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7WUFDZixJQUFJLENBQUMsUUFBUSxDQUFFLEdBQUcsQ0FBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxPQUFPLENBQUUsR0FBRyxDQUFFLENBQUM7U0FDckI7SUFDSCxDQUFDO0lBRUQsWUFBcUIsUUFBa0I7UUFDckMsS0FBSyxFQUFFLENBQUM7UUFEVyxhQUFRLEdBQVIsUUFBUSxDQUFVO0lBRXZDLENBQUM7SUFFRCxRQUFRLEdBQVEsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQzFCLE9BQU8sR0FBUSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFFekIsZUFBZTtRQUNiLE1BQU0sU0FBUyxHQUFjLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFFLFNBQVMsRUFBRSxJQUFJLENBQWUsQ0FBQztRQUMvRSxJQUFLLFNBQVMsRUFBRztZQUNmLElBQUksQ0FBQyxPQUFPLEdBQUcsU0FBUyxDQUFDLE9BQTZCLENBQUM7U0FDeEQ7SUFDSCxDQUFDO0lBRUQsVUFBVSxDQUFFLEtBQVU7UUFDcEIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDckIsQ0FBQztJQUVELGdCQUFnQixDQUFFLEVBQU87UUFDdkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELGlCQUFpQixDQUFFLEVBQU87UUFDeEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7SUFDcEIsQ0FBQzt3R0ExQ1UsNkJBQTZCOzRGQUE3Qiw2QkFBNkIsc0dBUjdCO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLDZCQUE2QjtnQkFDMUMsS0FBSyxFQUFFLElBQUk7YUFDWjtTQUNGLGlEQ2RILDRkQWFBOzs0RkRHYSw2QkFBNkI7a0JBWnpDLFNBQVM7K0JBQ0UseUJBQXlCLGFBR3hCO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsK0JBQStCOzRCQUMxQyxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjsrRkFHUSxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgSW5qZWN0b3IsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBVbnR5cGVkRm9ybUNvbnRyb2wsIE5nQ29udHJvbCwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCBFbGVtZW50QmFzZUNvbXBvbmVudCBmcm9tICcuLi9iYXNlL2VsZW1lbnQtYmFzZSc7XHJcblxyXG5AQ29tcG9uZW50KCB7XHJcbiAgc2VsZWN0b3I6ICdlY2Ficy1yYWRpby1idXR0b24tbGlzdCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2VjYWJzLXJhZGlvLWJ1dHRvbi1saXN0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsgJ2VjYWJzLXJhZGlvLWJ1dHRvbi1saXN0LmNvbXBvbmVudC5zY3NzJyBdLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgdXNlRXhpc3Rpbmc6IEVjYWJzUmFkaW9CdXR0b25MaXN0Q29tcG9uZW50LFxyXG4gICAgICBtdWx0aTogdHJ1ZSxcclxuICAgIH0sXHJcbiAgXSxcclxufSApXHJcbmV4cG9ydCBjbGFzcyBFY2Fic1JhZGlvQnV0dG9uTGlzdENvbXBvbmVudCBleHRlbmRzIEVsZW1lbnRCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEFmdGVyVmlld0luaXQge1xyXG4gIEBJbnB1dCgpIGl0ZW1zITogeyBsYWJlbDogc3RyaW5nOyB2YWx1ZTogYW55IH1bXTtcclxuICBASW5wdXQoKSBkaXJlY3Rpb246ICdob3Jpem9udGFsJyB8ICd2ZXJ0aWNhbCcgPSAnaG9yaXpvbnRhbCc7XHJcblxyXG4gIHZhbCE6IHN0cmluZztcclxuXHJcbiAgZ2V0IHZhbHVlKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy52YWw7XHJcbiAgfVxyXG5cclxuICBzZXQgdmFsdWUoIHZhbCApIHtcclxuICAgIGlmICggdmFsICE9PSB1bmRlZmluZWQgJiYgdGhpcy52YWwgIT09IHZhbCApIHtcclxuICAgICAgdGhpcy52YWwgPSB2YWw7XHJcbiAgICAgIHRoaXMub25DaGFuZ2UoIHZhbCApO1xyXG4gICAgICB0aGlzLm9uVG91Y2goIHZhbCApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yICkge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIG9uQ2hhbmdlOiBhbnkgPSAoKSA9PiB7IH07XHJcbiAgb25Ub3VjaDogYW55ID0gKCkgPT4geyB9O1xyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICBjb25zdCBuZ0NvbnRyb2w6IE5nQ29udHJvbCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCBOZ0NvbnRyb2wsIG51bGwgKSBhcyBOZ0NvbnRyb2w7XHJcbiAgICBpZiAoIG5nQ29udHJvbCApIHtcclxuICAgICAgdGhpcy5jb250cm9sID0gbmdDb250cm9sLmNvbnRyb2wgYXMgVW50eXBlZEZvcm1Db250cm9sO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgd3JpdGVWYWx1ZSggdmFsdWU6IGFueSApOiB2b2lkIHtcclxuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25DaGFuZ2UoIGZuOiBhbnkgKTogdm9pZCB7XHJcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uVG91Y2hlZCggZm46IGFueSApOiB2b2lkIHtcclxuICAgIHRoaXMub25Ub3VjaCA9IGZuO1xyXG4gIH1cclxufVxyXG4iLCI8YXBwLWVsZW1lbnQtd3JhcHBlciBbZGF0YV09XCJnZXREYXRhKClcIj5cclxuICA8bWF0LXJhZGlvLWdyb3VwXHJcbiAgICBbbmdDbGFzc109XCJ7ICdmbGV4IGZsZXgtY29sIG15LTEnOiBkaXJlY3Rpb24gPT09ICd2ZXJ0aWNhbCcgfVwiXHJcbiAgICBbKG5nTW9kZWwpXT1cInZhbHVlXCJcclxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICA+XHJcbiAgICA8bWF0LXJhZGlvLWJ1dHRvblxyXG4gICAgICBbbmdDbGFzc109XCJ7ICdteS0xJzogZGlyZWN0aW9uID09PSAndmVydGljYWwnIH1cIlxyXG4gICAgICBjbGFzcz1cIm1yLTRcIlxyXG4gICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtc1wiXHJcbiAgICAgIFt2YWx1ZV09XCJpdGVtLnZhbHVlXCI+e3sgaXRlbS5sYWJlbCB9fTwvbWF0LXJhZGlvLWJ1dHRvbj5cclxuICA8L21hdC1yYWRpby1ncm91cD5cclxuPC9hcHAtZWxlbWVudC13cmFwcGVyPlxyXG4iXX0=
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { NgModule } from '@angular/core';
|
|
3
|
+
import { FormsModule } from '@angular/forms';
|
|
4
|
+
import { ElementWrapperModule } from '../base/element-wrapper/element-wrapper.module';
|
|
5
|
+
import { EcabsRadioButtonListComponent } from './ecabs-radio-button-list.component';
|
|
6
|
+
import { MatLegacyRadioModule as MatRadioModule } from '@angular/material/legacy-radio';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
export class EcabsRadioButtonListModule {
|
|
9
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsRadioButtonListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
10
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: EcabsRadioButtonListModule, declarations: [EcabsRadioButtonListComponent], imports: [CommonModule,
|
|
11
|
+
ElementWrapperModule,
|
|
12
|
+
MatRadioModule,
|
|
13
|
+
FormsModule], exports: [EcabsRadioButtonListComponent] });
|
|
14
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsRadioButtonListModule, imports: [CommonModule,
|
|
15
|
+
ElementWrapperModule,
|
|
16
|
+
MatRadioModule,
|
|
17
|
+
FormsModule] });
|
|
18
|
+
}
|
|
19
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsRadioButtonListModule, decorators: [{
|
|
20
|
+
type: NgModule,
|
|
21
|
+
args: [{
|
|
22
|
+
declarations: [EcabsRadioButtonListComponent],
|
|
23
|
+
imports: [
|
|
24
|
+
CommonModule,
|
|
25
|
+
ElementWrapperModule,
|
|
26
|
+
MatRadioModule,
|
|
27
|
+
FormsModule
|
|
28
|
+
],
|
|
29
|
+
exports: [EcabsRadioButtonListComponent],
|
|
30
|
+
}]
|
|
31
|
+
}] });
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtcmFkaW8tYnV0dG9uLWxpc3QubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWNhYnMtY29tcG9uZW50cy9zcmMvbGliL2VjYWJzLXJhZGlvLWJ1dHRvbi1saXN0L2VjYWJzLXJhZGlvLWJ1dHRvbi1saXN0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDdEYsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDcEYsT0FBTyxFQUFFLG9CQUFvQixJQUFJLGNBQWMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOztBQVl4RixNQUFNLE9BQU8sMEJBQTBCO3dHQUExQiwwQkFBMEI7eUdBQTFCLDBCQUEwQixpQkFUckIsNkJBQTZCLGFBRTNDLFlBQVk7WUFDWixvQkFBb0I7WUFDcEIsY0FBYztZQUNkLFdBQVcsYUFFRiw2QkFBNkI7eUdBRTdCLDBCQUEwQixZQVBuQyxZQUFZO1lBQ1osb0JBQW9CO1lBQ3BCLGNBQWM7WUFDZCxXQUFXOzs0RkFJRiwwQkFBMEI7a0JBVnRDLFFBQVE7bUJBQUU7b0JBQ1QsWUFBWSxFQUFFLENBQUUsNkJBQTZCLENBQUU7b0JBQy9DLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLG9CQUFvQjt3QkFDcEIsY0FBYzt3QkFDZCxXQUFXO3FCQUNaO29CQUNELE9BQU8sRUFBRSxDQUFFLDZCQUE2QixDQUFFO2lCQUMzQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBFbGVtZW50V3JhcHBlck1vZHVsZSB9IGZyb20gJy4uL2Jhc2UvZWxlbWVudC13cmFwcGVyL2VsZW1lbnQtd3JhcHBlci5tb2R1bGUnO1xyXG5pbXBvcnQgeyBFY2Fic1JhZGlvQnV0dG9uTGlzdENvbXBvbmVudCB9IGZyb20gJy4vZWNhYnMtcmFkaW8tYnV0dG9uLWxpc3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTWF0TGVnYWN5UmFkaW9Nb2R1bGUgYXMgTWF0UmFkaW9Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9sZWdhY3ktcmFkaW8nO1xyXG5cclxuQE5nTW9kdWxlKCB7XHJcbiAgZGVjbGFyYXRpb25zOiBbIEVjYWJzUmFkaW9CdXR0b25MaXN0Q29tcG9uZW50IF0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgRWxlbWVudFdyYXBwZXJNb2R1bGUsXHJcbiAgICBNYXRSYWRpb01vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlXHJcbiAgXSxcclxuICBleHBvcnRzOiBbIEVjYWJzUmFkaW9CdXR0b25MaXN0Q29tcG9uZW50IF0sXHJcbn0gKVxyXG5leHBvcnQgY2xhc3MgRWNhYnNSYWRpb0J1dHRvbkxpc3RNb2R1bGUgeyB9XHJcbiJdfQ==
|
|
@@ -0,0 +1,316 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output, ViewChild, } from '@angular/core';
|
|
2
|
+
import { UntypedFormControl, NgControl, NG_VALUE_ACCESSOR, } from '@angular/forms';
|
|
3
|
+
import { MatSelectSearchComponent } from 'ngx-mat-select-search';
|
|
4
|
+
import { BehaviorSubject, combineLatest, debounceTime, map, Subscription, } from 'rxjs';
|
|
5
|
+
import ElementBaseComponent from '../base/element-base';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "@angular/common";
|
|
8
|
+
import * as i2 from "../base/element-wrapper/element-wrapper.component";
|
|
9
|
+
import * as i3 from "@angular/material/legacy-form-field";
|
|
10
|
+
import * as i4 from "@angular/material/legacy-select";
|
|
11
|
+
import * as i5 from "@angular/material/legacy-core";
|
|
12
|
+
import * as i6 from "@angular/forms";
|
|
13
|
+
import * as i7 from "ngx-mat-select-search";
|
|
14
|
+
export class EcabsSelectComponent extends ElementBaseComponent {
|
|
15
|
+
injector;
|
|
16
|
+
changeDetectorRef;
|
|
17
|
+
items;
|
|
18
|
+
multiple = false;
|
|
19
|
+
useNoneOption = false;
|
|
20
|
+
useOnlyDisabledClass = false;
|
|
21
|
+
searchFieldPlaceholder = 'Search';
|
|
22
|
+
useSearchOption = false;
|
|
23
|
+
useSelectAllOption = false;
|
|
24
|
+
setAllOptionAfterChosenAllItems = true;
|
|
25
|
+
selectAllValue = 0;
|
|
26
|
+
noEntriesFoundLabel = 'No matching found';
|
|
27
|
+
noneLabel = 'None';
|
|
28
|
+
allLabel = 'All';
|
|
29
|
+
otherLabel = 'Other';
|
|
30
|
+
othersLabel = 'Others';
|
|
31
|
+
updateFilterItems = new EventEmitter();
|
|
32
|
+
selectionChange = new EventEmitter();
|
|
33
|
+
allSelected;
|
|
34
|
+
matSelectSearchComponent;
|
|
35
|
+
val;
|
|
36
|
+
filteredItems$ = new BehaviorSubject([]);
|
|
37
|
+
itemFilterCtrl = new UntypedFormControl();
|
|
38
|
+
isClearAll = false;
|
|
39
|
+
showFilteredAllOption = true;
|
|
40
|
+
selectedItems = [];
|
|
41
|
+
notSelectedItems = [];
|
|
42
|
+
subscriptions = new Subscription();
|
|
43
|
+
get value() {
|
|
44
|
+
return this.val;
|
|
45
|
+
}
|
|
46
|
+
set value(val) {
|
|
47
|
+
if (this.val !== val) {
|
|
48
|
+
this.val = val;
|
|
49
|
+
this.setSelectedItems();
|
|
50
|
+
this.onChange(val);
|
|
51
|
+
this.onTouch(val);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
constructor(injector, changeDetectorRef) {
|
|
55
|
+
super();
|
|
56
|
+
this.injector = injector;
|
|
57
|
+
this.changeDetectorRef = changeDetectorRef;
|
|
58
|
+
}
|
|
59
|
+
ngOnChanges(changes) {
|
|
60
|
+
const { items } = changes;
|
|
61
|
+
if (items && items.currentValue) {
|
|
62
|
+
this.filterItems();
|
|
63
|
+
if (this.multiple && this.useSelectAllOption && this.allSelected?.selected) {
|
|
64
|
+
setTimeout(() => {
|
|
65
|
+
this.control.patchValue([...this.filteredItems$.value.map((item) => item.value), this.selectAllValue], {
|
|
66
|
+
emitEvent: false,
|
|
67
|
+
});
|
|
68
|
+
}, 100);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
ngAfterViewInit() {
|
|
73
|
+
const ngControl = this.injector.get(NgControl, null);
|
|
74
|
+
if (ngControl) {
|
|
75
|
+
this.control = ngControl.control;
|
|
76
|
+
}
|
|
77
|
+
if (this.matSelectSearchComponent) {
|
|
78
|
+
this.matSelectSearchComponent._showNoEntriesFound$ = combineLatest([
|
|
79
|
+
this.itemFilterCtrl.valueChanges,
|
|
80
|
+
this.filteredItems$,
|
|
81
|
+
]).pipe(map(([value, items]) => this.matSelectSearchComponent.noEntriesFoundLabel &&
|
|
82
|
+
value &&
|
|
83
|
+
items.length === 0));
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
ngOnInit() {
|
|
87
|
+
this.subscriptions.add(this.itemFilterCtrl.valueChanges
|
|
88
|
+
.pipe(debounceTime(200))
|
|
89
|
+
.subscribe((value) => {
|
|
90
|
+
this.filterItems();
|
|
91
|
+
this.updateFilterItems.emit(value);
|
|
92
|
+
if (this.isClearAll) {
|
|
93
|
+
this.control.patchValue([], { emitEvent: false });
|
|
94
|
+
this.isClearAll = false;
|
|
95
|
+
}
|
|
96
|
+
}));
|
|
97
|
+
}
|
|
98
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
99
|
+
onChange = () => {
|
|
100
|
+
};
|
|
101
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
102
|
+
onTouch = () => {
|
|
103
|
+
};
|
|
104
|
+
toggleAllSelection() {
|
|
105
|
+
if (this.allSelected.selected) {
|
|
106
|
+
if (this.useSearchOption) {
|
|
107
|
+
this.control.patchValue([...this.filteredItems$.value.map((item) => item.value), this.selectAllValue]);
|
|
108
|
+
}
|
|
109
|
+
else {
|
|
110
|
+
this.control.patchValue([...this.items.map((item) => item.value), this.selectAllValue]);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
else {
|
|
114
|
+
this.control.patchValue([]);
|
|
115
|
+
this.isClearAll = true;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
togglePerOne() {
|
|
119
|
+
setTimeout(() => {
|
|
120
|
+
if (this.allSelected) {
|
|
121
|
+
if (this.allSelected.selected) {
|
|
122
|
+
this.allSelected.deselect();
|
|
123
|
+
}
|
|
124
|
+
if (this.setAllOptionAfterChosenAllItems && this.control.value.length === this.items.length) {
|
|
125
|
+
this.allSelected.select();
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
});
|
|
129
|
+
this.isClearAll = false;
|
|
130
|
+
}
|
|
131
|
+
toggleNone() {
|
|
132
|
+
this.selectedItems = [];
|
|
133
|
+
}
|
|
134
|
+
getAllSelectedChecked() {
|
|
135
|
+
return this.allSelected !== undefined && this.allSelected.selected;
|
|
136
|
+
}
|
|
137
|
+
getLabel(val) {
|
|
138
|
+
if (this.useSelectAllOption && this.allSelected?.selected && this.items && this.items.length > 0) {
|
|
139
|
+
return this.items[0].label;
|
|
140
|
+
}
|
|
141
|
+
let item;
|
|
142
|
+
if (val !== undefined) {
|
|
143
|
+
if (this.useSearchOption) {
|
|
144
|
+
if (this.selectedItems && this.selectedItems.length > 0) {
|
|
145
|
+
// eslint-disable-next-line @typescript-eslint/no-shadow
|
|
146
|
+
item = this.selectedItems.find((item) => item.value === val);
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
else {
|
|
150
|
+
if (this.items && this.items.length > 0) {
|
|
151
|
+
// eslint-disable-next-line @typescript-eslint/no-shadow
|
|
152
|
+
item = this.items.find((item) => item.value === val);
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
return item ? item.label : '';
|
|
156
|
+
}
|
|
157
|
+
return '';
|
|
158
|
+
}
|
|
159
|
+
writeValue(value) {
|
|
160
|
+
this.value = value;
|
|
161
|
+
}
|
|
162
|
+
registerOnChange(fn) {
|
|
163
|
+
this.onChange = fn;
|
|
164
|
+
}
|
|
165
|
+
registerOnTouched(fn) {
|
|
166
|
+
this.onTouch = fn;
|
|
167
|
+
}
|
|
168
|
+
ngOnDestroy() {
|
|
169
|
+
this.subscriptions.unsubscribe();
|
|
170
|
+
}
|
|
171
|
+
onSelectionChanged($event) {
|
|
172
|
+
this.selectionChange.emit($event);
|
|
173
|
+
}
|
|
174
|
+
filterItems() {
|
|
175
|
+
this.setSelectedItems();
|
|
176
|
+
if (!this.items) {
|
|
177
|
+
return;
|
|
178
|
+
}
|
|
179
|
+
// get the search keyword
|
|
180
|
+
let search = this.itemFilterCtrl.value;
|
|
181
|
+
if (!search || search === '') {
|
|
182
|
+
if (this.useSearchOption && !this.items?.length) {
|
|
183
|
+
this.filteredItems$.next([...this.selectedItems]);
|
|
184
|
+
}
|
|
185
|
+
else {
|
|
186
|
+
this.filteredItems$.next(this.items?.slice());
|
|
187
|
+
}
|
|
188
|
+
this.showFilteredAllOption = true;
|
|
189
|
+
return;
|
|
190
|
+
}
|
|
191
|
+
search = search.toLowerCase();
|
|
192
|
+
this.showFilteredAllOption =
|
|
193
|
+
this.allLabel.toLowerCase().includes(search.toLowerCase()) ||
|
|
194
|
+
(this.value instanceof Array && this.value.includes(this.selectAllValue)) ||
|
|
195
|
+
(!(this.value instanceof Array) && this.value === this.selectAllValue);
|
|
196
|
+
this.changeDetectorRef.detectChanges();
|
|
197
|
+
if (this.useSearchOption) {
|
|
198
|
+
const filteredItems = this.notSelectedItems?.length > 0
|
|
199
|
+
? this.notSelectedItems.filter((item) => item.label.toLowerCase().includes(search.toLowerCase()))
|
|
200
|
+
: [];
|
|
201
|
+
this.filteredItems$.next([...this.selectedItems, ...filteredItems]);
|
|
202
|
+
}
|
|
203
|
+
else {
|
|
204
|
+
this.filteredItems$.next(this.items?.length > 0
|
|
205
|
+
? this.items.filter((item) => item.label.toLowerCase().includes(search.toLowerCase()))
|
|
206
|
+
: []);
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
setSelectedItems() {
|
|
210
|
+
if (this.useSearchOption) {
|
|
211
|
+
const selectedItems = [];
|
|
212
|
+
if (this.value) {
|
|
213
|
+
if (this.value instanceof Array) {
|
|
214
|
+
const skipSteps = this.value.includes(this.selectAllValue);
|
|
215
|
+
if (!skipSteps) {
|
|
216
|
+
this.value.forEach((value) => {
|
|
217
|
+
const index = this.selectedItems.findIndex((selectedItem) => selectedItem.value === value);
|
|
218
|
+
if (index !== -1) {
|
|
219
|
+
selectedItems.push(this.selectedItems[index]);
|
|
220
|
+
}
|
|
221
|
+
else {
|
|
222
|
+
// eslint-disable-next-line @typescript-eslint/no-shadow
|
|
223
|
+
const item = this.items.find((item) => item.value === value);
|
|
224
|
+
if (item) {
|
|
225
|
+
selectedItems.push(item);
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
});
|
|
229
|
+
this.selectedItems.forEach((selectedItem) => {
|
|
230
|
+
const index = this.value.find((value) => selectedItem.value === value);
|
|
231
|
+
if (index === -1) {
|
|
232
|
+
selectedItems.splice(index, 1);
|
|
233
|
+
}
|
|
234
|
+
});
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
else {
|
|
238
|
+
const index = this.selectedItems.findIndex((selectedItem) => selectedItem.value === this.value);
|
|
239
|
+
if (index !== -1) {
|
|
240
|
+
selectedItems.push(this.selectedItems[index]);
|
|
241
|
+
}
|
|
242
|
+
else {
|
|
243
|
+
// eslint-disable-next-line @typescript-eslint/no-shadow
|
|
244
|
+
const item = this.items.find((item) => item.value === this.value);
|
|
245
|
+
// eslint-disable-next-line max-depth
|
|
246
|
+
if (item) {
|
|
247
|
+
selectedItems.push(item);
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
this.selectedItems = [...selectedItems];
|
|
252
|
+
this.notSelectedItems = this.items?.filter((item) => this.selectedItems.findIndex((selectedItem) => selectedItem.value === item.value) === -1);
|
|
253
|
+
}
|
|
254
|
+
else {
|
|
255
|
+
this.notSelectedItems = this.items?.slice();
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsSelectComponent, deps: [{ token: i0.Injector }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
260
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EcabsSelectComponent, selector: "ecabs-select", inputs: { items: "items", multiple: "multiple", useNoneOption: "useNoneOption", useOnlyDisabledClass: "useOnlyDisabledClass", searchFieldPlaceholder: "searchFieldPlaceholder", useSearchOption: "useSearchOption", useSelectAllOption: "useSelectAllOption", setAllOptionAfterChosenAllItems: "setAllOptionAfterChosenAllItems", selectAllValue: "selectAllValue", noEntriesFoundLabel: "noEntriesFoundLabel", noneLabel: "noneLabel", allLabel: "allLabel", otherLabel: "otherLabel", othersLabel: "othersLabel" }, outputs: { updateFilterItems: "updateFilterItems", selectionChange: "selectionChange" }, providers: [
|
|
261
|
+
{
|
|
262
|
+
provide: NG_VALUE_ACCESSOR,
|
|
263
|
+
useExisting: EcabsSelectComponent,
|
|
264
|
+
multi: true,
|
|
265
|
+
},
|
|
266
|
+
], viewQueries: [{ propertyName: "allSelected", first: true, predicate: ["allSelected"], descendants: true }, { propertyName: "matSelectSearchComponent", first: true, predicate: MatSelectSearchComponent, descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<app-element-wrapper [data]=\"getData()\">\r\n <mat-form-field [ngClass]=\"{ disabled: useOnlyDisabledClass }\">\r\n <mat-select\r\n class=\"form-field__select\"\r\n [(ngModel)]=\"value\"\r\n (closed)=\"onTouch()\"\r\n [id]=\"name\"\r\n appearance=\"outline\"\r\n [multiple]=\"multiple\"\r\n [disabled]=\"disabled\"\r\n [placeholder]=\"placeholder\"\r\n [disableRipple]=\"true\"\r\n (selectionChange)=\"onSelectionChanged($event)\"\r\n >\r\n <mat-select-trigger>\r\n <span *ngIf=\"getAllSelectedChecked()\">{{ allLabel }}</span>\r\n <span *ngIf=\"!getAllSelectedChecked()\"\r\n >{{ val && multiple ? getLabel(val[0]) : getLabel(val) }}\r\n <span *ngIf=\"multiple && value?.length > 1\" class=\"additional-selection\">\r\n (+{{ useSelectAllOption && this.allSelected?.selected ? value?.length - 2 : value?.length - 1 }}\r\n {{ (value?.length === 2 ? otherLabel : othersLabel) }})\r\n </span>\r\n </span>\r\n </mat-select-trigger>\r\n <mat-option *ngIf=\"useSearchOption\">\r\n <ngx-mat-select-search\r\n [formControl]=\"itemFilterCtrl\"\r\n [placeholderLabel]=\"searchFieldPlaceholder\"\r\n [noEntriesFoundLabel]=\"noEntriesFoundLabel\"\r\n ></ngx-mat-select-search>\r\n </mat-option>\r\n <mat-option *ngIf=\"useNoneOption\" (click)=\"toggleNone()\">{{ noneLabel }}</mat-option>\r\n <mat-option\r\n #allSelected\r\n *ngIf=\"useSelectAllOption && showFilteredAllOption\"\r\n (click)=\"toggleAllSelection()\"\r\n [value]=\"selectAllValue\">{{\r\n allLabel\r\n }}</mat-option>\r\n <mat-option *ngFor=\"let item of filteredItems$ | async\" [value]=\"item.value\" (click)=\"togglePerOne()\">\r\n {{ item.label }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n</app-element-wrapper>\r\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.ElementWrapperComponent, selector: "app-element-wrapper", inputs: ["data", "showCloseIcon", "focusedFlag", "showPassword", "control"], outputs: ["showHidePassword", "clear", "increase", "decrease"] }, { kind: "component", type: i3.MatLegacyFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "component", type: i4.MatLegacySelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "directive", type: i4.MatLegacySelectTrigger, selector: "mat-select-trigger" }, { kind: "component", type: i5.MatLegacyOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i7.MatSelectSearchComponent, selector: "ngx-mat-select-search", inputs: ["placeholderLabel", "type", "closeIcon", "closeSvgIcon", "noEntriesFoundLabel", "clearSearchInput", "searching", "disableInitialFocus", "enableClearOnEscapePressed", "preventHomeEndKeyPropagation", "disableScrollToActiveOnOptionsChanged", "ariaLabel", "showToggleAllCheckbox", "toggleAllCheckboxChecked", "toggleAllCheckboxIndeterminate", "toggleAllCheckboxTooltipMessage", "toggleAllCheckboxTooltipPosition", "hideClearSearchButton", "alwaysRestoreSelectedOptionsMulti"], outputs: ["toggleAll"] }, { kind: "directive", type: i6.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] });
|
|
267
|
+
}
|
|
268
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsSelectComponent, decorators: [{
|
|
269
|
+
type: Component,
|
|
270
|
+
args: [{ selector: 'ecabs-select', providers: [
|
|
271
|
+
{
|
|
272
|
+
provide: NG_VALUE_ACCESSOR,
|
|
273
|
+
useExisting: EcabsSelectComponent,
|
|
274
|
+
multi: true,
|
|
275
|
+
},
|
|
276
|
+
], template: "<app-element-wrapper [data]=\"getData()\">\r\n <mat-form-field [ngClass]=\"{ disabled: useOnlyDisabledClass }\">\r\n <mat-select\r\n class=\"form-field__select\"\r\n [(ngModel)]=\"value\"\r\n (closed)=\"onTouch()\"\r\n [id]=\"name\"\r\n appearance=\"outline\"\r\n [multiple]=\"multiple\"\r\n [disabled]=\"disabled\"\r\n [placeholder]=\"placeholder\"\r\n [disableRipple]=\"true\"\r\n (selectionChange)=\"onSelectionChanged($event)\"\r\n >\r\n <mat-select-trigger>\r\n <span *ngIf=\"getAllSelectedChecked()\">{{ allLabel }}</span>\r\n <span *ngIf=\"!getAllSelectedChecked()\"\r\n >{{ val && multiple ? getLabel(val[0]) : getLabel(val) }}\r\n <span *ngIf=\"multiple && value?.length > 1\" class=\"additional-selection\">\r\n (+{{ useSelectAllOption && this.allSelected?.selected ? value?.length - 2 : value?.length - 1 }}\r\n {{ (value?.length === 2 ? otherLabel : othersLabel) }})\r\n </span>\r\n </span>\r\n </mat-select-trigger>\r\n <mat-option *ngIf=\"useSearchOption\">\r\n <ngx-mat-select-search\r\n [formControl]=\"itemFilterCtrl\"\r\n [placeholderLabel]=\"searchFieldPlaceholder\"\r\n [noEntriesFoundLabel]=\"noEntriesFoundLabel\"\r\n ></ngx-mat-select-search>\r\n </mat-option>\r\n <mat-option *ngIf=\"useNoneOption\" (click)=\"toggleNone()\">{{ noneLabel }}</mat-option>\r\n <mat-option\r\n #allSelected\r\n *ngIf=\"useSelectAllOption && showFilteredAllOption\"\r\n (click)=\"toggleAllSelection()\"\r\n [value]=\"selectAllValue\">{{\r\n allLabel\r\n }}</mat-option>\r\n <mat-option *ngFor=\"let item of filteredItems$ | async\" [value]=\"item.value\" (click)=\"togglePerOne()\">\r\n {{ item.label }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n</app-element-wrapper>\r\n" }]
|
|
277
|
+
}], ctorParameters: function () { return [{ type: i0.Injector }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { items: [{
|
|
278
|
+
type: Input
|
|
279
|
+
}], multiple: [{
|
|
280
|
+
type: Input
|
|
281
|
+
}], useNoneOption: [{
|
|
282
|
+
type: Input
|
|
283
|
+
}], useOnlyDisabledClass: [{
|
|
284
|
+
type: Input
|
|
285
|
+
}], searchFieldPlaceholder: [{
|
|
286
|
+
type: Input
|
|
287
|
+
}], useSearchOption: [{
|
|
288
|
+
type: Input
|
|
289
|
+
}], useSelectAllOption: [{
|
|
290
|
+
type: Input
|
|
291
|
+
}], setAllOptionAfterChosenAllItems: [{
|
|
292
|
+
type: Input
|
|
293
|
+
}], selectAllValue: [{
|
|
294
|
+
type: Input
|
|
295
|
+
}], noEntriesFoundLabel: [{
|
|
296
|
+
type: Input
|
|
297
|
+
}], noneLabel: [{
|
|
298
|
+
type: Input
|
|
299
|
+
}], allLabel: [{
|
|
300
|
+
type: Input
|
|
301
|
+
}], otherLabel: [{
|
|
302
|
+
type: Input
|
|
303
|
+
}], othersLabel: [{
|
|
304
|
+
type: Input
|
|
305
|
+
}], updateFilterItems: [{
|
|
306
|
+
type: Output
|
|
307
|
+
}], selectionChange: [{
|
|
308
|
+
type: Output
|
|
309
|
+
}], allSelected: [{
|
|
310
|
+
type: ViewChild,
|
|
311
|
+
args: ['allSelected']
|
|
312
|
+
}], matSelectSearchComponent: [{
|
|
313
|
+
type: ViewChild,
|
|
314
|
+
args: [MatSelectSearchComponent]
|
|
315
|
+
}] } });
|
|
316
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtc2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9lY2Ficy1zZWxlY3QvZWNhYnMtc2VsZWN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9lY2Ficy1zZWxlY3QvZWNhYnMtc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHTCxTQUFTLEVBQ1QsWUFBWSxFQUVaLEtBQUssRUFJTCxNQUFNLEVBRU4sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCxrQkFBa0IsRUFDbEIsU0FBUyxFQUNULGlCQUFpQixHQUNsQixNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQy9ELE9BQU8sRUFDTCxlQUFlLEVBQ2YsYUFBYSxFQUNiLFlBQVksRUFDWixHQUFHLEVBQ0gsWUFBWSxHQUNiLE1BQU0sTUFBTSxDQUFDO0FBQ2QsT0FBTyxvQkFBb0IsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7Ozs7O0FBYXhELE1BQU0sT0FBTyxvQkFDWCxTQUFRLG9CQUFvQjtJQWlEVDtJQUNBO0lBaERWLEtBQUssQ0FBbUM7SUFDeEMsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUNqQixhQUFhLEdBQVksS0FBSyxDQUFDO0lBQy9CLG9CQUFvQixHQUFHLEtBQUssQ0FBQztJQUM3QixzQkFBc0IsR0FBVyxRQUFRLENBQUM7SUFDMUMsZUFBZSxHQUFHLEtBQUssQ0FBQztJQUN4QixrQkFBa0IsR0FBRyxLQUFLLENBQUM7SUFDM0IsK0JBQStCLEdBQUcsSUFBSSxDQUFDO0lBQ3ZDLGNBQWMsR0FBUSxDQUFDLENBQUM7SUFDeEIsbUJBQW1CLEdBQUcsbUJBQW1C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O2FBQ1o7U0FDRixpTEF3QlUsd0JBQXdCLDRGQy9EckMsMjVEQTZDQTs7NEZESmEsb0JBQW9CO2tCQVhoQyxTQUFTOytCQUNFLGNBQWMsYUFFYjt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLHNCQUFzQjs0QkFDakMsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7K0hBS1EsS0FBSztzQkFBYixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBQ0csc0JBQXNCO3NCQUE5QixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLCtCQUErQjtzQkFBdkMsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNJLGlCQUFpQjtzQkFBMUIsTUFBTTtnQkFFRyxlQUFlO3NCQUF4QixNQUFNO2dCQUVtQixXQUFXO3NCQUFwQyxTQUFTO3VCQUFDLGFBQWE7Z0JBRXhCLHdCQUF3QjtzQkFEdkIsU0FBUzt1QkFBQyx3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIEFmdGVyVmlld0luaXQsXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbmplY3RvcixcclxuICBJbnB1dCxcclxuICBPbkNoYW5nZXMsXHJcbiAgT25EZXN0cm95LFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbiAgU2ltcGxlQ2hhbmdlcyxcclxuICBWaWV3Q2hpbGQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgVW50eXBlZEZvcm1Db250cm9sLFxyXG4gIE5nQ29udHJvbCxcclxuICBOR19WQUxVRV9BQ0NFU1NPUixcclxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7TWF0T3B0aW9ufSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcclxuaW1wb3J0IHtNYXRTZWxlY3RTZWFyY2hDb21wb25lbnR9IGZyb20gJ25neC1tYXQtc2VsZWN0LXNlYXJjaCc7XHJcbmltcG9ydCB7XHJcbiAgQmVoYXZpb3JTdWJqZWN0LFxyXG4gIGNvbWJpbmVMYXRlc3QsXHJcbiAgZGVib3VuY2VUaW1lLFxyXG4gIG1hcCxcclxuICBTdWJzY3JpcHRpb24sXHJcbn0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCBFbGVtZW50QmFzZUNvbXBvbmVudCBmcm9tICcuLi9iYXNlL2VsZW1lbnQtYmFzZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2VjYWJzLXNlbGVjdCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2VjYWJzLXNlbGVjdC5jb21wb25lbnQuaHRtbCcsXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICB1c2VFeGlzdGluZzogRWNhYnNTZWxlY3RDb21wb25lbnQsXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgfSxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRWNhYnNTZWxlY3RDb21wb25lbnRcclxuICBleHRlbmRzIEVsZW1lbnRCYXNlQ29tcG9uZW50XHJcbiAgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcclxuICBASW5wdXQoKSBpdGVtcyE6IHsgbGFiZWw6IHN0cmluZzsgdmFsdWU6IGFueSB9W107XHJcbiAgQElucHV0KCkgbXVsdGlwbGUgPSBmYWxzZTtcclxuICBASW5wdXQoKSB1c2VOb25lT3B0aW9uOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgdXNlT25seURpc2FibGVkQ2xhc3MgPSBmYWxzZTtcclxuICBASW5wdXQoKSBzZWFyY2hGaWVsZFBsYWNlaG9sZGVyOiBzdHJpbmcgPSAnU2VhcmNoJztcclxuICBASW5wdXQoKSB1c2VTZWFyY2hPcHRpb24gPSBmYWxzZTtcclxuICBASW5wdXQoKSB1c2VTZWxlY3RBbGxPcHRpb24gPSBmYWxzZTtcclxuICBASW5wdXQoKSBzZXRBbGxPcHRpb25BZnRlckNob3NlbkFsbEl0ZW1zID0gdHJ1ZTtcclxuICBASW5wdXQoKSBzZWxlY3RBbGxWYWx1ZTogYW55ID0gMDtcclxuICBASW5wdXQoKSBub0VudHJpZXNGb3VuZExhYmVsID0gJ05vIG1hdGNoaW5nIGZvdW5kJztcclxuICBASW5wdXQoKSBub25lTGFiZWwgPSAnTm9uZSc7XHJcbiAgQElucHV0KCkgYWxsTGFiZWwgPSAnQWxsJztcclxuICBASW5wdXQoKSBvdGhlckxhYmVsID0gJ090aGVyJztcclxuICBASW5wdXQoKSBvdGhlcnNMYWJlbCA9ICdPdGhlcnMnO1xyXG4gIEBPdXRwdXQoKSB1cGRhdGVGaWx0ZXJJdGVtczogRXZlbnRFbWl0dGVyPHN0cmluZz4gPVxyXG4gICAgbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcbiAgQE91dHB1dCgpIHNlbGVjdGlvbkNoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgQFZpZXdDaGlsZCgnYWxsU2VsZWN0ZWQnKSBhbGxTZWxlY3RlZCE6IE1hdE9wdGlvbjtcclxuICBAVmlld0NoaWxkKE1hdFNlbGVjdFNlYXJjaENvbXBvbmVudClcclxuICBtYXRTZWxlY3RTZWFyY2hDb21wb25lbnQhOiBNYXRTZWxlY3RTZWFyY2hDb21wb25lbnQ7XHJcblxyXG4gIHZhbCE6IGFueTtcclxuICBmaWx0ZXJlZEl0ZW1zJDogQmVoYXZpb3JTdWJqZWN0PHsgbGFiZWw6IHN0cmluZzsgdmFsdWU6IGFueSB9W10+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxcclxuICAgIHsgbGFiZWw6IHN0cmluZzsgdmFsdWU6IGFueSB9W11cclxuICA+KFtdKTtcclxuICBpdGVtRmlsdGVyQ3RybDogVW50eXBlZEZvcm1Db250cm9sID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbCgpO1xyXG4gIGlzQ2xlYXJBbGwgPSBmYWxzZTtcclxuICBzaG93RmlsdGVyZWRBbGxPcHRpb24gPSB0cnVlO1xyXG4gIHNlbGVjdGVkSXRlbXM6IHsgbGFiZWw6IHN0cmluZzsgdmFsdWU6IGFueSB9W10gPSBbXTtcclxuICBub3RTZWxlY3RlZEl0ZW1zOiB7IGxhYmVsOiBzdHJpbmc7IHZhbHVlOiBhbnkgfVtdID0gW107XHJcbiAgc3Vic2NyaXB0aW9ucyA9IG5ldyBTdWJzY3JpcHRpb24oKTtcclxuXHJcbiAgZ2V0IHZhbHVlKCk6IGFueSB7XHJcbiAgICByZXR1cm4gdGhpcy52YWw7XHJcbiAgfVxyXG5cclxuICBzZXQgdmFsdWUodmFsKSB7XHJcbiAgICBpZiAodGhpcy52YWwgIT09IHZhbCkge1xyXG4gICAgICB0aGlzLnZhbCA9IHZhbDtcclxuICAgICAgdGhpcy5zZXRTZWxlY3RlZEl0ZW1zKCk7XHJcbiAgICAgIHRoaXMub25DaGFuZ2UodmFsKTtcclxuICAgICAgdGhpcy5vblRvdWNoKHZhbCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgaW5qZWN0b3I6IEluamVjdG9yLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWZcclxuICApIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBjb25zdCB7aXRlbXN9ID0gY2hhbmdlcztcclxuXHJcbiAgICBpZiAoaXRlbXMgJiYgaXRlbXMuY3VycmVudFZhbHVlKSB7XHJcbiAgICAgIHRoaXMuZmlsdGVySXRlbXMoKTtcclxuXHJcbiAgICAgIGlmICh0aGlzLm11bHRpcGxlICYmIHRoaXMudXNlU2VsZWN0QWxsT3B0aW9uICYmIHRoaXMuYWxsU2VsZWN0ZWQ/LnNlbGVjdGVkKSB7XHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmNvbnRyb2wucGF0Y2hWYWx1ZShbLi4udGhpcy5maWx0ZXJlZEl0ZW1zJC52YWx1ZS5tYXAoKGl0ZW0pID0+IGl0ZW0udmFsdWUpLCB0aGlzLnNlbGVjdEFsbFZhbHVlXSwge1xyXG4gICAgICAgICAgICBlbWl0RXZlbnQ6IGZhbHNlLFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSwgMTAwKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgY29uc3QgbmdDb250cm9sOiBOZ0NvbnRyb2wgPSB0aGlzLmluamVjdG9yLmdldChcclxuICAgICAgTmdDb250cm9sLFxyXG4gICAgICBudWxsXHJcbiAgICApIGFzIE5nQ29udHJvbDtcclxuXHJcbiAgICBpZiAobmdDb250cm9sKSB7XHJcbiAgICAgIHRoaXMuY29udHJvbCA9IG5nQ29udHJvbC5jb250cm9sIGFzIFVudHlwZWRGb3JtQ29udHJvbDtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5tYXRTZWxlY3RTZWFyY2hDb21wb25lbnQpIHtcclxuICAgICAgdGhpcy5tYXRTZWxlY3RTZWFyY2hDb21wb25lbnQuX3Nob3dOb0VudHJpZXNGb3VuZCQgPSBjb21iaW5lTGF0ZXN0KFtcclxuICAgICAgICB0aGlzLml0ZW1GaWx0ZXJDdHJsLnZhbHVlQ2hhbmdlcyxcclxuICAgICAgICB0aGlzLmZpbHRlcmVkSXRlbXMkLFxyXG4gICAgICBdKS5waXBlKFxyXG4gICAgICAgIG1hcChcclxuICAgICAgICAgIChbdmFsdWUsIGl0ZW1zXSkgPT5cclxuICAgICAgICAgICAgdGhpcy5tYXRTZWxlY3RTZWFyY2hDb21wb25lbnQubm9FbnRyaWVzRm91bmRMYWJlbCAmJlxyXG4gICAgICAgICAgICB2YWx1ZSAmJlxyXG4gICAgICAgICAgICBpdGVtcy5sZW5ndGggPT09IDBcclxuICAgICAgICApXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5hZGQoXHJcbiAgICAgIHRoaXMuaXRlbUZpbHRlckN0cmwudmFsdWVDaGFuZ2VzXHJcbiAgICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKDIwMCkpXHJcbiAgICAgICAgLnN1YnNjcmliZSgodmFsdWU6IGFueSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5maWx0ZXJJdGVtcygpO1xyXG4gICAgICAgICAgdGhpcy51cGRhdGVGaWx0ZXJJdGVtcy5lbWl0KHZhbHVlKTtcclxuXHJcbiAgICAgICAgICBpZiAodGhpcy5pc0NsZWFyQWxsKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY29udHJvbC5wYXRjaFZhbHVlKFtdLCB7ZW1pdEV2ZW50OiBmYWxzZX0pO1xyXG4gICAgICAgICAgICB0aGlzLmlzQ2xlYXJBbGwgPSBmYWxzZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb25cclxuICBvbkNoYW5nZTogYW55ID0gKCkgPT4ge1xyXG4gIH07XHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1mdW5jdGlvblxyXG4gIG9uVG91Y2g6IGFueSA9ICgpID0+IHtcclxuICB9O1xyXG5cclxuICB0b2dnbGVBbGxTZWxlY3Rpb24oKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5hbGxTZWxlY3RlZC5zZWxlY3RlZCkge1xyXG4gICAgICBpZiAodGhpcy51c2VTZWFyY2hPcHRpb24pIHtcclxuICAgICAgICB0aGlzLmNvbnRyb2wucGF0Y2hWYWx1ZShbLi4udGhpcy5maWx0ZXJlZEl0ZW1zJC52YWx1ZS5tYXAoKGl0ZW0pID0+IGl0ZW0udmFsdWUpLCB0aGlzLnNlbGVjdEFsbFZhbHVlXSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5jb250cm9sLnBhdGNoVmFsdWUoWy4uLnRoaXMuaXRlbXMubWFwKChpdGVtKSA9PiBpdGVtLnZhbHVlKSwgdGhpcy5zZWxlY3RBbGxWYWx1ZV0pO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmNvbnRyb2wucGF0Y2hWYWx1ZShbXSk7XHJcbiAgICAgIHRoaXMuaXNDbGVhckFsbCA9IHRydWU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB0b2dnbGVQZXJPbmUoKTogdm9pZCB7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgaWYgKHRoaXMuYWxsU2VsZWN0ZWQpIHtcclxuICAgICAgICBpZiAodGhpcy5hbGxTZWxlY3RlZC5zZWxlY3RlZCkge1xyXG4gICAgICAgICAgdGhpcy5hbGxTZWxlY3RlZC5kZXNlbGVjdCgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGhpcy5zZXRBbGxPcHRpb25BZnRlckNob3NlbkFsbEl0ZW1zICYmIHRoaXMuY29udHJvbC52YWx1ZS5sZW5ndGggPT09IHRoaXMuaXRlbXMubGVuZ3RoKSB7XHJcbiAgICAgICAgICB0aGlzLmFsbFNlbGVjdGVkLnNlbGVjdCgpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5pc0NsZWFyQWxsID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICB0b2dnbGVOb25lKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zZWxlY3RlZEl0ZW1zID0gW107XHJcbiAgfVxyXG5cclxuICBnZXRBbGxTZWxlY3RlZENoZWNrZWQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5hbGxTZWxlY3RlZCAhPT0gdW5kZWZpbmVkICYmIHRoaXMuYWxsU2VsZWN0ZWQuc2VsZWN0ZWQ7XHJcbiAgfVxyXG5cclxuICBnZXRMYWJlbCh2YWw6IGFueSk6IHN0cmluZyB7XHJcbiAgICBpZiAodGhpcy51c2VTZWxlY3RBbGxPcHRpb24gJiYgdGhpcy5hbGxTZWxlY3RlZD8uc2VsZWN0ZWQgJiYgdGhpcy5pdGVtcyAmJiB0aGlzLml0ZW1zLmxlbmd0aCA+IDApIHtcclxuICAgICAgcmV0dXJuIHRoaXMuaXRlbXNbMF0ubGFiZWw7XHJcbiAgICB9XHJcblxyXG4gICAgbGV0IGl0ZW06IHsgbGFiZWw6IHN0cmluZzsgdmFsdWU6IGFueSB9O1xyXG5cclxuICAgIGlmICh2YWwgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICBpZiAodGhpcy51c2VTZWFyY2hPcHRpb24pIHtcclxuICAgICAgICBpZiAodGhpcy5zZWxlY3RlZEl0ZW1zICYmIHRoaXMuc2VsZWN0ZWRJdGVtcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXNoYWRvd1xyXG4gICAgICAgICAgaXRlbSA9IHRoaXMuc2VsZWN0ZWRJdGVtcy5maW5kKChpdGVtKSA9PiBpdGVtLnZhbHVlID09PSB2YWwpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBpZiAodGhpcy5pdGVtcyAmJiB0aGlzLml0ZW1zLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tc2hhZG93XHJcbiAgICAgICAgICBpdGVtID0gdGhpcy5pdGVtcy5maW5kKChpdGVtKSA9PiBpdGVtLnZhbHVlID09PSB2YWwpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgcmV0dXJuIGl0ZW0gPyBpdGVtLmxhYmVsIDogJyc7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuICcnO1xyXG4gIH1cclxuXHJcbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMub25Ub3VjaCA9IGZuO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMudW5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIG9uU2VsZWN0aW9uQ2hhbmdlZCgkZXZlbnQ6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5zZWxlY3Rpb25DaGFuZ2UuZW1pdCgkZXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBmaWx0ZXJJdGVtcygpOiB2b2lkIHtcclxuICAgIHRoaXMuc2V0U2VsZWN0ZWRJdGVtcygpO1xyXG5cclxuICAgIGlmICghdGhpcy5pdGVtcykge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgLy8gZ2V0IHRoZSBzZWFyY2gga2V5d29yZFxyXG4gICAgbGV0IHNlYXJjaDogc3RyaW5nID0gdGhpcy5pdGVtRmlsdGVyQ3RybC52YWx1ZTtcclxuXHJcbiAgICBpZiAoIXNlYXJjaCB8fCBzZWFyY2ggPT09ICcnKSB7XHJcbiAgICAgIGlmICh0aGlzLnVzZVNlYXJjaE9wdGlvbiAmJiAhdGhpcy5pdGVtcz8ubGVuZ3RoKSB7XHJcbiAgICAgICAgdGhpcy5maWx0ZXJlZEl0ZW1zJC5uZXh0KFsuLi50aGlzLnNlbGVjdGVkSXRlbXNdKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmZpbHRlcmVkSXRlbXMkLm5leHQodGhpcy5pdGVtcz8uc2xpY2UoKSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMuc2hvd0ZpbHRlcmVkQWxsT3B0aW9uID0gdHJ1ZTtcclxuXHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBzZWFyY2ggPSBzZWFyY2gudG9Mb3dlckNhc2UoKTtcclxuXHJcbiAgICB0aGlzLnNob3dGaWx0ZXJlZEFsbE9wdGlvbiA9XHJcbiAgICAgIHRoaXMuYWxsTGFiZWwudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhzZWFyY2gudG9Mb3dlckNhc2UoKSkgfHxcclxuICAgICAgKHRoaXMudmFsdWUgaW5zdGFuY2VvZiBBcnJheSAmJiB0aGlzLnZhbHVlLmluY2x1ZGVzKHRoaXMuc2VsZWN0QWxsVmFsdWUpKSB8fFxyXG4gICAgICAoISh0aGlzLnZhbHVlIGluc3RhbmNlb2YgQXJyYXkpICYmIHRoaXMudmFsdWUgPT09IHRoaXMuc2VsZWN0QWxsVmFsdWUpO1xyXG4gICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcblxyXG4gICAgaWYgKHRoaXMudXNlU2VhcmNoT3B0aW9uKSB7XHJcbiAgICAgIGNvbnN0IGZpbHRlcmVkSXRlbXMgPVxyXG4gICAgICAgIHRoaXMubm90U2VsZWN0ZWRJdGVtcz8ubGVuZ3RoID4gMFxyXG4gICAgICAgICAgPyB0aGlzLm5vdFNlbGVjdGVkSXRlbXMuZmlsdGVyKChpdGVtKSA9PiBpdGVtLmxhYmVsLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc2VhcmNoLnRvTG93ZXJDYXNlKCkpKVxyXG4gICAgICAgICAgOiBbXTtcclxuICAgICAgdGhpcy5maWx0ZXJlZEl0ZW1zJC5uZXh0KFsuLi50aGlzLnNlbGVjdGVkSXRlbXMsIC4uLmZpbHRlcmVkSXRlbXNdKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZmlsdGVyZWRJdGVtcyQubmV4dChcclxuICAgICAgICB0aGlzLml0ZW1zPy5sZW5ndGggPiAwXHJcbiAgICAgICAgICA/IHRoaXMuaXRlbXMuZmlsdGVyKChpdGVtKSA9PiBpdGVtLmxhYmVsLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc2VhcmNoLnRvTG93ZXJDYXNlKCkpKVxyXG4gICAgICAgICAgOiBbXVxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRTZWxlY3RlZEl0ZW1zKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMudXNlU2VhcmNoT3B0aW9uKSB7XHJcbiAgICAgIGNvbnN0IHNlbGVjdGVkSXRlbXMgPSBbXTtcclxuXHJcbiAgICAgIGlmICh0aGlzLnZhbHVlKSB7XHJcbiAgICAgICAgaWYgKHRoaXMudmFsdWUgaW5zdGFuY2VvZiBBcnJheSkge1xyXG4gICAgICAgICAgY29uc3Qgc2tpcFN0ZXBzID0gdGhpcy52YWx1ZS5pbmNsdWRlcyh0aGlzLnNlbGVjdEFsbFZhbHVlKTtcclxuXHJcbiAgICAgICAgICBpZiAoIXNraXBTdGVwcykge1xyXG4gICAgICAgICAgICB0aGlzLnZhbHVlLmZvckVhY2goKHZhbHVlKSA9PiB7XHJcbiAgICAgICAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLnNlbGVjdGVkSXRlbXMuZmluZEluZGV4KChzZWxlY3RlZEl0ZW0pID0+IHNlbGVjdGVkSXRlbS52YWx1ZSA9PT0gdmFsdWUpO1xyXG5cclxuICAgICAgICAgICAgICBpZiAoaW5kZXggIT09IC0xKSB7XHJcbiAgICAgICAgICAgICAgICBzZWxlY3RlZEl0ZW1zLnB1c2godGhpcy5zZWxlY3RlZEl0ZW1zW2luZGV4XSk7XHJcbiAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tc2hhZG93XHJcbiAgICAgICAgICAgICAgICBjb25zdCBpdGVtID0gdGhpcy5pdGVtcy5maW5kKChpdGVtKSA9PiBpdGVtLnZhbHVlID09PSB2YWx1ZSk7XHJcblxyXG4gICAgICAgICAgICAgICAgaWYgKGl0ZW0pIHtcclxuICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRJdGVtcy5wdXNoKGl0ZW0pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbXMuZm9yRWFjaCgoc2VsZWN0ZWRJdGVtKSA9PiB7XHJcbiAgICAgICAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLnZhbHVlLmZpbmQoKHZhbHVlKSA9PiBzZWxlY3RlZEl0ZW0udmFsdWUgPT09IHZhbHVlKTtcclxuXHJcbiAgICAgICAgICAgICAgaWYgKGluZGV4ID09PSAtMSkge1xyXG4gICAgICAgICAgICAgICAgc2VsZWN0ZWRJdGVtcy5zcGxpY2UoaW5kZXgsIDEpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5zZWxlY3RlZEl0ZW1zLmZpbmRJbmRleCgoc2VsZWN0ZWRJdGVtKSA9PiBzZWxlY3RlZEl0ZW0udmFsdWUgPT09IHRoaXMudmFsdWUpO1xyXG5cclxuICAgICAgICAgIGlmIChpbmRleCAhPT0gLTEpIHtcclxuICAgICAgICAgICAgc2VsZWN0ZWRJdGVtcy5wdXNoKHRoaXMuc2VsZWN0ZWRJdGVtc1tpbmRleF0pO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1zaGFkb3dcclxuICAgICAgICAgICAgY29uc3QgaXRlbSA9IHRoaXMuaXRlbXMuZmluZCgoaXRlbSkgPT4gaXRlbS52YWx1ZSA9PT0gdGhpcy52YWx1ZSk7XHJcblxyXG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbWF4LWRlcHRoXHJcbiAgICAgICAgICAgIGlmIChpdGVtKSB7XHJcbiAgICAgICAgICAgICAgc2VsZWN0ZWRJdGVtcy5wdXNoKGl0ZW0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbXMgPSBbLi4uc2VsZWN0ZWRJdGVtc107XHJcbiAgICAgICAgdGhpcy5ub3RTZWxlY3RlZEl0ZW1zID0gdGhpcy5pdGVtcz8uZmlsdGVyKFxyXG4gICAgICAgICAgKGl0ZW0pID0+IHRoaXMuc2VsZWN0ZWRJdGVtcy5maW5kSW5kZXgoKHNlbGVjdGVkSXRlbSkgPT4gc2VsZWN0ZWRJdGVtLnZhbHVlID09PSBpdGVtLnZhbHVlKSA9PT0gLTFcclxuICAgICAgICApO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMubm90U2VsZWN0ZWRJdGVtcyA9IHRoaXMuaXRlbXM/LnNsaWNlKCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGFwcC1lbGVtZW50LXdyYXBwZXIgW2RhdGFdPVwiZ2V0RGF0YSgpXCI+XHJcbiAgPG1hdC1mb3JtLWZpZWxkIFtuZ0NsYXNzXT1cInsgZGlzYWJsZWQ6IHVzZU9ubHlEaXNhYmxlZENsYXNzIH1cIj5cclxuICAgIDxtYXQtc2VsZWN0XHJcbiAgICAgIGNsYXNzPVwiZm9ybS1maWVsZF9fc2VsZWN0XCJcclxuICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiXHJcbiAgICAgIChjbG9zZWQpPVwib25Ub3VjaCgpXCJcclxuICAgICAgW2lkXT1cIm5hbWVcIlxyXG4gICAgICBhcHBlYXJhbmNlPVwib3V0bGluZVwiXHJcbiAgICAgIFttdWx0aXBsZV09XCJtdWx0aXBsZVwiXHJcbiAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXHJcbiAgICAgIFtkaXNhYmxlUmlwcGxlXT1cInRydWVcIlxyXG4gICAgICAoc2VsZWN0aW9uQ2hhbmdlKT1cIm9uU2VsZWN0aW9uQ2hhbmdlZCgkZXZlbnQpXCJcclxuICAgID5cclxuICAgICAgPG1hdC1zZWxlY3QtdHJpZ2dlcj5cclxuICAgICAgICA8c3BhbiAqbmdJZj1cImdldEFsbFNlbGVjdGVkQ2hlY2tlZCgpXCI+e3sgYWxsTGFiZWwgfX08L3NwYW4+XHJcbiAgICAgICAgPHNwYW4gKm5nSWY9XCIhZ2V0QWxsU2VsZWN0ZWRDaGVja2VkKClcIlxyXG4gICAgICAgICAgPnt7IHZhbCAmJiBtdWx0aXBsZSA/IGdldExhYmVsKHZhbFswXSkgOiBnZXRMYWJlbCh2YWwpIH19XHJcbiAgICAgICAgICA8c3BhbiAqbmdJZj1cIm11bHRpcGxlICYmIHZhbHVlPy5sZW5ndGggPiAxXCIgY2xhc3M9XCJhZGRpdGlvbmFsLXNlbGVjdGlvblwiPlxyXG4gICAgICAgICAgICAoK3t7IHVzZVNlbGVjdEFsbE9wdGlvbiAmJiB0aGlzLmFsbFNlbGVjdGVkPy5zZWxlY3RlZCA/IHZhbHVlPy5sZW5ndGggLSAyIDogdmFsdWU/Lmxlbmd0aCAtIDEgfX1cclxuICAgICAgICAgICAge3sgKHZhbHVlPy5sZW5ndGggPT09IDIgPyBvdGhlckxhYmVsIDogb3RoZXJzTGFiZWwpIH19KVxyXG4gICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgIDwvc3Bhbj5cclxuICAgICAgPC9tYXQtc2VsZWN0LXRyaWdnZXI+XHJcbiAgICAgIDxtYXQtb3B0aW9uICpuZ0lmPVwidXNlU2VhcmNoT3B0aW9uXCI+XHJcbiAgICAgICAgPG5neC1tYXQtc2VsZWN0LXNlYXJjaFxyXG4gICAgICAgICAgW2Zvcm1Db250cm9sXT1cIml0ZW1GaWx0ZXJDdHJsXCJcclxuICAgICAgICAgIFtwbGFjZWhvbGRlckxhYmVsXT1cInNlYXJjaEZpZWxkUGxhY2Vob2xkZXJcIlxyXG4gICAgICAgICAgW25vRW50cmllc0ZvdW5kTGFiZWxdPVwibm9FbnRyaWVzRm91bmRMYWJlbFwiXHJcbiAgICAgICAgPjwvbmd4LW1hdC1zZWxlY3Qtc2VhcmNoPlxyXG4gICAgICA8L21hdC1vcHRpb24+XHJcbiAgICAgIDxtYXQtb3B0aW9uICpuZ0lmPVwidXNlTm9uZU9wdGlvblwiIChjbGljayk9XCJ0b2dnbGVOb25lKClcIj57eyBub25lTGFiZWwgfX08L21hdC1vcHRpb24+XHJcbiAgICAgIDxtYXQtb3B0aW9uXHJcbiAgICAgICNhbGxTZWxlY3RlZFxyXG4gICAgICAqbmdJZj1cInVzZVNlbGVjdEFsbE9wdGlvbiAmJiBzaG93RmlsdGVyZWRBbGxPcHRpb25cIlxyXG4gICAgICAoY2xpY2spPVwidG9nZ2xlQWxsU2VsZWN0aW9uKClcIlxyXG4gICAgICBbdmFsdWVdPVwic2VsZWN0QWxsVmFsdWVcIj57e1xyXG4gICAgICAgIGFsbExhYmVsXHJcbiAgICAgIH19PC9tYXQtb3B0aW9uPlxyXG4gICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBmaWx0ZXJlZEl0ZW1zJCB8IGFzeW5jXCIgW3ZhbHVlXT1cIml0ZW0udmFsdWVcIiAoY2xpY2spPVwidG9nZ2xlUGVyT25lKClcIj5cclxuICAgICAgICB7eyBpdGVtLmxhYmVsIH19XHJcbiAgICAgIDwvbWF0LW9wdGlvbj5cclxuICAgIDwvbWF0LXNlbGVjdD5cclxuICA8L21hdC1mb3JtLWZpZWxkPlxyXG48L2FwcC1lbGVtZW50LXdyYXBwZXI+XHJcbiJdfQ==
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { ElementWrapperModule } from '../base/element-wrapper/element-wrapper.module';
|
|
4
|
+
import { EcabsSelectComponent } from './ecabs-select.component';
|
|
5
|
+
import { NgxMatSelectSearchModule } from 'ngx-mat-select-search';
|
|
6
|
+
import { MAT_LEGACY_SELECT_SCROLL_STRATEGY as MAT_SELECT_SCROLL_STRATEGY, MatLegacySelectModule as MatSelectModule, } from '@angular/material/legacy-select';
|
|
7
|
+
import { Overlay } from '@angular/cdk/overlay';
|
|
8
|
+
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
9
|
+
import { MatLegacyFormFieldModule as MatFormFieldModule } from '@angular/material/legacy-form-field';
|
|
10
|
+
import * as i0 from "@angular/core";
|
|
11
|
+
export class EcabsSelectModule {
|
|
12
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
13
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: EcabsSelectModule, declarations: [EcabsSelectComponent], imports: [CommonModule,
|
|
14
|
+
ElementWrapperModule,
|
|
15
|
+
MatSelectModule,
|
|
16
|
+
FormsModule,
|
|
17
|
+
NgxMatSelectSearchModule,
|
|
18
|
+
MatFormFieldModule,
|
|
19
|
+
ReactiveFormsModule], exports: [EcabsSelectComponent] });
|
|
20
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsSelectModule, providers: [
|
|
21
|
+
{
|
|
22
|
+
provide: MAT_SELECT_SCROLL_STRATEGY,
|
|
23
|
+
useFactory: scrollFactory,
|
|
24
|
+
deps: [Overlay],
|
|
25
|
+
},
|
|
26
|
+
], imports: [CommonModule,
|
|
27
|
+
ElementWrapperModule,
|
|
28
|
+
MatSelectModule,
|
|
29
|
+
FormsModule,
|
|
30
|
+
NgxMatSelectSearchModule,
|
|
31
|
+
MatFormFieldModule,
|
|
32
|
+
ReactiveFormsModule] });
|
|
33
|
+
}
|
|
34
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsSelectModule, decorators: [{
|
|
35
|
+
type: NgModule,
|
|
36
|
+
args: [{
|
|
37
|
+
declarations: [EcabsSelectComponent],
|
|
38
|
+
imports: [
|
|
39
|
+
CommonModule,
|
|
40
|
+
ElementWrapperModule,
|
|
41
|
+
MatSelectModule,
|
|
42
|
+
FormsModule,
|
|
43
|
+
NgxMatSelectSearchModule,
|
|
44
|
+
MatFormFieldModule,
|
|
45
|
+
ReactiveFormsModule
|
|
46
|
+
],
|
|
47
|
+
exports: [EcabsSelectComponent],
|
|
48
|
+
providers: [
|
|
49
|
+
{
|
|
50
|
+
provide: MAT_SELECT_SCROLL_STRATEGY,
|
|
51
|
+
useFactory: scrollFactory,
|
|
52
|
+
deps: [Overlay],
|
|
53
|
+
},
|
|
54
|
+
],
|
|
55
|
+
}]
|
|
56
|
+
}] });
|
|
57
|
+
export function scrollFactory(overlay) {
|
|
58
|
+
return () => overlay.scrollStrategies.block();
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtc2VsZWN0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9lY2Ficy1zZWxlY3QvZWNhYnMtc2VsZWN0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUN0RixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNqRSxPQUFPLEVBQ0wsaUNBQWlDLElBQUksMEJBQTBCLEVBQy9ELHFCQUFxQixJQUFJLGVBQWUsR0FDekMsTUFBTSxpQ0FBaUMsQ0FBQztBQUN6QyxPQUFPLEVBQXVCLE9BQU8sRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsd0JBQXdCLElBQUksa0JBQWtCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7QUFzQnJHLE1BQU0sT0FBTyxpQkFBaUI7d0dBQWpCLGlCQUFpQjt5R0FBakIsaUJBQWlCLGlCQW5CWixvQkFBb0IsYUFFbEMsWUFBWTtZQUNaLG9CQUFvQjtZQUNwQixlQUFlO1lBQ2YsV0FBVztZQUNYLHdCQUF3QjtZQUN4QixrQkFBa0I7WUFDbEIsbUJBQW1CLGFBRVYsb0JBQW9CO3lHQVNwQixpQkFBaUIsYUFSakI7WUFDVDtnQkFDRSxPQUFPLEVBQUUsMEJBQTBCO2dCQUNuQyxVQUFVLEVBQUUsYUFBYTtnQkFDekIsSUFBSSxFQUFFLENBQUUsT0FBTyxDQUFFO2FBQ2xCO1NBQ0YsWUFmQyxZQUFZO1lBQ1osb0JBQW9CO1lBQ3BCLGVBQWU7WUFDZixXQUFXO1lBQ1gsd0JBQXdCO1lBQ3hCLGtCQUFrQjtZQUNsQixtQkFBbUI7OzRGQVdWLGlCQUFpQjtrQkFwQjdCLFFBQVE7bUJBQUU7b0JBQ1QsWUFBWSxFQUFFLENBQUUsb0JBQW9CLENBQUU7b0JBQ3RDLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLG9CQUFvQjt3QkFDcEIsZUFBZTt3QkFDZixXQUFXO3dCQUNYLHdCQUF3Qjt3QkFDeEIsa0JBQWtCO3dCQUNsQixtQkFBbUI7cUJBQ3BCO29CQUNELE9BQU8sRUFBRSxDQUFFLG9CQUFvQixDQUFFO29CQUNqQyxTQUFTLEVBQUU7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLDBCQUEwQjs0QkFDbkMsVUFBVSxFQUFFLGFBQWE7NEJBQ3pCLElBQUksRUFBRSxDQUFFLE9BQU8sQ0FBRTt5QkFDbEI7cUJBQ0Y7aUJBQ0Y7O0FBRUQsTUFBTSxVQUFVLGFBQWEsQ0FBRSxPQUFnQjtJQUM3QyxPQUFPLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQztBQUNoRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgRWxlbWVudFdyYXBwZXJNb2R1bGUgfSBmcm9tICcuLi9iYXNlL2VsZW1lbnQtd3JhcHBlci9lbGVtZW50LXdyYXBwZXIubW9kdWxlJztcclxuaW1wb3J0IHsgRWNhYnNTZWxlY3RDb21wb25lbnQgfSBmcm9tICcuL2VjYWJzLXNlbGVjdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBOZ3hNYXRTZWxlY3RTZWFyY2hNb2R1bGUgfSBmcm9tICduZ3gtbWF0LXNlbGVjdC1zZWFyY2gnO1xyXG5pbXBvcnQge1xyXG4gIE1BVF9MRUdBQ1lfU0VMRUNUX1NDUk9MTF9TVFJBVEVHWSBhcyBNQVRfU0VMRUNUX1NDUk9MTF9TVFJBVEVHWSxcclxuICBNYXRMZWdhY3lTZWxlY3RNb2R1bGUgYXMgTWF0U2VsZWN0TW9kdWxlLFxyXG59IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xlZ2FjeS1zZWxlY3QnO1xyXG5pbXBvcnQgeyBCbG9ja1Njcm9sbFN0cmF0ZWd5LCBPdmVybGF5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTWF0TGVnYWN5Rm9ybUZpZWxkTW9kdWxlIGFzIE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xlZ2FjeS1mb3JtLWZpZWxkJztcclxuXHJcbkBOZ01vZHVsZSgge1xyXG4gIGRlY2xhcmF0aW9uczogWyBFY2Fic1NlbGVjdENvbXBvbmVudCBdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEVsZW1lbnRXcmFwcGVyTW9kdWxlLFxyXG4gICAgTWF0U2VsZWN0TW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBOZ3hNYXRTZWxlY3RTZWFyY2hNb2R1bGUsXHJcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlXHJcbiAgXSxcclxuICBleHBvcnRzOiBbIEVjYWJzU2VsZWN0Q29tcG9uZW50IF0sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE1BVF9TRUxFQ1RfU0NST0xMX1NUUkFURUdZLFxyXG4gICAgICB1c2VGYWN0b3J5OiBzY3JvbGxGYWN0b3J5LFxyXG4gICAgICBkZXBzOiBbIE92ZXJsYXkgXSxcclxuICAgIH0sXHJcbiAgXSxcclxufSApXHJcbmV4cG9ydCBjbGFzcyBFY2Fic1NlbGVjdE1vZHVsZSB7IH1cclxuZXhwb3J0IGZ1bmN0aW9uIHNjcm9sbEZhY3RvcnkoIG92ZXJsYXk6IE92ZXJsYXkgKTogKCkgPT4gQmxvY2tTY3JvbGxTdHJhdGVneSB7XHJcbiAgcmV0dXJuICgpID0+IG92ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5ibG9jaygpO1xyXG59XHJcbiJdfQ==
|
package/esm2022/lib/ecabs-table/ecabs-table-filter-wrapper/ecabs-table-filter-wrapper.component.mjs
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/common";
|
|
4
|
+
import * as i2 from "../../ecabs-expansion-panel/ecabs-expansion-panel.component";
|
|
5
|
+
export class EcabsTableFilterWrapperComponent {
|
|
6
|
+
title;
|
|
7
|
+
actions;
|
|
8
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsTableFilterWrapperComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
9
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EcabsTableFilterWrapperComponent, selector: "ecabs-table-filter-wrapper", inputs: { title: "title", actions: "actions" }, ngImport: i0, template: "<ecabs-expansion-panel [title]=\"title\" class=\"block mb-5\" [expanded]=\"true\">\r\n <ng-content></ng-content>\r\n\r\n <div *ngIf=\"actions\" class=\"flex justify-end\">\r\n <ng-container *ngTemplateOutlet=\"actions\"></ng-container>\r\n </div>\r\n</ecabs-expansion-panel>\r\n", styles: [":root{--color-black: #07080d;--color-white: #ffffff;--color-white-opacity-05: rgba(0, 0, 0, .05);--color-gray-100: #f5f6f9;--color-gray-200: #f8f9f9;--color-gray-300: #d9d9d9;--color-gray-400: #a6a6a6;--color-gray-500: #6b6d73;--color-brand-dark: #193273;--color-brand-dark-rgb: 25, 50, 115;--color-brand-light: #325FDA;--color-brand-light2: #e7efff;--color-brand-light-rgb: 50, 95, 218;--color-brand-300: #e7efff;--color-brand-300-rgb: 231, 239, 255;--color-error: #df3838;--color-error-opacity: #fbe4e4;--color-error-rgb: 223, 56, 56;--color-notification: #f4d04f;--color-notification-rgb: 244, 208, 79;--color-warn: #f2994a;--color-warn-rgb: 242, 153, 74;--color-info: #325fda;--color-info-rgb: 50, 95, 218;--color-warning: #f2994a;--color-warning-opacity: #fdf0e4;--color-success: #25bd3d;--color-success--opacity: #e8f8e5;--color-success-rgb: 37, 189, 61;--color-allocation-started: #E8F8E5;--color-allocation-scheduled: #FDF0E4;--color-allocation-ended: #FBE4E4;--color-allocation-sick: #E7EFFF;--color-allocation-no-show: #EAE5FF;--color-allocation-unavailable: #F2F2F2;--cropper-outline-color: rgba(0, 0, 0, .5)}.mat-expansion-panel-header-title{font-size:22px}:host::ng-deep .btn__group{justify-content:flex-end}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.EcabsExpansionPanelComponent, selector: "ecabs-expansion-panel", inputs: ["title", "description", "index", "expanded", "disabled", "errorMessage", "showErrorMessage", "closePanel", "showIcon", "iconName", "showCheckbox", "showStatus", "status", "hideToggle"], outputs: ["checked", "opened"] }] });
|
|
10
|
+
}
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsTableFilterWrapperComponent, decorators: [{
|
|
12
|
+
type: Component,
|
|
13
|
+
args: [{ selector: 'ecabs-table-filter-wrapper', template: "<ecabs-expansion-panel [title]=\"title\" class=\"block mb-5\" [expanded]=\"true\">\r\n <ng-content></ng-content>\r\n\r\n <div *ngIf=\"actions\" class=\"flex justify-end\">\r\n <ng-container *ngTemplateOutlet=\"actions\"></ng-container>\r\n </div>\r\n</ecabs-expansion-panel>\r\n", styles: [":root{--color-black: #07080d;--color-white: #ffffff;--color-white-opacity-05: rgba(0, 0, 0, .05);--color-gray-100: #f5f6f9;--color-gray-200: #f8f9f9;--color-gray-300: #d9d9d9;--color-gray-400: #a6a6a6;--color-gray-500: #6b6d73;--color-brand-dark: #193273;--color-brand-dark-rgb: 25, 50, 115;--color-brand-light: #325FDA;--color-brand-light2: #e7efff;--color-brand-light-rgb: 50, 95, 218;--color-brand-300: #e7efff;--color-brand-300-rgb: 231, 239, 255;--color-error: #df3838;--color-error-opacity: #fbe4e4;--color-error-rgb: 223, 56, 56;--color-notification: #f4d04f;--color-notification-rgb: 244, 208, 79;--color-warn: #f2994a;--color-warn-rgb: 242, 153, 74;--color-info: #325fda;--color-info-rgb: 50, 95, 218;--color-warning: #f2994a;--color-warning-opacity: #fdf0e4;--color-success: #25bd3d;--color-success--opacity: #e8f8e5;--color-success-rgb: 37, 189, 61;--color-allocation-started: #E8F8E5;--color-allocation-scheduled: #FDF0E4;--color-allocation-ended: #FBE4E4;--color-allocation-sick: #E7EFFF;--color-allocation-no-show: #EAE5FF;--color-allocation-unavailable: #F2F2F2;--cropper-outline-color: rgba(0, 0, 0, .5)}.mat-expansion-panel-header-title{font-size:22px}:host::ng-deep .btn__group{justify-content:flex-end}\n"] }]
|
|
14
|
+
}], propDecorators: { title: [{
|
|
15
|
+
type: Input
|
|
16
|
+
}], actions: [{
|
|
17
|
+
type: Input
|
|
18
|
+
}] } });
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtdGFibGUtZmlsdGVyLXdyYXBwZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWNhYnMtY29tcG9uZW50cy9zcmMvbGliL2VjYWJzLXRhYmxlL2VjYWJzLXRhYmxlLWZpbHRlci13cmFwcGVyL2VjYWJzLXRhYmxlLWZpbHRlci13cmFwcGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9lY2Ficy10YWJsZS9lY2Ficy10YWJsZS1maWx0ZXItd3JhcHBlci9lY2Ficy10YWJsZS1maWx0ZXItd3JhcHBlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBZSxNQUFNLGVBQWUsQ0FBQzs7OztBQU85RCxNQUFNLE9BQU8sZ0NBQWdDO0lBRTNDLEtBQUssQ0FBUztJQUdkLE9BQU8sQ0FBbUI7d0dBTGYsZ0NBQWdDOzRGQUFoQyxnQ0FBZ0Msa0hDUDdDLDhSQU9BOzs0RkRBYSxnQ0FBZ0M7a0JBTDVDLFNBQVM7K0JBQ0UsNEJBQTRCOzhCQU10QyxLQUFLO3NCQURKLEtBQUs7Z0JBSU4sT0FBTztzQkFETixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoIHtcclxuICBzZWxlY3RvcjogJ2VjYWJzLXRhYmxlLWZpbHRlci13cmFwcGVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZWNhYnMtdGFibGUtZmlsdGVyLXdyYXBwZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWyAnLi9lY2Ficy10YWJsZS1maWx0ZXItd3JhcHBlci5jb21wb25lbnQuc2NzcycgXSxcclxufSApXHJcbmV4cG9ydCBjbGFzcyBFY2Fic1RhYmxlRmlsdGVyV3JhcHBlckNvbXBvbmVudCB7XHJcbiAgQElucHV0KClcclxuICB0aXRsZTogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGFjdGlvbnM6IFRlbXBsYXRlUmVmPGFueT47XHJcbn1cclxuIiwiPGVjYWJzLWV4cGFuc2lvbi1wYW5lbCBbdGl0bGVdPVwidGl0bGVcIiBjbGFzcz1cImJsb2NrIG1iLTVcIiBbZXhwYW5kZWRdPVwidHJ1ZVwiPlxyXG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuXHJcbiAgPGRpdiAqbmdJZj1cImFjdGlvbnNcIiBjbGFzcz1cImZsZXgganVzdGlmeS1lbmRcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJhY3Rpb25zXCI+PC9uZy1jb250YWluZXI+XHJcbiAgPC9kaXY+XHJcbjwvZWNhYnMtZXhwYW5zaW9uLXBhbmVsPlxyXG4iXX0=
|