@festo-ui/angular 3.1.0-pre-20220203.2 → 3.1.0-pre-20220217.1
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
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
import { Component, ViewChild, TemplateRef, Input, Output, EventEmitter, ElementRef } from '@angular/core';
|
|
2
|
-
import { take } from 'rxjs/operators';
|
|
3
|
-
import { PopoverService } from '../popover.service';
|
|
4
|
-
import { PopoverTypes } from '../popover.models';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "../popover.service";
|
|
7
|
-
import * as i2 from "@angular/common";
|
|
8
|
-
export class PopoverContentComponent {
|
|
9
|
-
constructor(popoverService) {
|
|
10
|
-
this.popoverService = popoverService;
|
|
11
|
-
this.options = {};
|
|
12
|
-
this.close = new EventEmitter();
|
|
13
|
-
this.actions = new EventEmitter();
|
|
14
|
-
this.showDefault = false;
|
|
15
|
-
this.offScreen = true;
|
|
16
|
-
this.height = 16; // add default padding
|
|
17
|
-
this.width = 16; // add default padding
|
|
18
|
-
}
|
|
19
|
-
ngOnDestroy() {
|
|
20
|
-
if (this.closeSub) {
|
|
21
|
-
this.closeSub.unsubscribe();
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
ngAfterViewInit() {
|
|
25
|
-
const parent = this.templateRef.elementRef.nativeElement.parentElement;
|
|
26
|
-
parent.childNodes.forEach((node) => {
|
|
27
|
-
if (null != node.dataset && undefined !== node.dataset.fngRoot) {
|
|
28
|
-
this.width = this.width + node.getBoundingClientRect().width;
|
|
29
|
-
this.height = this.height + node.getBoundingClientRect().height;
|
|
30
|
-
}
|
|
31
|
-
});
|
|
32
|
-
}
|
|
33
|
-
show(origin) {
|
|
34
|
-
this.offScreen = false;
|
|
35
|
-
this.popoverRef = this.popoverService.open({
|
|
36
|
-
content: this.templateRef,
|
|
37
|
-
origin,
|
|
38
|
-
options: {
|
|
39
|
-
positions: null != this.options && this.options.positions ? this.options.positions : null,
|
|
40
|
-
width: this.width,
|
|
41
|
-
height: this.height,
|
|
42
|
-
type: PopoverTypes.Content,
|
|
43
|
-
hasBackdrop: true
|
|
44
|
-
}
|
|
45
|
-
});
|
|
46
|
-
this.actions.emit({
|
|
47
|
-
close: () => {
|
|
48
|
-
this.hide();
|
|
49
|
-
}
|
|
50
|
-
});
|
|
51
|
-
if (this.closeSub) {
|
|
52
|
-
this.closeSub.unsubscribe();
|
|
53
|
-
}
|
|
54
|
-
this.closeSub = this.popoverRef.afterClosed$.pipe(take(1)).subscribe(event => {
|
|
55
|
-
this.close.emit(event);
|
|
56
|
-
});
|
|
57
|
-
}
|
|
58
|
-
hide() {
|
|
59
|
-
if (null != this.popoverRef) {
|
|
60
|
-
this.popoverRef.close();
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
PopoverContentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: PopoverContentComponent, deps: [{ token: i1.PopoverService }], target: i0.ɵɵFactoryTarget.Component });
|
|
65
|
-
PopoverContentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.0", type: PopoverContentComponent, selector: "fng-popover-content", inputs: { options: "options" }, outputs: { close: "close", actions: "actions" }, viewQueries: [{ propertyName: "templateRef", first: true, predicate: ["tpl"], descendants: true }, { propertyName: "contentRef", first: true, predicate: ["fngContent"], descendants: true }], ngImport: i0, template: "<div #default *ngIf=\"showDefault; else tpl\"></div>\n<ng-template #tpl>\n <div data-fng-root [class.fng-off-screen]=\"offScreen\">\n <div #fngContent class=\"fng-content\">\n <ng-content></ng-content>\n </div>\n </div>\n</ng-template>\n", styles: [".fng-off-screen{position:absolute;top:-9999px;left:-9999px}.fng-content{font-size:14px;line-height:1rem}\n"], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
66
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: PopoverContentComponent, decorators: [{
|
|
67
|
-
type: Component,
|
|
68
|
-
args: [{
|
|
69
|
-
selector: 'fng-popover-content',
|
|
70
|
-
templateUrl: './popover-content.component.html',
|
|
71
|
-
styleUrls: ['./popover-content.component.scss']
|
|
72
|
-
}]
|
|
73
|
-
}], ctorParameters: function () { return [{ type: i1.PopoverService }]; }, propDecorators: { options: [{
|
|
74
|
-
type: Input
|
|
75
|
-
}], close: [{
|
|
76
|
-
type: Output
|
|
77
|
-
}], actions: [{
|
|
78
|
-
type: Output
|
|
79
|
-
}], templateRef: [{
|
|
80
|
-
type: ViewChild,
|
|
81
|
-
args: ['tpl']
|
|
82
|
-
}], contentRef: [{
|
|
83
|
-
type: ViewChild,
|
|
84
|
-
args: ['fngContent']
|
|
85
|
-
}] } });
|
|
86
|
-
//# sourceMappingURL=popover-content.component.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"popover-content.component.js","sourceRoot":"","sources":["../../../../../../../../libs/angular/src/lib/components/popovers/popover-content/popover-content.component.ts","../../../../../../../../libs/angular/src/lib/components/popovers/popover-content/popover-content.component.html"],"names":[],"mappings":"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","sourcesContent":["import { Component, ViewChild, TemplateRef, Input, Output, EventEmitter, OnDestroy, AfterViewInit, ElementRef } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { take } from 'rxjs/operators';\n\nimport { PopoverService } from '../popover.service';\nimport { PopoverRef } from '../popover-ref';\nimport { PopoverTypes, PopoverCloseEvent, PopoverPosition } from '../popover.models';\n\nexport interface PopoverContentOptions {\n positions?: PopoverPosition[];\n maxWidth?: string | number;\n minHeight?: string | number;\n}\n\nexport interface PopoverContentActions {\n close: () => void;\n}\n\n@Component({\n selector: 'fng-popover-content',\n templateUrl: './popover-content.component.html',\n styleUrls: ['./popover-content.component.scss']\n})\nexport class PopoverContentComponent implements AfterViewInit, OnDestroy {\n @Input() options: PopoverContentOptions = {};\n @Output() close: EventEmitter<PopoverCloseEvent> = new EventEmitter();\n @Output() actions: EventEmitter<PopoverContentActions> = new EventEmitter();\n @ViewChild('tpl') templateRef: TemplateRef<any>;\n @ViewChild('fngContent') contentRef: ElementRef;\n\n showDefault = false;\n offScreen = true;\n height = 16; // add default padding\n width = 16; // add default padding\n\n private closeSub: Subscription;\n private popoverRef: PopoverRef;\n\n constructor(private popoverService: PopoverService) {}\n\n ngOnDestroy(): void {\n if (this.closeSub) {\n this.closeSub.unsubscribe();\n }\n }\n\n ngAfterViewInit(): void {\n const parent: HTMLElement = this.templateRef.elementRef.nativeElement.parentElement;\n parent.childNodes.forEach((node: HTMLElement) => {\n if (null != node.dataset && undefined !== node.dataset.fngRoot) {\n this.width = this.width + node.getBoundingClientRect().width;\n this.height = this.height + node.getBoundingClientRect().height;\n }\n });\n }\n\n show(origin: HTMLElement) {\n this.offScreen = false;\n this.popoverRef = this.popoverService.open({\n content: this.templateRef,\n origin,\n options: {\n positions: null != this.options && this.options.positions ? this.options.positions : null,\n width: this.width,\n height: this.height,\n type: PopoverTypes.Content,\n hasBackdrop: true\n }\n });\n\n this.actions.emit({\n close: () => {\n this.hide();\n }\n });\n\n if (this.closeSub) {\n this.closeSub.unsubscribe();\n }\n this.closeSub = this.popoverRef.afterClosed$.pipe(take(1)).subscribe(event => {\n this.close.emit(event);\n });\n }\n\n hide() {\n if (null != this.popoverRef) {\n this.popoverRef.close();\n }\n }\n}\n","<div #default *ngIf=\"showDefault; else tpl\"></div>\n<ng-template #tpl>\n <div data-fng-root [class.fng-off-screen]=\"offScreen\">\n <div #fngContent class=\"fng-content\">\n <ng-content></ng-content>\n </div>\n </div>\n</ng-template>\n"]}
|
|
@@ -1,39 +0,0 @@
|
|
|
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: "12.2.0", ngImport: i0, type: PopoverContentDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
23
|
-
PopoverContentDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.0", 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: "12.2.0", 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=popover-content.directive.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"popover-content.directive.js","sourceRoot":"","sources":["../../../../../../../../libs/angular/src/lib/components/popovers/popover-content/popover-content.directive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAU,YAAY,EAAE,MAAM,eAAe,CAAC;AAE1F,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;;AAKtE,MAAM,OAAO,uBAAuB;IAIlC,YAAoB,UAAsB;QAAtB,eAAU,GAAV,UAAU,CAAY;IAAG,CAAC;IAE9C,QAAQ;QACN,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;IAC9C,CAAC;IAGD,IAAI;QACF,IAAI,IAAI,IAAI,IAAI,CAAC,SAAS,EAAE;YAC1B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SAClC;IACH,CAAC;IAGD,IAAI;QACF,IAAI,IAAI,IAAI,IAAI,CAAC,SAAS,EAAE;YAC1B,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;SACvB;IACH,CAAC;;oHAtBU,uBAAuB;wGAAvB,uBAAuB;2FAAvB,uBAAuB;kBAHnC,SAAS;mBAAC;oBACT,QAAQ,EAAE,qBAAqB;iBAChC;iGAE+B,SAAS;sBAAtC,YAAY;uBAAC,cAAc;gBAU5B,IAAI;sBADH,YAAY;uBAAC,OAAO;gBAQrB,IAAI;sBADH,YAAY;uBAAC,yBAAyB","sourcesContent":["import { Directive, ElementRef, HostListener, OnInit, ContentChild } from '@angular/core';\n\nimport { PopoverContentComponent } from './popover-content.component';\n\n@Directive({\n selector: '[fngPopoverContent]'\n})\nexport class PopoverContentDirective implements OnInit {\n @ContentChild('fngComponent') component: PopoverContentComponent;\n private origin: HTMLElement;\n\n constructor(private elmenetRef: ElementRef) {}\n\n ngOnInit(): void {\n this.origin = this.elmenetRef.nativeElement;\n }\n\n @HostListener('click')\n show() {\n if (null != this.component) {\n this.component.show(this.origin);\n }\n }\n\n @HostListener('document:keydown.escape')\n hide() {\n if (null != this.component) {\n this.component.hide();\n }\n }\n}\n"]}
|
|
@@ -1,72 +0,0 @@
|
|
|
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: "12.2.0", ngImport: i0, type: PopoverMenuComponent, deps: [{ token: i1.PopoverService }], target: i0.ɵɵFactoryTarget.Component });
|
|
46
|
-
PopoverMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.0", 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: "12.2.0", ngImport: i0, type: PopoverMenuComponent, decorators: [{
|
|
48
|
-
type: Component,
|
|
49
|
-
args: [{
|
|
50
|
-
selector: 'fng-popover-menu',
|
|
51
|
-
templateUrl: './popover-menu.component.html',
|
|
52
|
-
styleUrls: ['./popover-menu.component.scss']
|
|
53
|
-
}]
|
|
54
|
-
}], ctorParameters: function () { return [{ type: i1.PopoverService }]; }, propDecorators: { icon: [{
|
|
55
|
-
type: Input
|
|
56
|
-
}], menu: [{
|
|
57
|
-
type: Input
|
|
58
|
-
}], options: [{
|
|
59
|
-
type: Input
|
|
60
|
-
}], menuAction: [{
|
|
61
|
-
type: Output
|
|
62
|
-
}], menuTpl: [{
|
|
63
|
-
type: ViewChild,
|
|
64
|
-
args: ['menuTpl']
|
|
65
|
-
}], origin: [{
|
|
66
|
-
type: ViewChild,
|
|
67
|
-
args: ['origin']
|
|
68
|
-
}], hide: [{
|
|
69
|
-
type: HostListener,
|
|
70
|
-
args: ['document:keydown.escape']
|
|
71
|
-
}] } });
|
|
72
|
-
//# sourceMappingURL=popover-menu.component.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"popover-menu.component.js","sourceRoot":"","sources":["../../../../../../../../libs/angular/src/lib/components/popovers/popover-menu/popover-menu.component.ts","../../../../../../../../libs/angular/src/lib/components/popovers/popover-menu/popover-menu.component.html"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAEzH,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAmD,MAAM,mBAAmB,CAAC;;;;AAWlG,MAAM,OAAO,oBAAoB;IAa/B,YAAoB,cAA8B;QAA9B,mBAAc,GAAd,cAAc,CAAgB;QAZzC,SAAI,GAAG,gCAAgC,CAAC;QACxC,SAAI,GAAkB,EAAE,CAAC;QACzB,YAAO,GAAuB,EAAE,CAAC;QAEhC,eAAU,GAAoC,IAAI,YAAY,EAAE,CAAC;QAMnE,eAAU,GAAG,EAAE,CAAC;IAE6B,CAAC;IAEtD,IAAI,CAAC,KAAY,EAAE,OAAyB,EAAE,MAAmB;QAC/D,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YACxB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;gBACzC,OAAO;gBACP,MAAM;gBACN,OAAO,EAAE;oBACP,IAAI,EAAE,YAAY,CAAC,IAAI;oBACvB,WAAW,EAAE,IAAI;oBACjB,4FAA4F;oBAC5F,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;oBAClD,SAAS,EAAE,IAAI,CAAC,OAAO,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI;iBAC1F;aACF,CAAC,CAAC;SACJ;IACH,CAAC;IAED,MAAM,CAAC,MAAc,EAAE,OAAY;QACjC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;QAC1C,IAAI,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE;YAC3B,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;SACzB;IACH,CAAC;IAGD,IAAI;QACF,IAAI,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE;YAC3B,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;SACzB;IACH,CAAC;;iHA7CU,oBAAoB;qGAApB,oBAAoB,gZCfjC,kqBAeA;2FDAa,oBAAoB;kBALhC,SAAS;mBAAC;oBACT,QAAQ,EAAE,kBAAkB;oBAC5B,WAAW,EAAE,+BAA+B;oBAC5C,SAAS,EAAE,CAAC,+BAA+B,CAAC;iBAC7C;qGAEU,IAAI;sBAAZ,KAAK;gBACG,IAAI;sBAAZ,KAAK;gBACG,OAAO;sBAAf,KAAK;gBAEI,UAAU;sBAAnB,MAAM;gBAEe,OAAO;sBAA5B,SAAS;uBAAC,SAAS;gBACC,MAAM;sBAA1B,SAAS;uBAAC,QAAQ;gBAiCnB,IAAI;sBADH,YAAY;uBAAC,yBAAyB","sourcesContent":["import { Component, TemplateRef, Input, Output, EventEmitter, ViewChild, ElementRef, HostListener } from '@angular/core';\n\nimport { PopoverService } from '../popover.service';\nimport { PopoverRef } from '../popover-ref';\nimport { PopoverTypes, PopoverMenu, PopoverMenuAction, PopoverPosition } from '../popover.models';\n\nexport interface PopoverMenuOptions {\n positions?: PopoverPosition[];\n}\n\n@Component({\n selector: 'fng-popover-menu',\n templateUrl: './popover-menu.component.html',\n styleUrls: ['./popover-menu.component.scss']\n})\nexport class PopoverMenuComponent {\n @Input() icon = 'fwe-icon-menu-more fwe-icon-lg';\n @Input() menu: PopoverMenu[] = [];\n @Input() options: PopoverMenuOptions = {};\n\n @Output() menuAction: EventEmitter<PopoverMenuAction> = new EventEmitter();\n\n @ViewChild('menuTpl') menuTpl: TemplateRef<any>;\n @ViewChild('origin') origin: ElementRef;\n\n private popoverRef: PopoverRef;\n private itemHeight = 36;\n\n constructor(private popoverService: PopoverService) {}\n\n show(event: Event, content: TemplateRef<any>, origin: HTMLElement) {\n event.stopPropagation();\n event.preventDefault();\n if (0 < this.menu.length) {\n this.popoverRef = this.popoverService.open({\n content,\n origin,\n options: {\n type: PopoverTypes.Menu,\n hasBackdrop: true,\n // height calc is needed for correct vertical positioning (+32 -> 2 * vertical padding 16px)\n height: +(this.itemHeight * this.menu.length + 32),\n positions: this.options != null && this.options.positions ? this.options.positions : null\n }\n });\n }\n }\n\n action(action: string, payload: any) {\n this.menuAction.emit({ action, payload });\n if (null != this.popoverRef) {\n this.popoverRef.close();\n }\n }\n\n @HostListener('document:keydown.escape')\n hide() {\n if (null != this.popoverRef) {\n this.popoverRef.close();\n }\n }\n}\n","<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"]}
|
|
@@ -1,25 +0,0 @@
|
|
|
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=popover-ref.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"popover-ref.js","sourceRoot":"","sources":["../../../../../../../libs/angular/src/lib/components/popovers/popover-ref.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAI/B,MAAM,OAAO,UAAU;IAIrB,YAAmB,OAAmB,EAAS,OAAuB,EAAS,IAAO;QAAnE,YAAO,GAAP,OAAO,CAAY;QAAS,YAAO,GAAP,OAAO,CAAgB;QAAS,SAAI,GAAJ,IAAI,CAAG;QAH9E,gBAAW,GAAG,IAAI,OAAO,EAAwB,CAAC;QAC1D,iBAAY,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;QAG7C,OAAO,CAAC,aAAa,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE;YACrC,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,IAAQ;QACZ,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC7B,CAAC;IAEO,MAAM,CAAC,IAA+B,EAAE,IAAQ;QACtD,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QACvB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;YACpB,IAAI;YACJ,IAAI;SACL,CAAC,CAAC;QACH,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;IAC9B,CAAC;CACF","sourcesContent":["import { OverlayRef } from '@angular/cdk/overlay';\nimport { Subject } from 'rxjs';\n\nimport { PopoverContent, PopoverCloseEvent } from './popover.models';\n\nexport class PopoverRef<T = any> {\n private afterClosed = new Subject<PopoverCloseEvent<T>>();\n afterClosed$ = this.afterClosed.asObservable();\n\n constructor(public overlay: OverlayRef, public content: PopoverContent, public data: T) {\n overlay.backdropClick().subscribe(() => {\n this._close('backdropClick', null);\n });\n }\n\n close(data?: T) {\n this._close('close', data);\n }\n\n private _close(type: PopoverCloseEvent['type'], data?: T) {\n this.overlay.dispose();\n this.afterClosed.next({\n type,\n data\n });\n this.afterClosed.complete();\n }\n}\n"]}
|
|
@@ -1,60 +0,0 @@
|
|
|
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=popover.defaults.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"popover.defaults.js","sourceRoot":"","sources":["../../../../../../../libs/angular/src/lib/components/popovers/popover.defaults.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEjE,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE;QACxB,OAAO,EAAE,QAAQ;QACjB,OAAO,EAAE,QAAQ;QACjB,QAAQ,EAAE,QAAQ;QAClB,QAAQ,EAAE,KAAK;QACf,OAAO,EAAE,EAAE;KACZ;IACD,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE;QACrB,OAAO,EAAE,QAAQ;QACjB,OAAO,EAAE,KAAK;QACd,QAAQ,EAAE,QAAQ;QAClB,QAAQ,EAAE,QAAQ;QAClB,OAAO,EAAE,CAAC,EAAE;KACb;IACD,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE;QACvB,OAAO,EAAE,KAAK;QACd,OAAO,EAAE,QAAQ;QACjB,QAAQ,EAAE,OAAO;QACjB,QAAQ,EAAE,QAAQ;QAClB,OAAO,EAAE,EAAE;KACZ;IACD,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE;QACtB,OAAO,EAAE,OAAO;QAChB,OAAO,EAAE,QAAQ;QACjB,QAAQ,EAAE,KAAK;QACf,QAAQ,EAAE,QAAQ;QAClB,OAAO,EAAE,CAAC,EAAE;KACb;IACD,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE;QACzB,OAAO,EAAE,OAAO;QAChB,OAAO,EAAE,QAAQ;QACjB,QAAQ,EAAE,KAAK;QACf,QAAQ,EAAE,KAAK;QACf,OAAO,EAAE,CAAC,EAAE;QACZ,OAAO,EAAE,CAAC,EAAE;KACb;IACD,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE;QAC1B,OAAO,EAAE,KAAK;QACd,OAAO,EAAE,QAAQ;QACjB,QAAQ,EAAE,OAAO;QACjB,QAAQ,EAAE,KAAK;QACf,OAAO,EAAE,EAAE;QACX,OAAO,EAAE,CAAC,EAAE;KACb;CACF,CAAC;AACF,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,qBAAqB;IAC7C,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,kBAAkB;IACvC,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,oBAAoB;IAC3C,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,qBAAqB;IAC7C,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,oBAAoB;IAC9C,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,iBAAiB;IACxC,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,mBAAmB;IAC5C,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,kBAAkB;IAC1C,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,uBAAuB;IACnD,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,sBAAsB;CAClD,CAAC","sourcesContent":["import { PopoverPosition, PopoverTypes } from './popover.models';\n\nexport const defaultPositions = {\n [PopoverPosition.Bottom]: {\n originX: 'center',\n originY: 'bottom',\n overlayX: 'center',\n overlayY: 'top',\n offsetY: 22\n },\n [PopoverPosition.Top]: {\n originX: 'center',\n originY: 'top',\n overlayX: 'center',\n overlayY: 'bottom',\n offsetY: -22\n },\n [PopoverPosition.Right]: {\n originX: 'end',\n originY: 'center',\n overlayX: 'start',\n overlayY: 'center',\n offsetX: 22\n },\n [PopoverPosition.Left]: {\n originX: 'start',\n originY: 'center',\n overlayX: 'end',\n overlayY: 'center',\n offsetX: -22\n },\n [PopoverPosition.LeftTop]: {\n originX: 'start',\n originY: 'center',\n overlayX: 'end',\n overlayY: 'top',\n offsetX: -22,\n offsetY: -32\n },\n [PopoverPosition.RightTop]: {\n originX: 'end',\n originY: 'center',\n overlayX: 'start',\n overlayY: 'top',\n offsetX: 22,\n offsetY: -32\n }\n};\nexport const defaultClasses = {\n [PopoverTypes.Tooltip]: 'fng-popover-tooltip',\n [PopoverTypes.Menu]: 'fng-popover-menu',\n [PopoverTypes.Legend]: 'fng-popover-legend',\n [PopoverTypes.Content]: 'fng-popover-content',\n [PopoverPosition.Bottom]: 'fng-popover-bottom',\n [PopoverPosition.Top]: 'fng-popover-top',\n [PopoverPosition.Right]: 'fng-popover-right',\n [PopoverPosition.Left]: 'fng-popover-left',\n [PopoverPosition.RightTop]: 'fng-popover-right-top',\n [PopoverPosition.LeftTop]: 'fng-popover-left-top'\n};\n"]}
|
|
@@ -1,23 +0,0 @@
|
|
|
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=popover.models.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"popover.models.js","sourceRoot":"","sources":["../../../../../../../libs/angular/src/lib/components/popovers/popover.models.ts"],"names":[],"mappings":"AASA,MAAM,CAAN,IAAY,YAKX;AALD,WAAY,YAAY;IACtB,mCAAmB,CAAA;IACnB,6BAAa,CAAA;IACb,iCAAiB,CAAA;IACjB,mCAAmB,CAAA;AACrB,CAAC,EALW,YAAY,KAAZ,YAAY,QAKvB;AAED,MAAM,CAAN,IAAY,eAOX;AAPD,WAAY,eAAe;IACzB,8BAAW,CAAA;IACX,oCAAiB,CAAA;IACjB,kCAAe,CAAA;IACf,yCAAsB,CAAA;IACtB,gCAAa,CAAA;IACb,uCAAoB,CAAA;AACtB,CAAC,EAPW,eAAe,KAAf,eAAe,QAO1B;AAoBD,MAAM,CAAN,IAAY,mBAIX;AAJD,WAAY,mBAAmB;IAC7B,4CAAqB,CAAA;IACrB,8CAAuB,CAAA;IACvB,oCAAa,CAAA;AACf,CAAC,EAJW,mBAAmB,KAAnB,mBAAmB,QAI9B","sourcesContent":["import { TemplateRef, Type } from '@angular/core';\n\nexport interface PopoverParams<T> {\n origin: HTMLElement;\n content: PopoverContent;\n options?: PopoverOptions;\n data?: T;\n}\n\nexport enum PopoverTypes {\n Tooltip = 'tooltip',\n Menu = 'menu',\n Legend = 'legend',\n Content = 'content'\n}\n\nexport enum PopoverPosition {\n Top = 'top',\n Bottom = 'bottom',\n Right = 'right',\n RightTop = 'right-top',\n Left = 'left',\n LeftTop = 'left-top'\n}\n\nexport interface PopoverOptions {\n type: PopoverTypes;\n width?: string | number;\n height?: string | number;\n maxWidth?: string | number;\n maxHeight?: string | number;\n minWidth?: string | number;\n minHeight?: string | number;\n hasBackdrop?: boolean;\n backdropClass?: string;\n positions?: PopoverPosition[];\n}\n\nexport interface PopoverCloseEvent<T = any> {\n type: 'backdropClick' | 'close';\n data: T;\n}\n\nexport enum PopoverContentTypes {\n Template = 'template',\n Component = 'component',\n Text = 'text'\n}\n\nexport type PopoverContent = TemplateRef<any> | Type<any> | string;\n\nexport interface PopoverMenu<T = any> {\n text: string;\n icon: string;\n action: string;\n data?: T;\n}\n\nexport interface PopoverMenuAction<T = any> {\n action: string;\n payload: T;\n}\n\nexport interface PopoverMenuActionAware<T = any> {\n onMenuAction(event: PopoverMenuAction<T>): void;\n}\n"]}
|
|
@@ -1,117 +0,0 @@
|
|
|
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(Object.assign(Object.assign({}, defaultPositions[position]), { panelClass: [defaultClasses[t], defaultClasses[position]] }));
|
|
78
|
-
});
|
|
79
|
-
switch (type) {
|
|
80
|
-
case PopoverTypes.Tooltip:
|
|
81
|
-
positions = [PopoverPosition.Bottom, PopoverPosition.Top];
|
|
82
|
-
fn(PopoverTypes.Tooltip, positions);
|
|
83
|
-
break;
|
|
84
|
-
case PopoverTypes.Menu:
|
|
85
|
-
positions = [PopoverPosition.Right, PopoverPosition.Left];
|
|
86
|
-
fn(PopoverTypes.Menu, positions);
|
|
87
|
-
break;
|
|
88
|
-
case PopoverTypes.Legend:
|
|
89
|
-
positions = [PopoverPosition.Bottom];
|
|
90
|
-
fn(PopoverTypes.Legend, positions);
|
|
91
|
-
break;
|
|
92
|
-
case PopoverTypes.Content:
|
|
93
|
-
positions = [PopoverPosition.Bottom];
|
|
94
|
-
fn(PopoverTypes.Content, positions);
|
|
95
|
-
break;
|
|
96
|
-
default:
|
|
97
|
-
break;
|
|
98
|
-
}
|
|
99
|
-
return pairs;
|
|
100
|
-
}
|
|
101
|
-
getPositions(type, positions) {
|
|
102
|
-
const pairs = [];
|
|
103
|
-
positions.map(position => {
|
|
104
|
-
pairs.push(Object.assign(Object.assign({}, defaultPositions[position]), { panelClass: [defaultClasses[type], defaultClasses[position]] }));
|
|
105
|
-
});
|
|
106
|
-
return pairs;
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
PopoverService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: PopoverService, deps: [{ token: i1.Overlay }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
110
|
-
PopoverService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: PopoverService, providedIn: 'root' });
|
|
111
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: PopoverService, decorators: [{
|
|
112
|
-
type: Injectable,
|
|
113
|
-
args: [{
|
|
114
|
-
providedIn: 'root'
|
|
115
|
-
}]
|
|
116
|
-
}], ctorParameters: function () { return [{ type: i1.Overlay }, { type: i0.Injector }]; } });
|
|
117
|
-
//# sourceMappingURL=popover.service.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"popover.service.js","sourceRoot":"","sources":["../../../../../../../libs/angular/src/lib/components/popovers/popover.service.ts"],"names":[],"mappings":"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","sourcesContent":["import { Injectable, Injector } from '@angular/core';\nimport {\n Overlay,\n ConnectionPositionPair,\n OverlayConfig,\n FlexibleConnectedPositionStrategy,\n NoopScrollStrategy\n} from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\n\nimport { PopoverRef } from './popover-ref';\nimport { PopoverComponent } from './popover/popover.component';\nimport { defaultPositions, defaultClasses } from './popover.defaults';\nimport { PopoverParams, PopoverOptions, PopoverTypes, PopoverPosition } from './popover.models';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class PopoverService {\n readonly options: PopoverOptions = {\n type: PopoverTypes.Tooltip,\n width: null,\n height: null,\n maxWidth: null,\n maxHeight: null,\n minWidth: null,\n minHeight: null,\n hasBackdrop: false,\n backdropClass: 'fng-popover-backdrop',\n positions: null\n };\n\n get defaultOptions() {\n return this.options;\n }\n\n constructor(private overlay: Overlay, private injector: Injector) {}\n\n open<T>({ origin, content, data, options }: PopoverParams<T>): PopoverRef<T> {\n if (null == options) {\n options = this.defaultOptions;\n }\n const overlayConfig = this.getOverlayConfig({ origin, options });\n const overlayRef = this.overlay.create(overlayConfig);\n const popoverRef = new PopoverRef<T>(overlayRef, content, data);\n const injector = this.createInjector(popoverRef, this.injector);\n\n overlayRef.attach(new ComponentPortal(PopoverComponent, null, injector));\n\n return popoverRef;\n }\n\n private getOverlayConfig({ origin, options }: { origin: HTMLElement; options: PopoverOptions }): OverlayConfig {\n const type = null != options.type ? options.type : this.defaultOptions.type;\n const positions = null != options.positions ? options.positions : this.defaultOptions.positions;\n return new OverlayConfig({\n width: null != options.width ? options.width : this.defaultOptions.width,\n height: null != options.height ? options.height : this.defaultOptions.height,\n maxWidth: null != options.maxWidth ? options.maxWidth : this.defaultOptions.maxWidth,\n maxHeight: null != options.maxHeight ? options.maxHeight : this.defaultOptions.maxHeight,\n minWidth: null != options.minWidth ? options.minWidth : this.defaultOptions.minWidth,\n minHeight: null != options.minHeight ? options.minHeight : this.defaultOptions.minHeight,\n positionStrategy: this.getOverlayPosition(origin, type, positions),\n scrollStrategy:\n null != this.overlay && null != this.overlay.scrollStrategies ? this.overlay.scrollStrategies.block() : ({} as NoopScrollStrategy),\n hasBackdrop: null != options.hasBackdrop ? options.hasBackdrop : this.defaultOptions.hasBackdrop,\n backdropClass: null != options.backdropClass ? options.backdropClass : this.defaultOptions.backdropClass\n });\n }\n\n private getOverlayPosition(origin: HTMLElement, type: PopoverTypes, positions: PopoverPosition[]): FlexibleConnectedPositionStrategy {\n const positionStrategy = this.overlay\n .position()\n .flexibleConnectedTo(origin)\n .withPositions(null != positions ? this.getPositions(type, positions) : this.getDefaultPositions(type))\n .withFlexibleDimensions(false)\n .withViewportMargin(16)\n .withPush(false);\n\n return positionStrategy;\n }\n\n private createInjector(popoverRef: PopoverRef, injector: Injector) {\n return Injector.create({\n parent: injector,\n providers: [{ provide: PopoverRef, useValue: popoverRef }]\n });\n }\n\n private getDefaultPositions(type: PopoverTypes): ConnectionPositionPair[] {\n const pairs: ConnectionPositionPair[] = [];\n let positions = [];\n const fn = (t: PopoverTypes, p: PopoverPosition[]) =>\n p.map(position => {\n pairs.push({\n ...defaultPositions[position as string],\n panelClass: [defaultClasses[t], defaultClasses[position]]\n });\n });\n switch (type) {\n case PopoverTypes.Tooltip:\n positions = [PopoverPosition.Bottom, PopoverPosition.Top];\n fn(PopoverTypes.Tooltip, positions);\n break;\n case PopoverTypes.Menu:\n positions = [PopoverPosition.Right, PopoverPosition.Left];\n fn(PopoverTypes.Menu, positions);\n break;\n case PopoverTypes.Legend:\n positions = [PopoverPosition.Bottom];\n fn(PopoverTypes.Legend, positions);\n break;\n case PopoverTypes.Content:\n positions = [PopoverPosition.Bottom];\n fn(PopoverTypes.Content, positions);\n break;\n default:\n break;\n }\n return pairs;\n }\n\n private getPositions(type: PopoverTypes, positions: PopoverPosition[]): ConnectionPositionPair[] {\n const pairs: ConnectionPositionPair[] = [];\n positions.map(position => {\n pairs.push({\n ...defaultPositions[position as string],\n panelClass: [defaultClasses[type], defaultClasses[position]]\n });\n });\n\n return pairs;\n }\n}\n"]}
|
|
@@ -1,96 +0,0 @@
|
|
|
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
|
-
var _a, _b;
|
|
22
|
-
this.origin = this.elmenetRef.nativeElement;
|
|
23
|
-
if (((_a = changes === null || changes === void 0 ? void 0 : changes.isVisible) === null || _a === void 0 ? void 0 : _a.currentValue) === true) {
|
|
24
|
-
if (this.innerIsVisible === false) {
|
|
25
|
-
this.open();
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
if (((_b = changes === null || changes === void 0 ? void 0 : changes.isVisible) === null || _b === void 0 ? void 0 : _b.currentValue) === false) {
|
|
29
|
-
if (this.innerIsVisible === true) {
|
|
30
|
-
this.close();
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
ngOnDestroy() {
|
|
35
|
-
this.hide();
|
|
36
|
-
}
|
|
37
|
-
show() {
|
|
38
|
-
var _a, _b;
|
|
39
|
-
if (((_a = this.options) === null || _a === void 0 ? void 0 : _a.delay) > 0) {
|
|
40
|
-
this.timeoutHandle = setTimeout(() => {
|
|
41
|
-
this.open();
|
|
42
|
-
}, +((_b = this.options) === null || _b === void 0 ? void 0 : _b.delay));
|
|
43
|
-
}
|
|
44
|
-
else {
|
|
45
|
-
this.open();
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
hide() {
|
|
49
|
-
if (this.timeoutHandle != null) {
|
|
50
|
-
clearTimeout(this.timeoutHandle);
|
|
51
|
-
}
|
|
52
|
-
this.close();
|
|
53
|
-
}
|
|
54
|
-
open() {
|
|
55
|
-
if (this.innerIsVisible === false) {
|
|
56
|
-
this.popoverRef = this.popoverService.open({
|
|
57
|
-
content: this.text,
|
|
58
|
-
origin: this.origin,
|
|
59
|
-
options: {
|
|
60
|
-
type: PopoverTypes.Tooltip,
|
|
61
|
-
maxWidth: this.options.maxWidth
|
|
62
|
-
}
|
|
63
|
-
});
|
|
64
|
-
this.innerIsVisible = true;
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
close() {
|
|
68
|
-
if (this.popoverRef != null) {
|
|
69
|
-
this.popoverRef.close();
|
|
70
|
-
}
|
|
71
|
-
this.innerIsVisible = false;
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
TooltipDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: TooltipDirective, deps: [{ token: i0.ElementRef }, { token: i1.PopoverService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
75
|
-
TooltipDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.0", type: TooltipDirective, selector: "[fngTooltip]", inputs: { text: ["fngTooltip", "text"], isVisible: ["fngTooltipVisible", "isVisible"], options: "options" }, host: { listeners: { "mouseenter": "show()", "mouseleave": "hide()" } }, usesOnChanges: true, ngImport: i0 });
|
|
76
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: TooltipDirective, decorators: [{
|
|
77
|
-
type: Directive,
|
|
78
|
-
args: [{
|
|
79
|
-
selector: '[fngTooltip]'
|
|
80
|
-
}]
|
|
81
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.PopoverService }]; }, propDecorators: { text: [{
|
|
82
|
-
type: Input,
|
|
83
|
-
args: ['fngTooltip']
|
|
84
|
-
}], isVisible: [{
|
|
85
|
-
type: Input,
|
|
86
|
-
args: ['fngTooltipVisible']
|
|
87
|
-
}], options: [{
|
|
88
|
-
type: Input
|
|
89
|
-
}], show: [{
|
|
90
|
-
type: HostListener,
|
|
91
|
-
args: ['mouseenter']
|
|
92
|
-
}], hide: [{
|
|
93
|
-
type: HostListener,
|
|
94
|
-
args: ['mouseleave']
|
|
95
|
-
}] } });
|
|
96
|
-
//# sourceMappingURL=tooltip.directive.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tooltip.directive.js","sourceRoot":"","sources":["../../../../../../../../libs/angular/src/lib/components/popovers/tooltip/tooltip.directive.ts"],"names":[],"mappings":"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","sourcesContent":["import { Directive, HostListener, Input, ElementRef, OnChanges, SimpleChanges, OnDestroy } from '@angular/core';\n\nimport { PopoverService } from '../popover.service';\nimport { PopoverRef } from '../popover-ref';\nimport { PopoverTypes } from '../popover.models';\n\nexport interface TooltipOptions {\n maxWidth?: string | number;\n delay?: number;\n}\n\n@Directive({\n selector: '[fngTooltip]'\n})\nexport class TooltipDirective implements OnChanges, OnDestroy {\n @Input('fngTooltip') text = '';\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('fngTooltipVisible') isVisible?: boolean = false;\n @Input() options: TooltipOptions = {\n maxWidth: 400,\n delay: 0\n };\n private origin: HTMLElement;\n private popoverRef: PopoverRef;\n private innerIsVisible = false;\n private timeoutHandle = null;\n\n constructor(private elmenetRef: ElementRef, private popoverService: PopoverService) {}\n\n ngOnChanges(changes: SimpleChanges): void {\n this.origin = this.elmenetRef.nativeElement;\n\n if (changes?.isVisible?.currentValue === true) {\n if (this.innerIsVisible === false) {\n this.open();\n }\n }\n if (changes?.isVisible?.currentValue === false) {\n if (this.innerIsVisible === true) {\n this.close();\n }\n }\n }\n\n ngOnDestroy(): void {\n this.hide();\n }\n\n @HostListener('mouseenter')\n show() {\n if (this.options?.delay > 0) {\n this.timeoutHandle = setTimeout(() => {\n this.open();\n }, +this.options?.delay);\n } else {\n this.open();\n }\n }\n\n @HostListener('mouseleave')\n hide() {\n if (this.timeoutHandle != null) {\n clearTimeout(this.timeoutHandle);\n }\n this.close();\n }\n\n private open() {\n if (this.innerIsVisible === false) {\n this.popoverRef = this.popoverService.open({\n content: this.text,\n origin: this.origin,\n options: {\n type: PopoverTypes.Tooltip,\n maxWidth: this.options.maxWidth\n }\n });\n this.innerIsVisible = true;\n }\n }\n\n private close() {\n if (this.popoverRef != null) {\n this.popoverRef.close();\n }\n this.innerIsVisible = false;\n }\n}\n"]}
|