vc-create-dashboard 3.0.4 → 3.0.6

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.
Files changed (154) hide show
  1. package/README.md +24 -24
  2. package/esm2022/lib/configurations.mjs +7 -7
  3. package/esm2022/lib/create-dashboard-container/categories/categories-config.mjs +2 -2
  4. package/esm2022/lib/create-dashboard-container/categories/categories.component.mjs +212 -210
  5. package/esm2022/lib/create-dashboard-container/configure-widgets/configure-widgets/configure-widgets.component.mjs +551 -549
  6. package/esm2022/lib/create-dashboard-container/configure-widgets/configure-widgets/widget.interface.mjs +2 -2
  7. package/esm2022/lib/create-dashboard-container/configure-widgets/configure-widgets.module.mjs +47 -47
  8. package/esm2022/lib/create-dashboard-container/constants/assets.constant.mjs +35 -10
  9. package/esm2022/lib/create-dashboard-container/create-dashboard-config.mjs +2 -2
  10. package/esm2022/lib/create-dashboard-container/create-dashboard.component.mjs +1119 -1121
  11. package/esm2022/lib/create-dashboard-container/create-dashboard.module.mjs +132 -132
  12. package/esm2022/lib/create-dashboard-container/directives/directives.module.mjs +24 -24
  13. package/esm2022/lib/create-dashboard-container/directives/scroll-in-view.directive.mjs +36 -36
  14. package/esm2022/lib/create-dashboard-container/form-group/form-group.component.mjs +153 -153
  15. package/esm2022/lib/create-dashboard-container/frequency/frequency.component.mjs +309 -309
  16. package/esm2022/lib/create-dashboard-container/interfaces/widget-data-model.mjs +2 -2
  17. package/esm2022/lib/create-dashboard-container/pipes/filter.pipe.mjs +30 -30
  18. package/esm2022/lib/create-dashboard-container/pipes/search.pipe.mjs +25 -25
  19. package/esm2022/lib/create-dashboard-container/pipes/text-count.pipe.mjs +19 -19
  20. package/esm2022/lib/create-dashboard-container/responsibility-center/responsibility-center.component.mjs +149 -145
  21. package/esm2022/lib/create-dashboard-container/risk-categories/risk-categories-config.mjs +2 -2
  22. package/esm2022/lib/create-dashboard-container/risk-categories/risk-categories.component.mjs +206 -195
  23. package/esm2022/lib/create-dashboard-container/services/auth.service.mjs +31 -31
  24. package/esm2022/lib/create-dashboard-container/services/configure-widgets.service.mjs +230 -227
  25. package/esm2022/lib/create-dashboard-container/services/create-dashboard.service.mjs +160 -160
  26. package/esm2022/lib/create-dashboard-container/services/pagination.service.mjs +28 -28
  27. package/esm2022/lib/create-dashboard-container/services/urlConfig.service.mjs +29 -29
  28. package/esm2022/lib/create-dashboard-container/user-list/user-list.component.mjs +440 -421
  29. package/esm2022/lib/create-dashboard-container/user-list/user-list.config.mjs +2 -2
  30. package/esm2022/lib/create-dashboard.service.mjs +14 -14
  31. package/esm2022/lib/ui-kit/dashboard-footer/dashboard-footer/dashboard-footer.component.mjs +52 -52
  32. package/esm2022/lib/ui-kit/dashboard-footer/dashboard-footer-config.mjs +2 -2
  33. package/esm2022/lib/ui-kit/dashboard-footer/dashboard-footer.module.mjs +32 -32
  34. package/esm2022/lib/ui-kit/dialog/dialog-config.mjs +7 -7
  35. package/esm2022/lib/ui-kit/dialog/dialog-injector.mjs +17 -17
  36. package/esm2022/lib/ui-kit/dialog/dialog-ref.mjs +11 -11
  37. package/esm2022/lib/ui-kit/dialog/dialog.component.mjs +99 -99
  38. package/esm2022/lib/ui-kit/dialog/dialog.module.mjs +20 -20
  39. package/esm2022/lib/ui-kit/dialog/dialog.service.mjs +56 -56
  40. package/esm2022/lib/ui-kit/dialog/insertion.directive.mjs +17 -17
  41. package/esm2022/lib/ui-kit/floating-bar/floating-bar.component.mjs +57 -57
  42. package/esm2022/lib/ui-kit/floating-bar/floating-bar.module.mjs +32 -32
  43. package/esm2022/lib/ui-kit/formgroup/click-outside.directive.mjs +30 -30
  44. package/esm2022/lib/ui-kit/formgroup/cs-checkbox/cs-checkbox.component.mjs +29 -29
  45. package/esm2022/lib/ui-kit/formgroup/cs-radio/cs-radio.component.mjs +34 -34
  46. package/esm2022/lib/ui-kit/formgroup/cs-radio-group/cs-radio-group.component.mjs +14 -14
  47. package/esm2022/lib/ui-kit/formgroup/cs-select/cs-select.component.mjs +119 -119
  48. package/esm2022/lib/ui-kit/formgroup/cs-switch/cs-switch.component.mjs +39 -39
  49. package/esm2022/lib/ui-kit/formgroup/formgroup.module.mjs +55 -55
  50. package/esm2022/lib/ui-kit/formgroup/pipes/pascal.pipe.mjs +19 -19
  51. package/esm2022/lib/ui-kit/formgroup/pipes/searchMultiSelect.pipe.mjs +24 -24
  52. package/esm2022/lib/ui-kit/no-data/no-data.component.mjs +47 -47
  53. package/esm2022/lib/ui-kit/no-data/no-data.module.mjs +18 -18
  54. package/esm2022/lib/ui-kit/pagination/pagination.component.mjs +130 -130
  55. package/esm2022/lib/ui-kit/pagination/pagination.module.mjs +18 -18
  56. package/esm2022/lib/ui-kit/popover/popover.component.mjs +142 -142
  57. package/esm2022/lib/ui-kit/popover/popover.directive.mjs +93 -93
  58. package/esm2022/lib/ui-kit/popover/popover.module.mjs +21 -21
  59. package/esm2022/lib/ui-kit/popover/popover.service.mjs +23 -23
  60. package/esm2022/lib/ui-kit/select/cs-option/cs-option.component.mjs +41 -41
  61. package/esm2022/lib/ui-kit/select/cs-select/cs-select.component.mjs +107 -107
  62. package/esm2022/lib/ui-kit/select/safe-html.pipe.mjs +21 -21
  63. package/esm2022/lib/ui-kit/select/select.module.mjs +21 -21
  64. package/esm2022/lib/ui-kit/services/cs-select.service.mjs +16 -16
  65. package/esm2022/lib/ui-kit/smiley-dialog/smiley-dialog.component.mjs +52 -52
  66. package/esm2022/lib/ui-kit/smiley-dialog/smiley-dialog.module.mjs +18 -18
  67. package/esm2022/lib/ui-kit/snack-bar/snack-bar/snack-bar.component.mjs +46 -46
  68. package/esm2022/lib/ui-kit/snack-bar/snack-bar.module.mjs +18 -18
  69. package/esm2022/lib/ui-kit/snack-bar/snack-bar.service.mjs +23 -23
  70. package/esm2022/lib/ui-kit/tooltip/tooltip.directive.mjs +168 -168
  71. package/esm2022/lib/ui-kit/tooltip/tooltip.module.mjs +18 -18
  72. package/esm2022/lib/ui-kit/v-loader/loader/loader.component.mjs +24 -24
  73. package/esm2022/lib/ui-kit/v-loader/loader-inline/loader-inline.component.mjs +24 -24
  74. package/esm2022/lib/ui-kit/v-loader/v-loader.module.mjs +19 -19
  75. package/esm2022/public-api.mjs +10 -10
  76. package/esm2022/vc-create-dashboard.mjs +4 -4
  77. package/fesm2022/vc-create-dashboard.mjs +5367 -5309
  78. package/fesm2022/vc-create-dashboard.mjs.map +1 -1
  79. package/index.d.ts +5 -5
  80. package/lib/configurations.d.ts +4 -4
  81. package/lib/create-dashboard-container/categories/categories-config.d.ts +18 -18
  82. package/lib/create-dashboard-container/categories/categories.component.d.ts +65 -31
  83. package/lib/create-dashboard-container/configure-widgets/configure-widgets/configure-widgets.component.d.ts +122 -88
  84. package/lib/create-dashboard-container/configure-widgets/configure-widgets/widget.interface.d.ts +9 -9
  85. package/lib/create-dashboard-container/configure-widgets/configure-widgets.module.d.ts +14 -14
  86. package/lib/create-dashboard-container/constants/assets.constant.d.ts +34 -9
  87. package/lib/create-dashboard-container/create-dashboard-config.d.ts +18 -18
  88. package/lib/create-dashboard-container/create-dashboard.component.d.ts +178 -178
  89. package/lib/create-dashboard-container/create-dashboard.module.d.ts +40 -40
  90. package/lib/create-dashboard-container/directives/directives.module.d.ts +8 -8
  91. package/lib/create-dashboard-container/directives/scroll-in-view.directive.d.ts +12 -12
  92. package/lib/create-dashboard-container/form-group/form-group.component.d.ts +48 -48
  93. package/lib/create-dashboard-container/frequency/frequency.component.d.ts +39 -39
  94. package/lib/create-dashboard-container/interfaces/widget-data-model.d.ts +8 -8
  95. package/lib/create-dashboard-container/pipes/filter.pipe.d.ts +7 -7
  96. package/lib/create-dashboard-container/pipes/search.pipe.d.ts +7 -7
  97. package/lib/create-dashboard-container/pipes/text-count.pipe.d.ts +7 -7
  98. package/lib/create-dashboard-container/responsibility-center/responsibility-center.component.d.ts +61 -27
  99. package/lib/create-dashboard-container/risk-categories/risk-categories-config.d.ts +18 -18
  100. package/lib/create-dashboard-container/risk-categories/risk-categories.component.d.ts +65 -31
  101. package/lib/create-dashboard-container/services/auth.service.d.ts +11 -11
  102. package/lib/create-dashboard-container/services/configure-widgets.service.d.ts +38 -38
  103. package/lib/create-dashboard-container/services/create-dashboard.service.d.ts +45 -45
  104. package/lib/create-dashboard-container/services/pagination.service.d.ts +12 -12
  105. package/lib/create-dashboard-container/services/urlConfig.service.d.ts +10 -10
  106. package/lib/create-dashboard-container/user-list/user-list.component.d.ts +122 -88
  107. package/lib/create-dashboard-container/user-list/user-list.config.d.ts +13 -13
  108. package/lib/create-dashboard.service.d.ts +6 -6
  109. package/lib/ui-kit/dashboard-footer/dashboard-footer/dashboard-footer.component.d.ts +17 -17
  110. package/lib/ui-kit/dashboard-footer/dashboard-footer-config.d.ts +11 -11
  111. package/lib/ui-kit/dashboard-footer/dashboard-footer.module.d.ts +10 -10
  112. package/lib/ui-kit/dialog/dialog-config.d.ts +6 -6
  113. package/lib/ui-kit/dialog/dialog-injector.d.ts +7 -7
  114. package/lib/ui-kit/dialog/dialog-ref.d.ts +7 -7
  115. package/lib/ui-kit/dialog/dialog.component.d.ts +33 -33
  116. package/lib/ui-kit/dialog/dialog.module.d.ts +9 -9
  117. package/lib/ui-kit/dialog/dialog.service.d.ts +17 -17
  118. package/lib/ui-kit/dialog/insertion.directive.d.ts +8 -8
  119. package/lib/ui-kit/floating-bar/floating-bar.component.d.ts +20 -20
  120. package/lib/ui-kit/floating-bar/floating-bar.module.d.ts +10 -10
  121. package/lib/ui-kit/formgroup/click-outside.directive.d.ts +10 -10
  122. package/lib/ui-kit/formgroup/cs-checkbox/cs-checkbox.component.d.ts +13 -13
  123. package/lib/ui-kit/formgroup/cs-radio/cs-radio.component.d.ts +15 -15
  124. package/lib/ui-kit/formgroup/cs-radio-group/cs-radio-group.component.d.ts +8 -8
  125. package/lib/ui-kit/formgroup/cs-select/cs-select.component.d.ts +36 -36
  126. package/lib/ui-kit/formgroup/cs-switch/cs-switch.component.d.ts +15 -15
  127. package/lib/ui-kit/formgroup/formgroup.module.d.ts +17 -17
  128. package/lib/ui-kit/formgroup/pipes/pascal.pipe.d.ts +7 -7
  129. package/lib/ui-kit/formgroup/pipes/searchMultiSelect.pipe.d.ts +7 -7
  130. package/lib/ui-kit/no-data/no-data.component.d.ts +19 -19
  131. package/lib/ui-kit/no-data/no-data.module.d.ts +8 -8
  132. package/lib/ui-kit/pagination/pagination.component.d.ts +21 -21
  133. package/lib/ui-kit/pagination/pagination.module.d.ts +8 -8
  134. package/lib/ui-kit/popover/popover.component.d.ts +28 -28
  135. package/lib/ui-kit/popover/popover.directive.d.ts +17 -17
  136. package/lib/ui-kit/popover/popover.module.d.ts +9 -9
  137. package/lib/ui-kit/popover/popover.service.d.ts +13 -13
  138. package/lib/ui-kit/select/cs-option/cs-option.component.d.ts +16 -16
  139. package/lib/ui-kit/select/cs-select/cs-select.component.d.ts +32 -32
  140. package/lib/ui-kit/select/safe-html.pipe.d.ts +10 -10
  141. package/lib/ui-kit/select/select.module.d.ts +11 -11
  142. package/lib/ui-kit/services/cs-select.service.d.ts +7 -7
  143. package/lib/ui-kit/smiley-dialog/smiley-dialog.component.d.ts +17 -17
  144. package/lib/ui-kit/smiley-dialog/smiley-dialog.module.d.ts +8 -8
  145. package/lib/ui-kit/snack-bar/snack-bar/snack-bar.component.d.ts +17 -17
  146. package/lib/ui-kit/snack-bar/snack-bar.module.d.ts +8 -8
  147. package/lib/ui-kit/snack-bar/snack-bar.service.d.ts +9 -9
  148. package/lib/ui-kit/tooltip/tooltip.directive.d.ts +28 -28
  149. package/lib/ui-kit/tooltip/tooltip.module.d.ts +8 -8
  150. package/lib/ui-kit/v-loader/loader/loader.component.d.ts +11 -11
  151. package/lib/ui-kit/v-loader/loader-inline/loader-inline.component.d.ts +11 -11
  152. package/lib/ui-kit/v-loader/v-loader.module.d.ts +9 -9
  153. package/package.json +1 -1
  154. package/public-api.d.ts +3 -3
