@festo-ui/angular 3.1.0-pre-20220203.2 → 3.1.0-pre-20220203.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/festo-ui-angular.mjs +5 -0
- package/esm2020/index.mjs +18 -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 +155 -0
- package/esm2020/lib/components/loading-indicator/loading-indicator.component.mjs +16 -0
- package/esm2020/lib/components/modals/alert/alert.component.mjs +52 -0
- package/esm2020/lib/components/modals/confirm/confirm.component.mjs +67 -0
- package/esm2020/lib/components/modals/index.mjs +2 -0
- package/esm2020/lib/components/modals/modal.service.mjs +112 -0
- package/esm2020/lib/components/modals/modals.module.mjs +28 -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 +94 -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/search-input.component.mjs +150 -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/stepper.component.mjs +22 -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 +355 -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 +58 -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 +52 -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.js → festo-ui-angular.mjs} +317 -521
- package/fesm2015/festo-ui-angular.mjs.map +1 -0
- package/fesm2020/festo-ui-angular.mjs +5383 -0
- package/fesm2020/festo-ui-angular.mjs.map +1 -0
- package/package.json +31 -16
- package/scss/base/components/breadcrumb/breadcrumb.component.scss +0 -1
- 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 +3 -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/snackbar/snackbar.component.scss +1 -1
- package/scss/base/components/stepper/stepper.component.scss +16 -15
- package/scss/base/forms/color-picker/color-picker.component.scss +12 -12
- 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/time-picker/time-picker-dropdown/time-picker-dropdown.component.scss +1 -1
- package/scss/styles.scss +2 -2
- 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.map +0 -1
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { Directive, ElementRef, HostListener, ContentChild } from '@angular/core';
|
|
2
|
+
import { PopoverContentComponent } from './popover-content.component';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class PopoverContentDirective {
|
|
5
|
+
constructor(elmenetRef) {
|
|
6
|
+
this.elmenetRef = elmenetRef;
|
|
7
|
+
}
|
|
8
|
+
ngOnInit() {
|
|
9
|
+
this.origin = this.elmenetRef.nativeElement;
|
|
10
|
+
}
|
|
11
|
+
show() {
|
|
12
|
+
if (null != this.component) {
|
|
13
|
+
this.component.show(this.origin);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
hide() {
|
|
17
|
+
if (null != this.component) {
|
|
18
|
+
this.component.hide();
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
PopoverContentDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: PopoverContentDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
23
|
+
PopoverContentDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.1", type: PopoverContentDirective, selector: "[fngPopoverContent]", host: { listeners: { "click": "show()", "document:keydown.escape": "hide()" } }, queries: [{ propertyName: "component", first: true, predicate: ["fngComponent"], descendants: true }], ngImport: i0 });
|
|
24
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: PopoverContentDirective, decorators: [{
|
|
25
|
+
type: Directive,
|
|
26
|
+
args: [{
|
|
27
|
+
selector: '[fngPopoverContent]'
|
|
28
|
+
}]
|
|
29
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { component: [{
|
|
30
|
+
type: ContentChild,
|
|
31
|
+
args: ['fngComponent']
|
|
32
|
+
}], show: [{
|
|
33
|
+
type: HostListener,
|
|
34
|
+
args: ['click']
|
|
35
|
+
}], hide: [{
|
|
36
|
+
type: HostListener,
|
|
37
|
+
args: ['document:keydown.escape']
|
|
38
|
+
}] } });
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci1jb250ZW50LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvcG9wb3ZlcnMvcG9wb3Zlci1jb250ZW50L3BvcG92ZXItY29udGVudC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFVLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7QUFLdEUsTUFBTSxPQUFPLHVCQUF1QjtJQUlsQyxZQUFvQixVQUFzQjtRQUF0QixlQUFVLEdBQVYsVUFBVSxDQUFZO0lBQUcsQ0FBQztJQUU5QyxRQUFRO1FBQ04sSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQztJQUM5QyxDQUFDO0lBR0QsSUFBSTtRQUNGLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDMUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQ2xDO0lBQ0gsQ0FBQztJQUdELElBQUk7UUFDRixJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQzFCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDdkI7SUFDSCxDQUFDOztvSEF0QlUsdUJBQXVCO3dHQUF2Qix1QkFBdUI7MkZBQXZCLHVCQUF1QjtrQkFIbkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUscUJBQXFCO2lCQUNoQztpR0FFK0IsU0FBUztzQkFBdEMsWUFBWTt1QkFBQyxjQUFjO2dCQVU1QixJQUFJO3NCQURILFlBQVk7dUJBQUMsT0FBTztnQkFRckIsSUFBSTtzQkFESCxZQUFZO3VCQUFDLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyLCBPbkluaXQsIENvbnRlbnRDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBQb3BvdmVyQ29udGVudENvbXBvbmVudCB9IGZyb20gJy4vcG9wb3Zlci1jb250ZW50LmNvbXBvbmVudCc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tmbmdQb3BvdmVyQ29udGVudF0nXG59KVxuZXhwb3J0IGNsYXNzIFBvcG92ZXJDb250ZW50RGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0IHtcbiAgQENvbnRlbnRDaGlsZCgnZm5nQ29tcG9uZW50JykgY29tcG9uZW50OiBQb3BvdmVyQ29udGVudENvbXBvbmVudDtcbiAgcHJpdmF0ZSBvcmlnaW46IEhUTUxFbGVtZW50O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWxtZW5ldFJlZjogRWxlbWVudFJlZikge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLm9yaWdpbiA9IHRoaXMuZWxtZW5ldFJlZi5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snKVxuICBzaG93KCkge1xuICAgIGlmIChudWxsICE9IHRoaXMuY29tcG9uZW50KSB7XG4gICAgICB0aGlzLmNvbXBvbmVudC5zaG93KHRoaXMub3JpZ2luKTtcbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDprZXlkb3duLmVzY2FwZScpXG4gIGhpZGUoKSB7XG4gICAgaWYgKG51bGwgIT0gdGhpcy5jb21wb25lbnQpIHtcbiAgICAgIHRoaXMuY29tcG9uZW50LmhpZGUoKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { Component, TemplateRef, Input, Output, EventEmitter, ViewChild, ElementRef, HostListener } from '@angular/core';
|
|
2
|
+
import { PopoverService } from '../popover.service';
|
|
3
|
+
import { PopoverTypes } from '../popover.models';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "../popover.service";
|
|
6
|
+
import * as i2 from "@angular/common";
|
|
7
|
+
export class PopoverMenuComponent {
|
|
8
|
+
constructor(popoverService) {
|
|
9
|
+
this.popoverService = popoverService;
|
|
10
|
+
this.icon = 'fwe-icon-menu-more fwe-icon-lg';
|
|
11
|
+
this.menu = [];
|
|
12
|
+
this.options = {};
|
|
13
|
+
this.menuAction = new EventEmitter();
|
|
14
|
+
this.itemHeight = 36;
|
|
15
|
+
}
|
|
16
|
+
show(event, content, origin) {
|
|
17
|
+
event.stopPropagation();
|
|
18
|
+
event.preventDefault();
|
|
19
|
+
if (0 < this.menu.length) {
|
|
20
|
+
this.popoverRef = this.popoverService.open({
|
|
21
|
+
content,
|
|
22
|
+
origin,
|
|
23
|
+
options: {
|
|
24
|
+
type: PopoverTypes.Menu,
|
|
25
|
+
hasBackdrop: true,
|
|
26
|
+
// height calc is needed for correct vertical positioning (+32 -> 2 * vertical padding 16px)
|
|
27
|
+
height: +(this.itemHeight * this.menu.length + 32),
|
|
28
|
+
positions: this.options != null && this.options.positions ? this.options.positions : null
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
action(action, payload) {
|
|
34
|
+
this.menuAction.emit({ action, payload });
|
|
35
|
+
if (null != this.popoverRef) {
|
|
36
|
+
this.popoverRef.close();
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
hide() {
|
|
40
|
+
if (null != this.popoverRef) {
|
|
41
|
+
this.popoverRef.close();
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
PopoverMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: PopoverMenuComponent, deps: [{ token: i1.PopoverService }], target: i0.ɵɵFactoryTarget.Component });
|
|
46
|
+
PopoverMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: PopoverMenuComponent, selector: "fng-popover-menu", inputs: { icon: "icon", menu: "menu", options: "options" }, outputs: { menuAction: "menuAction" }, host: { listeners: { "document:keydown.escape": "hide()" } }, viewQueries: [{ propertyName: "menuTpl", first: true, predicate: ["menuTpl"], descendants: true }, { propertyName: "origin", first: true, predicate: ["origin"], descendants: true }], ngImport: i0, template: "<ng-container *ngIf=\"0 < menu.length\">\n <button type=\"button\" class=\"fwe-btn fwe-btn-link fwe-dark origin\" (click)=\"show($event, menuTpl, origin)\" #origin>\n <i class=\"fwe-icon fwe-pr-0\" [ngClass]=\"icon\"></i>\n </button>\n <ng-template #menuTpl>\n <ul class=\"fwe-list-group\">\n <li *ngFor=\"let item of menu\" class=\"fwe-list-group-item\">\n <button type=\"button\" class=\"fwe-btn fwe-btn-link fwe-dark\" (click)=\"action(item?.action, item?.data)\">\n <i class=\"fwe-icon\" [ngClass]=\"item?.icon\"></i>\n <span>{{ item?.text }}</span>\n </button>\n </li>\n </ul>\n </ng-template>\n</ng-container>\n", styles: [""], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
47
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: PopoverMenuComponent, decorators: [{
|
|
48
|
+
type: Component,
|
|
49
|
+
args: [{ selector: 'fng-popover-menu', template: "<ng-container *ngIf=\"0 < menu.length\">\n <button type=\"button\" class=\"fwe-btn fwe-btn-link fwe-dark origin\" (click)=\"show($event, menuTpl, origin)\" #origin>\n <i class=\"fwe-icon fwe-pr-0\" [ngClass]=\"icon\"></i>\n </button>\n <ng-template #menuTpl>\n <ul class=\"fwe-list-group\">\n <li *ngFor=\"let item of menu\" class=\"fwe-list-group-item\">\n <button type=\"button\" class=\"fwe-btn fwe-btn-link fwe-dark\" (click)=\"action(item?.action, item?.data)\">\n <i class=\"fwe-icon\" [ngClass]=\"item?.icon\"></i>\n <span>{{ item?.text }}</span>\n </button>\n </li>\n </ul>\n </ng-template>\n</ng-container>\n", styles: [""] }]
|
|
50
|
+
}], ctorParameters: function () { return [{ type: i1.PopoverService }]; }, propDecorators: { icon: [{
|
|
51
|
+
type: Input
|
|
52
|
+
}], menu: [{
|
|
53
|
+
type: Input
|
|
54
|
+
}], options: [{
|
|
55
|
+
type: Input
|
|
56
|
+
}], menuAction: [{
|
|
57
|
+
type: Output
|
|
58
|
+
}], menuTpl: [{
|
|
59
|
+
type: ViewChild,
|
|
60
|
+
args: ['menuTpl']
|
|
61
|
+
}], origin: [{
|
|
62
|
+
type: ViewChild,
|
|
63
|
+
args: ['origin']
|
|
64
|
+
}], hide: [{
|
|
65
|
+
type: HostListener,
|
|
66
|
+
args: ['document:keydown.escape']
|
|
67
|
+
}] } });
|
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvcG9wb3ZlcnMvcG9wb3Zlci1tZW51L3BvcG92ZXItbWVudS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL3BvcG92ZXJzL3BvcG92ZXItbWVudS9wb3BvdmVyLW1lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekgsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXBELE9BQU8sRUFBRSxZQUFZLEVBQW1ELE1BQU0sbUJBQW1CLENBQUM7Ozs7QUFXbEcsTUFBTSxPQUFPLG9CQUFvQjtJQWEvQixZQUFvQixjQUE4QjtRQUE5QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFaekMsU0FBSSxHQUFHLGdDQUFnQyxDQUFDO1FBQ3hDLFNBQUksR0FBa0IsRUFBRSxDQUFDO1FBQ3pCLFlBQU8sR0FBdUIsRUFBRSxDQUFDO1FBRWhDLGVBQVUsR0FBb0MsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQU1uRSxlQUFVLEdBQUcsRUFBRSxDQUFDO0lBRTZCLENBQUM7SUFFdEQsSUFBSSxDQUFDLEtBQVksRUFBRSxPQUF5QixFQUFFLE1BQW1CO1FBQy9ELEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDeEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQztnQkFDekMsT0FBTztnQkFDUCxNQUFNO2dCQUNOLE9BQU8sRUFBRTtvQkFDUCxJQUFJLEVBQUUsWUFBWSxDQUFDLElBQUk7b0JBQ3ZCLFdBQVcsRUFBRSxJQUFJO29CQUNqQiw0RkFBNEY7b0JBQzVGLE1BQU0sRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUM7b0JBQ2xELFNBQVMsRUFBRSxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUk7aUJBQzFGO2FBQ0YsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDO0lBRUQsTUFBTSxDQUFDLE1BQWMsRUFBRSxPQUFZO1FBQ2pDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDMUMsSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUMzQixJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQ3pCO0lBQ0gsQ0FBQztJQUdELElBQUk7UUFDRixJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQzNCLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDekI7SUFDSCxDQUFDOztpSEE3Q1Usb0JBQW9CO3FHQUFwQixvQkFBb0IsZ1pDZmpDLGtxQkFlQTsyRkRBYSxvQkFBb0I7a0JBTGhDLFNBQVM7K0JBQ0Usa0JBQWtCO3FHQUtuQixJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFFSSxVQUFVO3NCQUFuQixNQUFNO2dCQUVlLE9BQU87c0JBQTVCLFNBQVM7dUJBQUMsU0FBUztnQkFDQyxNQUFNO3NCQUExQixTQUFTO3VCQUFDLFFBQVE7Z0JBaUNuQixJQUFJO3NCQURILFlBQVk7dUJBQUMseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBUZW1wbGF0ZVJlZiwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBWaWV3Q2hpbGQsIEVsZW1lbnRSZWYsIEhvc3RMaXN0ZW5lciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBQb3BvdmVyU2VydmljZSB9IGZyb20gJy4uL3BvcG92ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBQb3BvdmVyUmVmIH0gZnJvbSAnLi4vcG9wb3Zlci1yZWYnO1xuaW1wb3J0IHsgUG9wb3ZlclR5cGVzLCBQb3BvdmVyTWVudSwgUG9wb3Zlck1lbnVBY3Rpb24sIFBvcG92ZXJQb3NpdGlvbiB9IGZyb20gJy4uL3BvcG92ZXIubW9kZWxzJztcblxuZXhwb3J0IGludGVyZmFjZSBQb3BvdmVyTWVudU9wdGlvbnMge1xuICBwb3NpdGlvbnM/OiBQb3BvdmVyUG9zaXRpb25bXTtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZm5nLXBvcG92ZXItbWVudScsXG4gIHRlbXBsYXRlVXJsOiAnLi9wb3BvdmVyLW1lbnUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wb3BvdmVyLW1lbnUuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBQb3BvdmVyTWVudUNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGljb24gPSAnZndlLWljb24tbWVudS1tb3JlIGZ3ZS1pY29uLWxnJztcbiAgQElucHV0KCkgbWVudTogUG9wb3Zlck1lbnVbXSA9IFtdO1xuICBASW5wdXQoKSBvcHRpb25zOiBQb3BvdmVyTWVudU9wdGlvbnMgPSB7fTtcblxuICBAT3V0cHV0KCkgbWVudUFjdGlvbjogRXZlbnRFbWl0dGVyPFBvcG92ZXJNZW51QWN0aW9uPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBAVmlld0NoaWxkKCdtZW51VHBsJykgbWVudVRwbDogVGVtcGxhdGVSZWY8YW55PjtcbiAgQFZpZXdDaGlsZCgnb3JpZ2luJykgb3JpZ2luOiBFbGVtZW50UmVmO1xuXG4gIHByaXZhdGUgcG9wb3ZlclJlZjogUG9wb3ZlclJlZjtcbiAgcHJpdmF0ZSBpdGVtSGVpZ2h0ID0gMzY7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBwb3BvdmVyU2VydmljZTogUG9wb3ZlclNlcnZpY2UpIHt9XG5cbiAgc2hvdyhldmVudDogRXZlbnQsIGNvbnRlbnQ6IFRlbXBsYXRlUmVmPGFueT4sIG9yaWdpbjogSFRNTEVsZW1lbnQpIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGlmICgwIDwgdGhpcy5tZW51Lmxlbmd0aCkge1xuICAgICAgdGhpcy5wb3BvdmVyUmVmID0gdGhpcy5wb3BvdmVyU2VydmljZS5vcGVuKHtcbiAgICAgICAgY29udGVudCxcbiAgICAgICAgb3JpZ2luLFxuICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgdHlwZTogUG9wb3ZlclR5cGVzLk1lbnUsXG4gICAgICAgICAgaGFzQmFja2Ryb3A6IHRydWUsXG4gICAgICAgICAgLy8gaGVpZ2h0IGNhbGMgaXMgbmVlZGVkIGZvciBjb3JyZWN0IHZlcnRpY2FsIHBvc2l0aW9uaW5nICgrMzIgLT4gMiAqIHZlcnRpY2FsIHBhZGRpbmcgMTZweClcbiAgICAgICAgICBoZWlnaHQ6ICsodGhpcy5pdGVtSGVpZ2h0ICogdGhpcy5tZW51Lmxlbmd0aCArIDMyKSxcbiAgICAgICAgICBwb3NpdGlvbnM6IHRoaXMub3B0aW9ucyAhPSBudWxsICYmIHRoaXMub3B0aW9ucy5wb3NpdGlvbnMgPyB0aGlzLm9wdGlvbnMucG9zaXRpb25zIDogbnVsbFxuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBhY3Rpb24oYWN0aW9uOiBzdHJpbmcsIHBheWxvYWQ6IGFueSkge1xuICAgIHRoaXMubWVudUFjdGlvbi5lbWl0KHsgYWN0aW9uLCBwYXlsb2FkIH0pO1xuICAgIGlmIChudWxsICE9IHRoaXMucG9wb3ZlclJlZikge1xuICAgICAgdGhpcy5wb3BvdmVyUmVmLmNsb3NlKCk7XG4gICAgfVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6a2V5ZG93bi5lc2NhcGUnKVxuICBoaWRlKCkge1xuICAgIGlmIChudWxsICE9IHRoaXMucG9wb3ZlclJlZikge1xuICAgICAgdGhpcy5wb3BvdmVyUmVmLmNsb3NlKCk7XG4gICAgfVxuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiMCA8IG1lbnUubGVuZ3RoXCI+XG4gIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiZndlLWJ0biBmd2UtYnRuLWxpbmsgZndlLWRhcmsgb3JpZ2luXCIgKGNsaWNrKT1cInNob3coJGV2ZW50LCBtZW51VHBsLCBvcmlnaW4pXCIgI29yaWdpbj5cbiAgICA8aSBjbGFzcz1cImZ3ZS1pY29uIGZ3ZS1wci0wXCIgW25nQ2xhc3NdPVwiaWNvblwiPjwvaT5cbiAgPC9idXR0b24+XG4gIDxuZy10ZW1wbGF0ZSAjbWVudVRwbD5cbiAgICA8dWwgY2xhc3M9XCJmd2UtbGlzdC1ncm91cFwiPlxuICAgICAgPGxpICpuZ0Zvcj1cImxldCBpdGVtIG9mIG1lbnVcIiBjbGFzcz1cImZ3ZS1saXN0LWdyb3VwLWl0ZW1cIj5cbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJmd2UtYnRuIGZ3ZS1idG4tbGluayBmd2UtZGFya1wiIChjbGljayk9XCJhY3Rpb24oaXRlbT8uYWN0aW9uLCBpdGVtPy5kYXRhKVwiPlxuICAgICAgICAgIDxpIGNsYXNzPVwiZndlLWljb25cIiBbbmdDbGFzc109XCJpdGVtPy5pY29uXCI+PC9pPlxuICAgICAgICAgIDxzcGFuPnt7IGl0ZW0/LnRleHQgfX08L3NwYW4+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9saT5cbiAgICA8L3VsPlxuICA8L25nLXRlbXBsYXRlPlxuPC9uZy1jb250YWluZXI+XG4iXX0=
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Subject } from 'rxjs';
|
|
2
|
+
export class PopoverRef {
|
|
3
|
+
constructor(overlay, content, data) {
|
|
4
|
+
this.overlay = overlay;
|
|
5
|
+
this.content = content;
|
|
6
|
+
this.data = data;
|
|
7
|
+
this.afterClosed = new Subject();
|
|
8
|
+
this.afterClosed$ = this.afterClosed.asObservable();
|
|
9
|
+
overlay.backdropClick().subscribe(() => {
|
|
10
|
+
this._close('backdropClick', null);
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
close(data) {
|
|
14
|
+
this._close('close', data);
|
|
15
|
+
}
|
|
16
|
+
_close(type, data) {
|
|
17
|
+
this.overlay.dispose();
|
|
18
|
+
this.afterClosed.next({
|
|
19
|
+
type,
|
|
20
|
+
data
|
|
21
|
+
});
|
|
22
|
+
this.afterClosed.complete();
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci1yZWYuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL3BvcG92ZXJzL3BvcG92ZXItcmVmLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFJL0IsTUFBTSxPQUFPLFVBQVU7SUFJckIsWUFBbUIsT0FBbUIsRUFBUyxPQUF1QixFQUFTLElBQU87UUFBbkUsWUFBTyxHQUFQLE9BQU8sQ0FBWTtRQUFTLFlBQU8sR0FBUCxPQUFPLENBQWdCO1FBQVMsU0FBSSxHQUFKLElBQUksQ0FBRztRQUg5RSxnQkFBVyxHQUFHLElBQUksT0FBTyxFQUF3QixDQUFDO1FBQzFELGlCQUFZLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUc3QyxPQUFPLENBQUMsYUFBYSxFQUFFLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNyQyxJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNyQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxLQUFLLENBQUMsSUFBUTtRQUNaLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFTyxNQUFNLENBQUMsSUFBK0IsRUFBRSxJQUFRO1FBQ3RELElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUM7WUFDcEIsSUFBSTtZQUNKLElBQUk7U0FDTCxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzlCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE92ZXJsYXlSZWYgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFBvcG92ZXJDb250ZW50LCBQb3BvdmVyQ2xvc2VFdmVudCB9IGZyb20gJy4vcG9wb3Zlci5tb2RlbHMnO1xuXG5leHBvcnQgY2xhc3MgUG9wb3ZlclJlZjxUID0gYW55PiB7XG4gIHByaXZhdGUgYWZ0ZXJDbG9zZWQgPSBuZXcgU3ViamVjdDxQb3BvdmVyQ2xvc2VFdmVudDxUPj4oKTtcbiAgYWZ0ZXJDbG9zZWQkID0gdGhpcy5hZnRlckNsb3NlZC5hc09ic2VydmFibGUoKTtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgb3ZlcmxheTogT3ZlcmxheVJlZiwgcHVibGljIGNvbnRlbnQ6IFBvcG92ZXJDb250ZW50LCBwdWJsaWMgZGF0YTogVCkge1xuICAgIG92ZXJsYXkuYmFja2Ryb3BDbGljaygpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLl9jbG9zZSgnYmFja2Ryb3BDbGljaycsIG51bGwpO1xuICAgIH0pO1xuICB9XG5cbiAgY2xvc2UoZGF0YT86IFQpIHtcbiAgICB0aGlzLl9jbG9zZSgnY2xvc2UnLCBkYXRhKTtcbiAgfVxuXG4gIHByaXZhdGUgX2Nsb3NlKHR5cGU6IFBvcG92ZXJDbG9zZUV2ZW50Wyd0eXBlJ10sIGRhdGE/OiBUKSB7XG4gICAgdGhpcy5vdmVybGF5LmRpc3Bvc2UoKTtcbiAgICB0aGlzLmFmdGVyQ2xvc2VkLm5leHQoe1xuICAgICAgdHlwZSxcbiAgICAgIGRhdGFcbiAgICB9KTtcbiAgICB0aGlzLmFmdGVyQ2xvc2VkLmNvbXBsZXRlKCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { PopoverPosition, PopoverTypes } from './popover.models';
|
|
2
|
+
export const defaultPositions = {
|
|
3
|
+
[PopoverPosition.Bottom]: {
|
|
4
|
+
originX: 'center',
|
|
5
|
+
originY: 'bottom',
|
|
6
|
+
overlayX: 'center',
|
|
7
|
+
overlayY: 'top',
|
|
8
|
+
offsetY: 22
|
|
9
|
+
},
|
|
10
|
+
[PopoverPosition.Top]: {
|
|
11
|
+
originX: 'center',
|
|
12
|
+
originY: 'top',
|
|
13
|
+
overlayX: 'center',
|
|
14
|
+
overlayY: 'bottom',
|
|
15
|
+
offsetY: -22
|
|
16
|
+
},
|
|
17
|
+
[PopoverPosition.Right]: {
|
|
18
|
+
originX: 'end',
|
|
19
|
+
originY: 'center',
|
|
20
|
+
overlayX: 'start',
|
|
21
|
+
overlayY: 'center',
|
|
22
|
+
offsetX: 22
|
|
23
|
+
},
|
|
24
|
+
[PopoverPosition.Left]: {
|
|
25
|
+
originX: 'start',
|
|
26
|
+
originY: 'center',
|
|
27
|
+
overlayX: 'end',
|
|
28
|
+
overlayY: 'center',
|
|
29
|
+
offsetX: -22
|
|
30
|
+
},
|
|
31
|
+
[PopoverPosition.LeftTop]: {
|
|
32
|
+
originX: 'start',
|
|
33
|
+
originY: 'center',
|
|
34
|
+
overlayX: 'end',
|
|
35
|
+
overlayY: 'top',
|
|
36
|
+
offsetX: -22,
|
|
37
|
+
offsetY: -32
|
|
38
|
+
},
|
|
39
|
+
[PopoverPosition.RightTop]: {
|
|
40
|
+
originX: 'end',
|
|
41
|
+
originY: 'center',
|
|
42
|
+
overlayX: 'start',
|
|
43
|
+
overlayY: 'top',
|
|
44
|
+
offsetX: 22,
|
|
45
|
+
offsetY: -32
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
export const defaultClasses = {
|
|
49
|
+
[PopoverTypes.Tooltip]: 'fng-popover-tooltip',
|
|
50
|
+
[PopoverTypes.Menu]: 'fng-popover-menu',
|
|
51
|
+
[PopoverTypes.Legend]: 'fng-popover-legend',
|
|
52
|
+
[PopoverTypes.Content]: 'fng-popover-content',
|
|
53
|
+
[PopoverPosition.Bottom]: 'fng-popover-bottom',
|
|
54
|
+
[PopoverPosition.Top]: 'fng-popover-top',
|
|
55
|
+
[PopoverPosition.Right]: 'fng-popover-right',
|
|
56
|
+
[PopoverPosition.Left]: 'fng-popover-left',
|
|
57
|
+
[PopoverPosition.RightTop]: 'fng-popover-right-top',
|
|
58
|
+
[PopoverPosition.LeftTop]: 'fng-popover-left-top'
|
|
59
|
+
};
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5kZWZhdWx0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvcG9wb3ZlcnMvcG9wb3Zlci5kZWZhdWx0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRWpFLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHO0lBQzlCLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxFQUFFO1FBQ3hCLE9BQU8sRUFBRSxRQUFRO1FBQ2pCLE9BQU8sRUFBRSxRQUFRO1FBQ2pCLFFBQVEsRUFBRSxRQUFRO1FBQ2xCLFFBQVEsRUFBRSxLQUFLO1FBQ2YsT0FBTyxFQUFFLEVBQUU7S0FDWjtJQUNELENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1FBQ3JCLE9BQU8sRUFBRSxRQUFRO1FBQ2pCLE9BQU8sRUFBRSxLQUFLO1FBQ2QsUUFBUSxFQUFFLFFBQVE7UUFDbEIsUUFBUSxFQUFFLFFBQVE7UUFDbEIsT0FBTyxFQUFFLENBQUMsRUFBRTtLQUNiO0lBQ0QsQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLEVBQUU7UUFDdkIsT0FBTyxFQUFFLEtBQUs7UUFDZCxPQUFPLEVBQUUsUUFBUTtRQUNqQixRQUFRLEVBQUUsT0FBTztRQUNqQixRQUFRLEVBQUUsUUFBUTtRQUNsQixPQUFPLEVBQUUsRUFBRTtLQUNaO0lBQ0QsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFDdEIsT0FBTyxFQUFFLE9BQU87UUFDaEIsT0FBTyxFQUFFLFFBQVE7UUFDakIsUUFBUSxFQUFFLEtBQUs7UUFDZixRQUFRLEVBQUUsUUFBUTtRQUNsQixPQUFPLEVBQUUsQ0FBQyxFQUFFO0tBQ2I7SUFDRCxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsRUFBRTtRQUN6QixPQUFPLEVBQUUsT0FBTztRQUNoQixPQUFPLEVBQUUsUUFBUTtRQUNqQixRQUFRLEVBQUUsS0FBSztRQUNmLFFBQVEsRUFBRSxLQUFLO1FBQ2YsT0FBTyxFQUFFLENBQUMsRUFBRTtRQUNaLE9BQU8sRUFBRSxDQUFDLEVBQUU7S0FDYjtJQUNELENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxFQUFFO1FBQzFCLE9BQU8sRUFBRSxLQUFLO1FBQ2QsT0FBTyxFQUFFLFFBQVE7UUFDakIsUUFBUSxFQUFFLE9BQU87UUFDakIsUUFBUSxFQUFFLEtBQUs7UUFDZixPQUFPLEVBQUUsRUFBRTtRQUNYLE9BQU8sRUFBRSxDQUFDLEVBQUU7S0FDYjtDQUNGLENBQUM7QUFDRixNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUc7SUFDNUIsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLEVBQUUscUJBQXFCO0lBQzdDLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxFQUFFLGtCQUFrQjtJQUN2QyxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxvQkFBb0I7SUFDM0MsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLEVBQUUscUJBQXFCO0lBQzdDLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxFQUFFLG9CQUFvQjtJQUM5QyxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsRUFBRSxpQkFBaUI7SUFDeEMsQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLEVBQUUsbUJBQW1CO0lBQzVDLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxFQUFFLGtCQUFrQjtJQUMxQyxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsRUFBRSx1QkFBdUI7SUFDbkQsQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLEVBQUUsc0JBQXNCO0NBQ2xELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQb3BvdmVyUG9zaXRpb24sIFBvcG92ZXJUeXBlcyB9IGZyb20gJy4vcG9wb3Zlci5tb2RlbHMnO1xuXG5leHBvcnQgY29uc3QgZGVmYXVsdFBvc2l0aW9ucyA9IHtcbiAgW1BvcG92ZXJQb3NpdGlvbi5Cb3R0b21dOiB7XG4gICAgb3JpZ2luWDogJ2NlbnRlcicsXG4gICAgb3JpZ2luWTogJ2JvdHRvbScsXG4gICAgb3ZlcmxheVg6ICdjZW50ZXInLFxuICAgIG92ZXJsYXlZOiAndG9wJyxcbiAgICBvZmZzZXRZOiAyMlxuICB9LFxuICBbUG9wb3ZlclBvc2l0aW9uLlRvcF06IHtcbiAgICBvcmlnaW5YOiAnY2VudGVyJyxcbiAgICBvcmlnaW5ZOiAndG9wJyxcbiAgICBvdmVybGF5WDogJ2NlbnRlcicsXG4gICAgb3ZlcmxheVk6ICdib3R0b20nLFxuICAgIG9mZnNldFk6IC0yMlxuICB9LFxuICBbUG9wb3ZlclBvc2l0aW9uLlJpZ2h0XToge1xuICAgIG9yaWdpblg6ICdlbmQnLFxuICAgIG9yaWdpblk6ICdjZW50ZXInLFxuICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxuICAgIG92ZXJsYXlZOiAnY2VudGVyJyxcbiAgICBvZmZzZXRYOiAyMlxuICB9LFxuICBbUG9wb3ZlclBvc2l0aW9uLkxlZnRdOiB7XG4gICAgb3JpZ2luWDogJ3N0YXJ0JyxcbiAgICBvcmlnaW5ZOiAnY2VudGVyJyxcbiAgICBvdmVybGF5WDogJ2VuZCcsXG4gICAgb3ZlcmxheVk6ICdjZW50ZXInLFxuICAgIG9mZnNldFg6IC0yMlxuICB9LFxuICBbUG9wb3ZlclBvc2l0aW9uLkxlZnRUb3BdOiB7XG4gICAgb3JpZ2luWDogJ3N0YXJ0JyxcbiAgICBvcmlnaW5ZOiAnY2VudGVyJyxcbiAgICBvdmVybGF5WDogJ2VuZCcsXG4gICAgb3ZlcmxheVk6ICd0b3AnLFxuICAgIG9mZnNldFg6IC0yMixcbiAgICBvZmZzZXRZOiAtMzJcbiAgfSxcbiAgW1BvcG92ZXJQb3NpdGlvbi5SaWdodFRvcF06IHtcbiAgICBvcmlnaW5YOiAnZW5kJyxcbiAgICBvcmlnaW5ZOiAnY2VudGVyJyxcbiAgICBvdmVybGF5WDogJ3N0YXJ0JyxcbiAgICBvdmVybGF5WTogJ3RvcCcsXG4gICAgb2Zmc2V0WDogMjIsXG4gICAgb2Zmc2V0WTogLTMyXG4gIH1cbn07XG5leHBvcnQgY29uc3QgZGVmYXVsdENsYXNzZXMgPSB7XG4gIFtQb3BvdmVyVHlwZXMuVG9vbHRpcF06ICdmbmctcG9wb3Zlci10b29sdGlwJyxcbiAgW1BvcG92ZXJUeXBlcy5NZW51XTogJ2ZuZy1wb3BvdmVyLW1lbnUnLFxuICBbUG9wb3ZlclR5cGVzLkxlZ2VuZF06ICdmbmctcG9wb3Zlci1sZWdlbmQnLFxuICBbUG9wb3ZlclR5cGVzLkNvbnRlbnRdOiAnZm5nLXBvcG92ZXItY29udGVudCcsXG4gIFtQb3BvdmVyUG9zaXRpb24uQm90dG9tXTogJ2ZuZy1wb3BvdmVyLWJvdHRvbScsXG4gIFtQb3BvdmVyUG9zaXRpb24uVG9wXTogJ2ZuZy1wb3BvdmVyLXRvcCcsXG4gIFtQb3BvdmVyUG9zaXRpb24uUmlnaHRdOiAnZm5nLXBvcG92ZXItcmlnaHQnLFxuICBbUG9wb3ZlclBvc2l0aW9uLkxlZnRdOiAnZm5nLXBvcG92ZXItbGVmdCcsXG4gIFtQb3BvdmVyUG9zaXRpb24uUmlnaHRUb3BdOiAnZm5nLXBvcG92ZXItcmlnaHQtdG9wJyxcbiAgW1BvcG92ZXJQb3NpdGlvbi5MZWZ0VG9wXTogJ2ZuZy1wb3BvdmVyLWxlZnQtdG9wJ1xufTtcbiJdfQ==
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export var PopoverTypes;
|
|
2
|
+
(function (PopoverTypes) {
|
|
3
|
+
PopoverTypes["Tooltip"] = "tooltip";
|
|
4
|
+
PopoverTypes["Menu"] = "menu";
|
|
5
|
+
PopoverTypes["Legend"] = "legend";
|
|
6
|
+
PopoverTypes["Content"] = "content";
|
|
7
|
+
})(PopoverTypes || (PopoverTypes = {}));
|
|
8
|
+
export var PopoverPosition;
|
|
9
|
+
(function (PopoverPosition) {
|
|
10
|
+
PopoverPosition["Top"] = "top";
|
|
11
|
+
PopoverPosition["Bottom"] = "bottom";
|
|
12
|
+
PopoverPosition["Right"] = "right";
|
|
13
|
+
PopoverPosition["RightTop"] = "right-top";
|
|
14
|
+
PopoverPosition["Left"] = "left";
|
|
15
|
+
PopoverPosition["LeftTop"] = "left-top";
|
|
16
|
+
})(PopoverPosition || (PopoverPosition = {}));
|
|
17
|
+
export var PopoverContentTypes;
|
|
18
|
+
(function (PopoverContentTypes) {
|
|
19
|
+
PopoverContentTypes["Template"] = "template";
|
|
20
|
+
PopoverContentTypes["Component"] = "component";
|
|
21
|
+
PopoverContentTypes["Text"] = "text";
|
|
22
|
+
})(PopoverContentTypes || (PopoverContentTypes = {}));
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5tb2RlbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL3BvcG92ZXJzL3BvcG92ZXIubW9kZWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVNBLE1BQU0sQ0FBTixJQUFZLFlBS1g7QUFMRCxXQUFZLFlBQVk7SUFDdEIsbUNBQW1CLENBQUE7SUFDbkIsNkJBQWEsQ0FBQTtJQUNiLGlDQUFpQixDQUFBO0lBQ2pCLG1DQUFtQixDQUFBO0FBQ3JCLENBQUMsRUFMVyxZQUFZLEtBQVosWUFBWSxRQUt2QjtBQUVELE1BQU0sQ0FBTixJQUFZLGVBT1g7QUFQRCxXQUFZLGVBQWU7SUFDekIsOEJBQVcsQ0FBQTtJQUNYLG9DQUFpQixDQUFBO0lBQ2pCLGtDQUFlLENBQUE7SUFDZix5Q0FBc0IsQ0FBQTtJQUN0QixnQ0FBYSxDQUFBO0lBQ2IsdUNBQW9CLENBQUE7QUFDdEIsQ0FBQyxFQVBXLGVBQWUsS0FBZixlQUFlLFFBTzFCO0FBb0JELE1BQU0sQ0FBTixJQUFZLG1CQUlYO0FBSkQsV0FBWSxtQkFBbUI7SUFDN0IsNENBQXFCLENBQUE7SUFDckIsOENBQXVCLENBQUE7SUFDdkIsb0NBQWEsQ0FBQTtBQUNmLENBQUMsRUFKVyxtQkFBbUIsS0FBbkIsbUJBQW1CLFFBSTlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGVtcGxhdGVSZWYsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGludGVyZmFjZSBQb3BvdmVyUGFyYW1zPFQ+IHtcbiAgb3JpZ2luOiBIVE1MRWxlbWVudDtcbiAgY29udGVudDogUG9wb3ZlckNvbnRlbnQ7XG4gIG9wdGlvbnM/OiBQb3BvdmVyT3B0aW9ucztcbiAgZGF0YT86IFQ7XG59XG5cbmV4cG9ydCBlbnVtIFBvcG92ZXJUeXBlcyB7XG4gIFRvb2x0aXAgPSAndG9vbHRpcCcsXG4gIE1lbnUgPSAnbWVudScsXG4gIExlZ2VuZCA9ICdsZWdlbmQnLFxuICBDb250ZW50ID0gJ2NvbnRlbnQnXG59XG5cbmV4cG9ydCBlbnVtIFBvcG92ZXJQb3NpdGlvbiB7XG4gIFRvcCA9ICd0b3AnLFxuICBCb3R0b20gPSAnYm90dG9tJyxcbiAgUmlnaHQgPSAncmlnaHQnLFxuICBSaWdodFRvcCA9ICdyaWdodC10b3AnLFxuICBMZWZ0ID0gJ2xlZnQnLFxuICBMZWZ0VG9wID0gJ2xlZnQtdG9wJ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBvcG92ZXJPcHRpb25zIHtcbiAgdHlwZTogUG9wb3ZlclR5cGVzO1xuICB3aWR0aD86IHN0cmluZyB8IG51bWJlcjtcbiAgaGVpZ2h0Pzogc3RyaW5nIHwgbnVtYmVyO1xuICBtYXhXaWR0aD86IHN0cmluZyB8IG51bWJlcjtcbiAgbWF4SGVpZ2h0Pzogc3RyaW5nIHwgbnVtYmVyO1xuICBtaW5XaWR0aD86IHN0cmluZyB8IG51bWJlcjtcbiAgbWluSGVpZ2h0Pzogc3RyaW5nIHwgbnVtYmVyO1xuICBoYXNCYWNrZHJvcD86IGJvb2xlYW47XG4gIGJhY2tkcm9wQ2xhc3M/OiBzdHJpbmc7XG4gIHBvc2l0aW9ucz86IFBvcG92ZXJQb3NpdGlvbltdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBvcG92ZXJDbG9zZUV2ZW50PFQgPSBhbnk+IHtcbiAgdHlwZTogJ2JhY2tkcm9wQ2xpY2snIHwgJ2Nsb3NlJztcbiAgZGF0YTogVDtcbn1cblxuZXhwb3J0IGVudW0gUG9wb3ZlckNvbnRlbnRUeXBlcyB7XG4gIFRlbXBsYXRlID0gJ3RlbXBsYXRlJyxcbiAgQ29tcG9uZW50ID0gJ2NvbXBvbmVudCcsXG4gIFRleHQgPSAndGV4dCdcbn1cblxuZXhwb3J0IHR5cGUgUG9wb3ZlckNvbnRlbnQgPSBUZW1wbGF0ZVJlZjxhbnk+IHwgVHlwZTxhbnk+IHwgc3RyaW5nO1xuXG5leHBvcnQgaW50ZXJmYWNlIFBvcG92ZXJNZW51PFQgPSBhbnk+IHtcbiAgdGV4dDogc3RyaW5nO1xuICBpY29uOiBzdHJpbmc7XG4gIGFjdGlvbjogc3RyaW5nO1xuICBkYXRhPzogVDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQb3BvdmVyTWVudUFjdGlvbjxUID0gYW55PiB7XG4gIGFjdGlvbjogc3RyaW5nO1xuICBwYXlsb2FkOiBUO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBvcG92ZXJNZW51QWN0aW9uQXdhcmU8VCA9IGFueT4ge1xuICBvbk1lbnVBY3Rpb24oZXZlbnQ6IFBvcG92ZXJNZW51QWN0aW9uPFQ+KTogdm9pZDtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import { Injectable, Injector } from '@angular/core';
|
|
2
|
+
import { Overlay, OverlayConfig } from '@angular/cdk/overlay';
|
|
3
|
+
import { ComponentPortal } from '@angular/cdk/portal';
|
|
4
|
+
import { PopoverRef } from './popover-ref';
|
|
5
|
+
import { PopoverComponent } from './popover/popover.component';
|
|
6
|
+
import { defaultPositions, defaultClasses } from './popover.defaults';
|
|
7
|
+
import { PopoverTypes, PopoverPosition } from './popover.models';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
import * as i1 from "@angular/cdk/overlay";
|
|
10
|
+
export class PopoverService {
|
|
11
|
+
constructor(overlay, injector) {
|
|
12
|
+
this.overlay = overlay;
|
|
13
|
+
this.injector = injector;
|
|
14
|
+
this.options = {
|
|
15
|
+
type: PopoverTypes.Tooltip,
|
|
16
|
+
width: null,
|
|
17
|
+
height: null,
|
|
18
|
+
maxWidth: null,
|
|
19
|
+
maxHeight: null,
|
|
20
|
+
minWidth: null,
|
|
21
|
+
minHeight: null,
|
|
22
|
+
hasBackdrop: false,
|
|
23
|
+
backdropClass: 'fng-popover-backdrop',
|
|
24
|
+
positions: null
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
get defaultOptions() {
|
|
28
|
+
return this.options;
|
|
29
|
+
}
|
|
30
|
+
open({ origin, content, data, options }) {
|
|
31
|
+
if (null == options) {
|
|
32
|
+
options = this.defaultOptions;
|
|
33
|
+
}
|
|
34
|
+
const overlayConfig = this.getOverlayConfig({ origin, options });
|
|
35
|
+
const overlayRef = this.overlay.create(overlayConfig);
|
|
36
|
+
const popoverRef = new PopoverRef(overlayRef, content, data);
|
|
37
|
+
const injector = this.createInjector(popoverRef, this.injector);
|
|
38
|
+
overlayRef.attach(new ComponentPortal(PopoverComponent, null, injector));
|
|
39
|
+
return popoverRef;
|
|
40
|
+
}
|
|
41
|
+
getOverlayConfig({ origin, options }) {
|
|
42
|
+
const type = null != options.type ? options.type : this.defaultOptions.type;
|
|
43
|
+
const positions = null != options.positions ? options.positions : this.defaultOptions.positions;
|
|
44
|
+
return new OverlayConfig({
|
|
45
|
+
width: null != options.width ? options.width : this.defaultOptions.width,
|
|
46
|
+
height: null != options.height ? options.height : this.defaultOptions.height,
|
|
47
|
+
maxWidth: null != options.maxWidth ? options.maxWidth : this.defaultOptions.maxWidth,
|
|
48
|
+
maxHeight: null != options.maxHeight ? options.maxHeight : this.defaultOptions.maxHeight,
|
|
49
|
+
minWidth: null != options.minWidth ? options.minWidth : this.defaultOptions.minWidth,
|
|
50
|
+
minHeight: null != options.minHeight ? options.minHeight : this.defaultOptions.minHeight,
|
|
51
|
+
positionStrategy: this.getOverlayPosition(origin, type, positions),
|
|
52
|
+
scrollStrategy: null != this.overlay && null != this.overlay.scrollStrategies ? this.overlay.scrollStrategies.block() : {},
|
|
53
|
+
hasBackdrop: null != options.hasBackdrop ? options.hasBackdrop : this.defaultOptions.hasBackdrop,
|
|
54
|
+
backdropClass: null != options.backdropClass ? options.backdropClass : this.defaultOptions.backdropClass
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
getOverlayPosition(origin, type, positions) {
|
|
58
|
+
const positionStrategy = this.overlay
|
|
59
|
+
.position()
|
|
60
|
+
.flexibleConnectedTo(origin)
|
|
61
|
+
.withPositions(null != positions ? this.getPositions(type, positions) : this.getDefaultPositions(type))
|
|
62
|
+
.withFlexibleDimensions(false)
|
|
63
|
+
.withViewportMargin(16)
|
|
64
|
+
.withPush(false);
|
|
65
|
+
return positionStrategy;
|
|
66
|
+
}
|
|
67
|
+
createInjector(popoverRef, injector) {
|
|
68
|
+
return Injector.create({
|
|
69
|
+
parent: injector,
|
|
70
|
+
providers: [{ provide: PopoverRef, useValue: popoverRef }]
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
getDefaultPositions(type) {
|
|
74
|
+
const pairs = [];
|
|
75
|
+
let positions = [];
|
|
76
|
+
const fn = (t, p) => p.map(position => {
|
|
77
|
+
pairs.push({
|
|
78
|
+
...defaultPositions[position],
|
|
79
|
+
panelClass: [defaultClasses[t], defaultClasses[position]]
|
|
80
|
+
});
|
|
81
|
+
});
|
|
82
|
+
switch (type) {
|
|
83
|
+
case PopoverTypes.Tooltip:
|
|
84
|
+
positions = [PopoverPosition.Bottom, PopoverPosition.Top];
|
|
85
|
+
fn(PopoverTypes.Tooltip, positions);
|
|
86
|
+
break;
|
|
87
|
+
case PopoverTypes.Menu:
|
|
88
|
+
positions = [PopoverPosition.Right, PopoverPosition.Left];
|
|
89
|
+
fn(PopoverTypes.Menu, positions);
|
|
90
|
+
break;
|
|
91
|
+
case PopoverTypes.Legend:
|
|
92
|
+
positions = [PopoverPosition.Bottom];
|
|
93
|
+
fn(PopoverTypes.Legend, positions);
|
|
94
|
+
break;
|
|
95
|
+
case PopoverTypes.Content:
|
|
96
|
+
positions = [PopoverPosition.Bottom];
|
|
97
|
+
fn(PopoverTypes.Content, positions);
|
|
98
|
+
break;
|
|
99
|
+
default:
|
|
100
|
+
break;
|
|
101
|
+
}
|
|
102
|
+
return pairs;
|
|
103
|
+
}
|
|
104
|
+
getPositions(type, positions) {
|
|
105
|
+
const pairs = [];
|
|
106
|
+
positions.map(position => {
|
|
107
|
+
pairs.push({
|
|
108
|
+
...defaultPositions[position],
|
|
109
|
+
panelClass: [defaultClasses[type], defaultClasses[position]]
|
|
110
|
+
});
|
|
111
|
+
});
|
|
112
|
+
return pairs;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
PopoverService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: PopoverService, deps: [{ token: i1.Overlay }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
116
|
+
PopoverService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: PopoverService, providedIn: 'root' });
|
|
117
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: PopoverService, decorators: [{
|
|
118
|
+
type: Injectable,
|
|
119
|
+
args: [{
|
|
120
|
+
providedIn: 'root'
|
|
121
|
+
}]
|
|
122
|
+
}], ctorParameters: function () { return [{ type: i1.Overlay }, { type: i0.Injector }]; } });
|
|
123
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9wb3BvdmVycy9wb3BvdmVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUNMLE9BQU8sRUFFUCxhQUFhLEVBR2QsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFdEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdEUsT0FBTyxFQUFpQyxZQUFZLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7OztBQUtoRyxNQUFNLE9BQU8sY0FBYztJQWtCekIsWUFBb0IsT0FBZ0IsRUFBVSxRQUFrQjtRQUE1QyxZQUFPLEdBQVAsT0FBTyxDQUFTO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQWpCdkQsWUFBTyxHQUFtQjtZQUNqQyxJQUFJLEVBQUUsWUFBWSxDQUFDLE9BQU87WUFDMUIsS0FBSyxFQUFFLElBQUk7WUFDWCxNQUFNLEVBQUUsSUFBSTtZQUNaLFFBQVEsRUFBRSxJQUFJO1lBQ2QsU0FBUyxFQUFFLElBQUk7WUFDZixRQUFRLEVBQUUsSUFBSTtZQUNkLFNBQVMsRUFBRSxJQUFJO1lBQ2YsV0FBVyxFQUFFLEtBQUs7WUFDbEIsYUFBYSxFQUFFLHNCQUFzQjtZQUNyQyxTQUFTLEVBQUUsSUFBSTtTQUNoQixDQUFDO0lBTWlFLENBQUM7SUFKcEUsSUFBSSxjQUFjO1FBQ2hCLE9B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LFlBQVksQ0FBQyxJQUFrQixFQUFFLFNBQTRCO1FBQ25FLE1BQU0sS0FBSyxHQUE2QixFQUFFLENBQUM7UUFDM0MsU0FBUyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUN2QixLQUFLLENBQUMsSUFBSSxDQUFDO2dCQUNULEdBQUcsZ0JBQWdCLENBQUMsUUFBa0IsQ0FBQztnQkFDdkMsVUFBVSxFQUFFLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxFQUFFLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUM3RCxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzs7MkdBbEhVLGNBQWM7K0dBQWQsY0FBYyxjQUZiLE1BQU07MkZBRVAsY0FBYztrQkFIMUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgT3ZlcmxheSxcbiAgQ29ubmVjdGlvblBvc2l0aW9uUGFpcixcbiAgT3ZlcmxheUNvbmZpZyxcbiAgRmxleGlibGVDb25uZWN0ZWRQb3NpdGlvblN0cmF0ZWd5LFxuICBOb29wU2Nyb2xsU3RyYXRlZ3lcbn0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgQ29tcG9uZW50UG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5cbmltcG9ydCB7IFBvcG92ZXJSZWYgfSBmcm9tICcuL3BvcG92ZXItcmVmJztcbmltcG9ydCB7IFBvcG92ZXJDb21wb25lbnQgfSBmcm9tICcuL3BvcG92ZXIvcG9wb3Zlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgZGVmYXVsdFBvc2l0aW9ucywgZGVmYXVsdENsYXNzZXMgfSBmcm9tICcuL3BvcG92ZXIuZGVmYXVsdHMnO1xuaW1wb3J0IHsgUG9wb3ZlclBhcmFtcywgUG9wb3Zlck9wdGlvbnMsIFBvcG92ZXJUeXBlcywgUG9wb3ZlclBvc2l0aW9uIH0gZnJvbSAnLi9wb3BvdmVyLm1vZGVscyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFBvcG92ZXJTZXJ2aWNlIHtcbiAgcmVhZG9ubHkgb3B0aW9uczogUG9wb3Zlck9wdGlvbnMgPSB7XG4gICAgdHlwZTogUG9wb3ZlclR5cGVzLlRvb2x0aXAsXG4gICAgd2lkdGg6IG51bGwsXG4gICAgaGVpZ2h0OiBudWxsLFxuICAgIG1heFdpZHRoOiBudWxsLFxuICAgIG1heEhlaWdodDogbnVsbCxcbiAgICBtaW5XaWR0aDogbnVsbCxcbiAgICBtaW5IZWlnaHQ6IG51bGwsXG4gICAgaGFzQmFja2Ryb3A6IGZhbHNlLFxuICAgIGJhY2tkcm9wQ2xhc3M6ICdmbmctcG9wb3Zlci1iYWNrZHJvcCcsXG4gICAgcG9zaXRpb25zOiBudWxsXG4gIH07XG5cbiAgZ2V0IGRlZmF1bHRPcHRpb25zKCkge1xuICAgIHJldHVybiB0aGlzLm9wdGlvbnM7XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIG92ZXJsYXk6IE92ZXJsYXksIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yKSB7fVxuXG4gIG9wZW48VD4oeyBvcmlnaW4sIGNvbnRlbnQsIGRhdGEsIG9wdGlvbnMgfTogUG9wb3ZlclBhcmFtczxUPik6IFBvcG92ZXJSZWY8VD4ge1xuICAgIGlmIChudWxsID09IG9wdGlvbnMpIHtcbiAgICAgIG9wdGlvbnMgPSB0aGlzLmRlZmF1bHRPcHRpb25zO1xuICAgIH1cbiAgICBjb25zdCBvdmVybGF5Q29uZmlnID0gdGhpcy5nZXRPdmVybGF5Q29uZmlnKHsgb3JpZ2luLCBvcHRpb25zIH0pO1xuICAgIGNvbnN0IG92ZXJsYXlSZWYgPSB0aGlzLm92ZXJsYXkuY3JlYXRlKG92ZXJsYXlDb25maWcpO1xuICAgIGNvbnN0IHBvcG92ZXJSZWYgPSBuZXcgUG9wb3ZlclJlZjxUPihvdmVybGF5UmVmLCBjb250ZW50LCBkYXRhKTtcbiAgICBjb25zdCBpbmplY3RvciA9IHRoaXMuY3JlYXRlSW5qZWN0b3IocG9wb3ZlclJlZiwgdGhpcy5pbmplY3Rvcik7XG5cbiAgICBvdmVybGF5UmVmLmF0dGFjaChuZXcgQ29tcG9uZW50UG9ydGFsKFBvcG92ZXJDb21wb25lbnQsIG51bGwsIGluamVjdG9yKSk7XG5cbiAgICByZXR1cm4gcG9wb3ZlclJlZjtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0T3ZlcmxheUNvbmZpZyh7IG9yaWdpbiwgb3B0aW9ucyB9OiB7IG9yaWdpbjogSFRNTEVsZW1lbnQ7IG9wdGlvbnM6IFBvcG92ZXJPcHRpb25zIH0pOiBPdmVybGF5Q29uZmlnIHtcbiAgICBjb25zdCB0eXBlID0gbnVsbCAhPSBvcHRpb25zLnR5cGUgPyBvcHRpb25zLnR5cGUgOiB0aGlzLmRlZmF1bHRPcHRpb25zLnR5cGU7XG4gICAgY29uc3QgcG9zaXRpb25zID0gbnVsbCAhPSBvcHRpb25zLnBvc2l0aW9ucyA/IG9wdGlvbnMucG9zaXRpb25zIDogdGhpcy5kZWZhdWx0T3B0aW9ucy5wb3NpdGlvbnM7XG4gICAgcmV0dXJuIG5ldyBPdmVybGF5Q29uZmlnKHtcbiAgICAgIHdpZHRoOiBudWxsICE9IG9wdGlvbnMud2lkdGggPyBvcHRpb25zLndpZHRoIDogdGhpcy5kZWZhdWx0T3B0aW9ucy53aWR0aCxcbiAgICAgIGhlaWdodDogbnVsbCAhPSBvcHRpb25zLmhlaWdodCA/IG9wdGlvbnMuaGVpZ2h0IDogdGhpcy5kZWZhdWx0T3B0aW9ucy5oZWlnaHQsXG4gICAgICBtYXhXaWR0aDogbnVsbCAhPSBvcHRpb25zLm1heFdpZHRoID8gb3B0aW9ucy5tYXhXaWR0aCA6IHRoaXMuZGVmYXVsdE9wdGlvbnMubWF4V2lkdGgsXG4gICAgICBtYXhIZWlnaHQ6IG51bGwgIT0gb3B0aW9ucy5tYXhIZWlnaHQgPyBvcHRpb25zLm1heEhlaWdodCA6IHRoaXMuZGVmYXVsdE9wdGlvbnMubWF4SGVpZ2h0LFxuICAgICAgbWluV2lkdGg6IG51bGwgIT0gb3B0aW9ucy5taW5XaWR0aCA/IG9wdGlvbnMubWluV2lkdGggOiB0aGlzLmRlZmF1bHRPcHRpb25zLm1pbldpZHRoLFxuICAgICAgbWluSGVpZ2h0OiBudWxsICE9IG9wdGlvbnMubWluSGVpZ2h0ID8gb3B0aW9ucy5taW5IZWlnaHQgOiB0aGlzLmRlZmF1bHRPcHRpb25zLm1pbkhlaWdodCxcbiAgICAgIHBvc2l0aW9uU3RyYXRlZ3k6IHRoaXMuZ2V0T3ZlcmxheVBvc2l0aW9uKG9yaWdpbiwgdHlwZSwgcG9zaXRpb25zKSxcbiAgICAgIHNjcm9sbFN0cmF0ZWd5OlxuICAgICAgICBudWxsICE9IHRoaXMub3ZlcmxheSAmJiBudWxsICE9IHRoaXMub3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzID8gdGhpcy5vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMuYmxvY2soKSA6ICh7fSBhcyBOb29wU2Nyb2xsU3RyYXRlZ3kpLFxuICAgICAgaGFzQmFja2Ryb3A6IG51bGwgIT0gb3B0aW9ucy5oYXNCYWNrZHJvcCA/IG9wdGlvbnMuaGFzQmFja2Ryb3AgOiB0aGlzLmRlZmF1bHRPcHRpb25zLmhhc0JhY2tkcm9wLFxuICAgICAgYmFja2Ryb3BDbGFzczogbnVsbCAhPSBvcHRpb25zLmJhY2tkcm9wQ2xhc3MgPyBvcHRpb25zLmJhY2tkcm9wQ2xhc3MgOiB0aGlzLmRlZmF1bHRPcHRpb25zLmJhY2tkcm9wQ2xhc3NcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0T3ZlcmxheVBvc2l0aW9uKG9yaWdpbjogSFRNTEVsZW1lbnQsIHR5cGU6IFBvcG92ZXJUeXBlcywgcG9zaXRpb25zOiBQb3BvdmVyUG9zaXRpb25bXSk6IEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneSB7XG4gICAgY29uc3QgcG9zaXRpb25TdHJhdGVneSA9IHRoaXMub3ZlcmxheVxuICAgICAgLnBvc2l0aW9uKClcbiAgICAgIC5mbGV4aWJsZUNvbm5lY3RlZFRvKG9yaWdpbilcbiAgICAgIC53aXRoUG9zaXRpb25zKG51bGwgIT0gcG9zaXRpb25zID8gdGhpcy5nZXRQb3NpdGlvbnModHlwZSwgcG9zaXRpb25zKSA6IHRoaXMuZ2V0RGVmYXVsdFBvc2l0aW9ucyh0eXBlKSlcbiAgICAgIC53aXRoRmxleGlibGVEaW1lbnNpb25zKGZhbHNlKVxuICAgICAgLndpdGhWaWV3cG9ydE1hcmdpbigxNilcbiAgICAgIC53aXRoUHVzaChmYWxzZSk7XG5cbiAgICByZXR1cm4gcG9zaXRpb25TdHJhdGVneTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlSW5qZWN0b3IocG9wb3ZlclJlZjogUG9wb3ZlclJlZiwgaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gICAgcmV0dXJuIEluamVjdG9yLmNyZWF0ZSh7XG4gICAgICBwYXJlbnQ6IGluamVjdG9yLFxuICAgICAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBQb3BvdmVyUmVmLCB1c2VWYWx1ZTogcG9wb3ZlclJlZiB9XVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXREZWZhdWx0UG9zaXRpb25zKHR5cGU6IFBvcG92ZXJUeXBlcyk6IENvbm5lY3Rpb25Qb3NpdGlvblBhaXJbXSB7XG4gICAgY29uc3QgcGFpcnM6IENvbm5lY3Rpb25Qb3NpdGlvblBhaXJbXSA9IFtdO1xuICAgIGxldCBwb3NpdGlvbnMgPSBbXTtcbiAgICBjb25zdCBmbiA9ICh0OiBQb3BvdmVyVHlwZXMsIHA6IFBvcG92ZXJQb3NpdGlvbltdKSA9PlxuICAgICAgcC5tYXAocG9zaXRpb24gPT4ge1xuICAgICAgICBwYWlycy5wdXNoKHtcbiAgICAgICAgICAuLi5kZWZhdWx0UG9zaXRpb25zW3Bvc2l0aW9uIGFzIHN0cmluZ10sXG4gICAgICAgICAgcGFuZWxDbGFzczogW2RlZmF1bHRDbGFzc2VzW3RdLCBkZWZhdWx0Q2xhc3Nlc1twb3NpdGlvbl1dXG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICBjYXNlIFBvcG92ZXJUeXBlcy5Ub29sdGlwOlxuICAgICAgICBwb3NpdGlvbnMgPSBbUG9wb3ZlclBvc2l0aW9uLkJvdHRvbSwgUG9wb3ZlclBvc2l0aW9uLlRvcF07XG4gICAgICAgIGZuKFBvcG92ZXJUeXBlcy5Ub29sdGlwLCBwb3NpdGlvbnMpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgUG9wb3ZlclR5cGVzLk1lbnU6XG4gICAgICAgIHBvc2l0aW9ucyA9IFtQb3BvdmVyUG9zaXRpb24uUmlnaHQsIFBvcG92ZXJQb3NpdGlvbi5MZWZ0XTtcbiAgICAgICAgZm4oUG9wb3ZlclR5cGVzLk1lbnUsIHBvc2l0aW9ucyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBQb3BvdmVyVHlwZXMuTGVnZW5kOlxuICAgICAgICBwb3NpdGlvbnMgPSBbUG9wb3ZlclBvc2l0aW9uLkJvdHRvbV07XG4gICAgICAgIGZuKFBvcG92ZXJUeXBlcy5MZWdlbmQsIHBvc2l0aW9ucyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBQb3BvdmVyVHlwZXMuQ29udGVudDpcbiAgICAgICAgcG9zaXRpb25zID0gW1BvcG92ZXJQb3NpdGlvbi5Cb3R0b21dO1xuICAgICAgICBmbihQb3BvdmVyVHlwZXMuQ29udGVudCwgcG9zaXRpb25zKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICBicmVhaztcbiAgICB9XG4gICAgcmV0dXJuIHBhaXJzO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRQb3NpdGlvbnModHlwZTogUG9wb3ZlclR5cGVzLCBwb3NpdGlvbnM6IFBvcG92ZXJQb3NpdGlvbltdKTogQ29ubmVjdGlvblBvc2l0aW9uUGFpcltdIHtcbiAgICBjb25zdCBwYWlyczogQ29ubmVjdGlvblBvc2l0aW9uUGFpcltdID0gW107XG4gICAgcG9zaXRpb25zLm1hcChwb3NpdGlvbiA9PiB7XG4gICAgICBwYWlycy5wdXNoKHtcbiAgICAgICAgLi4uZGVmYXVsdFBvc2l0aW9uc1twb3NpdGlvbiBhcyBzdHJpbmddLFxuICAgICAgICBwYW5lbENsYXNzOiBbZGVmYXVsdENsYXNzZXNbdHlwZV0sIGRlZmF1bHRDbGFzc2VzW3Bvc2l0aW9uXV1cbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHBhaXJzO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { Directive, HostListener, Input, ElementRef } from '@angular/core';
|
|
2
|
+
import { PopoverService } from '../popover.service';
|
|
3
|
+
import { PopoverTypes } from '../popover.models';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "../popover.service";
|
|
6
|
+
export class TooltipDirective {
|
|
7
|
+
constructor(elmenetRef, popoverService) {
|
|
8
|
+
this.elmenetRef = elmenetRef;
|
|
9
|
+
this.popoverService = popoverService;
|
|
10
|
+
this.text = '';
|
|
11
|
+
// eslint-disable-next-line @angular-eslint/no-input-rename
|
|
12
|
+
this.isVisible = false;
|
|
13
|
+
this.options = {
|
|
14
|
+
maxWidth: 400,
|
|
15
|
+
delay: 0
|
|
16
|
+
};
|
|
17
|
+
this.innerIsVisible = false;
|
|
18
|
+
this.timeoutHandle = null;
|
|
19
|
+
}
|
|
20
|
+
ngOnChanges(changes) {
|
|
21
|
+
this.origin = this.elmenetRef.nativeElement;
|
|
22
|
+
if (changes?.isVisible?.currentValue === true) {
|
|
23
|
+
if (this.innerIsVisible === false) {
|
|
24
|
+
this.open();
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
if (changes?.isVisible?.currentValue === false) {
|
|
28
|
+
if (this.innerIsVisible === true) {
|
|
29
|
+
this.close();
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
ngOnDestroy() {
|
|
34
|
+
this.hide();
|
|
35
|
+
}
|
|
36
|
+
show() {
|
|
37
|
+
if (this.options?.delay > 0) {
|
|
38
|
+
this.timeoutHandle = setTimeout(() => {
|
|
39
|
+
this.open();
|
|
40
|
+
}, +this.options?.delay);
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
this.open();
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
hide() {
|
|
47
|
+
if (this.timeoutHandle != null) {
|
|
48
|
+
clearTimeout(this.timeoutHandle);
|
|
49
|
+
}
|
|
50
|
+
this.close();
|
|
51
|
+
}
|
|
52
|
+
open() {
|
|
53
|
+
if (this.innerIsVisible === false) {
|
|
54
|
+
this.popoverRef = this.popoverService.open({
|
|
55
|
+
content: this.text,
|
|
56
|
+
origin: this.origin,
|
|
57
|
+
options: {
|
|
58
|
+
type: PopoverTypes.Tooltip,
|
|
59
|
+
maxWidth: this.options.maxWidth
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
this.innerIsVisible = true;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
close() {
|
|
66
|
+
if (this.popoverRef != null) {
|
|
67
|
+
this.popoverRef.close();
|
|
68
|
+
}
|
|
69
|
+
this.innerIsVisible = false;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
TooltipDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: TooltipDirective, deps: [{ token: i0.ElementRef }, { token: i1.PopoverService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
73
|
+
TooltipDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.1", type: TooltipDirective, selector: "[fngTooltip]", inputs: { text: ["fngTooltip", "text"], isVisible: ["fngTooltipVisible", "isVisible"], options: "options" }, host: { listeners: { "mouseenter": "show()", "mouseleave": "hide()" } }, usesOnChanges: true, ngImport: i0 });
|
|
74
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: TooltipDirective, decorators: [{
|
|
75
|
+
type: Directive,
|
|
76
|
+
args: [{
|
|
77
|
+
selector: '[fngTooltip]'
|
|
78
|
+
}]
|
|
79
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.PopoverService }]; }, propDecorators: { text: [{
|
|
80
|
+
type: Input,
|
|
81
|
+
args: ['fngTooltip']
|
|
82
|
+
}], isVisible: [{
|
|
83
|
+
type: Input,
|
|
84
|
+
args: ['fngTooltipVisible']
|
|
85
|
+
}], options: [{
|
|
86
|
+
type: Input
|
|
87
|
+
}], show: [{
|
|
88
|
+
type: HostListener,
|
|
89
|
+
args: ['mouseenter']
|
|
90
|
+
}], hide: [{
|
|
91
|
+
type: HostListener,
|
|
92
|
+
args: ['mouseleave']
|
|
93
|
+
}] } });
|
|
94
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL3BvcG92ZXJzL3Rvb2x0aXAvdG9vbHRpcC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBdUMsTUFBTSxlQUFlLENBQUM7QUFFaEgsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXBELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7O0FBVWpELE1BQU0sT0FBTyxnQkFBZ0I7SUFhM0IsWUFBb0IsVUFBc0IsRUFBVSxjQUE4QjtRQUE5RCxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQVUsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBWjdELFNBQUksR0FBRyxFQUFFLENBQUM7UUFDL0IsMkRBQTJEO1FBQy9CLGNBQVMsR0FBYSxLQUFLLENBQUM7UUFDL0MsWUFBTyxHQUFtQjtZQUNqQyxRQUFRLEVBQUUsR0FBRztZQUNiLEtBQUssRUFBRSxDQUFDO1NBQ1QsQ0FBQztRQUdNLG1CQUFjLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLGtCQUFhLEdBQUcsSUFBSSxDQUFDO0lBRXdELENBQUM7SUFFdEYsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUM7UUFFNUMsSUFBSSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksS0FBSyxJQUFJLEVBQUU7WUFDN0MsSUFBSSxJQUFJLENBQUMsY0FBYyxLQUFLLEtBQUssRUFBRTtnQkFDakMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO2FBQ2I7U0FDRjtRQUNELElBQUksT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEtBQUssS0FBSyxFQUFFO1lBQzlDLElBQUksSUFBSSxDQUFDLGNBQWMsS0FBSyxJQUFJLEVBQUU7Z0JBQ2hDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQzthQUNkO1NBQ0Y7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNkLENBQUM7SUFHRCxJQUFJO1FBQ0YsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssR0FBRyxDQUFDLEVBQUU7WUFDM0IsSUFBSSxDQUFDLGFBQWEsR0FBRyxVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNuQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDZCxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO1NBQzFCO2FBQU07WUFDTCxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDYjtJQUNILENBQUM7SUFHRCxJQUFJO1FBQ0YsSUFBSSxJQUFJLENBQUMsYUFBYSxJQUFJLElBQUksRUFBRTtZQUM5QixZQUFZLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQ2xDO1FBQ0QsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2YsQ0FBQztJQUVPLElBQUk7UUFDVixJQUFJLElBQUksQ0FBQyxjQUFjLEtBQUssS0FBSyxFQUFFO1lBQ2pDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUM7Z0JBQ3pDLE9BQU8sRUFBRSxJQUFJLENBQUMsSUFBSTtnQkFDbEIsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO2dCQUNuQixPQUFPLEVBQUU7b0JBQ1AsSUFBSSxFQUFFLFlBQVksQ0FBQyxPQUFPO29CQUMxQixRQUFRLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRO2lCQUNoQzthQUNGLENBQUMsQ0FBQztZQUNILElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO1NBQzVCO0lBQ0gsQ0FBQztJQUVPLEtBQUs7UUFDWCxJQUFJLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxFQUFFO1lBQzNCLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDekI7UUFDRCxJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztJQUM5QixDQUFDOzs2R0F4RVUsZ0JBQWdCO2lHQUFoQixnQkFBZ0I7MkZBQWhCLGdCQUFnQjtrQkFINUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsY0FBYztpQkFDekI7OEhBRXNCLElBQUk7c0JBQXhCLEtBQUs7dUJBQUMsWUFBWTtnQkFFUyxTQUFTO3NCQUFwQyxLQUFLO3VCQUFDLG1CQUFtQjtnQkFDakIsT0FBTztzQkFBZixLQUFLO2dCQStCTixJQUFJO3NCQURILFlBQVk7dUJBQUMsWUFBWTtnQkFZMUIsSUFBSTtzQkFESCxZQUFZO3VCQUFDLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIEVsZW1lbnRSZWYsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcywgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFBvcG92ZXJTZXJ2aWNlIH0gZnJvbSAnLi4vcG9wb3Zlci5zZXJ2aWNlJztcbmltcG9ydCB7IFBvcG92ZXJSZWYgfSBmcm9tICcuLi9wb3BvdmVyLXJlZic7XG5pbXBvcnQgeyBQb3BvdmVyVHlwZXMgfSBmcm9tICcuLi9wb3BvdmVyLm1vZGVscyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVG9vbHRpcE9wdGlvbnMge1xuICBtYXhXaWR0aD86IHN0cmluZyB8IG51bWJlcjtcbiAgZGVsYXk/OiBudW1iZXI7XG59XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tmbmdUb29sdGlwXSdcbn0pXG5leHBvcnQgY2xhc3MgVG9vbHRpcERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgQElucHV0KCdmbmdUb29sdGlwJykgdGV4dCA9ICcnO1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0LXJlbmFtZVxuICBASW5wdXQoJ2ZuZ1Rvb2x0aXBWaXNpYmxlJykgaXNWaXNpYmxlPzogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBvcHRpb25zOiBUb29sdGlwT3B0aW9ucyA9IHtcbiAgICBtYXhXaWR0aDogNDAwLFxuICAgIGRlbGF5OiAwXG4gIH07XG4gIHByaXZhdGUgb3JpZ2luOiBIVE1MRWxlbWVudDtcbiAgcHJpdmF0ZSBwb3BvdmVyUmVmOiBQb3BvdmVyUmVmO1xuICBwcml2YXRlIGlubmVySXNWaXNpYmxlID0gZmFsc2U7XG4gIHByaXZhdGUgdGltZW91dEhhbmRsZSA9IG51bGw7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbG1lbmV0UmVmOiBFbGVtZW50UmVmLCBwcml2YXRlIHBvcG92ZXJTZXJ2aWNlOiBQb3BvdmVyU2VydmljZSkge31cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgdGhpcy5vcmlnaW4gPSB0aGlzLmVsbWVuZXRSZWYubmF0aXZlRWxlbWVudDtcblxuICAgIGlmIChjaGFuZ2VzPy5pc1Zpc2libGU/LmN1cnJlbnRWYWx1ZSA9PT0gdHJ1ZSkge1xuICAgICAgaWYgKHRoaXMuaW5uZXJJc1Zpc2libGUgPT09IGZhbHNlKSB7XG4gICAgICAgIHRoaXMub3BlbigpO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoY2hhbmdlcz8uaXNWaXNpYmxlPy5jdXJyZW50VmFsdWUgPT09IGZhbHNlKSB7XG4gICAgICBpZiAodGhpcy5pbm5lcklzVmlzaWJsZSA9PT0gdHJ1ZSkge1xuICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5oaWRlKCk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdtb3VzZWVudGVyJylcbiAgc2hvdygpIHtcbiAgICBpZiAodGhpcy5vcHRpb25zPy5kZWxheSA+IDApIHtcbiAgICAgIHRoaXMudGltZW91dEhhbmRsZSA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLm9wZW4oKTtcbiAgICAgIH0sICt0aGlzLm9wdGlvbnM/LmRlbGF5KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5vcGVuKCk7XG4gICAgfVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignbW91c2VsZWF2ZScpXG4gIGhpZGUoKSB7XG4gICAgaWYgKHRoaXMudGltZW91dEhhbmRsZSAhPSBudWxsKSB7XG4gICAgICBjbGVhclRpbWVvdXQodGhpcy50aW1lb3V0SGFuZGxlKTtcbiAgICB9XG4gICAgdGhpcy5jbG9zZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBvcGVuKCkge1xuICAgIGlmICh0aGlzLmlubmVySXNWaXNpYmxlID09PSBmYWxzZSkge1xuICAgICAgdGhpcy5wb3BvdmVyUmVmID0gdGhpcy5wb3BvdmVyU2VydmljZS5vcGVuKHtcbiAgICAgICAgY29udGVudDogdGhpcy50ZXh0LFxuICAgICAgICBvcmlnaW46IHRoaXMub3JpZ2luLFxuICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgdHlwZTogUG9wb3ZlclR5cGVzLlRvb2x0aXAsXG4gICAgICAgICAgbWF4V2lkdGg6IHRoaXMub3B0aW9ucy5tYXhXaWR0aFxuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIHRoaXMuaW5uZXJJc1Zpc2libGUgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY2xvc2UoKSB7XG4gICAgaWYgKHRoaXMucG9wb3ZlclJlZiAhPSBudWxsKSB7XG4gICAgICB0aGlzLnBvcG92ZXJSZWYuY2xvc2UoKTtcbiAgICB9XG4gICAgdGhpcy5pbm5lcklzVmlzaWJsZSA9IGZhbHNlO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class ProgressComponent {
|
|
4
|
+
constructor() {
|
|
5
|
+
this.background = 'white';
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
ProgressComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ProgressComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
9
|
+
ProgressComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: ProgressComponent, selector: "fng-progress", inputs: { progress: "progress", error: "error", background: "background" }, ngImport: i0, template: "<div class=\"fwe-progress\">\n <div\n class=\"fwe-progress-bar\"\n role=\"progressbar\"\n [style.width.%]=\"progress\"\n [class.fwe-bg-red]=\"error\"\n [class.fwe-progress-bar-black]=\"background === 'black'\"\n [class.fwe-progress-bar-background]=\"background === 'background'\"\n [attr.aria-valuenow]=\"progress\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n ></div>\n</div>\n" });
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ProgressComponent, decorators: [{
|
|
11
|
+
type: Component,
|
|
12
|
+
args: [{ selector: 'fng-progress', template: "<div class=\"fwe-progress\">\n <div\n class=\"fwe-progress-bar\"\n role=\"progressbar\"\n [style.width.%]=\"progress\"\n [class.fwe-bg-red]=\"error\"\n [class.fwe-progress-bar-black]=\"background === 'black'\"\n [class.fwe-progress-bar-background]=\"background === 'background'\"\n [attr.aria-valuenow]=\"progress\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n ></div>\n</div>\n" }]
|
|
13
|
+
}], propDecorators: { progress: [{
|
|
14
|
+
type: Input
|
|
15
|
+
}], error: [{
|
|
16
|
+
type: Input
|
|
17
|
+
}], background: [{
|
|
18
|
+
type: Input
|
|
19
|
+
}] } });
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9wcm9ncmVzcy9wcm9ncmVzcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL3Byb2dyZXNzL3Byb2dyZXNzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU1qRCxNQUFNLE9BQU8saUJBQWlCO0lBSjlCO1FBT1csZUFBVSxHQUFxQyxPQUFPLENBQUM7S0FDakU7OzhHQUpZLGlCQUFpQjtrR0FBakIsaUJBQWlCLGdJQ045Qiw0WkFhQTsyRkRQYSxpQkFBaUI7a0JBSjdCLFNBQVM7K0JBQ0UsY0FBYzs4QkFJZixRQUFRO3NCQUFoQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmbmctcHJvZ3Jlc3MnLFxuICB0ZW1wbGF0ZVVybDogJy4vcHJvZ3Jlc3MuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFByb2dyZXNzQ29tcG9uZW50IHtcbiAgQElucHV0KCkgcHJvZ3Jlc3M6IG51bWJlcjtcbiAgQElucHV0KCkgZXJyb3I6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGJhY2tncm91bmQ6ICd3aGl0ZScgfCAnYmFja2dyb3VuZCcgfCAnYmxhY2snID0gJ3doaXRlJztcbn1cbiIsIjxkaXYgY2xhc3M9XCJmd2UtcHJvZ3Jlc3NcIj5cbiAgPGRpdlxuICAgIGNsYXNzPVwiZndlLXByb2dyZXNzLWJhclwiXG4gICAgcm9sZT1cInByb2dyZXNzYmFyXCJcbiAgICBbc3R5bGUud2lkdGguJV09XCJwcm9ncmVzc1wiXG4gICAgW2NsYXNzLmZ3ZS1iZy1yZWRdPVwiZXJyb3JcIlxuICAgIFtjbGFzcy5md2UtcHJvZ3Jlc3MtYmFyLWJsYWNrXT1cImJhY2tncm91bmQgPT09ICdibGFjaydcIlxuICAgIFtjbGFzcy5md2UtcHJvZ3Jlc3MtYmFyLWJhY2tncm91bmRdPVwiYmFja2dyb3VuZCA9PT0gJ2JhY2tncm91bmQnXCJcbiAgICBbYXR0ci5hcmlhLXZhbHVlbm93XT1cInByb2dyZXNzXCJcbiAgICBhcmlhLXZhbHVlbWluPVwiMFwiXG4gICAgYXJpYS12YWx1ZW1heD1cIjEwMFwiXG4gID48L2Rpdj5cbjwvZGl2PlxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './scrollable.directive';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL3Njcm9sbC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHdCQUF3QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zY3JvbGxhYmxlLmRpcmVjdGl2ZSc7XG4iXX0=
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { Directive, ElementRef, Input, NgZone, Renderer2 } from '@angular/core';
|
|
2
|
+
import SimpleBar from 'simplebar';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class ScrollableDirective {
|
|
5
|
+
constructor(el, ngZone, renderer) {
|
|
6
|
+
this.el = el;
|
|
7
|
+
this.ngZone = ngZone;
|
|
8
|
+
this.renderer = renderer;
|
|
9
|
+
this.scrollbarMinSize = 25;
|
|
10
|
+
this.isScrolling = false;
|
|
11
|
+
}
|
|
12
|
+
ngOnChanges(changes) {
|
|
13
|
+
if (changes?.viewReady.currentValue === true) {
|
|
14
|
+
this.initScrollbar();
|
|
15
|
+
this.initResizeObserver();
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
ngOnDestroy() {
|
|
19
|
+
this.resizeObserver?.disconnect();
|
|
20
|
+
}
|
|
21
|
+
initScrollbar() {
|
|
22
|
+
const el = this.el.nativeElement;
|
|
23
|
+
// yes, we explict want to run outside angular to avoid unnecessary change detection cycles
|
|
24
|
+
this.ngZone.runOutsideAngular(() => {
|
|
25
|
+
this.sb = new SimpleBar(el, { scrollbarMinSize: this.scrollbarMinSize });
|
|
26
|
+
this.sb.getScrollElement().addEventListener('scroll', this.delay(() => {
|
|
27
|
+
// triggered on scroll stop
|
|
28
|
+
this.isScrolling = false;
|
|
29
|
+
}), false);
|
|
30
|
+
});
|
|
31
|
+
this.updateMaxWidth();
|
|
32
|
+
}
|
|
33
|
+
initResizeObserver() {
|
|
34
|
+
const el = this.el.nativeElement;
|
|
35
|
+
this.resizeObserver = new ResizeObserver(() => {
|
|
36
|
+
this.updateMaxWidth();
|
|
37
|
+
});
|
|
38
|
+
this.resizeObserver.observe(el);
|
|
39
|
+
}
|
|
40
|
+
updateMaxWidth() {
|
|
41
|
+
const el = this.el.nativeElement;
|
|
42
|
+
const wrapper = el.querySelector('.simplebar-content-wrapper');
|
|
43
|
+
const width = el.getBoundingClientRect().width;
|
|
44
|
+
this.renderer.setStyle(wrapper, 'max-width', width + 'px');
|
|
45
|
+
}
|
|
46
|
+
delay(callback) {
|
|
47
|
+
let timer;
|
|
48
|
+
return () => {
|
|
49
|
+
if (!this.isScrolling) {
|
|
50
|
+
// triggered on scroll start
|
|
51
|
+
this.isScrolling = true;
|
|
52
|
+
}
|
|
53
|
+
window.clearTimeout(timer);
|
|
54
|
+
timer = window.setTimeout(callback, 50);
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
ScrollableDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ScrollableDirective, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
|
|
59
|
+
ScrollableDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.1", type: ScrollableDirective, selector: "[fngScrollable]", inputs: { scrollbarMinSize: ["fngScrollableScrollbarMinSize", "scrollbarMinSize"], viewReady: ["fngScrollableViewReady", "viewReady"] }, usesOnChanges: true, ngImport: i0 });
|
|
60
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ScrollableDirective, decorators: [{
|
|
61
|
+
type: Directive,
|
|
62
|
+
args: [{
|
|
63
|
+
selector: '[fngScrollable]'
|
|
64
|
+
}]
|
|
65
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.Renderer2 }]; }, propDecorators: { scrollbarMinSize: [{
|
|
66
|
+
type: Input,
|
|
67
|
+
args: ['fngScrollableScrollbarMinSize']
|
|
68
|
+
}], viewReady: [{
|
|
69
|
+
type: Input,
|
|
70
|
+
args: ['fngScrollableViewReady']
|
|
71
|
+
}] } });
|
|
72
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsYWJsZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL3Njcm9sbC9zY3JvbGxhYmxlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBNEIsS0FBSyxFQUFpQixNQUFNLEVBQUUsU0FBUyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3BJLE9BQU8sU0FBUyxNQUFNLFdBQVcsQ0FBQzs7QUFTbEMsTUFBTSxPQUFPLG1CQUFtQjtJQVE5QixZQUFvQixFQUFjLEVBQVUsTUFBYyxFQUFVLFFBQW1CO1FBQW5FLE9BQUUsR0FBRixFQUFFLENBQVk7UUFBVSxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQVAvQyxxQkFBZ0IsR0FBVyxFQUFFLENBQUM7UUFJOUQsZ0JBQVcsR0FBRyxLQUFLLENBQUM7SUFHOEQsQ0FBQztJQUUzRixXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxPQUFPLEVBQUUsU0FBUyxDQUFDLFlBQVksS0FBSyxJQUFJLEVBQUU7WUFDNUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1NBQzNCO0lBQ0gsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsY0FBYyxFQUFFLFVBQVUsRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFTyxhQUFhO1FBQ25CLE1BQU0sRUFBRSxHQUFnQixJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQztRQUM5QywyRkFBMkY7UUFDM0YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUU7WUFDakMsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLFNBQVMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO1lBQ3pFLElBQUksQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FDekMsUUFBUSxFQUNSLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFO2dCQUNkLDJCQUEyQjtnQkFDM0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7WUFDM0IsQ0FBQyxDQUFDLEVBQ0YsS0FBSyxDQUNOLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRU8sa0JBQWtCO1FBQ3hCLE1BQU0sRUFBRSxHQUFnQixJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQztRQUM5QyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksY0FBYyxDQUFDLEdBQUcsRUFBRTtZQUM1QyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDeEIsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRU8sY0FBYztRQUNwQixNQUFNLEVBQUUsR0FBZ0IsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUM7UUFDOUMsTUFBTSxPQUFPLEdBQUcsRUFBRSxDQUFDLGFBQWEsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO1FBQy9ELE1BQU0sS0FBSyxHQUFHLEVBQUUsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLEtBQUssQ0FBQztRQUMvQyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsV0FBVyxFQUFFLEtBQUssR0FBRyxJQUFJLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRU8sS0FBSyxDQUFDLFFBQWE7UUFDekIsSUFBSSxLQUFhLENBQUM7UUFDbEIsT0FBTyxHQUFHLEVBQUU7WUFDVixJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRTtnQkFDckIsNEJBQTRCO2dCQUM1QixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQzthQUN6QjtZQUVELE1BQU0sQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDM0IsS0FBSyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzFDLENBQUMsQ0FBQztJQUNKLENBQUM7O2dIQWhFVSxtQkFBbUI7b0dBQW5CLG1CQUFtQjsyRkFBbkIsbUJBQW1CO2tCQUgvQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxpQkFBaUI7aUJBQzVCOzhJQUV5QyxnQkFBZ0I7c0JBQXZELEtBQUs7dUJBQUMsK0JBQStCO2dCQUNMLFNBQVM7c0JBQXpDLEtBQUs7dUJBQUMsd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMsIElucHV0LCBBZnRlclZpZXdJbml0LCBOZ1pvbmUsIFJlbmRlcmVyMiwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgU2ltcGxlQmFyIGZyb20gJ3NpbXBsZWJhcic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2Nyb2xsYWJsZUF3YXJlIGV4dGVuZHMgQWZ0ZXJWaWV3SW5pdCB7XG4gIHNjcm9sbGFibGVWaWV3UmVhZHk6IGJvb2xlYW47XG59XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tmbmdTY3JvbGxhYmxlXSdcbn0pXG5leHBvcnQgY2xhc3MgU2Nyb2xsYWJsZURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgQElucHV0KCdmbmdTY3JvbGxhYmxlU2Nyb2xsYmFyTWluU2l6ZScpIHNjcm9sbGJhck1pblNpemU6IG51bWJlciA9IDI1O1xuICBASW5wdXQoJ2ZuZ1Njcm9sbGFibGVWaWV3UmVhZHknKSB2aWV3UmVhZHk6IGJvb2xlYW47XG5cbiAgcHJpdmF0ZSBzYjogU2ltcGxlQmFyO1xuICBwcml2YXRlIGlzU2Nyb2xsaW5nID0gZmFsc2U7XG4gIHByaXZhdGUgcmVzaXplT2JzZXJ2ZXI6IFJlc2l6ZU9ic2VydmVyO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWw6IEVsZW1lbnRSZWYsIHByaXZhdGUgbmdab25lOiBOZ1pvbmUsIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMikge31cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXM/LnZpZXdSZWFkeS5jdXJyZW50VmFsdWUgPT09IHRydWUpIHtcbiAgICAgIHRoaXMuaW5pdFNjcm9sbGJhcigpO1xuICAgICAgdGhpcy5pbml0UmVzaXplT2JzZXJ2ZXIoKTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnJlc2l6ZU9ic2VydmVyPy5kaXNjb25uZWN0KCk7XG4gIH1cblxuICBwcml2YXRlIGluaXRTY3JvbGxiYXIoKSB7XG4gICAgY29uc3QgZWw6IEhUTUxFbGVtZW50ID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50O1xuICAgIC8vIHllcywgd2UgZXhwbGljdCB3YW50IHRvIHJ1biBvdXRzaWRlIGFuZ3VsYXIgdG8gYXZvaWQgdW5uZWNlc3NhcnkgY2hhbmdlIGRldGVjdGlvbiBjeWNsZXNcbiAgICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICB0aGlzLnNiID0gbmV3IFNpbXBsZUJhcihlbCwgeyBzY3JvbGxiYXJNaW5TaXplOiB0aGlzLnNjcm9sbGJhck1pblNpemUgfSk7XG4gICAgICB0aGlzLnNiLmdldFNjcm9sbEVsZW1lbnQoKS5hZGRFdmVudExpc3RlbmVyKFxuICAgICAgICAnc2Nyb2xsJyxcbiAgICAgICAgdGhpcy5kZWxheSgoKSA9PiB7XG4gICAgICAgICAgLy8gdHJpZ2dlcmVkIG9uIHNjcm9sbCBzdG9wXG4gICAgICAgICAgdGhpcy5pc1Njcm9sbGluZyA9IGZhbHNlO1xuICAgICAgICB9KSxcbiAgICAgICAgZmFsc2VcbiAgICAgICk7XG4gICAgfSk7XG4gICAgdGhpcy51cGRhdGVNYXhXaWR0aCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0UmVzaXplT2JzZXJ2ZXIoKSB7XG4gICAgY29uc3QgZWw6IEhUTUxFbGVtZW50ID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50O1xuICAgIHRoaXMucmVzaXplT2JzZXJ2ZXIgPSBuZXcgUmVzaXplT2JzZXJ2ZXIoKCkgPT4ge1xuICAgICAgdGhpcy51cGRhdGVNYXhXaWR0aCgpO1xuICAgIH0pO1xuICAgIHRoaXMucmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZShlbCk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZU1heFdpZHRoKCkge1xuICAgIGNvbnN0IGVsOiBIVE1MRWxlbWVudCA9IHRoaXMuZWwubmF0aXZlRWxlbWVudDtcbiAgICBjb25zdCB3cmFwcGVyID0gZWwucXVlcnlTZWxlY3RvcignLnNpbXBsZWJhci1jb250ZW50LXdyYXBwZXInKTtcbiAgICBjb25zdCB3aWR0aCA9IGVsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoO1xuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUod3JhcHBlciwgJ21heC13aWR0aCcsIHdpZHRoICsgJ3B4Jyk7XG4gIH1cblxuICBwcml2YXRlIGRlbGF5KGNhbGxiYWNrOiBhbnkpIHtcbiAgICBsZXQgdGltZXI6IG51bWJlcjtcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgaWYgKCF0aGlzLmlzU2Nyb2xsaW5nKSB7XG4gICAgICAgIC8vIHRyaWdnZXJlZCBvbiBzY3JvbGwgc3RhcnRcbiAgICAgICAgdGhpcy5pc1Njcm9sbGluZyA9IHRydWU7XG4gICAgICB9XG5cbiAgICAgIHdpbmRvdy5jbGVhclRpbWVvdXQodGltZXIpO1xuICAgICAgdGltZXIgPSB3aW5kb3cuc2V0VGltZW91dChjYWxsYmFjaywgNTApO1xuICAgIH07XG4gIH1cbn1cbiJdfQ==
|