vc-layout 0.0.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/README.md +24 -0
- package/esm2022/lib/components/global-alert/global-alert/global-alert.component.mjs +13 -0
- package/esm2022/lib/components/global-alert/global-alert.module.mjs +18 -0
- package/esm2022/lib/components/header/business-cycle/business-cycle.component.mjs +279 -0
- package/esm2022/lib/components/header/create-workflow/create-workflow.component.mjs +18 -0
- package/esm2022/lib/components/header/header-container/header-container.component.mjs +36 -0
- package/esm2022/lib/components/header/header.module.mjs +64 -0
- package/esm2022/lib/components/header/queue/queue.component.mjs +59 -0
- package/esm2022/lib/components/header/search/search.component.mjs +14 -0
- package/esm2022/lib/components/header/support/support.component.mjs +31 -0
- package/esm2022/lib/components/header/user-details/user-details.component.mjs +34 -0
- package/esm2022/lib/components/product-list/module-list/module-list.component.mjs +130 -0
- package/esm2022/lib/components/product-list/preference-list/preference-list.component.mjs +83 -0
- package/esm2022/lib/components/product-list/product-list-container/product-list-container.component.mjs +33 -0
- package/esm2022/lib/components/product-list/product-list.module.mjs +27 -0
- package/esm2022/lib/components/sub-menu/sub-menu-container/sub-menu-container.component.mjs +117 -0
- package/esm2022/lib/components/sub-menu/sub-menu.module.mjs +19 -0
- package/esm2022/lib/configurations.mjs +6 -0
- package/esm2022/lib/constants/api.constant.mjs +7 -0
- package/esm2022/lib/constants/app-url.constant.mjs +18 -0
- package/esm2022/lib/constants/assets.constants.mjs +32 -0
- package/esm2022/lib/constants/product-list.constant.mjs +92 -0
- package/esm2022/lib/shared/pipe/check-create-permission.pipe.mjs +17 -0
- package/esm2022/lib/shared/pipe/date-format.pipe.mjs +35 -0
- package/esm2022/lib/shared/pipe/get-file-url.pipe.mjs +22 -0
- package/esm2022/lib/shared/pipe/pipes.module.mjs +20 -0
- package/esm2022/lib/shared/services/api.service.mjs +96 -0
- package/esm2022/lib/shared/services/business-cycle.service.mjs +125 -0
- package/esm2022/lib/shared/services/layout.service.mjs +40 -0
- package/esm2022/lib/shared/services/product-list.service.mjs +82 -0
- package/esm2022/lib/shared/services/rbac.service.mjs +58 -0
- package/esm2022/lib/shared/ui-kit/avatar/avatar/avatar.component.mjs +43 -0
- package/esm2022/lib/shared/ui-kit/avatar/avatar.module.mjs +19 -0
- package/esm2022/lib/shared/ui-kit/formgroup/checkbox/checkbox.component.mjs +39 -0
- package/esm2022/lib/shared/ui-kit/formgroup/click-outside.directive.mjs +29 -0
- package/esm2022/lib/shared/ui-kit/formgroup/cs-checkbox/cs-checkbox.component.mjs +28 -0
- package/esm2022/lib/shared/ui-kit/formgroup/cs-checkbox-indeterminate/cs-checkbox-indeterminate.component.mjs +32 -0
- package/esm2022/lib/shared/ui-kit/formgroup/cs-radio/cs-radio.component.mjs +30 -0
- package/esm2022/lib/shared/ui-kit/formgroup/cs-radio-group/cs-radio-group.component.mjs +14 -0
- package/esm2022/lib/shared/ui-kit/formgroup/cs-select/cs-select.component.mjs +102 -0
- package/esm2022/lib/shared/ui-kit/formgroup/cs-switch/cs-switch.component.mjs +35 -0
- package/esm2022/lib/shared/ui-kit/formgroup/formgroup.module.mjs +65 -0
- package/esm2022/lib/shared/ui-kit/formgroup/pipes/pascal.pipe.mjs +19 -0
- package/esm2022/lib/shared/ui-kit/formgroup/pipes/searchMultiSelect.pipe.mjs +24 -0
- package/esm2022/lib/shared/ui-kit/popover/popover-event.directive.mjs +28 -0
- package/esm2022/lib/shared/ui-kit/popover/popover-longpress.directive.mjs +48 -0
- package/esm2022/lib/shared/ui-kit/popover/popover.component.mjs +141 -0
- package/esm2022/lib/shared/ui-kit/popover/popover.directive.mjs +82 -0
- package/esm2022/lib/shared/ui-kit/popover/popover.module.mjs +23 -0
- package/esm2022/lib/shared/ui-kit/popover/popover.service.mjs +15 -0
- package/esm2022/lib/shared/ui-kit/tooltip/tooltip.directive.mjs +156 -0
- package/esm2022/lib/shared/ui-kit/tooltip/tooltip.module.mjs +18 -0
- package/esm2022/lib/vc-layout.component.mjs +19 -0
- package/esm2022/lib/vc-layout.module.mjs +24 -0
- package/esm2022/lib/vc-layout.service.mjs +14 -0
- package/esm2022/public-api.mjs +14 -0
- package/esm2022/vc-layout.mjs +5 -0
- package/fesm2022/vc-layout.mjs +2457 -0
- package/fesm2022/vc-layout.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/components/global-alert/global-alert/global-alert.component.d.ts +8 -0
- package/lib/components/global-alert/global-alert.module.d.ts +8 -0
- package/lib/components/header/business-cycle/business-cycle.component.d.ts +87 -0
- package/lib/components/header/create-workflow/create-workflow.component.d.ts +9 -0
- package/lib/components/header/header-container/header-container.component.d.ts +15 -0
- package/lib/components/header/header.module.d.ts +20 -0
- package/lib/components/header/queue/queue.component.d.ts +12 -0
- package/lib/components/header/search/search.component.d.ts +8 -0
- package/lib/components/header/support/support.component.d.ts +10 -0
- package/lib/components/header/user-details/user-details.component.d.ts +14 -0
- package/lib/components/product-list/module-list/module-list.component.d.ts +42 -0
- package/lib/components/product-list/preference-list/preference-list.component.d.ts +9 -0
- package/lib/components/product-list/product-list-container/product-list-container.component.d.ts +10 -0
- package/lib/components/product-list/product-list.module.d.ts +11 -0
- package/lib/components/sub-menu/sub-menu-container/sub-menu-container.component.d.ts +11 -0
- package/lib/components/sub-menu/sub-menu.module.d.ts +9 -0
- package/lib/configurations.d.ts +4 -0
- package/lib/constants/api.constant.d.ts +6 -0
- package/lib/constants/app-url.constant.d.ts +1 -0
- package/lib/constants/assets.constants.d.ts +30 -0
- package/lib/constants/product-list.constant.d.ts +1 -0
- package/lib/shared/pipe/check-create-permission.pipe.d.ts +7 -0
- package/lib/shared/pipe/date-format.pipe.d.ts +7 -0
- package/lib/shared/pipe/get-file-url.pipe.d.ts +10 -0
- package/lib/shared/pipe/pipes.module.d.ts +10 -0
- package/lib/shared/services/api.service.d.ts +37 -0
- package/lib/shared/services/business-cycle.service.d.ts +51 -0
- package/lib/shared/services/layout.service.d.ts +9 -0
- package/lib/shared/services/product-list.service.d.ts +31 -0
- package/lib/shared/services/rbac.service.d.ts +25 -0
- package/lib/shared/ui-kit/avatar/avatar/avatar.component.d.ts +12 -0
- package/lib/shared/ui-kit/avatar/avatar.module.d.ts +9 -0
- package/lib/shared/ui-kit/formgroup/checkbox/checkbox.component.d.ts +16 -0
- package/lib/shared/ui-kit/formgroup/click-outside.directive.d.ts +10 -0
- package/lib/shared/ui-kit/formgroup/cs-checkbox/cs-checkbox.component.d.ts +13 -0
- package/lib/shared/ui-kit/formgroup/cs-checkbox-indeterminate/cs-checkbox-indeterminate.component.d.ts +13 -0
- package/lib/shared/ui-kit/formgroup/cs-radio/cs-radio.component.d.ts +15 -0
- package/lib/shared/ui-kit/formgroup/cs-radio-group/cs-radio-group.component.d.ts +8 -0
- package/lib/shared/ui-kit/formgroup/cs-select/cs-select.component.d.ts +36 -0
- package/lib/shared/ui-kit/formgroup/cs-switch/cs-switch.component.d.ts +15 -0
- package/lib/shared/ui-kit/formgroup/formgroup.module.d.ts +19 -0
- package/lib/shared/ui-kit/formgroup/pipes/pascal.pipe.d.ts +7 -0
- package/lib/shared/ui-kit/formgroup/pipes/searchMultiSelect.pipe.d.ts +7 -0
- package/lib/shared/ui-kit/popover/popover-event.directive.d.ts +10 -0
- package/lib/shared/ui-kit/popover/popover-longpress.directive.d.ts +16 -0
- package/lib/shared/ui-kit/popover/popover.component.d.ts +28 -0
- package/lib/shared/ui-kit/popover/popover.directive.d.ts +17 -0
- package/lib/shared/ui-kit/popover/popover.module.d.ts +11 -0
- package/lib/shared/ui-kit/popover/popover.service.d.ts +12 -0
- package/lib/shared/ui-kit/tooltip/tooltip.directive.d.ts +27 -0
- package/lib/shared/ui-kit/tooltip/tooltip.module.d.ts +8 -0
- package/lib/vc-layout.component.d.ts +10 -0
- package/lib/vc-layout.module.d.ts +10 -0
- package/lib/vc-layout.service.d.ts +6 -0
- package/package.json +25 -0
- package/public-api.d.ts +10 -0
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
import { Component, Input, ViewChild, EventEmitter, Output, } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "./popover.service";
|
|
4
|
+
import * as i2 from "@angular/common";
|
|
5
|
+
export class PopoverComponent {
|
|
6
|
+
constructor(popoverService) {
|
|
7
|
+
this.popoverService = popoverService;
|
|
8
|
+
this.popoverContainer = false;
|
|
9
|
+
this.closedOnOverlay = new EventEmitter();
|
|
10
|
+
this.showPopover = false;
|
|
11
|
+
}
|
|
12
|
+
ngOnInit() { }
|
|
13
|
+
popover() {
|
|
14
|
+
this.popoverContainer = false;
|
|
15
|
+
this.popoverContainer = true;
|
|
16
|
+
setTimeout(() => {
|
|
17
|
+
this.getPosition();
|
|
18
|
+
this.showPopover = true;
|
|
19
|
+
}, 10);
|
|
20
|
+
return false;
|
|
21
|
+
}
|
|
22
|
+
popoverEvent() {
|
|
23
|
+
this.popoverContainer = false;
|
|
24
|
+
this.popoverContainer = true;
|
|
25
|
+
setTimeout(() => {
|
|
26
|
+
// this.getPosition();
|
|
27
|
+
this.positionX = this.popoverService.positionX;
|
|
28
|
+
this.positionY = this.popoverService.positionY;
|
|
29
|
+
this.showPopover = true;
|
|
30
|
+
}, 10);
|
|
31
|
+
return false;
|
|
32
|
+
}
|
|
33
|
+
closePopover(top) {
|
|
34
|
+
if (!this.dontCloseonClick || top === 'top') {
|
|
35
|
+
this.popoverContainer = false;
|
|
36
|
+
this.showPopover = false;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
close() {
|
|
40
|
+
this.popoverContainer = false;
|
|
41
|
+
this.showPopover = false;
|
|
42
|
+
}
|
|
43
|
+
clickedPopover() {
|
|
44
|
+
this.getPosition();
|
|
45
|
+
}
|
|
46
|
+
getPosition() {
|
|
47
|
+
// setTimeout(() => {
|
|
48
|
+
const elementPositionn = this.popoverService.elementPosition;
|
|
49
|
+
this.popoverHeight = this.popoverRatio.nativeElement.offsetHeight;
|
|
50
|
+
this.popoverWidth = this.popoverRatio.nativeElement.offsetWidth;
|
|
51
|
+
if (this.popoverService.elementDirection === 'left') {
|
|
52
|
+
this.leftValue = elementPositionn.left;
|
|
53
|
+
if (elementPositionn.top + elementPositionn.height + this.popoverHeight >
|
|
54
|
+
window.outerHeight - 200) {
|
|
55
|
+
this.topValue = elementPositionn.top - this.popoverHeight;
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
this.topValue = elementPositionn.top + elementPositionn.height;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
if (this.popoverService.elementDirection === 'right') {
|
|
62
|
+
this.leftValue =
|
|
63
|
+
elementPositionn.left + elementPositionn.width - this.popoverWidth;
|
|
64
|
+
if (elementPositionn.top + elementPositionn.height + this.popoverHeight >
|
|
65
|
+
window.outerHeight - 200) {
|
|
66
|
+
this.topValue = elementPositionn.top - this.popoverHeight;
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
this.topValue = elementPositionn.top + elementPositionn.height;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
if (this.popoverService.elementDirection === 'top') {
|
|
73
|
+
this.leftValue = elementPositionn.left + elementPositionn.width;
|
|
74
|
+
if (elementPositionn.top + elementPositionn.height + this.popoverHeight >
|
|
75
|
+
window.outerHeight - 200) {
|
|
76
|
+
this.topValue = elementPositionn.top - this.popoverHeight;
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
this.topValue = elementPositionn.top - this.popoverHeight;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
if (this.popoverService.elementDirection === 'bottom') {
|
|
83
|
+
this.leftValue = elementPositionn.left + elementPositionn.width;
|
|
84
|
+
if (elementPositionn.top + elementPositionn.height + this.popoverHeight >
|
|
85
|
+
window.outerHeight - 200) {
|
|
86
|
+
this.topValue = elementPositionn.top - this.popoverHeight;
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
this.topValue = elementPositionn.top + elementPositionn.height;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
if (this.popoverService.elementDirection === 'self-position') {
|
|
93
|
+
this.leftValue =
|
|
94
|
+
elementPositionn.left +
|
|
95
|
+
elementPositionn.width / 2 -
|
|
96
|
+
this.popoverWidth / 2;
|
|
97
|
+
this.topValue = elementPositionn.top - 15;
|
|
98
|
+
}
|
|
99
|
+
if (this.popoverService.elementDirection === 'top-center') {
|
|
100
|
+
this.leftValue =
|
|
101
|
+
elementPositionn.left +
|
|
102
|
+
elementPositionn.width / 2 -
|
|
103
|
+
this.popoverWidth / 2;
|
|
104
|
+
// this.topValue = elementPositionn.top - this.popoverHeight;
|
|
105
|
+
if (elementPositionn.top + elementPositionn.height + this.popoverHeight >
|
|
106
|
+
window.outerHeight) {
|
|
107
|
+
this.topValue = elementPositionn.top + elementPositionn.height;
|
|
108
|
+
}
|
|
109
|
+
else {
|
|
110
|
+
this.topValue = elementPositionn.top - this.popoverHeight;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
if (this.popoverService.elementDirection === 'center') {
|
|
114
|
+
this.leftValue =
|
|
115
|
+
elementPositionn.left +
|
|
116
|
+
elementPositionn.width / 2 -
|
|
117
|
+
this.popoverWidth / 2;
|
|
118
|
+
this.topValue = elementPositionn.top + elementPositionn.height;
|
|
119
|
+
}
|
|
120
|
+
this.positionX = this.leftValue;
|
|
121
|
+
this.positionY = this.topValue;
|
|
122
|
+
// }, 10);
|
|
123
|
+
}
|
|
124
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PopoverComponent, deps: [{ token: i1.PopoverService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
125
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PopoverComponent, selector: "vui-popover", inputs: { dontCloseonClick: "dontCloseonClick" }, outputs: { closedOnOverlay: "closedOnOverlay" }, viewQueries: [{ propertyName: "popoverRatio", first: true, predicate: ["popoverRatio"], descendants: true }, { propertyName: "popoverContent", first: true, predicate: ["popoverContent"], descendants: true }], ngImport: i0, template: "<div\r\n class=\"vc-overlay\"\r\n *ngIf=\"popoverContainer\"\r\n (click)=\"closePopover('top'); this.closedOnOverlay.emit()\"\r\n></div>\r\n<div\r\n class=\"action\"\r\n [class.active]=\"showPopover\"\r\n *ngIf=\"popoverContainer\"\r\n [style.top.px]=\"positionY\"\r\n [style.left.px]=\"positionX\"\r\n #popoverRatio\r\n id=\"popoverRatio\"\r\n>\r\n <div (click)=\"closePopover(); clickedPopover()\" #popoverContent>\r\n <ng-content></ng-content>\r\n </div>\r\n</div>\r\n", styles: [".action{position:fixed;z-index:13;display:inline-block;opacity:0}.action.active{opacity:1}.vc-overlay{z-index:12;cursor:initial}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
126
|
+
}
|
|
127
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PopoverComponent, decorators: [{
|
|
128
|
+
type: Component,
|
|
129
|
+
args: [{ selector: 'vui-popover', template: "<div\r\n class=\"vc-overlay\"\r\n *ngIf=\"popoverContainer\"\r\n (click)=\"closePopover('top'); this.closedOnOverlay.emit()\"\r\n></div>\r\n<div\r\n class=\"action\"\r\n [class.active]=\"showPopover\"\r\n *ngIf=\"popoverContainer\"\r\n [style.top.px]=\"positionY\"\r\n [style.left.px]=\"positionX\"\r\n #popoverRatio\r\n id=\"popoverRatio\"\r\n>\r\n <div (click)=\"closePopover(); clickedPopover()\" #popoverContent>\r\n <ng-content></ng-content>\r\n </div>\r\n</div>\r\n", styles: [".action{position:fixed;z-index:13;display:inline-block;opacity:0}.action.active{opacity:1}.vc-overlay{z-index:12;cursor:initial}\n"] }]
|
|
130
|
+
}], ctorParameters: function () { return [{ type: i1.PopoverService }]; }, propDecorators: { dontCloseonClick: [{
|
|
131
|
+
type: Input
|
|
132
|
+
}], popoverRatio: [{
|
|
133
|
+
type: ViewChild,
|
|
134
|
+
args: ['popoverRatio']
|
|
135
|
+
}], popoverContent: [{
|
|
136
|
+
type: ViewChild,
|
|
137
|
+
args: ['popoverContent']
|
|
138
|
+
}], closedOnOverlay: [{
|
|
139
|
+
type: Output
|
|
140
|
+
}] } });
|
|
141
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92Yy1sYXlvdXQvc3JjL2xpYi9zaGFyZWQvdWkta2l0L3BvcG92ZXIvcG9wb3Zlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92Yy1sYXlvdXQvc3JjL2xpYi9zaGFyZWQvdWkta2l0L3BvcG92ZXIvcG9wb3Zlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULEtBQUssRUFFTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQzs7OztBQVF2QixNQUFNLE9BQU8sZ0JBQWdCO0lBTTNCLFlBQW1CLGNBQThCO1FBQTlCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUpqRCxxQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFHZixvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFL0MsZ0JBQVcsR0FBRyxLQUFLLENBQUM7SUFEZ0MsQ0FBQztJQVFyRCxRQUFRLEtBQVUsQ0FBQztJQUNuQixPQUFPO1FBQ0wsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEtBQUssQ0FBQztRQUM5QixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO1FBQzdCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDbkIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7UUFDMUIsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ1AsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBQ0QsWUFBWTtRQUNWLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFDOUIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQztRQUM3QixVQUFVLENBQUMsR0FB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ICBJbnB1dCxcclxuICBPbkluaXQsXHJcbiAgVmlld0NoaWxkLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBPdXRwdXQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFBvcG92ZXJTZXJ2aWNlIH0gZnJvbSAnLi9wb3BvdmVyLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd2dWktcG9wb3ZlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3BvcG92ZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3BvcG92ZXIuY29tcG9uZW50Lmxlc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFBvcG92ZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBJbnB1dCgpIGRvbnRDbG9zZW9uQ2xpY2shOiBib29sZWFuO1xyXG4gIHBvcG92ZXJDb250YWluZXIgPSBmYWxzZTtcclxuICBAVmlld0NoaWxkKCdwb3BvdmVyUmF0aW8nKSBwb3BvdmVyUmF0aW8hOiBFbGVtZW50UmVmO1xyXG4gIEBWaWV3Q2hpbGQoJ3BvcG92ZXJDb250ZW50JykgcG9wb3ZlckNvbnRlbnQhOiBFbGVtZW50UmVmO1xyXG4gIEBPdXRwdXQoKSBjbG9zZWRPbk92ZXJsYXkgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgY29uc3RydWN0b3IocHVibGljIHBvcG92ZXJTZXJ2aWNlOiBQb3BvdmVyU2VydmljZSkge31cclxuICBzaG93UG9wb3ZlciA9IGZhbHNlO1xyXG4gIGxlZnRWYWx1ZTogYW55O1xyXG4gIHRvcFZhbHVlOiBhbnk7XHJcbiAgcG9wb3ZlckhlaWdodDogYW55O1xyXG4gIHBvcG92ZXJXaWR0aDogYW55O1xyXG4gIHBvc2l0aW9uWCE6IG51bWJlcjtcclxuICBwb3NpdGlvblkhOiBudW1iZXI7XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7fVxyXG4gIHBvcG92ZXIoKSB7XHJcbiAgICB0aGlzLnBvcG92ZXJDb250YWluZXIgPSBmYWxzZTtcclxuICAgIHRoaXMucG9wb3ZlckNvbnRhaW5lciA9IHRydWU7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5nZXRQb3NpdGlvbigpO1xyXG4gICAgICB0aGlzLnNob3dQb3BvdmVyID0gdHJ1ZTtcclxuICAgIH0sIDEwKTtcclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcbiAgcG9wb3ZlckV2ZW50KCkge1xyXG4gICAgdGhpcy5wb3BvdmVyQ29udGFpbmVyID0gZmFsc2U7XHJcbiAgICB0aGlzLnBvcG92ZXJDb250YWluZXIgPSB0cnVlO1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIC8vIHRoaXMuZ2V0UG9zaXRpb24oKTtcclxuICAgICAgdGhpcy5wb3NpdGlvblggPSB0aGlzLnBvcG92ZXJTZXJ2aWNlLnBvc2l0aW9uWDtcclxuICAgICAgdGhpcy5wb3NpdGlvblkgPSB0aGlzLnBvcG92ZXJTZXJ2aWNlLnBvc2l0aW9uWTtcclxuICAgICAgdGhpcy5zaG93UG9wb3ZlciA9IHRydWU7XHJcbiAgICB9LCAxMCk7XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG4gIGNsb3NlUG9wb3Zlcih0b3A/OiBzdHJpbmcpIHtcclxuICAgIGlmICghdGhpcy5kb250Q2xvc2VvbkNsaWNrIHx8IHRvcCA9PT0gJ3RvcCcpIHtcclxuICAgICAgdGhpcy5wb3BvdmVyQ29udGFpbmVyID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuc2hvd1BvcG92ZXIgPSBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNsb3NlKCkge1xyXG4gICAgdGhpcy5wb3BvdmVyQ29udGFpbmVyID0gZmFsc2U7XHJcbiAgICB0aGlzLnNob3dQb3BvdmVyID0gZmFsc2U7XHJcbiAgfVxyXG4gIGNsaWNrZWRQb3BvdmVyKCkge1xyXG4gICAgdGhpcy5nZXRQb3NpdGlvbigpO1xyXG4gIH1cclxuICBnZXRQb3NpdGlvbigpIHtcclxuICAgIC8vIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgY29uc3QgZWxlbWVudFBvc2l0aW9ubiA9IHRoaXMucG9wb3ZlclNlcnZpY2UuZWxlbWVudFBvc2l0aW9uO1xyXG4gICAgdGhpcy5wb3BvdmVySGVpZ2h0ID0gdGhpcy5wb3BvdmVyUmF0aW8ubmF0aXZlRWxlbWVudC5vZmZzZXRIZWlnaHQ7XHJcbiAgICB0aGlzLnBvcG92ZXJXaWR0aCA9IHRoaXMucG9wb3ZlclJhdGlvLm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGg7XHJcbiAgICBpZiAodGhpcy5wb3BvdmVyU2VydmljZS5lbGVtZW50RGlyZWN0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgdGhpcy5sZWZ0VmFsdWUgPSBlbGVtZW50UG9zaXRpb25uLmxlZnQ7XHJcbiAgICAgIGlmIChcclxuICAgICAgICBlbGVtZW50UG9zaXRpb25uLnRvcCArIGVsZW1lbnRQb3NpdGlvbm4uaGVpZ2h0ICsgdGhpcy5wb3BvdmVySGVpZ2h0ID5cclxuICAgICAgICB3aW5kb3cub3V0ZXJIZWlnaHQgLSAyMDBcclxuICAgICAgKSB7XHJcbiAgICAgICAgdGhpcy50b3BWYWx1ZSA9IGVsZW1lbnRQb3NpdGlvbm4udG9wIC0gdGhpcy5wb3BvdmVySGVpZ2h0O1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMudG9wVmFsdWUgPSBlbGVtZW50UG9zaXRpb25uLnRvcCArIGVsZW1lbnRQb3NpdGlvbm4uaGVpZ2h0O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5wb3BvdmVyU2VydmljZS5lbGVtZW50RGlyZWN0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgIHRoaXMubGVmdFZhbHVlID1cclxuICAgICAgICBlbGVtZW50UG9zaXRpb25uLmxlZnQgKyBlbGVtZW50UG9zaXRpb25uLndpZHRoIC0gdGhpcy5wb3BvdmVyV2lkdGg7XHJcbiAgICAgIGlmIChcclxuICAgICAgICBlbGVtZW50UG9zaXRpb25uLnRvcCArIGVsZW1lbnRQb3NpdGlvbm4uaGVpZ2h0ICsgdGhpcy5wb3BvdmVySGVpZ2h0ID5cclxuICAgICAgICB3aW5kb3cub3V0ZXJIZWlnaHQgLSAyMDBcclxuICAgICAgKSB7XHJcbiAgICAgICAgdGhpcy50b3BWYWx1ZSA9IGVsZW1lbnRQb3NpdGlvbm4udG9wIC0gdGhpcy5wb3BvdmVySGVpZ2h0O1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMudG9wVmFsdWUgPSBlbGVtZW50UG9zaXRpb25uLnRvcCArIGVsZW1lbnRQb3NpdGlvbm4uaGVpZ2h0O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5wb3BvdmVyU2VydmljZS5lbGVtZW50RGlyZWN0aW9uID09PSAndG9wJykge1xyXG4gICAgICB0aGlzLmxlZnRWYWx1ZSA9IGVsZW1lbnRQb3NpdGlvbm4ubGVmdCArIGVsZW1lbnRQb3NpdGlvbm4ud2lkdGg7XHJcbiAgICAgIGlmIChcclxuICAgICAgICBlbGVtZW50UG9zaXRpb25uLnRvcCArIGVsZW1lbnRQb3NpdGlvbm4uaGVpZ2h0ICsgdGhpcy5wb3BvdmVySGVpZ2h0ID5cclxuICAgICAgICB3aW5kb3cub3V0ZXJIZWlnaHQgLSAyMDBcclxuICAgICAgKSB7XHJcbiAgICAgICAgdGhpcy50b3BWYWx1ZSA9IGVsZW1lbnRQb3NpdGlvbm4udG9wIC0gdGhpcy5wb3BvdmVySGVpZ2h0O1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMudG9wVmFsdWUgPSBlbGVtZW50UG9zaXRpb25uLnRvcCAtIHRoaXMucG9wb3ZlckhlaWdodDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMucG9wb3ZlclNlcnZpY2UuZWxlbWVudERpcmVjdGlvbiA9PT0gJ2JvdHRvbScpIHtcclxuICAgICAgdGhpcy5sZWZ0VmFsdWUgPSBlbGVtZW50UG9zaXRpb25uLmxlZnQgKyBlbGVtZW50UG9zaXRpb25uLndpZHRoO1xyXG4gICAgICBpZiAoXHJcbiAgICAgICAgZWxlbWVudFBvc2l0aW9ubi50b3AgKyBlbGVtZW50UG9zaXRpb25uLmhlaWdodCArIHRoaXMucG9wb3ZlckhlaWdodCA+XHJcbiAgICAgICAgd2luZG93Lm91dGVySGVpZ2h0IC0gMjAwXHJcbiAgICAgICkge1xyXG4gICAgICAgIHRoaXMudG9wVmFsdWUgPSBlbGVtZW50UG9zaXRpb25uLnRvcCAtIHRoaXMucG9wb3ZlckhlaWdodDtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnRvcFZhbHVlID0gZWxlbWVudFBvc2l0aW9ubi50b3AgKyBlbGVtZW50UG9zaXRpb25uLmhlaWdodDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMucG9wb3ZlclNlcnZpY2UuZWxlbWVudERpcmVjdGlvbiA9PT0gJ3NlbGYtcG9zaXRpb24nKSB7XHJcbiAgICAgIHRoaXMubGVmdFZhbHVlID1cclxuICAgICAgICBlbGVtZW50UG9zaXRpb25uLmxlZnQgK1xyXG4gICAgICAgIGVsZW1lbnRQb3NpdGlvbm4ud2lkdGggLyAyIC1cclxuICAgICAgICB0aGlzLnBvcG92ZXJXaWR0aCAvIDI7XHJcbiAgICAgIHRoaXMudG9wVmFsdWUgPSBlbGVtZW50UG9zaXRpb25uLnRvcCAtIDE1O1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMucG9wb3ZlclNlcnZpY2UuZWxlbWVudERpcmVjdGlvbiA9PT0gJ3RvcC1jZW50ZXInKSB7XHJcbiAgICAgIHRoaXMubGVmdFZhbHVlID1cclxuICAgICAgICBlbGVtZW50UG9zaXRpb25uLmxlZnQgK1xyXG4gICAgICAgIGVsZW1lbnRQb3NpdGlvbm4ud2lkdGggLyAyIC1cclxuICAgICAgICB0aGlzLnBvcG92ZXJXaWR0aCAvIDI7XHJcbiAgICAgIC8vIHRoaXMudG9wVmFsdWUgPSBlbGVtZW50UG9zaXRpb25uLnRvcCAtIHRoaXMucG9wb3ZlckhlaWdodDtcclxuICAgICAgaWYgKFxyXG4gICAgICAgIGVsZW1lbnRQb3NpdGlvbm4udG9wICsgZWxlbWVudFBvc2l0aW9ubi5oZWlnaHQgKyB0aGlzLnBvcG92ZXJIZWlnaHQgPlxyXG4gICAgICAgIHdpbmRvdy5vdXRlckhlaWdodFxyXG4gICAgICApIHtcclxuICAgICAgICB0aGlzLnRvcFZhbHVlID0gZWxlbWVudFBvc2l0aW9ubi50b3AgKyBlbGVtZW50UG9zaXRpb25uLmhlaWdodDtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnRvcFZhbHVlID0gZWxlbWVudFBvc2l0aW9ubi50b3AgLSB0aGlzLnBvcG92ZXJIZWlnaHQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGlmICh0aGlzLnBvcG92ZXJTZXJ2aWNlLmVsZW1lbnREaXJlY3Rpb24gPT09ICdjZW50ZXInKSB7XHJcbiAgICAgIHRoaXMubGVmdFZhbHVlID1cclxuICAgICAgICBlbGVtZW50UG9zaXRpb25uLmxlZnQgK1xyXG4gICAgICAgIGVsZW1lbnRQb3NpdGlvbm4ud2lkdGggLyAyIC1cclxuICAgICAgICB0aGlzLnBvcG92ZXJXaWR0aCAvIDI7XHJcbiAgICAgIHRoaXMudG9wVmFsdWUgPSBlbGVtZW50UG9zaXRpb25uLnRvcCArIGVsZW1lbnRQb3NpdGlvbm4uaGVpZ2h0O1xyXG4gICAgfVxyXG4gICAgdGhpcy5wb3NpdGlvblggPSB0aGlzLmxlZnRWYWx1ZTtcclxuICAgIHRoaXMucG9zaXRpb25ZID0gdGhpcy50b3BWYWx1ZTtcclxuICAgIC8vIH0sIDEwKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdlxyXG4gIGNsYXNzPVwidmMtb3ZlcmxheVwiXHJcbiAgKm5nSWY9XCJwb3BvdmVyQ29udGFpbmVyXCJcclxuICAoY2xpY2spPVwiY2xvc2VQb3BvdmVyKCd0b3AnKTsgdGhpcy5jbG9zZWRPbk92ZXJsYXkuZW1pdCgpXCJcclxuPjwvZGl2PlxyXG48ZGl2XHJcbiAgY2xhc3M9XCJhY3Rpb25cIlxyXG4gIFtjbGFzcy5hY3RpdmVdPVwic2hvd1BvcG92ZXJcIlxyXG4gICpuZ0lmPVwicG9wb3ZlckNvbnRhaW5lclwiXHJcbiAgW3N0eWxlLnRvcC5weF09XCJwb3NpdGlvbllcIlxyXG4gIFtzdHlsZS5sZWZ0LnB4XT1cInBvc2l0aW9uWFwiXHJcbiAgI3BvcG92ZXJSYXRpb1xyXG4gIGlkPVwicG9wb3ZlclJhdGlvXCJcclxuPlxyXG4gIDxkaXYgKGNsaWNrKT1cImNsb3NlUG9wb3ZlcigpOyBjbGlja2VkUG9wb3ZlcigpXCIgI3BvcG92ZXJDb250ZW50PlxyXG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { Directive, HostListener, Input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "./popover.service";
|
|
4
|
+
export class PopoverDirective {
|
|
5
|
+
constructor(elRef, popoverService) {
|
|
6
|
+
this.elRef = elRef;
|
|
7
|
+
this.popoverService = popoverService;
|
|
8
|
+
}
|
|
9
|
+
click() {
|
|
10
|
+
this.popoverService.elementPosition = this.elRef.nativeElement.getBoundingClientRect();
|
|
11
|
+
this.popoverService.elementDirection = this.position;
|
|
12
|
+
// this.getPosition();
|
|
13
|
+
}
|
|
14
|
+
getPosition() {
|
|
15
|
+
setTimeout(() => {
|
|
16
|
+
// this.popoverService.elementPosition = this.elRef.nativeElement.getBoundingClientRect();
|
|
17
|
+
const elementPositionn = this.elRef.nativeElement.getBoundingClientRect();
|
|
18
|
+
if (this.position === 'left') {
|
|
19
|
+
this.leftValue = elementPositionn.left;
|
|
20
|
+
if (elementPositionn.top + elementPositionn.height + this.popoverService.popoverHeight > window.outerHeight - 200) {
|
|
21
|
+
this.topValue = elementPositionn.top - this.popoverService.popoverHeight;
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
this.topValue = elementPositionn.top + elementPositionn.height;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
if (this.position === 'right') {
|
|
28
|
+
this.leftValue = elementPositionn.left + elementPositionn.width - this.popoverService.popoverWidth;
|
|
29
|
+
if (elementPositionn.top + elementPositionn.height + this.popoverService.popoverHeight > window.outerHeight - 200) {
|
|
30
|
+
this.topValue = elementPositionn.top - this.popoverService.popoverHeight;
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
this.topValue = elementPositionn.top + elementPositionn.height;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
if (this.position === 'top') {
|
|
37
|
+
this.leftValue = elementPositionn.left + elementPositionn.width;
|
|
38
|
+
if (elementPositionn.top + elementPositionn.height + this.popoverService.popoverHeight > window.outerHeight - 200) {
|
|
39
|
+
this.topValue = elementPositionn.top - this.popoverService.popoverHeight;
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
this.topValue = elementPositionn.top - this.popoverService.popoverHeight;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
if (this.position === 'bottom') {
|
|
46
|
+
this.leftValue = elementPositionn.left + elementPositionn.width;
|
|
47
|
+
if (elementPositionn.top + elementPositionn.height + this.popoverService.popoverHeight > window.outerHeight - 200) {
|
|
48
|
+
this.topValue = elementPositionn.top - this.popoverService.popoverHeight;
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
this.topValue = elementPositionn.top + elementPositionn.height;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
if (this.position === 'self-position') {
|
|
55
|
+
this.leftValue = elementPositionn.left + elementPositionn.width / 2 - this.popoverService.popoverWidth / 2;
|
|
56
|
+
this.topValue = elementPositionn.top - 15;
|
|
57
|
+
}
|
|
58
|
+
if (this.position === 'top-center') {
|
|
59
|
+
this.leftValue = elementPositionn.left + elementPositionn.width / 2 - this.popoverService.popoverWidth / 2;
|
|
60
|
+
this.topValue = elementPositionn.top - this.popoverService.popoverHeight;
|
|
61
|
+
}
|
|
62
|
+
this.popoverService.positionX = this.leftValue;
|
|
63
|
+
this.popoverService.positionY = this.topValue;
|
|
64
|
+
}, 10);
|
|
65
|
+
}
|
|
66
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PopoverDirective, deps: [{ token: i0.ElementRef }, { token: i1.PopoverService }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
67
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: PopoverDirective, selector: "[appPopover]", inputs: { refrence: "refrence", position: "position" }, host: { listeners: { "click": "click()" } }, ngImport: i0 }); }
|
|
68
|
+
}
|
|
69
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PopoverDirective, decorators: [{
|
|
70
|
+
type: Directive,
|
|
71
|
+
args: [{
|
|
72
|
+
selector: '[appPopover]',
|
|
73
|
+
}]
|
|
74
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.PopoverService }]; }, propDecorators: { refrence: [{
|
|
75
|
+
type: Input
|
|
76
|
+
}], position: [{
|
|
77
|
+
type: Input
|
|
78
|
+
}], click: [{
|
|
79
|
+
type: HostListener,
|
|
80
|
+
args: ['click']
|
|
81
|
+
}] } });
|
|
82
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92Yy1sYXlvdXQvc3JjL2xpYi9zaGFyZWQvdWkta2l0L3BvcG92ZXIvcG9wb3Zlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFNM0UsTUFBTSxPQUFPLGdCQUFnQjtJQU0zQixZQUFvQixLQUFpQixFQUFVLGNBQThCO1FBQXpELFVBQUssR0FBTCxLQUFLLENBQVk7UUFBVSxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7SUFBRyxDQUFDO0lBQzFELEtBQUs7UUFDMUIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUN2RixJQUFJLENBQUMsY0FBYyxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDckQsc0JBQXNCO0lBQ3hCLENBQUM7SUFFRCxXQUFXO1FBQ1QsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLDBGQUEwRjtZQUMxRixNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLHFCQUFxQixFQUFFLENBQUM7WUFDMUUsSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLE1BQU0sRUFBRTtnQkFDNUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUM7Z0JBQ3ZDLElBQUksZ0JBQWdCLENBQUMsR0FBRyxHQUFHLGdCQUFnQixDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLGFBQWEsR0FBRyxNQUFNLENBQUMsV0FBVyxHQUFHLEdBQUcsRUFBRTtvQkFDakgsSUFBSSxDQUFDLFFBQVEsR0FBRyxnQkFBZ0IsQ0FB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QUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQzthQUMxRTtZQUNELElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7WUFDL0MsSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUNoRCxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDVCxDQUFDOytHQTVEVSxnQkFBZ0I7bUdBQWhCLGdCQUFnQjs7NEZBQWhCLGdCQUFnQjtrQkFINUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsY0FBYztpQkFDekI7OEhBR1UsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUlpQixLQUFLO3NCQUEzQixZQUFZO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3RMaXN0ZW5lciwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUG9wb3ZlclNlcnZpY2UgfSBmcm9tICcuL3BvcG92ZXIuc2VydmljZSc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1thcHBQb3BvdmVyXScsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQb3BvdmVyRGlyZWN0aXZlIHtcclxuICBkeW5hbWljQ29tcG9uZW50OiBhbnk7XHJcbiAgQElucHV0KCkgcmVmcmVuY2U6IGFueTtcclxuICBASW5wdXQoKSBwb3NpdGlvbiE6IHN0cmluZztcclxuICBsZWZ0VmFsdWU6IGFueTtcclxuICB0b3BWYWx1ZTogYW55O1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWxSZWY6IEVsZW1lbnRSZWYsIHByaXZhdGUgcG9wb3ZlclNlcnZpY2U6IFBvcG92ZXJTZXJ2aWNlKSB7fVxyXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJykgY2xpY2soKSB7XHJcbiAgICB0aGlzLnBvcG92ZXJTZXJ2aWNlLmVsZW1lbnRQb3NpdGlvbiA9IHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgIHRoaXMucG9wb3ZlclNlcnZpY2UuZWxlbWVudERpcmVjdGlvbiA9IHRoaXMucG9zaXRpb247XHJcbiAgICAvLyB0aGlzLmdldFBvc2l0aW9uKCk7XHJcbiAgfVxyXG5cclxuICBnZXRQb3NpdGlvbigpIHtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAvLyB0aGlzLnBvcG92ZXJTZXJ2aWNlLmVsZW1lbnRQb3NpdGlvbiA9IHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgICAgY29uc3QgZWxlbWVudFBvc2l0aW9ubiA9IHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgICAgaWYgKHRoaXMucG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgIHRoaXMubGVmdFZhbHVlID0gZWxlbWVudFBvc2l0aW9ubi5sZWZ0O1xyXG4gICAgICAgIGlmIChlbGVtZW50UG9zaXRpb25uLnRvcCArIGVsZW1lbnRQb3NpdGlvbm4uaGVpZ2h0ICsgdGhpcy5wb3BvdmVyU2VydmljZS5wb3BvdmVySGVpZ2h0ID4gd2luZG93Lm91dGVySGVpZ2h0IC0gMjAwKSB7XHJcbiAgICAgICAgICB0aGlzLnRvcFZhbHVlID0gZWxlbWVudFBvc2l0aW9ubi50b3AgLSB0aGlzLnBvcG92ZXJTZXJ2aWNlLnBvcG92ZXJIZWlnaHQ7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMudG9wVmFsdWUgPSBlbGVtZW50UG9zaXRpb25uLnRvcCArIGVsZW1lbnRQb3NpdGlvbm4uaGVpZ2h0O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5wb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgIHRoaXMubGVmdFZhbHVlID0gZWxlbWVudFBvc2l0aW9ubi5sZWZ0ICsgZWxlbWVudFBvc2l0aW9ubi53aWR0aCAtIHRoaXMucG9wb3ZlclNlcnZpY2UucG9wb3ZlcldpZHRoO1xyXG4gICAgICAgIGlmIChlbGVtZW50UG9zaXRpb25uLnRvcCArIGVsZW1lbnRQb3NpdGlvbm4uaGVpZ2h0ICsgdGhpcy5wb3BvdmVyU2VydmljZS5wb3BvdmVySGVpZ2h0ID4gd2luZG93Lm91dGVySGVpZ2h0IC0gMjAwKSB7XHJcbiAgICAgICAgICB0aGlzLnRvcFZhbHVlID0gZWxlbWVudFBvc2l0aW9ubi50b3AgLSB0aGlzLnBvcG92ZXJTZXJ2aWNlLnBvcG92ZXJIZWlnaHQ7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMudG9wVmFsdWUgPSBlbGVtZW50UG9zaXRpb25uLnRvcCArIGVsZW1lbnRQb3NpdGlvbm4uaGVpZ2h0O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5wb3NpdGlvbiA9PT0gJ3RvcCcpIHtcclxuICAgICAgICB0aGlzLmxlZnRWYWx1ZSA9IGVsZW1lbnRQb3NpdGlvbm4ubGVmdCArIGVsZW1lbnRQb3NpdGlvbm4ud2lkdGg7XHJcbiAgICAgICAgaWYgKGVsZW1lbnRQb3NpdGlvbm4udG9wICsgZWxlbWVudFBvc2l0aW9ubi5oZWlnaHQgKyB0aGlzLnBvcG92ZXJTZXJ2aWNlLnBvcG92ZXJIZWlnaHQgPiB3aW5kb3cub3V0ZXJIZWlnaHQgLSAyMDApIHtcclxuICAgICAgICAgIHRoaXMudG9wVmFsdWUgPSBlbGVtZW50UG9zaXRpb25uLnRvcCAtIHRoaXMucG9wb3ZlclNlcnZpY2UucG9wb3ZlckhlaWdodDtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy50b3BWYWx1ZSA9IGVsZW1lbnRQb3NpdGlvbm4udG9wIC0gdGhpcy5wb3BvdmVyU2VydmljZS5wb3BvdmVySGVpZ2h0O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5wb3NpdGlvbiA9PT0gJ2JvdHRvbScpIHtcclxuICAgICAgICB0aGlzLmxlZnRWYWx1ZSA9IGVsZW1lbnRQb3NpdGlvbm4ubGVmdCArIGVsZW1lbnRQb3NpdGlvbm4ud2lkdGg7XHJcbiAgICAgICAgaWYgKGVsZW1lbnRQb3NpdGlvbm4udG9wICsgZWxlbWVudFBvc2l0aW9ubi5oZWlnaHQgKyB0aGlzLnBvcG92ZXJTZXJ2aWNlLnBvcG92ZXJIZWlnaHQgPiB3aW5kb3cub3V0ZXJIZWlnaHQgLSAyMDApIHtcclxuICAgICAgICAgIHRoaXMudG9wVmFsdWUgPSBlbGVtZW50UG9zaXRpb25uLnRvcCAtIHRoaXMucG9wb3ZlclNlcnZpY2UucG9wb3ZlckhlaWdodDtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy50b3BWYWx1ZSA9IGVsZW1lbnRQb3NpdGlvbm4udG9wICsgZWxlbWVudFBvc2l0aW9ubi5oZWlnaHQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLnBvc2l0aW9uID09PSAnc2VsZi1wb3NpdGlvbicpIHtcclxuICAgICAgICB0aGlzLmxlZnRWYWx1ZSA9IGVsZW1lbnRQb3NpdGlvbm4ubGVmdCArIGVsZW1lbnRQb3NpdGlvbm4ud2lkdGggLyAyIC0gdGhpcy5wb3BvdmVyU2VydmljZS5wb3BvdmVyV2lkdGggLyAyO1xyXG4gICAgICAgIHRoaXMudG9wVmFsdWUgPSBlbGVtZW50UG9zaXRpb25uLnRvcCAtIDE1O1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLnBvc2l0aW9uID09PSAndG9wLWNlbnRlcicpIHtcclxuICAgICAgICB0aGlzLmxlZnRWYWx1ZSA9IGVsZW1lbnRQb3NpdGlvbm4ubGVmdCArIGVsZW1lbnRQb3NpdGlvbm4ud2lkdGggLyAyIC0gdGhpcy5wb3BvdmVyU2VydmljZS5wb3BvdmVyV2lkdGggLyAyO1xyXG4gICAgICAgIHRoaXMudG9wVmFsdWUgPSBlbGVtZW50UG9zaXRpb25uLnRvcCAtIHRoaXMucG9wb3ZlclNlcnZpY2UucG9wb3ZlckhlaWdodDtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnBvcG92ZXJTZXJ2aWNlLnBvc2l0aW9uWCA9IHRoaXMubGVmdFZhbHVlO1xyXG4gICAgICB0aGlzLnBvcG92ZXJTZXJ2aWNlLnBvc2l0aW9uWSA9IHRoaXMudG9wVmFsdWU7XHJcbiAgICB9LCAxMCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { PopoverComponent } from './popover.component';
|
|
4
|
+
import { PopoverDirective } from './popover.directive';
|
|
5
|
+
import { PopoverEventDirective } from './popover-event.directive';
|
|
6
|
+
import { PopoverLongpressDirective } from './popover-longpress.directive';
|
|
7
|
+
import { PopoverService } from './popover.service';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
export class PopoverModule {
|
|
10
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PopoverModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
11
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: PopoverModule, declarations: [PopoverComponent, PopoverDirective, PopoverEventDirective, PopoverLongpressDirective], imports: [CommonModule], exports: [PopoverComponent, PopoverDirective, PopoverEventDirective, PopoverLongpressDirective] }); }
|
|
12
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PopoverModule, providers: [PopoverService], imports: [CommonModule] }); }
|
|
13
|
+
}
|
|
14
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PopoverModule, decorators: [{
|
|
15
|
+
type: NgModule,
|
|
16
|
+
args: [{
|
|
17
|
+
declarations: [PopoverComponent, PopoverDirective, PopoverEventDirective, PopoverLongpressDirective],
|
|
18
|
+
imports: [CommonModule],
|
|
19
|
+
exports: [PopoverComponent, PopoverDirective, PopoverEventDirective, PopoverLongpressDirective],
|
|
20
|
+
providers: [PopoverService],
|
|
21
|
+
}]
|
|
22
|
+
}] });
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92Yy1sYXlvdXQvc3JjL2xpYi9zaGFyZWQvdWkta2l0L3BvcG92ZXIvcG9wb3Zlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbEUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDMUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDOztBQVFuRCxNQUFNLE9BQU8sYUFBYTsrR0FBYixhQUFhO2dIQUFiLGFBQWEsaUJBTFQsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUscUJBQXFCLEVBQUUseUJBQXlCLGFBQ3pGLFlBQVksYUFDWixnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxxQkFBcUIsRUFBRSx5QkFBeUI7Z0hBR25GLGFBQWEsYUFGYixDQUFDLGNBQWMsQ0FBQyxZQUZqQixZQUFZOzs0RkFJWCxhQUFhO2tCQU56QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLHFCQUFxQixFQUFFLHlCQUF5QixDQUFDO29CQUNwRyxPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7b0JBQ3ZCLE9BQU8sRUFBRSxDQUFDLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLHFCQUFxQixFQUFFLHlCQUF5QixDQUFDO29CQUMvRixTQUFTLEVBQUUsQ0FBQyxjQUFjLENBQUM7aUJBQzVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgUG9wb3ZlckNvbXBvbmVudCB9IGZyb20gJy4vcG9wb3Zlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBQb3BvdmVyRGlyZWN0aXZlIH0gZnJvbSAnLi9wb3BvdmVyLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IFBvcG92ZXJFdmVudERpcmVjdGl2ZSB9IGZyb20gJy4vcG9wb3Zlci1ldmVudC5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBQb3BvdmVyTG9uZ3ByZXNzRGlyZWN0aXZlIH0gZnJvbSAnLi9wb3BvdmVyLWxvbmdwcmVzcy5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBQb3BvdmVyU2VydmljZSB9IGZyb20gJy4vcG9wb3Zlci5zZXJ2aWNlJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbUG9wb3ZlckNvbXBvbmVudCwgUG9wb3ZlckRpcmVjdGl2ZSwgUG9wb3ZlckV2ZW50RGlyZWN0aXZlLCBQb3BvdmVyTG9uZ3ByZXNzRGlyZWN0aXZlXSxcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcclxuICBleHBvcnRzOiBbUG9wb3ZlckNvbXBvbmVudCwgUG9wb3ZlckRpcmVjdGl2ZSwgUG9wb3ZlckV2ZW50RGlyZWN0aXZlLCBQb3BvdmVyTG9uZ3ByZXNzRGlyZWN0aXZlXSxcclxuICBwcm92aWRlcnM6IFtQb3BvdmVyU2VydmljZV0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQb3BvdmVyTW9kdWxlIHt9XHJcbiJdfQ==
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class PopoverService {
|
|
4
|
+
constructor() {
|
|
5
|
+
}
|
|
6
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PopoverService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
7
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PopoverService, providedIn: 'root' }); }
|
|
8
|
+
}
|
|
9
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PopoverService, decorators: [{
|
|
10
|
+
type: Injectable,
|
|
11
|
+
args: [{
|
|
12
|
+
providedIn: 'root',
|
|
13
|
+
}]
|
|
14
|
+
}], ctorParameters: function () { return []; } });
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmMtbGF5b3V0L3NyYy9saWIvc2hhcmVkL3VpLWtpdC9wb3BvdmVyL3BvcG92ZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUszQyxNQUFNLE9BQU8sY0FBYztJQU96QjtJQUVBLENBQUM7K0dBVFUsY0FBYzttSEFBZCxjQUFjLGNBRmIsTUFBTTs7NEZBRVAsY0FBYztrQkFIMUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUG9wb3ZlclNlcnZpY2Uge1xyXG4gIHBvc2l0aW9uWCE6IG51bWJlcjtcclxuICBwb3NpdGlvblkhOiBudW1iZXI7XHJcbiAgcG9wb3ZlckhlaWdodDogYW55O1xyXG4gIHBvcG92ZXJXaWR0aDogYW55O1xyXG4gIGVsZW1lbnRQb3NpdGlvbjogYW55O1xyXG4gIGVsZW1lbnREaXJlY3Rpb246IGFueTtcclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIFxyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
import { Directive, Input, HostListener, } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class ToolTipDirective {
|
|
4
|
+
constructor(el, renderer) {
|
|
5
|
+
this.el = el;
|
|
6
|
+
this.renderer = renderer;
|
|
7
|
+
this.showTooltip = true;
|
|
8
|
+
this.offset = 8;
|
|
9
|
+
}
|
|
10
|
+
ngOnInit() { }
|
|
11
|
+
onMouseEnter() {
|
|
12
|
+
this.hide();
|
|
13
|
+
this.show();
|
|
14
|
+
}
|
|
15
|
+
onMouseOver() {
|
|
16
|
+
this.hide();
|
|
17
|
+
this.show();
|
|
18
|
+
}
|
|
19
|
+
onMouseLeave() {
|
|
20
|
+
this.hide();
|
|
21
|
+
}
|
|
22
|
+
onMouseOut() {
|
|
23
|
+
this.hide();
|
|
24
|
+
}
|
|
25
|
+
onClick() {
|
|
26
|
+
this.hide();
|
|
27
|
+
}
|
|
28
|
+
show() {
|
|
29
|
+
if (!this.showTooltip) {
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
this.create();
|
|
33
|
+
const element = this.el.nativeElement;
|
|
34
|
+
if (this.tooltipMandatory === true) {
|
|
35
|
+
this.setPosition();
|
|
36
|
+
this.renderer.addClass(this.tooltip, 'fl-tooltip-show');
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
if (element.scrollWidth * element.scrollHeight >
|
|
40
|
+
element.offsetWidth * element.offsetHeight) {
|
|
41
|
+
this.setPosition();
|
|
42
|
+
this.renderer.addClass(this.tooltip, 'fl-tooltip-show');
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
hide() {
|
|
47
|
+
if (document.body.contains(this.tooltip)) {
|
|
48
|
+
if (this.renderer) {
|
|
49
|
+
this.renderer.removeChild(document.body, document.getElementById('tooltip'));
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
create() {
|
|
54
|
+
this.tooltip = this.renderer.createElement('span');
|
|
55
|
+
this.tooltip.setAttribute('id', 'tooltip');
|
|
56
|
+
this.tooltip.innerHTML = this.tooltipTitle;
|
|
57
|
+
this.renderer.appendChild(document.body, this.tooltip);
|
|
58
|
+
this.renderer.addClass(this.tooltip, 'fl-tooltip');
|
|
59
|
+
this.renderer.addClass(this.tooltip, `fl-tooltip-${this.placement}`);
|
|
60
|
+
this.renderer.addClass(this.tooltip, `${this.type}`);
|
|
61
|
+
if (this.animate) {
|
|
62
|
+
this.renderer.addClass(this.tooltip, `animate-${this.placement}`);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
setPosition() {
|
|
66
|
+
const hostPos = this.el.nativeElement.getBoundingClientRect();
|
|
67
|
+
const tooltipPos = this.tooltip.getBoundingClientRect();
|
|
68
|
+
const scrollPos = window.pageYOffset ||
|
|
69
|
+
document.documentElement.scrollTop ||
|
|
70
|
+
document.body.scrollTop ||
|
|
71
|
+
0;
|
|
72
|
+
const w = window.innerWidth;
|
|
73
|
+
const h = window.innerHeight;
|
|
74
|
+
let top;
|
|
75
|
+
let left;
|
|
76
|
+
if (this.placement === 'top') {
|
|
77
|
+
top = hostPos.top - tooltipPos.height - this.offset;
|
|
78
|
+
left = hostPos.left + (hostPos.width - tooltipPos.width) / 2;
|
|
79
|
+
}
|
|
80
|
+
if (this.placement === 'bottom') {
|
|
81
|
+
if (hostPos.top + tooltipPos.height > h) {
|
|
82
|
+
top = hostPos.top - tooltipPos.height;
|
|
83
|
+
left = hostPos.left + (hostPos.width - tooltipPos.width) / 2;
|
|
84
|
+
this.renderer.removeClass(this.tooltip, `fl-tooltip-bottom`);
|
|
85
|
+
this.renderer.addClass(this.tooltip, `fl-tooltip-top`);
|
|
86
|
+
}
|
|
87
|
+
else {
|
|
88
|
+
top = hostPos.bottom + this.offset;
|
|
89
|
+
left = hostPos.left + (hostPos.width - tooltipPos.width) / 2;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
if (this.placement === 'left') {
|
|
93
|
+
top = hostPos.top + (hostPos.height - tooltipPos.height) / 2;
|
|
94
|
+
left = hostPos.left - tooltipPos.width - this.offset;
|
|
95
|
+
}
|
|
96
|
+
if (this.placement === 'right') {
|
|
97
|
+
top = hostPos.top + (hostPos.height - tooltipPos.height) / 2;
|
|
98
|
+
left = hostPos.right + this.offset;
|
|
99
|
+
}
|
|
100
|
+
if (this.placement === 'bottom-right') {
|
|
101
|
+
top = hostPos.bottom + this.offset;
|
|
102
|
+
left = hostPos.left - (tooltipPos.width - 28);
|
|
103
|
+
}
|
|
104
|
+
if (this.placement === 'bottom-left') {
|
|
105
|
+
if (hostPos.top + tooltipPos.height > h - 30) {
|
|
106
|
+
top = hostPos.top - tooltipPos.height;
|
|
107
|
+
left = hostPos.left;
|
|
108
|
+
this.renderer.removeClass(this.tooltip, `fl-tooltip-bottom-left`);
|
|
109
|
+
this.renderer.addClass(this.tooltip, `fl-tooltip-top-left`);
|
|
110
|
+
}
|
|
111
|
+
else {
|
|
112
|
+
top = hostPos.bottom + this.offset;
|
|
113
|
+
left = hostPos.left;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
this.renderer.setStyle(this.tooltip, 'top', `${top + scrollPos}px`);
|
|
117
|
+
this.renderer.setStyle(this.tooltip, 'left', `${left}px`);
|
|
118
|
+
}
|
|
119
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToolTipDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
120
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: ToolTipDirective, selector: "[arTooltip]", inputs: { tooltipTitle: ["arTooltip", "tooltipTitle"], placement: "placement", type: "type", tooltipMandatory: "tooltipMandatory", showTooltip: "showTooltip", animate: "animate" }, host: { listeners: { "mouseenter": "onMouseEnter()", "mouseover": "onMouseOver()", "mouseleave": "onMouseLeave()", "mouseout": "onMouseOut()", "click": "onClick()" } }, ngImport: i0 }); }
|
|
121
|
+
}
|
|
122
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToolTipDirective, decorators: [{
|
|
123
|
+
type: Directive,
|
|
124
|
+
args: [{
|
|
125
|
+
selector: '[arTooltip]',
|
|
126
|
+
}]
|
|
127
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { tooltipTitle: [{
|
|
128
|
+
type: Input,
|
|
129
|
+
args: ['arTooltip']
|
|
130
|
+
}], placement: [{
|
|
131
|
+
type: Input
|
|
132
|
+
}], type: [{
|
|
133
|
+
type: Input
|
|
134
|
+
}], tooltipMandatory: [{
|
|
135
|
+
type: Input
|
|
136
|
+
}], showTooltip: [{
|
|
137
|
+
type: Input
|
|
138
|
+
}], animate: [{
|
|
139
|
+
type: Input
|
|
140
|
+
}], onMouseEnter: [{
|
|
141
|
+
type: HostListener,
|
|
142
|
+
args: ['mouseenter']
|
|
143
|
+
}], onMouseOver: [{
|
|
144
|
+
type: HostListener,
|
|
145
|
+
args: ['mouseover']
|
|
146
|
+
}], onMouseLeave: [{
|
|
147
|
+
type: HostListener,
|
|
148
|
+
args: ['mouseleave']
|
|
149
|
+
}], onMouseOut: [{
|
|
150
|
+
type: HostListener,
|
|
151
|
+
args: ['mouseout']
|
|
152
|
+
}], onClick: [{
|
|
153
|
+
type: HostListener,
|
|
154
|
+
args: ['click']
|
|
155
|
+
}] } });
|
|
156
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92Yy1sYXlvdXQvc3JjL2xpYi9zaGFyZWQvdWkta2l0L3Rvb2x0aXAvdG9vbHRpcC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBRUwsWUFBWSxHQUtiLE1BQU0sZUFBZSxDQUFDOztBQUt2QixNQUFNLE9BQU8sZ0JBQWdCO0lBVTNCLFlBQW9CLEVBQWMsRUFBVSxRQUFtQjtRQUEzQyxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUx0RCxnQkFBVyxHQUFHLElBQUksQ0FBQztRQUc1QixXQUFNLEdBQUcsQ0FBQyxDQUFDO0lBRXVELENBQUM7SUFDbkUsUUFBUSxLQUFJLENBQUM7SUFDZSxZQUFZO1FBQ3RDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNaLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNkLENBQUM7SUFDMEIsV0FBVztRQUNwQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDWixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDZCxDQUFDO0lBRTJCLFlBQVk7UUFDdEMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2QsQ0FBQztJQUN5QixVQUFVO1FBQ2xDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNkLENBQUM7SUFDc0IsT0FBTztRQUM1QixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDZCxDQUFDO0lBQ0QsSUFBSTtRQUNGLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3JCLE9BQU87U0FDUjtRQUNELElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNkLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDO1FBQ3RD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cEUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxJQUFJLElBQUksQ0FBQyxDQUFDO0lBQzVELENBQUM7K0dBaklVLGdCQUFnQjttR0FBaEIsZ0JBQWdCOzs0RkFBaEIsZ0JBQWdCO2tCQUg1QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxhQUFhO2lCQUN4Qjt5SEFFcUIsWUFBWTtzQkFBL0IsS0FBSzt1QkFBQyxXQUFXO2dCQUNULFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFNc0IsWUFBWTtzQkFBdkMsWUFBWTt1QkFBQyxZQUFZO2dCQUlDLFdBQVc7c0JBQXJDLFlBQVk7dUJBQUMsV0FBVztnQkFLRyxZQUFZO3NCQUF2QyxZQUFZO3VCQUFDLFlBQVk7Z0JBR0EsVUFBVTtzQkFBbkMsWUFBWTt1QkFBQyxVQUFVO2dCQUdELE9BQU87c0JBQTdCLFlBQVk7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgRGlyZWN0aXZlLFxyXG4gIElucHV0LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgSG9zdExpc3RlbmVyLFxyXG4gIFJlbmRlcmVyMixcclxuICBPbkluaXQsXHJcbiAgQWZ0ZXJWaWV3SW5pdCxcclxuICBWaWV3Q2hpbGQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1thclRvb2x0aXBdJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFRvb2xUaXBEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBJbnB1dCgnYXJUb29sdGlwJykgdG9vbHRpcFRpdGxlITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHBsYWNlbWVudCE6IHN0cmluZztcclxuICBASW5wdXQoKSB0eXBlOiBhbnk7XHJcbiAgQElucHV0KCkgdG9vbHRpcE1hbmRhdG9yeSE6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgc2hvd1Rvb2x0aXAgPSB0cnVlO1xyXG4gIEBJbnB1dCgpIGFuaW1hdGUhOiBib29sZWFuO1xyXG4gIHRvb2x0aXAhOiBIVE1MRWxlbWVudDtcclxuICBvZmZzZXQgPSA4O1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsOiBFbGVtZW50UmVmLCBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIpIHt9XHJcbiAgbmdPbkluaXQoKSB7fVxyXG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNlZW50ZXInKSBvbk1vdXNlRW50ZXIoKSB7XHJcbiAgICB0aGlzLmhpZGUoKTtcclxuICAgIHRoaXMuc2hvdygpO1xyXG4gIH1cclxuICBASG9zdExpc3RlbmVyKCdtb3VzZW92ZXInKSBvbk1vdXNlT3ZlcigpIHtcclxuICAgIHRoaXMuaGlkZSgpO1xyXG4gICAgdGhpcy5zaG93KCk7XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCdtb3VzZWxlYXZlJykgb25Nb3VzZUxlYXZlKCkge1xyXG4gICAgdGhpcy5oaWRlKCk7XHJcbiAgfVxyXG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNlb3V0Jykgb25Nb3VzZU91dCgpIHtcclxuICAgIHRoaXMuaGlkZSgpO1xyXG4gIH1cclxuICBASG9zdExpc3RlbmVyKCdjbGljaycpIG9uQ2xpY2soKSB7XHJcbiAgICB0aGlzLmhpZGUoKTtcclxuICB9XHJcbiAgc2hvdygpIHtcclxuICAgIGlmICghdGhpcy5zaG93VG9vbHRpcCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLmNyZWF0ZSgpO1xyXG4gICAgY29uc3QgZWxlbWVudCA9IHRoaXMuZWwubmF0aXZlRWxlbWVudDtcclxuICAgIGlmICh0aGlzLnRvb2x0aXBNYW5kYXRvcnkgPT09IHRydWUpIHtcclxuICAgICAgdGhpcy5zZXRQb3NpdGlvbigpO1xyXG4gICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMudG9vbHRpcCwgJ2ZsLXRvb2x0aXAtc2hvdycpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKFxyXG4gICAgICAgIGVsZW1lbnQuc2Nyb2xsV2lkdGggKiBlbGVtZW50LnNjcm9sbEhlaWdodCA+XHJcbiAgICAgICAgZWxlbWVudC5vZmZzZXRXaWR0aCAqIGVsZW1lbnQub2Zmc2V0SGVpZ2h0XHJcbiAgICAgICkge1xyXG4gICAgICAgIHRoaXMuc2V0UG9zaXRpb24oKTtcclxuICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMudG9vbHRpcCwgJ2ZsLXRvb2x0aXAtc2hvdycpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBoaWRlKCkge1xyXG4gICAgaWYgKGRvY3VtZW50LmJvZHkuY29udGFpbnModGhpcy50b29sdGlwKSkge1xyXG4gICAgICBpZiAodGhpcy5yZW5kZXJlcikge1xyXG4gICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2hpbGQoXHJcbiAgICAgICAgICBkb2N1bWVudC5ib2R5LFxyXG4gICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rvb2x0aXAnKVxyXG4gICAgICAgICk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNyZWF0ZSgpIHtcclxuICAgIHRoaXMudG9vbHRpcCA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xyXG4gICAgdGhpcy50b29sdGlwLnNldEF0dHJpYnV0ZSgnaWQnLCAndG9vbHRpcCcpO1xyXG4gICAgdGhpcy50b29sdGlwLmlubmVySFRNTCA9IHRoaXMudG9vbHRpcFRpdGxlO1xyXG4gICAgdGhpcy5yZW5kZXJlci5hcHBlbmRDaGlsZChkb2N1bWVudC5ib2R5LCB0aGlzLnRvb2x0aXApO1xyXG4gICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLnRvb2x0aXAsICdmbC10b29sdGlwJyk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMudG9vbHRpcCwgYGZsLXRvb2x0aXAtJHt0aGlzLnBsYWNlbWVudH1gKTtcclxuICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy50b29sdGlwLCBgJHt0aGlzLnR5cGV9YCk7XHJcbiAgICBpZiAodGhpcy5hbmltYXRlKSB7XHJcbiAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy50b29sdGlwLCBgYW5pbWF0ZS0ke3RoaXMucGxhY2VtZW50fWApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0UG9zaXRpb24oKSB7XHJcbiAgICBjb25zdCBob3N0UG9zID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gICAgY29uc3QgdG9vbHRpcFBvcyA9IHRoaXMudG9vbHRpcC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgIGNvbnN0IHNjcm9sbFBvcyA9XHJcbiAgICAgIHdpbmRvdy5wYWdlWU9mZnNldCB8fFxyXG4gICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wIHx8XHJcbiAgICAgIGRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wIHx8XHJcbiAgICAgIDA7XHJcbiAgICBjb25zdCB3ID0gd2luZG93LmlubmVyV2lkdGg7XHJcbiAgICBjb25zdCBoID0gd2luZG93LmlubmVySGVpZ2h0O1xyXG4gICAgbGV0IHRvcDtcclxuICAgIGxldCBsZWZ0O1xyXG4gICAgaWYgKHRoaXMucGxhY2VtZW50ID09PSAndG9wJykge1xyXG4gICAgICB0b3AgPSBob3N0UG9zLnRvcCAtIHRvb2x0aXBQb3MuaGVpZ2h0IC0gdGhpcy5vZmZzZXQ7XHJcbiAgICAgIGxlZnQgPSBob3N0UG9zLmxlZnQgKyAoaG9zdFBvcy53aWR0aCAtIHRvb2x0aXBQb3Mud2lkdGgpIC8gMjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5wbGFjZW1lbnQgPT09ICdib3R0b20nKSB7XHJcbiAgICAgIGlmIChob3N0UG9zLnRvcCArIHRvb2x0aXBQb3MuaGVpZ2h0ID4gaCkge1xyXG4gICAgICAgIHRvcCA9IGhvc3RQb3MudG9wIC0gdG9vbHRpcFBvcy5oZWlnaHQ7XHJcbiAgICAgICAgbGVmdCA9IGhvc3RQb3MubGVmdCArIChob3N0UG9zLndpZHRoIC0gdG9vbHRpcFBvcy53aWR0aCkgLyAyO1xyXG4gICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy50b29sdGlwLCBgZmwtdG9vbHRpcC1ib3R0b21gKTtcclxuICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMudG9vbHRpcCwgYGZsLXRvb2x0aXAtdG9wYCk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdG9wID0gaG9zdFBvcy5ib3R0b20gKyB0aGlzLm9mZnNldDtcclxuICAgICAgICBsZWZ0ID0gaG9zdFBvcy5sZWZ0ICsgKGhvc3RQb3Mud2lkdGggLSB0b29sdGlwUG9zLndpZHRoKSAvIDI7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5wbGFjZW1lbnQgPT09ICdsZWZ0Jykge1xyXG4gICAgICB0b3AgPSBob3N0UG9zLnRvcCArIChob3N0UG9zLmhlaWdodCAtIHRvb2x0aXBQb3MuaGVpZ2h0KSAvIDI7XHJcbiAgICAgIGxlZnQgPSBob3N0UG9zLmxlZnQgLSB0b29sdGlwUG9zLndpZHRoIC0gdGhpcy5vZmZzZXQ7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMucGxhY2VtZW50ID09PSAncmlnaHQnKSB7XHJcbiAgICAgIHRvcCA9IGhvc3RQb3MudG9wICsgKGhvc3RQb3MuaGVpZ2h0IC0gdG9vbHRpcFBvcy5oZWlnaHQpIC8gMjtcclxuICAgICAgbGVmdCA9IGhvc3RQb3MucmlnaHQgKyB0aGlzLm9mZnNldDtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnBsYWNlbWVudCA9PT0gJ2JvdHRvbS1yaWdodCcpIHtcclxuICAgICAgdG9wID0gaG9zdFBvcy5ib3R0b20gKyB0aGlzLm9mZnNldDtcclxuICAgICAgbGVmdCA9IGhvc3RQb3MubGVmdCAtICh0b29sdGlwUG9zLndpZHRoIC0gMjgpO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMucGxhY2VtZW50ID09PSAnYm90dG9tLWxlZnQnKSB7XHJcbiAgICAgIGlmIChob3N0UG9zLnRvcCArIHRvb2x0aXBQb3MuaGVpZ2h0ID4gaCAtIDMwKSB7XHJcbiAgICAgICAgdG9wID0gaG9zdFBvcy50b3AgLSB0b29sdGlwUG9zLmhlaWdodDtcclxuICAgICAgICBsZWZ0ID0gaG9zdFBvcy5sZWZ0O1xyXG4gICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy50b29sdGlwLCBgZmwtdG9vbHRpcC1ib3R0b20tbGVmdGApO1xyXG4gICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy50b29sdGlwLCBgZmwtdG9vbHRpcC10b3AtbGVmdGApO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRvcCA9IGhvc3RQb3MuYm90dG9tICsgdGhpcy5vZmZzZXQ7XHJcbiAgICAgICAgbGVmdCA9IGhvc3RQb3MubGVmdDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLnRvb2x0aXAsICd0b3AnLCBgJHt0b3AgKyBzY3JvbGxQb3N9cHhgKTtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy50b29sdGlwLCAnbGVmdCcsIGAke2xlZnR9cHhgKTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { ToolTipDirective } from './tooltip.directive';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class TooltipModule {
|
|
6
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TooltipModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
7
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: TooltipModule, declarations: [ToolTipDirective], imports: [CommonModule], exports: [ToolTipDirective] }); }
|
|
8
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TooltipModule, imports: [CommonModule] }); }
|
|
9
|
+
}
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TooltipModule, decorators: [{
|
|
11
|
+
type: NgModule,
|
|
12
|
+
args: [{
|
|
13
|
+
declarations: [ToolTipDirective],
|
|
14
|
+
imports: [CommonModule],
|
|
15
|
+
exports: [ToolTipDirective],
|
|
16
|
+
}]
|
|
17
|
+
}] });
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92Yy1sYXlvdXQvc3JjL2xpYi9zaGFyZWQvdWkta2l0L3Rvb2x0aXAvdG9vbHRpcC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7O0FBT3ZELE1BQU0sT0FBTyxhQUFhOytHQUFiLGFBQWE7Z0hBQWIsYUFBYSxpQkFKVCxnQkFBZ0IsYUFDckIsWUFBWSxhQUNaLGdCQUFnQjtnSEFFZixhQUFhLFlBSGQsWUFBWTs7NEZBR1gsYUFBYTtrQkFMekIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztvQkFDaEMsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO29CQUN2QixPQUFPLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztpQkFDNUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBUb29sVGlwRGlyZWN0aXZlIH0gZnJvbSAnLi90b29sdGlwLmRpcmVjdGl2ZSc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1Rvb2xUaXBEaXJlY3RpdmVdLFxyXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxyXG4gIGV4cG9ydHM6IFtUb29sVGlwRGlyZWN0aXZlXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFRvb2x0aXBNb2R1bGUge31cclxuIl19
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class VcLayoutComponent {
|
|
4
|
+
constructor() {
|
|
5
|
+
this.baseUrl = '';
|
|
6
|
+
this.setBaseUrl();
|
|
7
|
+
}
|
|
8
|
+
ngOnInit() { }
|
|
9
|
+
setBaseUrl() {
|
|
10
|
+
this.baseUrl = window.location.origin;
|
|
11
|
+
}
|
|
12
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: VcLayoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
13
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: VcLayoutComponent, selector: "vc-layout", ngImport: i0, template: ` <p>vc-layout works!</p> `, isInline: true }); }
|
|
14
|
+
}
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: VcLayoutComponent, decorators: [{
|
|
16
|
+
type: Component,
|
|
17
|
+
args: [{ selector: 'vc-layout', template: ` <p>vc-layout works!</p> ` }]
|
|
18
|
+
}], ctorParameters: function () { return []; } });
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmMtbGF5b3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ZjLWxheW91dC9zcmMvbGliL3ZjLWxheW91dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQzs7QUFPbEQsTUFBTSxPQUFPLGlCQUFpQjtJQUU1QjtRQURPLFlBQU8sR0FBVyxFQUFFLENBQUM7UUFFMUIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxRQUFRLEtBQVUsQ0FBQztJQUVYLFVBQVU7UUFDaEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQztJQUN4QyxDQUFDOytHQVZVLGlCQUFpQjttR0FBakIsaUJBQWlCLGlEQUhsQiwyQkFBMkI7OzRGQUcxQixpQkFBaUI7a0JBTDdCLFNBQVM7K0JBQ0UsV0FBVyxZQUNYLDJCQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3ZjLWxheW91dCcsXHJcbiAgdGVtcGxhdGU6IGAgPHA+dmMtbGF5b3V0IHdvcmtzITwvcD4gYCxcclxuICBzdHlsZXM6IFtdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVmNMYXlvdXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIHB1YmxpYyBiYXNlVXJsOiBzdHJpbmcgPSAnJztcclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHRoaXMuc2V0QmFzZVVybCgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7fVxyXG5cclxuICBwcml2YXRlIHNldEJhc2VVcmwoKSB7XHJcbiAgICB0aGlzLmJhc2VVcmwgPSB3aW5kb3cubG9jYXRpb24ub3JpZ2luO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { VcLayoutComponent } from './vc-layout.component';
|
|
3
|
+
import { Configurations } from './configurations';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class VcLayoutModule {
|
|
6
|
+
static forRoot(environmentConfig) {
|
|
7
|
+
return {
|
|
8
|
+
ngModule: VcLayoutModule,
|
|
9
|
+
providers: [{ provide: Configurations, useValue: environmentConfig }],
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: VcLayoutModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
13
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: VcLayoutModule, declarations: [VcLayoutComponent], exports: [VcLayoutComponent] }); }
|
|
14
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: VcLayoutModule }); }
|
|
15
|
+
}
|
|
16
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: VcLayoutModule, decorators: [{
|
|
17
|
+
type: NgModule,
|
|
18
|
+
args: [{
|
|
19
|
+
declarations: [VcLayoutComponent],
|
|
20
|
+
imports: [],
|
|
21
|
+
exports: [VcLayoutComponent],
|
|
22
|
+
}]
|
|
23
|
+
}] });
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmMtbGF5b3V0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ZjLWxheW91dC9zcmMvbGliL3ZjLWxheW91dC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDOztBQU9sRCxNQUFNLE9BQU8sY0FBYztJQUNsQixNQUFNLENBQUMsT0FBTyxDQUNuQixpQkFBaUM7UUFFakMsT0FBTztZQUNMLFFBQVEsRUFBRSxjQUFjO1lBQ3hCLFNBQVMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQztTQUN0RSxDQUFDO0lBQ0osQ0FBQzsrR0FSVSxjQUFjO2dIQUFkLGNBQWMsaUJBSlYsaUJBQWlCLGFBRXRCLGlCQUFpQjtnSEFFaEIsY0FBYzs7NEZBQWQsY0FBYztrQkFMMUIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQztvQkFDakMsT0FBTyxFQUFFLEVBQUU7b0JBQ1gsT0FBTyxFQUFFLENBQUMsaUJBQWlCLENBQUM7aUJBQzdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVmNMYXlvdXRDb21wb25lbnQgfSBmcm9tICcuL3ZjLWxheW91dC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb25maWd1cmF0aW9ucyB9IGZyb20gJy4vY29uZmlndXJhdGlvbnMnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtWY0xheW91dENvbXBvbmVudF0sXHJcbiAgaW1wb3J0czogW10sXHJcbiAgZXhwb3J0czogW1ZjTGF5b3V0Q29tcG9uZW50XSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFZjTGF5b3V0TW9kdWxlIHtcclxuICBwdWJsaWMgc3RhdGljIGZvclJvb3QoXHJcbiAgICBlbnZpcm9ubWVudENvbmZpZzogQ29uZmlndXJhdGlvbnNcclxuICApOiBNb2R1bGVXaXRoUHJvdmlkZXJzPFZjTGF5b3V0TW9kdWxlPiB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBuZ01vZHVsZTogVmNMYXlvdXRNb2R1bGUsXHJcbiAgICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogQ29uZmlndXJhdGlvbnMsIHVzZVZhbHVlOiBlbnZpcm9ubWVudENvbmZpZyB9XSxcclxuICAgIH07XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class VcLayoutService {
|
|
4
|
+
constructor() { }
|
|
5
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: VcLayoutService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
6
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: VcLayoutService, providedIn: 'root' }); }
|
|
7
|
+
}
|
|
8
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: VcLayoutService, decorators: [{
|
|
9
|
+
type: Injectable,
|
|
10
|
+
args: [{
|
|
11
|
+
providedIn: 'root'
|
|
12
|
+
}]
|
|
13
|
+
}], ctorParameters: function () { return []; } });
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmMtbGF5b3V0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy92Yy1sYXlvdXQvc3JjL2xpYi92Yy1sYXlvdXQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUszQyxNQUFNLE9BQU8sZUFBZTtJQUUxQixnQkFBZ0IsQ0FBQzsrR0FGTixlQUFlO21IQUFmLGVBQWUsY0FGZCxNQUFNOzs0RkFFUCxlQUFlO2tCQUgzQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFZjTGF5b3V0U2VydmljZSB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Public API Surface of vc-layout
|
|
3
|
+
*/
|
|
4
|
+
export * from './lib/shared/services/rbac.service';
|
|
5
|
+
export * from './lib/vc-layout.service';
|
|
6
|
+
export * from './lib/vc-layout.component';
|
|
7
|
+
export * from './lib/vc-layout.module';
|
|
8
|
+
export * from './lib/components/product-list/product-list-container/product-list-container.component';
|
|
9
|
+
export * from './lib/components/header/header-container/header-container.component';
|
|
10
|
+
export * from './lib/components/sub-menu/sub-menu-container/sub-menu-container.component';
|
|
11
|
+
export * from './lib/components/product-list/product-list.module';
|
|
12
|
+
export * from './lib/components/header/header.module';
|
|
13
|
+
export * from './lib/components/sub-menu/sub-menu.module';
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3ZjLWxheW91dC9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyx1RkFBdUYsQ0FBQztBQUN0RyxjQUFjLHFFQUFxRSxDQUFDO0FBQ3BGLGNBQWMsMkVBQTJFLENBQUM7QUFFMUYsY0FBYyxtREFBbUQsQ0FBQztBQUNsRSxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsMkNBQTJDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgdmMtbGF5b3V0XHJcbiAqL1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2hhcmVkL3NlcnZpY2VzL3JiYWMuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3ZjLWxheW91dC5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdmMtbGF5b3V0LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3ZjLWxheW91dC5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3Byb2R1Y3QtbGlzdC9wcm9kdWN0LWxpc3QtY29udGFpbmVyL3Byb2R1Y3QtbGlzdC1jb250YWluZXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9oZWFkZXIvaGVhZGVyLWNvbnRhaW5lci9oZWFkZXItY29udGFpbmVyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvc3ViLW1lbnUvc3ViLW1lbnUtY29udGFpbmVyL3N1Yi1tZW51LWNvbnRhaW5lci5jb21wb25lbnQnO1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9wcm9kdWN0LWxpc3QvcHJvZHVjdC1saXN0Lm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvaGVhZGVyL2hlYWRlci5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3N1Yi1tZW51L3N1Yi1tZW51Lm1vZHVsZSc7XHJcbiJdfQ==
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './public-api';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmMtbGF5b3V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcHJvamVjdHMvdmMtbGF5b3V0L3NyYy92Yy1sYXlvdXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
|