mis-crystal-design-system 18.0.24 → 18.1.0-signal-test
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/action-list/action-list.component.d.ts +17 -15
- package/async-search-dropdown/async-dropdown.component.d.ts +43 -61
- package/button/button.component.d.ts +35 -13
- package/button/button.directive.d.ts +10 -8
- package/checkbox/checkbox.component.d.ts +15 -12
- package/chip/chip.component.d.ts +9 -11
- package/datepicker_v2/models/dp-config.model.d.ts +1 -0
- package/datepicker_v2/tz-datepicker.directive.d.ts +15 -18
- package/datepicker_v2/tz-dp-container/tz-dp-container.component.d.ts +42 -21
- package/daterangepicker_v2/tz-daterangepicker.directive.d.ts +12 -14
- package/daterangepicker_v2/tz-drp-container/tz-drp-container.component.d.ts +46 -23
- package/drawer/drawer-body/drawer-body.component.d.ts +2 -2
- package/dropdown/calculate-container-height.directive.d.ts +7 -8
- package/dropdown/dropdown.component.d.ts +41 -49
- package/dynamic-form/dynamic-form.component.d.ts +20 -16
- package/esm2022/action-list/action-list.component.mjs +112 -89
- package/esm2022/async-search-dropdown/async-dropdown.component.mjs +256 -326
- package/esm2022/button/button.component.mjs +55 -48
- package/esm2022/button/button.directive.mjs +36 -40
- package/esm2022/checkbox/checkbox.component.mjs +75 -70
- package/esm2022/chip/chip.component.mjs +20 -33
- package/esm2022/datepicker_v2/models/dp-config.model.mjs +1 -1
- package/esm2022/datepicker_v2/tz-datepicker.directive.mjs +42 -71
- package/esm2022/datepicker_v2/tz-dp-container/tz-dp-container.component.mjs +202 -172
- package/esm2022/datepicker_v2/utils/index.mjs +2 -1
- package/esm2022/daterangepicker_v2/tz-daterangepicker.directive.mjs +26 -51
- package/esm2022/daterangepicker_v2/tz-drp-container/tz-drp-container.component.mjs +282 -235
- package/esm2022/drawer/drawer-body/drawer-body.component.mjs +8 -7
- package/esm2022/dropdown/calculate-container-height.directive.mjs +25 -22
- package/esm2022/dropdown/dropdown.component.mjs +162 -186
- package/esm2022/dynamic-form/dynamic-form.component.mjs +118 -72
- package/esm2022/fab/fab.component.mjs +29 -33
- package/esm2022/filter/filter-panel/filter-panel.component.mjs +60 -58
- package/esm2022/input/directives/input/input.directive.mjs +22 -26
- package/esm2022/input/mis-input.component.mjs +41 -45
- package/esm2022/input-stepper/input-stepper/input-stepper.component.mjs +40 -50
- package/esm2022/loader/loader.component.mjs +8 -11
- package/esm2022/mobile-filter/mobile-filter.component.mjs +61 -61
- package/esm2022/modal/module-wrapper/module-wrapper.component.mjs +11 -9
- package/esm2022/multi-select-dropdown/multi-select-dropdown.component.mjs +235 -281
- package/esm2022/nested-multi-select-dropdown/nested-multi-select-dropdown.component.mjs +250 -287
- package/esm2022/phone-input/phone-input.component.mjs +21 -43
- package/esm2022/radio-button/radio-button.component.mjs +15 -27
- package/esm2022/ske-loader/ske-loader.component.mjs +15 -29
- package/esm2022/slider/slider.component.mjs +23 -33
- package/esm2022/slider/slider.module.mjs +4 -11
- package/esm2022/snackbar/snackbar/snackbar.component.mjs +21 -15
- package/esm2022/snackbar/snackbar.service.mjs +3 -2
- package/esm2022/specificdatepicker/tz-sdp-container/tz-sdp-container.component.mjs +230 -343
- package/esm2022/specificdatepicker/tz-specificdatepicker.directive.mjs +77 -105
- package/esm2022/star-rating/star-rating.component.mjs +57 -71
- package/esm2022/switch/switch.component.mjs +34 -36
- package/esm2022/table/actions-cell/actions-cell.component.mjs +55 -54
- package/esm2022/table/custom-table-cell.directive.mjs +22 -18
- package/esm2022/table/filter/filter.component.mjs +60 -42
- package/esm2022/table/sort-icons.directive.mjs +16 -8
- package/esm2022/table/sub-table/sub-table.component.mjs +41 -44
- package/esm2022/table/table.component.mjs +181 -165
- package/esm2022/timepicker/timepicker.component.mjs +244 -159
- package/esm2022/timepicker/timepicker.directive.mjs +3 -2
- package/esm2022/timerangepicker/timerangepicker.component.mjs +200 -159
- package/esm2022/toast/toast.component.mjs +6 -7
- package/esm2022/toast/toast.data.service.mjs +15 -9
- package/esm2022/tooltip/tooltip-container/tooltip.component.mjs +12 -12
- package/esm2022/tooltip/tooltip.directive.mjs +4 -4
- package/esm2022/virtual-scroll/virtual-scroll.component.mjs +57 -59
- package/fab/fab.component.d.ts +12 -8
- package/fesm2022/mis-crystal-design-system-action-list.mjs +111 -88
- package/fesm2022/mis-crystal-design-system-action-list.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-async-search-dropdown.mjs +253 -324
- package/fesm2022/mis-crystal-design-system-async-search-dropdown.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-button.mjs +88 -85
- package/fesm2022/mis-crystal-design-system-button.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-checkbox.mjs +74 -69
- package/fesm2022/mis-crystal-design-system-checkbox.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-chip.mjs +19 -32
- package/fesm2022/mis-crystal-design-system-chip.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-datepicker_v2.mjs +242 -240
- package/fesm2022/mis-crystal-design-system-datepicker_v2.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-daterangepicker_v2.mjs +305 -283
- package/fesm2022/mis-crystal-design-system-daterangepicker_v2.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-drawer.mjs +7 -6
- package/fesm2022/mis-crystal-design-system-drawer.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-dropdown.mjs +183 -204
- package/fesm2022/mis-crystal-design-system-dropdown.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-dynamic-form.mjs +118 -72
- package/fesm2022/mis-crystal-design-system-dynamic-form.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-fab.mjs +28 -32
- package/fesm2022/mis-crystal-design-system-fab.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-filter.mjs +59 -57
- package/fesm2022/mis-crystal-design-system-filter.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-input-stepper.mjs +39 -49
- package/fesm2022/mis-crystal-design-system-input-stepper.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-input.mjs +62 -71
- package/fesm2022/mis-crystal-design-system-input.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-loader.mjs +7 -10
- package/fesm2022/mis-crystal-design-system-loader.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-mobile-filter.mjs +60 -60
- package/fesm2022/mis-crystal-design-system-mobile-filter.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-modal.mjs +10 -8
- package/fesm2022/mis-crystal-design-system-modal.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-multi-select-dropdown.mjs +233 -279
- package/fesm2022/mis-crystal-design-system-multi-select-dropdown.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-nested-multi-select-dropdown.mjs +249 -286
- package/fesm2022/mis-crystal-design-system-nested-multi-select-dropdown.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-phone-input.mjs +20 -42
- package/fesm2022/mis-crystal-design-system-phone-input.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-radio-button.mjs +14 -26
- package/fesm2022/mis-crystal-design-system-radio-button.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-ske-loader.mjs +14 -28
- package/fesm2022/mis-crystal-design-system-ske-loader.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-slider.mjs +25 -42
- package/fesm2022/mis-crystal-design-system-slider.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-snackbar.mjs +22 -15
- package/fesm2022/mis-crystal-design-system-snackbar.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-specificdatepicker.mjs +304 -445
- package/fesm2022/mis-crystal-design-system-specificdatepicker.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-star-rating.mjs +56 -70
- package/fesm2022/mis-crystal-design-system-star-rating.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-switch.mjs +33 -35
- package/fesm2022/mis-crystal-design-system-switch.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-table.mjs +365 -321
- package/fesm2022/mis-crystal-design-system-table.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-timepicker.mjs +245 -159
- package/fesm2022/mis-crystal-design-system-timepicker.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-timerangepicker.mjs +199 -158
- package/fesm2022/mis-crystal-design-system-timerangepicker.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-toast.mjs +18 -13
- package/fesm2022/mis-crystal-design-system-toast.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-tooltip.mjs +14 -14
- package/fesm2022/mis-crystal-design-system-tooltip.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-virtual-scroll.mjs +57 -59
- package/fesm2022/mis-crystal-design-system-virtual-scroll.mjs.map +1 -1
- package/filter/filter-panel/filter-panel.component.d.ts +14 -14
- package/input/directives/input/input.directive.d.ts +6 -10
- package/input/mis-input.component.d.ts +12 -13
- package/input-stepper/input-stepper/input-stepper.component.d.ts +8 -7
- package/loader/loader.component.d.ts +3 -6
- package/mobile-filter/mobile-filter.component.d.ts +15 -15
- package/modal/module-wrapper/module-wrapper.component.d.ts +2 -3
- package/multi-select-dropdown/multi-select-dropdown.component.d.ts +89 -51
- package/nested-multi-select-dropdown/nested-multi-select-dropdown.component.d.ts +99 -56
- package/package.json +17 -17
- package/phone-input/phone-input.component.d.ts +16 -18
- package/radio-button/radio-button.component.d.ts +9 -11
- package/ske-loader/ske-loader.component.d.ts +8 -11
- package/slider/slider.component.d.ts +8 -11
- package/slider/slider.module.d.ts +1 -2
- package/snackbar/snackbar/snackbar.component.d.ts +3 -3
- package/specificdatepicker/tz-sdp-container/tz-sdp-container.component.d.ts +35 -35
- package/specificdatepicker/tz-specificdatepicker.directive.d.ts +24 -28
- package/star-rating/star-rating.component.d.ts +18 -18
- package/switch/switch.component.d.ts +8 -10
- package/table/actions-cell/actions-cell.component.d.ts +14 -14
- package/table/custom-table-cell.directive.d.ts +3 -3
- package/table/filter/filter.component.d.ts +9 -9
- package/table/sub-table/sub-table.component.d.ts +5 -5
- package/table/table.component.d.ts +38 -35
- package/timepicker/timepicker.component.d.ts +29 -28
- package/timerangepicker/timerangepicker.component.d.ts +36 -33
- package/toast/toast.data.service.d.ts +1 -1
- package/tooltip/tooltip-container/tooltip.component.d.ts +4 -4
- package/virtual-scroll/virtual-scroll.component.d.ts +8 -9
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { animate, style, transition, trigger } from "@angular/animations";
|
|
2
|
-
import { Component } from "@angular/core";
|
|
2
|
+
import { Component, ChangeDetectionStrategy } from "@angular/core";
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
import * as i1 from "./toast.data.service";
|
|
5
5
|
import * as i2 from "@angular/platform-browser";
|
|
@@ -32,7 +32,6 @@ export class ToastComponent {
|
|
|
32
32
|
constructor(data, sanitizer) {
|
|
33
33
|
this.data = data;
|
|
34
34
|
this.sanitizer = sanitizer;
|
|
35
|
-
console.log("Data:", data);
|
|
36
35
|
}
|
|
37
36
|
getMessage(toast) {
|
|
38
37
|
return typeof toast === "string" ? toast : toast.text;
|
|
@@ -77,7 +76,7 @@ export class ToastComponent {
|
|
|
77
76
|
i0.ɵɵelementEnd();
|
|
78
77
|
} if (rf & 2) {
|
|
79
78
|
i0.ɵɵadvance();
|
|
80
|
-
i0.ɵɵproperty("ngForOf", ctx.data.messages);
|
|
79
|
+
i0.ɵɵproperty("ngForOf", ctx.data.messages());
|
|
81
80
|
} }, dependencies: [i3.NgClass, i3.NgForOf, i3.NgIf], styles: [".toast-container[_ngcontent-%COMP%]{transition:max-height .3s ease-in}.toast-container[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{position:relative;display:flex;justify-content:center}.toast-wrapper[_ngcontent-%COMP%]{display:flex;flex-direction:row;align-items:center;gap:16px;padding:14px 12px;background:#181f33;box-shadow:0 12px 17px #00000024,0 5px 22px #0000001f,0 7px 8px #0003;border-radius:4px;transition:all .3s ease-in;min-height:44px;transform-origin:top}.toast-wrapper[_ngcontent-%COMP%] .msg[_ngcontent-%COMP%]{color:#fff;max-width:314px;flex:1 1 314px;font-size:14px;line-height:20px;letter-spacing:.2px}@media screen and (max-width: 360px){.toast-wrapper[_ngcontent-%COMP%] .msg[_ngcontent-%COMP%]{max-width:90vw;flex:1 1 90vw}}.toast-wrapper[_ngcontent-%COMP%] .icon[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center}"], data: { animation: [
|
|
82
81
|
trigger("fadeInOut", [
|
|
83
82
|
transition(":enter", [
|
|
@@ -88,11 +87,11 @@ export class ToastComponent {
|
|
|
88
87
|
animate("300ms ease-in", style({ opacity: "0", transform: "translateY(50%)" }))
|
|
89
88
|
])
|
|
90
89
|
])
|
|
91
|
-
] } }); }
|
|
90
|
+
] }, changeDetection: 0 }); }
|
|
92
91
|
}
|
|
93
92
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ToastComponent, [{
|
|
94
93
|
type: Component,
|
|
95
|
-
args: [{ selector: "mis-teams-toast", animations: [
|
|
94
|
+
args: [{ selector: "mis-teams-toast", changeDetection: ChangeDetectionStrategy.OnPush, animations: [
|
|
96
95
|
trigger("fadeInOut", [
|
|
97
96
|
transition(":enter", [
|
|
98
97
|
style({ opacity: "0", transform: "translateY(-50%)", height: "0" }),
|
|
@@ -102,7 +101,7 @@ export class ToastComponent {
|
|
|
102
101
|
animate("300ms ease-in", style({ opacity: "0", transform: "translateY(50%)" }))
|
|
103
102
|
])
|
|
104
103
|
])
|
|
105
|
-
], template: "<div class=\"toast-container\">\n <div *ngFor=\"let toast of data.messages\" @fadeInOut>\n <div class=\"toast-wrapper\" [ngClass]=\"toast?.state\">\n <div class=\"icon\" *ngIf=\"toast?.state\" [innerHTML]=\"getStateIcon(toast?.state)\"></div>\n <div class=\"msg\">{{ getMessage(toast) }}</div>\n </div>\n </div>\n</div>\n", styles: [".toast-container{transition:max-height .3s ease-in}.toast-container>div{position:relative;display:flex;justify-content:center}.toast-wrapper{display:flex;flex-direction:row;align-items:center;gap:16px;padding:14px 12px;background:#181f33;box-shadow:0 12px 17px #00000024,0 5px 22px #0000001f,0 7px 8px #0003;border-radius:4px;transition:all .3s ease-in;min-height:44px;transform-origin:top}.toast-wrapper .msg{color:#fff;max-width:314px;flex:1 1 314px;font-size:14px;line-height:20px;letter-spacing:.2px}@media screen and (max-width: 360px){.toast-wrapper .msg{max-width:90vw;flex:1 1 90vw}}.toast-wrapper .icon{display:flex;justify-content:center;align-items:center}\n"] }]
|
|
104
|
+
], template: "<div class=\"toast-container\">\n <div *ngFor=\"let toast of data.messages()\" @fadeInOut>\n <div class=\"toast-wrapper\" [ngClass]=\"toast?.state\">\n <div class=\"icon\" *ngIf=\"toast?.state\" [innerHTML]=\"getStateIcon(toast?.state)\"></div>\n <div class=\"msg\">{{ getMessage(toast) }}</div>\n </div>\n </div>\n</div>\n", styles: [".toast-container{transition:max-height .3s ease-in}.toast-container>div{position:relative;display:flex;justify-content:center}.toast-wrapper{display:flex;flex-direction:row;align-items:center;gap:16px;padding:14px 12px;background:#181f33;box-shadow:0 12px 17px #00000024,0 5px 22px #0000001f,0 7px 8px #0003;border-radius:4px;transition:all .3s ease-in;min-height:44px;transform-origin:top}.toast-wrapper .msg{color:#fff;max-width:314px;flex:1 1 314px;font-size:14px;line-height:20px;letter-spacing:.2px}@media screen and (max-width: 360px){.toast-wrapper .msg{max-width:90vw;flex:1 1 90vw}}.toast-wrapper .icon{display:flex;justify-content:center;align-items:center}\n"] }]
|
|
106
105
|
}], () => [{ type: i1.ToastDataService }, { type: i2.DomSanitizer }], null); })();
|
|
107
106
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ToastComponent, { className: "ToastComponent" }); })();
|
|
108
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
107
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvdG9hc3QvdG9hc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvdG9hc3QvdG9hc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7OztJQ0U3RCx5QkFBc0Y7Ozs7SUFBL0MsNEdBQXdDOzs7SUFEakYsQUFERiwyQkFBc0QsYUFDQTtJQUNsRCxxRUFBZ0Y7SUFDaEYsOEJBQWlCO0lBQUEsWUFBdUI7SUFFNUMsQUFERSxBQUQwQyxpQkFBTSxFQUMxQyxFQUNGOzs7O0lBTHFDLHNDQUFVO0lBQ3hCLGNBQXdCO0lBQXhCLGtFQUF3QjtJQUM5QixjQUFrQjtJQUFsQiwrREFBa0I7SUFDcEIsZUFBdUI7SUFBdkIsaURBQXVCOztBRHFCOUMsTUFBTSxPQUFPLGNBQWM7SUFDekIsWUFDUyxJQUFzQixFQUNyQixTQUF1QjtRQUR4QixTQUFJLEdBQUosSUFBSSxDQUFrQjtRQUNyQixjQUFTLEdBQVQsU0FBUyxDQUFjO0lBQzlCLENBQUM7SUFFSixVQUFVLENBQUMsS0FBWTtRQUNyQixPQUFPLE9BQU8sS0FBSyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO0lBQ3hELENBQUM7SUFFRCxjQUFjLENBQUMsS0FBWTtRQUN6QixPQUFPLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQztJQUNyRCxDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQWtCO1FBQzdCLElBQUksQ0FBQyxLQUFLO1lBQUUsT0FBTyxFQUFFLENBQUM7UUFFdEIsTUFBTSxLQUFLLEdBQStCO1lBQ3hDLE9BQU8sRUFBRTs7Ozs7T0FLUjtZQUNELE9BQU8sRUFBRTs7Ozs7O09BTVI7WUFDRCxLQUFLLEVBQUU7Ozs7OztPQU1OO1NBQ0YsQ0FBQztRQUVGLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyx1QkFBdUIsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVPLGFBQWEsQ0FBQyxLQUFZO1FBQ2hDLE9BQU8sT0FBTyxLQUFLLEtBQUssUUFBUSxDQUFDO0lBQ25DLENBQUM7K0dBN0NVLGNBQWM7b0VBQWQsY0FBYztZQ3pCM0IsOEJBQTZCO1lBQzNCLCtEQUFzRDtZQU14RCxpQkFBTTs7WUFObUIsY0FBa0I7WUFBbEIsNkNBQWtCO2c4QkRZN0I7Z0JBQ1YsT0FBTyxDQUFDLFdBQVcsRUFBRTtvQkFDbkIsVUFBVSxDQUFDLFFBQVEsRUFBRTt3QkFDbkIsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDO3dCQUNuRSxPQUFPLENBQUMsZUFBZSxFQUFFLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztxQkFDM0YsQ0FBQztvQkFDRixVQUFVLENBQUMsUUFBUSxFQUFFO3dCQUNuQixPQUFPLENBQUMsZUFBZSxFQUFFLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLENBQUMsQ0FBQztxQkFDaEYsQ0FBQztpQkFDSCxDQUFDO2FBQ0g7O2lGQUVVLGNBQWM7Y0FqQjFCLFNBQVM7MkJBQ0UsaUJBQWlCLG1CQUdWLHVCQUF1QixDQUFDLE1BQU0sY0FDbkM7b0JBQ1YsT0FBTyxDQUFDLFdBQVcsRUFBRTt3QkFDbkIsVUFBVSxDQUFDLFFBQVEsRUFBRTs0QkFDbkIsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDOzRCQUNuRSxPQUFPLENBQUMsZUFBZSxFQUFFLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQzt5QkFDM0YsQ0FBQzt3QkFDRixVQUFVLENBQUMsUUFBUSxFQUFFOzRCQUNuQixPQUFPLENBQUMsZUFBZSxFQUFFLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLENBQUMsQ0FBQzt5QkFDaEYsQ0FBQztxQkFDSCxDQUFDO2lCQUNIOztrRkFFVSxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYW5pbWF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tIFwiQGFuZ3VsYXIvYW5pbWF0aW9uc1wiO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIsIFNhZmVIdG1sIH0gZnJvbSBcIkBhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXJcIjtcbmltcG9ydCB7IFRvYXN0RGF0YVNlcnZpY2UgfSBmcm9tIFwiLi90b2FzdC5kYXRhLnNlcnZpY2VcIjtcbmltcG9ydCB7IFRvYXN0U3RhdGUgfSBmcm9tIFwiLi90b2FzdC5pbnRlcmZhY2VcIjtcblxudHlwZSBUb2FzdCA9IHN0cmluZyB8IHsgdGV4dDogc3RyaW5nOyBzdGF0ZT86IFRvYXN0U3RhdGUgfTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcIm1pcy10ZWFtcy10b2FzdFwiLFxuICB0ZW1wbGF0ZVVybDogXCIuL3RvYXN0LmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlVXJsczogW1wiLi90b2FzdC5jb21wb25lbnQuc2Nzc1wiXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGFuaW1hdGlvbnM6IFtcbiAgICB0cmlnZ2VyKFwiZmFkZUluT3V0XCIsIFtcbiAgICAgIHRyYW5zaXRpb24oXCI6ZW50ZXJcIiwgW1xuICAgICAgICBzdHlsZSh7IG9wYWNpdHk6IFwiMFwiLCB0cmFuc2Zvcm06IFwidHJhbnNsYXRlWSgtNTAlKVwiLCBoZWlnaHQ6IFwiMFwiIH0pLFxuICAgICAgICBhbmltYXRlKFwiMzAwbXMgZWFzZS1pblwiLCBzdHlsZSh7IG9wYWNpdHk6IFwiMVwiLCB0cmFuc2Zvcm06IFwidHJhbnNsYXRlWSgwKVwiLCBoZWlnaHQ6IFwiKlwiIH0pKVxuICAgICAgXSksXG4gICAgICB0cmFuc2l0aW9uKFwiOmxlYXZlXCIsIFtcbiAgICAgICAgYW5pbWF0ZShcIjMwMG1zIGVhc2UtaW5cIiwgc3R5bGUoeyBvcGFjaXR5OiBcIjBcIiwgdHJhbnNmb3JtOiBcInRyYW5zbGF0ZVkoNTAlKVwiIH0pKVxuICAgICAgXSlcbiAgICBdKVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFRvYXN0Q29tcG9uZW50IHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGRhdGE6IFRvYXN0RGF0YVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzYW5pdGl6ZXI6IERvbVNhbml0aXplclxuICApIHt9XG5cbiAgZ2V0TWVzc2FnZSh0b2FzdDogVG9hc3QpOiBzdHJpbmcge1xuICAgIHJldHVybiB0eXBlb2YgdG9hc3QgPT09IFwic3RyaW5nXCIgPyB0b2FzdCA6IHRvYXN0LnRleHQ7XG4gIH1cblxuICBzaG91bGRTaG93SWNvbih0b2FzdDogVG9hc3QpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXRoaXMuaXNTdHJpbmdUb2FzdCh0b2FzdCkgJiYgISF0b2FzdC5zdGF0ZTtcbiAgfVxuXG4gIGdldFN0YXRlSWNvbihzdGF0ZT86IFRvYXN0U3RhdGUpOiBTYWZlSHRtbCB7XG4gICAgaWYgKCFzdGF0ZSkgcmV0dXJuIFwiXCI7XG5cbiAgICBjb25zdCBpY29uczogUmVjb3JkPFRvYXN0U3RhdGUsIHN0cmluZz4gPSB7XG4gICAgICBzdWNjZXNzOiBgXG4gICAgICAgIDxzdmcgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuICAgICAgICAgIDxjaXJjbGUgY3g9XCIxMFwiIGN5PVwiMTBcIiByPVwiMTBcIiBmaWxsPVwiIzRDQUY1MFwiLz5cbiAgICAgICAgICA8cGF0aCBkPVwiTTguNiAxMy40TDUuMiAxMEw0IDExLjJMOC42IDE1LjhMMTYuNiA3LjhMMTUuNCA2LjZMOC42IDEzLjRaXCIgZmlsbD1cIndoaXRlXCIvPlxuICAgICAgICA8L3N2Zz5cbiAgICAgIGAsXG4gICAgICB3YXJuaW5nOiBgXG4gICAgICAgIDxzdmcgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuICAgICAgICAgIDxwYXRoIGQ9XCJNMTAgMEwyMCAxNy4zMjA1SDBMMTAgMFpcIiBmaWxsPVwiI0ZGOTgwMFwiLz5cbiAgICAgICAgICA8cGF0aCBkPVwiTTkgNkgxMVYxMkg5VjZaXCIgZmlsbD1cIndoaXRlXCIvPlxuICAgICAgICAgIDxwYXRoIGQ9XCJNOSAxM0gxMVYxNUg5VjEzWlwiIGZpbGw9XCJ3aGl0ZVwiLz5cbiAgICAgICAgPC9zdmc+XG4gICAgICBgLFxuICAgICAgZXJyb3I6IGBcbiAgICAgICAgPHN2ZyB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIwIDIwXCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gICAgICAgICAgPGNpcmNsZSBjeD1cIjEwXCIgY3k9XCIxMFwiIHI9XCIxMFwiIGZpbGw9XCIjRDMyRjJGXCIvPlxuICAgICAgICAgIDxwYXRoIGQ9XCJNOSA1SDExVjExSDlWNVpcIiBmaWxsPVwid2hpdGVcIi8+XG4gICAgICAgICAgPHBhdGggZD1cIk05IDEzSDExVjE1SDlWMTNaXCIgZmlsbD1cIndoaXRlXCIvPlxuICAgICAgICA8L3N2Zz5cbiAgICAgIGBcbiAgICB9O1xuXG4gICAgcmV0dXJuIHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKGljb25zW3N0YXRlXSB8fCBcIlwiKTtcbiAgfVxuXG4gIHByaXZhdGUgaXNTdHJpbmdUb2FzdCh0b2FzdDogVG9hc3QpOiB0b2FzdCBpcyBzdHJpbmcge1xuICAgIHJldHVybiB0eXBlb2YgdG9hc3QgPT09IFwic3RyaW5nXCI7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJ0b2FzdC1jb250YWluZXJcIj5cbiAgPGRpdiAqbmdGb3I9XCJsZXQgdG9hc3Qgb2YgZGF0YS5tZXNzYWdlcygpXCIgQGZhZGVJbk91dD5cbiAgICA8ZGl2IGNsYXNzPVwidG9hc3Qtd3JhcHBlclwiIFtuZ0NsYXNzXT1cInRvYXN0Py5zdGF0ZVwiPlxuICAgICAgPGRpdiBjbGFzcz1cImljb25cIiAqbmdJZj1cInRvYXN0Py5zdGF0ZVwiIFtpbm5lckhUTUxdPVwiZ2V0U3RhdGVJY29uKHRvYXN0Py5zdGF0ZSlcIj48L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtc2dcIj57eyBnZXRNZXNzYWdlKHRvYXN0KSB9fTwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
@@ -1,22 +1,28 @@
|
|
|
1
|
-
import { Injectable } from "@angular/core";
|
|
1
|
+
import { Injectable, signal, computed } from "@angular/core";
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
export class ToastDataService {
|
|
4
|
-
get messages() {
|
|
5
|
-
return Array.from(this.messageMap.values()).reverse();
|
|
6
|
-
}
|
|
7
4
|
constructor() {
|
|
8
|
-
this.messageMap = new Map();
|
|
5
|
+
this.messageMap = signal(new Map());
|
|
6
|
+
this.messages = computed(() => {
|
|
7
|
+
return Array.from(this.messageMap().values()).reverse();
|
|
8
|
+
});
|
|
9
9
|
}
|
|
10
10
|
updateMessage(msg) {
|
|
11
11
|
const id = new Date().getTime();
|
|
12
|
-
this.messageMap
|
|
12
|
+
const currentMap = this.messageMap();
|
|
13
|
+
const newMap = new Map(currentMap);
|
|
14
|
+
newMap.set(id, msg);
|
|
15
|
+
this.messageMap.set(newMap);
|
|
13
16
|
return id;
|
|
14
17
|
}
|
|
15
18
|
removeMessage(id) {
|
|
16
|
-
this.messageMap
|
|
19
|
+
const currentMap = this.messageMap();
|
|
20
|
+
const newMap = new Map(currentMap);
|
|
21
|
+
newMap.delete(id);
|
|
22
|
+
this.messageMap.set(newMap);
|
|
17
23
|
}
|
|
18
24
|
hasMessage() {
|
|
19
|
-
return this.messageMap.size > 0;
|
|
25
|
+
return this.messageMap().size > 0;
|
|
20
26
|
}
|
|
21
27
|
static { this.ɵfac = function ToastDataService_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ToastDataService)(); }; }
|
|
22
28
|
static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: ToastDataService, factory: ToastDataService.ɵfac, providedIn: "root" }); }
|
|
@@ -27,4 +33,4 @@ export class ToastDataService {
|
|
|
27
33
|
providedIn: "root"
|
|
28
34
|
}]
|
|
29
35
|
}], () => [], null); })();
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QuZGF0YS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvdG9hc3QvdG9hc3QuZGF0YS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFrQixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTTdFLE1BQU0sT0FBTyxnQkFBZ0I7SUFPM0I7UUFOUSxlQUFVLEdBQXVELE1BQU0sQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFFM0YsYUFBUSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDdkIsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzFELENBQUMsQ0FBQyxDQUFDO0lBRVksQ0FBQztJQUVoQixhQUFhLENBQUMsR0FBMEI7UUFDdEMsTUFBTSxFQUFFLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNoQyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDckMsTUFBTSxNQUFNLEdBQUcsSUFBSSxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDbkMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDcEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDNUIsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsYUFBYSxDQUFDLEVBQVU7UUFDdEIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3JDLE1BQU0sTUFBTSxHQUFHLElBQUksR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ25DLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDbEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7aUhBM0JVLGdCQUFnQjt1RUFBaEIsZ0JBQWdCLFdBQWhCLGdCQUFnQixtQkFGZixNQUFNOztpRkFFUCxnQkFBZ0I7Y0FINUIsVUFBVTtlQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgc2lnbmFsLCBXcml0YWJsZVNpZ25hbCwgY29tcHV0ZWQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgVG9hc3RNZXNzYWdlIH0gZnJvbSBcIi4vdG9hc3QuaW50ZXJmYWNlXCI7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogXCJyb290XCJcbn0pXG5leHBvcnQgY2xhc3MgVG9hc3REYXRhU2VydmljZSB7XG4gIHByaXZhdGUgbWVzc2FnZU1hcDogV3JpdGFibGVTaWduYWw8TWFwPG51bWJlciwgVG9hc3RNZXNzYWdlIHwgc3RyaW5nPj4gPSBzaWduYWwobmV3IE1hcCgpKTtcbiAgXG4gIG1lc3NhZ2VzID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMubWVzc2FnZU1hcCgpLnZhbHVlcygpKS5yZXZlcnNlKCk7XG4gIH0pO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICB1cGRhdGVNZXNzYWdlKG1zZzogVG9hc3RNZXNzYWdlIHwgc3RyaW5nKTogbnVtYmVyIHtcbiAgICBjb25zdCBpZCA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xuICAgIGNvbnN0IGN1cnJlbnRNYXAgPSB0aGlzLm1lc3NhZ2VNYXAoKTtcbiAgICBjb25zdCBuZXdNYXAgPSBuZXcgTWFwKGN1cnJlbnRNYXApO1xuICAgIG5ld01hcC5zZXQoaWQsIG1zZyk7XG4gICAgdGhpcy5tZXNzYWdlTWFwLnNldChuZXdNYXApO1xuICAgIHJldHVybiBpZDtcbiAgfVxuXG4gIHJlbW92ZU1lc3NhZ2UoaWQ6IG51bWJlcik6IHZvaWQge1xuICAgIGNvbnN0IGN1cnJlbnRNYXAgPSB0aGlzLm1lc3NhZ2VNYXAoKTtcbiAgICBjb25zdCBuZXdNYXAgPSBuZXcgTWFwKGN1cnJlbnRNYXApO1xuICAgIG5ld01hcC5kZWxldGUoaWQpO1xuICAgIHRoaXMubWVzc2FnZU1hcC5zZXQobmV3TWFwKTtcbiAgfVxuXG4gIGhhc01lc3NhZ2UoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMubWVzc2FnZU1hcCgpLnNpemUgPiAwO1xuICB9XG59XG4iXX0=
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Component, ViewChild } from "@angular/core";
|
|
1
|
+
import { Component, ViewChild, ChangeDetectionStrategy, signal } from "@angular/core";
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
import * as i1 from "@angular/common";
|
|
4
4
|
const _c0 = ["container"];
|
|
@@ -21,7 +21,7 @@ function ToolTipComponent_div_0_ng_template_4_Template(rf, ctx) { if (rf & 1) {
|
|
|
21
21
|
i0.ɵɵelement(0, "div", 8);
|
|
22
22
|
} if (rf & 2) {
|
|
23
23
|
const ctx_r0 = i0.ɵɵnextContext(2);
|
|
24
|
-
i0.ɵɵproperty("innerHTML", ctx_r0.toolTipText, i0.ɵɵsanitizeHtml)("ngStyle", i0.ɵɵpureFunction1(2, _c3, ctx_r0.toolTipTextAlignment ? ctx_r0.toolTipTextAlignment : ""));
|
|
24
|
+
i0.ɵɵproperty("innerHTML", ctx_r0.toolTipText(), i0.ɵɵsanitizeHtml)("ngStyle", i0.ɵɵpureFunction1(2, _c3, ctx_r0.toolTipTextAlignment() ? ctx_r0.toolTipTextAlignment() : ""));
|
|
25
25
|
} }
|
|
26
26
|
function ToolTipComponent_div_0_Template(rf, ctx) { if (rf & 1) {
|
|
27
27
|
i0.ɵɵelementStart(0, "div", 3, 0)(2, "div", 4);
|
|
@@ -34,24 +34,24 @@ function ToolTipComponent_div_0_Template(rf, ctx) { if (rf & 1) {
|
|
|
34
34
|
i0.ɵɵadvance(3);
|
|
35
35
|
i0.ɵɵproperty("ngIf", ctx_r0.templateRef)("ngIfElse", tooltipText_r2);
|
|
36
36
|
i0.ɵɵadvance(3);
|
|
37
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction4(3, _c1, ctx_r0.toolTipPosition === "left", ctx_r0.toolTipPosition === "right", ctx_r0.toolTipPosition === "top", ctx_r0.toolTipPosition === "bottom"));
|
|
37
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction4(3, _c1, ctx_r0.toolTipPosition() === "left", ctx_r0.toolTipPosition() === "right", ctx_r0.toolTipPosition() === "top", ctx_r0.toolTipPosition() === "bottom"));
|
|
38
38
|
} }
|
|
39
39
|
export class ToolTipComponent {
|
|
40
40
|
constructor() {
|
|
41
|
-
this.toolTipText = "";
|
|
42
|
-
this.toolTipPosition = "bottom";
|
|
43
|
-
this.toolTipTextAlignment = "";
|
|
41
|
+
this.toolTipText = signal("");
|
|
42
|
+
this.toolTipPosition = signal("bottom");
|
|
43
|
+
this.toolTipTextAlignment = signal("");
|
|
44
44
|
}
|
|
45
45
|
ngOnInit() { }
|
|
46
46
|
ngAfterViewInit() {
|
|
47
47
|
if (!this.container?.nativeElement)
|
|
48
48
|
return;
|
|
49
|
-
if (this.toolTipPosition === "top" || this.toolTipPosition === "bottom") {
|
|
49
|
+
if (this.toolTipPosition() === "top" || this.toolTipPosition() === "bottom") {
|
|
50
50
|
const eleWidth = this.container.nativeElement.getBoundingClientRect();
|
|
51
51
|
this.container.nativeElement.style.left = eleWidth.width / -2 + "px";
|
|
52
52
|
return;
|
|
53
53
|
}
|
|
54
|
-
if (this.toolTipPosition === "left") {
|
|
54
|
+
if (this.toolTipPosition() === "left") {
|
|
55
55
|
const eleWidth = this.container.nativeElement.getBoundingClientRect();
|
|
56
56
|
this.container.nativeElement.style.left = -eleWidth.width + "px";
|
|
57
57
|
}
|
|
@@ -65,15 +65,15 @@ export class ToolTipComponent {
|
|
|
65
65
|
} }, decls: 1, vars: 1, consts: [["container", ""], ["tooltipText", ""], ["id", "tooltip-container", 4, "ngIf"], ["id", "tooltip-container"], ["id", "tooltip"], [4, "ngIf", "ngIfElse"], ["id", "arrow", 3, "ngClass"], [4, "ngTemplateOutlet", "ngTemplateOutletContext"], ["id", "tooltip-text", 3, "innerHTML", "ngStyle"]], template: function ToolTipComponent_Template(rf, ctx) { if (rf & 1) {
|
|
66
66
|
i0.ɵɵtemplate(0, ToolTipComponent_div_0_Template, 7, 8, "div", 2);
|
|
67
67
|
} if (rf & 2) {
|
|
68
|
-
i0.ɵɵproperty("ngIf", ctx.toolTipText.length > 0 || ctx.templateRef);
|
|
69
|
-
} }, dependencies: [i1.NgClass, i1.NgIf, i1.NgTemplateOutlet, i1.NgStyle], styles: ["#tooltip-container[_ngcontent-%COMP%]{position:absolute;z-index:1}#tooltip[_ngcontent-%COMP%]{position:relative;display:block;padding:8px 12px;border-radius:8px;color:#fff;background:#181f33;font-family:Lato,sans-serif;font-style:normal;font-weight:400;font-size:14px;line-height:20px;text-align:center;letter-spacing:.2px}#tooltip-text[_ngcontent-%COMP%]{width:100%;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}#arrow[_ngcontent-%COMP%]{position:absolute;height:12px;width:12px;background:#181f33;z-index:1}.arrow-top[_ngcontent-%COMP%]{left:50%;bottom:-6px;transform:translate(-50%) rotate(-45deg);-webkit-transform:translateX(-50%) rotate(-45deg)}.arrow-bottom[_ngcontent-%COMP%]{left:50%;top:-6px;transform:translate(-50%) rotate(-45deg);-webkit-transform:translateX(-50%) rotate(-45deg)}.arrow-left[_ngcontent-%COMP%]{top:50%;right:-6px;transform:translateY(-50%) rotate(-45deg);-webkit-transform:translateY(-50%) rotate(-45deg)}.arrow-right[_ngcontent-%COMP%]{top:50%;left:-6px;transform:translateY(-50%) rotate(-45deg);-webkit-transform:translateY(-50%) rotate(-45deg)}"] }); }
|
|
68
|
+
i0.ɵɵproperty("ngIf", ctx.toolTipText().length > 0 || ctx.templateRef);
|
|
69
|
+
} }, dependencies: [i1.NgClass, i1.NgIf, i1.NgTemplateOutlet, i1.NgStyle], styles: ["#tooltip-container[_ngcontent-%COMP%]{position:absolute;z-index:1}#tooltip[_ngcontent-%COMP%]{position:relative;display:block;padding:8px 12px;border-radius:8px;color:#fff;background:#181f33;font-family:Lato,sans-serif;font-style:normal;font-weight:400;font-size:14px;line-height:20px;text-align:center;letter-spacing:.2px}#tooltip-text[_ngcontent-%COMP%]{width:100%;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}#arrow[_ngcontent-%COMP%]{position:absolute;height:12px;width:12px;background:#181f33;z-index:1}.arrow-top[_ngcontent-%COMP%]{left:50%;bottom:-6px;transform:translate(-50%) rotate(-45deg);-webkit-transform:translateX(-50%) rotate(-45deg)}.arrow-bottom[_ngcontent-%COMP%]{left:50%;top:-6px;transform:translate(-50%) rotate(-45deg);-webkit-transform:translateX(-50%) rotate(-45deg)}.arrow-left[_ngcontent-%COMP%]{top:50%;right:-6px;transform:translateY(-50%) rotate(-45deg);-webkit-transform:translateY(-50%) rotate(-45deg)}.arrow-right[_ngcontent-%COMP%]{top:50%;left:-6px;transform:translateY(-50%) rotate(-45deg);-webkit-transform:translateY(-50%) rotate(-45deg)}"], changeDetection: 0 }); }
|
|
70
70
|
}
|
|
71
71
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ToolTipComponent, [{
|
|
72
72
|
type: Component,
|
|
73
|
-
args: [{ selector: "mis-tooltip", template: "<div id=\"tooltip-container\" *ngIf=\"toolTipText.length > 0 || templateRef\" #container>\n <div id=\"tooltip\">\n <div *ngIf=\"templateRef; else tooltipText\">\n <ng-container *ngTemplateOutlet=\"templateRef; context: {$implicit: templateContext}\"></ng-container>\n </div>\n\n <ng-template #tooltipText>\n <div id=\"tooltip-text\" [innerHTML]=\"toolTipText\" \n [ngStyle]=\"{'text-align' : toolTipTextAlignment ? toolTipTextAlignment : '' }\"></div>\n </ng-template>\n\n <span\n id=\"arrow\"\n [ngClass]=\"{\n 'arrow-left': toolTipPosition === 'left',\n 'arrow-right': toolTipPosition === 'right',\n 'arrow-top': toolTipPosition === 'top',\n 'arrow-bottom': toolTipPosition === 'bottom'\n }\"\n ></span>\n </div>\n</div>\n", styles: ["#tooltip-container{position:absolute;z-index:1}#tooltip{position:relative;display:block;padding:8px 12px;border-radius:8px;color:#fff;background:#181f33;font-family:Lato,sans-serif;font-style:normal;font-weight:400;font-size:14px;line-height:20px;text-align:center;letter-spacing:.2px}#tooltip-text{width:100%;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}#arrow{position:absolute;height:12px;width:12px;background:#181f33;z-index:1}.arrow-top{left:50%;bottom:-6px;transform:translate(-50%) rotate(-45deg);-webkit-transform:translateX(-50%) rotate(-45deg)}.arrow-bottom{left:50%;top:-6px;transform:translate(-50%) rotate(-45deg);-webkit-transform:translateX(-50%) rotate(-45deg)}.arrow-left{top:50%;right:-6px;transform:translateY(-50%) rotate(-45deg);-webkit-transform:translateY(-50%) rotate(-45deg)}.arrow-right{top:50%;left:-6px;transform:translateY(-50%) rotate(-45deg);-webkit-transform:translateY(-50%) rotate(-45deg)}\n"] }]
|
|
73
|
+
args: [{ selector: "mis-tooltip", changeDetection: ChangeDetectionStrategy.OnPush, template: "<div id=\"tooltip-container\" *ngIf=\"toolTipText().length > 0 || templateRef\" #container>\n <div id=\"tooltip\">\n <div *ngIf=\"templateRef; else tooltipText\">\n <ng-container *ngTemplateOutlet=\"templateRef; context: {$implicit: templateContext}\"></ng-container>\n </div>\n\n <ng-template #tooltipText>\n <div id=\"tooltip-text\" [innerHTML]=\"toolTipText()\" \n [ngStyle]=\"{'text-align' : toolTipTextAlignment() ? toolTipTextAlignment() : '' }\"></div>\n </ng-template>\n\n <span\n id=\"arrow\"\n [ngClass]=\"{\n 'arrow-left': toolTipPosition() === 'left',\n 'arrow-right': toolTipPosition() === 'right',\n 'arrow-top': toolTipPosition() === 'top',\n 'arrow-bottom': toolTipPosition() === 'bottom'\n }\"\n ></span>\n </div>\n</div>\n", styles: ["#tooltip-container{position:absolute;z-index:1}#tooltip{position:relative;display:block;padding:8px 12px;border-radius:8px;color:#fff;background:#181f33;font-family:Lato,sans-serif;font-style:normal;font-weight:400;font-size:14px;line-height:20px;text-align:center;letter-spacing:.2px}#tooltip-text{width:100%;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}#arrow{position:absolute;height:12px;width:12px;background:#181f33;z-index:1}.arrow-top{left:50%;bottom:-6px;transform:translate(-50%) rotate(-45deg);-webkit-transform:translateX(-50%) rotate(-45deg)}.arrow-bottom{left:50%;top:-6px;transform:translate(-50%) rotate(-45deg);-webkit-transform:translateX(-50%) rotate(-45deg)}.arrow-left{top:50%;right:-6px;transform:translateY(-50%) rotate(-45deg);-webkit-transform:translateY(-50%) rotate(-45deg)}.arrow-right{top:50%;left:-6px;transform:translateY(-50%) rotate(-45deg);-webkit-transform:translateY(-50%) rotate(-45deg)}\n"] }]
|
|
74
74
|
}], () => [], { container: [{
|
|
75
75
|
type: ViewChild,
|
|
76
76
|
args: ["container"]
|
|
77
77
|
}] }); })();
|
|
78
78
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ToolTipComponent, { className: "ToolTipComponent" }); })();
|
|
79
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9taXMtY29tcG9uZW50cy90b29sdGlwL3Rvb2x0aXAtY29udGFpbmVyL3Rvb2x0aXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvdG9vbHRpcC90b29sdGlwLWNvbnRhaW5lci90b29sdGlwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUEyQyxTQUFTLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxFQUFrQixNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7SUNHeEosd0JBQW9HOzs7SUFEdEcsMkJBQTJDO0lBQ3pDLCtGQUFxRjtJQUN2RixpQkFBTTs7O0lBRFcsY0FBK0I7SUFBQSxBQUEvQixxREFBK0IsK0VBQXFDOzs7SUFJbkYseUJBQzhGOzs7SUFBekYsQUFEa0IsbUVBQTJCLDJHQUNxQzs7O0lBUDNGLEFBREYsaUNBQXVGLGFBQ25FO0lBS2hCLEFBSkEsdUVBQTJDLDJHQUlqQjtJQUsxQiwwQkFRUTtJQUVaLEFBREUsaUJBQU0sRUFDRjs7OztJQW5CSSxlQUFtQjtJQUFBLEFBQW5CLHlDQUFtQiw0QkFBZ0I7SUFXdkMsZUFLRTtJQUxGLDBNQUtFOztBRFRSLE1BQU0sT0FBTyxnQkFBZ0I7SUFTM0I7UUFSTyxnQkFBVyxHQUEyQixNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDakQsb0JBQWUsR0FBc0MsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3RFLHlCQUFvQixHQUEyQixNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7SUFNbEQsQ0FBQztJQUNoQixRQUFRLEtBQUksQ0FBQztJQUNiLGVBQWU7UUFDYixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxhQUFhO1lBQUUsT0FBTztRQUMzQyxJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUUsS0FBSyxLQUFLLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRSxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQzVFLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLHFCQUFxQixFQUFFLENBQUM7WUFDdEUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxRQUFRLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQztZQUNyRSxPQUFPO1FBQ1QsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRSxLQUFLLE1BQU0sRUFBRSxDQUFDO1lBQ3RDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLHFCQUFxQixFQUFFLENBQUM7WUFDdEUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxDQUFDLFFBQVEsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ25FLENBQUM7SUFDSCxDQUFDO2lIQXRCVSxnQkFBZ0I7b0VBQWhCLGdCQUFnQjs7Ozs7O1lDVDdCLGlFQUF1Rjs7WUFBMUQsc0VBQTZDOzs7aUZEUzdELGdCQUFnQjtjQU41QixTQUFTOzJCQUNFLGFBQWEsbUJBR04sdUJBQXVCLENBQUMsTUFBTTtvQkFTdkIsU0FBUztrQkFBaEMsU0FBUzttQkFBQyxXQUFXOztrRkFQWCxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEluamVjdCwgT25Jbml0LCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgc2lnbmFsLCBXcml0YWJsZVNpZ25hbCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBJVG9vbHRpcFBvc2l0aW9ucyB9IGZyb20gXCIuLi9tb2RlbHMvdG9vbHRpcC5tb2RlbFwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwibWlzLXRvb2x0aXBcIixcbiAgdGVtcGxhdGVVcmw6IFwiLi90b29sdGlwLmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlVXJsczogW1wiLi90b29sdGlwLmNvbXBvbmVudC5zY3NzXCJdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBUb29sVGlwQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcbiAgcHVibGljIHRvb2xUaXBUZXh0OiBXcml0YWJsZVNpZ25hbDxzdHJpbmc+ID0gc2lnbmFsKFwiXCIpO1xuICBwdWJsaWMgdG9vbFRpcFBvc2l0aW9uOiBXcml0YWJsZVNpZ25hbDxJVG9vbHRpcFBvc2l0aW9ucz4gPSBzaWduYWwoXCJib3R0b21cIik7XG4gIHB1YmxpYyB0b29sVGlwVGV4dEFsaWdubWVudDogV3JpdGFibGVTaWduYWw8c3RyaW5nPiA9IHNpZ25hbChcIlwiKTtcbiAgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT5cbiAgdGVtcGxhdGVDb250ZXh0OiBhbnk7XG5cbiAgQFZpZXdDaGlsZChcImNvbnRhaW5lclwiKSBjb250YWluZXI6IEVsZW1lbnRSZWY7XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuICBuZ09uSW5pdCgpIHt9XG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBpZiAoIXRoaXMuY29udGFpbmVyPy5uYXRpdmVFbGVtZW50KSByZXR1cm47XG4gICAgaWYgKHRoaXMudG9vbFRpcFBvc2l0aW9uKCkgPT09IFwidG9wXCIgfHwgdGhpcy50b29sVGlwUG9zaXRpb24oKSA9PT0gXCJib3R0b21cIikge1xuICAgICAgY29uc3QgZWxlV2lkdGggPSB0aGlzLmNvbnRhaW5lci5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgdGhpcy5jb250YWluZXIubmF0aXZlRWxlbWVudC5zdHlsZS5sZWZ0ID0gZWxlV2lkdGgud2lkdGggLyAtMiArIFwicHhcIjtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHRoaXMudG9vbFRpcFBvc2l0aW9uKCkgPT09IFwibGVmdFwiKSB7XG4gICAgICBjb25zdCBlbGVXaWR0aCA9IHRoaXMuY29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICB0aGlzLmNvbnRhaW5lci5uYXRpdmVFbGVtZW50LnN0eWxlLmxlZnQgPSAtZWxlV2lkdGgud2lkdGggKyBcInB4XCI7XG4gICAgfVxuICB9XG59XG5cbiIsIjxkaXYgaWQ9XCJ0b29sdGlwLWNvbnRhaW5lclwiICpuZ0lmPVwidG9vbFRpcFRleHQoKS5sZW5ndGggPiAwIHx8IHRlbXBsYXRlUmVmXCIgI2NvbnRhaW5lcj5cbiAgPGRpdiBpZD1cInRvb2x0aXBcIj5cbiAgICA8ZGl2ICpuZ0lmPVwidGVtcGxhdGVSZWY7IGVsc2UgdG9vbHRpcFRleHRcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0ZW1wbGF0ZVJlZjsgY29udGV4dDogeyRpbXBsaWNpdDogdGVtcGxhdGVDb250ZXh0fVwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuXG4gICAgPG5nLXRlbXBsYXRlICN0b29sdGlwVGV4dD5cbiAgICAgIDxkaXYgaWQ9XCJ0b29sdGlwLXRleHRcIiBbaW5uZXJIVE1MXT1cInRvb2xUaXBUZXh0KClcIiBcbiAgICAgICAgICAgW25nU3R5bGVdPVwieyd0ZXh0LWFsaWduJyA6IHRvb2xUaXBUZXh0QWxpZ25tZW50KCkgPyB0b29sVGlwVGV4dEFsaWdubWVudCgpIDogJycgfVwiPjwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICA8c3BhblxuICAgICAgaWQ9XCJhcnJvd1wiXG4gICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICdhcnJvdy1sZWZ0JzogdG9vbFRpcFBvc2l0aW9uKCkgPT09ICdsZWZ0JyxcbiAgICAgICAgJ2Fycm93LXJpZ2h0JzogdG9vbFRpcFBvc2l0aW9uKCkgPT09ICdyaWdodCcsXG4gICAgICAgICdhcnJvdy10b3AnOiB0b29sVGlwUG9zaXRpb24oKSA9PT0gJ3RvcCcsXG4gICAgICAgICdhcnJvdy1ib3R0b20nOiB0b29sVGlwUG9zaXRpb24oKSA9PT0gJ2JvdHRvbSdcbiAgICAgIH1cIlxuICAgID48L3NwYW4+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -75,9 +75,9 @@ export class ToolTipDirective {
|
|
|
75
75
|
const tooltipRef = this.overlayRef.attach(tempRef);
|
|
76
76
|
tooltipRef.instance.templateRef = this.templateRef;
|
|
77
77
|
tooltipRef.instance.templateContext = this.templateContext;
|
|
78
|
-
tooltipRef.instance.toolTipText
|
|
79
|
-
tooltipRef.instance.toolTipPosition
|
|
80
|
-
tooltipRef.instance.toolTipTextAlignment
|
|
78
|
+
tooltipRef.instance.toolTipText.set(this.toolTipText);
|
|
79
|
+
tooltipRef.instance.toolTipPosition.set(this.toolTipPosition);
|
|
80
|
+
tooltipRef.instance.toolTipTextAlignment.set(this.toolTipTextAlignment);
|
|
81
81
|
this.overlayRef
|
|
82
82
|
.backdropClick()
|
|
83
83
|
.pipe(take(1))
|
|
@@ -140,4 +140,4 @@ export class ToolTipDirective {
|
|
|
140
140
|
type: HostListener,
|
|
141
141
|
args: ["mouseleave"]
|
|
142
142
|
}] }); })();
|
|
143
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9taXMtY29tcG9uZW50cy90b29sdGlwL3Rvb2x0aXAuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQXlDLE1BQU0sZUFBZSxDQUFDO0FBQ2pJLE9BQU8sRUFBVyxhQUFhLEVBQWMsTUFBTSxzQkFBc0IsQ0FBQztBQUMxRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7QUFNbkUsTUFBTSxPQUFPLGdCQUFnQjtJQVUzQixJQUFhLFdBQVcsQ0FBQyxLQUFjO1FBQ3JDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxLQUFLLENBQUM7UUFDaEMsSUFBSSxLQUFLO1lBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDOztZQUM1QixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUNELElBQWEsSUFBSSxDQUFDLEtBQWE7UUFDN0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7SUFDM0IsQ0FBQztJQUNELElBQWEsUUFBUSxDQUFDLEtBQXdCO1FBQzVDLElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDO0lBQy9CLENBQUM7SUFDRCxJQUFhLFNBQVMsQ0FBQyxLQUFhO1FBQ2xDLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxLQUFLLENBQUM7SUFDcEMsQ0FBQztJQUNELElBQWEsZUFBZSxDQUFDLEtBQXVCO1FBQ2xELElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO0lBQzNCLENBQUM7SUFDRCxJQUFhLHNCQUFzQixDQUFDLEtBQVU7UUFDNUMsSUFBSSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUM7SUFDL0IsQ0FBQztJQUUyQixZQUFZO1FBQ3RDLElBQUksSUFBSSxDQUFDLFdBQVc7WUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDOUMsQ0FBQztJQUMyQixZQUFZO1FBQ3RDLElBQUksSUFBSSxDQUFDLFdBQVc7WUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDM0MsQ0FBQztJQUVELFlBQW9CLE9BQW1CLEVBQVUsT0FBZ0IsRUFBVSxnQkFBa0M7UUFBekYsWUFBTyxHQUFQLE9BQU8sQ0FBWTtRQUFVLFlBQU8sR0FBUCxPQUFPLENBQVM7UUFBVSxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBckN0Ryx1QkFBa0IsR0FBWSxLQUFLLENBQUM7UUFDcEMsZ0JBQVcsR0FBVyxFQUFFLENBQUM7UUFDekIseUJBQW9CLEdBQVcsRUFBRSxDQUFDO1FBQ2xDLG9CQUFlLEdBQXNCLFFBQVEsQ0FBQztRQUs1QyxnQkFBVyxHQUFZLElBQUksQ0FBQztJQTZCMkUsQ0FBQztJQUVqSCxRQUFRLEtBQUksQ0FBQztJQUNiLGVBQWU7UUFDYixJQUFJLElBQUksQ0FBQyxrQkFBa0I7WUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7O1lBQzlDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsY0FBYztRQUNaLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLE9BQU87YUFDbEMsUUFBUSxFQUFFO2FBQ1YsbUJBQW1CLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQzthQUNqQyxhQUFhLENBQ1osZ0JBQWdCLENBQ2Q7WUFDRSxTQUFTLEVBQUUsUUFBUTtZQUNuQixTQUFTLEVBQUUsSUFBSSxDQUFDLGVBQWUsS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsUUFBUTtZQUM1RCxPQUFPLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUM7WUFDekMsT0FBTyxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDO1NBQzFDLEVBQ0QsS0FBSyxDQUNOLENBQ0Y7YUFDQSxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbEIsTUFBTSxNQUFNLEdBQUcsSUFBSSxhQUFhLENBQUM7WUFDL0IsV0FBVyxFQUFFLEtBQUs7WUFDbEIsZ0JBQWdCO1lBQ2hCLGNBQWMsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLFVBQVUsRUFBRTtTQUMzRCxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzlDLE1BQU0sT0FBTyxHQUFHLElBQUksZUFBZSxDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzdFLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ25ELFVBQVUsQ0FBQyxRQUFRLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7UUFDbkQsVUFBVSxDQUFDLFFBQVEsQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQztRQUMzRCxVQUFVLENBQUMsUUFBUSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQ25ELFVBQVUsQ0FBQyxRQUFRLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUM7UUFDM0QsVUFBVSxDQUFDLFFBQVEsQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUM7UUFDckUsSUFBSSxDQUFDLFVBQVU7YUFDWixhQUFhLEVBQUU7YUFDZixJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ2IsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNyQixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxlQUFlLENBQUMsSUFBNkI7UUFDM0MsSUFBSSxJQUFJLEtBQUssVUFBVSxFQUFFLENBQUM7WUFDeEIsT0FBTyxJQUFJLENBQUMsZUFBZSxLQUFLLE9BQU87Z0JBQ3JDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxXQUFXLEdBQUcsQ0FBQyxHQUFHLENBQUM7Z0JBQ2hELENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxLQUFLLE1BQU07b0JBQ2pDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLFdBQVcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO29CQUN2RCxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsS0FBSyxLQUFLLElBQUksSUFBSSxDQUFDLGVBQWUsS0FBSyxRQUFRO3dCQUNyRSxDQUFDLENBQUMsQ0FBQzt3QkFDSCxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ1IsQ0FBQztRQUNELElBQUksSUFBSSxLQUFLLFVBQVU7WUFBRSxPQUFPO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLGVBQWUsS0FBSyxPQUFPLElBQUksSUFBSSxDQUFDLGVBQWUsS0FBSyxNQUFNO1lBQ3hFLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDTCxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsS0FBSyxLQUFLO2dCQUNoQyxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUNMLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxLQUFLLFFBQVE7b0JBQ25DLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxZQUFZLEdBQUcsQ0FBQyxHQUFHLENBQUM7b0JBQ2pELENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDUixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLFVBQVUsRUFBRSxPQUFPLEVBQUUsQ0FBQztJQUM3QixDQUFDO2lIQTFHVSxnQkFBZ0I7b0VBQWhCLGdCQUFnQjtZQUFoQiwrRkFBQSxrQkFBYyxJQUFFLGtGQUFoQixrQkFBYyxJQUFFOzs7aUZBQWhCLGdCQUFnQjtjQUg1QixTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLGNBQWM7YUFDekI7Z0dBVVUsV0FBVztrQkFBbkIsS0FBSztZQUNPLFdBQVc7a0JBQXZCLEtBQUs7WUFLTyxJQUFJO2tCQUFoQixLQUFLO1lBR08sUUFBUTtrQkFBcEIsS0FBSztZQUdPLFNBQVM7a0JBQXJCLEtBQUs7WUFHTyxlQUFlO2tCQUEzQixLQUFLO1lBR08sc0JBQXNCO2tCQUFsQyxLQUFLO1lBSXNCLFlBQVk7a0JBQXZDLFlBQVk7bUJBQUMsWUFBWTtZQUdFLFlBQVk7a0JBQXZDLFlBQVk7bUJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT25Jbml0LCBUZW1wbGF0ZVJlZiwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBPdmVybGF5LCBPdmVybGF5Q29uZmlnLCBPdmVybGF5UmVmIH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9vdmVybGF5XCI7XG5pbXBvcnQgeyB0YWtlIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XG5pbXBvcnQgeyBDb21wb25lbnRQb3J0YWwgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL3BvcnRhbFwiO1xuaW1wb3J0IHsgVG9vbFRpcENvbXBvbmVudCB9IGZyb20gXCIuL3Rvb2x0aXAtY29udGFpbmVyL3Rvb2x0aXAuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBnZW5Qb3NpdGlvblBhaXJzIH0gZnJvbSBcIm1pcy1jcnlzdGFsLWRlc2lnbi1zeXN0ZW0vdXRpbHNcIjtcbmltcG9ydCB7IElUb29sdGlwUG9zaXRpb25zIH0gZnJvbSBcIi4vbW9kZWxzL3Rvb2x0aXAubW9kZWxcIjtcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiBcIlttaXNUb29sVGlwXVwiXG59KVxuZXhwb3J0IGNsYXNzIFRvb2xUaXBEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuICBwdWJsaWMgaXNUb29sVGlwRGlzcGxheWVkOiBib29sZWFuID0gZmFsc2U7XG4gIHB1YmxpYyB0b29sVGlwVGV4dDogc3RyaW5nID0gXCJcIjtcbiAgcHVibGljIHRvb2xUaXBUZXh0QWxpZ25tZW50OiBzdHJpbmcgPSBcIlwiO1xuICBwdWJsaWMgdG9vbFRpcFBvc2l0aW9uOiBJVG9vbHRpcFBvc2l0aW9ucyA9IFwiYm90dG9tXCI7XG4gIHByaXZhdGUgb3ZlcmxheVJlZjogT3ZlcmxheVJlZjtcbiAgcHJpdmF0ZSB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PjtcbiAgcHJpdmF0ZSB0ZW1wbGF0ZUNvbnRleHQ6IGFueTtcblxuICBASW5wdXQoKSBzaG93T25Ib3ZlcjogYm9vbGVhbiA9IHRydWU7XG4gIEBJbnB1dCgpIHNldCBzaG93VG9vbFRpcCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuaXNUb29sVGlwRGlzcGxheWVkID0gdmFsdWU7XG4gICAgaWYgKHZhbHVlKSB0aGlzLmRpc3BsYXlUb29sVGlwKCk7XG4gICAgZWxzZSB0aGlzLmhpZGVUb29sVGlwKCk7XG4gIH1cbiAgQElucHV0KCkgc2V0IHRleHQodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMudG9vbFRpcFRleHQgPSB2YWx1ZTtcbiAgfVxuICBASW5wdXQoKSBzZXQgcG9zaXRpb24odmFsdWU6IElUb29sdGlwUG9zaXRpb25zKSB7XG4gICAgdGhpcy50b29sVGlwUG9zaXRpb24gPSB2YWx1ZTtcbiAgfVxuICBASW5wdXQoKSBzZXQgYWxpZ25UZXh0KHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLnRvb2xUaXBUZXh0QWxpZ25tZW50ID0gdmFsdWU7XG4gIH1cbiAgQElucHV0KCkgc2V0IHRvb2x0aXBUZW1wbGF0ZSh2YWx1ZTogVGVtcGxhdGVSZWY8YW55Pil7XG4gICAgdGhpcy50ZW1wbGF0ZVJlZiA9IHZhbHVlO1xuICB9XG4gIEBJbnB1dCgpIHNldCB0b29sdGlwVGVtcGxhdGVDb250ZXh0KHZhbHVlOiBhbnkpe1xuICAgIHRoaXMudGVtcGxhdGVDb250ZXh0ID0gdmFsdWU7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKFwibW91c2VlbnRlclwiKSBvbk1vdXNlRW50ZXIoKSB7XG4gICAgaWYgKHRoaXMuc2hvd09uSG92ZXIpIHRoaXMuZGlzcGxheVRvb2xUaXAoKTtcbiAgfVxuICBASG9zdExpc3RlbmVyKFwibW91c2VsZWF2ZVwiKSBvbk1vdXNlTGVhdmUoKSB7XG4gICAgaWYgKHRoaXMuc2hvd09uSG92ZXIpIHRoaXMuaGlkZVRvb2xUaXAoKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWxlbWVudDogRWxlbWVudFJlZiwgcHJpdmF0ZSBvdmVybGF5OiBPdmVybGF5LCBwcml2YXRlIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYpIHt9XG5cbiAgbmdPbkluaXQoKSB7fVxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgaWYgKHRoaXMuaXNUb29sVGlwRGlzcGxheWVkKSB0aGlzLmRpc3BsYXlUb29sVGlwKCk7XG4gICAgZWxzZSB0aGlzLmhpZGVUb29sVGlwKCk7XG4gIH1cblxuICBkaXNwbGF5VG9vbFRpcCgpIHtcbiAgICBjb25zdCBwb3NpdGlvblN0cmF0ZWd5ID0gdGhpcy5vdmVybGF5XG4gICAgICAucG9zaXRpb24oKVxuICAgICAgLmZsZXhpYmxlQ29ubmVjdGVkVG8odGhpcy5lbGVtZW50KVxuICAgICAgLndpdGhQb3NpdGlvbnMoXG4gICAgICAgIGdlblBvc2l0aW9uUGFpcnMoXG4gICAgICAgICAge1xuICAgICAgICAgICAgcG9zaXRpb25YOiBcImNlbnRlclwiLFxuICAgICAgICAgICAgcG9zaXRpb25ZOiB0aGlzLnRvb2xUaXBQb3NpdGlvbiA9PT0gXCJ0b3BcIiA/IFwidG9wXCIgOiBcImNlbnRlclwiLFxuICAgICAgICAgICAgb2Zmc2V0WDogdGhpcy5wb3NpdGlvblRvb2x0aXAoXCJPRkZTRVRfWFwiKSxcbiAgICAgICAgICAgIG9mZnNldFk6IHRoaXMucG9zaXRpb25Ub29sdGlwKFwiT0ZGU0VUX1lcIilcbiAgICAgICAgICB9LFxuICAgICAgICAgIGZhbHNlXG4gICAgICAgIClcbiAgICAgIClcbiAgICAgIC53aXRoUHVzaCh0cnVlKTtcbiAgICBjb25zdCBjb25maWcgPSBuZXcgT3ZlcmxheUNvbmZpZyh7XG4gICAgICBoYXNCYWNrZHJvcDogZmFsc2UsXG4gICAgICBwb3NpdGlvblN0cmF0ZWd5LFxuICAgICAgc2Nyb2xsU3RyYXRlZ3k6IHRoaXMub3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLnJlcG9zaXRpb24oKVxuICAgIH0pO1xuICAgIHRoaXMub3ZlcmxheVJlZiA9IHRoaXMub3ZlcmxheS5jcmVhdGUoY29uZmlnKTtcbiAgICBjb25zdCB0ZW1wUmVmID0gbmV3IENvbXBvbmVudFBvcnRhbChUb29sVGlwQ29tcG9uZW50LCB0aGlzLnZpZXdDb250YWluZXJSZWYpO1xuICAgIGNvbnN0IHRvb2x0aXBSZWYgPSB0aGlzLm92ZXJsYXlSZWYuYXR0YWNoKHRlbXBSZWYpO1xuICAgIHRvb2x0aXBSZWYuaW5zdGFuY2UudGVtcGxhdGVSZWYgPSB0aGlzLnRlbXBsYXRlUmVmO1xuICAgIHRvb2x0aXBSZWYuaW5zdGFuY2UudGVtcGxhdGVDb250ZXh0ID0gdGhpcy50ZW1wbGF0ZUNvbnRleHQ7XG4gICAgdG9vbHRpcFJlZi5pbnN0YW5jZS50b29sVGlwVGV4dCA9IHRoaXMudG9vbFRpcFRleHQ7XG4gICAgdG9vbHRpcFJlZi5pbnN0YW5jZS50b29sVGlwUG9zaXRpb24gPSB0aGlzLnRvb2xUaXBQb3NpdGlvbjtcbiAgICB0b29sdGlwUmVmLmluc3RhbmNlLnRvb2xUaXBUZXh0QWxpZ25tZW50ID0gdGhpcy50b29sVGlwVGV4dEFsaWdubWVudDtcbiAgICB0aGlzLm92ZXJsYXlSZWZcbiAgICAgIC5iYWNrZHJvcENsaWNrKClcbiAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5oaWRlVG9vbFRpcCgpO1xuICAgICAgfSk7XG4gIH1cblxuICBwb3NpdGlvblRvb2x0aXAodHlwZTogXCJPRkZTRVRfWFwiIHwgXCJPRkZTRVRfWVwiKSB7XG4gICAgaWYgKHR5cGUgPT09IFwiT0ZGU0VUX1hcIikge1xuICAgICAgcmV0dXJuIHRoaXMudG9vbFRpcFBvc2l0aW9uID09PSBcInJpZ2h0XCJcbiAgICAgICAgPyB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aCAvIDIgKyA4XG4gICAgICAgIDogdGhpcy50b29sVGlwUG9zaXRpb24gPT09IFwibGVmdFwiXG4gICAgICAgID8gKHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoIC8gMiArIDgpICogLTFcbiAgICAgICAgOiB0aGlzLnRvb2xUaXBQb3NpdGlvbiA9PT0gXCJ0b3BcIiB8fCB0aGlzLnRvb2xUaXBQb3NpdGlvbiA9PT0gXCJib3R0b21cIlxuICAgICAgICA/IDBcbiAgICAgICAgOiA4O1xuICAgIH1cbiAgICBpZiAodHlwZSAhPT0gXCJPRkZTRVRfWVwiKSByZXR1cm47XG4gICAgcmV0dXJuIHRoaXMudG9vbFRpcFBvc2l0aW9uID09PSBcInJpZ2h0XCIgfHwgdGhpcy50b29sVGlwUG9zaXRpb24gPT09IFwibGVmdFwiXG4gICAgICA/IC0xOFxuICAgICAgOiB0aGlzLnRvb2xUaXBQb3NpdGlvbiA9PT0gXCJ0b3BcIlxuICAgICAgPyAtNDRcbiAgICAgIDogdGhpcy50b29sVGlwUG9zaXRpb24gPT09IFwiYm90dG9tXCJcbiAgICAgID8gdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQub2Zmc2V0SGVpZ2h0IC8gMiArIDhcbiAgICAgIDogODtcbiAgfVxuXG4gIGhpZGVUb29sVGlwKCkge1xuICAgIHRoaXMub3ZlcmxheVJlZj8uZGV0YWNoKCk7XG4gICAgdGhpcy5vdmVybGF5UmVmPy5kaXNwb3NlKCk7XG4gIH1cbn1cblxuIl19
|
|
143
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9taXMtY29tcG9uZW50cy90b29sdGlwL3Rvb2x0aXAuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQXlDLE1BQU0sZUFBZSxDQUFDO0FBQ2pJLE9BQU8sRUFBVyxhQUFhLEVBQWMsTUFBTSxzQkFBc0IsQ0FBQztBQUMxRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7QUFNbkUsTUFBTSxPQUFPLGdCQUFnQjtJQVUzQixJQUFhLFdBQVcsQ0FBQyxLQUFjO1FBQ3JDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxLQUFLLENBQUM7UUFDaEMsSUFBSSxLQUFLO1lBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDOztZQUM1QixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUNELElBQWEsSUFBSSxDQUFDLEtBQWE7UUFDN0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7SUFDM0IsQ0FBQztJQUNELElBQWEsUUFBUSxDQUFDLEtBQXdCO1FBQzVDLElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDO0lBQy9CLENBQUM7SUFDRCxJQUFhLFNBQVMsQ0FBQyxLQUFhO1FBQ2xDLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxLQUFLLENBQUM7SUFDcEMsQ0FBQztJQUNELElBQWEsZUFBZSxDQUFDLEtBQXVCO1FBQ2xELElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFD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MUIsSUFBSSxDQUFDLFVBQVUsRUFBRSxPQUFPLEVBQUUsQ0FBQztJQUM3QixDQUFDO2lIQTFHVSxnQkFBZ0I7b0VBQWhCLGdCQUFnQjtZQUFoQiwrRkFBQSxrQkFBYyxJQUFFLGtGQUFoQixrQkFBYyxJQUFFOzs7aUZBQWhCLGdCQUFnQjtjQUg1QixTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLGNBQWM7YUFDekI7Z0dBVVUsV0FBVztrQkFBbkIsS0FBSztZQUNPLFdBQVc7a0JBQXZCLEtBQUs7WUFLTyxJQUFJO2tCQUFoQixLQUFLO1lBR08sUUFBUTtrQkFBcEIsS0FBSztZQUdPLFNBQVM7a0JBQXJCLEtBQUs7WUFHTyxlQUFlO2tCQUEzQixLQUFLO1lBR08sc0JBQXNCO2tCQUFsQyxLQUFLO1lBSXNCLFlBQVk7a0JBQXZDLFlBQVk7bUJBQUMsWUFBWTtZQUdFLFlBQVk7a0JBQXZDLFlBQVk7bUJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT25Jbml0LCBUZW1wbGF0ZVJlZiwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBPdmVybGF5LCBPdmVybGF5Q29uZmlnLCBPdmVybGF5UmVmIH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9vdmVybGF5XCI7XG5pbXBvcnQgeyB0YWtlIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XG5pbXBvcnQgeyBDb21wb25lbnRQb3J0YWwgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL3BvcnRhbFwiO1xuaW1wb3J0IHsgVG9vbFRpcENvbXBvbmVudCB9IGZyb20gXCIuL3Rvb2x0aXAtY29udGFpbmVyL3Rvb2x0aXAuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBnZW5Qb3NpdGlvblBhaXJzIH0gZnJvbSBcIm1pcy1jcnlzdGFsLWRlc2lnbi1zeXN0ZW0vdXRpbHNcIjtcbmltcG9ydCB7IElUb29sdGlwUG9zaXRpb25zIH0gZnJvbSBcIi4vbW9kZWxzL3Rvb2x0aXAubW9kZWxcIjtcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiBcIlttaXNUb29sVGlwXVwiXG59KVxuZXhwb3J0IGNsYXNzIFRvb2xUaXBEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuICBwdWJsaWMgaXNUb29sVGlwRGlzcGxheWVkOiBib29sZWFuID0gZmFsc2U7XG4gIHB1YmxpYyB0b29sVGlwVGV4dDogc3RyaW5nID0gXCJcIjtcbiAgcHVibGljIHRvb2xUaXBUZXh0QWxpZ25tZW50OiBzdHJpbmcgPSBcIlwiO1xuICBwdWJsaWMgdG9vbFRpcFBvc2l0aW9uOiBJVG9vbHRpcFBvc2l0aW9ucyA9IFwiYm90dG9tXCI7XG4gIHByaXZhdGUgb3ZlcmxheVJlZjogT3ZlcmxheVJlZjtcbiAgcHJpdmF0ZSB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PjtcbiAgcHJpdmF0ZSB0ZW1wbGF0ZUNvbnRleHQ6IGFueTtcblxuICBASW5wdXQoKSBzaG93T25Ib3ZlcjogYm9vbGVhbiA9IHRydWU7XG4gIEBJbnB1dCgpIHNldCBzaG93VG9vbFRpcCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuaXNUb29sVGlwRGlzcGxheWVkID0gdmFsdWU7XG4gICAgaWYgKHZhbHVlKSB0aGlzLmRpc3BsYXlUb29sVGlwKCk7XG4gICAgZWxzZSB0aGlzLmhpZGVUb29sVGlwKCk7XG4gIH1cbiAgQElucHV0KCkgc2V0IHRleHQodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMudG9vbFRpcFRleHQgPSB2YWx1ZTtcbiAgfVxuICBASW5wdXQoKSBzZXQgcG9zaXRpb24odmFsdWU6IElUb29sdGlwUG9zaXRpb25zKSB7XG4gICAgdGhpcy50b29sVGlwUG9zaXRpb24gPSB2YWx1ZTtcbiAgfVxuICBASW5wdXQoKSBzZXQgYWxpZ25UZXh0KHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLnRvb2xUaXBUZXh0QWxpZ25tZW50ID0gdmFsdWU7XG4gIH1cbiAgQElucHV0KCkgc2V0IHRvb2x0aXBUZW1wbGF0ZSh2YWx1ZTogVGVtcGxhdGVSZWY8YW55Pil7XG4gICAgdGhpcy50ZW1wbGF0ZVJlZiA9IHZhbHVlO1xuICB9XG4gIEBJbnB1dCgpIHNldCB0b29sdGlwVGVtcGxhdGVDb250ZXh0KHZhbHVlOiBhbnkpe1xuICAgIHRoaXMudGVtcGxhdGVDb250ZXh0ID0gdmFsdWU7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKFwibW91c2VlbnRlclwiKSBvbk1vdXNlRW50ZXIoKSB7XG4gICAgaWYgKHRoaXMuc2hvd09uSG92ZXIpIHRoaXMuZGlzcGxheVRvb2xUaXAoKTtcbiAgfVxuICBASG9zdExpc3RlbmVyKFwibW91c2VsZWF2ZVwiKSBvbk1vdXNlTGVhdmUoKSB7XG4gICAgaWYgKHRoaXMuc2hvd09uSG92ZXIpIHRoaXMuaGlkZVRvb2xUaXAoKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWxlbWVudDogRWxlbWVudFJlZiwgcHJpdmF0ZSBvdmVybGF5OiBPdmVybGF5LCBwcml2YXRlIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYpIHt9XG5cbiAgbmdPbkluaXQoKSB7fVxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgaWYgKHRoaXMuaXNUb29sVGlwRGlzcGxheWVkKSB0aGlzLmRpc3BsYXlUb29sVGlwKCk7XG4gICAgZWxzZSB0aGlzLmhpZGVUb29sVGlwKCk7XG4gIH1cblxuICBkaXNwbGF5VG9vbFRpcCgpIHtcbiAgICBjb25zdCBwb3NpdGlvblN0cmF0ZWd5ID0gdGhpcy5vdmVybGF5XG4gICAgICAucG9zaXRpb24oKVxuICAgICAgLmZsZXhpYmxlQ29ubmVjdGVkVG8odGhpcy5lbGVtZW50KVxuICAgICAgLndpdGhQb3NpdGlvbnMoXG4gICAgICAgIGdlblBvc2l0aW9uUGFpcnMoXG4gICAgICAgICAge1xuICAgICAgICAgICAgcG9zaXRpb25YOiBcImNlbnRlclwiLFxuICAgICAgICAgICAgcG9zaXRpb25ZOiB0aGlzLnRvb2xUaXBQb3NpdGlvbiA9PT0gXCJ0b3BcIiA/IFwidG9wXCIgOiBcImNlbnRlclwiLFxuICAgICAgICAgICAgb2Zmc2V0WDogdGhpcy5wb3NpdGlvblRvb2x0aXAoXCJPRkZTRVRfWFwiKSxcbiAgICAgICAgICAgIG9mZnNldFk6IHRoaXMucG9zaXRpb25Ub29sdGlwKFwiT0ZGU0VUX1lcIilcbiAgICAgICAgICB9LFxuICAgICAgICAgIGZhbHNlXG4gICAgICAgIClcbiAgICAgIClcbiAgICAgIC53aXRoUHVzaCh0cnVlKTtcbiAgICBjb25zdCBjb25maWcgPSBuZXcgT3ZlcmxheUNvbmZpZyh7XG4gICAgICBoYXNCYWNrZHJvcDogZmFsc2UsXG4gICAgICBwb3NpdGlvblN0cmF0ZWd5LFxuICAgICAgc2Nyb2xsU3RyYXRlZ3k6IHRoaXMub3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLnJlcG9zaXRpb24oKVxuICAgIH0pO1xuICAgIHRoaXMub3ZlcmxheVJlZiA9IHRoaXMub3ZlcmxheS5jcmVhdGUoY29uZmlnKTtcbiAgICBjb25zdCB0ZW1wUmVmID0gbmV3IENvbXBvbmVudFBvcnRhbChUb29sVGlwQ29tcG9uZW50LCB0aGlzLnZpZXdDb250YWluZXJSZWYpO1xuICAgIGNvbnN0IHRvb2x0aXBSZWYgPSB0aGlzLm92ZXJsYXlSZWYuYXR0YWNoKHRlbXBSZWYpO1xuICAgIHRvb2x0aXBSZWYuaW5zdGFuY2UudGVtcGxhdGVSZWYgPSB0aGlzLnRlbXBsYXRlUmVmO1xuICAgIHRvb2x0aXBSZWYuaW5zdGFuY2UudGVtcGxhdGVDb250ZXh0ID0gdGhpcy50ZW1wbGF0ZUNvbnRleHQ7XG4gICAgdG9vbHRpcFJlZi5pbnN0YW5jZS50b29sVGlwVGV4dC5zZXQodGhpcy50b29sVGlwVGV4dCk7XG4gICAgdG9vbHRpcFJlZi5pbnN0YW5jZS50b29sVGlwUG9zaXRpb24uc2V0KHRoaXMudG9vbFRpcFBvc2l0aW9uKTtcbiAgICB0b29sdGlwUmVmLmluc3RhbmNlLnRvb2xUaXBUZXh0QWxpZ25tZW50LnNldCh0aGlzLnRvb2xUaXBUZXh0QWxpZ25tZW50KTtcbiAgICB0aGlzLm92ZXJsYXlSZWZcbiAgICAgIC5iYWNrZHJvcENsaWNrKClcbiAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5oaWRlVG9vbFRpcCgpO1xuICAgICAgfSk7XG4gIH1cblxuICBwb3NpdGlvblRvb2x0aXAodHlwZTogXCJPRkZTRVRfWFwiIHwgXCJPRkZTRVRfWVwiKSB7XG4gICAgaWYgKHR5cGUgPT09IFwiT0ZGU0VUX1hcIikge1xuICAgICAgcmV0dXJuIHRoaXMudG9vbFRpcFBvc2l0aW9uID09PSBcInJpZ2h0XCJcbiAgICAgICAgPyB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aCAvIDIgKyA4XG4gICAgICAgIDogdGhpcy50b29sVGlwUG9zaXRpb24gPT09IFwibGVmdFwiXG4gICAgICAgID8gKHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoIC8gMiArIDgpICogLTFcbiAgICAgICAgOiB0aGlzLnRvb2xUaXBQb3NpdGlvbiA9PT0gXCJ0b3BcIiB8fCB0aGlzLnRvb2xUaXBQb3NpdGlvbiA9PT0gXCJib3R0b21cIlxuICAgICAgICA/IDBcbiAgICAgICAgOiA4O1xuICAgIH1cbiAgICBpZiAodHlwZSAhPT0gXCJPRkZTRVRfWVwiKSByZXR1cm47XG4gICAgcmV0dXJuIHRoaXMudG9vbFRpcFBvc2l0aW9uID09PSBcInJpZ2h0XCIgfHwgdGhpcy50b29sVGlwUG9zaXRpb24gPT09IFwibGVmdFwiXG4gICAgICA/IC0xOFxuICAgICAgOiB0aGlzLnRvb2xUaXBQb3NpdGlvbiA9PT0gXCJ0b3BcIlxuICAgICAgPyAtNDRcbiAgICAgIDogdGhpcy50b29sVGlwUG9zaXRpb24gPT09IFwiYm90dG9tXCJcbiAgICAgID8gdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQub2Zmc2V0SGVpZ2h0IC8gMiArIDhcbiAgICAgIDogODtcbiAgfVxuXG4gIGhpZGVUb29sVGlwKCkge1xuICAgIHRoaXMub3ZlcmxheVJlZj8uZGV0YWNoKCk7XG4gICAgdGhpcy5vdmVybGF5UmVmPy5kaXNwb3NlKCk7XG4gIH1cbn1cblxuIl19
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Component, ContentChild, EventEmitter,
|
|
1
|
+
import { Component, ContentChild, EventEmitter, Output, ViewChild, ChangeDetectionStrategy, input, signal, effect } from "@angular/core";
|
|
2
2
|
import { CdkVirtualScrollViewport } from "@angular/cdk/scrolling";
|
|
3
3
|
import { BehaviorSubject, of } from "rxjs";
|
|
4
4
|
import { catchError, mergeMap, scan, tap, throttleTime } from "rxjs/operators";
|
|
@@ -43,11 +43,11 @@ function VirtualScrollComponent_ng_container_2_cdk_virtual_scroll_viewport_1_Tem
|
|
|
43
43
|
} if (rf & 2) {
|
|
44
44
|
const data_r2 = i0.ɵɵnextContext().ngIf;
|
|
45
45
|
const ctx_r2 = i0.ɵɵnextContext();
|
|
46
|
-
i0.ɵɵproperty("minBufferPx", ctx_r2.config.minBufferPx)("maxBufferPx", ctx_r2.config.maxBufferPx)("itemSize", ctx_r2.config.rowHeight);
|
|
46
|
+
i0.ɵɵproperty("minBufferPx", ctx_r2.config().minBufferPx)("maxBufferPx", ctx_r2.config().maxBufferPx)("itemSize", ctx_r2.config().rowHeight);
|
|
47
47
|
i0.ɵɵadvance(2);
|
|
48
48
|
i0.ɵɵproperty("cdkVirtualForOf", data_r2);
|
|
49
49
|
i0.ɵɵadvance();
|
|
50
|
-
i0.ɵɵproperty("ngIf", ctx_r2.rowsLoading);
|
|
50
|
+
i0.ɵɵproperty("ngIf", ctx_r2.rowsLoading());
|
|
51
51
|
} }
|
|
52
52
|
function VirtualScrollComponent_ng_container_2_Template(rf, ctx) { if (rf & 1) {
|
|
53
53
|
i0.ɵɵelementContainerStart(0);
|
|
@@ -56,94 +56,95 @@ function VirtualScrollComponent_ng_container_2_Template(rf, ctx) { if (rf & 1) {
|
|
|
56
56
|
} if (rf & 2) {
|
|
57
57
|
const ctx_r2 = i0.ɵɵnextContext();
|
|
58
58
|
i0.ɵɵadvance();
|
|
59
|
-
i0.ɵɵproperty("ngIf", !ctx_r2.loading && !ctx_r2.error);
|
|
59
|
+
i0.ɵɵproperty("ngIf", !ctx_r2.loading() && !ctx_r2.error());
|
|
60
60
|
} }
|
|
61
61
|
export class VirtualScrollComponent {
|
|
62
62
|
constructor(changeDetectorRef) {
|
|
63
63
|
this.changeDetectorRef = changeDetectorRef;
|
|
64
|
-
//
|
|
65
|
-
this.
|
|
66
|
-
this.endOfInfiniteData = false;
|
|
67
|
-
this.rowsLoading = false;
|
|
68
|
-
// Main state managing variables
|
|
69
|
-
this.loading = false;
|
|
70
|
-
this.error = false;
|
|
71
|
-
this.config = {
|
|
64
|
+
// Input signals
|
|
65
|
+
this.config = input({
|
|
72
66
|
minBufferPx: 2400,
|
|
73
67
|
maxBufferPx: 2400,
|
|
74
68
|
rowHeight: 128,
|
|
75
69
|
pageSize: 5,
|
|
76
70
|
infiniteScrollDataFunction: (offset, pageSize) => of([1, 2, 3, 4, 5])
|
|
77
|
-
};
|
|
71
|
+
});
|
|
72
|
+
// Infinite scroll related variables
|
|
73
|
+
this.offset = new BehaviorSubject(null);
|
|
74
|
+
this.endOfInfiniteData = signal(false);
|
|
75
|
+
this.rowsLoading = signal(false);
|
|
76
|
+
// Main state managing variables
|
|
77
|
+
this.loading = signal(false);
|
|
78
|
+
this.error = signal(false);
|
|
78
79
|
this.intialized = new EventEmitter();
|
|
79
80
|
this.switchOffInfiniteScroll = () => {
|
|
80
|
-
this.error
|
|
81
|
-
this.loading
|
|
82
|
-
this.data$ = this.config.data$.pipe(tap(() => {
|
|
83
|
-
this.loading
|
|
84
|
-
|
|
81
|
+
this.error.set(false);
|
|
82
|
+
this.loading.set(true);
|
|
83
|
+
this.data$ = this.config().data$.pipe(tap(() => {
|
|
84
|
+
this.loading.set(false);
|
|
85
|
+
// Removed detectChanges() - signals handle this automatically
|
|
85
86
|
}), catchError(err => {
|
|
86
87
|
console.error("Error: Unknown error occurred while fetching calendar data", err);
|
|
87
|
-
this.loading
|
|
88
|
-
this.error
|
|
88
|
+
this.loading.set(false);
|
|
89
|
+
this.error.set(true);
|
|
89
90
|
return [];
|
|
90
91
|
}));
|
|
91
92
|
};
|
|
92
93
|
this.switchOnInfiniteScroll = () => {
|
|
93
|
-
this.error
|
|
94
|
-
this.loading
|
|
95
|
-
this.endOfInfiniteData
|
|
94
|
+
this.error.set(false);
|
|
95
|
+
this.loading.set(true);
|
|
96
|
+
this.endOfInfiniteData.set(false);
|
|
96
97
|
this.offset.next(0);
|
|
97
98
|
this.setupInfiniteScroll();
|
|
98
99
|
};
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
100
|
+
// Initialize the component with signals
|
|
101
|
+
effect(() => {
|
|
102
|
+
this.switchOnInfiniteScroll();
|
|
103
|
+
this.virtualScrollApi = {
|
|
104
|
+
toggleLoader: () => this.loading.set(!this.loading()),
|
|
105
|
+
toggleError: () => this.error.set(!this.error()),
|
|
106
|
+
switchOnInfiniteScroll: this.switchOnInfiniteScroll,
|
|
107
|
+
switchOffInfiniteScroll: this.switchOffInfiniteScroll
|
|
108
|
+
};
|
|
109
|
+
// Keep this one - needed for external API emission
|
|
110
|
+
this.changeDetectorRef.detectChanges();
|
|
111
|
+
this.intialized.emit(this.virtualScrollApi);
|
|
112
|
+
}, { allowSignalWrites: true });
|
|
110
113
|
}
|
|
111
114
|
setupInfiniteScroll() {
|
|
112
115
|
const batchMap = this.offset.pipe(throttleTime(500), mergeMap(offset => this.getBatch(offset)), scan((acc, batch) => {
|
|
113
116
|
return [...acc, ...batch];
|
|
114
117
|
}, []));
|
|
115
118
|
this.data$ = batchMap.pipe(tap(data => {
|
|
116
|
-
this.rowsLoading
|
|
117
|
-
this.loading
|
|
118
|
-
setTimeout(
|
|
119
|
-
this.changeDetectorRef.detectChanges();
|
|
120
|
-
}, 50);
|
|
119
|
+
this.rowsLoading.set(false);
|
|
120
|
+
this.loading.set(false);
|
|
121
|
+
// Removed setTimeout and detectChanges() - signals handle this automatically
|
|
121
122
|
}));
|
|
122
123
|
}
|
|
123
124
|
nextBatch(offset) {
|
|
124
|
-
if (this.endOfInfiniteData) {
|
|
125
|
+
if (this.endOfInfiniteData()) {
|
|
125
126
|
return;
|
|
126
127
|
}
|
|
127
128
|
const end = this.viewPort.getRenderedRange().end;
|
|
128
129
|
const total = this.viewPort.getDataLength();
|
|
129
|
-
offset = Math.ceil(offset / this.config.pageSize);
|
|
130
|
-
if (end === total && !this.rowsLoading) {
|
|
130
|
+
offset = Math.ceil(offset / this.config().pageSize);
|
|
131
|
+
if (end === total && !this.rowsLoading()) {
|
|
131
132
|
this.offset.next(offset);
|
|
132
133
|
}
|
|
133
134
|
}
|
|
134
135
|
getBatch(offset) {
|
|
135
|
-
this.rowsLoading
|
|
136
|
+
this.rowsLoading.set(true);
|
|
136
137
|
if (offset == null)
|
|
137
138
|
offset = 0;
|
|
138
|
-
return this.config
|
|
139
|
-
.infiniteScrollDataFunction(offset, this.config.pageSize)
|
|
139
|
+
return this.config()
|
|
140
|
+
.infiniteScrollDataFunction(offset, this.config().pageSize)
|
|
140
141
|
.pipe(tap((arr) => {
|
|
141
|
-
arr.length < this.config.pageSize ?
|
|
142
|
+
arr.length < this.config().pageSize ? this.endOfInfiniteData.set(true) : null;
|
|
142
143
|
}), catchError(err => {
|
|
143
144
|
console.error("Error: Unknown error occurred while fetching calendar data", err);
|
|
144
|
-
this.rowsLoading
|
|
145
|
-
this.loading
|
|
146
|
-
this.error
|
|
145
|
+
this.rowsLoading.set(false);
|
|
146
|
+
this.loading.set(false);
|
|
147
|
+
this.error.set(true);
|
|
147
148
|
return [];
|
|
148
149
|
}));
|
|
149
150
|
}
|
|
@@ -158,24 +159,21 @@ export class VirtualScrollComponent {
|
|
|
158
159
|
} if (rf & 2) {
|
|
159
160
|
let _t;
|
|
160
161
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.viewPort = _t.first);
|
|
161
|
-
} }, inputs: { config: "config" }, outputs: { intialized: "intialized" }, decls: 4, vars: 5, consts: [["viewport", ""], ["class", "state-container", 4, "ngIf"], [4, "ngIf"], [1, "state-container"], [3, "minBufferPx", "maxBufferPx", "itemSize", "scrolledIndexChange", 4, "ngIf"], [3, "scrolledIndexChange", "minBufferPx", "maxBufferPx", "itemSize"], [4, "cdkVirtualFor", "cdkVirtualForOf"], ["id", "loader-container", 4, "ngIf"], [3, "ngTemplateOutlet", "ngTemplateOutletContext"], ["id", "loader-container"]], template: function VirtualScrollComponent_Template(rf, ctx) { if (rf & 1) {
|
|
162
|
+
} }, inputs: { config: [1, "config"] }, outputs: { intialized: "intialized" }, decls: 4, vars: 5, consts: [["viewport", ""], ["class", "state-container", 4, "ngIf"], [4, "ngIf"], [1, "state-container"], [3, "minBufferPx", "maxBufferPx", "itemSize", "scrolledIndexChange", 4, "ngIf"], [3, "scrolledIndexChange", "minBufferPx", "maxBufferPx", "itemSize"], [4, "cdkVirtualFor", "cdkVirtualForOf"], ["id", "loader-container", 4, "ngIf"], [3, "ngTemplateOutlet", "ngTemplateOutletContext"], ["id", "loader-container"]], template: function VirtualScrollComponent_Template(rf, ctx) { if (rf & 1) {
|
|
162
163
|
i0.ɵɵtemplate(0, VirtualScrollComponent_div_0_Template, 2, 0, "div", 1)(1, VirtualScrollComponent_div_1_Template, 3, 0, "div", 1)(2, VirtualScrollComponent_ng_container_2_Template, 2, 1, "ng-container", 2);
|
|
163
164
|
i0.ɵɵpipe(3, "async");
|
|
164
165
|
} if (rf & 2) {
|
|
165
|
-
i0.ɵɵproperty("ngIf", ctx.loading);
|
|
166
|
+
i0.ɵɵproperty("ngIf", ctx.loading());
|
|
166
167
|
i0.ɵɵadvance();
|
|
167
|
-
i0.ɵɵproperty("ngIf", !ctx.loading && ctx.error);
|
|
168
|
+
i0.ɵɵproperty("ngIf", !ctx.loading() && ctx.error());
|
|
168
169
|
i0.ɵɵadvance();
|
|
169
170
|
i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(3, 3, ctx.data$));
|
|
170
|
-
} }, dependencies: [i1.NgIf, i1.NgTemplateOutlet, i2.CdkFixedSizeVirtualScroll, i2.CdkVirtualForOf, i2.CdkVirtualScrollViewport, i3.LoaderComponent, i1.AsyncPipe], styles: ["cdk-virtual-scroll-viewport[_ngcontent-%COMP%]{height:100%}#main-container[_ngcontent-%COMP%]{height:100%;width:100%}.state-container[_ngcontent-%COMP%]{height:100%;width:100%;display:flex;justify-content:center;align-items:center}#loader-container[_ngcontent-%COMP%]{width:100%;height:56px;display:flex;justify-content:center;align-items:center} #spinner{position:relative!important}"] }); }
|
|
171
|
+
} }, dependencies: [i1.NgIf, i1.NgTemplateOutlet, i2.CdkFixedSizeVirtualScroll, i2.CdkVirtualForOf, i2.CdkVirtualScrollViewport, i3.LoaderComponent, i1.AsyncPipe], styles: ["cdk-virtual-scroll-viewport[_ngcontent-%COMP%]{height:100%}#main-container[_ngcontent-%COMP%]{height:100%;width:100%}.state-container[_ngcontent-%COMP%]{height:100%;width:100%;display:flex;justify-content:center;align-items:center}#loader-container[_ngcontent-%COMP%]{width:100%;height:56px;display:flex;justify-content:center;align-items:center} #spinner{position:relative!important}"], changeDetection: 0 }); }
|
|
171
172
|
}
|
|
172
173
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(VirtualScrollComponent, [{
|
|
173
174
|
type: Component,
|
|
174
|
-
args: [{ selector: "mis-virtual-scroll", template: "<div class=\"state-container\" *ngIf=\"loading\">\n <mis-loader></mis-loader>\n</div>\n<div class=\"state-container\" *ngIf=\"!loading && error\">\n <span>Unknown error has occurred.</span>\n</div>\n<ng-container *ngIf=\"data$ | async as data\">\n <cdk-virtual-scroll-viewport\n *ngIf=\"!loading && !error\"\n #viewport\n [minBufferPx]=\"config.minBufferPx\"\n [maxBufferPx]=\"config.maxBufferPx\"\n [itemSize]=\"
|
|
175
|
-
}], () => [{ type: i0.ChangeDetectorRef }], {
|
|
176
|
-
type: Input,
|
|
177
|
-
args: ["config"]
|
|
178
|
-
}], viewPort: [{
|
|
175
|
+
args: [{ selector: "mis-virtual-scroll", changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"state-container\" *ngIf=\"loading()\">\n <mis-loader></mis-loader>\n</div>\n<div class=\"state-container\" *ngIf=\"!loading() && error()\">\n <span>Unknown error has occurred.</span>\n</div>\n<ng-container *ngIf=\"data$ | async as data\">\n <cdk-virtual-scroll-viewport\n *ngIf=\"!loading() && !error()\"\n #viewport\n [minBufferPx]=\"config().minBufferPx\"\n [maxBufferPx]=\"config().maxBufferPx\"\n [itemSize]=\"config().rowHeight\"\n (scrolledIndexChange)=\"nextBatch(data.length)\"\n >\n <ng-container *cdkVirtualFor=\"let item of data; let i = index\">\n <ng-container\n [ngTemplateOutlet]=\"customItem\"\n [ngTemplateOutletContext]=\"{ $implicit: item, index: i }\"\n ></ng-container>\n </ng-container>\n <div id=\"loader-container\" *ngIf=\"rowsLoading()\">\n <mis-loader></mis-loader>\n </div>\n </cdk-virtual-scroll-viewport>\n</ng-container>", styles: ["cdk-virtual-scroll-viewport{height:100%}#main-container{height:100%;width:100%}.state-container{height:100%;width:100%;display:flex;justify-content:center;align-items:center}#loader-container{width:100%;height:56px;display:flex;justify-content:center;align-items:center}::ng-deep #spinner{position:relative!important}\n"] }]
|
|
176
|
+
}], () => [{ type: i0.ChangeDetectorRef }], { viewPort: [{
|
|
179
177
|
type: ViewChild,
|
|
180
178
|
args: [CdkVirtualScrollViewport]
|
|
181
179
|
}], customItem: [{
|
|
@@ -185,4 +183,4 @@ export class VirtualScrollComponent {
|
|
|
185
183
|
type: Output
|
|
186
184
|
}] }); })();
|
|
187
185
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(VirtualScrollComponent, { className: "VirtualScrollComponent" }); })();
|
|
188
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlydHVhbC1zY3JvbGwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvdmlydHVhbC1zY3JvbGwvdmlydHVhbC1zY3JvbGwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvdmlydHVhbC1zY3JvbGwvdmlydHVhbC1zY3JvbGwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixTQUFTLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFlLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4SSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUVsRSxPQUFPLEVBQUUsZUFBZSxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2RCxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7OztJQ0ovRSw4QkFBNkM7SUFDekMsNkJBQXlCO0lBQzdCLGlCQUFNOzs7SUFFRixBQURKLDhCQUF1RCxXQUM3QztJQUFBLDJDQUEyQjtJQUNyQyxBQURxQyxpQkFBTyxFQUN0Qzs7O0lBVUUsNkJBQWdFO0lBQzVELDJCQUdnQjs7Ozs7O0lBRmhCLGNBQStCO0lBQy9CLEFBREEsb0RBQStCLHNFQUMwQjs7O0lBRzdELDhCQUErQztJQUMzQyw2QkFBeUI7SUFDN0IsaUJBQU07Ozs7SUFoQlYseURBT0M7SUFERyxtVEFBdUIsZ0NBQXNCLEtBQUM7SUFROUMsQUFOQSxzSUFBZ0UsdUdBTWpCO0lBR25ELGlCQUE4Qjs7OztJQVoxQixBQURBLEFBREEsdURBQWtDLDBDQUNBLHFDQUNBO0lBR0ssZUFBVTtJQUFWLHlDQUFVO0lBTXJCLGNBQWlCO0lB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QUFTO21CQUFDLHdCQUF3QjtZQUVuQyxVQUFVO2tCQURULFlBQVk7bUJBQUMsbUJBQW1CLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO1lBRTFDLFVBQVU7a0JBQW5CLE1BQU07O2tGQXZCRSxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBDb250ZW50Q2hpbGQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IENka1ZpcnR1YWxTY3JvbGxWaWV3cG9ydCB9IGZyb20gXCJAYW5ndWxhci9jZGsvc2Nyb2xsaW5nXCI7XG5cbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbWVyZ2VNYXAsIHNjYW4sIHRhcCwgdGhyb3R0bGVUaW1lIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XG5pbXBvcnQgeyBJVmlydHVhbFNjcm9sbENvbmZpZyB9IGZyb20gXCIuL3ZpcnR1YWwtc2Nyb2xsLmNvbnN0YW50c1wiO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogXCJtaXMtdmlydHVhbC1zY3JvbGxcIixcbiAgICB0ZW1wbGF0ZVVybDogXCIuL3ZpcnR1YWwtc2Nyb2xsLmNvbXBvbmVudC5odG1sXCIsXG4gICAgc3R5bGVVcmxzOiBbXCIuL3ZpcnR1YWwtc2Nyb2xsLmNvbXBvbmVudC5zY3NzXCJdLFxuICB9KVxuZXhwb3J0IGNsYXNzIFZpcnR1YWxTY3JvbGxDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gICAgLy8gSW5maW5pdGUgc2Nyb2xsIHJlbGF0ZWQgdmFyaWFibGVzXG4gICAgb2Zmc2V0ID0gbmV3IEJlaGF2aW9yU3ViamVjdChudWxsKTtcbiAgICBlbmRPZkluZmluaXRlRGF0YTogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHJvd3NMb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XG4gICAgXG4gICAgLy8gTWFpbiBzdGF0ZSBtYW5hZ2luZyB2YXJpYWJsZXNcbiAgICBsb2FkaW5nOiBib29sZWFuID0gZmFsc2VcbiAgICBlcnJvcjogYm9vbGVhbiA9IGZhbHNlXG4gICAgXG4gICAgLy8gU2Nyb2xsIGRhdGEgcmVsYXRlZCB2YXJpYWJsZXNcbiAgICBkYXRhJDogT2JzZXJ2YWJsZTxhbnk+XG4gICAgQElucHV0KFwiY29uZmlnXCIpIGNvbmZpZzogSVZpcnR1YWxTY3JvbGxDb25maWcgPSB7XG4gICAgICAgIG1pbkJ1ZmZlclB4OiAyNDAwLFxuICAgICAgICBtYXhCdWZmZXJQeDogMjQwMCxcbiAgICAgICAgcm93SGVpZ2h0OiAxMjgsXG4gICAgICAgIHBhZ2VTaXplOiA1LFxuICAgICAgICBpbmZpbml0ZVNjcm9sbERhdGFGdW5jdGlvbjogKG9mZnNldCwgcGFnZVNpemUpID0+IG9mKFsxLDIsMyw0LDVdKVxuICAgIH07XG4gICAgQFZpZXdDaGlsZChDZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnQpIHZpZXdQb3J0OiBDZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnQ7XG4gICAgQENvbnRlbnRDaGlsZChcInZpcnR1YWxTY3JvbGxJdGVtXCIsIHsgc3RhdGljOiBmYWxzZSB9KVxuICAgIGN1c3RvbUl0ZW06IFRlbXBsYXRlUmVmPEVsZW1lbnQ+O1xuICAgIEBPdXRwdXQoKSBpbnRpYWxpemVkID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgICB2aXJ0dWFsU2Nyb2xsQXBpOiBhbnlcblxuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpe31cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zd2l0Y2hPbkluZmluaXRlU2Nyb2xsKClcbiAgICAgICAgdGhpcy52aXJ0dWFsU2Nyb2xsQXBpID0ge1xuICAgICAgICAgICAgdG9nZ2xlTG9hZGVyOiAoKSA9PiB0aGlzLmxvYWRpbmcgPSAhdGhpcy5sb2FkaW5nLFxuICAgICAgICAgICAgdG9nZ2xlRXJyb3I6ICgpID0+IHRoaXMuZXJyb3IgPSAhdGhpcy5lcnJvcixcbiAgICAgICAgICAgIHN3aXRjaE9uSW5maW5pdGVTY3JvbGw6IHRoaXMuc3dpdGNoT25JbmZpbml0ZVNjcm9sbCxcbiAgICAgICAgICAgIHN3aXRjaE9mZkluZmluaXRlU2Nyb2xsOiB0aGlzLnN3aXRjaE9mZkluZmluaXRlU2Nyb2xsXG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIHRoaXMuaW50aWFsaXplZC5lbWl0KHRoaXMudmlydHVhbFNjcm9sbEFwaSlcbiAgICB9XG4gICAgc3dpdGNoT2ZmSW5maW5pdGVTY3JvbGwgPSAoKTogdm9pZCA9PiB7XG4gICAgICAgIHRoaXMuZXJyb3IgPSBmYWxzZVxuICAgICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlXG4gICAgICAgIHRoaXMuZGF0YSQgPSB0aGlzLmNvbmZpZy5kYXRhJC5waXBlKFxuICAgICAgICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZVxuICAgICAgICAgICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoZXJyID0+IHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKFwiRXJyb3I6IFVua25vd24gZXJyb3Igb2NjdXJyZWQgd2hpbGUgZmV0Y2hpbmcgY2FsZW5kYXIgZGF0YVwiLCBlcnIpO1xuICAgICAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHRoaXMuZXJyb3IgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHJldHVybiBbXTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgIClcbiAgICB9XG4gICAgc3dpdGNoT25JbmZpbml0ZVNjcm9sbCA9ICgpOiB2b2lkID0+IHtcbiAgICAgICAgdGhpcy5lcnJvciA9IGZhbHNlXG4gICAgICAgIHRoaXMubG9hZGluZyA9IHRydWVcbiAgICAgICAgdGhpcy5lbmRPZkluZmluaXRlRGF0YSA9IGZhbHNlO1xuICAgICAgICB0aGlzLm9mZnNldC5uZXh0KDApXG4gICAgICAgIHRoaXMuc2V0dXBJbmZpbml0ZVNjcm9sbCgpXG4gICAgfVxuICAgIHNldHVwSW5maW5pdGVTY3JvbGwoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGJhdGNoTWFwID0gdGhpcy5vZmZzZXQucGlwZShcbiAgICAgICAgICB0aHJvdHRsZVRpbWUoNTAwKSxcbiAgICAgICAgICBtZXJnZU1hcChvZmZzZXQgPT4gdGhpcy5nZXRCYXRjaChvZmZzZXQpKSxcbiAgICAgICAgICBzY2FuKChhY2M6IEFycmF5PGFueT4sIGJhdGNoOiBBcnJheTxhbnk+KSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gWy4uLmFjYywgLi4uYmF0Y2hdO1xuICAgICAgICAgIH0sIFtdKVxuICAgICAgICApO1xuICAgICAgICB0aGlzLmRhdGEkID0gYmF0Y2hNYXAucGlwZShcbiAgICAgICAgICAgIHRhcChkYXRhID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnJvd3NMb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgICAgICAgIH0sIDUwKVxuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG4gICAgbmV4dEJhdGNoKG9mZnNldCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5lbmRPZkluZmluaXRlRGF0YSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGVuZCA9IHRoaXMudmlld1BvcnQuZ2V0UmVuZGVyZWRSYW5nZSgpLmVuZDtcbiAgICAgICAgY29uc3QgdG90YWwgPSB0aGlzLnZpZXdQb3J0LmdldERhdGFMZW5ndGgoKTtcbiAgICAgICAgb2Zmc2V0ID0gTWF0aC5jZWlsKG9mZnNldCAvIHRoaXMuY29uZmlnLnBhZ2VTaXplKVxuICAgICAgICBpZiAoZW5kID09PSB0b3RhbCAmJiAhdGhpcy5yb3dzTG9hZGluZykge1xuICAgICAgICAgICAgdGhpcy5vZmZzZXQubmV4dChvZmZzZXQpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGdldEJhdGNoKG9mZnNldCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIHRoaXMucm93c0xvYWRpbmcgPSB0cnVlO1xuICAgICAgICBpZiAob2Zmc2V0ID09IG51bGwpIG9mZnNldCA9IDA7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbmZpZ1xuICAgICAgICAgICAgLmluZmluaXRlU2Nyb2xsRGF0YUZ1bmN0aW9uKG9mZnNldCwgdGhpcy5jb25maWcucGFnZVNpemUpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICB0YXAoKGFycjogQXJyYXk8YW55PikgPT4ge1xuICAgICAgICAgICAgICAgICAgICBhcnIubGVuZ3RoIDwgdGhpcy5jb25maWcucGFnZVNpemUgPyAodGhpcy5lbmRPZkluZmluaXRlRGF0YSA9IHRydWUpIDogbnVsbDtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBjYXRjaEVycm9yKGVyciA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXCJFcnJvcjogVW5rbm93biBlcnJvciBvY2N1cnJlZCB3aGlsZSBmZXRjaGluZyBjYWxlbmRhciBkYXRhXCIsIGVycik7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucm93c0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZXJyb3IgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gW107XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIFxufSIsIjxkaXYgY2xhc3M9XCJzdGF0ZS1jb250YWluZXJcIiAqbmdJZj1cImxvYWRpbmdcIj5cbiAgICA8bWlzLWxvYWRlcj48L21pcy1sb2FkZXI+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJzdGF0ZS1jb250YWluZXJcIiAqbmdJZj1cIiFsb2FkaW5nICYmIGVycm9yXCI+XG4gICAgPHNwYW4+VW5rbm93biBlcnJvciBoYXMgb2NjdXJyZWQuPC9zcGFuPlxuPC9kaXY+XG48bmctY29udGFpbmVyICpuZ0lmPVwiZGF0YSQgfCBhc3luYyBhcyBkYXRhXCI+XG4gICAgPGNkay12aXJ0dWFsLXNjcm9sbC12aWV3cG9ydFxuICAgICAgICAqbmdJZj1cIiFsb2FkaW5nICYmICFlcnJvclwiXG4gICAgICAgICN2aWV3cG9ydFxuICAgICAgICBbbWluQnVmZmVyUHhdPVwiY29uZmlnLm1pbkJ1ZmZlclB4XCJcbiAgICAgICAgW21heEJ1ZmZlclB4XT1cImNvbmZpZy5tYXhCdWZmZXJQeFwiXG4gICAgICAgIFtpdGVtU2l6ZV09XCJ0aGlzLmNvbmZpZy5yb3dIZWlnaHRcIlxuICAgICAgICAoc2Nyb2xsZWRJbmRleENoYW5nZSk9XCJuZXh0QmF0Y2goZGF0YS5sZW5ndGgpXCJcbiAgICA+XG4gICAgICAgIDxuZy1jb250YWluZXIgKmNka1ZpcnR1YWxGb3I9XCJsZXQgaXRlbSBvZiBkYXRhOyAgbGV0IGkgPSBpbmRleFwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiY3VzdG9tSXRlbVwiXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IGl0ZW0sIGluZGV4OiBpIH1cIlxuICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPGRpdiBpZD1cImxvYWRlci1jb250YWluZXJcIiAqbmdJZj1cInJvd3NMb2FkaW5nXCI+XG4gICAgICAgICAgICA8bWlzLWxvYWRlcj48L21pcy1sb2FkZXI+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvY2RrLXZpcnR1YWwtc2Nyb2xsLXZpZXdwb3J0PlxuPC9uZy1jb250YWluZXI+Il19
|
|
186
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlydHVhbC1zY3JvbGwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvdmlydHVhbC1zY3JvbGwvdmlydHVhbC1zY3JvbGwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvdmlydHVhbC1zY3JvbGwvdmlydHVhbC1zY3JvbGwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixTQUFTLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQWUsU0FBUyxFQUFFLHVCQUF1QixFQUFFLEtBQUssRUFBRSxNQUFNLEVBQTRCLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuTSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUVsRSxPQUFPLEVBQUUsZUFBZSxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2RCxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7OztJQ0ovRSw4QkFBK0M7SUFDM0MsNkJBQXlCO0lBQzdCLGlCQUFNOzs7SUFFRixBQURKLDhCQUEyRCxXQUNqRDtJQUFBLDJDQUEyQjtJQUNyQyxBQURxQyxpQkFBTyxFQUN0Qzs7O0lBVUUsNkJBQWdFO0lBQzVELDJCQUdnQjs7Ozs7O0lBRmhCLGNBQStCO0lBQy9CLEFBREEsb0RBQStCLHNFQUMwQjs7O0lBRzdELDhCQUFpRDtJQUM3Qyw2QkFBeUI7SUFDN0IsaUJBQU07Ozs7SUFoQlYseURBT0M7SUFERyxtVEFBdUIsZ0NBQXNCLEtBQUM7SUFROUMsQUFOQSxzSUFBZ0UsdUdBTWY7SUFHckQsaUJBQThCOzs7O0lBWjFCLEFBREEsQUFEQSx5REFBb0MsNENBQ0EsdUNBQ0w7SUFH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QUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3hCLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3JCLE9BQU8sRUFBRSxDQUFDO1FBQ2QsQ0FBQyxDQUFDLENBQ0wsQ0FBQztJQUNWLENBQUM7dUhBckhRLHNCQUFzQjtvRUFBdEIsc0JBQXNCOzs7Ozs7MkJBdUJwQix3QkFBd0I7Ozs7O1lDOUJ2QyxBQUhBLEFBSEEsdUVBQStDLDBEQUdZLDRFQUdmOzs7WUFOZCxvQ0FBZTtZQUdmLGNBQTJCO1lBQTNCLG9EQUEyQjtZQUcxQyxjQUFvQjtZQUFwQixzREFBb0I7OztpRkRPdEIsc0JBQXNCO2NBTmxDLFNBQVM7MkJBQ0ksb0JBQW9CLG1CQUdiLHVCQUF1QixDQUFDLE1BQU07a0RBeUJWLFFBQVE7a0JBQTVDLFNBQVM7bUJBQUMsd0JBQXdCO1lBRW5DLFVBQVU7a0JBRFQsWUFBWTttQkFBQyxtQkFBbUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7WUFFMUMsVUFBVTtrQkFBbkIsTUFBTTs7a0ZBMUJFLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIENvbnRlbnRDaGlsZCwgRXZlbnRFbWl0dGVyLCBPdXRwdXQsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBpbnB1dCwgc2lnbmFsLCBXcml0YWJsZVNpZ25hbCwgY29tcHV0ZWQsIGVmZmVjdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBDZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnQgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL3Njcm9sbGluZ1wiO1xuXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIG9mIH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1lcmdlTWFwLCBzY2FuLCB0YXAsIHRocm90dGxlVGltZSB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuaW1wb3J0IHsgSVZpcnR1YWxTY3JvbGxDb25maWcgfSBmcm9tIFwiLi92aXJ0dWFsLXNjcm9sbC5jb25zdGFudHNcIjtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6IFwibWlzLXZpcnR1YWwtc2Nyb2xsXCIsXG4gICAgdGVtcGxhdGVVcmw6IFwiLi92aXJ0dWFsLXNjcm9sbC5jb21wb25lbnQuaHRtbFwiLFxuICAgIHN0eWxlVXJsczogW1wiLi92aXJ0dWFsLXNjcm9sbC5jb21wb25lbnQuc2Nzc1wiXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBWaXJ0dWFsU2Nyb2xsQ29tcG9uZW50IHtcblxuICAgIC8vIElucHV0IHNpZ25hbHNcbiAgICBjb25maWcgPSBpbnB1dDxJVmlydHVhbFNjcm9sbENvbmZpZz4oe1xuICAgICAgICBtaW5CdWZmZXJQeDogMjQwMCxcbiAgICAgICAgbWF4QnVmZmVyUHg6IDI0MDAsXG4gICAgICAgIHJvd0hlaWdodDogMTI4LFxuICAgICAgICBwYWdlU2l6ZTogNSxcbiAgICAgICAgaW5maW5pdGVTY3JvbGxEYXRhRnVuY3Rpb246IChvZmZzZXQsIHBhZ2VTaXplKSA9PiBvZihbMSwyLDMsNCw1XSlcbiAgICB9KTtcblxuICAgIC8vIEluZmluaXRlIHNjcm9sbCByZWxhdGVkIHZhcmlhYmxlc1xuICAgIG9mZnNldCA9IG5ldyBCZWhhdmlvclN1YmplY3QobnVsbCk7XG4gICAgZW5kT2ZJbmZpbml0ZURhdGE6IFdyaXRhYmxlU2lnbmFsPGJvb2xlYW4+ID0gc2lnbmFsKGZhbHNlKTtcbiAgICByb3dzTG9hZGluZzogV3JpdGFibGVTaWduYWw8Ym9vbGVhbj4gPSBzaWduYWwoZmFsc2UpO1xuICAgIFxuICAgIC8vIE1haW4gc3RhdGUgbWFuYWdpbmcgdmFyaWFibGVzXG4gICAgbG9hZGluZzogV3JpdGFibGVTaWduYWw8Ym9vbGVhbj4gPSBzaWduYWwoZmFsc2UpO1xuICAgIGVycm9yOiBXcml0YWJsZVNpZ25hbDxib29sZWFuPiA9IHNpZ25hbChmYWxzZSk7XG4gICAgXG4gICAgLy8gU2Nyb2xsIGRhdGEgcmVsYXRlZCB2YXJpYWJsZXNcbiAgICBkYXRhJDogT2JzZXJ2YWJsZTxhbnk+O1xuICAgIFxuICAgIEBWaWV3Q2hpbGQoQ2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0KSB2aWV3UG9ydDogQ2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0O1xuICAgIEBDb250ZW50Q2hpbGQoXCJ2aXJ0dWFsU2Nyb2xsSXRlbVwiLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgICBjdXN0b21JdGVtOiBUZW1wbGF0ZVJlZjxFbGVtZW50PjtcbiAgICBAT3V0cHV0KCkgaW50aWFsaXplZCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gICAgdmlydHVhbFNjcm9sbEFwaTogYW55O1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICAgICAgLy8gSW5pdGlhbGl6ZSB0aGUgY29tcG9uZW50IHdpdGggc2lnbmFsc1xuICAgICAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zd2l0Y2hPbkluZmluaXRlU2Nyb2xsKCk7XG4gICAgICAgICAgICB0aGlzLnZpcnR1YWxTY3JvbGxBcGkgPSB7XG4gICAgICAgICAgICAgICAgdG9nZ2xlTG9hZGVyOiAoKSA9PiB0aGlzLmxvYWRpbmcuc2V0KCF0aGlzLmxvYWRpbmcoKSksXG4gICAgICAgICAgICAgICAgdG9nZ2xlRXJyb3I6ICgpID0+IHRoaXMuZXJyb3Iuc2V0KCF0aGlzLmVycm9yKCkpLFxuICAgICAgICAgICAgICAgIHN3aXRjaE9uSW5maW5pdGVTY3JvbGw6IHRoaXMuc3dpdGNoT25JbmZpbml0ZVNjcm9sbCxcbiAgICAgICAgICAgICAgICBzd2l0Y2hPZmZJbmZpbml0ZVNjcm9sbDogdGhpcy5zd2l0Y2hPZmZJbmZpbml0ZVNjcm9sbFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIC8vIEtlZXAgdGhpcyBvbmUgLSBuZWVkZWQgZm9yIGV4dGVybmFsIEFQSSBlbWlzc2lvblxuICAgICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgICAgICB0aGlzLmludGlhbGl6ZWQuZW1pdCh0aGlzLnZpcnR1YWxTY3JvbGxBcGkpO1xuICAgICAgICB9LCB7IGFsbG93U2lnbmFsV3JpdGVzOiB0cnVlIH0pO1xuICAgIH1cblxuICAgIHN3aXRjaE9mZkluZmluaXRlU2Nyb2xsID0gKCk6IHZvaWQgPT4ge1xuICAgICAgICB0aGlzLmVycm9yLnNldChmYWxzZSk7XG4gICAgICAgIHRoaXMubG9hZGluZy5zZXQodHJ1ZSk7XG4gICAgICAgIHRoaXMuZGF0YSQgPSB0aGlzLmNvbmZpZygpLmRhdGEkLnBpcGUoXG4gICAgICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMubG9hZGluZy5zZXQoZmFsc2UpO1xuICAgICAgICAgICAgICAgIC8vIFJlbW92ZWQgZGV0ZWN0Q2hhbmdlcygpIC0gc2lnbmFscyBoYW5kbGUgdGhpcyBhdXRvbWF0aWNhbGx5XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoZXJyID0+IHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKFwiRXJyb3I6IFVua25vd24gZXJyb3Igb2NjdXJyZWQgd2hpbGUgZmV0Y2hpbmcgY2FsZW5kYXIgZGF0YVwiLCBlcnIpO1xuICAgICAgICAgICAgICAgIHRoaXMubG9hZGluZy5zZXQoZmFsc2UpO1xuICAgICAgICAgICAgICAgIHRoaXMuZXJyb3Iuc2V0KHRydWUpO1xuICAgICAgICAgICAgICAgIHJldHVybiBbXTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfTtcblxuICAgIHN3aXRjaE9uSW5maW5pdGVTY3JvbGwgPSAoKTogdm9pZCA9PiB7XG4gICAgICAgIHRoaXMuZXJyb3Iuc2V0KGZhbHNlKTtcbiAgICAgICAgdGhpcy5sb2FkaW5nLnNldCh0cnVlKTtcbiAgICAgICAgdGhpcy5lbmRPZkluZmluaXRlRGF0YS5zZXQoZmFsc2UpO1xuICAgICAgICB0aGlzLm9mZnNldC5uZXh0KDApO1xuICAgICAgICB0aGlzLnNldHVwSW5maW5pdGVTY3JvbGwoKTtcbiAgICB9O1xuXG4gICAgc2V0dXBJbmZpbml0ZVNjcm9sbCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgYmF0Y2hNYXAgPSB0aGlzLm9mZnNldC5waXBlKFxuICAgICAgICAgICAgdGhyb3R0bGVUaW1lKDUwMCksXG4gICAgICAgICAgICBtZXJnZU1hcChvZmZzZXQgPT4gdGhpcy5nZXRCYXRjaChvZmZzZXQpKSxcbiAgICAgICAgICAgIHNjYW4oKGFjYzogQXJyYXk8YW55PiwgYmF0Y2g6IEFycmF5PGFueT4pID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gWy4uLmFjYywgLi4uYmF0Y2hdO1xuICAgICAgICAgICAgfSwgW10pXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuZGF0YSQgPSBiYXRjaE1hcC5waXBlKFxuICAgICAgICAgICAgdGFwKGRhdGEgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMucm93c0xvYWRpbmcuc2V0KGZhbHNlKTtcbiAgICAgICAgICAgICAgICB0aGlzLmxvYWRpbmcuc2V0KGZhbHNlKTtcbiAgICAgICAgICAgICAgICAvLyBSZW1vdmVkIHNldFRpbWVvdXQgYW5kIGRldGVjdENoYW5nZXMoKSAtIHNpZ25hbHMgaGFuZGxlIHRoaXMgYXV0b21hdGljYWxseVxuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBuZXh0QmF0Y2gob2Zmc2V0KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmVuZE9mSW5maW5pdGVEYXRhKCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBlbmQgPSB0aGlzLnZpZXdQb3J0LmdldFJlbmRlcmVkUmFuZ2UoKS5lbmQ7XG4gICAgICAgIGNvbnN0IHRvdGFsID0gdGhpcy52aWV3UG9ydC5nZXREYXRhTGVuZ3RoKCk7XG4gICAgICAgIG9mZnNldCA9IE1hdGguY2VpbChvZmZzZXQgLyB0aGlzLmNvbmZpZygpLnBhZ2VTaXplKTtcbiAgICAgICAgaWYgKGVuZCA9PT0gdG90YWwgJiYgIXRoaXMucm93c0xvYWRpbmcoKSkge1xuICAgICAgICAgICAgdGhpcy5vZmZzZXQubmV4dChvZmZzZXQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0QmF0Y2gob2Zmc2V0KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgdGhpcy5yb3dzTG9hZGluZy5zZXQodHJ1ZSk7XG4gICAgICAgIGlmIChvZmZzZXQgPT0gbnVsbCkgb2Zmc2V0ID0gMDtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29uZmlnKClcbiAgICAgICAgICAgIC5pbmZpbml0ZVNjcm9sbERhdGFGdW5jdGlvbihvZmZzZXQsIHRoaXMuY29uZmlnKCkucGFnZVNpemUpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICB0YXAoKGFycjogQXJyYXk8YW55PikgPT4ge1xuICAgICAgICAgICAgICAgICAgICBhcnIubGVuZ3RoIDwgdGhpcy5jb25maWcoKS5wYWdlU2l6ZSA/IHRoaXMuZW5kT2ZJbmZpbml0ZURhdGEuc2V0KHRydWUpIDogbnVsbDtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBjYXRjaEVycm9yKGVyciA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXCJFcnJvcjogVW5rbm93biBlcnJvciBvY2N1cnJlZCB3aGlsZSBmZXRjaGluZyBjYWxlbmRhciBkYXRhXCIsIGVycik7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucm93c0xvYWRpbmcuc2V0KGZhbHNlKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nLnNldChmYWxzZSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZXJyb3Iuc2V0KHRydWUpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gW107XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICk7XG4gICAgfVxufSIsIjxkaXYgY2xhc3M9XCJzdGF0ZS1jb250YWluZXJcIiAqbmdJZj1cImxvYWRpbmcoKVwiPlxuICAgIDxtaXMtbG9hZGVyPjwvbWlzLWxvYWRlcj5cbjwvZGl2PlxuPGRpdiBjbGFzcz1cInN0YXRlLWNvbnRhaW5lclwiICpuZ0lmPVwiIWxvYWRpbmcoKSAmJiBlcnJvcigpXCI+XG4gICAgPHNwYW4+VW5rbm93biBlcnJvciBoYXMgb2NjdXJyZWQuPC9zcGFuPlxuPC9kaXY+XG48bmctY29udGFpbmVyICpuZ0lmPVwiZGF0YSQgfCBhc3luYyBhcyBkYXRhXCI+XG4gICAgPGNkay12aXJ0dWFsLXNjcm9sbC12aWV3cG9ydFxuICAgICAgICAqbmdJZj1cIiFsb2FkaW5nKCkgJiYgIWVycm9yKClcIlxuICAgICAgICAjdmlld3BvcnRcbiAgICAgICAgW21pbkJ1ZmZlclB4XT1cImNvbmZpZygpLm1pbkJ1ZmZlclB4XCJcbiAgICAgICAgW21heEJ1ZmZlclB4XT1cImNvbmZpZygpLm1heEJ1ZmZlclB4XCJcbiAgICAgICAgW2l0ZW1TaXplXT1cImNvbmZpZygpLnJvd0hlaWdodFwiXG4gICAgICAgIChzY3JvbGxlZEluZGV4Q2hhbmdlKT1cIm5leHRCYXRjaChkYXRhLmxlbmd0aClcIlxuICAgID5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqY2RrVmlydHVhbEZvcj1cImxldCBpdGVtIG9mIGRhdGE7ICBsZXQgaSA9IGluZGV4XCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJjdXN0b21JdGVtXCJcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogaXRlbSwgaW5kZXg6IGkgfVwiXG4gICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8ZGl2IGlkPVwibG9hZGVyLWNvbnRhaW5lclwiICpuZ0lmPVwicm93c0xvYWRpbmcoKVwiPlxuICAgICAgICAgICAgPG1pcy1sb2FkZXI+PC9taXMtbG9hZGVyPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Nkay12aXJ0dWFsLXNjcm9sbC12aWV3cG9ydD5cbjwvbmctY29udGFpbmVyPiJdfQ==
|