mis-crystal-design-system 14.0.0 → 14.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/action-list/action-list.component.mjs +231 -36
- package/esm2020/action-list/action-list.module.mjs +13 -12
- package/esm2020/analytics/analytics.module.mjs +7 -7
- package/esm2020/analytics/analytics.service.mjs +12 -12
- package/esm2020/async-search-dropdown/async-dropdown.component.mjs +274 -64
- package/esm2020/async-search-dropdown/async-dropdown.module.mjs +13 -12
- package/esm2020/button/button.component.mjs +64 -29
- package/esm2020/button/button.directive.mjs +18 -16
- package/esm2020/button/button.module.mjs +13 -12
- package/esm2020/checkbox/checkbox.component.mjs +61 -24
- package/esm2020/checkbox/checkbox.module.mjs +13 -12
- package/esm2020/chip/chip.component.mjs +67 -21
- package/esm2020/chip/chip.module.mjs +13 -12
- package/esm2020/datepicker_v2/datepicker.module.mjs +13 -12
- package/esm2020/datepicker_v2/tz-datepicker.directive.mjs +44 -42
- package/esm2020/datepicker_v2/tz-dp-container/tz-dp-container.component.mjs +104 -10
- package/esm2020/daterangepicker_v2/daterangepicker.module.mjs +13 -12
- package/esm2020/daterangepicker_v2/tz-daterangepicker.directive.mjs +36 -34
- package/esm2020/daterangepicker_v2/tz-drp-container/tz-drp-container.component.mjs +145 -11
- package/esm2020/drawer/drawer-body/drawer-body.component.mjs +35 -20
- package/esm2020/drawer/drawer.module.mjs +12 -11
- package/esm2020/drawer/drawer.service.mjs +9 -9
- package/esm2020/dropdown/calculate-container-height.directive.mjs +13 -13
- package/esm2020/dropdown/dropdown.component.mjs +274 -58
- package/esm2020/dropdown/dropdown.module.mjs +13 -12
- package/esm2020/dynamic-form/dynamic-form.component.mjs +423 -22
- package/esm2020/dynamic-form/dynamic-form.module.mjs +25 -24
- package/esm2020/fab/fab.component.mjs +104 -42
- package/esm2020/fab/fab.module.mjs +13 -12
- package/esm2020/input/directives/input/input.directive.mjs +14 -14
- package/esm2020/input/mis-input.component.mjs +57 -22
- package/esm2020/input/mis-input.module.mjs +13 -12
- package/esm2020/input-stepper/input-stepper/input-stepper.component.mjs +39 -17
- package/esm2020/input-stepper/input-stepper.module.mjs +19 -18
- package/esm2020/loader/loader.component.mjs +14 -9
- package/esm2020/loader/loader.module.mjs +13 -12
- package/esm2020/menu/menu-close.directive.mjs +17 -15
- package/esm2020/menu/menu.directive.mjs +26 -24
- package/esm2020/menu/menu.module.mjs +13 -12
- package/esm2020/mobile-filter/mobile-filter.component.mjs +138 -25
- package/esm2020/mobile-filter/mobile-filter.module.mjs +13 -12
- package/esm2020/modal/modal.module.mjs +12 -11
- package/esm2020/modal/modal.service.mjs +9 -9
- package/esm2020/modal/module-wrapper/module-wrapper.component.mjs +41 -26
- package/esm2020/multi-select-dropdown/multi-select-dropdown.component.mjs +229 -45
- package/esm2020/multi-select-dropdown/multi-select-dropdown.module.mjs +13 -12
- package/esm2020/nested-multi-select-dropdown/nested-multi-select-dropdown.component.mjs +234 -37
- package/esm2020/nested-multi-select-dropdown/nested-multi-select-dropdown.module.mjs +13 -12
- package/esm2020/phone-input/phone-input.component.mjs +54 -41
- package/esm2020/phone-input/phone-input.module.mjs +13 -12
- package/esm2020/radio-button/radio-button.component.mjs +26 -19
- package/esm2020/radio-button/radio-button.module.mjs +13 -12
- package/esm2020/ske-loader/ske-loader.component.mjs +36 -17
- package/esm2020/ske-loader/ske-loader.module.mjs +13 -12
- package/esm2020/slider/slider.component.mjs +23 -15
- package/esm2020/slider/slider.module.mjs +21 -20
- package/esm2020/snackbar/snackbar/snackbar.component.mjs +61 -11
- package/esm2020/snackbar/snackbar.module.mjs +17 -16
- package/esm2020/snackbar/snackbar.service.mjs +9 -9
- package/esm2020/specificdatepicker/specificdatepicker.module.mjs +13 -12
- package/esm2020/specificdatepicker/tz-sdp-container/tz-sdp-container.component.mjs +273 -13
- package/esm2020/specificdatepicker/tz-specificdatepicker.directive.mjs +48 -46
- package/esm2020/star-rating/star-rating.component.mjs +52 -26
- package/esm2020/star-rating/star-rating.module.mjs +13 -12
- package/esm2020/switch/switch.component.mjs +29 -17
- package/esm2020/switch/switch.module.mjs +13 -12
- package/esm2020/table/custom-table-cell.directive.mjs +13 -13
- package/esm2020/table/filter/filter.component.mjs +105 -16
- package/esm2020/table/sub-table/sub-table.component.mjs +138 -14
- package/esm2020/table/table.component.mjs +301 -35
- package/esm2020/table/table.module.mjs +13 -12
- package/esm2020/timepicker/timepicker.component.mjs +115 -48
- package/esm2020/timepicker/timepicker.directive.mjs +17 -17
- package/esm2020/timepicker/timepicker.module.mjs +13 -12
- package/esm2020/timerangepicker/timerangepicker.component.mjs +58 -36
- package/esm2020/timerangepicker/timerangepicker.module.mjs +13 -12
- package/esm2020/toast/toast.component.mjs +40 -23
- package/esm2020/toast/toast.data.service.mjs +9 -9
- package/esm2020/toast/toast.module.mjs +12 -11
- package/esm2020/toast/toast.service.mjs +9 -9
- package/esm2020/tooltip/tooltip-container/tooltip.component.mjs +54 -10
- package/esm2020/tooltip/tooltip.directive.mjs +29 -27
- package/esm2020/tooltip/tooltip.module.mjs +13 -12
- package/esm2020/virtual-scroll/virtual-scroll.component.mjs +92 -18
- package/esm2020/virtual-scroll/virtual-scroll.module.mjs +21 -20
- package/esm2020/widgets/services/widget.service.mjs +6 -6
- package/esm2020/widgets/widgets.module.mjs +13 -12
- package/fesm2015/mis-crystal-design-system-action-list.mjs +256 -10
- package/fesm2015/mis-crystal-design-system-action-list.mjs.map +1 -1
- package/fesm2015/mis-crystal-design-system-analytics.mjs +14 -10
- package/fesm2015/mis-crystal-design-system-analytics.mjs.map +1 -1
- package/fesm2015/mis-crystal-design-system-async-search-dropdown.mjs +279 -10
- package/fesm2015/mis-crystal-design-system-async-search-dropdown.mjs.map +1 -1
- package/fesm2015/mis-crystal-design-system-button.mjs +70 -15
- package/fesm2015/mis-crystal-design-system-button.mjs.map +1 -1
- package/fesm2015/mis-crystal-design-system-checkbox.mjs +64 -10
- package/fesm2015/mis-crystal-design-system-checkbox.mjs.map +1 -1
- package/fesm2015/mis-crystal-design-system-chip.mjs +72 -10
- package/fesm2015/mis-crystal-design-system-chip.mjs.map +1 -1
- package/fesm2015/mis-crystal-design-system-datepicker_v2.mjs +136 -16
- package/fesm2015/mis-crystal-design-system-datepicker_v2.mjs.map +1 -1
- package/fesm2015/mis-crystal-design-system-daterangepicker_v2.mjs +183 -18
- package/fesm2015/mis-crystal-design-system-daterangepicker_v2.mjs.map +1 -1
- package/fesm2015/mis-crystal-design-system-drawer.mjs +47 -19
- package/fesm2015/mis-crystal-design-system-drawer.mjs.map +1 -1
- package/fesm2015/mis-crystal-design-system-dropdown.mjs +290 -15
- package/fesm2015/mis-crystal-design-system-dropdown.mjs.map +1 -1
- package/fesm2015/mis-crystal-design-system-dynamic-form.mjs +511 -20
- package/fesm2015/mis-crystal-design-system-dynamic-form.mjs.map +1 -1
- package/fesm2015/mis-crystal-design-system-fab.mjs +107 -23
- package/fesm2015/mis-crystal-design-system-fab.mjs.map +1 -1
- package/fesm2015/mis-crystal-design-system-input-stepper.mjs +40 -10
- package/fesm2015/mis-crystal-design-system-input-stepper.mjs.map +1 -1
- package/fesm2015/mis-crystal-design-system-input.mjs +65 -15
- package/fesm2015/mis-crystal-design-system-input.mjs.map +1 -1
- package/fesm2015/mis-crystal-design-system-loader.mjs +23 -10
- package/fesm2015/mis-crystal-design-system-loader.mjs.map +1 -1
- package/fesm2015/mis-crystal-design-system-menu.mjs +30 -15
- package/fesm2015/mis-crystal-design-system-menu.mjs.map +1 -1
- package/fesm2015/mis-crystal-design-system-mobile-filter.mjs +148 -10
- package/fesm2015/mis-crystal-design-system-mobile-filter.mjs.map +1 -1
- package/fesm2015/mis-crystal-design-system-modal.mjs +50 -22
- package/fesm2015/mis-crystal-design-system-modal.mjs.map +1 -1
- package/fesm2015/mis-crystal-design-system-multi-select-dropdown.mjs +238 -10
- package/fesm2015/mis-crystal-design-system-multi-select-dropdown.mjs.map +1 -1
- package/fesm2015/mis-crystal-design-system-nested-multi-select-dropdown.mjs +252 -10
- package/fesm2015/mis-crystal-design-system-nested-multi-select-dropdown.mjs.map +1 -1
- package/fesm2015/mis-crystal-design-system-phone-input.mjs +31 -10
- package/fesm2015/mis-crystal-design-system-phone-input.mjs.map +1 -1
- package/fesm2015/mis-crystal-design-system-radio-button.mjs +25 -10
- package/fesm2015/mis-crystal-design-system-radio-button.mjs.map +1 -1
- package/fesm2015/mis-crystal-design-system-ske-loader.mjs +40 -10
- package/fesm2015/mis-crystal-design-system-ske-loader.mjs.map +1 -1
- package/fesm2015/mis-crystal-design-system-slider.mjs +30 -12
- package/fesm2015/mis-crystal-design-system-slider.mjs.map +1 -1
- package/fesm2015/mis-crystal-design-system-snackbar.mjs +85 -14
- package/fesm2015/mis-crystal-design-system-snackbar.mjs.map +1 -1
- package/fesm2015/mis-crystal-design-system-specificdatepicker.mjs +332 -17
- package/fesm2015/mis-crystal-design-system-specificdatepicker.mjs.map +1 -1
- package/fesm2015/mis-crystal-design-system-star-rating.mjs +47 -10
- package/fesm2015/mis-crystal-design-system-star-rating.mjs.map +1 -1
- package/fesm2015/mis-crystal-design-system-switch.mjs +30 -10
- package/fesm2015/mis-crystal-design-system-switch.mjs.map +1 -1
- package/fesm2015/mis-crystal-design-system-table.mjs +620 -25
- package/fesm2015/mis-crystal-design-system-table.mjs.map +1 -1
- package/fesm2015/mis-crystal-design-system-timepicker.mjs +107 -16
- package/fesm2015/mis-crystal-design-system-timepicker.mjs.map +1 -1
- package/fesm2015/mis-crystal-design-system-timerangepicker.mjs +43 -11
- package/fesm2015/mis-crystal-design-system-timerangepicker.mjs.map +1 -1
- package/fesm2015/mis-crystal-design-system-toast.mjs +57 -25
- package/fesm2015/mis-crystal-design-system-toast.mjs.map +1 -1
- package/fesm2015/mis-crystal-design-system-tooltip.mjs +87 -15
- package/fesm2015/mis-crystal-design-system-tooltip.mjs.map +1 -1
- package/fesm2015/mis-crystal-design-system-virtual-scroll.mjs +117 -12
- package/fesm2015/mis-crystal-design-system-virtual-scroll.mjs.map +1 -1
- package/fesm2015/mis-crystal-design-system-widgets.mjs +8 -5
- package/fesm2015/mis-crystal-design-system-widgets.mjs.map +1 -1
- package/fesm2020/mis-crystal-design-system-action-list.mjs +242 -46
- package/fesm2020/mis-crystal-design-system-action-list.mjs.map +1 -1
- package/fesm2020/mis-crystal-design-system-analytics.mjs +17 -17
- package/fesm2020/mis-crystal-design-system-analytics.mjs.map +1 -1
- package/fesm2020/mis-crystal-design-system-async-search-dropdown.mjs +285 -74
- package/fesm2020/mis-crystal-design-system-async-search-dropdown.mjs.map +1 -1
- package/fesm2020/mis-crystal-design-system-button.mjs +92 -54
- package/fesm2020/mis-crystal-design-system-button.mjs.map +1 -1
- package/fesm2020/mis-crystal-design-system-checkbox.mjs +72 -34
- package/fesm2020/mis-crystal-design-system-checkbox.mjs.map +1 -1
- package/fesm2020/mis-crystal-design-system-chip.mjs +78 -31
- package/fesm2020/mis-crystal-design-system-chip.mjs.map +1 -1
- package/fesm2020/mis-crystal-design-system-datepicker_v2.mjs +158 -61
- package/fesm2020/mis-crystal-design-system-datepicker_v2.mjs.map +1 -1
- package/fesm2020/mis-crystal-design-system-daterangepicker_v2.mjs +191 -55
- package/fesm2020/mis-crystal-design-system-daterangepicker_v2.mjs.map +1 -1
- package/fesm2020/mis-crystal-design-system-drawer.mjs +53 -37
- package/fesm2020/mis-crystal-design-system-drawer.mjs.map +1 -1
- package/fesm2020/mis-crystal-design-system-dropdown.mjs +297 -80
- package/fesm2020/mis-crystal-design-system-dropdown.mjs.map +1 -1
- package/fesm2020/mis-crystal-design-system-dynamic-form.mjs +446 -45
- package/fesm2020/mis-crystal-design-system-dynamic-form.mjs.map +1 -1
- package/fesm2020/mis-crystal-design-system-fab.mjs +115 -52
- package/fesm2020/mis-crystal-design-system-fab.mjs.map +1 -1
- package/fesm2020/mis-crystal-design-system-input-stepper.mjs +56 -33
- package/fesm2020/mis-crystal-design-system-input-stepper.mjs.map +1 -1
- package/fesm2020/mis-crystal-design-system-input.mjs +81 -45
- package/fesm2020/mis-crystal-design-system-input.mjs.map +1 -1
- package/fesm2020/mis-crystal-design-system-loader.mjs +25 -19
- package/fesm2020/mis-crystal-design-system-loader.mjs.map +1 -1
- package/fesm2020/mis-crystal-design-system-menu.mjs +53 -48
- package/fesm2020/mis-crystal-design-system-menu.mjs.map +1 -1
- package/fesm2020/mis-crystal-design-system-mobile-filter.mjs +149 -35
- package/fesm2020/mis-crystal-design-system-mobile-filter.mjs.map +1 -1
- package/fesm2020/mis-crystal-design-system-modal.mjs +59 -43
- package/fesm2020/mis-crystal-design-system-modal.mjs.map +1 -1
- package/fesm2020/mis-crystal-design-system-multi-select-dropdown.mjs +240 -55
- package/fesm2020/mis-crystal-design-system-multi-select-dropdown.mjs.map +1 -1
- package/fesm2020/mis-crystal-design-system-nested-multi-select-dropdown.mjs +245 -47
- package/fesm2020/mis-crystal-design-system-nested-multi-select-dropdown.mjs.map +1 -1
- package/fesm2020/mis-crystal-design-system-phone-input.mjs +65 -51
- package/fesm2020/mis-crystal-design-system-phone-input.mjs.map +1 -1
- package/fesm2020/mis-crystal-design-system-radio-button.mjs +37 -29
- package/fesm2020/mis-crystal-design-system-radio-button.mjs.map +1 -1
- package/fesm2020/mis-crystal-design-system-ske-loader.mjs +47 -27
- package/fesm2020/mis-crystal-design-system-ske-loader.mjs.map +1 -1
- package/fesm2020/mis-crystal-design-system-slider.mjs +42 -33
- package/fesm2020/mis-crystal-design-system-slider.mjs.map +1 -1
- package/fesm2020/mis-crystal-design-system-snackbar.mjs +84 -33
- package/fesm2020/mis-crystal-design-system-snackbar.mjs.map +1 -1
- package/fesm2020/mis-crystal-design-system-specificdatepicker.mjs +331 -68
- package/fesm2020/mis-crystal-design-system-specificdatepicker.mjs.map +1 -1
- package/fesm2020/mis-crystal-design-system-star-rating.mjs +63 -36
- package/fesm2020/mis-crystal-design-system-star-rating.mjs.map +1 -1
- package/fesm2020/mis-crystal-design-system-switch.mjs +40 -27
- package/fesm2020/mis-crystal-design-system-switch.mjs.map +1 -1
- package/fesm2020/mis-crystal-design-system-table.mjs +565 -85
- package/fesm2020/mis-crystal-design-system-table.mjs.map +1 -1
- package/fesm2020/mis-crystal-design-system-timepicker.mjs +142 -74
- package/fesm2020/mis-crystal-design-system-timepicker.mjs.map +1 -1
- package/fesm2020/mis-crystal-design-system-timerangepicker.mjs +69 -46
- package/fesm2020/mis-crystal-design-system-timerangepicker.mjs.map +1 -1
- package/fesm2020/mis-crystal-design-system-toast.mjs +66 -48
- package/fesm2020/mis-crystal-design-system-toast.mjs.map +1 -1
- package/fesm2020/mis-crystal-design-system-tooltip.mjs +93 -46
- package/fesm2020/mis-crystal-design-system-tooltip.mjs.map +1 -1
- package/fesm2020/mis-crystal-design-system-virtual-scroll.mjs +111 -36
- package/fesm2020/mis-crystal-design-system-virtual-scroll.mjs.map +1 -1
- package/fesm2020/mis-crystal-design-system-widgets.mjs +12 -11
- package/fesm2020/mis-crystal-design-system-widgets.mjs.map +1 -1
- package/package.json +5 -2
- package/timepicker/timepicker.component.d.ts +1 -1
|
@@ -8,6 +8,181 @@ import * as i1 from "@angular/cdk/overlay";
|
|
|
8
8
|
import * as i2 from "@angular/common";
|
|
9
9
|
import * as i3 from "@angular/forms";
|
|
10
10
|
import * as i4 from "mis-crystal-design-system/loader";
|
|
11
|
+
const _c0 = ["misCustomItem"];
|
|
12
|
+
const _c1 = ["asyncCustomLoader"];
|
|
13
|
+
const _c2 = ["ddBtn"];
|
|
14
|
+
const _c3 = ["input"];
|
|
15
|
+
const _c4 = ["dd"];
|
|
16
|
+
const _c5 = function (a0, a1) { return { "chip-md": a0, "chip-sm": a1 }; };
|
|
17
|
+
const _c6 = function (a0, a1) { return { "h6": a0, "h8-b": a1 }; };
|
|
18
|
+
const _c7 = function (a0) { return { "font-size": a0 }; };
|
|
19
|
+
function AsyncDropdownComponent_div_2_div_1_Template(rf, ctx) { if (rf & 1) {
|
|
20
|
+
const _r11 = i0.ɵɵgetCurrentView();
|
|
21
|
+
i0.ɵɵelementStart(0, "div", 11)(1, "span", 12);
|
|
22
|
+
i0.ɵɵtext(2);
|
|
23
|
+
i0.ɵɵelementEnd();
|
|
24
|
+
i0.ɵɵelementStart(3, "span", 13);
|
|
25
|
+
i0.ɵɵlistener("click", function AsyncDropdownComponent_div_2_div_1_Template_span_click_3_listener() { const restoredCtx = i0.ɵɵrestoreView(_r11); const item_r9 = restoredCtx.$implicit; const ctx_r10 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r10.removeItem(item_r9)); });
|
|
26
|
+
i0.ɵɵelementEnd()();
|
|
27
|
+
} if (rf & 2) {
|
|
28
|
+
const item_r9 = ctx.$implicit;
|
|
29
|
+
const ctx_r8 = i0.ɵɵnextContext(2);
|
|
30
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction2(4, _c5, ctx_r8.size === "md", ctx_r8.size === "sm"));
|
|
31
|
+
i0.ɵɵadvance(1);
|
|
32
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction2(7, _c6, ctx_r8.size === "md", ctx_r8.size === "sm"));
|
|
33
|
+
i0.ɵɵadvance(1);
|
|
34
|
+
i0.ɵɵtextInterpolate(item_r9[ctx_r8.displayKey]);
|
|
35
|
+
i0.ɵɵadvance(1);
|
|
36
|
+
i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction1(10, _c7, ctx_r8.size === "sm" ? "12px" : "14px"));
|
|
37
|
+
} }
|
|
38
|
+
function AsyncDropdownComponent_div_2_Template(rf, ctx) { if (rf & 1) {
|
|
39
|
+
i0.ɵɵelementStart(0, "div", 9);
|
|
40
|
+
i0.ɵɵtemplate(1, AsyncDropdownComponent_div_2_div_1_Template, 4, 12, "div", 10);
|
|
41
|
+
i0.ɵɵelementEnd();
|
|
42
|
+
} if (rf & 2) {
|
|
43
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
44
|
+
i0.ɵɵadvance(1);
|
|
45
|
+
i0.ɵɵproperty("ngForOf", ctx_r1.selectedItems);
|
|
46
|
+
} }
|
|
47
|
+
const _c8 = function (a0, a1) { return { "ip-md": a0, "ip-sm": a1 }; };
|
|
48
|
+
function AsyncDropdownComponent_input_5_Template(rf, ctx) { if (rf & 1) {
|
|
49
|
+
const _r14 = i0.ɵɵgetCurrentView();
|
|
50
|
+
i0.ɵɵelementStart(0, "input", 14, 15);
|
|
51
|
+
i0.ɵɵlistener("focus", function AsyncDropdownComponent_input_5_Template_input_focus_0_listener() { i0.ɵɵrestoreView(_r14); const ctx_r13 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r13.defaultCall()); });
|
|
52
|
+
i0.ɵɵelementEnd();
|
|
53
|
+
} if (rf & 2) {
|
|
54
|
+
const ctx_r2 = i0.ɵɵnextContext();
|
|
55
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction2(3, _c8, ctx_r2.size === "md", ctx_r2.size === "sm"))("placeholder", ctx_r2.placeholder)("formControl", ctx_r2.searchInput);
|
|
56
|
+
} }
|
|
57
|
+
function AsyncDropdownComponent_ng_template_6_Template(rf, ctx) { if (rf & 1) {
|
|
58
|
+
const _r17 = i0.ɵɵgetCurrentView();
|
|
59
|
+
i0.ɵɵelementStart(0, "input", 16, 15);
|
|
60
|
+
i0.ɵɵlistener("focus", function AsyncDropdownComponent_ng_template_6_Template_input_focus_0_listener() { i0.ɵɵrestoreView(_r17); const ctx_r16 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r16.defaultCall()); });
|
|
61
|
+
i0.ɵɵelementEnd();
|
|
62
|
+
} if (rf & 2) {
|
|
63
|
+
const ctx_r4 = i0.ɵɵnextContext();
|
|
64
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction2(3, _c8, ctx_r4.size === "md", ctx_r4.size === "sm"))("placeholder", ctx_r4.placeholder)("formControl", ctx_r4.searchInput);
|
|
65
|
+
} }
|
|
66
|
+
function AsyncDropdownComponent_div_8_Template(rf, ctx) { if (rf & 1) {
|
|
67
|
+
const _r19 = i0.ɵɵgetCurrentView();
|
|
68
|
+
i0.ɵɵelementStart(0, "div", 17);
|
|
69
|
+
i0.ɵɵlistener("click", function AsyncDropdownComponent_div_8_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r19); const ctx_r18 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r18.removeInputValue()); });
|
|
70
|
+
i0.ɵɵelementEnd();
|
|
71
|
+
} }
|
|
72
|
+
function AsyncDropdownComponent_ng_template_9_ng_container_1_ng_container_1_Template(rf, ctx) { if (rf & 1) {
|
|
73
|
+
i0.ɵɵelementContainer(0, 22);
|
|
74
|
+
} if (rf & 2) {
|
|
75
|
+
const ctx_r24 = i0.ɵɵnextContext(3);
|
|
76
|
+
i0.ɵɵproperty("ngTemplateOutlet", ctx_r24.customLoader);
|
|
77
|
+
} }
|
|
78
|
+
function AsyncDropdownComponent_ng_template_9_ng_container_1_ng_template_2_div_0_Template(rf, ctx) { if (rf & 1) {
|
|
79
|
+
i0.ɵɵelementStart(0, "div", 24);
|
|
80
|
+
i0.ɵɵelement(1, "mis-loader", 25);
|
|
81
|
+
i0.ɵɵelementEnd();
|
|
82
|
+
} if (rf & 2) {
|
|
83
|
+
i0.ɵɵadvance(1);
|
|
84
|
+
i0.ɵɵproperty("mobileView", true);
|
|
85
|
+
} }
|
|
86
|
+
function AsyncDropdownComponent_ng_template_9_ng_container_1_ng_template_2_Template(rf, ctx) { if (rf & 1) {
|
|
87
|
+
i0.ɵɵtemplate(0, AsyncDropdownComponent_ng_template_9_ng_container_1_ng_template_2_div_0_Template, 2, 1, "div", 23);
|
|
88
|
+
} if (rf & 2) {
|
|
89
|
+
const ctx_r26 = i0.ɵɵnextContext(3);
|
|
90
|
+
i0.ɵɵproperty("ngIf", ctx_r26.loading && !ctx_r26.customLoader);
|
|
91
|
+
} }
|
|
92
|
+
function AsyncDropdownComponent_ng_template_9_ng_container_1_Template(rf, ctx) { if (rf & 1) {
|
|
93
|
+
i0.ɵɵelementContainerStart(0);
|
|
94
|
+
i0.ɵɵtemplate(1, AsyncDropdownComponent_ng_template_9_ng_container_1_ng_container_1_Template, 1, 1, "ng-container", 20);
|
|
95
|
+
i0.ɵɵtemplate(2, AsyncDropdownComponent_ng_template_9_ng_container_1_ng_template_2_Template, 1, 1, "ng-template", null, 21, i0.ɵɵtemplateRefExtractor);
|
|
96
|
+
i0.ɵɵelementContainerEnd();
|
|
97
|
+
} if (rf & 2) {
|
|
98
|
+
const _r25 = i0.ɵɵreference(3);
|
|
99
|
+
const ctx_r20 = i0.ɵɵnextContext(2);
|
|
100
|
+
i0.ɵɵadvance(1);
|
|
101
|
+
i0.ɵɵproperty("ngIf", ctx_r20.customLoader)("ngIfElse", _r25);
|
|
102
|
+
} }
|
|
103
|
+
function AsyncDropdownComponent_ng_template_9_ng_container_2_Template(rf, ctx) { if (rf & 1) {
|
|
104
|
+
i0.ɵɵelementContainerStart(0);
|
|
105
|
+
i0.ɵɵelementStart(1, "div", 24)(2, "p");
|
|
106
|
+
i0.ɵɵtext(3, "Unknown error has occurred, ");
|
|
107
|
+
i0.ɵɵelement(4, "br");
|
|
108
|
+
i0.ɵɵtext(5, " Please try again later.");
|
|
109
|
+
i0.ɵɵelementEnd()();
|
|
110
|
+
i0.ɵɵelementContainerEnd();
|
|
111
|
+
} }
|
|
112
|
+
const _c9 = function (a0) { return { $implicit: a0 }; };
|
|
113
|
+
function AsyncDropdownComponent_ng_template_9_div_3_ng_container_1_ng_container_2_Template(rf, ctx) { if (rf & 1) {
|
|
114
|
+
i0.ɵɵelementContainer(0, 30);
|
|
115
|
+
} if (rf & 2) {
|
|
116
|
+
const item_r29 = i0.ɵɵnextContext().$implicit;
|
|
117
|
+
const ctx_r30 = i0.ɵɵnextContext(3);
|
|
118
|
+
i0.ɵɵproperty("ngTemplateOutlet", ctx_r30.customItem)("ngTemplateOutletContext", i0.ɵɵpureFunction1(2, _c9, item_r29));
|
|
119
|
+
} }
|
|
120
|
+
function AsyncDropdownComponent_ng_template_9_div_3_ng_container_1_ng_template_3_Template(rf, ctx) { if (rf & 1) {
|
|
121
|
+
i0.ɵɵelementStart(0, "div", 31)(1, "div", 32)(2, "div", 33);
|
|
122
|
+
i0.ɵɵtext(3);
|
|
123
|
+
i0.ɵɵelementEnd();
|
|
124
|
+
i0.ɵɵelementStart(4, "div", 34);
|
|
125
|
+
i0.ɵɵtext(5);
|
|
126
|
+
i0.ɵɵelementEnd()()();
|
|
127
|
+
} if (rf & 2) {
|
|
128
|
+
const item_r29 = i0.ɵɵnextContext().$implicit;
|
|
129
|
+
const ctx_r32 = i0.ɵɵnextContext(3);
|
|
130
|
+
i0.ɵɵadvance(3);
|
|
131
|
+
i0.ɵɵtextInterpolate1(" ", item_r29[ctx_r32.displayKey], " ");
|
|
132
|
+
i0.ɵɵadvance(2);
|
|
133
|
+
i0.ɵɵtextInterpolate1(" ", item_r29[ctx_r32.secondaryDisplayKey], " ");
|
|
134
|
+
} }
|
|
135
|
+
function AsyncDropdownComponent_ng_template_9_div_3_ng_container_1_Template(rf, ctx) { if (rf & 1) {
|
|
136
|
+
const _r36 = i0.ɵɵgetCurrentView();
|
|
137
|
+
i0.ɵɵelementContainerStart(0);
|
|
138
|
+
i0.ɵɵelementStart(1, "div", 27);
|
|
139
|
+
i0.ɵɵlistener("click", function AsyncDropdownComponent_ng_template_9_div_3_ng_container_1_Template_div_click_1_listener() { const restoredCtx = i0.ɵɵrestoreView(_r36); const item_r29 = restoredCtx.$implicit; const ctx_r35 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r35.selectData(item_r29, false)); });
|
|
140
|
+
i0.ɵɵtemplate(2, AsyncDropdownComponent_ng_template_9_div_3_ng_container_1_ng_container_2_Template, 1, 4, "ng-container", 28);
|
|
141
|
+
i0.ɵɵtemplate(3, AsyncDropdownComponent_ng_template_9_div_3_ng_container_1_ng_template_3_Template, 6, 2, "ng-template", null, 29, i0.ɵɵtemplateRefExtractor);
|
|
142
|
+
i0.ɵɵelementEnd();
|
|
143
|
+
i0.ɵɵelementContainerEnd();
|
|
144
|
+
} if (rf & 2) {
|
|
145
|
+
const _r31 = i0.ɵɵreference(4);
|
|
146
|
+
const ctx_r28 = i0.ɵɵnextContext(3);
|
|
147
|
+
i0.ɵɵadvance(2);
|
|
148
|
+
i0.ɵɵproperty("ngIf", ctx_r28.customItem)("ngIfElse", _r31);
|
|
149
|
+
} }
|
|
150
|
+
function AsyncDropdownComponent_ng_template_9_div_3_Template(rf, ctx) { if (rf & 1) {
|
|
151
|
+
i0.ɵɵelementStart(0, "div");
|
|
152
|
+
i0.ɵɵtemplate(1, AsyncDropdownComponent_ng_template_9_div_3_ng_container_1_Template, 5, 2, "ng-container", 26);
|
|
153
|
+
i0.ɵɵelementEnd();
|
|
154
|
+
} if (rf & 2) {
|
|
155
|
+
const ctx_r22 = i0.ɵɵnextContext(2);
|
|
156
|
+
i0.ɵɵadvance(1);
|
|
157
|
+
i0.ɵɵproperty("ngForOf", ctx_r22.data);
|
|
158
|
+
} }
|
|
159
|
+
function AsyncDropdownComponent_ng_template_9_div_4_Template(rf, ctx) { if (rf & 1) {
|
|
160
|
+
i0.ɵɵelementStart(0, "div")(1, "div", 35);
|
|
161
|
+
i0.ɵɵtext(2, "No Data Available");
|
|
162
|
+
i0.ɵɵelementEnd()();
|
|
163
|
+
} }
|
|
164
|
+
const _c10 = function (a0) { return { "max-height": a0 }; };
|
|
165
|
+
const _c11 = function (a0) { return { "dd-list-pd": a0 }; };
|
|
166
|
+
function AsyncDropdownComponent_ng_template_9_Template(rf, ctx) { if (rf & 1) {
|
|
167
|
+
i0.ɵɵelementStart(0, "div", 18);
|
|
168
|
+
i0.ɵɵtemplate(1, AsyncDropdownComponent_ng_template_9_ng_container_1_Template, 4, 2, "ng-container", 19);
|
|
169
|
+
i0.ɵɵtemplate(2, AsyncDropdownComponent_ng_template_9_ng_container_2_Template, 6, 0, "ng-container", 19);
|
|
170
|
+
i0.ɵɵtemplate(3, AsyncDropdownComponent_ng_template_9_div_3_Template, 2, 1, "div", 19);
|
|
171
|
+
i0.ɵɵtemplate(4, AsyncDropdownComponent_ng_template_9_div_4_Template, 3, 0, "div", 19);
|
|
172
|
+
i0.ɵɵelementEnd();
|
|
173
|
+
} if (rf & 2) {
|
|
174
|
+
const ctx_r7 = i0.ɵɵnextContext();
|
|
175
|
+
i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction1(6, _c10, ctx_r7.height))("ngClass", i0.ɵɵpureFunction1(8, _c11, ctx_r7.data.length === 0));
|
|
176
|
+
i0.ɵɵadvance(1);
|
|
177
|
+
i0.ɵɵproperty("ngIf", ctx_r7.loading);
|
|
178
|
+
i0.ɵɵadvance(1);
|
|
179
|
+
i0.ɵɵproperty("ngIf", ctx_r7.error);
|
|
180
|
+
i0.ɵɵadvance(1);
|
|
181
|
+
i0.ɵɵproperty("ngIf", !ctx_r7.loading && !ctx_r7.error && ctx_r7.data.length > 0);
|
|
182
|
+
i0.ɵɵadvance(1);
|
|
183
|
+
i0.ɵɵproperty("ngIf", !ctx_r7.loading && !ctx_r7.error && ctx_r7.data.length === 0 && ctx_r7.searchInput.value);
|
|
184
|
+
} }
|
|
185
|
+
const _c12 = function (a0, a1, a2) { return { opened: a0, disabled: a1, readonly: a2 }; };
|
|
11
186
|
export class AsyncDropdownComponent {
|
|
12
187
|
constructor(overlay, viewContainerRef, _ngZone) {
|
|
13
188
|
this.overlay = overlay;
|
|
@@ -197,67 +372,102 @@ export class AsyncDropdownComponent {
|
|
|
197
372
|
}
|
|
198
373
|
}
|
|
199
374
|
}
|
|
200
|
-
AsyncDropdownComponent.ɵfac =
|
|
201
|
-
AsyncDropdownComponent.ɵcmp = i0.ɵɵ
|
|
202
|
-
i0.ɵɵ
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXN5bmMtZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvYXN5bmMtc2VhcmNoLWRyb3Bkb3duL2FzeW5jLWRyb3Bkb3duLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL21pcy1jb21wb25lbnRzL2FzeW5jLXNlYXJjaC1kcm9wZG93bi9hc3luYy1kcm9wZG93bi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsc0JBQXNCLEVBQVcsYUFBYSxFQUFjLE1BQU0sc0JBQXNCLENBQUM7QUFDbEcsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFFTCxTQUFTLEVBQ1QsWUFBWSxFQUVaLFlBQVksRUFFWixLQUFLLEVBS0wsTUFBTSxFQUdOLFNBQVMsRUFFVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQW1CLGtCQUFrQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckUsT0FBTyxFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBVSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7O0FBVWpGLE1BQU0sT0FBTyxzQkFBc0I7SUFDakMsWUFBb0IsT0FBZ0IsRUFBVSxnQkFBa0MsRUFBVSxPQUFlO1FBQXJGLFlBQU8sR0FBUCxPQUFPLENBQVM7UUFBVSxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQVUsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQUVoRyxTQUFJLEdBQWdCLElBQUksQ0FBQTtRQUl4QixnQkFBVyxHQUFHLFFBQVEsQ0FBQyxDQUFDLHdCQUF3QjtRQUNoRCxpQkFBWSxHQUFHLEdBQUcsQ0FBQyxDQUFDLDBDQUEwQztRQUM5RCxtQkFBYyxHQUFHLENBQUMsQ0FBQyxDQUFDLDBDQUEwQztRQUM5RCxVQUFLLEdBQUcsS0FBSyxDQUFDLENB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Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ2lDLE1BQU07c0JBQTVDLFNBQVM7dUJBQUMsT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFDRSxLQUFLO3NCQUEzQyxTQUFTO3VCQUFDLE9BQU8sRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBQ0QsRUFBRTtzQkFBckMsU0FBUzt1QkFBQyxJQUFJLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQUVsQyxVQUFVO3NCQURULFlBQVk7dUJBQUMsZUFBZSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFHaEQsWUFBWTtzQkFEWCxZQUFZO3VCQUFDLG1CQUFtQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBQztnQkFHekMsUUFBUTtzQkFBakIsTUFBTTtnQkFPRSxVQUFVO3NCQUFsQixLQUFLO2dCQUtHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0ksaUJBQWlCO3NCQUExQixNQUFNO2dCQUNHLEtBQUs7c0JBQWQsTUFBTTtnQkFDRyxZQUFZO3NCQUFyQixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0aW9uUG9zaXRpb25QYWlyLCBPdmVybGF5LCBPdmVybGF5Q29uZmlnLCBPdmVybGF5UmVmIH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9vdmVybGF5XCI7XG5pbXBvcnQgeyBUZW1wbGF0ZVBvcnRhbCB9IGZyb20gXCJAYW5ndWxhci9jZGsvcG9ydGFsXCI7XG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBOZ1pvbmUsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0NvbnRhaW5lclJlZlxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBVbnR5cGVkRm9ybUNvbnRyb2wgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBmaWx0ZXIsIHRhcCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuXG4vLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmVcbnR5cGUgSUxpc3REYXRhID0gYW55O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwibWlzLWFzeW5jLXNlYXJjaC1kcm9wZG93blwiLFxuICB0ZW1wbGF0ZVVybDogXCIuL2FzeW5jLWRyb3Bkb3duLmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlVXJsczogW1wiLi9hc3luYy1kcm9wZG93bi5jb21wb25lbnQuc2Nzc1wiXVxufSlcbmV4cG9ydCBjbGFzcyBBc3luY0Ryb3Bkb3duQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgb3ZlcmxheTogT3ZlcmxheSwgcHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLCBwcml2YXRlIF9uZ1pvbmU6IE5nWm9uZSkgeyB9XG4gIEBJbnB1dCgpIGhlaWdodDtcbiAgQElucHV0KCkgc2l6ZTogJ21kJyB8ICdzbScgPSAnbWQnXG4gIEBJbnB1dCgpIGh0dHBTdHJlYW0hOiAoc2VhcmNoS2V5OiBzdHJpbmcpID0+IE9ic2VydmFibGU8SUxpc3REYXRhPjsgLy8gZnVuY3Rpb24gdGhhdCByZXR1cm5zIGFuIGh0dHBvYnNlcnZhYmxlXG4gIEBJbnB1dCgpIGRpc3BsYXlLZXkhOiBzdHJpbmc7IC8vIHN0cmluZyB0byBzaG93IHZhbHVlIGluIGxpc3RcbiAgQElucHV0KCkgc2Vjb25kYXJ5RGlzcGxheUtleSE6IHN0cmluZzsgLy8gc3RyaW5nIHRvIGRpc3BsYXkgc2Vjb25kYXJ5IHZhbHVlXG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyID0gXCJTZWxlY3RcIjsgLy8gcGxhY2Vob2xkZXIgZm9yIGlucHV0XG4gIEBJbnB1dCgpIGRlYm91bmNlVGltZSA9IDQwMDsgLy8gd2FpdCB0aW1lIHRpbGwgd2hpY2ggQVBJIGNhbGwgaXMgcGF1c2VkXG4gIEBJbnB1dCgpIG1pbklucHV0TGVuZ3RoID0gMjsgLy8gbWluIGxlbmd0aCBhZnRlciB3aGljaCBBUEkgY2FsbCBpcyBtYWRlXG4gIEBJbnB1dCgpIG11bHRpID0gZmFsc2U7IC8vIG1haW50YWluIGEgbGlzdCBvciBlbWl0IHZhbHVlXG4gIEBJbnB1dCgpIHVuaXF1ZUtleTogc3RyaW5nOyAvLyBmb3IgaWRlbnRpZnlpbmcgdW5pcXVlIHZhbHVlc1xuICBASW5wdXQoKSBjb250cm9sOiBBYnN0cmFjdENvbnRyb2wgfCBudWxsOyAvLyBmb3JtIGNvbnRyb2wgZm9yIHJlYWN0aXZlIGZvcm1zXG4gIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuOyAvLyBkaXNhYmxlIGFjdGlvbnMgb24gY29tcG9uZW50XG4gIEBJbnB1dCgpIHJlYWRvbmx5OiBib29sZWFuOyAvLyBtYWtlIGNvbXBvbmVudCByZWFkb25seVxuICBASW5wdXQoKSBkaXNhYmxlQ29weVBhc3RlOiBib29sZWFuID0gZmFsc2U7XG4gIEBWaWV3Q2hpbGQoXCJkZEJ0blwiLCB7IHN0YXRpYzogZmFsc2UgfSkgb3JpZ2luOiBFbGVtZW50UmVmO1xuICBAVmlld0NoaWxkKFwiaW5wdXRcIiwgeyBzdGF0aWM6IGZhbHNlIH0pIGlucHV0OiBFbGVtZW50UmVmO1xuICBAVmlld0NoaWxkKFwiZGRcIiwgeyBzdGF0aWM6IGZhbHNlIH0pIGRkOiBUZW1wbGF0ZVJlZjxFbGVtZW50PjtcbiAgQENvbnRlbnRDaGlsZChcIm1pc0N1c3RvbUl0ZW1cIiwgeyBzdGF0aWM6IGZhbHNlIH0pXG4gIGN1c3RvbUl0ZW06IFRlbXBsYXRlUmVmPEVsZW1lbnQ+O1xuICBAQ29udGVudENoaWxkKFwiYXN5bmNDdXN0b21Mb2FkZXJcIiwgeyBzdGF0aWM6IGZhbHNlfSlcbiAgY3VzdG9tTG9hZGVyOiBUZW1wbGF0ZVJlZjxFbGVtZW50PjtcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lXG4gIEBPdXRwdXQoKSBvblNlbGVjdDogRXZlbnRFbWl0dGVyPElMaXN0RGF0YSB8IElMaXN0RGF0YVtdPiA9IG5ldyBFdmVudEVtaXR0ZXIodHJ1ZSk7IC8vIGVtaXQgc2VsZWN0ZWQgdmFsdWVzXG4gIHNlYXJjaElucHV0OiBVbnR5cGVkRm9ybUNvbnRyb2wgPSBuZXcgVW50eXBlZEZvcm1Db250cm9sKCk7XG4gIGRhdGE6IElMaXN0RGF0YVtdID0gW107XG4gIG9wZW5lZCA9IGZhbHNlO1xuICBsb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XG4gIGVycm9yOiBib29sZWFuID0gZmFsc2U7XG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZVxuICBASW5wdXQoKSBzZWxlY3Rpb25zOiBNYXA8c3RyaW5nLCBhbnk+ID0gbmV3IE1hcCgpO1xuICBwcml2YXRlIHNlYXJjaFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICBwcml2YXRlIGRlZmF1bHRDYWxsU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgb3ZlcmxheVJlZjogT3ZlcmxheVJlZjtcbiAgY29udHJvbFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uIHwgdW5kZWZpbmVkO1xuICBASW5wdXQoKSBzZWFyY2hWYWx1ZTtcbiAgQE91dHB1dCgpIHNlYXJjaFF1ZXJ5Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KClcbiAgQE91dHB1dCgpIGNsZWFyOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyKGZhbHNlKTtcbiAgQE91dHB1dCgpIGl0ZW1TZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8SUxpc3REYXRhPigpXG4gIEBPdXRwdXQoKSBpdGVtUmVtb3ZlZCA9IG5ldyBFdmVudEVtaXR0ZXI8SUxpc3REYXRhPigpXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLm11bHRpICYmICF0aGlzLnVuaXF1ZUtleSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiW3VuaXF1ZUtleV0gcmVxdWlyZWQgaW4gbXVsdGkgbW9kZS5cIik7XG4gICAgfVxuICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICB0aGlzLnNlYXJjaElucHV0LmRpc2FibGUoKTtcbiAgICB9XG4gICAgdGhpcy5zZWFyY2hTdWJzY3JpcHRpb24gPSB0aGlzLnNlYXJjaElucHV0LnZhbHVlQ2hhbmdlc1xuICAgICAgLnBpcGUoXG4gICAgICAgIC8vIGZpbHRlcih2YWwgPT4gdmFsICYmIHZhbC5sZW5ndGggPj0gdGhpcy5taW5JbnB1dExlbmd0aCksXG4gICAgICAgIHRhcCgodmFsKSA9PiB0aGlzLnNlYXJjaFF1ZXJ5Q2hhbmdlLmVtaXQodmFsKSksXG4gICAgICAgIGRlYm91bmNlVGltZSh0aGlzLmRlYm91bmNlVGltZSksXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKClcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAgICAgdGhpcy5fbmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgaWYgKHJlcz8ubGVuZ3RoIDwgdGhpcy5taW5JbnB1dExlbmd0aCB8fCAhcmVzPy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMuY2xvc2VEcm9wZG93bigpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH0gZWxzZSBpZiAocmVzPy5sZW5ndGggPiB0aGlzLm1pbklucHV0TGVuZ3RoICYmIHRoaXMuaHR0cFN0cmVhbSkge1xuICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuZXJyb3IgPSBmYWxzZTtcbiAgICAgICAgICAgIGlmKCF0aGlzLm92ZXJsYXlSZWY/Lmhhc0F0dGFjaGVkKCkpXG4gICAgICAgICAgICAgIHRoaXMub3BlbkRyb3Bkb3duKHRoaXMuZGQsIHRoaXMub3JpZ2luLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICAgICAgdGhpcy5odHRwU3RyZWFtKHJlcykuc3Vic2NyaWJlKGxpc3QgPT4ge1xuICAgICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgICAgdGhpcy5kYXRhID0gbGlzdDtcbiAgICAgICAgICAgICAgaWYgKCF0aGlzLm92ZXJsYXlSZWY/Lmhhc0F0dGFjaGVkKCkgJiYgbGlzdC5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5vcGVuRHJvcGRvd24odGhpcy5kZCwgdGhpcy5vcmlnaW4ubmF0aXZlRWxlbWVudCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIGVycm9yID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICAgIHRoaXMuZXJyb3IgPSB0cnVlO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgfSk7XG4gICAgaWYgKHRoaXMuY29udHJvbD8udmFsdWUpIHtcbiAgICAgIHRoaXMuaGFuZGxlQ29udHJvbENoYW5nZXModGhpcy5jb250cm9sLnZhbHVlKTtcbiAgICB9XG4gICAgdGhpcy5jb250cm9sU3Vic2NyaXB0aW9uID0gdGhpcy5jb250cm9sPy52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKHRoaXMuaGFuZGxlQ29udHJvbENoYW5nZXMpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VzICYmIGNoYW5nZXM/LnNlYXJjaFZhbHVlPy5jdXJyZW50VmFsdWUpIHtcbiAgICAgIHRoaXMuc2VhcmNoSW5wdXQucGF0Y2hWYWx1ZShjaGFuZ2VzLnNlYXJjaFZhbHVlLmN1cnJlbnRWYWx1ZSk7XG4gICAgfVxuICAgIGlmIChjaGFuZ2VzICYmIGNoYW5nZXMuZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuc2VhcmNoSW5wdXQuZW5hYmxlKCk7XG4gICAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgICB0aGlzLnNlYXJjaElucHV0LmRpc2FibGUoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnNlYXJjaFN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLmRlZmF1bHRDYWxsU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVDb250cm9sQ2hhbmdlcyA9ICh2YWx1ZXM6IElMaXN0RGF0YVtdKSA9PiB7XG4gICAgdmFsdWVzLmZvckVhY2goZWwgPT4ge1xuICAgICAgdGhpcy5zZWxlY3REYXRhKGVsLCB0cnVlKTtcbiAgICB9KTtcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmVcbiAgfTtcblxuICBwcml2YXRlIG9wZW5Ecm9wZG93bih0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8RWxlbWVudD4sIG9yaWdpbjogSFRNTEVsZW1lbnQpOiB2b2lkIHtcbiAgICBjb25zdCBwb3NpdGlvblN0cmF0ZWd5ID0gdGhpcy5vdmVybGF5XG4gICAgICAucG9zaXRpb24oKVxuICAgICAgLmZsZXhpYmxlQ29ubmVjdGVkVG8ob3JpZ2luKVxuICAgICAgLndpdGhQb3NpdGlvbnMoW1xuICAgICAgICBuZXcgQ29ubmVjdGlvblBvc2l0aW9uUGFpcih7IG9yaWdpblg6IFwic3RhcnRcIiwgb3JpZ2luWTogXCJib3R0b21cIiB9LCB7IG92ZXJsYXlYOiBcInN0YXJ0XCIsIG92ZXJsYXlZOiBcInRvcFwiIH0pLFxuICAgICAgICBuZXcgQ29ubmVjdGlvblBvc2l0aW9uUGFpcih7IG9yaWdpblg6IFwic3RhcnRcIiwgb3JpZ2luWTogXCJ0b3BcIiB9LCB7IG92ZXJsYXlYOiBcInN0YXJ0XCIsIG92ZXJsYXlZOiBcImJvdHRvbVwiIH0pXG4gICAgICBdKVxuICAgICAgLndpdGhQdXNoKHRydWUpO1xuXG4gICAgY29uc3QgY29uZmlncyA9IG5ldyBPdmVybGF5Q29uZmlnKHtcbiAgICAgIGhhc0JhY2tkcm9wOiB0cnVlLFxuICAgICAgYmFja2Ryb3BDbGFzczogXCJjZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcFwiLFxuICAgICAgc2Nyb2xsU3RyYXRlZ3k6IHRoaXMub3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLnJlcG9zaXRpb24oKSxcbiAgICAgIHBvc2l0aW9uU3RyYXRlZ3ksXG4gICAgICB3aWR0aDogb3JpZ2luLmNsaWVudFdpZHRoXG4gICAgfSk7XG4gICAgdGhpcy5vdmVybGF5UmVmID0gdGhpcy5vdmVybGF5LmNyZWF0ZShjb25maWdzKTtcbiAgICB0aGlzLm92ZXJsYXlSZWYuYXR0YWNoKG5ldyBUZW1wbGF0ZVBvcnRhbCh0ZW1wbGF0ZSwgdGhpcy52aWV3Q29udGFpbmVyUmVmKSk7XG4gICAgdGhpcy5vdmVybGF5UmVmLmJhY2tkcm9wQ2xpY2soKS5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAgIHRoaXMuY2xvc2VEcm9wZG93bigpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIGNsb3NlcyB0aGUgZHJvcGRvd25cbiAgICovXG4gIGNsb3NlRHJvcGRvd24oKTogdm9pZCB7XG4gICAgdGhpcy5vcGVuZWQgPSBmYWxzZTtcbiAgICB0aGlzLm92ZXJsYXlSZWY/LmRldGFjaCgpO1xuICAgIHRoaXMuZGF0YSA9IFtdO1xuICB9XG5cbiAgLyoqXG4gICAqXG4gICAqIEBwYXJhbSBpdGVtIGl0ZW0gdG8gc2VsZWN0XG4gICAqIGlmIGl0ZW0gcHJvcGVydHkgZGlzYWJsZWQgaXMgc2V0IHRvIHRydWUsIHNlbGVjdGlvbiB3aWxsIGJlIGRpc2FibGVkXG4gICAqIEBwYXJhbSBlZmZlY3RlZEZyb21PdXRzaWRlIHNldCB0byB0cnVlIGlmIGNhbGxpbmcgZnJvbSBwYXJlbnQgY29tcG9uZW50LCBpZiB0cnVlIHdpbGwgZm9jdXMgb24gc2VhcmNoIGlucHV0XG4gICAqL1xuICBzZWxlY3REYXRhKGl0ZW06IElMaXN0RGF0YSwgZWZmZWN0ZWRGcm9tT3V0c2lkZSA9IHRydWUpOiB2b2lkIHtcbiAgICBpZiAoaXRlbS5kaXNhYmxlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLml0ZW1TZWxlY3RlZC5lbWl0KGl0ZW0pXG4gICAgaWYgKCF0aGlzLm11bHRpKSB7XG4gICAgICB0aGlzLnNlYXJjaElucHV0LnBhdGNoVmFsdWUoaXRlbVt0aGlzLmRpc3BsYXlLZXldLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgICB0aGlzLnNldENvbnRyb2xWYWx1ZShpdGVtKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKCF0aGlzLnNlbGVjdGlvbnMuaGFzKGl0ZW1bdGhpcy51bmlxdWVLZXldKSkge1xuICAgICAgICB0aGlzLnNlbGVjdGlvbnMuc2V0KGl0ZW1bdGhpcy51bmlxdWVLZXldLCBpdGVtKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuc2V0Q29udHJvbFZhbHVlKHRoaXMuc2VsZWN0ZWRJdGVtcyk7XG4gICAgICBpZiAoIWVmZmVjdGVkRnJvbU91dHNpZGUpIHtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5pbnB1dC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgICAgdGhpcy5pbnB1dC5uYXRpdmVFbGVtZW50LnNjcm9sbEludG9WaWV3KCk7XG4gICAgICAgIH0sIDEwKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuc2VhcmNoSW5wdXQucGF0Y2hWYWx1ZShcIlwiKTtcbiAgICAgIHRoaXMuZGF0YSA9IFtdO1xuICAgIH1cbiAgICB0aGlzLmNsb3NlRHJvcGRvd24oKTtcbiAgfVxuXG4gIC8qKlxuICAgKlxuICAgKiBAcGFyYW0gaXRlbSByZW1vdmUgaXRlbSBmcm9tIHNlbGVjdGVkIGxpc3RcbiAgICovXG4gIHJlbW92ZUl0ZW0oaXRlbTogSUxpc3REYXRhKTogdm9pZCB7XG4gICAgdGhpcy5pdGVtUmVtb3ZlZC5lbWl0KGl0ZW0pXG4gICAgdGhpcy5zZWxlY3Rpb25zLmRlbGV0ZShpdGVtW3RoaXMudW5pcXVlS2V5XSk7XG4gICAgdGhpcy5zZXRDb250cm9sVmFsdWUodGhpcy5zZWxlY3RlZEl0ZW1zKTtcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmVcbiAgICB0aGlzLmlucHV0W1wibmF0aXZlRWxlbWVudFwiXS5mb2N1cygpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRDb250cm9sVmFsdWUodmFsdWU6IElMaXN0RGF0YSk6IHZvaWQge1xuICAgIHRoaXMub25TZWxlY3QuZW1pdCh2YWx1ZSk7XG4gICAgdGhpcy5jb250cm9sPy5wYXRjaFZhbHVlKHZhbHVlLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gIH1cblxuICAvKipcbiAgICogQHJldHVybnMgbGlzdCBvZiBzZWxlY3RlZCBpdGVtc1xuICAgKi9cbiAgZ2V0IHNlbGVjdGVkSXRlbXMoKTogQXJyYXk8SUxpc3REYXRhPiB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20odGhpcy5zZWxlY3Rpb25zLnZhbHVlcygpKTtcbiAgfVxuXG4gIHJlbW92ZUlucHV0VmFsdWUoKSB7XG4gICAgdGhpcy5zZWFyY2hJbnB1dC5yZXNldCgpO1xuICAgIHRoaXMuZGF0YSA9IFtdO1xuICAgIHRoaXMuY2xlYXIuZW1pdCh0cnVlKTtcbiAgfVxuICBkZWZhdWx0Q2FsbCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5taW5JbnB1dExlbmd0aCA9PT0gLTEpIHtcbiAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XG4gICAgICB0aGlzLmRlZmF1bHRDYWxsU3Vic2NyaXB0aW9uID0gdGhpcy5odHRwU3RyZWFtKHRoaXMuc2VhcmNoSW5wdXQudmFsdWUgfHwgJycpLnN1YnNjcmliZShsaXN0ID0+IHtcbiAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgIHRoaXMuZGF0YSA9IGxpc3Q7XG4gICAgICAgIGlmICghdGhpcy5vdmVybGF5UmVmPy5oYXNBdHRhY2hlZCgpICYmIHRoaXMuZGF0YT8ubGVuZ3RoID4gMCkge1xuICAgICAgICAgIHRoaXMub3BlbkRyb3Bkb3duKHRoaXMuZGQsIHRoaXMub3JpZ2luLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICB9XG4gICAgICB9LCBlcnJvciA9PiB7XG4gICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgICB0aGlzLmVycm9yID0gdHJ1ZTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImRkLXdyYXBwZXJcIiBbbmdDbGFzc109XCJ7IG9wZW5lZDogb3BlbmVkLCBkaXNhYmxlZDogZGlzYWJsZWQsIHJlYWRvbmx5OiByZWFkb25seSB9XCIgI2RkQnRuPlxuICA8ZGl2IGNsYXNzPVwic2VsZWN0ZWQtbGlzdFwiICpuZ0lmPVwibXVsdGkgJiYgc2VsZWN0aW9ucy5zaXplID4gMFwiPlxuICAgIDxkaXYgY2xhc3M9XCJjaGlwXCIgW25nQ2xhc3NdPVwieydjaGlwLW1kJzogc2l6ZSA9PT0gJ21kJywgJ2NoaXAtc20nOiBzaXplID09PSAnc20nfVwiICpuZ0Zvcj1cImxldCBpdGVtIG9mIHNlbGVjdGVkSXRlbXNcIj5cbiAgICAgIDxzcGFuIFtuZ0NsYXNzXT1cInsnaDYnOiBzaXplID09PSAnbWQnLCAnaDgtYic6IHNpemUgPT09ICdzbSd9XCIgc3R5bGU9XCJtYXJnaW4tcmlnaHQ6IDRweDtcIj57e2l0ZW1bZGlzcGxheUtleV19fTwvc3Bhbj5cbiAgICAgIDxzcGFuIHN0eWxlPVwiY3Vyc29yOiBwb2ludGVyO1wiIChjbGljayk9XCJyZW1vdmVJdGVtKGl0ZW0pXCIgW25nU3R5bGVdPVwieydmb250LXNpemUnOiBzaXplID09PSAnc20nID8gJzEycHgnOiAnMTRweCd9XCIgY2xhc3M9XCJpYy1uYXZpZ2F0aW9uLWNhbmNlbC0yNFwiPjwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJzZWFyY2gtaW5wdXRcIj5cbiAgICA8c3BhbiBjbGFzcz1cImljLWFjdGlvbi1zZWFyY2gtMjRcIj48L3NwYW4+XG4gICAgPGlucHV0ICpuZ0lmPVwiZGlzYWJsZUNvcHlQYXN0ZTsgZWxzZSBlbmFibGVDb3B5UGFzdGVcIiBbbmdDbGFzc109XCJ7J2lwLW1kJzogc2l6ZSA9PT0gJ21kJywgJ2lwLXNtJzogc2l6ZSA9PT0gJ3NtJ31cIiBvbmNvcHk9XCJyZXR1cm4gZmFsc2U7XCIgb25wYXN0ZT1cInJldHVybiBmYWxzZVwiIG9uY3V0PVwicmV0dXJuIGZhbHNlXCIgdGFiaW5kZXg9XCIwXCIgdHlwZT1cInRleHRcIiBjbGFzcz1cImJsYWNrLXRleHQgaDZcIiAjaW5wdXQgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCIgW2Zvcm1Db250cm9sXT1cInNlYXJjaElucHV0XCIgKGZvY3VzKT1cImRlZmF1bHRDYWxsKClcIi8+XG4gICAgPG5nLXRlbXBsYXRlICNlbmFibGVDb3B5UGFzdGU+XG4gICAgICA8aW5wdXQgW25nQ2xhc3NdPVwieydpcC1tZCc6IHNpemUgPT09ICdtZCcsICdpcC1zbSc6IHNpemUgPT09ICdzbSd9XCIgdGFiaW5kZXg9XCIwXCIgdHlwZT1cInRleHRcIiBjbGFzcz1cImJsYWNrLXRleHQgaDZcIiAjaW5wdXQgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCIgW2Zvcm1Db250cm9sXT1cInNlYXJjaElucHV0XCIgKGZvY3VzKT1cImRlZmF1bHRDYWxsKClcIiAvPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPGRpdiBjbGFzcz1cImljLW5hdmlnYXRpb24tY2FuY2VsLTI0IGNyb29zLWljb25cIiAqbmdJZj1cInNlYXJjaElucHV0Py52YWx1ZT8ubGVuZ3RoXCIgKGNsaWNrKT1cInJlbW92ZUlucHV0VmFsdWUoKVwiPjwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI2RkPlxuICA8ZGl2IGNsYXNzPVwiZGQtbGlzdFwiIFtuZ1N0eWxlXT1cInsnbWF4LWhlaWdodCc6aGVpZ2h0fVwiICBbbmdDbGFzc109XCJ7J2RkLWxpc3QtcGQnOmRhdGEubGVuZ3RoID09PSAwfVwiID5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibG9hZGluZ1wiPlxuICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAqbmdJZj1cImN1c3RvbUxvYWRlcjsgZWxzZSBkZWZhdWx0TG9hZGVyXCJcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiY3VzdG9tTG9hZGVyXCJcbiAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdExvYWRlcj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInN0YXR1cy1jb250YWluZXJcIiAqbmdJZj1cImxvYWRpbmcgJiYgIWN1c3RvbUxvYWRlclwiPlxuICAgICAgICAgIDxtaXMtbG9hZGVyIFttb2JpbGVWaWV3XT1cInRydWVcIj48L21pcy1sb2FkZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZXJyb3JcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJzdGF0dXMtY29udGFpbmVyXCI+XG4gICAgICAgIDxwPlVua25vd24gZXJyb3IgaGFzIG9jY3VycmVkLCA8YnI+IFBsZWFzZSB0cnkgYWdhaW4gbGF0ZXIuPC9wPlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPGRpdiAqbmdJZj1cIiFsb2FkaW5nICYmICFlcnJvciAmJiBkYXRhLmxlbmd0aCA+IDBcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZGF0YVwiPlxuICAgICAgICA8ZGl2IChjbGljayk9XCJzZWxlY3REYXRhKGl0ZW0sIGZhbHNlKVwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICpuZ0lmPVwiY3VzdG9tSXRlbTsgZWxzZSBzdGFuZGFyZEl0ZW1cIlxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiY3VzdG9tSXRlbVwiXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IGl0ZW0gfVwiXG4gICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjc3RhbmRhcmRJdGVtPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW1cIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZhbHVlXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInByaW1hcnlcIj5cbiAgICAgICAgICAgICAgICAgIHt7IGl0ZW1bZGlzcGxheUtleV0gfX1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2Vjb25kYXJ5XCI+XG4gICAgICAgICAgICAgICAgICB7eyBpdGVtW3NlY29uZGFyeURpc3BsYXlLZXldIH19XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPVwiIWxvYWRpbmcgJiYgIWVycm9yICYmIGRhdGEubGVuZ3RoID09PSAwICYmIHNlYXJjaElucHV0LnZhbHVlXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZGF0YS1ub3QtZm91bmRcIj5ObyBEYXRhIEF2YWlsYWJsZTwvZGl2PlxuICA8L2Rpdj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
375
|
+
AsyncDropdownComponent.ɵfac = function AsyncDropdownComponent_Factory(t) { return new (t || AsyncDropdownComponent)(i0.ɵɵdirectiveInject(i1.Overlay), i0.ɵɵdirectiveInject(i0.ViewContainerRef), i0.ɵɵdirectiveInject(i0.NgZone)); };
|
|
376
|
+
AsyncDropdownComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AsyncDropdownComponent, selectors: [["mis-async-search-dropdown"]], contentQueries: function AsyncDropdownComponent_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {
|
|
377
|
+
i0.ɵɵcontentQuery(dirIndex, _c0, 5);
|
|
378
|
+
i0.ɵɵcontentQuery(dirIndex, _c1, 5);
|
|
379
|
+
} if (rf & 2) {
|
|
380
|
+
let _t;
|
|
381
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.customItem = _t.first);
|
|
382
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.customLoader = _t.first);
|
|
383
|
+
} }, viewQuery: function AsyncDropdownComponent_Query(rf, ctx) { if (rf & 1) {
|
|
384
|
+
i0.ɵɵviewQuery(_c2, 5);
|
|
385
|
+
i0.ɵɵviewQuery(_c3, 5);
|
|
386
|
+
i0.ɵɵviewQuery(_c4, 5);
|
|
387
|
+
} if (rf & 2) {
|
|
388
|
+
let _t;
|
|
389
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.origin = _t.first);
|
|
390
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.input = _t.first);
|
|
391
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.dd = _t.first);
|
|
392
|
+
} }, inputs: { height: "height", size: "size", httpStream: "httpStream", displayKey: "displayKey", secondaryDisplayKey: "secondaryDisplayKey", placeholder: "placeholder", debounceTime: "debounceTime", minInputLength: "minInputLength", multi: "multi", uniqueKey: "uniqueKey", control: "control", disabled: "disabled", readonly: "readonly", disableCopyPaste: "disableCopyPaste", selections: "selections", searchValue: "searchValue" }, outputs: { onSelect: "onSelect", searchQueryChange: "searchQueryChange", clear: "clear", itemSelected: "itemSelected", itemRemoved: "itemRemoved" }, features: [i0.ɵɵNgOnChangesFeature], decls: 11, vars: 9, consts: [[1, "dd-wrapper", 3, "ngClass"], ["ddBtn", ""], ["class", "selected-list", 4, "ngIf"], [1, "search-input"], [1, "ic-action-search-24"], ["oncopy", "return false;", "onpaste", "return false", "oncut", "return false", "tabindex", "0", "type", "text", "class", "black-text h6", 3, "ngClass", "placeholder", "formControl", "focus", 4, "ngIf", "ngIfElse"], ["enableCopyPaste", ""], ["class", "ic-navigation-cancel-24 croos-icon", 3, "click", 4, "ngIf"], ["dd", ""], [1, "selected-list"], ["class", "chip", 3, "ngClass", 4, "ngFor", "ngForOf"], [1, "chip", 3, "ngClass"], [2, "margin-right", "4px", 3, "ngClass"], [1, "ic-navigation-cancel-24", 2, "cursor", "pointer", 3, "ngStyle", "click"], ["oncopy", "return false;", "onpaste", "return false", "oncut", "return false", "tabindex", "0", "type", "text", 1, "black-text", "h6", 3, "ngClass", "placeholder", "formControl", "focus"], ["input", ""], ["tabindex", "0", "type", "text", 1, "black-text", "h6", 3, "ngClass", "placeholder", "formControl", "focus"], [1, "ic-navigation-cancel-24", "croos-icon", 3, "click"], [1, "dd-list", 3, "ngStyle", "ngClass"], [4, "ngIf"], [3, "ngTemplateOutlet", 4, "ngIf", "ngIfElse"], ["defaultLoader", ""], [3, "ngTemplateOutlet"], ["class", "status-container", 4, "ngIf"], [1, "status-container"], [3, "mobileView"], [4, "ngFor", "ngForOf"], [3, "click"], [3, "ngTemplateOutlet", "ngTemplateOutletContext", 4, "ngIf", "ngIfElse"], ["standardItem", ""], [3, "ngTemplateOutlet", "ngTemplateOutletContext"], [1, "item"], [1, "value"], [1, "primary"], [1, "secondary"], [1, "data-not-found"]], template: function AsyncDropdownComponent_Template(rf, ctx) { if (rf & 1) {
|
|
393
|
+
i0.ɵɵelementStart(0, "div", 0, 1);
|
|
394
|
+
i0.ɵɵtemplate(2, AsyncDropdownComponent_div_2_Template, 2, 1, "div", 2);
|
|
395
|
+
i0.ɵɵelementStart(3, "div", 3);
|
|
396
|
+
i0.ɵɵelement(4, "span", 4);
|
|
397
|
+
i0.ɵɵtemplate(5, AsyncDropdownComponent_input_5_Template, 2, 6, "input", 5);
|
|
398
|
+
i0.ɵɵtemplate(6, AsyncDropdownComponent_ng_template_6_Template, 2, 6, "ng-template", null, 6, i0.ɵɵtemplateRefExtractor);
|
|
399
|
+
i0.ɵɵtemplate(8, AsyncDropdownComponent_div_8_Template, 1, 0, "div", 7);
|
|
400
|
+
i0.ɵɵelementEnd()();
|
|
401
|
+
i0.ɵɵtemplate(9, AsyncDropdownComponent_ng_template_9_Template, 5, 10, "ng-template", null, 8, i0.ɵɵtemplateRefExtractor);
|
|
402
|
+
} if (rf & 2) {
|
|
403
|
+
const _r3 = i0.ɵɵreference(7);
|
|
404
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction3(5, _c12, ctx.opened, ctx.disabled, ctx.readonly));
|
|
405
|
+
i0.ɵɵadvance(2);
|
|
406
|
+
i0.ɵɵproperty("ngIf", ctx.multi && ctx.selections.size > 0);
|
|
407
|
+
i0.ɵɵadvance(3);
|
|
408
|
+
i0.ɵɵproperty("ngIf", ctx.disableCopyPaste)("ngIfElse", _r3);
|
|
409
|
+
i0.ɵɵadvance(3);
|
|
410
|
+
i0.ɵɵproperty("ngIf", ctx.searchInput == null ? null : ctx.searchInput.value == null ? null : ctx.searchInput.value.length);
|
|
411
|
+
} }, dependencies: [i2.NgClass, i2.NgForOf, i2.NgIf, i2.NgTemplateOutlet, i2.NgStyle, i3.DefaultValueAccessor, i3.NgControlStatus, i3.FormControlDirective, i4.LoaderComponent], styles: [".dd-wrapper[_ngcontent-%COMP%]{background:#ffffff;border:1px solid #e0e0e0;box-sizing:border-box;border-radius:4px;display:block;cursor:pointer;outline:none}.dd-wrapper.opened[_ngcontent-%COMP%], .dd-wrapper[_ngcontent-%COMP%]:hover{background:#f5f5f5}.dd-wrapper[_ngcontent-%COMP%] .selected-list[_ngcontent-%COMP%]{display:flex;justify-content:flex-start;flex-wrap:wrap;gap:4px;padding:8px 16px}.dd-wrapper[_ngcontent-%COMP%]:focus-within{border-color:#0937b2;background:#f5f5f5}.dd-wrapper.disabled[_ngcontent-%COMP%], .dd-wrapper.readonly[_ngcontent-%COMP%]{pointer-events:none}.search-input[_ngcontent-%COMP%]{position:relative;border-radius:8px}.search-input[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{box-sizing:border-box;outline:none;padding-left:40px;padding-right:24px;background-color:transparent;color:#181f33;border-radius:inherit;border:1px solid transparent;width:100%}.search-input[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{position:absolute;top:50%;transform:translateY(-50%);font-size:24px;line-height:24px;height:24px;left:8px;padding-top:2px}.search-input[_ngcontent-%COMP%] .croos-icon[_ngcontent-%COMP%]{position:absolute;top:50%;transform:translateY(-50%);font-size:16px;width:24px;line-height:16px;height:16px;right:0}.dd-list[_ngcontent-%COMP%]{padding:8px 0;max-height:200px;background:#ffffff;box-shadow:0 12px 24px #0000001f,0 4px 8px #0000001f;border-radius:8px;min-width:100%;overflow-y:auto}.dd-list[_ngcontent-%COMP%]::-webkit-scrollbar{width:8px;border-radius:4px}.dd-list[_ngcontent-%COMP%]::-webkit-scrollbar-track{background:#ffffff;border-radius:4px}.dd-list[_ngcontent-%COMP%]::-webkit-scrollbar-thumb{background:#929dab;border-radius:4px}.dd-list[_ngcontent-%COMP%]::-webkit-scrollbar-thumb:hover{background:#929dab}.dd-list[_ngcontent-%COMP%] .item[_ngcontent-%COMP%]{padding:8px 16px;cursor:pointer}.dd-list[_ngcontent-%COMP%] .item[_ngcontent-%COMP%] .disabled[_ngcontent-%COMP%]{color:#6a737d!important;pointer-events:none}.dd-list[_ngcontent-%COMP%] .item[_ngcontent-%COMP%] .value[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center}.dd-list[_ngcontent-%COMP%] .item[_ngcontent-%COMP%] .value[_ngcontent-%COMP%] .primary[_ngcontent-%COMP%], .dd-list[_ngcontent-%COMP%] .item[_ngcontent-%COMP%] .value[_ngcontent-%COMP%] .secondary[_ngcontent-%COMP%]{font-style:normal;font-weight:400;font-size:14px;line-height:20px;letter-spacing:.2px;color:#181f33}.dd-list[_ngcontent-%COMP%] .item[_ngcontent-%COMP%] .reason[_ngcontent-%COMP%]{font-weight:400;font-size:14px;line-height:20px;letter-spacing:.2px;color:#6a737d}.dd-list[_ngcontent-%COMP%] .item[_ngcontent-%COMP%]:hover:not(.disabled){background:#f5f7fc}.dd-list[_ngcontent-%COMP%] .data-not-found[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center;font-size:16px;padding:8px}.dd-list-pd[_ngcontent-%COMP%]{padding:unset}.chip[_ngcontent-%COMP%]{display:inline-flex;align-items:center;background:#e0e0e0;overflow-wrap:anywhere;cursor:default}.chip[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{color:#181f33}.chip-md[_ngcontent-%COMP%]{border-radius:16px;padding:4px 12px}.chip-sm[_ngcontent-%COMP%]{border-radius:6px;padding:4px 8px;text-transform:uppercase}.ip-md[_ngcontent-%COMP%]{padding-top:8px;padding-bottom:8px}.ip-sm[_ngcontent-%COMP%]{padding-top:3px;padding-bottom:3px}.status-container[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center;height:128px}.status-container[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{text-align:center} #spinner{position:relative!important}"] });
|
|
412
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AsyncDropdownComponent, [{
|
|
413
|
+
type: Component,
|
|
414
|
+
args: [{ selector: "mis-async-search-dropdown", template: "<div class=\"dd-wrapper\" [ngClass]=\"{ opened: opened, disabled: disabled, readonly: readonly }\" #ddBtn>\n <div class=\"selected-list\" *ngIf=\"multi && selections.size > 0\">\n <div class=\"chip\" [ngClass]=\"{'chip-md': size === 'md', 'chip-sm': size === 'sm'}\" *ngFor=\"let item of selectedItems\">\n <span [ngClass]=\"{'h6': size === 'md', 'h8-b': size === 'sm'}\" style=\"margin-right: 4px;\">{{item[displayKey]}}</span>\n <span style=\"cursor: pointer;\" (click)=\"removeItem(item)\" [ngStyle]=\"{'font-size': size === 'sm' ? '12px': '14px'}\" class=\"ic-navigation-cancel-24\"></span>\n </div>\n </div>\n <div class=\"search-input\">\n <span class=\"ic-action-search-24\"></span>\n <input *ngIf=\"disableCopyPaste; else enableCopyPaste\" [ngClass]=\"{'ip-md': size === 'md', 'ip-sm': size === 'sm'}\" oncopy=\"return false;\" onpaste=\"return false\" oncut=\"return false\" tabindex=\"0\" type=\"text\" class=\"black-text h6\" #input [placeholder]=\"placeholder\" [formControl]=\"searchInput\" (focus)=\"defaultCall()\"/>\n <ng-template #enableCopyPaste>\n <input [ngClass]=\"{'ip-md': size === 'md', 'ip-sm': size === 'sm'}\" tabindex=\"0\" type=\"text\" class=\"black-text h6\" #input [placeholder]=\"placeholder\" [formControl]=\"searchInput\" (focus)=\"defaultCall()\" />\n </ng-template>\n <div class=\"ic-navigation-cancel-24 croos-icon\" *ngIf=\"searchInput?.value?.length\" (click)=\"removeInputValue()\"></div>\n </div>\n</div>\n\n<ng-template #dd>\n <div class=\"dd-list\" [ngStyle]=\"{'max-height':height}\" [ngClass]=\"{'dd-list-pd':data.length === 0}\" >\n <ng-container *ngIf=\"loading\">\n <ng-container\n *ngIf=\"customLoader; else defaultLoader\"\n [ngTemplateOutlet]=\"customLoader\"\n ></ng-container>\n <ng-template #defaultLoader>\n <div class=\"status-container\" *ngIf=\"loading && !customLoader\">\n <mis-loader [mobileView]=\"true\"></mis-loader>\n </div>\n </ng-template>\n </ng-container>\n <ng-container *ngIf=\"error\">\n <div class=\"status-container\">\n <p>Unknown error has occurred, <br> Please try again later.</p>\n </div>\n </ng-container>\n <div *ngIf=\"!loading && !error && data.length > 0\">\n <ng-container *ngFor=\"let item of data\">\n <div (click)=\"selectData(item, false)\">\n <ng-container\n *ngIf=\"customItem; else standardItem\"\n [ngTemplateOutlet]=\"customItem\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n ></ng-container>\n <ng-template #standardItem>\n <div class=\"item\">\n <div class=\"value\">\n <div class=\"primary\">\n {{ item[displayKey] }}\n </div>\n <div class=\"secondary\">\n {{ item[secondaryDisplayKey] }}\n </div>\n </div>\n </div>\n </ng-template>\n </div>\n </ng-container>\n </div>\n <div *ngIf=\"!loading && !error && data.length === 0 && searchInput.value\">\n <div class=\"data-not-found\">No Data Available</div>\n </div>\n </div>\n</ng-template>\n", styles: [".dd-wrapper{background:#ffffff;border:1px solid #e0e0e0;box-sizing:border-box;border-radius:4px;display:block;cursor:pointer;outline:none}.dd-wrapper.opened,.dd-wrapper:hover{background:#f5f5f5}.dd-wrapper .selected-list{display:flex;justify-content:flex-start;flex-wrap:wrap;gap:4px;padding:8px 16px}.dd-wrapper:focus-within{border-color:#0937b2;background:#f5f5f5}.dd-wrapper.disabled,.dd-wrapper.readonly{pointer-events:none}.search-input{position:relative;border-radius:8px}.search-input input{box-sizing:border-box;outline:none;padding-left:40px;padding-right:24px;background-color:transparent;color:#181f33;border-radius:inherit;border:1px solid transparent;width:100%}.search-input span{position:absolute;top:50%;transform:translateY(-50%);font-size:24px;line-height:24px;height:24px;left:8px;padding-top:2px}.search-input .croos-icon{position:absolute;top:50%;transform:translateY(-50%);font-size:16px;width:24px;line-height:16px;height:16px;right:0}.dd-list{padding:8px 0;max-height:200px;background:#ffffff;box-shadow:0 12px 24px #0000001f,0 4px 8px #0000001f;border-radius:8px;min-width:100%;overflow-y:auto}.dd-list::-webkit-scrollbar{width:8px;border-radius:4px}.dd-list::-webkit-scrollbar-track{background:#ffffff;border-radius:4px}.dd-list::-webkit-scrollbar-thumb{background:#929dab;border-radius:4px}.dd-list::-webkit-scrollbar-thumb:hover{background:#929dab}.dd-list .item{padding:8px 16px;cursor:pointer}.dd-list .item .disabled{color:#6a737d!important;pointer-events:none}.dd-list .item .value{display:flex;justify-content:space-between;align-items:center}.dd-list .item .value .primary,.dd-list .item .value .secondary{font-style:normal;font-weight:400;font-size:14px;line-height:20px;letter-spacing:.2px;color:#181f33}.dd-list .item .reason{font-weight:400;font-size:14px;line-height:20px;letter-spacing:.2px;color:#6a737d}.dd-list .item:hover:not(.disabled){background:#f5f7fc}.dd-list .data-not-found{display:flex;justify-content:center;align-items:center;font-size:16px;padding:8px}.dd-list-pd{padding:unset}.chip{display:inline-flex;align-items:center;background:#e0e0e0;overflow-wrap:anywhere;cursor:default}.chip span{color:#181f33}.chip-md{border-radius:16px;padding:4px 12px}.chip-sm{border-radius:6px;padding:4px 8px;text-transform:uppercase}.ip-md{padding-top:8px;padding-bottom:8px}.ip-sm{padding-top:3px;padding-bottom:3px}.status-container{display:flex;justify-content:center;align-items:center;height:128px}.status-container p{text-align:center}::ng-deep #spinner{position:relative!important}\n"] }]
|
|
415
|
+
}], function () { return [{ type: i1.Overlay }, { type: i0.ViewContainerRef }, { type: i0.NgZone }]; }, { height: [{
|
|
416
|
+
type: Input
|
|
417
|
+
}], size: [{
|
|
418
|
+
type: Input
|
|
419
|
+
}], httpStream: [{
|
|
420
|
+
type: Input
|
|
421
|
+
}], displayKey: [{
|
|
422
|
+
type: Input
|
|
423
|
+
}], secondaryDisplayKey: [{
|
|
424
|
+
type: Input
|
|
425
|
+
}], placeholder: [{
|
|
426
|
+
type: Input
|
|
427
|
+
}], debounceTime: [{
|
|
428
|
+
type: Input
|
|
429
|
+
}], minInputLength: [{
|
|
430
|
+
type: Input
|
|
431
|
+
}], multi: [{
|
|
432
|
+
type: Input
|
|
433
|
+
}], uniqueKey: [{
|
|
434
|
+
type: Input
|
|
435
|
+
}], control: [{
|
|
436
|
+
type: Input
|
|
437
|
+
}], disabled: [{
|
|
438
|
+
type: Input
|
|
439
|
+
}], readonly: [{
|
|
440
|
+
type: Input
|
|
441
|
+
}], disableCopyPaste: [{
|
|
442
|
+
type: Input
|
|
443
|
+
}], origin: [{
|
|
444
|
+
type: ViewChild,
|
|
445
|
+
args: ["ddBtn", { static: false }]
|
|
446
|
+
}], input: [{
|
|
447
|
+
type: ViewChild,
|
|
448
|
+
args: ["input", { static: false }]
|
|
449
|
+
}], dd: [{
|
|
450
|
+
type: ViewChild,
|
|
451
|
+
args: ["dd", { static: false }]
|
|
452
|
+
}], customItem: [{
|
|
453
|
+
type: ContentChild,
|
|
454
|
+
args: ["misCustomItem", { static: false }]
|
|
455
|
+
}], customLoader: [{
|
|
456
|
+
type: ContentChild,
|
|
457
|
+
args: ["asyncCustomLoader", { static: false }]
|
|
458
|
+
}], onSelect: [{
|
|
459
|
+
type: Output
|
|
460
|
+
}], selections: [{
|
|
461
|
+
type: Input
|
|
462
|
+
}], searchValue: [{
|
|
463
|
+
type: Input
|
|
464
|
+
}], searchQueryChange: [{
|
|
465
|
+
type: Output
|
|
466
|
+
}], clear: [{
|
|
467
|
+
type: Output
|
|
468
|
+
}], itemSelected: [{
|
|
469
|
+
type: Output
|
|
470
|
+
}], itemRemoved: [{
|
|
471
|
+
type: Output
|
|
472
|
+
}] }); })();
|
|
473
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXN5bmMtZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvYXN5bmMtc2VhcmNoLWRyb3Bkb3duL2FzeW5jLWRyb3Bkb3duLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL21pcy1jb21wb25lbnRzL2FzeW5jLXNlYXJjaC1kcm9wZG93bi9hc3luYy1kcm9wZG93bi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsc0JBQXNCLEVBQVcsYUFBYSxFQUFjLE1BQU0sc0JBQXNCLENBQUM7QUFDbEcsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFFTCxTQUFTLEVBQ1QsWUFBWSxFQUVaLFlBQVksRUFFWixLQUFLLEVBS0wsTUFBTSxFQUdOLFNBQVMsRUFFVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQW1CLGtCQUFrQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckUsT0FBTyxFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBVSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7OztJQ3BCN0UsK0JBQXNILGVBQUE7SUFDMUIsWUFBb0I7SUFBQSxpQkFBTztJQUNySCxnQ0FBb0o7SUFBckgscU9BQVMsZUFBQSwyQkFBZ0IsQ0FBQSxJQUFDO0lBQTJGLGlCQUFPLEVBQUE7Ozs7SUFGM0ksZ0dBQWdFO0lBQzFFLGVBQXdEO0lBQXhELGdHQUF3RDtJQUE0QixlQUFvQjtJQUFwQixnREFBb0I7SUFDcEQsZUFBeUQ7SUFBekQsNkZBQXlEOzs7SUFIdkgsOEJBQWdFO0lBQzlELCtFQUdNO0lBQ1IsaUJBQU07OztJQUpnRyxlQUFnQjtJQUFoQiw4Q0FBZ0I7Ozs7O0lBT3BILHFDQUE2VDtJQUF6QixzS0FBUyxlQUFBLHFCQUFhLENBQUEs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RUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO1lBQ0QsRUFBRTtrQkFBckMsU0FBUzttQkFBQyxJQUFJLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO1lBRWxDLFVBQVU7a0JBRFQsWUFBWTttQkFBQyxlQUFlLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO1lBR2hELFlBQVk7a0JBRFgsWUFBWTttQkFBQyxtQkFBbUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUM7WUFHekMsUUFBUTtrQkFBakIsTUFBTTtZQU9FLFVBQVU7a0JBQWxCLEtBQUs7WUFLRyxXQUFXO2tCQUFuQixLQUFLO1lBQ0ksaUJBQWlCO2tCQUExQixNQUFNO1lBQ0csS0FBSztrQkFBZCxNQUFNO1lBQ0csWUFBWTtrQkFBckIsTUFBTTtZQUNHLFdBQVc7a0JBQXBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0aW9uUG9zaXRpb25QYWlyLCBPdmVybGF5LCBPdmVybGF5Q29uZmlnLCBPdmVybGF5UmVmIH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9vdmVybGF5XCI7XG5pbXBvcnQgeyBUZW1wbGF0ZVBvcnRhbCB9IGZyb20gXCJAYW5ndWxhci9jZGsvcG9ydGFsXCI7XG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBOZ1pvbmUsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0NvbnRhaW5lclJlZlxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBVbnR5cGVkRm9ybUNvbnRyb2wgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBmaWx0ZXIsIHRhcCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuXG4vLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmVcbnR5cGUgSUxpc3REYXRhID0gYW55O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwibWlzLWFzeW5jLXNlYXJjaC1kcm9wZG93blwiLFxuICB0ZW1wbGF0ZVVybDogXCIuL2FzeW5jLWRyb3Bkb3duLmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlVXJsczogW1wiLi9hc3luYy1kcm9wZG93bi5jb21wb25lbnQuc2Nzc1wiXVxufSlcbmV4cG9ydCBjbGFzcyBBc3luY0Ryb3Bkb3duQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgb3ZlcmxheTogT3ZlcmxheSwgcHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLCBwcml2YXRlIF9uZ1pvbmU6IE5nWm9uZSkgeyB9XG4gIEBJbnB1dCgpIGhlaWdodDtcbiAgQElucHV0KCkgc2l6ZTogJ21kJyB8ICdzbScgPSAnbWQnXG4gIEBJbnB1dCgpIGh0dHBTdHJlYW0hOiAoc2VhcmNoS2V5OiBzdHJpbmcpID0+IE9ic2VydmFibGU8SUxpc3REYXRhPjsgLy8gZnVuY3Rpb24gdGhhdCByZXR1cm5zIGFuIGh0dHBvYnNlcnZhYmxlXG4gIEBJbnB1dCgpIGRpc3BsYXlLZXkhOiBzdHJpbmc7IC8vIHN0cmluZyB0byBzaG93IHZhbHVlIGluIGxpc3RcbiAgQElucHV0KCkgc2Vjb25kYXJ5RGlzcGxheUtleSE6IHN0cmluZzsgLy8gc3RyaW5nIHRvIGRpc3BsYXkgc2Vjb25kYXJ5IHZhbHVlXG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyID0gXCJTZWxlY3RcIjsgLy8gcGxhY2Vob2xkZXIgZm9yIGlucHV0XG4gIEBJbnB1dCgpIGRlYm91bmNlVGltZSA9IDQwMDsgLy8gd2FpdCB0aW1lIHRpbGwgd2hpY2ggQVBJIGNhbGwgaXMgcGF1c2VkXG4gIEBJbnB1dCgpIG1pbklucHV0TGVuZ3RoID0gMjsgLy8gbWluIGxlbmd0aCBhZnRlciB3aGljaCBBUEkgY2FsbCBpcyBtYWRlXG4gIEBJbnB1dCgpIG11bHRpID0gZmFsc2U7IC8vIG1haW50YWluIGEgbGlzdCBvciBlbWl0IHZhbHVlXG4gIEBJbnB1dCgpIHVuaXF1ZUtleTogc3RyaW5nOyAvLyBmb3IgaWRlbnRpZnlpbmcgdW5pcXVlIHZhbHVlc1xuICBASW5wdXQoKSBjb250cm9sOiBBYnN0cmFjdENvbnRyb2wgfCBudWxsOyAvLyBmb3JtIGNvbnRyb2wgZm9yIHJlYWN0aXZlIGZvcm1zXG4gIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuOyAvLyBkaXNhYmxlIGFjdGlvbnMgb24gY29tcG9uZW50XG4gIEBJbnB1dCgpIHJlYWRvbmx5OiBib29sZWFuOyAvLyBtYWtlIGNvbXBvbmVudCByZWFkb25seVxuICBASW5wdXQoKSBkaXNhYmxlQ29weVBhc3RlOiBib29sZWFuID0gZmFsc2U7XG4gIEBWaWV3Q2hpbGQoXCJkZEJ0blwiLCB7IHN0YXRpYzogZmFsc2UgfSkgb3JpZ2luOiBFbGVtZW50UmVmO1xuICBAVmlld0NoaWxkKFwiaW5wdXRcIiwgeyBzdGF0aWM6IGZhbHNlIH0pIGlucHV0OiBFbGVtZW50UmVmO1xuICBAVmlld0NoaWxkKFwiZGRcIiwgeyBzdGF0aWM6IGZhbHNlIH0pIGRkOiBUZW1wbGF0ZVJlZjxFbGVtZW50PjtcbiAgQENvbnRlbnRDaGlsZChcIm1pc0N1c3RvbUl0ZW1cIiwgeyBzdGF0aWM6IGZhbHNlIH0pXG4gIGN1c3RvbUl0ZW06IFRlbXBsYXRlUmVmPEVsZW1lbnQ+O1xuICBAQ29udGVudENoaWxkKFwiYXN5bmNDdXN0b21Mb2FkZXJcIiwgeyBzdGF0aWM6IGZhbHNlfSlcbiAgY3VzdG9tTG9hZGVyOiBUZW1wbGF0ZVJlZjxFbGVtZW50PjtcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lXG4gIEBPdXRwdXQoKSBvblNlbGVjdDogRXZlbnRFbWl0dGVyPElMaXN0RGF0YSB8IElMaXN0RGF0YVtdPiA9IG5ldyBFdmVudEVtaXR0ZXIodHJ1ZSk7IC8vIGVtaXQgc2VsZWN0ZWQgdmFsdWVzXG4gIHNlYXJjaElucHV0OiBVbnR5cGVkRm9ybUNvbnRyb2wgPSBuZXcgVW50eXBlZEZvcm1Db250cm9sKCk7XG4gIGRhdGE6IElMaXN0RGF0YVtdID0gW107XG4gIG9wZW5lZCA9IGZhbHNlO1xuICBsb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XG4gIGVycm9yOiBib29sZWFuID0gZmFsc2U7XG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZVxuICBASW5wdXQoKSBzZWxlY3Rpb25zOiBNYXA8c3RyaW5nLCBhbnk+ID0gbmV3IE1hcCgpO1xuICBwcml2YXRlIHNlYXJjaFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICBwcml2YXRlIGRlZmF1bHRDYWxsU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgb3ZlcmxheVJlZjogT3ZlcmxheVJlZjtcbiAgY29udHJvbFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uIHwgdW5kZWZpbmVkO1xuICBASW5wdXQoKSBzZWFyY2hWYWx1ZTtcbiAgQE91dHB1dCgpIHNlYXJjaFF1ZXJ5Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KClcbiAgQE91dHB1dCgpIGNsZWFyOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyKGZhbHNlKTtcbiAgQE91dHB1dCgpIGl0ZW1TZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8SUxpc3REYXRhPigpXG4gIEBPdXRwdXQoKSBpdGVtUmVtb3ZlZCA9IG5ldyBFdmVudEVtaXR0ZXI8SUxpc3REYXRhPigpXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLm11bHRpICYmICF0aGlzLnVuaXF1ZUtleSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiW3VuaXF1ZUtleV0gcmVxdWlyZWQgaW4gbXVsdGkgbW9kZS5cIik7XG4gICAgfVxuICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICB0aGlzLnNlYXJjaElucHV0LmRpc2FibGUoKTtcbiAgICB9XG4gICAgdGhpcy5zZWFyY2hTdWJzY3JpcHRpb24gPSB0aGlzLnNlYXJjaElucHV0LnZhbHVlQ2hhbmdlc1xuICAgICAgLnBpcGUoXG4gICAgICAgIC8vIGZpbHRlcih2YWwgPT4gdmFsICYmIHZhbC5sZW5ndGggPj0gdGhpcy5taW5JbnB1dExlbmd0aCksXG4gICAgICAgIHRhcCgodmFsKSA9PiB0aGlzLnNlYXJjaFF1ZXJ5Q2hhbmdlLmVtaXQodmFsKSksXG4gICAgICAgIGRlYm91bmNlVGltZSh0aGlzLmRlYm91bmNlVGltZSksXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKClcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAgICAgdGhpcy5fbmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgaWYgKHJlcz8ubGVuZ3RoIDwgdGhpcy5taW5JbnB1dExlbmd0aCB8fCAhcmVzPy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMuY2xvc2VEcm9wZG93bigpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH0gZWxzZSBpZiAocmVzPy5sZW5ndGggPiB0aGlzLm1pbklucHV0TGVuZ3RoICYmIHRoaXMuaHR0cFN0cmVhbSkge1xuICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuZXJyb3IgPSBmYWxzZTtcbiAgICAgICAgICAgIGlmKCF0aGlzLm92ZXJsYXlSZWY/Lmhhc0F0dGFjaGVkKCkpXG4gICAgICAgICAgICAgIHRoaXMub3BlbkRyb3Bkb3duKHRoaXMuZGQsIHRoaXMub3JpZ2luLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICAgICAgdGhpcy5odHRwU3RyZWFtKHJlcykuc3Vic2NyaWJlKGxpc3QgPT4ge1xuICAgICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgICAgdGhpcy5kYXRhID0gbGlzdDtcbiAgICAgICAgICAgICAgaWYgKCF0aGlzLm92ZXJsYXlSZWY/Lmhhc0F0dGFjaGVkKCkgJiYgbGlzdC5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5vcGVuRHJvcGRvd24odGhpcy5kZCwgdGhpcy5vcmlnaW4ubmF0aXZlRWxlbWVudCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIGVycm9yID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICAgIHRoaXMuZXJyb3IgPSB0cnVlO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgfSk7XG4gICAgaWYgKHRoaXMuY29udHJvbD8udmFsdWUpIHtcbiAgICAgIHRoaXMuaGFuZGxlQ29udHJvbENoYW5nZXModGhpcy5jb250cm9sLnZhbHVlKTtcbiAgICB9XG4gICAgdGhpcy5jb250cm9sU3Vic2NyaXB0aW9uID0gdGhpcy5jb250cm9sPy52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKHRoaXMuaGFuZGxlQ29udHJvbENoYW5nZXMpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VzICYmIGNoYW5nZXM/LnNlYXJjaFZhbHVlPy5jdXJyZW50VmFsdWUpIHtcbiAgICAgIHRoaXMuc2VhcmNoSW5wdXQucGF0Y2hWYWx1ZShjaGFuZ2VzLnNlYXJjaFZhbHVlLmN1cnJlbnRWYWx1ZSk7XG4gICAgfVxuICAgIGlmIChjaGFuZ2VzICYmIGNoYW5nZXMuZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuc2VhcmNoSW5wdXQuZW5hYmxlKCk7XG4gICAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgICB0aGlzLnNlYXJjaElucHV0LmRpc2FibGUoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnNlYXJjaFN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLmRlZmF1bHRDYWxsU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVDb250cm9sQ2hhbmdlcyA9ICh2YWx1ZXM6IElMaXN0RGF0YVtdKSA9PiB7XG4gICAgdmFsdWVzLmZvckVhY2goZWwgPT4ge1xuICAgICAgdGhpcy5zZWxlY3REYXRhKGVsLCB0cnVlKTtcbiAgICB9KTtcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmVcbiAgfTtcblxuICBwcml2YXRlIG9wZW5Ecm9wZG93bih0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8RWxlbWVudD4sIG9yaWdpbjogSFRNTEVsZW1lbnQpOiB2b2lkIHtcbiAgICBjb25zdCBwb3NpdGlvblN0cmF0ZWd5ID0gdGhpcy5vdmVybGF5XG4gICAgICAucG9zaXRpb24oKVxuICAgICAgLmZsZXhpYmxlQ29ubmVjdGVkVG8ob3JpZ2luKVxuICAgICAgLndpdGhQb3NpdGlvbnMoW1xuICAgICAgICBuZXcgQ29ubmVjdGlvblBvc2l0aW9uUGFpcih7IG9yaWdpblg6IFwic3RhcnRcIiwgb3JpZ2luWTogXCJib3R0b21cIiB9LCB7IG92ZXJsYXlYOiBcInN0YXJ0XCIsIG92ZXJsYXlZOiBcInRvcFwiIH0pLFxuICAgICAgICBuZXcgQ29ubmVjdGlvblBvc2l0aW9uUGFpcih7IG9yaWdpblg6IFwic3RhcnRcIiwgb3JpZ2luWTogXCJ0b3BcIiB9LCB7IG92ZXJsYXlYOiBcInN0YXJ0XCIsIG92ZXJsYXlZOiBcImJvdHRvbVwiIH0pXG4gICAgICBdKVxuICAgICAgLndpdGhQdXNoKHRydWUpO1xuXG4gICAgY29uc3QgY29uZmlncyA9IG5ldyBPdmVybGF5Q29uZmlnKHtcbiAgICAgIGhhc0JhY2tkcm9wOiB0cnVlLFxuICAgICAgYmFja2Ryb3BDbGFzczogXCJjZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcFwiLFxuICAgICAgc2Nyb2xsU3RyYXRlZ3k6IHRoaXMub3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLnJlcG9zaXRpb24oKSxcbiAgICAgIHBvc2l0aW9uU3RyYXRlZ3ksXG4gICAgICB3aWR0aDogb3JpZ2luLmNsaWVudFdpZHRoXG4gICAgfSk7XG4gICAgdGhpcy5vdmVybGF5UmVmID0gdGhpcy5vdmVybGF5LmNyZWF0ZShjb25maWdzKTtcbiAgICB0aGlzLm92ZXJsYXlSZWYuYXR0YWNoKG5ldyBUZW1wbGF0ZVBvcnRhbCh0ZW1wbGF0ZSwgdGhpcy52aWV3Q29udGFpbmVyUmVmKSk7XG4gICAgdGhpcy5vdmVybGF5UmVmLmJhY2tkcm9wQ2xpY2soKS5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAgIHRoaXMuY2xvc2VEcm9wZG93bigpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIGNsb3NlcyB0aGUgZHJvcGRvd25cbiAgICovXG4gIGNsb3NlRHJvcGRvd24oKTogdm9pZCB7XG4gICAgdGhpcy5vcGVuZWQgPSBmYWxzZTtcbiAgICB0aGlzLm92ZXJsYXlSZWY/LmRldGFjaCgpO1xuICAgIHRoaXMuZGF0YSA9IFtdO1xuICB9XG5cbiAgLyoqXG4gICAqXG4gICAqIEBwYXJhbSBpdGVtIGl0ZW0gdG8gc2VsZWN0XG4gICAqIGlmIGl0ZW0gcHJvcGVydHkgZGlzYWJsZWQgaXMgc2V0IHRvIHRydWUsIHNlbGVjdGlvbiB3aWxsIGJlIGRpc2FibGVkXG4gICAqIEBwYXJhbSBlZmZlY3RlZEZyb21PdXRzaWRlIHNldCB0byB0cnVlIGlmIGNhbGxpbmcgZnJvbSBwYXJlbnQgY29tcG9uZW50LCBpZiB0cnVlIHdpbGwgZm9jdXMgb24gc2VhcmNoIGlucHV0XG4gICAqL1xuICBzZWxlY3REYXRhKGl0ZW06IElMaXN0RGF0YSwgZWZmZWN0ZWRGcm9tT3V0c2lkZSA9IHRydWUpOiB2b2lkIHtcbiAgICBpZiAoaXRlbS5kaXNhYmxlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLml0ZW1TZWxlY3RlZC5lbWl0KGl0ZW0pXG4gICAgaWYgKCF0aGlzLm11bHRpKSB7XG4gICAgICB0aGlzLnNlYXJjaElucHV0LnBhdGNoVmFsdWUoaXRlbVt0aGlzLmRpc3BsYXlLZXldLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgICB0aGlzLnNldENvbnRyb2xWYWx1ZShpdGVtKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKCF0aGlzLnNlbGVjdGlvbnMuaGFzKGl0ZW1bdGhpcy51bmlxdWVLZXldKSkge1xuICAgICAgICB0aGlzLnNlbGVjdGlvbnMuc2V0KGl0ZW1bdGhpcy51bmlxdWVLZXldLCBpdGVtKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuc2V0Q29udHJvbFZhbHVlKHRoaXMuc2VsZWN0ZWRJdGVtcyk7XG4gICAgICBpZiAoIWVmZmVjdGVkRnJvbU91dHNpZGUpIHtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5pbnB1dC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgICAgdGhpcy5pbnB1dC5uYXRpdmVFbGVtZW50LnNjcm9sbEludG9WaWV3KCk7XG4gICAgICAgIH0sIDEwKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuc2VhcmNoSW5wdXQucGF0Y2hWYWx1ZShcIlwiKTtcbiAgICAgIHRoaXMuZGF0YSA9IFtdO1xuICAgIH1cbiAgICB0aGlzLmNsb3NlRHJvcGRvd24oKTtcbiAgfVxuXG4gIC8qKlxuICAgKlxuICAgKiBAcGFyYW0gaXRlbSByZW1vdmUgaXRlbSBmcm9tIHNlbGVjdGVkIGxpc3RcbiAgICovXG4gIHJlbW92ZUl0ZW0oaXRlbTogSUxpc3REYXRhKTogdm9pZCB7XG4gICAgdGhpcy5pdGVtUmVtb3ZlZC5lbWl0KGl0ZW0pXG4gICAgdGhpcy5zZWxlY3Rpb25zLmRlbGV0ZShpdGVtW3RoaXMudW5pcXVlS2V5XSk7XG4gICAgdGhpcy5zZXRDb250cm9sVmFsdWUodGhpcy5zZWxlY3RlZEl0ZW1zKTtcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmVcbiAgICB0aGlzLmlucHV0W1wibmF0aXZlRWxlbWVudFwiXS5mb2N1cygpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRDb250cm9sVmFsdWUodmFsdWU6IElMaXN0RGF0YSk6IHZvaWQge1xuICAgIHRoaXMub25TZWxlY3QuZW1pdCh2YWx1ZSk7XG4gICAgdGhpcy5jb250cm9sPy5wYXRjaFZhbHVlKHZhbHVlLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gIH1cblxuICAvKipcbiAgICogQHJldHVybnMgbGlzdCBvZiBzZWxlY3RlZCBpdGVtc1xuICAgKi9cbiAgZ2V0IHNlbGVjdGVkSXRlbXMoKTogQXJyYXk8SUxpc3REYXRhPiB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20odGhpcy5zZWxlY3Rpb25zLnZhbHVlcygpKTtcbiAgfVxuXG4gIHJlbW92ZUlucHV0VmFsdWUoKSB7XG4gICAgdGhpcy5zZWFyY2hJbnB1dC5yZXNldCgpO1xuICAgIHRoaXMuZGF0YSA9IFtdO1xuICAgIHRoaXMuY2xlYXIuZW1pdCh0cnVlKTtcbiAgfVxuICBkZWZhdWx0Q2FsbCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5taW5JbnB1dExlbmd0aCA9PT0gLTEpIHtcbiAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XG4gICAgICB0aGlzLmRlZmF1bHRDYWxsU3Vic2NyaXB0aW9uID0gdGhpcy5odHRwU3RyZWFtKHRoaXMuc2VhcmNoSW5wdXQudmFsdWUgfHwgJycpLnN1YnNjcmliZShsaXN0ID0+IHtcbiAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgIHRoaXMuZGF0YSA9IGxpc3Q7XG4gICAgICAgIGlmICghdGhpcy5vdmVybGF5UmVmPy5oYXNBdHRhY2hlZCgpICYmIHRoaXMuZGF0YT8ubGVuZ3RoID4gMCkge1xuICAgICAgICAgIHRoaXMub3BlbkRyb3Bkb3duKHRoaXMuZGQsIHRoaXMub3JpZ2luLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICB9XG4gICAgICB9LCBlcnJvciA9PiB7XG4gICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgICB0aGlzLmVycm9yID0gdHJ1ZTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImRkLXdyYXBwZXJcIiBbbmdDbGFzc109XCJ7IG9wZW5lZDogb3BlbmVkLCBkaXNhYmxlZDogZGlzYWJsZWQsIHJlYWRvbmx5OiByZWFkb25seSB9XCIgI2RkQnRuPlxuICA8ZGl2IGNsYXNzPVwic2VsZWN0ZWQtbGlzdFwiICpuZ0lmPVwibXVsdGkgJiYgc2VsZWN0aW9ucy5zaXplID4gMFwiPlxuICAgIDxkaXYgY2xhc3M9XCJjaGlwXCIgW25nQ2xhc3NdPVwieydjaGlwLW1kJzogc2l6ZSA9PT0gJ21kJywgJ2NoaXAtc20nOiBzaXplID09PSAnc20nfVwiICpuZ0Zvcj1cImxldCBpdGVtIG9mIHNlbGVjdGVkSXRlbXNcIj5cbiAgICAgIDxzcGFuIFtuZ0NsYXNzXT1cInsnaDYnOiBzaXplID09PSAnbWQnLCAnaDgtYic6IHNpemUgPT09ICdzbSd9XCIgc3R5bGU9XCJtYXJnaW4tcmlnaHQ6IDRweDtcIj57e2l0ZW1bZGlzcGxheUtleV19fTwvc3Bhbj5cbiAgICAgIDxzcGFuIHN0eWxlPVwiY3Vyc29yOiBwb2ludGVyO1wiIChjbGljayk9XCJyZW1vdmVJdGVtKGl0ZW0pXCIgW25nU3R5bGVdPVwieydmb250LXNpemUnOiBzaXplID09PSAnc20nID8gJzEycHgnOiAnMTRweCd9XCIgY2xhc3M9XCJpYy1uYXZpZ2F0aW9uLWNhbmNlbC0yNFwiPjwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJzZWFyY2gtaW5wdXRcIj5cbiAgICA8c3BhbiBjbGFzcz1cImljLWFjdGlvbi1zZWFyY2gtMjRcIj48L3NwYW4+XG4gICAgPGlucHV0ICpuZ0lmPVwiZGlzYWJsZUNvcHlQYXN0ZTsgZWxzZSBlbmFibGVDb3B5UGFzdGVcIiBbbmdDbGFzc109XCJ7J2lwLW1kJzogc2l6ZSA9PT0gJ21kJywgJ2lwLXNtJzogc2l6ZSA9PT0gJ3NtJ31cIiBvbmNvcHk9XCJyZXR1cm4gZmFsc2U7XCIgb25wYXN0ZT1cInJldHVybiBmYWxzZVwiIG9uY3V0PVwicmV0dXJuIGZhbHNlXCIgdGFiaW5kZXg9XCIwXCIgdHlwZT1cInRleHRcIiBjbGFzcz1cImJsYWNrLXRleHQgaDZcIiAjaW5wdXQgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCIgW2Zvcm1Db250cm9sXT1cInNlYXJjaElucHV0XCIgKGZvY3VzKT1cImRlZmF1bHRDYWxsKClcIi8+XG4gICAgPG5nLXRlbXBsYXRlICNlbmFibGVDb3B5UGFzdGU+XG4gICAgICA8aW5wdXQgW25nQ2xhc3NdPVwieydpcC1tZCc6IHNpemUgPT09ICdtZCcsICdpcC1zbSc6IHNpemUgPT09ICdzbSd9XCIgdGFiaW5kZXg9XCIwXCIgdHlwZT1cInRleHRcIiBjbGFzcz1cImJsYWNrLXRleHQgaDZcIiAjaW5wdXQgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCIgW2Zvcm1Db250cm9sXT1cInNlYXJjaElucHV0XCIgKGZvY3VzKT1cImRlZmF1bHRDYWxsKClcIiAvPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPGRpdiBjbGFzcz1cImljLW5hdmlnYXRpb24tY2FuY2VsLTI0IGNyb29zLWljb25cIiAqbmdJZj1cInNlYXJjaElucHV0Py52YWx1ZT8ubGVuZ3RoXCIgKGNsaWNrKT1cInJlbW92ZUlucHV0VmFsdWUoKVwiPjwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI2RkPlxuICA8ZGl2IGNsYXNzPVwiZGQtbGlzdFwiIFtuZ1N0eWxlXT1cInsnbWF4LWhlaWdodCc6aGVpZ2h0fVwiICBbbmdDbGFzc109XCJ7J2RkLWxpc3QtcGQnOmRhdGEubGVuZ3RoID09PSAwfVwiID5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibG9hZGluZ1wiPlxuICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAqbmdJZj1cImN1c3RvbUxvYWRlcjsgZWxzZSBkZWZhdWx0TG9hZGVyXCJcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiY3VzdG9tTG9hZGVyXCJcbiAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdExvYWRlcj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInN0YXR1cy1jb250YWluZXJcIiAqbmdJZj1cImxvYWRpbmcgJiYgIWN1c3RvbUxvYWRlclwiPlxuICAgICAgICAgIDxtaXMtbG9hZGVyIFttb2JpbGVWaWV3XT1cInRydWVcIj48L21pcy1sb2FkZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZXJyb3JcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJzdGF0dXMtY29udGFpbmVyXCI+XG4gICAgICAgIDxwPlVua25vd24gZXJyb3IgaGFzIG9jY3VycmVkLCA8YnI+IFBsZWFzZSB0cnkgYWdhaW4gbGF0ZXIuPC9wPlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPGRpdiAqbmdJZj1cIiFsb2FkaW5nICYmICFlcnJvciAmJiBkYXRhLmxlbmd0aCA+IDBcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZGF0YVwiPlxuICAgICAgICA8ZGl2IChjbGljayk9XCJzZWxlY3REYXRhKGl0ZW0sIGZhbHNlKVwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICpuZ0lmPVwiY3VzdG9tSXRlbTsgZWxzZSBzdGFuZGFyZEl0ZW1cIlxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiY3VzdG9tSXRlbVwiXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IGl0ZW0gfVwiXG4gICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjc3RhbmRhcmRJdGVtPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW1cIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZhbHVlXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInByaW1hcnlcIj5cbiAgICAgICAgICAgICAgICAgIHt7IGl0ZW1bZGlzcGxheUtleV0gfX1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2Vjb25kYXJ5XCI+XG4gICAgICAgICAgICAgICAgICB7eyBpdGVtW3NlY29uZGFyeURpc3BsYXlLZXldIH19XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPVwiIWxvYWRpbmcgJiYgIWVycm9yICYmIGRhdGEubGVuZ3RoID09PSAwICYmIHNlYXJjaElucHV0LnZhbHVlXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZGF0YS1ub3QtZm91bmRcIj5ObyBEYXRhIEF2YWlsYWJsZTwvZGl2PlxuICA8L2Rpdj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
@@ -7,15 +7,16 @@ import { AsyncDropdownComponent } from "./async-dropdown.component";
|
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
8
8
|
export class AsyncDropdownModule {
|
|
9
9
|
}
|
|
10
|
-
AsyncDropdownModule.ɵfac =
|
|
11
|
-
AsyncDropdownModule.ɵmod = i0.ɵɵ
|
|
12
|
-
AsyncDropdownModule.ɵinj = i0.ɵɵ
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
10
|
+
AsyncDropdownModule.ɵfac = function AsyncDropdownModule_Factory(t) { return new (t || AsyncDropdownModule)(); };
|
|
11
|
+
AsyncDropdownModule.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: AsyncDropdownModule });
|
|
12
|
+
AsyncDropdownModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [CommonModule, OverlayModule, ReactiveFormsModule, FormsModule, LoaderModule] });
|
|
13
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AsyncDropdownModule, [{
|
|
14
|
+
type: NgModule,
|
|
15
|
+
args: [{
|
|
16
|
+
declarations: [AsyncDropdownComponent],
|
|
17
|
+
imports: [CommonModule, OverlayModule, ReactiveFormsModule, FormsModule, LoaderModule],
|
|
18
|
+
exports: [AsyncDropdownComponent]
|
|
19
|
+
}]
|
|
20
|
+
}], null, null); })();
|
|
21
|
+
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(AsyncDropdownModule, { declarations: [AsyncDropdownComponent], imports: [CommonModule, OverlayModule, ReactiveFormsModule, FormsModule, LoaderModule], exports: [AsyncDropdownComponent] }); })();
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXN5bmMtZHJvcGRvd24ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvYXN5bmMtc2VhcmNoLWRyb3Bkb3duL2FzeW5jLWRyb3Bkb3duLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDckQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNoRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFPcEUsTUFBTSxPQUFPLG1CQUFtQjs7c0ZBQW5CLG1CQUFtQjtxRUFBbkIsbUJBQW1CO3lFQUhwQixZQUFZLEVBQUUsYUFBYSxFQUFFLG1CQUFtQixFQUFFLFdBQVcsRUFBRSxZQUFZO3VGQUcxRSxtQkFBbUI7Y0FML0IsUUFBUTtlQUFDO2dCQUNSLFlBQVksRUFBRSxDQUFDLHNCQUFzQixDQUFDO2dCQUN0QyxPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsYUFBYSxFQUFFLG1CQUFtQixFQUFFLFdBQVcsRUFBRSxZQUFZLENBQUM7Z0JBQ3RGLE9BQU8sRUFBRSxDQUFDLHNCQUFzQixDQUFDO2FBQ2xDOzt3RkFDWSxtQkFBbUIsbUJBSmYsc0JBQXNCLGFBQzNCLFlBQVksRUFBRSxhQUFhLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLFlBQVksYUFDM0Usc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3ZlcmxheU1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jZGsvb3ZlcmxheVwiO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7IExvYWRlck1vZHVsZSB9IGZyb20gXCJtaXMtY3J5c3RhbC1kZXNpZ24tc3lzdGVtL2xvYWRlclwiO1xuaW1wb3J0IHsgQXN5bmNEcm9wZG93bkNvbXBvbmVudCB9IGZyb20gXCIuL2FzeW5jLWRyb3Bkb3duLmNvbXBvbmVudFwiO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtBc3luY0Ryb3Bkb3duQ29tcG9uZW50XSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgT3ZlcmxheU1vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgRm9ybXNNb2R1bGUsIExvYWRlck1vZHVsZV0sXG4gIGV4cG9ydHM6IFtBc3luY0Ryb3Bkb3duQ29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBBc3luY0Ryb3Bkb3duTW9kdWxlIHt9XG4iXX0=
|