@@ -1,142 +1,142 @@
1
- import { Component, EventEmitter, Input, Output, ViewChild } 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
- popoverService;
7
- dontCloseonClick = false;
8
- popoverContainer = false;
9
- popoverRatio;
10
- popoverContent;
11
- closedOnOverlay = new EventEmitter();
12
- constructor(popoverService) {
13
- this.popoverService = popoverService;
14
- }
15
- showPopover = false;
16
- leftValue;
17
- topValue;
18
- popoverHeight;
19
- popoverWidth;
20
- positionX;
21
- positionY;
22
- ngOnInit() { }
23
- popover() {
24
- this.popoverContainer = false;
25
- this.popoverContainer = true;
26
- setTimeout(() => {
27
- this.getPosition();
28
- this.showPopover = true;
29
- this.popoverService.stopScroll = true;
30
- // document.body.style.overflow = 'hidden';
31
- }, 10);
32
- return false;
33
- }
34
- popoverEvent() {
35
- this.popoverContainer = false;
36
- this.popoverContainer = true;
37
- setTimeout(() => {
38
- // this.getPosition();
39
- this.positionX = this.popoverService.positionX;
40
- this.positionY = this.popoverService.positionY;
41
- this.showPopover = true;
42
- this.popoverService.stopScroll = true;
43
- }, 10);
44
- return false;
45
- }
46
- closePopover(top) {
47
- if (!this.dontCloseonClick || top === 'top') {
48
- this.popoverContainer = false;
49
- this.showPopover = false;
50
- this.popoverService.stopScroll = false;
51
- // document.body.style.overflow = 'auto';
52
- }
53
- }
54
- close() {
55
- this.popoverContainer = false;
56
- this.showPopover = false;
57
- this.popoverService.stopScroll = false;
58
- }
59
- clickedPopover() {
60
- this.getPosition();
61
- }
62
- getPosition() {
63
- // setTimeout(() => {
64
- const elementPositionn = this.popoverService.elementPosition;
65
- this.popoverHeight = this.popoverRatio.nativeElement.offsetHeight;
66
- this.popoverWidth = this.popoverRatio.nativeElement.offsetWidth;
67
- if (this.popoverService.elementDirection === 'left') {
68
- this.leftValue = elementPositionn.left;
69
- if (elementPositionn.top + elementPositionn.height + this.popoverHeight > window.outerHeight - 200) {
70
- this.topValue = elementPositionn.top - this.popoverHeight;
71
- }
72
- else {
73
- this.topValue = elementPositionn.top + elementPositionn.height;
74
- }
75
- }
76
- if (this.popoverService.elementDirection === 'right') {
77
- this.leftValue = elementPositionn.left + elementPositionn.width - this.popoverWidth;
78
- if (elementPositionn.top + elementPositionn.height + this.popoverHeight > window.outerHeight - 200) {
79
- this.topValue = elementPositionn.top - this.popoverHeight;
80
- }
81
- else {
82
- this.topValue = elementPositionn.top + elementPositionn.height;
83
- }
84
- }
85
- if (this.popoverService.elementDirection === 'top') {
86
- this.leftValue = elementPositionn.left + elementPositionn.width;
87
- if (elementPositionn.top + elementPositionn.height + this.popoverHeight > window.outerHeight - 200) {
88
- this.topValue = elementPositionn.top - this.popoverHeight;
89
- }
90
- else {
91
- this.topValue = elementPositionn.top - this.popoverHeight;
92
- }
93
- }
94
- if (this.popoverService.elementDirection === 'bottom') {
95
- this.leftValue = elementPositionn.left + elementPositionn.width;
96
- if (elementPositionn.top + elementPositionn.height + this.popoverHeight > window.outerHeight - 200) {
97
- this.topValue = elementPositionn.top - this.popoverHeight;
98
- }
99
- else {
100
- this.topValue = elementPositionn.top + elementPositionn.height;
101
- }
102
- }
103
- if (this.popoverService.elementDirection === 'self-position') {
104
- this.leftValue = elementPositionn.left + elementPositionn.width / 2 - this.popoverWidth / 2;
105
- this.topValue = elementPositionn.top - 15;
106
- }
107
- if (this.popoverService.elementDirection === 'top-center') {
108
- this.leftValue = elementPositionn.left + elementPositionn.width / 2 - this.popoverWidth / 2;
109
- // this.topValue = elementPositionn.top - this.popoverHeight;
110
- if (elementPositionn.top + elementPositionn.height + this.popoverHeight > window.outerHeight) {
111
- this.topValue = elementPositionn.top + elementPositionn.height;
112
- }
113
- else {
114
- this.topValue = elementPositionn.top - this.popoverHeight;
115
- }
116
- }
117
- if (this.popoverService.elementDirection === 'center') {
118
- this.leftValue = elementPositionn.left + elementPositionn.width / 2 - this.popoverWidth / 2;
119
- this.topValue = elementPositionn.top + elementPositionn.height;
120
- }
121
- this.positionX = this.leftValue;
122
- this.positionY = this.topValue;
123
- // }, 10);
124
- }
125
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PopoverComponent, deps: [{ token: i1.PopoverService }], target: i0.ɵɵFactoryTarget.Component });
126
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PopoverComponent, selector: "app-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 class=\"popover-overlay\" *ngIf=\"popoverContainer\" (click)=\"closePopover('top');this.closedOnOverlay.emit();\"></div>\r\n<div class=\"action\" [class.active]=\"showPopover\" *ngIf=\"popoverContainer\" [style.top.px]=\"positionY\" [style.left.px]=\"positionX\" #popoverRatio id=\"popoverRatio\">\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}.popover-overlay{z-index:12;cursor:initial;position:fixed;inset:0}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
127
- }
128
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PopoverComponent, decorators: [{
129
- type: Component,
130
- args: [{ selector: 'app-popover', template: "<div class=\"popover-overlay\" *ngIf=\"popoverContainer\" (click)=\"closePopover('top');this.closedOnOverlay.emit();\"></div>\r\n<div class=\"action\" [class.active]=\"showPopover\" *ngIf=\"popoverContainer\" [style.top.px]=\"positionY\" [style.left.px]=\"positionX\" #popoverRatio id=\"popoverRatio\">\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}.popover-overlay{z-index:12;cursor:initial;position:fixed;inset:0}\n"] }]
131
- }], ctorParameters: function () { return [{ type: i1.PopoverService }]; }, propDecorators: { dontCloseonClick: [{
132
- type: Input
133
- }], popoverRatio: [{
134
- type: ViewChild,
135
- args: ['popoverRatio']
136
- }], popoverContent: [{
137
- type: ViewChild,
138
- args: ['popoverContent']
139
- }], closedOnOverlay: [{
140
- type: Output
141
- }] } });
142
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jcmVhdGUtZGFzaGJvYXJkL3NyYy9saWIvdWkta2l0L3BvcG92ZXIvcG9wb3Zlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jcmVhdGUtZGFzaGJvYXJkL3NyYy9saWIvdWkta2l0L3BvcG92ZXIvcG9wb3Zlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQVF0RyxNQUFNLE9BQU8sZ0JBQWdCO0lBTVI7SUFMVixnQkFBZ0IsR0FBRyxLQUFLLENBQUM7SUFDbEMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO0lBQ0UsWUFBWSxDQUFjO0lBQ3hCLGNBQWMsQ0FBYztJQUMvQyxlQUFlLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUMvQyxZQUFtQixjQUE4QjtRQUE5QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7SUFBRyxDQUFDO0lBQ3JELFdBQVcsR0FBRyxLQUFLLENBQUM7SUFDcEIsU0FBUyxDQUFNO0lBQ2YsUUFBUSxDQUFNO0lBQ2QsYUFBYSxDQUFNO0lBQ25CLFlBQVksQ0FBTTtJQUNsQixTQUFTLENBQVU7SUFDbkIsU0FBUyxDQUFVO0lBQ25CLFFBQVEsS0FBVSxDQUFDO0lBQ25CLE9BQU87UUFDTCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO1FBQzlCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7UUFDN0IsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztZQUN4QixJQUFJLENBQUMs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O1FBQ2hDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUMvQixVQUFVO0lBQ1osQ0FBQzt3R0FsSFUsZ0JBQWdCOzRGQUFoQixnQkFBZ0IsdVdDUjdCLG1iQU1BOzs0RkRFYSxnQkFBZ0I7a0JBTDVCLFNBQVM7K0JBQ0UsYUFBYTtxR0FLZCxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBRXFCLFlBQVk7c0JBQXRDLFNBQVM7dUJBQUMsY0FBYztnQkFDSSxjQUFjO3NCQUExQyxTQUFTO3VCQUFDLGdCQUFnQjtnQkFDakIsZUFBZTtzQkFBeEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBQb3BvdmVyU2VydmljZSB9IGZyb20gJy4vcG9wb3Zlci5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLXBvcG92ZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9wb3BvdmVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9wb3BvdmVyLmNvbXBvbmVudC5sZXNzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQb3BvdmVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoKSBkb250Q2xvc2VvbkNsaWNrID0gZmFsc2U7XHJcbiAgcG9wb3ZlckNvbnRhaW5lciA9IGZhbHNlO1xyXG4gIEBWaWV3Q2hpbGQoJ3BvcG92ZXJSYXRpbycpIHBvcG92ZXJSYXRpbyE6IEVsZW1lbnRSZWY7XHJcbiAgQFZpZXdDaGlsZCgncG9wb3ZlckNvbnRlbnQnKSBwb3BvdmVyQ29udGVudCE6IEVsZW1lbnRSZWY7XHJcbiAgQE91dHB1dCgpIGNsb3NlZE9uT3ZlcmxheSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcG9wb3ZlclNlcnZpY2U6IFBvcG92ZXJTZXJ2aWNlKSB7fVxyXG4gIHNob3dQb3BvdmVyID0gZmFsc2U7XHJcbiAgbGVmdFZhbHVlOiBhbnk7XHJcbiAgdG9wVmFsdWU6IGFueTtcclxuICBwb3BvdmVySGVpZ2h0OiBhbnk7XHJcbiAgcG9wb3ZlcldpZHRoOiBhbnk7XHJcbiAgcG9zaXRpb25YITogbnVtYmVyO1xyXG4gIHBvc2l0aW9uWSE6IG51bWJlcjtcclxuICBuZ09uSW5pdCgpOiB2b2lkIHt9XHJcbiAgcG9wb3ZlcigpIHtcclxuICAgIHRoaXMucG9wb3ZlckNvbnRhaW5lciA9IGZhbHNlO1xyXG4gICAgdGhpcy5wb3BvdmVyQ29udGFpbmVyID0gdHJ1ZTtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLmdldFBvc2l0aW9uKCk7XHJcbiAgICAgIHRoaXMuc2hvd1BvcG92ZXIgPSB0cnVlO1xyXG4gICAgICB0aGlzLnBvcG92ZXJTZXJ2aWNlLnN0b3BTY3JvbGwgPSB0cnVlO1xyXG4gICAgICAvLyBkb2N1bWVudC5ib2R5LnN0eWxlLm92ZXJmbG93ID0gJ2hpZGRlbic7XHJcbiAgICB9LCAxMCk7XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG4gIHBvcG92ZXJFdmVudCgpIHtcclxuICAgIHRoaXMucG9wb3ZlckNvbnRhaW5lciA9IGZhbHNlO1xyXG4gICAgdGhpcy5wb3BvdmVyQ29udGFpbmVyID0gdHJ1ZTtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAvLyB0aGlzLmdldFBvc2l0aW9uKCk7XHJcbiAgICAgIHRoaXMucG9zaXRpb25YID0gdGhpcy5wb3BvdmVyU2VydmljZS5wb3NpdGlvblg7XHJcbiAgICAgIHRoaXMucG9zaXRpb25ZID0gdGhpcy5wb3BvdmVyU2VydmljZS5wb3NpdGlvblk7XHJcbiAgICAgIHRoaXMuc2hvd1BvcG92ZXIgPSB0cnVlO1xyXG4gICAgICB0aGlzLnBvcG92ZXJTZXJ2aWNlLnN0b3BTY3JvbGwgPSB0cnVlO1xyXG5cclxuICAgIH0sIDEwKTtcclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcbiAgY2xvc2VQb3BvdmVyKHRvcD86IHN0cmluZykge1xyXG4gICAgaWYgKCF0aGlzLmRvbnRDbG9zZW9uQ2xpY2sgfHwgdG9wID09PSAndG9wJykge1xyXG4gICAgICB0aGlzLnBvcG92ZXJDb250YWluZXIgPSBmYWxzZTtcclxuICAgICAgdGhpcy5zaG93UG9wb3ZlciA9IGZhbHNlO1xyXG4gICAgICB0aGlzLnBvcG92ZXJTZXJ2aWNlLnN0b3BTY3JvbGwgPSBmYWxzZTtcclxuICAgICAgLy8gZG9jdW1lbnQuYm9keS5zdHlsZS5vdmVyZmxvdyA9ICdhdXRvJztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNsb3NlKCl7XHJcbiAgICB0aGlzLnBvcG92ZXJDb250YWluZXIgPSBmYWxzZTtcclxuICAgIHRoaXMuc2hvd1BvcG92ZXIgPSBmYWxzZTtcclxuICAgIHRoaXMucG9wb3ZlclNlcnZpY2Uuc3RvcFNjcm9sbCA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgY2xpY2tlZFBvcG92ZXIoKSB7XHJcbiAgICB0aGlzLmdldFBvc2l0aW9uKCk7XHJcbiAgfVxyXG4gIGdldFBvc2l0aW9uKCkge1xyXG4gICAgLy8gc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICBjb25zdCBlbGVtZW50UG9zaXRpb25uID0gdGhpcy5wb3BvdmVyU2VydmljZS5lbGVtZW50UG9zaXRpb247XHJcbiAgICB0aGlzLnBvcG92ZXJIZWlnaHQgPSB0aGlzLnBvcG92ZXJSYXRpby5uYXRpdmVFbGVtZW50Lm9mZnNldEhlaWdodDtcclxuICAgIHRoaXMucG9wb3ZlcldpZHRoID0gdGhpcy5wb3BvdmVyUmF0aW8ubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aDtcclxuICAgIGlmICh0aGlzLnBvcG92ZXJTZXJ2aWNlLmVsZW1lbnREaXJlY3Rpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICB0aGlzLmxlZnRWYWx1ZSA9IGVsZW1lbnRQb3NpdGlvbm4ubGVmdDtcclxuICAgICAgaWYgKGVsZW1lbnRQb3NpdGlvbm4udG9wICsgZWxlbWVudFBvc2l0aW9ubi5oZWlnaHQgKyB0aGlzLnBvcG92ZXJIZWlnaHQgPiB3aW5kb3cub3V0ZXJIZWlnaHQgLSAyMDApIHtcclxuICAgICAgICB0aGlzLnRvcFZhbHVlID0gZWxlbWVudFBvc2l0aW9ubi50b3AgLSB0aGlzLnBvcG92ZXJIZWlnaHQ7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy50b3BWYWx1ZSA9IGVsZW1lbnRQb3NpdGlvbm4udG9wICsgZWxlbWVudFBvc2l0aW9ubi5oZWlnaHQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGlmICh0aGlzLnBvcG92ZXJTZXJ2aWNlLmVsZW1lbnREaXJlY3Rpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgdGhpcy5sZWZ0VmFsdWUgPSBlbGVtZW50UG9zaXRpb25uLmxlZnQgKyBlbGVtZW50UG9zaXRpb25uLndpZHRoIC0gdGhpcy5wb3BvdmVyV2lkdGg7XHJcbiAgICAgIGlmIChlbGVtZW50UG9zaXRpb25uLnRvcCArIGVsZW1lbnRQb3NpdGlvbm4uaGVpZ2h0ICsgdGhpcy5wb3BvdmVySGVpZ2h0ID4gd2luZG93Lm91dGVySGVpZ2h0IC0gMjAwKSB7XHJcbiAgICAgICAgdGhpcy50b3BWYWx1ZSA9IGVsZW1lbnRQb3NpdGlvbm4udG9wIC0gdGhpcy5wb3BvdmVySGVpZ2h0O1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMudG9wVmFsdWUgPSBlbGVtZW50UG9zaXRpb25uLnRvcCArIGVsZW1lbnRQb3NpdGlvbm4uaGVpZ2h0O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5wb3BvdmVyU2VydmljZS5lbGVtZW50RGlyZWN0aW9uID09PSAndG9wJykge1xyXG4gICAgICB0aGlzLmxlZnRWYWx1ZSA9IGVsZW1lbnRQb3NpdGlvbm4ubGVmdCArIGVsZW1lbnRQb3NpdGlvbm4ud2lkdGg7XHJcbiAgICAgIGlmIChlbGVtZW50UG9zaXRpb25uLnRvcCArIGVsZW1lbnRQb3NpdGlvbm4uaGVpZ2h0ICsgdGhpcy5wb3BvdmVySGVpZ2h0ID4gd2luZG93Lm91dGVySGVpZ2h0IC0gMjAwKSB7XHJcbiAgICAgICAgdGhpcy50b3BWYWx1ZSA9IGVsZW1lbnRQb3NpdGlvbm4udG9wIC0gdGhpcy5wb3BvdmVySGVpZ2h0O1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMudG9wVmFsdWUgPSBlbGVtZW50UG9zaXRpb25uLnRvcCAtIHRoaXMucG9wb3ZlckhlaWdodDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMucG9wb3ZlclNlcnZpY2UuZWxlbWVudERpcmVjdGlvbiA9PT0gJ2JvdHRvbScpIHtcclxuICAgICAgdGhpcy5sZWZ0VmFsdWUgPSBlbGVtZW50UG9zaXRpb25uLmxlZnQgKyBlbGVtZW50UG9zaXRpb25uLndpZHRoO1xyXG4gICAgICBpZiAoZWxlbWVudFBvc2l0aW9ubi50b3AgKyBlbGVtZW50UG9zaXRpb25uLmhlaWdodCArIHRoaXMucG9wb3ZlckhlaWdodCA+IHdpbmRvdy5vdXRlckhlaWdodCAtIDIwMCkge1xyXG4gICAgICAgIHRoaXMudG9wVmFsdWUgPSBlbGVtZW50UG9zaXRpb25uLnRvcCAtIHRoaXMucG9wb3ZlckhlaWdodDtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnRvcFZhbHVlID0gZWxlbWVudFBvc2l0aW9ubi50b3AgKyBlbGVtZW50UG9zaXRpb25uLmhlaWdodDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMucG9wb3ZlclNlcnZpY2UuZWxlbWVudERpcmVjdGlvbiA9PT0gJ3NlbGYtcG9zaXRpb24nKSB7XHJcbiAgICAgIHRoaXMubGVmdFZhbHVlID0gZWxlbWVudFBvc2l0aW9ubi5sZWZ0ICsgZWxlbWVudFBvc2l0aW9ubi53aWR0aCAvIDIgLSB0aGlzLnBvcG92ZXJXaWR0aCAvIDI7XHJcbiAgICAgIHRoaXMudG9wVmFsdWUgPSBlbGVtZW50UG9zaXRpb25uLnRvcCAtIDE1O1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMucG9wb3ZlclNlcnZpY2UuZWxlbWVudERpcmVjdGlvbiA9PT0gJ3RvcC1jZW50ZXInKSB7XHJcbiAgICAgIHRoaXMubGVmdFZhbHVlID0gZWxlbWVudFBvc2l0aW9ubi5sZWZ0ICsgZWxlbWVudFBvc2l0aW9ubi53aWR0aCAvIDIgLSB0aGlzLnBvcG92ZXJXaWR0aCAvIDI7XHJcbiAgICAgIC8vIHRoaXMudG9wVmFsdWUgPSBlbGVtZW50UG9zaXRpb25uLnRvcCAtIHRoaXMucG9wb3ZlckhlaWdodDtcclxuICAgICAgaWYgKGVsZW1lbnRQb3NpdGlvbm4udG9wICsgZWxlbWVudFBvc2l0aW9ubi5oZWlnaHQgKyB0aGlzLnBvcG92ZXJIZWlnaHQgPiB3aW5kb3cub3V0ZXJIZWlnaHQpIHtcclxuICAgICAgICB0aGlzLnRvcFZhbHVlID0gZWxlbWVudFBvc2l0aW9ubi50b3AgKyBlbGVtZW50UG9zaXRpb25uLmhlaWdodDtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnRvcFZhbHVlID0gZWxlbWVudFBvc2l0aW9ubi50b3AgLSB0aGlzLnBvcG92ZXJIZWlnaHQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGlmICh0aGlzLnBvcG92ZXJTZXJ2aWNlLmVsZW1lbnREaXJlY3Rpb24gPT09ICdjZW50ZXInKSB7XHJcbiAgICAgIHRoaXMubGVmdFZhbHVlID0gZWxlbWVudFBvc2l0aW9ubi5sZWZ0ICsgZWxlbWVudFBvc2l0aW9ubi53aWR0aCAvIDIgLSB0aGlzLnBvcG92ZXJXaWR0aCAvIDI7XHJcbiAgICAgIHRoaXMudG9wVmFsdWUgPSBlbGVtZW50UG9zaXRpb25uLnRvcCArIGVsZW1lbnRQb3NpdGlvbm4uaGVpZ2h0O1xyXG4gICAgfVxyXG4gICAgdGhpcy5wb3NpdGlvblggPSB0aGlzLmxlZnRWYWx1ZTtcclxuICAgIHRoaXMucG9zaXRpb25ZID0gdGhpcy50b3BWYWx1ZTtcclxuICAgIC8vIH0sIDEwKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInBvcG92ZXItb3ZlcmxheVwiICpuZ0lmPVwicG9wb3ZlckNvbnRhaW5lclwiIChjbGljayk9XCJjbG9zZVBvcG92ZXIoJ3RvcCcpO3RoaXMuY2xvc2VkT25PdmVybGF5LmVtaXQoKTtcIj48L2Rpdj5cclxuPGRpdiBjbGFzcz1cImFjdGlvblwiIFtjbGFzcy5hY3RpdmVdPVwic2hvd1BvcG92ZXJcIiAqbmdJZj1cInBvcG92ZXJDb250YWluZXJcIiBbc3R5bGUudG9wLnB4XT1cInBvc2l0aW9uWVwiIFtzdHlsZS5sZWZ0LnB4XT1cInBvc2l0aW9uWFwiICNwb3BvdmVyUmF0aW8gaWQ9XCJwb3BvdmVyUmF0aW9cIj5cclxuICA8ZGl2IChjbGljayk9XCJjbG9zZVBvcG92ZXIoKTsgY2xpY2tlZFBvcG92ZXIoKVwiICNwb3BvdmVyQ29udGVudD5cclxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
1
+ import { Component, EventEmitter, Input, Output, ViewChild } 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
+ popoverService;
7
+ dontCloseonClick = false;
8
+ popoverContainer = false;
9
+ popoverRatio;
10
+ popoverContent;
11
+ closedOnOverlay = new EventEmitter();
12
+ constructor(popoverService) {
13
+ this.popoverService = popoverService;
14
+ }
15
+ showPopover = false;
16
+ leftValue;
17
+ topValue;
18
+ popoverHeight;
19
+ popoverWidth;
20
+ positionX;
21
+ positionY;
22
+ ngOnInit() { }
23
+ popover() {
24
+ this.popoverContainer = false;
25
+ this.popoverContainer = true;
26
+ setTimeout(() => {
27
+ this.getPosition();
28
+ this.showPopover = true;
29
+ this.popoverService.stopScroll = true;
30
+ // document.body.style.overflow = 'hidden';
31
+ }, 10);
32
+ return false;
33
+ }
34
+ popoverEvent() {
35
+ this.popoverContainer = false;
36
+ this.popoverContainer = true;
37
+ setTimeout(() => {
38
+ // this.getPosition();
39
+ this.positionX = this.popoverService.positionX;
40
+ this.positionY = this.popoverService.positionY;
41
+ this.showPopover = true;
42
+ this.popoverService.stopScroll = true;
43
+ }, 10);
44
+ return false;
45
+ }
46
+ closePopover(top) {
47
+ if (!this.dontCloseonClick || top === 'top') {
48
+ this.popoverContainer = false;
49
+ this.showPopover = false;
50
+ this.popoverService.stopScroll = false;
51
+ // document.body.style.overflow = 'auto';
52
+ }
53
+ }
54
+ close() {
55
+ this.popoverContainer = false;
56
+ this.showPopover = false;
57
+ this.popoverService.stopScroll = false;
58
+ }
59
+ clickedPopover() {
60
+ this.getPosition();
61
+ }
62
+ getPosition() {
63
+ // setTimeout(() => {
64
+ const elementPositionn = this.popoverService.elementPosition;
65
+ this.popoverHeight = this.popoverRatio.nativeElement.offsetHeight;
66
+ this.popoverWidth = this.popoverRatio.nativeElement.offsetWidth;
67
+ if (this.popoverService.elementDirection === 'left') {
68
+ this.leftValue = elementPositionn.left;
69
+ if (elementPositionn.top + elementPositionn.height + this.popoverHeight > window.outerHeight - 200) {
70
+ this.topValue = elementPositionn.top - this.popoverHeight;
71
+ }
72
+ else {
73
+ this.topValue = elementPositionn.top + elementPositionn.height;
74
+ }
75
+ }
76
+ if (this.popoverService.elementDirection === 'right') {
77
+ this.leftValue = elementPositionn.left + elementPositionn.width - this.popoverWidth;
78
+ if (elementPositionn.top + elementPositionn.height + this.popoverHeight > window.outerHeight - 200) {
79
+ this.topValue = elementPositionn.top - this.popoverHeight;
80
+ }
81
+ else {
82
+ this.topValue = elementPositionn.top + elementPositionn.height;
83
+ }
84
+ }
85
+ if (this.popoverService.elementDirection === 'top') {
86
+ this.leftValue = elementPositionn.left + elementPositionn.width;
87
+ if (elementPositionn.top + elementPositionn.height + this.popoverHeight > window.outerHeight - 200) {
88
+ this.topValue = elementPositionn.top - this.popoverHeight;
89
+ }
90
+ else {
91
+ this.topValue = elementPositionn.top - this.popoverHeight;
92
+ }
93
+ }
94
+ if (this.popoverService.elementDirection === 'bottom') {
95
+ this.leftValue = elementPositionn.left + elementPositionn.width;
96
+ if (elementPositionn.top + elementPositionn.height + this.popoverHeight > window.outerHeight - 200) {
97
+ this.topValue = elementPositionn.top - this.popoverHeight;
98
+ }
99
+ else {
100
+ this.topValue = elementPositionn.top + elementPositionn.height;
101
+ }
102
+ }
103
+ if (this.popoverService.elementDirection === 'self-position') {
104
+ this.leftValue = elementPositionn.left + elementPositionn.width / 2 - this.popoverWidth / 2;
105
+ this.topValue = elementPositionn.top - 15;
106
+ }
107
+ if (this.popoverService.elementDirection === 'top-center') {
108
+ this.leftValue = elementPositionn.left + elementPositionn.width / 2 - this.popoverWidth / 2;
109
+ // this.topValue = elementPositionn.top - this.popoverHeight;
110
+ if (elementPositionn.top + elementPositionn.height + this.popoverHeight > window.outerHeight) {
111
+ this.topValue = elementPositionn.top + elementPositionn.height;
112
+ }
113
+ else {
114
+ this.topValue = elementPositionn.top - this.popoverHeight;
115
+ }
116
+ }
117
+ if (this.popoverService.elementDirection === 'center') {
118
+ this.leftValue = elementPositionn.left + elementPositionn.width / 2 - this.popoverWidth / 2;
119
+ this.topValue = elementPositionn.top + elementPositionn.height;
120
+ }
121
+ this.positionX = this.leftValue;
122
+ this.positionY = this.topValue;
123
+ // }, 10);
124
+ }
125
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PopoverComponent, deps: [{ token: i1.PopoverService }], target: i0.ɵɵFactoryTarget.Component });
126
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PopoverComponent, selector: "app-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 class=\"popover-overlay\" *ngIf=\"popoverContainer\" (click)=\"closePopover('top');this.closedOnOverlay.emit();\"></div>\n<div class=\"action\" [class.active]=\"showPopover\" *ngIf=\"popoverContainer\" [style.top.px]=\"positionY\" [style.left.px]=\"positionX\" #popoverRatio id=\"popoverRatio\">\n <div (click)=\"closePopover(); clickedPopover()\" #popoverContent>\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [".action{position:fixed;z-index:13;display:inline-block;opacity:0}.action.active{opacity:1}.popover-overlay{z-index:12;cursor:initial;position:fixed;inset:0}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
127
+ }
128
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PopoverComponent, decorators: [{
129
+ type: Component,
130
+ args: [{ selector: 'app-popover', template: "<div class=\"popover-overlay\" *ngIf=\"popoverContainer\" (click)=\"closePopover('top');this.closedOnOverlay.emit();\"></div>\n<div class=\"action\" [class.active]=\"showPopover\" *ngIf=\"popoverContainer\" [style.top.px]=\"positionY\" [style.left.px]=\"positionX\" #popoverRatio id=\"popoverRatio\">\n <div (click)=\"closePopover(); clickedPopover()\" #popoverContent>\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [".action{position:fixed;z-index:13;display:inline-block;opacity:0}.action.active{opacity:1}.popover-overlay{z-index:12;cursor:initial;position:fixed;inset:0}\n"] }]
131
+ }], ctorParameters: function () { return [{ type: i1.PopoverService }]; }, propDecorators: { dontCloseonClick: [{
132
+ type: Input
133
+ }], popoverRatio: [{
134
+ type: ViewChild,
135
+ args: ['popoverRatio']
136
+ }], popoverContent: [{
137
+ type: ViewChild,
138
+ args: ['popoverContent']
139
+ }], closedOnOverlay: [{
140
+ type: Output
141
+ }] } });
142
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jcmVhdGUtZGFzaGJvYXJkL3NyYy9saWIvdWkta2l0L3BvcG92ZXIvcG9wb3Zlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jcmVhdGUtZGFzaGJvYXJkL3NyYy9saWIvdWkta2l0L3BvcG92ZXIvcG9wb3Zlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQVF0RyxNQUFNLE9BQU8sZ0JBQWdCO0lBTVI7SUFMVixnQkFBZ0IsR0FBRyxLQUFLLENBQUM7SUFDbEMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO0lBQ0UsWUFBWSxDQUFjO0lBQ3hCLGNBQWMsQ0FBYztJQUMvQyxlQUFlLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUMvQyxZQUFtQixjQUE4QjtRQUE5QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7SUFBRyxDQUFDO0lBQ3JELFdBQVcsR0FBRyxLQUFLLENBQUM7SUFDcEIsU0FBUyxDQUFNO0lBQ2YsUUFBUSxDQUFNO0lBQ2QsYUFBYSxDQUFNO0lBQ25CLFlBQVksQ0FBTTtJQUNsQixTQUFTLENBQVU7SUFDbkIsU0FBUyxDQUFVO0lBQ25CLFFBQVEsS0FBVSxDQUFDO0lBQ25CLE9BQU87UUFDTCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO1FBQzlCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7UUFDN0IsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztZQUN4QixJQUFJLENBQUMs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O1FBQ2hDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUMvQixVQUFVO0lBQ1osQ0FBQzt3R0FsSFUsZ0JBQWdCOzRGQUFoQixnQkFBZ0IsdVdDUjdCLHVhQU1BOzs0RkRFYSxnQkFBZ0I7a0JBTDVCLFNBQVM7K0JBQ0UsYUFBYTtxR0FLZCxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBRXFCLFlBQVk7c0JBQXRDLFNBQVM7dUJBQUMsY0FBYztnQkFDSSxjQUFjO3NCQUExQyxTQUFTO3VCQUFDLGdCQUFnQjtnQkFDakIsZUFBZTtzQkFBeEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUG9wb3ZlclNlcnZpY2UgfSBmcm9tICcuL3BvcG92ZXIuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1wb3BvdmVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BvcG92ZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wb3BvdmVyLmNvbXBvbmVudC5sZXNzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFBvcG92ZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBkb250Q2xvc2VvbkNsaWNrID0gZmFsc2U7XG4gIHBvcG92ZXJDb250YWluZXIgPSBmYWxzZTtcbiAgQFZpZXdDaGlsZCgncG9wb3ZlclJhdGlvJykgcG9wb3ZlclJhdGlvITogRWxlbWVudFJlZjtcbiAgQFZpZXdDaGlsZCgncG9wb3ZlckNvbnRlbnQnKSBwb3BvdmVyQ29udGVudCE6IEVsZW1lbnRSZWY7XG4gIEBPdXRwdXQoKSBjbG9zZWRPbk92ZXJsYXkgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBwb3BvdmVyU2VydmljZTogUG9wb3ZlclNlcnZpY2UpIHt9XG4gIHNob3dQb3BvdmVyID0gZmFsc2U7XG4gIGxlZnRWYWx1ZTogYW55O1xuICB0b3BWYWx1ZTogYW55O1xuICBwb3BvdmVySGVpZ2h0OiBhbnk7XG4gIHBvcG92ZXJXaWR0aDogYW55O1xuICBwb3NpdGlvblghOiBudW1iZXI7XG4gIHBvc2l0aW9uWSE6IG51bWJlcjtcbiAgbmdPbkluaXQoKTogdm9pZCB7fVxuICBwb3BvdmVyKCkge1xuICAgIHRoaXMucG9wb3ZlckNvbnRhaW5lciA9IGZhbHNlO1xuICAgIHRoaXMucG9wb3ZlckNvbnRhaW5lciA9IHRydWU7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmdldFBvc2l0aW9uKCk7XG4gICAgICB0aGlzLnNob3dQb3BvdmVyID0gdHJ1ZTtcbiAgICAgIHRoaXMucG9wb3ZlclNlcnZpY2Uuc3RvcFNjcm9sbCA9IHRydWU7XG4gICAgICAvLyBkb2N1bWVudC5ib2R5LnN0eWxlLm92ZXJmbG93ID0gJ2hpZGRlbic7XG4gICAgfSwgMTApO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICBwb3BvdmVyRXZlbnQoKSB7XG4gICAgdGhpcy5wb3BvdmVyQ29udGFpbmVyID0gZmFsc2U7XG4gICAgdGhpcy5wb3BvdmVyQ29udGFpbmVyID0gdHJ1ZTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIC8vIHRoaXMuZ2V0UG9zaXRpb24oKTtcbiAgICAgIHRoaXMucG9zaXRpb25YID0gdGhpcy5wb3BvdmVyU2VydmljZS5wb3NpdGlvblg7XG4gICAgICB0aGlzLnBvc2l0aW9uWSA9IHRoaXMucG9wb3ZlclNlcnZpY2UucG9zaXRpb25ZO1xuICAgICAgdGhpcy5zaG93UG9wb3ZlciA9IHRydWU7XG4gICAgICB0aGlzLnBvcG92ZXJTZXJ2aWNlLnN0b3BTY3JvbGwgPSB0cnVlO1xuXG4gICAgfSwgMTApO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICBjbG9zZVBvcG92ZXIodG9wPzogc3RyaW5nKSB7XG4gICAgaWYgKCF0aGlzLmRvbnRDbG9zZW9uQ2xpY2sgfHwgdG9wID09PSAndG9wJykge1xuICAgICAgdGhpcy5wb3BvdmVyQ29udGFpbmVyID0gZmFsc2U7XG4gICAgICB0aGlzLnNob3dQb3BvdmVyID0gZmFsc2U7XG4gICAgICB0aGlzLnBvcG92ZXJTZXJ2aWNlLnN0b3BTY3JvbGwgPSBmYWxzZTtcbiAgICAgIC8vIGRvY3VtZW50LmJvZHkuc3R5bGUub3ZlcmZsb3cgPSAnYXV0byc7XG4gICAgfVxuICB9XG5cbiAgY2xvc2UoKXtcbiAgICB0aGlzLnBvcG92ZXJDb250YWluZXIgPSBmYWxzZTtcbiAgICB0aGlzLnNob3dQb3BvdmVyID0gZmFsc2U7XG4gICAgdGhpcy5wb3BvdmVyU2VydmljZS5zdG9wU2Nyb2xsID0gZmFsc2U7XG4gIH1cblxuICBjbGlja2VkUG9wb3ZlcigpIHtcbiAgICB0aGlzLmdldFBvc2l0aW9uKCk7XG4gIH1cbiAgZ2V0UG9zaXRpb24oKSB7XG4gICAgLy8gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgY29uc3QgZWxlbWVudFBvc2l0aW9ubiA9IHRoaXMucG9wb3ZlclNlcnZpY2UuZWxlbWVudFBvc2l0aW9uO1xuICAgIHRoaXMucG9wb3ZlckhlaWdodCA9IHRoaXMucG9wb3ZlclJhdGlvLm5hdGl2ZUVsZW1lbnQub2Zmc2V0SGVpZ2h0O1xuICAgIHRoaXMucG9wb3ZlcldpZHRoID0gdGhpcy5wb3BvdmVyUmF0aW8ubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aDtcbiAgICBpZiAodGhpcy5wb3BvdmVyU2VydmljZS5lbGVtZW50RGlyZWN0aW9uID09PSAnbGVmdCcpIHtcbiAgICAgIHRoaXMubGVmdFZhbHVlID0gZWxlbWVudFBvc2l0aW9ubi5sZWZ0O1xuICAgICAgaWYgKGVsZW1lbnRQb3NpdGlvbm4udG9wICsgZWxlbWVudFBvc2l0aW9ubi5oZWlnaHQgKyB0aGlzLnBvcG92ZXJIZWlnaHQgPiB3aW5kb3cub3V0ZXJIZWlnaHQgLSAyMDApIHtcbiAgICAgICAgdGhpcy50b3BWYWx1ZSA9IGVsZW1lbnRQb3NpdGlvbm4udG9wIC0gdGhpcy5wb3BvdmVySGVpZ2h0O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy50b3BWYWx1ZSA9IGVsZW1lbnRQb3NpdGlvbm4udG9wICsgZWxlbWVudFBvc2l0aW9ubi5oZWlnaHQ7XG4gICAgICB9XG4gICAgfVxuICAgIGlmICh0aGlzLnBvcG92ZXJTZXJ2aWNlLmVsZW1lbnREaXJlY3Rpb24gPT09ICdyaWdodCcpIHtcbiAgICAgIHRoaXMubGVmdFZhbHVlID0gZWxlbWVudFBvc2l0aW9ubi5sZWZ0ICsgZWxlbWVudFBvc2l0aW9ubi53aWR0aCAtIHRoaXMucG9wb3ZlcldpZHRoO1xuICAgICAgaWYgKGVsZW1lbnRQb3NpdGlvbm4udG9wICsgZWxlbWVudFBvc2l0aW9ubi5oZWlnaHQgKyB0aGlzLnBvcG92ZXJIZWlnaHQgPiB3aW5kb3cub3V0ZXJIZWlnaHQgLSAyMDApIHtcbiAgICAgICAgdGhpcy50b3BWYWx1ZSA9IGVsZW1lbnRQb3NpdGlvbm4udG9wIC0gdGhpcy5wb3BvdmVySGVpZ2h0O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy50b3BWYWx1ZSA9IGVsZW1lbnRQb3NpdGlvbm4udG9wICsgZWxlbWVudFBvc2l0aW9ubi5oZWlnaHQ7XG4gICAgICB9XG4gICAgfVxuICAgIGlmICh0aGlzLnBvcG92ZXJTZXJ2aWNlLmVsZW1lbnREaXJlY3Rpb24gPT09ICd0b3AnKSB7XG4gICAgICB0aGlzLmxlZnRWYWx1ZSA9IGVsZW1lbnRQb3NpdGlvbm4ubGVmdCArIGVsZW1lbnRQb3NpdGlvbm4ud2lkdGg7XG4gICAgICBpZiAoZWxlbWVudFBvc2l0aW9ubi50b3AgKyBlbGVtZW50UG9zaXRpb25uLmhlaWdodCArIHRoaXMucG9wb3ZlckhlaWdodCA+IHdpbmRvdy5vdXRlckhlaWdodCAtIDIwMCkge1xuICAgICAgICB0aGlzLnRvcFZhbHVlID0gZWxlbWVudFBvc2l0aW9ubi50b3AgLSB0aGlzLnBvcG92ZXJIZWlnaHQ7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnRvcFZhbHVlID0gZWxlbWVudFBvc2l0aW9ubi50b3AgLSB0aGlzLnBvcG92ZXJIZWlnaHQ7XG4gICAgICB9XG4gICAgfVxuICAgIGlmICh0aGlzLnBvcG92ZXJTZXJ2aWNlLmVsZW1lbnREaXJlY3Rpb24gPT09ICdib3R0b20nKSB7XG4gICAgICB0aGlzLmxlZnRWYWx1ZSA9IGVsZW1lbnRQb3NpdGlvbm4ubGVmdCArIGVsZW1lbnRQb3NpdGlvbm4ud2lkdGg7XG4gICAgICBpZiAoZWxlbWVudFBvc2l0aW9ubi50b3AgKyBlbGVtZW50UG9zaXRpb25uLmhlaWdodCArIHRoaXMucG9wb3ZlckhlaWdodCA+IHdpbmRvdy5vdXRlckhlaWdodCAtIDIwMCkge1xuICAgICAgICB0aGlzLnRvcFZhbHVlID0gZWxlbWVudFBvc2l0aW9ubi50b3AgLSB0aGlzLnBvcG92ZXJIZWlnaHQ7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnRvcFZhbHVlID0gZWxlbWVudFBvc2l0aW9ubi50b3AgKyBlbGVtZW50UG9zaXRpb25uLmhlaWdodDtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHRoaXMucG9wb3ZlclNlcnZpY2UuZWxlbWVudERpcmVjdGlvbiA9PT0gJ3NlbGYtcG9zaXRpb24nKSB7XG4gICAgICB0aGlzLmxlZnRWYWx1ZSA9IGVsZW1lbnRQb3NpdGlvbm4ubGVmdCArIGVsZW1lbnRQb3NpdGlvbm4ud2lkdGggLyAyIC0gdGhpcy5wb3BvdmVyV2lkdGggLyAyO1xuICAgICAgdGhpcy50b3BWYWx1ZSA9IGVsZW1lbnRQb3NpdGlvbm4udG9wIC0gMTU7XG4gICAgfVxuICAgIGlmICh0aGlzLnBvcG92ZXJTZXJ2aWNlLmVsZW1lbnREaXJlY3Rpb24gPT09ICd0b3AtY2VudGVyJykge1xuICAgICAgdGhpcy5sZWZ0VmFsdWUgPSBlbGVtZW50UG9zaXRpb25uLmxlZnQgKyBlbGVtZW50UG9zaXRpb25uLndpZHRoIC8gMiAtIHRoaXMucG9wb3ZlcldpZHRoIC8gMjtcbiAgICAgIC8vIHRoaXMudG9wVmFsdWUgPSBlbGVtZW50UG9zaXRpb25uLnRvcCAtIHRoaXMucG9wb3ZlckhlaWdodDtcbiAgICAgIGlmIChlbGVtZW50UG9zaXRpb25uLnRvcCArIGVsZW1lbnRQb3NpdGlvbm4uaGVpZ2h0ICsgdGhpcy5wb3BvdmVySGVpZ2h0ID4gd2luZG93Lm91dGVySGVpZ2h0KSB7XG4gICAgICAgIHRoaXMudG9wVmFsdWUgPSBlbGVtZW50UG9zaXRpb25uLnRvcCArIGVsZW1lbnRQb3NpdGlvbm4uaGVpZ2h0O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy50b3BWYWx1ZSA9IGVsZW1lbnRQb3NpdGlvbm4udG9wIC0gdGhpcy5wb3BvdmVySGVpZ2h0O1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAodGhpcy5wb3BvdmVyU2VydmljZS5lbGVtZW50RGlyZWN0aW9uID09PSAnY2VudGVyJykge1xuICAgICAgdGhpcy5sZWZ0VmFsdWUgPSBlbGVtZW50UG9zaXRpb25uLmxlZnQgKyBlbGVtZW50UG9zaXRpb25uLndpZHRoIC8gMiAtIHRoaXMucG9wb3ZlcldpZHRoIC8gMjtcbiAgICAgIHRoaXMudG9wVmFsdWUgPSBlbGVtZW50UG9zaXRpb25uLnRvcCArIGVsZW1lbnRQb3NpdGlvbm4uaGVpZ2h0O1xuICAgIH1cbiAgICB0aGlzLnBvc2l0aW9uWCA9IHRoaXMubGVmdFZhbHVlO1xuICAgIHRoaXMucG9zaXRpb25ZID0gdGhpcy50b3BWYWx1ZTtcbiAgICAvLyB9LCAxMCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJwb3BvdmVyLW92ZXJsYXlcIiAqbmdJZj1cInBvcG92ZXJDb250YWluZXJcIiAoY2xpY2spPVwiY2xvc2VQb3BvdmVyKCd0b3AnKTt0aGlzLmNsb3NlZE9uT3ZlcmxheS5lbWl0KCk7XCI+PC9kaXY+XG48ZGl2IGNsYXNzPVwiYWN0aW9uXCIgW2NsYXNzLmFjdGl2ZV09XCJzaG93UG9wb3ZlclwiICpuZ0lmPVwicG9wb3ZlckNvbnRhaW5lclwiIFtzdHlsZS50b3AucHhdPVwicG9zaXRpb25ZXCIgW3N0eWxlLmxlZnQucHhdPVwicG9zaXRpb25YXCIgI3BvcG92ZXJSYXRpbyBpZD1cInBvcG92ZXJSYXRpb1wiPlxuICA8ZGl2IChjbGljayk9XCJjbG9zZVBvcG92ZXIoKTsgY2xpY2tlZFBvcG92ZXIoKVwiICNwb3BvdmVyQ29udGVudD5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -1,93 +1,93 @@
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
- elRef;
6
- popoverService;
7
- dynamicComponent;
8
- refrence;
9
- placement;
10
- leftValue;
11
- topValue;
12
- constructor(elRef, popoverService) {
13
- this.elRef = elRef;
14
- this.popoverService = popoverService;
15
- }
16
- click() {
17
- this.popoverService.elementPosition = this.elRef.nativeElement.getBoundingClientRect();
18
- this.popoverService.elementDirection = this.placement;
19
- // this.getPosition();
20
- }
21
- getPosition() {
22
- setTimeout(() => {
23
- // this.popoverService.elementPosition = this.elRef.nativeElement.getBoundingClientRect();
24
- const elementPositionn = this.elRef.nativeElement.getBoundingClientRect();
25
- if (this.placement === 'left') {
26
- this.leftValue = elementPositionn.left;
27
- if (elementPositionn.top + elementPositionn.height + this.popoverService.popoverHeight > window.outerHeight - 200) {
28
- this.topValue = elementPositionn.top - this.popoverService.popoverHeight;
29
- }
30
- else {
31
- this.topValue = elementPositionn.top + elementPositionn.height;
32
- }
33
- }
34
- if (this.placement === 'right') {
35
- this.leftValue = elementPositionn.left + elementPositionn.width - this.popoverService.popoverWidth;
36
- if (elementPositionn.top + elementPositionn.height + this.popoverService.popoverHeight > window.outerHeight - 200) {
37
- this.topValue = elementPositionn.top - this.popoverService.popoverHeight;
38
- }
39
- else {
40
- this.topValue = elementPositionn.top + elementPositionn.height;
41
- }
42
- }
43
- if (this.placement === 'top') {
44
- this.leftValue = elementPositionn.left + elementPositionn.width;
45
- if (elementPositionn.top + elementPositionn.height + this.popoverService.popoverHeight > window.outerHeight - 200) {
46
- this.topValue = elementPositionn.top - this.popoverService.popoverHeight;
47
- }
48
- else {
49
- this.topValue = elementPositionn.top - this.popoverService.popoverHeight;
50
- }
51
- }
52
- if (this.placement === 'bottom') {
53
- this.leftValue = elementPositionn.left + elementPositionn.width;
54
- if (elementPositionn.top + elementPositionn.height + this.popoverService.popoverHeight > window.outerHeight - 200) {
55
- this.topValue = elementPositionn.top - this.popoverService.popoverHeight;
56
- }
57
- else {
58
- this.topValue = elementPositionn.top + elementPositionn.height;
59
- }
60
- }
61
- if (this.placement === 'self-position') {
62
- this.leftValue = elementPositionn.left + elementPositionn.width / 2 - this.popoverService.popoverWidth / 2;
63
- this.topValue = elementPositionn.top - 15;
64
- }
65
- if (this.placement === 'top-center') {
66
- this.leftValue = elementPositionn.left + elementPositionn.width / 2 - this.popoverService.popoverWidth / 2;
67
- this.topValue = elementPositionn.top - this.popoverService.popoverHeight;
68
- }
69
- if (this.placement === 'bottom-center') {
70
- this.leftValue = elementPositionn.left + elementPositionn.width / 2 - this.popoverService.popoverWidth / 2;
71
- this.topValue = elementPositionn.top + this.popoverService.popoverHeight;
72
- }
73
- this.popoverService.positionX = this.leftValue;
74
- this.popoverService.positionY = this.topValue;
75
- }, 10);
76
- }
77
- static ɵ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 });
78
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: PopoverDirective, selector: "[appPopover]", inputs: { refrence: "refrence", placement: "placement" }, host: { listeners: { "click": "click()" } }, ngImport: i0 });
79
- }
80
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PopoverDirective, decorators: [{
81
- type: Directive,
82
- args: [{
83
- selector: '[appPopover]',
84
- }]
85
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.PopoverService }]; }, propDecorators: { refrence: [{
86
- type: Input
87
- }], placement: [{
88
- type: Input
89
- }], click: [{
90
- type: HostListener,
91
- args: ['click']
92
- }] } });
93
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jcmVhdGUtZGFzaGJvYXJkL3NyYy9saWIvdWkta2l0L3BvcG92ZXIvcG9wb3Zlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFNM0UsTUFBTSxPQUFPLGdCQUFnQjtJQU1QO0lBQTJCO0lBTC9DLGdCQUFnQixDQUFNO0lBQ2IsUUFBUSxDQUFNO0lBQ2QsU0FBUyxDQUFVO0lBQzVCLFNBQVMsQ0FBTTtJQUNmLFFBQVEsQ0FBTTtJQUNkLFlBQW9CLEtBQWlCLEVBQVUsY0FBOEI7UUFBekQsVUFBSyxHQUFMLEtBQUssQ0FBWTtRQUFVLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtJQUFHLENBQUM7SUFDMUQsS0FBSztRQUMxQixJQUFJLENBQUMsY0FBYyxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQ3ZGLElBQUksQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUN0RCxzQkFBc0I7SUFDeEIsQ0FBQztJQUVELFdBQVc7UUFDVCxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2QsMEZBQTBGO1lBQzFGLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMscUJBQXFCLEVBQUUsQ0FBQztZQUMxRSxJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssTUFBTSxFQUFFO2dCQUM3QixJQUFJLENBQUMsU0FBUyxHQUFHLGdCQUFnQixDQUFDLElBQUksQ0FBQztnQkFDdkMsSUFBSSxnQkFBZ0IsQ0FBQyxHQUFHLEdBQUcsZ0JBQWdCLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxj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LENBQUMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUM7Z0JBQzNHLElBQUksQ0FBQyxRQUFRLEdBQUcsZ0JBQWdCLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDO2FBQzFFO1lBQ0QsSUFBSSxJQUFJLENBQUMsU0FBUyxLQUFLLGVBQWUsRUFBRTtnQkFDdEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxnQkFBZ0IsQ0FBQyxJQUFJLEdBQUcsZ0JBQWdCLENBQUMsS0FBSyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUM7Z0JBQzNHLElBQUksQ0FBQyxRQUFRLEdBQUcsZ0JBQWdCLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDO2FBQzFFO1lBQ0QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztZQUMvQyxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQ2hELENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNULENBQUM7d0dBaEVVLGdCQUFnQjs0RkFBaEIsZ0JBQWdCOzs0RkFBaEIsZ0JBQWdCO2tCQUg1QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxjQUFjO2lCQUN6Qjs4SEFHVSxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBSWlCLEtBQUs7c0JBQTNCLFlBQVk7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBQb3BvdmVyU2VydmljZSB9IGZyb20gJy4vcG9wb3Zlci5zZXJ2aWNlJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW2FwcFBvcG92ZXJdJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFBvcG92ZXJEaXJlY3RpdmUge1xyXG4gIGR5bmFtaWNDb21wb25lbnQ6IGFueTtcclxuICBASW5wdXQoKSByZWZyZW5jZTogYW55O1xyXG4gIEBJbnB1dCgpIHBsYWNlbWVudCE6IHN0cmluZztcclxuICBsZWZ0VmFsdWU6IGFueTtcclxuICB0b3BWYWx1ZTogYW55O1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWxSZWY6IEVsZW1lbnRSZWYsIHByaXZhdGUgcG9wb3ZlclNlcnZpY2U6IFBvcG92ZXJTZXJ2aWNlKSB7fVxyXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJykgY2xpY2soKSB7XHJcbiAgICB0aGlzLnBvcG92ZXJTZXJ2aWNlLmVsZW1lbnRQb3NpdGlvbiA9IHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgIHRoaXMucG9wb3ZlclNlcnZpY2UuZWxlbWVudERpcmVjdGlvbiA9IHRoaXMucGxhY2VtZW50O1xyXG4gICAgLy8gdGhpcy5nZXRQb3NpdGlvbigpO1xyXG4gIH1cclxuXHJcbiAgZ2V0UG9zaXRpb24oKSB7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgLy8gdGhpcy5wb3BvdmVyU2VydmljZS5lbGVtZW50UG9zaXRpb24gPSB0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICAgIGNvbnN0IGVsZW1lbnRQb3NpdGlvbm4gPSB0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICAgIGlmICh0aGlzLnBsYWNlbWVudCA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgdGhpcy5sZWZ0VmFsdWUgPSBlbGVtZW50UG9zaXRpb25uLmxlZnQ7XHJcbiAgICAgICAgaWYgKGVsZW1lbnRQb3NpdGlvbm4udG9wICsgZWxlbWVudFBvc2l0aW9ubi5oZWlnaHQgKyB0aGlzLnBvcG92ZXJTZXJ2aWNlLnBvcG92ZXJIZWlnaHQgPiB3aW5kb3cub3V0ZXJIZWlnaHQgLSAyMDApIHtcclxuICAgICAgICAgIHRoaXMudG9wVmFsdWUgPSBlbGVtZW50UG9zaXRpb25uLnRvcCAtIHRoaXMucG9wb3ZlclNlcnZpY2UucG9wb3ZlckhlaWdodDtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy50b3BWYWx1ZSA9IGVsZW1lbnRQb3NpdGlvbm4udG9wICsgZWxlbWVudFBvc2l0aW9ubi5oZWlnaHQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLnBsYWNlbWVudCA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgIHRoaXMubGVmdFZhbHVlID0gZWxlbWVudFBvc2l0aW9ubi5sZWZ0ICsgZWxlbWVudFBvc2l0aW9ubi53aWR0aCAtIHRoaXMucG9wb3ZlclNlcnZpY2UucG9wb3ZlcldpZHRoO1xyXG4gICAgICAgIGlmIChlbGVtZW50UG9zaXRpb25uLnRvcCArIGVsZW1lbnRQb3NpdGlvbm4uaGVpZ2h0ICsgdGhpcy5wb3BvdmVyU2VydmljZS5wb3BvdmVySGVpZ2h0ID4gd2luZG93Lm91dGVySGVpZ2h0IC0gMjAwKSB7XHJcbiAgICAgICAgICB0aGlzLnRvcFZhbHVlID0gZWxlbWVudFBvc2l0aW9ubi50b3AgLSB0aGlzLnBvcG92ZXJTZXJ2aWNlLnBvcG92ZXJIZWlnaHQ7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMudG9wVmFsdWUgPSBlbGVtZW50UG9zaXRpb25uLnRvcCArIGVsZW1lbnRQb3NpdGlvbm4uaGVpZ2h0O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5wbGFjZW1lbnQgPT09ICd0b3AnKSB7XHJcbiAgICAgICAgdGhpcy5sZWZ0VmFsdWUgPSBlbGVtZW50UG9zaXRpb25uLmxlZnQgKyBlbGVtZW50UG9zaXRpb25uLndpZHRoO1xyXG4gICAgICAgIGlmIChlbGVtZW50UG9zaXRpb25uLnRvcCArIGVsZW1lbnRQb3NpdGlvbm4uaGVpZ2h0ICsgdGhpcy5wb3BvdmVyU2VydmljZS5wb3BvdmVySGVpZ2h0ID4gd2luZG93Lm91dGVySGVpZ2h0IC0gMjAwKSB7XHJcbiAgICAgICAgICB0aGlzLnRvcFZhbHVlID0gZWxlbWVudFBvc2l0aW9ubi50b3AgLSB0aGlzLnBvcG92ZXJTZXJ2aWNlLnBvcG92ZXJIZWlnaHQ7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMudG9wVmFsdWUgPSBlbGVtZW50UG9zaXRpb25uLnRvcCAtIHRoaXMucG9wb3ZlclNlcnZpY2UucG9wb3ZlckhlaWdodDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMucGxhY2VtZW50ID09PSAnYm90dG9tJykge1xyXG4gICAgICAgIHRoaXMubGVmdFZhbHVlID0gZWxlbWVudFBvc2l0aW9ubi5sZWZ0ICsgZWxlbWVudFBvc2l0aW9ubi53aWR0aDtcclxuICAgICAgICBpZiAoZWxlbWVudFBvc2l0aW9ubi50b3AgKyBlbGVtZW50UG9zaXRpb25uLmhlaWdodCArIHRoaXMucG9wb3ZlclNlcnZpY2UucG9wb3ZlckhlaWdodCA+IHdpbmRvdy5vdXRlckhlaWdodCAtIDIwMCkge1xyXG4gICAgICAgICAgdGhpcy50b3BWYWx1ZSA9IGVsZW1lbnRQb3NpdGlvbm4udG9wIC0gdGhpcy5wb3BvdmVyU2VydmljZS5wb3BvdmVySGVpZ2h0O1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLnRvcFZhbHVlID0gZWxlbWVudFBvc2l0aW9ubi50b3AgKyBlbGVtZW50UG9zaXRpb25uLmhlaWdodDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMucGxhY2VtZW50ID09PSAnc2VsZi1wb3NpdGlvbicpIHtcclxuICAgICAgICB0aGlzLmxlZnRWYWx1ZSA9IGVsZW1lbnRQb3NpdGlvbm4ubGVmdCArIGVsZW1lbnRQb3NpdGlvbm4ud2lkdGggLyAyIC0gdGhpcy5wb3BvdmVyU2VydmljZS5wb3BvdmVyV2lkdGggLyAyO1xyXG4gICAgICAgIHRoaXMudG9wVmFsdWUgPSBlbGVtZW50UG9zaXRpb25uLnRvcCAtIDE1O1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLnBsYWNlbWVudCA9PT0gJ3RvcC1jZW50ZXInKSB7XHJcbiAgICAgICAgdGhpcy5sZWZ0VmFsdWUgPSBlbGVtZW50UG9zaXRpb25uLmxlZnQgKyBlbGVtZW50UG9zaXRpb25uLndpZHRoIC8gMiAtIHRoaXMucG9wb3ZlclNlcnZpY2UucG9wb3ZlcldpZHRoIC8gMjtcclxuICAgICAgICB0aGlzLnRvcFZhbHVlID0gZWxlbWVudFBvc2l0aW9ubi50b3AgLSB0aGlzLnBvcG92ZXJTZXJ2aWNlLnBvcG92ZXJIZWlnaHQ7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMucGxhY2VtZW50ID09PSAnYm90dG9tLWNlbnRlcicpIHtcclxuICAgICAgICB0aGlzLmxlZnRWYWx1ZSA9IGVsZW1lbnRQb3NpdGlvbm4ubGVmdCArIGVsZW1lbnRQb3NpdGlvbm4ud2lkdGggLyAyIC0gdGhpcy5wb3BvdmVyU2VydmljZS5wb3BvdmVyV2lkdGggLyAyO1xyXG4gICAgICAgIHRoaXMudG9wVmFsdWUgPSBlbGVtZW50UG9zaXRpb25uLnRvcCArIHRoaXMucG9wb3ZlclNlcnZpY2UucG9wb3ZlckhlaWdodDtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnBvcG92ZXJTZXJ2aWNlLnBvc2l0aW9uWCA9IHRoaXMubGVmdFZhbHVlO1xyXG4gICAgICB0aGlzLnBvcG92ZXJTZXJ2aWNlLnBvc2l0aW9uWSA9IHRoaXMudG9wVmFsdWU7XHJcbiAgICB9LCAxMCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
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
+ elRef;
6
+ popoverService;
7
+ dynamicComponent;
8
+ refrence;
9
+ placement;
10
+ leftValue;
11
+ topValue;
12
+ constructor(elRef, popoverService) {
13
+ this.elRef = elRef;
14
+ this.popoverService = popoverService;
15
+ }
16
+ click() {
17
+ this.popoverService.elementPosition = this.elRef.nativeElement.getBoundingClientRect();
18
+ this.popoverService.elementDirection = this.placement;
19
+ // this.getPosition();
20
+ }
21
+ getPosition() {
22
+ setTimeout(() => {
23
+ // this.popoverService.elementPosition = this.elRef.nativeElement.getBoundingClientRect();
24
+ const elementPositionn = this.elRef.nativeElement.getBoundingClientRect();
25
+ if (this.placement === 'left') {
26
+ this.leftValue = elementPositionn.left;
27
+ if (elementPositionn.top + elementPositionn.height + this.popoverService.popoverHeight > window.outerHeight - 200) {
28
+ this.topValue = elementPositionn.top - this.popoverService.popoverHeight;
29
+ }
30
+ else {
31
+ this.topValue = elementPositionn.top + elementPositionn.height;
32
+ }
33
+ }
34
+ if (this.placement === 'right') {
35
+ this.leftValue = elementPositionn.left + elementPositionn.width - this.popoverService.popoverWidth;
36
+ if (elementPositionn.top + elementPositionn.height + this.popoverService.popoverHeight > window.outerHeight - 200) {
37
+ this.topValue = elementPositionn.top - this.popoverService.popoverHeight;
38
+ }
39
+ else {
40
+ this.topValue = elementPositionn.top + elementPositionn.height;
41
+ }
42
+ }
43
+ if (this.placement === 'top') {
44
+ this.leftValue = elementPositionn.left + elementPositionn.width;
45
+ if (elementPositionn.top + elementPositionn.height + this.popoverService.popoverHeight > window.outerHeight - 200) {
46
+ this.topValue = elementPositionn.top - this.popoverService.popoverHeight;
47
+ }
48
+ else {
49
+ this.topValue = elementPositionn.top - this.popoverService.popoverHeight;
50
+ }
51
+ }
52
+ if (this.placement === 'bottom') {
53
+ this.leftValue = elementPositionn.left + elementPositionn.width;
54
+ if (elementPositionn.top + elementPositionn.height + this.popoverService.popoverHeight > window.outerHeight - 200) {
55
+ this.topValue = elementPositionn.top - this.popoverService.popoverHeight;
56
+ }
57
+ else {
58
+ this.topValue = elementPositionn.top + elementPositionn.height;
59
+ }
60
+ }
61
+ if (this.placement === 'self-position') {
62
+ this.leftValue = elementPositionn.left + elementPositionn.width / 2 - this.popoverService.popoverWidth / 2;
63
+ this.topValue = elementPositionn.top - 15;
64
+ }
65
+ if (this.placement === 'top-center') {
66
+ this.leftValue = elementPositionn.left + elementPositionn.width / 2 - this.popoverService.popoverWidth / 2;
67
+ this.topValue = elementPositionn.top - this.popoverService.popoverHeight;
68
+ }
69
+ if (this.placement === 'bottom-center') {
70
+ this.leftValue = elementPositionn.left + elementPositionn.width / 2 - this.popoverService.popoverWidth / 2;
71
+ this.topValue = elementPositionn.top + this.popoverService.popoverHeight;
72
+ }
73
+ this.popoverService.positionX = this.leftValue;
74
+ this.popoverService.positionY = this.topValue;
75
+ }, 10);
76
+ }
77
+ static ɵ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 });
78
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: PopoverDirective, selector: "[appPopover]", inputs: { refrence: "refrence", placement: "placement" }, host: { listeners: { "click": "click()" } }, ngImport: i0 });
79
+ }
80
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PopoverDirective, decorators: [{
81
+ type: Directive,
82
+ args: [{
83
+ selector: '[appPopover]',
84
+ }]
85
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.PopoverService }]; }, propDecorators: { refrence: [{
86
+ type: Input
87
+ }], placement: [{
88
+ type: Input
89
+ }], click: [{
90
+ type: HostListener,
91
+ args: ['click']
92
+ }] } });
93
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jcmVhdGUtZGFzaGJvYXJkL3NyYy9saWIvdWkta2l0L3BvcG92ZXIvcG9wb3Zlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFNM0UsTUFBTSxPQUFPLGdCQUFnQjtJQU1QO0lBQTJCO0lBTC9DLGdCQUFnQixDQUFNO0lBQ2IsUUFBUSxDQUFNO0lBQ2QsU0FBUyxDQUFVO0lBQzVCLFNBQVMsQ0FBTTtJQUNmLFFBQVEsQ0FBTTtJQUNkLFlBQW9CLEtBQWlCLEVBQVUsY0FBOEI7UUFBekQsVUFBSyxHQUFMLEtBQUssQ0FBWTtRQUFVLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtJQUFHLENBQUM7SUFDMUQsS0FBSztRQUMxQixJQUFJLENBQUMsY0FBYyxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQ3ZGLElBQUksQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUN0RCxzQkFBc0I7SUFDeEIsQ0FBQztJQUVELFdBQVc7UUFDVCxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2QsMEZBQTBGO1lBQzFGLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMscUJBQXFCLEVBQUUsQ0FBQztZQUMxRSxJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssTUFBTSxFQUFFO2dCQUM3QixJQUFJLENBQUMsU0FBUyxHQUFHLGdCQUFnQixDQUFDLElBQUksQ0FBQztnQkFDdkMsSUFBSSxnQkFBZ0IsQ0FBQyxHQUFHLEdBQUcsZ0JBQWdCLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxHQUFHLE1BQU0sQ0FBQyxXQUFXLEdBQUcsR0FBRyxFQUFFO29CQUNqSCxJQUFJLENBQUMsUUFBUSxHQUFHLGdCQUFnQixDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQztpQkFDMUU7cUJBQU07b0JBQ0wsSUFBSSxDQUFDLFFBQVEsR0FBRyxnQkFBZ0IsQ0FBQyxHQUFHLEdBQUcsZ0JBQWdCLENBQUMsTUFBTSxDQUFDO2lCQUNoRTthQUNGO1lBQ0QsSUFBSSxJQUFJLENBQUMsU0FBUyxLQUFLLE9BQU8sRUFBRTtnQkFDOUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxnQkFBZ0IsQ0FBQyxJQUFJLEdBQUcsZ0JBQWdCLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDO2dCQUNuRyxJQUFJLGdCQUFnQixDQUFDLEdBQUcsR0FBRyxnQkFBZ0IsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLEdBQUcsTUFBTSxDQUFDLFdBQVcsR0FBRyxHQUFHLEVBQUU7b0JBQ2pILElBQUksQ0FBQyxRQUFRLEdBQUcsZ0JBQWdCLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDO2lCQUMxRTtxQkFBTTtvQkFDTCxJQUFJLENBQUMsUUFBUSxHQUFHLGdCQUFnQixDQUFDLEdBQUcsR0FBRyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUM7aUJBQ2hFO2FBQ0Y7WUFDRCxJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssS0FBSyxFQUFFO2dCQUM1QixJQUFJLENBQUMsU0FBUyxHQUFHLGdCQUFnQixDQUFDLElBQUksR0FBRyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUM7Z0JBQ2hFLElBQUksZ0JBQWdCLENBQUMsR0FBRyxHQUFHLGdCQUFnQixDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLGFBQWEsR0FBRyxNQUFNLENBQUMsV0FBVyxHQUFHLEdBQUcsRUFBRTtvQkFDakgsSUFBSSxDQUFDLFFBQVEsR0FBRyxnQkFBZ0IsQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUM7aUJBQzFFO3FCQUFNO29CQUNMLElBQUksQ0FBQyxRQUFRLEdBQUcsZ0JBQWdCLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDO2lCQUMxRTthQUNGO1lBQ0QsSUFBSSxJQUFJLENBQUMsU0FBUyxLQUFLLFFBQVEsRUFBRTtnQkFDL0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxnQkFBZ0IsQ0FBQyxJQUFJLEdBQUcsZ0JBQWdCLENBQUMsS0FBSyxDQUFDO2dCQUNoRSxJQUFJLGdCQUFnQixDQUFDLEdBQUcsR0FBRyxnQkFBZ0IsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLEdBQUcsTUFBTSxDQUFDLFdBQVcsR0FBRyxHQUFHLEVBQUU7b0JBQ2pILElBQUksQ0FBQyxRQUFRLEdBQUcsZ0JBQWdCLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDO2lCQUMxRTtxQkFBTTtvQkFDTCxJQUFJLENBQUMsUUFBUSxHQUFHLGdCQUFnQixDQUFDLEdBQUcsR0FBRyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUM7aUJBQ2hFO2FBQ0Y7WUFDRCxJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssZUFBZSxFQUFFO2dCQUN0QyxJQUFJLENBQUMsU0FBUyxHQUFHLGdCQUFnQixDQUFDLElBQUksR0FBRyxnQkFBZ0IsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxHQUFHLENBQUMsQ0FBQztnQkFDM0csSUFBSSxDQUFDLFFBQVEsR0FBRyxnQkFBZ0IsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDO2FBQzNDO1lBQ0QsSUFBSSxJQUFJLENBQUMsU0FBUyxLQUFLLFlBQVksRUFBRTtnQkFDbkMsSUFBSSxDQUFDLFNBQVMsR0FBRyxnQkFBZ0IsQ0FBQyxJQUFJLEdBQUcsZ0JBQWdCLENBQUMsS0FBSyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUM7Z0JBQzNHLElBQUksQ0FBQyxRQUFRLEdBQUcsZ0JBQWdCLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDO2FBQzFFO1lBQ0QsSUFBSSxJQUFJLENBQUMsU0FBUyxLQUFLLGVBQWUsRUFBRTtnQkFDdEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxnQkFBZ0IsQ0FBQyxJQUFJLEdBQUcsZ0JBQWdCLENBQUMsS0FBSyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUM7Z0JBQzNHLElBQUksQ0FBQyxRQUFRLEdBQUcsZ0JBQWdCLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDO2FBQzFFO1lBQ0QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztZQUMvQyxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQ2hELENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNULENBQUM7d0dBaEVVLGdCQUFnQjs0RkFBaEIsZ0JBQWdCOzs0RkFBaEIsZ0JBQWdCO2tCQUg1QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxjQUFjO2lCQUN6Qjs4SEFHVSxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBSWlCLEtBQUs7c0JBQTNCLFlBQVk7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUG9wb3ZlclNlcnZpY2UgfSBmcm9tICcuL3BvcG92ZXIuc2VydmljZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1thcHBQb3BvdmVyXScsXG59KVxuZXhwb3J0IGNsYXNzIFBvcG92ZXJEaXJlY3RpdmUge1xuICBkeW5hbWljQ29tcG9uZW50OiBhbnk7XG4gIEBJbnB1dCgpIHJlZnJlbmNlOiBhbnk7XG4gIEBJbnB1dCgpIHBsYWNlbWVudCE6IHN0cmluZztcbiAgbGVmdFZhbHVlOiBhbnk7XG4gIHRvcFZhbHVlOiBhbnk7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWxSZWY6IEVsZW1lbnRSZWYsIHByaXZhdGUgcG9wb3ZlclNlcnZpY2U6IFBvcG92ZXJTZXJ2aWNlKSB7fVxuICBASG9zdExpc3RlbmVyKCdjbGljaycpIGNsaWNrKCkge1xuICAgIHRoaXMucG9wb3ZlclNlcnZpY2UuZWxlbWVudFBvc2l0aW9uID0gdGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgIHRoaXMucG9wb3ZlclNlcnZpY2UuZWxlbWVudERpcmVjdGlvbiA9IHRoaXMucGxhY2VtZW50O1xuICAgIC8vIHRoaXMuZ2V0UG9zaXRpb24oKTtcbiAgfVxuXG4gIGdldFBvc2l0aW9uKCkge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgLy8gdGhpcy5wb3BvdmVyU2VydmljZS5lbGVtZW50UG9zaXRpb24gPSB0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICBjb25zdCBlbGVtZW50UG9zaXRpb25uID0gdGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgaWYgKHRoaXMucGxhY2VtZW50ID09PSAnbGVmdCcpIHtcbiAgICAgICAgdGhpcy5sZWZ0VmFsdWUgPSBlbGVtZW50UG9zaXRpb25uLmxlZnQ7XG4gICAgICAgIGlmIChlbGVtZW50UG9zaXRpb25uLnRvcCArIGVsZW1lbnRQb3NpdGlvbm4uaGVpZ2h0ICsgdGhpcy5wb3BvdmVyU2VydmljZS5wb3BvdmVySGVpZ2h0ID4gd2luZG93Lm91dGVySGVpZ2h0IC0gMjAwKSB7XG4gICAgICAgICAgdGhpcy50b3BWYWx1ZSA9IGVsZW1lbnRQb3NpdGlvbm4udG9wIC0gdGhpcy5wb3BvdmVyU2VydmljZS5wb3BvdmVySGVpZ2h0O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMudG9wVmFsdWUgPSBlbGVtZW50UG9zaXRpb25uLnRvcCArIGVsZW1lbnRQb3NpdGlvbm4uaGVpZ2h0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5wbGFjZW1lbnQgPT09ICdyaWdodCcpIHtcbiAgICAgICAgdGhpcy5sZWZ0VmFsdWUgPSBlbGVtZW50UG9zaXRpb25uLmxlZnQgKyBlbGVtZW50UG9zaXRpb25uLndpZHRoIC0gdGhpcy5wb3BvdmVyU2VydmljZS5wb3BvdmVyV2lkdGg7XG4gICAgICAgIGlmIChlbGVtZW50UG9zaXRpb25uLnRvcCArIGVsZW1lbnRQb3NpdGlvbm4uaGVpZ2h0ICsgdGhpcy5wb3BvdmVyU2VydmljZS5wb3BvdmVySGVpZ2h0ID4gd2luZG93Lm91dGVySGVpZ2h0IC0gMjAwKSB7XG4gICAgICAgICAgdGhpcy50b3BWYWx1ZSA9IGVsZW1lbnRQb3NpdGlvbm4udG9wIC0gdGhpcy5wb3BvdmVyU2VydmljZS5wb3BvdmVySGVpZ2h0O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMudG9wVmFsdWUgPSBlbGVtZW50UG9zaXRpb25uLnRvcCArIGVsZW1lbnRQb3NpdGlvbm4uaGVpZ2h0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5wbGFjZW1lbnQgPT09ICd0b3AnKSB7XG4gICAgICAgIHRoaXMubGVmdFZhbHVlID0gZWxlbWVudFBvc2l0aW9ubi5sZWZ0ICsgZWxlbWVudFBvc2l0aW9ubi53aWR0aDtcbiAgICAgICAgaWYgKGVsZW1lbnRQb3NpdGlvbm4udG9wICsgZWxlbWVudFBvc2l0aW9ubi5oZWlnaHQgKyB0aGlzLnBvcG92ZXJTZXJ2aWNlLnBvcG92ZXJIZWlnaHQgPiB3aW5kb3cub3V0ZXJIZWlnaHQgLSAyMDApIHtcbiAgICAgICAgICB0aGlzLnRvcFZhbHVlID0gZWxlbWVudFBvc2l0aW9ubi50b3AgLSB0aGlzLnBvcG92ZXJTZXJ2aWNlLnBvcG92ZXJIZWlnaHQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy50b3BWYWx1ZSA9IGVsZW1lbnRQb3NpdGlvbm4udG9wIC0gdGhpcy5wb3BvdmVyU2VydmljZS5wb3BvdmVySGVpZ2h0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5wbGFjZW1lbnQgPT09ICdib3R0b20nKSB7XG4gICAgICAgIHRoaXMubGVmdFZhbHVlID0gZWxlbWVudFBvc2l0aW9ubi5sZWZ0ICsgZWxlbWVudFBvc2l0aW9ubi53aWR0aDtcbiAgICAgICAgaWYgKGVsZW1lbnRQb3NpdGlvbm4udG9wICsgZWxlbWVudFBvc2l0aW9ubi5oZWlnaHQgKyB0aGlzLnBvcG92ZXJTZXJ2aWNlLnBvcG92ZXJIZWlnaHQgPiB3aW5kb3cub3V0ZXJIZWlnaHQgLSAyMDApIHtcbiAgICAgICAgICB0aGlzLnRvcFZhbHVlID0gZWxlbWVudFBvc2l0aW9ubi50b3AgLSB0aGlzLnBvcG92ZXJTZXJ2aWNlLnBvcG92ZXJIZWlnaHQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy50b3BWYWx1ZSA9IGVsZW1lbnRQb3NpdGlvbm4udG9wICsgZWxlbWVudFBvc2l0aW9ubi5oZWlnaHQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLnBsYWNlbWVudCA9PT0gJ3NlbGYtcG9zaXRpb24nKSB7XG4gICAgICAgIHRoaXMubGVmdFZhbHVlID0gZWxlbWVudFBvc2l0aW9ubi5sZWZ0ICsgZWxlbWVudFBvc2l0aW9ubi53aWR0aCAvIDIgLSB0aGlzLnBvcG92ZXJTZXJ2aWNlLnBvcG92ZXJXaWR0aCAvIDI7XG4gICAgICAgIHRoaXMudG9wVmFsdWUgPSBlbGVtZW50UG9zaXRpb25uLnRvcCAtIDE1O1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMucGxhY2VtZW50ID09PSAndG9wLWNlbnRlcicpIHtcbiAgICAgICAgdGhpcy5sZWZ0VmFsdWUgPSBlbGVtZW50UG9zaXRpb25uLmxlZnQgKyBlbGVtZW50UG9zaXRpb25uLndpZHRoIC8gMiAtIHRoaXMucG9wb3ZlclNlcnZpY2UucG9wb3ZlcldpZHRoIC8gMjtcbiAgICAgICAgdGhpcy50b3BWYWx1ZSA9IGVsZW1lbnRQb3NpdGlvbm4udG9wIC0gdGhpcy5wb3BvdmVyU2VydmljZS5wb3BvdmVySGVpZ2h0O1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMucGxhY2VtZW50ID09PSAnYm90dG9tLWNlbnRlcicpIHtcbiAgICAgICAgdGhpcy5sZWZ0VmFsdWUgPSBlbGVtZW50UG9zaXRpb25uLmxlZnQgKyBlbGVtZW50UG9zaXRpb25uLndpZHRoIC8gMiAtIHRoaXMucG9wb3ZlclNlcnZpY2UucG9wb3ZlcldpZHRoIC8gMjtcbiAgICAgICAgdGhpcy50b3BWYWx1ZSA9IGVsZW1lbnRQb3NpdGlvbm4udG9wICsgdGhpcy5wb3BvdmVyU2VydmljZS5wb3BvdmVySGVpZ2h0O1xuICAgICAgfVxuICAgICAgdGhpcy5wb3BvdmVyU2VydmljZS5wb3NpdGlvblggPSB0aGlzLmxlZnRWYWx1ZTtcbiAgICAgIHRoaXMucG9wb3ZlclNlcnZpY2UucG9zaXRpb25ZID0gdGhpcy50b3BWYWx1ZTtcbiAgICB9LCAxMCk7XG4gIH1cbn1cbiJdfQ==