@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,41 @@
|
|
|
1
|
+
import { Component, ContentChildren, QueryList } from '@angular/core';
|
|
2
|
+
import { MobileFlyoutPageComponent } from './mobile-flyout-page/mobile-flyout-page.component';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "../click-outside.directive";
|
|
5
|
+
export class MobileFlyoutComponent {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.isOpen = false;
|
|
8
|
+
}
|
|
9
|
+
ngAfterContentInit() {
|
|
10
|
+
if (!this.pageComponents) {
|
|
11
|
+
return;
|
|
12
|
+
}
|
|
13
|
+
// register click-callbacks and open the first element
|
|
14
|
+
this.pageComponents.forEach((s, i) => {
|
|
15
|
+
s.onNavigateCallback = pageName => this.onNavigate(pageName);
|
|
16
|
+
s.isfirstelement = i === 0;
|
|
17
|
+
s.visible = i === 0;
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
onNavigate(pageName) {
|
|
21
|
+
// handle clicks on router links
|
|
22
|
+
if (!pageName) {
|
|
23
|
+
this.isOpen = false;
|
|
24
|
+
}
|
|
25
|
+
// handle page-navigation clicks
|
|
26
|
+
const nextPage = this.pageComponents.find(p => p.name === pageName);
|
|
27
|
+
if (nextPage) {
|
|
28
|
+
nextPage.visible = true;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
MobileFlyoutComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MobileFlyoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
33
|
+
MobileFlyoutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: MobileFlyoutComponent, selector: "fng-mobile-flyout", queries: [{ propertyName: "pageComponents", predicate: MobileFlyoutPageComponent }], ngImport: i0, template: "<div class=\"fwe-mobile-flyout\" (clickOutside)=\"isOpen = false\" fngClickOutside>\n <button [class.fwe-burger-button]=\"!isOpen\" [class.fwe-close-button]=\"isOpen\" (click)=\"isOpen = !isOpen\"></button>\n\n <div class=\"fwe-mobile-flyout-container\" [class.fwe-opened]=\"isOpen\">\n <ng-content></ng-content>\n </div>\n</div>\n", directives: [{ type: i1.ClickOutsideDirective, selector: "[fngClickOutside]", outputs: ["clickOutside"] }] });
|
|
34
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MobileFlyoutComponent, decorators: [{
|
|
35
|
+
type: Component,
|
|
36
|
+
args: [{ selector: 'fng-mobile-flyout', template: "<div class=\"fwe-mobile-flyout\" (clickOutside)=\"isOpen = false\" fngClickOutside>\n <button [class.fwe-burger-button]=\"!isOpen\" [class.fwe-close-button]=\"isOpen\" (click)=\"isOpen = !isOpen\"></button>\n\n <div class=\"fwe-mobile-flyout-container\" [class.fwe-opened]=\"isOpen\">\n <ng-content></ng-content>\n </div>\n</div>\n" }]
|
|
37
|
+
}], propDecorators: { pageComponents: [{
|
|
38
|
+
type: ContentChildren,
|
|
39
|
+
args: [MobileFlyoutPageComponent]
|
|
40
|
+
}] } });
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9iaWxlLWZseW91dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL21vYmlsZS1mbHlvdXQvbW9iaWxlLWZseW91dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL21vYmlsZS1mbHlvdXQvbW9iaWxlLWZseW91dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW9CLFNBQVMsRUFBRSxlQUFlLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDOzs7QUFNOUYsTUFBTSxPQUFPLHFCQUFxQjtJQUpsQztRQU9FLFdBQU0sR0FBRyxLQUFLLENBQUM7S0EyQmhCO0lBekJDLGtCQUFrQjtRQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUN4QixPQUFPO1NBQ1I7UUFFRCxzREFBc0Q7UUFDdEQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDbkMsQ0FBQyxDQUFDLGtCQUFrQixHQUFHLFFBQVEsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUM3RCxDQUFDLENBQUMsY0FBYyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDM0IsQ0FBQyxDQUFDLE9BQU8sR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3RCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFVBQVUsQ0FBQyxRQUFnQjtRQUN6QixnQ0FBZ0M7UUFDaEMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNiLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1NBQ3JCO1FBRUQsZ0NBQWdDO1FBQ2hDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxRQUFRLENBQUMsQ0FBQztRQUNwRSxJQUFJLFFBQVEsRUFBRTtZQUNaLFFBQVEsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1NBQ3pCO0lBQ0gsQ0FBQzs7a0hBN0JVLHFCQUFxQjtzR0FBckIscUJBQXFCLHdGQUNmLHlCQUF5Qiw2QkNSNUMsbVZBT0E7MkZEQWEscUJBQXFCO2tCQUpqQyxTQUFTOytCQUNFLG1CQUFtQjs4QkFJZSxjQUFjO3NCQUF6RCxlQUFlO3VCQUFDLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyQ29udGVudEluaXQsIENvbXBvbmVudCwgQ29udGVudENoaWxkcmVuLCBRdWVyeUxpc3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1vYmlsZUZseW91dFBhZ2VDb21wb25lbnQgfSBmcm9tICcuL21vYmlsZS1mbHlvdXQtcGFnZS9tb2JpbGUtZmx5b3V0LXBhZ2UuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZm5nLW1vYmlsZS1mbHlvdXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vbW9iaWxlLWZseW91dC5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgTW9iaWxlRmx5b3V0Q29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCB7XG4gIEBDb250ZW50Q2hpbGRyZW4oTW9iaWxlRmx5b3V0UGFnZUNvbXBvbmVudCkgcGFnZUNvbXBvbmVudHMhOiBRdWVyeUxpc3Q8TW9iaWxlRmx5b3V0UGFnZUNvbXBvbmVudD47XG5cbiAgaXNPcGVuID0gZmFsc2U7XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5wYWdlQ29tcG9uZW50cykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIHJlZ2lzdGVyIGNsaWNrLWNhbGxiYWNrcyBhbmQgb3BlbiB0aGUgZmlyc3QgZWxlbWVudFxuICAgIHRoaXMucGFnZUNvbXBvbmVudHMuZm9yRWFjaCgocywgaSkgPT4ge1xuICAgICAgcy5vbk5hdmlnYXRlQ2FsbGJhY2sgPSBwYWdlTmFtZSA9PiB0aGlzLm9uTmF2aWdhdGUocGFnZU5hbWUpO1xuICAgICAgcy5pc2ZpcnN0ZWxlbWVudCA9IGkgPT09IDA7XG4gICAgICBzLnZpc2libGUgPSBpID09PSAwO1xuICAgIH0pO1xuICB9XG5cbiAgb25OYXZpZ2F0ZShwYWdlTmFtZTogc3RyaW5nKSB7XG4gICAgLy8gaGFuZGxlIGNsaWNrcyBvbiByb3V0ZXIgbGlua3NcbiAgICBpZiAoIXBhZ2VOYW1lKSB7XG4gICAgICB0aGlzLmlzT3BlbiA9IGZhbHNlO1xuICAgIH1cblxuICAgIC8vIGhhbmRsZSBwYWdlLW5hdmlnYXRpb24gY2xpY2tzXG4gICAgY29uc3QgbmV4dFBhZ2UgPSB0aGlzLnBhZ2VDb21wb25lbnRzLmZpbmQocCA9PiBwLm5hbWUgPT09IHBhZ2VOYW1lKTtcbiAgICBpZiAobmV4dFBhZ2UpIHtcbiAgICAgIG5leHRQYWdlLnZpc2libGUgPSB0cnVlO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImZ3ZS1tb2JpbGUtZmx5b3V0XCIgKGNsaWNrT3V0c2lkZSk9XCJpc09wZW4gPSBmYWxzZVwiIGZuZ0NsaWNrT3V0c2lkZT5cbiAgPGJ1dHRvbiBbY2xhc3MuZndlLWJ1cmdlci1idXR0b25dPVwiIWlzT3BlblwiIFtjbGFzcy5md2UtY2xvc2UtYnV0dG9uXT1cImlzT3BlblwiIChjbGljayk9XCJpc09wZW4gPSAhaXNPcGVuXCI+PC9idXR0b24+XG5cbiAgPGRpdiBjbGFzcz1cImZ3ZS1tb2JpbGUtZmx5b3V0LWNvbnRhaW5lclwiIFtjbGFzcy5md2Utb3BlbmVkXT1cImlzT3BlblwiPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { Component, ElementRef, EventEmitter, HostListener, Input, Output, ViewChild, ViewEncapsulation } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/common";
|
|
4
|
+
export class AlertComponent {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.close = new EventEmitter();
|
|
7
|
+
this.cancel = new EventEmitter();
|
|
8
|
+
this.ok = new EventEmitter();
|
|
9
|
+
}
|
|
10
|
+
onKeyUp(event) {
|
|
11
|
+
event.preventDefault();
|
|
12
|
+
event.stopPropagation();
|
|
13
|
+
if (event.key === 'Esc' || event.key === 'Escape') {
|
|
14
|
+
this.onClose();
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
ngAfterViewInit() {
|
|
18
|
+
if (this.closeBtn) {
|
|
19
|
+
this.closeBtn.nativeElement.focus();
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
onClose() {
|
|
23
|
+
this.close.emit();
|
|
24
|
+
}
|
|
25
|
+
onOk() {
|
|
26
|
+
this.ok.emit();
|
|
27
|
+
}
|
|
28
|
+
onCancel() {
|
|
29
|
+
this.cancel.emit();
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
AlertComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: AlertComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
33
|
+
AlertComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: AlertComponent, selector: "fng-alert", inputs: { data: "data" }, outputs: { close: "close", cancel: "cancel", ok: "ok" }, host: { listeners: { "window:keyup": "onKeyUp($event)" } }, viewQueries: [{ propertyName: "closeBtn", first: true, predicate: ["closeBtn"], descendants: true }], ngImport: i0, template: "<div\n class=\"fwe-modal\"\n [ngClass]=\"{\n 'fwe-modal--with-indicator-bar': data?.strong === true,\n 'fwe-modal--warning': data?.alertType === 'warning',\n 'fwe-modal--error': data?.alertType === 'error',\n 'fwe-modal--info': data?.alertType === 'info'\n }\"\n>\n <div class=\"fwe-modal-close\">\n <button type=\"button\" aria-label=\"Close\" #closeBtn class=\"fwe-btn fwe-btn-link fwe-dark\" (click)=\"onClose()\">\n <i aria-hidden=\"true\" class=\"fwe-icon fwe-icon-close-small\"></i>\n <span class=\"fwe-sr-only\">Close</span>\n </button>\n </div>\n <div class=\"fwe-modal-header\">\n <h2 *ngIf=\"data?.subtitle\" class=\"fwe-modal-h2\">\n <i\n [ngClass]=\"{\n 'fwe-icon': true,\n 'fwe-icon-status-warning': data?.alertType === 'warning',\n 'fwe-icon-status-failure': data?.alertType === 'error',\n 'fwe-icon-status-check-status': data?.alertType === 'info'\n }\"\n ></i\n >{{ data?.subtitle }}\n </h2>\n <h1 class=\"fwe-modal-h1\">\n <i\n [ngClass]=\"{\n 'fwe-icon': true,\n 'fwe-icon-status-warning': data?.alertType === 'warning',\n 'fwe-icon-status-failure': data?.alertType === 'error',\n 'fwe-icon-status-check-status': data?.alertType === 'info'\n }\"\n ></i\n >{{ data?.title }}\n </h1>\n </div>\n <div class=\"fwe-modal-body\">\n <p>{{ data?.body }}</p>\n </div>\n <div class=\"fwe-modal-footer\" *ngIf=\"data?.cancel || data?.ok\">\n <div class=\"fwe-modal-buttons\">\n <button\n *ngIf=\"data?.cancel\"\n type=\"button\"\n aria-label=\"Cancel\"\n class=\"fwe-btn fwe-btn-lg\"\n [class.fwe-btn-link]=\"data?.strong\"\n (click)=\"onCancel()\"\n >\n {{ data?.cancel }}\n </button>\n <button\n *ngIf=\"data?.ok\"\n type=\"button\"\n aria-label=\"Ok\"\n class=\"fwe-btn fwe-btn-lg\"\n [class.fwe-btn-hero]=\"!data?.strong\"\n (click)=\"onOk()\"\n >\n {{ data?.ok }}\n </button>\n </div>\n </div>\n</div>\n", styles: [""], directives: [{ type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
34
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: AlertComponent, decorators: [{
|
|
35
|
+
type: Component,
|
|
36
|
+
args: [{ selector: 'fng-alert', encapsulation: ViewEncapsulation.None, template: "<div\n class=\"fwe-modal\"\n [ngClass]=\"{\n 'fwe-modal--with-indicator-bar': data?.strong === true,\n 'fwe-modal--warning': data?.alertType === 'warning',\n 'fwe-modal--error': data?.alertType === 'error',\n 'fwe-modal--info': data?.alertType === 'info'\n }\"\n>\n <div class=\"fwe-modal-close\">\n <button type=\"button\" aria-label=\"Close\" #closeBtn class=\"fwe-btn fwe-btn-link fwe-dark\" (click)=\"onClose()\">\n <i aria-hidden=\"true\" class=\"fwe-icon fwe-icon-close-small\"></i>\n <span class=\"fwe-sr-only\">Close</span>\n </button>\n </div>\n <div class=\"fwe-modal-header\">\n <h2 *ngIf=\"data?.subtitle\" class=\"fwe-modal-h2\">\n <i\n [ngClass]=\"{\n 'fwe-icon': true,\n 'fwe-icon-status-warning': data?.alertType === 'warning',\n 'fwe-icon-status-failure': data?.alertType === 'error',\n 'fwe-icon-status-check-status': data?.alertType === 'info'\n }\"\n ></i\n >{{ data?.subtitle }}\n </h2>\n <h1 class=\"fwe-modal-h1\">\n <i\n [ngClass]=\"{\n 'fwe-icon': true,\n 'fwe-icon-status-warning': data?.alertType === 'warning',\n 'fwe-icon-status-failure': data?.alertType === 'error',\n 'fwe-icon-status-check-status': data?.alertType === 'info'\n }\"\n ></i\n >{{ data?.title }}\n </h1>\n </div>\n <div class=\"fwe-modal-body\">\n <p>{{ data?.body }}</p>\n </div>\n <div class=\"fwe-modal-footer\" *ngIf=\"data?.cancel || data?.ok\">\n <div class=\"fwe-modal-buttons\">\n <button\n *ngIf=\"data?.cancel\"\n type=\"button\"\n aria-label=\"Cancel\"\n class=\"fwe-btn fwe-btn-lg\"\n [class.fwe-btn-link]=\"data?.strong\"\n (click)=\"onCancel()\"\n >\n {{ data?.cancel }}\n </button>\n <button\n *ngIf=\"data?.ok\"\n type=\"button\"\n aria-label=\"Ok\"\n class=\"fwe-btn fwe-btn-lg\"\n [class.fwe-btn-hero]=\"!data?.strong\"\n (click)=\"onOk()\"\n >\n {{ data?.ok }}\n </button>\n </div>\n </div>\n</div>\n", styles: [""] }]
|
|
37
|
+
}], propDecorators: { data: [{
|
|
38
|
+
type: Input
|
|
39
|
+
}], close: [{
|
|
40
|
+
type: Output
|
|
41
|
+
}], cancel: [{
|
|
42
|
+
type: Output
|
|
43
|
+
}], ok: [{
|
|
44
|
+
type: Output
|
|
45
|
+
}], closeBtn: [{
|
|
46
|
+
type: ViewChild,
|
|
47
|
+
args: ['closeBtn']
|
|
48
|
+
}], onKeyUp: [{
|
|
49
|
+
type: HostListener,
|
|
50
|
+
args: ['window:keyup', ['$event']]
|
|
51
|
+
}] } });
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9tb2RhbHMvYWxlcnQvYWxlcnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9tb2RhbHMvYWxlcnQvYWxlcnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsRUFDVCxpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7OztBQW1CdkIsTUFBTSxPQUFPLGNBQWM7SUFOM0I7UUFRWSxVQUFLLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUNoQyxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUNqQyxPQUFFLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztLQStCeEM7SUExQkMsT0FBTyxDQUFDLEtBQW9CO1FBQzFCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFFeEIsSUFBSSxLQUFLLENBQUMsR0FBRyxLQUFLLEtBQUssSUFBSSxLQUFLLENBQUMsR0FBRyxLQUFLLFFBQVEsRUFBRTtZQUNqRCxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7U0FDaEI7SUFDSCxDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNoQixJQUFJLENBQUMsUUFBUSxDQUFDLGFBQTZCLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDdEQ7SUFDSCxDQUFDO0lBRUQsT0FBTztRQUNMLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUVELElBQUk7UUFDRixJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNyQixDQUFDOzsyR0FsQ1UsY0FBYzsrRkFBZCxjQUFjLHNTQzdCM0IsdWxFQW1FQTsyRkR0Q2EsY0FBYztrQkFOMUIsU0FBUzsrQkFDRSxXQUFXLGlCQUdOLGlCQUFpQixDQUFDLElBQUk7OEJBRzVCLElBQUk7c0JBQVosS0FBSztnQkFDSSxLQUFLO3NCQUFkLE1BQU07Z0JBQ0csTUFBTTtzQkFBZixNQUFNO2dCQUNHLEVBQUU7c0JBQVgsTUFBTTtnQkFFZ0IsUUFBUTtzQkFBOUIsU0FBUzt1QkFBQyxVQUFVO2dCQUdyQixPQUFPO3NCQUROLFlBQVk7dUJBQUMsY0FBYyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgVmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1vZGFsIH0gZnJvbSAnLi4vaW5kZXgnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFsZXJ0RGF0YSB7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIHN1YnRpdGxlPzogc3RyaW5nO1xuICBib2R5OiBzdHJpbmc7XG4gIGFsZXJ0VHlwZTogJ2luZm8nIHwgJ3dhcm5pbmcnIHwgJ2Vycm9yJztcbiAgY2FuY2VsPzogc3RyaW5nO1xuICBvaz86IHN0cmluZztcbiAgc3Ryb25nPzogYm9vbGVhbjtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZm5nLWFsZXJ0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FsZXJ0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYWxlcnQuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBBbGVydENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE1vZGFsPEFsZXJ0RGF0YSwgYW55PiB7XG4gIEBJbnB1dCgpIGRhdGE6IEFsZXJ0RGF0YTtcbiAgQE91dHB1dCgpIGNsb3NlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBjYW5jZWwgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIG9rID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgQFZpZXdDaGlsZCgnY2xvc2VCdG4nKSBjbG9zZUJ0bjogRWxlbWVudFJlZjtcblxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6a2V5dXAnLCBbJyRldmVudCddKVxuICBvbktleVVwKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgIGlmIChldmVudC5rZXkgPT09ICdFc2MnIHx8IGV2ZW50LmtleSA9PT0gJ0VzY2FwZScpIHtcbiAgICAgIHRoaXMub25DbG9zZSgpO1xuICAgIH1cbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBpZiAodGhpcy5jbG9zZUJ0bikge1xuICAgICAgKHRoaXMuY2xvc2VCdG4ubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudCkuZm9jdXMoKTtcbiAgICB9XG4gIH1cblxuICBvbkNsb3NlKCkge1xuICAgIHRoaXMuY2xvc2UuZW1pdCgpO1xuICB9XG5cbiAgb25PaygpIHtcbiAgICB0aGlzLm9rLmVtaXQoKTtcbiAgfVxuXG4gIG9uQ2FuY2VsKCkge1xuICAgIHRoaXMuY2FuY2VsLmVtaXQoKTtcbiAgfVxufVxuIiwiPGRpdlxuICBjbGFzcz1cImZ3ZS1tb2RhbFwiXG4gIFtuZ0NsYXNzXT1cIntcbiAgICAnZndlLW1vZGFsLS13aXRoLWluZGljYXRvci1iYXInOiBkYXRhPy5zdHJvbmcgPT09IHRydWUsXG4gICAgJ2Z3ZS1tb2RhbC0td2FybmluZyc6IGRhdGE/LmFsZXJ0VHlwZSA9PT0gJ3dhcm5pbmcnLFxuICAgICdmd2UtbW9kYWwtLWVycm9yJzogZGF0YT8uYWxlcnRUeXBlID09PSAnZXJyb3InLFxuICAgICdmd2UtbW9kYWwtLWluZm8nOiBkYXRhPy5hbGVydFR5cGUgPT09ICdpbmZvJ1xuICB9XCJcbj5cbiAgPGRpdiBjbGFzcz1cImZ3ZS1tb2RhbC1jbG9zZVwiPlxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGFyaWEtbGFiZWw9XCJDbG9zZVwiICNjbG9zZUJ0biBjbGFzcz1cImZ3ZS1idG4gZndlLWJ0bi1saW5rIGZ3ZS1kYXJrXCIgKGNsaWNrKT1cIm9uQ2xvc2UoKVwiPlxuICAgICAgPGkgYXJpYS1oaWRkZW49XCJ0cnVlXCIgY2xhc3M9XCJmd2UtaWNvbiBmd2UtaWNvbi1jbG9zZS1zbWFsbFwiPjwvaT5cbiAgICAgIDxzcGFuIGNsYXNzPVwiZndlLXNyLW9ubHlcIj5DbG9zZTwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJmd2UtbW9kYWwtaGVhZGVyXCI+XG4gICAgPGgyICpuZ0lmPVwiZGF0YT8uc3VidGl0bGVcIiBjbGFzcz1cImZ3ZS1tb2RhbC1oMlwiPlxuICAgICAgPGlcbiAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICdmd2UtaWNvbic6IHRydWUsXG4gICAgICAgICAgJ2Z3ZS1pY29uLXN0YXR1cy13YXJuaW5nJzogZGF0YT8uYWxlcnRUeXBlID09PSAnd2FybmluZycsXG4gICAgICAgICAgJ2Z3ZS1pY29uLXN0YXR1cy1mYWlsdXJlJzogZGF0YT8uYWxlcnRUeXBlID09PSAnZXJyb3InLFxuICAgICAgICAgICdmd2UtaWNvbi1zdGF0dXMtY2hlY2stc3RhdHVzJzogZGF0YT8uYWxlcnRUeXBlID09PSAnaW5mbydcbiAgICAgICAgfVwiXG4gICAgICA+PC9pXG4gICAgICA+e3sgZGF0YT8uc3VidGl0bGUgfX1cbiAgICA8L2gyPlxuICAgIDxoMSBjbGFzcz1cImZ3ZS1tb2RhbC1oMVwiPlxuICAgICAgPGlcbiAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICdmd2UtaWNvbic6IHRydWUsXG4gICAgICAgICAgJ2Z3ZS1pY29uLXN0YXR1cy13YXJuaW5nJzogZGF0YT8uYWxlcnRUeXBlID09PSAnd2FybmluZycsXG4gICAgICAgICAgJ2Z3ZS1pY29uLXN0YXR1cy1mYWlsdXJlJzogZGF0YT8uYWxlcnRUeXBlID09PSAnZXJyb3InLFxuICAgICAgICAgICdmd2UtaWNvbi1zdGF0dXMtY2hlY2stc3RhdHVzJzogZGF0YT8uYWxlcnRUeXBlID09PSAnaW5mbydcbiAgICAgICAgfVwiXG4gICAgICA+PC9pXG4gICAgICA+e3sgZGF0YT8udGl0bGUgfX1cbiAgICA8L2gxPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImZ3ZS1tb2RhbC1ib2R5XCI+XG4gICAgPHA+e3sgZGF0YT8uYm9keSB9fTwvcD5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJmd2UtbW9kYWwtZm9vdGVyXCIgKm5nSWY9XCJkYXRhPy5jYW5jZWwgfHwgZGF0YT8ub2tcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZndlLW1vZGFsLWJ1dHRvbnNcIj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgKm5nSWY9XCJkYXRhPy5jYW5jZWxcIlxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgYXJpYS1sYWJlbD1cIkNhbmNlbFwiXG4gICAgICAgIGNsYXNzPVwiZndlLWJ0biBmd2UtYnRuLWxnXCJcbiAgICAgICAgW2NsYXNzLmZ3ZS1idG4tbGlua109XCJkYXRhPy5zdHJvbmdcIlxuICAgICAgICAoY2xpY2spPVwib25DYW5jZWwoKVwiXG4gICAgICA+XG4gICAgICAgIHt7IGRhdGE/LmNhbmNlbCB9fVxuICAgICAgPC9idXR0b24+XG4gICAgICA8YnV0dG9uXG4gICAgICAgICpuZ0lmPVwiZGF0YT8ub2tcIlxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgYXJpYS1sYWJlbD1cIk9rXCJcbiAgICAgICAgY2xhc3M9XCJmd2UtYnRuIGZ3ZS1idG4tbGdcIlxuICAgICAgICBbY2xhc3MuZndlLWJ0bi1oZXJvXT1cIiFkYXRhPy5zdHJvbmdcIlxuICAgICAgICAoY2xpY2spPVwib25PaygpXCJcbiAgICAgID5cbiAgICAgICAge3sgZGF0YT8ub2sgfX1cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, HostListener, Input, Output, ViewChild, ViewEncapsulation } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/common";
|
|
4
|
+
export class ConfirmComponent {
|
|
5
|
+
constructor(cd) {
|
|
6
|
+
this.cd = cd;
|
|
7
|
+
this.close = new EventEmitter();
|
|
8
|
+
this.cancel = new EventEmitter();
|
|
9
|
+
this.ok = new EventEmitter();
|
|
10
|
+
}
|
|
11
|
+
onKeyUp(event) {
|
|
12
|
+
event.preventDefault();
|
|
13
|
+
event.stopPropagation();
|
|
14
|
+
if (event.key === 'Esc' || event.key === 'Escape') {
|
|
15
|
+
this.onClose();
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
ngAfterViewInit() {
|
|
19
|
+
if (this.closeBtn) {
|
|
20
|
+
this.closeBtn.nativeElement.focus();
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
onClose() {
|
|
24
|
+
this.close.emit();
|
|
25
|
+
}
|
|
26
|
+
onOk() {
|
|
27
|
+
this.ok.emit();
|
|
28
|
+
}
|
|
29
|
+
onCancel() {
|
|
30
|
+
this.cancel.emit();
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
ConfirmComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ConfirmComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
34
|
+
ConfirmComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: ConfirmComponent, selector: "fng-confirm", inputs: { data: "data" }, outputs: { close: "close", cancel: "cancel", ok: "ok" }, host: { listeners: { "window:keyup": "onKeyUp($event)" } }, viewQueries: [{ propertyName: "closeBtn", first: true, predicate: ["closeBtn"], descendants: true }], ngImport: i0, template: "<div class=\"fwe-modal\" [ngClass]=\"{ 'fwe-modal--large': data?.large }\">\n <div class=\"fwe-modal-close\">\n <button type=\"button\" aria-label=\"Close\" #closeBtn class=\"fwe-btn fwe-btn-link fwe-dark\" (click)=\"onClose()\">\n <i aria-hidden=\"true\" class=\"fwe-icon fwe-icon-close-small\"></i>\n <span class=\"fwe-sr-only\">Close</span>\n </button>\n </div>\n <div class=\"fwe-modal-header\">\n <h2 *ngIf=\"data?.subtitle\" class=\"fwe-modal-h2\">{{ data?.subtitle }}</h2>\n <h1 class=\"fwe-modal-h1\">{{ data?.title }}</h1>\n </div>\n <div class=\"fwe-modal-body\">\n <p>{{ data?.body }}</p>\n </div>\n <div class=\"fwe-modal-footer\" *ngIf=\"data?.cancel || data?.ok\">\n <div class=\"fwe-modal-buttons\">\n <button *ngIf=\"data?.cancel\" type=\"button\" aria-label=\"Cancel\" class=\"fwe-btn fwe-btn-lg\" (click)=\"onCancel()\">\n {{ data?.cancel }}\n </button>\n <button *ngIf=\"data?.ok\" type=\"button\" aria-label=\"Ok\" class=\"fwe-btn fwe-btn-lg fwe-btn-hero\" (click)=\"onOk()\">\n {{ data?.ok }}\n </button>\n </div>\n </div>\n</div>\n", styles: [""], directives: [{ type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
35
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ConfirmComponent, decorators: [{
|
|
36
|
+
type: Component,
|
|
37
|
+
args: [{ selector: 'fng-confirm', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div class=\"fwe-modal\" [ngClass]=\"{ 'fwe-modal--large': data?.large }\">\n <div class=\"fwe-modal-close\">\n <button type=\"button\" aria-label=\"Close\" #closeBtn class=\"fwe-btn fwe-btn-link fwe-dark\" (click)=\"onClose()\">\n <i aria-hidden=\"true\" class=\"fwe-icon fwe-icon-close-small\"></i>\n <span class=\"fwe-sr-only\">Close</span>\n </button>\n </div>\n <div class=\"fwe-modal-header\">\n <h2 *ngIf=\"data?.subtitle\" class=\"fwe-modal-h2\">{{ data?.subtitle }}</h2>\n <h1 class=\"fwe-modal-h1\">{{ data?.title }}</h1>\n </div>\n <div class=\"fwe-modal-body\">\n <p>{{ data?.body }}</p>\n </div>\n <div class=\"fwe-modal-footer\" *ngIf=\"data?.cancel || data?.ok\">\n <div class=\"fwe-modal-buttons\">\n <button *ngIf=\"data?.cancel\" type=\"button\" aria-label=\"Cancel\" class=\"fwe-btn fwe-btn-lg\" (click)=\"onCancel()\">\n {{ data?.cancel }}\n </button>\n <button *ngIf=\"data?.ok\" type=\"button\" aria-label=\"Ok\" class=\"fwe-btn fwe-btn-lg fwe-btn-hero\" (click)=\"onOk()\">\n {{ data?.ok }}\n </button>\n </div>\n </div>\n</div>\n", styles: [""] }]
|
|
38
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { data: [{
|
|
39
|
+
type: Input
|
|
40
|
+
}], close: [{
|
|
41
|
+
type: Output
|
|
42
|
+
}], cancel: [{
|
|
43
|
+
type: Output
|
|
44
|
+
}], ok: [{
|
|
45
|
+
type: Output
|
|
46
|
+
}], closeBtn: [{
|
|
47
|
+
type: ViewChild,
|
|
48
|
+
args: ['closeBtn']
|
|
49
|
+
}], onKeyUp: [{
|
|
50
|
+
type: HostListener,
|
|
51
|
+
args: ['window:keyup', ['$event']]
|
|
52
|
+
}] } });
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL21vZGFscy9jb25maXJtL2NvbmZpcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9tb2RhbHMvY29uZmlybS9jb25maXJtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsRUFDVCxpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7OztBQW9CdkIsTUFBTSxPQUFPLGdCQUFnQjtJQWtCM0IsWUFBb0IsRUFBcUI7UUFBckIsT0FBRSxHQUFGLEVBQUUsQ0FBbUI7UUFoQi9CLFVBQUssR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ2hDLFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ2pDLE9BQUUsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0lBY0ssQ0FBQztJQVQ3QyxPQUFPLENBQUMsS0FBb0I7UUFDMUIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUV4QixJQUFJLEtBQUssQ0FBQyxHQUFHLEtBQUssS0FBSyxJQUFJLEtBQUssQ0FBQyxHQUFHLEtBQUssUUFBUSxFQUFFO1lBQ2pELElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztTQUNoQjtJQUNILENBQUM7SUFJRCxlQUFlO1FBQ2IsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2hCLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBNkIsQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUN0RDtJQUNILENBQUM7SUFFRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBRUQsSUFBSTtRQUNGLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3JCLENBQUM7OzZHQXBDVSxnQkFBZ0I7aUdBQWhCLGdCQUFnQix3U0NoQzdCLHdtQ0F5QkE7MkZET2EsZ0JBQWdCO2tCQVA1QixTQUFTOytCQUNFLGFBQWEsbUJBR04sdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSTt3R0FHNUIsSUFBSTtzQkFBWixLQUFLO2dCQUNJLEtBQUs7c0JBQWQsTUFBTTtnQkFDRyxNQUFNO3NCQUFmLE1BQU07Z0JBQ0csRUFBRTtzQkFBWCxNQUFNO2dCQUVnQixRQUFRO3NCQUE5QixTQUFTO3VCQUFDLFVBQVU7Z0JBR3JCLE9BQU87c0JBRE4sWUFBWTt1QkFBQyxjQUFjLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE1vZGFsIH0gZnJvbSAnLi4vaW5kZXgnO1xuXG5leHBvcnQgaW50ZXJmYWNlIENvbmZpcm1EYXRhIHtcbiAgdGl0bGU6IHN0cmluZztcbiAgc3VidGl0bGU/OiBzdHJpbmc7XG4gIGJvZHk6IHN0cmluZztcbiAgY2FuY2VsPzogc3RyaW5nO1xuICBvaz86IHN0cmluZztcbiAgbGFyZ2U/OiBib29sZWFuO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmbmctY29uZmlybScsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb25maXJtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY29uZmlybS5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBDb25maXJtQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgTW9kYWw8Q29uZmlybURhdGEsIGFueT4ge1xuICBASW5wdXQoKSBkYXRhOiBDb25maXJtRGF0YTtcbiAgQE91dHB1dCgpIGNsb3NlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBjYW5jZWwgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIG9rID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgQFZpZXdDaGlsZCgnY2xvc2VCdG4nKSBjbG9zZUJ0bjogRWxlbWVudFJlZjtcblxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6a2V5dXAnLCBbJyRldmVudCddKVxuICBvbktleVVwKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgIGlmIChldmVudC5rZXkgPT09ICdFc2MnIHx8IGV2ZW50LmtleSA9PT0gJ0VzY2FwZScpIHtcbiAgICAgIHRoaXMub25DbG9zZSgpO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2Q6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBpZiAodGhpcy5jbG9zZUJ0bikge1xuICAgICAgKHRoaXMuY2xvc2VCdG4ubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudCkuZm9jdXMoKTtcbiAgICB9XG4gIH1cblxuICBvbkNsb3NlKCkge1xuICAgIHRoaXMuY2xvc2UuZW1pdCgpO1xuICB9XG5cbiAgb25PaygpIHtcbiAgICB0aGlzLm9rLmVtaXQoKTtcbiAgfVxuXG4gIG9uQ2FuY2VsKCkge1xuICAgIHRoaXMuY2FuY2VsLmVtaXQoKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImZ3ZS1tb2RhbFwiIFtuZ0NsYXNzXT1cInsgJ2Z3ZS1tb2RhbC0tbGFyZ2UnOiBkYXRhPy5sYXJnZSB9XCI+XG4gIDxkaXYgY2xhc3M9XCJmd2UtbW9kYWwtY2xvc2VcIj5cbiAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBhcmlhLWxhYmVsPVwiQ2xvc2VcIiAjY2xvc2VCdG4gY2xhc3M9XCJmd2UtYnRuIGZ3ZS1idG4tbGluayBmd2UtZGFya1wiIChjbGljayk9XCJvbkNsb3NlKClcIj5cbiAgICAgIDxpIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIGNsYXNzPVwiZndlLWljb24gZndlLWljb24tY2xvc2Utc21hbGxcIj48L2k+XG4gICAgICA8c3BhbiBjbGFzcz1cImZ3ZS1zci1vbmx5XCI+Q2xvc2U8L3NwYW4+XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiZndlLW1vZGFsLWhlYWRlclwiPlxuICAgIDxoMiAqbmdJZj1cImRhdGE/LnN1YnRpdGxlXCIgY2xhc3M9XCJmd2UtbW9kYWwtaDJcIj57eyBkYXRhPy5zdWJ0aXRsZSB9fTwvaDI+XG4gICAgPGgxIGNsYXNzPVwiZndlLW1vZGFsLWgxXCI+e3sgZGF0YT8udGl0bGUgfX08L2gxPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImZ3ZS1tb2RhbC1ib2R5XCI+XG4gICAgPHA+e3sgZGF0YT8uYm9keSB9fTwvcD5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJmd2UtbW9kYWwtZm9vdGVyXCIgKm5nSWY9XCJkYXRhPy5jYW5jZWwgfHwgZGF0YT8ub2tcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZndlLW1vZGFsLWJ1dHRvbnNcIj5cbiAgICAgIDxidXR0b24gKm5nSWY9XCJkYXRhPy5jYW5jZWxcIiB0eXBlPVwiYnV0dG9uXCIgYXJpYS1sYWJlbD1cIkNhbmNlbFwiIGNsYXNzPVwiZndlLWJ0biBmd2UtYnRuLWxnXCIgKGNsaWNrKT1cIm9uQ2FuY2VsKClcIj5cbiAgICAgICAge3sgZGF0YT8uY2FuY2VsIH19XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxidXR0b24gKm5nSWY9XCJkYXRhPy5va1wiIHR5cGU9XCJidXR0b25cIiBhcmlhLWxhYmVsPVwiT2tcIiBjbGFzcz1cImZ3ZS1idG4gZndlLWJ0bi1sZyBmd2UtYnRuLWhlcm9cIiAoY2xpY2spPVwib25PaygpXCI+XG4gICAgICAgIHt7IGRhdGE/Lm9rIH19XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "../../buttons/button/button.component";
|
|
4
|
+
import * as i2 from "@angular/common";
|
|
5
|
+
export class CustomModalComponent {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.closeOnBackdrop = false;
|
|
8
|
+
this.large = false;
|
|
9
|
+
this.visible = false;
|
|
10
|
+
this.visibleChange = new EventEmitter(false);
|
|
11
|
+
this.header = '';
|
|
12
|
+
this.subheader = '';
|
|
13
|
+
this.acknowledgeLabel = 'Ok';
|
|
14
|
+
this.acknowledge = new EventEmitter();
|
|
15
|
+
this.cancelLabel = 'Cancel';
|
|
16
|
+
this.cancel = new EventEmitter();
|
|
17
|
+
}
|
|
18
|
+
closeModal() {
|
|
19
|
+
this.visible = false;
|
|
20
|
+
if (this.visibleChange) {
|
|
21
|
+
this.visibleChange.emit(false);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
onCancel() {
|
|
25
|
+
this.closeModal();
|
|
26
|
+
if (this.cancel) {
|
|
27
|
+
this.cancel.emit();
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
onAcknowledge() {
|
|
31
|
+
if (this.acknowledge) {
|
|
32
|
+
this.acknowledge.emit();
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
onClickOutside() {
|
|
36
|
+
if (this.closeOnBackdrop) {
|
|
37
|
+
this.onCancel();
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
onClickInside(event) {
|
|
41
|
+
event.stopPropagation();
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
CustomModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: CustomModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
45
|
+
CustomModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: CustomModalComponent, selector: "fng-custom-modal", inputs: { closeOnBackdrop: "closeOnBackdrop", large: "large", visible: "visible", header: "header", subheader: "subheader", acknowledgeLabel: "acknowledgeLabel", cancelLabel: "cancelLabel" }, outputs: { visibleChange: "visibleChange", acknowledge: "acknowledge", cancel: "cancel" }, ngImport: i0, template: "<div class=\"fwe-modal-backdrop\" *ngIf=\"visible\" (mousedown)=\"onClickOutside()\">\n <div class=\"fwe-modal\" [class.fwe-modal--large]=\"large\" (mousedown)=\"onClickInside($event)\">\n <div class=\"fwe-modal-close\">\n <button class=\"fwe-btn fwe-btn-link fwe-dark\" (click)=\"onCancel()\">\n <i class=\"fwe-icon fwe-icon-2x fwe-icon-close-small\"></i>\n </button>\n </div>\n <div class=\"fwe-modal-header\">\n <h2 class=\"fwe-modal-h2\" *ngIf=\"subheader?.length\">{{ subheader }}</h2>\n <h1 class=\"fwe-modal-h1\">{{ header }}</h1>\n </div>\n <div class=\"fwe-modal-body\">\n <ng-content></ng-content>\n </div>\n <div class=\"fwe-modal-footer\">\n <div class=\"fwe-modal-buttons\">\n <fng-button [large]=\"true\" (click)=\"onCancel()\">{{ cancelLabel }}</fng-button>\n <fng-button [large]=\"true\" (click)=\"onAcknowledge()\" [primary]=\"true\">{{ acknowledgeLabel }}</fng-button>\n </div>\n </div>\n </div>\n</div>\n", components: [{ type: i1.ButtonComponent, selector: "fng-button", inputs: ["text", "icon", "disabled", "primary", "iconOnly", "large"], outputs: ["fngClick"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
46
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: CustomModalComponent, decorators: [{
|
|
47
|
+
type: Component,
|
|
48
|
+
args: [{ selector: 'fng-custom-modal', template: "<div class=\"fwe-modal-backdrop\" *ngIf=\"visible\" (mousedown)=\"onClickOutside()\">\n <div class=\"fwe-modal\" [class.fwe-modal--large]=\"large\" (mousedown)=\"onClickInside($event)\">\n <div class=\"fwe-modal-close\">\n <button class=\"fwe-btn fwe-btn-link fwe-dark\" (click)=\"onCancel()\">\n <i class=\"fwe-icon fwe-icon-2x fwe-icon-close-small\"></i>\n </button>\n </div>\n <div class=\"fwe-modal-header\">\n <h2 class=\"fwe-modal-h2\" *ngIf=\"subheader?.length\">{{ subheader }}</h2>\n <h1 class=\"fwe-modal-h1\">{{ header }}</h1>\n </div>\n <div class=\"fwe-modal-body\">\n <ng-content></ng-content>\n </div>\n <div class=\"fwe-modal-footer\">\n <div class=\"fwe-modal-buttons\">\n <fng-button [large]=\"true\" (click)=\"onCancel()\">{{ cancelLabel }}</fng-button>\n <fng-button [large]=\"true\" (click)=\"onAcknowledge()\" [primary]=\"true\">{{ acknowledgeLabel }}</fng-button>\n </div>\n </div>\n </div>\n</div>\n" }]
|
|
49
|
+
}], propDecorators: { closeOnBackdrop: [{
|
|
50
|
+
type: Input
|
|
51
|
+
}], large: [{
|
|
52
|
+
type: Input
|
|
53
|
+
}], visible: [{
|
|
54
|
+
type: Input
|
|
55
|
+
}], visibleChange: [{
|
|
56
|
+
type: Output
|
|
57
|
+
}], header: [{
|
|
58
|
+
type: Input
|
|
59
|
+
}], subheader: [{
|
|
60
|
+
type: Input
|
|
61
|
+
}], acknowledgeLabel: [{
|
|
62
|
+
type: Input
|
|
63
|
+
}], acknowledge: [{
|
|
64
|
+
type: Output
|
|
65
|
+
}], cancelLabel: [{
|
|
66
|
+
type: Input
|
|
67
|
+
}], cancel: [{
|
|
68
|
+
type: Output
|
|
69
|
+
}] } });
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLW1vZGFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvbW9kYWxzL2N1c3RvbS1tb2RhbC9jdXN0b20tbW9kYWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9tb2RhbHMvY3VzdG9tLW1vZGFsL2N1c3RvbS1tb2RhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBTXZFLE1BQU0sT0FBTyxvQkFBb0I7SUFKakM7UUFLVyxvQkFBZSxHQUFZLEtBQUssQ0FBQztRQUNqQyxVQUFLLEdBQVksS0FBSyxDQUFDO1FBQ3ZCLFlBQU8sR0FBWSxLQUFLLENBQUM7UUFDeEIsa0JBQWEsR0FBRyxJQUFJLFlBQVksQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUVsRCxXQUFNLEdBQVcsRUFBRSxDQUFDO1FBQ3BCLGNBQVMsR0FBVyxFQUFFLENBQUM7UUFFdkIscUJBQWdCLEdBQVcsSUFBSSxDQUFDO1FBQy9CLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUV4QyxnQkFBVyxHQUFXLFFBQVEsQ0FBQztRQUM5QixXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztLQStCN0M7SUE3QkMsVUFBVTtRQUNSLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUN0QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNoQztJQUNILENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ2xCLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNmLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDcEI7SUFDSCxDQUFDO0lBRUQsYUFBYTtRQUNYLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNwQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO1NBQ3pCO0lBQ0gsQ0FBQztJQUVELGNBQWM7UUFDWixJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDeEIsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1NBQ2pCO0lBQ0gsQ0FBQztJQUVELGFBQWEsQ0FBQyxLQUFpQjtRQUM3QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDMUIsQ0FBQzs7aUhBM0NVLG9CQUFvQjtxR0FBcEIsb0JBQW9CLG1WQ05qQywrK0JBc0JBOzJGRGhCYSxvQkFBb0I7a0JBSmhDLFNBQVM7K0JBQ0Usa0JBQWtCOzhCQUluQixlQUFlO3NCQUF2QixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0ksYUFBYTtzQkFBdEIsTUFBTTtnQkFFRSxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFFRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0ksV0FBVztzQkFBcEIsTUFBTTtnQkFFRSxXQUFXO3NCQUFuQixLQUFLO2dCQUNJLE1BQU07c0JBQWYsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2ZuZy1jdXN0b20tbW9kYWwnLFxuICB0ZW1wbGF0ZVVybDogJy4vY3VzdG9tLW1vZGFsLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBDdXN0b21Nb2RhbENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGNsb3NlT25CYWNrZHJvcDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBsYXJnZTogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSB2aXNpYmxlOiBib29sZWFuID0gZmFsc2U7XG4gIEBPdXRwdXQoKSB2aXNpYmxlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPihmYWxzZSk7XG5cbiAgQElucHV0KCkgaGVhZGVyOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgc3ViaGVhZGVyOiBzdHJpbmcgPSAnJztcblxuICBASW5wdXQoKSBhY2tub3dsZWRnZUxhYmVsOiBzdHJpbmcgPSAnT2snO1xuICBAT3V0cHV0KCkgYWNrbm93bGVkZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgQElucHV0KCkgY2FuY2VsTGFiZWw6IHN0cmluZyA9ICdDYW5jZWwnO1xuICBAT3V0cHV0KCkgY2FuY2VsID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIGNsb3NlTW9kYWwoKTogdm9pZCB7XG4gICAgdGhpcy52aXNpYmxlID0gZmFsc2U7XG4gICAgaWYgKHRoaXMudmlzaWJsZUNoYW5nZSkge1xuICAgICAgdGhpcy52aXNpYmxlQ2hhbmdlLmVtaXQoZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIG9uQ2FuY2VsKCk6IHZvaWQge1xuICAgIHRoaXMuY2xvc2VNb2RhbCgpO1xuICAgIGlmICh0aGlzLmNhbmNlbCkge1xuICAgICAgdGhpcy5jYW5jZWwuZW1pdCgpO1xuICAgIH1cbiAgfVxuXG4gIG9uQWNrbm93bGVkZ2UoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuYWNrbm93bGVkZ2UpIHtcbiAgICAgIHRoaXMuYWNrbm93bGVkZ2UuZW1pdCgpO1xuICAgIH1cbiAgfVxuXG4gIG9uQ2xpY2tPdXRzaWRlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmNsb3NlT25CYWNrZHJvcCkge1xuICAgICAgdGhpcy5vbkNhbmNlbCgpO1xuICAgIH1cbiAgfVxuXG4gIG9uQ2xpY2tJbnNpZGUoZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImZ3ZS1tb2RhbC1iYWNrZHJvcFwiICpuZ0lmPVwidmlzaWJsZVwiIChtb3VzZWRvd24pPVwib25DbGlja091dHNpZGUoKVwiPlxuICA8ZGl2IGNsYXNzPVwiZndlLW1vZGFsXCIgW2NsYXNzLmZ3ZS1tb2RhbC0tbGFyZ2VdPVwibGFyZ2VcIiAobW91c2Vkb3duKT1cIm9uQ2xpY2tJbnNpZGUoJGV2ZW50KVwiPlxuICAgIDxkaXYgY2xhc3M9XCJmd2UtbW9kYWwtY2xvc2VcIj5cbiAgICAgIDxidXR0b24gY2xhc3M9XCJmd2UtYnRuIGZ3ZS1idG4tbGluayBmd2UtZGFya1wiIChjbGljayk9XCJvbkNhbmNlbCgpXCI+XG4gICAgICAgIDxpIGNsYXNzPVwiZndlLWljb24gZndlLWljb24tMnggZndlLWljb24tY2xvc2Utc21hbGxcIj48L2k+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiZndlLW1vZGFsLWhlYWRlclwiPlxuICAgICAgPGgyIGNsYXNzPVwiZndlLW1vZGFsLWgyXCIgKm5nSWY9XCJzdWJoZWFkZXI/Lmxlbmd0aFwiPnt7IHN1YmhlYWRlciB9fTwvaDI+XG4gICAgICA8aDEgY2xhc3M9XCJmd2UtbW9kYWwtaDFcIj57eyBoZWFkZXIgfX08L2gxPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJmd2UtbW9kYWwtYm9keVwiPlxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJmd2UtbW9kYWwtZm9vdGVyXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZndlLW1vZGFsLWJ1dHRvbnNcIj5cbiAgICAgICAgPGZuZy1idXR0b24gW2xhcmdlXT1cInRydWVcIiAoY2xpY2spPVwib25DYW5jZWwoKVwiPnt7IGNhbmNlbExhYmVsIH19PC9mbmctYnV0dG9uPlxuICAgICAgICA8Zm5nLWJ1dHRvbiBbbGFyZ2VdPVwidHJ1ZVwiIChjbGljayk9XCJvbkFja25vd2xlZGdlKClcIiBbcHJpbWFyeV09XCJ0cnVlXCI+e3sgYWNrbm93bGVkZ2VMYWJlbCB9fTwvZm5nLWJ1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL21vZGFscy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXZlbnRFbWl0dGVyLCBPbkNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEdsb2JhbFBvc2l0aW9uU3RyYXRlZ3kgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5cbmV4cG9ydCB0eXBlIE1vZGFsVXNlckFjdGlvbiA9ICdvaycgfCAnY2FuY2VsJyB8ICdjbG9zZScgfCAnYmFja2Ryb3AnIHwgJ25hdmlnYXRlZCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTW9kYWw8VERhdGEsIFRSZXN1bHQ+IGV4dGVuZHMgUGFydGlhbDxPbkNoYW5nZXM+IHtcbiAgZGF0YTogVERhdGE7XG4gIGNsb3NlOiBFdmVudEVtaXR0ZXI8YW55PjtcbiAgY2FuY2VsOiBFdmVudEVtaXR0ZXI8YW55PjtcbiAgb2s6IEV2ZW50RW1pdHRlcjxUUmVzdWx0Pjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNb2RhbE9wdGlvbnMge1xuICBoYXNCYWNrZHJvcD86IGJvb2xlYW47XG4gIHNob3VsZENsb3NlT25CYWNrZHJvcD86IGJvb2xlYW47XG4gIGJhY2tkcm9wQ2xhc3M/OiBzdHJpbmc7XG4gIHBvc2l0aW9uU3RyYXRlZ3k/OiBHbG9iYWxQb3NpdGlvblN0cmF0ZWd5O1xuICBvdmVybGF5Q2xhc3M/OiBzdHJpbmc7XG4gIGNsb3NlT25OYXZpZ2F0aW9uPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNb2RhbFJlc3VsdDxUUmVzdWx0PiB7XG4gIHVzZXJBY3Rpb246IE1vZGFsVXNlckFjdGlvbjtcbiAgcmVzdWx0PzogVFJlc3VsdDtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import { Injectable, SimpleChange } from '@angular/core';
|
|
2
|
+
import { NavigationStart, Router } from '@angular/router';
|
|
3
|
+
import { Overlay } from '@angular/cdk/overlay';
|
|
4
|
+
import { ComponentPortal } from '@angular/cdk/portal';
|
|
5
|
+
import { filter, takeUntil } from 'rxjs/operators';
|
|
6
|
+
import { AlertComponent } from './alert/alert.component';
|
|
7
|
+
import { ConfirmComponent } from './confirm/confirm.component';
|
|
8
|
+
import { Subject } from 'rxjs';
|
|
9
|
+
import { PromptComponent } from './prompt/prompt.component';
|
|
10
|
+
import { ImageGalleryComponent } from '../image-gallery/image-gallery.component';
|
|
11
|
+
import * as i0 from "@angular/core";
|
|
12
|
+
import * as i1 from "@angular/cdk/overlay";
|
|
13
|
+
import * as i2 from "@angular/router";
|
|
14
|
+
export class ModalService {
|
|
15
|
+
constructor(overlay, router) {
|
|
16
|
+
this.overlay = overlay;
|
|
17
|
+
this.router = router;
|
|
18
|
+
}
|
|
19
|
+
alert(data, options) {
|
|
20
|
+
return this.open(data, AlertComponent, {
|
|
21
|
+
backdropClass: 'fwe-modal-backdrop',
|
|
22
|
+
hasBackdrop: true,
|
|
23
|
+
shouldCloseOnBackdrop: true,
|
|
24
|
+
...options
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
confirm(data, options) {
|
|
28
|
+
options = options || {
|
|
29
|
+
backdropClass: 'fwe-modal-backdrop',
|
|
30
|
+
hasBackdrop: true,
|
|
31
|
+
shouldCloseOnBackdrop: true,
|
|
32
|
+
...options
|
|
33
|
+
};
|
|
34
|
+
return this.open(data, ConfirmComponent, options);
|
|
35
|
+
}
|
|
36
|
+
prompt(data, options) {
|
|
37
|
+
options = options || {
|
|
38
|
+
backdropClass: 'fwe-modal-backdrop',
|
|
39
|
+
hasBackdrop: true,
|
|
40
|
+
shouldCloseOnBackdrop: true,
|
|
41
|
+
...options
|
|
42
|
+
};
|
|
43
|
+
return this.open(data, PromptComponent, options);
|
|
44
|
+
}
|
|
45
|
+
openImageGallery(data) {
|
|
46
|
+
const options = {
|
|
47
|
+
backdropClass: 'fwe-modal-backdrop',
|
|
48
|
+
hasBackdrop: true,
|
|
49
|
+
shouldCloseOnBackdrop: true
|
|
50
|
+
};
|
|
51
|
+
return this.open(data, ImageGalleryComponent, options);
|
|
52
|
+
}
|
|
53
|
+
open(data, modal, options) {
|
|
54
|
+
return new Promise((resolve, reject) => {
|
|
55
|
+
const complete = new Subject();
|
|
56
|
+
const positionStrategy = options.positionStrategy || this.overlay.position().global().centerHorizontally().centerVertically();
|
|
57
|
+
const scrollStrategy = this.overlay.scrollStrategies.block();
|
|
58
|
+
const overlayRef = this.overlay.create({
|
|
59
|
+
panelClass: options.overlayClass,
|
|
60
|
+
positionStrategy,
|
|
61
|
+
scrollStrategy,
|
|
62
|
+
backdropClass: 'fwe-modal-backdrop',
|
|
63
|
+
hasBackdrop: true,
|
|
64
|
+
...options
|
|
65
|
+
});
|
|
66
|
+
if (options.closeOnNavigation) {
|
|
67
|
+
this.router.events
|
|
68
|
+
.pipe(filter(e => e instanceof NavigationStart), takeUntil(complete))
|
|
69
|
+
.subscribe(() => this.dispose(overlayRef, complete).then(() => resolve({ userAction: 'navigated' })));
|
|
70
|
+
}
|
|
71
|
+
if (options.shouldCloseOnBackdrop) {
|
|
72
|
+
overlayRef
|
|
73
|
+
.backdropClick()
|
|
74
|
+
.pipe(takeUntil(complete))
|
|
75
|
+
.subscribe(() => this.dispose(overlayRef, complete).then(() => resolve({ userAction: 'backdrop' })));
|
|
76
|
+
}
|
|
77
|
+
const modalPortal = new ComponentPortal(modal);
|
|
78
|
+
const componentRef = overlayRef.attach(modalPortal);
|
|
79
|
+
if (componentRef != null && componentRef.instance != null) {
|
|
80
|
+
componentRef.instance.data = data;
|
|
81
|
+
if (componentRef.instance.close != null) {
|
|
82
|
+
componentRef.instance.close
|
|
83
|
+
.pipe(takeUntil(complete))
|
|
84
|
+
.subscribe(() => this.dispose(overlayRef, complete).then(() => resolve({ userAction: 'close' })));
|
|
85
|
+
}
|
|
86
|
+
if (componentRef.instance.cancel != null) {
|
|
87
|
+
componentRef.instance.cancel
|
|
88
|
+
.pipe(takeUntil(complete))
|
|
89
|
+
.subscribe(() => this.dispose(overlayRef, complete).then(() => resolve({ userAction: 'cancel' })));
|
|
90
|
+
}
|
|
91
|
+
if (componentRef.instance.ok != null) {
|
|
92
|
+
componentRef.instance.ok
|
|
93
|
+
.pipe(takeUntil(complete))
|
|
94
|
+
.subscribe(result => this.dispose(overlayRef, complete).then(() => resolve({ userAction: 'ok', result })));
|
|
95
|
+
}
|
|
96
|
+
if (componentRef.instance.ngOnChanges != null) {
|
|
97
|
+
componentRef.instance.ngOnChanges({ data: new SimpleChange(null, data, true) });
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
this.dispose(overlayRef, complete).then(() => reject(new Error('Could not attach component to overlay.')));
|
|
102
|
+
}
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
dispose(overlayRef, complete) {
|
|
106
|
+
return new Promise(resolve => {
|
|
107
|
+
complete.next(true);
|
|
108
|
+
complete.complete();
|
|
109
|
+
complete.unsubscribe();
|
|
110
|
+
overlayRef.dispose();
|
|
111
|
+
resolve();
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
ModalService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ModalService, deps: [{ token: i1.Overlay }, { token: i2.Router }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
116
|
+
ModalService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ModalService, providedIn: 'root' });
|
|
117
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ModalService, decorators: [{
|
|
118
|
+
type: Injectable,
|
|
119
|
+
args: [{ providedIn: 'root' }]
|
|
120
|
+
}], ctorParameters: function () { return [{ type: i1.Overlay }, { type: i2.Router }]; } });
|
|
121
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvbW9kYWxzL21vZGFsLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsT0FBTyxFQUFjLE1BQU0sc0JBQXNCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGVBQWUsRUFBaUIsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR25ELE9BQU8sRUFBRSxjQUFjLEVBQWEsTUFBTSx5QkFBeUIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQWUsTUFBTSw2QkFBNkIsQ0FBQztBQUM1RSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxlQUFlLEVBQWMsTUFBTSwyQkFBMkIsQ0FBQztBQUN4RSxPQUFPLEVBQUUscUJBQXFCLEVBQW9CLE1BQU0sMENBQTBDLENBQUM7Ozs7QUFHbkcsTUFBTSxPQUFPLFlBQVk7SUFDdkIsWUFBc0IsT0FBZ0IsRUFBVSxNQUFjO1FBQXhDLFlBQU8sR0FBUCxPQUFPLENBQVM7UUFBVSxXQUFNLEdBQU4sTUFBTSxDQUFRO0lBQUcsQ0FBQztJQUVsRSxLQUFLLENBQUMsSUFBZSxFQUFFLE9BQXNCO1FBQzNDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBaUMsSUFBSSxFQUFFLGNBQWMsRUFBRTtZQUNyRSxhQUFhLEVBQUUsb0JBQW9CO1lBQ25DLFdBQVcsRUFBRSxJQUFJO1lBQ2pCLHFCQUFxQixFQUFFLElBQUk7WUFDM0Is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cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgU2ltcGxlQ2hhbmdlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uU3RhcnQsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBPdmVybGF5LCBPdmVybGF5UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgQ29tcG9uZW50UG9ydGFsLCBDb21wb25lbnRUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQgeyBmaWx0ZXIsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgTW9kYWwsIE1vZGFsT3B0aW9ucywgTW9kYWxSZXN1bHQgfSBmcm9tICcuL2luZGV4JztcbmltcG9ydCB7IEFsZXJ0Q29tcG9uZW50LCBBbGVydERhdGEgfSBmcm9tICcuL2FsZXJ0L2FsZXJ0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb25maXJtQ29tcG9uZW50LCBDb25maXJtRGF0YSB9IGZyb20gJy4vY29uZmlybS9jb25maXJtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBQcm9tcHRDb21wb25lbnQsIFByb21wdERhdGEgfSBmcm9tICcuL3Byb21wdC9wcm9tcHQuY29tcG9uZW50JztcbmltcG9ydCB7IEltYWdlR2FsbGVyeUNvbXBvbmVudCwgSW1hZ2VHYWxsZXJ5RGF0YSB9IGZyb20gJy4uL2ltYWdlLWdhbGxlcnkvaW1hZ2UtZ2FsbGVyeS5jb21wb25lbnQnO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIE1vZGFsU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBvdmVybGF5OiBPdmVybGF5LCBwcml2YXRlIHJvdXRlcjogUm91dGVyKSB7fVxuXG4gIGFsZXJ0KGRhdGE6IEFsZXJ0RGF0YSwgb3B0aW9ucz86IE1vZGFsT3B0aW9ucykge1xuICAgIHJldHVybiB0aGlzLm9wZW48QWxlcnREYXRhLCBhbnksIEFsZXJ0Q29tcG9uZW50PihkYXRhLCBBbGVydENvbXBvbmVudCwge1xuICAgICAgYmFja2Ryb3BDbGFzczogJ2Z3ZS1tb2RhbC1iYWNrZHJvcCcsXG4gICAgICBoYXNCYWNrZHJvcDogdHJ1ZSxcbiAgICAgIHNob3VsZENsb3NlT25CYWNrZHJvcDogdHJ1ZSxcbiAgICAgIC4uLm9wdGlvbnNcbiAgICB9KTtcbiAgfVxuXG4gIGNvbmZpcm0oZGF0YTogQ29uZmlybURhdGEsIG9wdGlvbnM/OiBNb2RhbE9wdGlvbnMpIHtcbiAgICBvcHRpb25zID0gb3B0aW9ucyB8fCB7XG4gICAgICBiYWNrZHJvcENsYXNzOiAnZndlLW1vZGFsLWJhY2tkcm9wJyxcbiAgICAgIGhhc0JhY2tkcm9wOiB0cnVlLFxuICAgICAgc2hvdWxkQ2xvc2VPbkJhY2tkcm9wOiB0cnVlLFxuICAgICAgLi4ub3B0aW9uc1xuICAgIH07XG4gICAgcmV0dXJuIHRoaXMub3BlbjxDb25maXJtRGF0YSwgYW55LCBDb25maXJtQ29tcG9uZW50PihkYXRhLCBDb25maXJtQ29tcG9uZW50LCBvcHRpb25zKTtcbiAgfVxuXG4gIHByb21wdChkYXRhOiBQcm9tcHREYXRhLCBvcHRpb25zPzogTW9kYWxPcHRpb25zKSB7XG4gICAgb3B0aW9ucyA9IG9wdGlvbnMgfHwge1xuICAgICAgYmFja2Ryb3BDbGFzczogJ2Z3ZS1tb2RhbC1iYWNrZHJvcCcsXG4gICAgICBoYXNCYWNrZHJvcDogdHJ1ZSxcbiAgICAgIHNob3VsZENsb3NlT25CYWNrZHJvcDogdHJ1ZSxcbiAgICAgIC4uLm9wdGlvbnNcbiAgICB9O1xuICAgIHJldHVybiB0aGlzLm9wZW48UHJvbXB0RGF0YSwgYW55LCBQcm9tcHRDb21wb25lbnQ+KGRhdGEsIFByb21wdENvbXBvbmVudCwgb3B0aW9ucyk7XG4gIH1cblxuICBvcGVuSW1hZ2VHYWxsZXJ5KGRhdGE6IEltYWdlR2FsbGVyeURhdGEpIHtcbiAgICBjb25zdCBvcHRpb25zOiBNb2RhbE9wdGlvbnMgPSB7XG4gICAgICBiYWNrZHJvcENsYXNzOiAnZndlLW1vZGFsLWJhY2tkcm9wJyxcbiAgICAgIGhhc0JhY2tkcm9wOiB0cnVlLFxuICAgICAgc2hvdWxkQ2xvc2VPbkJhY2tkcm9wOiB0cnVlXG4gICAgfTtcbiAgICByZXR1cm4gdGhpcy5vcGVuPEltYWdlR2FsbGVyeURhdGEsIGFueSwgSW1hZ2VHYWxsZXJ5Q29tcG9uZW50PihkYXRhLCBJbWFnZUdhbGxlcnlDb21wb25lbnQsIG9wdGlvbnMpO1xuICB9XG5cbiAgb3BlbjxURGF0YSwgVFJlc3VsdCwgVE1vZGFsIGV4dGVuZHMgTW9kYWw8VERhdGEsIFRSZXN1bHQ+PihcbiAgICBkYXRhOiBURGF0YSxcbiAgICBtb2RhbDogQ29tcG9uZW50VHlwZTxUTW9kYWw+LFxuICAgIG9wdGlvbnM6IE1vZGFsT3B0aW9uc1xuICApOiBQcm9taXNlPE1vZGFsUmVzdWx0PFRSZXN1bHQ+PiB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIGNvbnN0IGNvbXBsZXRlID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcbiAgICAgIGNvbnN0IHBvc2l0aW9uU3RyYXRlZ3kgPSBvcHRpb25zLnBvc2l0aW9uU3RyYXRlZ3kgfHwgdGhpcy5vdmVybGF5LnBvc2l0aW9uKCkuZ2xvYmFsKCkuY2VudGVySG9yaXpvbnRhbGx5KCkuY2VudGVyVmVydGljYWxseSgpO1xuICAgICAgY29uc3Qgc2Nyb2xsU3RyYXRlZ3kgPSB0aGlzLm92ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5ibG9jaygpO1xuICAgICAgY29uc3Qgb3ZlcmxheVJlZiA9IHRoaXMub3ZlcmxheS5jcmVhdGUoe1xuICAgICAgICBwYW5lbENsYXNzOiBvcHRpb25zLm92ZXJsYXlDbGFzcyxcbiAgICAgICAgcG9zaXRpb25TdHJhdGVneSxcbiAgICAgICAgc2Nyb2xsU3RyYXRlZ3ksXG4gICAgICAgIGJhY2tkcm9wQ2xhc3M6ICdmd2UtbW9kYWwtYmFja2Ryb3AnLFxuICAgICAgICBoYXNCYWNrZHJvcDogdHJ1ZSxcbiAgICAgICAgLi4ub3B0aW9uc1xuICAgICAgfSk7XG5cbiAgICAgIGlmIChvcHRpb25zLmNsb3NlT25OYXZpZ2F0aW9uKSB7XG4gICAgICAgIHRoaXMucm91dGVyLmV2ZW50c1xuICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgZmlsdGVyKGUgPT4gZSBpbnN0YW5jZW9mIE5hdmlnYXRpb25TdGFydCksXG4gICAgICAgICAgICB0YWtlVW50aWwoY29tcGxldGUpXG4gICAgICAgICAgKVxuICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5kaXNwb3NlKG92ZXJsYXlSZWYsIGNvbXBsZXRlKS50aGVuKCgpID0+IHJlc29sdmUoeyB1c2VyQWN0aW9uOiAnbmF2aWdhdGVkJyB9KSkpO1xuICAgICAgfVxuXG4gICAgICBpZiAob3B0aW9ucy5zaG91bGRDbG9zZU9uQmFja2Ryb3ApIHtcbiAgICAgICAgb3ZlcmxheVJlZlxuICAgICAgICAgIC5iYWNrZHJvcENsaWNrKClcbiAgICAgICAgICAucGlwZSh0YWtlVW50aWwoY29tcGxldGUpKVxuICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5kaXNwb3NlKG92ZXJsYXlSZWYsIGNvbXBsZXRlKS50aGVuKCgpID0+IHJlc29sdmUoeyB1c2VyQWN0aW9uOiAnYmFja2Ryb3AnIH0pKSk7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IG1vZGFsUG9ydGFsID0gbmV3IENvbXBvbmVudFBvcnRhbChtb2RhbCk7XG4gICAgICBjb25zdCBjb21wb25lbnRSZWYgPSBvdmVybGF5UmVmLmF0dGFjaChtb2RhbFBvcnRhbCk7XG4gICAgICBpZiAoY29tcG9uZW50UmVmICE9IG51bGwgJiYgY29tcG9uZW50UmVmLmluc3RhbmNlICE9IG51bGwpIHtcbiAgICAgICAgY29tcG9uZW50UmVmLmluc3RhbmNlLmRhdGEgPSBkYXRhO1xuICAgICAgICBpZiAoY29tcG9uZW50UmVmLmluc3RhbmNlLmNsb3NlICE9IG51bGwpIHtcbiAgICAgICAgICBjb21wb25lbnRSZWYuaW5zdGFuY2UuY2xvc2VcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbChjb21wbGV0ZSkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuZGlzcG9zZShvdmVybGF5UmVmLCBjb21wbGV0ZSkudGhlbigoKSA9PiByZXNvbHZlKHsgdXNlckFjdGlvbjogJ2Nsb3NlJyB9KSkpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChjb21wb25lbnRSZWYuaW5zdGFuY2UuY2FuY2VsICE9IG51bGwpIHtcbiAgICAgICAgICBjb21wb25lbnRSZWYuaW5zdGFuY2UuY2FuY2VsXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwoY29tcGxldGUpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLmRpc3Bvc2Uob3ZlcmxheVJlZiwgY29tcGxldGUpLnRoZW4oKCkgPT4gcmVzb2x2ZSh7IHVzZXJBY3Rpb246ICdjYW5jZWwnIH0pKSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNvbXBvbmVudFJlZi5pbnN0YW5jZS5vayAhPSBudWxsKSB7XG4gICAgICAgICAgY29tcG9uZW50UmVmLmluc3RhbmNlLm9rXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwoY29tcGxldGUpKVxuICAgICAgICAgICAgLnN1YnNjcmliZShyZXN1bHQgPT4gdGhpcy5kaXNwb3NlKG92ZXJsYXlSZWYsIGNvbXBsZXRlKS50aGVuKCgpID0+IHJlc29sdmUoeyB1c2VyQWN0aW9uOiAnb2snLCByZXN1bHQgfSkpKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoY29tcG9uZW50UmVmLmluc3RhbmNlLm5nT25DaGFuZ2VzICE9IG51bGwpIHtcbiAgICAgICAgICBjb21wb25lbnRSZWYuaW5zdGFuY2UubmdPbkNoYW5nZXMoeyBkYXRhOiBuZXcgU2ltcGxlQ2hhbmdlKG51bGwsIGRhdGEsIHRydWUpIH0pO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmRpc3Bvc2Uob3ZlcmxheVJlZiwgY29tcGxldGUpLnRoZW4oKCkgPT4gcmVqZWN0KG5ldyBFcnJvcignQ291bGQgbm90IGF0dGFjaCBjb21wb25lbnQgdG8gb3ZlcmxheS4nKSkpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBkaXNwb3NlKG92ZXJsYXlSZWY6IE92ZXJsYXlSZWYsIGNvbXBsZXRlOiBTdWJqZWN0PGJvb2xlYW4+KSB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlPHZvaWQ+KHJlc29sdmUgPT4ge1xuICAgICAgY29tcGxldGUubmV4dCh0cnVlKTtcbiAgICAgIGNvbXBsZXRlLmNvbXBsZXRlKCk7XG4gICAgICBjb21wbGV0ZS51bnN1YnNjcmliZSgpO1xuICAgICAgb3ZlcmxheVJlZi5kaXNwb3NlKCk7XG4gICAgICByZXNvbHZlKCk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { RouterModule } from '@angular/router';
|
|
4
|
+
import { OverlayModule } from '@angular/cdk/overlay';
|
|
5
|
+
import { FestoAngularFormsModule } from '../../forms/forms.module';
|
|
6
|
+
import { AlertComponent } from './alert/alert.component';
|
|
7
|
+
import { ConfirmComponent } from './confirm/confirm.component';
|
|
8
|
+
import { PromptComponent } from './prompt/prompt.component';
|
|
9
|
+
import { CustomModalComponent } from './custom-modal/custom-modal.component';
|
|
10
|
+
import { FestoAngularComponentsModule } from '../components.module';
|
|
11
|
+
import * as i0 from "@angular/core";
|
|
12
|
+
export * from './index';
|
|
13
|
+
export * from './alert/alert.component';
|
|
14
|
+
export * from './confirm/confirm.component';
|
|
15
|
+
export * from './prompt/prompt.component';
|
|
16
|
+
export * from './custom-modal/custom-modal.component';
|
|
17
|
+
export class FestoAngularModalsModule {
|
|
18
|
+
}
|
|
19
|
+
FestoAngularModalsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: FestoAngularModalsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
20
|
+
FestoAngularModalsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: FestoAngularModalsModule, declarations: [AlertComponent, ConfirmComponent, PromptComponent, CustomModalComponent], imports: [CommonModule, RouterModule, OverlayModule, FestoAngularFormsModule, FestoAngularComponentsModule], exports: [AlertComponent, ConfirmComponent, PromptComponent, CustomModalComponent] });
|
|
21
|
+
FestoAngularModalsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: FestoAngularModalsModule, providers: [], imports: [[CommonModule, RouterModule, OverlayModule, FestoAngularFormsModule, FestoAngularComponentsModule]] });
|
|
22
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: FestoAngularModalsModule, decorators: [{
|
|
23
|
+
type: NgModule,
|
|
24
|
+
args: [{
|
|
25
|
+
declarations: [AlertComponent, ConfirmComponent, PromptComponent, CustomModalComponent],
|
|
26
|
+
imports: [CommonModule, RouterModule, OverlayModule, FestoAngularFormsModule, FestoAngularComponentsModule],
|
|
27
|
+
exports: [AlertComponent, ConfirmComponent, PromptComponent, CustomModalComponent],
|
|
28
|
+
providers: []
|
|
29
|
+
}]
|
|
30
|
+
}] });
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWxzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvbW9kYWxzL21vZGFscy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVyRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQUVwRSxjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLHVDQUF1QyxDQUFDO0FBUXRELE1BQU0sT0FBTyx3QkFBd0I7O3FIQUF4Qix3QkFBd0I7c0hBQXhCLHdCQUF3QixpQkFMcEIsY0FBYyxFQUFFLGdCQUFnQixFQUFFLGVBQWUsRUFBRSxvQkFBb0IsYUFDNUUsWUFBWSxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUUsdUJBQXVCLEVBQUUsNEJBQTRCLGFBQ2hHLGNBQWMsRUFBRSxnQkFBZ0IsRUFBRSxlQUFlLEVBQUUsb0JBQW9CO3NIQUd0RSx3QkFBd0IsYUFGeEIsRUFBRSxZQUZKLENBQUMsWUFBWSxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUUsdUJBQXVCLEVBQUUsNEJBQTRCLENBQUM7MkZBSWhHLHdCQUF3QjtrQkFOcEMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxjQUFjLEVBQUUsZ0JBQWdCLEVBQUUsZUFBZSxFQUFFLG9CQUFvQixDQUFDO29CQUN2RixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSx1QkFBdUIsRUFBRSw0QkFBNEIsQ0FBQztvQkFDM0csT0FBTyxFQUFFLENBQUMsY0FBYyxFQUFFLGdCQUFnQixFQUFFLGVBQWUsRUFBRSxvQkFBb0IsQ0FBQztvQkFDbEYsU0FBUyxFQUFFLEVBQUU7aUJBQ2QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBPdmVybGF5TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuXG5pbXBvcnQgeyBGZXN0b0FuZ3VsYXJGb3Jtc01vZHVsZSB9IGZyb20gJy4uLy4uL2Zvcm1zL2Zvcm1zLm1vZHVsZSc7XG5pbXBvcnQgeyBBbGVydENvbXBvbmVudCB9IGZyb20gJy4vYWxlcnQvYWxlcnQuY29tcG9uZW50JztcbmltcG9ydCB7IENvbmZpcm1Db21wb25lbnQgfSBmcm9tICcuL2NvbmZpcm0vY29uZmlybS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUHJvbXB0Q29tcG9uZW50IH0gZnJvbSAnLi9wcm9tcHQvcHJvbXB0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDdXN0b21Nb2RhbENvbXBvbmVudCB9IGZyb20gJy4vY3VzdG9tLW1vZGFsL2N1c3RvbS1tb2RhbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRmVzdG9Bbmd1bGFyQ29tcG9uZW50c01vZHVsZSB9IGZyb20gJy4uL2NvbXBvbmVudHMubW9kdWxlJztcblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL2FsZXJ0L2FsZXJ0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbmZpcm0vY29uZmlybS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9wcm9tcHQvcHJvbXB0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2N1c3RvbS1tb2RhbC9jdXN0b20tbW9kYWwuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbQWxlcnRDb21wb25lbnQsIENvbmZpcm1Db21wb25lbnQsIFByb21wdENvbXBvbmVudCwgQ3VzdG9tTW9kYWxDb21wb25lbnRdLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBSb3V0ZXJNb2R1bGUsIE92ZXJsYXlNb2R1bGUsIEZlc3RvQW5ndWxhckZvcm1zTW9kdWxlLCBGZXN0b0FuZ3VsYXJDb21wb25lbnRzTW9kdWxlXSxcbiAgZXhwb3J0czogW0FsZXJ0Q29tcG9uZW50LCBDb25maXJtQ29tcG9uZW50LCBQcm9tcHRDb21wb25lbnQsIEN1c3RvbU1vZGFsQ29tcG9uZW50XSxcbiAgcHJvdmlkZXJzOiBbXVxufSlcbmV4cG9ydCBjbGFzcyBGZXN0b0FuZ3VsYXJNb2RhbHNNb2R1bGUge31cbiJdfQ==
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import { Component, ElementRef, EventEmitter, HostListener, Input, Output, ViewChild, ViewEncapsulation } from '@angular/core';
|
|
2
|
+
import { FormBuilder } from '@angular/forms';
|
|
3
|
+
import { Subject } from 'rxjs';
|
|
4
|
+
import { takeUntil } from 'rxjs/operators';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@angular/forms";
|
|
7
|
+
import * as i2 from "../../../forms/text-input/text-input.component";
|
|
8
|
+
import * as i3 from "@angular/common";
|
|
9
|
+
export class PromptComponent {
|
|
10
|
+
constructor(formBuilder) {
|
|
11
|
+
this.formBuilder = formBuilder;
|
|
12
|
+
this.close = new EventEmitter();
|
|
13
|
+
this.cancel = new EventEmitter();
|
|
14
|
+
this.ok = new EventEmitter();
|
|
15
|
+
this.error = '';
|
|
16
|
+
this.complete = new Subject();
|
|
17
|
+
}
|
|
18
|
+
get text() {
|
|
19
|
+
return this.form?.get('text')?.value;
|
|
20
|
+
}
|
|
21
|
+
get valid() {
|
|
22
|
+
return this.form?.get('text')?.valid;
|
|
23
|
+
}
|
|
24
|
+
onKeyUp(event) {
|
|
25
|
+
event.preventDefault();
|
|
26
|
+
event.stopPropagation();
|
|
27
|
+
if (event.key === 'Esc' || event.key === 'Escape') {
|
|
28
|
+
this.onClose();
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
ngOnInit() {
|
|
32
|
+
const text = this.data?.value || '';
|
|
33
|
+
this.form = this.formBuilder.group({
|
|
34
|
+
text: this.formBuilder.control(text, this.data?.validatorOrOpts, this.data?.asyncValidator)
|
|
35
|
+
});
|
|
36
|
+
if (text) {
|
|
37
|
+
this.form.get('text').markAsDirty();
|
|
38
|
+
}
|
|
39
|
+
this.form
|
|
40
|
+
.get('text')
|
|
41
|
+
.statusChanges.pipe(takeUntil(this.complete))
|
|
42
|
+
.subscribe(sc => {
|
|
43
|
+
if (sc === 'INVALID') {
|
|
44
|
+
this.handleErrors();
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
this.error = '';
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
ngAfterViewInit() {
|
|
52
|
+
if (this.closeBtn) {
|
|
53
|
+
this.closeBtn.nativeElement.focus();
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
ngOnDestroy() {
|
|
57
|
+
this.complete.next(true);
|
|
58
|
+
this.complete.unsubscribe();
|
|
59
|
+
}
|
|
60
|
+
onClose() {
|
|
61
|
+
this.close.emit();
|
|
62
|
+
}
|
|
63
|
+
onOk() {
|
|
64
|
+
if (this.valid) {
|
|
65
|
+
this.ok.emit(this.text);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
onCancel() {
|
|
69
|
+
this.cancel.emit();
|
|
70
|
+
}
|
|
71
|
+
handleErrors() {
|
|
72
|
+
const e = this.form.get('text').errors;
|
|
73
|
+
const key = Object.keys(e)[0];
|
|
74
|
+
if (this.data.errors != null && this.data.errors[key]) {
|
|
75
|
+
this.error = this.data.errors[key];
|
|
76
|
+
}
|
|
77
|
+
else {
|
|
78
|
+
this.error = 'Prompt input is invalid.';
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
PromptComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: PromptComponent, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
|
|
83
|
+
PromptComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: PromptComponent, selector: "fng-prompt", inputs: { data: "data" }, outputs: { close: "close", cancel: "cancel", ok: "ok" }, host: { listeners: { "window:keyup": "onKeyUp($event)" } }, viewQueries: [{ propertyName: "closeBtn", first: true, predicate: ["closeBtn"], descendants: true }], ngImport: i0, template: "<div class=\"fwe-modal\">\n <div class=\"fwe-modal-close\">\n <button type=\"button\" aria-label=\"Close\" #closeBtn class=\"fwe-btn fwe-btn-link fwe-dark\" (click)=\"onClose()\">\n <i aria-hidden=\"true\" class=\"fwe-icon fwe-icon-close-small\"></i>\n <span class=\"fwe-sr-only\">Close</span>\n </button>\n </div>\n <div class=\"fwe-modal-header\">\n <h2 *ngIf=\"data?.subtitle\" class=\"fwe-modal-h2\">{{ data?.subtitle }}</h2>\n <h1 class=\"fwe-modal-h1\">{{ data?.title }}</h1>\n </div>\n <form [formGroup]=\"form\" class=\"fwe-modal-body\">\n <fng-text-input formControlName=\"text\" [label]=\"data?.label\" [hint]=\"data?.hint\" type=\"text\" [error]=\"error\"></fng-text-input>\n </form>\n <div class=\"fwe-modal-footer\" *ngIf=\"data?.cancel || data?.ok\">\n <div class=\"fwe-modal-buttons\">\n <button *ngIf=\"data?.cancel\" type=\"button\" aria-label=\"Cancel\" class=\"fwe-btn fwe-btn-lg\" (click)=\"onCancel()\">\n {{ data?.cancel }}\n </button>\n <button *ngIf=\"data?.ok\" type=\"button\" aria-label=\"Ok\" class=\"fwe-btn fwe-btn-hero fwe-btn-lg\" (click)=\"onOk()\">\n {{ data?.ok }}\n </button>\n </div>\n </div>\n</div>\n", styles: [""], components: [{ type: i2.TextInputComponent, selector: "fng-text-input", inputs: ["label", "type", "readonly", "step", "min", "max", "tabindex", "placeholder", "name", "disabled", "value", "required", "error", "hint"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
84
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: PromptComponent, decorators: [{
|
|
85
|
+
type: Component,
|
|
86
|
+
args: [{ selector: 'fng-prompt', encapsulation: ViewEncapsulation.None, template: "<div class=\"fwe-modal\">\n <div class=\"fwe-modal-close\">\n <button type=\"button\" aria-label=\"Close\" #closeBtn class=\"fwe-btn fwe-btn-link fwe-dark\" (click)=\"onClose()\">\n <i aria-hidden=\"true\" class=\"fwe-icon fwe-icon-close-small\"></i>\n <span class=\"fwe-sr-only\">Close</span>\n </button>\n </div>\n <div class=\"fwe-modal-header\">\n <h2 *ngIf=\"data?.subtitle\" class=\"fwe-modal-h2\">{{ data?.subtitle }}</h2>\n <h1 class=\"fwe-modal-h1\">{{ data?.title }}</h1>\n </div>\n <form [formGroup]=\"form\" class=\"fwe-modal-body\">\n <fng-text-input formControlName=\"text\" [label]=\"data?.label\" [hint]=\"data?.hint\" type=\"text\" [error]=\"error\"></fng-text-input>\n </form>\n <div class=\"fwe-modal-footer\" *ngIf=\"data?.cancel || data?.ok\">\n <div class=\"fwe-modal-buttons\">\n <button *ngIf=\"data?.cancel\" type=\"button\" aria-label=\"Cancel\" class=\"fwe-btn fwe-btn-lg\" (click)=\"onCancel()\">\n {{ data?.cancel }}\n </button>\n <button *ngIf=\"data?.ok\" type=\"button\" aria-label=\"Ok\" class=\"fwe-btn fwe-btn-hero fwe-btn-lg\" (click)=\"onOk()\">\n {{ data?.ok }}\n </button>\n </div>\n </div>\n</div>\n", styles: [""] }]
|
|
87
|
+
}], ctorParameters: function () { return [{ type: i1.FormBuilder }]; }, propDecorators: { data: [{
|
|
88
|
+
type: Input
|
|
89
|
+
}], close: [{
|
|
90
|
+
type: Output
|
|
91
|
+
}], cancel: [{
|
|
92
|
+
type: Output
|
|
93
|
+
}], ok: [{
|
|
94
|
+
type: Output
|
|
95
|
+
}], closeBtn: [{
|
|
96
|
+
type: ViewChild,
|
|
97
|
+
args: ['closeBtn']
|
|
98
|
+
}], onKeyUp: [{
|
|
99
|
+
type: HostListener,
|
|
100
|
+
args: ['window:keyup', ['$event']]
|
|
101
|
+
}] } });
|
|
102
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvbXB0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvbW9kYWxzL3Byb21wdC9wcm9tcHQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9tb2RhbHMvcHJvbXB0L3Byb21wdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBQ04sU0FBUyxFQUNULGlCQUFpQixFQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQTRDLFdBQVcsRUFBMEIsTUFBTSxnQkFBZ0IsQ0FBQztBQUMvRyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7QUF1QjNDLE1BQU0sT0FBTyxlQUFlO0lBcUIxQixZQUFvQixXQUF3QjtRQUF4QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQW5CbEMsVUFBSyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDaEMsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDakMsT0FBRSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFLdkMsVUFBSyxHQUFHLEVBQUUsQ0FBQztRQVVILGFBQVEsR0FBcUIsSUFBSSxPQUFPLEVBQUUsQ0FBQztJQUVKLENBQUM7SUFWaEQsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxLQUFLLENBQUM7SUFDdkMsQ0FBQztJQUVELElBQUksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFD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QUNFLFlBQVksaUJBR1AsaUJBQWlCLENBQUMsSUFBSTtrR0FHNUIsSUFBSTtzQkFBWixLQUFLO2dCQUNJLEtBQUs7c0JBQWQsTUFBTTtnQkFDRyxNQUFNO3NCQUFmLE1BQU07Z0JBQ0csRUFBRTtzQkFBWCxNQUFNO2dCQUVnQixRQUFRO3NCQUE5QixTQUFTO3VCQUFDLFVBQVU7Z0JBa0JyQixPQUFPO3NCQUROLFlBQVk7dUJBQUMsY0FBYyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2xPcHRpb25zLCBBc3luY1ZhbGlkYXRvckZuLCBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JGbiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgTW9kYWwgfSBmcm9tICcuLi9pbmRleCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJvbXB0RGF0YSB7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIHN1YnRpdGxlPzogc3RyaW5nO1xuICBsYWJlbDogc3RyaW5nO1xuICBoaW50Pzogc3RyaW5nO1xuICBlcnJvcnM/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xuICBjYW5jZWw/OiBzdHJpbmc7XG4gIG9rPzogc3RyaW5nO1xuICB2YWx1ZT86IHN0cmluZztcbiAgdmFsaWRhdG9yT3JPcHRzPzogVmFsaWRhdG9yRm4gfCBWYWxpZGF0b3JGbltdIHwgQWJzdHJhY3RDb250cm9sT3B0aW9ucyB8IG51bGw7XG4gIGFzeW5jVmFsaWRhdG9yPzogQXN5bmNWYWxpZGF0b3JGbiB8IEFzeW5jVmFsaWRhdG9yRm5bXSB8IG51bGw7XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2ZuZy1wcm9tcHQnLFxuICB0ZW1wbGF0ZVVybDogJy4vcHJvbXB0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcHJvbXB0LmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgUHJvbXB0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3ksIE1vZGFsPFByb21wdERhdGEsIGFueT4ge1xuICBASW5wdXQoKSBkYXRhOiBQcm9tcHREYXRhO1xuICBAT3V0cHV0KCkgY2xvc2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIGNhbmNlbCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgb2sgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBAVmlld0NoaWxkKCdjbG9zZUJ0bicpIGNsb3NlQnRuOiBFbGVtZW50UmVmO1xuXG4gIGZvcm06IEZvcm1Hcm91cDtcbiAgZXJyb3IgPSAnJztcblxuICBnZXQgdGV4dCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmZvcm0/LmdldCgndGV4dCcpPy52YWx1ZTtcbiAgfVxuXG4gIGdldCB2YWxpZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtPy5nZXQoJ3RleHQnKT8udmFsaWQ7XG4gIH1cblxuICBwcml2YXRlIGNvbXBsZXRlOiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFN1YmplY3QoKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZvcm1CdWlsZGVyOiBGb3JtQnVpbGRlcikge31cblxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6a2V5dXAnLCBbJyRldmVudCddKVxuICBvbktleVVwKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgIGlmIChldmVudC5rZXkgPT09ICdFc2MnIHx8IGV2ZW50LmtleSA9PT0gJ0VzY2FwZScpIHtcbiAgICAgIHRoaXMub25DbG9zZSgpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGNvbnN0IHRleHQgPSB0aGlzLmRhdGE/LnZhbHVlIHx8ICcnO1xuXG4gICAgdGhpcy5mb3JtID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XG4gICAgICB0ZXh0OiB0aGlzLmZvcm1CdWlsZGVyLmNvbnRyb2wodGV4dCwgdGhpcy5kYXRhPy52YWxpZGF0b3JPck9wdHMsIHRoaXMuZGF0YT8uYXN5bmNWYWxpZGF0b3IpXG4gICAgfSk7XG5cbiAgICBpZiAodGV4dCkge1xuICAgICAgdGhpcy5mb3JtLmdldCgndGV4dCcpLm1hcmtBc0RpcnR5KCk7XG4gICAgfVxuXG4gICAgdGhpcy5mb3JtXG4gICAgICAuZ2V0KCd0ZXh0JylcbiAgICAgIC5zdGF0dXNDaGFuZ2VzLnBpcGUodGFrZVVudGlsKHRoaXMuY29tcGxldGUpKVxuICAgICAgLnN1YnNjcmliZShzYyA9PiB7XG4gICAgICAgIGlmIChzYyA9PT0gJ0lOVkFMSUQnKSB7XG4gICAgICAgICAgdGhpcy5oYW5kbGVFcnJvcnMoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmVycm9yID0gJyc7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIGlmICh0aGlzLmNsb3NlQnRuKSB7XG4gICAgICAodGhpcy5jbG9zZUJ0bi5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50KS5mb2N1cygpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuY29tcGxldGUubmV4dCh0cnVlKTtcbiAgICB0aGlzLmNvbXBsZXRlLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBvbkNsb3NlKCkge1xuICAgIHRoaXMuY2xvc2UuZW1pdCgpO1xuICB9XG5cbiAgb25PaygpIHtcbiAgICBpZiAodGhpcy52YWxpZCkge1xuICAgICAgdGhpcy5vay5lbWl0KHRoaXMudGV4dCk7XG4gICAgfVxuICB9XG5cbiAgb25DYW5jZWwoKSB7XG4gICAgdGhpcy5jYW5jZWwuZW1pdCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVFcnJvcnMoKSB7XG4gICAgY29uc3QgZSA9IHRoaXMuZm9ybS5nZXQoJ3RleHQnKS5lcnJvcnM7XG4gICAgY29uc3Qga2V5ID0gT2JqZWN0LmtleXMoZSlbMF07XG4gICAgaWYgKHRoaXMuZGF0YS5lcnJvcnMgIT0gbnVsbCAmJiB0aGlzLmRhdGEuZXJyb3JzW2tleV0pIHtcbiAgICAgIHRoaXMuZXJyb3IgPSB0aGlzLmRhdGEuZXJyb3JzW2tleV07XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZXJyb3IgPSAnUHJvbXB0IGlucHV0IGlzIGludmFsaWQuJztcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmd2UtbW9kYWxcIj5cbiAgPGRpdiBjbGFzcz1cImZ3ZS1tb2RhbC1jbG9zZVwiPlxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGFyaWEtbGFiZWw9XCJDbG9zZVwiICNjbG9zZUJ0biBjbGFzcz1cImZ3ZS1idG4gZndlLWJ0bi1saW5rIGZ3ZS1kYXJrXCIgKGNsaWNrKT1cIm9uQ2xvc2UoKVwiPlxuICAgICAgPGkgYXJpYS1oaWRkZW49XCJ0cnVlXCIgY2xhc3M9XCJmd2UtaWNvbiBmd2UtaWNvbi1jbG9zZS1zbWFsbFwiPjwvaT5cbiAgICAgIDxzcGFuIGNsYXNzPVwiZndlLXNyLW9ubHlcIj5DbG9zZTwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJmd2UtbW9kYWwtaGVhZGVyXCI+XG4gICAgPGgyICpuZ0lmPVwiZGF0YT8uc3VidGl0bGVcIiBjbGFzcz1cImZ3ZS1tb2RhbC1oMlwiPnt7IGRhdGE/LnN1YnRpdGxlIH19PC9oMj5cbiAgICA8aDEgY2xhc3M9XCJmd2UtbW9kYWwtaDFcIj57eyBkYXRhPy50aXRsZSB9fTwvaDE+XG4gIDwvZGl2PlxuICA8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1cIiBjbGFzcz1cImZ3ZS1tb2RhbC1ib2R5XCI+XG4gICAgPGZuZy10ZXh0LWlucHV0IGZvcm1Db250cm9sTmFtZT1cInRleHRcIiBbbGFiZWxdPVwiZGF0YT8ubGFiZWxcIiBbaGludF09XCJkYXRhPy5oaW50XCIgdHlwZT1cInRleHRcIiBbZXJyb3JdPVwiZXJyb3JcIj48L2ZuZy10ZXh0LWlucHV0PlxuICA8L2Zvcm0+XG4gIDxkaXYgY2xhc3M9XCJmd2UtbW9kYWwtZm9vdGVyXCIgKm5nSWY9XCJkYXRhPy5jYW5jZWwgfHwgZGF0YT8ub2tcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZndlLW1vZGFsLWJ1dHRvbnNcIj5cbiAgICAgIDxidXR0b24gKm5nSWY9XCJkYXRhPy5jYW5jZWxcIiB0eXBlPVwiYnV0dG9uXCIgYXJpYS1sYWJlbD1cIkNhbmNlbFwiIGNsYXNzPVwiZndlLWJ0biBmd2UtYnRuLWxnXCIgKGNsaWNrKT1cIm9uQ2FuY2VsKClcIj5cbiAgICAgICAge3sgZGF0YT8uY2FuY2VsIH19XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxidXR0b24gKm5nSWY9XCJkYXRhPy5va1wiIHR5cGU9XCJidXR0b25cIiBhcmlhLWxhYmVsPVwiT2tcIiBjbGFzcz1cImZ3ZS1idG4gZndlLWJ0bi1oZXJvIGZ3ZS1idG4tbGdcIiAoY2xpY2spPVwib25PaygpXCI+XG4gICAgICAgIHt7IGRhdGE/Lm9rIH19XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|