@festo-ui/angular 3.1.0 → 3.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -1
- package/css/bundle.css +1 -0
- package/css/image-gallery.css +1 -0
- package/css/popover.css +1 -0
- package/esm2020/festo-ui-angular.mjs +5 -0
- package/esm2020/index.mjs +20 -0
- package/esm2020/lib/components/accordion/accordion-header/accordion-header.component.mjs +11 -0
- package/esm2020/lib/components/accordion/accordion-item/accordion-item-body/accordion-item-body.component.mjs +15 -0
- package/esm2020/lib/components/accordion/accordion-item/accordion-item-header/accordion-item-header.component.mjs +28 -0
- package/esm2020/lib/components/accordion/accordion-item/accordion-item.component.mjs +143 -0
- package/esm2020/lib/components/accordion/accordion.component.mjs +59 -0
- package/esm2020/lib/components/accordion/index.mjs +6 -0
- package/esm2020/lib/components/breadcrumb/breadcrumb.component.mjs +23 -0
- package/esm2020/lib/components/buttons/button/button.component.mjs +41 -0
- package/esm2020/lib/components/buttons/link-button/link-button.component.mjs +33 -0
- package/esm2020/lib/components/chips/chip/chip.component.mjs +37 -0
- package/esm2020/lib/components/chips/chip-container/chip-container.component.mjs +16 -0
- package/esm2020/lib/components/click-outside.directive.mjs +28 -0
- package/esm2020/lib/components/components.module.mjs +223 -0
- package/esm2020/lib/components/image-gallery/image-gallery.component.mjs +58 -0
- package/esm2020/lib/components/image-gallery/image-gallery.module.mjs +21 -0
- package/esm2020/lib/components/loading-indicator/loading-indicator.component.mjs +16 -0
- package/esm2020/lib/components/mobile-flyout/mobile-flyout-item/mobile-flyout-item.component.mjs +27 -0
- package/esm2020/lib/components/mobile-flyout/mobile-flyout-page/mobile-flyout-page.component.mjs +43 -0
- package/esm2020/lib/components/mobile-flyout/mobile-flyout.component.mjs +41 -0
- package/esm2020/lib/components/modals/alert/alert.component.mjs +52 -0
- package/esm2020/lib/components/modals/confirm/confirm.component.mjs +53 -0
- package/esm2020/lib/components/modals/custom-modal/custom-modal.component.mjs +70 -0
- package/esm2020/lib/components/modals/index.mjs +2 -0
- package/esm2020/lib/components/modals/modal.service.mjs +121 -0
- package/esm2020/lib/components/modals/modals.module.mjs +31 -0
- package/esm2020/lib/components/modals/prompt/prompt.component.mjs +102 -0
- package/esm2020/lib/components/pagination/pagination.component.mjs +55 -0
- package/esm2020/lib/components/popovers/legend/legend.component.mjs +42 -0
- package/esm2020/lib/components/popovers/legend/legend.directive.mjs +31 -0
- package/esm2020/lib/components/popovers/popover/popover.component.mjs +31 -0
- package/esm2020/lib/components/popovers/popover-content/popover-content.component.mjs +82 -0
- package/esm2020/lib/components/popovers/popover-content/popover-content.directive.mjs +39 -0
- package/esm2020/lib/components/popovers/popover-menu/popover-menu.component.mjs +68 -0
- package/esm2020/lib/components/popovers/popover-ref.mjs +25 -0
- package/esm2020/lib/components/popovers/popover.defaults.mjs +60 -0
- package/esm2020/lib/components/popovers/popover.models.mjs +23 -0
- package/esm2020/lib/components/popovers/popover.service.mjs +123 -0
- package/esm2020/lib/components/popovers/tooltip/tooltip.directive.mjs +100 -0
- package/esm2020/lib/components/progress/progress.component.mjs +20 -0
- package/esm2020/lib/components/scroll/index.mjs +2 -0
- package/esm2020/lib/components/scroll/scrollable.directive.mjs +72 -0
- package/esm2020/lib/components/search-input/safe-html.pipe.mjs +21 -0
- package/esm2020/lib/components/search-input/search-input.component.mjs +172 -0
- package/esm2020/lib/components/snackbar/snackbar-container.component.mjs +21 -0
- package/esm2020/lib/components/snackbar/snackbar-container.directive.mjs +83 -0
- package/esm2020/lib/components/snackbar/snackbar.component.mjs +79 -0
- package/esm2020/lib/components/snackbar/snackbar.models.mjs +2 -0
- package/esm2020/lib/components/snackbar/snackbar.module.mjs +26 -0
- package/esm2020/lib/components/snackbar/snackbar.service.mjs +23 -0
- package/esm2020/lib/components/stepper-horizontal/step-horizontal/step-horizontal.component.mjs +19 -0
- package/esm2020/lib/components/stepper-horizontal/stepper-horizontal.component.mjs +51 -0
- package/esm2020/lib/components/stepper-vertical/step-vertical/step-vertical.component.mjs +56 -0
- package/esm2020/lib/components/stepper-vertical/stepper-vertical.component.mjs +54 -0
- package/esm2020/lib/components/table-header-cell/table-header-cell.directive.mjs +58 -0
- package/esm2020/lib/components/tabs/tab-pane/tab-pane.component.mjs +31 -0
- package/esm2020/lib/components/tabs/tabs.component.mjs +353 -0
- package/esm2020/lib/content/content.module.mjs +20 -0
- package/esm2020/lib/content/icon/icon.component.mjs +17 -0
- package/esm2020/lib/festo-angular.module.mjs +65 -0
- package/esm2020/lib/forms/checkbox/checkbox.component.mjs +149 -0
- package/esm2020/lib/forms/color-indicator/color-indicator.component.mjs +68 -0
- package/esm2020/lib/forms/color-picker/color-helper.mjs +121 -0
- package/esm2020/lib/forms/color-picker/color-picker.component.mjs +273 -0
- package/esm2020/lib/forms/container-host.mjs +27 -0
- package/esm2020/lib/forms/date-picker/date-picker.component.mjs +199 -0
- package/esm2020/lib/forms/date-range-picker/date-range-picker.component.mjs +224 -0
- package/esm2020/lib/forms/forms.module.mjs +146 -0
- package/esm2020/lib/forms/radio/radio.component.mjs +346 -0
- package/esm2020/lib/forms/segment/segment-control/segment-control.component.mjs +57 -0
- package/esm2020/lib/forms/segment/segment.component.mjs +109 -0
- package/esm2020/lib/forms/select/chip-text.pipe.mjs +34 -0
- package/esm2020/lib/forms/select/select-option/select-option.component.mjs +22 -0
- package/esm2020/lib/forms/select/select.component.mjs +257 -0
- package/esm2020/lib/forms/slider/slider.component.mjs +110 -0
- package/esm2020/lib/forms/switch/switch.component.mjs +120 -0
- package/esm2020/lib/forms/text-area/text-area.component.mjs +180 -0
- package/esm2020/lib/forms/text-editor/text-editor.component.mjs +286 -0
- package/esm2020/lib/forms/text-input/text-input.component.mjs +183 -0
- package/esm2020/lib/forms/time-picker/time-picker-dropdown/time-picker-dropdown.component.mjs +89 -0
- package/esm2020/lib/forms/time-picker/time-picker.component.mjs +188 -0
- package/esm2020/lib/forms/unique-selection-dispatcher.mjs +39 -0
- package/esm2020/lib/forms/value-accessor-base.mjs +41 -0
- package/esm2020/lib/layout/layout.module.mjs +18 -0
- package/esm2020/lib/wrappers/flatpickr/flatpickr.component.mjs +59 -0
- package/fesm2015/festo-ui-angular.mjs +6117 -0
- package/fesm2015/festo-ui-angular.mjs.map +1 -0
- package/fesm2020/festo-ui-angular.mjs +6101 -0
- package/fesm2020/festo-ui-angular.mjs.map +1 -0
- package/index.d.ts +1 -0
- package/lib/components/accordion/accordion-header/accordion-header.component.d.ts +5 -0
- package/lib/components/accordion/accordion-item/accordion-item-body/accordion-item-body.component.d.ts +6 -0
- package/lib/components/accordion/accordion-item/accordion-item-header/accordion-item-header.component.d.ts +15 -0
- package/lib/components/accordion/accordion-item/accordion-item.component.d.ts +34 -0
- package/lib/components/accordion/accordion.component.d.ts +24 -0
- package/lib/components/accordion/index.d.ts +5 -0
- package/lib/components/components.module.d.ts +40 -20
- package/lib/components/image-gallery/image-gallery.component.d.ts +33 -0
- package/lib/components/image-gallery/image-gallery.module.d.ts +10 -0
- package/lib/components/mobile-flyout/mobile-flyout-item/mobile-flyout-item.component.d.ts +10 -0
- package/lib/components/mobile-flyout/mobile-flyout-page/mobile-flyout-page.component.d.ts +15 -0
- package/lib/components/mobile-flyout/mobile-flyout.component.d.ts +11 -0
- package/lib/components/modals/confirm/confirm.component.d.ts +1 -3
- package/lib/components/modals/custom-modal/custom-modal.component.d.ts +21 -0
- package/lib/components/modals/modal.service.d.ts +2 -0
- package/lib/components/modals/modals.module.d.ts +8 -5
- package/lib/components/popovers/tooltip/tooltip.directive.d.ts +5 -3
- package/lib/components/search-input/safe-html.pipe.d.ts +10 -0
- package/lib/components/search-input/search-input.component.d.ts +22 -5
- package/lib/components/stepper-horizontal/step-horizontal/step-horizontal.component.d.ts +7 -0
- package/lib/components/stepper-horizontal/stepper-horizontal.component.d.ts +14 -0
- package/lib/components/stepper-vertical/step-vertical/step-vertical.component.d.ts +18 -0
- package/lib/components/stepper-vertical/stepper-vertical.component.d.ts +14 -0
- package/lib/festo-angular.module.d.ts +2 -1
- package/package.json +41 -19
- package/scss/base/components/accordion/accordion-header/accordion-header.component.scss +12 -0
- package/scss/base/components/accordion/accordion-item/accordion-item-body/accordion-item-body.component.scss +109 -0
- package/scss/base/components/accordion/accordion-item/accordion-item-header/accordion-item-header.component.scss +9 -0
- package/scss/base/components/accordion/accordion-item/accordion-item.component.scss +71 -0
- package/scss/base/components/accordion/accordion.component.scss +6 -0
- package/scss/base/components/breadcrumb/breadcrumb.component.scss +0 -1
- package/scss/base/components/buttons/button/button.component.scss +6 -1
- package/scss/base/components/image-gallery/image-gallery.component.scss +0 -0
- package/scss/base/components/image-gallery/styles.scss +5 -0
- package/scss/base/components/modals/prompt/prompt.component.scss +0 -1
- package/scss/base/components/popovers/legend/legend.component.scss +2 -2
- package/scss/base/components/popovers/popover/styles.scss +2 -3
- package/scss/base/components/popovers/popover-content/popover-content.component.scss +1 -1
- package/scss/base/components/scroll/scroll-story-helper.scss +1 -3
- package/scss/base/components/search-input/search-input.component.scss +4 -0
- package/scss/base/components/snackbar/snackbar.component.scss +1 -1
- package/scss/base/components/stepper-horizontal/step-horizontal/step-horizontal.component.scss +23 -0
- package/scss/base/components/stepper-vertical/step-vertical/step-vertical.component.scss +6 -0
- package/scss/base/forms/color-indicator/color-indicator.component.scss +1 -1
- package/scss/base/forms/color-picker/color-picker.component.scss +15 -15
- package/scss/base/forms/date-picker/date-picker.component.scss +1 -1
- package/scss/base/forms/date-range-picker/date-range-picker.component.scss +1 -1
- package/scss/base/forms/text-area/text-area.component.scss +4 -4
- package/scss/base/forms/text-editor/text-editor.component.scss +8 -10
- package/scss/base/forms/time-picker/time-picker-dropdown/time-picker-dropdown.component.scss +1 -1
- package/bundles/festo-ui-angular.umd.js +0 -6429
- package/bundles/festo-ui-angular.umd.js.map +0 -1
- package/esm2015/festo-ui-angular.js +0 -5
- package/esm2015/festo-ui-angular.js.map +0 -1
- package/esm2015/index.js +0 -18
- package/esm2015/index.js.map +0 -1
- package/esm2015/lib/components/breadcrumb/breadcrumb.component.js +0 -27
- package/esm2015/lib/components/breadcrumb/breadcrumb.component.js.map +0 -1
- package/esm2015/lib/components/buttons/button/button.component.js +0 -46
- package/esm2015/lib/components/buttons/button/button.component.js.map +0 -1
- package/esm2015/lib/components/buttons/link-button/link-button.component.js +0 -38
- package/esm2015/lib/components/buttons/link-button/link-button.component.js.map +0 -1
- package/esm2015/lib/components/chips/chip/chip.component.js +0 -42
- package/esm2015/lib/components/chips/chip/chip.component.js.map +0 -1
- package/esm2015/lib/components/chips/chip-container/chip-container.component.js +0 -21
- package/esm2015/lib/components/chips/chip-container/chip-container.component.js.map +0 -1
- package/esm2015/lib/components/click-outside.directive.js +0 -28
- package/esm2015/lib/components/click-outside.directive.js.map +0 -1
- package/esm2015/lib/components/components.module.js +0 -155
- package/esm2015/lib/components/components.module.js.map +0 -1
- package/esm2015/lib/components/loading-indicator/loading-indicator.component.js +0 -21
- package/esm2015/lib/components/loading-indicator/loading-indicator.component.js.map +0 -1
- package/esm2015/lib/components/modals/alert/alert.component.js +0 -57
- package/esm2015/lib/components/modals/alert/alert.component.js.map +0 -1
- package/esm2015/lib/components/modals/confirm/confirm.component.js +0 -73
- package/esm2015/lib/components/modals/confirm/confirm.component.js.map +0 -1
- package/esm2015/lib/components/modals/index.js +0 -2
- package/esm2015/lib/components/modals/index.js.map +0 -1
- package/esm2015/lib/components/modals/modal.service.js +0 -91
- package/esm2015/lib/components/modals/modal.service.js.map +0 -1
- package/esm2015/lib/components/modals/modals.module.js +0 -28
- package/esm2015/lib/components/modals/modals.module.js.map +0 -1
- package/esm2015/lib/components/modals/prompt/prompt.component.js +0 -110
- package/esm2015/lib/components/modals/prompt/prompt.component.js.map +0 -1
- package/esm2015/lib/components/pagination/pagination.component.js +0 -60
- package/esm2015/lib/components/pagination/pagination.component.js.map +0 -1
- package/esm2015/lib/components/popovers/legend/legend.component.js +0 -46
- package/esm2015/lib/components/popovers/legend/legend.component.js.map +0 -1
- package/esm2015/lib/components/popovers/legend/legend.directive.js +0 -31
- package/esm2015/lib/components/popovers/legend/legend.directive.js.map +0 -1
- package/esm2015/lib/components/popovers/popover/popover.component.js +0 -35
- package/esm2015/lib/components/popovers/popover/popover.component.js.map +0 -1
- package/esm2015/lib/components/popovers/popover-content/popover-content.component.js +0 -86
- package/esm2015/lib/components/popovers/popover-content/popover-content.component.js.map +0 -1
- package/esm2015/lib/components/popovers/popover-content/popover-content.directive.js +0 -39
- package/esm2015/lib/components/popovers/popover-content/popover-content.directive.js.map +0 -1
- package/esm2015/lib/components/popovers/popover-menu/popover-menu.component.js +0 -72
- package/esm2015/lib/components/popovers/popover-menu/popover-menu.component.js.map +0 -1
- package/esm2015/lib/components/popovers/popover-ref.js +0 -25
- package/esm2015/lib/components/popovers/popover-ref.js.map +0 -1
- package/esm2015/lib/components/popovers/popover.defaults.js +0 -60
- package/esm2015/lib/components/popovers/popover.defaults.js.map +0 -1
- package/esm2015/lib/components/popovers/popover.models.js +0 -23
- package/esm2015/lib/components/popovers/popover.models.js.map +0 -1
- package/esm2015/lib/components/popovers/popover.service.js +0 -117
- package/esm2015/lib/components/popovers/popover.service.js.map +0 -1
- package/esm2015/lib/components/popovers/tooltip/tooltip.directive.js +0 -96
- package/esm2015/lib/components/popovers/tooltip/tooltip.directive.js.map +0 -1
- package/esm2015/lib/components/progress/progress.component.js +0 -23
- package/esm2015/lib/components/progress/progress.component.js.map +0 -1
- package/esm2015/lib/components/scroll/index.js +0 -2
- package/esm2015/lib/components/scroll/index.js.map +0 -1
- package/esm2015/lib/components/scroll/scrollable.directive.js +0 -73
- package/esm2015/lib/components/scroll/scrollable.directive.js.map +0 -1
- package/esm2015/lib/components/search-input/search-input.component.js +0 -155
- package/esm2015/lib/components/search-input/search-input.component.js.map +0 -1
- package/esm2015/lib/components/snackbar/snackbar-container.component.js +0 -26
- package/esm2015/lib/components/snackbar/snackbar-container.component.js.map +0 -1
- package/esm2015/lib/components/snackbar/snackbar-container.directive.js +0 -83
- package/esm2015/lib/components/snackbar/snackbar-container.directive.js.map +0 -1
- package/esm2015/lib/components/snackbar/snackbar.component.js +0 -85
- package/esm2015/lib/components/snackbar/snackbar.component.js.map +0 -1
- package/esm2015/lib/components/snackbar/snackbar.models.js +0 -2
- package/esm2015/lib/components/snackbar/snackbar.models.js.map +0 -1
- package/esm2015/lib/components/snackbar/snackbar.module.js +0 -26
- package/esm2015/lib/components/snackbar/snackbar.module.js.map +0 -1
- package/esm2015/lib/components/snackbar/snackbar.service.js +0 -23
- package/esm2015/lib/components/snackbar/snackbar.service.js.map +0 -1
- package/esm2015/lib/components/stepper/stepper.component.js +0 -28
- package/esm2015/lib/components/stepper/stepper.component.js.map +0 -1
- package/esm2015/lib/components/table-header-cell/table-header-cell.directive.js +0 -58
- package/esm2015/lib/components/table-header-cell/table-header-cell.directive.js.map +0 -1
- package/esm2015/lib/components/tabs/tab-pane/tab-pane.component.js +0 -35
- package/esm2015/lib/components/tabs/tab-pane/tab-pane.component.js.map +0 -1
- package/esm2015/lib/components/tabs/tabs.component.js +0 -362
- package/esm2015/lib/components/tabs/tabs.component.js.map +0 -1
- package/esm2015/lib/content/content.module.js +0 -24
- package/esm2015/lib/content/content.module.js.map +0 -1
- package/esm2015/lib/content/icon/icon.component.js +0 -23
- package/esm2015/lib/content/icon/icon.component.js.map +0 -1
- package/esm2015/lib/festo-angular.module.js +0 -58
- package/esm2015/lib/festo-angular.module.js.map +0 -1
- package/esm2015/lib/forms/checkbox/checkbox.component.js +0 -156
- package/esm2015/lib/forms/checkbox/checkbox.component.js.map +0 -1
- package/esm2015/lib/forms/color-indicator/color-indicator.component.js +0 -72
- package/esm2015/lib/forms/color-indicator/color-indicator.component.js.map +0 -1
- package/esm2015/lib/forms/color-picker/color-helper.js +0 -121
- package/esm2015/lib/forms/color-picker/color-helper.js.map +0 -1
- package/esm2015/lib/forms/color-picker/color-picker.component.js +0 -280
- package/esm2015/lib/forms/color-picker/color-picker.component.js.map +0 -1
- package/esm2015/lib/forms/container-host.js +0 -27
- package/esm2015/lib/forms/container-host.js.map +0 -1
- package/esm2015/lib/forms/date-picker/date-picker.component.js +0 -205
- package/esm2015/lib/forms/date-picker/date-picker.component.js.map +0 -1
- package/esm2015/lib/forms/date-range-picker/date-range-picker.component.js +0 -230
- package/esm2015/lib/forms/date-range-picker/date-range-picker.component.js.map +0 -1
- package/esm2015/lib/forms/forms.module.js +0 -146
- package/esm2015/lib/forms/forms.module.js.map +0 -1
- package/esm2015/lib/forms/radio/radio.component.js +0 -353
- package/esm2015/lib/forms/radio/radio.component.js.map +0 -1
- package/esm2015/lib/forms/segment/segment-control/segment-control.component.js +0 -58
- package/esm2015/lib/forms/segment/segment-control/segment-control.component.js.map +0 -1
- package/esm2015/lib/forms/segment/segment.component.js +0 -116
- package/esm2015/lib/forms/segment/segment.component.js.map +0 -1
- package/esm2015/lib/forms/select/chip-text.pipe.js +0 -34
- package/esm2015/lib/forms/select/chip-text.pipe.js.map +0 -1
- package/esm2015/lib/forms/select/select-option/select-option.component.js +0 -29
- package/esm2015/lib/forms/select/select-option/select-option.component.js.map +0 -1
- package/esm2015/lib/forms/select/select.component.js +0 -265
- package/esm2015/lib/forms/select/select.component.js.map +0 -1
- package/esm2015/lib/forms/slider/slider.component.js +0 -116
- package/esm2015/lib/forms/slider/slider.component.js.map +0 -1
- package/esm2015/lib/forms/switch/switch.component.js +0 -127
- package/esm2015/lib/forms/switch/switch.component.js.map +0 -1
- package/esm2015/lib/forms/text-area/text-area.component.js +0 -186
- package/esm2015/lib/forms/text-area/text-area.component.js.map +0 -1
- package/esm2015/lib/forms/text-editor/text-editor.component.js +0 -294
- package/esm2015/lib/forms/text-editor/text-editor.component.js.map +0 -1
- package/esm2015/lib/forms/text-input/text-input.component.js +0 -189
- package/esm2015/lib/forms/text-input/text-input.component.js.map +0 -1
- package/esm2015/lib/forms/time-picker/time-picker-dropdown/time-picker-dropdown.component.js +0 -103
- package/esm2015/lib/forms/time-picker/time-picker-dropdown/time-picker-dropdown.component.js.map +0 -1
- package/esm2015/lib/forms/time-picker/time-picker.component.js +0 -194
- package/esm2015/lib/forms/time-picker/time-picker.component.js.map +0 -1
- package/esm2015/lib/forms/unique-selection-dispatcher.js +0 -39
- package/esm2015/lib/forms/unique-selection-dispatcher.js.map +0 -1
- package/esm2015/lib/forms/value-accessor-base.js +0 -41
- package/esm2015/lib/forms/value-accessor-base.js.map +0 -1
- package/esm2015/lib/layout/layout.module.js +0 -18
- package/esm2015/lib/layout/layout.module.js.map +0 -1
- package/esm2015/lib/wrappers/flatpickr/flatpickr.component.js +0 -63
- package/esm2015/lib/wrappers/flatpickr/flatpickr.component.js.map +0 -1
- package/fesm2015/festo-ui-angular.js +0 -5596
- package/fesm2015/festo-ui-angular.js.map +0 -1
- package/lib/components/stepper/stepper.component.d.ts +0 -30
- package/scss/base/components/stepper/stepper.component.scss +0 -118
- package/scss/styles.scss +0 -2056
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import { Injectable, Injector } from '@angular/core';
|
|
2
|
+
import { Overlay, OverlayConfig } from '@angular/cdk/overlay';
|
|
3
|
+
import { ComponentPortal } from '@angular/cdk/portal';
|
|
4
|
+
import { PopoverRef } from './popover-ref';
|
|
5
|
+
import { PopoverComponent } from './popover/popover.component';
|
|
6
|
+
import { defaultPositions, defaultClasses } from './popover.defaults';
|
|
7
|
+
import { PopoverTypes, PopoverPosition } from './popover.models';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
import * as i1 from "@angular/cdk/overlay";
|
|
10
|
+
export class PopoverService {
|
|
11
|
+
constructor(overlay, injector) {
|
|
12
|
+
this.overlay = overlay;
|
|
13
|
+
this.injector = injector;
|
|
14
|
+
this.options = {
|
|
15
|
+
type: PopoverTypes.Tooltip,
|
|
16
|
+
width: null,
|
|
17
|
+
height: null,
|
|
18
|
+
maxWidth: null,
|
|
19
|
+
maxHeight: null,
|
|
20
|
+
minWidth: null,
|
|
21
|
+
minHeight: null,
|
|
22
|
+
hasBackdrop: false,
|
|
23
|
+
backdropClass: 'fng-popover-backdrop',
|
|
24
|
+
positions: null
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
get defaultOptions() {
|
|
28
|
+
return this.options;
|
|
29
|
+
}
|
|
30
|
+
open({ origin, content, data, options }) {
|
|
31
|
+
if (null == options) {
|
|
32
|
+
options = this.defaultOptions;
|
|
33
|
+
}
|
|
34
|
+
const overlayConfig = this.getOverlayConfig({ origin, options });
|
|
35
|
+
const overlayRef = this.overlay.create(overlayConfig);
|
|
36
|
+
const popoverRef = new PopoverRef(overlayRef, content, data);
|
|
37
|
+
const injector = this.createInjector(popoverRef, this.injector);
|
|
38
|
+
overlayRef.attach(new ComponentPortal(PopoverComponent, null, injector));
|
|
39
|
+
return popoverRef;
|
|
40
|
+
}
|
|
41
|
+
getOverlayConfig({ origin, options }) {
|
|
42
|
+
const type = null != options.type ? options.type : this.defaultOptions.type;
|
|
43
|
+
const positions = null != options.positions ? options.positions : this.defaultOptions.positions;
|
|
44
|
+
return new OverlayConfig({
|
|
45
|
+
width: null != options.width ? options.width : this.defaultOptions.width,
|
|
46
|
+
height: null != options.height ? options.height : this.defaultOptions.height,
|
|
47
|
+
maxWidth: null != options.maxWidth ? options.maxWidth : this.defaultOptions.maxWidth,
|
|
48
|
+
maxHeight: null != options.maxHeight ? options.maxHeight : this.defaultOptions.maxHeight,
|
|
49
|
+
minWidth: null != options.minWidth ? options.minWidth : this.defaultOptions.minWidth,
|
|
50
|
+
minHeight: null != options.minHeight ? options.minHeight : this.defaultOptions.minHeight,
|
|
51
|
+
positionStrategy: this.getOverlayPosition(origin, type, positions),
|
|
52
|
+
scrollStrategy: null != this.overlay && null != this.overlay.scrollStrategies ? this.overlay.scrollStrategies.block() : {},
|
|
53
|
+
hasBackdrop: null != options.hasBackdrop ? options.hasBackdrop : this.defaultOptions.hasBackdrop,
|
|
54
|
+
backdropClass: null != options.backdropClass ? options.backdropClass : this.defaultOptions.backdropClass
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
getOverlayPosition(origin, type, positions) {
|
|
58
|
+
const positionStrategy = this.overlay
|
|
59
|
+
.position()
|
|
60
|
+
.flexibleConnectedTo(origin)
|
|
61
|
+
.withPositions(null != positions ? this.getPositions(type, positions) : this.getDefaultPositions(type))
|
|
62
|
+
.withFlexibleDimensions(false)
|
|
63
|
+
.withViewportMargin(16)
|
|
64
|
+
.withPush(false);
|
|
65
|
+
return positionStrategy;
|
|
66
|
+
}
|
|
67
|
+
createInjector(popoverRef, injector) {
|
|
68
|
+
return Injector.create({
|
|
69
|
+
parent: injector,
|
|
70
|
+
providers: [{ provide: PopoverRef, useValue: popoverRef }]
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
getDefaultPositions(type) {
|
|
74
|
+
const pairs = [];
|
|
75
|
+
let positions = [];
|
|
76
|
+
const fn = (t, p) => p.map(position => {
|
|
77
|
+
pairs.push({
|
|
78
|
+
...defaultPositions[position],
|
|
79
|
+
panelClass: [defaultClasses[t], defaultClasses[position]]
|
|
80
|
+
});
|
|
81
|
+
});
|
|
82
|
+
switch (type) {
|
|
83
|
+
case PopoverTypes.Tooltip:
|
|
84
|
+
positions = [PopoverPosition.Bottom, PopoverPosition.Top];
|
|
85
|
+
fn(PopoverTypes.Tooltip, positions);
|
|
86
|
+
break;
|
|
87
|
+
case PopoverTypes.Menu:
|
|
88
|
+
positions = [PopoverPosition.Right, PopoverPosition.Left];
|
|
89
|
+
fn(PopoverTypes.Menu, positions);
|
|
90
|
+
break;
|
|
91
|
+
case PopoverTypes.Legend:
|
|
92
|
+
positions = [PopoverPosition.Bottom];
|
|
93
|
+
fn(PopoverTypes.Legend, positions);
|
|
94
|
+
break;
|
|
95
|
+
case PopoverTypes.Content:
|
|
96
|
+
positions = [PopoverPosition.Bottom];
|
|
97
|
+
fn(PopoverTypes.Content, positions);
|
|
98
|
+
break;
|
|
99
|
+
default:
|
|
100
|
+
break;
|
|
101
|
+
}
|
|
102
|
+
return pairs;
|
|
103
|
+
}
|
|
104
|
+
getPositions(type, positions) {
|
|
105
|
+
const pairs = [];
|
|
106
|
+
positions.map(position => {
|
|
107
|
+
pairs.push({
|
|
108
|
+
...defaultPositions[position],
|
|
109
|
+
panelClass: [defaultClasses[type], defaultClasses[position]]
|
|
110
|
+
});
|
|
111
|
+
});
|
|
112
|
+
return pairs;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
PopoverService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: PopoverService, deps: [{ token: i1.Overlay }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
116
|
+
PopoverService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: PopoverService, providedIn: 'root' });
|
|
117
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: PopoverService, decorators: [{
|
|
118
|
+
type: Injectable,
|
|
119
|
+
args: [{
|
|
120
|
+
providedIn: 'root'
|
|
121
|
+
}]
|
|
122
|
+
}], ctorParameters: function () { return [{ type: i1.Overlay }, { type: i0.Injector }]; } });
|
|
123
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9wb3BvdmVycy9wb3BvdmVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUNMLE9BQU8sRUFFUCxhQUFhLEVBR2QsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFdEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdEUsT0FBTyxFQUFpQyxZQUFZLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7OztBQUtoRyxNQUFNLE9BQU8sY0FBYztJQWtCekIsWUFBb0IsT0FBZ0IsRUFBVSxRQUFrQjtRQUE1QyxZQUFPLEdBQVAsT0FBTyxDQUFTO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQWpCdkQsWUFBTyxHQUFtQjtZQUNqQyxJQUFJLEVBQUUsWUFBWSxDQUFDLE9BQU87WUFDMUIsS0FBSyxFQUFFLElBQUk7WUFDWCxNQUFNLEVBQUUsSUFBSTtZQUNaLFFBQVEsRUFBRSxJQUFJO1lBQ2QsU0FBUyxFQUFFLElBQUk7WUFDZixRQUFRLEVBQUUsSUFBSTtZQUNkLFNBQVMsRUFBRSxJQUFJO1lBQ2YsV0FBVyxFQUFFLEtBQUs7WUFDbEIsYUFBYSxFQUFFLHNCQUFzQjtZQUNyQyxTQUFTLEVBQUUsSUFBSTtTQUNoQixDQUFDO0lBTWlFLENBQUM7SUFKcEUsSUFBSSxjQUFjO1FBQ2hCLE9B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LFlBQVksQ0FBQyxJQUFrQixFQUFFLFNBQTRCO1FBQ25FLE1BQU0sS0FBSyxHQUE2QixFQUFFLENBQUM7UUFDM0MsU0FBUyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUN2QixLQUFLLENBQUMsSUFBSSxDQUFDO2dCQUNULEdBQUcsZ0JBQWdCLENBQUMsUUFBa0IsQ0FBQztnQkFDdkMsVUFBVSxFQUFFLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxFQUFFLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUM3RCxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzs7MkdBbEhVLGNBQWM7K0dBQWQsY0FBYyxjQUZiLE1BQU07MkZBRVAsY0FBYztrQkFIMUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgT3ZlcmxheSxcbiAgQ29ubmVjdGlvblBvc2l0aW9uUGFpcixcbiAgT3ZlcmxheUNvbmZpZyxcbiAgRmxleGlibGVDb25uZWN0ZWRQb3NpdGlvblN0cmF0ZWd5LFxuICBOb29wU2Nyb2xsU3RyYXRlZ3lcbn0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgQ29tcG9uZW50UG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5cbmltcG9ydCB7IFBvcG92ZXJSZWYgfSBmcm9tICcuL3BvcG92ZXItcmVmJztcbmltcG9ydCB7IFBvcG92ZXJDb21wb25lbnQgfSBmcm9tICcuL3BvcG92ZXIvcG9wb3Zlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgZGVmYXVsdFBvc2l0aW9ucywgZGVmYXVsdENsYXNzZXMgfSBmcm9tICcuL3BvcG92ZXIuZGVmYXVsdHMnO1xuaW1wb3J0IHsgUG9wb3ZlclBhcmFtcywgUG9wb3Zlck9wdGlvbnMsIFBvcG92ZXJUeXBlcywgUG9wb3ZlclBvc2l0aW9uIH0gZnJvbSAnLi9wb3BvdmVyLm1vZGVscyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFBvcG92ZXJTZXJ2aWNlIHtcbiAgcmVhZG9ubHkgb3B0aW9uczogUG9wb3Zlck9wdGlvbnMgPSB7XG4gICAgdHlwZTogUG9wb3ZlclR5cGVzLlRvb2x0aXAsXG4gICAgd2lkdGg6IG51bGwsXG4gICAgaGVpZ2h0OiBudWxsLFxuICAgIG1heFdpZHRoOiBudWxsLFxuICAgIG1heEhlaWdodDogbnVsbCxcbiAgICBtaW5XaWR0aDogbnVsbCxcbiAgICBtaW5IZWlnaHQ6IG51bGwsXG4gICAgaGFzQmFja2Ryb3A6IGZhbHNlLFxuICAgIGJhY2tkcm9wQ2xhc3M6ICdmbmctcG9wb3Zlci1iYWNrZHJvcCcsXG4gICAgcG9zaXRpb25zOiBudWxsXG4gIH07XG5cbiAgZ2V0IGRlZmF1bHRPcHRpb25zKCkge1xuICAgIHJldHVybiB0aGlzLm9wdGlvbnM7XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIG92ZXJsYXk6IE92ZXJsYXksIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yKSB7fVxuXG4gIG9wZW48VD4oeyBvcmlnaW4sIGNvbnRlbnQsIGRhdGEsIG9wdGlvbnMgfTogUG9wb3ZlclBhcmFtczxUPik6IFBvcG92ZXJSZWY8VD4ge1xuICAgIGlmIChudWxsID09IG9wdGlvbnMpIHtcbiAgICAgIG9wdGlvbnMgPSB0aGlzLmRlZmF1bHRPcHRpb25zO1xuICAgIH1cbiAgICBjb25zdCBvdmVybGF5Q29uZmlnID0gdGhpcy5nZXRPdmVybGF5Q29uZmlnKHsgb3JpZ2luLCBvcHRpb25zIH0pO1xuICAgIGNvbnN0IG92ZXJsYXlSZWYgPSB0aGlzLm92ZXJsYXkuY3JlYXRlKG92ZXJsYXlDb25maWcpO1xuICAgIGNvbnN0IHBvcG92ZXJSZWYgPSBuZXcgUG9wb3ZlclJlZjxUPihvdmVybGF5UmVmLCBjb250ZW50LCBkYXRhKTtcbiAgICBjb25zdCBpbmplY3RvciA9IHRoaXMuY3JlYXRlSW5qZWN0b3IocG9wb3ZlclJlZiwgdGhpcy5pbmplY3Rvcik7XG5cbiAgICBvdmVybGF5UmVmLmF0dGFjaChuZXcgQ29tcG9uZW50UG9ydGFsKFBvcG92ZXJDb21wb25lbnQsIG51bGwsIGluamVjdG9yKSk7XG5cbiAgICByZXR1cm4gcG9wb3ZlclJlZjtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0T3ZlcmxheUNvbmZpZyh7IG9yaWdpbiwgb3B0aW9ucyB9OiB7IG9yaWdpbjogSFRNTEVsZW1lbnQ7IG9wdGlvbnM6IFBvcG92ZXJPcHRpb25zIH0pOiBPdmVybGF5Q29uZmlnIHtcbiAgICBjb25zdCB0eXBlID0gbnVsbCAhPSBvcHRpb25zLnR5cGUgPyBvcHRpb25zLnR5cGUgOiB0aGlzLmRlZmF1bHRPcHRpb25zLnR5cGU7XG4gICAgY29uc3QgcG9zaXRpb25zID0gbnVsbCAhPSBvcHRpb25zLnBvc2l0aW9ucyA/IG9wdGlvbnMucG9zaXRpb25zIDogdGhpcy5kZWZhdWx0T3B0aW9ucy5wb3NpdGlvbnM7XG4gICAgcmV0dXJuIG5ldyBPdmVybGF5Q29uZmlnKHtcbiAgICAgIHdpZHRoOiBudWxsICE9IG9wdGlvbnMud2lkdGggPyBvcHRpb25zLndpZHRoIDogdGhpcy5kZWZhdWx0T3B0aW9ucy53aWR0aCxcbiAgICAgIGhlaWdodDogbnVsbCAhPSBvcHRpb25zLmhlaWdodCA/IG9wdGlvbnMuaGVpZ2h0IDogdGhpcy5kZWZhdWx0T3B0aW9ucy5oZWlnaHQsXG4gICAgICBtYXhXaWR0aDogbnVsbCAhPSBvcHRpb25zLm1heFdpZHRoID8gb3B0aW9ucy5tYXhXaWR0aCA6IHRoaXMuZGVmYXVsdE9wdGlvbnMubWF4V2lkdGgsXG4gICAgICBtYXhIZWlnaHQ6IG51bGwgIT0gb3B0aW9ucy5tYXhIZWlnaHQgPyBvcHRpb25zLm1heEhlaWdodCA6IHRoaXMuZGVmYXVsdE9wdGlvbnMubWF4SGVpZ2h0LFxuICAgICAgbWluV2lkdGg6IG51bGwgIT0gb3B0aW9ucy5taW5XaWR0aCA/IG9wdGlvbnMubWluV2lkdGggOiB0aGlzLmRlZmF1bHRPcHRpb25zLm1pbldpZHRoLFxuICAgICAgbWluSGVpZ2h0OiBudWxsICE9IG9wdGlvbnMubWluSGVpZ2h0ID8gb3B0aW9ucy5taW5IZWlnaHQgOiB0aGlzLmRlZmF1bHRPcHRpb25zLm1pbkhlaWdodCxcbiAgICAgIHBvc2l0aW9uU3RyYXRlZ3k6IHRoaXMuZ2V0T3ZlcmxheVBvc2l0aW9uKG9yaWdpbiwgdHlwZSwgcG9zaXRpb25zKSxcbiAgICAgIHNjcm9sbFN0cmF0ZWd5OlxuICAgICAgICBudWxsICE9IHRoaXMub3ZlcmxheSAmJiBudWxsICE9IHRoaXMub3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzID8gdGhpcy5vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMuYmxvY2soKSA6ICh7fSBhcyBOb29wU2Nyb2xsU3RyYXRlZ3kpLFxuICAgICAgaGFzQmFja2Ryb3A6IG51bGwgIT0gb3B0aW9ucy5oYXNCYWNrZHJvcCA/IG9wdGlvbnMuaGFzQmFja2Ryb3AgOiB0aGlzLmRlZmF1bHRPcHRpb25zLmhhc0JhY2tkcm9wLFxuICAgICAgYmFja2Ryb3BDbGFzczogbnVsbCAhPSBvcHRpb25zLmJhY2tkcm9wQ2xhc3MgPyBvcHRpb25zLmJhY2tkcm9wQ2xhc3MgOiB0aGlzLmRlZmF1bHRPcHRpb25zLmJhY2tkcm9wQ2xhc3NcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0T3ZlcmxheVBvc2l0aW9uKG9yaWdpbjogSFRNTEVsZW1lbnQsIHR5cGU6IFBvcG92ZXJUeXBlcywgcG9zaXRpb25zOiBQb3BvdmVyUG9zaXRpb25bXSk6IEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneSB7XG4gICAgY29uc3QgcG9zaXRpb25TdHJhdGVneSA9IHRoaXMub3ZlcmxheVxuICAgICAgLnBvc2l0aW9uKClcbiAgICAgIC5mbGV4aWJsZUNvbm5lY3RlZFRvKG9yaWdpbilcbiAgICAgIC53aXRoUG9zaXRpb25zKG51bGwgIT0gcG9zaXRpb25zID8gdGhpcy5nZXRQb3NpdGlvbnModHlwZSwgcG9zaXRpb25zKSA6IHRoaXMuZ2V0RGVmYXVsdFBvc2l0aW9ucyh0eXBlKSlcbiAgICAgIC53aXRoRmxleGlibGVEaW1lbnNpb25zKGZhbHNlKVxuICAgICAgLndpdGhWaWV3cG9ydE1hcmdpbigxNilcbiAgICAgIC53aXRoUHVzaChmYWxzZSk7XG5cbiAgICByZXR1cm4gcG9zaXRpb25TdHJhdGVneTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlSW5qZWN0b3IocG9wb3ZlclJlZjogUG9wb3ZlclJlZiwgaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gICAgcmV0dXJuIEluamVjdG9yLmNyZWF0ZSh7XG4gICAgICBwYXJlbnQ6IGluamVjdG9yLFxuICAgICAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBQb3BvdmVyUmVmLCB1c2VWYWx1ZTogcG9wb3ZlclJlZiB9XVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXREZWZhdWx0UG9zaXRpb25zKHR5cGU6IFBvcG92ZXJUeXBlcyk6IENvbm5lY3Rpb25Qb3NpdGlvblBhaXJbXSB7XG4gICAgY29uc3QgcGFpcnM6IENvbm5lY3Rpb25Qb3NpdGlvblBhaXJbXSA9IFtdO1xuICAgIGxldCBwb3NpdGlvbnMgPSBbXTtcbiAgICBjb25zdCBmbiA9ICh0OiBQb3BvdmVyVHlwZXMsIHA6IFBvcG92ZXJQb3NpdGlvbltdKSA9PlxuICAgICAgcC5tYXAocG9zaXRpb24gPT4ge1xuICAgICAgICBwYWlycy5wdXNoKHtcbiAgICAgICAgICAuLi5kZWZhdWx0UG9zaXRpb25zW3Bvc2l0aW9uIGFzIHN0cmluZ10sXG4gICAgICAgICAgcGFuZWxDbGFzczogW2RlZmF1bHRDbGFzc2VzW3RdLCBkZWZhdWx0Q2xhc3Nlc1twb3NpdGlvbl1dXG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICBjYXNlIFBvcG92ZXJUeXBlcy5Ub29sdGlwOlxuICAgICAgICBwb3NpdGlvbnMgPSBbUG9wb3ZlclBvc2l0aW9uLkJvdHRvbSwgUG9wb3ZlclBvc2l0aW9uLlRvcF07XG4gICAgICAgIGZuKFBvcG92ZXJUeXBlcy5Ub29sdGlwLCBwb3NpdGlvbnMpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgUG9wb3ZlclR5cGVzLk1lbnU6XG4gICAgICAgIHBvc2l0aW9ucyA9IFtQb3BvdmVyUG9zaXRpb24uUmlnaHQsIFBvcG92ZXJQb3NpdGlvbi5MZWZ0XTtcbiAgICAgICAgZm4oUG9wb3ZlclR5cGVzLk1lbnUsIHBvc2l0aW9ucyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBQb3BvdmVyVHlwZXMuTGVnZW5kOlxuICAgICAgICBwb3NpdGlvbnMgPSBbUG9wb3ZlclBvc2l0aW9uLkJvdHRvbV07XG4gICAgICAgIGZuKFBvcG92ZXJUeXBlcy5MZWdlbmQsIHBvc2l0aW9ucyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBQb3BvdmVyVHlwZXMuQ29udGVudDpcbiAgICAgICAgcG9zaXRpb25zID0gW1BvcG92ZXJQb3NpdGlvbi5Cb3R0b21dO1xuICAgICAgICBmbihQb3BvdmVyVHlwZXMuQ29udGVudCwgcG9zaXRpb25zKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICBicmVhaztcbiAgICB9XG4gICAgcmV0dXJuIHBhaXJzO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRQb3NpdGlvbnModHlwZTogUG9wb3ZlclR5cGVzLCBwb3NpdGlvbnM6IFBvcG92ZXJQb3NpdGlvbltdKTogQ29ubmVjdGlvblBvc2l0aW9uUGFpcltdIHtcbiAgICBjb25zdCBwYWlyczogQ29ubmVjdGlvblBvc2l0aW9uUGFpcltdID0gW107XG4gICAgcG9zaXRpb25zLm1hcChwb3NpdGlvbiA9PiB7XG4gICAgICBwYWlycy5wdXNoKHtcbiAgICAgICAgLi4uZGVmYXVsdFBvc2l0aW9uc1twb3NpdGlvbiBhcyBzdHJpbmddLFxuICAgICAgICBwYW5lbENsYXNzOiBbZGVmYXVsdENsYXNzZXNbdHlwZV0sIGRlZmF1bHRDbGFzc2VzW3Bvc2l0aW9uXV1cbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHBhaXJzO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { Directive, ElementRef, HostListener, Input } from '@angular/core';
|
|
2
|
+
import { PopoverPosition } from './../popover.models';
|
|
3
|
+
import { PopoverTypes } from '../popover.models';
|
|
4
|
+
import { PopoverService } from '../popover.service';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "../popover.service";
|
|
7
|
+
export class TooltipDirective {
|
|
8
|
+
constructor(elmenetRef, popoverService) {
|
|
9
|
+
this.elmenetRef = elmenetRef;
|
|
10
|
+
this.popoverService = popoverService;
|
|
11
|
+
this.text = '';
|
|
12
|
+
this.isVisible = false;
|
|
13
|
+
this.positions = [];
|
|
14
|
+
this.options = {
|
|
15
|
+
maxWidth: 400,
|
|
16
|
+
delay: 0
|
|
17
|
+
};
|
|
18
|
+
this.innerIsVisible = false;
|
|
19
|
+
this.timeoutHandle = null;
|
|
20
|
+
}
|
|
21
|
+
ngOnChanges(changes) {
|
|
22
|
+
this.origin = this.elmenetRef.nativeElement;
|
|
23
|
+
if (changes?.isVisible?.currentValue === true) {
|
|
24
|
+
if (this.innerIsVisible === false) {
|
|
25
|
+
this.open();
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
if (changes?.isVisible?.currentValue === false) {
|
|
29
|
+
if (this.innerIsVisible === true) {
|
|
30
|
+
this.close();
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
ngOnDestroy() {
|
|
35
|
+
this.hide();
|
|
36
|
+
}
|
|
37
|
+
show() {
|
|
38
|
+
if (this.options?.delay > 0) {
|
|
39
|
+
this.timeoutHandle = setTimeout(() => {
|
|
40
|
+
this.open();
|
|
41
|
+
}, +this.options?.delay);
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
this.open();
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
hide() {
|
|
48
|
+
if (this.timeoutHandle != null) {
|
|
49
|
+
clearTimeout(this.timeoutHandle);
|
|
50
|
+
}
|
|
51
|
+
this.close();
|
|
52
|
+
}
|
|
53
|
+
open() {
|
|
54
|
+
if (this.innerIsVisible === false) {
|
|
55
|
+
this.popoverRef = this.popoverService.open({
|
|
56
|
+
content: this.text,
|
|
57
|
+
origin: this.origin,
|
|
58
|
+
options: {
|
|
59
|
+
type: PopoverTypes.Tooltip,
|
|
60
|
+
maxWidth: this.options.maxWidth,
|
|
61
|
+
// using a set here removes duplicate positions and ensures that at least the bottom position will be used
|
|
62
|
+
positions: [...new Set([...this.positions, PopoverPosition.Bottom])]
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
this.innerIsVisible = true;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
close() {
|
|
69
|
+
if (this.popoverRef != null) {
|
|
70
|
+
this.popoverRef.close();
|
|
71
|
+
}
|
|
72
|
+
this.innerIsVisible = false;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
TooltipDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: TooltipDirective, deps: [{ token: i0.ElementRef }, { token: i1.PopoverService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
76
|
+
TooltipDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.1", type: TooltipDirective, selector: "[fngTooltip]", inputs: { text: ["fngTooltip", "text"], isVisible: ["fngTooltipVisible", "isVisible"], positions: ["fngTooltipPositions", "positions"], options: "options" }, host: { listeners: { "mouseenter": "show()", "mouseleave": "hide()" } }, usesOnChanges: true, ngImport: i0 });
|
|
77
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: TooltipDirective, decorators: [{
|
|
78
|
+
type: Directive,
|
|
79
|
+
args: [{
|
|
80
|
+
selector: '[fngTooltip]'
|
|
81
|
+
}]
|
|
82
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.PopoverService }]; }, propDecorators: { text: [{
|
|
83
|
+
type: Input,
|
|
84
|
+
args: ['fngTooltip']
|
|
85
|
+
}], isVisible: [{
|
|
86
|
+
type: Input,
|
|
87
|
+
args: ['fngTooltipVisible']
|
|
88
|
+
}], positions: [{
|
|
89
|
+
type: Input,
|
|
90
|
+
args: ['fngTooltipPositions']
|
|
91
|
+
}], options: [{
|
|
92
|
+
type: Input
|
|
93
|
+
}], show: [{
|
|
94
|
+
type: HostListener,
|
|
95
|
+
args: ['mouseenter']
|
|
96
|
+
}], hide: [{
|
|
97
|
+
type: HostListener,
|
|
98
|
+
args: ['mouseleave']
|
|
99
|
+
}] } });
|
|
100
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL3BvcG92ZXJzL3Rvb2x0aXAvdG9vbHRpcC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBdUMsTUFBTSxlQUFlLENBQUM7QUFFaEgsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXRELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7OztBQVVwRCxNQUFNLE9BQU8sZ0JBQWdCO0lBYTNCLFlBQW9CLFVBQXNCLEVBQVUsY0FBOEI7UUFBOUQsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUFVLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQVo3RCxTQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ0gsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUN6QixjQUFTLEdBQXNCLEVBQUUsQ0FBQztRQUN2RCxZQUFPLEdBQW1CO1lBQ2pDLFFBQVEsRUFBRSxHQUFHO1lBQ2IsS0FBSyxFQUFFLENBQUM7U0FDVCxDQUFDO1FBR00sbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFDdkIsa0JBQWEsR0FBRyxJQUFJLENBQUM7SUFFd0QsQ0FBQztJQUV0RixXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQztRQUU1QyxJQUFJLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxLQUFLLElBQUksRUFBRTtZQUM3QyxJQUFJLElBQUksQ0FBQyxjQUFjLEtBQUssS0FBSyxFQUFFO2dCQUNqQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7YUFDYjtTQUNGO1FBQ0QsSUFBSSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksS0FBSyxLQUFLLEVBQUU7WUFDOUMsSUFBSSxJQUFJLENBQUMsY0FBYyxLQUFLLElBQUksRUFBRTtnQkFDaEMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO2FBQ2Q7U0FDRjtJQUNILENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2QsQ0FBQztJQUdELElBQUk7UUFDRixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxHQUFHLENBQUMsRUFBRTtZQUMzQixJQUFJLENBQUMsYUFBYSxHQUFHLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ25DLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNkLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7U0FDMUI7YUFBTTtZQUNMLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUNiO0lBQ0gsQ0FBQztJQUdELElBQUk7UUFDRixJQUFJLElBQUksQ0FBQyxhQUFhLElBQUksSUFBSSxFQUFFO1lBQzlCLFlBQVksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7U0FDbEM7UUFDRCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDZixDQUFDO0lBRU8sSUFBSTtRQUNWLElBQUksSUFBSSxDQUFDLGNBQWMsS0FBSyxLQUFLLEVBQUU7WUFDakMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQztnQkFDekMsT0FBTyxFQUFFLElBQUksQ0FBQyxJQUFJO2dCQUNsQixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07Z0JBQ25CLE9BQU8sRUFBRTtvQkFDUCxJQUFJLEVBQUUsWUFBWSxDQUFDLE9BQU87b0JBQzFCLFFBQVEsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVE7b0JBQy9CLDBHQUEwRztvQkFDMUcsU0FBUyxFQUFFLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztpQkFDckU7YUFDRixDQUFDLENBQUM7WUFDSCxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztTQUM1QjtJQUNILENBQUM7SUFFTyxLQUFLO1FBQ1gsSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksRUFBRTtZQUMzQixJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQ3pCO1FBQ0QsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7SUFDOUIsQ0FBQzs7NkdBMUVVLGdCQUFnQjtpR0FBaEIsZ0JBQWdCOzJGQUFoQixnQkFBZ0I7a0JBSDVCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGNBQWM7aUJBQ3pCOzhIQUVzQixJQUFJO3NCQUF4QixLQUFLO3VCQUFDLFlBQVk7Z0JBQ1MsU0FBUztzQkFBcEMsS0FBSzt1QkFBQyxtQkFBbUI7Z0JBQ0ksU0FBUztzQkFBdEMsS0FBSzt1QkFBQyxxQkFBcUI7Z0JBQ25CLE9BQU87c0JBQWYsS0FBSztnQkErQk4sSUFBSTtzQkFESCxZQUFZO3VCQUFDLFlBQVk7Z0JBWTFCLElBQUk7c0JBREgsWUFBWTt1QkFBQyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBQb3BvdmVyUG9zaXRpb24gfSBmcm9tICcuLy4uL3BvcG92ZXIubW9kZWxzJztcbmltcG9ydCB7IFBvcG92ZXJSZWYgfSBmcm9tICcuLi9wb3BvdmVyLXJlZic7XG5pbXBvcnQgeyBQb3BvdmVyVHlwZXMgfSBmcm9tICcuLi9wb3BvdmVyLm1vZGVscyc7XG5pbXBvcnQgeyBQb3BvdmVyU2VydmljZSB9IGZyb20gJy4uL3BvcG92ZXIuc2VydmljZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVG9vbHRpcE9wdGlvbnMge1xuICBtYXhXaWR0aD86IHN0cmluZyB8IG51bWJlcjtcbiAgZGVsYXk/OiBudW1iZXI7XG59XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tmbmdUb29sdGlwXSdcbn0pXG5leHBvcnQgY2xhc3MgVG9vbHRpcERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgQElucHV0KCdmbmdUb29sdGlwJykgdGV4dCA9ICcnO1xuICBASW5wdXQoJ2ZuZ1Rvb2x0aXBWaXNpYmxlJykgaXNWaXNpYmxlOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgnZm5nVG9vbHRpcFBvc2l0aW9ucycpIHBvc2l0aW9uczogUG9wb3ZlclBvc2l0aW9uW10gPSBbXTtcbiAgQElucHV0KCkgb3B0aW9uczogVG9vbHRpcE9wdGlvbnMgPSB7XG4gICAgbWF4V2lkdGg6IDQwMCxcbiAgICBkZWxheTogMFxuICB9O1xuICBwcml2YXRlIG9yaWdpbjogSFRNTEVsZW1lbnQ7XG4gIHByaXZhdGUgcG9wb3ZlclJlZjogUG9wb3ZlclJlZjtcbiAgcHJpdmF0ZSBpbm5lcklzVmlzaWJsZSA9IGZhbHNlO1xuICBwcml2YXRlIHRpbWVvdXRIYW5kbGUgPSBudWxsO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWxtZW5ldFJlZjogRWxlbWVudFJlZiwgcHJpdmF0ZSBwb3BvdmVyU2VydmljZTogUG9wb3ZlclNlcnZpY2UpIHt9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIHRoaXMub3JpZ2luID0gdGhpcy5lbG1lbmV0UmVmLm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICBpZiAoY2hhbmdlcz8uaXNWaXNpYmxlPy5jdXJyZW50VmFsdWUgPT09IHRydWUpIHtcbiAgICAgIGlmICh0aGlzLmlubmVySXNWaXNpYmxlID09PSBmYWxzZSkge1xuICAgICAgICB0aGlzLm9wZW4oKTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKGNoYW5nZXM/LmlzVmlzaWJsZT8uY3VycmVudFZhbHVlID09PSBmYWxzZSkge1xuICAgICAgaWYgKHRoaXMuaW5uZXJJc1Zpc2libGUgPT09IHRydWUpIHtcbiAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuaGlkZSgpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignbW91c2VlbnRlcicpXG4gIHNob3coKSB7XG4gICAgaWYgKHRoaXMub3B0aW9ucz8uZGVsYXkgPiAwKSB7XG4gICAgICB0aGlzLnRpbWVvdXRIYW5kbGUgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5vcGVuKCk7XG4gICAgICB9LCArdGhpcy5vcHRpb25zPy5kZWxheSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMub3BlbigpO1xuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNlbGVhdmUnKVxuICBoaWRlKCkge1xuICAgIGlmICh0aGlzLnRpbWVvdXRIYW5kbGUgIT0gbnVsbCkge1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMudGltZW91dEhhbmRsZSk7XG4gICAgfVxuICAgIHRoaXMuY2xvc2UoKTtcbiAgfVxuXG4gIHByaXZhdGUgb3BlbigpIHtcbiAgICBpZiAodGhpcy5pbm5lcklzVmlzaWJsZSA9PT0gZmFsc2UpIHtcbiAgICAgIHRoaXMucG9wb3ZlclJlZiA9IHRoaXMucG9wb3ZlclNlcnZpY2Uub3Blbih7XG4gICAgICAgIGNvbnRlbnQ6IHRoaXMudGV4dCxcbiAgICAgICAgb3JpZ2luOiB0aGlzLm9yaWdpbixcbiAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgIHR5cGU6IFBvcG92ZXJUeXBlcy5Ub29sdGlwLFxuICAgICAgICAgIG1heFdpZHRoOiB0aGlzLm9wdGlvbnMubWF4V2lkdGgsXG4gICAgICAgICAgLy8gdXNpbmcgYSBzZXQgaGVyZSByZW1vdmVzIGR1cGxpY2F0ZSBwb3NpdGlvbnMgYW5kIGVuc3VyZXMgdGhhdCBhdCBsZWFzdCB0aGUgYm90dG9tIHBvc2l0aW9uIHdpbGwgYmUgdXNlZFxuICAgICAgICAgIHBvc2l0aW9uczogWy4uLm5ldyBTZXQoWy4uLnRoaXMucG9zaXRpb25zLCBQb3BvdmVyUG9zaXRpb24uQm90dG9tXSldXG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgdGhpcy5pbm5lcklzVmlzaWJsZSA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjbG9zZSgpIHtcbiAgICBpZiAodGhpcy5wb3BvdmVyUmVmICE9IG51bGwpIHtcbiAgICAgIHRoaXMucG9wb3ZlclJlZi5jbG9zZSgpO1xuICAgIH1cbiAgICB0aGlzLmlubmVySXNWaXNpYmxlID0gZmFsc2U7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class ProgressComponent {
|
|
4
|
+
constructor() {
|
|
5
|
+
this.background = 'white';
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
ProgressComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ProgressComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
9
|
+
ProgressComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: ProgressComponent, selector: "fng-progress", inputs: { progress: "progress", error: "error", background: "background" }, ngImport: i0, template: "<div class=\"fwe-progress\">\n <div\n class=\"fwe-progress-bar\"\n role=\"progressbar\"\n [style.width.%]=\"progress\"\n [class.fwe-bg-red]=\"error\"\n [class.fwe-progress-bar-black]=\"background === 'black'\"\n [class.fwe-progress-bar-background]=\"background === 'background'\"\n [attr.aria-valuenow]=\"progress\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n ></div>\n</div>\n" });
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ProgressComponent, decorators: [{
|
|
11
|
+
type: Component,
|
|
12
|
+
args: [{ selector: 'fng-progress', template: "<div class=\"fwe-progress\">\n <div\n class=\"fwe-progress-bar\"\n role=\"progressbar\"\n [style.width.%]=\"progress\"\n [class.fwe-bg-red]=\"error\"\n [class.fwe-progress-bar-black]=\"background === 'black'\"\n [class.fwe-progress-bar-background]=\"background === 'background'\"\n [attr.aria-valuenow]=\"progress\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n ></div>\n</div>\n" }]
|
|
13
|
+
}], propDecorators: { progress: [{
|
|
14
|
+
type: Input
|
|
15
|
+
}], error: [{
|
|
16
|
+
type: Input
|
|
17
|
+
}], background: [{
|
|
18
|
+
type: Input
|
|
19
|
+
}] } });
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9wcm9ncmVzcy9wcm9ncmVzcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL3Byb2dyZXNzL3Byb2dyZXNzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU1qRCxNQUFNLE9BQU8saUJBQWlCO0lBSjlCO1FBT1csZUFBVSxHQUFxQyxPQUFPLENBQUM7S0FDakU7OzhHQUpZLGlCQUFpQjtrR0FBakIsaUJBQWlCLGdJQ045Qiw0WkFhQTsyRkRQYSxpQkFBaUI7a0JBSjdCLFNBQVM7K0JBQ0UsY0FBYzs4QkFJZixRQUFRO3NCQUFoQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmbmctcHJvZ3Jlc3MnLFxuICB0ZW1wbGF0ZVVybDogJy4vcHJvZ3Jlc3MuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFByb2dyZXNzQ29tcG9uZW50IHtcbiAgQElucHV0KCkgcHJvZ3Jlc3M6IG51bWJlcjtcbiAgQElucHV0KCkgZXJyb3I6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGJhY2tncm91bmQ6ICd3aGl0ZScgfCAnYmFja2dyb3VuZCcgfCAnYmxhY2snID0gJ3doaXRlJztcbn1cbiIsIjxkaXYgY2xhc3M9XCJmd2UtcHJvZ3Jlc3NcIj5cbiAgPGRpdlxuICAgIGNsYXNzPVwiZndlLXByb2dyZXNzLWJhclwiXG4gICAgcm9sZT1cInByb2dyZXNzYmFyXCJcbiAgICBbc3R5bGUud2lkdGguJV09XCJwcm9ncmVzc1wiXG4gICAgW2NsYXNzLmZ3ZS1iZy1yZWRdPVwiZXJyb3JcIlxuICAgIFtjbGFzcy5md2UtcHJvZ3Jlc3MtYmFyLWJsYWNrXT1cImJhY2tncm91bmQgPT09ICdibGFjaydcIlxuICAgIFtjbGFzcy5md2UtcHJvZ3Jlc3MtYmFyLWJhY2tncm91bmRdPVwiYmFja2dyb3VuZCA9PT0gJ2JhY2tncm91bmQnXCJcbiAgICBbYXR0ci5hcmlhLXZhbHVlbm93XT1cInByb2dyZXNzXCJcbiAgICBhcmlhLXZhbHVlbWluPVwiMFwiXG4gICAgYXJpYS12YWx1ZW1heD1cIjEwMFwiXG4gID48L2Rpdj5cbjwvZGl2PlxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './scrollable.directive';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL3Njcm9sbC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHdCQUF3QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zY3JvbGxhYmxlLmRpcmVjdGl2ZSc7XG4iXX0=
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { Directive, ElementRef, Input, NgZone, Renderer2 } from '@angular/core';
|
|
2
|
+
import SimpleBar from 'simplebar';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class ScrollableDirective {
|
|
5
|
+
constructor(el, ngZone, renderer) {
|
|
6
|
+
this.el = el;
|
|
7
|
+
this.ngZone = ngZone;
|
|
8
|
+
this.renderer = renderer;
|
|
9
|
+
this.scrollbarMinSize = 25;
|
|
10
|
+
this.isScrolling = false;
|
|
11
|
+
}
|
|
12
|
+
ngOnChanges(changes) {
|
|
13
|
+
if (changes?.viewReady.currentValue === true) {
|
|
14
|
+
this.initScrollbar();
|
|
15
|
+
this.initResizeObserver();
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
ngOnDestroy() {
|
|
19
|
+
this.resizeObserver?.disconnect();
|
|
20
|
+
}
|
|
21
|
+
initScrollbar() {
|
|
22
|
+
const el = this.el.nativeElement;
|
|
23
|
+
// yes, we explict want to run outside angular to avoid unnecessary change detection cycles
|
|
24
|
+
this.ngZone.runOutsideAngular(() => {
|
|
25
|
+
this.sb = new SimpleBar(el, { scrollbarMinSize: this.scrollbarMinSize });
|
|
26
|
+
this.sb.getScrollElement().addEventListener('scroll', this.delay(() => {
|
|
27
|
+
// triggered on scroll stop
|
|
28
|
+
this.isScrolling = false;
|
|
29
|
+
}), false);
|
|
30
|
+
});
|
|
31
|
+
this.updateMaxWidth();
|
|
32
|
+
}
|
|
33
|
+
initResizeObserver() {
|
|
34
|
+
const el = this.el.nativeElement;
|
|
35
|
+
this.resizeObserver = new ResizeObserver(() => {
|
|
36
|
+
this.updateMaxWidth();
|
|
37
|
+
});
|
|
38
|
+
this.resizeObserver.observe(el);
|
|
39
|
+
}
|
|
40
|
+
updateMaxWidth() {
|
|
41
|
+
const el = this.el.nativeElement;
|
|
42
|
+
const wrapper = el.querySelector('.simplebar-content-wrapper');
|
|
43
|
+
const width = el.getBoundingClientRect().width;
|
|
44
|
+
this.renderer.setStyle(wrapper, 'max-width', width + 'px');
|
|
45
|
+
}
|
|
46
|
+
delay(callback) {
|
|
47
|
+
let timer;
|
|
48
|
+
return () => {
|
|
49
|
+
if (!this.isScrolling) {
|
|
50
|
+
// triggered on scroll start
|
|
51
|
+
this.isScrolling = true;
|
|
52
|
+
}
|
|
53
|
+
window.clearTimeout(timer);
|
|
54
|
+
timer = window.setTimeout(callback, 50);
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
ScrollableDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ScrollableDirective, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
|
|
59
|
+
ScrollableDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.1", type: ScrollableDirective, selector: "[fngScrollable]", inputs: { scrollbarMinSize: ["fngScrollableScrollbarMinSize", "scrollbarMinSize"], viewReady: ["fngScrollableViewReady", "viewReady"] }, usesOnChanges: true, ngImport: i0 });
|
|
60
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ScrollableDirective, decorators: [{
|
|
61
|
+
type: Directive,
|
|
62
|
+
args: [{
|
|
63
|
+
selector: '[fngScrollable]'
|
|
64
|
+
}]
|
|
65
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.Renderer2 }]; }, propDecorators: { scrollbarMinSize: [{
|
|
66
|
+
type: Input,
|
|
67
|
+
args: ['fngScrollableScrollbarMinSize']
|
|
68
|
+
}], viewReady: [{
|
|
69
|
+
type: Input,
|
|
70
|
+
args: ['fngScrollableViewReady']
|
|
71
|
+
}] } });
|
|
72
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsYWJsZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL3Njcm9sbC9zY3JvbGxhYmxlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBNEIsS0FBSyxFQUFpQixNQUFNLEVBQUUsU0FBUyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3BJLE9BQU8sU0FBUyxNQUFNLFdBQVcsQ0FBQzs7QUFTbEMsTUFBTSxPQUFPLG1CQUFtQjtJQVE5QixZQUFvQixFQUFjLEVBQVUsTUFBYyxFQUFVLFFBQW1CO1FBQW5FLE9BQUUsR0FBRixFQUFFLENBQVk7UUFBVSxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQVAvQyxxQkFBZ0IsR0FBVyxFQUFFLENBQUM7UUFJOUQsZ0JBQVcsR0FBRyxLQUFLLENBQUM7SUFHOEQsQ0FBQztJQUUzRixXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxPQUFPLEVBQUUsU0FBUyxDQUFDLFlBQVksS0FBSyxJQUFJLEVBQUU7WUFDNUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1NBQzNCO0lBQ0gsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsY0FBYyxFQUFFLFVBQVUsRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFTyxhQUFhO1FBQ25CLE1BQU0sRUFBRSxHQUFnQixJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQztRQUM5QywyRkFBMkY7UUFDM0YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUU7WUFDakMsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLFNBQVMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO1lBQ3pFLElBQUksQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FDekMsUUFBUSxFQUNSLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFO2dCQUNkLDJCQUEyQjtnQkFDM0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7WUFDM0IsQ0FBQyxDQUFDLEVBQ0YsS0FBSyxDQUNOLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRU8sa0JBQWtCO1FBQ3hCLE1BQU0sRUFBRSxHQUFnQixJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQztRQUM5QyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksY0FBYyxDQUFDLEdBQUcsRUFBRTtZQUM1QyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDeEIsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRU8sY0FBYztRQUNwQixNQUFNLEVBQUUsR0FBZ0IsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUM7UUFDOUMsTUFBTSxPQUFPLEdBQUcsRUFBRSxDQUFDLGFBQWEsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO1FBQy9ELE1BQU0sS0FBSyxHQUFHLEVBQUUsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLEtBQUssQ0FBQztRQUMvQyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsV0FBVyxFQUFFLEtBQUssR0FBRyxJQUFJLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRU8sS0FBSyxDQUFDLFFBQWE7UUFDekIsSUFBSSxLQUFhLENBQUM7UUFDbEIsT0FBTyxHQUFHLEVBQUU7WUFDVixJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRTtnQkFDckIsNEJBQTRCO2dCQUM1QixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQzthQUN6QjtZQUVELE1BQU0sQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDM0IsS0FBSyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzFDLENBQUMsQ0FBQztJQUNKLENBQUM7O2dIQWhFVSxtQkFBbUI7b0dBQW5CLG1CQUFtQjsyRkFBbkIsbUJBQW1CO2tCQUgvQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxpQkFBaUI7aUJBQzVCOzhJQUV5QyxnQkFBZ0I7c0JBQXZELEtBQUs7dUJBQUMsK0JBQStCO2dCQUNMLFNBQVM7c0JBQXpDLEtBQUs7dUJBQUMsd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMsIElucHV0LCBBZnRlclZpZXdJbml0LCBOZ1pvbmUsIFJlbmRlcmVyMiwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgU2ltcGxlQmFyIGZyb20gJ3NpbXBsZWJhcic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2Nyb2xsYWJsZUF3YXJlIGV4dGVuZHMgQWZ0ZXJWaWV3SW5pdCB7XG4gIHNjcm9sbGFibGVWaWV3UmVhZHk6IGJvb2xlYW47XG59XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tmbmdTY3JvbGxhYmxlXSdcbn0pXG5leHBvcnQgY2xhc3MgU2Nyb2xsYWJsZURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgQElucHV0KCdmbmdTY3JvbGxhYmxlU2Nyb2xsYmFyTWluU2l6ZScpIHNjcm9sbGJhck1pblNpemU6IG51bWJlciA9IDI1O1xuICBASW5wdXQoJ2ZuZ1Njcm9sbGFibGVWaWV3UmVhZHknKSB2aWV3UmVhZHk6IGJvb2xlYW47XG5cbiAgcHJpdmF0ZSBzYjogU2ltcGxlQmFyO1xuICBwcml2YXRlIGlzU2Nyb2xsaW5nID0gZmFsc2U7XG4gIHByaXZhdGUgcmVzaXplT2JzZXJ2ZXI6IFJlc2l6ZU9ic2VydmVyO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWw6IEVsZW1lbnRSZWYsIHByaXZhdGUgbmdab25lOiBOZ1pvbmUsIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMikge31cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXM/LnZpZXdSZWFkeS5jdXJyZW50VmFsdWUgPT09IHRydWUpIHtcbiAgICAgIHRoaXMuaW5pdFNjcm9sbGJhcigpO1xuICAgICAgdGhpcy5pbml0UmVzaXplT2JzZXJ2ZXIoKTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnJlc2l6ZU9ic2VydmVyPy5kaXNjb25uZWN0KCk7XG4gIH1cblxuICBwcml2YXRlIGluaXRTY3JvbGxiYXIoKSB7XG4gICAgY29uc3QgZWw6IEhUTUxFbGVtZW50ID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50O1xuICAgIC8vIHllcywgd2UgZXhwbGljdCB3YW50IHRvIHJ1biBvdXRzaWRlIGFuZ3VsYXIgdG8gYXZvaWQgdW5uZWNlc3NhcnkgY2hhbmdlIGRldGVjdGlvbiBjeWNsZXNcbiAgICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICB0aGlzLnNiID0gbmV3IFNpbXBsZUJhcihlbCwgeyBzY3JvbGxiYXJNaW5TaXplOiB0aGlzLnNjcm9sbGJhck1pblNpemUgfSk7XG4gICAgICB0aGlzLnNiLmdldFNjcm9sbEVsZW1lbnQoKS5hZGRFdmVudExpc3RlbmVyKFxuICAgICAgICAnc2Nyb2xsJyxcbiAgICAgICAgdGhpcy5kZWxheSgoKSA9PiB7XG4gICAgICAgICAgLy8gdHJpZ2dlcmVkIG9uIHNjcm9sbCBzdG9wXG4gICAgICAgICAgdGhpcy5pc1Njcm9sbGluZyA9IGZhbHNlO1xuICAgICAgICB9KSxcbiAgICAgICAgZmFsc2VcbiAgICAgICk7XG4gICAgfSk7XG4gICAgdGhpcy51cGRhdGVNYXhXaWR0aCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0UmVzaXplT2JzZXJ2ZXIoKSB7XG4gICAgY29uc3QgZWw6IEhUTUxFbGVtZW50ID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50O1xuICAgIHRoaXMucmVzaXplT2JzZXJ2ZXIgPSBuZXcgUmVzaXplT2JzZXJ2ZXIoKCkgPT4ge1xuICAgICAgdGhpcy51cGRhdGVNYXhXaWR0aCgpO1xuICAgIH0pO1xuICAgIHRoaXMucmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZShlbCk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZU1heFdpZHRoKCkge1xuICAgIGNvbnN0IGVsOiBIVE1MRWxlbWVudCA9IHRoaXMuZWwubmF0aXZlRWxlbWVudDtcbiAgICBjb25zdCB3cmFwcGVyID0gZWwucXVlcnlTZWxlY3RvcignLnNpbXBsZWJhci1jb250ZW50LXdyYXBwZXInKTtcbiAgICBjb25zdCB3aWR0aCA9IGVsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoO1xuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUod3JhcHBlciwgJ21heC13aWR0aCcsIHdpZHRoICsgJ3B4Jyk7XG4gIH1cblxuICBwcml2YXRlIGRlbGF5KGNhbGxiYWNrOiBhbnkpIHtcbiAgICBsZXQgdGltZXI6IG51bWJlcjtcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgaWYgKCF0aGlzLmlzU2Nyb2xsaW5nKSB7XG4gICAgICAgIC8vIHRyaWdnZXJlZCBvbiBzY3JvbGwgc3RhcnRcbiAgICAgICAgdGhpcy5pc1Njcm9sbGluZyA9IHRydWU7XG4gICAgICB9XG5cbiAgICAgIHdpbmRvdy5jbGVhclRpbWVvdXQodGltZXIpO1xuICAgICAgdGltZXIgPSB3aW5kb3cuc2V0VGltZW91dChjYWxsYmFjaywgNTApO1xuICAgIH07XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
import { DomSanitizer } from '@angular/platform-browser';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/platform-browser";
|
|
5
|
+
export class SafeHtmlPipe {
|
|
6
|
+
constructor(sanitizer) {
|
|
7
|
+
this.sanitizer = sanitizer;
|
|
8
|
+
}
|
|
9
|
+
transform(value) {
|
|
10
|
+
return this.sanitizer.bypassSecurityTrustHtml(value);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
SafeHtmlPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: SafeHtmlPipe, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe });
|
|
14
|
+
SafeHtmlPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: SafeHtmlPipe, name: "safeHtml" });
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: SafeHtmlPipe, decorators: [{
|
|
16
|
+
type: Pipe,
|
|
17
|
+
args: [{
|
|
18
|
+
name: 'safeHtml'
|
|
19
|
+
}]
|
|
20
|
+
}], ctorParameters: function () { return [{ type: i1.DomSanitizer }]; } });
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FmZS1odG1sLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL3NlYXJjaC1pbnB1dC9zYWZlLWh0bWwucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNwRCxPQUFPLEVBQUUsWUFBWSxFQUFZLE1BQU0sMkJBQTJCLENBQUM7OztBQUtuRSxNQUFNLE9BQU8sWUFBWTtJQUN2QixZQUFzQixTQUF1QjtRQUF2QixjQUFTLEdBQVQsU0FBUyxDQUFjO0lBQUcsQ0FBQztJQUUxQyxTQUFTLENBQUMsS0FBVTtRQUN6QixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsdUJBQXVCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkQsQ0FBQzs7eUdBTFUsWUFBWTt1R0FBWixZQUFZOzJGQUFaLFlBQVk7a0JBSHhCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLFVBQVU7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlSHRtbCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuXG5AUGlwZSh7XG4gIG5hbWU6ICdzYWZlSHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgU2FmZUh0bWxQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBzYW5pdGl6ZXI6IERvbVNhbml0aXplcikge31cblxuICBwdWJsaWMgdHJhbnNmb3JtKHZhbHVlOiBhbnkpOiBTYWZlSHRtbCB7XG4gICAgcmV0dXJuIHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKHZhbHVlKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
import { Component, Input, ViewChild, ElementRef, ViewEncapsulation, Output, EventEmitter, HostListener } from '@angular/core';
|
|
2
|
+
import { coerceBooleanProperty } from '@angular/cdk/coercion';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "../click-outside.directive";
|
|
5
|
+
import * as i2 from "@angular/common";
|
|
6
|
+
import * as i3 from "./safe-html.pipe";
|
|
7
|
+
export class SearchSuggestion {
|
|
8
|
+
/**
|
|
9
|
+
* Creates a basic Suggestion from a string. The first query match is highlighted by bold tags.
|
|
10
|
+
* @param suggestionString The suggested string (should contain the whole query)
|
|
11
|
+
* @param query The current query. This string will be highlighted.
|
|
12
|
+
* @returns a html-string.
|
|
13
|
+
*/
|
|
14
|
+
static basicSuggestion(suggestionString, query) {
|
|
15
|
+
const i = suggestionString.toLocaleLowerCase().indexOf(query.toLocaleLowerCase());
|
|
16
|
+
let template = suggestionString;
|
|
17
|
+
if (i != -1) {
|
|
18
|
+
const boldStart = i;
|
|
19
|
+
const boldEnd = i + query.length;
|
|
20
|
+
const part1 = suggestionString.substring(0, boldStart);
|
|
21
|
+
const part2 = suggestionString.substring(boldStart, boldEnd);
|
|
22
|
+
const part3 = suggestionString.substring(boldEnd, suggestionString.length);
|
|
23
|
+
template = part1 + '<b>' + part2 + '</b>' + part3;
|
|
24
|
+
}
|
|
25
|
+
return { value: suggestionString, template };
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* A custom form element for search inputs.
|
|
30
|
+
*/
|
|
31
|
+
export class SearchInputComponent {
|
|
32
|
+
constructor() {
|
|
33
|
+
/**
|
|
34
|
+
* the querrry was changed, update the suggetion list
|
|
35
|
+
*/
|
|
36
|
+
this.fngChange = new EventEmitter();
|
|
37
|
+
/**
|
|
38
|
+
* Start search on this event
|
|
39
|
+
*/
|
|
40
|
+
this.fngSearch = new EventEmitter();
|
|
41
|
+
/**
|
|
42
|
+
* The search input label.
|
|
43
|
+
*/
|
|
44
|
+
this.label = '';
|
|
45
|
+
this.innerDisabled = false;
|
|
46
|
+
this.innerValue = '';
|
|
47
|
+
this.innerSuggestions = [];
|
|
48
|
+
this.hideSuggestionList = false;
|
|
49
|
+
// This is the index of the selected element in dhe suggestion list.
|
|
50
|
+
this.selectedSuggestionIndex = -1;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* When true the control's disabled attribute is set
|
|
54
|
+
* and it gets addeed the .disabled css class.
|
|
55
|
+
*/
|
|
56
|
+
get disabled() {
|
|
57
|
+
return this.innerDisabled;
|
|
58
|
+
}
|
|
59
|
+
set disabled(value) {
|
|
60
|
+
this.innerDisabled = coerceBooleanProperty(value);
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* The getter for value.
|
|
64
|
+
*/
|
|
65
|
+
get value() {
|
|
66
|
+
return this.innerValue;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* The setter for value.
|
|
70
|
+
*/
|
|
71
|
+
set value(value) {
|
|
72
|
+
if (value != null) {
|
|
73
|
+
value = '' + value;
|
|
74
|
+
}
|
|
75
|
+
this.innerValue = value;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* The list of suggestions
|
|
79
|
+
*/
|
|
80
|
+
set suggestions(value) {
|
|
81
|
+
this.selectedSuggestionIndex = -1;
|
|
82
|
+
this.innerSuggestions = value;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* The list of suggestions capped by 10 entries
|
|
86
|
+
*/
|
|
87
|
+
get cappedSuggestions() {
|
|
88
|
+
return this.innerSuggestions.slice(0, 10);
|
|
89
|
+
}
|
|
90
|
+
keyhandler(event) {
|
|
91
|
+
if (!this.cappedSuggestions || !this.cappedSuggestions.length) {
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
// navigate inside the suggestion list
|
|
95
|
+
if (event.key === 'ArrowUp') {
|
|
96
|
+
if (this.selectedSuggestionIndex > 0) {
|
|
97
|
+
this.selectedSuggestionIndex--;
|
|
98
|
+
}
|
|
99
|
+
else {
|
|
100
|
+
this.selectedSuggestionIndex = this.cappedSuggestions.length - 1;
|
|
101
|
+
}
|
|
102
|
+
this.value = this.cappedSuggestions[this.selectedSuggestionIndex].value;
|
|
103
|
+
}
|
|
104
|
+
if (event.key === 'ArrowDown') {
|
|
105
|
+
if (this.selectedSuggestionIndex >= this.cappedSuggestions.length - 1) {
|
|
106
|
+
this.selectedSuggestionIndex = 0;
|
|
107
|
+
}
|
|
108
|
+
else {
|
|
109
|
+
this.selectedSuggestionIndex++;
|
|
110
|
+
}
|
|
111
|
+
this.value = this.cappedSuggestions[this.selectedSuggestionIndex].value;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
onClickOutside() {
|
|
115
|
+
this.hideSuggestionList = true;
|
|
116
|
+
}
|
|
117
|
+
onFocus() {
|
|
118
|
+
this.hideSuggestionList = false;
|
|
119
|
+
}
|
|
120
|
+
onInput(event) {
|
|
121
|
+
this.selectedSuggestionIndex = -1;
|
|
122
|
+
this.value = event.target.value;
|
|
123
|
+
this.fngChange.emit(this.value);
|
|
124
|
+
}
|
|
125
|
+
// also triggert on "Enter" and "Escape"
|
|
126
|
+
onSearch(event) {
|
|
127
|
+
event.stopPropagation();
|
|
128
|
+
this.selectedSuggestionIndex = -1;
|
|
129
|
+
this.fngSearch.emit(this.value);
|
|
130
|
+
this.hideSuggestionList = true;
|
|
131
|
+
this.inputRef.nativeElement.blur();
|
|
132
|
+
}
|
|
133
|
+
onSuggestionClick(suggestion) {
|
|
134
|
+
this.selectedSuggestionIndex = -1;
|
|
135
|
+
this.value = suggestion.value;
|
|
136
|
+
this.fngSearch.emit(this.value);
|
|
137
|
+
this.hideSuggestionList = true;
|
|
138
|
+
this.inputRef.nativeElement.blur();
|
|
139
|
+
}
|
|
140
|
+
clearQuery() {
|
|
141
|
+
this.selectedSuggestionIndex = -1;
|
|
142
|
+
this.value = '';
|
|
143
|
+
this.fngSearch.emit(this.value);
|
|
144
|
+
this.hideSuggestionList = true;
|
|
145
|
+
this.inputRef.nativeElement.blur();
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
SearchInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: SearchInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
149
|
+
SearchInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: SearchInputComponent, selector: "fng-search-input", inputs: { label: "label", disabled: "disabled", value: "value", suggestions: "suggestions" }, outputs: { fngChange: "fngChange", fngSearch: "fngSearch" }, host: { listeners: { "document:keydown": "keyhandler($event)" } }, viewQueries: [{ propertyName: "inputRef", first: true, predicate: ["inputElement"], descendants: true }], ngImport: i0, template: "<div class=\"fwe-search-input fwe-w-100\" (clickOutside)=\"onClickOutside()\" fngClickOutside>\n <input\n class=\"fwe-w-100\"\n #inputElement\n [attr.disabled]=\"disabled ? '' : null\"\n [placeholder]=\"label\"\n (focus)=\"onFocus()\"\n type=\"search\"\n (input)=\"onInput($event)\"\n (search)=\"onSearch($event)\"\n [value]=\"innerValue\"\n />\n <div class=\"fwe-search-icon\"></div>\n <div class=\"fwe-clear-icon\" (click)=\"clearQuery()\"></div>\n <div class=\"fwe-search-suggestions\" *ngIf=\"innerSuggestions?.length && !hideSuggestionList\">\n <div\n *ngFor=\"let suggestion of cappedSuggestions; let i = index\"\n (click)=\"onSuggestionClick(suggestion)\"\n [class.fwe-selected]=\"selectedSuggestionIndex === i\"\n class=\"fwe-search-suggestion\"\n >\n <div [innerHTML]=\"suggestion.template | safeHtml\"></div>\n </div>\n <div class=\"fwe-ml-xxs\" *ngIf=\"innerSuggestions.length > 10\">...</div>\n </div>\n</div>\n", styles: [".fwe-w-100{width:100%}.fwe-search-suggestion{height:40px}\n"], directives: [{ type: i1.ClickOutsideDirective, selector: "[fngClickOutside]", outputs: ["clickOutside"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "safeHtml": i3.SafeHtmlPipe }, encapsulation: i0.ViewEncapsulation.None });
|
|
150
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: SearchInputComponent, decorators: [{
|
|
151
|
+
type: Component,
|
|
152
|
+
args: [{ selector: 'fng-search-input', encapsulation: ViewEncapsulation.None, template: "<div class=\"fwe-search-input fwe-w-100\" (clickOutside)=\"onClickOutside()\" fngClickOutside>\n <input\n class=\"fwe-w-100\"\n #inputElement\n [attr.disabled]=\"disabled ? '' : null\"\n [placeholder]=\"label\"\n (focus)=\"onFocus()\"\n type=\"search\"\n (input)=\"onInput($event)\"\n (search)=\"onSearch($event)\"\n [value]=\"innerValue\"\n />\n <div class=\"fwe-search-icon\"></div>\n <div class=\"fwe-clear-icon\" (click)=\"clearQuery()\"></div>\n <div class=\"fwe-search-suggestions\" *ngIf=\"innerSuggestions?.length && !hideSuggestionList\">\n <div\n *ngFor=\"let suggestion of cappedSuggestions; let i = index\"\n (click)=\"onSuggestionClick(suggestion)\"\n [class.fwe-selected]=\"selectedSuggestionIndex === i\"\n class=\"fwe-search-suggestion\"\n >\n <div [innerHTML]=\"suggestion.template | safeHtml\"></div>\n </div>\n <div class=\"fwe-ml-xxs\" *ngIf=\"innerSuggestions.length > 10\">...</div>\n </div>\n</div>\n", styles: [".fwe-w-100{width:100%}.fwe-search-suggestion{height:40px}\n"] }]
|
|
153
|
+
}], propDecorators: { inputRef: [{
|
|
154
|
+
type: ViewChild,
|
|
155
|
+
args: ['inputElement']
|
|
156
|
+
}], fngChange: [{
|
|
157
|
+
type: Output
|
|
158
|
+
}], fngSearch: [{
|
|
159
|
+
type: Output
|
|
160
|
+
}], label: [{
|
|
161
|
+
type: Input
|
|
162
|
+
}], disabled: [{
|
|
163
|
+
type: Input
|
|
164
|
+
}], value: [{
|
|
165
|
+
type: Input
|
|
166
|
+
}], suggestions: [{
|
|
167
|
+
type: Input
|
|
168
|
+
}], keyhandler: [{
|
|
169
|
+
type: HostListener,
|
|
170
|
+
args: ['document:keydown', ['$event']]
|
|
171
|
+
}] } });
|
|
172
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvc2VhcmNoLWlucHV0L3NlYXJjaC1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL3NlYXJjaC1pbnB1dC9zZWFyY2gtaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvSCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7QUFFOUQsTUFBTSxPQUFPLGdCQUFnQjtJQVczQjs7Ozs7T0FLRztJQUNILE1BQU0sQ0FBQyxlQUFlLENBQUMsZ0JBQXdCLEVBQUUsS0FBYTtRQUM1RCxNQUFNLENBQUMsR0FBRyxnQkFBZ0IsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDO1FBQ2xGLElBQUksUUFBUSxHQUFHLGdCQUFnQixDQUFDO1FBQ2hDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFO1lBQ1gsTUFBTyxTQUFTLEdBQUcsQ0FBQyxDQUFDO1lBQ3JCLE1BQU0sT0FBTyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDO1lBQ2pDLE1BQU0sS0FBSyxHQUFHLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUM7WUFDdkQsTUFBTSxLQUFLLEdBQUcsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRSxPQUFPLENB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QUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDckMsQ0FBQztJQUVELFVBQVU7UUFDUixJQUFJLENBQUMsdUJBQXVCLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDbEMsSUFBSSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7UUFDaEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUM7UUFDL0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDckMsQ0FBQzs7aUhBM0lVLG9CQUFvQjtxR0FBcEIsb0JBQW9CLGdZQzVDakMsbStCQTBCQTsyRkRrQmEsb0JBQW9CO2tCQU5oQyxTQUFTOytCQUNFLGtCQUFrQixpQkFHYixpQkFBaUIsQ0FBQyxJQUFJOzhCQUlyQyxRQUFRO3NCQURQLFNBQVM7dUJBQUMsY0FBYztnQkFPaEIsU0FBUztzQkFEakIsTUFBTTtnQkFPRSxTQUFTO3NCQURqQixNQUFNO2dCQU1FLEtBQUs7c0JBQWIsS0FBSztnQkFPRixRQUFRO3NCQURYLEtBQUs7Z0JBc0JGLEtBQUs7c0JBRFIsS0FBSztnQkFZRixXQUFXO3NCQURkLEtBQUs7Z0JBb0JOLFVBQVU7c0JBRFQsWUFBWTt1QkFBQyxrQkFBa0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIFZpZXdDaGlsZCwgRWxlbWVudFJlZiwgVmlld0VuY2Fwc3VsYXRpb24sIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBIb3N0TGlzdGVuZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5cbmV4cG9ydCBjbGFzcyBTZWFyY2hTdWdnZXN0aW9uIHtcbiAgLyoqXG4gICAqIGEgaHRtbC1zdHJpbmcuIGUuZy46ICc8Yj4gaGVsbG8gPC9iPidcbiAgICovXG4gIHRlbXBsYXRlOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoaXMgVmFsdWUgd2lsbCBiZSB1c2VkIGFzIG5ldyBxdWVyeSB3aGVuIHRoZSB1c2VyIHNlbGVjdHMgdGhlIHN1Z2dlc3Rpb24uXG4gICAqL1xuICB2YWx1ZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgYmFzaWMgU3VnZ2VzdGlvbiBmcm9tIGEgc3RyaW5nLiBUaGUgZmlyc3QgcXVlcnkgbWF0Y2ggaXMgaGlnaGxpZ2h0ZWQgYnkgYm9sZCB0YWdzLlxuICAgKiBAcGFyYW0gc3VnZ2VzdGlvblN0cmluZyBUaGUgc3VnZ2VzdGVkIHN0cmluZyAoc2hvdWxkIGNvbnRhaW4gdGhlIHdob2xlIHF1ZXJ5KVxuICAgKiBAcGFyYW0gcXVlcnkgVGhlIGN1cnJlbnQgcXVlcnkuIFRoaXMgc3RyaW5nIHdpbGwgYmUgaGlnaGxpZ2h0ZWQuXG4gICAqIEByZXR1cm5zIGEgaHRtbC1zdHJpbmcuXG4gICAqL1xuICBzdGF0aWMgYmFzaWNTdWdnZXN0aW9uKHN1Z2dlc3Rpb25TdHJpbmc6IHN0cmluZywgcXVlcnk6IHN0cmluZyk6IFNlYXJjaFN1Z2dlc3Rpb24ge1xuICAgIGNvbnN0IGkgPSBzdWdnZXN0aW9uU3RyaW5nLnRvTG9jYWxlTG93ZXJDYXNlKCkuaW5kZXhPZihxdWVyeS50b0xvY2FsZUxvd2VyQ2FzZSgpKTtcbiAgICBsZXQgdGVtcGxhdGUgPSBzdWdnZXN0aW9uU3RyaW5nO1xuICAgIGlmIChpICE9IC0xKSB7XG4gICAgICBjb25zdCAgYm9sZFN0YXJ0ID0gaTtcbiAgICAgIGNvbnN0IGJvbGRFbmQgPSBpICsgcXVlcnkubGVuZ3RoO1xuICAgICAgY29uc3QgcGFydDEgPSBzdWdnZXN0aW9uU3RyaW5nLnN1YnN0cmluZygwLCBib2xkU3RhcnQpO1xuICAgICAgY29uc3QgcGFydDIgPSBzdWdnZXN0aW9uU3RyaW5nLnN1YnN0cmluZyhib2xkU3RhcnQsIGJvbGRFbmQpO1xuICAgICAgY29uc3QgcGFydDMgPSBzdWdnZXN0aW9uU3RyaW5nLnN1YnN0cmluZyhib2xkRW5kLCBzdWdnZXN0aW9uU3RyaW5nLmxlbmd0aCk7XG4gICAgICB0ZW1wbGF0ZSA9IHBhcnQxICsgJzxiPicgKyBwYXJ0MiArICc8L2I+JyArIHBhcnQzO1xuICAgIH1cbiAgICByZXR1cm4geyB2YWx1ZTogc3VnZ2VzdGlvblN0cmluZywgdGVtcGxhdGUgfTtcbiAgfVxufVxuXG4vKipcbiAqIEEgY3VzdG9tIGZvcm0gZWxlbWVudCBmb3Igc2VhcmNoIGlucHV0cy5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZm5nLXNlYXJjaC1pbnB1dCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWFyY2gtaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zZWFyY2gtaW5wdXQuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBTZWFyY2hJbnB1dENvbXBvbmVudCB7XG4gIEBWaWV3Q2hpbGQoJ2lucHV0RWxlbWVudCcpXG4gIGlucHV0UmVmITogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcblxuICAvKipcbiAgICogdGhlIHF1ZXJycnkgd2FzIGNoYW5nZWQsIHVwZGF0ZSB0aGUgc3VnZ2V0aW9uIGxpc3RcbiAgICovXG4gIEBPdXRwdXQoKVxuICByZWFkb25seSBmbmdDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICAvKipcbiAgICogU3RhcnQgc2VhcmNoIG9uIHRoaXMgZXZlbnRcbiAgICovXG4gIEBPdXRwdXQoKVxuICByZWFkb25seSBmbmdTZWFyY2ggPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICAvKipcbiAgICogVGhlIHNlYXJjaCBpbnB1dCBsYWJlbC5cbiAgICovXG4gIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmcgPSAnJztcblxuICAvKipcbiAgICogV2hlbiB0cnVlIHRoZSBjb250cm9sJ3MgZGlzYWJsZWQgYXR0cmlidXRlIGlzIHNldFxuICAgKiBhbmQgaXQgZ2V0cyBhZGRlZWQgdGhlIC5kaXNhYmxlZCBjc3MgY2xhc3MuXG4gICAqL1xuICBASW5wdXQoKVxuICBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaW5uZXJEaXNhYmxlZDtcbiAgfVxuICBzZXQgZGlzYWJsZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmlubmVyRGlzYWJsZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICB9XG4gIHByb3RlY3RlZCBpbm5lckRpc2FibGVkID0gZmFsc2U7XG5cbiAgaW5uZXJWYWx1ZTogc3RyaW5nID0gJyc7XG5cbiAgLyoqXG4gICAqIFRoZSBnZXR0ZXIgZm9yIHZhbHVlLlxuICAgKi9cbiAgZ2V0IHZhbHVlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuaW5uZXJWYWx1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgc2V0dGVyIGZvciB2YWx1ZS5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHNldCB2YWx1ZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgaWYgKHZhbHVlICE9IG51bGwpIHtcbiAgICAgIHZhbHVlID0gJycgKyB2YWx1ZTtcbiAgICB9XG4gICAgdGhpcy5pbm5lclZhbHVlID0gdmFsdWU7XG4gIH1cblxuICAvKipcbiAgICogVGhlIGxpc3Qgb2Ygc3VnZ2VzdGlvbnNcbiAgICovXG4gIEBJbnB1dCgpXG4gIHNldCBzdWdnZXN0aW9ucyh2YWx1ZTogU2VhcmNoU3VnZ2VzdGlvbltdKSB7XG4gICAgdGhpcy5zZWxlY3RlZFN1Z2dlc3Rpb25JbmRleCA9IC0xO1xuICAgIHRoaXMuaW5uZXJTdWdnZXN0aW9ucyA9IHZhbHVlO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBsaXN0IG9mIHN1Z2dlc3Rpb25zIGNhcHBlZCBieSAxMCBlbnRyaWVzXG4gICAqL1xuICBnZXQgY2FwcGVkU3VnZ2VzdGlvbnMoKTogU2VhcmNoU3VnZ2VzdGlvbltdIHtcbiAgICByZXR1cm4gdGhpcy5pbm5lclN1Z2dlc3Rpb25zLnNsaWNlKDAsIDEwKTtcbiAgfVxuXG4gIGlubmVyU3VnZ2VzdGlvbnM6IFNlYXJjaFN1Z2dlc3Rpb25bXSA9IFtdO1xuICBoaWRlU3VnZ2VzdGlvbkxpc3Q6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvLyBUaGlzIGlzIHRoZSBpbmRleCBvZiB0aGUgc2VsZWN0ZWQgZWxlbWVudCBpbiBkaGUgc3VnZ2VzdGlvbiBsaXN0LlxuICBzZWxlY3RlZFN1Z2dlc3Rpb25JbmRleCA9IC0xO1xuXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmtleWRvd24nLCBbJyRldmVudCddKVxuICBrZXloYW5kbGVyKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgaWYgKCF0aGlzLmNhcHBlZFN1Z2dlc3Rpb25zIHx8ICF0aGlzLmNhcHBlZFN1Z2dlc3Rpb25zLmxlbmd0aCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIG5hdmlnYXRlIGluc2lkZSB0aGUgc3VnZ2VzdGlvbiBsaXN0XG4gICAgaWYgKGV2ZW50LmtleSA9PT0gJ0Fycm93VXAnKSB7XG4gICAgICBpZiAodGhpcy5zZWxlY3RlZFN1Z2dlc3Rpb25JbmRleCA+IDApIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFN1Z2dlc3Rpb25JbmRleC0tO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFN1Z2dlc3Rpb25JbmRleCA9IHRoaXMuY2FwcGVkU3VnZ2VzdGlvbnMubGVuZ3RoIC0gMTtcbiAgICAgIH1cbiAgICAgIHRoaXMudmFsdWUgPSB0aGlzLmNhcHBlZFN1Z2dlc3Rpb25zW3RoaXMuc2VsZWN0ZWRTdWdnZXN0aW9uSW5kZXhdLnZhbHVlO1xuICAgIH1cblxuICAgIGlmIChldmVudC5rZXkgPT09ICdBcnJvd0Rvd24nKSB7XG4gICAgICBpZiAodGhpcy5zZWxlY3RlZFN1Z2dlc3Rpb25JbmRleCA+PSB0aGlzLmNhcHBlZFN1Z2dlc3Rpb25zLmxlbmd0aCAtIDEpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFN1Z2dlc3Rpb25JbmRleCA9IDA7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnNlbGVjdGVkU3VnZ2VzdGlvbkluZGV4Kys7XG4gICAgICB9XG4gICAgICB0aGlzLnZhbHVlID0gdGhpcy5jYXBwZWRTdWdnZXN0aW9uc1t0aGlzLnNlbGVjdGVkU3VnZ2VzdGlvbkluZGV4XS52YWx1ZTtcbiAgICB9XG4gIH1cblxuICBvbkNsaWNrT3V0c2lkZSgpOiB2b2lkIHtcbiAgICB0aGlzLmhpZGVTdWdnZXN0aW9uTGlzdCA9IHRydWU7XG4gIH1cblxuICBvbkZvY3VzKCkge1xuICAgIHRoaXMuaGlkZVN1Z2dlc3Rpb25MaXN0ID0gZmFsc2U7XG4gIH1cblxuICBvbklucHV0KGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLnNlbGVjdGVkU3VnZ2VzdGlvbkluZGV4ID0gLTE7XG4gICAgdGhpcy52YWx1ZSA9IGV2ZW50LnRhcmdldC52YWx1ZTtcbiAgICB0aGlzLmZuZ0NoYW5nZS5lbWl0KHRoaXMudmFsdWUpO1xuICB9XG5cbiAgLy8gYWxzbyB0cmlnZ2VydCBvbiBcIkVudGVyXCIgYW5kIFwiRXNjYXBlXCJcbiAgb25TZWFyY2goZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMuc2VsZWN0ZWRTdWdnZXN0aW9uSW5kZXggPSAtMTtcbiAgICB0aGlzLmZuZ1NlYXJjaC5lbWl0KHRoaXMudmFsdWUpO1xuICAgIHRoaXMuaGlkZVN1Z2dlc3Rpb25MaXN0ID0gdHJ1ZTtcbiAgICB0aGlzLmlucHV0UmVmLm5hdGl2ZUVsZW1lbnQuYmx1cigpO1xuICB9XG5cbiAgb25TdWdnZXN0aW9uQ2xpY2soc3VnZ2VzdGlvbjogU2VhcmNoU3VnZ2VzdGlvbikge1xuICAgIHRoaXMuc2VsZWN0ZWRTdWdnZXN0aW9uSW5kZXggPSAtMTtcbiAgICB0aGlzLnZhbHVlID0gc3VnZ2VzdGlvbi52YWx1ZTtcbiAgICB0aGlzLmZuZ1NlYXJjaC5lbWl0KHRoaXMudmFsdWUpO1xuICAgIHRoaXMuaGlkZVN1Z2dlc3Rpb25MaXN0ID0gdHJ1ZTtcbiAgICB0aGlzLmlucHV0UmVmLm5hdGl2ZUVsZW1lbnQuYmx1cigpO1xuICB9XG5cbiAgY2xlYXJRdWVyeSgpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkU3VnZ2VzdGlvbkluZGV4ID0gLTE7XG4gICAgdGhpcy52YWx1ZSA9ICcnO1xuICAgIHRoaXMuZm5nU2VhcmNoLmVtaXQodGhpcy52YWx1ZSk7XG4gICAgdGhpcy5oaWRlU3VnZ2VzdGlvbkxpc3QgPSB0cnVlO1xuICAgIHRoaXMuaW5wdXRSZWYubmF0aXZlRWxlbWVudC5ibHVyKCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmd2Utc2VhcmNoLWlucHV0IGZ3ZS13LTEwMFwiIChjbGlja091dHNpZGUpPVwib25DbGlja091dHNpZGUoKVwiIGZuZ0NsaWNrT3V0c2lkZT5cbiAgPGlucHV0XG4gICAgY2xhc3M9XCJmd2Utdy0xMDBcIlxuICAgICNpbnB1dEVsZW1lbnRcbiAgICBbYXR0ci5kaXNhYmxlZF09XCJkaXNhYmxlZCA/ICcnIDogbnVsbFwiXG4gICAgW3BsYWNlaG9sZGVyXT1cImxhYmVsXCJcbiAgICAoZm9jdXMpPVwib25Gb2N1cygpXCJcbiAgICB0eXBlPVwic2VhcmNoXCJcbiAgICAoaW5wdXQpPVwib25JbnB1dCgkZXZlbnQpXCJcbiAgICAoc2VhcmNoKT1cIm9uU2VhcmNoKCRldmVudClcIlxuICAgIFt2YWx1ZV09XCJpbm5lclZhbHVlXCJcbiAgLz5cbiAgPGRpdiBjbGFzcz1cImZ3ZS1zZWFyY2gtaWNvblwiPjwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiZndlLWNsZWFyLWljb25cIiAoY2xpY2spPVwiY2xlYXJRdWVyeSgpXCI+PC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJmd2Utc2VhcmNoLXN1Z2dlc3Rpb25zXCIgKm5nSWY9XCJpbm5lclN1Z2dlc3Rpb25zPy5sZW5ndGggJiYgIWhpZGVTdWdnZXN0aW9uTGlzdFwiPlxuICAgIDxkaXZcbiAgICAgICpuZ0Zvcj1cImxldCBzdWdnZXN0aW9uIG9mIGNhcHBlZFN1Z2dlc3Rpb25zOyBsZXQgaSA9IGluZGV4XCJcbiAgICAgIChjbGljayk9XCJvblN1Z2dlc3Rpb25DbGljayhzdWdnZXN0aW9uKVwiXG4gICAgICBbY2xhc3MuZndlLXNlbGVjdGVkXT1cInNlbGVjdGVkU3VnZ2VzdGlvbkluZGV4ID09PSBpXCJcbiAgICAgIGNsYXNzPVwiZndlLXNlYXJjaC1zdWdnZXN0aW9uXCJcbiAgICA+XG4gICAgICA8ZGl2IFtpbm5lckhUTUxdPVwic3VnZ2VzdGlvbi50ZW1wbGF0ZSB8IHNhZmVIdG1sXCI+PC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImZ3ZS1tbC14eHNcIiAqbmdJZj1cImlubmVyU3VnZ2VzdGlvbnMubGVuZ3RoID4gMTBcIj4uLi48L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Component, Input, ViewEncapsulation } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "./snackbar-container.directive";
|
|
4
|
+
export class SnackbarContainerComponent {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.config = {
|
|
7
|
+
darkBackground: true,
|
|
8
|
+
disappearAfter: 5000,
|
|
9
|
+
closeOnAction: true
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
SnackbarContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: SnackbarContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
14
|
+
SnackbarContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: SnackbarContainerComponent, selector: "fng-snackbar-container", inputs: { config: "config" }, ngImport: i0, template: "<div class=\"fwe-snackbar-container\">\n <div [fngSnackbarContainer]=\"config\"></div>\n</div>\n", styles: [".fwe-snackbar-container{pointer-events:none}\n"], directives: [{ type: i1.SnackbarContainerDirective, selector: "[fngSnackbarContainer]", inputs: ["fngSnackbarContainer"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: SnackbarContainerComponent, decorators: [{
|
|
16
|
+
type: Component,
|
|
17
|
+
args: [{ selector: 'fng-snackbar-container', encapsulation: ViewEncapsulation.None, template: "<div class=\"fwe-snackbar-container\">\n <div [fngSnackbarContainer]=\"config\"></div>\n</div>\n", styles: [".fwe-snackbar-container{pointer-events:none}\n"] }]
|
|
18
|
+
}], propDecorators: { config: [{
|
|
19
|
+
type: Input
|
|
20
|
+
}] } });
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25hY2tiYXItY29udGFpbmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvc25hY2tiYXIvc25hY2tiYXItY29udGFpbmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvc25hY2tiYXIvc25hY2tiYXItY29udGFpbmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFTcEUsTUFBTSxPQUFPLDBCQUEwQjtJQU52QztRQU9XLFdBQU0sR0FBbUI7WUFDaEMsY0FBYyxFQUFFLElBQUk7WUFDcEIsY0FBYyxFQUFFLElBQUk7WUFDcEIsYUFBYSxFQUFFLElBQUk7U0FDcEIsQ0FBQztLQUNIOzt1SEFOWSwwQkFBMEI7MkdBQTFCLDBCQUEwQiw0RkNUdkMsbUdBR0E7MkZETWEsMEJBQTBCO2tCQU50QyxTQUFTOytCQUNFLHdCQUF3QixpQkFHbkIsaUJBQWlCLENBQUMsSUFBSTs4QkFHNUIsTUFBTTtzQkFBZCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNuYWNrYmFyQ29uZmlnIH0gZnJvbSAnLi9zbmFja2Jhci5tb2RlbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmbmctc25hY2tiYXItY29udGFpbmVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NuYWNrYmFyLWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NuYWNrYmFyLWNvbnRhaW5lci5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIFNuYWNrYmFyQ29udGFpbmVyQ29tcG9uZW50IHtcbiAgQElucHV0KCkgY29uZmlnOiBTbmFja2JhckNvbmZpZyA9IHtcbiAgICBkYXJrQmFja2dyb3VuZDogdHJ1ZSxcbiAgICBkaXNhcHBlYXJBZnRlcjogNTAwMCxcbiAgICBjbG9zZU9uQWN0aW9uOiB0cnVlXG4gIH07XG59XG4iLCI8ZGl2IGNsYXNzPVwiZndlLXNuYWNrYmFyLWNvbnRhaW5lclwiPlxuICA8ZGl2IFtmbmdTbmFja2JhckNvbnRhaW5lcl09XCJjb25maWdcIj48L2Rpdj5cbjwvZGl2PlxuIl19
|